我们没有邮件和注册即可领取邮件

不到一个月后,我们决定是时候根据我们在OFFZONE-2018的演出结果来撰写文章。 第一篇文章将根据FastTrack的报告“没有短信和注册的MS Exchange中继攻击”执行。

进行RedTeam时,必须强制使用网络钓鱼-您可以在外围建立出色的防护,但是某些用户会导致网络钓鱼,并给攻击者提供了立即进入网络的机会。 每个人都知道,对于网络钓鱼,他们主要使用指向用户需要单击的第三方站点的链接或带有宏的文档。 安全服务受到制裁的威胁会“培训”用户,他们说,在任何情况下都不要单击“启用内容”按钮。 原则上,成功是成功的-使用这种邮件的用户越来越少。 但是攻击者也不会停滞不前-网络钓鱼正变得越来越有趣。 客户还需要我们提供一些有趣的网络钓鱼邮件。 我们自己也对客户的员工被诱骗到网络钓鱼这一事实很感兴趣,我们可以向他们解释在收到信件时要寻找什么。

为什么要使用这些网络钓鱼方法?


许多公司将MS Exchange用作公司邮件服务器。 这对公司来说很方便,但对攻击者也很方便。 攻击者有兴趣从受害者的邮件发送消息,以及下载任何信件。 作为RedTeam,我们希望完全模仿攻击者的行为,并且我们希望对邮件执行相同的操作。 当然,在我们的情况下,邮件下载不完整,并且事先已通知客户。 对于机密信息,所有事物。

要执行这种操作,我们需要一个用户邮件会话。 首先要考虑的是如何拦截这样的会话。 我们决定使用较旧的NTLM中继(因为大多数公司仍在使用NTLM)。 是的,在Kerberos的情况下,它将无法正常工作-您可以关闭本文而不进一步阅读。

NTLM中继早已为人所知,并且有足够的实现方式。 我们也没有发明自行车,而是从Arno0x0x获得了GitHub的一种实现。 但是,一切并不是那么简单,我不得不添加一些内容。 即:

  • 使所有东西都可以与所有现代版本的Windows OS一起使用(不适用于win10和win server2016);
  • 使它与最后一个Impacket一起使用;
  • 添加方便的日志记录系统。

可以在我们的github上找到修改后的版本。

选择Microsoft Office文档作为传递容器,因为它们通常是通过公司邮件发送的,并且用户可以打开它们。 并且决定使用子文档(SubDocument),因为这是对文档的合法操作,并且没有防病毒软件会对此文件做出响应。 作为嵌套链接,您可以同时包含smb和http资源。 细节将在后面讨论。

如何创建网络钓鱼文档?


例如,考虑完全“干净”的文档mydoc3.docx,这是最常见的Microsoft Word文档。



任何Microsoft Office文档都是由xml组成的zip存档,最终形成了漂亮的文档。 为了制作附件文档,我们需要对扩展名为.rels的文件进行更改。 根据MS Office的版本,必须在document.xml.rels或settings.xml.rels中进行更改。 本文讨论Office 365并更改settings.xml.rels。



作为附件,我们提供了指向该附件的资源的链接。 在我们的示例中,附件文档位于smb资源\\ 127.0.0.1 \ subdoctest \



我们保存更改并打开收到的文档。 如果成功,文档将如下所示:



但是,以这种形式,它引起用户的怀疑。 您需要对其进行一些更改,然后尝试使用各种样式和白色字体颜色隐藏链接。



如此一来,我们收到了一个完全非可疑的文档,打开该文档时,Word本身将转到该资源,并随其注册为附件。

一切都会到哪里来?


该文档将在您的服务器上被敲(实际上,他们应该提供链接)。 该服务器可以是SMB服务器或HTTP服务器(请参见下面的情况)。 本文仅考虑从我们拦截了会话的用户的邮件发送消息的示例。

为了开始一切,最小的设置就足够了-最后的ImpacketMSExchangeRelay和Python2.7。
我们从以下命令开始一切:

python MsExchangeRelay.py -v -t https://exchange_addr/ews/exchange.asmx -r sendMail -d "example@email.com" -s Hello -m sampleMsg.html -o out.txt 

 exchange_addr –  exchange   example@email.com –           . -s Hello –   -m sampleMsg.html –  ,    -o out.txt –    . 

启动后,SMB和HTTP服务器在服务器上上升,它们正在等待与它们的连接。



成功建立连接后,您可以查看用户登录时使用的登录名和IP地址:



现在如何申请?


您可以在不同情况下使用此方法。

情况1。外部入侵者,客户有一个传出的445端口

在这种情况下,您可以使用指向smb资源的链接。 这种链接的全部魅力在于,Windows不想再次打扰用户,只要她可以自己处理。 因此,当您打开带有smb-resource的链接的文档时,Windows本身会将用户的域信用发送给该资源。 即,用户什么也没有发生。 用户打开文档。 仅此而已。 怀疑不会引起任何后果。 而且我们已经有一个自定义的电子邮件会话。
仍然发现开放端口445(尽管很少见)。 因此,我们也考虑并保留它。

案例2.内部入侵者


在这里,我们还将链接应用于smb资源。 如果成功拦截了会话,我们指示的信件将被发送到指示的邮寄地址。

情况3。外部入侵者和传出端口445已关闭


我们可以使用指向HTTP服务器的链接。 但是,在这种情况下,一切对用户而言都不是那么透明。 当您打开文档时,用户将在Windows中看到一个标准窗口,要求您输入用户名和密码。 可能会使用户感到困惑的时刻是evil_http_server域名-它应与客户的交换域名尽可能相似。

用户输入其积分后,我们得到他的会话并发送一封信。







而不是结论


NTLMRelay可以包装在不同的容器中,并提供完全不同的网络钓鱼用户方法。 尽管NTLM仍然存在,但这种攻击也仍然存在。 如此实验!

PS感谢OFFZONE-2018的组织者出色的会议!

Source: https://habr.com/ru/post/zh-CN432182/


All Articles