-
-
[原创]简单分析病毒样本-永恒之蓝WannaCry
-
发表于: 2021-3-1 22:59 6951
-
WannaCry.exe详细分析过程:
1>访问一个指定网站,触发病毒启动
2>启动病毒文件,带参数-m security:
3>病毒释放Taskscke.exe文件,并启动运行资源文件。
4>带参数-m security,启动病毒文件后,Windows Sockets初始化,准备加密容器,两个PE文件存入内存。启动两个线程利用445端口,发起局域网攻击 和 广域网攻击
4.1>网络socket初始化
4.2>申请加密容器CSP
4.3>申请两块内存,存放PE文件,两个PE文件,文件大小分别为0x4060、0xc8a4
4.3>病毒启动后,永恒之蓝会利用445端口,发起局域网攻击 和 广域网攻击
获取本地PC网络信息,IP地址、网络掩码和网关
通过wireshark抓包截图:
5>tasksche.exe /i 运行:
5.1>创建目录,在c:\programdata\随机字符串
5.2>copy病毒文件,到新的目录下
5.3>抽取压缩文件,特征码:PK
5.4>创建服务,以服务方式启动病毒程序。执行目录为c:\programdata\随机字符串\taskche.exe。
并且创建Mutex互斥体,防止多开
5.5>创建注册表条目\HKEY_LOCAL_MACHINE\SOFTWARE\WanaCrypt0r,键值对:wd:C:\ProgramData\znemvazsnwpqy217
5.6>解压资源,解压密码为:Wncry@2ol7
5.7>读写文件 c.wnry,存放钱包地址相关信息
5.8>设置c:\programdata\随机字符串目录,隐藏属性
5.9>添加权限,执行命令:icacls . /grant Everyone:F /T /C /Q。c:\programdata\随机字符串 目录下,所有文件
5.10>读取t.wnry文件,检查t.wnry文件是否以WANNACRY!开始等特征信息。解密t.wnry文件
5.11>返回一个结构体,第一个PE文件头地址,第二个位置加载dll文件,在0x1000 0000的位置,第三个导出表信息,第三个导出表函数个数。
5.12>遍历dll文件的导出表,找到函数名TaskStart 调用执行。
6> 详细分析TaskStart
6.1>创建互斥体,防止多开
6.2>判断是否是系统权限S-1-5-18 or system
6.3>写入c.wnry文件钱包地址信息
6.4>有管理员权限执行@WanaDecryptor@.exe文件,没有管理员权限执行Taskse.exe提权,再执行@WanaDecryptor@.exe文件
6.5>为tasksche.exe 创建开机启动项
6.6>密钥交换,生成0000000.pky公钥文件和00000000.eky 私钥文件
生成 00000000.res文件,执行多线程回调函数。
7>文件加密操作,获取磁盘信息
7.1>如果是硬盘,遍历硬盘中的文件。在遍历目录和文件中,会进行过滤操作,例如. ..目录,不符合目标的文件等。
7.2> 永恒之蓝会将目标文件放入文件列表中,然后判断文件是否已经被加密,加密过的文件,退出加密操作。如果未被加密过,填充原始文件信息,读取加密原始文件的数据,加密后的数据写入到新文件中
7.3>判断wanddecryptor.exe是否存在,解密文件不存在,将 u.wnry变为wanddecryptor.exe。使用bat创建桌面快捷方式@WanaDecryptor@.exe.lnk
7.4>永恒之蓝还会在不同分区,创建hibsys.WNCRY文档,不停的写入数据,直到磁盘空间耗尽为止。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [原创]CVE-2013-4730 缓冲溢出漏洞研究 6289
- [原创]windows 调试与异常的简单梳理 4632
- 安卓 dex 学习 3409
- [原创]简单分析病毒样本-永恒之蓝WannaCry 6952