Académique Documents
Professionnel Documents
Culture Documents
Exfiltration d’information
1. Machines Virtuelles:
Les images virtuelles pour cet exercice peuvent être téléchargées à partir de :
https://www.enisa.europa.eu/ftp/ENISA_INF_Squid_Server_5.2.ova
et
https://www.enisa.europa.eu/ftp/ENISA_INF_Squid_Client_5.2.ova
Squid_server - console uniquement avec tous les outils nécessaires installés, serveur
Apache. La machine virtuelle dispose d'une connectivité Internet via l'interface réseau NAT
(enp0s3) et d'un accès au réseau interne via l'interface enp0s8.
Les deux machines virtuelles exécutent des distributions Linux Debian 9 et sont
préconfigurées pour communiquer entre elles via les interfaces réseau internes.
Les informations de connexion sont les mêmes pour les deux machines :
utilisateur : root
passe : squid
utilisateur: squid
passe : squid
Il est conseillé de se connecter au serveur Squid via SSH à partir de la machine locale plutôt que
d'utiliser le terminal VMs.
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
1/11
Case-Study1-ForensicProxy
Les serveurs proxy fournissent non seulement l'historique de navigation Web de l'ensemble
de l'organisation, stockent des copies d'une page Web (pour un temps limité), mais ils
peuvent également déchiffrer le trafic https. Bien que ces fonctionnalités puissent être
extrêmement utiles dans un environnement commercial, elles doivent également être
considérées d'un point de vue éthique. Https a été conçu pour donner aux utilisateurs un
sentiment de confidentialité et de sécurité. Le déchiffrement du trafic sans préavis ni
consentement de l'utilisateur peut être considéré comme une violation des normes éthiques
et être illégal dans certaines juridictions. La responsabilité devrait être clairement comprise
avant de décider de mettre en œuvre de telles solutions.
Dans cette partie de l'exercice, le logiciel proxy Web open source - Squid 184 sera installé et
configuré.
utilisateur: root
passe : squid
cd squid-3.5.27
sudo make
sudo make install
Et changez la propriété du répertoire :
4. Configuration de SSL/TLS :
Il est possible d'inspecter le contenu du trafic chiffré TLS/SSL à l'aide d'un proxy. Lorsqu'un
client souhaite se connecter à un site https via un proxy, toutes les requêtes TLS/SSL sont
dupliquées par le proxy et transmises au serveur demandé via un tunnel chiffré séparé
entre le proxy et le serveur demandé. En même temps, le proxy génère un nouveau
certificat et emprunte l'identité du serveur demandé, établissant un tunnel entre le proxy et
le client. Cela permet au proxy d'inspecter le trafic chiffré. Pour que cela réussisse, le
certificat SSL/TLS d'un serveur proxy doit être présent dans la liste des autorités de
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
2/11
Case-Study1-ForensicProxy
certification (CA) de confiance du navigateur Web du client. Ceci est réalisable dans un
environnement informatique géré de manière centralisée.
Interception SSL
Création du certificat :
mkdir /usr/local/squid/ssl_cert
cd /usr/local/squid/ssl_cert
openssl req -new -newkey rsa:4096 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout
squid.pem -out squid.pem
L'invite de commande apparaîtra pour vous demander des informations détaillées. Ceux-ci peuvent
être laissés vides.
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
3/11
Case-Study1-ForensicProxy
#http_port 3128
La dernière étape consiste à créer et à initialiser le répertoire de cache des certificats TLS :
Changer le propriétaire pour éviter les erreurs d'accès : sudo chown squid:squid /var/lib/ssl_db
fichier squid.conf
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
4/11
Case-Study1-ForensicProxy
/usr/local/squid/sbin/squid
netstat -plnt
À ce stade , l'aperçu du fichier access.log peut être lancé et il affichera le journal en cours
de remplissage au fur et à mesure que la machine cliente est configurée.
tail -f /usr/local/squid/var/logs/access.log
6. Paramétrage du client
Le certificat client généré précédemment doit être importé dans le navigateur client. Après
avoir lancé la machine virtuelle Squid_client et s'être connecté à l'aide des informations
d'identification squid:squid, le fichier de certificat peut être téléchargé à partir du serveur
Squid, en exécutant la commande suivante :
scp squid@10.1.1.1:/usr/local/squid/ssl_cert/squid.der ~
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
5/11
Case-Study1-ForensicProxy
L' option Afficher les certificats ouvrira une nouvelle fenêtre dans laquelle, dans l' onglet
Autorités , le certificat racine de l'autorité de certification peut être importé :
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
6/11
Case-Study1-ForensicProxy
Après avoir cliqué sur le bouton Importer , le fichier squid.der doit être sélectionné :
Sélection du certificat
En cliquant sur OK, une autre fenêtre apparaîtra, demandant la portée de cette confiance
de certificat.
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
7/11
Case-Study1-ForensicProxy
Dans Paramètres => Proxy manuel, l'adresse IP du serveur 10.1.1.1 et le port 3128 doivent être
fournis. Également
utiliser ce serveur proxy pour tous les protocoles doit être sélectionnée.
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
8/11
Case-Study1-ForensicProxy
Après avoir cliqué sur OK, l'utilisateur peut commencer à naviguer sur le Web. Au fur et
à mesure que les adresses sont saisies, le serveur qui ne présentait aucune activité lors
de l'exécution de la commande tail -f , indique maintenant que le fichier journal est rempli
de données.
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
9/11
Case-Study1-ForensicProxy
Codes de résultat : encodent le résultat des transactions exprimé sous la forme de deux
entrées séparées par une barre oblique. La première entrée est spécifique à Squid et est
décrite en détail en ligne. La deuxième entrée utilise les codes d'erreur définis par RFC
pour HTTP . Dans l'exemple ci-dessus, TCP_MISS représente les données extraites du
serveur et non du cache proxy ;
Méthode de requête : méthodes de requête HTTP telles que décrites dans RFC 1945 ;
Utilisateur : peut contenir des informations identifiant l'utilisateur, si aucune identité d'utilisateur
n'est disponible, le signe "-" est enregistré ;
Hierarchy Code : composé de trois parties, cette colonne fournit des informations sur
la façon dont la demande a été traitée et affiche l'adresse IP du nom d'hôte qui a traité
la demande ;
Type : stocke des informations sur le type d'objet en fonction de la réponse HTTP dans un en-tête.
SARG est un outil d'analyse Squid basé sur le Web qui vous permet de parcourir des
rapports visuels sur l'activité des utilisateurs en fonction du fichier access.log . C'est un
outil utile lorsqu'un aperçu rapide de l'activité de l'utilisateur est nécessaire. Il est
disponible dans les référentiels de logiciels et peut être installé avec la commande :
/usr/local/squid/var/logs/access.log
Les rapports sont générés en exécutant la commande :
sudo sarg-x
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
10/11
Case-Study1-ForensicProxy
185
Squid-cache.org (2018), https://wiki.squid-cache.org/ConfigExamples/Intercept/SslBumpExplicit
11/11