记一次ubuntu虚拟机被挖矿木马攻击的过程

事由:
今天发现虚拟机有点卡,用 top 查看发现2个未知进程占用大量CPU,遂查,发现被挖矿木马攻击了。

定位

使用 top 查看:

top
 96058 root      20   0 5263372  60460    916 S  56.5  1.7  66:34.21 tsm  

查看详细:

 ps aux | grep tsm
root      96052  0.0  0.0  11552    88 ?        S    11:14   0:00 timeout 3h ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
root      96053  0.0  0.0  12512   196 ?        S    11:14   0:00 /bin/bash ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
root      96058 43.7  1.7 5263372 60524 ?       Sl   11:14  66:54 /tmp/.X25-unix/.rsync/c/lib/64/tsm --library-path /tmp/.X25-unix/.rsync/c/lib/64/ /usr/sbin/httpd rsync/c/tsm64 -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
ubuntu   118586  0.0  0.0  11552    84 ?        S    13:22   0:00 timeout 3h ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
ubuntu   118587  0.0  0.0  12512   652 ?        S    13:22   0:00 /bin/bash ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
ubuntu   118592 13.3  1.0 5263336 37160 ?       Sl   13:22   3:15 /tmp/.X25-unix/.rsync/c/lib/64/tsm --library-path /tmp/.X25-unix/.rsync/c/lib/64/ /usr/sbin/httpd rsync/c/tsm64 -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip

查看bash运行的程序:

 ps -ef | grep bash
ubuntu      564    563  0 14:19 ?        00:00:00 /bin/bash ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
root       1196   1195  0 14:19 ?        00:00:00 /bin/bash ./tsm -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
root       5988   5987  0 May18 pts/2    00:00:01 /bin/bash
ubuntu    55500  55499  0 Apr23 pts/2    00:00:00 -bash
ubuntu    75581      1  0 May13 ?        00:00:03 /bin/bash ./go
root     103117      1  0 May03 ?        00:00:04 /bin/bash ./go

注:2个用户均有运行。

定位到/tmp/.X25-unix目录,文件如下:

# ls -la
total 5220
drwxr-xr-x  3 root   root      4096 May  3 23:44 .
drwxrwxrwt 11 root   root      4096 Jun  4 13:40 ..
-rw-r--r--  1 root   root   5332768 May  3 23:43 dota3.tar.gz
drwxr-xr-x  5 ubuntu ubuntu    4096 Apr  9 20:33 .rsync

.rsync目录分析见参考资料。

查看up.txt文件(无意间在tmp目录发现才查看的):

cat /tmp/up.txt
root 123456  // 本机账号和密码

定时任务

查看所有用户的定时任务。

# cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
* */23 * * * /root/.configrc/a/upd>/dev/null 2>&1
@reboot /root/.configrc/a/upd>/dev/null 2>&1
5 8 * * 0 /root/.configrc/b/sync>/dev/null 2>&1
@reboot /root/.configrc/b/sync>/dev/null 2>&1  
0 0 */3 * * /tmp/.X25-unix/.rsync/c/aptitude>/dev/null 2>&1

* */23 * * * /home/ubuntu/.configrc/a/upd>/dev/null 2>&1
@reboot /home/ubuntu/.configrc/a/upd>/dev/null 2>&1
5 8 * * 0 /home/ubuntu/.configrc/b/sync>/dev/null 2>&1
@reboot /home/ubuntu/.configrc/b/sync>/dev/null 2>&1  
0 0 */3 * * /tmp/.X25-unix/.rsync/c/aptitude>/dev/null 2>&1
no crontab for sshd
no crontab for statd
no crontab for mosquitto

2个用户的home目录下均有,/root/.configrc//home/ubuntu/.configrc
使用crontab -l -u rootcrontab -l -u ubuntu确认是否这2个用户。清理:

crontab  -r -u root
crontab  -r -u ubuntu

再执行cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}查看,已无。

干掉进程删除文件

先杀死进程:

kill -9 12889

但立刻又启动了。失败。

删除目录:

# rm .X25-unix/ -rf

停止 bash 启动的程序:

# kill -9 564 1196 75581  103117

再次执行ps -ef | grep bash查看,无异常。
查看 tsm 进程并杀死(此时无 bash 启动的./go信息):

#ps aux | grep tsm
root       1206  0.0  0.2 4320576 7072 ?        Sl   14:19   0:00 /tmp/.X25-unix/.rsync/c/lib/64/tsm --library-path /tmp/.X25-unix/.rsync/c/lib/64/ /tmp/.X25-unix/.rsync/c/tsm64 -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
root       2360  0.0  0.0  14224   956 pts/2    S+   14:23   0:00 grep --color=auto tsm
ubuntu   130134  0.3  0.1 1222452 4608 ?        Sl   14:18   0:01 /tmp/.X25-unix/.rsync/c/lib/64/tsm --library-path /tmp/.X25-unix/.rsync/c/lib/64/ /usr/sbin/httpd rsync/c/tsm64 -t 515 -f 1 -s 12 -S 10 -p 0 -d 1 p ip
# kill -9 1206 130134

再次执行ps aux | grep tsm确认,无异常。过几分钟后再查,无异常。

清理残留

在查看定时任务时,还发现存在/root/.configrc//home/ubuntu/.configrc,查看文件:

# ll
total 24
drwxr-xr-x 4 root root 4096 May  3 23:44 ./
drwx------ 8 root root 4096 May  3 23:44 ../
drwxr-xr-x 2 root root 4096 May  3 23:44 a/
drwxr-xr-x 2 root root 4096 May  3 23:44 b/
-rw-r--r-- 1 root root  251 May  3 23:44 cron.d
-rw-r--r-- 1 root root   16 May  3 23:44 dir2.dir

从上文的dota3.tar.gz文件时间看,是5月3号更新的,与这里保持一致。

删除之:

# rm -rf /root/.configrc/
# rm -rf /home/ubuntu/.configrc

观察/root//home/ubuntu/的隐藏文件目录,暂无异常。

前面查看有dota3.tar.gz压缩包,当前再看看有无

# find / -name "dota3.tar.gz"
/var/tmp/dota3.tar.gz

查看其时间:

ls /var/tmp/dota3.tar.gz -lh
-rwx------ 1 ubuntu ubuntu 5.1M May 13 02:03 /var/tmp/dota3.tar.gz

5月13号凌晨下载的。
删除之:

rm -rf /var/tmp/dota3.tar.gz

清理 ssh

从参考资料知,此攻击是通过弱 ssh 口令登陆系统的,查看2个用户的ssh文件:

# ls /root/.ssh/ -la
total 16
drwx------ 2 root root 4096 May  8 12:49 ./
drwx------ 7 root root 4096 Jun  4 14:33 ../
-rw------- 1 root root  389 May  3 23:44 authorized_keys
-rw-r--r-- 1 root root  222 May  8 12:49 known_hosts

#ls /home/ubuntu/.ssh/ -la
total 16
drwx------  2 ubuntu ubuntu 4096 May 15 23:53 .
drwxr-xr-x 31 ubuntu ubuntu 4096 Jun  4 14:33 ..
-rw-------  1 ubuntu ubuntu  389 May 13 02:24 authorized_keys
-rw-r--r--  1 ubuntu ubuntu  222 May 15 23:53 known_hosts

从时间看,root 用户是5月3号,普通用户是5月13号,应该是当时扫描到弱口令登陆,然后修改 ssh 配置,大概浏览内容,是一样的。
直接把.ssh目录删除:

# rm -rf /root/.ssh
# rm -rf /home/ubuntu/.ssh/

后续

完成上述操作后,重启,重启前再次执行前面的命令确认进程或文件是否还存在。
重启后一切正常。
暂时不改密码,待过几天看看。

其它

观察最近一千条历史命令,未发现异常。
难得一次亲历,把木马的压缩包保存起来,有空再研究,学习一下。

参考:

https://blog.csdn.net/whatday/article/details/103761081
https://cloud.tencent.com/developer/article/1447419
https://blog.csdn.net/yisangwu/article/details/106292958

©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页