一、检查系统日志
查看 /var/log/secure和 /var/log/auth.log 文件,查找是否有异常的登录行为,例如 root 用户的异常登录,特别是来自未知 IP 的登录。
使用 last命令查看最近的用户登录情况。
[root@www ~]# cat /var/log/secure | grep "Accepted"
Oct 2 11:53:24 www sshd[5498]: Accepted publickey for root from *.*.220.4 port 62217 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 11:55:23 www sshd[5593]: Accepted publickey for root from *.*.220.4 port 62549 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 11:55:38 www sshd[5627]: Accepted publickey for root from *.*.220.4 port 62590 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 13:08:09 www sshd[1249]: Accepted publickey for root from *.*.220.4 port 57209 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 13:08:10 www sshd[1296]: Accepted publickey for root from *.*.220.4 port 57212 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 14:13:26 www sshd[13199]: Accepted publickey for root from *.*.220.4 port 50369 ssh2: RSA SHA256:V3wEe6MBDGcFm7eV9CHO0IQ0grGI19O0IskKBECeUy0
Oct 2 14:35:48 www sshd[25585]: Accepted publickey for root from *.*.199.121 port 54072 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
Oct 2 17:30:40 www sshd[28588]: Accepted publickey for root from *.*.199.121 port 60691 ssh2: RSA SHA256:T5lo0yBlWm8pRatu3Kf/8QNqas/Q/iB/cKzkPhH/Src
[root@www ~]# last
root pts/0 *.*.199.121 Wed Oct 2 17:30 still logged in
root pts/0 *.*.199.121 Wed Oct 2 14:35 - 14:36 (00:00)
root pts/1 *.*.220.4 Wed Oct 2 13:08 - 14:31 (01:23)
root pts/0 *.*.220.4 Wed Oct 2 13:08 - 14:31 (01:23)
reboot system boot 3.10.0-1160.119. Wed Oct 2 13:07 - 17:42 (04:34)
root pts/1 *.*.220.4 Wed Oct 2 11:55 - down (01:11)
root pts/0 *.*.220.4 Wed Oct 2 11:55 - down (01:12)
root pts/0 *.*.220.4 Wed Oct 2 11:53 - 11:55 (00:01)
reboot system boot 5.15.60-1.el7.x8 Wed Oct 2 08:51 - 13:07 (04:15)
reboot system boot 5.15.60-1.el7.x8 Wed Oct 2 08:16 - 13:07 (04:50)
reboot system boot 5.15.60-1.el7.x8 Wed Oct 2 07:44 - 13:07 (05:23)
wtmp begins Thu Aug 10 03:00:44 2023
二、检查进程和端口
使用 ps aux查看系统中运行的进程,尤其是高 CPU 占用的进程。如果发现可疑的挖矿进程,记录下它的 PID。
使用 netstat -tulnp或 ss -tulnp 查看正在监听的端口,找出异常连接。
ps aux --sort=-%cpu # 按 CPU 占用排序
netstat -tulnp
三、检查可疑的启动项和定时任务
检查 /etc/rc.local、/etc/init.d/、/etc/systemd/system/中是否有异常的服务。
查看 cron 定时任务,可能会存在木马在定时任务中设置的后门。
crontab -l
ls /var/spool/cron/
ls /etc/cron.d/
四、查找被篡改的文件
使用 find命令查找最近被修改的文件,通常攻击者会修改一些关键系统文件或者安装后门脚本。
find / -mtime -7 # 查找最近 7 天内被修改的文件
五、检查可疑的网络连接
使用 lsof -i命令查看系统中所有打开的网络连接,找出向外部 IP 地址发送流量的可疑进程。
lsof -i
六、分析登录后门和漏洞利用
如果发现系统中存在不明的用户账号,可以查看 /etc/passwd中的用户列表。
查看服务器上安装的应用程序,可能是通过某个存在漏洞的 Web 应用(如 PHP、Java 等)入侵的。
七、检查入侵时间线
根据木马程序的时间戳、系统日志中的异常记录,以及文件的修改时间,尝试重建攻击者的入侵时间线,找出入侵的源头和步骤。
八、安全加固措施
立即删除木马相关文件、进程、定时任务,并更改所有用户密码。
更新系统和软件到最新版本,修补已知漏洞。
禁止 root 用户远程登录,启用防火墙,限制对外的服务访问。
安装安全防护工具(如 Fail2Ban、Rootkit Hunter 等)以检测和防御未来的攻击。
评论区