lnk
lnk文件是用于指向其他文件的一种文件。 这些文件通常称为快捷方式文件,通常它以快捷方式放在硬盘上,以方便使用者快速的调用。
lnk后门研究
在翻阅了大量资料以后,我总结出lnk后门主要存在两种形式:
- 为恶意进程创建快捷方式,并将其加入启动程序。
- 利用当前用户现有的快捷方式进行迷惑,达到既能开启原程序,又能执行恶意程序的效果。
SharPersist
这是一个由C#
语言开发的后门工具,功能非常全,他可以帮助我们实现快捷方式后门的利用。
项目地址:SharPersist
此工具不仅仅能创建快捷方式后门,其他的一些常见后门都是可以利用的,自行查看即可,这里就不再多做研究。
在使用此工具之前,需要目标机器配置好.Net_V4.0环境
,我使用的Win7靶机达不到此版本,所以需要下载.Net4.0
,下载地址:Microsoft .NET Framework 4
但后来我用了win10做实验。
否则运行时,会如下:
生成后门的命令如下:
SharPersist.exe -t startupfolder -c "cmd.exe" -a "/c C:\Windows\system32\calc.exe" -f "Internet Explorer" -m add
-t 选择的持久性技术
-a 执行命令的参数
-f 生成的文件名
由结果可以看出,其生成了一个lnk快捷方式,放置在此目录:
C:\Users\Gu\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
此目录中存放的是自启动软件.
生成了一个IE浏览器的快捷方式,我们右击
–>属性
,查看该快捷方式的目标:
C:\Windows\system32\cmd.exe /c C:\Windows\system32\calc.exe
很清楚的意思,利用cmd运行了calc。
原理
此后门的原理就是为恶意文件创建伪造了一个IE浏览器的快捷方式,并将其加入启动程序,当我们开机时,系统自动执行该快捷方式。
所以,在系统的设置
–>应用
–>启动
中,我们会看到一个cmd
的启动项。
绑定正常程序
上面的方法是系统自动运行的,那我们该如何诱导用户点击后门程序呢?
我看好了谷歌浏览器。
右击属性
,查看目标
:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
替换为cmd启动:
C:\Windows\System32\cmd.exe /c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
我尝试了很久,使用cmd命令似乎无法同时运行两个程序,如果要同时运行两个程序的话,似乎要写bat脚本了,但有些麻烦。
Powershell
我们可以利用powershell来完成两个应用的启动。
首先,右击谷歌浏览器快捷方式,点击属性
,查看目标
:
使用如下命令:
powershell.exe -c "invoke-item 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'; invoke-item c:\windows\system32\calc.exe"
程序启动路径含有空格的一定要带引号。
我们将此命令复制到谷歌浏览器快捷方式的属性目标中,就可以做到既启动谷歌浏览器又打开计算器的操作了。
解决问题
图标问题:
修改完目标
之后,图标成为如下:
解决方案:点击更改图标,选择谷歌文件夹中的谷歌图标即可。
启动小黑框问题:
启动过程如下:
在启动之前,会产生一个cmd窗口。
解决方案:将运行方式改为最小化即可。
不足
鼠标停滞在图标上显示如下,并且暂无解决方案,修改备注也没有效果。
总结
本篇只做快捷方式后门的基础研究,另外关于此后门的利用工具有很多,列下地址:
可自行探索研究。
参考文章:Persistence – Shortcut Modification
请勿用于非法用途!