2021 INCOGNITO CTF(Forensic-코로나바이러스 대응 긴급조회 453)
Capture The Flag/CTF 풀이

2021 INCOGNITO CTF(Forensic-코로나바이러스 대응 긴급조회 453)

Forensic - 코로나바이러스 대응 긴급조회 문제

 

prob.zip 파일이 주어집니다.

prob.zip 파일 내부에는 코로나바이러스 대응 긴급조회.hwp 파일이 존재합니다.

문제에서 쉘코드, 공격적인 행위라는 단어를 언급했으므로 악성 데이터가 첨부된 문서 파일에 대한 분석을 의도하는 것으로 보입니다.

 

코로나바이러스 대응 긴급조회 파일

 

hwp 파일을 열어봤을 때 별 다른 이상은 없습니다.

 

SSView로 파일 열기

 

SSView를 사용하여 해당 hwp 파일을 열어봤을 때 BinData 경로에 .ps 파일이 존재했습니다.

 

BIN0005.ps 파일 데이터

 

.ps 파일의 데이터를 열어보면 Hex 값이 문자열로 저장되어 있는 것을 볼 수 있습니다.

 

Hex string value

 

해당 문자열을 HxD를 사용하여 변환하면 파이썬 코드와 쉘코드 값을 획득할 수 있습니다.

 

 

암,복호화 코드

 

.ps 파일에서 뽑은 코드는 위의 좌측 그림과 같습니다.

msg를 key 값을 통해 암호화하여 Shellcode 값을 뽑아낸 것으로 보입니다.

따라서 얻어낸 Shellcode 결과 값을 다시 ascii 값으로 변환한 뒤 msg 값에 대입하고 msg_size를 key_size로 변경해주면 원본 메세지를 획득할 수 있습니다.

 

INCO{3z_m4lw4r3}

 

이번 문제는 코드까지 획득했는데 마지막에 Shellcode 값을 ascii 값으로 변환하고 복호화를 해야하는데 계속 헥스 스트링 형태에서 복호화를 하려다가 결국 못 풀었던 문제였습니다ㅠㅠ