星等开发工具包一直很稳定在过去的几个月里他放弃了同样的有效载荷——即Cerber勒索软件——并将目标锁定在亚洲的几个特定国家。奇怪的是,埃克级9月底失踪有一段时间,我们在想,这是不是已经泄气的开发套件场景中的又一个牺牲品。

然而,几天前,里氏EK级再次出现,这次是新的有效载荷。发送的恶意软件也是ransomware而是属于一个以前不为人知的家族。它被命名为Magniber

这个Magniber勒索软件是高度目标,因为它在几个级别检查(外部IP,安装的语言,等等),以确保被攻击的系统只有韩国。针对一个国家本身是不寻常的,但要进行多次检查,以确定该国家和来源语言,这是勒索软件的第一次。

分析样品

老样

分配方法

到目前为止,我们发现这个勒索软件是由星等开发工具包掉落的:

目前还不知道其他的分发方法。

行为分析

如果恶意软件在非韩国系统上执行,我们唯一能看到的是删除操作本身,通过运行ping命令来延迟:

它只对发现韩国语的系统进行恶意操作。可执行文件非常嘈杂,因为它只通过命令行实现各种任务。在沙箱上运行它,我们可以看到下面的调用图:

恶意软件在%TEMP%中复制自己,并在任务调度程序的帮助下部署自己:

在同一个文件夹里,我们还能看到勒索信和另一个文件。其名称与为特定用户生成的域的部分相同,其扩展名与加密文件的扩展名相同:

每个加密文件都添加了一个扩展名,该扩展名由小型拉丁字符组成,对于特定的Magniber样本来说是不变的。

同样的明文可以产生同样的密文。这意味着每个文件都使用完全相同的密钥进行加密。

下面,我们展示了被Magniber加密之前和之后的BMP样本文件的字节的可视化:

如您所见,加密版本中没有可见的模式;这表明一些强大的算法已经被使用,可能是AES在CBC模式。

在每个加密文件的开头,我们找到一个16个字符长的标识符,该标识符对于特定的Magniber样本是不变的:

在对所有找到的文件进行加密后,勒索软件运行记事本,显示丢失的勒索信息:

这封勒索信是TXT格式的,结构简约。它给出了四个指向受害者页面的备选地址。

给受害者的页面

受害者的页面只有英文。它的模板与Cerber勒索软件使用的模板非常相似(这是这些勒索软件家族之间唯一的相似之处——在内部它们是非常不同的):

网络通信

我们发现内置算法生成的Magniber连接域。被用作CnC的相同域名后来被用于受害者的个人网站(只是它们被用不同的参数调用)。调用url的示例:

http://xat91h3evntk5zb66dr.bankme.date/new1 http://xat91h3evntk5zb66dr.bankme.date/end1

比较勒索通知中的url和相应的运行:

http://xat91h3evntk5zb66dr.bankme.date/EP866p5M93wDS513 http://xat91h3evntk5zb66dr.jobsnot.services/EP866p5M93wDS513 http://xat91h3evntk5zb66dr.carefit.agency/EP866p5M93wDS513 http://xat91h3evntk5zb66dr.hotdisk.world/EP866p5M93wDS513

在执行开始时,勒索软件向以new1(或new0)结尾的URL发送一个请求。在执行结束时,它请求end1(或end0)。这些url的含义将在本文的下一部分中详细解释。

有趣的是,当且仅当受害者的公共IP是韩国人时,服务器会给出有效的响应。否则,响应为空。捕获的初始请求和响应示例(请求是从韩国IP发出的):

在响应中,我们得到一个16个字符长的随机字符串:ce2KPIak3cl6JKm6。新的随机URL只能被请求一次。如果我们尝试重复请求,我们将得到一个空响应。

另一个请求(结束的请求)也提供了一个16个字符长的随机字符串作为响应。但与第一个相反,它对每个请求都做出响应(每次都是不同的随机字符串)。结束请求和响应的示例:

里面的代码

和往常一样,要理解这里到底发生了什么,我们必须更深入地研究代码。

Magniber是由各种包装地穴,解包方法将取决于密码器的特性。你可以在下面的视频中看到当前样品的拆封过程。

击败第一层后,我们得到第二个PE文件:恶意核心。核心不包含任何高级混淆。作者将字符串一个字符一个字符地载入到内存中,使其稍微难以跟上:

执行流程

看看未打包的有效载荷,我们可以清楚地看到为什么它不能在大多数系统上运行。一开始,有一个语言检查(使用API函数GetSystemDefaultUILanguage):

唯一被接受的UI语言是韩国(代码1042).如果检测到任何其他的,样本就会自行删除,不会造成伤害。在最近的Magniber样本中已经添加了这种语言检查,在较早的版本中没有发现,例如aa8f077a5feeb9fa9dcffd3c69724c942d5ce173519c1c9df838804c9444bd30

检查通过后,Magniber会使用一个典型的勒索软件功能。执行步骤概述:

  1. 创建互斥对象
  2. 如果标记文件已被删除,则检查临时文件夹
  3. 删除%TEMP%中自身的副本,并添加计划任务
  4. 查询生成的子域以检索AES密钥(如果检索密钥失败,则加载硬编码的密钥)
  5. 使用选定的扩展名枚举和加密文件
  6. 向CnC报告任务完成情况
  7. 执行显示赎金便条的记事本
  8. 删除自己

攻击是什么?

被Magniber攻击的扩展列表真的很长。它包括文档、源代码文件和许多其他内容。完整的清单如下:

DOCX XLS XLSX PPT PPTX PST OST MSG EM VSD VSDX CSV RTF 123 WKS WK1 PDF DWG ONETOC2 SNT DOCB DOCM点DOTM DOTX XLSM XLSB XLW XLT XLM XLC XLTX XLTM PPTM POT PPPS PPS PPSM PPPSP POTX POTM EDB HWP 602 SXI STI SLDX SLDM VDI VMXGPG AES原CGM NEF PSD的AI SVG的djvu SH类罐的java RB ASP PHP JSP BRD SCH DCH浸VB VBS PS1 JS ASM PAS CPP CS锁SLN LDF MDF IBD MYI MYD FRM ODB DBF分贝MDB ACCDB平方sqlitedb sqlite3的ASC lay6捻毫米SXMOTG总干事办公室UOP STD SXD OTP ODP WB2 SLK DIF STC SXC OTS ODS 3DM最大3DS UOT STW SXW OTT ODT PEM P12 CSR CRT键PFX德1CD CD ARW JPE EQ ADP ODM DBC FRX DB2 DBS PDS PDT DT CF CFU MX EPF kdbx ERF VRPGRS GEO ST PFF MFT EFD RIB MA LWO LWS M3D MB OBJ X3D C4D FBX DGN 4DB 4D 4MP ABS ADN A3D AFT AZH ALF ASK AWDB AZZ BDB BIB BND BOK BTR CDB CKP CLKW CMA CRD DAD DAF DB3 DBK DBT DBV DAF DCB DCT DCX DDDF1 DMO DNC DP1 DQY DSK DSN DTA DTSX DX ECO ECX EMD FCD FIC FID FM5 FO FP3 FP4 FP5 FP7 FZB FZV GDB GWI HDB HIS IB IDC IHX ITDB ITW JTX KDB LGC MAQ MDN MDT MRG MAQ MWN S3MNDF NS2 NS3 NS4 NSF NV2 NYF OCE OQY ORA ORX OWC OWG OYX P96 P97 PAN PDB PDM P3M 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 XDBXLD XLGC ZDB ZDC ZDC CDR CDR CDR3 ABW AGE ANS APT ASE ARY AWP AWP BAS BBS BDP BDR BEN BNA BOC BTD CNM CRW CYI DCA DGS DIZ DNE DOCZ DSV DVI DX EIO EIT EMLX EPP EREC ETF ETX EUC FAQ FB2 FB FCF FDF FDR FDSFDT FDX FDX FEF FFT FLR FODT GTP FRT FWDN FXC GDOC GIO GPN GPN GPN GSD GVH HBK HHT HS HTC HZ IDX II IPF JIS JOE JP1 JRTF KLG KNT KNK KWD LB LT LTL LTX LUE LUF LWP LYT LYX MAN MAPMBOX ME MEL MIN MNT MWP NFO NFO NJX NZB OCR OFT OFT ORT P7S PFS PJT PRT PU PVJ PVJ PU PU PWI PWI PWW PWW QD RAD RT RTD RTX RN运行RZK RZN SAM SCC SCM SCT SCW SAM SDOC SDW SGM SIG SLASLS SMF SMF SSA STY SSA SSA STY SUS SXG选项卡TDF TEX文本THP TLB TM TMV TMX TPC TVJ U3D U3I UNX UOF UPD UTF8 UTXT VCT VNT VW WBK WCF WP6 WP7 WPW WRI WSW WSD WSW WHI WSW WSD WSW 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 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

列表在文件加密函数的开始加载:

一如既往,部分目录获豁免:

:\文档和设置\所有用户\:文档和设置\默认用户\:文档和设置\localservice\:文档和设置\networkservice\ appdata\本地\appdata\locallow\ appdata\漫游\本地设置\公共\音乐\音乐样本\公共\图片\图片样本\公共\视频\视频样本\tor \$recycle.bin美元\ windows。~ bt \ windows美元。~ws \boot \intel \msocache \perflogs \程序文件(x86) \程序文件\程序数据\恢复\回收\回收\系统卷信息\窗口。旧的windows10upgrade \windows \winnt

加密是如何工作的?

Magniber加密文件与AES 128位在CBC模式。它是通过Windows Crypto API实现的。

DGA和受害人的身份

在通常的场景中,恶意软件试图通过查询伪随机子域从CnC检索AES密钥:

伪随机部分是用来唯一识别受害者的。它由以下简单算法生成:

每个字符都基于标记计数,转换为给定的字符集:

数字0或1附加到URL,这取决于样本是否在受控环境中运行(使用时间检查检测)。

正在查询四个域的关键字:

如果它们中的任何一个给出了16字节长的响应,这意味着有效的密钥被复制到缓冲区并进一步使用。否则,它将退回到硬编码键。

默认的AES密钥和IV

有趣的是,每个示例都带有硬编码的AES密钥。但是,如果因为某种原因无法从CnC下载密钥,它只能用作备份(如果公共IP不是来自韩国,也会发生这种情况)。每个样本的密钥都是唯一的。在目前分析的样品中,为S25943n9Gt099y4K:

如果它们中的任何一个给出了16字节长的响应,这意味着有效的密钥,它将被复制到缓冲区并进一步使用。否则,它将退回到硬编码键。

类似地,初始化向量总是在示例中硬编码(但没有下载)。同样的16个字符长的字符串也保存在文件的开头。在目前分析的样品中,它是EP866p5M93wDS513:

该算法

首先,初始化加密上下文。该恶意软件在CryptImportKey, CryptSetKeyParam函数的帮助下导入密钥和初始化向量:

加密文件:

第一次写入将16字节长的字符串存储在文件的开头。然后,文件被一块一块地读取,并使用Windows Crypto API加密。

结论

被分发的是" Magniber "勒索软件而不是" Cerber "软件来自相同的利用工具,接近相同的目标。然而,在内部它与Cerber没有任何共同之处,而且要简单得多。唯一的独特之处在于它对目标国家的挑剔。我们第一次看到各国在不同级别的执行中进行检查。

这个勒索软件家族是最近才出现的,可能还在积极开发中。我们将密切关注其发展,并随时向您通报。

的用户必威平台APP伪的窗户(与实时,反勒索软件部署技术)被保护对Magniber。

附录

https://www.checkmal.com/page/resource/video/?detail=read&idx=676&p=1&pc=20

https://www.bleepingcomputer.com/news/security/goodbye-cerber-hello-magniber-ransomware/

https://gist.github.com/evilsocket/b89df665e6d52446e3e353fc1cc44711magniber_decryptor.exe) -解密通过@evilsocket(仅适用于已知AES密钥的情况—即使用了示例中的默认密钥,或者可以从捕获的流量中提取随机密钥)


这是一篇由Hasherezade撰写的客座文章,他是一个对InfoSec有浓厚兴趣的独立研究员和程序员。她喜欢详细介绍恶意软件,并与社区分享威胁信息。看看她的推特@hasherezade以及她的个人博客:https://hshrzd.wordpress.com