Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
COFFLoader — 通过解析 64 位 COFF 对象文件,在 Cobalt Strike 之外运行 Beacon 对象文件(BOF),并提供与 Beacon 兼容的参数生成及用于红队测试的辅助脚本。 | Kitploit
工具/GitHubGitHub/trustedsec/coffloader
后渗透利用渗透测试二进制分析红队Payload 开发
GitHubtrustedsec/coffloader

COFFLoader

通过解析 64 位 COFF 对象文件,在 Cobalt Strike 之外运行 Beacon 对象文件(BOF),并提供与 Beacon 兼容的参数生成及用于红队测试的辅助脚本。

查看仓库
6469251年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

COFF 加载器

这是一个快速且粗糙的 COFF 加载器(又名 Beacon 对象文件)。目前可以运行未修改的 BOF,因此可以在没有 CS agent 运行的情况下用于测试。唯一的例外是与注入相关的 beacon 兼容函数只是空的。

主要目标是提供一个可用的示例,也许对某些人有用。

组成部分

它由几个部分组成,如下所列。

  • beacon_compatibility:这是 beacon 内部函数,以便你可以加载 BOF 文件并运行它们。
  • COFFLoader:这是实际的 coff 加载器,当为 nix 构建时,只加载 64 位对象文件并解析它。
  • test:这是示例 “COFF” 文件,当执行 make 时会为你构建为 COFF 文件。
  • beacon_generate:这是一个辅助脚本,用于构建与 beacon_compatibility 函数兼容的字符串/参数。

Beacon Generate

这用于为 COFFLoader 代码生成参数,如果 BOF 需要参数,只需使用此工具添加预期类型的参数,并生成十六进制字符串以供使用。

用法示例如下:

root@kitploit:~
COFFLoader % python3 beacon_generate.py
Beacon Argument Generator
Beacon>help

Documented commands (type help <topic>):
========================================
addString  addWString  addint  addshort  exit  generate  help  reset

Beacon>addWString test
Beacon>addint 4
Beacon>generate
b'120000000a0000007400650073007400000004000000'
Beacon>reset
Beacon>addint 5
Beacon>generate
b'0400000005000000'
Beacon>exit

BOF 参数

你可以通过查看源代码来了解每个 BOF 需要哪些参数。以 Net User BOF 为例,你可以查看 CS-Situational-Awareness-BOF Github 仓库中的 src/SA/netuser/entry.c 文件,然后查看 void go() 函数中的参数。

root@kitploit:~
VOID go(IN PCHAR Buffer, IN ULONG Length)
{
    datap parser;
    wchar_t *username = NULL;
    wchar_t *domain = NULL;

    BeaconDataParse(&parser, Buffer, Length);
    username = (wchar_t *)BeaconDataExtract(&parser, NULL);
    domain = (wchar_t *)BeaconDataExtract(&parser, NULL);
    domain = *domain == 0 ? NULL : domain;
    netuserinfo(username, domain);

    printoutput(TRUE);
};

我们可以看到,我们的 Net User BOF 需要一个 “username” 和 “domain”(我们可以通过运行 whoami BOF 来获取)。使用 beacon_generate.py 辅助脚本,我们可以这样生成参数:

root@kitploit:~
COFFLoader % python3 beacon_generate.py
Beacon Argument Generator
Beacon>addWString Administrator
Beacon>addWString client2
Beacon>generate
b'340000001c000000410064006d0069006e006900730074007200610074006f00720000001000000063006c00690065006e00740032000000'
Beacon>exit

最后,将十六进制化的数值(仅数字)复制到你的执行命令中

root@kitploit:~
COFFLoader64.exe go ..\CS-Situational-Awareness-BOF\SA\netuser\netuser.x64.o 340000001c000000410064006d0069006e006900730074007200610074006f00720000001000000063006c00690065006e00740032000000

你可以在以下链接找到更详细的示例:
https://trustedsec.com/blog/situational-awareness-bofs-for-script-kiddies

运行

下面是一个如何运行 BOF 的示例。

root@kitploit:~
COFFLoader64.exe go test64.out
COFFLoader64.exe go ..\CS-Situational-Awareness-BOF\SA\whoami\whoami.x64.o
下载工具