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安全, 数字取证, 自动化脚本