Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
pybof — Python module for running BOFs | Kitploit
Herramientas/GitHubGitHub/rkbennett/pybof
Post-ExploitationPenetration TestingRed Teaming
GitHubrkbennett/pybof

pybof

Python module for running BOFs

Ver Repositorio
8010hace 8 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PyBOF

Ejecuta archivos Beacon Object a través de python

carga y ejecución en memoria de BOFs

PyBOF permite a Python3 cargar archivos Beacon Object mediante bytes y ejecutar una función BOF objetivo en un intérprete de Python

Uso básico

Ejecutar un BOF simple sin argumentos requeridos

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

Pasar un argumento de cadena sin procesar 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

Pasar argumentos empaquetados/formateados al BOF

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

Ejemplo práctico de ejecución

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

Hay varios argumentos que se pueden usar con PyBOF; se describen en detalle a continuación.

data

Argumento posicional obligatorio que debe ser un objeto de bytes que contenga el contenido sin procesar de un BOF.

args

Argumento de palabra clave opcional que es una lista de argumentos para pasar a la función BOF objetivo.

function

Argumento de palabra clave opcional que es el nombre con formato de cadena de la función objetivo a ejecutar desde el BOF proporcionado; su valor predeterminado es go.

format (AVISO: estos se han actualizado recientemente)

El argumento de palabra clave opcional es una cadena que informa al empaquetador de argumentos BOF de los tipos de argumento a medida que se empaquetan en el búfer. Esto es similar al argumento format de struct.pack. Las únicas opciones de formato válidas son las siguientes:
i para entero
s para short
z para cadena
b para binario
Z para wide

Debe suministrarse al menos un tipo de formato para cada argumento en la lista de args. Este argumento de palabra clave no se puede usar en conjunto con raw.

raw

Argumento de palabra clave opcional que es un booleano que pasa los argumentos como una cadena unida por espacios sin empaquetarlos, en lugar de intentar empaquetar los argumentos formateados para la función BOF. Este argumento de palabra clave no se puede usar en conjunto con format.

Compilación

Clona este repositorio

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

Compila la extensión c _bof

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

Copia el archivo pyd resultante al directorio bof

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

Cambia al directorio padre del directorio bof, importa y diviértete

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

Advertencias

Si una función BOF no devuelve un valor, lanzo una advertencia que alerta al usuario del hecho de que no se devolvió nada. Supongo que este probablemente no sea el resultado previsto de una ejecución, pero no quise lanzar errores graves. Si ejecutas una función BOF y recibes la advertencia de ausencia de salida, ten en cuenta que el formato de tus argumentos puede necesitar definirse o puede estar definido incorrectamente, lo que puede causar este problema (específicamente usar string en lugar de wide).

Agradecimientos especiales

  • natesubra - Por responder mis preguntas aleatorias
  • trustedsec - Por el COFFLoader que integré en mi módulo PyBof (licencia incluida en src/source)
Descargar herramienta