Skip to content

Latest commit

 

History

History
54 lines (42 loc) · 2.01 KB

README.md

File metadata and controls

54 lines (42 loc) · 2.01 KB

ScreenshotBOF

An alternative screenshot capability for Cobalt Strike that uses WinAPI and does not perform a fork & run. Screenshot downloaded in memory.

Release 2.0

  • JPEG is used in place of BMP
  • Moved to mingw
  • Added beacon screenshot callback option
  • Removed BMP renderer (it will be missed)
  • Supports capturing of minimized windows

Self Compilation

  1. git clone the repo
  2. run make

Save methods:

  1. drop file to disk
  2. download file over beacon (Cobalt Strike only)
  3. download file over beacon as a screenshot (Cobalt Strike only)

PID

0: capture full screen (PID = 0) specific PID: capture specific PID (works even when minimized!)

Usage

  1. import the screenshotBOF.cna script into Cobalt Strike
  2. use the command screenshot_bof {local filename} {save method 0/1/2} {pid/0}
beacon> screenshot_bof file.jpg 2 21964
[*] Running screenshot BOF by (@codex_tf2)
[+] host called home, sent: 12421 bytes
[+] received output:
Downloading JPEG over beacon as a screenshot with filename file.jpg
[*] received screenshot of Screenshot from Admin (26kb)
[+] received output:
Screenshot saved/downloaded successfully

Notes

  • no evasion is performed, which should be fine since the WinAPIs used are not malicious

Why did I make this?

Cobalt Strike uses a technique known as fork & run for many of its post-ex capabilities, including the screenshot command. While this behaviour provides stability, it is now well known and heavily monitored for. This BOF is meant to provide a more OPSEC safe version of the screenshot capability.

Credits

Disclaimer

usual disclaimer here, I am not responsible for any crimes against humanity you may commit or nuclear war you may cause using this piece of poorly written code.