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
pybof — Python-Modul zum Ausführen von BOFs | Kitploit
Tools/GitHubGitHub/rkbennett/pybof
Post-ExploitationPenetrationstestsRed Teaming
GitHubrkbennett/pybof

pybof

Python-Modul zum Ausführen von BOFs

Repository anzeigen
80109vor 10 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PyBOF

Beacon Object-Dateien über Python ausführen

In-Memory-Laden und Ausführen von BOFs

PyBOF ermöglicht es Python3, Beacon Object Files per Bytes zu laden und eine Ziel-BOF-Funktion in einem Python-Interpreter auszuführen

Grundlegende Verwendung

Ein einfaches BOF ohne erforderliche Argumente ausführen

data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data)

Ein rohes String-Argument an BOF übergeben

data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data, args=["foo"], raw=True)
# Raw kann nicht mit dem Funktions-Kwarg verwendet werden

Gepackte/formattierte Argumente an BOF übergeben

data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data, args=[r"c:\users"], format="Z")

Praktisches Ausführungsbeispiel

import bof
from urllib.request import urlopen
data = urlopen("https://github.com/trustedsec/CS-Situational-Awareness-BOF/raw/master/SA/dir/dir.x64.o").read()
bof.run(data, args=[r"c:\users"], format="Z")

Args/Kwargs

Es gibt mehrere Argumente, die mit PyBOF verwendet werden können; diese werden unten genauer beschrieben

data

Erforderliches erstes Positionsargument, das ein Byte-Objekt sein muss, das die rohen Inhalte eines BOF enthält

args

Optionales Keyword-Argument, das eine Liste von Argumenten ist, die an die Ziel-BOF-Funktion übergeben werden sollen

function

Optionales Keyword-Argument, das den als String formatierten Namen der Zielfunktion angibt, die aus dem bereitgestellten BOF ausgeführt werden soll; standardmäßig go

format (HINWEIS - Diese wurden kürzlich aktualisiert)

Optionales Keyword-Argument ist ein String, der dem BOF-Argument-Packer die Argumenttypen mitteilt, während sie in den Puffer gepackt werden. Dies ähnelt dem format-Argument von struct.pack. Die einzigen gültigen Formatoptionen sind wie folgt:
i für Integer
s für Short
z für String
b für Binär
Z für Wide

Für jedes Argument in der args-Liste muss mindestens ein Formattyp angegeben werden. Dieses Keyword-Argument kann nicht zusammen mit raw verwendet werden

raw

Optionales Keyword-Argument ist ein Boolean, das Argumente als leerzeichenverbundenen String übergibt, ohne sie zu packen, anstatt zu versuchen, formatierte Argumente für die BOF-Funktion zu packen. Dieses Keyword-Argument kann nicht zusammen mit format verwendet werden

Erstellung

Klonen Sie dieses Repository

git clone https://github.com/rkbennett/pybof.git

Erstellen Sie die _bof C-Erweiterung

cd pybof\src
python .\setup.py build

Kopieren Sie die resultierende pyd-Datei in das bof-Verzeichnis

copy build\lib.win-xxx-cpython-3xx\_bof.cp3xx-win_xxxx.pyd ..\bof\

Wechseln Sie ins übergeordnete Verzeichnis des bof-Verzeichnisses, importieren Sie und haben Sie Spaß

cd ..\
python
>>> import bof
>>> from urllib.request import urlopen
>>> data = urlopen("https://github.com/trustedsec/CS-Situational-Awareness-BOF/raw/master/SA/dir/dir.x64.o").read()
>>> bof.run(data, args=[r"c:\users"], format="Z")

Stolperfallen

Wenn eine BOF-Funktion keinen Wert zurückgibt, gebe ich eine Warnung aus, die den Benutzer darauf hinweist, dass nichts zurückgegeben wurde. Ich gehe davon aus, dass dies wahrscheinlich nicht das beabsichtigte Ergebnis einer Ausführung ist, wollte aber keine harten Fehler werfen. Wenn Sie eine BOF-Funktion ausführen und die Warnung "keine Ausgabe" erhalten, denken Sie daran, dass Ihre Argumentformatierung möglicherweise definiert werden muss oder falsch definiert ist, was dieses Problem verursachen kann (insbesondere die Verwendung von String anstelle von Wide)

Besonderer Dank

  • natesubra - Für die Beantwortung meiner spontanen Fragen
  • trustedsec - Für den COFFLoader, den ich in mein PyBof-Modul integriert habe (Lizenz ist in src/source enthalten)
Tool herunterladen