본문 바로가기
악성코드 정보

한글 파일 제로 데이(Zero-Day) 취약점 악용 공격

by 알 수 없는 사용자 2013. 1. 29.

2012년도에는 한글과 컴퓨터에서 개발하는 한글 소프트웨어에 존재하는 취약점을 악용한 타깃 공격(Target Attack)이 예년에 비해 비교적 크게 증가하였다.


이 중에는 기존에 알려지지 않은 제로 데이(Zero Day, 0-Day)을 악용한 공격 형태도 2012년 6월과 11월에 발견될 정도로 한글 소프트웨어 취약점을 악용한 공격의 위험성이 증가하고 있다.


2012년 6월 - 한글 제로데이 취약점을 악용한 악성코드 유포


2012년 11월 - 국방 관련 내용의 0-Day 취약점 악용 한글 파일


이러한 한글 소프트웨어에 존재하는 기존에 알려지지 않은 제로 데이 취약점을 악용한 공격이 1월 25일경 다시 발견되었다.


이 번에 발견된 한글 소프트웨어의 제로 데이 취약점을 악용하는 취약한 한글 파일은 아래 이미지와 같이 다수의 개인 정보를 포함한 형태로 발견되었다.



해당 취약한 한글 파일은 아래 이미지와 동일한 같은 구조를 갖고 있으며, 이 중 "BinData" 항목의 "BIN0001.bmp" 라는 비정상적인 이미지를 파싱하는 과정에서 취약점이 발생하게 된다.



이로 인해 영향을 받게 되는 한글 소프트웨어의 모듈은 "HncTiff10.flt"에서 TIFF 형식의 이미지를 파싱하는 과정에서 발생하는 코드 실행 취약점이다.


해당 제로 데이 취약점으로 인해 영향을 받는 한글 소프트웨어는 ASEC의 내부적인 테스트 결과로는 다음 버전에서 동작하게 된다.


한글 및 한컴 오피스 2007

한글 및 한컴 오피스 2010


최신 보안 패치가 모두 적용된 한글 2007과 2010 버전에서는 해당 취약한 문서를 여는 과정에서 바로 취약점이 동작하게 된다. 


하지만 최신 패치가 적용되지 않은 한글 2010 버전에서는 아래 이미지와 같은 오류 메시지가 발생하며, 해당 오류 메시지를 종료하는 순간 취약점이 동작하게 된다.



해당 제로데이 취약점을 포함하고 있는 한글 파일이 정상적으로 열리게 되면 아래 이미지와 같은 전체적인 구조를 가진 다른 악성코드들이 생성된다. 


우선 취약한 한글 파일이 정상적으로 열게 될 경우에는 아래 경로에 HncUpdate.exe (641,024 바이트)가 생성 된다.


C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\HncUpdate.exe


생성한 HncUpdate.exe (641,024 바이트)은 GetTempFileName 함수를 이용하여 임의의 문자열을 파일명으로 가지는 tmp 파일 3개를 다음과 같은 경로에 생성하게 된다.


C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\[임의의 문자열].tmp (187,904 바이트)

C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\[임의의 문자열].tmp (181,760 바이트)

C:\Documents and Settings\[사용자 계정명]\Local Settings\Temp\[임의의 문자열].tmp (219,136 바이트)


HncUpdate.exe (641,024 바이트)가 생성한 tmp 파일 중 187,904 바이트 크기를 가지는 tmp 파일을 다시 아래 경로에 w32time.exe (187,904 바이트) 파일명으로 다시 복사를 하게 된다.


C:\WINDOWS\system32\w32time.exe


그리고 생성한 w32time.exe (187,904 바이트)을 윈도우 서비스로 실행하기 위해서 윈도우 레지스트리 다음 경로에 "Windows Time"라는 윈도우 서비스 명으로 아래와 같은 키 값을 생성하게 된다.


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time

ImagePath = C:\WINDOWS\system32\w32time.exe


w32time.exe (187,904 바이트)은 파일 다운로드 기능만 가지고 있는 파일이며, 다른 악의적인 기능은 존재하지 않는다.  


해당 w32time.exe (187,904 바이트)이 실행이 되면 파일 내부에 하드코딩 되어 있는 웹 사이트 주소 3곳에 존재하는 GIF 또는 JPG 확장자를 가진 파일을 다운로드 하게 된다.


분석 당시에는 아래 이미지와 같이 다운로드 되는 해당 파일들은 GIF와 JPG 파일 시그니처만 남아 있는 손상된 파일들이다



해당 악성코드 제작자는 현재까지는 손상된 GIF와 JPG 파일을 사용하고 있으나, 적절한 시기에는 이를 다른 악성코드로 변경하여 동시에 다수의 악성코드를 유포하기 위한 것으로 추정된다.


그리고 생성된 다른 임의의 문자열을 파일명으로 가지는 tmp 파일 2개는 윈도우 비스타(Windows VISITA)와 윈도우 7(Windows 7)에 존재하는 UAC(User Access Control) 기능을 무력화하여 생성한 악성코드를 정상적으로 실행하기 위한 기능을 수행하게 된다.


이 번에 알려진 한글 소프트웨어에 존재하는 제로 데이 취약점을 악용하는 악성코드들은 V3 제품군에서 다음과 같이 진단한다.


 HWP/Exploit 

 Trojan/Win32.Agent 

 Win-Trojan/Agent.219136.DC

 Dropper/Agent.641024.G 

 Win-Trojan/Agent.181760.HT


그리고 APT 전문 대응 솔루션인 트러스와쳐(TrusWatcher)에 포함된 DICA(Dynamic Intelligent Content Analysis)에 의해 시그니처 없이 아래와 같이 탐지가 가능하다.


Exploit/HWP.AccessViolation-DE 


향후 출시 예정인 V3 다음 버전에 포함된 ASD 2.0의 MDP 엔진에서도 시그니처 없이 다음과 같이 탐지가 가능하다.


Dropper/MDP.Exploit

Suspicious/MDP.Exploit

Suspicious/MDP.Behavior

Suspicious/MPD.DropExecutable


현재 해당 악성코드에서 사용한 취약점은 앞서 언급한 바와 같이 한글과 컴퓨터에서 보안 패치가 제공되지 않는 제로데이 취약점이다.


그러므로 이메일이나 웹 사이트 등으로부터 전달 받게된 출처가 불명확한 한글 파일을 실행하는 경우에는 각별한 주의가 필요하다.

댓글