hacktricks/forensics/basic-forensic-methodology/pcap-inspection/README.md

266 lines
16 KiB
Markdown
Raw Normal View History

2023-06-03 13:10:46 +00:00
# Inspection de Pcap
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
2022-10-25 15:56:49 +00:00
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
2023-06-03 13:10:46 +00:00
[**RootedCON**](https://www.rootedcon.com/) est l'événement de cybersécurité le plus pertinent en **Espagne** et l'un des plus importants en **Europe**. Avec **pour mission de promouvoir les connaissances techniques**, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans toutes les disciplines.
2022-10-25 15:56:49 +00:00
{% embed url="https://www.rootedcon.com/" %}
2021-05-28 17:51:59 +00:00
{% hint style="info" %}
2023-06-03 13:10:46 +00:00
Une note sur **PCAP** vs **PCAPNG** : il existe deux versions du format de fichier PCAP ; **PCAPNG est plus récent et n'est pas pris en charge par tous les outils**. Vous devrez peut-être convertir un fichier de PCAPNG en PCAP à l'aide de Wireshark ou d'un autre outil compatible, afin de travailler avec lui dans d'autres outils.
2021-05-28 17:51:59 +00:00
{% endhint %}
2023-06-03 13:10:46 +00:00
## Outils en ligne pour les pcaps
2023-06-03 13:10:46 +00:00
* Si l'en-tête de votre pcap est **cassé**, vous devriez essayer de le **réparer** en utilisant : [http://f00l.de/hacking/**pcapfix.php**](http://f00l.de/hacking/pcapfix.php)
* Extraire des **informations** et rechercher des **malwares** à l'intérieur d'un pcap sur [**PacketTotal**](https://packettotal.com)
* Rechercher une **activité malveillante** en utilisant [**www.virustotal.com**](https://www.virustotal.com) et [**www.hybrid-analysis.com**](https://www.hybrid-analysis.com)
2023-06-03 13:10:46 +00:00
## Extraire des informations
2023-06-03 13:10:46 +00:00
Les outils suivants sont utiles pour extraire des statistiques, des fichiers, etc.
2020-12-06 00:31:08 +00:00
2022-05-01 13:25:53 +00:00
### Wireshark
2021-05-28 17:40:28 +00:00
{% hint style="info" %}
2023-06-03 13:10:46 +00:00
**Si vous allez analyser un PCAP, vous devez essentiellement savoir comment utiliser Wireshark**
2021-05-28 17:40:28 +00:00
{% endhint %}
2023-06-03 13:10:46 +00:00
Vous pouvez trouver quelques astuces Wireshark dans :
{% content-ref url="wireshark-tricks.md" %}
[wireshark-tricks.md](wireshark-tricks.md)
{% endcontent-ref %}
2023-06-03 13:10:46 +00:00
### Cadre Xplico
2023-06-03 13:10:46 +00:00
[**Xplico** ](https://github.com/xplico/xplico)_(uniquement linux)_ peut **analyser** un **pcap** et extraire des informations à partir de celui-ci. Par exemple, à partir d'un fichier pcap, Xplico extrait chaque e-mail (protocoles POP, IMAP et SMTP), tous les contenus HTTP, chaque appel VoIP (SIP), FTP, TFTP, etc.
2023-06-03 13:10:46 +00:00
**Installer**
2021-01-26 09:28:32 +00:00
```bash
sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
sudo apt-get update
sudo apt-get install xplico
```
2023-06-03 13:10:46 +00:00
**Exécuter**
```
/etc/init.d/apache2 restart
/etc/init.d/xplico start
```
2023-06-03 13:10:46 +00:00
Accédez à _**127.0.0.1:9876**_ avec les identifiants _**xplico:xplico**_
2023-06-03 13:10:46 +00:00
Ensuite, créez un **nouveau dossier**, créez une **nouvelle session** dans le dossier et **téléchargez le fichier pcap**.
2022-05-01 13:25:53 +00:00
### NetworkMiner
2023-06-03 13:10:46 +00:00
Comme Xplico, c'est un outil pour **analyser et extraire des objets des pcaps**. Il a une édition gratuite que vous pouvez **télécharger** [**ici**](https://www.netresec.com/?page=NetworkMiner). Il fonctionne avec **Windows**.\
Cet outil est également utile pour obtenir **d'autres informations analysées** à partir des paquets afin de pouvoir savoir ce qui se passait de manière **plus rapide**.
2022-05-01 13:25:53 +00:00
### NetWitness Investigator
2023-06-03 13:10:46 +00:00
Vous pouvez télécharger [**NetWitness Investigator ici**](https://www.rsa.com/en-us/contact-us/netwitness-investigator-freeware) **(Il fonctionne sous Windows)**.\
C'est un autre outil utile qui **analyse les paquets** et trie les informations de manière utile pour **savoir ce qui se passe à l'intérieur**.
![](<../../../.gitbook/assets/image (567) (1).png>)
2022-05-01 13:25:53 +00:00
### [BruteShark](https://github.com/odedshimon/BruteShark)
2021-01-26 09:28:32 +00:00
2023-06-03 13:10:46 +00:00
* Extraction et encodage des noms d'utilisateur et des mots de passe (HTTP, FTP, Telnet, IMAP, SMTP...)
* Extraire les hachages d'authentification et les craquer en utilisant Hashcat (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)
* Construire un diagramme de réseau visuel (nœuds et utilisateurs du réseau)
* Extraire les requêtes DNS
* Reconstituer toutes les sessions TCP et UDP
* Sculpture de fichiers
2021-01-26 09:28:32 +00:00
2022-05-01 13:25:53 +00:00
### Capinfos
```
2021-05-28 17:40:28 +00:00
capinfos capture.pcap
```
2022-05-01 13:25:53 +00:00
### Ngrep
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
Si vous cherchez quelque chose à l'intérieur du pcap, vous pouvez utiliser **ngrep**. Voici un exemple utilisant les filtres principaux :
2021-08-19 16:19:41 +00:00
```bash
2021-05-28 17:40:28 +00:00
ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"
```
2022-05-01 13:25:53 +00:00
### Carving
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
L'utilisation de techniques courantes de carving peut être utile pour extraire des fichiers et des informations du pcap :
2021-05-28 17:40:28 +00:00
{% content-ref url="../partitions-file-systems-carving/file-data-carving-recovery-tools.md" %}
[file-data-carving-recovery-tools.md](../partitions-file-systems-carving/file-data-carving-recovery-tools.md)
{% endcontent-ref %}
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
### Capture de mots de passe
2021-06-27 13:00:19 +00:00
2023-06-03 13:10:46 +00:00
Vous pouvez utiliser des outils tels que [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) pour extraire des mots de passe à partir d'un pcap ou d'une interface en direct.
2021-06-27 13:00:19 +00:00
2022-10-25 15:56:49 +00:00
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
2023-06-03 13:10:46 +00:00
[**RootedCON**](https://www.rootedcon.com/) est l'événement le plus pertinent en matière de cybersécurité en **Espagne** et l'un des plus importants en **Europe**. Avec **pour mission de promouvoir les connaissances techniques**, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans toutes les disciplines.
2022-10-25 15:56:49 +00:00
{% embed url="https://www.rootedcon.com/" %}
2023-06-03 13:10:46 +00:00
## Vérification des exploits/malwares
2021-05-28 17:40:28 +00:00
2022-05-01 13:25:53 +00:00
### Suricata
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
**Installation et configuration**
```
2021-05-28 17:40:28 +00:00
apt-get install suricata
apt-get install oinkmaster
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules
```
2023-06-03 13:10:46 +00:00
**Vérifier le fichier pcap**
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
---
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
Le fichier pcap est un format de fichier utilisé pour enregistrer les données de trafic réseau. Il est souvent utilisé pour l'analyse de réseau et la résolution de problèmes. Pour vérifier un fichier pcap, vous pouvez utiliser des outils tels que Wireshark ou tcpdump.
Voici les étapes à suivre pour vérifier un fichier pcap avec Wireshark :
1. Ouvrez Wireshark et cliquez sur "File" dans la barre de menu supérieure.
2. Sélectionnez "Open" et naviguez jusqu'au fichier pcap que vous souhaitez vérifier.
3. Une fois le fichier ouvert, vous pouvez voir les paquets de données enregistrés dans le fichier pcap.
4. Utilisez les filtres de Wireshark pour affiner votre analyse et trouver des informations spécifiques.
Il est important de noter que l'analyse de fichiers pcap peut révéler des informations sensibles telles que des mots de passe en clair ou des données personnelles. Assurez-vous de prendre les précautions nécessaires pour protéger ces informations sensibles.
```
2021-05-28 17:40:28 +00:00
suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
```
2022-05-01 13:25:53 +00:00
### YaraPcap
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
[**YaraPCAP**](https://github.com/kevthehermit/YaraPcap) est un outil qui
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
* Lit un fichier PCAP et extrait les flux Http.
* Décompresse gzip tous les flux compressés
* Analyse chaque fichier avec yara
* Écrit un rapport.txt
* Enregistre éventuellement les fichiers correspondants dans un répertoire
2021-05-28 17:40:28 +00:00
2023-06-03 13:10:46 +00:00
### Analyse de Malware
2021-05-28 17:51:59 +00:00
2023-06-03 13:10:46 +00:00
Vérifiez si vous pouvez trouver une empreinte digitale d'un malware connu:
2021-05-28 17:51:59 +00:00
{% content-ref url="../malware-analysis.md" %}
[malware-analysis.md](../malware-analysis.md)
{% endcontent-ref %}
2021-05-28 17:51:59 +00:00
2022-05-01 13:25:53 +00:00
## Zeek
2023-06-03 13:10:46 +00:00
> Zeek est un analyseur de trafic réseau passif et open-source. De nombreux opérateurs utilisent Zeek comme moniteur de sécurité réseau (NSM) pour soutenir les enquêtes sur des activités suspectes ou malveillantes. Zeek prend également en charge un large éventail de tâches d'analyse de trafic au-delà du domaine de la sécurité, notamment la mesure des performances et le dépannage.
2023-06-03 13:10:46 +00:00
En gros, les journaux créés par `zeek` ne sont pas des **pcaps**. Par conséquent, vous devrez utiliser **d'autres outils** pour analyser les journaux où se trouvent les **informations** sur les pcaps.
```bash
#Get info about longest connections (add "grep udp" to see only udp traffic)
#The longest connection might be of malware (constant reverse shell?)
cat conn.log | zeek-cut id.orig_h id.orig_p id.resp_h id.resp_p proto service duration | sort -nrk 7 | head -n 10
10.55.100.100 49778 65.52.108.225 443 tcp - 86222.365445
10.55.100.107 56099 111.221.29.113 443 tcp - 86220.126151
10.55.100.110 60168 40.77.229.82 443 tcp - 86160.119664
#Improve the metrics by summing up the total duration time for connections that have the same destination IP and Port.
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += $5 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
10.55.100.100 65.52.108.225 443 tcp 86222.4
10.55.100.107 111.221.29.113 443 tcp 86220.1
10.55.100.110 40.77.229.82 443 tcp 86160.1
2022-09-10 08:19:19 +00:00
#Get the number of connections summed up per each line
cat conn.log | zeek-cut id.orig_h id.resp_h duration | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2] += $3; count[$1 FS $2] += 1 } END{ for (key in arr) printf "%s%s%s%s%s\n", key, FS, count[key], FS, arr[key] }' | sort -nrk 4 | head -n 10
10.55.100.100 65.52.108.225 1 86222.4
10.55.100.107 111.221.29.113 1 86220.1
10.55.100.110 40.77.229.82 134 86160.1
#Check if any IP is connecting to 1.1.1.1
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto service | grep '1.1.1.1' | sort | uniq -c
#Get number of connections per source IP, dest IP and dest Port
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p proto | awk 'BEGIN{ FS="\t" } { arr[$1 FS $2 FS $3 FS $4] += 1 } END{ for (key in arr) printf "%s%s%s\n", key, FS, arr[key] }' | sort -nrk 5 | head -n 10
2022-05-01 12:41:36 +00:00
# RITA
#Something similar can be done with the tool rita
rita show-long-connections -H --limit 10 zeek_logs
+---------------+----------------+--------------------------+----------------+
| SOURCE IP | DESTINATION IP | DSTPORT:PROTOCOL:SERVICE | DURATION |
+---------------+----------------+--------------------------+----------------+
| 10.55.100.100 | 65.52.108.225 | 443:tcp:- | 23h57m2.3655s |
| 10.55.100.107 | 111.221.29.113 | 443:tcp:- | 23h57m0.1262s |
| 10.55.100.110 | 40.77.229.82 | 443:tcp:- | 23h56m0.1197s |
#Get connections info from rita
rita show-beacons zeek_logs | head -n 10
Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top Intvl,Top Size,Top Intvl Count,Top Size Count,Intvl Skew,Size Skew,Intvl Dispersion,Size Dispersion
1,192.168.88.2,165.227.88.15,108858,197,860,182,1,89,53341,108319,0,0,0,0
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0
```
2023-06-03 13:10:46 +00:00
### Informations DNS
```bash
#Get info about each DNS request performed
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers
2022-09-10 08:19:19 +00:00
#Get the number of times each domain was requested and get the top 10
cat dns.log | zeek-cut query | sort | uniq | rev | cut -d '.' -f 1-2 | rev | sort | uniq -c | sort -nr | head -n 10
#Get all the IPs
cat dns.log | zeek-cut id.orig_h query | grep 'example\.com' | cut -f 1 | sort | uniq -c
2022-09-10 08:19:19 +00:00
#Sort the most common DNS record request (should be A)
cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr
#See top DNS domain requested with rita
rita show-exploded-dns -H --limit 10 zeek_logs
```
2023-06-03 13:10:46 +00:00
## Autres astuces d'analyse de pcap
{% content-ref url="dnscat-exfiltration.md" %}
[dnscat-exfiltration.md](dnscat-exfiltration.md)
{% endcontent-ref %}
{% content-ref url="wifi-pcap-analysis.md" %}
[wifi-pcap-analysis.md](wifi-pcap-analysis.md)
{% endcontent-ref %}
{% content-ref url="usb-keystrokes.md" %}
[usb-keystrokes.md](usb-keystrokes.md)
{% endcontent-ref %}
2022-04-28 16:01:33 +00:00
2022-10-25 15:56:49 +00:00
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&#x26;token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
2023-06-03 13:10:46 +00:00
[**RootedCON**](https://www.rootedcon.com/) est l'événement de cybersécurité le plus pertinent en **Espagne** et l'un des plus importants en **Europe**. Avec **pour mission de promouvoir les connaissances techniques**, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans toutes les disciplines.
2022-10-25 15:56:49 +00:00
{% embed url="https://www.rootedcon.com/" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-06-03 13:10:46 +00:00
* Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>