Les slides de ma session lors du #vacd2020 du 31 mars sur la détection d'attaques et traitements via Azure Log Analystics et Azure Sentinel. Pour le replay : https://www.youtube.com/watch?v=k3NQQzcQWxo
3. #VACD
The Kill Chain
Brute force account ou
utilisation de comptes
compromis
Informations
collectées
Exploitation
& Installation
Commande
& Controle
Navigation sur
site Web
Phishing
mail
Ouverture de
pièce jointe
Click sur URL
Accès aux données
sensibles
Données
exfiltrées
User account
est compromis
Tentative de “lateral
movement”
Compte avec
privilege
compromis
Domaine
compromis
6. #VACD
Langage de requête : KQL
Langage de requête
permettant
d’analyser les logs
Requêtes simples,
mais également des
fonctionnalités
avancées telles que
les agrégations, les
jointures et les smart
analyses.
7. #VACD
Azure Sentinel :
Microsoft Azure
Sentinel est une
solution native cloud
et scalable de type
SIEM (Security
Information and
Event Management)
et SOAR (Security
Orchestrated
Automated
Response)
9. #VACD
Stop BLABLA… • Attaque d’une VM dans Azure
• Attaque par dictionnaire
• Détection d’activité
PowerShell suspecte
• Exécution d’un process
SVCHOST
• Détection action sur la
base de registre
10. #VACD
Préparation
• Des VMs dans Azure avec une adresse IP Publique sans NSG, et on
attend
• Security Center Playbook: Hunting Threats
• https://gallery.technet.microsoft.com/Azure-Security-Center-
549aa7a4
14. #VACD
Premières requêtes
//Afficher sous forme de graphe la liste des 10 comptes les
plus utilisés
SecurityEvent
|where TimeGenerated > ago(7d)
|where EventID == 4625
|summarize count() by Account | render timechart
|top 10 by count_ desc
15. #VACD
Premières requêtes
//Afficher sous forme de graphe le nombre de tentaitves
par jour
SecurityEvent
|where TimeGenerated > ago(14d)
|where EventID == 4625
|summarize count() by tostring(EventID),
bin(TimeGenerated, 1d)
| render barchart
19. #VACD
Stop BLABLA…
• Usurpation d’identité dans O365
• Attaque par
dictionnaire
• Identification d’une
connexion depuis une
adresse à Risque
• Voyage impossible
• Partage de document
non autorisé
20. #VACD
Préparation
• Azure Sentinel Connector : AAD, Office 365, CloudApp Security
• Environnement : une VM cliente dans le Cloud, et un poste en local
• Configuration CloudApp Security avec adresses IP à risque + domaines
interdits
24. #VACD
Requête : Activité à fort privilège
• Question : est-ce que cet utilisateurs à réaliser d’autres actions non
conforme
• Il s’agit d’un compte à privilège, a-t-il réalisé une réinitialisation de
mot de passe depuis cette adresse IP ?
25. #VACD
Requête : Activité à fort privilège
let useradminreset = (){
// Function to obtain the list of User who have made Reset Password
AuditLogs
| where OperationName == "Reset user password"
| where TimeGenerated >= ago(7d)
| summarize User=makeset(InitiatedBy.user.userPrincipalName)
};
SigninLogs
|where UserPrincipalName in (useradminreset)
| where TimeGenerated >= ago(7d)
|where IPAddress contains "40.68"
|project UserPrincipalName, IPAddress, TimeGenerated
|summarize IPadress=makeset(IPAddress)