Facebook Pixel
Searching...
Français
EnglishEnglish
EspañolSpanish
简体中文Chinese
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
Hacking

Hacking

The Art of Exploitation w/CD
par Jon Erickson 2003 264 pages
4.17
2k+ évaluations
Écouter
Listen to Summary

Points clés

1. Le Hacking : Un Art de Résolution de Problèmes Non Conventionnelle

L'essence du hacking réside dans la découverte d'utilisations inattendues ou négligées des lois et propriétés d'une situation donnée, puis dans leur application de manière nouvelle et inventive pour résoudre un problème.

Au-delà des Limites Légales. Le hacking n'est pas intrinsèquement lié à la violation de la loi, mais plutôt à la résolution créative de problèmes en trouvant des usages novateurs pour des règles et propriétés existantes. Cela peut aller de l'optimisation de programmes informatiques à la réutilisation d'équipements téléphoniques anciens à de nouvelles fins. L'essentiel est de penser en dehors des méthodologies conventionnelles et de trouver des solutions uniques.

L'Éthique du Hacker. Les premiers hackers du MIT valorisaient le flux d'informations libre et l'apprentissage continu, transcendant les frontières conventionnelles telles que la discrimination. Ils appréciaient la logique comme une forme d'art et cherchaient à mieux comprendre le monde en contournant les restrictions. Cette éthique met l'accent sur la connaissance, l'innovation et le dépassement des limites, indépendamment de la légalité.

Hacker vs. Cracker. Bien que le terme "cracker" ait été utilisé pour distinguer les hackers malveillants des hackers éthiques, la frontière s'est estompée. Les lois modernes restreignant la cryptographie et la recherche peuvent faire apparaître même les hackers bien intentionnés comme enfreignant la loi. Le véritable esprit hacker transcende les lois gouvernementales et se concentre sur l'application des connaissances, qu'elle soit bonne ou mauvaise.

2. L'Élégance de la Programmation Réside dans des Solutions Ingénieuses et Contre-Intuitives

Le hacking est en réalité l'acte de trouver une solution ingénieuse et contre-intuitive à un problème.

Au-delà du Code Fonctionnel. La programmation ne consiste pas seulement à créer un code qui fonctionne ; il s'agit de trouver la manière la plus efficace et élégante d'accomplir une tâche. Cela implique d'utiliser les règles de l'ordinateur de manière nouvelle et inventive, aboutissant souvent à un code à la fois compact, efficace et soigné. Cette quête d'élégance est en soi une forme de hacking.

La Valeur des Hacks. Alors que le monde des affaires moderne privilégie souvent la rapidité et le coût au détriment de l'optimisation, la véritable appréciation de l'élégance de la programmation est laissée aux passionnés, aux rédacteurs d'exploits et à ceux qui recherchent la meilleure solution possible. Ces individus trouvent de la beauté dans un code élégant et de l'ingéniosité dans des hacks astucieux, repoussant les limites de ce qui est possible.

La Programmation comme Fondement. Comprendre la programmation est crucial tant pour écrire du code que pour l'exploiter. En comprenant comment les programmes sont écrits, les hackers peuvent mieux saisir comment trouver et exploiter des vulnérabilités. Cette connaissance est essentielle pour les deux côtés du spectre de la programmation.

3. L'Exploitation de Programmes Révèle des Usages Inattendus des Règles Informatiques

Exploiter un programme est simplement une manière astucieuse de faire faire à l'ordinateur ce que vous voulez qu'il fasse, même si le programme en cours d'exécution a été conçu pour empêcher cette action.

Exploitation des Failles. L'exploitation de programmes consiste à trouver des défauts ou des négligences dans la conception ou l'environnement d'un programme et à les utiliser pour amener l'ordinateur à faire quelque chose qu'il n'était pas censé faire. Cela implique souvent de contourner des mesures de sécurité et d'accéder de manière non autorisée. Les failles de sécurité sont en réalité des défauts ou des négligences dans la conception du programme ou dans l'environnement dans lequel le programme s'exécute.

Erreurs Off-by-One. Une erreur de programmation courante qui peut être exploitée est l'erreur off-by-one, où le programmeur compte mal d'une unité. Cela peut conduire à des vulnérabilités permettant aux attaquants d'obtenir des droits administratifs ou de contourner des restrictions de sécurité. Par exemple, une erreur off-by-one dans OpenSSH a permis à des utilisateurs normaux d'acquérir des droits administratifs complets.

La Lettre de la Loi. Les programmes suivent les instructions à la lettre, même si les résultats ne correspondent pas à ce que le programmeur avait prévu. Cela peut entraîner des résultats inattendus et catastrophiques, comme le montre le "LaMacchia Loophole", où un étudiant a exploité une faille légale pour faciliter le piratage de logiciels sans gain financier personnel.

4. Débordements de Tampons et Chaînes de Format : Techniques d'Exploitation Généralisées

Avec ces deux techniques, l'objectif ultime est de prendre le contrôle du flux d'exécution du programme cible pour le tromper en exécutant un morceau de code malveillant qui peut être introduit en mémoire de diverses manières.

Erreurs Courantes. Certaines erreurs de programmation courantes peuvent être exploitées de manière pas toujours évidente. Ces erreurs ont donné naissance à des techniques d'exploitation généralisées pouvant être utilisées dans diverses situations. Les deux types de techniques d'exploitation généralisées les plus courants sont les exploits de débordement de tampon et les exploits de chaînes de format.

Débordements de Tampons. Les débordements de tampons se produisent lorsqu'un programme essaie d'écrire plus de données dans un tampon qu'il ne peut en contenir, écrasant ainsi des emplacements mémoire adjacents. Cela peut être utilisé pour écraser des données critiques, telles que des adresses de retour, et prendre le contrôle du flux d'exécution du programme.

Exploits de Chaînes de Format. Les exploits de chaînes de format consistent à manipuler des chaînes de format dans des fonctions comme printf() pour lire ou écrire des emplacements mémoire arbitraires. Cela peut être utilisé pour écraser des pointeurs de fonction ou d'autres données critiques et prendre le contrôle du flux d'exécution du programme.

5. Segmentation de la Mémoire : Comprendre le Flux d'Exécution des Programmes

La mémoire des programmes est divisée en cinq segments : texte, données, bss, tas et pile.

Organisation de la Mémoire. La mémoire des programmes est divisée en cinq segments : texte (code), données, bss, tas et pile. Chaque segment a un but spécifique, comme stocker des instructions de programme, des variables globales ou des données temporaires. Comprendre comment ces segments sont organisés est crucial pour exploiter des vulnérabilités.

La Pile. La pile est un espace temporaire utilisé pour stocker le contexte lors des appels de fonction. Elle contient des paramètres, des variables locales et des pointeurs nécessaires pour restaurer l'état du programme après l'exécution de la fonction. Les débordements basés sur la pile peuvent écraser des adresses de retour et modifier le flux d'exécution.

Le Tas. Le tas est utilisé pour l'allocation dynamique de mémoire, permettant aux programmes de réserver de la mémoire selon les besoins. Les débordements basés sur le tas peuvent écraser des variables importantes ou des pointeurs de fonction, entraînant des vulnérabilités de sécurité.

6. Permissions de Fichiers Multi-Utilisateurs : Obtenir des Privilèges Root

Si le flux d'un programme suid root peut être modifié pour exécuter un morceau de code arbitraire injecté, alors l'attaquant pourrait amener le programme à faire n'importe quoi en tant qu'utilisateur root.

Modèle de Sécurité Linux. Linux est un système d'exploitation multi-utilisateur avec tous les privilèges système investis dans l'utilisateur "root". Les permissions de fichiers sont basées sur les utilisateurs et les groupes, empêchant l'accès non autorisé aux fichiers.

Programmes SUID. Les programmes SUID (set user ID) permettent aux utilisateurs non privilégiés d'effectuer des fonctions système nécessitant des privilèges root. Lorsqu'un programme SUID est exécuté, l'identifiant utilisateur effectif (EUID) de l'utilisateur est changé pour celui du propriétaire du programme, généralement root.

Exploitation des Programmes SUID. Si le flux d'un programme SUID root peut être modifié pour exécuter du code injecté, un attaquant peut obtenir des privilèges root. Cela peut être réalisé par le biais de débordements de tampon ou d'exploits de chaînes de format, permettant à l'attaquant de contrôler le système en tant qu'utilisateur root.

7. Le Réseau S'appuie sur des Protocoles Standards pour la Communication

Le réseautage est avant tout une question de communication, et pour que deux parties ou plus puissent communiquer correctement, des normes et des protocoles sont nécessaires.

Le Modèle OSI. La communication réseau repose sur des protocoles standards définis par le modèle de référence Open Systems Interconnection (OSI). Ce modèle se compose de sept couches, chacune traitant d'un aspect différent de la communication, de la connexion physique à la couche application.

Couches Clés. La couche réseau (IP), la couche de transport (TCP/UDP) et la couche de liaison de données (Ethernet) sont particulièrement importantes pour comprendre les vulnérabilités réseau. Ces couches gèrent l'adressage, le routage, le transfert de données fiable et l'adressage matériel.

Paquets et Encapsulation. Les données sont communiquées par le biais de paquets, qui sont encapsulés avec des en-têtes de protocole à chaque couche. Comprendre comment ces en-têtes sont structurés et comment ils interagissent est crucial pour exploiter les vulnérabilités réseau.

8. L'Écoute Réseau Expose les Vulnérabilités dans la Transmission de Données

L'exploitation de programmes est un pilier du hacking.

Mode Promiscuous. L'écoute réseau consiste à capturer des paquets transmis sur un réseau. Dans un réseau non commuté, les appareils peuvent être configurés en mode promiscuous, leur permettant de capturer tous les paquets, quelle que soit l'adresse de destination.

Réseaux Commutés. Les réseaux commutés limitent le trafic à des ports spécifiques en fonction des adresses MAC, rendant l'écoute plus difficile. Cependant, des techniques comme la redirection ARP peuvent être utilisées pour contourner cette mesure de sécurité.

Redirection ARP. La redirection ARP consiste à usurper des réponses ARP pour empoisonner les caches ARP des machines cibles, redirigeant leur trafic à travers la machine de l'attaquant. Cela permet à l'attaquant d'écouter et potentiellement de modifier le trafic.

9. Cryptologie : Équilibrer Sécurité et Praticité

Il n'y a rien de bon ou de mauvais dans la connaissance elle-même ; la moralité réside dans l'application de cette connaissance.

Cryptographie et Cryptanalyse. La cryptologie englobe à la fois la cryptographie (l'art de la communication secrète) et la cryptanalyse (l'art de briser ces secrets). Une cryptographie solide est essentielle pour des transactions en ligne sécurisées et la protection des données sensibles.

Sécurité Inconditionnelle vs. Sécurité Computationnelle. La sécurité inconditionnelle, comme celle fournie par les pads à usage unique, est incassable même avec des ressources infinies. Cependant, elle est souvent impraticable. La sécurité computationnelle repose sur la difficulté de briser un chiffre dans un délai raisonnable, compte tenu de la technologie actuelle.

Chiffrement Symétrique vs. Asymétrique. Les chiffres symétriques utilisent la même clé pour le chiffrement et le déchiffrement, offrant rapidité mais posant des défis de distribution de clés. Les chiffres asymétriques utilisent des clés publiques et privées, simplifiant l'échange de clés mais sacrifiant la rapidité. Les chiffres hybrides combinent les deux approches pour une sécurité et une efficacité optimales.

10. Exploitation du Chiffrement Sans Fil 802.11b : Attaques WEP

Les sciences de la physique nucléaire et de la biochimie peuvent être utilisées pour tuer, mais elles nous offrent également des avancées scientifiques significatives et une médecine moderne.

But Initial de WEP. WEP (Wired Equivalent Privacy) a été conçu pour fournir une sécurité équivalente à celle d'un réseau câblé. Cependant, des faiblesses dans le protocole le rendent vulnérable à diverses attaques.

Processus de Chiffrement de WEP. WEP utilise le chiffre de flux RC4 avec un vecteur d'initialisation (IV) de 24 bits et une clé de 40 bits ou 104 bits. L'IV est préfixé à la clé pour initialiser l'algorithme RC4, générant un flux de clés qui est XORé avec le message en clair.

Vulnérabilités de WEP. WEP est vulnérable aux attaques par force brute hors ligne, à la réutilisation de flux de clés et aux attaques par dictionnaire de déchiffrement basées sur l'IV. Ces vulnérabilités peuvent être exploitées pour craquer les clés WEP et obtenir un accès non autorisé aux réseaux sans fil.

Dernière mise à jour:

Avis

4.17 sur 5
Moyenne de 2k+ évaluations de Goodreads et Amazon.

Hacking : L'art de l'exploitation est largement salué pour ses explications techniques approfondies des techniques de hacking, abordant des sujets tels que les débordements de tampon, le réseautage et la cryptographie. Les lecteurs apprécient l'approche pratique grâce au LiveCD inclus, qui permet une expérimentation concrète. Bien que certains le trouvent difficile et potentiellement obsolète, beaucoup le considèrent comme une ressource essentielle pour comprendre les exploits de bas niveau et améliorer ses compétences en programmation. Ce livre est recommandé pour ceux qui s'intéressent à la cybersécurité, bien qu'il puisse être trop avancé pour les débutants et se concentre principalement sur la programmation en C et les systèmes Linux.

À propos de l'auteur

Jon Erickson est l'auteur de "Hacking : L'art de l'exploitation", un livre largement reconnu dans le domaine de la sécurité informatique. Connu pour sa capacité à expliquer des concepts techniques complexes de manière accessible, Erickson a considérablement contribué à la compréhension des techniques de hacking et des vulnérabilités logicielles. Son travail se concentre sur l'enseignement aux lecteurs non seulement de l'utilisation des exploits existants, mais aussi du développement de leurs propres techniques et de la compréhension des principes sous-jacents. L'approche d'Erickson met en avant l'importance de la résolution créative de problèmes dans le hacking, incitant les lecteurs à réfléchir de manière critique sur les systèmes informatiques et leurs potentielles faiblesses. Son livre est devenu une ressource précieuse tant pour les professionnels de la sécurité en herbe que pour les programmeurs expérimentés souhaitant approfondir leur compréhension de la cybersécurité.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Get personalized suggestions
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Apr 26,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Appearance
Loading...
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →