范围:WebServer 入侵溯源、Linux 主机排查、Windows 安全加固、内网渗透 1–4、内存取证 组织方式:每节给「判据 → 命令 → 结论口径」,全部以证据可复核为前提。
0. 总览
| 环节 | 目标 | 关键产物 |
|---|---|---|
| 取证保全 | 不破坏现场 | 镜像/导出 + SHA256 |
| 主机排查 | 定位持久化与账号异常 | 进程树、计划任务、账号、启动项 |
| WebServer 溯源 | 找到入口与 webshell | access.log 时间线 + 木马路径 |
| 内网渗透 | 从边界到域内 | 凭据、可达段、横向路径 |
| 加固修复 | 关掉已确认的入口 | 加固项清单 + 复核 |
| 复盘报告 | 可追溯 | 时间线 + IOC + 修复项 |
图 1:取证/排查/溯源/横向/加固/报告六阶段(Archify architecture)
1. 取证保全:先保全再分析
- 内存优先:易失数据(进程、连接)先取;
winpmem/LiME/avml生成内存镜像; - 磁盘镜像:
dd/FTK Imager/dcfldd,边取边算哈希; - 哈希清单:每个产物
SHA256记录到evidence/hashes.txt; - 只读挂载:
mount -o ro,loop或取证工具挂载,避免污染时间戳。
2. Linux 主机排查:五个必看点
# 1. 进程(含隐藏:对比 /proc 与 ps) ps auxf; ls -l /proc/*/exe 2>/dev/null | grep -v '^l' # 2. 网络(监听 + 已建立) ss -antp; ss -anup # 3. 持久化 crontab -l; ls -l /etc/cron.*; systemctl list-unit-files --state=enabled cat /etc/rc.local; ls -l /etc/ld.so.preload # 4. 账号与登录 last -a | head; cat /etc/passwd | awk -F: '$3==0' grep -i 'Accepted\|Failed' /var/log/auth.log | tail -50 # 5. 文件与时间线 find / -xdev -mtime -2 -type f -perm -u+x 2>/dev/null | head -50判据:
/etc/ld.so.preload非空 → 大概率 rootkit;/proc与ps数量不一致 → 隐藏进程;- 服务名像正常服务但二进制在
/tmp、/dev/shm→ 可疑; crontab里有curl|bash、base64 → 远控。
3. WebServer 溯源:从日志到木马
- 定位入口:按时间窗过滤访问日志,找异常状态码 + 异常 UA + 上传路径:
awk '$9>=400' access.log | tail -100 grep -Ei 'upload|\.php|\.jsp|select|union|etc/passwd' access.log | head -50- 确认木马:
find -name '*.php' -mtime -7后按内容特征筛(eval、assert、base64_decode、$_POST[...]、超长单行); - 还原时间线:上传时间 → 首次访问 → 横向动作,三点对齐;
- 确认影响面:同目录其它站点、同机其它服务、数据库连接串。
典型手法:主题/插件上传点无扩展名校验(声明白名单却未使用)→.php直接落盘 → 一句话木马 → 提权。
4. Windows 安全加固:按风险排序
| 风险项 | 检查 | 加固 |
|---|---|---|
| 弱口令/空口令 | 本地账号策略 | 复杂度 + 定期更换 + 禁用默认账号 |
| 远程桌面暴露 | 3389 是否对公网 | 限源 IP / 走 VPN / 改端口 + 账户锁定 |
| SMB 共享 | net share | 关闭不必要共享与 SMBv1 |
| 计划任务持久化 | schtasks /query | 清理可疑任务并审计创建事件 |
| 服务权限 | 服务二进制路径可写 | 收紧 ACL,禁止 Users 写 |
| 日志与审计 | 4624/4625/7045 是否开启 | 打开审核策略,集中日志 |
Windows 事件快速定位:
4624 登录成功 / 4625 登录失败 / 4672 特权登录 7045 服务安装 / 4698 计划任务创建 / 1102 日志被清5. 内网渗透 1–4(授权环境):一条纵深链
- 边界立足:Web 漏洞(上传/RCE/反序列化)或弱口令(RDP/SSH/SMB);
- 信息收集:
ipconfig/ifconfig、路由表、ARP、net view、域信息(nltest/net group); - 凭据获取:本地 hash(
secretsdump)、内存凭据、配置文件里的连接串; - 横向:SMB/WinRM/WMI/PsExec/SSH 跳板,优先用已有凭据而非新漏洞;
- 权限提升:服务权限、计划任务、令牌、内核漏洞(按版本);
- 影响评估:可达段、可写共享、域控路径,记录但不扩大破坏。
纪律:只在授权范围与约定时间内操作;不碰生产数据;所有命令与输出留证。
6. 内存取证(闪存/内存镜像)
- 先
vol -f mem.raw windows.info(或linux.banners)确认 profile; - 进程:
windows.pslist/pstree/cmdline/malfind; - 网络:
windows.netscan(找外联 C2); - 服务与持久化:
svcscan、dlllist; - 关键字扫描:
strings -el mem.raw | grep -i flag(或 YARA 规则)。
判据:malfind出的 RWX 私有内存 + 无文件路径 → 注入型木马;netscan的出站连接 + 非标准端口 → C2 线索。
7. 复盘报告结构
1. 事件概览(时间、影响范围、结论) 2. 时间线(UTC+8,逐条带证据来源) 3. IOC(IP/域名/文件 hash/账号/计划任务) 4. 根因与入口 5. 已采取处置 6. 加固建议(按风险排序,可验收) 7. 证据清单(文件 + SHA256)8. 一页检查表
[ ] 保全了吗?哈希记了吗? [ ] 进程/网络/持久化/账号/文件 五点都看了吗? [ ] 日志时间线与进程时间对齐了吗? [ ] 加固项可验收吗(不是「建议加强」这种空话)? [ ] 内网操作在授权范围内吗?留证了吗? [ ] 报告有 IOC 与证据清单吗?9. 图形附件(Archify)
| 图 | 文件 | 说明 |
|---|---|---|
| 应急响应与渗透六阶段 | ir-arch.html(交互图,本地交付包) | 取证→排查→溯源→横向→加固→报告 |
| 事件处理流程 | ir-timeline.html(交互图,本地交付包) | 保全→串联→评估→处置→复盘 |
流程视图
从判型到归档的主线流程:每步都要求留下原始输出,结论必须能被独立脚本重跑。
两图archify check均issues: [];archify finalize均ok:true+browser-check:pass;正文内嵌同源 PNG 截图。