hacktricks/exploiting/tools/pwntools.md

5 KiB

{% hint style="success" %} Apprenez et pratiquez le piratage AWS :Formation HackTricks AWS Red Team Expert (ARTE)
Apprenez et pratiquez le piratage GCP : Formation HackTricks GCP Red Team Expert (GRTE)

Soutenez HackTricks
{% endhint %} ``` pip3 install pwntools ``` # Pwn asm

Obtenez les opcodes à partir d'une ligne ou d'un fichier.

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

Peut sélectionner :

  • type de sortie (brut, hexadécimal, chaîne de caractères, elf)
  • contexte du fichier de sortie (16,32,64,linux,windows...)
  • éviter les octets (retours à la ligne, nuls, une liste)
  • sélectionner le débogueur d'encodeur de shellcode en utilisant gdb pour exécuter la sortie

Vérification de la sécurité de Pwn

Script de vérification de la sécurité

pwn checksec <executable>

Pwn constgrep

Pwn cyclic

Obtenez un motif

pwn cyclic 3000
pwn cyclic -l faad

Peut sélectionner:

  • L'alphabet utilisé (caractères minuscules par défaut)
  • Longueur du motif unique (par défaut 4)
  • contexte (16,32,64,linux,windows...)
  • Prendre le décalage (-l)

Pwn debug

Attacher GDB à un processus

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

Peut sélectionner :

  • Par exécutable, par nom ou par contexte pid (16,32,64,linux,windows...)
  • gdbscript à exécuter
  • sysrootpath

Désactiver nx

Désactive nx d'un binaire

pwn disablenx <filepath>

Pwn disasm

Désassemble les opcodes hexadécimaux

pwn disasm ffe4

Peut sélectionner :

  • contexte (16,32,64,linux,windows...)
  • adresse de base
  • couleur (par défaut)/pas de couleur

Pwn elfdiff

Affiche les différences entre 2 fichiers

pwn elfdiff <file1> <file2>

Pwn hex

Obtenez la représentation hexadécimale

pwn hex hola #Get hex of "hola" ascii

Pwn phd

Obtenir un hexdump

pwn phd <file>

Peut sélectionner:

  • Nombre d'octets à afficher
  • Nombre d'octets par ligne à mettre en évidence
  • Ignorer les octets au début

Pwn pwnstrip

Pwn scrable

Pwn shellcraft

Obtenir des shellcodes

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

Peut sélectionner:

  • shellcode et arguments pour le shellcode
  • Fichier de sortie
  • Format de sortie
  • debug (attacher dbg au shellcode)
  • avant (piéger le débogage avant le code)
  • après
  • éviter d'utiliser des opcodes (par défaut: non nul et nouvelle ligne)
  • Exécuter le shellcode
  • Couleur/sans couleur
  • lister les appels système
  • lister les shellcodes possibles
  • Générer un ELF en tant que bibliothèque partagée

Modèle Pwn

Obtenir un modèle Python

pwn template

Peut sélectionner : hôte, port, utilisateur, mot de passe, chemin et silencieux

Pwn unhex

De hex à chaîne

pwn unhex 686f6c61

Mise à jour de Pwn

Pour mettre à jour pwntools

pwn update

{% hint style="success" %} Apprenez et pratiquez le piratage AWS :Formation HackTricks AWS Red Team Expert (ARTE)
Apprenez et pratiquez le piratage GCP : Formation HackTricks GCP Red Team Expert (GRTE)

Soutenez HackTricks
{% endhint %}