#HNS-WI-13-028 북한의심 APT 공격에대한 Kaspersky 의분석정리 2013-09-12
내용요약 이보고서는 Kaspersky의 Dmitry Tarakanov가작성하여우리나라시간으로 9월 12일발표한 The Kimsuky Operation: A North Korean APT? 를정리및분석한것으로, Kaspersky는지난몇달동안한국의세종연구소, KIDA( 한국국방연구원 ), 통일부, 현대해상, 통일을생각하는사람들의모임 등에대한사이버첩보작전을모니터링해왔음 Kimsuky Operation 이라고이름을붙인것은수집된정보가전송되는메일 계정이 김숙향 (Kimsukyang) 이라는이름으로등록되어있기때문임 Kaspersky 가이작전을북한의행위로추정하는근거는다음과같음 1. 악성코드컴파일경로에 공격 이라는문자열이발견됨 2. 북한과연결지을수있는정부기관, 연구소, 기업등이그대상이됨 3. 한국에서주로사용되는안랩의방화벽이공격대상이되고있음 4. hwp 파일을수집함 5. 수집된정보가전송되는이메일계정등록자가북한식이름 김숙향 으로되어있음 6. 공격자의 IP가북한근처지역인중국지린성, 랴오닝성지역의 ISP에서제공하는 IP임 1
1. 개요 이보고서는 Kaspersky의 Dmitry Tarakanov가작성하여우리나라시간으로 9월 12일발표한 The Kimsuky Operation: A North Korean APT? 1 를정리및분석한것으로, Kaspersky는지난몇달동안한국의세종연구소, KIDA( 한국국방연구원 ), 통일부, 현대해상, 통일을생각하는사람들의모임 등에대한사이버첩보작전을모니터링해왔음 전체공격대상의리스트는알려지지않았으며, Kaspersky 가발견했다고하는국내타깃 11 개중일부조직의이름만공개한것은영업전략과관련되어있는것으로판단되며, 모니터링방법은공개하지않았음 Kaspersky 는이공격에사용된악성코드가어떻게유포되었는지확인하지못했으며, 분석에 사용된악성코드의샘플은스피어피싱이메일을통해전달된초기단계의악성코드임 Kaspersky 측에서관심을가진부분은불가리아의웹메일서비스 (mail.bg) 와파일컴파일 경로 (D:\rsh\ 공격 \UAC_dll( 완성 )\Release\test.pdb) 에 공격 과 완성 과같은한글문자들이 사용되었다는것임 2. 세부내용 # 시스템감염 - 악성코드의시스템감염과정은다음과같음 1 dropper 는또다른하나의암호화된라이브러리를로딩 (dropper 에의해로딩된이라이브러리가실제모든첩보기능을수행함 ) 1 http://www.securelist.com/en/analysis/204792305/the_kimsuky_operation_a_north_korean_apt 2
2 로딩된라이브러리는 Metasploit Framework 의 Win7Elevate 를사용해악성코드를 explorer.exe 에인젝트하고, 인젝트된악성코드는또다른감시용라이브러리를 ~DFE8B437DD7C417A6D.TMP 와같은형식으로사용자의임시폴더에저장함 3 인젝트된악성코드는 System32 폴더에 KBDLV2.DLL 또는 AUTO.DLL이라는이름으로자신을복사하고, DriverManage, WebService, WebClientManager와같은이름의서비스를실행시키는데, 이것들은시스템이다시부팅된후에도악성코드가작동할수있도록하는역할을함 ( 이단계에서악성코드는감염된시스템의정보를수집하여 oledvbs.inc라는파일에저장하고, 이파일은하드코딩된 C:\Program Files\Common Files\System\Ole DB\oledvbs.inc에저장됨 ) # 감시모듈 - 이첩보전에동원되는악성프로그램들이많지만각각은단일기능만하는경우가 대부분으로, 다음과같은기능을함 * 키로깅 * 디렉토리목록수집 * hwp 문서수집 * 원격다운로드및실행 * 원격통제 # 방화벽통제 - 감염된시스템이부팅되면악성코드는레지스터리의다음값을 0 으로만들어 Windows 시스템의방화벽과안랩의방화벽을비활성화시킴 SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\ FirewallPolicy\StandardProfile EnableFirewall = 0 SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\ FirewallPolicy\PublicProfile EnableFirewall = 0 HKLM\SOFTWARE\AhnLab\V3IS2007\InternetSec FWRunMode = 0 HKLM\SOFTWARE\Ahnlab\V3IS80\is fwmode = 0 - 시스템의방화벽이비활성화되었다는사실을감추기위해 Windows Security Center 서비스를역시꺼버림 3
- 악성코드가안랩의방화벽을비활성화시키면 C:\WINDOWS\ 폴더에 taskmgr.exe 가 존재하는지확인하고, 존재하면그파일을실행시키고, 매 30 분마다지시자에게보고를함 - Kaspersky의분석가는이문서에서한국의관련기관이피해기관들중하나를조사하면서외국보안제품을사용한것을비난했다는내용과실제로는한국기관들이대부분안랩제품을사용하고있음을언급하면서책임을안랩에지우려는뉘앙스를풍기고있는데, 이는 Kaspersky의영업전략인것으로판단됨 - 안랩의해명에따르면해당악성코드에대해서이미대응을했다고하며, 안랩방화벽을 무력화하는기능이있는것이지무력화에성공했다는것을반드시의미하지않는다고함 (https://www.facebook.com/ahnlabofficial?fref=ts 참고 ) - 악성코드가 Windows 방화벽과안랩의방화벽을비활성화시키는것을 Kaspersky 연구원이언급하였는데, 악성코드에감염됨취약한시스템은 Kaspersky의제품을포함해어떤방화벽과보안솔루션도무력화될수있으므로, Windows 자체방화벽과안랩제품만을비활성화시킨다면뛰어난공격툴로간주할수없는셈이며, 이케이스의경우사실악성코드에대한진단가능성여부를두고보안제품의질을판단해야하는것이므로 Kaspersky 연구원의언급은영업전략에서나온것으로판단할수있음 - Kaspersky 가안랩의방화벽에대한공격을강조한것은영업전략에서나온측면도있지만 한국에서주로사용되고있다는점에서북한이개입되어있을수있다는것을표현하기 위한방편으로간주할수있음 # bot 과작전수행자사이의통신 - bot 과작전수행자사이의통신은불가리아의웹기반의무료이메일서버 (mail.bg) 를 이용하고, bot 이이용하는이메일게정은하드코딩되어있음 - bot 이하드코딩된이메일계정에인증을통해접근하면다시지정된다른이메일주소로 메일을보내며, 첨부파일을통해감염된시스템의정보를전송함 - bot이 1차로접근하는메일계정목록은다음과같음 (kaspersky가찾아낸계정임 ) beautifl@mail.bg ennemyman@mail.bg fasionman@mail.bg happylove@mail.bg lovest000@mail.bg monneyman@mail.bg sportsman@mail.bg veryhappy@mail.bg 4
- 봇이두번째로접근하는 master 이메일계정목록 iop110112@hotmail.com rsh1213@hotmail.com # 정보보고 - 수집된정보를작전수행자에게보내는과정 1 systeminfo 명령의결과물인 oledvbs.inc 파일확인 2 사용자관련정보파일인 sqlxmlx,inc 파일을읽어려고시도 ( 이파일은생성되지않으며, 개발자의실수로추측하고있음 ) 3 키로깅파일확인 4 위의데이터를통합하여 xmlrwbin.inc 파일로만들며, 이것은 RC4로암호화되고, 다시 RSA로암호화되어마스터에게전송되며, 전송이완료되면이파일은즉시삭제됨 - 악성코드는메일서버로부터특정제목태그를가진계정을확인하기도함 - 키로깅된정보는 C:\Program Files\Common Files\System\Ole DB\msolui80.inc 에 저장됨 - 디렉토리목록을확인하기위해악성코드는 dir <drive letter>: /a /s /t /-c 명령을내림 - 다음은위의과정을정리한것임 5
# hwp 파일수집및전송 - hwp 문서파일만을수집하는 stealer ( 사용자몰래파일을수집해공격자에게전송하는 역할을하는악성프로그램 ) 가있음 - 이 stealer 는감염된시스템에서모든 hwp 파일을수집하는것이아니라사용자가오픈한 hwp 파일들에만반응하고, 그파일들을확보하는점에서흥미로운부분임 - 이 stealer 는스스로를 HNC 디렉토리에 HncReporter.exe 로복사하고, 디렉토리의내용을 다음과같이수정함 HKEY_CLASSES_ROOT\Hwp.Document.7\shell\open\command 또는 HKEY_CLASSES_ROOT\Hwp.Document.8\shell\open\command - 기본레지스트리세팅은 <Hangul full path>\hwp.exe" "%1" 와같이되어있으나이세팅을 <Hangul full path>\hncreporter.exe" "%1" 로변경하며, 따라서사용자가 hwp 파일을오픈하면이파일을 Hwp 라는제목으로공격자에게이메일의첨부파일로전송하게되는것임 - hwp 파일을공격자에게전송하는것은다음루틴에의존함 C:\Program Files\Common Files\System\Ole DB folder: xmlrwbin.inc, msdaipp.cnt, msdapml.cnt, msdaerr.cnt, msdmeng.cnt, oledjvs.inc # 원격통제 - 공격자는원격통제를위해 TeamViewer 클라이언트 ( 버전 5.0.9104) 를사용했으며, dropper 는 C:\Windows\System32 에다음세가지파일은생성함 netsvcs.exe 수정된 Team Viewer 클라이언트 netsvcs_ko.dll Team Viewer 클라이언트리소스라이브러리 vcmon.exe installer/starter - 또한 dropper 는원격접근서비스를만들기위해시스템이시작할때마다 C:\Windows\System32\vcmon.exe 를실행하게하는데, vcmon.exe 가실행되면앞에서 언급한것처럼레지스터리를조작해안랩의방화벽이비활성됨 - 방화벽이비활성되면 Team Viewer 의레지스트리값을다음과같이수정함 HKLM\Software\Goldstager\Version5 -> HKLM\Software\Coinstager\Version5 * 이를통해원격공격자는사전에설정된값 ( 패스워드등 ) 을이용해 Team Viewer 클라이언트에접근함 6
# master 이메일계정등록자정보 - 두 master 이메일계정 iop110112@hotmail.com와 rsh1213@hotmail.com의등록자는각각 kimsukyang 과 Kim asdfa 으로되어있으며, kimsukyang 에서 kimsuky 만사용하여글의제목으로삼고있으며, Kaspersky의악성코드진단명에도 Trojan.Win32.Kimsuky로사용하고있음 - 이두이름중첫번째이름 김숙향 은북한식이름으로 Kaspersky 분석자는판단하고있으며, 이것은 Kaspersky 연구자가이악성코드를이용한정보수집활동이북한에의해이루어졌다고판단하는중요한근거가되고있으나분석가역시공격자에대한정확한정보임을확신하지는못하고있음 - Kaspersky 연구자의분석과정에서공격자의 IP 10 개를찾았으며, 이 IP 들은지린성, 랴오닝성네트워크소속의것임을확인하고, 북한과가까운지역에위치하는것을통해 북한의공격으로추정하고있으나역시확신은하지못하고있음 3. 기타 - 악성코드가사용한파일들 %windir%\system32\kbdlv2.dll %windir%\system32\auto.dll %windir%\system32\netsvcs.exe %windir%\system32\netsvcs_ko.dll %windir%\system32\vcmon.exe 7
%windir%\system32\svcsmon.exe %windir%\system32\svcsmon_ko.dll %windir%\system32\wsmss.exe %temp%\~dfe8b437dd7c417a6d.tmp %temp%\~dfe8b43.tmp %temp%\~tmp.dll C:\Windows\taskmgr.exe C:\Windows\setup.log C:\Windows\winlog.txt C:\Windows\update.log C:\Windows\wmdns.log C:\Windows\oledvbs.inc C:\Windows\weoig.log C:\Windows\data.dat C:\Windows\sys.log C:\Windows\PcMon.exe C:\Windows\Google Update.exe C:\Windows\ReadMe.log C:\Windows\msdatt.bat C:\Windows\msdatl3.inc C:\Program Files\Common Files\System\Ole DB\msdmeng.cnt C:\Program Files\Common Files\System\Ole DB\xmlrwbin.inc C:\Program Files\Common Files\System\Ole DB\msdapml.cnt C:\Program Files\Common Files\System\Ole DB\sqlsoldb.exe C:\Program Files\Common Files\System\Ole DB\oledjvs.inc C:\Program Files\Common Files\System\Ole DB\oledvbs.inc C:\Program Files\Common Files\System\Ole DB\msolui80.inc C:\Program Files\Common Files\System\Ole DB\msdaipp.cnt C:\Program Files\Common Files\System\Ole DB\msdaerr.cnt C:\Program Files\Common Files\System\Ole DB\sqlxmlx.inc <Hangul full path>\hncreporter.exe - 관련 MD5 3baaf1a873304d2d607dbedf47d3e2b4 3195202066f026de3abfe2f966c9b304 4839370628678f0afe3e6875af010839 173c1528dc6364c44e887a6c9bd3e07c 191d2da5da0e37a3bb3cbca830a405ff 5eef25dc875cfcb441b993f7de8c9805 b20c5db37bda0db8eb1af8fc6e51e703 face9e96058d8fe9750d26dd1dd35876 9f7faf77b1a2918ddf6b1ef344ae199d d0af6b8bdc4766d1393722d2e67a657b 45448a53ec3db51818f57396be41f34f 80cba157c1cd8ea205007ce7b64e0c2a f68fa3d8886ef77e623e5d94e7db7e6c 4a1ac739cd2ca21ad656eaade01a3182 4ea3958f941de606a1ffc527eec6963f 637e0c6d18b4238ca3f85bcaec191291 b3caca978b75badffd965a88e08246b0 dbedadc1663abff34ea4bdc3a4e03f70 8
3ae894917b1d8e4833688571a0573de4 8a85bd84c4d779bf62ff257d1d5ab88b d94f7a8e6b5d7fc239690a7e65ec1778 f1389f2151dc35f05901aba4e5e473c7 96280f3f9fd8bdbe60a23fa621b85ab6 f25c6f40340fcde742018012ea9451e0 122c523a383034a5baef2362cad53d57 2173bbaea113e0c01722ff8bc2950b28 2a0b18fa0887bb014a344dc336ccdc8c ffad0446f46d985660ce1337c9d5eaa2 81b484d3c5c347dc94e611bae3a636a3 ab73b1395938c48d62b7eeb5c9f3409d 69930320259ea525844d910a58285e15 9