Exp4 恶意代码分析
拓展阅读-WannaRen勒索病毒
不会真的有人照着刑法寻财吧?👎
一个比特币没挣着可真的是太惨烈了233333
WannaRen勒索病毒事件概述
近期,一款名为WannaRen的勒索软件备受关注。由于在一段时间内勒索软件的传播来源无法确定,WannaRen造成的事件在中文互联网圈内引发了不小的骚动,以至于有人将其与17年的WannaCry事件相提并论,一时间人人自危。
实际上,本次事件中的WannaRen勒索软件是国产攻击套件中的一部分。该攻击的初始组件借助国内的下载站西西软件园www.cr173.com传播,并通过中介网站img.vim-cn.com下载套件的各个组件,最终在受害者主机上运行。4月5号以来,WannaRen的攻击发生了一些变化。
4月6日,在WannaRen事件成为热点后,攻击者迅速更换了网站上托管的安装脚本。新的安装脚本去除了WannaRen相关程序的下载代码,不再能执行勒索功能。
4月9日以后,安装脚本中的所有组件链接都不再能下载。
4月9日,有消息称作者已交付勒索软件私钥,经验证可用于解密文件。——绿盟科技博客
9日上午,一名火绒用户以解密为由,通过邮件尝试联系“WannaRen”勒索病毒作者获取更多信息。该作者在要求火绒用户支付比特币作为赎金未果后,竟主动提供病毒解密钥匙,并要求该火绒用户将密钥转发给火绒团队,制作“相应解密程序”。
从上述邮件可以看出,该病毒作者在使用英语进行交流后,又使用了中文进行沟通,再加上火绒此前披露该病毒使用易语言编写的情况来看,极有可能为国人所为。
至此,随着事件发酵,各媒体、安全厂商进行了大量的曝光和溯源调查,截止目前,该病毒作者提供的比特币钱包未收到任何赎金,而该作者也已经停止下发、传播“WannaRen”勒索病毒。
——火绒安全论坛
这一次的实验正好做到了恶意代码分析,最近也关注到了这条新闻,本人主机上安装的是火绒安全软件,也偶尔上火绒论坛摸摸鱼,正好看到了火绒的恶意代码分析,结合绿盟科技的博客,这里做一个笔记。
该事件的完整攻击流程如下图:
详细分析(转载自火绒安全论坛)
病毒传播
通过“匿影”病毒传播脚本进行下发。病毒脚本执行后,会下载执行多个恶意模块,其中包括:勒索病毒、挖矿病毒、永恒之蓝漏洞攻击工具。其中,永恒之蓝漏洞攻击模块会在网络内通过漏洞攻击的方式传播恶意代码。
近期,金山毒霸安全团队再次捕获到“匿影”挖矿病毒,此病毒利用白加黑手法,通过NSA泄露工具包,永恒之蓝等漏洞进行横向传播,执行powershell脚本进行挖矿,感染传播,并且释放驱动对抗杀软。此病毒主要挖门罗币和Handshake(hns),通过f2pool矿池进行挖矿。
文件名 功能 Officekms.exe 挖矿程序 WinRing0x64.sys CPU信息检出 Gtt.exe 挖矿,驱动保护 Go.exe 挖矿,驱动保护 Nb.exe 挖矿程序 Office.exe Office.exe
这里的Office.exe就是用来利用永恒之蓝漏洞进行攻击,其下的winlogtrf.exe调用永恒之蓝漏洞扫描器(开源Python版本)进行扫描。攻击成功,则发送payload(x64.dll)。payload则会检测QQ管家,金山毒霸杀软和其它进程信息,如果没有杀软存在,则进行感染传播。
勒索病毒
勒索病毒代码以“白加黑”的形式被调用,匿影病毒传播脚本会将“白加黑”恶意模块(wwlib.dll和WinWord.exe)下载到c:\ProgramData目录执行。病毒运行后,会将C:\ProgramData\WinWord.exe注册为系统服务,电脑重启后即会执行恶意代码,加密用户文件。
真的是资料越找越多,这里还学了个概念:白加黑病毒,和之前学的免杀有联系,我对找到的资料的进行了重点加黑。
白加黑病毒是最近流行于网络上的一种防不胜防的病毒。病毒母体是一个有数字签名的.exe安装文件(白文件),该文件在安装运行时会释放出一个.dll的有毒文件(黑文件),.dll为动态数据连接文件,自身不具备感染和破坏系统的能力,只能通过.exe文件运行时将其激发从而产生感染能力。因为这种病毒母体自身是一个有数字签名的.exe白文件,所以多数杀软报安全;而白文件安装时产生的.dll黑文件自身又不具备感染能力,所以目前所有杀毒软件对于.dll文件都缺乏有效的侦测手段;因此很多杀毒软件都不会报毒。等.dll文件一产生,再进行拦截就难上加难了。
重启后,病毒代码会启动系统程序(svchost.exe、cmd.exe、mmc.exe等)将勒索病毒代码注入到被启动的系统进程中。
该勒索病毒采用对称和非对称(RSA+RC4)加密,除非得到勒索病毒作者的私钥,否则无法进行解密。勒索病毒首先生成随机的RC4密钥,如“p2O6111983YU1L “,并使用这个单一密钥加密所有文件,被加密的文件会被添加.WannaRen后缀。生成密钥后,病毒会导入RSA公钥对随机生成的RC4密钥进行加密,并存储在每个加密文件的头部。
为了使勒索后的电脑可以继续使用,勒索病毒还在加密时会跳过特殊路径。
勒索病毒在加密每个文件夹时会释放勒索说明文档,且完成后会在公用桌面上创建“想解密请看此文本.gif”、“想解密请看此文本.txt“以及一个解密程序” @WannaRen@.exe “
溯源分析
火绒安全发现下载站平台“西西软件园”(www.cr173.com)中也有软件具有相似的匿影恶意脚本传播流程。例如,在“西西软件园”所下载的“Notepad++”软件中,就携带与该勒索病毒传播流程类似的脚本代码。
当软件下载完成后,恶意powershell代码就隐藏在其中,相关代码数据如下图所示:
通过对此段powershell代码解密发现,它最终会下载执行(http://cpu.sslsngyl90.com/vip.txt)中的恶意脚本。将此恶意脚本与之前所获取的勒索病毒利用脚本进行对比后发现,除了不具有“WannaRen”勒索相关模块以外,其余恶意代码基本一致。
火绒安全认为,“我们不排除下载站曾作为WananRen勒索病毒的渠道之一。”
我好像就在这个下载站下载过东西
转载来源:
绿盟科技博客,原文链接:
http://blog.nsfocus.net/wannaren-report-0409/
火绒安全论坛,原文链接:
https://www.huorong.cn/info/1586357607452.html
http://bbs.huorong.cn/thread-68350-1-1.html
https://www.huorong.cn/info/1586325928451.html
http://bbs.huorong.cn/thread-68373-1-1.html
金山毒霸,原文链接:
http://www.ijinshan.com/info/202003201525.shtml
再再再再再次写在前面
我这次实验最后一部分没注意到老师提到只要分析前几个实验用的后门软件,用的是信安概论老师之前给我的“上兴远程控制”。做实验的时候看了很多同学的报告之后把sysinternals和systracer套件明白大概之后就拿来分析了=。=后来遇到些问题,解决了一部分。
实践结果
本部分为各部分的最终记录、遇到的问题和分析,实验过程记录在最后。
系统运行监控
这里有三种方法,前两种是大家都做了的计划任务和sysmon,另一种可以直接使用电脑防护软件提供的功能进行监控。
计划任务
根据schtasks记录12h后的结果分析,比较多的几个连接目的IP都是电信和百度(详细的数据透视图在后面)。
遇到的问题
断电停止记录
解决:修改任务的条件
Sysmon
sysmon部分我用了powershell,觉得比命令行好用很多,比如ls、cd命令和Linux都是通用的。
最初的事件
谷歌浏览器的使用,目的地址为北京电信,这里可以看到很详细的事件性息。
协议为TCP,本地是否为ipv6,源地址名和端口,目的地址和端口、端口名等等
audiodg.exe是系统的音频软件,经过查询有漏洞风险。
RuleName
UtcTime 2020-04-16 16:07:54.688
ProcessGuid {c2e07441-81ad-5e98-0000-00108be4ba2a}
ProcessId 11428
Image C:\Windows\System32\audiodg.exe
经过检查,我的计算机没有异常的事件。
遇到的问题:
Sysmon安装失败
报错1:
PS C:\Users\Peter Don> D:\Sysmon\Sysmon64.exe -i sysmon20174306.xml
System Monitor v10.42 - System activity monitor
Copyright (C) 2014-2019 Mark Russinovich and Thomas Garnier
Sysinternals - www.sysinternals.comLoading configuration file with schema version 10.42
Sysmon schema version: 4.23
Error: Failed to open configuration file sysmon20174306.xml: 系统找不到指定的文件。
可能原因:目录有空格或名称有误
报错2:
PS D:\Sysmon> .\Sysmon64.exe -i sysmon20174306.xml
System Monitor v10.42 - System activity monitor
Copyright (C) 2014-2019 Mark Russinovich and Thomas Garnier
Sysinternals - www.sysinternals.comLoading configuration file with schema version 10.42
Sysmon schema version: 4.23
Error: Incorrect XML configuration: sysmon20174306.xml
Reason: 根据 DTD/架构,元素 'Sysmon' 的上下文中不允许使用文本。
要求: EventFiltering, HashAlgorithms, DriverName, ProcessAccessConfig, CheckRevocation, PipeMonitoringConfig。
原因:xml内容有问题
sysmon安装成功后在事件查看器中找不到。
解决:刷新或重新进入
猜测原因:为了提高事件查看器速度,每次进入查看器,计算机会整体读取一次目录,不进行更新就无法找到新加入的事件。
火绒安全剑分析
我的主机用的是火绒安全,也算是目前市面上比较干净高效的软件,其附带安全分析模块,功能也很强大,比如网络部分就可以比较直观地看到各个程序的联网情况。
同时还有进程和启动项分析,
恶意软件分析
这里运用静态分析和动态分析两种方法对“上兴远程控制”进行一个分析。整个过程比较艰辛,我联系了之前给我这份程序的LDD老师,遇到的问题很多,实在感谢LDD老师😭后来大概是因为不同的后门反复启动,我不得不卸载了原有的两个Windows虚拟机。
静态分析
我第一次在win10系统下尝试生成,然后随着屏幕一阵闪动,原有的“上兴远程控制”文件夹里就剩下说明文档和图标哈哈哈哈,正所谓“出师未捷身先死”23333
上兴的配置画面,有不同的注入方式和启动方式,还可以“定制”程序注入名。由于注入操作我进行了多次,所以下面的分析有可能是针对不同的生成程序,但整体思路是一致的。
之后我就把火绒关了(WindowsDefender上次关了到现在没打开🤦)
把上兴提交到网站上进行了检测,这个后门历史挺悠久的,基本都能被查杀(附录总体报告)
网站显示1992年就出现了,比我还大23333
加壳分析(可能历史太悠久了=。=没识别出来)
反编译分析(这里完全没看懂是最惨的)
依赖项分析(找到了shell32)
动态分析
在本地主机上注入成功后,我尝试了一些功能,比如数据监控、键盘监控等等
Systracer分析
在注入前后、操作前后我进行了三次快照,针对第一次和第二次的快照导出了四份分析报告,这里也主要分析注入前后的差异。
程序方面:
新增服务名称与注入设置相同
由于是克隆虚拟机,在受控端也有服务端的程序,不过没有运行。
注册表方面
注册表有五个一级分支,下面是这五个分支的名称及作用:
名称 | 作用 |
---|---|
HKEY_CLASSES_ROOT | 存储Windows可识别的文件类型的详细列表,以及相关联的程序。 |
HKEY_CURRENT_USER | 存储当前用户设置的信息。 |
HKEY_LOCAL_MACHINE | 包括安装在计算机上的硬件和软件的信息。 |
HKEY_USERS | 包含使用计算机的用户的信息。 |
HKEY_CURRENT_CONFIG | 这个分支包含计算机当前的硬件配置信息。 |
来源:https://www.cnblogs.com/wfq9330/p/9176654.html
根据上述信息,我在HKEY_LOCAL_MACHINE-SOFTWARE-Windows找到了shell
在HKEY_LOCAL_MACHINE-SYSTEM-ConerolSet001-Service找到了WinQvod
注册表的信息如下图
在上兴的配置界面,可以对这些伪装的表述信息进行更改。
我认为这样的一种隐藏在system的操作也是避免杀毒软件的策略之一。
文件方面:新增了两个系统文件
流量分析(本地注入成功,但是没有捕捉到包,可能是我的wireshark设置有问题,在其他没有成功连接的虚拟机上捕捉到了反复的DNS包
还有一些连接包
我查了些资料,找到了更为具体的流量分析
上行数据包统计
下行数据包统计
建立连接时,会产生一个TCP包铭文传递信息
当被远控木马控制时,数据传递为明文执行
netstat -ano 时的数据包
返回的数据包
————————————————
版权声明:本文为CSDN博主「DFMASTER」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/DFMASTER/article/details/90672504
遇到的问题
(未解决)本地注入成功、其他虚拟机注入不成功
可能的原因:DNS寻址有问题,受控端并非没有反应,根据抓包结果,受控端注入后反复在本地网络发布DNS请求。
(已解决)本地注入不成功
这个问题困扰了我一整天,我真的傻了
太窒息了
原因:
1.注入方式有问题,可能由于系统的安全性保护,插入IE和系统进行都不能成功。
2.已经生成的后门程序名称重合,后续的后门无法正常释放受控端程序。
解决办法
1.选择不插入运行
2.使用VMware 的虚拟机快照,还原受控端环境
其实到这里我都要放弃了,某一次瞎点配置,点了受控exe之后低头玩手机,抬头一看成功了,居然成功了?!
我配置好了记录环境之后,开始重复上一次的操作。
由于上述第二点原因,自然无法成功,我越是控制变量越是不可能成功,当我意识到这一点之后,后门序号已经排到了18,真的难以想象这个Windows2003在那么短的时间里究竟承受了多少的折磨=。=
所以我选择虚拟机卸载重装23333
再次感谢LDD老师呜呜呜😭
报告总结和体会
实验总结与体会
=。=下次一定好好看要求,我一直想试试这个上兴的。没想到花这么久😭
这一次的实验也学到很多,特别是后期的分析过程,当我认识到重复命名exe的问题之后茅塞顿开。
通过本次实验,也有了更多的分析手段。
提出的问题
(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
第一步进行同局域网的抓包分析,如果在主机没有人操作时有大量的IP不明的数据报,就可以进一步分析。
第二步断网,安装这次实验用的几个软件进行分析监控。(当然也可以使用新的安全软件进行检查)
- Process Explorer监控进程
- 使用Windows任务计划netstat查看网络连接
- wireshark进行数据流分析
- nmap查看本机端口情况,分析是否存在可疑端口
- sysmon工具查看是否存在未知事件
(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
- virustotal提交分析
- SysTracer快照差异
- PEiD进行外壳检测
- PE explorer查看PE文件头中包含代码信息
还可以在安全论坛上找一找相关信息,比如火绒安全、金山毒霸等等。
实践过程附录
系统运行监控
计划任务
记录结果分析:
Sysmon
恶意软件分析
静态分析
免杀报告信息
VirusTotal Jujubox
Behavior Tags
persistence
runtime-modules
File System Actions
Files Opened
C:\Users<USER>\Downloads\Sx_server.exe
C:\QQMin.exe
C:\Windows\system32\apphelp.dll
\SystemRoot\AppPatch\sysmain.sdb
C:\Windows\system32
C:\Windows\Files Copied
C:\Users<USER>\Downloads\Sx_server.exe
Registry Actions
Registry Keys Opened
HKCU\Software\Borland\Locales
HKCU\Software\Borland\Delphi\Locales
HKLM\SOFTWARE\Microsoft\windows\CurrentVersion\RunRegistry Keys Set
SOFTWARE\Microsoft\windows\CurrentVersion\Run\QQMin
Process And Service ActionsProcesses Created
C:\QQMin.exe
C:\Windows\system32\mstsc.exeProcesses Terminated
C:\Windows\system32\mstsc.exe
C:\QQMin.exe
Sx_server.exeProcesses Tree
2360 - Sx_server.exe
448 - C:\QQMin.exe
568 - C:\Windows\system32\mstsc.exeSynchronization Mechanisms & Signals
Mutexes Opened
2012
Modules Loaded
Runtime Modules
C:\Users<USER>\Downloads\Sx_server.ENU
C:\Users<USER>\Downloads\Sx_server.EN
C:\QQMin.ENU
C:\QQMin.ENHighlighted Actions
Highlighted Text
C:\Windows\system32\cmd.exe