导语:Microsoft Office中的文档属性通常包含与文档和各种其他元数据详细信息相关的信息。但是,此位置可用于存储并执行SMB或HTTP服务器上托管的有效载荷的命令。这将在鱼叉式网络钓鱼或红队评估期间为攻击者提供一些网络的初始访问权限。
Microsoft Office中的文档属性通常包含与文档和各种其他元数据详细信息相关的信息。但是,此位置可用于存储并执行SMB或HTTP服务器上托管的有效载荷的命令。这将在鱼叉式网络钓鱼或红队评估期间为攻击者提供一些网络的初始访问权限。
Metasploit SMB交付模块可用于通过SMB服务器以DLL文件和PowerShell的形式提供有效载荷。
exploit/windows/smb/smb_delivery
该模块可以通过以下参数轻松配置:
Metasploit SMB传输有效载荷配置
将生成需要在目标上执行的命令,服务器将开始等待连接传入。
Metasploit SMB传输载荷
由于有效载荷是一个DLL文件,Rundll32实用程序需要执行这个DLL文件。上面的命令需要添加到Word文档的注释部分。
Word文档属性 – 有效载荷
该文档必须包含一个宏,执行后将触发在注释区域添加的命令。
Sub pentestlab() Dim p As DocumentProperty For Each p In ActiveDocument.BuiltInDocumentProperties If p.Name = "Comments" Then Shell (p.Value) End If Next End Sub
文档属性 – Word宏
当用户打开启用宏的Word文档并运行它时,会打开一个Meterpreter会话。
Metasploit SMB交付模块——Meterpreter会话
可以通过执行以下命令与会话的开始交互:
sessions sessions -i 1
Metasploit SMB交付模块的会话
Metasploit SMB交付的 Meterpreter Shell
有一种替代方案是可以通过PowerShell来实现相同的目的。
SMB交付模块生成PowerShell攻击载荷
该模块将生成一个代理感知的PowerShell命令,它将从UNC路径运行有效载荷。
Metasploit SMB交付模块生成PowerShell载荷
同样,生成的PowerShell命令将需要导入到Word文档的注释中。
文档属性中的PowerShell有效内容
当宏执行时,将打开Meterpreter会话。
Metasploit SMB 交付模块——通过PowerShell Payload的Meterpreter Shell
对于在员工主机中执行深度数据包检查的企业或组织,Metasploit Web交付模块可以为PowerShell有效载荷提供服务,并使用自定义证书来封装所有通信。这将使这种攻击在鱼叉式钓鱼场景中更加有效。
exploit/multi/script/web_delivery
Metasploit Web 交付模块——通过文档属性获取的Meterpreter
结论
这种技术提供了一种简单的方法在Microsoft Office文档的文档属性中来隐藏恶意命令。触发有效载荷的宏不会被认为是恶意的宏,文档文件的注释部分也不会被各种杀毒软件进行检查,因为很多杀软是通过将文档上传到VirusTotal来进行检测的。
病毒查杀总结果 —— 文档属性中的有效载荷
因此,如果目标用户以某种方式确信打开并运行了宏,那么唯一能阻止这种攻击的是一个主机入侵防御系统,它将丢弃Meterpreter连接,因为没有任何东西接触到磁盘。但是可以通过使用证书来加密连接来避开HIPS。有关此技术的详细信息,请参阅文章:绕过防病毒和主机入侵防御系统。