ATT&CKКрасное и синее противостояние с точки зрения:пять. Проникновение во внутреннюю сеть с использованием протокола HTTP для проникновения через туннель
ATT&CKКрасное и синее противостояние с точки зрения:пять. Проникновение во внутреннюю сеть с использованием протокола HTTP для проникновения через туннель

Предыдущая статья рекомендовала:

ATT&CKКрасное и синее противостояние с точки зрения:один. Подробное объяснение технологии проходки туннелей

ATT&CKКрасное и синее противостояние с точки зрения:два. Исходящий протокол обнаружения интрасети

ATT&CKКрасное и синее противостояние с точки зрения:три. Традиционные методы использования туннелей во внутренней сети

ATT&CKКрасное и синее противостояние с точки зрения:Четыре. Проникновение в интранет: проникновение через туннель через Earthworm (EW)

ATT&CKКрасное и синее противостояние с точки зрения:пять. Проникновение во внутреннюю сеть с использованием протокола HTTP для проникновения через туннель


1. Использование протокола HTTP для проникновения в туннель.

WEB-туннель — это WEB-туннель, который может выполнять контроль проникновения в локальную сеть. Через веб-туннель его можно соединить со всеми сетевыми устройствами в локальной сети, обеспечивая удаленный доступ к этому устройству так же, как доступ к этому устройству в локальной сети. Веб-туннелирование позволяет пользователям отправлять трафик, отличный от HTTP, через HTTP-соединение, чтобы другие данные протокола могли передаваться через HTTP. Веб-туннель подходит, когда на цели включен брандмауэр, при этом как входящие, так и исходящие соединения ограничены, за исключением порта веб-службы (80 или 443). Webshell можно использовать для подключения к службам на целевом хосте. Это подключение к локальному порту на целевом хосте. Обычно оно позволяет считывать данные из порта службы, инкапсулировать их в HTTP и отправлять на локальный прокси-сервер в качестве ответа HTTP. Вся внешняя связь осуществляется по протоколу HTTP.

Предположим, что хост обнаружен во время проникновения в интрасеть, а веб-сайт обнаружен после тестирования. Вы можете построить туннель через протокол HTTP этого сайта и получить разрешения веб-оболочки через уязвимость. Если у вас есть разрешения веб-оболочки, вы можете использовать веб-оболочку. туннель протокола HTTP для построения следующим образом. Некоторые случаи используются для демонстрации того, как построить веб-туннель. Конкретная экспериментальная среда показана в таблице 1-1, а экспериментальная топология показана на рисунке 1-1.

Рис. 1-1. Диаграмма экспериментальной топологии протокола HTTP.
Рис. 1-1. Диаграмма экспериментальной топологии протокола HTTP.

Таблица 1-1. Таблица экспериментальной среды протокола HTTP.

Тип хоста

IP-конфигурация

штурмовик

192.168.0.58

Веб-сервер

192.168.0.25,192.168.52.11

целевой дрон

192.168.52.12


1.Reduh выполняет переадресацию портов

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. Показанный результат указывает на то, что развертывание файла прошло успешно.

Рисунок 1-2 Тестовый доступ
Рисунок 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.

Рисунок 1-3 подключение штурмовика к веб-серверу
Рисунок 1-3 подключение штурмовика к веб-серверу

3) В это время начнет прослушиваться порт 1010 штурмовика.,Мы можем использовать инструмент nc для подключения к локальному порту 1010.,Выполнить NC -nv 127.0.0.1 Команда 1010 может использоваться для управления прокси-сервером пересылки, как показано на рисунке 1-4 после выполнения.

Рисунок 1-4  Сервер соединений ЧПУ
Рисунок 1-4 Сервер соединений ЧПУ

4) Используйте здесь метод [createTunnel], чтобы отключить Служба удаленного подключения дрона привязана к порту штурмовик8888. Выполните команду [createTunnel]8888:192.168.52.12:3389, чтобы отключить. Порт 3389 дрона перенаправляется на порт 8888 штурмовика, как показано на Рисунке 1-5показано.

Рисунок 1-5 Настроить переадресацию портов
Рисунок 1-5 Настроить переадресацию портов

5) В это время включить Служба удаленного подключения дрона на порту 3389 была перенаправлена ​​на локальный порт 8888. Вы можете попробовать использовать команду rdesktop в штурмовике, чтобы подключиться к локальному порту 8888 и выполнить rdesktop 127.0.0.1:8888 обнаруживается, что удаленное подключение возможно, как показано на рисунке 1-6.

Рис. 1-6 Тестовое соединение успешно выполнено
Рис. 1-6 Тестовое соединение успешно выполнено

2.ReGeorg для проникновения в туннель

ReGeorg — это прокси-инструмент для интрасети, который использует протокол http для создания туннелей для передачи данных. Он основан на среде Python2 и представляет собой обновленную версию reduh. По сравнению с reduh он добавляет множество функций, таких как шифрование трафика, настройка кода ответа. и т. д. После загрузки и распаковки сжатого пакета проверьте структуру каталогов, и вы увидите, что поддерживаются три языка сценариев, как показано на рисунке 1-7. Выберите файл веб-шелла для загрузки в соответствии с языком сценария, соответствующим веб-сервису для проникновения в туннель.

Рисунок 1-7 Сжатый пакетный файл reGeorg
Рисунок 1-7 Сжатый пакетный файл reGeorg

1) Экспериментальная среда показана на рисунке 1-1. показано.гипотеза Веб-сервердаPHPсреда,Вы можете использовать файл сценария туннеля.nosocket.php.,Загрузите файл в корневой каталог сайта Веб-сервера. Если загрузка прошла успешно, получите доступ к этому файлу сценария веб-сайта через http.,Вы можете видеть, что развертывание прошло успешно.,Как показано на рисунке 1-8показано.

Рис. 1-8. Доступ к файлу оболочки сервера.
Рис. 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, который доказывает, что проникновение в туннель прошло успешно.

Рис. 1-9. Создание туннеля regeorg.
Рис. 1-9. Создание туннеля regeorg.
  1. впоследствии,Доработано в штурмовике файл конфигурации proxychains4.conf и добавьте в его нижнюю часть строку socks5.127.0.0.1 8888 параметров для завершения proxychains Конфигурация прокси-сервера показана на рисунке 1-10 ниже.
Рисунок 1-10 Изменить конфигурацию проксичейнов
Рисунок 1-10 Изменить конфигурацию проксичейнов
  1. После настройки прокси proxychains вы можете запускать proxychains в штурмовике. rdesktop 192.168.52.12 команда для подключения дрон, созданный туннель протокола Socks, напрямую подключайтесь к целевому серверу удаленно, как показано на рисунке 1-11. показано.
Рисунок 1-11Проверка туннельного соединения прошла успешно
Рисунок 1-11Проверка туннельного соединения прошла успешно

3. Проникновение в зашифрованный туннель Neo-reGeorg.

Neo-regeorg можно назвать реконструированной версией Regeorg. Это также очень практичный инструмент для веб-туннелей, основанный на Regeorg, который повышает безопасность, доступность и конфиденциальность передаваемого контента, позволяя справляться с большим количеством сценариев сетевой среды. Инструмент опирается на среду Python3, и его принцип аналогичен regeorg.

1) Экспериментальная среда показана на рисунке Как показано в 1-1., условия использования Neo-Regeorg аналогичны Regeorg. Здесь файл туннеля.php загружается в корневой каталог службы веб-сайта Веб-сервера через веб-шелл, а также файл серверного скрипта с расширением. пароль генерируется. выполнитьpython neoreg.py generate -k test, -k — указанный пароль. После запуска в текущем каталоге будет создана папка neoreg_servers. В ней будут находиться сценарии в различных средах, как показано на рисунке 1-12.

Рисунок 1-12 Создать Интернет туннельный файл
Рисунок 1-12 Создать Интернет туннельный файл

2) Загрузите сгенерированный файл и поместите его на Веб-сервер.,Посетите файл на сайте,нравиться Рисунок 1-13показано.

Рисунок 1-13 Доступ к файлу веб-туннеля сервера
Рисунок 1-13 Доступ к файлу веб-туннеля сервера

3) Используйте Калиштурмовик для запуска Python neoreg.py -k test -u http://192.168.0.25/tunnel.php -p 8888, туннель успешно установлен, как показано на рисунке 1-14.

Рисунок 1-14 Используйте веб-туннель для создания зашифрованного туннеля
Рисунок 1-14 Используйте веб-туннель для создания зашифрованного туннеля

4)впоследствии,Доработано в штурмовикефайл конфигурации proxychains4.conf и добавьте в его нижнюю часть строку socks5.127.0.0.1 8888 параметров для завершения настройки прокси-сервера proxychains, как показано на рисунке 1-15.

Рисунок 1-15 Измените файл proxychains.conf.
Рисунок 1-15 Измените файл proxychains.conf.

5)После настройки прокси proxychains вы можете запускать proxychains в штурмовике. rdesktop 192.168.52.12 команда для подключения дрон, созданный туннель протокола Socks,Прямое удаленное подключение к целевому серверу,нравиться Рисунок 1-16показано.

Рисунок 1-16 Соединение с туннелем выполнено успешно
Рисунок 1-16 Соединение с туннелем выполнено успешно

4. Тунна выполняет проникновение в туннель.

Tunna — это инструмент туннелирования, разработанный на основе языка Python. Его можно не только использовать для переноса и туннелирования любого TCP-соединения через HTTP, но также можно использовать для обхода различных сетевых ограничений в среде брандмауэра. Структура его инструмента показана на рисунке. показано 1–17.

Рисунок 1-17 Структура тунны
Рисунок 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показано.

Рисунок 1-18 сопоставление портов
Рисунок 1-18 сопоставление портов

2) После успешного выполнения штурмовика,На этом этапе сопоставление портов выполнено успешно.,Далее обращаемся к локальному порту 8888 в браузере,Вы можете получить доступ к WEB-сервису интранет-дрона.,нравиться Рисунок 1-19показано.

Рисунок 1-19 Сопоставление выполнено успешно
Рисунок 1-19 Сопоставление выполнено успешно

5.Проникновение в зашифрованный туннель Abptts

Инструмент 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.

Рисунок 1-20 Используйте abptts для создания вебтуннельного файл
Рисунок 1-20 Используйте abptts для создания вебтуннельного файл

2) Поскольку abbtts может генерировать только сценарии aspx и jsp, этот трамплин использует среду asp+lls. Чтобы удобно разместить файл abptts.asp непосредственно в корневом каталоге, мы обращаемся к нему через URL. Как показано на рисунке 1-21.

Рисунок 1-21 Доступ через URL
Рисунок 1-21 Доступ через URL

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.

Рисунок 1-22 Использование веб-туннеля для переадресации портов
Рисунок 1-22 Использование веб-туннеля для переадресации портов

4) После выполнения команды выполняем rdesktop в штурмовике 127.0.0.1:5555 команда для подключения к сайту дрониз3389порт,Успешное подключение показано на рисунке 1-23.,Указывает, что туннель успешно построен.

Рисунок 1-23Проверка туннельного соединения прошла успешно
Рисунок 1-23Проверка туннельного соединения прошла успешно

6. Проникновение в туннель шифрования Pivotnacci

Pivotnacci — это инструмент, который также создает туннели по протоколу HTTP. Он поддерживает протоколы Socks4 и Socks5 через прокси-сервер Socks и может шифровать туннели. Это также хороший инструмент для создания туннелей.

1)После скачивания и распаковки установочного пакета его необходимо сначала инициализировать.,использоватьштурмовиксуществоватьpivotnacci-masterдокумент夹下осуществлять pip2 install -r Команда require.txt для загрузки связанных зависимых библиотек. Затем используйте Python для настройки среды и выполните Python. setup.py Команда установки сгенерирует файлы, как показано на рисунке 1-24.

Рисунок 1-24 Инициализируйте среду pivitnacci
Рисунок 1-24 Инициализируйте среду pivitnacci

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

Рисунок 1-25  Среда пивитначчи создана
Рисунок 1-25 Среда пивитначчи создана

3) Если вам нужно использовать шифрование пароля, вы можете присвоить значение AGENT_PASSWORD в файле Agents/agent.php. Здесь установите текстовый пароль, как показано на рисунке 1-26.

Рисунок 1-26Конфигурацияwebтуннельный пароль для подключения к файлу
Рисунок 1-26Конфигурацияwebтуннельный пароль для подключения к файлу

4) После завершения настройки поместите агент.php в корневой каталог сайта и выполните ./pivotnacci в штурмовике. http://192.168.0.25/agent.php -p 6666 --password text команда -v, где -p 6666 — это назначенный порт пересылки, --password относится к пользовательскому паролю. Если выполнение выполнено успешно, как показано на рисунке 1-27.

Рисунок 1-27 Используйте файлы веб-туннелей для создания туннелей
Рисунок 1-27 Используйте файлы веб-туннелей для создания туннелей

5) В последствии доработать в штурмовике файл конфигурации proxychains4.conf и добавьте в его нижнюю часть строку socks5. 127.0.0.1 6666 параметров для завершения настройки прокси-сервера proxychains, как показано на рисунке 1-28.

Рисунок 1-28 Изменить конфигурацию проксичейновдокумент
Рисунок 1-28 Изменить конфигурацию проксичейновдокумент
  1. После настройки прокси proxychains вы можете запускать proxychains в штурмовике. rdesktop 192.168.52.12 команда для подключения дрон, как показано на рисунке 1-29, через установленный туннель протокола Socks, вы можете напрямую подключиться к камере удаленно. дрон。
Рисунок 1-29 туннель Тестовое соединение прошло успешно
Рисунок 1-29 туннель Тестовое соединение прошло успешно


2. Краткое содержание этой статьи

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


Я участвую в третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 с эссе, получившими приз, и сформирую команду, которая разделит приз!

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода