
Инструментарий для сетевого pivoting
PivotSuite — это портативный, платформонезависимый и мощный набор инструментов для сетевого pivoting'а, который помогает специалистам Red Team / пентестерам использовать скомпрометированную систему для перемещения внутри сети. Это автономная утилита, которая может использоваться как сервер или как клиент.
Если скомпрометированный хост напрямую доступен (прямое соединение) с нашей машины для пентеста, то мы можем запустить PivotSuite как сервер на скомпрометированной машине и получить доступ к различным хостам в подсетях с нашей машины для пентеста, которые ранее были доступны только с скомпрометированной машины.
Если скомпрометированный хост находится за брандмауэром/NAT и напрямую недоступен с нашей машины для пентеста, то мы можем запустить PivotSuite как сервер на машине для пентеста и PivotSuite как клиент на скомпрометированной машине для создания обратного туннеля (обратное соединение). Используя это, мы можем достичь хостов в разных подсетях с нашей машины для пентеста, которые ранее были доступны только с скомпрометированной машины.
Вы можете загрузить последнюю версию PivotSuite, клонировав Git-репозиторий или установив пакет PyPI.
git clone https://github.com/RedTeamOperations/PivotSuite.git
ИЛИ
pip install PivotSuite
PivotSuite работает сразу из коробки с Python версиями 2.7.x и 3.6.x на любой платформе.
Загрузка автономного исполняемого файла PivotSuite из раздела релизов GitHub
https://github.com/RedTeamOperations/PivotSuite/releases
Установка не требуется, интерпретатор Python не требуется
a. Требуются только стандартные библиотеки Python
b. Совместим с Python 2.7.x и Python 3.6.x
c. Протестирован на Windows и Linux.
$ pivotsuite.py [параметры] SERVER-IP SERVER-PORT
Параметры:
--version показать версию программы и выйти
-h, --help показать это справочное сообщение и выйти
-S, --server Запустить PivotSuite как сервер
-C, --client Запустить PivotSuite как клиент
- -server-ip=SERVER_IP
IP-адрес прослушивания/подключения сервера, по умолчанию 0.0.0.0
--server-port=SERVER_PORT
Порт прослушивания/подключения сервера, по умолчанию 7777
Параметры сервера PivotSuite:
-F, --forward-connection
Прямая передача сетевого трафика
--server-option=SP/PF
Использовать сервер как Socks_Proxy(SP)/Port_Forward(PF),
по умолчанию SP
--network-protocol=T/U
Выберите протокол для переадресации портов TCP(T)/UDP(U),
по умолчанию T
--forward-ip=Remote-Host-IP
IP-адрес удаленного хоста для переадресации портов
--forward-port=Remote-Host-Port
Порт удаленного хоста для переадресации портов
-W, --reverse-connection
Обратная передача сетевого трафика
Параметры клиента PivotSuite:
-O SP/PF/NE, --option=SP/PF/NE
Использовать клиента как Socks_Proxy(SP)/Port_Forwarding(PF)/
Network_Enumeration(NE), по умолчанию SP
-L, --local-forward
Использовать локальную переадресацию портов
-R, --remote-forward
Использовать удаленную переадресацию портов
-P T/U, --protocol=T/U
Выберите протокол для переадресации портов TCP(T)/UDP(U),
по умолчанию T
--local-ip=LOCAL_IP
Локальный IP для переадресации портов
--local-port=LOCAL_PORT
Локальный порт для переадресации портов
--remote-ip=REMOTE_IP
Удаленный IP для переадресации портов
--remote-port=REMOTE_PORT
Удаленный порт для переадресации портов
Параметры аутентификации NTLM-прокси:
--ntlm-proxy-ip=NTLM_PROXY_IP
IP-адрес NTLM-прокси
--ntlm-proxy-port=NTLM_PROXY_PORT
Порт NTLM-прокси
--username=USERNAME
Имя пользователя для аутентификации через NTLM-прокси
--domain=DOMAIN Домен для аутентификации через NTLM-прокси
--password=PASSWORD
Пароль для аутентификации через NTLM-прокси
--hashes=HASHES Хэши для аутентификации вместо пароля.
Формат - LMHASH:NTHASH
Если скомпрометированный хост напрямую доступен с нашей машины для пентеста.
Затем запустите PivotSuite как сервер на скомпрометированной машине в соответствии с нашими требованиями:
a. Динамическая переадресация портов (SOCKS5-прокси-сервер) на скомпрометированной машине:
$ python pivotsuite.py -S -F --server-option SP --server-ip IP --server-port PORT
b. Одиночная переадресация портов (ретрансляция TCP/UDP) на скомпрометированной машине:
$ python pivotsuite.py -S -F --server-option PF --network-protocol T/U --remote-ip IP --remote-port PORT
--server-ip IP (local-ip) --server-port PORT (local-port)
Если скомпрометированный хост находится за брандмауэром/NAT и напрямую недоступен с нашей машины для пентеста.
Затем запустите PivotSuite как сервер на машине для пентеста и PivotSuite как клиент на скомпрометированной машине.
i. Запустите PivotSuite как сервер на машине для пентеста:
$ python pivotsute.py -S -W
ii. Запустите PivotSuite как клиент на скомпрометированной машине в соответствии с нашими требованиями:
a. Динамическая переадресация портов (SOCKS5-прокси-сервер) на машине для пентеста:
$ python pivotsuite.py -C -O SP --server-ip IP --server-port PORT
b. Локальная/удаленная переадресация портов на машине для пентеста:
$ python pivotsuite.py -C -O PF - L / -R (local or remote port forwarding) -P T/U --local-ip IP
--local-port PORT --remote-ip IP --remote-port PORT --server-ip IP --server-port PORT
c. Сетевая разведка скомпрометированной машины:
$ python pivotsuite.py -C -O NE --server-ip IP --server-port PORT
Если для обратного соединения на скомпрометированном хосте требуется аутентификация корпоративного прокси (NTLM):
$ python pivotsuite.py -C -O SP --ntlm-proxy-ip IP --ntlm-proxy-port PORT --username USERNAME --password PASSWORD
--server-ip IP --server-port PORT
Я буду очень признателен, если вы оставите свои отзывы или предложения по набору инструментов PivotSuite.
Email: [email protected]
LinkedIn: https://www.linkedin.com/in/0hack/