Reversing/문서형 악성코드

[한글] 악성코드 분석 1

대장흰둥 2021. 7. 7. 19:38

1. 개요

소위자료(2014.2.25) 수석전문위원소관.hwp 이라는 제목의 한글 악성코드 샘플 분석을 진행하였다. 

Filename 6dc8ec7ab4a774e6811279135af863da9db94a22.input
Size 262KiB (268288 bytes)
Description Hangul (Korean) Word Processor File 5.x
Architecture WINDOWS
SHA256 71abdc099d4cc2848e1eb3dda7f798ae819028052a34bc6a2b47bc3ec4fca59c

다음 악성코드에서 사용된 취약점은 문단의 레이아웃을 담당하는 HWPTAG_PARA _LINE_SEG의 구조체에서 발생하였다.

 

이 구조체를 개체 컨트롤 구조체로 착각하고 사용하여 흐름을 바꾸도록 하는 취약점이다. 그러나 DEP를 우회하기 위한 기법이 전혀 사용되지 않고, 32bit 로 작성되어 있으므로 64bit운영체제이거나 XP/Vista/7에서 DEP 가 활성화되어 있다면 실행을 막을 수 있다.

HWPTAG_PARA _LINE_SEG는 노란색 네모와 같은 구조인데 다른 객체로 인식하여 파란색 네모와 같은 객체로 생각하여 다른 객체의 주소로 읽게 된다.

 

2. HWPSCAN2 로 분석

Section0 Exploit.HWP.Generic.SC 는 쉘코드가 포함되어 있는 취약점이라는 의미이다

 

Section2~6 Exploit.HWP.Generic.43 은 오류가 있는 Tag ID 0x43 이라는 뜻인데 Tag ID 0x43

Tag HWPTAG_BEGIN+51 = HWPTAG_PARA_TEXT 로 진단했다. HWPTAG_PARA _LINE_SEG 가 아닌 HWPTAG_PARA_TEXT 로 진단한 이유는 분석을 통해서 알아보아야 한다.

 

실제 decompress Section2~6 파일의 맨 밑에는 nopsled 밑에 shellcode로 추정되는 코드가 있는 것을 확인할 수 있다.

 

3. Drop 된 tmp.dll분석

Hwp 파일이 실행되면 c:\Documents and Settings\사용자계정\Local Settings\Temp에 생성되는 tmp.dll 파일을 분석해 본다.

우선 필요한 함수 주소들을 찾는다

sub_100049C0() 함수에서는 공격자의 웹 메일 계정으로 보이는 메일계정을 이용해 통신하려고 시도하는 것을 확인할 수 있다.

다음의 파일에 접근하기 위해 시도하고 있음을 확인할 수 있다.

실제 C:\Windows\Help\VBOMN96.HLP 경로의 파일에는 호스트 컴퓨터의 정보가 담겨져 있다.

Tmp.dll 의 파일 경로를 확인한다.

다시 DllMain 에서는 GetversionExA 함수로 윈도우의 버전과 실행되는 경로의 위치 위에서 9번째 글자에 t가 있는지 확인합니다.

비스타의 버전 리턴 값이 6이므로 윈도우 버전이 6이하이거나 t 가 있는지 확인하는 것으로 보아, notepad.exe 가 인지 아닌지 알아보는 것으로 추측할 수 있습니다.

그 다음은 다음 포스팅에서...

'Reversing > 문서형 악성코드' 카테고리의 다른 글

[한글] 악성코드 분석 2  (0) 2021.08.27