Démarrer l'essai gratuit
Searching...
SoBrief
Français
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Violent Python

Violent Python

A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers
par T.J. O'Connor 2012 288 pages
4.04
500+ évaluations
Écouter
Essayez l'accès complet pendant 3 jours
Débloquez l'écoute et bien plus !
Continuer

Points clés

1. Python : L’outil de sécurité indispensable

Forger ses propres armes pour résoudre ses propres problèmes fait de vous un véritable testeur d’intrusion.

La puissance de Python. Python s’impose comme le langage idéal pour les professionnels de la sécurité — hackers, analystes judiciaires, testeurs d’intrusion et ingénieurs en sécurité — grâce à sa simplicité, son efficacité, ses vastes bibliothèques et sa faible barrière d’entrée. Souvent déjà installé sur les systèmes Linux et Mac, il est immédiatement accessible pour créer des outils personnalisés. Si de nombreux outils de sécurité existent, Python donne aux utilisateurs le pouvoir de concevoir des solutions sur mesure face à des défis uniques ou complexes où les options standard échouent.

Une approche « livre de recettes ». Cet ouvrage adopte un style « livre de recettes », proposant des « recettes » Python pratiques couvrant divers domaines de la sécurité. Ces exemples incluent des outils offensifs, l’analyse web, l’analyse réseau, l’analyse judiciaire et l’exploitation des dispositifs sans fil. L’objectif est d’inspirer les lecteurs à adapter et créer leurs propres scripts, cultivant ainsi une mentalité de construction de solutions personnalisées plutôt que de se reposer uniquement sur des outils existants.

Un impact concret. Des anecdotes, comme celle du testeur d’intrusion ayant compromis plus d’un millier de machines avec un simple script Python, ou celle de l’enquêteur judiciaire ayant résolu un meurtre vieux de plusieurs décennies grâce à l’analyse des métadonnées, illustrent l’impact tangible des outils Python personnalisés. Ces récits soulignent l’importance de pouvoir développer rapidement des scripts pour réagir à des situations dynamiques et résoudre des problèmes spécifiques rencontrés sur le terrain.

2. Les bases de Python pour le scripting en sécurité

La véritable force du langage Python réside dans la richesse de ses bibliothèques standard et tierces.

Concepts fondamentaux. Le premier chapitre offre un cours intensif sur les bases de Python nécessaires au scripting en sécurité. Il aborde les notions clés telles que les variables, les types de données standards (chaînes, entiers, booléens) et les structures complexes comme les listes et dictionnaires, en expliquant la gestion automatique des types par Python. Comprendre ces fondations est indispensable avant d’aborder des applications plus avancées.

Contrôle de flux et fonctions. Les constructions essentielles de programmation, comme la sélection (if/elif/else) et l’itération (boucles for), sont introduites pour permettre aux scripts de prendre des décisions et de traiter les données efficacement. Les fonctions sont mises en avant comme des blocs de code organisés et réutilisables, améliorant la lisibilité et la modularité, une pratique illustrée par la création de programmes simples tels que des craqueurs de mots de passe. La gestion des exceptions (try/except) est également abordée, permettant aux scripts de gérer élégamment les erreurs d’exécution comme les délais réseau.

Modules essentiels. Les modules intégrés clés sont présentés pour interagir avec le système et le réseau.

  • socket : pour établir des connexions réseau (TCP/UDP).
  • os : pour interagir avec le système d’exploitation (chemins, permissions).
  • sys : pour accéder aux objets spécifiques à l’interpréteur (arguments en ligne de commande).
  • _winreg (Windows) : pour manipuler le Registre Windows.
  • sqlite3 : pour interagir avec les bases de données SQLite.
    Ces modules, associés aux bibliothèques tierces, constituent l’épine dorsale de la puissance de Python dans les tâches de sécurité.

3. Concevoir des outils de test d’intrusion

Un petit script Python lui a permis d’accéder à plus d’un millier de postes de travail.

La reconnaissance d’abord. Le test d’intrusion commence par la reconnaissance, souvent via le scan de ports pour identifier les services ouverts. Le module socket de Python permet de créer des scanners TCP basiques, tandis que l’intégration de bibliothèques comme python-nmap offre des techniques de scan plus avancées et l’analyse des résultats. Cette étape initiale aide les attaquants à découvrir des points d’entrée potentiels.

Exploiter les services courants. Les scripts Python peuvent automatiser des attaques contre des protocoles largement utilisés.

  • SSH : Utilisation de bibliothèques telles que pexpect ou pxssh pour forcer les mots de passe ou exploiter des clés privées faibles, obtenant ainsi l’exécution de commandes à distance et la création de botnets.
  • FTP : Scripts pour les connexions anonymes, le brute-force des identifiants, et l’injection de code malveillant dans des pages web hébergées sur des serveurs FTP compromis, reproduisant des compromissions massives réelles.
  • SMB : Interaction avec Metasploit via des scripts ressources pour automatiser l’exploitation de vulnérabilités comme MS08-067 ou réaliser des attaques par force brute sur des partages administratifs (psexec).

Le potentiel des zero-day. Python peut même servir à développer des preuves de concept pour des vulnérabilités zero-day, telles que des débordements de tampon basés sur la pile. En créant des paquets avec des charges utiles spécifiques, des débordements de tampon, des adresses de retour et des NOP sleds à l’aide de bibliothèques comme scapy et struct, les attaquants peuvent démontrer l’exécution de code à distance, illustrant la capacité de Python dans le développement d’exploits avancés.

4. Python pour la criminalistique numérique

Une enquête de 31 ans, mobilisant 100 000 heures de travail, s’est conclue grâce à l’examen des métadonnées par M. Stone (Regan, 2006).

Découvrir les artefacts système. Python est un outil puissant pour les enquêtes judiciaires numériques, permettant aux analystes d’extraire des informations précieuses des artefacts du système d’exploitation. Cela inclut l’analyse du Registre Windows via _winreg pour révéler les réseaux sans fil précédemment connectés et leurs adresses MAC, qui peuvent ensuite être géolocalisées grâce à des services comme Wigle.net via des bibliothèques telles que mechanize.

Examiner les données supprimées. Des scripts peuvent être écrits pour analyser la Corbeille sur différentes versions de Windows (C:\Recycler, C:\Recycled, C:\$Recycle.Bin) en utilisant le module os. En corrélant les SID utilisateurs trouvés dans les répertoires de la Corbeille avec les noms d’utilisateur stockés dans le Registre, les enquêteurs peuvent déterminer qui a supprimé quels fichiers, aidant ainsi à reconstituer l’activité des utilisateurs.

Extraire les données applicatives. De nombreuses applications modernes stockent leurs données dans des bases SQLite, que Python peut facilement analyser grâce à la bibliothèque sqlite3. Par exemple, il est possible d’extraire :

  • Les informations de profil Skype, contacts, journaux d’appels et messages depuis main.db.
  • L’historique des téléchargements, cookies, historique de navigation et même les requêtes Google depuis des bases comme downloads.sqlite, cookies.sqlite et places.sqlite.
  • Les messages texte et autres données à partir des sauvegardes mobiles iTunes en identifiant et interrogeant les fichiers SQLite concernés.
    Ces techniques permettent d’automatiser l’extraction de données riches en informations judiciaires depuis les applications utilisateur.

5. Analyser le trafic réseau avec Python

Même un logiciel rudimentaire de visualisation réseau aurait pu identifier ce comportement.

Géolocaliser le trafic. Python peut analyser des captures de trafic réseau (PCAP) pour comprendre l’origine et la destination physique des paquets. En utilisant des bibliothèques comme dpkt pour parser les couches de paquets (Ethernet, IP, TCP/UDP) et pygeoip avec la base GeoLiteCity, les scripts peuvent corréler les adresses IP à des localisations géographiques. Ces données peuvent même être formatées en fichiers KML pour une visualisation dans Google Earth, révélant des schémas de trafic susceptibles d’indiquer une activité malveillante, comme l’illustre l’opportunité manquée lors de l’Opération Aurora.

Détecter l’activité malveillante. Des scripts Python peuvent identifier des schémas d’attaque spécifiques dans le trafic réseau.

  • Kits DDoS : Analyse des requêtes HTTP pour détecter des téléchargements de kits connus (comme LOIC) ou analyse du trafic IRC pour repérer des messages de commande et contrôle (!lazor). La détection de volumes élevés de trafic provenant de sources spécifiques peut aussi indiquer une attaque en cours.
  • Scans leurres : Analyse du champ Time-to-Live (TTL) des paquets IP avec scapy et comparaison du TTL reçu au nombre réel de sauts (déterminé par des sondes ICMP) pour révéler des adresses source usurpées utilisées dans des scans réseau leurres, une technique employée par H.D. Moore pour défendre le Pentagone.
  • Réseaux Flux : Examen du trafic DNS (scapy) pour détecter le Fast-Flux (multiples IP pour un même domaine avec des TTL courts) ou le Domain-Flux (requêtes fréquentes pour des domaines inexistants), techniques utilisées par des botnets comme Storm et Conficker pour échapper aux démantèlements.

Analyse et manipulation des protocoles. Python permet une inspection approfondie et la création de paquets réseau. L’analyse des numéros de séquence TCP (scapy) peut révéler des motifs prévisibles exploitables pour le détournement de session, comme l’a démontré Kevin Mitnick. De plus, scapy peut être utilisé pour forger des paquets avec des flags, ports et charges utiles spécifiques afin de tester les systèmes de détection d’intrusion (IDS) et potentiellement générer un bruit important pour masquer une attaque réelle.

6. Exploitation et analyse des réseaux sans fil et Bluetooth

L’interception de connexions Internet sans fil non chiffrées fut l’une des méthodes utilisées pour accéder aux informations de cartes bancaires.

Sniffing sans fil. Python, associé à des bibliothèques comme scapy et un adaptateur sans fil en mode moniteur, permet d’intercepter passivement le trafic sans fil. Cela autorise la capture d’informations sensibles transmises sur des réseaux non chiffrés, telles que :

  • Les numéros de cartes bancaires via des expressions régulières.
  • Les noms des clients d’hôtel et numéros de chambre depuis des pages de connexion non authentifiées.
  • Les requêtes Google issues du trafic HTTP non chiffré.
  • Les identifiants FTP (noms d’utilisateur et mots de passe) envoyés en clair.
    Ces exemples illustrent les risques liés à l’utilisation de réseaux sans fil non sécurisés et la facilité avec laquelle des données sensibles peuvent être capturées.

Identifier les réseaux cachés. Des scripts peuvent analyser les trames de gestion 802.11 pour découvrir des réseaux sans fil. En écoutant les requêtes de sondage (Probe Requests), les attaquants peuvent identifier les réseaux préférés stockés sur les appareils clients. L’analyse des trames Beacon, y compris celles avec des SSID vides, aide à détecter les réseaux cachés. Attendre une réponse de sondage (Probe Response) correspondant à l’adresse MAC d’un réseau caché peut révéler son nom.

Attaques actives sans fil. Python permet de forger et d’injecter des trames 802.11 à des fins offensives. La démonstration du contrôle d’un drone (UAV) en sniffant son protocole de communication (UDP), en dupliquant les couches de paquets (scapy) et en injectant des commandes usurpées (comme un atterrissage d’urgence) montre le potentiel de prise de contrôle de dispositifs sans fil vulnérables. La détection d’outils comme Firesheep est aussi possible en identifiant la réutilisation de cookies de session depuis différentes adresses IP.

Sécurité Bluetooth. Les bibliothèques Python bluetooth et python-obexftp permettent de scanner et d’exploiter des dispositifs Bluetooth. Des scripts peuvent découvrir les appareils à proximité, scanner les canaux RFCOMM ouverts et parcourir les services via SDP. Des exploits comme OBEX Object Push (envoi de fichiers vers des imprimantes) ou BlueBugging (émission de commandes AT vers des téléphones via des canaux RFCOMM non authentifiés) démontrent comment Python peut interagir avec et compromettre des appareils Bluetooth.

7. Reconnaissance web et automatisation de l’ingénierie sociale

Quelle que soit la sophistication ou la dangerosité d’une cyberattaque, la présence d’une ingénierie sociale efficace en augmente toujours l’impact.

Navigation anonyme. La reconnaissance web nécessite souvent l’anonymat pour éviter la détection. La bibliothèque Python mechanize permet une navigation web avec gestion d’état, cookies et formulaires. En étendant la classe Browser, des scripts personnalisés peuvent automatiser des techniques d’anonymisation telles que la rotation de proxies, le spoofing des chaînes user-agent et la suppression des cookies, rendant plus difficile le suivi par les sites web.

Extraction de données web. L’extraction d’informations depuis les sites web est cruciale pour la reconnaissance. Des bibliothèques comme BeautifulSoup excellent dans le parsing HTML et XML, facilitant la recherche d’éléments spécifiques comme les liens (<a>) et images (<img>). Les scripts peuvent télécharger le contenu d’un site, l’analyser localement et même dupliquer les images, réduisant ainsi les requêtes répétées vers le serveur cible.

Exploiter les API web. De nombreux services en ligne offrent des API pour un accès programmatique aux données. Python peut interagir avec ces API pour collecter efficacement des informations.

  • API Google : Interroger les résultats de recherche Google de manière programmatique pour trouver des informations sur des entreprises ou individus ciblés.
  • API Twitter : Extraire tweets, retweets et informations de profil d’un compte donné. L’analyse du contenu des tweets via des expressions régulières peut révéler des centres d’intérêt (liens, hashtags, utilisateurs mentionnés) et potentiellement des localisations (géotags, noms de villes dans le texte), construisant un profil détaillé de la cible.

Automatisation de l’ingénierie sociale. Les informations recueillies peuvent servir à concevoir des attaques d’ingénierie sociale très ciblées, telles que des courriels de spear-phishing. La bibliothèque Python smtplib permet d’envoyer des emails de manière programmatique. En combinant les données collectées (intérêts, localisation, contacts) avec l’automatisation des emails, les attaquants peuvent créer des messages personnalisés, plus susceptibles d’être ouverts et d’entraîner une action, augmentant ainsi le taux de réussite de l’attaque.

Dernière mise à jour:

Report Issue

Résumé des avis

4.04 sur 5
Moyenne de 500+ évaluations de Goodreads et Amazon.

Violent Python suscite des avis partagés, avec une note moyenne de 4,03 sur 5. Les lecteurs apprécient son approche pratique de la cybersécurité à travers Python, ses exemples concrets et son style d’écriture accessible. Certains le considèrent comme une excellente introduction aux tests d’intrusion et à la criminalistique informatique, soulignant sa simplicité et son ton parfois humoristique. Toutefois, certains critiques relèvent un contenu parfois dépassé, un manque de profondeur dans certains domaines, ainsi qu’une dépendance aux bibliothèques existantes plutôt qu’à des implémentations approfondies. Ce livre est souvent recommandé aux débutants disposant déjà de quelques connaissances en programmation et en réseaux, tandis que les professionnels aguerris peuvent le trouver trop élémentaire.

Your rating:
4.48
105 évaluations
Want to read the full book?

À propos de l'auteur

TJ O'Connor est un expert en sécurité de l'information au sein du Département de la Défense et un parachutiste de l'armée américaine. Il a enseigné la cybersécurité à l'Académie militaire des États-Unis et entraîné des équipes victorieuses lors de compétitions nationales de défense cybernétique. Titulaire de plusieurs diplômes avancés en informatique et en sécurité de l'information, il a publié des recherches dans divers forums techniques. Détenteur de certifications de cybersécurité de niveau expert, il fait partie des équipes SANS Red et Blue Team Cyber Guardians. En tant que commandant actif dans l'armée, TJ O'Connor possède une vaste expérience des exercices de défense cybernétique et intervient régulièrement lors de conférences spécialisées.

Follow
Écouter
Now playing
Violent Python
0:00
-0:00
Now playing
Violent Python
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 26,000+ books. That's 12,000+ hours of audio!
Day 2: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 3: Your subscription begins
You'll be charged on Jun 9,
cancel anytime before.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel