植入端 Agent
🐋 注意
在生成Agent前请确保已经创建了监听器
配置生成 Gernation
Agent有很多功能和配置项,可在生成界面进行设置:
配置项 Configuration
对于其中的配置说明如下:
字段 | 类型 | 默认值 | 可选参数 | 描述 |
---|---|---|---|---|
Filename | string | / | / | 文件名 |
Platform | string | wiindows/amd64 | 参见支持的平台架构 | 平台 |
Args | []string | / | / | 参数(保留字段) |
Sleep | int | 3 | / | 休眠时长 |
Jitter | float | 0.2 | / | 抖动系数 |
OutputType | string | exe | exe, elf, dll, shellcode | 输出类型 |
ShellcodeIndex | string | bin | py, go. rs, cs, c, ps1 | shellcode索引 |
Compiler | string | go | go, garble | 编译器 |
UseUpxAndPatcher | bool | false | true, false | 是否使用upx和patcher(仅二进制文件) |
CompressorAlgorithm | int | 6 | 参见压缩算法选项 | 压缩算法 |
Stage | bool | false | true, false | 是否使用二阶段Agent |
ShellcodeUrl | string | / | / | shellcode下载地址 |
LoadMethod | string | AdsMemLoad | 参见加载方式选项 | 加载方法 |
BindIcon | string | / | / | 设置图标(为空不使用) |
BindFile | string | / | / | 文件捆绑(为空不使用) |
FakeSign | string | / | / | 伪造签名(为空不使用) |
AntiSandBox | []string | [BeepSleep, HideWindow] | 参见反沙箱选项 | 反沙箱 |
支持的平台架构 Platform
支持的平台如下:
- windows/amd64
- windows/arm64
- linux/amd64
- linux/arm64
- macos/amd64
- macos/arm64
压缩算法选项 Compressor
使用gonut转shellcode, 使用-z
来指定参数,详细可从这里查阅。
序号 | 选项 | 描述 |
---|---|---|
1 | None | 不压缩 |
2 | aPLib | experimental, 速度较慢 |
3 | LZNT1 (RTL) | experimental, Windows only |
4 | Xpress (RTL) | experimental, Windows only |
5 | LZNT1 | experimental |
6 | Xpress | experimental |
加载方式选项 LoadMethod
💤💤💤
Will be soon…
反沙箱选项 AntiSandBox
选项 | 值 |
---|---|
BeepSleep延时 | BeepSleep |
隐藏黑框 | HideWindow |
系统启动时间是否大于30分钟 | BootTime |
CPU数量是否大于4 | CPUCount |
是否虚拟机 | IsVirtualMachine |
检测壁纸MD5 | WallPaperMD5 |
语言是否为中文 | Languages |
是否为北京时间 | TimeZone |
桌面文件数量是否大于10 | DesktopFileCount |
物理内存是否大于8G | PhysicalMemory |
源文件名和进程名是否相同 | ProcessName |
微信是否存在 | |
… | … |
自定义 Custom
UDRL
支持用户自定义功能(要求符合编写规范), 并编译成dll通过sRDI转化为shellcode并注入到牺牲进程中反射执行 go语言模板如下:
package main
import "C"
import "fmt"
// export Hi
func Hi(v0, v1 *C.char) *C.char {
return C.CString(fmt.Sprintf("Hi, %s, here is %s", C.GoString(v0), C.GoString(v1)))
}
func main() {}
c语言模板如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Hi(char *v0, char *v1) {
printf("Hi, %s, here is %s\n", v0, v1);
}
使用示例:(加载mimikatz)
BOF/COFF
兼容cs的bof, 可按照其要求编写bof来自定义拓展命令库,
编译
x86_64-w64-mingw32-gcc-8.1.0.exe -c .\Source.c -o timestamp.o -Os -fno-asynchronous-unwind-tables -fno-ident -fpack-struct=8 -falign-functions=1 -s -ffunction-sections -fdata-sections -fno-exceptions -fno-stack-protector -mno-stack-arg-probe
测试示例(详细内容可跳转blog查看):