#Drilldown into Service PrincipalsGet-ADIntServicePrincipals> doc.txtGet-ADIntServicePrincipals-ClientIDs <AppPrincipalID>
Conditional Access Policies
Conditional Access Policies are stored and displayed as JSON.
#Display info for Conditional Access PoliciesGet-ADIntConditionalAccessPolicies
MFASweep/Conditional Access Policies
Uses APIs to see if a user can authenticate or is blocked by Access Policies.
#Check to see if user can login to any resource or is blockedImport-Module .\MFASweep.ps1Invoke-MFASweep-Username USERNAME@DOMAIN.onmicrosoft.com -Password 'PASSWORD'##Each individual module can be run separately if needed as well.###Microsoft Graph APIInvoke-GraphAPIAuth-Username targetuser@targetdomain.com -Password Winter2020 #Azure Service Management APIInvoke-AzureManagementAPIAuth-Username targetuser@targetdomain.com -Password Winter2020 #Microsoft 365 Exchange Web ServicesInvoke-EWSAuth-Username targetuser@targetdomain.com -Password Winter2020 #Microsoft 365 Web PortalInvoke-O365WebPortalAuth-Username targetuser@targetdomain.com -Password Winter2020 #Microsoft 365 Web Portal w/ Mobile User AgentInvoke-O365WebPortalAuthMobile-Username targetuser@targetdomain.com -Password Winter2020 #Microsoft 365 Active SyncInvoke-O365ActiveSyncAuth-Username targetuser@targetdomain.com -Password Winter2020 #ADFSInvoke-ADFSAuth-Username targetuser@targetdomain.com -Password Winter2020
Unified Audit Log Settings
Important to know what traces your leaving behind for defense evasion.
Obtaining detailed information on a user can help identify their location for Conditional Access Policy bypasses.
#Enumerate all usersGet-ADDIntUsers| Select UserPrincipalName, ObjectID, ImmuatableID#Drilldown into userGet-ADDIntUsers-UserPrincipalName USERNAME
Enumerating Administrators
#List Global AdminsGet-AADIntGlocalAdmins#Recon$results =Invoke-AADIntReconAsInsider#Select specific groups from recon output$results.roleInformation |Where Memebers -ne$null| select Name.Members
Enumerating Sync Account
#Get Sync accountGet-AADIntSyncConfiguration
Detect
API calls are not logged within Azure, so AADInternals will not detected.
Azure Sign-Ins are logged but difficult to baseline.
Application header can be forged, so it is unreliable to baseline.
Below is a list of Application IDs and their name used for sign-ins.