• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Внутренняя разведка Active Directory через Cobalt Strike

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
С ростом автоматизированных вычислительных систем и с увеличением атак на данные системы резко возник вопрос мониторинга за операционными системами на базе которых и работает любая информационная система в компании. В данных операционных системах устанавливаются/подключаются новые классы средств защиты. Мониторинг за информационными системами углубляется, а аналитика атомарных событий усложняется.

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

Чтобы отойти от концепции использования PowerShell и .NET, оставаться более незаметными и минимизировать время на разведку контроллера-домена эксперты из Red Team Outflank создали скрипт для Cobalt Strike - Recon-AD, написанный на языках на C/C++ на основе ADSI и reflective DLL.

Ну что же, приступим к более детальному изучению данного решения.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.

Установка​

Перед установкой нам понадобится наличие развернутого сервера Cobalt Strike, в нашем примере мы используем Cobalt Strike версии 4.9.

Для установки скрипта нам необходимо выполнить следующие действия:
bb1a3816-8ff5-4452-b3d3-6974fc1569ee.png

  • Распаковать папку “Outflank-Recon-AD” из скачанного архива и поместить ее в удобное для вас место на компьютере с которого будете запускать Cobalt Strike Client.
93d34a24-a6ba-4f26-a88f-18314e23422c.png

  • Загрузить скрипт “Recon-AD.cna” из разархивированной папки “Outflank-Recon-AD” в интерфейс Cobalt Strike Client (Cobalt Strike Script Manager).
fee94658-3e39-484b-a5d6-daee7055b703.png

b8a870f6-3f54-4c89-a3b2-884426c64842.png

df2c07b4-b422-4ef0-a1cc-be2425e9792c.png

После данных этапов мы можем приступать к использованию инструмента Recon-AD.

Описание функционала и применение​

Данный инструмент состоит из главного скрипта и семи DLL-файлов (названия аналогичны командам в Cobalt Strike):
  • Recon-AD-Domain - используется для перечисления информации о домене (доменное имя, GUID, название сайта, политика паролей, список домен-контроллеров).
  • Recon-AD-Users - используется для получения объектов “Пользователи” Active Directory с атрибутами по заданному запросу.
  • Recon-AD-Groups - используется для получения объектов “Группы” Active Directory.
  • Recon-AD-Computers - используется для получения объектов “Компьютеры” Active Directory с атрибутами по заданному запросу.
  • Recon-AD-SPNs - используется для вывода перечня учетных записей Active Directory, участников службы (SPN) и отображения полезных атрибутов.
  • Recon-AD-AllLocalGroups - используется для получения списка локальных групп на хосте и членов данных групп.
  • Recon-AD-LocalGroups - используется для получения информации по определенной локальной группе (группа “Администраторы” по умолчанию).
Изучив основные компоненты данного инструментария можем приступить к демонстрации практического применения, для этого мы будем использовать тестовый стенд. Данный стенд состоит из нескольких виртуальных хостов подключенных к контроллеру домена.

С имитируем получение первоначального доступа на хост “GISPENTEST2” и произведем там внутреннюю разведку с применением “Recon-AD” в составе Cobalt Strike.

6d84a937-c16a-4f0c-ae58-1c7cab21ad5a.png

Получение информации о домене​

Для получения информации о домене, в который мы получили доступ выполним следующую команду через интерактивную сессию хоста в Cobalt Strike.
Код:
Recon-AD-Domain
В результате мы получаем информацию о нашем тестовом домене

49f8c4ab-5ac3-440e-9ae5-bc806c4c2a89.png

Получение информации о пользователях домена​

Для вывода информации о всех пользователях домена выполним следующую команду.
Код:
Recon-AD-Users all
Данная команда выведет полный список пользователей Active Directory со всеми атрибутами.

2a3793d7-5152-4f98-98a0-0422e0fa8ace.png

Для фильтрации запроса мы можем использовать следующие варианты команд.
Код:
Recon-AD-Users <User-Name>
Recon-AD-Users *admin* # имя УЗ содержит текст "admin"
Пример вывода одной из них указан ниже.
Код:
[03/14 13:05:59] beacon> Recon-AD-Users *Hack*
[03/14 13:05:59] [+] Let's enumerate user *Hack*

[03/14 13:05:59] [*] Tasked beacon to spawn Recon-AD-Users
[03/14 13:05:59] [+] host called home, sent: 128064 bytes
[03/14 13:06:00] [+] received output:
--------------------------------------------------------------------
[+] objectClass:
    top
    person
    organizationalPerson
    user
[+] cn:
    Gorilla GH. Hacker
[+] sn:
    Gorilla
[+] c:
    RU
[+] l:
    Saint-Petersburg
[+] description:
    Chief of pentesters
[+] telephoneNumber:
    89999999998
[+] givenName:
    Hacker
[+] initials:
    GH
[+] distinguishedName:
    CN=Gorilla GH. Hacker,CN=Users,DC=gtnp,DC=local
[+] instanceType:
    4
[+] whenCreated:
    3/14/2024 4:02:02 PM
[+] whenChanged:
    3/14/2024 4:04:26 PM
[+] displayName:
    Gorilla GH. Hacker
[+] uSNCreated:
    high: 0 low: 80069
[+] uSNChanged:
    high: 0 low: 80090
[+] co:
    Russia
[+] name:
    Gorilla GH. Hacker
[+] objectGUID:
    {ADA81D30-8616-43D5-B3DC-BE4B569F9293}
[+] userAccountControl:
    66048
[+] badPwdCount:
    0
[+] codePage:
    0
[+] countryCode:
    643
[+] badPasswordTime:
    No value set.
[+] lastLogoff:
    No value set.
[+] lastLogon:
    No value set.
[+] pwdLastSet:
    3/14/2024 9:02:03 AM
[+] primaryGroupID:
    513
[+] objectSid:
    S-1-5-21-3395708365-1461986185-1509986597-1166
[+] accountExpires:
    Never Expires.
[+] logonCount:
    0
[+] sAMAccountName:
    GorillaHacker
[+] sAMAccountType:
    805306368
[+] userPrincipalName:
    GorillaHacker@gtnp.local
[+] objectCategory:
    CN=Person,CN=Schema,CN=Configuration,DC=gtnp,DC=local
[+] dSCorePropagationData:
    3/14/2024 4:02:03 PM
    1/1/1601
[+] mail:
    gh@somemail.ru
[+] ADsPath:
    LDAP://CN=Gorilla GH. Hacker,CN=Users,DC=gtnp,DC=local
[+] Password expire settings:
    password never expires
[+] Account options:
    account enabled

Получение информации о группах домена​

Для вывода информации о всех группах домена выполним следующую команду.
Код:
Recon-AD-Groups all
Данная команда выведет полный список групп Active Directory со всеми атрибутами.

9fa1fa45-a5ce-4428-ac38-fc2e2227c7e8.png

Для фильтрации запроса мы можем использовать следующие варианты команд.
Код:
Recon-AD-Groups <Group-Name>
Recon-AD-Groups *admin* # имя группы содержит текст "admin"

Получение информации о компьютерах домена​

Для вывода информации о всех компьютерах домена выполним следующую команду.
Код:
Recon-AD-Computers
Для фильтрации запроса мы можем использовать следующие варианты команд.
Код:
Recon-AD-Computers <Computer-Name>
Recon-AD-Computers *serv* # имя хоста содержит текст "serv"

Получение информации об участников службы SPN​

Для вывода данной информации выполним следующую команду.
Код:
Recon-AD-SPNs
Данная команда выведет полный список участников службы SPN.

96510208-9c89-4258-90a4-57982c3d82e7.png

Получение информации о локальных группах​

Для вывода данной информации выполним следующую команду.
Код:
Recon-AD-AllLocalGroups <Computer-Name>
На выходе мы получаем полный список локальных групп на хосте и их участников.

38ae5e08-df8d-40e5-a1fa-8a3a0bedd6ac.png

Получение информации о заданной локальной группе​

Для вывода данной информации выполним следующую команду.
Код:
Recon-AD-LocalGroups <Computer-Name> <Group-Name>
В рамках данного запроса мы запросили информацию по группе “Users”.

16ab7172-88b9-4e5a-8214-aa7855cf6f73.png

Заключение​

В данной статье мы рассмотрели инструмент “Recon-AD”: его особенности, установку, функционал и практическое применение. Его применение позволит сократить время на получение необходимой информации для проведения следующих этапов тестирования (атак) скомпрометированной инфраструктуры, а также оставаться более незамеченным для средств защиты в корпоративном сегменте.

Источник https://teletype.in/@giscyberteam/cobalt_strike_recon_ad_1
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх