분석 정보/랜섬웨어 분석 정보

[악성코드 분석] CryptXXX 랜섬웨어 주의

TACHYON & ISARC 2016. 6. 7. 11:52

CryptXXX 랜섬웨어 분석 보고서 



 

1. 개요

흔히 많은 사람들은 악성코드는 .exe 파일을 실행하여 감염되는 것으로 알고 있다. 하지만 사람들의 생각과 다르게 .exe 파일 실행이 아니어도 악성코드에 감염되는 방식은 다양하다. 이번 보고서에서는 그 예 중 하나로 .dll 파일형태이며 최근 대형 커뮤니티에 유포되어 문제를 일으킨 랜섬웨어 CryptXXX에 대해 알아보고자 한다.



                                                  

2. 분석 정보

2-1. 파일 정보

구분

내용

파일명

CryptXXX.dll (임의의 파일명)

파일크기

402, 432 Byte

진단명

Ransom/W32.CryptXXX.402432

악성동작

파일 암호화를 통한 Bit-coin 요구








 

2-2. 유포 경로

CryptXXX 는 주로 Angler Exploit Kit 을 통해 전파된다. Angler Exploit Kit 은 취약점을 찾아 악성코드를 다운로드 및 실행 할 수 있게 하는 소프트웨어 킷 이다. Angler Exploit Kit으로 리다이렉트되도록 설정된 손상된 웹서버에 사용자가 접속하면, Angler Exploit Kit 내부 다운로더에 의해 CryptXXX 파일이 다운로드 된다.





[그림 1] CryptXXX 유포방식




2-3. 실행 과정

해당 악성파일은 .dll 파일이기 때문에 파일 특성상 자체 실행이 불가능하다. 따라서 CryptXXX는 기존 rundll32.exe 의 이름을 svchost.exe 로 바꾸어 자신이 다운로드 된 곳으로 복사하며 이후 복사된 svchost.exe 를 통하여 자기자신을 동작시킨다. svchost.exe 는 윈도우 구동에 있어 필수적으로 사용되는 프로세스로 기본적으로 여러 개의 svchost.exe 가 동작하고 있기 때문에 해당 프로세스의 정보를 확인하지 않는 한 사용자가 쉽게 알아차리기 힘들다.




[그림 2] 악성 DLL이 로드 된 svchost.exe 프로세스



[그림 3] 악성 DLL 내의 익스포트(Export) 된 함수를 실행 중인 svchost.exe



3. 악성 동작

3-1. 파일 암호화

해당 랜섬웨어는 각종 파일들을 암호화 하고 기존 파일의 확장자를 “.crypt” 로 변경한다. 또한, 암호화를 수행하는 모든 경로에 “!Recovery_[사용자ID]” 형식의 이름으로 랜섬웨어 관련 안내 텍스트 파일과 html 파일을 드롭 한다.



[그림 4] 랜섬웨어 실행 후 암호화 된 테스트 파일 목록





[그림 5] 암호화 후 생성된 랜섬웨어 안내 텍스트 파일





하기의 목록은 CrytpXXX 가 암호화하는 확장자 목록이다. 다양한 파일의 확장자로 암호화의 대상을 지정하고 있으며 특히 국내에서 주로 쓰이는 한글 파일 포맷(.HWP)도 포함되어 있다.


<!--[if !mso]-->
<!--[endif]-->

.DS .PDT .PE4 .PEF .PEM .PDB .PDD .PDF .PFF .PFI .PFS .PFV .PFX .PGF .PGM .PHM .PHP .PI1 .PI2 .PI3 .PIC .PICT .PIF .PIX .PJPG .PJT .PL .PLT

.PM .PMG .PNGA .PNIM .PNM .PNTG .PNZ .POP .POT .POT .POTX .PP4 .PP5 .PPAMES .PPM .PPS .PPSM .PPSXON .PPT .PPTM .PPTX .PRFR

.PRIVCP .PRIVATE .PRT .PRW .PS .PSD .PSDX .PSE .PSID .PSP .PSPIMAGE .PSW .PTG .PTH .PTX.PU .PVJ .PVM .PVR .PWACO .PWI .PWRM

.PXR.PY .PZ3 .PZA .PZP .PZS .QCOW2 .QDL .QMGE .QPX .QRY .QVD .RA .RAD .RAR .RAS .RAWUM .RCTD .RCU .RDB .RDDS .RDL .RFT .RGB

.RGFA .RIB .RIC .RIFF .RIS .RIX .RLE .RLI .RM .RNG .RPD .RPF .RPT .RRI .RSB .RSD .RSR .3DM .3DS .3G2 .3GP .4DB .4DL .4MP .7Z .A3D .ABM

.ABS .ABW .ACCDB .ACTUM .ADN .ADP .AES .AF2 .AF3 .AFT .AFX .AGIF .AGP .AHD .AI .AIC .AIF .AIM .ALBM .ALF .ANI .ANS .APD .APK .APM

.APNG .APP .APS .APT .APX .ARC .ART .ARW.ASC .ASE .ASF .ASK .ASM .ASP .ASPX .ASW .ASX .ASY .ATY .AVI .AWDB .AWP .AWT .AWW .AZZ

.BAD .BAK .BAY .BBS .BDB .BDP .BDR .BEAN .BIB .BM2 .BMP .BMX .BNA .BND .BOC .BOK .BRD .BRK .BRN .BRT .BSS .BTD .BTI .BTR .BZ2 .C

.C2 .C4 .C4D .CAL .CALS .CAN .CD5 .CDB .CDC .CDG .CDMM .CDMT .CDR .CDR3 .CDR4 .CDR6 .CDT .CER .CF .CFG .CFM .CFU .CGI .CGM

.CIMG .CIN .CIT .CKP .CLASS .CLKW .CMA .CMD .CMX .CNM .CNV .COLZ .CPC .CPD .CPG .CPP .CPS .CPT .CPX .CRD .CRT .CRWL .CRYPT .CS

.CSR .CSS .CSV .CSY .CUE .CV5 .CVG .CVI .CVS .CVX .CWT .CXF .CYI .DAD .DAF .DB .DB3 .DBF .DBK .DBT .DBV .DBX .DCA .DCB .D .DCS .DCT

.DCU .DCX .DDL .DDOC .DDS .DED .DF1 .DG .DGN .DGS .DHS .DIB .DIF .DIP .DIZ .DJV .DJVU .DM3 .DMI .DMO .DNC .DNE .DOC .DOCB

.DOCM .DOCX .DOCZ .DOT .DOTM .DOTX .DP1 .DPP .DPX .DQY .DRW .DRZ .DSK .DSN .DSV .DT .DT2 .DTA .DTD .DTSX .DTW .DVI .DVL

.DWG .DX .DXB .DXF .DXL .ECO .ECW .ECX .EDB .EFD .EGC .EIO .EIP .EIT .EMD .EMF .EML .EMLX .EP .EPF .EPP .EPS .EPSF .EQL .ERF .ERR .ETF

.ETX .EUC .EXR .FAL .FAQ .FAX .FB2 .FB3 .FBL .FBX .FCD .FCF .FDB .FDF .FDR .FDS .FDT .FDX .FDXT .FES .FFT .FH10 .FH11 .FH3 .FH4 .FH5

.FH6 .FH7 .FH8 .FIC .FID .FIF .FIG .FIL .FL .FLA .FLI .FLR .FLV .FM5 .FMV .FODT .FOL .FP3 .FP4 .FP5 .FP7 .FPOS .FPT .FPX .FRM .FRT .FT10 .FT11

.FT7 .FT8 .FT9 .FTN .FWDN .FXC .FXG .FZB .FZV .GADGET .GBK .GBR .GCDP .GDB .GDOC .GED .GEM .GEO .GFB .GGR .GIF .GIH .GIM .GIO

.GLOX .GPD .GPG .GPN .GPX .GRO .GROB .GRS .GSD .GTHR .GTP .GV .GWI .GZ .H .HBK .HDB .HDP .HDR .HHT .HIS .HPG .HPGL .HPI .HPL .HS

.HTC .HTM .HTML .HZ .hwp .I3D .IB .IBD .IBOOKS .ICN .ICON .IDC .IDEA .IDX .IFF .IGT .IGX .IHX .IIL .IIQ .IMD .INDD .INFO .INK .IPF .IPX .ITDB

.ITW .IWI .J2C .J2K .JAR .JAS .JAVA .JB2 .JBMP .JBR .JFIF .JIA .JIS .JKS .JNG .JOE .JP1 .JP2 .JPE .JPEG .JPG .JPG2 .JPS .JPX .JRTF .JS .JSP .JTX .JWL

.JXR .KDB .KDBX .KDC .KDI .KDK .KES .KEY .KIC .KLG .KML .KMZ .KNT .KON .KPG .KWD .LAY .LAY6 .LBM .LBT .LDF .LGC .LIS .LIT .LJP .LMK .LNT

.LP2 .LRC .LST .LTR .LTX .LUA .LUE .LUF .LWO .LWP .LWS .LYT .LYX .M .M3D .M3U .M4A .M4V .MA .MAC .MAN .MAP .MAQ .MAT .MAX ..MB

.MBM .MBOX .MDB .MDF .MDN .MDT ..ME .MEF .MELL .MFD .MFT .MGCB .MGMT .MGMX .MID .MIN .MKV .MMAT .MML .MNG .MNR .MNT

.MOBI .MOS .MOV .MP3 .MP4 .MPA .MPF .MPG .MPO .MRG .MRXS .MS11 .MSG .MSI .MT9 .MUD .MWB .MWP .MXL .MYD .MYI .MYL .NCR

.NCT .NDF .NEF .NFO .NJX .NLM .NOTE .NOW .NRW .NS2 .NS3 .NS4 .NSF .NV2 .NYF .NZB .OBJ .OC3 .OC4 .OC5 .OCE .OCI .OCR .ODB .ODG

.ODM .ODO .ODP .ODS .ODT .OFL .OFT .OMF .OPLC .OQY .A .F .T .X .OTA .OTG .OTI .OTP .OTS .OTT .OVP .OVR .OWC .OWG .OYX .OZB

.OZJ .OZT .P12 .P7S .P96 .P97 .PAGES .PAL .PAN .PANO .PAP .PAQ .PAS .PB .PBM .PC1 .PC2 .PC3 .PCD .PCS .PCT .PCX .RT .RTD .RTF .RTX

.RUN .RW2 .RWL .RZK .RZN .S2MV .S3M .SAF .SAI .SAM .SAVE .SBF .SCAD .SCC .S .SCI .SCM .SCT .SCV .SCW .SDB .SDF .SDM .SDOC .SDW

.SEP .SFC .SFW .SGM .SH .SIG .SITX .SK1 .SK2 .SKM .SLA .SLD .SLDX .SLK .SLN .SLS .SMF .SMIL .SMS .SOB .SPA .SPE .SPH .SPJ .SPP .SPQ .SPR

.SQB .SQL .SQLITE3 .SQLITEDB .SR2 .SRT .SRW .SSA .SSK .ST .STC .STD .STE .STI .STM .STN .STP .STR .STW .STY .SUB .SUMO .SVA .SVF .SVG

.SVGZ .SWF .SXC .SXD .SXG .SXI .SXM .SXW .T2B .TAB .TAR .TB0 .TBK .TBN .TCX .TDF .TDT .TE .TEX .TEXT .TF .TFC .TG4 .TGA .TGZ .THM .THP

.TIF .TIFF .TJP .TLB .TLC ..TM .TM2 .TMD .TMP .TMV .TMX ..TN .TNE .TPC .TPI .TRM .TVJ .TXT .U3D .U3I .UDB .UFO .UFR .UGA .UNX .UOF

.UOP .UOT .UPD .USR .UTF8 .UTXT .V12 .VB .VBR .VBS .VCF .VCT .VCXPROJ .VDA .VDB .VDI .VEC .VFF .VMDK .VML .VMX .VNT .VOB .VPD

.VPE .VRML .VRP .VSD .VSDM .VSDX .VSM .VST .VSTX .VUE .VW .WAV .WB1 .WBC .WBD .WBK .WBM .WBMP .WBZ .WCF .WDB .WDP

.WEBP .WGZ .WI .WKS .WMA .WMDB .WMF .WMV .WN .WP .WP4 .WP5 .WP6 .WP7 .WPA .WPD .WPE .WPG .WPL .WPS .WPT .WPW .WRI

.WSC .WSD .WSF .WSH .WTX .WVL .X3D .X3F .XAR .XCODEPROJ .XDB .XDL .XHTM .XHTML .XLC .XLD .XLF .XLGC .XLM .XLR .XLS .XLSB .XLSM

.XLSX .XLT .XLTM .XLTX .XLW .XML .XPM .XPS .XWP .XY3 .XYP .XYW .YAL .YBK .YML .YSP .YUV .Z3D .ZABW .ZDB .ZDC .ZIF .ZIP .ZIPX .ZW

<!--[if !mso]-->
<!--[endif]-->


[그림 6] 암호화 대상 확장자 목록



3-2. PC 사용 불능 및 자가파일 삭제

CryptXXX 는 파일 암호화를 마치고 일정시간 경과 후 PC 화면 전체를 덮는 랜섬웨어 안내문을 출력한다. 안내문이 출력 된 상태에서는 PC 제어가 불가능하지만 재부팅 이후에 다시 정상적인 사용이 가능하다. 또한, 해당 과정에서 원본 DLL 파일이 삭제된다.


[그림 7] 랜섬웨어 안내문




4. 결론

분석한 CryptXXX 는 취약점을 이용하여 .dll 파일을 동작시키며 Exploit Kit 을 통해 전파된다. 또한, 악성파일 자체가 .dll 파일 인 것과 더불어 svchost.exe 이름의 프로세스를 통해 동작하기 때문에 일반 사용자가 쉽게 알아 차릴 수 없다. 해당 랜섬웨어는 꾸준히 업데이트 되며 현재 CryptXXX 3.0 버전 까지 배포되고 있다. 더욱이 최근에는 한글화 된 버전도 발견되어 국내 사용자도 각별한 주의가 필요하다.


해당 악성코드는 잉카인터넷 안티바이러스 제품 nProtect Anti-Virus Spyware V3.0과 nProtect Anti-Virus/Spyware V4.0에서 진단 및 치료가 가능하다.


(※랜섬웨어 치료는 악성코드를 치료한다는 의미로, 암호화된 대상을 복호화하는 의미는 아닙니다.)


[그림 8] nProtect Anti-Virus/Spyware V4.0 진단 및 치료 화면






[그림 9] nProtect Anti-Virus/Spyware V3.0 진단 및 치료 화면