149 lines
2.7 KiB
Markdown

# 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 <filepath>
```
**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 <executable>
```
## 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 <filepath>
```
## 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 <file1> <file2>
```
## Pwn hex
Ottieni la rappresentazione esadecimale
```bash
pwn hex hola #Get hex of "hola" ascii
```
## Pwn phd
Ottieni hexdump
```
pwn phd <file>
```
**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}}