1. 개요
1.1 분석 수행 인원
•
이수영
1.2 파일 정보
File Name | 주간 국제 안보군사 정세.hwp |
Size | 158 KB |
Type | Hangul (Korean) Word Processor File 5.x |
Behavior | Shellcode, Process Injection, Downloader |
MD5 | 48d9e625ea3efbcbef3963c8714544a7 |
SHA256 | cd6a12cc693e98e4f47d2161e9fe99d04895472d964575c749bbdd460f0fefdc |
ssdeep | 24576:iCQ32rU7ix+XzKOKJsCiAI+O5ldDaPKIb1FEeF2F:yTixGXKajAI+O5l5LIb1Fp |
AntiVirus | 26 / 60 (43.3%) |
1.3 Time table
그림 추가 예정
2. 악성코드 상세 분석
2.1 주간 국제 안보군사 정세.hwp 분석
(1) HWP 파일 내에 의심스러운 스트림 찾기
HWP 파일의 스트림을 분석한 결과 BinData 스토리지에 의심스러운 EPS 파일이 있는 것을 확인할 수 있다.
HWP 파일 내의 EPS 파일을 디컴프레스하면 난독화 된 데이터가 있는 것을 확인할 수 있다. 해당 코드가 어떻게 동작하는지 분석이 필요하다.
(2) PostScript 분석
/ar <~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
def /limit {ar length -1 add}
def /len {ar length}
def /str len string
def ar 0 1 limit {
2 copy get 204 xor put ar
}for
pop str 0 1 limit {
dup ar exch get put str
}for cvx exec exec
Plain Text
복사
위 코드는 추출한 EPS 파일 내의 코드이다. 악성코드의 핵심적인 행위를 분석해보면 아래와 같다.
1.
ar 변수에 난독화된 데이터를 저장
2.
ar변수에서 두글자(1byte)씩 데이터를 가져와서 204와 XOR 연산하여 복호화 수행
3.
복호화 한 코드를 실행
위에서 분석한 결과를 기반으로 난독화 되어있는 코드를 복호화 해보면 PostScript가 나온다. 그리고 PostScript 내부 코드를 보면 위 그림과 같이 쉘코드(Shellcode)가 포함되어 있음을 확인할 수 있다. 해당 쉘코드를 exe 파일로 변환한 뒤 구체적인 악성 행위를 분석해야 한다.
2.2 shellcode 분석
쉘코드 분석을 위해 어셈블리어 코드를 보면 암호화 되어 알아볼 수 없도록 되어있다. 암호화된 쉘코드를 복호화하는 핵심은 아래와 같다.
1.
XOR 키는 0x0040103D에 저장된 0x77과 0x90을 XOR 연산한 결과인 0xE7을 키로 사용
2.
바이너리 데이터를 0x0040103E를 시작으로 1byte씩 가져와서 0xE7과 XOR연산하여 복호화
3.
복호화 과정을 쉘코드의 길이인 0x492byte만큼 수행
<복호화 결과 코드>
쉘코드를 exe로 변환시킨 후 IDA Freeware에 로드한 결과 난독화 되어있는 부분이 있는 것으로 확인되었다. 현재 상태에서 문자열 지표를 찾아봤으나 별다른 지표가 나오지 않는다.