RandomUser1983/IkeAbuser
GitHub: RandomUser1983/IkeAbuser
一个将 nmap、ike-scan 和 hashcat 封装为自动化流程的 IPSec VPN 网关安全测试脚本,用于端口探测、IKE 枚举、group ID 暴力破解和 PSK 离线破解。
Stars: 3 | Forks: 1
# IkeAbuser
一个简单的工具封装脚本,用于自动化 IPSec VPN 网关的枚举、指纹识别和 PSK 提取。
这里没有什么花哨的东西,只是我拼凑的一个脚本,用于在参加 CTF 和备考 CPENT 时节省时间。它将 ike-scan、nmap 和 hashcat 串联在一起,这样我就不必反复输入相同的命令了。
## 免责声明
仅供授权测试和教育使用。仅对你拥有或获得明确测试许可的机器(你的实验室、CTF 靶机等)运行此程序。你使用它所做的任何事情均由你自己承担风险。
## 功能介绍
该脚本会逐步执行测试 IKE 网关的常规步骤:
1. 使用 nmap 检查 UDP 端口 500 或 4500 是否开放。如果没有,则停止。
2. 在 main 模式下发送默认的 ike-scan payload 以查找有效的 transformation。如果默认值不起作用,它会暴力破解所有组合。如果仍然没有结果,则停止。
3. 检查网关是否响应随机 ID。如果响应,则暴力破解 ID 毫无意义,因此它会停止。
4. 如果不响应,它会使用 aggressive 模式根据字典文件暴力破解 ID。
5. 一旦获得有效的 ID,它就会抓取 PSK hash,将其保存在本地,并使用 hashcat 离线破解它。
如果你已经知道了 group ID(也许你是在其他地方发现的,比如泄露的配置),只需使用 `-id` 传递它,脚本就会直接跳转到 PSK 提取步骤。
## 环境要求
你需要安装以下内容:
- ike-scan
- nmap
- hashcat
- 密码字典(rockyou 就可以)
- 用于 ID 的字典(seclists 中的这个很好:`/usr/share/seclists/Miscellaneous/ike-groupid.txt`)
## 用法
./IkeAbuser.sh -t -pw -iw [options]
注意:除非你使用已知的 group ID 传递 `-id` 参数,在这种情况下会跳过 ID 暴力破解(及其字典),否则必须提供 `-iw` 参数。
### 选项
- `-t`, `--target`:目标 IP(必填)
- `-pw`, `--pwd_wordlist`:用于破解 PSK 的字典(必填)
- `-iw`, `--id_wordlist`:用于 group ID 的字典(如果你不传递 `-id` 则必填)
- `-id`, `--group_id`:group ID(如果你已经知道)。跳过 ID 暴力破解
- `-p`, `--port`:自定义 IKE 端口(如果不在 500/4500 上)
- `-vi`, `--vendor`:在输出中添加供应商信息和指纹识别
- `-o`, `--output`:将扫描结果的报告保存到文件中
- `-h`, `--help`:显示帮助信息
### 示例
你已经知道 ID:
./IkeAbuser.sh -t 10.10.11.87 -id ike@expressway.htb -pw /usr/share/wordlists/rockyou.txt (感谢 HTB)
你不知道,所以暴力破解它:
./IkeAbuser.sh -t 10.10.11.87 -iw /usr/share/seclists/Miscellaneous/ike-groupid.txt -pw /usr/share/wordlists/rockyou.txt
附带供应商信息并保存报告:
./IkeAbuser.sh -t 10.10.11.87 -id ike@expressway.htb -pw /usr/share/wordlists/rockyou.txt -vi -o report.txt
## 注意事项
- 供应商指纹识别 (`-vi`) 使用 ike-scan 的 backoff 检测,这可能需要一分钟的时间。请耐心等待,它并没有卡住。
- PSK hash 会被保存为 `ike_psk.hash`,这样如果第一次运行没有找到密码,你以后可以使用自己的规则或字典恢复破解过程。
标签:Cutter, IPSec, StruQ, VPN安全, 数字取证, 自动化脚本