작은 메모장

악성HWP문서 분석_오브젝트 2 본문

KISA 사이버 보안 훈련/스피어피싱 대응 심화

악성HWP문서 분석_오브젝트 2

으앙내눈 2023. 5. 30. 23:01

이번 목표 문서

 

트리아지

늘 그렇듯 스트림 추출 먼저 시행

BIN00001.OLE와 BIN00002.jpg가 있음

분석을 위해 복사 및 압축 해제

압축을 해제 후 그림 파일을 hex 에디터로 연 모습

jfif형식을 띄고 있는 정상 그림 파일임을 확인 가능

뜬금없이 춘천시 로고 이미지가 보임

?? 이게 왜 악성파일임? 의문이 생김

실제 한글 파일을 열어보면 문서 상단에 춘천시 로고가 있음을 확인 가능

아니 그래서 이게 왜 문제?

이 문서의 문제는 문서를 편집하려고 마우스를 올리면

텍스트 편집 커서 표시가 아니라 하이퍼링크 클릭 커서 표시가 나옴

즉, 저 춘천시 로고가 문서 전체를 덮고 있는 엄청나게 커다란 이미지

하이퍼링크를 확인

외부의 어떤 파일로 연결되는 것을 확인 가능

실제로 해당 프로그램이 있는 것을 확인할 수 있음

이게 무슨 역할을 하는지 아까 획득한 OLE 파일을 확인

CyberChef로 획득한 OLE 파일을 분석

어떤 파일이 들어가있는지 확인

정상적인 office document말고 Windows Portable Executable파일 타입도 잡히는것을 볼 수 있음

즉, 여기 안에는 윈도우에서 돌아갈 수 있는 실행 파일이 존재할 수 있음

스크립트 파일을 Hex 에디터로 분석한 결과, MZ 문자열이 추출

MZ는 PE파일의 오프셋

따라서 이 스크립트 안에는 실행 가능한 PE 파일이 들어있음

이걸 추출해봄

PECarver을 사용하여 PE파일을 추출함

python2를 사용하여 만들었기 때문에, python2로 실행

A83영역에 있는 PE 파일을 복사함

추측대로라면, 이 파일의 내용은 문서를 열어서 생긴 HncApp.exe와 내용이 같아야할 것임

에디터를 사용하여 둘을 비교한 결과, 내용이 완벽하게 일치하는 것을 확인

즉, 이 스크립트는 의심스러운 프로그램을 생성하는 스크립트임을 확인

 

스크립트 코드 분석

PEView를 이용하여 해당 파일을 검사

32비트 구조를 가지고 있고 exe파일임을 알 수 있음

리소스 섹션 부분을 검사

의심스러운 문자열은 따로 발견되지 않음

서명 정보를 확인

정상적인 서명이 존재하지 않음

다시 PEView로 돌아와서 사용한 API목록을 살펴 봄

ReadFile, WriteFile, TerminateProcess, GetCurrentProcessId, GetCurrentThreadId 같은 API가 검출

위 API는 사용자 컴퓨터의 파일을 읽고 쓸 때 호출

GetAsyncKeyState 같은 API도 검출

위 API는 사용자의 입력 값을 취득 할 때 호출

HttpOpenRequestW, InternetOpenW, HttpSendRequestW, InternetCloseHandle, InternetConnectW 같은 API가 검출

위 API는 인터넷에 연결하고 특정 주소에 접속할 때 호출

 

결과적으로, 이 프로그램은 사용자의 입력값을 취득 및 파일을 읽고 쓰며 공격자의 서버로 전송하는 목적

Strings로 의미있는 문자열을 추출한 결과 IP주소와 도메인 주소가 나옴

POST라는 명령으로 데이터를 특정 주소로 계속 전송함을 알 수 있음

PDB정보 또한 나와있음

개발 환경에 대한 주소값이 그대로 나와있으므로, 공격자의 정보를 식별할 수 있는 단서