# PwnTools {{#include ../../../banners/hacktricks-training.md}} ``` pip3 install pwntools ``` ## Pwn asm Ottieni **opcodes** da una riga o da un file. ``` pwn asm "jmp esp" pwn asm -i ``` **Può selezionare:** - tipo di output (raw,hex,string,elf) - contesto del file di output (16,32,64,linux,windows...) - evitare byte (nuove righe, null, un elenco) - selezionare l'encoder debug shellcode utilizzando gdb eseguire l'output ## **Controllo Pwn** Script checksec ``` pwn checksec ``` ## Pwn constgrep ## Pwn cyclic Ottieni un modello ``` pwn cyclic 3000 pwn cyclic -l faad ``` **Può selezionare:** - L'alfabeto utilizzato (caratteri minuscoli per impostazione predefinita) - Lunghezza del modello unico (impostazione predefinita 4) - contesto (16,32,64,linux,windows...) - Prendere l'offset (-l) ## Pwn debug Collegare GDB a un processo ``` pwn debug --exec /bin/bash pwn debug --pid 1234 pwn debug --process bash ``` **Può selezionare:** - Per eseguibile, per nome o per contesto pid (16,32,64,linux,windows...) - gdbscript da eseguire - sysrootpath ## Disabilita pwn nx Disabilita nx di un binario ``` pwn disablenx ``` ## Pwn disasm Disas opcode esadecimali ``` pwn disasm ffe4 ``` **Può selezionare:** - contesto (16,32,64,linux,windows...) - indirizzo base - colore(predefinito)/nessun colore ## Pwn elfdiff Stampa le differenze tra 2 file ``` pwn elfdiff ``` ## Pwn hex Ottieni la rappresentazione esadecimale ```bash pwn hex hola #Get hex of "hola" ascii ``` ## Pwn phd Ottieni hexdump ``` pwn phd ``` **Può selezionare:** - Numero di byte da mostrare - Numero di byte per evidenziare il byte per riga - Salta byte all'inizio ## Pwn pwnstrip ## Pwn scrable ## Pwn shellcraft Ottieni shellcode ``` 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 ``` **Può selezionare:** - shellcode e argomenti per lo shellcode - File di output - formato di output - debug (collega dbg allo shellcode) - prima (trap di debug prima del codice) - dopo - evita di usare opcodes (predefinito: non nullo e nuova riga) - Esegui lo shellcode - Colore/senza colore - elenca le syscalls - elenca i possibili shellcodes - Genera ELF come libreria condivisa ## Modello Pwn Ottieni un modello python ``` pwn template ``` **Può selezionare:** host, port, user, pass, path e quiet ## Pwn unhex Da esadecimale a stringa ``` pwn unhex 686f6c61 ``` ## Aggiornamento di Pwn Per aggiornare pwntools ``` pwn update ``` {{#include ../../../banners/hacktricks-training.md}}