手工清理挖矿病毒案例
第三代亡命徒(Outlaw)木马样本分析
挖矿木马的危害
通常情况下,受害者会认为挖矿木马只是会让操作系统反应迟钝,并不会对自身造成太大的影响,但是挖矿木马除了会让系统卡顿之外,还会降低计算机设备性能和使用寿命,危害企业运营,浪费能源消耗,不仅如此,最重要的是现在的挖矿木马普遍会留置后门,变成攻击者的僵尸网络,以此作为跳板,攻击其他计算机等。所以现在的挖矿木马已经不单单是挖矿这么简单的操作,已经逐步开始利用挖矿木马谋取更多利益。
网络概述
其主要传播途径是SSH暴力破解攻击目标系统写入SSH公钥,以达到长期控制目标系统的目的,同时下载基于Perl脚本语言编写的后门和开源门罗币挖矿木马。采用Perl语言的后门组件可以发动DDoS攻击,利用僵尸网络通过DDoS服务和挖矿程序来获利。例如,2021年7月[7],Outlaw挖矿僵尸网络对大量云主机发起攻击并植入僵尸网络程序,被感染主机中存在大量SSH暴力破解记录,且被植入挖矿程序、写入SSH公钥。
1、查看安全日志信息,
1、查看安装账号
[root@p-96b7-rpde ~]# awk '/6/{print $1}' /etc/shadow
root:VUEK6/jy$isuvoZcZn1TxErsGo96LN1:19468:0:99999:7:::
admin:httOLgOt" | grep "ALL=(ALL)"
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
admin ALL=(ALL) NOPASSWD: ALL
[root@p-96b7-rpde ~]#
2、查看历史命令
[root@p-96b7-rpde ~]# cat .bash_history >>/tmp/historylog.log
3、检查端口
[root@p-96b7-rpde ~]# netstat -antlp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN 6298/./bin/tor tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 11571/sshd tcp 0 0 10.0.2.175:35192 169.254.169.254:16463 ESTABLISHED 1600/ctcss-agentd tcp 0 0 10.0.2.175:15213 45.9.148.234:80 ESTABLISHED 31522/./kswapd0 tcp 0 0 10.0.2.175:43485 169.254.169.254:5661 ESTABLISHED 1600/ctcss-agentd tcp 0 1 10.0.2.175:3509 45.9.148.99:443 SYN_SENT 4182/rsync tcp 0 36 10.0.2.175:22 124.112.76.243:56266 ESTABLISHED 7777/sshd: admin [p tcp6 0 0 :::3306 :::* LISTEN 18524/mysqld [root@p-96b7-rpde ~]#
4、检查进程信息
[root@p-96b7-rpde ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 43548 3804 ? Ss Feb24 1:06 /usr/lib/systemd/systemd --system --des root 2 0.0 0.0 0 0 ? S Feb24 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< Feb24 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S Feb24 0:10 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S Feb24 0:05 [migration/0] root 8 0.0 0.0 0 0 ? S Feb24 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? R Feb24 4:28 [rcu_sched] root 10 0.0 0.0 0 0 ? S< Feb24 0:00 [lru-add-drain] root 11 0.0 0.0 0 0 ? S Feb24 0:16 [watchdog/0] root 12 0.0 0.0 0 0 ? S Feb24 0:14 [watchdog/1] root 13 0.0 0.0 0 0 ? S Feb24 0:05 [migration/1] root 14 0.0 0.0 0 0 ? S Feb24 0:10 [ksoftirqd/1] root 16 0.0 0.0 0 0 ? S< Feb24 0:00 [kworker/1:0H] root 17 0.0 0.0 0 0 ? S Feb24 0:14 [watchdog/2] root 18 0.0 0.0 0 0 ? S Feb24 0:06 [migration/2] root 19 0.0 0.0 0 0 ? S Feb24 0:09 [ksoftirqd/2] root 21 0.0 0.0 0 0 ? S< Feb24 0:00 [kworker/2:0H] root 22 0.0 0.0 0 0 ? S Feb24 0:13 [watchdog/3] root 23 0.0 0.0 0 0 ? S Feb24 0:06 [migration/3] root 24 0.0 0.0 0 0 ? S Feb24 0:13 [ksoftirqd/3] root 26 0.0 0.0 0 0 ? S< Feb24 0:00 [kworker/3:0H] root 28 0.0 0.0 0 0 ? S Feb24 0:00 [kdevtmpfs] root 29 0.0 0.0 0 0 ? S< Feb24 0:00 [netns] root 30 0.0 0.0 0 0 ? S Feb24 0:03 [khungtaskd] root 31 0.0 0.0 0 0 ? S< Feb24 0:00 [writeback] root 32 0.0 0.0 0 0 ? S< Feb24 0:00 [kintegrityd] root 33 0.0 0.0 0 0 ? S< Feb24 0:00 [bioset] root 34 0.0 0.0 0 0 ? S< Feb24 0:00 [bioset] root 35 0.0 0.0 0 0 ? S< Feb24 0:00 [bioset] root 36 0.0 0.0 0 0 ? S< Feb24 0:00 [kblockd] root 37 0.0 0.0 0 0 ? S< Feb24 0:00 [md] root 38 0.0 0.0 0 0 ? S< Feb24 0:00 [edac-poller] root 39 0.0 0.0 0 0 ? S< Feb24 0:00 [watchdogd] root 46 0.0 0.0 0 0 ? S Feb24 0:01 [kswapd0] root 47 0.0 0.0 0 0 ? SN Feb24 0:00 [ksmd] root 49 0.0 0.0 0 0 ? S< Feb24 0:00 [crypto] root 57 0.0 0.0 0 0 ? S< Feb24 0:00 [kthrotld] root 59 0.0 0.0 0 0 ? S< Feb24 0:00 [kmpath_rdacd] root 60 0.0 0.0 0 0 ? S< Feb24 0:00 [kaluad] root 61 0.0 0.0 0 0 ? S< Feb24 0:00 [kpsmoused] root 63 0.0 0.0 0 0 ? S< Feb24 0:00 [ipv6_addrconf] root 77 0.0 0.0 0 0 ? S< Feb24 0:00 [deferwq] root 122 0.0 0.0 0 0 ? S Feb24 0:27 [kauditd] root 247 0.0 0.0 0 0 ? S< Feb24 0:00 [ata_sff] root 264 0.0 0.0 0 0 ? S Feb24 0:00 [scsi_eh_0] root 265 0.0 0.0 0 0 ? S< Feb24 0:00 [scsi_tmf_0] root 266 0.0 0.0 0 0 ? S< Feb24 0:59 [kworker/2:1H] root 267 0.0 0.0 0 0 ? S Feb24 0:00 [scsi_eh_1] root 268 0.0 0.0 0 0 ? S< Feb24 0:00 [scsi_tmf_1] root 269 0.0 0.0 0 0 ? S< Feb24 0:00 [ttm_swap] root 291 0.0 0.0 0 0 ? S< Feb24 0:00 [bioset] root 292 0.0 0.0 0 0 ? S< Feb24 0:00 [xfsalloc] root 293 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs_mru_cache] root 294 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-buf/vda1] root 295 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-data/vda1] root 296 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-conv/vda1] root 297 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-cil/vda1] root 298 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-reclaim/vda] root 299 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-log/vda1] root 300 0.0 0.0 0 0 ? S< Feb24 0:00 [xfs-eofblocks/v] root 301 0.0 0.0 0 0 ? S Feb24 21:17 [xfsaild/vda1] root 302 0.0 0.0 0 0 ? S< Feb24 0:58 [kworker/3:1H] root 388 0.0 0.4 75964 34552 ? Ss Feb24 7:19 /usr/lib/systemd/systemd-journald root 430 0.0 0.0 0 0 ? S< Feb24 0:44 [kworker/0:1H] root 450 0.0 0.0 55532 1080 ? S<sl Feb24 1:29 /sbin/auditd root 536 0.0 0.0 26668 2128 ? Ss Feb24 0:14 /usr/lib/systemd/systemd-logind polkitd 537 0.0 0.1 612356 11364 ? Ssl Feb24 0:09 /usr/lib/polkit-1/polkitd --no-debug root 538 0.0 0.0 0 0 ? S< Feb24 0:00 [nfit] root 552 0.0 0.0 19908 1452 ? Ss Feb24 0:00 /usr/bin/qemu-ga --method=virtio-serial dbus 553 0.0 0.0 58336 2568 ? Ss Feb24 0:26 /usr/bin/dbus-daemon --system --address root 562 0.0 0.0 4388 552 ? Ss Feb24 0:00 /usr/sbin/acpid chrony 564 0.0 0.0 120408 2084 ? S Feb24 0:03 /usr/sbin/chronyd root 633 0.0 0.0 0 0 ? S< Feb24 0:55 [kworker/1:1H] root 694 0.0 0.1 476308 8240 ? Ssl Feb24 1:00 /usr/sbin/NetworkManager --no-daemon root 1073 0.0 0.2 574300 19284 ? Ssl Feb24 6:49 /usr/bin/python2 -Es /usr/sbin/tuned -l root 1088 0.0 0.9 230208 78536 ? Sl Feb24 59:41 /usr/sbin/ctcm_agentd -c /etc/ctcm/ctcm root 1318 0.0 0.0 110208 864 ttyS0 Ss+ Feb24 0:00 /sbin/agetty --keep-baud 115200,38400,9 root 1320 0.0 0.0 99208 2696 ? Ss Feb24 0:00 login -- root root 1600 0.0 0.0 411104 5132 ? Sl Apr14 2:10 /var/ctcss/bin/ctcss-agentd root 1606 0.0 0.1 181272 13904 ? Sl Apr14 0:30 /var/ctcss/bin/eShield-modulesd root 1666 0.0 0.0 115660 2152 tty1 Ss+ Feb24 0:00 -bash root 3963 0.0 0.0 0 0 ? S Apr21 0:00 [kworker/u8:0] root 4182 0.0 0.0 136620 4024 ? S 08:05 0:00 rsync root 4187 0.0 0.0 112324 676 ? S 08:05 0:00 timeout 6h ./blitz -t 515 -f 1 -s 12 -S root 4188 0.0 0.0 113284 1368 ? S 08:05 0:00 /bin/bash ./blitz -t 515 -f 1 -s 12 -S root 4193 0.0 0.0 85172 4944 ? Sl 08:05 0:00 /tmp/.X291-unix/.rsync/c/blitz64 -t 515 root 6298 0.0 0.3 37444 30972 ? S Apr21 0:27 ./bin/tor -f etctor/tor/torrc1 --RunAsD root 7777 0.0 0.0 154816 5460 ? Ss 09:19 0:00 sshd: admin [priv] admin 7779 0.0 0.0 155756 3564 ? R 09:19 0:00 sshd: admin@pts/0 admin 7780 0.0 0.0 115512 2116 pts/0 Ss 09:19 0:00 -bash root 7914 0.0 0.0 214428 4176 pts/0 S 09:20 0:00 sudo su - root 7915 0.0 0.0 193944 2360 pts/0 S 09:20 0:00 su - root 7916 0.0 0.0 115548 2152 pts/0 S 09:20 0:00 -bash root 8502 0.0 0.0 0 0 ? S 09:27 0:00 [kworker/3:1] root 8545 0.0 0.0 0 0 ? S 09:29 0:00 [kworker/0:2] root 9155 0.0 0.0 0 0 ? S 09:33 0:00 [kworker/3:0] root 9281 0.0 0.0 0 0 ? S 09:34 0:00 [kworker/0:0] root 9573 0.0 0.0 0 0 ? S 09:39 0:00 [kworker/0:1] root 9903 0.0 0.0 155476 1868 pts/0 R+ 09:43 0:00 ps aux root 11571 0.0 0.0 112924 4360 ? Ss Feb24 2:24 /usr/sbin/sshd -D root 12036 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-buf/vdb] root 12037 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-data/vdb] root 12038 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-conv/vdb] root 12039 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-cil/vdb] root 12040 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-reclaim/vdb] root 12041 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-log/vdb] root 12042 0.0 0.0 0 0 ? S< Feb28 0:00 [xfs-eofblocks/v] root 12043 0.0 0.0 0 0 ? S Feb28 0:38 [xfsaild/vdb] root 15502 0.0 0.0 113288 1584 ? S Apr22 0:00 /bin/bash ./go mysql 18524 0.5 6.7 2665100 543032 ? Sl Mar03 405:58 /usr/sbin/mysqld --daemonize --pid-file root 22012 0.0 0.0 0 0 ? S 02:40 0:00 [kworker/1:1] root 23354 0.0 0.0 0 0 ? S 03:10 0:00 [kworker/1:0] root 24180 0.4 0.3 229572 25236 ? Ss 03:28 1:51 /usr/bin/python2 /usr/bin/denyhosts.py root 24209 0.0 0.0 0 0 ? S 03:28 0:00 [kworker/2:2] root 25463 0.0 0.0 0 0 ? S Apr21 0:00 [kworker/u8:2] root 28456 0.0 0.0 44876 1768 ? Ss Feb24 0:00 /usr/lib/systemd/systemd-udevd root 28555 0.0 0.2 544096 23180 ? Ssl Feb24 6:01 /usr/sbin/rsyslogd -n root 30722 0.0 0.0 0 0 ? S 06:01 0:00 [kworker/2:0] root 31522 398 0.0 2493840 7492 ? Ssl 06:05 868:51 ./kswapd0 root 31564 0.0 0.0 126388 1604 ? Ss 06:05 0:00 /usr/sbin/crond -n [root@p-96b7-rpde ~]#
5、查了启动项目
[root@p-96b7-rpde ~]# more /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local /usr/local/bin/nic_set_mq.sh > /tmp/nic_set_mq.log 2>&1 echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled /data/efacego/tomcat/bin/startup.sh /data/efacego/activemq/bin/activemq start /data/efacego/nginx/sbin/nginx [root@p-96b7-rpde ~]#
6、检查系统日志
日志默认存放位置:/var/log
日志分析技巧
1、定位有多少IP在爆破主机的root帐号: grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more 定位有哪些IP在爆破: grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c 爆破用户名字典是什么? grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr 2、登录成功的IP有哪些: grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more 登录成功的日期、用户名、IP: grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 3、增加一个用户kali日志: Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001 Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali , shell=/bin/bash Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali #grep "useradd" /var/log/secure 4、删除用户kali日志: Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali' Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali' Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali' # grep "userdel" /var/log/secure 5、su切换用户: Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0) sudo授权执行: sudo -l Jul 10 00:43:09 localhost sudo: good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now
7、成功登陆系统IP
Apr 21 20:01:34 root 128.199.141.33 Apr 23 09:19:12 admin 124.112.76.243 Apr 23 10:04:38 admin 124.112.76.243 [root@p-96b7-rpde ~]# 查看日志信息 tailf -n3000 /var/log/messages| grep 20:00
被暴力破解的IP
8、云平台监控查看
手工清理部分:
9.自查和清除
9.1 自查方法
1.检查/root/.configrc/中是否存在病毒样本;
2.检查/root/.ssh/中的公钥与报告中是否一致;
3.检查/tmp/.X25-unix/.rsync/中病毒运行的缓存文件;
4.检查/tmp/.X25-unix/dota3.tar.gz中是否存在病毒母体文件;
5.检查/root/.configrc/a/kswapd0是否存在病毒主程序;
6.检查计划任务是否存在以上文件的定时执行。
9.2 清除方案
1.删除以下文件,结束相应进程
/tmp/-unix/.rsync/a/kswapd0
/.configrc/a/kswapd0
/tmp/-unix/.rsync/c/tsm64
/tmp/-unix/.rsync/c/tsm32
/tmp/*-unix/.rsync/b/run(rsync)
*/.configrc/
2.检查cron.d中是否存在包含以下内容的定时任务,如有进行删除:
/a/upd
/b/sync
/c/aptitude
系统杀毒
#安装 yum install -y clamav #更新病毒库 freshclam #扫描方法 clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log #扫描并杀毒 clamscan -r --remove /usr/bin/bsd-port clamscan -r --remove /usr/bin/ clamscan -r --remove /usr/local/zabbix/sbin #查看日志发现 cat /root/usrclamav.log |grep FOUND 查杀 /etc/目录和/tmp 安装部署 1、安装epel仓库源,yum下载clamav yum -y install epel-release yum install –y clamav clamavd clamav-update 2、更新病毒库 freshclam 3、扫描病毒 clamscan -r -i /usr/bin -l /var/log/clamscan.log --remove 这里递归扫描根目录 /usr/bin ,发现感染文件立即删除 -r 递归扫面子文件 –i 只显示被感染的文件 -l 指定日志文件 --remove 删除被感染文件 --move隔离被感染文件
https://blog.csdn.net/carefree2005/article/details/122705554 查杀系统
查看文档:
https://www.freebuf.com/articles/paper/348860.html
https://mp.weixin.qq.com/s/4_E6kPuodxb3_inVCq2fqg
1、病毒进程查询
kill 进程
2、定时任务清理
crontab -e
[root@p-96b7-rpde b]# cd /var/spool/cron/ [root@p-96b7-rpde cron]# ls root [root@p-96b7-rpde cron]# cat root 5 6 * * 0 /root/.configrc5/a/upd>/dev/null 2>&1 @reboot /root/.configrc5/a/upd>/dev/null 2>&1 5 8 * * 0 /root/.configrc5/b/sync>/dev/null 2>&1 @reboot /root/.configrc5/b/sync>/dev/null 2>&1 0 0 */3 * * /tmp/.X291-unix/.rsync/c/aptitude>/dev/null 2>&1 [root@p-96b7-rpde cron]#
3、删除相关后门ssh key内容
vi /root/.ssh/authorized_keys
4、删除缓存文件
/tmp目录下
5、删除病毒目录和文件
rm -rf /root/.configrc5
3、自启动清理
4、服务清理
5、kill进程
6、删除环境变量、删除后门文件
病毒结构图
病毒结构(经过网上查证,该病毒种类繁多,文件位置基本不一样) /root/.configrc/* 病毒所在目录 /root/.ssh/ 病毒公钥 /tmp/.X25-unix/.rsync/* 病毒运行缓存文件 /tmp/.X25-unix/dota3.tar.gz 病毒压缩包 /root/.configrc/a/kswapd0 病毒主程序 ==========病毒相关计划任务========== 1 1 */2 * * /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 ====================================
样本分析?
Outlaw通过SSH**攻击,访问目标系统并下载带有shell脚本、挖矿木马、后门木马的TAR压缩包文件dota3.tar.gz。解压后的文件目录可以看到,根目录rsync下存放初始化脚本,a目录下存放shellbot后门,b目录下存放挖矿木马,c目录下存放SSH**攻击程序。以下内容参考腾讯云安全,后期会自己做一期专门拆解的,本来是今天想做,但是发现已经有现成的了。
如何防御
修改 我们的账号密码,加强复杂度,不要使用口令
公有云添加白名单 策略,业务端口只允许 公司出口IP访问
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-04-26 HTB-靶机-Postman