找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3207

积分

0

好友

414

主题
发表于 2026-2-12 13:13:13 | 查看: 31| 回复: 0

一个用于快速检查 Linux 系统常见安全与运行情况的脚本:Linux_checklist.sh

当你怀疑服务器可能被入侵时,手动逐项检查不仅效率低下,还容易遗漏关键线索。这个脚本将多个关键检查点集成在一起,能帮你快速定位问题。

主要检查项

脚本重点排查以下几类高风险迹象:

  1. 检查网卡是否在偷偷抓包:这通常是攻击者在内网嗅探密码或敏感数据的迹象。
  2. 检查内存中的“无文件”进程:找出内存中有进程在跑,但对应的磁盘文件已被删除(/proc/*/exe -> deleted)的情况。这是挖矿木马和Rootkit最爱用的手段,因为这类攻击难以被传统杀软检测。
  3. 校验系统命令完整性:通过 rpm -V 检查 ls, ps, netstat 等核心命令是否被恶意替换。攻击者常会替换这些命令来隐藏自己的进程和网络连接。
  4. 扫描未授权的SSH公钥:遍历所有用户的 .ssh/authorized_keys 文件,检查是否有被植入的未知免密登录密钥。
  5. 检查恶意定时任务:在Crontab中查找是否包含 bash -i, nc, curl 等用于连接外网控制服务器的恶意命令。

详细检查清单

脚本执行后将生成一份全面的报告,涵盖以下维度:

  1. 系统资源检查(排查挖矿迹象)

    • CPU/内存占用:列出资源消耗最高的 Top 5 进程,辅助判断是否存在挖矿程序。
    • 磁盘空间:检查磁盘是否被日志或垃圾文件填满,影响系统运行。
  2. 网络连接分析(排查后门与异常通信)

    • 混杂模式:检测网卡是否处于非正常的监听(Promiscuous)模式。
    • DNS/Hosts:检查 DNS 设置是否被劫持,/etc/hosts 文件是否存在恶意重定向。
    • 监听端口:列出所有开放的端口,便于快速发现非常规的高位端口。
    • 外部连接:统计服务器正在连接的外部 IP(Top 10),用于发现与C2(命令与控制)服务器的回连行为。
  3. 进程深度分析

    • 内存中已删除文件:再次确认并详细列出“无文件”攻击的痕迹。
    • 高资源进程:展示 CPU 和内存占用最高的 5 个进程的详细信息。
  4. 账号与权限审计

    • 特权用户:检查除了 root 以外,是否还存在其他 UID=0 的超级用户。
    • 影子文件:分析 /etc/shadow,识别哪些账户实际上可以登录系统。
    • Sudo 权限:检查谁拥有 ALL=(ALL) 的超级管理员权限。
    • SSH 公钥:遍历 /root/home 下所有用户的 authorized_keys 文件。
    • SSH 劫持:检查是否存在 sshrc 等文件,这类文件会在用户登录时自动执行恶意脚本。
  5. 持久化与启动项排查

    • 定时任务
      • 检查 /etc/crontab/etc/cron.d/ 等系统级任务。
      • 遍历所有用户的个人 Crontab 任务。
      • 自动扫描任务中是否包含 wget, curl, nc 等用于下载或建立外网连接的敏感命令。
    • 开机启动
      • 检查 Systemd 中已启用的服务。
      • 检查 /etc/rc.local 中是否藏有恶意启动脚本。
  6. 文件完整性检查

    • 二进制校验:利用包管理器(如RPM)校验 ls, ps, top, login, sshd 等系统核心命令的哈希值是否与官方一致。
    • SUID 提权文件:扫描系统中具有 SUID 权限的异常文件,普通用户运行此类文件可能直接获得 root 权限。
    • 临时目录扫描:检查 /tmp/var/tmp 下是否存在 .sh, .py, .elf 等可疑可执行文件,黑客常在此存放攻击工具。
    • 文件属性锁定:检查关键系统文件是否被 chattr +i 锁定,导致无法正常修改或删除。
  7. 日志与历史痕迹分析

    • 暴力破解分析:统计 /var/log/secureauth.log 中登录失败次数最多的源 IP 地址。
    • 成功登录记录:查看最近成功登录系统的用户及其来源 IP。
    • 账号变动记录:搜索是否有新建用户 (useradd) 或删除用户 (userdel) 的日志。
    • 历史命令审查:扫描 root 用户的 .bash_history,查找 wget(下载木马)、tar(打包窃取数据)、passwd(修改密码)等敏感操作记录。

安全与使用须知

  • 脚本运行会导出大量系统敏感信息(如用户列表、网络连接、进程详情等)。请务必仅在受信任的、你拥有合法授权进行安全检查的环境中运行。
  • 生成的报告文件必须妥善保管,防止敏感信息泄露。
  • 本工具旨在用于安全防御与应急响应学习。

项目开源地址https://github.com/HuyaThomas/Linux_checklist


免责声明:本文所涉及的技术、思路和工具仅限用于以安全为目的的合法授权测试与学习交流。任何人不得将其用于非法用途或任何盈利目的,否则后果自行承担。




上一篇:OpenClaw 联合 VirusTotal 为 AI Agent Skill 市场引入自动化安全扫描与行为分析
下一篇:《汽车数据出境安全指引(2026版)》解读:汽车数据安全市场面临的新机遇与挑战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 12:59 , Processed in 0.609490 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表