상세 컨텐츠

본문 제목

Trojan.Ransom.MyRansom 악성코드 분석 보고서

악성코드 분석 리포트

by 알약(Alyac) 2017. 11. 24. 09:00

본문


안녕하세요. 이스트시큐리티입니다.


한국을 집중 공격하는 신종 랜섬웨어 ‘Trojan.Ransom.MyRansom’(이하 마이랜섬 랜섬웨어)가 등장하였습니다. 


케르베르(Cerber) 랜섬웨어의 변형으로 매그니튜드 익스플로잇 킷을 통해 광고 사이트에 악성코드를 심어 유포하는 멀버타이징 방식을 사용합니다. 두 단어를 합쳐 매그니베르(Magniber) 라고도 불립니다. 한국어 윈도우 운영체제 환경에서만 파일 암호화를 진행하는 특징이 있으며 암호화되는 파일의 확장자는 ‘hwp’ 문서를 비롯해 800개 이상입니다.


본 분석 보고서에서는 MyRansom 랜섬웨어를 상세 분석 하고자 합니다.



악성코드 상세 분석


40a5312f203f48759cbc1c08f91c499a 분석


1) 시스템 언어 확인

시스템 언어 환경이 한국어를 사용하는 사용자만 대상으로 파일 암호화를 진행합니다. 언어 환경이 한국어가 아닐 경우 현재 프로세스를 종료합니다.


[그림 1] 사용자 시스템 언어 확인


2) 중복 실행 확인

중복실행을 방지하기 위해 Mutex를 사용합니다. Mutex의 이름은 "ihsdj"이며, 중복실행 중이라면 현재 프로세스를 종료하고 중복실행이 아니라면 랜섬웨어 코드를 진행합니다.


[그림 2] 중복실행 확인


3) 파일 생성

%temp% 경로에 [16진수 - 19자].ihsdj 파일을 생성한 후 파일 내용으로 “EP866p5M93wDS513” 문자열을 적어두었습니다. 이 문자열은 추후 파일 암호화시 Initialization Vector 로 사용될 값입니다.


[그림 3] 파일 생성


4) 자가 복제 후 작업 스케줄러 등록

%temp% 경로에 자기 자신을 ihsdj.exe 이름으로 복제한 뒤 윈도우 작업 스케줄러에 랜섬노트 파일과 ihsdj.exe을 등록하여 15분마다 실행하도록 설정합니다.


[그림 4] 윈도우 작업 스케줄러 등록


5) 가상화 확인 후 C&C 접속

해당 랜섬웨어는 4개의 URL을 사용하며 암호화 시작과 끝, 가상화 환경 여부를 확인합니다. 암호화 하기전 URL 파라미터로 “new” 라는 문자열이, 암호화가 완료된 후에는 "end"라는 문자열이 전송 되며 가상머신에서 구동되는지 확인하고, 그 결과를 URL 파라미터에 첨부합니다.


가상머신 확인은 평균적으로 실행에 소요되는 시간을 확인하기 위해 총 10차례 걸쳐 진행하며, 평균 소요 시간이 1,000보다 큰 경우 해당 시스템을 가상머신으로 분류합니다. 가상머신으로 판단한 경우에는 URL 마지막에 숫자 1을 기입하고, 가상머신이 아니라고 판단된 경우에는 숫자 0을 기입합니다. 


URL 정보 

 IP 정보

 URL 파라미터

 가상화 환경체크

bankme.date

jobsnot.services

carefit.agency

hotdisk.world

185.99.2.183

192.71.247.13

51.255.51.208

212.73.150.211

 암호화 시작: new

 암호화 완료: end

 가상화인 경우: 1
 가상화아닌 경우: 0

[표 1] URL 파라미터 정보


[그림 5] C&C 접속

 

[그림 6] 가상화 확인 코드


6) 암호화 대상 파일 검색

암호화 대상은 모든 논리 드라이브를 포함하며, 제외 경로를 제외한 모든 경로이며, 확장자는 “hwp"를 포함한 859개 입니다.


[그림 7] 암호화 대상 검색 코드


암호화 제외 대상 경로 

"\documents and settings\networkservice\"

"\appdata\local\"

"\appdata\locallow\"

"\appdata\roaming\"

"\local settings\"

"\public\music\sample music\"

"\public\pictures\sample pictures\"

"\public\videos\sample videos\"

"\tor browser\"

"\$recycle.bin"

"\$windows.~bt"

"\$windows.~ws"

"\boot"

"\intel"

"\msocache"

"\perflogs"

"\program files (x86)"

"\program files"

"\programdata"

"\recovery"

"\recycled"

"\recycler"

"\system volume information"

"\windows.old"

"\windows10upgrade"

"\windows"

"\winnt"

[표 2] 암호화 제외 대상 경로



암호화 대상 확장자

"doc", "docx", "xls", "xlsx", "ppt", "pptx", "pst", "ost", "msg", "em", "vsd", "vsdx", "csv", "rtf", "123", "wks", "wk1", "pdf", "dwg", "onetoc2", "snt", "docb", "docm", "dot", "dotm", "dotx", "xlsm", "xlsb", "xlw", "xlt", "xlm", "xlc", "xltx", "xltm", "pptm", "pot", "pps", "ppsm", "ppsx", "ppam", "potx", "potm", "edb", "hwp", "602", "sxi", "sti", "sldx", "sldm", "vdi", "vmx", "gpg", "aes", "raw", "cgm", "nef", "psd", "ai", "svg", "djvu", "sh", "class", "jar", "java", "rb", "asp", "php", "jsp", "brd", "sch", "dch", "dip", "p", "vb", "vbs", "ps1", "js", "asm", "h", "pas", "cpp", "c", "cs", "suo", "sln", "ldf", "mdf", "ibd", "myi", "myd", "frm", "odb", "dbf", "db", "mdb", "accdb", "sq", "sqlitedb", "sqlite3", "asc", "lay6", "lay", "mm", "sxm", "otg", "odg", "uop", "std", "sxd", "otp", "odp", "wb2", "slk", "dif", "stc", "sxc", "ots", "ods", "3dm", "max", "3ds", "uot", "stw", "sxw", "ott", "odt", "pem", "p12", "csr", "crt", "key", "pfx", "der", "1cd", "cd", "arw", "jpe", "eq", "adp", "odm", "dbc", "frx", "db2", "dbs", "pds", "pdt", "dt", "cf", "cfu", "mx", "epf", "kdbx", "erf", "vrp", "grs", "geo", "st", "pff", "mft", "efd", "rib", "ma", "lwo", "lws", "m3d", "mb", "obj", "x", "x3d", "c4d", "fbx", "dgn", "4db", "4d", "4mp", "abs", "adn", "a3d", "aft", "ahd", "alf", "ask", "awdb", "azz", "bdb", "bib", "bnd", "bok", "btr", "cdb", "ckp", "clkw", "cma", "crd", "dad", "daf", "db3", "dbk", "dbt", "dbv", "dbx", "dcb", "dct", "dcx", "dd", "df1", "dmo", "dnc", "dp1", "dqy", "dsk", "dsn", "dta", "dtsx", "dx", "eco", "ecx", "emd", "fcd", "fic", "fid", "fi", "fm5", "fo", "fp3", "fp4", "fp5", "fp7", "fpt", "fzb", "fzv", "gdb", "gwi", "hdb", "his", "ib", "idc", "ihx", "itdb", "itw", "jtx", "kdb", "lgc", "maq", "mdn", "mdt", "mrg", "mud", "mwb", "s3m", "ndf", "ns2", "ns3", "ns4", "nsf", "nv2", "nyf", "oce", "oqy", "ora", "orx", "owc", "owg", "oyx", "p96", "p97", "pan", "pdb", "pdm", "phm", "pnz", "pth", "pwa", "qpx", "qry", "qvd", "rctd", "rdb", "rpd", "rsd", "sbf", "sdb", "sdf", "spq", "sqb", "stp", "str", "tcx", "tdt", "te", "tmd", "trm", "udb", "usr", "v12", "vdb", "vpd", "wdb", "wmdb", "xdb", "xld", "xlgc", "zdb", "zdc", "cdr", "cdr3", "abw", "act", "aim", "ans", "apt", "ase", "aty", "awp", "awt", "aww", "bad", "bbs", "bdp", "bdr", "bean", "bna", "boc", "btd", "cnm", "crw", "cyi", "dca", "dgs", "diz", "dne", "docz", "dsv", "dvi", "dx", "eio", "eit", "emlx", "epp", "err", "etf", "etx", "euc", "faq", "fb2", "fb", "fcf", "fdf", "fdr", "fds", "fdt", "fdx", "fdxt", "fes", "fft", "flr", "fodt", "gtp", "frt", "fwdn", "fxc", "gdoc", "gio", "gpn", "gsd", "gthr", "gv", "hbk", "hht", "hs", "htc", "hz", "idx", "ii", "ipf", "jis", "joe", "jp1", "jrtf", "kes", "klg", "knt", "kon", "kwd", "lbt", "lis", "lit", "lnt", "lp2", "lrc", "lst", "ltr", "ltx", "lue", "luf", "lwp", "lyt", "lyx", "man", "map", "mbox", "me", "mel", "min", "mnt", "mwp", "nfo", "njx", "now", "nzb", "ocr", "odo", "of", "oft", "ort", "p7s", "pfs", "pjt", "prt", "psw", "pu", "pvj", "pvm", "pwi", "pwr", "qd", "rad", "rft", "ris", "rng", "rpt", "rst", "rt", "rtd", "rtx", "run", "rzk", "rzn", "saf", "sam", "scc", "scm", "sct", "scw", "sdm", "sdoc", "sdw", "sgm", "sig", "sla", "sls", "smf", "sms", "ssa", "sty", "sub", "sxg", "tab", "tdf", "tex", "text", "thp", "tlb", "tm", "tmv", "tmx", "tpc", "tvj", "u3d", "u3i", "unx", "uof", "upd", "utf8", "utxt", "vct", "vnt", "vw", "wbk", "wcf", "wgz", "wn", "wp", "wp4", "wp5", "wp6", "wp7", "wpa", "wpd", "wp", "wps", "wpt", "wpw", "wri", "wsc", "wsd", "wsh", "wtx", "xd", "xlf", "xps", "xwp", "xy3", "xyp", "xyw", "ybk", "ym", "zabw", "zw", "abm", "afx", "agif", "agp", "aic", "albm", "apd", "apm", "apng", "aps", "apx", "art", "asw", "bay", "bm2", "bmx", "brk", "brn", "brt", "bss", "bti", "c4", "ca", "cals", "can", "cd5", "cdc", "cdg", "cimg", "cin", "cit", "colz", "cpc", "cpd", "cpg", "cps", "cpx", "cr2", "ct", "dc2", "dcr", "dds", "dgt", "dib", "djv", "dm3", "dmi", "vue", "dpx", "wire", "drz", "dt2", "dtw", "dv", "ecw", "eip", "exr", "fa", "fax", "fpos", "fpx", "g3", "gcdp", "gfb", "gfie", "ggr", "gih", "gim", "spr", "scad", "gpd", "gro", "grob", "hdp", "hdr", "hpi", "i3d", "icn", "icon", "icpr", "iiq", "info", "ipx", "itc2", "iwi", "j", "j2c", "j2k", "jas", "jb2", "jbig", "jbmp", "jbr", "jfif", "jia", "jng", "jp2", "jpg2", "jps", "jpx", "jtf", "jw", "jxr", "kdc", "kdi", "kdk", "kic", "kpg", "lbm", "ljp", "mac", "mbm", "mef", "mnr", "mos", "mpf", "mpo", "mrxs", "my", "ncr", "nct", "nlm", "nrw", "oc3", "oc4", "oc5", "oci", "omf", "oplc", "af2", "af3", "asy", "cdmm", "cdmt", "cdmz", "cdt", "cmx", "cnv", "csy", "cv5", "cvg", "cvi", "cvs", "cvx", "cwt", "cxf", "dcs", "ded", "dhs", "dpp", "drw", "dxb", "dxf", "egc", "emf", "ep", "eps", "epsf", "fh10", "fh11", "fh3", "fh4", "fh5", "fh6", "fh7", "fh8", "fif", "fig", "fmv", "ft10", "ft11", "ft7", "ft8", "ft9", "ftn", "fxg", "gem", "glox", "hpg", "hpg", "hp", "idea", "igt", "igx", "imd", "ink", "lmk", "mgcb", "mgmf", "mgmt", "mt9", "mgmx", "mgtx", "mmat", "mat", "ovp", "ovr", "pcs", "pfv", "plt", "vrm", "pobj", "psid", "rd", "scv", "sk1", "sk2", "ssk", "stn", "svf", "svgz", "tlc", "tne", "ufr", "vbr", "vec", "vm", "vsdm", "vstm", "stm", "vstx", "wpg", "vsm", "xar", "ya", "orf", "ota", "oti", "ozb", "ozj", "ozt", "pa", "pano", "pap", "pbm", "pc1", "pc2", "pc3", "pcd", "pdd", "pe4", "pef", "pfi", "pgf", "pgm", "pi1", "pi2", "pi3", "pic", "pict", "pix", "pjpg", "pm", "pmg", "pni", "pnm", "pntg", "pop", "pp4", "pp5", "ppm", "prw", "psdx", "pse", "psp", "ptg", "ptx", "pvr", "px", "pxr", "pz3", "pza", "pzp", "pzs", "z3d", "qmg", "ras", "rcu", "rgb", "rgf", "ric", "riff", "rix", "rle", "rli", "rpf", "rri", "rs", "rsb", "rsr", "rw2", "rw", "s2mv", "sci", "sep", "sfc", "sfw", "skm", "sld", "sob", "spa", "spe", "sph", "spj", "spp", "sr2", "srw", "wallet", "jpeg", "jpg", "vmdk", "arc", "paq", "bz2", "tbk", "bak", "tar", "tgz", "gz", "7z", "rar", "zip", "backup", "iso", "vcd", "bmp", "png", "gif", "tif", "tiff", "m4u", "m3u", "mid", "wma", "flv", "3g2", "mkv", "3gp", "mp4", "mov", "avi", "asf", "mpeg", "vob", "mpg", "wmv", "fla", "swf", "wav", "mp3"

[표 3] 암호화 대상 확장자


7) 파일 암호화

① 파일 암호화는 AES128를 이용하여 암호화를 하고 암호화가 완료되면 확장자 .ihsdj가 기존 파일명 뒤에 추가됩니다.


암호화 정보

IV

EP866p5M93wDS513

AES 128 Key

 S2C2E71C7K650Pyl

[표 4] 암호화 정보


[그림 8] 파일 암호화 완료 화면


② 암호화가 완료된 폴더에 생성된 READ_ME_FOR_DECRYPT_[16진수-19자] 이름의 랜섬 노트를 보면 사용자 ID와 데이터 복구를 위해 토르 브라우저 설치를 유도합니다.


[그림 9] 랜섬 노트 화면


③ 토르 브라우저를 설치하고 personal page 에 접속하면 아래와 같은 화면이 보이고 데이터 복구를 위한 마이디크립터(My Decryptor) 구매를 요구합니다. 5일 이내 구매할 경우 비트코인 0.200(~$1169 - 한화 130만원)이며, 5일이 지난 후에는 기존 비트코인의 두 배입니다. 참고로 2048KB(2MB) 미만의 1개의 파일을 무료로 복원해 주는 기능을 제공해주고 있습니다. 이는 파일 복호화에 대한 가능성을 높여 비트코인 결제율을 올리기 위한 일종의 전략으로 보입니다.


[그림 10] 토르 브라우저 접속 화면



결론


한국어 윈도우 운영체제 환경에서만 동작하는 특성 때문에 파일 암호화 전 사용자의 PC가 한국어 환경인지 확인한 후, 암호화를 진행합니다. 암호화되는 파일의 확장자는 'hwp'문서를 비롯해 800개 이상입니다. 따라서 한국어 환경 사용자라면 더욱 주의를 기울여야하며 네트워크 연결이 되지 않아도 암호화되기 때문에 보안을 위해 폐쇄망을 사용하는 기업들도 랜섬웨어 공격에 더 큰 주의를 기울여야 합니다.


또한 본 보고서에서 다룬 악성코드 외에도 확장자를 ‘.kgpvwnr’, ‘.lhjjnetmm’로 변경하는 MyRansom 변종이 유포되고 있는 것으로 알려져 추가 피해가 발생할 것으로 보입니다.


랜섬웨어를 사전에 예방하기 위해서는 메일에 첨부된 파일에 대해서 주의해야 하고, 윈도우 보안 업데이트나 컴퓨터에 설치된 애플리케이션을 항상 최신 상태로 유지해야 합니다. 또한 중요한 자료들은 정기적으로 외장 매체에 백업하여 만일에 있을 사태에 대비해야합니다. 








관련글 더보기

댓글 영역