Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
blacksandbeacon — Linux-C2-Beacon mit nativem In-Memory-ELF-BOF-Loader, AES-256-CFB-verschlüsseltem Polling und einem Python-C2-Server für dateilose Post-Exploitation-Module. | Kitploit
Tools/GitHubGitHub/grisuno/blacksandbeacon
Penetrationstest-FrameworksPrivilege EscalationVerschlüsselungs-/EntschlüsselungstoolsExploit-FrameworksPersistenzmechanismenShellcodePost-ExploitationCommand and ControlRed TeamingPayload-EntwicklungRemote-Access-Trojaner
15425vor 11 TagenNoch nicht geprüft
Binary-Exploitation
GitHubgrisuno/blacksandbeacon

blacksandbeacon

Linux-C2-Beacon mit nativem In-Memory-ELF-BOF-Loader, AES-256-CFB-verschlüsseltem Polling und einem Python-C2-Server für dateilose Post-Exploitation-Module.

Repository anzeigenWebseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Black Sand Beacon

Ein Linux-C2-Beacon mit einem nativen In-Memory-ELF-BOF-Loader, geschrieben in C ohne Go- oder Rust-Runtime. Entwickelt, um in das LazyOwn RedTeam-Framework integriert zu werden, und inspiriert von Cobalt Strike's Beacon Object Files.

Dieses Repository enthält:

  • Beacons in beacons/v1/, beacons/v2/, beacons/v3/ Drei Varianten desselben HTTPS/CFB-Beacons. v1 ist der kanonische Pull-Mode-Beacon. v2 fügt Mesh-/P2P-Discovery hinzu. v3 ist ein experimenteller Branch.
  • BOFs in bof/<name>/bof.c Positionsunabhängige ELF-Objekte, die der Beacon abrufen und im Speicher ausführen kann. Die fünf enthaltenen sind: whoami, is_sudo, cat, userenum, suid_enum.
  • C2-Server in c2/server.py Ein kleiner Python-Gopher-ähnlicher Server, der Befehle bereitstellt, Ergebnisse entgegennimmt und BOFs hostet.
  • Gemeinsame Bibliothek in include/ AES-256 standalone (aes.c/aes.h), cJSON, der Runtime- Konfigurationslader (config.c/config.h plus das Python- Pendant config_py.py) und die AES-256-CFB-Wrapper, die vom Beacon und den Tests gemeinsam genutzt werden.
  • Build in Makefile, CI in .github/workflows/ci.yml, Tests in tests/.

Für einen 5-minütigen End-to-End-Durchlauf siehe QUICKSTART.md. Für die BOF-Autorenanleitung siehe docs/BOF_AUTHORING.md. Für das C2-Wire-Protokoll siehe docs/PROTOCOL.md.

Voraussetzungen

Build (Debian/Ubuntu):

sudo apt-get install gcc libcurl4-openssl-dev libssl-dev make

Laufzeitumgebung für den C2-Server:

pip install -r requirements.txt

Build

make config        # one-time: copies config.example.json -> config.json
make beacon        # builds build/beacon (runnable, with build/config.json staged next to it)
make bofs          # builds all BOFs into build/bof/*.x64.o
make all-beacons   # builds v1, v2, v3
make test          # runs the full test suite
make clean         # removes build/

Nach make beacon ist die Binärdatei bereit zur Ausführung:

./build/beacon

Es liest build/config.json (neben sich selbst) über den binärrelativen Suchpfad, sodass weder BSB_CONFIG noch cd config/ erforderlich ist. Dieselbe Binärdatei, die auf einen anderen Host kopiert wird, funktioniert identisch, solange eine config.json daneben liegt.

Wenn Sie nur ein BOF neu bauen möchten:

make bof-whoami
make bof-suid_enum

Auf einen anderen Host bereitstellen (optional)

Für die Auslieferung an ein Ziel enthält das Makefile ein install-Target, das ein eigenständiges Verzeichnis bereitstellt:

make install-all DESTDIR=/tmp/deploy
scp -r /tmp/deploy/* user@target:/opt/bsb/
ssh user@target /opt/bsb/beacon

Dies ist nicht der normale Ablauf. Verwende ihn nur, wenn du die Binärdatei + Konfiguration + BOFs in einem einzigen Verzeichnis bündeln musst, das du an einen anderen Ort kopieren kannst.

Starte das C2

python3 c2/server.py

Der Server bindet standardmäßig an 0.0.0.0:7070 und liest seinen AES-Schlüssel sowie die C2-URI aus config/config.json. Der Konfigurationspfad kann mit BSB_CONFIG=/path/to/config.json überschrieben werden.

Sobald der Server läuft, können Befehle aus der REPL injiziert werden:

Client ID: linux
Command:   id

Den Beacon ausführen

./build/beacon

Der Beacon liest config/config.json (relativ zur Binary, gefunden über den binary-relativen Suchpfad), pollt das C2 und gibt aus, was er sendet und empfängt. Wenn keine Befehle in der Warteschlange stehen, schläft er einfach zwischen den Polls.

Um ein BOF auszuführen, gibt das C2 ein JSON-Objekt mit einem bof-Feld zurück, das auf /bof/<name>.x64.o verweist. Der Beacon ruft die Datei ab und lädt sie über den In-Memory-ELF-Loader (RunELF in beacons/v1/beacon.c) in seinen eigenen Prozess.

Konfiguration

Alle operativen Parameter befinden sich in config/config.json und werden beim Start gelesen. Nichts ist in die Binaries eingebrannt.

AbschnittSchlüsselStandardZweck
c2urlhttps://127.0.0.1:4444C2-Basis-URL
c2uri/api/poll/URI-Pfad vor der Client-ID
c2client_idlinuxBeacon-Bezeichner
cryptoaes_key_hex(Platzhalter)64 Hex-Zeichen = 32 Bytes
cryptomodecfbVerschlüsselungsmodus
timingsleep_seconds6Basis-Poll-Intervall
timingjitter_percent20+/- Prozent Jitter beim Schlafen
timingcurl_timeout_seconds10libcurl-Gesamt-Timeout
timingcurl_connect_timeout_seconds5libcurl-Verbindungs-Timeout
networkuser_agents(4 Strings)Rotationsliste
networkverify_tlsfalseC2-TLS-Verifikation
bofdownload_chunk_size4096BOF-Download-Puffer

Die CI führt eine Schutzprüfung aus, die den Build fehlschlagen lässt, wenn ein 64-Zeichen-Hex-Schlüssel im Quellcode erscheint. Echte Schlüssel gehören in config/config.json, die von Git ignoriert wird.

Ein neues BOF schreiben

Ein BOF ist einfach eine C-Quelldatei, die void go(char *args, int alen) exportiert. Binde bof/include/beacon_api.h für die Callback-API und bof/include/syscalls.h für Direct-Syscall-Helfer ein. Kompiliere es positionsunabhängig und ohne libc:

gcc -c -fPIC -nostdlib -m64 -O2 -I bof/include bof/<name>/bof.c -o build/bof/<name>.x64.o

Das Ziel make bof-<name> kapselt dies ein. Legen Sie die resultierende .x64.o in sessions/uploads/ auf dem C2-Host ab und lösen Sie sie aus, indem Sie einen Befehl wie bof:<name> aus Ihrer Befehls- injektion zurückgeben.

Siehe docs/BOF_AUTHORING.md für den vollständigen Vertrag.

Testen

make test

Die Testsuite ist in mehrere Dateien in tests/ aufgeteilt:

DateiWas sie abdeckt
test_config.pyC-JSON-Konfigurationslader: Standardwerte, Überschreibungen, Fehler
test_crypto.pyAES-256-CFB-Roundtrip und Python/C-Interop
test_bof_compile.pyJedes BOF kompiliert, exportiert go, hat kein libc-Leak
test_beacon_build.pyBeacon-Binary wird gebaut, stellt BOF-API + RunELF bereit
test_c2_server.pyC2-Dispatcher: GET/POST/BOF, Path-Traversal-Härtung
test_c2_http_e2e.pyEchter HTTP/1.1-Socket-Roundtrip mit Krypto
test_install_deploy.pymake-Workflow erzeugt einen lauffähigen Baum, make clean löscht ihn

Repository-Layout

beacons/
  v1/beacon.c        canonical beacon
  v2/beacon.c        mesh/p2p variant
  v3/beacon.c        experimental variant
bof/
  include/           shared BOF headers (beacon_api.h, syscalls.h)
  whoami/bof.c       sample: print effective UID
  is_sudo/bof.c      sample: check sudo/wheel membership
  cat/bof.c          sample: read a file
  userenum/bof.c     sample: list /etc/passwd users and privileges
  suid_enum/bof.c    privesc recon: walk FS, list SUID/SGID binaries
c2/
  server.py          Gopher-style C2 server
config/
  config.example.json  template (copy to config.json)
include/
  config.h, config.c  runtime config loader
  config_py.py        Python mirror for the C2
  aes.h, aes.c        standalone AES (ECB/CTR/CBC)
  aes_cfb.h, aes_cfb.c  AES-256-CFB the beacon actually uses
  cJSON.h, cJSON.c     vendored JSON parser
  beacon.h            BOF API the beacon implements
tests/
  test_*.py           Python test suite
  *_harness.c         C test harnesses
docs/
  PROTOCOL.md         wire protocol
  BOF_AUTHORING.md    BOF contract and gotchas
.github/workflows/
  ci.yml              build + test + key-leak guard
Makefile
requirements.txt      C2 server runtime deps

Lizenz

GPL v3. Siehe LICENSE.

Tool herunterladen