17.12.2012 Views

Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB

Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB

Formation BADGE Test d'intrusion Planning 1 ... - QuarksLAB

SHOW MORE
SHOW LESS

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!