Digital Forensic CTF
2021 INCOGNITO CTF(Forensic-data_collector 490)
data_collector.zip 파일이 주어집니다. 공격자가 원격데스크톱으로 접근한 후 사용한 도구의 파일명과 파일의 해시 값을 구하는 문제입니다. 압축을 해제하면 위와 같은 파일들이 존재하는 것을 확인할 수 있습니다. 윈도우즈 환경의 파일들임을 알 수 있습니다. 저는 먼저 원격데스크톱 연결을 시도했다고 했기 때문에 이벤트 로그를 확인해봤습니다. 그런데 이벤트로그에 남아있는 데이터가 하나도 없었습니다. 그러다 문득 문제에서 실행 프로그램의 파일과 해시값을 구하라는 말을 보고 암캐시가 생각났습니다. 얼마전에 암캐시를 분석할 일이 있어서 구조가 어떻게 되어 있는지 본 적이 있는데 그 때 실행 파일 정보와 해시값을 기록해둔다는 사실이 기억났습니다. Eric Zimmerman의 AmcacheParser를 사용..
2021 INCOGNITO CTF(Forensic-코로나바이러스 대응 긴급조회 453)
prob.zip 파일이 주어집니다. prob.zip 파일 내부에는 코로나바이러스 대응 긴급조회.hwp 파일이 존재합니다. 문제에서 쉘코드, 공격적인 행위라는 단어를 언급했으므로 악성 데이터가 첨부된 문서 파일에 대한 분석을 의도하는 것으로 보입니다. hwp 파일을 열어봤을 때 별 다른 이상은 없습니다. SSView를 사용하여 해당 hwp 파일을 열어봤을 때 BinData 경로에 .ps 파일이 존재했습니다. .ps 파일의 데이터를 열어보면 Hex 값이 문자열로 저장되어 있는 것을 볼 수 있습니다. 해당 문자열을 HxD를 사용하여 변환하면 파이썬 코드와 쉘코드 값을 획득할 수 있습니다. .ps 파일에서 뽑은 코드는 위의 좌측 그림과 같습니다. msg를 key 값을 통해 암호화하여 Shellcode 값을 뽑아..
2021 INCOGNITO CTF(Forensic-HS 325)
이동식 저장장치의 Serial Number를 구하는 문제입니다. chall.zip 파일이 주어지며 안에는 확장자를 알 수 없는 파일이 존재합니다. 파일의 시그니처 부분이 INCO 문자열로 덮여져있음을 확인할 수 있습니다. 레지스트리 하이브 파일의 시그니처 값인 72 65 67 66 으로 값을 변경시킨 후 저장합니다. 레지스트리 익스플로러 프로그램을 사용하여 해당 파일을 연 뒤, 외부저장장치 연결 기록이 저장되는 경로에서 연결된 장치의 시리얼 넘버를 확인할 수 있습니다. INCO{0374120030028536} 이번 문제는 사실 대회 기간 내에 풀지 못했던 문제입니다. 하이브 파일을 빨리 떠올리지 못해서;;; 간단한 개념 문제였는데 왜 그 순간에 생각이 나지 않았나 싶습니다ㅠㅠ
2021 INCOGNITO CTF(Forensic-SWUCTFINCO 50)
패킷 파일을 열고 TCP 통신에서 전송된 그림 파일의 데이터를 카빙하는 기초적인 네트워크 문제였습니다. SWUCTFINCO.pcapng 파일이 주어집니다. pcapng 포맷인 것으로 봐서 네트워크 포렌식 문제인 것을 알 수 있습니다. pcapng 형식이므로 wireshark로 파일을 열고 Statistics -> Conversations 를 통해 분석을 시도했습니다. Conversations 탭에서 TCP 통신을 확인했습니다. 패킷 Bytes가 큰 순서대로 정렬을 해주고 Follow Stream을 통해 값을 확인했습니다. Follow Stream 값을 보면 PNG 형식의 데이터가 캡처된 것을 확인할 수 있습니다. 데이터를 Raw 포맷으로 변경한 뒤 모두 복사하여 새로 저장하면 됩니다. 이미지 파일을 열어..
2021 INCOGNITO CTF(Forensic-inco_hack.png 50)
이번에도 파일 카빙과 base64를 조합한 형태의 기초적인 문제입니다. png 파일이 주어집니다. inco_hack.png 파일의 hex 값 가장 뒤를 보면 png footer signature 값 뒤에 PK 형식 파일의 데이터가 추가로 포함되어 있는 것을 알 수 있습니다. PK 데이터를 카빙하고 zip 형식으로 저장한 뒤 열어보면 hidden.txt 파일이 있습니다. = 로 끝나는 것을 봐서 base64 encode 기법이 적용되어 있을 것이라 판단하고 decode 해보니 플래그를 얻을 수 있었습니다. INCO{y0u_ar3_D1FF3R#NT}
2021 INCOGNITO CTF(Forensic-question 50)
디지털 포렌식 ctf 유형 중 가장 기초적인 테크닉을 요구하는 문제라서 쉽게 풀었던 문제입니다. 문제에서 제공해주는 파일인 question.jpg 파일을 열어보면 정상적으로 확인할 수가 없습니다. 파일 시그니처가 맞지 않는 것을 의심할 수 있습니다. question.jpg hex 값을 확인해보면 파일 시그니처 값이 압축 파일의 시그니처와 동일한 것을 확인할 수 있습니다. 확장자를 zip으로 변경하고 파일을 열어보면 docx 파일의 구조를 가지고 있는 것을 확인할 수 있습니다. word\media\ 경로에 가보면 image1.jpg 라는 파일이 있으며 해당 파일의 Hex 값 가장 뒷 부분에 문자열이 삽입되어 있는 것을 확인할 수 있습니다. 문자열이 = 로 끝나는 것을 통해 base64 encoding 기법..
2021 INCOGNITO CTF(Forensic-TwinCle 50)
2021 인코그니토 CTF 포렌식 문제들만 풀어봤습니다. 그 중에서 TwinCle 이라는 문제의 풀이입니다. 문제 지문은 따로 없고 TwinCle.jpg 파일만 덩그러니 주어집니다. 다운로드 받은 jpg 파일을 열면 위와 같은 그림이 보입니다. 굉장히 많은 사람들이 풀었다는 점과 jpg 파일 하나만 준 것을 보아 간단한 카빙 문제라고 생각했습니다. 아하 역시 파일의 젤 끝을 보니 PK 데이터가 은닉되어 있네요. 압축 파일을 카빙하고 열어 보니 안에 Hidden_Cloud.jpg 파일이 있습니다. Hidden_Cloud.jpg 파일에 스테가노그라피 기법이 적용되었나 싶어서 스테가노그라피 툴도 써보고 했는데 못 찾겠더라구요. 혹시 해서 플래그 형식으로 검색을 해봤더니 플래그가 있네요. 쉽게 생각했어야 했습니..