MEhrn00/boflink

GitHub: MEhrn00/boflink

Rust 编写的 Beacon Object Files 专用链接器,支持多编译器集成与跨平台 BOF 开发。

Stars: 159 | Forks: 15

# Boflink [![GitHub 许可证](https://img.shields.io/github/license/MEhrn00/boflink)](https://github.com/MEhrn00/boflink/blob/main/LICENSE) [![GitHub 发布版本](https://img.shields.io/github/v/release/MEhrn00/boflink)](https://github.com/MEhrn00/boflink/releases/latest) 用于 Beacon Object Files 的链接器。 - [安装](#installation) - [用法](#usage) - [示例](#examples) ## 安装 需要:[Rust](https://www.rust-lang.org/tools/install) >=1.85.0 ``` rustc --version ``` ### 从源码构建 ``` git clone https://github.com/MEhrn00/boflink.git cd boflink cargo xtask install # 对于 LTO 构建 cargo xtask install -p release-lto ``` ## 用法 ### 独立使用 ``` boflink [-o ] [options] ... boflink -o mybof.bof -L/path/to/windows/libs -lkernel32 -ladvapi32 source.c object.o ``` ### 在 Linux 上使用 MinGW GCC 可以使用 MinGW GCC 调用 boflink,利用其配置的链接库和库搜索路径。 ``` x86_64-w64-mingw32-gcc -B ~/.local/libexec/boflink -fno-lto -nostartfiles ... x86_64-w64-mingw32-gcc -B ~/.local/libexec/boflink -fno-lto -nostartfiles -o mybof.bof source.c object.o ``` ### 在 Linux 上使用 Clang 可以使用 Clang 调用 boflink,利用其配置的链接库和库搜索路径。 ``` clang --ld-path=/path/to/boflink --target=x86_64-windows-gnu -nostartfiles ... clang --ld-path=/path/to/boflink --target=x86_64-windows-gnu -nostartfiles -o mybof.bof source.c object.o ``` ### 在 Windows 上使用 MSVC Windows 需要在 Visual Studio Developer Console 中运行 boflink 可执行文件。 ``` boflink ... boflink -o mybof.bof object1.o object2.o -lkernel32 -ladvapi32 ``` ## 示例 更多示例可以在 [examples/](examples/) 目录中找到。 ## 博客文章 https://blog.cybershenanigans.space/posts/boflink-a-linker-for-beacon-object-files/
标签:BOF, Clang, Cobalt Strike, CyberSec, DNS 反向解析, MinGW, RFI远程文件包含, Rust, Windows 安全, XML 请求, 中高交互蜜罐, 代码编译, 可视化界面, 安全开发, 安全意识培训, 恶意软件开发, 攻击诱捕, 欺骗防御, 红队基础设施, 网络流量审计, 通知系统, 链接器, 静态链接