Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pybof — Python module for running BOFs | Kitploit
Tools/GitHubGitHub/rkbennett/pybof
Post-ExploitationPenetration TestingRed Teaming
GitHubrkbennett/pybof

pybof

Python module for running BOFs

Repository anzeigen
8010vor 8 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

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

Ein rohes String-Argument an BOF übergeben

root@kitploit:~
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

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

Praktisches Ausführungsbeispiel

root@kitploit:~
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

root@kitploit:~
git clone https://github.com/rkbennett/pybof.git

Erstellen Sie die _bof C-Erweiterung

root@kitploit:~
cd pybof\src
python .\setup.py build

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

root@kitploit:~
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ß

root@kitploit:~
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