Capture The Flag/CTF 풀이
2021 INCOGNITO CTF(Forensic-코로나바이러스 대응 긴급조회 453)
present4n6
2021. 9. 2. 17:53
prob.zip 파일이 주어집니다.
prob.zip 파일 내부에는 코로나바이러스 대응 긴급조회.hwp 파일이 존재합니다.
문제에서 쉘코드, 공격적인 행위라는 단어를 언급했으므로 악성 데이터가 첨부된 문서 파일에 대한 분석을 의도하는 것으로 보입니다.
hwp 파일을 열어봤을 때 별 다른 이상은 없습니다.
SSView를 사용하여 해당 hwp 파일을 열어봤을 때 BinData 경로에 .ps 파일이 존재했습니다.
.ps 파일의 데이터를 열어보면 Hex 값이 문자열로 저장되어 있는 것을 볼 수 있습니다.
해당 문자열을 HxD를 사용하여 변환하면 파이썬 코드와 쉘코드 값을 획득할 수 있습니다.
.ps 파일에서 뽑은 코드는 위의 좌측 그림과 같습니다.
msg를 key 값을 통해 암호화하여 Shellcode 값을 뽑아낸 것으로 보입니다.
따라서 얻어낸 Shellcode 결과 값을 다시 ascii 값으로 변환한 뒤 msg 값에 대입하고 msg_size를 key_size로 변경해주면 원본 메세지를 획득할 수 있습니다.
INCO{3z_m4lw4r3}
이번 문제는 코드까지 획득했는데 마지막에 Shellcode 값을 ascii 값으로 변환하고 복호화를 해야하는데 계속 헥스 스트링 형태에서 복호화를 하려다가 결국 못 풀었던 문제였습니다ㅠㅠ