一个用于快速检查 Linux 系统常见安全与运行情况的脚本:Linux_checklist.sh。
当你怀疑服务器可能被入侵时,手动逐项检查不仅效率低下,还容易遗漏关键线索。这个脚本将多个关键检查点集成在一起,能帮你快速定位问题。
主要检查项
脚本重点排查以下几类高风险迹象:
- 检查网卡是否在偷偷抓包:这通常是攻击者在内网嗅探密码或敏感数据的迹象。
- 检查内存中的“无文件”进程:找出内存中有进程在跑,但对应的磁盘文件已被删除(
/proc/*/exe -> deleted)的情况。这是挖矿木马和Rootkit最爱用的手段,因为这类攻击难以被传统杀软检测。
- 校验系统命令完整性:通过
rpm -V 检查 ls, ps, netstat 等核心命令是否被恶意替换。攻击者常会替换这些命令来隐藏自己的进程和网络连接。
- 扫描未授权的SSH公钥:遍历所有用户的
.ssh/authorized_keys 文件,检查是否有被植入的未知免密登录密钥。
- 检查恶意定时任务:在Crontab中查找是否包含
bash -i, nc, curl 等用于连接外网控制服务器的恶意命令。
详细检查清单
脚本执行后将生成一份全面的报告,涵盖以下维度:
-
系统资源检查(排查挖矿迹象)
- CPU/内存占用:列出资源消耗最高的 Top 5 进程,辅助判断是否存在挖矿程序。
- 磁盘空间:检查磁盘是否被日志或垃圾文件填满,影响系统运行。
-
网络连接分析(排查后门与异常通信)
- 混杂模式:检测网卡是否处于非正常的监听(Promiscuous)模式。
- DNS/Hosts:检查 DNS 设置是否被劫持,
/etc/hosts 文件是否存在恶意重定向。
- 监听端口:列出所有开放的端口,便于快速发现非常规的高位端口。
- 外部连接:统计服务器正在连接的外部 IP(Top 10),用于发现与C2(命令与控制)服务器的回连行为。
-
进程深度分析
- 内存中已删除文件:再次确认并详细列出“无文件”攻击的痕迹。
- 高资源进程:展示 CPU 和内存占用最高的 5 个进程的详细信息。
-
账号与权限审计
- 特权用户:检查除了
root 以外,是否还存在其他 UID=0 的超级用户。
- 影子文件:分析
/etc/shadow,识别哪些账户实际上可以登录系统。
- Sudo 权限:检查谁拥有
ALL=(ALL) 的超级管理员权限。
- SSH 公钥:遍历
/root 和 /home 下所有用户的 authorized_keys 文件。
- SSH 劫持:检查是否存在
sshrc 等文件,这类文件会在用户登录时自动执行恶意脚本。
-
持久化与启动项排查
- 定时任务:
- 检查
/etc/crontab 和 /etc/cron.d/ 等系统级任务。
- 遍历所有用户的个人 Crontab 任务。
- 自动扫描任务中是否包含
wget, curl, nc 等用于下载或建立外网连接的敏感命令。
- 开机启动:
- 检查 Systemd 中已启用的服务。
- 检查
/etc/rc.local 中是否藏有恶意启动脚本。
-
文件完整性检查
- 二进制校验:利用包管理器(如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
免责声明:本文所涉及的技术、思路和工具仅限用于以安全为目的的合法授权测试与学习交流。任何人不得将其用于非法用途或任何盈利目的,否则后果自行承担。
|