0% ont trouvé ce document utile (0 vote)
5 vues10 pages

Analyser les attaques SQL et DNS

Ce document décrit des travaux pratiques visant à interpréter les données HTTP et DNS pour identifier un hacker, en se concentrant sur des attaques par injection SQL et l'exfiltration de données. Les participants doivent préparer un environnement virtuel, analyser des journaux Sguil et ELSA pour détecter des activités malveillantes, et examiner des requêtes DNS inhabituelles. Les étapes incluent la vérification des alertes, l'analyse des données exfiltrées et la restauration de chaînes hexadécimales pour identifier d'éventuelles exfiltrations de données.

Transféré par

md.benismail
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues10 pages

Analyser les attaques SQL et DNS

Ce document décrit des travaux pratiques visant à interpréter les données HTTP et DNS pour identifier un hacker, en se concentrant sur des attaques par injection SQL et l'exfiltration de données. Les participants doivent préparer un environnement virtuel, analyser des journaux Sguil et ELSA pour détecter des activités malveillantes, et examiner des requêtes DNS inhabituelles. Les étapes incluent la vérification des alertes, l'analyse des données exfiltrées et la restauration de chaînes hexadécimales pour identifier d'éventuelles exfiltrations de données.

Transféré par

md.benismail
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Travaux pratiques – Interpréter les données HTTP et DNS pour

isoler un hacker
Objectifs
Au cours de ces travaux pratiques, vous allez consulter les journaux collectés lors de l'exploitation de
vulnérabilités HTTP et DNS documentées.
Partie 1 : Préparation de l'environnement virtuel
Partie 2 : Enquêter sur une attaque par injection de code SQL
Partie 3 : Analyser une exfiltration de données

Contexte/scénario
MySQL est un système de gestion de bases de données relationnelles (SGBDR) qui utilise le langage de
requête structuré (SQL) pour ajouter, afficher et gérer du contenu dans une base de données. MySQL est
utilisé par de nombreuses applications web. Malheureusement, il existe une technique de cyberattaque
appelée « injection SQL » via laquelle un hacker exécute des instructions SQL malveillantes pour tenter de
contrôler le serveur de base de données d'une application web.
Les serveurs de noms de domaine (DNS) sont des répertoires de noms de domaine qu'ils traduisent en
adresses IP. Ce service peut être utilisé pour exfiltrer des données.
Au cours de ces travaux pratiques, vous allez mener l'enquête sur une éventuelle attaque par injection de
code SQL visant à accéder à la base de données SQL sur le serveur. Vous examinerez également les
journaux pour enquêter sur une possible exfiltration de données et identifier la méthode d'exfiltration utilisée.

Ressources requises
• Ordinateur hôte avec au moins 3 Go de RAM et 10 Go d'espace disque libre.
• Dernière version d'Oracle VirtualBox
• Connexion Internet
• Une machine virtuelle : machine virtuelle Alternate Security Onion.

Partie 1 : Préparation de l'environnement virtuel


a. Téléchargez la machine virtuelle Alternate Security Onion.
b. Lancez Oracle VirtualBox. Importez la machine virtuelle Alternate Security Onion.
c. Lancez et connectez-vous à la machine virtuelle Alternate Security Onion. Connectez-vous avec
l'utilisateur analyst et le mot de passe cyberops.
d. Dans la machine virtuelle Alternate Security Onion, cliquez avec le bouton droit sur Desktop > Open
Terminal Here. Saisissez la commande sudo service nsm status pour vérifier que tous les serveurs et
les capteurs sont prêts. Ce processus peut prendre quelques instants. Si certains services signalent un
FAIL, répétez la commande jusqu'à ce que tous les statuts indiquent OK avant de passer à la partie
suivante.
analyst@SecOnion:~/Desktop$ sudo service nsm status
Status: securityonion
* sguil server [ OK ]

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 1 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

Status: HIDS
* ossec_agent (sguil) [ OK ]
Status: Bro
Name Type Host Status Pid Started
manager manager localhost running 5577 26 Jun [Link]
proxy proxy localhost running 5772 26 Jun [Link]
seconion-eth0-1 worker localhost running 6245 26 Jun [Link]
seconion-eth1-1 worker localhost running 6247 26 Jun [Link]
seconion-eth2-1 worker localhost running 6246 26 Jun [Link]
Status : seconion-eth0
* netsniff-ng (full packet data) [ OK ]
* pcap_agent (sguil) [ OK ]
* snort_agent-1 (sguil) [ OK ]
* snort-1 (alert data) [ OK ]
* barnyard2-1 (spooler, unified2 format) [ OK ]
<output omitted>

Partie 2 : Enquêter sur une attaque par injection de code SQL


En consultant le journal Sguil, vous avez remarqué la présence d'une potentielle attaque par injection de
code SQL. Vous allez analyser les événements pour déterminer l'étendue de cette exploitation potentielle.

Étape 1 : Consultez les journaux Sguil.


a. Accédez à la machine virtuelle Alternate Security Onion. Double-cliquez sur l'icône Sguil sur le bureau. À
l'invite, saisissez le nom d'utilisateur analyst et le mot de passe cyberops.
b. Cliquez sur Select All pour surveiller tous les réseaux. Cliquez sur Start SQUIL pour continuer.
c. Dans la fenêtre située en bas à droite de la console Sguil, cliquez sur Show Packet Data et sur Show
Rule pour afficher les informations sur une alerte spécifique.

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 2 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

d. Recherchez les alertes associées à ET WEB_SERVER Possible SQL Injection Attempt UNION
SELECT. Sélectionnez les alertes qui commencent par le chiffre 5. Ces alertes sont associées à
seconion-eth1-1 et sont probablement les plus récentes. Sélectionnez l'alerte portant l'ID 5.5836.

e. Cliquez avec le bouton droit sur le numéro figurant sous l'en-tête CNT de l'alerte sélectionnée pour
afficher toutes les alertes associées. Sélectionnez View Correlated Events.

f. Cliquez avec le bouton droit sur un ID d'alerte dans les résultats. Sélectionnez Transcript pour afficher
les détails de cette alerte.

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 3 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

g. Dans cette fenêtre, vous pouvez voir que l'instruction GET utilisant l'opérateur UNION a servi à accéder
aux données de carte bancaire. Si ces informations ne s'affichent pas, cliquez avec le bouton droit sur un
autre événement associé.

Quelles informations pouvez-vous recueillir à partir de la fenêtre Transcript ?


____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 4 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

h. Vous pouvez également identifier les données récupérées par le hacker. Cliquez sur Search et saisissez
le nom d'utilisateur dans le champ Find:. Utilisez le bouton Find pour localiser les informations qui ont
été capturées. Les mêmes informations de carte bancaire peuvent s'afficher différemment de la figure ci-
dessous.

Comparez les informations de carte bancaire disponibles dans la fenêtre de transcription avec le contenu
extrait via l'attaque par injection de code SQL. Qu'en concluez-vous ?
____________________________________________________________________________________
i. Lorsque vous avez terminé, fermez les fenêtres.

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 5 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

j. Revenez à la fenêtre Sguil, cliquez avec le bouton droit sur le même ID d'alerte qui contient les
informations de carte bancaire exfiltrées et sélectionnez Wireshark.

k. Cliquez avec le bouton droit sur un paquet TCP et sélectionnez Follow TCP Stream.

l. La requête GET et les données exfiltrées s'affichent dans la fenêtre du flux TCP. Le contenu de votre
page peut être différent de l'image ci-dessous, mais il doit inclure les mêmes informations de carte
bancaire que votre transcription ci-dessus.

m. À cet instant, vous avez la possibilité d'enregistrer les données Wireshark en cliquant sur Save As dans
la fenêtre du flux TCP. Vous pouvez également enregistrer le fichier pcap Wireshark. Vous pouvez

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 6 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

également documenter les ports et les adresses IP source et de destination, la date et l'heure de
l'incident et le protocole utilisé à des fins d'analyse ultérieure par un analyste de niveau 2.
n. Fermez ou réduisez Wireshark et Sguil.

Étape 2 : Consultez les journaux ELSA.


Les journaux ELSA peuvent fournir des informations similaires.
a. Depuis la machine virtuelle Security Onion, démarrez ELSA en double-cliquant sur l'icône
correspondante sur le bureau. Si un message indiquant que votre connexion n'est pas privée s'affiche,
cliquez sur ADVANCED pour continuer.

b. Cliquez sur Proceed to localhost (unsafe) pour accéder à l'hôte local.


c. Connectez-vous avec le nom d'utilisateur analyst et le mot de passe cyberops. Vous allez maintenant
exécuter une requête pour rechercher l'injection de code SQL HTTP associée à l'alerte Sguil.
d. Dans le volet de gauche, sélectionnez HTTP > Top Potential SQL Injection.
e. Cliquez dans le champ From et sélectionnez 11/11/17 comme date. Cliquez sur Submit Query.
Sélectionnez [Link].

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 7 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

f. Les informations détaillées de l'alerte s'affichent. Ces informations font référence à une injection de code
SQL réussie. Vous remarquerez qu'une requête union a été utilisée lors de l'attaque. Cliquez sur Info en
regard de la première entrée.

g. Cliquez sur Plugin > getPcap. À l'invite, saisissez le nom d'utilisateur analyst et le mot de passe
cyberops. Cliquez sur Submit si nécessaire. CapMe est une interface web qui vous permet d'obtenir une
transcription de pcap et de télécharger ce fichier.

h. La transcription de pcap est restituée à l'aide de tcpflow, et cette page fournit également le lien pour
accéder au fichier pcap. Vous pouvez également effectuer une recherche sur le nom d'utilisateur.
Saisissez Ctrl + F pour ouvrir la boîte de dialogue Find…. Saisissez le nom d'utilisateur dans le champ.
Vous devriez être en mesure de localiser les informations de carte bancaire révélées au cours de
l'attaque par injection de code SQL.

Partie 3 : Analyser une exfiltration de données


En consultant les journaux ELSA, vous avez remarqué la présence de requêtes DNS inhabituelles. Vous
devez désormais découvrir si des données ont été exfiltrées au cours de l'attaque.
a. Si nécessaire, démarrez ELSA à partir de la machine virtuelle Alternate Security Onion. Si un message
indiquant que votre connexion n'est pas privée s'affiche, cliquez sur ADVANCED pour continuer. Cliquez

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 8 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

sur Proceed to localhost (unsafe) pour accéder à l'hôte local. À l'invite, saisissez le nom d'utilisateur
analyst et le mot de passe cyberops.
b. Dans la barre latérale gauche répertoriant les requêtes ELSA, cliquez sur DNS > Bottom à gauche des
requêtes.
c. Cliquez dans le champ From et sélectionnez 11/11/17 comme date. Cliquez sur Submit Query. Les
requêtes DNS apparaissent alors par ordre de fréquence, les moins fréquentes en premier.
d. Faites défiler les résultats vers le bas pour afficher des requêtes pour [Link] contenant une
chaîne hexadécimale dans la première partie du nom de sous-domaine. En règle générale, les noms de
domaine ne contiennent pas de chaîne hexadécimale de 63 octets. Cela peut être le signe d'une activité
malveillante, car il est peu probable que les utilisateurs se souviennent d'un long nom de sous-domaine
composé à la fois de lettres et de chiffres.

e. Cliquez sur l'un des liens, copiez la chaîne de 63 octets qui précède le nom de domaine
[Link].

f. Ouvrez une fenêtre du terminal et utilisez les commandes echo et xxd pour rétablir la chaîne
hexadécimale. L'option -n permet d'ignorer le retour à la ligne du début.
analyst@SecOnion:~/Desktop$ echo -n
"434f4e464944454e5449414c20444f43554d454e540a444f204e4f542053" | xxd -r -p

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 9 sur 10 [Link]
Travaux pratiques – Interpréter les données HTTP et DNS pour isoler un hacker

DOCUMENT CONFIDENTIEL
DO NOT Sanalyst@SecOnion:~/Desktop$
Si vous continuez à rétablir les chaînes hexadécimales, que se passe-t-il ?
____________________________________________________________________________________

 Cisco et/ou ses filiales. Tous droits réservés. Informations confidentielles de Cisco Page 10 sur 10 [Link]

Vous aimerez peut-être aussi