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;
- Ga naar Azure Sentinel
- Open de Azure Sentinel workspace
- 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
Password spray attack
In onderstaand voorbeeld een attack vanaf het IPadres welke is gericht op meerdere gebruikers in de organisatie. Als IP zien we; 203.192.214.203 vanuit India met als resultaat een vijftal accounts (niet zichtbaar in de screenshot). Een check bij AbuseIPDB geeft aan dat dit IP meerdere keren is gerapporteerd.
KQL Password spray attack
Dashboard
De query kan vervolgens gekoppeld worden aan een analytics rule of een hunting query in Azure Sentinel. Uiteraard is het ook mogelijk om een dashboard te configureren met daarin de informatie in een overzichtelijk beeld.
Ga hiervoor naar Azure Sentinel -> Workbooks -> Add workbook
Het is eenvoudig om de dashboard te configureren via een Timerange parameter, zodat de Timerange automatisch zal verspringen over alle query’s. Dit is mogelijk via een add parameters met als parameter type time range picker.
Selecteer vervolgens de gewenste time ranges:
Met als resultaat:
Om de query’s te weergeven in een aantal blokken, zoals hieronder aangegeven:
- klik op Add in het dashboard -> Add query
- Als TimeRange selecteer de TimeRange parameter ( hiermee kijkt de query naar de waarde ingesteld in de eerder aangemaakte parameter.
- Om drie blokken naast elkaar in een visuele weergave te weergeven, selecteer style en configureer vervolgens percent width op 33%.
- Gebruik de query in de workspace logs query venster
Visuele map
De data weergeven in een visuele map is mogelijk via de map weergave:
Voor de correcte weergave:
- Configureer de size op Full
- Visualization op Map ( Preview)
Voor de juiste mapping zijn er een aantal map settings vereist. Onderstaand een voorbeeld van map weergave, uiteraard zijn er hierin verschillende mogelijkheden en opties beschikbaar voor de weergave en styling.
Map settings:
Bronnen:
Microsoft: https://azure.microsoft.com/nl-nl/blog/introducing-microsoft-azure-sentinel-intelligent-security-analytics-for-your-entire-enterprise/
Medium.com/@derkvanderwoude: https://medium.com/@derkvanderwoude/brute-force-vs-password-spray-attack-in-azure-sentinel-a3369afa3df2
Microsoft: https://docs.microsoft.com/nl-nl/azure/sentinel/connect-data-sources
Medium: https://medium.com/@CTM360/beware-of-password-spraying-3147aa20367f