Radamant勒索病毒分析
编程菜鸡初学逆向,被学长推荐了这款病毒作为新手练习工具,经过摸索终于得到此病毒的大致行为流程,与大家分享如下,如有错误虚心向大家请教一、简介
病毒名:Radamant勒索病毒
md5:9b7b16867eeab851d551bfa014166e1a
操作系统:win7
病毒现状:在win7虚拟机上不能直接触发成功,同时怀疑其服务器也已GG
二、病毒流程
1、将病毒扔入IDA pro,反汇编后来到WinMain()主函数界面。病毒首先调用check_my_path(),检查自身程序是否以指定名称在指定目录运行。
2、若不在,则调用copyMeToWin()将自身复制到C:\Users\(当前用户名)\AppData\Roaming目录下并重命名为DirectX.exe,将文件属性设置为隐藏后运行DirectX.exe。
DirectX.exe部分
3、DirectX.exe重新运行,检查路径阶段顺利通过,接下来通过注册表判断是否有其他DirectX.exe在运行,若无则运行UACME绕过用户修改注册表,标记自身为运行状态(这一段存疑,我没大看懂)
4、继续运行,病毒计算得出宿主机的HASH值MY_HASH,并通过宿主机的系统、计算机名等信息计算出其id(md5),同时解密密文domain得到目的服务器之一的域名localband.ws
5、解析服务器域名checkip.dyndns.org,向其发送get请求信息,服务器返回宿主机IP地址(此域名仍可正常访问,且功能未变),将其拆解得到IP后,存在sIP中。若未得到则重复请求,最多循环三次。
6、调用getDomainsFromReg()函数,判断注册表是否有指定注册表项,若无。则发送post请求给服务器(域名localband.ws,仍存在但不知是否易主),服务器返回信息,将最终操控病毒的服务器的域名等信息写入注册表项。(HKEY_CURRENT_USER\Software\Microsoft\id),并再次调用getDomainsFromReg()将其读出存储在domain_list[ ]中
7、 接下来进入病毒主线程:dowork():dowork()首先根据domain_list[ ]中存储的域名将宿主机的id与ip发往操纵者服务器,随后接收来自服务器的指令,并调用exec_command()执行指令。指令种类包括:病毒更新指令、发送宿主信息指令、加密电脑文件指令、解密电脑文件指令,各自对应不同操作(加密等详细过程未分析)
至此病毒主流程结束。现在看来病毒流程确实简单,也没脱壳之类的工作,学长诚不我欺,通过这次分析得到了不少经验,继续努力!PS:编辑时这上面图片好小看不清,但再熬下去室友要杀我了,下次再改吧。新手菜鸡,出现错误求轻喷。 本帖最后由 A-new 于 2019-9-9 18:29 编辑
拖ida里看一下,难道你的没有函数名{:1_909:} 前排前排前排前排 能找到密码算法吗 代码写法极其眼熟,加解密部分似乎使用了我一年前发的代码 KevINBy 发表于 2019-9-10 08:46
能找到密码算法吗
加密部分我没看,因为主要目的是分析它的网络行为,所以只仔细看了他的通信部分:rggrg 感谢分享 感谢分享 靠什么传播呢.是永恒之蓝吗. 是AES加密
页:
[1]