Статья Охотник за пользователями WinAPI: hunter


071017_2231_1.jpg
Охотник за пользователями WinAPI

Во время работы Red Team вполне обычным является отслеживание/охота на конкретных пользователей. Предположим, что у нас уже есть доступ к рабочему столу в качестве обычного пользователя (не важно как мы его получили, всегда «предполагаем взлом») в Windows Домене и мы планируем расширить его. Мы хотим знать, где пользователь вошел в систему, если он является локальным администратором в любом поле, к каким группам он принадлежит, есть ли у него доступ к общим папкам файла и т. д. Перечисление хостов, пользователей и групп также поможет лучше понять макет домена.
Скачать Hunter

Возможно, вы думаете, «используйте Powerview». В последнее время одной из наиболее распространенных проблем, с которыми я сталкиваюсь во время упражнений Red Team, является тот факт, что PowerShell находится под большим контролем. Если вы его используете, вас рано или поздно поймают. К настоящему времени всем хорошо известно, насколько мощная PowerShell, включая Blue Teams и Security Vendors.

Существует несколько способов обойти это. Чтобы избежать использования нескольких старомодных инструментов ( , , , netview, и другие) и уменьшить количество инструментов, загружаемых во взломанные системы, я создал простой инструмент, который не требует административных привилегий для запуска и сбора приведенной ниже информации, и полагается только на Windows API.

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

Инструмент (l)user hunter является небольшой программой написанной на C/C++ , которая использует WinAPI вызовы и с помощью них:

  • Получает текущую информацию о конфигурации для указанного сервера (через список хостов или перечисление доменов).
    • Версия операционной системы
    • Тип сервера (DC, Backup DC, Workstation or Server, Terminal Server, MSSQL Server)
  • Перечисляет информацию обо всех пользователях, которые в настоящее время вошли на своё рабочее место.
    • интерактивные, сервисные и пакетные входы в систему.
  • Перечисляет информацию о сеансах, установленных на сервере.
  • Получает информацию о каждом общем ресурсе на сервере.
    • проверяет, является ли текущий пользователь доступным для чтения.
  • Возвращает результат для NS_DNS namespace, IPv4 протокол.
  • Проверяет, является ли текущий пользователь администратором на сервере.
  • Получает информацию обо всех учетных записях пользователей на сервере или в DC.
  • Получает список глобальных групп, к которым указанный пользователь принадлежит на сервере или в DC.
  • Получает информацию о каждой глобальной группе в базе данных безопасности, базе данных SAM или Active Directory.
  • Получает список членов в определенной глобальной группе в базе данных безопасности, базе данных SAM или в Active Directory.
  • Извлекает информацию об определенной учетной записи пользователя на сервере или в DC.
  • Перечисляет контроллеры домена в локальном домене.

Кроме того, для перечисления хостов есть минимальное и максимальное значение задержки в секундах, которое вы можете добавить, чтобы избежать обнаружения/шума.
Как скомпилировать:

Возьмите копию Visual Studio, это бесплатно. Не будет работать на Linux.

Перевод: Анна Давыдова
Источник:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!