Trojan/Win32.WannaCryptor 상세분석 안랩시큐리티대응센터 (ASEC) 분석팀 경기도성남시분당구판교역로 220 ( 우 ) 13493 대표전화 : 031-722-8000 팩스 : 031-722-8901 www.ahnlab.com AhnLab, Inc. All rights reserved.
목차 01. 개요... 3 02. 감염경로... 4 03. 워너크립터동작방식... 5 1) 동작과정상세분석... 5 2) 감염증상... 8 3) 파일암호화및복호화방식... 12 04. 안랩대응현황... 16 AhnLab, Inc. All rights reserved. 2
01. 개요 워너크립터 (WannaCryptor) 랜섬웨어 (Ransomware) 는워너크라이 (WannaCry), W 크립트 (Wcrypt) 등으로도불리며, 지난 2017 년 5 월 12 일 ( 현지시간 ) 스페인, 영국등을시작으로전세계에서감염이보고되고있다. 12 워너크립터가최초발견된것은지난 2017년 2월이다. 이번워너크립터는지난 2017년 5월제작된변종으로, 악성코드제작자는지난 2017년 4월해킹그룹쉐도우브로커 (ShadowBrokers) 가탈취한미국국가안보국 (NSA) 의이터널블루 (EternalBlue) 를이용해변종을제작했다. 이터널블루는윈도우 (Windows) 운영체제 (OS) 의 SMB(Server Message Block) 취약점 (MS17-010) 3 을이용하는익스플로잇킷 (Exploit Kit) 이다. 마이크로소프트사는지난 2017년 3월해당 SMB 취약점에대한보안업데이트를배포했으나, 상당수의시스템에해당보안업데이트가적용되지않아위험에노출되었다. 이번워너크립터는 2017 년 5 월 12 일전세계로확산되었으며, 2017 년 5 월 17 일현재약 500 개이상 ( 안랩위협분석시스 템 ASD 분석기준 ) 의변형이발견되었다. 본보고서에서분석한워너크립터랜섬웨어샘플정보는 [ 표 1] 과같다. MD5 파일명 크기 기능 1 DB349B97C37D22F5EA1D1841E3C89EB4 mssecsvc.exe 3,723,264 드로퍼, SMB취약점전파 2 84C82835A5D21BBCF75A61706D8AB549 tasksche.exe 3,514,368 파일암호화 [ 표 1] 워너크립터샘플정보 1 http://www.bbc.com/news/technology-39901382 2 http://varlamov.ru/2370148.html 3 https://technet.microsoft.com/en-us/library/security/ms17-010.aspx AhnLab, Inc. All rights reserved. 3
02. 감염경로 대부분의랜섬웨어는이메일첨부파일이나취약한홈페이지방문시감염되는데, 특히워너크립터랜섬웨어는윈도우 취약점 (MS17-010, SMB 원격코드실행취약점 ) 을이용해유포되어피해가더욱확산되었다. 관련보안업데이트가적용 되지않은윈도우시스템의경우, 인터넷만연결되어있으면별도의사용자동작없이도감염될수있기때문이다. 워너크립터랜섬웨어유포와관련된윈도우 SMB 취약점은 [ 표 2] 와같다. Windows SMB 원격코드실행취약점 (CVE-2017-0143) Windows SMB 원격코드실행취약점 (CVE-2017-0144) Windows SMB 원격코드실행취약점 (CVE-2017-0145) Windows SMB 원격코드실행취약점 (CVE-2017-0146) Windows SMB 정보유출취약점 (CVE-2017-0147) Windows SMB 원격코드실행취약점 (CVE-2017-0148) [ 표 2] 워너크립터유포관련 SMB 취약점정보 SMB 취약점에영향을받는운영체제는 [ 표 3] 과같다. 단, 윈도우 10 의경우해당취약점을갖고있으나워너크립터의 공격대상은아니다. Windows XP/ Vista/ 7/ 8.1/ RT 8.1 Windows 10 ( 해당취약점을갖고있으나워너크립터의공격대상은아님 ) Windows Server 2003/ 2008 R2 SP1, SP2/ 2012 R2/ 2016 [ 표 3] SMB 취약점에영향받는운영체제 AhnLab, Inc. All rights reserved. 4
03. 워너크립터동작방식 [ 그림 1] 은워너크립터랜섬웨어의동작과정을정리한것이다. [ 그림 1] 워너크립터동작과정 1) 동작과정상세분석 (1-1) 특정 URL 접속여부확인 워너크립터랜섬웨어가실행되면아래의 URL로접속을시도하며, 접속에실패할경우에만다음동작을수행한다. 이는백신의행위기반탐지를피하기위해감염된 PC 환경이가상이아닌실제인지확인하는과정이다. 2017년현재, 아래 URL 외에다른 URL에접속을시도하는변형들이추가로발견되고있다. - http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com - http://www.ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com AhnLab, Inc. All rights reserved. 5
[ 그림 2] 는 URL 접속여부를확인하는실행코드이다. [ 그림 2] URL 접속여부확인코드 또한시스템이시작될때마다자동으로실행되도록정상서비스로위장하여시스템에스스로를등록한다. 마이크로소 프트의정상서비스명과유사한 mssecsvc2.0 형태로위장하며, 서비스로동작할때 -m security 인자로실행된다. [ 그 림 3] 은해당서비스정보이다. [ 그림 3] 최초동작시등록하는서비스정보 (1-2) 로컬 IP 대역및랜덤 IP 대상 SMB 취약점공격 서비스로동작하게되면 SMB 취약점을이용한자체유포루틴이수행된다. 자신의네트워크대역 IP 및랜덤으로생성한 IP 대역을스캔하여 SMB 패킷 (445포트) 을전송한다. 이과정에서과도한패킷이발생하여네트워크에트래픽부하가발생할수있다. AhnLab, Inc. All rights reserved. 6
(1-3) SMB 취약점이존재하는시스템감염 IP 스캐닝을통해공격대상시스템을찾아 SMB 취약점발생을유발하는패킷을추가로전송한다. [ 그림 4] 와같이 SMB 취약점을이용한원격실행코드를 SMB 패킷헤더에삽입한형태의데이터를생성하며, 공격대상시스템의운영체제에관련보안패치가적용되지않은환경일경우쉘코드가동작한다. [ 그림 4] SMB 원격실행코드취약점발생유발패킷 [ 그림 5] 는취약점발생이후실행되는쉘코드에포함된내용이다. [ 그림 5] SMB 취약점발생후실행되는쉘코드 (1-4) 추가감염수행 워너크립터랜섬웨어는최초감염시스템에서실행된후다시 SMB 취약점을통해유포를수행하기때문에감염시스 템이증가할우려가있다. (2-1) 악성파일추가생성 워너크립터랜섬웨어는최초실행후시스템에존재하는다음경로중한곳에추가로악성파일을생성한다. 단, 파일생성경로는윈도우버전에따라상이할수있다. 생성하는폴더명의 [Random] 부분은시스템정보를조합하여생성한유니크한값이다. AhnLab, Inc. All rights reserved. 7
- C:\ProgramData\[Random]\tasksche.exe - C:\Intel\[Random]\tasksche.exe - C:\Windows\tasksche.exe - C:\User\( 사용자명 )\AppData\Local\Temp\[Random]\tasksche.exe 2) 감염증상 실제랜섬웨어행위를수행하는것은추가로생성된 tasksche.exe 파일이며, 드로퍼에의해 /i 인자를이용해인스톨 (Install) 모드로실행된다. /i" 인자로최초실행될때 [ 그림 6] 과같이서비스로등록된다. 서비스명은해당파일이존재 하는랜덤한폴더명을사용한다. [ 그림 6] 실제랜섬웨어행위를수행하는 tasksche.exe 파일의서비스등록정보 이후서비스로동작하면서동일한경로에 [ 표 4] 와같은파일을추가로생성하며, 숨김속성을 ( attrib +h. ) 부여한다. 파일명 b.wnry c.wnry f.wnry 파일기능파일암호화후바탕화면으로설정되는이미지파일 tor 관련설정파일 ( 접속 URL, 다운로드 URL) 샘플로복호화할파일목록저장 AhnLab, Inc. All rights reserved. 8
r.wnry s.wnry t.wnry u.wnry taskdl.exe taskse.exe 00000000.pky 00000000.eky readme.txt tor 모듈 ZIP 압축파일암호화된암호화모듈비트코인결재를유도하는 @WanaDecryptor@.exe 프로그램과동일한파일암호화모듈에서사용하는내부프로그램암호화모듈에서사용하는내부프로그램공개키파일암호화된개인키파일 [ 표 4] tasksche.exe 가생성하는파일목록 생성된파일목록은 [ 그림 7] 과같다. [ 그림 7] tasksche.exe 가생성하는파일목록 (2) msg 폴더에는 [ 그림 8] 와같이랜섬노트로출력할 28 개언어의메시지파일을생성한다. AhnLab, Inc. All rights reserved. 9
[ 그림 8] msg 폴더에생성하는언어별랜섬노트파일목록 TaskData 폴더에는 [ 그림 9] 과같이토르 (Tor) 네트워크관련파일을생성한다. 추적을어렵게하기위해온라인상에서 익명을보장하는토르네트워크를이용한것이다. [ 그림 9] TaskData 폴더에생성하는토르 (Tor) 파일 워너크립터는감염된시스템내의 [ 표 5] 의확장자를가진파일을암호화한후, 확장자에.WNCRY 를추가한다..der.pfx.key.crt.csr.p12.pem.odt.ott.sxw.stw.uot.3ds.max.3dm.ods.ots.sxc.stc.dif.slk.wb2.odp.otp.sxd AhnLab, Inc. All rights reserved. 10
.std.uop.odg.otg.sxm.mml.lay.lay6.asc.sqlite3.sqllitedb.sql.accdb.mdb.db.dbf.odb.frm.myd.myi.ibd.mdf.ldf.sln.suo.cs.c.cpp.pas.h.asm.js.cmd.bat.ps1.vbs.vb.pl.dip.dch.sch.brd.jsp.php.asp.rb.java.jar.class.sh.mp3.wav.swf.fla.wmv.mpg.vob.mpeg.asf.avi.mov.mp4.3gp.mkv.3g2.flv.wma.mid.m3u.m4u.djvu.svg.ai.psd.nef.tiff.tif.cgm.raw.gif.png.bmp.jpg.jpeg.vcd.iso.backup.zip.rar.7z.gz.tgz.tar.bak.tbk.bz2.paq.arc.aes.gpg.vmx.vmdk.vdi.sldm.sldx.sti.sxi.602.hwp.snt.onetoc2.dwg.pdf.wk1.wks.123.rtf.csv.txt.vsdx.vsd.edb.eml.msg.ost.pst.potm.potx.ppam.ppsx.ppsm.pps.pot.pptm.pptx.ppt.xltm.xltx.xlc.xlm.xlt.xlw.xlsb.xlsm.xlsx.xls.dotx.dotm.dot.docm.docb docx.doc [ 표 5] 워너크립터감염대상확장자목록 파일을암호화한후바탕화면을 [ 그림 10] 과같이변경하여사용자에게랜섬웨어감염사실을알린다. AhnLab, Inc. All rights reserved. 11
[ 그림 10] 파일암호화후변경하는바탕화면이미지 이후 [ 그림 11] 와같이암호화된파일복구를위해 300 달러상당의비트코인 (Bitcoin) 을요구하는랜섬노트를노출한다. 랜섬노트는 28 개언어로제공된다. [ 그림 11] 한글을지원하는워너크립터랜섬노트 3) 파일암호화및복호화방식 tasksche.exe 파일을이용해암호화모듈인 t.wnry 파일을복호화하고이를자신의메모리에로드하여암호화를진행한 다. 암호화방식은 [ 그림 12] 과같다. AhnLab, Inc. All rights reserved. 12
[ 그림 12] 워너크립터랜섬웨어암호화과정 tasksche.exe 파일에의해복호화되어실행되는 t.wnry 파일내부에공개키 (Public Key A) 존재 파일을암호화하기전에 RSA 공개키 / 개인키 (Private Key) 생성 ( 감염시스템마다다른키생성 ) 공개키 B 는 00000000.pky 파일에저장되며, 이후파일을암호화할때마다해당키를읽어서암호화과정에사용 개인키 B 는공개키 A 에의해암호화되어 00000000.eky 파일에저장됨 파일별로암호화할때마다 AES 키를생성하는데, 이때 AES_128 CBC 방식으로암호화되며이때사용되는키는랜 덤하게생성됨 랜덤한 AES 키를이용하여파일을암호화하고, 랜덤한 AES 키는공개키 B 에의해암호화됨 암호화된 AES 키와파일암호화데이터를시그니처, 사이즈정보와조합하여 원본파일명.WNCRY 파일을생성 이렇게암호화된파일들의구조는 [ 그림 13] 와같다. AhnLab, Inc. All rights reserved. 13
[ 그림 13] 암호화된파일의구조 ( 예시 : t.wnry 파일 ) 암호화된파일들은다음과같은구조로구성되어있다. - WANACRY! 시그니처 - AES 키암호화크기 - AES 키암호화 - Key Size Length - 원본파일 Length - 암호화된파일데이터 한편, 00000000.eky 파일은 [ 그림 14] 와같은구조를갖고있다. AhnLab, Inc. All rights reserved. 14
[ 그림 14] 암호화된개인키파일구조 해당키파일은처음 4 바이트 (Byte) 를제외하고는 RSA 개인키 B 를암호화하여저장한파일이다. 해당파일을복호화하 면암호화된파일에존재하는 AES 키파일을얻을수있으며, 파일복호화에사용할수있다. 암호화된파일의복호화과정은다음과같다. (1) 공격자가갖고있는개인키 A 값을이용하여 00000000.eky 파일에서개인키 B 추출 (2) 개인키 B를이용하여각파일들에암호화되어있는 AES 키획득 (3) AES 키를이용해 [ 그림 14] 의암호화된파일데이터부분에존재하는원본파일에대한복호화진행 현재워너크립터에의해암호화된파일을복호화하기위해서는반드시개인키 A 가필요하다. 개인키 A 는공격자가갖 고있으며, 해당키없이는파일복호화가불가능하다. AhnLab, Inc. All rights reserved. 15
04. 안랩대응현황 현재안랩제품별로아래와같은기능을통해워너크립터랜섬웨어를진단및제거할수있다. 1. V3 제품군 - 워너크립터진단및제거 ( 진단명 : Trojan/Win32.WannaCryptor.xxxxxxxx) - 자동업데이트적용 시최신엔진유지 - 실시간검사기능 사용가능 - MS 윈도우최신보안패치적용 2. AhnLab MDS - 워너크립터행위탐지 (Suspicious/MDP.Behavior, Malware/MDP.Create) - MDS 에이전트의실행보류 (Execution Holding) 기능을이용한해당악성코드의실행보류및분석 / 차단 - MS 윈도우최신보안패치적용 3. AhnLab TrusLine / AhnLab EPS - Lock 모드운영상태 일경우워너크립터가실행되지않음 4. AhnLab Patch Management - 중앙제어에통해 MS 윈도우보안패치적용가능 - 안랩의자체패치랩 (Patch lab) 을통해 2017년 3월및 5월보안패치지원 (* 폐쇄망환경용업데이트완료 ) - 3월보안패치제공 ( 지난 3월적용조치완료 ) - 5월보안패치 (MS 서비스중단 OS의패치지원 : Windows XP/ 8, Windows Server 2003 대상패치 ) - 해당패치적용시시스템재시작필요 5. AhnLab TrusGuard / AhnLab TrusGuard IPX - 이터널블루 (EternalBlue) 취약점및워너크립터행위차단 또한안랩은워너크립터로인한추가피해가발생하지않도록안랩홈페이지를통해 안랩워너크립터사전예방툴 을무료로배포하고있다. 이툴은워너크립터가악용하는보안취약점 (MS17-010) 이시스템에존재하는지확인하고, 악용되는프로토콜 (SMB) 을비활성화하여워너크립터에감염되는것을예방하는프로그램이다. 이외에도 ASEC 블로그, 랜섬웨어보안센터를통해워너크립터분석정보를비롯해최신동향, 대응가이드, 감염예방을위한보안수칙등랜섬웨어와관련된다양한정보를제공하고있다. AhnLab, Inc. All rights reserved. 16