
一个用于快速检查 Linux 系统常见安全与运行情况的脚本:Linux_checklist.sh。主要检查项
一、检查网卡是否在偷偷抓包(嗅探内网密码)。二、检查内存中有进程在跑,但对应的磁盘文件已经被删除了(/proc/*/exe -> deleted)。这是挖矿木马和 Rootkit 最爱用的“无文件攻击”手段。三、通过 rpm -V 检查 ls, ps, netstat 等命令是否被替换了(防止黑客修改命令来隐藏自己)。四、扫描所有用户的 .ssh/authorized_keys,看有没有被植入未知的免密登录公钥。五、检查定时任务里有没有 bash -i, nc, curl 等连接外网的恶意命令。
详细检查清单
系统资源 (是否有挖矿迹象)CPU/内存占用:列出 Top 5 进程,判断是否有异常的高资源占用(如挖矿程序)磁盘空间:检查磁盘是否被日志或垃圾文件填满
网络连接 (是否有非法后门)混杂模式 (Promiscuous):检测网卡是否处于监听模式DNS/Hosts:检查 DNS 是否被劫持,Hosts 文件是否有恶意重定向监听端口:列出所有开放的端口,一眼看出有没有不该开的高位端口外部连接:统计服务器正在连接哪些外部 IP(Top 10),发现是否有向 C2 服务器回连的数据
进程分析 (是否有恶意程序)内存中已删除文件:(同上文重点项,捕捉无文件落地木马)高资源进程:CPU 和内存占用最高的 5 个进程详情
账号与权限 (是否有未授权账号)特权用户:检查除了 root 以外,是否还有 UID=0 的“超级用户”影子文件:检查 /etc/shadow,看哪些账户是可以登录的Sudo 权限:检查谁拥有 ALL=(ALL) 的超级管理员权限SSH 公钥:遍历 /root 和 /home 下所有用户的公钥文件SSH 劫持:检查是否存在 sshrc 文件(登录时自动触发恶意脚本)
持久化与启动项 (病毒是否会重启自启)定时任务 (Crontab):检查 /etc/crontab 和 /etc/cron.d/遍历所有用户的 Crontab 任务特征匹配:自动扫描任务中是否包含 wget, curl, nc 等下载或连接命令开机启动:检查 Systemd 中启用的服务检查 /etc/rc.local 中是否藏有恶意启动脚本
文件完整性 (是否被植入 Rootkit)二进制校验:利用包管理器 (RPM) 校验系统核心命令 (ls, ps, top, login, sshd 等) 的哈希值SUID 提权文件:扫描具有 SUID 权限的异常文件(普通用户运行即变 Root)临时目录扫描:检查 /tmp 和 /var/tmp 下是否有 .sh, .py, .elf 等可执行脚本(黑客常在此存放工具)文件属性锁定:检查关键文件是否被 chattr +i 锁定(导致无法修改或删除)
日志与痕迹 (黑客干了什么)暴力破解:统计 /var/log/secure 或 auth.log 中登录失败次数最多的 IP成功登录:查看最近谁成功登录了,IP 是哪里的账号变动:查看是否有新建用户 (useradd) 或删除用户 (userdel) 的记录历史命令:扫描 root 用户的 .bash_history,查找是否有 wget (下载木马)、tar (打包数据)、passwd (改密码) 等敏感操作。
安全与合规
- 脚本会导出敏感信息,仅在授权环境运行并妥善保管输出文件。
https://github.com/HuyaThomas/Linux_checklist
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文