Как использовать NetExec в постэксплуатации Active Directory

NetExec

NetExec — это инструмент похожий на PsMapExec и CrackMapExec, который используется для удаленного выполнения команд на целевых машинах, что делает его полезным для тестирования на проникновение (пентестов) и постэксплуатации Active Directory. В статье разберем процесс установки в Linux, Windows и Mac, а также рассмотрим возможности на примере сканирования и работы с SMB на Kali Linux.

Еще по теме: Создание стенда для практики взлома Active Directory

NetExec в постэксплуатации Active Directory

NetExec выделяется среди PsMapExec и CrackMapExec благодаря своей кроссплатформенности, поддержке нескольких операционных систем (Unix, Windows, macOS). В отличие от PsMapExec и CrackMapExec, которые в основном фокусируются на Windows-системах и Active Directory, этот инструмент предоставляет более универсальные возможности для удаленного управления и выполнения команд на различных системах, что делает его более подходящим для сценариев, где требуется взаимодействие с множеством платформ.

Тулза используется для компрометации различных сервисов в сети:

  • SMB
  • SSH
  • LDAP
  • FTP
  • WMI
  • WINRM
  • RDP
  • VNC
  • MSSQL

Статья в образовательных целях для обучения этичных хакеров. При написании статьи использовались личные устройства автора. Ни редакция spy-soft.net, ни автор не несут ответс­твен­ности за ваши действия.

Установка NetExec на Unix

Для удобной установки NetExec рекомендуется использовать pipx, что позволит использовать как NetExec, так и nxcdb на уровне всей системы.

pipx — инструмент для установки и запуска приложений Python в изолированных средах. Он позволяет устанавливать Python-программы в отдельные виртуальные окружения, чтобы избежать конфликтов зависимостей между проектами.

Установка через pipx:

После завершения установки откройте новую оболочку и запустите инструменты:

Обновление NetExec через pipx:

Установка на Kali Linux

Тулзу добавили в новом релизе, но если по какой-то причине его нет, вот как его установить:

NetExec Kali Linux установить

Установка для BlackArch

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

Установка на Windows

Существуют различные способы установки на Windows.

Установка через Python и pipx

Для установки NetExec на Windows через pipx вам потребуется git и Rust. Если не сможете их установить, воспользуйтесь standalone-исполняемым файлом (см. ниже).

Установите Git, Rust и C++:

  • Скачать Git
  • Установить Rust
  • Установить инструменты C++

Установите pipx и NetExec:

После этого запустите NetExec:

Использование NetExec Binary

  1. Скачайте последний релиз для Windows.
  2. Распакуйте архив.
  3. Запустите файл через командную строку.

Использование Python ZippApp

  1. Можно использовать standalone-версию Python. После этого добавьте путь к файлу python.exe в переменную PATH.
  2. Скачайте ZippApp для своей ОС и версии Python.
  3. Запустите бинарный файл:

Если возникла ошибка:

Добавьте следующий ключ реестра:

Установка на Mac

Сначала установите Rust на Mac:

или

Установите NetExec:

Использование NetExec

Мы будем использовать NetExec для поиска и перечисления SMB-шар.

Первым шагом будет обнаружение хостов в сети. Для этого можно использовать, установленный по умолчанию в Kali Linux, инструмент Netdiscover (см. Netdiscover для поиска хостов):

Сканирование окружения и перечисление хостов NetExec
Сканирование окружения и перечисление хостов

Полученные IP-адреса хостов нужно сохранить в файл для дальнейшего использования.

После того, как у нас есть список хостов, можно начать сканирование SMB:

Перечисление SMB NetExec
Перечисление SMB

Следующий шаг —   поиск доступных расшаренных ресурсов в сети. Для начала попробуем войти без логина и пароля:

Поиск SMB-шар NetExec

Поиск SMB-шар
Поиск SMB-шар

Ожидаемо, в большинстве случаев это вызовет ошибку «доступ запрещен», но иногда пустые учетные записи могут быть активны.

Далее попробуем войти с учетной записью гостя:

Попытка гостевого входа
Попытка гостевого входа

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

Также стоит проверить доступ через учетную запись anonymous:

Доступ через учетную запись anonymous NetExec
Доступ через учетную запись anonymous

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

Сначала зададим переменную с IP-адресом NAS:

Теперь выполним команду для выгрузки данных с помощью NetExec:

Выгрузка содержимого SMB-шар NetExec
Выгрузка содержимого SMB-шар

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

Поиск пользователей NetExec
Поиск пользователей

Если результатов немного, попробуем выполнить то же самое с пустым логином и паролем:

Результат поиска пользователей
Результат поиска пользователей

Если находим пользователя с пустым паролем, например, nobody, можно продолжить верификацию учетных данных.

Теперь проверим, удалось ли нам получить корректные учетные данные.

Задаем переменные для имени пользователя и пароля, которые обнаружили:

После этого выполняем команду для проверки аутентификации:

Проверка учетных данных NetExec
Проверка учетных данных NetExec

Если увидите зеленый +, это значит, что аутентификация успешна!

Заключение

Этот пример — лишь небольшая демонстрация возможностей NetExec для работы с SMB. Инструмент также может быть интегрирован с Bloodhound для более глубокого анализа сетевой среды и построения графов взаимосвязей пользователей и компьютеров.

ПОЛЕЗНЫЕ ССЫЛКИ:

QUASAR

Этичный хакер и компьютерный ниндзя. Новые статьи в нашей Телеге!

Добавить комментарий