Hacking, sécurité et tests d'intrusion avec Metasploit - Pearson France

2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni ...
156KB taille 17 téléchargements 225 vues
Table des matières Avant-propos .............................................................................................................................

XI

Préface ........................................................................................................................................ XIII Remerciements ......................................................................................................................... XV Introduction .............................................................................................................................. XVII Pourquoi faire un pentest ? ............................................................................................ XVII Pourquoi Metasploit ? ..................................................................................................... XVII Un bref historique de Metasploit................................................................................... XVIII À propos de ce livre ................................................................................................................. XIX Qu’y a-t-il dans ce livre ? ............................................................................................... XIX Une note sur l’éthique. .................................................................................................... XX 1.

Les bases du test d’intrusion ...................................................................................... Les phases du PTES........................................................................................................ Préengagement .......................................................................................................... Collecte de renseignements ..................................................................................... Détermination de la menace ................................................................................... Analyse des vulnérabilités ....................................................................................... L’exploitation ............................................................................................................. Post exploitation........................................................................................................ Le rapport ................................................................................................................... Types de tests de pénétration ......................................................................................... Test de pénétration de type boîte blanche ............................................................ Test de pénétration de type boîte noire ................................................................. Scanners de vulnérabilité ............................................................................................... En résumé..........................................................................................................................

1 1 2 2 3 3 3 3 4 5 5 5 6 6

2.

Les bases de Metasploit ............................................................................................... Terminologie..................................................................................................................... Exploit ......................................................................................................................... Payload ....................................................................................................................... Shellcode ..................................................................................................................... Module ........................................................................................................................

7 7 8 8 8 8

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

IV

Metasploit

Listener ....................................................................................................................... Les interfaces de Metasploit .......................................................................................... MSFconsole ................................................................................................................ Démarrer MSFconsole ............................................................................................. MSFcli ......................................................................................................................... Armitage ..................................................................................................................... Utilitaires de Metasploit ................................................................................................. MSFpayload................................................................................................................ MSFencode ................................................................................................................. Nasm Shell .................................................................................................................. Metasploit Express et Metasploit Pro ........................................................................... Conclusion.........................................................................................................................

8 9 9 9 10 12 13 13 14 15 15 15

3.

Collecte de renseignements ......................................................................................... Collecte d’informations passive .................................................................................... whois lookups............................................................................................................. Netcraft ....................................................................................................................... NSLookup................................................................................................................... Collecte d’informations active ....................................................................................... Le scan de ports avec Nmap ................................................................................... Travailler avec des bases de données dans Metasploit ...................................... Scan de ports avec Metasploit ................................................................................ Scan ciblé .......................................................................................................................... Scan de Server Message Block ............................................................................... À la recherche de serveurs Microsoft SQL mal configurés ............................... Scan de serveurs SSH............................................................................................... Scan FTP .................................................................................................................... Balayage de SNMP (Simple Network Management Protocol) .......................... Développement d’un scanner personnalisé ................................................................. Perspectives ......................................................................................................................

17 18 19 19 20 21 21 23 30 31 31 33 34 35 37 38 41

4.

Le scan de vulnérabilité ............................................................................................... Le scan de vulnérabilité de base ................................................................................... Scan avec NeXpose .......................................................................................................... Configuration ............................................................................................................. L’assistant "nouveau site"................................................................................................ Le nouvel assistant pour les scans manuels ................................................................ L’assistant d’édition de nouveau rapport .............................................................. Importer le rapport dans le framework Metasploit ............................................ Exécuter NeXpose dans msfconsole ...................................................................... Scan avec Nessus ............................................................................................................. Configurer Nessus .....................................................................................................

43 44 45 45 46 48 49 51 51 53 54

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

Table des matières

V

Créer une politique de scan Nessus ....................................................................... Exécuter un scan Nessus .......................................................................................... Rapports Nessus ........................................................................................................ Importer des résultats dans le framework Metasploit ........................................ Scanner avec Nessus depuis Metasploit................................................................ Scanners de vulnérabilité spécialisés ........................................................................... Valider des connexions SMB (Server Message Block) ....................................... Recherche d’accès VNC ouverts (Virtual Network Computing) ...................... Scan pour trouver des serveurs X11 ouverts ........................................................ Utilisation des résultats de scan pour Autopwning ....................................................

54 56 57 58 59 62 62 64 66 68

5.

Les joies de l’exploitation............................................................................................. L’exploitation de base ...................................................................................................... Msf> show exploits ................................................................................................... Msf> show auxiliary ................................................................................................. Msf> show options .................................................................................................... Msf> show payloads ................................................................................................. Msf> show targets ..................................................................................................... Info ............................................................................................................................... Set et unset.................................................................................................................. setg et unsetg .............................................................................................................. save............................................................................................................................... Exploitation d’une première machine .......................................................................... Exploitation d’une machine Ubuntu ............................................................................. Les payload pour tous les ports : bruteforcing de ports ............................................ Fichiers de ressources ..................................................................................................... Conclusion.........................................................................................................................

71 72 72 72 72 75 77 78 78 79 79 79 85 89 91 93

6.

Meterpreter ..................................................................................................................... Compromission d’une machine virtuelle Windows XP ............................................ Scan de ports avec Nmap ........................................................................................ Attaque de MS SQL .................................................................................................. Bruteforcing de MS SQL Server ............................................................................ xp_cmdshell ............................................................................................................... Commandes de base de Meterpreter ..................................................................... Capturer des keystrokes ........................................................................................... Récupération des noms d’utilisateurs et des mots de passe...................................... Extraire les mots de passe hachés.......................................................................... Découvrir le mot de passe d’un hash .................................................................... Pass-the-hash ................................................................................................................... Escalade de privilège ...................................................................................................... Usurpation de ticket Kerberos .......................................................................................

95 96 96 97 99 101 103 104 105 105 106 108 109 111

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

VI

Metasploit

Utilisation de ps ............................................................................................................... Pivot sur d’autres systèmes ............................................................................................ Utilisation de scripts Meterpreter ................................................................................. Migration d’un processus ........................................................................................ Tuer un logiciel antivirus ......................................................................................... Obtenir les hashes des mots de passe du système ............................................... Voir tout le trafic sur un ordinateur cible ............................................................. Scraping d’un système .............................................................................................. Utiliser Persistence.................................................................................................... Utilisation des modules de postexploitation................................................................ Upgrade d’un shell de commandes à un shell Meterpreter ...................................... Manipulation des API Windows avec l’add-on Railgun ........................................... Conclusion.........................................................................................................................

112 114 118 119 119 120 120 120 121 122 123 125 126

7.

Éviter la détection.......................................................................................................... Création de binaires autonomes avec MSFpayload ................................................... Échapper à la détection antivirus .................................................................................. Multiencodage .................................................................................................................. Modèles d’exécutables personnalisés ........................................................................... Lancement furtif d’un payload ...................................................................................... Les packers ....................................................................................................................... Un dernier mot sur le contournement d’antivirus ......................................................

127 128 130 132 134 135 137 138

8.

Exploitation utilisant les attaques côté client ......................................................... 139 Les exploits basés sur les navigateurs .......................................................................... 140 Comment les exploits basés sur les navigateurs fonctionnent-ils ? ................. 141 À propos des NOP ..................................................................................................... 142 Utilisation d’Immunity Debugger pour décrypter du shellcode NOP ................................................................................. 143 Exploration de l’exploit Aurora d’Internet Explorer .................................................. 146 Les exploits sur les formats de fichiers ........................................................................ 151 Envoi du payload.............................................................................................................. 153 Conclusion......................................................................................................................... 154

9.

Metasploit : les modules auxiliaires ......................................................................... Modules auxiliaires en pratique .................................................................................... Anatomie d’un module auxiliaire ................................................................................. Aller plus loin ...................................................................................................................

155 159 163 169

10.

La boîte à outils du social engineer (SET, Social Engineer Toolkit)................ Configuration du SET ..................................................................................................... Le vecteur d’attaque spear-phishing ............................................................................

171 172 173

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

Table des matières

VII

Vecteurs d’attaque web ................................................................................................... Applet Java ................................................................................................................. Exploits web côté client............................................................................................ Recueillir des noms d’utilisateurs et des mots de passe ..................................... Tabnabbing ................................................................................................................. MLITM (Man-Left-in-the-Middle)......................................................................... Web-jacking ............................................................................................................... Tout rassembler dans une attaque sur plusieurs fronts ..................................... Générateur de médias infectés ...................................................................................... Le vecteur d’attaque Teensy USB HID......................................................................... Caractéristiques supplémentaires du SET ................................................................... Aller plus loin ...................................................................................................................

180 180 185 187 190 190 191 193 198 198 202 202

FAST-TRACK................................................................................................................. Microsoft SQL Injection................................................................................................. SQL Injector – Attaque d’une Query String ......................................................... SQL Injector – Attaque par le paramètre POST ................................................. Injection manuelle..................................................................................................... MSSQL Bruter ........................................................................................................... SQLPwnage................................................................................................................ Le générateur de binaire-hexadécimal......................................................................... Attaque massive côté client............................................................................................ Quelques mots à propos de l’automatisation ...............................................................

205 206 207 208 210 211 216 219 220 222

12. Karmetasploit ................................................................................................................. Configuration.................................................................................................................... Lancement de l’attaque ................................................................................................... Recueil d’informations.................................................................................................... Obtenir un shell................................................................................................................ Conclusion.........................................................................................................................

223 224 225 228 229 233

13.

235 236 238 239 240 242 244 245 246 248 249

11.

Construire son propre module ................................................................................... Exécuter une commande dans Microsoft SQL ........................................................... Exploration d’un module Metasploit existant ............................................................. Création d’un nouveau module ...................................................................................... Powershell ................................................................................................................... Exécuter l’exploit shell ............................................................................................. Créer powershell_upload_exec ............................................................................... Convertir Hex en binaire ......................................................................................... Compteurs .................................................................................................................. Exécuter l’exploit....................................................................................................... Le pouvoir de la réutilisation du code ..........................................................................

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

VIII

Metasploit

14.

Créer votre propre exploit........................................................................................... L’art du fuzzing ................................................................................................................. Contrôle du SEH .............................................................................................................. Contournement des restrictions du SEH ...................................................................... Trouver une adresse de retour ....................................................................................... Mauvais caractères et exécution du code à distance.................................................. En conclusion ...................................................................................................................

251 252 257 259 262 268 272

15.

Porter des exploits sur le framework Metasploit .................................................. Fondamentaux de langage assembleur ......................................................................... Registres EIP et ESP ................................................................................................. Le set d’instruction JMP .......................................................................................... NOP et slides NOP .................................................................................................... Port d’un buffer overflow................................................................................................ Dépouiller l’exploit existant .................................................................................... Configurer la section exploit ................................................................................... Tester notre exploit de base ..................................................................................... Implémenter des caractéristiques du framework ................................................ Ajouter de la randomisation ................................................................................... Retirer le slide NOP .................................................................................................. Retirer le faux shellcode .......................................................................................... Notre module complet .............................................................................................. Exploit par écrasement du SEH..................................................................................... En conclusion ...................................................................................................................

273 274 274 274 274 275 276 279 279 281 282 283 284 285 287 297

16.

Scripts Meterpreter....................................................................................................... Les bases du scripting Meterpreter............................................................................... L’API de Meterpreter....................................................................................................... Afficher une sortie ..................................................................................................... Appels API de base ................................................................................................... Les mixins Meterpreter ............................................................................................ Les règles pour écrire des scripts Meterpreter ........................................................... Création d’un script Meterpreter ................................................................................... Conclusion.........................................................................................................................

299 299 307 308 309 309 311 312 320

17.

Simulation de pentest ................................................................................................... Pré-engagement................................................................................................................ Collecte de renseignements............................................................................................ Modélisation des menaces ............................................................................................. Exploitation ....................................................................................................................... Personnalisation de la console MSF ............................................................................. Postexploitation ................................................................................................................

321 322 322 323 325 325 328

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni

Table des matières

IX

Scanner le système Metasploitable ........................................................................ 329 Identifier des services vulnérables ......................................................................... 331 Attaque d’Apache Tomcat .............................................................................................. 332 Attaque de services cachés ........................................................................................... 335 Effacement des traces ..................................................................................................... 337 Conclusion......................................................................................................................... 340 Annexe A. Configurer les machines cibles ....................................................................... Installation et paramétrage du système ........................................................................ Démarrage des machines virtuelles Linux.................................................................. Mise en place d’un Windows XP vulnérable .............................................................. Configurer un serveur web sur Windows XP ....................................................... Construire un serveur SQL ..................................................................................... Mettre Back|Track à jour .........................................................................................

341 341 342 343 343 344 348

Annexe B. Aide-mémoire ...................................................................................................... 351 Commandes MSFconsole ............................................................................................... 351 Commandes Meterpreter ................................................................................................ 354 Commandes MSFpayload .............................................................................................. 357 Commandes MSFencode................................................................................................ 358 Commandes MSFcli ........................................................................................................ 358 MSF, Ninja, Fu................................................................................................................. 359 MSFvenom ........................................................................................................................ 359 Commandes Meterpreter postexploitation .................................................................. 360 Index ............................................................................................................................................ 363

© 2013 Pearson France – Hacking, sécurité et tests d'intrusion avec Metasploit – D. Kennedy, J. O'Gorman, D. Kearns, M. Aharoni