腾讯云服务器中毒后的处理办法

处理方法
部分带有蠕虫功能的挖矿木马在取得主机的控制权后,会继续对公网的其他主机,或者以当前主机作为跳板机对同一局域网内的其他主机进行横向渗透,所以在发现主机被植入挖矿木马后,在不影响业务正常运行的前提下,应该及时隔离受感染的主机,然后进行下一步分析和清除工作。

  1. 阻断异常网络通信
    挖矿木马不仅会连接矿池,还有可能会连接黑客的C2服务器,接收并执行C2指令、投递其他恶意木马,所以需要及时进行网络阻断。
    (1)检查主机防火墙当前生效的iptables规则中是否存在业务范围之外的可疑地址和端口,它们可能是挖矿木马的矿池或C2地址
iptables -L -n

(2)从iptables规则中清除可疑地址和端口

vi /etc/sysconfig/iptables

(3)阻断挖矿木马的网络通信

iptables -A INPUT -s 可疑地址 -j DROP
iptables -A OUTPUT -d 可疑地址 -j DROP
  1. 清除计划任务
    大部分挖矿木马会通过在受感染主机中写入计划任务实现持久化,如果仅仅只是清除挖矿进程,无法将其根除,到了预设的时间点,系统会通过计划任务从黑客的C2服务器重新下载并执行挖矿木马。
    查看系统当前用户的计划任务:
crontab -l

查看系统特定用户的计划任务:

crontab -u username -l

查看其他计划任务文件:

cat /etc/crontab
cat /var/spool/cron
cat /etc/anacrontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/
  1. 清除启动项

除了计划任务,挖矿木马通过添加启动项同样能实现持久化。
可以使用如下命令查看开机启动项中是否有异常的启动服务。

CentOS7以下版本:

chkconfig –list

CentOS7及以上版本:

systemctl list-unit-files

如果发现有恶意启动项,可以通过如下命令进行关闭:
CentOS7以下版本:

chkconfig 服务名 off

CentOS7及以上版本:

systemctl disable <服务名>

另外,还需要仔细排查以下目录及文件,及时删除可疑的启动项:

/usr/lib/systemd/system
/usr/lib/systemd/system/multi-user.target.wants
/etc/rc.local
/etc/inittab
/etc/rc0.d/
/etc/rc1.d/
/etc/rc2.d/
/etc/rc3.d/
/etc/rc4.d/
/etc/rc5.d/
/etc/rc6.d/
/etc/rc.d/

排查的时候,可以按照文件修改时间来排序,重点排查近期被创建服务项。
5. 清除预加载so
通过配置/etc/ld.so.preload,可以自定义程序运行前优先加载的动态链接库,部分木马通过修改该文件,添加恶意so文件,从而实现挖矿进程的隐藏等恶意功能。
检查/etc/ld.so.preload(该文件默认为空),清除异常的动态链接库。可以执行> /etc/ld.so.preload命令进行清除。

  1. 清除SSH公钥
    挖矿木马通常还会在~/.ssh/authoruzed_keys文件中写入黑客的SSH公钥,这样子就算用户将挖矿木马清除得一干二净,黑客还是可以免密登陆该主机,这也是常见的保持服务器控制权的手段。

排查~/.ssh/authorized_keys文件,如果发现可疑的SSH公钥,直接删除。

  1. 清除挖矿木马
    (1)清除挖矿进程
    执行如下命令排查系统中占用大量CPU资源的进程

实时查看进程

top -c

查看全部进程

ps -ef

获取挖矿进程文件路径

ls -l /proc/$PID/exe

删除挖矿程序进程

kill -9 $PID

最后删除挖矿程序文件

(2)清除其它相关恶意进程
恶意进程与外部的C2服务器进行通信时,往往会开启端口进行监听。执行如下命令,查看服务器是否有未被授权的端口被监听。

netstat -antp

然后按照第一步的方法清除进程及程序即可

可以通过如下命令排查近期新增的文件,清除相关木马

find /etc -ctime -2 (这里指定目录为/etc,获取近2天内的新增文件)
lsof -c kinsing (这里要查看文件名为kinsing的相关进程信息)

其他有效命令

find /etc/ -name ‘*’ | xargs grep ‘kinsing’ -n 2>/dev/null (在/etc/目录下搜索包含木马信息kinsing的文件,/etc/可替换为其他目录)

while true; do netstat -anplt | grep 10.112.85.71; sleep 1; done (根据矿池地址查找进程,矿池地址在主机安全-恶意请求中有告警)

实战演练

之前博主的服务器经常被异常登录,通过查询云服务器监控控制台,发现攻击者 IP 地址非常多,包括很多国家,美国,德国,英国(肉鸡网络),但是登录用户很固定,都是 postgres,故据此进行如下处理。
在这里插入图片描述
排查木马
正常来说,我们使用 top 命令查找占用 CPU 高的进程,木马程序占用 CPU 会很高,然后就可以开快速定位,但是博主使用这种方法却失效了,没有找到占用 CPU 高的进程。可能是因为植入的木马程序是定时挖矿,并不是一直占用 CPU,当然也可能是系统命令被木马篡改了,从而隐藏了木马进程的踪迹。只能使用下面搜索进程方法
在这里插入图片描述
使用如下命令查找与 postgres 相关的进程
ps -ef | grep post
在这里插入图片描述
清除木马
我们看到有些进程后面带了一大堆参数-t 515 -f 1 -s 12 -S 8 -p 0 -d 1 p ip,如果比较敏感的话我们就可以猜出来这是木马了,很明显我在使用kill -9 命令删除进程之后,隔了大概 20 秒,该进程又重新启动,确认是木马无疑。或者说我们对虚拟币种比较熟悉的情况下,也可以看出 blitz 是一种虚拟币。

确定木马进程之后流程就会顺畅很多,按照上面的步骤处理即可,但是注意,并不是所有木马程序入侵都需要全部处理步骤,酌情处理即可。

博主就是在处理木马的过程中,中间业务需要重启服务器,重启之后就发现木马程序消失,并且木马程序已经销毁,说明入侵者没有启用自启动,没有更深度的入侵

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值