Linux 应急响应全套排查命令手册、日志分析、Webshell、恶意文件取证实战

发布时间:2026/6/21 23:33:09
Linux 应急响应全套排查命令手册、日志分析、Webshell、恶意文件取证实战 文章简介服务器遭遇入侵、挖矿、Webshell、暴力破解后绝大多数运维只会简单查看进程和日志缺少标准化取证命令。本文整理grep、awk、find、stat、file、strings六大核心工具按文本日志检索、文件检索、文件属性审计、二进制样本分析四大模块拆分附带大量可直接复制的实战命令覆盖账号溯源、Webshell 查杀、SUID 后门、挖矿木马取证场景新手网安、运维工程师可直接落地用于应急响应与 CTF 取证。0x00 前言Linux 入侵应急响应核心原则只读优先、先取证再清理、以时间线为核心排查线索排查全程尽量不修改、删除、移动可疑文件避免破坏证据所有操作记录命令、执行时间、输出结果留存日志用于溯源优先排查高风险目录/var/www、/tmp、/var/tmp、/dev/shm、/home、/etc/cron*不依赖文件名判断文件真实类型使用file、strings校验二进制样本。本文分为四大模块文本搜索与日志处理、文件检索 find、文件属性元数据审计、二进制文件取证最后汇总账号、Webshell、后门、定时任务完整排查脚本。0x01 文本搜索与处理日志分析核心工具 grep awk1.1 grep 日志检索神器入侵溯源必备grep 用于在日志、网站代码、配置文件中匹配恶意关键词支持递归、正则、上下文查看是定位 Webshell、暴力破解、恶意下载命令的核心工具。核心参数对照表表格参数作用应急响应场景-a二进制文件强制按文本解析读取 wtmp、木马二进制、乱码日志-r / -R递归遍历目录全站扫描 Webshell 后门代码-n输出匹配行号精准定位恶意代码位置-i忽略大小写匹配混淆写法EvAl、BASE64_DECODE-v反向过滤排除正常内容过滤 127.0.0.1 本地访问、健康检查日志-E扩展正则多关键词匹配同时检索 eval、system、exec 等危险函数-C N显示匹配行前后 N 行还原攻击完整上下文--include限定文件后缀仅检索 php/jsp 脚本减少无效输出--exclude-dir排除目录跳过 vendor、node_modules 第三方依赖实战高频命令bash运行# 1. 全站递归查杀PHP Webshell高危函数生产最常用 grep -RniE eval|assert|system|exec|shell_exec|passthru|base64_decode|gzinflate \ /var/www/html --include*.php --exclude-dirvendor --exclude-dirnode_modules # 2. 查找SSH暴力破解失败记录Ubuntu/Debian grep -a Failed password /var/log/auth.log # 3. 查看root登录记录附带前后3行上下文 grep -a -C 3 root /var/log/auth.log # 4. Nginx访问日志排除本机访问查看外部异常请求 grep -v 127.0.0.1 /var/log/nginx/access.log # 5. CTF/取证全局搜索flag关键字 grep -Rni flag{ /etc 2/dev/null grep -Rni flag{ ~ 2/dev/null1.2 awk 日志统计、字段提取工具awk 适合处理结构化文本passwd、访问日志、登录日志快速提取 IP、用户名、请求路径并统计频次。常用实战案例bash运行# 1. 统计访问量Top10恶意IPNginx日志 awk {print $1} /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10 # 2. 统计SSH爆破来源IP按失败次数排序 grep -a Failed password /var/log/auth.log | awk {print $(NF-3)} | sort | uniq -c | sort -nr | head # 3. 筛选拥有bash登录权限的可疑用户 awk -F: $7 ~ /bash/ {print $1, $3, $6, $7} /etc/passwd # 4. 提取HTTP请求方法与URL awk -F\ {print $2} /var/log/nginx/access.log | awk {print $1, $2} | head # 5. 统计异常HTTP状态码分布404/500/403 awk {print $9} /var/log/nginx/access.log | sort | uniq -c | sort -nr1.3 日志快速浏览head /tail/less处理超大日志文件禁止直接 vim 打开导致卡顿bash运行head -n 20 /var/log/nginx/access.log # 查看前20行 tail -n 100 /var/log/nginx/access.log # 查看最后100行 tail -f /var/log/auth.log # 实时监控SSH登录日志 less /var/log/secure # 分页查看/关键词快速检索q退出0x02 文件查找 find定位恶意文件、后门、挖矿程序find 支持按修改时间、权限、大小、文件名、属主全盘检索是排查新增木马、SUID 提权后门、777 危险文件的核心命令。核心条件参数表格参数说明排查场景-mtime -124 小时内修改文件入侵当天新增恶意脚本-mmin -6060 分钟内修改文件实时突发入侵快速定位-newermt 2026-06-01 00:00:00指定时间后修改精准锁定攻击时间线文件-perm -4000查找 SUID 提权文件黑客常用本地提权后门-perm 0777全局可写高危文件攻击者上传、篡改文件点位-size 20M大于 20MB 大文件挖矿程序、打包窃取数据-exec ls -l {} ;检索结果执行命令批量查看可疑文件详情全套实战检索命令bash运行# 1. Web目录24小时内修改的PHP文件入侵优先排查 find /var/www -type f -name *.php -mtime 0 -ls # 2. 近60分钟所有修改文件快速定位新增后门 find /var/www -type f -mmin -60 -ls # 3. 精确时间检索指定日期后篡改的网站文件 find /var/www -type f -newermt 2026-06-01 00:00:00 -ls # 4. 查找全局777权限可写文件 find /var/www -type f -perm 0777 -ls # 5. 全盘查找SUID高危提权文件重点排查非系统程序 find / -type f -perm -4000 -ls 2/dev/null # 6. 查找大于20MB异常大文件挖矿、数据打包 find / -type f -size 20M -ls 2/dev/null # 7. 查找网站隐藏后门文件.开头隐藏脚本 find /var/www -name .* -ls # 8. 批量检索php/jsp/asp/sh脚本后门 find /var/www -type f \( -name *.php -o -name *.jsp -o -name *.sh \) -ls高频排查目录清单plaintextWeb站点/var/www、/usr/share/nginx/html 临时目录/tmp、/var/tmp、/dev/shm 用户目录/home、/root 定时任务/etc/cron*、/var/spool/cron 系统服务/etc/systemd/system 日志目录/var/log0x03 文件属性与元数据审计ls /stat/file3.1 ls 快速目录巡检重点查看隐藏文件、修改时间、权限、属主最新修改文件优先排查bash运行ls -alth /var/www/html # 按修改时间倒序显示隐藏文件、可读大小 ls -alth /tmp /var/tmp # 临时目录木马高频存放点 ls -ali /var/www/upload # -i查看inode排查硬链接后门参数说明-a展示隐藏文件-l长格式权限-t按修改时间排序-h人性化大小-iinode 编号。3.2 stat 查看文件时间戳取证关键Linux 三个核心时间用于判断文件篡改行为mtime(Modify)文件内容修改时间最核心判断是否新增木马ctime(Change)文件权限、属主变更时间攻击者修改权限会更新atime(Access)文件访问时间参考价值较低bash运行# 查看可疑Webshell完整元数据 stat /var/www/html/shell.php # 批量查看2小时内修改文件的时间信息 find /var/www -type f -mmin -120 -exec stat {} \;注意攻击者可使用touch -t伪造 mtime但 ctime 无法完全篡改可作为取证依据。3.3 file 判断文件真实类型识破图片伪装木马攻击者常将 ELF 可执行程序、Shell 脚本伪装成 jpg/png 图片file不依赖后缀读取文件头部特征判断真实类型bash运行# 判断上传图片是否为伪装木马 file /var/www/upload/avatar.jpg # 批量检测上传目录所有文件真实类型 find /var/www/upload -type f -exec file {} \;高危输出识别ELF 64-bit executableLinux 可执行木马、挖矿程序script text executable恶意 Shell/Python 脚本data加密混淆后门、压缩恶意载荷0x04 文件深度内容审计strings、哈希校验、diff、xxd4.1 strings 提取二进制可读字符串木马逆向初筛从挖矿程序、后门 ELF 中提取 URL、矿池地址、命令、IP快速定位 C2 通信地址bash运行# 提取木马中所有网络链接 strings /tmp/malware.bin | grep -Ei http|https|ftp # 检索挖矿、wget/curl下载后门关键字 strings /tmp/malware.bin | grep -Ei curl|wget|xmrig|pool|/tmp|bash # 查看前50行可读字符串 strings /tmp/malware.bin | head -n 504.2 md5sum /sha256sum 文件完整性校验Rootkit 排查对比系统命令哈希判断ps、ls、top是否被 Rootkit 恶意替换bash运行# 生成系统关键命令哈希 sha256sum /bin/ps /bin/ls /usr/bin/top /usr/bin/netstat 2/dev/null提示需与干净同版本系统哈希对比单一哈希无法判定异常怀疑 Rootkit 时建议离线取证校验。4.3 diff 文件差异对比对比备份文件快速发现新增后门账号、篡改配置bash运行# 对比当前passwd与备份定位新增恶意账号 diff -u /etc/passwd /etc/passwd.bak # 递归对比网站源码与备份找出新增Webshell diff -ur /var/www/html /backup/html4.4 xxd /sed 十六进制与分段查看bash运行# 查看文件前64字节十六进制识别文件头特征 xxd -l 64 /tmp/suspicious_file # 查看日志100~150行内容 sed -n 100,150p /var/log/nginx/access.log # 显示脚本隐藏特殊混淆字符 cat -A /var/www/html/backdoor.php0x05 分场景应急响应成套排查命令5.1 账号与 SSH 登录溯源bash运行# 筛选可远程登录用户 awk -F: $7 ~ /(bash|sh)$/ {print $1, $3, $6, $7} /etc/passwd # 查看近20条登录记录 last -a | head -n 20 # 查看暴力破解记录 lastb -a | head -n 20 2/dev/null # Ubuntu SSH认证日志检索 grep -aEi Accepted|Failed|Invalid user|session opened /var/log/auth.log # CentOS SSH安全日志检索 grep -aEi Accepted|Failed|Invalid user /var/log/secure5.2 Webshell 一站式查杀bash运行# 1. 24小时内新增网站脚本 find /var/www -type f -mmin -1440 -ls 2/dev/null # 2. 高危函数递归检索 grep -RniE eval|assert|system|exec|popen|base64_decode /var/www --include*.php 2/dev/null # 3. 检索上传目录脚本文件 find /var/www/upload -type f \( -name *.php -o -name *.phtml -o -name *.jsp \) -ls # 4. 识别后缀伪装的可执行程序 find /var/www -type f -exec file {} \; 2/dev/null | grep -Ei executable|ELF5.3 SUID/SGID、全局可写后门排查bash运行# SUID提权文件 find / -type f -perm -4000 -ls 2/dev/null # SGID权限文件 find / -type f -perm -2000 -ls 2/dev/null # 全局可写文件目录 find / -perm -0002 -ls 2/dev/null5.4 定时任务持久化后门排查bash运行# 当前用户定时任务 crontab -l # 系统级定时文件 cat /etc/crontab ls /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/anacrontab # 所有用户定时任务存储目录 ls -alh /var/spool/cron/5.5 可疑二进制样本初筛流程bash运行file /tmp/suspicious.bin sha256sum /tmp/suspicious.bin strings /tmp/suspicious.bin | head -n 100 strings /tmp/suspicious.bin | grep -Ei http|curl|xmrig|pool|/tmp0x06 新手应急排查避坑建议优先时间线排查最近修改文件、最新登录记录、新增定时任务入侵概率最高固定高风险目录先查/tmp、网站上传目录再全盘检索减少无效输出缩小检索范围grep 配合--include、find 限定后缀避免几万行日志刷屏不要信任文件名图片后缀、日志后缀都可能是木马必须用file校验真实类型取证优先清理后置可疑文件先记录路径、哈希、时间备份样本再删除Rootkit 环境校验系统命令可能被篡改重要哈希校验建议使用救援 U 盘离线操作。