- Définitions « officielles » : le hacker, le hacking.
- La terminologie hacker, son vocabulaire.
- Qui est hacker ? Comment devient-on hacker ?
- La communauté des hackers dans le monde, les « gurus », les « script kiddies ».
- L'état d'esprit et la culture du hacker, être hacker malgré soi.
- Comment travaillent-ils ? Quelle est leur motivation ? Comment se faire une réputation ?
- Les sites de base de donnée d'exploits (securityfocus, packetstorm, securitybugware).
- Les conférences sécurité (Defcon, Blackhat, CanSecWest).
- Les sites majeurs de la sécurité (CERT, Security focus/bugtraq, CVE,...).
Travaux pratiques
Navigation Underground.
Savoir localiser les informations utiles.
- IP, TCP et UDP sous un autre angle.
- Zoom sur ARP et ICMP.
- Comprendre le routage forcé de paquets IP (source routing).
- Comprendre la fragmentation IP et les règles de réassemblage.
Travaux pratiques
Visualisation et analyse d'un trafic classique. Utilisation de différents sniffers (Unix et Windows).
- De l'utilité d'un filtrage sérieux : le top 10 des vulnérabilités.
- Sécuriser ses serveurs : un impératif (cf stats honeynet).
- Les parades par technologies : du routeur filtrant au firewall stateful inspection ; du proxy au reverse proxy.
- Panorama rapide des solutions et des produits disponibles pour faire face aux attaques.
- Le « Spoofing » IP.
- Attaques par déni de service (Synflood, Nuke, Land, Teardrop...).
- Prédiction des numéros de séquence TCP : implications.
- Vol de session TCP : Hijacking (Hunt, Juggernaut).
- Attaques sur SNMP.
- Attaque par TCP Spoofing (Mitnick) : démystification.
Travaux pratiques
Création et injection de paquets fabriqués sur le réseau.
Utilisation au choix des participants d'outils graphiques, de Perl, de C ou de scripts dédiés.
Hijacking d'une connexion telnet.
Trois étapes majeures pour « comprendre » la cible :
- Chercher les traces : interrogation des bases Whois, les serveurs DNS, les moteurs de recherche.
- Identification des serveurs : techniques de scan de réseaux (Ping Sweep, TCP Sweep, ...), les différents scans de port et les outils, déterminer la nature du système : OS Fingerprinting.
- Comprendre le contexte : analyser les résultats, déterminer les règles de filtrage , quelques cas spécifiques.
Travaux pratiques
Recherche par techniques non intrusives d'informations sur une cible potentielle (au choix des participants).
Utilisation d'outils (Windows et Linux) de scans de réseaux.
- Systèmes à mot de passe « en clair », par challenge, crypté.
- Le point sur l'authentification sous Windows (LM, NTLM, NTLMv2).
- Rappels sur SSH et SSL (HTTPS).
- Quelles informations obtenir à l'aide d'un sniffer ?
- Sniffing d'un réseau switché : ARP poisonning.
- Les attaques sur les données cryptées : « Man in the Middle » sur SSH et SSL, « Keystoke Analysis » sur SSH.
- Détection de sniffer : outils et méthodes avancées.
- Les attaques sur mots de passe : du sniffing au brute force.
Travaux pratiques
Décryptage et vol de session SSH : attaque « Man in the Middle ».
Cassage de mots de passe avec LophtCrack (Windows) et John The Ripper (Unix).
- Etat de l'art des backdoors sous Windows et Unix (discrètes, client-serveur, ...).
- Mise en place de backdoors et introduction de trojans.
- Le téléchargement de scripts sur les clients, exploitation de bugs des navigateurs.
- Les « Covert Channels » : application client-serveur utilisant ICMP (Loki), communication avec les Agents de Déni de Service distribués.
Travaux pratiques
Analyse de Loki, client-serveur utilisant ICMP (possibilités, traces réseau, ...).
Accéder à des informations privées avec son navigateur.
- Prise de contrôle d'un serveur : recherche et exploitation de vulnérabilités, mise en place de « backdoors » et suppression des traces. Comment contourner un firewall ? (netcat et rebonds).
- La recherche du déni de service (Land Attack, Smurf, Ping Of Death, Jolt2, ...).
- Les dénis de service distribués (DDoS) : TrinOO, Stacheldraht, TFN, Mstream, Naphta.
- Les attaques par débordement (buffer overflow). Exploitation de failles dans le code source. Techniques similaires : « Format String », « Heap Overflow », ...
- Vulnérabilités dans les applications Web (« SQL injection », bugs CGI, PHP, ASP, JSP, ...).
- Vol d'informations dans une base de données (Oracle, Sybase ASE, MS SQL, ...).
- Les RootKits : comment les hackers cachent leur présence ?
Travaux pratiques
Exploitation du bug utilisé par le ver « Code Red ».
Obtention d'un shell root par différents types de buffer overflow.
Test d'un déni de service (Jolt2, Ssping).
Utilisation de netcat pour contourner un firewall.
Utilisation des techniques de « SQL Injection » pour casser une authentification Web.
- Les signes d'une intrusion réussie dans un SI : mettre en évidence l'intrusion.
- Qu'ont obtenu les hackers ? Jusqu'où sont-ils allés ?
- Comment réagir face à une intrusion réussie ?
- Quels serveurs sont concernés ?
- Savoir retrouver le point d'entrée... et le combler.
- La boîte à outils Unix/Windows pour la recherche de preuves (The Coronet Toolkit, IRCR, récupération de logs effacés, ...).
- Nettoyage et remise en production de serveurs compromis.
- La réponse adéquate aux hackers s'intéressant à votre entreprise.
- La loi française en matière de hacking, la jurisprudence.
- Le rôle de l'état, les organisme officiels, la DCSSI, le CASI.
- Qu'attendre de l'Office Central de Lutte contre la Criminalité (OCLCTIC).
- La recherche de preuves et des auteurs : approche concrète.
- Et dans un contexte international ? INTERPOL, EUROPOL, les forums ONU et OCDE.
- Le test intrusif ou le hacking domestiqué ?
- Comment rester dans un cadre légal, choisir le prestataire, être sûr du résultat.