반응형

해킹 640

[TigerKingCTF] Tom Nook - Internet traffic - Part II - 포렌식 / John the Ripper

이번 대회는 동물의숲 컨셉의 문제들이 많았다. 이번 문제에 등장하는 Tom Nook 역시 동물의 숲에 등장하는 NPC 이름이다. 한글판 이름은 너굴이다. 문제 설명을 읽어보면 너굴이는 운영보안쪽에서 일하고 있는 기술자인데 뭔가를 숨기고 있다고 한다. 너굴이 숨기려한것을 찾아달라는 문제이다. 문제에서 주어지는 파일은 SecretACBankStatement.zip 파일이다. 압축파일 안에는 BankStatement.pdf 파일이 들어있는데 비밀번호가 걸려있어서 압축을 풀 수 없다. 이럴때 사용하는게 John the Ripper 라고 하는 비밀번호 crack 해주는 무료 도구다. zip 파일 뿐만 아니라 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다. kail 리눅스를 설치한다면 그 안에 기본적으로..

CTF/포렌식 2022.07.31

[Root Me] TELNET - authentication - 포렌식 / Wireshark

root me의 두번째 네트워크 패킷 포렌식 문제 이번에 사용되는 프로토콜은 telnet이다. 이번문제도 비슷하게 텔넷 패킷 안에서 사용자의 비밀번호를 알아내면 된다. 문제에서 제공되는 파일은 ch2.pcap 파일이다. pcap 파일은 와이어샤크 라는 도구를 이용해서 열어볼 수 있다. (설치링크 : https://www.wireshark.org/download.html) ch2.pcap 파일을 열어보면 위처럼 TELNET 프로토콜을 이용해 데이터를 전송한 흔적을 찾을 수 있다. 텔넷은 TCP/IP 에서 응용계층 프로토콜 중 하나로 원격지의 컴퓨터에 접속할때 주로 사용한다. 텔넷이 1969년 처음 개발되었는데, 이때는 보안에 대한 고려가 전혀 없었기때문에 아주 많은 취약점이 존재한다. TELNET 패킷 중..

워게임/Root Me 2022.07.30

[Root Me] FTP - authentication - 포렌식 / Wireshark

root me에서 제공하는 네트워크 패킷 포렌식 첫번째 문제 풀이수가 77,790이나 된다. 아마 root me에서 풀이수가 제일 많은 문제이지 않을까 싶다. 문제는 FTP 프로토콜을 이용한 사용자의 비밀번호를 알아내는것이 목표이다. 문제에서 제공되는 파일은 ch1.pcap 파일이다. pcap 파일은 와이어샤크 라는 도구를 이용해서 열어볼 수 있다. (설치링크 : https://www.wireshark.org/download.html) ch1.pcap 파일을 열어보면 위처럼 FTP 프로토콜을 이용해 데이터를 전송한 흔적을 찾을 수 있다. FTP는 File Transfer Protocol 의 약자로 TCP/IP 프로토콜을 이용해 서버와 클라이언트 사이에서 파일을 전송하기 위한 규약이다. 만들어질때 보안을 ..

워게임/Root Me 2022.07.29

[CTFlearn] Morse Code - 암호학 / 모스부호

모스 부호와 관련된 Cryptography 카테고리 문제 문제 제목부터 너무 정직해서 딱히 풀이할 만한 내용이 없다. 문제 아래있는 댓글창에서 보이는 5h4s0w좌의 일침.. 암호학 문제에서 encryption type을 제목에 쓰지 말아달라고 한다. 아주 공감되는 말이다. 상당히 많은 사람들이 이 댓글에 공감을 눌렀다. ..-. .-.. .- --. ... .- -- ..- . .-.. -- --- .-. ... . .. ... -.-. --- --- .-.. -... -.-- - .... . .-- .- -.-- .. .-.. .. -.- . -.-. .... . . ... 풀이가 짧아서 앞에 서두가 길었다. 위에 있는게 주어진 모스부호이다. 여기있는 모스부호 표를 보고 하나씩 매칭해서 찾으면 된다...

워게임/CTFlearn 2022.07.28

[TigerKingCTF] Swag - 암호학 / QR코드

QR 코드와 관련된 암호학 문제 엄밀히 말하면 암호학은 아니다.. 풀이를 보면 안다. 문제 설명을 읽어보면 친구가 QR코드를 만들어서 보냈고 이걸로 셔츠를 사라고 했다고 한다. 그러면서 주어지는 문제파일이 이렇게 생긴 QR 코드이다. 지금은 딱 보면 아는데 이 대회가 진행되었던게 약 2년전이라 몰랐었다. QR코드가 일반적으로 아는 코드와 완전 다르게 생긴걸 눈치챘을것이다. 보통 자주 만나는 QR코드는 이렇게 큼지막하고 단순한 형태인데 문제에서 주어진 QR코드는 뭔가 작고 복잡한 느낌이다. 이 QR코드의 파일명이 AnimalCrossing.png 인데, 이게 힌트였다. Animal Crossing은 동물의 숲의 영문판 이름이다. 아마 이때 동물의 숲을 플레이 해본 사람이라면 쉽게 풀 수 있었을 것이다. 구..

CTF/암호학 2022.07.27

[Root Me] EXIF - Metadata - 포렌식 / 스테가노그래피 / Exiftool

Root Me의 포렌식 문제 문제 배점도 낮고 앞쪽에 있는데 왜이렇게 풀이수가 낮을까 봤더니 올해 3월에 새로 추가된 따끈따끈한 문제였다. 문제 설명을 읽어보면 pepo를 잃어버렸는데 어디있는지 찾을 수 있냐고 물어본다. 비밀번호를 pepo가 있는 도시 이름이라고 한다. 그러면서 주어지는 문제파일은 위 파일이다. 밈으로 익숙한 개구리 페페 사진이 있다. 문제풀때 Guessing은 하지 말라는 문구도 같이 적혀있다. 문제 제목에도 써있지만 이 문제는 EXIF 메타데이터를 이용해서 풀면 된다. EXIF는 Exchangeable Image File Format 의 약자로 디지털 카메라에서 사용되는 메타데이터 포멧이다. 디카로 사진을 찍으면 그안에 날짜, 시간, 카메라 제조사, 위치 등등의 정보가 같이 저장되는..

워게임/Root Me 2022.07.25

[CTFlearn] Base 2 2 the 6 - 암호학 / Base64

CTFlearn의 여섯번째 문제 풀이수가 생각보다 적지만 사실 풀이가 필요없을만큼 쉬운 문제이다. 분류가 암호학으로 되어있긴 한데 사실 이 문제는 암호 보다는 인코딩과 관련된 문제이다. 암호와 인코딩 둘다 원래 데이터를 다른 데이터로 바꾸지만, 암호에는 Key 값이 사용된다는 특징이 있다. 여기서는 Key가 필요없으니 그냥 인코딩-디코딩 이라고 생각하면 된다. Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9 간단하게 문제에서 주어진 이 문자열을 디코딩 하면 된다. 문제 제목으로 유추해 볼 수 있는것처럼 이건 Base64로 인코딩된 값이다. 이러고 바로 디코딩 해버리면 포스팅이 너무 짧아지니, 간단하게 원리를 정리하고 넘어가본다. abc 라는 단어가 있다. ASCII 코드로 각각 a는 97, b는 98..

워게임/CTFlearn 2022.07.24

[ImaginaryCTF] journey - OSINT / Google Map

OSINT 문제 OSINT는 Open Source Intelligence 의 약자로 공개출처정보라는 뜻이다. 말 그대로 공개된 출처에서 얻은 정보들을 의미한다. 해킹대회에서는 구글이나 네이버 검색처럼 누구나 쉽게 접근해서 얻을수 있는 정보들을 이용해서 의미있는 새로은 정보를 만들어내거나 알아내는 방식으로 진행된다. 뭔가 이런 유형의 문제들은 풀때 형사가 된 것 같은 기분이다. 문제 설명을 읽어보면 Max49 라는 사람이 여행을 갔는데 여기가 어딘지 알아낼 수 있냐고 물어본다. 그러면서 주어진 사진이 바로 이 사진이다. 모자이크 처리된 부분이 아마 Max49 인것같다. 일단 사진에 보이는 텍스트로 범위를 조금씩 좁혀나가기로 했다. 일단 가장 먼저 눈에 띈 것은 왼쪽에 있는 이 표지판이다. 오른쪽에도 비슷한..

CTF/MISC 2022.07.23

[ImaginaryCTF] ret2win - 포너블 / 버퍼오버플로우

오랜만에 써보는 포너블 문제 포너블은 왠지 모르게 손이 잘 안가는거 같다.. 어려워서 그런가.. 이번 문제는 간단해서 쉽게 풀었다. 문제파일로 바이너리 파일인 vuln과 소스코드인 vuln.c 파일이 주어진다. 그리고 실제 접속해서 문제를 풀어야 하는 문제서버 주소(ret2win.chal.imaginaryctf.org 1337) 도 같이 주어진다. 우선 어떤 프로그램인지 테스트 해보기 위해 문제 서버에 한번 접속해봤다. 접속하면 Can you overwrite the return address? 라고 하면서 사용자의 입력을 받는다. aaaa 라고 시험삼아 입력해봤는데, 별다른 반응없이 retrun 주소를 출력하면서 프로그램이 종료된다. #include #include int win() { FILE *fp..

CTF/포너블 2022.07.22
반응형