
Extraction de paquets via la ligne de commande (Repost) – Bien choisir son serveur d impression
J’avais déjà posté ceci, mais je reviens à la Blue Team et j’ai pensé que cela pourrait être utile pour les nouveaux analystes. Dépoussiéré et mis à jour si nécessaire.
Extraction de paquets via la ligne de commande
Si vous envisagez de devenir un analyste d'intrusion, deux autres sources de données vont de pair avec vos IDS / IPS: données par paquets et journaux. Un NIDS, ou système de détection d'intrusion sur le réseau, inspecte les paquets lorsqu'ils traversent le réseau, tandis qu'un système de détection d'intrusion basé sur l'hôte (HIDS) réside sur un serveur et inspecte les journaux, les fichiers, etc. Un NIDS capturera les paquets qui ont déclenché sa règle ou sa signature et peut être configuré pour capturer des paquets supplémentaires de la session, mais ne capturera pas tous les paquets circulant sur le réseau, et vous ne devriez pas le vouloir non plus. Il est préférable de laisser la tâche de capturer tous les paquets à des fins de reconstruction et d’enquête à un autre périphérique dédié à cette fin. De nombreux types de programmes peuvent vous aider à reconstruire des paquets d’intérêt. L'un des meilleurs est Moloch, un projet complet qui utilise Elasticsearch comme indexeur principal, avec une interface Web mature dotée d'un riche ensemble de requêtes intégrées. Quoi que vous utilisiez, les mêmes principes s'appliquent.
En supposant que vous utilisiez un outil tel que tcpdump, snoop ou daemonlogger, vous avez un répertoire quelque part sur votre vérificateur de paquet avec beaucoup de fichiers de capture compatibles pcap. Votre objectif est d'extraire les paquets dont vous avez besoin de cette archive (probablement) énorme et de les inspecter ou de les exécuter à l'aide de l'outil de votre choix.
La première étape consiste à identifier le ou les fichiers de capture contenant les paquets à examiner. Une fois que vous avez fait cela, vous pouvez les extraire dans une capture de paquet séparée que vous pouvez exécuter avec vos outils compatibles avec pcap ou télécharger dans une autre boîte au besoin.
Commencez à créer votre filtre en exécutant la commande ls avec le paramètre -l pour afficher la liste détaillée.
[jeffsoh@packet1 capture_dir]$ ls -l
-rw-r – r–. 1 racine racine 1.1G 7 juin 01:25 mycaptures.pcap.1370572245
-rw-r – r–. 1 racine racine 1.1G 7 juin 06:03 mycaptures.pcap.1370582729
-rw-r – r–. 1 racine racine 1.1G 7 juin 08:28 mycaptures.pcap.1370599389
-rw-r – r–. 1 racine racine 1.1G 7 juin 09:20 mycaptures.pcap.1370608087
…
Maintenant, grep pour la date. Supposons que nos paquets d’intérêt se soient produits le 8 juin.
[jeffsoh@packet1 capture_dir] $ ls -l | grep ‘8 juin '
-rw-r – r–. 1 racine racine 1073743705 8 juin 03 03:43 mycaptures.pcap.1370660768
-rw-r – r–. 1 racine racine 1073744701 8 juin 07:08 mycaptures.pcap.1370677399
-rw-r – r–. 1 racine racine 1073742386 8 juin 08:02 mycaptures.pcap.1370689727
-rw-r – r–. 1 racine racine 1073743170 8 juin à 08h30 mycaptures.pcap.1370692931
-rw-r – r–. 1 racine racine 1073741832 8 juin 09:40 mycaptures.pcap.1370694616
-rw-r – r–. 1 racine racine 1073741889 8 juin à 10h35 mycaptures.pcap.1370698825
-rw-r – r–. 1 racine racine 1073744142 8 juin à 11h21 mycaptures.pcap.1370702122
-rw-r – r–. 1 racine racine 1073742208 8 juin à 13:55 mycaptures.pcap.1370704877
-rw-r – r–. 1 racine racine 1073741860 8 juin 22:23 mycaptures.pcap.1370714127
[jeffsoh@packet1 capture_dir]$
Et l'alerte s'est produite à 08h05. Nous voyons une capture avec un horodatage de 8h30; c’est probablement ce dont nous avons besoin. Nous lançons stat sur le fichier pour vérifier et vérifier. Nous pourrions également utiliser l'excellent capinfos de l'outil Wireshark.
[jeffsoh@packet1 capture_dir] $ stat mycaptures.pcap.1370692931
Fichier: `mycaptures.pcap.1370692931 '
Taille: 1073743170 Blocs: 2097168 IO Block: 4096 fichier normal
Appareil: 804h / 2052d Inode: 120588319 Liens: 1
Accès: (0644 / -rw-r – r–) UID: (0 / root) Gid: (0 / root)
Accès: 2013-06-08 08: 02: 11.527770131 -0400
Modifier: 2013-06-08 08: 30: 16.324924184 -0400
Changement: 2013-06-08 08: 30: 16.324924184 -0400
Nous avons des paquets entre 8h02 et 8h30. Nous pourrions simplement utiliser cette capture de paquets, mais si nous examinons une alerte d'un IDS, nous disposons de l'horodatage du moment où le système a vu le paquet. Selon la durée de la session, cette capture peut ne pas nous donner la session complète. Nous pouvons donc extraire les deux paquets de cette heure. S'il s'agissait d'une heure de la journée ou d'un réseau plus achalandés, nous pourrions avoir des dizaines de paquets pour cette heure.
[jeffsoh@packet1 capture_dir] $ ls -l | grep «Jun 08 08:»
-rw-r – r–. 1 racine racine 1073742386 8 juin 08:02 mycaptures.pcap.1370689727
-rw-r – r–. 1 racine racine 1073743170 8 juin à 08h30 captures.pcap.1370692931
Maintenant que nous avons construit notre chaîne grep pour la période dont nous avons besoin, il ne reste plus qu’à l’utiliser dans une boucle for pour définir la variable que tcpdump doit parcourir en boucle.
Flèche haut pour afficher notre dernière commande et ajouter la boucle for autour de celle-ci.
pour i dans $ (ls -lah | grep 'le 8 juin | grep '10:' | awk 'print $ 9'); ne tcpdump -nn -r $ i 'hôte 10.80.91.43' -w / root / workspace /$i.extract.pcap;done
Nous avons maintenant un pcap pour enquête avec tous les paquets capturés pour cette adresse IP.
Articles récents par auteur
*** Ceci est un blog syndiqué réseau Security Bloggers de JeffSoh sur NetSec rédigé par JeffSoh. Lisez le message original à l'adresse suivante: http://jeffsoh.blogspot.com/2019/06/mining-packets-via-command-line-repost.html
Commentaires
Laisser un commentaire