KhaosShield/htb-enum
GitHub: KhaosShield/htb-enum
面向 HackTheBox 场景的综合自动化枚举工具,整合多款主流安全工具实现从端口发现到 AD 域信息收集的一站式侦察并生成报告。
Stars: 0 | Forks: 0
# HTB 枚举工具 v1.1
/
├── enumeration_report.md # Comprehensive report
├── nmap_initial.txt # Initial port scan
├── nmap_detailed.txt # Detailed service scan
├── enum4linux.txt # enum4linux full output
├── gobuster_port80.txt # Web directory results
├── netexec_*.txt # NetExec outputs
├── credential_validation.txt # Credential test results
├── asrep_hashes.txt # AS-REP roastable hashes
├── kerberoast_hashes.txt # Kerberoastable hashes
└── [service]_port[N].txt # Service-specific results
```
**网段:**
```
10.10.110.0_24/
├── host_discovery.txt # Live host scan results
├── enumeration_report.md # Combined report
├── 10_10_110_2/ # Per-host subdirectory
│ ├── nmap_initial.txt
│ ├── nmap_detailed.txt
│ └── ...
├── 10_10_110_5/
│ └── ...
└── 10_10_110_100/
└── ...
```
### 终端输出
带进度指示器的彩色终端输出:
- **绿色**:成功/已发现
- **黄色**:警告/可选
- **青色**:信息/进度
- **红色**:错误/关键发现/利用路径
- **加粗黄色**:漏洞利用命令(可直接复制粘贴)
## Pro Labs 使用
针对 HackTheBox Pro Labs 如 Dante、Offshore 或 RastaLabs:
```
# 先发现所有 live hosts
./htb_enum.py -t 10.10.110.0/24
# 选择 'all' 以 enumerate 每个 host, 或选择特定的
# 结果按 per-host subdirectories 组织
```
**Pro Labs 技巧:**
- 从主机发现开始以映射网络
- 对于大型网络,一次枚举一台主机
- 留意跨主机的凭据复用
- 检查 BloodHound 输出以查找 AD 攻击路径
## 故障排除
**未发现端口**
使用 ping 验证目标是否可达。检查防火墙规则。
**工具未找到错误**
运行 `sudo ./install.sh` 安装缺失的工具。
**更新 /etc/hosts 权限被拒绝**
使用 sudo 运行:`sudo ./htb_enum.py`
**大型网络超时错误**
使用单主机模式或缩小范围。
**NetExec schema 不匹配错误**
删除过期数据库:`rm -f ~/.nxc/workspaces/default/smb.db`
**enum4linux 超时**
该工具有 10 分钟超时限制。如需要可使用 Ctrl+Z 跳过。
## 许可证
MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 致谢
本工具集成并自动化了以下主流安全工具:
- Nmap by Gordon Lyon
- Gobuster by OJ Reeves
- NetExec by Pennyw0rth
- BloodHound by SpecterOps
- enum4linux by Mark Lowe
- Impacket by SecureAuth
- SecLists by Daniel Miessler
- Rich library by Will McGugan
**版本**:v1.1
**作者**:[@KhaosShield](https://github.com/KhaosShield)
**最后更新**:2026年2月3日





**适用于 HackTheBox 实验室、Pro Labs 和 CTF 挑战的综合自动化枚举工具**
*作者: [@KhaosShield](https://github.com/KhaosShield)*
## 概述
一款基于 Python 的枚举工具,用于自动化 HackTheBox 实验室、Pro Labs 和 CTF 挑战的侦察工作。它在多个攻击向量上进行系统性枚举,生成详细报告,并将主流安全工具整合到单一工作流中。
## v1.1 更新内容
### 功能特性
- **凭据在 AD 各阶段复用** — 凭据仅需输入一次,即可在 BloodHound、Kerberoasting、深度共享枚举和 GPP 提取中共享使用
- **enum4linux 实时终端输出** — 结果直接实时流式输出到终端,并提供解析摘要(用户、共享、组、密码策略)
- **关键发现高亮** — 利用路径(psexec、evil-winrm、secretsdump)以带边框的红色面板显示,命令字符串加粗
- **所有 AD 阶段显示进度旋转器** — SMB、LDAP 和 Kerberos 枚举现在显示带有 Ctrl+Z 跳过提示的旋转器
### 问题修复
- LDAP dump 不再卡住(添加了结果/时间限制)
- 修复 NetExec 凭据验证(`[+]` 模式,服务账户的 LDAP 回退)
- Web 枚举现在检测 8080/8443 端口
- Gobuster VHOST 结果现已解析并报告
- 防止通过凭据进行 Shell 注入
- enum4linux 不再提示输入密码
- 检测 NetExec DB schema 错误并提供修复说明
## 功能特性
### 核心能力
- **网段扫描**,自动主机发现
- 自动端口发现和服务枚举(使用 nmap)
- 主机名检测,自动集成到 /etc/hosts
- Web 目录暴力破解,支持可配置的递归深度
- 虚拟主机和子域名发现
- Active Directory 枚举,集成 NetExec 和 BloodHound
- 多服务协议枚举(SMB、LDAP、DNS、FTP、SSH 等)
- SSL/TLS 证书分析和漏洞测试
- 全面的 Markdown 报告生成
### Active Directory
- **单次凭据提示** — 输入一次,在所有 AD 子阶段复用
- **NetExec** SMB/LDAP/WinRM/RDP/MSSQL 凭据验证
- 针对无法通过 SMB 认证的服务账户提供 **LDAP 回退**
- 使用 bloodhound-python 进行 **BloodHound** 数据收集
- 通过 NetExec 和 Impacket 进行 **Kerberoasting**
- 有无凭据情况下的 **AS-REP roasting**
- 敏感文件的 **深度共享枚举**
- 从 SYSVOL 进行 **GPP 密码提取**
- **凭据矩阵** — 针对所有发现的服务测试凭据
- **利用面板** — 高亮显示 psexec、evil-winrm、secretsdump 命令
### SMB 枚举
- 空会话和访客访问检测
- enum4linux **实时终端流式输出**及解析结果
- 共享发现和用户枚举
### 高级枚举
- 使用 Nikto 进行 Web 漏洞扫描
- CMS 检测和枚举
- 使用 TestSSL.sh 进行 SSL/TLS 安全测试
- Nuclei 漏洞扫描集成
- NFS 共享枚举
- SNMP 社区字符串发现
- NetBIOS 和 RPC 枚举
## 系统要求
### 必需工具
- nmap - 网络扫描器
- gobuster - 目录/DNS 暴力破解
- netexec - 网络协议利用
### 可选工具
使用以下可选工具增强功能:
| 类别 | 工具 |
|----------|-------|
| Web 模糊测试 | feroxbuster, ffuf |
| SMB/AD | smbclient, smbmap, enum4linux, bloodhound-python |
| LDAP/Kerberos | ldapsearch, kerbrute, impacket-scripts |
| DNS | dig, dnsenum |
| Web 扫描 | whatweb, nikto, wpscan, joomscan, sqlmap |
| SSL/TLS | testssl.sh, sslscan |
| 网络 | nbtscan, onesixtyone, responder, ssh-audit |
### Python 要求
- Python 3.8 或更高版本
- rich 库(如缺失将自动安装)
- bloodhound 库(通过 install.sh 安装)
## 安装
### 快速安装
```
# 克隆 repository
git clone https://github.com/KhaosShield/htb-enum.git
cd htb-enum
# 运行 installer
chmod +x install.sh
sudo ./install.sh
```
安装程序将:
- 安装所有必需和可选工具
- 安装 Python 依赖项
- 从 GitHub 下载 kerbrute
- 可选创建全局符号链接
## 使用方法
### 基本用法
```
# Interactive mode
./htb_enum.py
# 指定 target IP
./htb_enum.py -t 10.10.11.123
# Network range (Pro Labs)
./htb_enum.py -t 10.10.110.0/24
# IP range notation
./htb_enum.py -t 10.10.110.1-254
# Quick scan (跳过 deep enumeration)
./htb_enum.py -t 10.10.11.123 --quick
# Stealth mode (更慢, 更隐蔽)
./htb_enum.py -t 10.10.11.123 --stealth
```
### 命令行选项
```
-t, --target TARGET Target IP, CIDR (10.10.110.0/24), or range (10.10.110.1-254)
-s, --stealth Use stealth mode (slower, quieter scans)
--threads N Number of threads (default: 50)
--quick Quick scan (skip deep enumeration)
-h, --help Show help message
```
### 执行过程中的控制
| 按键 | 操作 |
|-----|--------|
| Ctrl+C | 退出整个脚本 |
| Ctrl+Z | 跳过当前阶段(然后输入 `fg` + 回车继续) |
## 枚举阶段
### 单主机模式
**阶段 1:初始端口发现**
跨所有端口进行快速 SYN 扫描,识别开放服务。
**阶段 2:服务与版本检测**
使用版本检测和 NSE 脚本进行详细的 nmap 扫描。
**阶段 3:主机名集成**
使用发现的主机名自动更新 /etc/hosts。
**阶段 4:SSL 证书分析**
从 SSL/TLS 证书中提取信息。
**阶段 5:Web 枚举**
目录暴力破解、VHOST 发现、技术检测。支持端口 80、443、8080 和 8443。
**阶段 6:DNS 枚举**
区域传输尝试和 DNS 记录枚举。
**阶段 7:Active Directory 枚举**
单次凭据提示,包含 NetExec SMB/LDAP 枚举、BloodHound 收集、Kerberoasting、AS-REP roasting、深度共享搜索和 GPP 密码提取。凭据只需输入一次,即可在所有子阶段复用。利用路径在红色面板中高亮显示。
**阶段 8:SMB 枚举**
共享枚举、空会话、用户发现、带实时终端输出的 enum4linux。
**阶段 9:其他服务**
FTP、SSH、MySQL、MSSQL、RDP、SNMP 枚举。
**阶段 10:高级 Web 评估**
Nikto、CMS 检测、SSL 测试、Nuclei 扫描。
### 网段模式
**阶段 0:主机发现**
Ping 扫描以识别网段内的存活主机。
**主机选择**
交互式选择要枚举的主机。
**逐主机枚举**
对每个选定的主机运行完整的枚举流程。
## 输出
### 目录结构
**单主机:**
```
标签:Active Directory, AES-256, BloodHound, Hack The Box, HTB, Kerberos攻击, LDAP, NetExec, Plaso, Python, SMB枚举, SNMP, 主动侦察, 后渗透, 域环境, 密码管理, 插件系统, 数据展示, 数据统计, 无后门, 模拟器, 漏洞评估, 端口扫描, 红队, 自动化枚举, 逆向工具