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

183 lines
5.3 KiB
Markdown

<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-opslagplekke.
</details>
```
pip3 install pwntools
```
# Pwn asm
Kry opcodes van 'n lyn of lêer.
```
pwn asm "jmp esp"
pwn asm -i <filepath>
```
**Kan kies:**
* uitvoertipe (rou, heks, string, elf)
* uitvoerlêerkonteks (16,32,64,linux,windows...)
* vermyt byte (nuwe lyne, nul, 'n lys)
* kies 'n enkoder om die shellkode te debugeer deur gdb die uitvoer te laat loop
# **Pwn checksec**
Checksec-skrip
```
pwn checksec <executable>
```
# Pwn constgrep
# Pwn siklies
Kry 'n patroon
```
pwn cyclic 3000
pwn cyclic -l faad
```
**Kan kies:**
* Die gebruikte alfabet (standaard kleinletters)
* Lengte van unieke patroon (standaard 4)
* Konteks (16,32,64,linux,windows...)
* Neem die offset (-l)
# Pwn debug
Hef GDB aan 'n proses aan
```
pwn debug --exec /bin/bash
pwn debug --pid 1234
pwn debug --process bash
```
**Kan kies:**
* Volgens uitvoerbare lêer, naam of pid konteks (16,32,64,linux,windows...)
* gdbskrip om uit te voer
* sysrootpad
# Pwn disablenx
Deaktiveer nx van 'n binêre lêer
```
pwn disablenx <filepath>
```
# Pwn disasm
Ontbind heksadesimale opcodes
```
pwn disasm ffe4
```
**Kan kies:**
* konteks (16,32,64,linux,windows...)
* basisadres
* kleur (standaard)/geen kleur
# Pwn elfdiff
Druk verskille tussen 2 lêers af
```
pwn elfdiff <file1> <file2>
```
# Grys hex
Kry die heksadesimale voorstelling
```bash
pwn hex hola #Get hex of "hola" ascii
```
# Pwn phd
Kry hexdump
```python
from pwn import *
# Verbind met die bediener
r = remote('example.com', 1337)
# Kry die hexdump van die ontvangsdata
data = r.recv()
hexdump(data)
```
Die `hexdump`-funksie in `pwntools` kan gebruik word om die ontvangsdata in 'n hexdump-formaat te vertoon. Hier is 'n voorbeeld van hoe om dit te gebruik. Eerstens, maak 'n verbind met die bediener deur die `remote`-funksie te gebruik en die bediener se adres en poortnommer te spesifiseer. Dan, ontvang die data van die bediener deur die `recv`-funksie te gebruik. Laastens, gebruik die `hexdump`-funksie om die data in 'n hexdump-formaat te vertoon.
```
pwn phd <file>
```
**Kan kies:**
* Aantal bytes om te wys
* Aantal bytes per lyn om te beklemtoon
* Slaan bytes aan die begin oor
# Pwn pwnstrip
# Pwn scrable
# Pwn shellcraft
Kry skuldkodes
```
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
```
**Kan kies:**
* shellkode en argumente vir die shellkode
* Uitlêer
* uitvoerformaat
* foutopsporing (heg dbg aan shellkode)
* voor (foutopsporingsval voor kode)
* na
* vermy gebruik van opcodes (verstek: nie nul en nuwe lyn)
* Voer die shellkode uit
* Kleur/geen kleur
* lys stelseloproepe
* lys moontlike shellkodes
* Genereer ELF as 'n gedeelde biblioteek
# Pwn sjabloon
Kry 'n Python-sjabloon
```
pwn template
```
**Kan kies:** gasheer, poort, gebruiker, wagwoord, pad en stil
# Pwn unhex
Van heks na string
```
pwn unhex 686f6c61
```
# Pwn opdatering
Om pwntools op te dateer
```
pwn update
```
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslagplekke.
</details>