Azure Sentinel is een cloud-native Security Information Event Management-oplossing, ook wel bekend als een SIEM-oplossing. Azure Sentinel is cloud-native ontwikkeld op het schaalbare Azure platform en maakt gebruik van meerdere bestaande Azure services. In dit blog een toelichting over de detectie van Brute-force & Password spray attack via Azure Sentinel. 

Wat is Azure Sentinel?

Azure Sentinel is cloud-native gebaseerd en gericht en ontwikkeld op het Azure platform welke gebruik maakt van bestaande Azure toepassingen en services.

Om een overzicht te geven is de volledige analyse gericht op Log analytics. Dit platform maakt al jaren onderdeel uit van het Azure Monitor platform. Via KQL (kusto query language) is het mogelijk om gebruik te maken van de query’s.

Gebruiksvriendelijkheid is belangrijk, om deze reden heeft Microsoft ervoor gekozen om een tal van connectors standaard beschikbaar te stellen.

Aan de slag met de data

Door de vele connectors en informatie-bronnen is het vrij eenvoudig om eigen dashboard te ontwerpen welke eenvoudig inzicht geven in bepaalde security handelingen. In dit blog een toelichting over de kracht van Azure Sentinel als het gaat om het weergave van de volgende componenten:

  • Brute force
  • Password spray attack
  • Weergave in dashboard en visuele map weergave.

Voor de Azure Active Directory data connector is het een vereiste om te beschikken over minimaal een Azure AD Premium P1 licentie. Om te beginnen een korte toelichting van de Brute force & password spray attack.

Brute-force attack

Een veelgebruikte methode om ergens digitaal in te breken, is via een brute-force attack. De kwaadwillende gebruikt hierbij verschillende combinaties wachtwoorden, totdat de juiste combinatie is gevonden en een inlogpoging mogelijk is. Hierbij is een brute force vaak gericht tot een enkel account met behulp van bijvoorbeeld een password file. Vooral zwakke inlognamen- en wachtwoorden zijn extra gevoelig voor een brute-force attack.

Password spray attack

Password spray attack is gericht op het verkrijgen van toegang via vaak single sign-on SSO en cloud applicaties voor een grotere groep gebruikers met veel gebruikte wachtwoorden. Hierbij gebruiken kwaadwillenden een flinke lijst met wachtwoorden voor een tiental accounts in de organisatie. Bij een dergelijke aanval probeert een hacker wachtwoorden te raden door met veel voorkomende wachtwoorden in te loggen op meerdere accounts. Dat kan met willekeurige gebruikersnamen of op basis van een bewuste lijst met gebruikersnamen. Vaak is deze informatie vrij eenvoudig te vinden op mediums als LinkedIn. En is het alleen het achterhalen van de juiste conventie zoals; voornaam.achternaam@ of voornaamachternaam@

Via de juiste toolings zijn beide activiteiten in te zien. AzureAD beschikt over de locatie en overige inloggegevens, hierbij is het mogelijk om via een query of custom dashboard de data inzichtelijk te krijgen.

Connector in Azure Sentinel

In Azure Sentinel is het een vereiste om de Azure Active Directory connector te configureren om hiermee de SigninLogs te verkrijgen. Op basis van de SigninLogs is het mogelijk om via KQL (Kusto Query Language) de informatie via een query inzichtelijk te krijgen. Uiteraard is het mogelijk om de query te gebruiken als analytics rule of hunting rule.

Voor de Azure Active Directory data connector is het een vereiste om te beschikken over minimaal een Azure AD Premium P1 licentie.

Voor het koppelen van de connector in Azure Sentinel ga naar;

  1. Ga naar Azure Sentinel
  2. Open de Azure Sentinel workspace
  3. Configuration -> Data connectors

Bekijk de toelichting van Microsoft voor het koppelen van data connectors.


Query’s

Onderstaande KQL query’s zijn een aantal basis query’s en vereisten uiteraard aanpassingen naar de omgeving, zoals whitelisting van geldige IP’s.

Brute force attack

In onderstaande voorbeeld is de KQL query gericht op de events 50126 en 50053. Tip; gebruik de error viewer van Microsoft. Hierbij is zichtbaar dat een user is “aangevallen” vanuit meerdere IP adressen vanuit meerdere landen. Een vakantie trip is hiermee vrij snel te uit te sluiten als het gaat om meerdere IP’s en locatie’s.

Error Code 50126
Message Error validating credentials due to invalid username or password.
Remediation The user didn’t enter the right credentials.  It’s expected to see some number of these errors in your logs due to users making mistakes.
Error Code 50053
Message The account is locked, you’ve tried to sign in too many times with an incorrect user ID or password.
Remediation The user is blocked due to repeated sign-in attempts. See https://docs.microsoft.com/azure/active-directory/identity-protection/howto-unblock-user

 

KQL Brute force attack

// brute force attack event 50126 50053
SigninLogs
| where ResultType == “50126” or ResultType == “50053”
| project Identity, Location, IPAddress
| summarize IPs = dcount(IPAddress), Locations = make_set(Location) by Identity
| where IPs > 1
| sort by IPs desc

Password spray attack