Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pybof — Loader Python in memoria per Beacon Object Files che esegue payload COFF, con supporto per argomenti packed/raw per workflow di red-team e post-exploitation. | Kitploit
Strumenti/GitHubGitHub/rkbennett/pybof
Post-ExploitPenetration TestingRed Teaming
GitHubrkbennett/pybof

pybof

Loader Python in memoria per Beacon Object Files che esegue payload COFF, con supporto per argomenti packed/raw per workflow di red-team e post-exploitation.

Vedi Repository
80108 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

PyBOF

Esegui i Beacon Object Files tramite Python

caricamento ed esecuzione in memoria di BOF

PyBOF consente a Python3 di caricare Beacon Object Files tramite byte ed eseguire una funzione BOF target in un interprete Python

Utilizzo di base

Esegui un semplice BOF senza argomenti obbligatori

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

Passa un argomento stringa grezzo al BOF

root@kitploit:~
data = open(r'c:\path\to\example.o', 'rb').read()
bof.run(data, args=["foo"], raw=True)
# Raw cannot be used with function kwarg

Passa argomenti impacchettati/formattati al BOF

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

Esempio pratico di esecuzione

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

Ci sono diversi argomenti che possono essere usati con PyBOF, descritti più in dettaglio qui sotto

data

Primo argomento posizionale obbligatorio, deve essere un oggetto byte che contiene il contenuto grezzo di un BOF

args

Argomento keyword opzionale che è una lista di argomenti da passare alla funzione BOF target

function

Argomento keyword opzionale che è il nome formattato come stringa della funzione target da eseguire dal BOF fornito, il valore predefinito è go

format (NOTA - Questi sono stati recentemente aggiornati)

L'argomento keyword opzionale è una stringa che informa il packer degli argomenti del BOF sui tipi di argomento mentre vengono impacchettati nel buffer. È simile all'argomento format di struct.pack. Le uniche opzioni di formato valide sono le seguenti:
i per intero
s per short
z per stringa
b per binario
Z per wide

Almeno un tipo di formato deve essere fornito per ogni argomento nella lista args. Questo argomento keyword non può essere usato insieme a raw

raw

Argomento keyword opzionale che è un booleano che passa gli args come stringa unita da spazi senza impacchettarla, invece di tentare di impacchettare argomenti formattati per la funzione BOF. Questo argomento keyword non può essere usato insieme a format

Compilazione

Clona questo repository

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

Compila l'estensione C _bof

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

Copia il file pyd risultante nella directory bof

root@kitploit:~
copy build\lib.win-xxx-cpython-3xx\_bof.cp3xx-win_xxxx.pyd ..\bof\

Spostati nella directory padre della directory bof, importa e divertiti

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")

Insidie

Se una funzione BOF non restituisce un valore, genero un avviso per segnalare all'utente che non è stato restituito nulla. Presumo che questo non sia probabilmente l'esito previsto di un'esecuzione, ma non volevo lanciare errori bloccanti. Se esegui una funzione BOF e ricevi l'avviso di nessun output, tieni presente che la formattazione dei tuoi args potrebbe dover essere definita o potrebbe essere definita in modo errato, il che può causare questo problema (in particolare usando string invece di wide)

Ringraziamenti speciali

  • natesubra - Per aver risposto alle mie domande casuali
  • trustedsec - Per il COFFLoader che ho integrato nel mio modulo PyBof (licenza inclusa in src/source)
Scarica lo strumento