shadowlnk-基于lnk劫持的权限维持及权限提升载体
字数 1527 2025-09-04 23:22:12

ShadowLnk工具使用指南:基于LNK劫持的权限维持与提权技术

一、技术背景与原理

1.1 传统权限维持手段的局限性

  • 注册表、启动项和计划任务等自动化权限维持手段被安全软件严格监控
  • 机器层面的自启动检测机制日趋完善,难以绕过现代安全防护

1.2 LNK劫持的优势

  • 利用人类交互而非纯自动化机制实现权限维持
  • 通过劫持用户常用快捷方式实现持久化
  • 每次用户正常操作时自动执行恶意载荷
  • 相比纯技术手段更难以被安全软件检测

二、基础LNK钓鱼技术分析

2.1 基本攻击流程

  1. 创建隐藏文件夹(如__MACOSX
  2. 在隐藏文件夹中放置BAT脚本
  3. 创建指向BAT脚本的LNK快捷方式
  4. 用户点击看似正常的文件时触发恶意操作

2.2 典型BAT脚本内容

@echo off
cd /d %~dp0
move /Y 1.exe "C:\Users\Public\Documents\1.exe"
start "" "C:\Users\Public\Documents\1.exe"
timeout /t 1 /nobreak >nul
start "" "1.docx"
taskkill /f /im cmd.exe

2.3 基础方案的缺陷

  1. BAT脚本组合操作易触发杀软报警
  2. 执行时会出现短暂黑框(命令提示符窗口)
  3. 隐蔽性不足

2.4 改进方案:VBS无窗口执行

使用VBS脚本调用BAT,避免黑框出现:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run ".\__MACOSX\1.bat", 0, False

简化后的BAT脚本:

@echo off
cd /d %~dp0
start "" "1.exe"
start "" "1.docx"
taskkill /f /im cmd.exe

三、ShadowLnk工具详解

3.1 工具核心功能

  • 自动化劫持现有LNK快捷方式
  • 维持原始图标和外观
  • 实现无感权限维持和提权

3.2 基本使用参数

参数 描述 示例
-i 指定要劫持的LNK目标 -i "C:\Users\user\Desktop\Chrome.lnk"
-w 指定可写目录(用于创建隐藏文件夹) -w "C:\Users\Public\Documents"
-p 指定恶意载荷位置 -p "C:\payload.exe"

3.3 工具工作流程

  1. 解析目标LNK的原指向
  2. 从原PE文件提取ICO图标
  3. 在指定目录创建隐藏文件夹(系统+隐藏属性)
  4. 生成三个文件:
    • ICO:从原程序剥离的图标
    • VBS:用于无窗口执行BAT
    • BAT:用于执行载荷
  5. 使用提取的ICO生成伪造LNK
  6. 替换原始LNK文件

3.4 高级参数

  1. 批量劫持模式 (-r)

    • 自动替换桌面所有LNK文件
    • 注意:可能触发安全软件对系统关键LNK的检测
    • 建议:针对性劫持常用应用而非全部
  2. 权限提升模式 (-power)

    • 修改VBS脚本触发UAC提权
    • 利用微软程序身份降低用户警惕
    • 适用场景:需要管理员权限的持久化

四、防御与检测建议

4.1 攻击特征

  • 异常隐藏文件夹(特别是包含系统属性)
  • LNK文件指向位置变更
  • 常见应用突然请求管理员权限
  • 短时间内多个LNK文件被修改

4.2 防御措施

  1. 禁用LNK文件自动执行(通过组策略)
  2. 监控关键目录LNK文件变更
  3. 限制普通用户对公共目录的写入权限
  4. 教育用户识别异常UAC请求

4.3 检测方法

  1. 使用dir /a命令查看隐藏文件
  2. 检查LNK文件属性中的目标路径
  3. 监控wscript.execmd.exe的异常调用
  4. 审计系统日志中的文件创建/修改事件

五、项目信息与法律声明

  • 项目地址:https://github.com/wackymaker/shadowlnk
  • 本文仅用于安全研究与防御技术学习
  • 禁止用于非法用途

六、技术总结

ShadowLnk代表了一种新型的权限维持思路,它巧妙地将技术手段与人类行为模式相结合,突破了传统自动化机制的检测限制。这种技术提醒我们:

  1. 安全防御需要同时考虑技术和人为因素
  2. 持久化攻击正向着更隐蔽、更"自然"的方向发展
  3. 单纯的自动化检测难以应对基于正常用户操作的攻击
  4. 防御体系需要从端点检测扩展到用户行为分析

安全从业者应当从这种技术中学习攻击者的创新思维,同时完善防御策略,构建更全面的安全防护体系。

ShadowLnk工具使用指南:基于LNK劫持的权限维持与提权技术 一、技术背景与原理 1.1 传统权限维持手段的局限性 注册表、启动项和计划任务等自动化权限维持手段被安全软件严格监控 机器层面的自启动检测机制日趋完善,难以绕过现代安全防护 1.2 LNK劫持的优势 利用人类交互而非纯自动化机制实现权限维持 通过劫持用户常用快捷方式实现持久化 每次用户正常操作时自动执行恶意载荷 相比纯技术手段更难以被安全软件检测 二、基础LNK钓鱼技术分析 2.1 基本攻击流程 创建隐藏文件夹(如 __MACOSX ) 在隐藏文件夹中放置BAT脚本 创建指向BAT脚本的LNK快捷方式 用户点击看似正常的文件时触发恶意操作 2.2 典型BAT脚本内容 2.3 基础方案的缺陷 BAT脚本组合操作易触发杀软报警 执行时会出现短暂黑框(命令提示符窗口) 隐蔽性不足 2.4 改进方案:VBS无窗口执行 使用VBS脚本调用BAT,避免黑框出现: 简化后的BAT脚本: 三、ShadowLnk工具详解 3.1 工具核心功能 自动化劫持现有LNK快捷方式 维持原始图标和外观 实现无感权限维持和提权 3.2 基本使用参数 | 参数 | 描述 | 示例 | |------|------|------| | -i | 指定要劫持的LNK目标 | -i "C:\Users\user\Desktop\Chrome.lnk" | | -w | 指定可写目录(用于创建隐藏文件夹) | -w "C:\Users\Public\Documents" | | -p | 指定恶意载荷位置 | -p "C:\payload.exe" | 3.3 工具工作流程 解析目标LNK的原指向 从原PE文件提取ICO图标 在指定目录创建隐藏文件夹(系统+隐藏属性) 生成三个文件: ICO:从原程序剥离的图标 VBS:用于无窗口执行BAT BAT:用于执行载荷 使用提取的ICO生成伪造LNK 替换原始LNK文件 3.4 高级参数 批量劫持模式 ( -r ) 自动替换桌面所有LNK文件 注意:可能触发安全软件对系统关键LNK的检测 建议:针对性劫持常用应用而非全部 权限提升模式 ( -power ) 修改VBS脚本触发UAC提权 利用微软程序身份降低用户警惕 适用场景:需要管理员权限的持久化 四、防御与检测建议 4.1 攻击特征 异常隐藏文件夹(特别是包含系统属性) LNK文件指向位置变更 常见应用突然请求管理员权限 短时间内多个LNK文件被修改 4.2 防御措施 禁用LNK文件自动执行(通过组策略) 监控关键目录LNK文件变更 限制普通用户对公共目录的写入权限 教育用户识别异常UAC请求 4.3 检测方法 使用 dir /a 命令查看隐藏文件 检查LNK文件属性中的目标路径 监控 wscript.exe 和 cmd.exe 的异常调用 审计系统日志中的文件创建/修改事件 五、项目信息与法律声明 项目地址:https://github.com/wackymaker/shadowlnk 本文仅用于安全研究与防御技术学习 禁止用于非法用途 六、技术总结 ShadowLnk代表了一种新型的权限维持思路,它巧妙地将技术手段与人类行为模式相结合,突破了传统自动化机制的检测限制。这种技术提醒我们: 安全防御需要同时考虑技术和人为因素 持久化攻击正向着更隐蔽、更"自然"的方向发展 单纯的自动化检测难以应对基于正常用户操作的攻击 防御体系需要从端点检测扩展到用户行为分析 安全从业者应当从这种技术中学习攻击者的创新思维,同时完善防御策略,构建更全面的安全防护体系。