WanaCry病毒简单分析

1.样本概况
背景
WannaCry(又叫Wanna Decryptor),一种“蠕虫式”的勒索病毒软件,大小3.3MB,由不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播 [1] 。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。

1.1样本信息
病毒名称:Trojan.Ransom.WannaCryptor.H
所属家族:木马/蠕虫/勒索
MD5: 73095B7A1A52AA072DE7DB2DA8FF0496
SHA1: 4D28112AFE26A1F885AF6E2E6C0365E1273F48D3
CRC32: 783B9278

1.2测试环境及工具
WMware+Win7 32位+火绒剑+IDA+OD+PChunter+010Editor+Hash

2.病毒行为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不定期弹出勒索对话框
在这里插入图片描述
更改桌面壁纸
在这里插入图片描述
3.恶意代码具体分析
连接可疑网址
在这里插入图片描述

当_p_argc()大于等于2时,进入服务执行主流程,否则进入病毒执行流程
在这里插入图片描述

1.sub_408000服务主流程
在这里插入图片描述
在这里插入图片描述

ShellCode为X84和X64两个版本,通过010Editor将两个PE文件提取出来
在这里插入图片描述

  通过分析提取的dll发现,创建mssecsvc.exe文件,并将储存在主文件的资源段的一段Payload写入到mssecsvc.exe,随后创建进程触发漏洞。后边分析发现mssecsvc.exe是病毒注册的一个服务,用于自启动感染其它主机

在这里插入图片描述
内网感染:通过GetAdaptersInfo获取本机网卡信息,随机扫描连接内网主机445端口
在这里插入图片描述
外网感染:
在这里插入图片描述
尝试连接外网主机445端口
在这里插入图片描述
2.StarAdd病毒主流程
在这里插入图片描述
病毒创建服务,并伪装自己为“Microsoft Security Center (2.0) Service”
在这里插入图片描述
sub_407CE0
在这里插入图片描述
****第二部分:****根据目录找到tasksche.exe文件继续分析,使用IDA分析taskshe.exe
1.tasksche.exe执行主流程
在这里插入图片描述
2.详细分析
1.获取主机名,判断文件打开参数,如果参数不为/i,直接结束进程
在这里插入图片描述
2.判断c:\ProgramData目录下是否存在intel文件,如果存在,创建一个随机文件
在这里插入图片描述
2.2拷贝文件
在这里插入图片描述
3.以服务的方式启动taskshe.exe,如果失败则以普通的方式启动
在这里插入图片描述
4.创建一个注册表项HKEY_LHKEY_LOCAL_MACHINE\Software\WanaCrypt0r\wd
在这里插入图片描述

5.sub_401DAB释放的病毒文件,为了免杀,资源中的PE文件是加了密的,
会给释放的资源的函数传一个类似key之类的参数过去,参数值为WNcry@2ol7
在这里插入图片描述
在这里插入图片描述

将解密后的文件内容重新写回文件
在这里插入图片描述
6.比特币钱包
在这里插入图片描述
6.2将比特币钱包账号保存在c.wnry文件中
在这里插入图片描述
7.通过打开Windows系统attrib.exe、icacls.exe+命令行参数的形式,设置文件属性,获取文件的完全控制属性
在这里插入图片描述
8.通过GetProcAddress动态获取需要的函数地址
在这里插入图片描述
在这里插入图片描述

会被加密的文件类型
“.doc”".docx"".docb"".docm"".dot"".dotm"".dotx"".xls"".xlsx"".xlsm"
“.xlsb”".xlw"".xlt"".xlm"".xlc"".xltx"".xltm"".ppt"".pptx"".pptm"".pot"
“.pps”".ppsm"".ppsx"".ppam"".potx"".potm"".pst"".ost".".msg"".eml"
“.edb”".vsd"".vsdx"".txt"".csv"".rtf"".123"".wks"".wk1"".pdf"".dwg"
.".onetoc2"".snt"".hwp"".602"".sxi"".sti"".sldx"".sldm"".sldm"".vdi"
“.vmdk”".vmx"".gpg"".aes"".ARC"; “.PAQ”; “.bz2” ; “.tbk” ; “.bak”;
“.tar”; “.tgz” ; “.gz” ; “.7z”; “.rar” ; “.zip” ; “.backup” ; “.iso”; “.vcd”
; “.jpeg” ; “.jpg” ; “.bmp”; “.png”; “.gif” ; “.raw” ; “.cgm” ; “.tif”
; “.tiff” ; “.nef” ; “.psd”; “.ai” ; “.svg” ; “.djvu”; “.m4u” ; ".m3u; “.mid”
; “.wma”; “.flv”; “.3g2”; “.mkv”; “.3gp” ; “.mp4”; “.mov”; “.avi” ; “.asf” ;
“.mpeg” ; “.vob”; “.mpg”; “.wmv” ; “.fla”; “.swf” ; “.wav” ; “.mp3”
; “.sh”; “.class”; “.jar”; “.java”; “.rb” ; “.asp” ; “.php” ; “.jsp” ; “.brd”; “.sch”
; “.dch” ; “.dip”; “.pl”; “.vb”; “.vbs”; “.ps1” ; “.bat”; “.cmd” ; “.js” ; “.asm”
; “.h”; “.pas”; “.cpp” ; “.c”; “.cs” ; “.suo” ; “.sln” ; “.ldf”; “.mdf”; “.ibd”; “.myi”
; “.myd” ; “.frm”; “.odb” ; “.dbf”; “.db”; “.mdb”; “.accdb”; “.sql”; “.sqlitedb”
; “.sqlite3”; “.asc” ; “.lay6”; “.lay” ; “.mml” ; “.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”
8.解密t.wnry文件
在这里插入图片描述
8.2将解密后的数据存储在堆里
在这里插入图片描述
9 1.将解密后的dll动态加载到0x10000000,如果被占用就重定位
2.查找dll导出表,获取TaskStart函数地址,调用TaskStart
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于动态加载的DLL在内存中,为了方便分析,我们使用OD插件将该文件dump出来继续分析

第二部分总结:taskshe.exe主要行为:
1.备份taskche.exe文件到新创建的随机目录中。
2.释放资源中的压缩包中的大量文件,资源中的文件为加密文件,用于免杀。
3.使用windows系统函数用于RSA+AES的方式加解密。
4.动态解密t.wnry,手动加载dll,查找导出表中的taskStart函数,手动调用taskStart。

第三部分
dump.dll分析,程序主流程:
在这里插入图片描述
开辟5个线程
在这里插入图片描述

程序执行详细分析:
在这里插入图片描述
初始化勒索进程,遍历磁盘进行文件加密,写满磁盘等操作。
在这里插入图片描述
sub_10005480,遍历加密文件
在这里插入图片描述
遍历磁盘,加密文件
在这里插入图片描述
第三部分总结
dump.dll的主要行为:
1.创建秘钥文件和资源文件,用于加密。
2.检测是否存在dkey解密用的秘钥文件,如果存在则停止加密。
3.检测磁盘状态,如果磁盘有更新则会跟新的内容加密。
4.启动勒索客户端,设置注册表自启动
5.遍历文件进行指定类型文件的加密

解决方案
1 下载补丁,安装杀软。
2 关闭445,139服务共享端口 。病毒传播使用"永恒之蓝漏洞",通过139和445端口进行局域网和外网的传播,关闭之后可以阻断传播。
3 创建互斥体,由于病毒会检测是否创建互斥体MsWinZonesCacheCounterMutexA,用户可自行创建此互斥体,这样病毒检测到互斥体就不会进行加密操作。

发布了1 篇原创文章 · 获赞 0 · 访问量 30

猜你喜欢

转载自blog.csdn.net/m0_45503137/article/details/105297788