Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB
Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB
Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Formation</strong> <strong>BADGE</strong><br />
<strong>Test</strong> d’intrusion<br />
<strong>Planning</strong><br />
• 3 semaines à temps complet :<br />
o 14 – 18 janvier : accueil, mise à niveau<br />
o 1 – 5 juillet : Projets<br />
o 8 – 12 juillet : Projets<br />
• 5 samedi : Février/Mars/Avril/Mai/juin<br />
• 21 Soirées (mardi)<br />
• + Quelques conférences sur la sécurité :<br />
o Droit de l’information<br />
o Lockpicking<br />
o La sécurité autrement<br />
o Social Engeneering<br />
o Histoire de la sécurité<br />
o …<br />
1 Introduction<br />
o Architecture des ordinateurs<br />
•CPU / Mémoire<br />
•Registre<br />
•La pile<br />
•Gestion de la mémoire<br />
•Les modes d’adressages<br />
o Systèmes Numériques et Représentation des Données<br />
•Décimal<br />
•Hexadécimal<br />
•Binaire<br />
•Complément à 2 (et Integer Overflow)<br />
o Les Bases de l’assembleur<br />
•Structure d’un programme en assembleur<br />
•Les variables<br />
•Les constantes symboliques<br />
•Les opcodes<br />
•Opérations de bases sur les registres<br />
•Opérations de base sur la pile<br />
•Opérations arithmétiques et logiques<br />
•Opérations de contrôles<br />
•Les boucles
•Les procédures<br />
•Les interruptions<br />
o La Compilation<br />
� Compilation<br />
� Edition de liens<br />
� Structure d’un programme (PE, Elf)<br />
2 Le test <strong>d'intrusion</strong> vu de haut<br />
• Pourquoi ?<br />
• Le placement du test <strong>d'intrusion</strong> dans la démarche d'audit<br />
• Déroulement “type” d'un test <strong>d'intrusion</strong><br />
• Préliminaires : collecte d'informations<br />
• Rechercher des vulnérabilités et les exploiter (généralités)<br />
• Restitution<br />
• Description des problèmes<br />
• Bonnes pratiques et recommandations<br />
• Aspects juridiques et déontologiques<br />
3 Notions de langages<br />
• Python / Ruby / Perl<br />
• C<br />
• PHP / Java / ASP<br />
• Javascript<br />
• Shells Unix<br />
• Powershell<br />
• SQL<br />
4 Cryptographie<br />
• Problématiques<br />
o Confidentialité<br />
o Intégrité<br />
o Authenticité<br />
o Non-répudiation<br />
• Familles d'algorithmes et usages<br />
o Fonctions de hachage<br />
� Intégrité<br />
o Cryptographie symétrique<br />
� Chiffrement par flot<br />
� Chiffrement par bloc<br />
� Scellement (HMAC)<br />
o Cryptographie asymétrique<br />
� Chiffrement<br />
� Échange de clefs<br />
� Signature<br />
o Dérivation de clefs
• Algorithmes & leurs limitations<br />
o DES / 3DES / AES<br />
o RSA / DSA<br />
o MD5 / SHA<br />
• Implémentations & problèmes fréquents<br />
o Faille Debian<br />
o Longueurs de clés / factorisation<br />
• IGC & Réseaux de confiance<br />
o Certificats x.509<br />
o PGP / GPG<br />
• Outils<br />
o OpenSSL<br />
o PolarSSL (projet ?)<br />
o sslstrip<br />
5 Réseau<br />
• Architectures<br />
o Principe<br />
• Protocoles<br />
o LAN & WLAN (TCP/IP et IPv6)<br />
o WAN & Opérateurs<br />
o GSM<br />
o Protocoles de sécurité (SSL/TLS, IPsec)<br />
• Découverte d'informations<br />
o En source ouverte<br />
o Par analyse passive du réseau (écoute)<br />
o Par analyse active du réseau (forge de paquets, scans)<br />
• Attaques sur les réseaux<br />
o MitM : ARP poisoning, TCP hijacking<br />
o MitM SSL/TLS (sslstrip)<br />
o Attaques sur les tunnels IPsec (ike-scan)<br />
o Dénis de service<br />
• Exfiltration & tunneling<br />
o Principes du tunneling<br />
o Tunnels par canaux cachés (DNS, ICMP, HTTP)<br />
o Tunnels par “voies autorisées” (SSH, méthode CONNECT, socat)<br />
• Équipements<br />
o Cisco IOS (CDP, DTP, VTP, mots de passe, etc.)<br />
o Attaques sur les interfaces d'administration<br />
o Récupération / modification de configuration par SNMP<br />
• Outils<br />
o tcpdump<br />
o nmap<br />
o hping<br />
o scapy<br />
o p0f<br />
o dig<br />
o netfilter<br />
o yersinia<br />
o sslstrip
o socat, openssh, etc.<br />
6 Authentification<br />
• Mécanismes d'authentification<br />
o Authentification locale (empreinte et comparaison)<br />
o Authentification distante (mot de passe, défi/réponse, biclés)<br />
• Le stockage des mots de passe<br />
o Principe d'empreinte et de graine<br />
o Algorithmes utilisés et faiblesses<br />
• Attaques sur les empreintes de mots de passe<br />
o Méthodologie et outils<br />
o Rainbowtables<br />
o Réutilisation d'authentifiants (Pass-the-Hash, medusa, etc.)<br />
• Outils<br />
o John the Ripper<br />
o Medusa/Hydra<br />
o rcrack<br />
7 Bases de données<br />
• Rappels de SQL<br />
o Génériques<br />
o Spécifiques à chaque moteur de BDD<br />
• Privilèges<br />
o Droits et privilèges sur les bases et tables<br />
o Stockage des mots de passe<br />
• Récupération d'informations<br />
o Anonymement<br />
o Authentifié (localement et à distance)<br />
• Exécution de code<br />
o Procédures stockées<br />
o Chargement de modules tiers<br />
o Injections SQL<br />
8 Web<br />
• Le protocole HTTP<br />
o Implémentations<br />
o Architectures typiques<br />
o Proxies & reverse-proxies<br />
o Filtrage applicatif (mod_security, ISAPI filters)<br />
• Fonctionnement<br />
o Les langages côté serveur et côté client<br />
o Les encodages<br />
o Classique<br />
o Ajax<br />
o Websockets<br />
o Webservices<br />
• Attaques sur le serveur<br />
o Prise d'empreinte
o L'authentification (Basic, Digest, etc.)<br />
o Path traversal<br />
o LFI / RFI<br />
o Injections (code, SQL)<br />
o Interfaces d'administration (Tomcat Manager, JBoss JMX-Console, Java RMI)<br />
• Attaques sur/via les clients<br />
o CSRF<br />
o XSS<br />
o Navigateurs & plugins<br />
o Prise d'empreinte du navigateur<br />
o Drive-by download / spear-phishing<br />
• Outils<br />
o proxy HTTP (burpsuite, webscarab)<br />
o wfuzz<br />
o nikto<br />
9 Systèmes d'exploitation<br />
• Infrastructure<br />
o Windows : Domaines NT4, AD, SMB/CIFS, Exchange, RPC Microsoft<br />
o Unix : NIS, LDAP, Kerberos, NFS, Samba<br />
• Système<br />
o Attaques hors-ligne<br />
� BIOS<br />
� samdump2/ntdisdump, etc.<br />
� Cas des machines virtuelles<br />
o Prise d'empreinte<br />
o Modèle de sécurité<br />
� Windows (DAC/MIC) - Jetons / descripteurs de sécurité / ACL<br />
� Unix/Linux (DAC/MAC) - Permissions / ACL / Processus / jail() /<br />
conteneurs / grsecurity<br />
• Authentification<br />
o Protocoles (NTLM, Kerberos, LDAP, NIS)<br />
o Sessions nulles (Windows)<br />
o LSASS (Windows)<br />
• Élévations de privilèges<br />
o Windows<br />
o Unix<br />
• Attaques sur les services<br />
o Windows<br />
o Unix<br />
• Smartphones / tablettes / embarqué<br />
o Android<br />
o iOS<br />
o Linux<br />
10 Tokens<br />
• Cartes à puces<br />
• RFID / NFC
11 Mini projets<br />
• Dév de scripts Nmap<br />
• Dév/portage d'exploits Metasploit<br />
• Dév d'un protocole de backdoor (C/C) “Web 2.0”<br />
• Equipement autonome pour intrusion physique (shiva plug)