LexiCrypt
LexiCrypt是一种 shellcode 混淆和编码工具,可将原始 shellcode 字节转换为源自 Windows system32 目录中文件名的单词“词典”。然后可以将生成的编码输出嵌入到各种编程语言(例如 C++、Rust、C#、Go、VBScript/WScript)的代码模板中。这种方法可以帮助伪装 shellcode 并可能绕过简单的检测机制。
工作原理
1.单词列表生成:
LexiCrypt 扫描目录(默认情况下C:\Windows\System32)以收集大量唯一文件名(无扩展名)。从这些文件名中,它会选择并打乱 256 个唯一单词。每个唯一单词都映射到一个字节(0x00到0xFF)。
2.Shellcode 编码:
给定一个原始 shellcode 文件(例如,机器代码的二进制块),LexiCrypt 会将每个字节替换为 256 个单词词典中的相应单词。例如,如果字节0x41对应于单词,则在编码输出中"notepad"将该字节替换为。"notepad"
3.输出模板:编码后,LexiCrypt 会生成一个包含编码单词
和词典的代码模板。根据所选的语言模板(例如cpp,、、、、和),它会生成一个可编译(或运行)的代码片段。此代码片段(TLDR 基本 CreateThread 进程注入):rust
csharp
go
wsh
powershell
在运行时将基于字的 shellcode 解码回字节数组。
分配可执行内存。
VirtualAlloc通过和CreateThread(在 Windows 上)复制并执行解码的 shellcode 。
特征
多语言模板:目前支持 C++、Rust、C#、Go 和 VBScript/WScript 模板输出。
自动词汇表生成:从系统文件名动态生成 256 个单词的词典。
验证步骤:自动验证编码的 shellcode 是否正确解码回原始字节。
项目地址:
https://github.com/tehstoni/LexiCrypt
感谢您抽出
.
.
来阅读本文
点它,分享点赞在看都在这里