Capture The Flag/CTF 풀이

    H4CKING GAME CTF(Digital Forensic-cat 120)

    cat 문제입니다. cat.jpg 파일을 다운로드 할 수 있습니다. 문제 파일을 열어보면 위와 같은 그림을 확인할 수 있습니다. jpg 파일이기 때문에 GPS 값이 있나 확인을 해봤습니다. GPS 값이 존재했으나 지도에 검색을 해도 별 다른 정보를 획득할 수 없었습니다. 파일 카빙을 의도하는 문제인가 싶어서 hex 값을 봤습니다. JPG 파일의 footer signature 값인 FF D9 뒤에 16진수 값이 존재하는 것을 확인했습니다. 해당 16진수 값을 디코드하면 플래그를 획득할 수 있습니다.

    H4CKING GAME CTF(Digital Forensic-Easy 100)

    Easy 라는 문제입니다. easy.png 파일을 다운로드 할 수 있습니다. 파일을 열어보면 위와 같은 그림을 확인할 수 있습니다. 형태와 색깔을 보아하니 스테가노그라피 문제임을 예상했고 stegsolve 툴을 사용해서 분석해보기로 했습니다. Stegsolve.jar 파일을 실행합니다. easy.png 파일을 업로드하고 화살표를 눌러서 색상 값을 조절하다보면 QR 코드를 획득할 수 있습니다. 문제 파일에 QR 코드 이미지가 은닉되어 있었던 것입니다. 온라인 바코드 리더 사이트에서 QR을 해독할 수 있습니다.

    H4CKING GAME CTF(Digital Forensic-art 150)

    문제 설명은 위와 같습니다. 대충 램을 분석하라는 얘기인듯 합니다. 링크를 누르면 약 2GB 크기의 data.mp4라는 이름의 파일을 다운로드하게 됩니다. 해당 파일의 Hex 값을 보면 시작 부분에 데이터가 존재하지 않습니다. 스크롤을 좀 내리다보면 데이터가 보이는데 메모리 덤프 파일과 형태가 유사하여 확장자를 .dd로 변경하고 바로 볼라틸리티로 분석을 시작했습니다. .\volatility_2.6_win64_standalone.exe -f data.dd imageinfo imageinfo 플러그인을 사용하여 해당 메모리 덤프 파일의 프로필 정보를 획득했습니다. Profile : Win7SP1x64 .\volatility_2.6_win64_standalone.exe -f data.dd --profile=W..

    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 포맷으로 변경한 뒤 모두 복사하여 새로 저장하면 됩니다. 이미지 파일을 열어..