Использование Прокси-Сервера Ssh Socks С Полезными Нагрузками Msf Reverse Tcp

Этот вольный перевод был мотивирован необходимостью моего собственного понимания предмета после прочтения ряда постов, которые начинались с Здесь , спасибо хабраюзеру левинкв Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

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

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

Каждый случай такой операции однозначно зависит от сервисов, работающих на прокси-сервере, и уровня доступа к этим сервисам.

Один из моих любимых случаев (как и многих других) — работа с ОпенСШ Носки прокси .

Удаленный ssh-прокси позволяет перенаправлять трафик через ssh-туннель различными способами.

Однако у прокси-серверов Socks есть существенный недостаток: вы "вы не можете" использовать существующий обратный TCP полезная нагрузка которые идут с Метасплоит framework (и многие другие подобные инструменты).

Однако, это не совсем так .

Можно включить некоторые функции OpenSSH для обхода ограничений при использовании перенаправления ssh. Многие скажут, что существует множество альтернатив для обратной полезной нагрузки TCP, таких как PHP, Java, HTTP, DNS и т. д. Это правда, но большинство из них зависят от приложения и не стабильны при определенных обстоятельствах.

Более того, эти альтернативы не всегда применимы из-за некоторых эксплуатационных ограничений.

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

Недостатком этого метода является отсутствие стабильности Полезная нагрузкаmeterpreter для прокси-сервера Linux (по крайней мере, на момент написания этого поста).

Теперь, когда вы убеждены, что в некоторых обстоятельствах использование прокси-сервера Socks является единственным стабильным вариантом, давайте посмотрим, что мы можем изменить в ограничениях обратного TCP-соединения.

Когда используется полезная нагрузка обратного TCP, компьютер жертвы пытается подключиться к IP-адресу злоумышленника.

Если используется прокси-сервер SSH Socks, компьютер жертвы использует IP-адрес прокси-сервера в качестве IP-адреса злоумышленника.

Таким образом, полезная нагрузка обратного TCP будет пытаться подключиться к прокси-серверу, а не к злоумышленнику.

Фреймворк Metasploit прекрасно позволяет решить эту проблему, когда используется прокси-сервер socks с полезной нагрузкой обратного TCP. Основная идея обхода такого рода ограничений заключается в использовании механизма пересылки прокси-сервера для доставки пакетов по правильному адресу при обратном подключении к прокси-серверу.

Представленный метод возможен при выполнении следующих условий: 1. Возможность ssh подключения к прокси (обычный пользователь или администратор, каждый случай рассматривается отдельно) 2. У прокси есть хотя бы один неиспользуемый открытый порт. 3. Прокси имеет возможность подключения к компьютеру жертвы.

В оставшейся части этой статьи будет использоваться следующая топология сети:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Для начала давайте установим прокси-соединение ssh-socks и проверим его через проксичейны :

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

SSH-прокси-сервер SSH работает, и мы можем использовать его для доступа к компьютеру жертвы:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Теперь, если мы попытаемся использовать наш прокси-сервер Socks с полезной нагрузкой TCP, Metasploit может показать такую ошибку:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Функции переадресации портов OpenSSH помогут нам обойти это препятствие.

В зависимости от уровня доступа злоумышленника к прокси-сервисам будут выделены два варианта: 1. Административный доступ: изменения конфигурации OpenSSH и использование всех функций пересылки.

2. Пользовательский доступ: использование локальной переадресации портов OpenSSH для создания второго ssh-туннеля.

Тем, кто не знаком с локальной и удаленной переадресацией портов SSH, рекомендуем прочитать ссылку в конце поста.

Прежде чем мы продолжим, давайте отключим обратную проверку прокси-сервера TCP Socks в Metasploit, чтобы протестировать все вышеперечисленные случаи.

К счастью для нас, модульная архитектура Metasploit упрощает реализацию этой функции.

Вам просто нужно закомментировать строки 68-70 в "lib/msf/core/handler/reverse_tcp.rb"

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

1. Административный доступ к прокси.

Удаленная переадресация портов в OpenSSH использует перенаправление сетевого трафика с порта 4444 на прокси-сервер на порт 53 злоумышленника.

Как упоминается в руководстве OpenSSH, подключение с удаленной переадресацией свяжет порт прокси (в нашем случае 4444) с тем же портом на локальном хосте.

.

Привязка localhost заблокирует входящие соединения от жертвы.

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

Когда полезная нагрузка сработает, то сеть будет выглядеть так:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Для продолжения проверим, что всё работает с помощью netcat:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Если вместо IP-адреса злоумышленника использовать локальный адрес, то такой туннель будет работать как часы (и это неудивительно), хотя менеджер сеансов Metasploit не сможет идентифицировать соединения и прервется.

Некоторые (необязательные) исследования с помощью tcpdump могут прояснить, как работают такие перенаправления.

Убедившись, что наш прокси работает корректно, перейдем к Metasploit. Давайте сгенерируем полезную нагрузку обратного TCP-оболочки Linux x86 и загрузим ее на компьютер жертвы.

Для запуска полезной нагрузки мы используем PHP-скрипт, помещая его в каталог с веб-страницами сервера Apache. В процессе генерации полезных данных использовались следующие данные: LHOST был определен как адрес прокси, как и LPORT (4444 в этом примере), который перенаправляется злоумышленнику через прокси.



Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Наконец, давайте запустим полезную нагрузку с помощью дополнительного модуля (одиночный GET-запрос) и установим соединение через Socks-прокси:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP



Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

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

В этом случае мы используем опцию локальной переадресации (-L) и создаем второй туннель к локальному хосту со стороны прокси.

Флаг -g используется для привязки сокета к 0.0.0.0, разрешая входящие соединения, отличные от локального хоста.

Поэтому обратное подключение будет выглядеть так:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Обычная проверка netcat перед использованием Metasploit:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

И, наконец, прокси-сервер socks также успешно работает с полезными нагрузками обратного TCP:

Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP



Использование прокси-сервера SSH Socks с полезными нагрузками MSF Reverse TCP

Задание выполнено! Мы смогли использовать полезные данные обратного TCP с прокси-сервером ssh Socks и воспользоваться преимуществами различных функций OpenSSH. Конечно, кто-то может выполнить переадресацию портов на прокси-сервер множеством других способов (Iptables, сторонние инструменты и т. д.).

OpenSSH был выбран потому, что он уже поддерживает работу с ssh Socks-прокси и зачастую такая работа невидима для системного администратора, в то время как другие инструменты могут сигнализировать о своей работе (и естественно, работа с iptables невозможна с уровнем доступа пользователя).

Было бы идеально, если бы описанные выше методы были каким-то образом реализованы в Metasploit Framework, что позволило бы использовать полезные нагрузки обратного TCP в различных сценариях прокси-сервера Socks. Ссылки: www.linuxhorizon.ro/ssh-tunnel.html www.opennet.ru/base/sec/ssh_tunnel.txt.html www.fedora.md/wiki/%D0%92%D1%81%D0%B5_%D1%87%D1%82%D0%BE_%D0%92%D1%8B_%D1%85%D0%BE%D1 %82%D0%B5%D0%BB%D0%B8_%D0%B7%D0%BD%D0%B0%D1%82%D1%8C_%D0%BE_SSH www.metasploit.com seclists.org/metasploit/2009/q2/143 www.offensive-security.com/metasploit-unleashed/Metasploit_Meterpreter_Basics www.offensive-security.com/metasploit-unleashed/Pivoting А.

Бехтсудис —{ Обновление от 11 июня 2012 г.

}— Проброс портов от прокси к злоумышленнику также можно легко организовать с помощью netcat. Будьте осторожны при использовании netcat, так как это может вызвать срабатывание сигнализации в некоторых системах обнаружения вторжений.

Чтобы установить скрытое соединение, попробуйте создать зашифрованные каналы с помощью прокси (ncat, netcat stunnel и т. д.).

root@proxy:~# канал mkfifo root@proxy:~# nc -nvlp 4444 0 трубка Автор оригинала связь .

Теги: #ssh-туннель #MSF #полезная нагрузка #информационная безопасность

Вместе с данным постом часто просматривают: