# windows
微软在2022年7月为了帮助用户保持安全,在Office中默认阻止了internet宏。
阻止从Internet下载的文档中的VBA宏。
接下来我们来了解一下MOTW标记,其实就是网络标记。
什么是MOTW标记?
MOTW全名Mark of the Web,他是windows操作系统中的一个安全特性,为了帮助用户在处理下载文件时提供更多的安全保障设计的。
MOTW标记是一种XML注释,可以将其添加到文件的头部,以指示该文件是从internet上下载的,这个标记告诉Windows操作系统,该文件来自互联网,并提醒用户在打开文件时要小心。例如,当用户双击打开一个包含MOTW标记的文件时,Windows会显示一个警告,提醒用户该文件可能不安全,并询问用户是否确实要打开它。
MOTW标记的目的是增强安全性,帮助用户警惕可能包含潜在风险的文件。这对于防止恶意软件传播和保护系统安全非常有用。
所以一般如果我们互联网上下载的文件有可能会被打上这个标记,例如显示这个文件来自另一台计算机,Unbland可能会被阻止以帮助保护他的计算机。
那么我们如何去逃避呢?
逃避MOTW标记
针对于逃避MOTW标记,我们可以使用某些容器来搭载我们从互联网上下载的恶意软件,有些容器他不会MOTW标记传播到内部文件。
使用镜像文件进行逃避,例如ISO文件,IMG文件,DMP文件。
也可以使用CAB文件,CAB 文件是一种 Microsoft Windows 上常见的存档文件格式。
CAB 文件通常用于将一组文件打包成单个文件,以便于在 Windows 系统中进行分发、安装或存档。这种格式在安装 Windows 软件、更新、驱动程序等方面非常常见。CAB 文件通常可以通过 Windows 的内置工具或者第三方解压软件进行解压缩。
我们可以使用windows自带的工具来进行压缩文件,首先需要创建一个txt文件,里面要写你自己要压缩的文件路径。
然后使用makecab来进行压缩。
makecab /F .\cab.txt
如上图就压缩好了,然后我们就可以直接双击进行解压。
也可以通过WMI文件格式来作为容器,WIM文件是一种 Windows 映像文件格式,用于捕捉、存储和部署 Windows 操作系统的映像。WIM 文件通常用于 Windows 安装介质和部署工具(如 Windows 部署服务、MDT 等)中。
如果我们先将文件压缩成WIM文件的话,我们可以使用Windows自带的工具Dism.exe。
也可以通过7zip直接压缩。
现在让我们来手动压缩一下:
Dism /Capture-Image /ImageFile:C:\Users\Administrator\Downloads\relaysec.wim /CaptureDir:C:\Users\Administrator\Downloads /Name:"relaysec" /Description:"Files to deploy"
这里简单来解释一下这几个参数:
/ImageFile: 指定输出的 WIM 文件名
/CaptureDir: 指定要捕捉为映像的文件夹
/Name: 指定映像的名称
/Description: 关于影响的描述
如下图成功创建:
创建的wim文件就是ImageFile指定的路径。
尝试解压:
可以看到压缩包中的文件。
复杂感染链
这里其实指的是钓鱼链,例如我们之前说到过的zip->lnk->白程序->黑dll->shellcode。
所以只是一组链接文件,这些文件将被很好的链接在一块,从而导致被感染。
如下例子:
我们可以通过发送邮件的方式里面嵌入链接,或者在PDF中嵌入链接,需要注意的是这里嵌入的链接是HTML走私的页面,目标访问HTML走私页面获取到ISO恶意文件载体,然后通过ISO解压,通过lnk去执行我们的木马。
如下链:
email ⏩ HTML走私 ⏩ lnk ⏩ dll ⏩ shellcode
那么也就是说无论是HTML走私还是说SVG走私都是可以的。
接下来我们可以尝试使用webdav去钓鱼,这种方式其实公众号是发过的。
参考如下:
https://mp.weixin.qq.com/s/q4MyZKF8ed_WSz_PF2NCRg
针对于容器载体的话,一般我们会选择ISO/IMG文件,因为可以包含我们隐藏的文件,或者ZIP文件以及wim文件都是可以的,这些我们上面介绍过。
恶意文件触发
针对于恶意文件触发,我们有很多种方式,例如lnk文件,或chm文件。一般lnk文件会去运行cmd或者powershell或exe文件。
那么对于chm文件来说就比较笨重了,而且查杀会相对严重一点。
有些文件既可以充当恶意载体也可以进行恶意文件触发。
例如MSI文件,在安装的过程中触发恶意文件或执行相关命令。
包括我们前面所说的ClickOnce也可以进行远程加载恶意文件。 只是需要注意INSTALL=TRUE。
Payload
针对于payload有几种方式:
-
白加黑的方式,就是白程序加黑dll的方式。
-
直接或间接去加载dll,例如rundll32.exe shell32.dll,函数 evil.cpl
-
MSI文件
-
MSI + .MST文件
-
ClickOnce
-
宏文档
-
html走私->ISO->autoit3.exe -> .au3 + pdf
接下来我们尝试使用第七种触发链。
这里的.au3脚本非常简单。
就是一个弹窗的代码。
然后我们尝试使用autoit64.exe去执行即可。
现在我们需要将其写到lnk文件中。
C:\Windows\System32\cmd.exe /c au.exe msgbox.au3
这里有一个简单的技巧,一般我们直接使用cmd.exe /c
去调用的时候会有一个黑窗口,这里我们可以将运行方式改为最小化,就没有了。
这里我们可以选一下图标。
还是我们之前所说的。
因为我这里虚拟机没有装pdf解析器,所以这里使用计算器代替。
接下来我们就需要将这三个文件打成ISO文件了。
python PackMyPayload.py c:\Users\Administrator\Desktop\payload c:\Users\Administrator\Desktop\payload.iso --hide au.exe,msgbox.au3
获取到ISO文件之后。
我们需要来进行HTML走私。
python smuggler.py c:\Users\Administrator\Desktop\payload.iso c:\Users\Administrator\Desktop\payload.html -M
然后尝试打开html文件。
一般我们会将html文件放置到我们的机器上来做。
这里为了方便就直接打开了。
下载之后就可以直接打开了。
可以看到这里只会显示这一个文件。
成功执行
一般我们在执行我们的恶意文件的之后也要去执行正常的文件,这样比较合理一点。
这里其实就可以使用到 | 这个符合,也就是或的意思。
例如:
C:\Windows\System32\cmd.exe /c au.exe msgbox.au3 | report.pdf
还有一点需要注意的是,尽量不要使用cmd去运行你的恶意软件,尽量采用LOLBIN的方式。
conhost --headless forfiles.exe /p c:\windows\system32 /m user32.dll /c "<hex-encoded-cmd /c>" /c beacon.exe | report.pdf
conhost --headless forfiles.exe /p c:\windows\system32 /m user32.dll /c "<hex-encoded-cmd /c>" /c report.pdf| beacon.exe
我们可以来看看如上命令使用到的进程链:
可以看到这里其实跑的是conhost.exe。
一般我们会去做一个白加黑的方式去加载:
HTML走私 ⏩ ISO ⏩ lnk ⏩ 白程序 ⏩ 黑dll ⏩ shellcode
原创 relaysec Relay学安全