Loading
0

直面冥王:最新爆发的C#敲诈木马HadesLocker解读

说回IE程序集,IE程序集资源还包含了一个PE文件:

该PE文件也是一个C#程序集,名为C Lib,IE程序集使用反射技术动态调用 资源中Clib程序集的Pe.Run()。

CLib程序集:
接下来的流程在CLib程序集 上负责执行,上图可以看到,在调用此程序集 时还使用了3个参数,Injection是.net目录 下RegAsm.exe的全路径,parameters为null ,而vfile则是之前解密的Software 程序集的资源数据。

CLib程序集的功能比较单一,首先以 CREATE_SUSPENDED创建RegAsm.exe进程并挂起:

然后使用PeLoader技术,将RegAsm进程 的内存镜像替换为之前解密的software程序集, 然后恢复原RegAsm.exe进程继续执行。
Software程序集:
此时经过了层层的动态load、内存加载技术 ,终于要到了真正加密文件的地方了,按照之前流程所述, 虽然进程是RegAsm.exe,但这时RegAsm.exe的实际内存 其实已经被替换为Software程序集了。
Software程序集首先解密两段局部 变量保存的的二进制数据。第一段数据解密后发现又 是一个程序集,然后反射动态加载该程序集。

因为是从一个局部硬编码 的二进制数据中解密的,所以该程序集不是很大,用Reflector可以 看到该程序集并没有实际的功能,但资源里包含两个字符串,内容是 加密所有文件后,木马生成用来通知用户 支付赎金的文本,包括HTML 与TXT。

第二段数据解密后是木马 将要使用的所有的字符串数据,如赎金支付网址等。
然后,Software程序集从HKEY_CURRENT_USER\Software\Wow6232Node获取hwid和status的 值,如果不存在就创建该注册表项,并计算键值。
status代表当前加密状态,未加密为0,当加密完全盘后置为 1。
hwid代表被感染用户的唯一ID,这个ID很重要 ,用于表明受害者的身份,计算方法如下:先生成 一段GUID,然后把其中的“ -”替换掉,最后 取前0×10个字节,转为大写,就得到了当前用户的ID。
接下来,木马从http://ip-api.com/xml获取当前 的IP信息,以及获取计算机名,账户名等信息。

这些数据都获取到之后,木马会把数据发往服务器ng****tz.ru去 请求加密密钥,请求使用的是HTTP POST的方式, 参数包括之前计算的中招用户唯一ID,账户名,计算机名、 IP地址、国家信息等:
hwid=****&tracking_id=****&usercomputername=****&ip=*.*.*.*&country=CN
如果是在断网状态下,则木马 会不断尝试连接,直到连接成功,因此在断网状态文件不会 立即加密。
服务器接收到POST请求后 返回信息为如下格式:
"[STATUS=ACCEPTED][=][PASSWORD=0KDZX-zjxRf3fFwCc0aB0dpHOJEAKyirVorBCn]"
其中的PASSWORD以“-” 分割为两部分。
第一部分表明加密后的文件的随机后缀名 ,文件后缀名规则为.~HL加上获取到的随机字符,所以本次被加密 文件的后缀名为.~HL0KDZX 。
第二部分为zjxRf3fFwCc0aB0dpHOJEAKyirVorBCn,首先把 字符串根据ascii转换为二进制,然后计算一次SHA512,HASH完 的结果长度为0×40个字节,分为2个 部分,前0×20为Key1,中间0×10个字节为Key2, 两个Key都是接下来的文件 加密算法用到的参数。
接下来开始生成PNG、TXT、HTML三种格式的文件 用于通知用户,文件名规则为README_RECOVER_FILES_加HWID 再加上相应的后缀名。通知内容中, 支付赎金截止日期为系统当前时间加7天,其余一些 信息则简单做一些替换,比如用户当前的HWID、支付赎金的网站等。生成相应的文件内容后, 保存到系统关键目录下, 比如Documents,Pictures目录。
做完以上步骤之后,木马开始加密文件,会被此木马加密的所有 文件后缀名如下:
.contact .dbx .doc .docx .jnt .jpg .mapimail .msg .oab .ods .pdf .pps .ppsm .ppt .pptm .prf .pst .rar .rtf .txt .wab .xls .xlsx .xml .zip .1cd .3ds .3g2 .3gp .7z .7zip .accdb .aoi .asf .asp .aspx .asx .avi .bak .cer .cfg .class .config .css .csv .db .dds .dwg .dxf .flf .flv .html .idx .js .key .kwm .laccdb .ldf .lit .m3u .mbx .md .mdf .mid .mlb .mov .mp3 .mp4 .mpg .obj .odt .pages .php .psd .pwm .rm .safe .sav .save .sql .srt .swf .thm .vob .wav .wma .wmv .xlsb .3dm .aac .ai .arw .c .cdr .cls .cpi .cpp .cs .db3 .docm .dot .dotm .dotx .drw .dxb .eps .fla .flac .fxg .java .m .m4v .max .mdb .pcd .pct .pl .potm .potx .ppam .ppsm .ppsx .pptm .ps .pspima .r3d .rw2 .sldm .sldx .svg .tga .wps .xla .xlam .xlm .xlr .xlsm .xlt .xltm .xltx .xlw .act .adp .al .bkp .blend .cdf .cdx .cgm .cr2 .crt .dac .dbf .dcr .ddd .design .dtd .fdb .fff .fpx .h .iif .indd .jpeg .mos .nd .nsd .nsf .nsg .nsh .odc .odp .oil .pas .pat .pef .pfx .ptx .qbb .qbm .sas7bd .say .st4 .st6 .stc .sxc .sxw .tlg .wad .xlk .aiff .bin .bmp .cmt .dat .dit .edb .flvv .gif .groups .hdd .hpp .log .m2ts .m4p .mkv .mpeg .ndf .nvram .ogg .ost .pab .pdb .pif .png .qed .qcow .qcow2 .rvt .st7 .stm .vbox .vdi .vhd .vhdx .vmdk .vmsd .vmx .vmxf .3fr .3pr .ab4 .accde .accdr .accdt .ach .acr .adb .ads .agdl .ait .apj .asm .awg .back .backup .backup .bank .bay .bdb .bgt .bik .bpw .cdr3 .cdr4 .cdr5 .cdr6 .cdrw .ce1 .ce2 .cib .craw .crw .csh .csl .db_jou .dc2 .dcs .ddoc .ddrw .der .des .dgc .djvu .dng .drf .dxg .eml .erbsql .erf .exf .ffd .fh .fhd .gray .grey .gry .hbk .ibank .ibd .ibz .iiq .incpas .jpe .kc2 .kdbx .kdc .kpdx .lua .mdc .mef .mfw .mmw .mny .moneyw .mrw .myd .ndd .nef .nk2 .nop .nrw .ns2 .ns3 .ns4 .nwb .nx2 .nxl .nyf .odb .odf .odg .odm .orf .otg .oth .otp .ots .ott .p12 .p7b .p7c .pdd .pem .plus_m .plc .pot .pptx .psafe3 .py .qba .qbr .qbw .qbx .qby .raf .rat .raw .rdb .rwl .rwz .s3db .sd0 .sda .sdf .sqlite .sqlite .sqlite .sr2 .srf .srw .st5 .st8 .std .sti .stw .stx .sxd .sxg .sxi .sxm .tex .wallet .wb2 .wpd .x11 .x3f .xis .ycbcra .yuv

分页阅读: 1 2 3
【声明】:8090安全小组门户(https://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。