Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Supports de cours
  2. Hacking et Forensic - Développez vos propres outils en Python (2ième édition)

Hacking et Forensic Développez vos propres outils en Python (2ième édition)

1 avis

Informations

Livraison possible dès le 19 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-7460-9971-5
  • EAN : 9782746099715
  • Ref. ENI : EP2HAFO

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-00071-3
  • EAN : 9782409000713
  • Ref. ENI : LNEP2HAFO
Ce livre s'adresse à toute personne désirant apprendre le Python pour le Hacking et le Forensic et se former à la conception d'outils en Python, ainsi qu’aux professionnels de la sécurité informatique et du Forensic. Il a pour objectif de conduire le lecteur à une bonne compréhension de bibliothèques spécifiques Python pour qu'il puisse ensuite concevoir ses outils personnalisés, adaptés à des situations...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 482 pages
  • Parution février 2016
  • Niveau Expert
  • Parution février 2016
Ce livre s'adresse à toute personne désirant apprendre le Python pour le Hacking et le Forensic et se former à la conception d'outils en Python, ainsi qu’aux professionnels de la sécurité informatique et du Forensic. Il a pour objectif de conduire le lecteur à une bonne compréhension de bibliothèques spécifiques Python pour qu'il puisse ensuite concevoir ses outils personnalisés, adaptés à des situations particulières en Hacking et Forensic. Pour en tirer le meilleur profit possible, il est nécessaire d'avoir des notions de sécurité informatique.

Le livre est décomposé en 8 chapitres, chacun est illustré par de nombreux exemples avec, en fin de chapitre, des exercices avec correction afin de donner au lecteur le moyen de s'auto-évaluer.

Le chapitre 1 va permettre d’apprendre les concepts du langage Python, les bases du langage. Le chapitre 2 est consacré à la programmation réseau. L'auteur détaille la programmation de sockets puis les différents services tels que HTTP, FTP, POP, SSL par exemple, ainsi que les expressions régulières, l'accès aux bases de données. Le chapitre 3 est consacré à la bibliothèque scapy très utile en hacking et Forensic ; l'auteur détaille la manipulation de trames, le tunneling, les différents types de scan réseau et aborde également IPv6. Dans le chapitre 4, des connaissances de bases sur les notions d'architecture PC et d'assembleur, sur l'utilisation de debugger, sont indispensables pour la compréhension de la bibliothèque PyDbg qui est utilisée. Le chapitre 5 est dédié au Fuzzing; dans une première partie l'auteur utilise des bibliothèques déjà vues dans les chapitres précédents puis, dans une deuxième partie, il étudie une bibliothèque particulière, Sulley, spécialisée dans le fuzzing. Le chapitre 6 passe en revue la bibliothèque PIL qui va permettre de gérer les images, de les modifier, de capturer des images de webcam pour en extraire des données, l'auteur étudiera un élément particulier de la sécurité web, les capchat. Le chapitre 7 développe les notions du chapitre 2 afin de construire en Python les outils de tests en sécurité des sites web. Enfin, le dernier chapitre est entièrement consacré au Forensic ; l'auteur fera une revue, non exhaustive, des différentes techniques, et parcourra la stéganographie, la cryptographie, les traques de mails.

L'auteur a voulu faire de ce livre un regroupement non exhaustif des bibliothèques utiles, expliquées et illustrées par des exemples concrets afin que le lecteur puisse s'en approprier le fonctionnement.

Les scripts de chaque chapitre sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Python : les fondamentaux – Le réseau – Réseau : la bibliothèque Scapy – Débogage sous Windows – Le fuzzing – Traitement d'images – Un peu plus sur le Web – Forensic – Bibliographie

Téléchargements

Avant-propos
  1. Introduction
Python : les fondamentaux
  1. Introduction
  2. Historique
  3. Caractéristiques du langage
  4. Types de données
    1. 1. Les nombres
    2. 2. Les opérations arithmétiques
    3. 3. Les chaînes de caractères
    4. 4. Les tuples
    5. 5. Les listes
    6. 6. Les dictionnaires
    7. 7. Supplément aux types de données
  5. Structures conditionnelles et répétitives
    1. 1. Test if ... elif ... else
    2. 2. Boucle while
    3. 3. Boucle for
    4. 4. Les listes en intention (comprehension list)
  6. Fonctions, modules et paquets
    1. 1. Définition et appel de fonction
    2. 2. Espaces de noms
    3. 3. Fonctions particulières
    4. 4. Modules
    5. 5. Paquets
    6. 6. Instruction yield
  7. Les classes
    1. 1. Déclaration d’une classe
    2. 2. Surcharge des opérateurs
    3. 3. Propriétés, accesseurs et mutateurs
    4. 4. Héritage
    5. 5. Polymorphisme
  8. Manipulation de fichiers
  9. Les exceptions
  10. Modules utiles pour la suite du livre
    1. 1. Module sys
    2. 2. Module os
    3. 3. Module re
    4. 4. Modules pickle et shelve
    5. 5. Modules bases de données
      1. a. MySQLdb
      2. b. PostgreSQL
    6. 6. Module thread
      1. a. Principe du module
      2. b. Threading
      3. c. Classe Lock()
  11. Conclusion
Le réseau
  1. Introduction
  2. Les sockets
    1. 1. Création d’un socket
    2. 2. Échange de données
    3. 3. Socket en UDP
    4. 4. Les erreurs
    5. 5. Socket et FTP
  3. Création d'un serveur
    1. 1. Introduction
    2. 2. Connexion cliente
    3. 3. Discussion avec le client
    4. 4. Création d’un trojan basique
    5. 5. Création d’un trojan plus complexe
  4. DNS : Domain Name Server
    1. 1. Introduction
      1. a. Que signifie DNS ?
      2. b. Principaux enregistrements DNS
    2. 2. nslookup basique
    3. 3. Reverse lookup
    4. 4. La librairie DNS
    5. 5. Demande à partir d’un serveur spécifié
    6. 6. Mise en forme des résultats obtenus
  5. FTP : File Transfer Protocol
    1. 1. Introduction
    2. 2. FTP anonyme
    3. 3. Téléchargement de fichiers ASCII
    4. 4. Téléchargement de fichiers binaires
    5. 5. Téléchargement avancé defichiers binaires
    6. 6. Envoi de données
    7. 7. Les erreurs FTP
    8. 8. Lister le contenu des répertoires
    9. 9. Les autres commandes utiles
    10. 10. Télécharger récursivementdes données
  6. Les expressions régulières
    1. 1. Introduction
    2. 2. Le module re
    3. 3. Les méthodes utiles
      1. a. Méthode search()
      2. b. Méthode match()
      3. c. Méthode sub()
      4. d. Aller plus loin avec les groupes
    4. 4. Comment construire son pattern ou expression
  7. Le Web
    1. 1. Introduction
    2. 2. Récupération d’une page source
    3. 3. Méthodes GET et POST
      1. a. Méthode GET
      2. b. Méthode POST
    4. 4. Gestion des erreurs
      1. a. Erreurs de connexion : urllib2.URLError
      2. b. Erreur 404
    5. 5. Authentification
  8. Analyser les pages HTML et XHTML
    1. 1. Introduction
    2. 2. Première approche
    3. 3. Travail sur des pages « réelles »
      1. a. Ampersand
      2. b. Caractères spéciaux
    4. 4. BeautifulSoup
      1. a. Introduction
      2. b. Récupérer les liens
  9. Le XML
    1. 1. Introduction
    2. 2. Représentation du fichier XML
    3. 3. Python et XML
    4. 4. Lire un flux RSS
  10. Les e-mails
    1. 1. Introduction
    2. 2. La bibliothèque smtplib
      1. a. Le corps du texte
      2. b. Mail avec pièce jointe
    3. 3. Analyser des e-mails
    4. 4. Analyser les dates
    5. 5. Erreurs et débogage
    6. 6. Mail et POP
  11. Le SSL en Python
    1. 1. Introduction
    2. 2. Utilisation d’OpenSSL
    3. 3. Vérifier les certificats
  12. Utilisation de bases de données
    1. 1. Introduction
    2. 2. MySQLdb
      1. a. Rappel
      2. b. Utilisation
    3. 3. PostgreSQL
      1. a. Introduction et première connexion
      2. b. Exécuter des commandes
      3. c. Cacher les changements
      4. d. Répéter des commandes
      5. e. Récupérer des données
  13. Conclusion
  14. Mise en pratique
    1. 1. Cas 1 : Scan de ports
    2. 2. Cas 2 : Envoi de mails
    3. 3. Cas 3 : Fuzzing de FTP
    4. 4. Cas 4 : Parsing de page web
    5. 5. Cas 5 : Brute force MySQL
Réseau : la bibliothèque Scapy
  1. Introduction
  2. Programmation réseau avec Scapy
    1. 1. Liste des protocoles supportés
    2. 2. Quelques notions sur les réseaux
      1. a. Topologie des réseaux
      2. b. Les différents types de réseaux
      3. c. Qu’est-ce qu’un protocole ?
      4. d. Adresse IP
      5. e. Les classes d’adresses
      6. f. Le masque de sous-réseau
      7. g. Le modèle OSI
    3. 3. Manipulations basiques
      1. a. Commandes de base
      2. b. Fabrication de paquets
      3. c. Les entrées-sorties
      4. d. Entrons dans le détail
    4. 4. Utilisation avancée : sécurité réseau
      1. a. traceroute
      2. b. Sniffing
      3. c. Scan TCP
      4. d. Tunneling
    5. 5. Quelques exemples simples en « one-liner »
      1. a. Scan ACK
      2. b. Scan Xmas
      3. c. Scan IP
      4. d. Les différents ping
      5. e. Les attaques classiques
  3. Scapy et IPv6
    1. 1. Notion d’IPv6
      1. a. Généralités
      2. b. IPv6 : RFC 2373
    2. 2. Application
      1. a. Requête ICMP IPv6
      2. b. Routage de paquets IPv6
      3. c. Exemple de routage de header
      4. d. traceroute
      5. e. IPv6 NA
      6. f. Avertissement de daemon tués
      7. g. Exemple
  4. Quelques autres exemples
  5. Conclusion
  6. Mise en pratique
    1. 1. Canal caché IP
    2. 2. Détection de Rogue AP
    3. 3. IP Spoofing
    4. 4. Spoofing IPv6 des voisins
Débogage sous Windows
  1. Introduction
  2. Le module ctypes de Python
  3. Première approche
  4. État des registres
    1. 1. Énumération des threads
    2. 2. Récupération des valeurs des registres
  5. Les événements du debugger
  6. Les points d’arrêt (breakpoints)
    1. 1. Points d’arrêt logiciel
    2. 2. Points d’arrêt matériel
    3. 3. Point d’arrêt mémoire
  7. La bibliothèque PyDbg
    1. 1. Violation d’accès des en-têtes(handlers)
    2. 2. Process snapshot
  8. Mise en pratique : Hooking
Le fuzzing
  1. Introduction
  2. Fuzzing FTP
  3. Fuzzing avec Scapy
  4. Fuzzing avec PyDbg : format string
    1. 1. Introduction
    2. 2. Fuzzer de fichiers
  5. Sulley
    1. 1. Introduction
    2. 2. Installation
      1. a. Installation normale
      2. b. Installation non standard
    3. 3. Utilisation
      1. a. Structure du répertoire de Sulley
      2. b. Représentation de données
      3. c. Primitives statiques et aléatoires
      4. d. Les entiers
      5. e. Chaînes de caractères et délimiteurs
      6. f. Les extensions Fuzz Library
      7. g. Blocks
      8. h. Groupes
      9. i. Encodeur
      10. j. Dépendances
      11. k. Block helpers
      12. l. Legos
  6. Mise en pratique
    1. 1. Fuzzing 1 : HTTP
    2. 2. Fuzzing 2 : FTP
Traitement d'images
  1. Introduction
  2. Utilisation
    1. 1. La classe Image
    2. 2. Lire et écrire
    3. 3. Couper, coller et fusionner
    4. 4. Transformations géométriques
    5. 5. Transformation des couleurs
    6. 6. Amélioration d’images
      1. a. Filtres
      2. b. Opérations sur les points
      3. c. Améliorations
  3. Exemples d'utilisation
    1. 1. Création d’un captcha
    2. 2. Capture d’image et transformation
    3. 3. Lecture de captcha
Un peu plus sur le Web
  1. Introduction
  2. Reprenons les basiques
  3. Mapping de site web
  4. Brute force de répertoires ou d'emplacement de fichiers
  5. Brute force authentification HTML
  6. Selenium
    1. 1. Introduction
    2. 2. Installation
    3. 3. Premier test
    4. 4. Copie d’écran avec Selenium
  7. Connexion sur un site web et navigation
  8. Conclusion
Forensic
  1. Introduction
  2. Cryptographie et autres
    1. 1. ROT13
    2. 2. Base 64
    3. 3. Hash
  3. Extraction des métadonnées dans les fichiers
    1. 1. Métadonnées MP3
    2. 2. Métadonnées des images
    3. 3. Métadonnées PDF
    4. 4. Métadonnées OLE2
    5. 5. Cas concret
  4. Fichiers ZIP
    1. 1. Lire dans un fichier ZIP
    2. 2. Attaque brute force de mots de passe
  5. Lire dans un fichier OpenOffice ou Word
    1. 1. Parcourir une arborescence
    2. 2. Rechercher dans un document OpenOffice
    3. 3. Rechercher dans un document Word
  6. E-mail
    1. 1. Retrouver des e-mails dans des fichiers
    2. 2. Rechercher dans la boîte mail
  7. Stéganographie
    1. 1. Rechercher des informations dans une image
    2. 2. Cacher un message dans une image
    3. 3. Lecture du message
  8. Volatility
    1. 1. Informations sur l’image
    2. 2. Processus et DLL
    3. 3. Capture de mots de passe hachés
    4. 4. Exemple de programme
  9. Analyse des points d’accès sans fil dans la base de registre
  10. Retrouver les éléments supprimés (dans la corbeille)
  11. Mise en pratique
    1. 1. Décryptage
    2. 2. OCR
    3. 3. ZIP
    4. 4. Scapy et géolocalisation
Annexe
  1. Bibliographie
5/5 1 avis

Ouvrage intéressant, et conforme aux attentes que j'avais. Toujours en cours de lecture. A mettre à jour néanmoins.

Anonyme
Auteur : Franck EBEL

Franck EBEL

Enseignant à l'université de Valenciennes. Lieutenant-colonel de gendarmerie réserviste et spécialiste de la lutte anticybercriminalité. Expert en failles applicatives, il a créé la licence professionnelle CDAISI, la seule en France en sécurité dite offensive. Certifié CEH, OSCP et Wifu, il forme les Ntech de la gendarmerie de la région Nord-Pas de Calais et le CICERT de Côte d'Ivoire. Président de l'association ACISSI, il organise chaque année les RSSIL et le challenge de Hacking « Hacknowledge ». Membre de l'AFPY, association francophone pour Python, il donne des conférences en Europe et en Afrique sur Python, les logiciels libres et la sécurité informatique.
En savoir plus

Découvrir tous ses livres

  • Sécurité informatique Ethical Hacking : Apprendre l'attaque pour mieux se défendre (6e édition)
  • Algorithmique - Techniques fondamentales de programmation Exemples en Python - BTS, DUT informatique (2e édition) - Version en ligne
  • Cyberdéfense La sécurité de l'informatique industrielle (domotique, industrie, transports)

Nos nouveautés

voir plus