Tool - AADInternal

Azure AD and Microsoft 365 Kill Chain

https://aadinternals.com/aadkillchain/


Image from AADinternals

# Install the module
Install-Module -Name "AADInternals"

# Import the module
Import-Module -Name "AADInternals"

Markdown Table

User Level Recon Commands Compromise Commands Persistence Commands Actions on Intent Commands
Add Cache Get-AADIntAccessTokenForAADGraph -SaveToCache
Outsider Get-AADIntTenantDomains,
Get-AADIntOpenIDConfiguration,
Get-AADIntLoginInformation,
Invoke-AADIntReconAsOutsider,
Invoke-AADIntUserEnumerationAsOutsider
Invoke-AADIntPhishing
Guest Get-AADIntAzureTenants,
Get-AADIntAzureInformation,
Get-AADIntSPOSiteUsers,
Invoke-AADIntReconAsGuest,
Invoke-AADIntUserEnumerationAsGuest
New-AADIntBulkPRTToken,
Join-AADIntDeviceToAzureAD,
Join-AADIntDeviceToIntune
User Get-AADIntTenantDetails,
Get-AADIntGlobalAdmins,
Get-AADIntSyncConfiguration,
Get-AADIntCompanyInformation,
Invoke-AADIntReconAsInsider,
Invoke-AADIntUserEnumerationAsInsider
New-AADIntSAMLToken,
New-AADIntKerberosTicket,
Open-AADIntOffice365Portal
Admin Get-AADIntAzureSubscriptions Grant-AADIntAzureUserAccessAdminRole,
Set-AADIntAzureRoleAssignment,
Invoke-AADIntAzureVMScript,
Register-AADIntPTAAgent,
Set-UserMFA,
Set-UserMFAApps
ConvertTo-AADIntBackdoor,
Set-AADIntPassThroughAuthentication
New-AADIntSAMLToken,
New-AADIntKerberosTicket,
Open-AADIntOffice365Portal
On-prem Admin Export-AADIntADFSSigningCertificate,
Get-AADIntSyncCredentials,
Set-AADIntUserPassword,
Install-AADIntPTASpy
New-AADIntSAMLToken,
New-AADIntKerberosTicket,
Open-AADIntOffice365Portal

Mermaid

Here are the full diagrams including all commands per user level:

1. Outsider

graph TD
    Recon --> Compromise --> Persistence --> ActionsOnIntent

    Recon["Recon: 
    - Get-AADIntTenantDomains
    - Get-AADIntOpenIDConfiguration
    - Get-AADIntLoginInformation
    - Invoke-AADIntReconAsOutsider
    - Invoke-AADIntUserEnumerationAsOutsider"]

    Compromise["Compromise: 
    - Invoke-AADIntPhishing"]

    Persistence["Persistence: None"]

    ActionsOnIntent["Actions on Intent: None"]

2. Guest

graph TD
    Recon --> Compromise --> Persistence --> ActionsOnIntent

    Recon["Recon: 
    - Get-AADIntAzureTenants
    - Get-AADIntAzureInformation
    - Get-AADIntSPOServiceInformation
    - Get-AADIntSPOServiceInformation
    - Invoke-AADIntReconAsGuest
    - Invoke-AADIntUserEnumerationAsGuest"]

    Compromise["Compromise: None"]

    Persistence["Persistence: None"]

    ActionsOnIntent["Actions on Intent:
    - New-AADIntBulkPRTToken
    - Join-AADIntDeviceToAzureAD
    - Join-AADIntDeviceToIntune"]

3. User

graph TD
    Recon --> Compromise --> Persistence --> ActionsOnIntent

    Recon["Recon: 
    - Get-AADIntTenantDetails
    - Get-AADIntGlobalAdmins
    - Get-AADIntSyncConfiguration
    - Get-AADIntCompanyInformation
    - Get-AADIntSPOServiceInformation
    - Invoke-AADIntReconAsInsider
    - Invoke-AADIntUserEnumerationAsInsider"]

    Compromise["Compromise: None"]

    Persistence["Persistence: None"]

    ActionsOnIntent["Actions on Intent:
    - New-AADIntBulkPRTToken
    - New-AADIntSAMLToken
    - Join-AADIntDeviceToAzureAD
    - New-AADIntKerberosTicket"]

4. Admin

graph TD
    Recon --> Compromise --> Persistence --> ActionsOnIntent

    Recon["Recon: 
    - Get-AADIntAzureSubscriptions"]

    Compromise["Compromise:
    - Grant-AADIntAzureUserAccessAdminRole
    - Set-AADIntAzureRoleAssignment
    - Invoke-AADIntAzureVMScript
    - Register-AADIntPTAAgent
    - Set-UserMFA
    - Set-UserMFAApps"]

    Persistence["Persistence:
    - ConvertTo-AADIntBackdoor
    - Set-AADIntPassThroughAuthentication"]

    ActionsOnIntent["Actions on Intent:
    - New-AADIntSAMLToken
    - New-AADIntKerberosTicket
    - Open-AADIntOffice365Portal"]

5. On-prem Admin

graph TD
    Recon --> Compromise --> Persistence --> ActionsOnIntent

    Recon["Recon: 
    - Export-AADIntADFSSigningCertificate
    - Get-AADIntSyncCredentials"]

    Compromise["Compromise: 
    - Set-AADIntUserPassword
    - Install-AADIntPTASpy"]

    Persistence["Persistence: None"]

    ActionsOnIntent["Actions on Intent:
    - New-AADIntSAMLToken
    - New-AADIntKerberosTicket
    - Open-AADIntOffice365Portal"]