ASEC REPORT VOL.95 2019 년 2 분기 ASEC(AhnLab Security Emergency response Center, 안랩시큐리티대응센터 ) 은악성코드및보안위협으로부터고객을안전하게지키기위하여보안전문가로구성된글로벌보안조직입니다. 이리포트는주식회사안랩의 ASEC에서작성하며, 주요보안위협과이슈에대응하는최신보안기술에대한요약정보를담고있습니다. 더많은정보는안랩닷컴 (www. ahnlab.com) 에서확인하실수있습니다. 2019 년 2 분기보안동향 Table of Contents 보안이슈 SECURITY ISSUE 암호화폐관련안드로이드악성코드유형별분석 04 악성코드상세분석 ANALYSIS-IN-DEPTH 국내기업노리는 Tick 그룹의 USB 이용공격기법 심층분석 20 ASEC REPORT Vol.95 Security Trend 2
보안이슈 SECURITY ISSUE 암호화폐관련안드로이드악성코드 유형별분석
보안이슈 암호화폐관련안드로이드 Security Issue 악성코드유형별분석 지난해부터올해 2019 년 2 분기까지수집된샘플및감염보고건수를토대로집계된통계에따르면, 작 년다소주춤하던암호화폐관련악성코드는올해비트코인이다시상승함에따라증가세로돌아섰다. PC뿐아니라다양한플랫폼에서암호화폐관련악성코드가유포되는가운데, 모바일기기사용자를노린공격자들은안드로이드 (Android) 운영체제를주공격대상으로삼았다. 암호화폐관련안드로이드악성코드는크게 3가지유형으로구분할수있는데, 기기를감염시켜암호화폐를사용자몰래채굴하는크립토재킹 (Cryptojacking), 암호화폐지갑으로위장한페이크월렛 (FakeWallet), 그리고클립보드에서지갑관련정보를가로채거나바꿔치기하는클리퍼 (Clipper) 등이그것이다. 안랩시큐리티대응센터 (AhnLab Security Emergency-response Center, 이하 ASEC) 는이와같이사 용자몰래안드로이드기기를감염시키는암호화폐관련악성코드의공격기법과함께유형별특징을 정리했다. 1. 크립토재킹 (Cryptojacking) 유형 암호화폐 (cryptocurrency) 와납치 (hijacking) 의합성어인크립토재킹유형은공격자가유포한악성코 드를통해사용자몰래모바일기기에서암호화폐를채굴한다음이를가로채는방식을말한다. ASEC REPORT Vol.95 Security Trend 4
[ 그림 1-1] 은 2019 년 4 월까지 ASEC 에서수집한안드로이드크립토재킹악성코드의추이를나타낸그래 프이다. 그림 1-1 안드로이드크립토재킹악성코드추이 [ 그림 1-1] 의증감추이를살펴보면 [ 그림 1-2] 의비트코인시세그래프와밀접한관련을보이고있음 을알수있다. 그림 1-2 비트코인시세변화 (* 출처 : 코인마켓캡, CoinMarketCap) ASEC REPORT Vol.95 Security Trend 5
현재 V3 제품군은이와같은크립토재킹유형의악성코드를 Android-PUP/CoinMiner 등 3 개의진단 명으로탐지하고있다. [ 표 1-1] 은실제게임애플리케이션에삽입된악성코드로내부에는채굴코드를포함하고있다. Label Bug Smasher Package name com.puissantapps.bugsmasher.free MD5 289e8b3d442ba3b6e3826604d35ac37b 표 1-1 악성코드정보 크립토재킹악성코드는사용자의모바일기기를통해암호화폐채굴을수행하므로기기의 CPU 사용 량이급증하여원활한모바일이용환경을저해시킨다. 사용자가해당게임을실행하면 [ 그림 1-3] 과 같이 CPU 사용량이급증하는것을확인할수있다. 그림 1-3 악성코드가포함된게임애플리케이션실행전 / 후의 CPU 사용량 ASEC REPORT Vol.95 Security Trend 6
그러나사용자는실제로기기에서수행되고있는채굴을인지할수없고, [ 그림 1-4] 와같은정상적인 게임애플리케이션으로인식하게된다. 그림 1-4 게임애플리케이션실행화면 이와같은크립토재킹악성코드의채굴방식은크게 native 함수를활용한방식과자바스크립트 API 를 호출하는방식 2 가지로나눌수있다. 1-1) native 함수활용 먼저 native 함수를활용하여채굴하는방식을살펴보자. 크립토재킹악성코드의코드를분석한결과 [ 그림 1-5] 와같이 so 파일의 native 함수를로딩하는부분이있음을확인했다. ASEC REPORT Vol.95 Security Trend 7
그림 1-5 native 함수를로딩하는악성코드 [ 그림 1-6] 의 native 함수에해당하는코드를 so 파일에서확인할수있다. 그림 1-6 native 함수 또한 [ 그림 1-7] 과같이서비스형태로스레드를실행시키기때문에사용자의인지없이실행할수있 다는점이특징적이다. ASEC REPORT Vol.95 Security Trend 8
그림 1-7 서비스형태로스래드를실행 1-2) 자바스크립트 (javascript) API 호출 다음은자바스크립트 API 를호출하여채굴하는방식을살펴보자. 이방식은자바스크립트파일에삽입 된채굴코드를통해 html 페이지에서해당자바스크립트 API 를호출하여채굴을수행하는방식이다. Label MemeGenerator Package name appinventor.ai_ivanlazcano74.memegenerator MD5 0ad90b44460653b48ae06bc5b0e65dd1 표 1-2 악성코드정보 [ 표 1-2] 는특정사진에원하는텍스트를넣어주는애플리케이션에삽입된악성코드정보이다. 그림 1-8 자바스크립트파일을호출하는코드 ASEC REPORT Vol.95 Security Trend 9
내부 html 파일에는 [ 그림 1-8] 과같이자바스크립트파일을불러오는코드가있는데, 해당파일 min. js 는쉽게코드를확인할수없도록난독화되어있다. 난독화를해제하면 [ 그림 1-9] 와같이채굴관련 코드를확인할수있다. 그림 1-9 채굴관련코드 자바스크립트를이용한채굴방식은간편하고작동이용이하기때문에악성코드제작자에게는매 우매력적인방식이다. 실제로현재까지발견된크립토재킹악성코드의대부분이이와같은자바스 크립트를이용한방식을사용한것으로확인됐다. 2. 페이크월렛 (FakeWallet) 유형페이크월렛유형은암호화폐지갑애플리케이션으로위장한악성코드이다. 현재 V3 제품군은이와같은페이크월렛유형의악성코드를 Android-Trojan/FakeWallet의진단명으로탐지하고있으며, 악성코드상세정보는 [ 표 1-3] 과같다. Label BTC Blockchain Wallet Package name com.appybuilder.amal_zaki_meka212.bitcoinwallet MD5 2778b8493e0e71e5aa3cf70e3bb2a3d0 표 1-3 악성코드정보 ASEC REPORT Vol.95 Security Trend 10
해당애플리케이션은지갑주소를생성해주는것처럼보이지만, 서로다른기기에서여러번지갑 을생성해도항상 [ 그림 1-10] 과동일한주소를생성한다. 이는공격자의지갑주소로추정된다. 그림 1-10 해당애플리케이션에서제공하는주소 해당공격자의주소로추정되는지갑주소를추적한결과, [ 그림 1-11] 과같이총 8 번의거래가발 생하였으며, 총수신량은 0.5 BTC 였다. 그러나수신량의대부분이다른주소로빠져나간것으로 확인되었다. 그림 1-11 블록체인닷컴 (blockchain.com) 에서확인한해당주소의거래정보 ASEC REPORT Vol.95 Security Trend 11
또다른종류의페이크월렛악성코드로는가장인기있는 ETH 암호화폐지갑애플리케이션으로 위장한악성코드이다. 악성코드상세정보는 [ 표 1-4] 와같다. Label MyEtherWallet Package name com.myetherwalletproject MD5 3f85490f886755b6e1bdeaa4be1f70a4 표 1-4 악성코드정보 해당악성코드는마이이더월렛 (MyEtherWallet) 의로고를사용하며 [ 그림 1-12] 와같이사용자에 게프라이빗키 (private key) 입력을유도한다. 그림 1-12 마이이더월렛 (MyEtherWallet) 의로고를사용하는해당애플리케이션실행화면 사용자가주소와프라이빗키값을입력한후로그인버튼을누르면 유효하지않은주소 (invalid Address) 라는메시지창이나타나는데, 실제로는 [ 그림 1-13] 과같이 setvalue() 메소드를통해 공격자의파이어베이스 (firebase) 로값이전송된다. ASEC REPORT Vol.95 Security Trend 12
그림 1-13 공격자의파이어베이스로값을전송 [ 그림 1-14] 는 setvalue 로전달되는인자로사용자가입력한주소와프라이빗키값이다. 그림 1-14 setvalue 로전달되는인자 공격자의파이어베이스로추정되는주소는 [ 그림 1-15] 와같이 resources.arsc 에서확인할수있다. 그림 1-15 공격자의파이어베이스 3. 클리퍼 (Clipper) 유형클리퍼유형은클립보드에지갑주소가감지되면해당정보를공격자에게전송하는악성애플리케이션형태로, 클립보드를이용하면복잡한암호화폐주소를직접입력하지않고그대로전송할수있다는점을착안한방식이다. V3 제품군은이와같은클리퍼유형의악성코드를 Android-Trojan/ Clipper의진단명으로탐지하고있으며, 악성코드상세정보는 [ 표 1-5] 와같다. Label Intim Package name clipper.abcchannelmc.ru.clipperreborn MD5 85247d1102958d138462137d61fd901a 표 1-5 악성코드정보 ASEC REPORT Vol.95 Security Trend 13
그림 1-16 클리퍼유형의악성코드 1 해당애플리케이션은아이콘을숨긴후, 사용자가실행시 지원하지않는기기이므로앱을삭제했습니다 (Not supported on your device and deleted) 라는메시지창을띄운다. 즉, 사용자의기기에서애플리케이션이삭제된것처럼오인하게한다음, 실제로는동작하고있는것이다. 이후사용자몰래실행되고있던애플리케이션은클립보드정보를감지한후지갑관련정보라고판단되면해당정보를공격자의서버로전송한다. 그림 1-17 클리퍼유형의악성코드 2 그림 1-18 다양한지갑정보를구분하는코드 ASEC REPORT Vol.95 Security Trend 14
또한 [ 그림 1-18] 과같이암호화폐주소정보의특징을감지하여다양한지갑정보를구분하여정보를전송한다. 예를들면 BTC 주소포맷중 P2PKH는앞자리가 1, P2SH는 3으로시작하고길이는 25~35인데이와같은특성을구분하여 BTC 주소를감지한다. 또한 ETH 주소포맷은 0x로시작하고 40자리의 hex string으로이루어지므로 ETH 주소역시감지가가능하다. 그림 1-19 코드에포함된공격자의서버주소 공격자의서버는 [ 그림 1-19] 의 http://fastfrmt.beget.tech 로확인되었다. 그러나현재해당서버는작동하지않는것으로확인되었다. [ 그림 1-20] 의코드를살펴보면클립보드에서감지된주소를서버로전송하고, 해당암호화폐주소에맞게공격자가원하는암호화폐의지갑주소를응답으로받게된다. 그림 1-20 클립보드에감지된주소를서버로전송 최종적으로전달받은지갑주소는 [ 그림 1-21] 과같이 change() 내부에있는 settext() 를통해공 격자의지갑주소로바꿔치기된다. ASEC REPORT Vol.95 Security Trend 15
그림 1-21 settext() 를통해바꿔치기되는지갑주소 다음 [ 표 1-6] 의악성코드역시유사한방식으로지갑주소를변경한다. Label MetaMask Package name com.lemon.metamask MD5 d26881cb84d71cc062e200f6e74e8e31 표 1-6 악성코드정보 그림 1-22 지갑주소를감지및변경하는코드 [ 그림 1-22] 의코드를살펴보면앞서확인한악성코드와유사한방식으로 BTC 주소포맷과 ETH 주소포맷을감지하는것을확인할수있다. 주소가감지되면 setprimaryclip() 메소드를이용하여클립보드정보를공격자의지갑주소로변경한다. 다만차이점은서버와통신하지않고고정되어있는주소로대체한다는점이다. 코드상의 ETH 주소를분석한결과총 12 번의거래가발생하였으며, [ 그림 1-23] 과같이총수신량은 ASEC REPORT Vol.95 Security Trend 16
4.651 ETH 였음을확인했다. 그러나수신량의대부분이다른주소로빠져나간것으로확인되었다. 그림 1-23 블록체인닷컴 (blockchain.com) 에서확인한해당주소의거래정보 4. 결론최근비트코인의가격이다시상승함에따라암호화폐관련악성코드유입량또한증가하였다. 이처럼암호화폐관련악성코드의증감추이는비트코인시세와밀접한관련이있으므로비트코인시세에따라악성코드증감을미리예측하여이에대응할수있다. 앞서살펴본자바스크립트 API를이용하는크립토재킹유형의악성코드는제작및유지에대한진입장벽이여타방식에비해낮아공격자들이주로사용하는방식이다. 특히간편하게암호화폐를채굴할수있는코인하이브 (coinhive) API를이용한악성코드가크립토재킹유형에서주로발견되었다. 현재는코인하이브의서비스가종료되었지만대체서비스인코인IMP(CoinIMP) 와크립토루트 (Crypto-Loot) 등의 API를이용한악성코드가제작되었을가능성이있으므로, 해당서비스와관련된 API가발견된경우주의해야한다. ASEC REPORT Vol.95 Security Trend 17
또한페이크월렛이나클리퍼유형과같이정해져있는공격자의지갑주소를공격에이용하는경우, 해당주소들을 IOC 로활용할수있다. 그외공격자의도메인등전통적으로이용되는여러정보들 역시 IOC 로활용할수있다. 한편, 애플리케이션을다운로드할때는공식마켓을이용하는것이바람직하다. 그러나최근안드로 이드공식마켓인구글플레이 (GooglePlay) 를통한악성앱유포가종종발생하고있는만큼평판이 나순위변동사유등을살펴보는등사용자들의적극적인피해예방노력이요구된다. 5. 참고문헌 (Reference) https://coinmarketcap.com/currencies/bitcoin : BTC price graph https://coinhive.com/blog/en/discontinuation-of-coinhive : Coinhive blog page. Declaration of official shutdown https://blockchain.com : Provide cryptocurrency transaction information https://badpackets.net/how-to-find-cryptojacking-malware/ : Services frequently used in cryptojacking https://en.bitcoin.it/wiki/address : BTC address format ASEC REPORT Vol.95 Security Trend 18
악성코드 상세분석 ANALYSIS-IN-DEPTH 국내기업노리는 Tick 그룹의 USB 이용공격기법 심층분석
국내기업노리는 악성코드상세분석 Analysis-In-Depth Tick 그룹의 USB 이용 공격기법 심층분석 2008년부터 2019년 2분기인현재까지꾸준히공격을전개해온위협그룹이있다. 일명 틱 (Tick) 그룹으로불리는이그룹은지난 2014년부터본격적인국내활동이포착되었다. 이들은방위산업체를비롯해국방및정치관련기관, 보안, IT, 전자등다양한산업분야를대상으로지속적인공격을수행해왔다. 또한틱 (Tick) 그룹은공격대상의보안취약점등을미리파악하여다양한공격기법및공격도구를보유하고있는것으로알려져있다. 특히국내기업의내부정보유출을목적으로한 Tickusb 공격의경우, 기업에서사용중인보안 USB 플래시드라이브 (USB 메모리 ) 를감염시켜이를악성코드전파경로로이용하는방식을사용한점으로미루어이들은국내 IT 환경및인프라를이미상당한수준으로파악한것으로보인다. 이번보고서에서는국내주요기관및기업을타깃으로 USB 플래시드라이브를이용해정보를탈취하는틱 (Tick) 공격그룹의실제공격사례를중심으로안랩시큐리티대응센터 (AhnLab Security Emergency-response Center, 이하 ASEC) 에서분석한 Tickusb 악성코드의연관관계및공격기법등을면밀히살펴본다. ASEC REPORT Vol.95 Security Trend 20
1. Tickusb 공격동향 Tickusb 는틱 (Tick) 공격그룹이 USB 플래시드라이브를통해국내기업의기밀정보등을유출하려는목적으로제작한악성코드로 2014년봄부터 2017년 11월까지활동이확인되었다. [ 그림 2-1] 은틱공격그룹이사용한 Tickusb 악성코드의전체관계도를나타낸것이다. Tickusb의일부변형은단독파일형태로존재하지만대부분 DLL 파일과 EXE 파일로구성되어있다. 그림 2-1 Tickusb 전체관계도 악성 DLL 파일이실행되면특정경로에로그파일을생성하고 USB 플래시드라이브연결을검사한다. 시스템에 USB 플래시드라이브가연결된경우, 악성 EXE 파일을실행하고추가파일을다운로드하기도한다. 악성 EXE 파일은변형에따라조금씩다른기능을수행하지만일반적으로 USB 플래시드라이브내파일의정보를수집한다. 일부변형은 USB 플래시드라이브내 EXE 파일을변조시킨다. 최종적으로변조된 EXE 파일이있는 USB 플래시드라이브를다른시스템에연결한후해당파일을실행하면해당컴퓨터도 Tickusb에감염된다. [ 그림 2-2] 는 Tickusb 악성코드의변화를나타낸타임라인이다. ASEC REPORT Vol.95 Security Trend 21
그림 2-2 Tickusb 의타임라인 초기버전은 2014년이전에제작된것으로추정되며, 2014년 cryptbase.dll 파일이름을가진변형이등장한다. 2014년 9월에는 USB 플래시드라이브내 EXE 파일을변조시키는변형이제작된다. 2015년에는 DLL 파일과 EXE 파일로구성된변형이새롭게제작되고, 2015년 6월초에는외부도구를이용해시스템에존재하는파일을패치하여악성 DLL을로딩하는방식을사용했다. 2016 년 10월부터 2017년 11월까지는악성 DLL의파일이름을 wincrypt.dll로변경한다. [ 표 2-1] 은 Tickusb 를이용한주요공격사례를시기순으로정리한것이다. 발견시기파일구성내용 2014.3?.exe 2012 년 9 월제작추정. 2018 년 Unit 42 에서분석내용최초공개했으며다른 Tickusb 변형과코드가상당히다른 Tickusb 초기버전으로추정. 2015.4 CRYPTBASE.dll 2014 년 12 월제작추정. DLL 단독형. 시스템정보및 USB Flash Drive 내파일정보수집. 2015.6 BrStMonW.exe, BrWeb.dll, wsmt.exe 브라더 (Brother) 프린터관련 BrStMonW.exe 파일변조해 BrWeb.dll 파일로딩. msupdata.exe 파일다운로드. USB Flash Drive 내 EXE 파일변조와 ALYAC25.exe 파일패치. 2015.6 CRYPTBASE.dll, svcmgr.exe 2015 년 2 월제작추정. 특정보안 USB 연결유무검사. USB Flash Drive 내 EXE 파일 변조와 ALYAC25.exe 파일패치. 2015.7?.dll ( 미확인 ), ctfmon.exe 2014 년 9 월제작추정. USB Flash Drive 내 EXE 파일변조와 ALYAC25.exe 파일패치. 2015.7 CRYPTBASE.dll, svcmgr.exe ( 미확보 ) 2014년 11월제작추정. 2016.10 Wincrypt.dll, wsmt.exe ( 미확보 ) - 2017.01 Wincrypt.dll, wsmt.exe ( 미확보 ) - 2017.11 Wincrypt.dll DLL 단독형. 표 2-1 Tickusb를이용한주요공격사례 ASEC REPORT Vol.95 Security Trend 22
2014 년 3 월에는 Tickusb 의드롭퍼가발견되었다. 생성되는악성코드의빌드날짜가 2012 년 9 월인것으로미루어 2014 년이전부터활동했을가능성이높은것으로추정된다. 이변형은다른 Tickusb 변형과코드가상이하며 Tickusb 의초기버전으로추정된다. 2015년 4월에는 Tickusb의변형인 Cryptbase.dll이발견되었다. 다른 Tickusb 변형과달리 DLL 파일단독형이다. 윈도우정상 CRYPTBASE.dll 파일과동일한익스포트 (Export) 함수를가지고있으며발견된파일경로가 %ProgramFiles%\common files\java\java update\cryptbase.dll 이다. 이에자바관련프로그램이실행될때로딩되었을것으로추정된다. 2015년 6월 1일발생한공격에서는 DLL 파일과 EXE 파일로구성된변형이발견되었다. 공격자는브라더 (Brother) 프린터드라이버파일인 BrSrMonW.exe을패치하여해당파일이실행될때악성 DLL 파일인 BrWeb.dll을로드하도록했다. EXE 파일에는 USB 플래시드라이브에서 EXE 파일을찾아변조시키는기능이추가되었다. 또한감염된시스템에서 Tickusb 악성코드이외에드롭퍼역할을하는시큐어언락 (Secure Unlock) win.exe와다운로더역할을하는비소다운 (Bisodown) 변형및고스트다운 (Ghostdown) 변형등이추가로발견되었다. 2016 년 10 월에는 Tickusb 의변형인 wincrypt.dll(16572393021beea366679e80cc78610c) 이 발견되었으며, 동일한파일이름을가진변형은 2017 년 11 월까지발견되었다. 2. 악성코드분석 Tickusb 악성코드와연관된드롭퍼, 다운로더등이발견되었지만구체적인감염방법은아직확인되지않았다. 하지만발견된드롭퍼를통해변조된설치파일과 Tickusb가감염시킨 USB 플래시드라이브내파일변조코드를비교하여분석한결과, 드롭퍼중일부는 Tickusb가변조한 EXE 파일로확인됐다. 또한공격자는윈도우부팅시 Tickusb 악성코드를자동실행하지않고특정파일 ASEC REPORT Vol.95 Security Trend 23
이실행될때만실행하게한점이특징적인데, 이는사용자에게악성코드발견을어렵게하기위한 목적으로보인다. 공격자가 Tickusb 공격에이용한드롭퍼, 다운로더, 패쳐, 로더를살펴보자. 2-1) 드롭퍼 (Dropper) Tickusb 악성코드는몇가지드롭퍼와연관된것으로확인됐다. 그중하나인 Aya.exe(b76d2b33366c5ec96bc23a717c421f71) 는바둑게임파일로, [ 그림 2-3] 과같이해당게임이실행되면임시폴더에 Tickusb의초기버전 (6f665826f89969f689cba819 d626a85b) 이생성된다. Aya.exe 파일은 2014년 3월안랩에서수집되었으며드롭된파일의빌드시간으로미루어 2014년이전에도활동했을가능성이있는것으로보인다. 그림 2-3 Aya.exe 실행화면 시큐어언락 (Secure Unlock) win.exe 파일 (bb8c83cfd133ab38f767d39605208a75) 은 2015 년 6 월초국내공격에이용된드롭퍼로, 정상프로그램이변조된형태이며해당프로그램이실행 되면임시폴더에 wsktray.exe 파일 (3c6e67fc006818363b7ddade90757a84) 을생성한다. 또한 ASEC REPORT Vol.95 Security Trend 24
파일을생성시파일끝에쓰레기값을추가해 34 메가바이트이상의길이를가진다. 이때생성되 는파일은또다른악성코드를다운로드하는비소다운 (Bisodown) 의변형이다. 또다른드롭퍼인 Portable SecretZone.exe(dbc10f9b99cc03e21c033ea97940a8c2), pndps(v2.11).exe(c865b83a2096642b0de3e2880e63ab0e), NEW_GOMPLAYERSETUP. exe(0a4bec5fc88406d126aa106a7c0aab87) 는동일한비소다운 (Bisodown) 변형파일 (e470 b7538dc075294532d8467b1516f8) 을생성하는데, 이들중 SecretZone.exe와 pndps(v2.11). exe 파일은 Tickusb 변형에의해감염된파일로추정된다. 2-2) 다운로더 (Downloader) 고스트다운 (Ghostdown) Tickusb 악성코드에감염된시스템에서다운로더의역할을하는고스트다운 (Ghostdown) 이확 인되었다. 고스트다운은 2013 년 2 월최초발견된악성코드로 2018 년 2 월까지활동이확인되었으며, 변형악 성코드 (4868fd194f0448c1f43f37c33935547d, 62ee703bbfbd5d77ff4266f9038c3c6c) 또한 발견되었다. 그림 2-4 고스트다운변형악성코드 (4868fd194f0448c1f43f37c33935547d) 의특징적문자열 ASEC REPORT Vol.95 Security Trend 25
[ 그림 2-4] 는고스트다운변형악성코드의특징적인문자열을나타낸것이다. API, 접속주소등의 주요문자열은암호화되어있으며초기버전은접속하는주소와주요문자열이 XOR 0xDF 키로 암호화되어있다. 그림 2-5 암호화된 C&C 문자열해독결과 고스트다운의초기변형은 www.poi.cydisk.net, www.kot.gogoblog.net 등을 C&C 서버로사용했는데이들주소는모두 www.dnserver.com 서비스로생성했다. [ 그림 2-5] 는암호화된 C&C 문자열을해독한결과이다. 이를통해 2016년 Tickusb 감염시스템에서발견된고스트다운변형의 C&C 주소가 www.memsbay.com:443이며, 클라우드서비스를이용했음을확인할수있다. 2-3) 패쳐 (Patcher) - iff.exe 패쳐역할을하는 iff.exe(e84f29c45e4fbbce5d32edbfeec11e3a) 는 EXE 파일을변조하여특정 EXE 파일을실행하거나, 특정 DLL 파일을로드하게한다. Tickusb 감염시스템에서발견된 iff. exe 파일은공격자가시스템에침투한후추가적으로설치한파일로추정된다. 그림 2-6 iff.exe 실행화면 ASEC REPORT Vol.95 Security Trend 26
iff.exe 는 [ 그림 2-6] 과같이파일변조방식, 변조대상파일, 실행할파일이나로드할 DLL 파일을 인자값으로입력받는다. -b 옵션은대상 EXE 파일끝에실행파일을추가하여실행하도록변조하고, -l 옵션은대상 EXE 파일을변조해특정 DLL 파일을로드한다. [ 그림 2-7] 과같이 iff.exe 로변조된 EXE 파일에는감염식별문자열인.texe 이존재한다. 그림 2-7 iff.exe 에의한패치내용 1 또한프로그램시작위치인엔트리포인트 (Entry Point) 에점프명령을변경하여 iff.exe 가추가한 명령이먼저실행되도록한다. 그림 2-8 iff.exe 에의한패치내용 2 ASEC REPORT Vol.95 Security Trend 27
[ 그림 2-9] 의 -b 옵션으로추가된코드는필요한 API(Application Programming Interface) 주소를얻은후, 변조된파일끝에존재하는실행파일로부터로드한내용을 %temp% 폴더에임시파일로생성하여실행한다. iff.exe 파일의실행화면의문구에따르면또다른악성코드를다운로드하는다운로더를추가하기위한목적으로보인다. 그림 2-9 iff.exe b 에의해추가코드 또한변조된파일끝에는 [ 그림 2-10] 과같이 MZ 로실행하는실행파일이추가되어있다. 따라서 파일끝에추가되는파일의길이만큼전체파일길이가증가한다. 그림 2-10 변조된파일끝에존재하는코드 -l 옵션은대상 EXE 파일에서빈영역을찾아지정된 DLL 파일을로드하는코드를덮어쓴다. 따라 서필요한만큼의빈영역이존재하지않으면파일변조가발생하지않으며파일변조가발생해도 ASEC REPORT Vol.95 Security Trend 28
대상 EXE 파일의파일길이변화가없다. 2-4) 로더 (Loader) BrStMonW.exe 공격자는 2015년 6월 1일 iff.exe 파일을이용해브라더 (Brother) 사의프린터프로그램인 BrStMonW.exe 파일 (d536f5f929ddd2472a95f3356f7d835c) 을패치했다. 해당패치를통해로더역할을하는 BrStMonW.exe 파일실행시악성 BrWeb.dll 파일을먼저로드하도록변조했다. 또한 [ 그림 2-11] 과같이엔트리포인트 (Entry Point) 를수정해악성코드가추가한코드주소인 0x004972EF 가먼저실행되도록했다. 그림 2-11 JMP 코드로수정된엔트리포인트 또한가지특징적인점은 BrStMonW.exe 파일의빈영역에임의의코드를덮어쓰기때문에파일 변조후에도파일길이변화가없다는점이다. 수정된 BrStMonW.exe 파일의코드는 [ 그림 2-12] 와같다. ASEC REPORT Vol.95 Security Trend 29
그림 2-12 수정된 BrStMonW.exe iff.exe 에의해추가된코드는 [ 그림 2-13] 과같이특정 DLL(BrWeb.dll) 파일을메모리에로딩한 후실행한다. 그림 2-13 추가된특정 DLL 로딩코드 따라서프린터를사용할때만 Tickusb 악성코드가실행되어사용자가악성코드감염사실을알기 어렵다. iff.exe 와같은패쳐 (Patcher) 를이용하면공격자는시스템내부에침입한후프로그램을선택하여 패치하는과정을통해추가악성코드를실행하도록할수있다. ASEC REPORT Vol.95 Security Trend 30
3. Tickusb 변형분석 Tickusb는보통 DLL 파일과 EXE 파일로구성되어있으며, 일부변형은 DLL 파일이나 EXE 파일의단독파일형태로존재한다. Tickusb의 DLL 파일은시스템에서 USB 플래시드라이브연결을확인하여연결되어있을경우악성 EXE 파일을실행시킨다. 이때실행되는 EXE 파일은 USB 플래시드라이브내실행파일을변조하는등의역할을한다. Tickusb를구성하고있는 DLL 파일과 EXE 파일을상세히살펴보자. 3-1) Tickusb DLL 분석 Tickusb DLL 파일로이용된파일은 BrWeb.dll, CRYPTEBASE.dll, wincrypt.dll 등이다. 이중 CRYPTEBASE.dll 파일은암호관련기능을제공하는윈도우파일이름과동일하다. 뿐만아니라윈도우의 CRYPTBASE.dll과동일한익스포트함수 (Export Function) 를가지고있어암호기능을가진프로그램이실행될때 CRYPTBASE.dll 파일을로딩할수있다. 이에악성 CRYPTBASE. dll을로딩하는프로그램은암호기능을사용할것으로추정된다. Tickusb DLL 파일은로더 (Loader) 역할을하며실행하는로그파일이름, 실행하는 EXE 파일경로, 드라이브종류등의문자열을포함하고있다. [ 그림 2-14] 는 Tickusb DLL 파일의주요문자열이다. 그림 2-14 Tickusb DLL 파일의주요문자열 ASEC REPORT Vol.95 Security Trend 31
2015년 4월발견된 Tickusb DLL인 CRYPTBASE.dll(bcb56ee8b4f8c3f0dfa6740f80cc8502) 은 DLL 파일단독형태로추가 EXE 파일이존재하지않는다. 해당 DLL이실행되면 Credentials.dat 파일을생성하며 TAG 파일 (C:\\WINDOWS\\system32\\CatRoot\\{375EA1F-1CD3-22D3-7602- 00D04ED295CC}\\TAG) 을삭제한후 netstat.exe 등으로시스템정보를수집한다. 추가로프로세스에 VPN_Cliend.exe, IPPEManager.exe이존재하는지확인한다. 2015년 6월발견된 Tickusb DLL인 BrWeb.dll(9b31a5d124621e244cede857300f8aa6) 은브라더 (Brother) 프린터관련파일로위장하여관련경로인 C:\Program Files(x86)\browny02\brother 와 C:\Program Files (x86)\controlcenter4 에존재하는것이확인되었다. [ 그림 2-15] 와같이프린터관련파일인 BrStMon.exe를패치하여해당 EXE 파일이실행될때로드되며, BrWeb.dll 파일이실행되면 Credentials.csv(%USERPROFILE%\AppData\Roaming\Microsoft\Credentials\ Credentials.csv) 에로그파일을생성한다. 그림 2-15 2015 년 6 월에발생한 Tickusb 관계도 ASEC REPORT Vol.95 Security Trend 32
또한뮤텍스 (Mutex) 인 WinsMutexIII 를생성하고 3개의스레드를생성한다. 첫번째스레드 (0x10004774) 는시스템에 USB 플래시드라이브가연결되어있으면 wsmt.exe 파일 (C:\ WINDOWS\System32\migration\WSMT\wsmt.exe) 을실행한다. 두번째스레드 (0x100045cd) 는 basev1.xsd 파일 (C:\Windows\schemas\AvailableNetwork\basev1.xsd) 을읽어들여파인드윈도우 (FindWindow) 를통해특정프로세스를찾는다. basev1.xsd에찾고자하는프로세스리스트를담고있는것으로추정된다. 세번째스레드 (0x100035f0) 는시스템날짜를확인하는데, 월요일과목요일인경우 http://update.saranmall.com/script/main.html에서파일을다운로드하여 MSUPDATA.EXE 파일을생성하고실행한다. msupdata.exe 는틱 (Tick) 공격그룹이다운로더로자주사용하는파일이름이며, 2016 년 10 월이후 에는파일이름을 wincrypt.dll 파일로변경했다. 해당파일이름을가진변형은 2017 년 11 월까지발견 되었다. 3-2) Tickusb EXE 분석 Tickusb EXE 파일은 USB 플래시드라이브내파일목록을수집하거나 EXE 파일을변조시키는기능 을수행하며, cftmon.exe, svcmgr.exe, wsmt.exe 등의파일로확인되었다. 해당 EXE 파일내에는파일감염과관련된문자열, USB 플래시드라이브와관련된로그등의문자열 이포함되어있으며, 주요문자열은 [ 그림 2-16] 과같다. 그림 2-16 Tickusb EXE 파일의주요문자열 ASEC REPORT Vol.95 Security Trend 33
2015 년 6 월발견된 EXE 변형 (29875836605c26f7c78fc91bb2cff95d) 은 USB 플래시드라이브내 파일정보를수집하고 EXE 파일을변조하는기능이추가되었다. EXE 파일이실행되면로그를남기기위해 [ 그림 2-17] 과같은 FlashHistory.dat 파일 (C:\Users\ Default\AppData\Local\Microsoft\Windows\History\ FlashHistory.dat) 을생성한다. 그림 2-17 FlashHistory.dat 의파일감염로그내용 일부변형의경우, USB 플래시드라이브에서 EXE 파일을찾아변조시킨다. 변조할대상 EXE 파일의 끝에특정파일 ( 예를들어 C:\Windows\AppPatch\Custom\Custom64\apihex.dat) 을추가하여 실행하는방식이다. 2012 년에서 2014 년사이에발견된일부 Tickusb 의경우, 국내기업의특정보안 USB 플래시드라이 브가연결되어있을경우해당 USB 드라이브의특정영역에서데이터를읽어실행하는것이확인되 었다. 이와같은공격방식은망분리된기업시스템을공격하기위한목적으로추정된다. 4. Tickusb 변형에의해변조된 EXE 분석 앞서살펴본것과같이일부 Tickusb 변형은 USB 플래시드라이브내 EXE 파일을찾아변조하는악 ASEC REPORT Vol.95 Security Trend 34
성행위를수행한다. 변조된 EXE 파일은엔트리포인트가수정되어특정코드를실행하게되며, 파일 끝에추가된실행파일을실행시킨다. 추가된실행파일은확인되지않았으나, 변조된파일로미루어 해당실행파일은다운로더로추정된다. 그림 2-18 변조된 EXE 드롭퍼역할을하는 Portable SecretZone.exe(dbc10f9b99cc03e21c033ea97940a8c2) 와 pndps(v2.11).exe(c865b83a2096642b0de3e2880e63ab0e) 는동일한다운로더 (e470b7538dc 075294532d8467b1516f8) 를생성한다. 2015 년 6 월발견된 Tickusb 변형은 USB 플래시드라이브에서 EXE 파일을찾아 apihex.dat 파일 (C:\Windows\AppPatch\Custom\Custom64\apihex.dat) 의내용을 EXE 파일끝에추가하여파 일을변조한다. 분석결과, 변조된 EXE 파일에추가된코드와드롭퍼로알려진파일의코드가유사한것으로확인되 었다. 따라서이들파일은드롭퍼가아닌 Tickusb 변형으로부터변조된 EXE 파일로추정된다. [ 그림 2-19] 는두파일의코드를비교하여나타낸것이다. ASEC REPORT Vol.95 Security Trend 35
그림 2-19 드롭퍼로알려진파일과 Tickusb 감염파일코드비교 이외감염식별자또한유사하다. [ 그림 2-20] 과같이 Tickusb 변형에의해변조된 EXE 파일은특징 적으로.texe 를포함하고있다. 그림 2-20.texe 문자열을포함하고있는 Tickusb 드롭퍼 2014 년 3 월발견된 Tickusb 의초기버전을드롭하는파일 (b76d2b33366c5ec96bc23a717c42 1f71) 은 [ 그림 2-21] 과같이감염식별자로.ext 를포함하고있다. 이에해당파일또한드롭퍼가 아닌 Tickusb 변형에의해변형된파일일가능성이높은것으로추정된다. 그림 2-21.ext 문자열을포함하고있는초기 Tickusb 드롭퍼 ASEC REPORT Vol.95 Security Trend 36
5. 추가설치파일분석 Tickusb 악성코드에감염된시스템에서키로거 (Keylogger), ARP 스푸퍼 (ARPSpoofer), 포트스캐너 (Port Scanner), 미미카츠 (Mimikatz) 등이추가발견되었다. Tickusb 공격에이용된이들추가설치파일을살펴보자. 5-1) 키로거 (Keylogger) Type C Tickusb 감염시스템중일부에서키로거가발견되었다. 2017 년 4 월부터 2018 년 2 월까지발견된 해당키로거는주로 apphelp.dll, linkinfo.dll, netutils.dll 등의파일이름을사용했다. 키로거에사용된주요문자열은 [ 그림 2-22] 과같으며, 사용자가입력한키내용은 debug.log 등 의파일에저장했다. 그림 2-22 키로거주요문자열 5-2) ARP 스푸퍼 (ARPSpoofer) hwp70.exe 공격자는한컴한글프로그램관련파일로위장하여공격을수행했다. Tickusb에감염된시스템의한컴한글폴더 (C:\HNC\Hwp70) 에서악성 EXE 파일인 hwp70.exe(026ae46934eca5862db4 dfc8c88c720a) 가발견되었다. ASEC REPORT Vol.95 Security Trend 37
ARP 스푸핑 (ARPSpoofing) 을발생시키는하이잭 (hijack) 은내부다른시스템을감염시키기위 한목적으로추정되며, 실행화면은 [ 그림 2-23] 과같다. 그림 2-23 하이잭 (hijack) 실행화면 5-3) 포트스캐너 (Port Scanner) ScanLine l.dat 공격자는 2016년파운드스톤 (Foundstone) 의포트스캐너인스캔라인 (ScanLine) 을패킹한파일 (a353b591c7598a3ed808980e2b22b2a2) 을공격에이용했다. 다수의시스템에서해당프로그램을사용한것이확인되었으며, 사용된파일이름은 msp.exe, ls.tmp, sl-p.exe 등이다. [ 그림 2-24] 는스캔라인을실행한화면이다. 그림 2-24 ScanLine 실행화면 ASEC REPORT Vol.95 Security Trend 38
5-4) 미미카츠 (Mimikatz) mi.exe, mi2.exe 공격자는감염시스템에미미카츠 (Mimikatz) 변형인 mimi 2.1(3fe76cf644e045b8620d577c2 366630a) 과 mimi 2.1.1(b108df0bd168684f27b6bddea737535e) 버전을사용했다. 파일이름또한틱 (Tick) 공격그룹에서주로사용하는 mi.exe, mi2.exe였다. [ 그림 2-25], [ 그림 2-26] 는각각 mimi 2.1 과 mimi 2.1.1 버전의실행화면이다. 그림 2-25 mimi 2.1 실행화면 그림 2-26 mimi 2.1.1 실행화면 ASEC REPORT Vol.95 Security Trend 39
6. 결론대부분의주요기업과기관에서는망분리된시스템을사용하고있기때문에자칫보안업데이트를간과하거나, 보안규정을소홀하기쉽다. 지난 2008년부터현재까지약 10년간국내주요기관및기업을지속적으로공격하고있는틱 (Tick) 공격그룹은국내 IT 환경의이와같은실정을노려스피어피싱 (Spear Phishing), 워터링홀 (Watering hole) 공격뿐아니라 USB 플래시드라이브내 EXE 파일을변조시켜악성코드를감염시키는등다양한공격기법을이용하여지속적인공격을수행해왔다. 특히이번보고서에서살펴본 Tickusb와같은공격에대비하기위해서는기업내중요시스템에서 USB 플래시드라이브사용을자제하고, USB 플래시드라이브내실행파일을실행하기전해시등을확인하여파일전송과정에서악성코드감염이없었는지확인하는등기업및기관의각별한주의가필요하다. V3 제품군에서는해당 Tickusb 관련악성코드를다음과같은진단명으로탐지하고있다. <V3 제품군진단명 > - HackTool/Win32.Hijack - HackTool/Win32.Mimikatz - HackTool/Win32.Tickpatcher - Trojan/Win32.Agent - Trojan/Win32.Homamdown - Trojan/Win32.Loader - Trojan/Win32.Tickusb ASEC REPORT Vol.95 Security Trend 40
7. IoC (Indicators of Compromise) 대표파일이름 apphelp.dll BrWeb.dll CRYPTBASE.dll igfext.exe linkinfo.dll msupdata.exe svcmgr.exe wincrypt.dll wsmt.exe Hashes (md5) -Downloader : Bisodown 3c6e67fc006818363b7ddade90757a84 e470b7538dc075294532d8467b1516f8 -Downloader : Ghostdown 4868fd194f0448c1f43f37c33935547d 62ee703bbfbd5d77ff4266f9038c3c6c -Tickusb 15e72d83caaf1fe9e72e72b633ec5dfb 16572393021beea366679e80cc78610c ASEC REPORT Vol.95 Security Trend 41
29875836605c26f7c78fc91bb2cff95d 46c9fb12187c08f9da3429c047a41fd8 4aadf927e5c2aa43b90d4b830c331a69 599c4110aed58aa75d2322b4232a6855 6f665826f89969f689cba819d626a85b 9b31a5d124621e244cede857300f8aa6 ad33da0d9507e242eb344b313454cea9 bcb56ee8b4f8c3f0dfa6740f80cc8502 ca99ea5f1ece7430243d8322445d1a1c dfba5e8019be5e400d53afeba83d6d93 -Keylogger 220bf51185cd7ccc0aa64229c434ce1a 27dbf927e85e00f14ee9be56711a5246 7f98ff2b6648bd4fe2fc1503fc56b46d b79ef5a004e26c3d491eca895c59fb86 -Tools 026ae46934eca5862db4dfc8c88c720a 3fe76cf644e045b8620d577c2366630a a353b591c7598a3ed808980e2b22b2a2 b108df0bd168684f27b6bddea737535e e84f29c45e4fbbce5d32edbfeec11e3a ASEC REPORT Vol.95 Security Trend 42
Domains, URLs and IP address 127.0.0.1/jscript/timepill.html pre.englandprevail.com/km/news/index.htm update.saranmall.com/script/main.html www.memsbay.com:443 ASEC REPORT Vol.95 Security Trend 43