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

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