Этот вольный перевод был мотивирован необходимостью моего собственного понимания предмета после прочтения ряда постов, которые начинались с Здесь , спасибо хабраюзеру левинкв Использование прокси-сервера 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 и проверим его через проксичейны :
SSH-прокси-сервер SSH работает, и мы можем использовать его для доступа к компьютеру жертвы:
Теперь, если мы попытаемся использовать наш прокси-сервер Socks с полезной нагрузкой TCP, Metasploit может показать такую ошибку:
Функции переадресации портов OpenSSH помогут нам обойти это препятствие.
В зависимости от уровня доступа злоумышленника к прокси-сервисам будут выделены два варианта: 1. Административный доступ: изменения конфигурации OpenSSH и использование всех функций пересылки.
2. Пользовательский доступ: использование локальной переадресации портов OpenSSH для создания второго ssh-туннеля.
Тем, кто не знаком с локальной и удаленной переадресацией портов SSH, рекомендуем прочитать ссылку в конце поста.
Прежде чем мы продолжим, давайте отключим обратную проверку прокси-сервера TCP Socks в Metasploit, чтобы протестировать все вышеперечисленные случаи.
К счастью для нас, модульная архитектура Metasploit упрощает реализацию этой функции.
Вам просто нужно закомментировать строки 68-70 в "lib/msf/core/handler/reverse_tcp.rb"
1. Административный доступ к прокси.
Удаленная переадресация портов в OpenSSH использует перенаправление сетевого трафика с порта 4444 на прокси-сервер на порт 53 злоумышленника.
Как упоминается в руководстве OpenSSH, подключение с удаленной переадресацией свяжет порт прокси (в нашем случае 4444) с тем же портом на локальном хосте.
.
Привязка localhost заблокирует входящие соединения от жертвы.
Поэтому у нас должны быть права администратора, чтобы изменить конфигурацию sshd и включить опцию Порты шлюза .
Когда полезная нагрузка сработает, то сеть будет выглядеть так:
Для продолжения проверим, что всё работает с помощью netcat:
Если вместо IP-адреса злоумышленника использовать локальный адрес, то такой туннель будет работать как часы (и это неудивительно), хотя менеджер сеансов Metasploit не сможет идентифицировать соединения и прервется.
Некоторые (необязательные) исследования с помощью tcpdump могут прояснить, как работают такие перенаправления.
Убедившись, что наш прокси работает корректно, перейдем к Metasploit. Давайте сгенерируем полезную нагрузку обратного TCP-оболочки Linux x86 и загрузим ее на компьютер жертвы.
Для запуска полезной нагрузки мы используем PHP-скрипт, помещая его в каталог с веб-страницами сервера Apache. В процессе генерации полезных данных использовались следующие данные: LHOST был определен как адрес прокси, как и LPORT (4444 в этом примере), который перенаправляется злоумышленнику через прокси.
Наконец, давайте запустим полезную нагрузку с помощью дополнительного модуля (одиночный GET-запрос) и установим соединение через Socks-прокси:
2. Доступ пользователей к прокси
Доступ к прокси-серверу пользователя означает, что мы не можем установить эту опцию Порты шлюза в настройках сшд. Поэтому нам нужно найти другой способ перенаправления.
В этом случае мы используем опцию локальной переадресации (-L) и создаем второй туннель к локальному хосту со стороны прокси.
Флаг -g используется для привязки сокета к 0.0.0.0, разрешая входящие соединения, отличные от локального хоста.
Поэтому обратное подключение будет выглядеть так:
Обычная проверка netcat перед использованием Metasploit:
И, наконец, прокси-сервер socks также успешно работает с полезными нагрузками обратного 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 #полезная нагрузка #информационная безопасность
-
Sony Ищет Новых Тестеров Игр
19 Oct, 24 -
Жалобы На Выбросы Являются Ложными
19 Oct, 24 -
Оптимизируйте Свои Ядра
19 Oct, 24 -
Различия Между Хостингом Wordpress И Joomla
19 Oct, 24 -
Друзья Без Ограничений
19 Oct, 24 -
Подразделение Корпоративных Серверов Huawei
19 Oct, 24 -
О Новых Успехах Противостояния (Ср Увч!*)
19 Oct, 24 -
О Хабре
19 Oct, 24