Предыдущая статья рекомендовала:
ATT&CKКрасное и синее противостояние с точки зрения:два. Исходящий протокол обнаружения интрасети
ATT&CKКрасное и синее противостояние с точки зрения:пять. Проникновение во внутреннюю сеть с использованием протокола HTTP для проникновения через туннель
WEB-туннель — это WEB-туннель, который может выполнять контроль проникновения в локальную сеть. Через веб-туннель его можно соединить со всеми сетевыми устройствами в локальной сети, обеспечивая удаленный доступ к этому устройству так же, как доступ к этому устройству в локальной сети. Веб-туннелирование позволяет пользователям отправлять трафик, отличный от HTTP, через HTTP-соединение, чтобы другие данные протокола могли передаваться через HTTP. Веб-туннель подходит, когда на цели включен брандмауэр, при этом как входящие, так и исходящие соединения ограничены, за исключением порта веб-службы (80 или 443). Webshell можно использовать для подключения к службам на целевом хосте. Это подключение к локальному порту на целевом хосте. Обычно оно позволяет считывать данные из порта службы, инкапсулировать их в HTTP и отправлять на локальный прокси-сервер в качестве ответа HTTP. Вся внешняя связь осуществляется по протоколу HTTP.
Предположим, что хост обнаружен во время проникновения в интрасеть, а веб-сайт обнаружен после тестирования. Вы можете построить туннель через протокол HTTP этого сайта и получить разрешения веб-оболочки через уязвимость. Если у вас есть разрешения веб-оболочки, вы можете использовать веб-оболочку. туннель протокола HTTP для построения следующим образом. Некоторые случаи используются для демонстрации того, как построить веб-туннель. Конкретная экспериментальная среда показана в таблице 1-1, а экспериментальная топология показана на рисунке 1-1.
Таблица 1-1. Таблица экспериментальной среды протокола HTTP.
Тип хоста | IP-конфигурация |
---|---|
штурмовик | 192.168.0.58 |
Веб-сервер | 192.168.0.25,192.168.52.11 |
целевой дрон | 192.168.52.12 |
Reduh — это инструмент переадресации портов, основанный на веб-службах. Он поддерживает среды сценариев asp, jsp и php и подключается клиентом. Перед использованием клиенту необходимо получить разрешения веб-оболочки. сервер, прежде чем он сможет загрузить службу reDuh. Клиент соответствует файлу сценария, а файл reDuh перенаправляет порт сервера интрасети на локальный через службу HTTP/HTTPS, образуя цикл подключения.
1) Создайте WEB-туннель, загрузив файл reDuh.php и подключив его. Служба удаленного подключения RDP дрона перенаправляется штурмовику через файл reDuh.php. Сначала обнаруживается, что целевой хост представляет собой среду PHP, и разрешение веб-оболочки получается через уязвимость загрузки файла. Затем файл reDuh.php загружается в корневой каталог веб-сайта. В это время посетите веб-сайт http. ://192.168.0.25/reDuh.php в штурмовике, как показано на рисунке 1-2. Показанный результат указывает на то, что развертывание файла прошло успешно.
2) Далее,С помощью штурмовика заходим в папку инструмента reDuhClient/dis.,Выполните команду java -jar reDuhClient.jar http://192.168.0.25/reDuh.php.,Подключиться к Веб-серверу,При строительстве туннеля здесь,По умолчанию будет использоваться порт 1010. Уведомление,Если туннельное соединение не удалось,Это может быть проблема с настройкой среды PHP на стороне сервера.,Наши настройки расширения PHP для Веб-сервера,Просто раскомментируйте код Extension=php_sockets.dll в файле php.ini.,Выполнение команды успешно,Как показано на рисунке 1-3.
3) В это время начнет прослушиваться порт 1010 штурмовика.,Мы можем использовать инструмент nc для подключения к локальному порту 1010.,Выполнить NC -nv 127.0.0.1 Команда 1010 может использоваться для управления прокси-сервером пересылки, как показано на рисунке 1-4 после выполнения.
4) Используйте здесь метод [createTunnel], чтобы отключить Служба удаленного подключения дрона привязана к порту штурмовик8888. Выполните команду [createTunnel]8888:192.168.52.12:3389, чтобы отключить. Порт 3389 дрона перенаправляется на порт 8888 штурмовика, как показано на Рисунке 1-5показано.
5) В это время включить Служба удаленного подключения дрона на порту 3389 была перенаправлена на локальный порт 8888. Вы можете попробовать использовать команду rdesktop в штурмовике, чтобы подключиться к локальному порту 8888 и выполнить rdesktop 127.0.0.1:8888 обнаруживается, что удаленное подключение возможно, как показано на рисунке 1-6.
ReGeorg — это прокси-инструмент для интрасети, который использует протокол http для создания туннелей для передачи данных. Он основан на среде Python2 и представляет собой обновленную версию reduh. По сравнению с reduh он добавляет множество функций, таких как шифрование трафика, настройка кода ответа. и т. д. После загрузки и распаковки сжатого пакета проверьте структуру каталогов, и вы увидите, что поддерживаются три языка сценариев, как показано на рисунке 1-7. Выберите файл веб-шелла для загрузки в соответствии с языком сценария, соответствующим веб-сервису для проникновения в туннель.
1) Экспериментальная среда показана на рисунке 1-1. показано.гипотеза Веб-сервердаPHPсреда,Вы можете использовать файл сценария туннеля.nosocket.php.,Загрузите файл в корневой каталог сайта Веб-сервера. Если загрузка прошла успешно, получите доступ к этому файлу сценария веб-сайта через http.,Вы можете видеть, что развертывание прошло успешно.,Как показано на рисунке 1-8показано.
2) С помощью штурмовика запустить файл reGeorgSocksProxy.py,Выполнить python2 reGeorgSocksProxy.py -u http://192.168.0.25/tunnel.nosocket.php -p 8888Заказ,Подключитесь к файлу Tunnel.nosocket.php.,Укажите переадресацию трафика на порт 8888 штурмовика,Появится интерфейс, показанный на рисунке 1-9, который доказывает, что проникновение в туннель прошло успешно.
Neo-regeorg можно назвать реконструированной версией Regeorg. Это также очень практичный инструмент для веб-туннелей, основанный на Regeorg, который повышает безопасность, доступность и конфиденциальность передаваемого контента, позволяя справляться с большим количеством сценариев сетевой среды. Инструмент опирается на среду Python3, и его принцип аналогичен regeorg.
1) Экспериментальная среда показана на рисунке Как показано в 1-1., условия использования Neo-Regeorg аналогичны Regeorg. Здесь файл туннеля.php загружается в корневой каталог службы веб-сайта Веб-сервера через веб-шелл, а также файл серверного скрипта с расширением. пароль генерируется. выполнитьpython neoreg.py generate -k test, -k — указанный пароль. После запуска в текущем каталоге будет создана папка neoreg_servers. В ней будут находиться сценарии в различных средах, как показано на рисунке 1-12.
2) Загрузите сгенерированный файл и поместите его на Веб-сервер.,Посетите файл на сайте,нравиться Рисунок 1-13показано.
3) Используйте Калиштурмовик для запуска Python neoreg.py -k test -u http://192.168.0.25/tunnel.php -p 8888, туннель успешно установлен, как показано на рисунке 1-14.
4)впоследствии,Доработано в штурмовикефайл конфигурации proxychains4.conf и добавьте в его нижнюю часть строку socks5.127.0.0.1 8888 параметров для завершения настройки прокси-сервера proxychains, как показано на рисунке 1-15.
5)После настройки прокси proxychains вы можете запускать proxychains в штурмовике. rdesktop 192.168.52.12 команда для подключения дрон, созданный туннель протокола Socks,Прямое удаленное подключение к целевому серверу,нравиться Рисунок 1-16показано.
Tunna — это инструмент туннелирования, разработанный на основе языка Python. Его можно не только использовать для переноса и туннелирования любого TCP-соединения через HTTP, но также можно использовать для обхода различных сетевых ограничений в среде брандмауэра. Структура его инструмента показана на рисунке. показано 1–17.
1) Экспериментальная среда такая же, как указано выше.,Загрузите conn.php в корневой каталог веб-сайта с помощью разрешений управления веб-оболочкой.,Вы можете получить доступ к файлу conn.php через протокол http для подключения к контролируемому серверу.,然后существоватьштурмовик上осуществлятьpython proxy.py -u http://192.168.0.25/conn.php -l 8888 -a 192.168.52.12 -r 80 Команда -v, включит 80сопоставление WEB сервиса в дроне портовместному8888порт。-l参数да指监听本地порт,Параметр -r относится к порту удаленной переадресации.,Параметр -a относится к адресу пересылки.,Параметр -v относится к подробному режиму.,осуществлять成功нравиться Рисунок 1-18показано.
2) После успешного выполнения штурмовика,На этом этапе сопоставление портов выполнено успешно.,Далее обращаемся к локальному порту 8888 в браузере,Вы можете получить доступ к WEB-сервису интранет-дрона.,нравиться Рисунок 1-19показано.
Инструмент Abptts — это инструмент, разработанный на основе Python 2. Он поддерживает среды сценариев asp и jsp и может использовать http для создания туннелей с шифрованием SSL. Он более стабилен, чем regeorg. Однако инструмент Abptts может пересылать только один порт одновременно, что имеет определенные ограничения в использовании. Ниже показано проникновение в туннель инструментом Abptts.
1) Abptts требует Python 2, и вам нужно использовать pip2 для установки пакетов зависимостей pycryptodome и httplib2. Используйте команду git на Калиштурмовике, чтобы загрузить пакет abptts на github локально и выполнить git. clone Установите после команды https://github.com/nccgroup/ABPTTS.git, войдите в каталог инструмента и используйте abpttsfactory.pyВыполнить. python2 abpttsfactory.py -o Команда webshell создаст папку веб-шелла, как показано на рисунке 1-20.
2) Поскольку abbtts может генерировать только сценарии aspx и jsp, этот трамплин использует среду asp+lls. Чтобы удобно разместить файл abptts.asp непосредственно в корневом каталоге, мы обращаемся к нему через URL. Как показано на рисунке 1-21.
3) Выполнение команды в штурмовике выключит Порт 3389 дрона перенаправлен на порт 5555 штурмовика, Выполнить python2 abpttsclient.py -c webshell/config.txt -u "http://192.168.0.25/abptts.aspx" -f Команда 127.0.0.1:5555/192.168.52.12:3389 может использоваться для реализации переадресации портов, как показано на рисунке 1-22.
4) После выполнения команды выполняем rdesktop в штурмовике 127.0.0.1:5555 команда для подключения к сайту дрониз3389порт,Успешное подключение показано на рисунке 1-23.,Указывает, что туннель успешно построен.
Pivotnacci — это инструмент, который также создает туннели по протоколу HTTP. Он поддерживает протоколы Socks4 и Socks5 через прокси-сервер Socks и может шифровать туннели. Это также хороший инструмент для создания туннелей.
1)После скачивания и распаковки установочного пакета его необходимо сначала инициализировать.,использоватьштурмовиксуществоватьpivotnacci-masterдокумент夹下осуществлять pip2 install -r Команда require.txt для загрузки связанных зависимых библиотек. Затем используйте Python для настройки среды и выполните Python. setup.py Команда установки сгенерирует файлы, как показано на рисунке 1-24.
2) Используйте команду ls, чтобы отобразить наличие файлов, созданных после выполнения команды установки, как показано на рисунке 1-25.
3) Если вам нужно использовать шифрование пароля, вы можете присвоить значение AGENT_PASSWORD в файле Agents/agent.php. Здесь установите текстовый пароль, как показано на рисунке 1-26.
4) После завершения настройки поместите агент.php в корневой каталог сайта и выполните ./pivotnacci в штурмовике. http://192.168.0.25/agent.php -p 6666 --password text команда -v, где -p 6666 — это назначенный порт пересылки, --password относится к пользовательскому паролю. Если выполнение выполнено успешно, как показано на рисунке 1-27.
5) В последствии доработать в штурмовике файл конфигурации proxychains4.conf и добавьте в его нижнюю часть строку socks5. 127.0.0.1 6666 параметров для завершения настройки прокси-сервера proxychains, как показано на рисунке 1-28.
Благодаря постоянному обновлению и усовершенствованию туннельной технологии все больше и больше злоумышленников используют туннельную технологию для атак на корпоративные интрасети. В этой статье используется протокол HTTP для проникновения через туннели и, я надеюсь, продемонстрировано множество практических случаев на примере большого количества распространенных ситуаций с туннелями. эта статья будет полезна читателям.
Я участвую в третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 с эссе, получившими приз, и сформирую команду, которая разделит приз!