lnk文件木马

最早出现是几年前, 最近几年貌似蛮流行的.
微软官方对lnk文件的介绍

phrozen的三篇文章:
shortcut as entrypoint of malware part1
shortcut as entrypoint of malware part2
shortcut as entrypoint of malware part2

主要内容概括:
第一篇讲到建立快捷方式, 然后在快捷方式目标栏利用系统内置
bitsadmin.exe 下载文件
第二篇讲到把一个EXE转成脚本中的数组, 然后将脚本放到目标栏中. lnk执行后, 执行脚本释放EXE并执行.
第三篇讲到把一个EXE用base64编码后, 写到lnk文件的尾部. 在lnk目标栏中的脚本功能为, 用findstr找到自身文件尾部base64编码后的PE文件的开始位置, 读取数据后用certutil解码后释放PE文件并运行.

第二篇的的限制是EXE文件不能太大, 因为EXE数据是转成脚本中的数组数据形式存在的, 所以填入目标栏会很长.
第三篇就解决了第二篇的限制, 因为它的数据是写在lnk文件的尾部, 所以就可以想多大就多大.

这边除了用cmd, 也还可以用powershell, 然后这两个东西的字符串混淆方式也很多, 所以想光靠静态检测目标栏字符串来判断lnk文件是否恶意就不靠谱.
有关混淆的, powershell混淆, cmd混淆

另外, 在目标栏前面写0x104个空格, 这样就可以隐藏你目标栏参数.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要创建 .lnk 文件,您需要使用 Windows 命令提示符或 PowerShell。 在命令提示符中,您可以使用以下命令: ``` mklink /H LinkName Target ``` 其中,LinkName 是您想要创建的快捷方式的名称,Target 是该快捷方式指向的目标文件的路径。 例如,如果您想要创建一个快捷方式,该快捷方式指向 C:\Program Files\MyApp\MyApp.exe,并将其命名为 "My App Shortcut",则可以使用以下命令: ``` mklink /H "My App Shortcut.lnk" "C:\Program Files\MyApp\MyApp.exe" ``` 在 PowerShell 中,您可以使用以下命令: ``` New-Item -ItemType SymbolicLink -Path LinkName -Value Target ``` 其中,LinkName 是您想要创建的快捷方式的名称,Target 是该快捷方式指向的目标文件的路径。 例如,如果您想要创建一个快捷方式,该快捷方式指向 C:\Program Files\MyApp\MyApp.exe,并将其命名为 "My App Shortcut",则可以使用以下命令: ``` New-Item -ItemType SymbolicLink -Path "My App Shortcut.lnk" -Value "C:\Program Files\MyApp\MyApp.exe" ``` 注意:在 PowerShell 中,您不需要使用 .lnk 后缀。 您可以使用以下步骤在 bat 文件中创建 .lnk 文件: 1. 打开文本编辑器,并输入以上命令。 2. 保存文件,并使用 .bat 后 ### 回答2: 要在bat文件中创建lnk文件,可以使用VBScript或PowerShell脚本来实现。以下是使用VBScript和PowerShell分别创建lnk文件的示例: 1. 使用VBScript: 创建一个新的文本文件,将以下代码复制到文件中,然后将文件的扩展名改为.vbs。 ``` Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:\路径\文件.lnk" '你想要创建的lnk文件的完整路径 Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "C:\路径\目标文件.exe" '要创建快捷方式的目标文件的完整路径 oLink.Save ``` 将上面的代码中的"C:\路径\文件.lnk"和"C:\路径\目标文件.exe"替换为你要的实际路径和文件名。保存并运行该vbs文件,即可创建lnk文件。 2. 使用PowerShell: 创建一个新的文本文件,将以下代码复制到文件中,然后将文件的扩展名改为.ps1。 ``` $TargetFile = "C:\路径\目标文件.exe" #要创建快捷方式的目标文件的完整路径 $ShortcutFile = "C:\路径\文件.lnk" #你想要创建的lnk文件的完整路径 $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($ShortcutFile) $Shortcut.TargetPath = $TargetFile $Shortcut.Save() ``` 将上面的代码中的"C:\路径\文件.lnk"和"C:\路径\目标文件.exe"替换为你要的实际路径和文件名。保存并运行该ps1文件,即可创建lnk文件。 ### 回答3: 要在bat文件中创建快捷方式(.lnk文件),你可以使用VBScript来实现。VBScript是一种基于微软的Visual Basic语言的脚本语言,可以用来操作Windows操作系统。以下是在bat文件中使用VBScript创建快捷方式的步骤: 1. 首先,在bat文件中添加以下命令来创建一个.vbs(VBScript)文件: ``` echo Set oWS = WScript.CreateObject("WScript.Shell") > createShortcut.vbs echo sLinkFile = "%USERPROFILE%\Desktop\Shortcut.lnk" >> createShortcut.vbs echo Set oLink = oWS.CreateShortcut(sLinkFile) >> createShortcut.vbs echo oLink.TargetPath = "%CD%\YourProgram.exe" >> createShortcut.vbs echo oLink.Save >> createShortcut.vbs ``` 2. 然后,使用以下命令在bat文件中运行这个.vbs文件: ``` cscript createShortcut.vbs ``` 上述步骤的详细解释如下: - 第一行命令用于创建VBScript对象:WScript.Shell。这个对象提供了创建和操作快捷方式的方法。 - 第二行命令用于设置快捷方式文件的路径和名称。上述命令中的路径是当前用户的桌面路径,你可以根据需要修改。 - 第三行命令创建了一个快捷方式对象。 - 第四行命令设置快捷方式的目标路径。上述命令中使用了`%CD%`表示bat文件当前所在的路径,你可以根据需要修改为任何路径。 - 第五行命令保存快捷方式。 最后,你可以在bat文件中添加调用`cscript createShortcut.vbs`的命令来运行VBScript文件,实现创建快捷方式的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值