hacktricks/reversing-and-exploiting/tools/pwntools.md
2024-04-06 18:13:31 +00:00

5 KiB

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

``` pip3 install pwntools ``` # Pwn asm

Obtener códigos de operación de una línea o archivo.

pwn asm "jmp esp"
pwn asm -i <filepath>

Puede seleccionar:

  • tipo de salida (raw, hex, string, elf)
  • contexto del archivo de salida (16, 32, 64, linux, windows...)
  • evitar bytes (saltos de línea, nulos, una lista)
  • seleccionar el depurador de codificador de shell de salida usando gdb ejecutar el resultado

Pwn checksec

Script checksec

pwn checksec <executable>

Pwn constgrep

Pwn cyclic

Obtener un patrón

pwn cyclic 3000
pwn cyclic -l faad

Puede seleccionar:

  • El alfabeto utilizado (caracteres en minúscula de forma predeterminada)
  • Longitud del patrón único (por defecto 4)
  • Contexto (16,32,64,linux,windows...)
  • Tomar el desplazamiento (-l)

Depuración de Pwn

Adjuntar GDB a un proceso

pwn debug --exec /bin/bash
pwn debug --pid 1234
pwn debug --process bash

Puede seleccionar:

  • Por ejecutable, por nombre o por contexto de pid (16, 32, 64, Linux, Windows...)
  • script de gdb para ejecutar
  • ruta de sysroot

Deshabilitar nx

Deshabilitar nx de un binario

pwn disablenx <filepath>

Pwn disasm

Desensambla códigos de operación hexadecimales

pwn disasm ffe4

Puede seleccionar:

  • contexto (16,32,64,linux,windows...)
  • dirección base
  • color (predeterminado)/sin color

Pwn elfdiff

Imprime las diferencias entre 2 archivos

pwn elfdiff <file1> <file2>

Explotar hex

Obtener la representación hexadecimal

pwn hex hola #Get hex of "hola" ascii

Pwn phd

Obtener volcado hexadecimal

pwn phd <file>

Puede seleccionar:

  • Número de bytes para mostrar
  • Número de bytes por línea para resaltar byte
  • Omitir bytes al principio

Pwn pwnstrip

Pwn scrable

Pwn shellcraft

Obtener códigos de shell

pwn shellcraft -l #List shellcodes
pwn shellcraft -l amd #Shellcode with amd in the name
pwn shellcraft -f hex amd64.linux.sh #Create in C and run
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
pwn shellcraft .r amd64.linux.bindsh 9095 #Bind SH to port

Puede seleccionar:

  • shellcode y argumentos para el shellcode
  • Archivo de salida
  • formato de salida
  • depurar (adjuntar dbg al shellcode)
  • antes (trampa de depuración antes del código)
  • después
  • evitar el uso de opcodes (predeterminado: no nulo y nueva línea)
  • Ejecutar el shellcode
  • Color/sin color
  • listar syscalls
  • listar posibles shellcodes
  • Generar ELF como una biblioteca compartida

Plantilla Pwn

Obtener una plantilla en Python

pwn template

Puede seleccionar: host, puerto, usuario, contraseña, ruta y silencioso

Pwn unhex

De hexadecimal a cadena

pwn unhex 686f6c61

Actualización de Pwn

Para actualizar pwntools

pwn update
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: