С ростом автоматизированных вычислительных систем и с увеличением атак на данные системы резко возник вопрос мониторинга за операционными системами на базе которых и работает любая информационная система в компании. В данных операционных системах устанавливаются/подключаются новые классы средств защиты. Мониторинг за информационными системами углубляется, а аналитика атомарных событий усложняется.
В рамках внутренней разведки атакующие часто используют инструмент PowerShell для сбора информации о домене, что порождает больший интерес к контролю за данным инструментом со стороны подразделений мониторинга событий информационной безопасности.
Чтобы отойти от концепции использования PowerShell и .NET, оставаться более незаметными и минимизировать время на разведку контроллера-домена эксперты из Red Team Outflank создали скрипт для Cobalt Strike - Recon-AD, написанный на языках на C/C++ на основе ADSI и reflective DLL.
Ну что же, приступим к более детальному изучению данного решения.
Для установки скрипта нам необходимо выполнить следующие действия:
После данных этапов мы можем приступать к использованию инструмента Recon-AD.
С имитируем получение первоначального доступа на хост “GISPENTEST2” и произведем там внутреннюю разведку с применением “Recon-AD” в составе Cobalt Strike.
В результате мы получаем информацию о нашем тестовом домене
Данная команда выведет полный список пользователей Active Directory со всеми атрибутами.
Для фильтрации запроса мы можем использовать следующие варианты команд.
Пример вывода одной из них указан ниже.
Данная команда выведет полный список групп Active Directory со всеми атрибутами.
Для фильтрации запроса мы можем использовать следующие варианты команд.
Для фильтрации запроса мы можем использовать следующие варианты команд.
Данная команда выведет полный список участников службы SPN.
На выходе мы получаем полный список локальных групп на хосте и их участников.
В рамках данного запроса мы запросили информацию по группе “Users”.
Источник https://teletype.in/@giscyberteam/cobalt_strike_recon_ad_1
В рамках внутренней разведки атакующие часто используют инструмент PowerShell для сбора информации о домене, что порождает больший интерес к контролю за данным инструментом со стороны подразделений мониторинга событий информационной безопасности.
Чтобы отойти от концепции использования PowerShell и .NET, оставаться более незаметными и минимизировать время на разведку контроллера-домена эксперты из Red Team Outflank создали скрипт для Cobalt Strike - Recon-AD, написанный на языках на C/C++ на основе ADSI и reflective DLL.
Ну что же, приступим к более детальному изучению данного решения.
Данная статья представлена исключительно в образовательных целях. Red Team сообщество "GISCYBERTEAM" не несёт ответственности за любые последствия ее использования третьими лицами.
Установка
Перед установкой нам понадобится наличие развернутого сервера Cobalt Strike, в нашем примере мы используем Cobalt Strike версии 4.9.Для установки скрипта нам необходимо выполнить следующие действия:
- Перейти по следующей ссылке https://github.com/outflanknl/Recon-AD/ и скачать архив с компонентами Recon-AD.
- Распаковать папку “Outflank-Recon-AD” из скачанного архива и поместить ее в удобное для вас место на компьютере с которого будете запускать Cobalt Strike Client.
- Загрузить скрипт “Recon-AD.cna” из разархивированной папки “Outflank-Recon-AD” в интерфейс Cobalt Strike Client (Cobalt Strike Script Manager).
После данных этапов мы можем приступать к использованию инструмента 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.
Получение информации о домене
Для получения информации о домене, в который мы получили доступ выполним следующую команду через интерактивную сессию хоста в Cobalt Strike.
Код:
Recon-AD-Domain
Получение информации о пользователях домена
Для вывода информации о всех пользователях домена выполним следующую команду.
Код:
Recon-AD-Users all
Для фильтрации запроса мы можем использовать следующие варианты команд.
Код:
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
Для фильтрации запроса мы можем использовать следующие варианты команд.
Код:
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
Получение информации о локальных группах
Для вывода данной информации выполним следующую команду.
Код:
Recon-AD-AllLocalGroups <Computer-Name>
Получение информации о заданной локальной группе
Для вывода данной информации выполним следующую команду.
Код:
Recon-AD-LocalGroups <Computer-Name> <Group-Name>
Заключение
В данной статье мы рассмотрели инструмент “Recon-AD”: его особенности, установку, функционал и практическое применение. Его применение позволит сократить время на получение необходимой информации для проведения следующих этапов тестирования (атак) скомпрометированной инфраструктуры, а также оставаться более незамеченным для средств защиты в корпоративном сегменте.Источник https://teletype.in/@giscyberteam/cobalt_strike_recon_ad_1