Upgrade to Pro — share decks privately, control downloads, hide ads and more …

import-module IncidentResponse

import-module IncidentResponse

Détection et analyse d'incidents
Application Security Forum, Yverdon

Avatar for Julien Bachmann

Julien Bachmann

October 16, 2013
Tweet

More Decks by Julien Bachmann

Other Decks in Technology

Transcript

  1. Application Security Forum - 2013 Western Switzerland 15-16 octobre 2013

    - Y-Parc / Yverdon-les-Bains http://www.appsec-forum.ch Prévention et analyse de cyber-attaques import-module IncidentResponse Julien Bachmann / Sylvain Pionchon SCRT
  2. problématique | constat § Attaques actuelles – “80 % des

    attaques utilisent les collaborateurs” – 0day – Attaques supposées avancées et persistantes 6
  3. problématique | constat § Détection – Cas #1 : pas

    ou peu de politique de logs – Cas #2 : Pokemon de la sécurité § En résumé – Détection lors d'un impact sur le business – Manque de données pour tracer un incident 7
  4. problématique | une solution § Utilisation des journaux d’événements –

    Calquer les actions de l'attaquant sur des événements à détecter § Problème – Besoin de ressources pour trier – Connaître les événements suspicieux 8
  5. reconnaissance | intro § Première étape d'un attaquant – Connaître

    les machines actives – Services accessibles § Principe – Scan de ports – Sessions anonymes 10
  6. reconnaissance | scan de ports § Firewalls sur le réseau

    interne – Traitement des logs § Windows – Firewall intégré – Sur les serveurs critiques – Mais pas de détection scan de ports 11
  7. reconnaissance | scan de ports § Détection basique – Par

    défaut trois profils de firewall – Stockage dans le journal d'évènement du firewall – 5157 (tcp), 5152 (ip) 12
  8. reconnaissance | scan de ports § Détection basique – Possibilité

    d'enregistrer dans un fichier les évènements (DROP-ALLOW) du Firewall Date | Time | action | proto | src-ip | dst-ip | size | src-port | dst-port – En Powershell 3.0 : Set-NetFirewallProfile -All -DefaultInboundAction Block -DefaultOutboundAction Allow -LogFileName mylog.log 13
  9. reconnaissance | scan de ports § Détection basique – Analyse

    des logs en powershell 14 IP Source Port Destination
  10. reconnaissance | null sessions § Principe – Connexion sans compte

    – En réalité, NT Authority\Anonymous Logon – Plus d'actualité sur les environnements post- 2008 – Apparait également si la délégation n'est plus autorisée pour des comptes critiques 15
  11. reconnaissance | null sessions § Détection – Lecture du journal

    d’événemenst Windows via cmdlet Powershell Get-EventLog – Possibilité de filtrer les recherches : • InstanceId : 528 / 529 (Success / Failure) • Username : NT AUTHORITY\Anonymous Logon – Exemple Powershell : Get-EventLog -Logname 'Security' -InstanceId 528 -username 'NT AUTHORITY\Anonymous Logon' 16
  12. attaques | mots de passe § Recherchés par attaquant -

    Permettent de gagner des accès § Méthodes - Brute-force - Extraction des condensats - Extraction des clairs depuis la mémoire 18
  13. attaques | mots de passe § Extraction - Rejoint la

    détection d'outils § Brute-force - Tentatives d'authentification échouées - Événement logon failure - Événement user account locked out 19
  14. attaques | mots de passe § Brute-force online - Génère

    beaucoup de bruit § Fail2ban en powershell 20
  15. attaques | exploitation § Exécution de code - Exploitation d'une

    vulnérabilité logicielle - Contexte d'une application théoriquement autorisée 21
  16. attaques | exploitation § Détection difficile - Tant que l'application

    ne plante pas § Crash - Échec de l'exploitation - Événements générés par chaque application dans Applications and Services Logs 22
  17. attaques | exploitation § Exemple de Crash 23 § Crash

    de Internet Explorer § Le chargement de icucnv36.dll génère une erreur § Injection de code § Exploit CVE-2010-3654
  18. attaques | exploitation § Détection avancée avec EMET § EMET

    Notifier enregistre les évènements dans le journal Windows 24
  19. attaques | exploitation § Détection avancée avec EMET - Pas

    d'event id spécifique dans le journal d’événement Windows 25
  20. attaques | exploitation § Détection avancée avec EMET - Filtrage

    via l'émetteur du log Get-Eventlog -Log application -EntryType error -Source emet 26
  21. attaques | réseau § Si vous vivez dans le futur

    - SMB 3 downgrade detection - EventID 1005, Secure dialect negotiation 27
  22. post-exploitation | intro § Pour arriver à ses fins –

    Besoin de privilèges spécifiques – Garder un accès – Exfiltration de données § Résultantes – Utilisation d'outils, droits spécifiques – Création/modifications de comptes – Connexions vers l'extérieur 29
  23. post-exploitation | action privilégiée § Sensitive Privilege use - 7

    privilèges dangeureux • SeDebugPrivilege • SeCreateTokenPrivilege • … - Créer beaucoup d'évènements ! - Filtrage sur le champ Privileges sur eventID 578 (2003) ou 4674 (2008+) 30
  24. post-exploitation | outils § Outils pour collecter de l'information -

    Keylogger - Trojan - Extracteur mot de passe § L'attaquant utilise toujours ce type d'outils pour gagner du temps 31
  25. post-exploitation | outils § Comparaison hash de l'exécutable avec une

    base - Online : Jotti, VirusTotal, Eureca - Locale : NIST (good), OWASP (bad) § Récupération des exécutables par date Get-ChildItem -Recurse -Path "C:\" -Include *.exe | Where-Object { $_.CreationTime -ge "03/01/2013" -and $_.CreationTime -le "03/13/2013" } 32
  26. post-exploitation | outils § AppLocker § Bloquer/Détecter l'exécution de programmes

    non autorisés § Activable via GPO § Trois types de règles – Chemin d'accès – Hash – Signature 33
  27. post-exploitation | outils § AppLocker § Deux modes de fonctionnement

    – Audit only – Enforce rules § Récupérer les logs via cmdlet Powershell Get-AppLockerFileInformation –EventLog –Logname "Microsoft-Windows-AppLocker\EXE and DLL" –EventType Audited –Statistics 34
  28. post-exploitation | comptes § Création d'un compte « backdoor» pour

    pérenniser l’accès § L'attaquant n'est pas obligé de connaître le mot de passe/hash administrateur pour créer le compte - ex : utilisation token delegate et WinRM 35
  29. post-exploitation | comptes § Points à surveiller dans l'AD §

    Création d'un compte § Ajout dans un groupe privilégié/intéressant - ex : r&d § Compte qui n'expire jamais § Compte verrouillé, déverrouillé, supprimé 36
  30. post-exploitation | comptes § Powershell est notre ami :) -

    Journal d’événements Windows - Search-ADAccount du module Active Directory 37
  31. post-exploitation | connexions § Exfiltration de données - Centralisation du

    contrôle des postes - Encapsulation des commandes • DNS, HTTP, SMTP, IRC - Utilisation de cryptographie 38
  32. post-exploitation | connexions § Déterminer les connexions vers l'extérieur –

    netstat -ano § Log des requêtes DNS - Activation depuis Debug Logging - System32\dns\Dns.log 39
  33. post-exploitation | connexions § DNS Blacklist – Nombreuses bases en

    ligne • drone.abuse.ch • b.barracudacentral.org – Recherche DNS via IP.drone.abuse.ch 40
  34. post-exploitation | connexions § Sinkhole / Blackhole - Rediriger tous

    les domaines suspicieux vers une IP - Monitoring des requêtes • http • ftp • irc • smtp 41
  35. Conclusion • Utilisation de différentes technologies indispensables • Automatiser la

    première étape • Outils de corrélation • Ressources humaine nécessaires • Ne pas oublier la protection 43
  36. Outils • Module Powershell avec les différentes fonctions présentées aujourd'hui

    • Certains scripts sont exécutés périodiquement via le Task Scheduler Windows • Coming soon ... sur notre site web www.scrt.ch et blog.scrt.ch 44