
Extrait rapidement les adresses IP, adresses e-mail, hachages, fichiers, cartes de crédit, numéros de sécurité sociale et bien plus encore du texte
DataSurgeon (ds) est un outil polyvalent conçu pour la réponse aux incidents, la DLP, les tests de pénétration et les défis CTF. Il permet d'extraire divers types d'informations sensibles, notamment les e-mails, numéros de téléphone, hashs, cartes de crédit, URL, adresses IP, adresses MAC, enregistrements DNS SRV et bien plus encore !
Pour apprendre à gérer les plugins, veuillez suivre le guide ici.
Cette mise à jour apporte un système de gestion des plugins à DataSurgeon. Vous pouvez désormais ajouter, supprimer et lister les plugins à l'aide des options --add, --remove et --list.
J'ai également ajouté un nouveau plugin, ds-winreg-plugin, qui permet de trouver les chemins du registre Windows.
Pour ajouter un nouveau plugin, utilisez --add <URL>, où l'URL est un dépôt GitHub contenant un fichier plugins.json. Pour supprimer un plugin, utilisez --remove <URL>. Pour voir tous vos plugins, utilisez l'option --list.
Une fois un plugin ajouté, vous pouvez l'utiliser comme argument dans DataSurgeon. Le nom de l'argument est le "Argument Long Name" dans le fichier plugins.json du plugin.
L'installateur rapide peut également être utilisé pour mettre à jour DataSurgeon.
Installez Rust et Git, puis REDÉMARREZ VOTRE TERMINAL.
read -p "Voulez-vous ajouter 'ds' à votre bin local ? Cela rendra 'ds' exécutable depuis n'importe quel emplacement de votre terminal. (o/n) " response && wget -q -O - https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | bash -s -- "$response"
Entrez la ligne ci-dessous dans une fenêtre PowerShell élevée.
IEX (New-Object Net.WebClient).DownloadString("https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.ps1")
Relancez votre terminal et vous pourrez utiliser ds depuis la ligne de commande.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/Drew-Alleman/DataSurgeon/main/install/install.sh | sh

Ici, j'utilise wget pour faire une requête vers stackoverflow, puis je transmet le corps du texte à ds. L'option -F liste tous les fichiers trouvés. --clean est utilisé pour supprimer tout texte supplémentaire qui aurait pu être renvoyé (comme du HTML en trop). Ensuite, le résultat est envoyé à uniq qui supprime les fichiers non uniques trouvés. Si vous le souhaitez, vous pouvez supprimer le message d'avertissement en haut 'Lecture de l'entrée standard...' en utilisant -S.
$ wget -qO - https://www.stackoverflow.com | ds -F --clean | uniq

Ici, j'extrais toutes les adresses MAC trouvées dans le fichier journal de autodeauth en utilisant l'option -m. L'option --hide masque la chaîne d'identifiant devant les résultats. Dans ce cas, 'mac_address: ' est caché de la sortie. L'option -T est utilisée pour vérifier plusieurs fois la même ligne pour des correspondances. Normalement, lorsqu'une correspondance est trouvée, l'outil passe à la ligne suivante plutôt que de vérifier à nouveau.
$ ./ds -m -T --hide -f /var/log/autodeauth/log
2023-02-26 00:28:19 - Envoi de 500 trames deauth au réseau : BC:2E:48:E5:DE:FF -- PrivateNetwork
2023-02-26 00:35:22 - Envoi de 500 trames deauth au réseau : 90:58:51:1C:C9:E1 -- TestNet
Vous pouvez utiliser l'option --directory pour lire récursivement tous les fichiers du répertoire spécifié. L'option -D affiche le nom du fichier où la correspondance a été trouvée. -l ou --line est utilisé pour afficher le numéro de ligne où le contenu a été trouvé.
$ ds --directory test_dir/ -Dl

Pour exporter vos résultats vers un fichier CSV, utilisez l'option -o suivie du nom du fichier dans lequel vous voulez enregistrer vos données. Les options -D et -X sont prises en charge. Le format est : ds -o <NOMFICHIER>.csv (le .csv est nécessaire).
$ wget -qO - https://www.stackoverflow.com | ds -o output.csv -C

Lorsqu'aucune requête spécifique n'est fournie, ds recherche dans tous les types de données possibles, ce qui est SIGNIFICATIVEMENT plus lent que l'utilisation de requêtes individuelles. La requête la plus lente est --files. Il est également légèrement plus rapide d'utiliser cat pour rediriger les données vers ds.
Ci-dessous, le temps écoulé lors du traitement d'un fichier de test de 5 Go généré par ds-test. Chaque test a été exécuté 3 fois et le temps moyen a été enregistré.
Processeur Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz, 2904 Mhz, 6 cœur(s), 12 processeur(s) logique(s)
RAM 12.0 Go (11.9 Go utilisable)
| Commande | Vitesse |
|---|---|
cat test.txt | ds -t | 00h:02m:04s |
ds -t -f test.txt | 00h:02m:05s |
cat test.txt | ds -t -o output.txt | 00h:02m:06s |
| Commande | Vitesse | Nombre de requêtes |
|---|---|---|
cat test.txt | ds -t -6 | 00h:00m:12s | 1 |
Lorsque vous soumettez un nouveau problème, veuillez répondre à TOUTES les questions sur le modèle de bug. Les problèmes avec des informations insuffisantes seront fermés.
cat test.txt | ds -t -i -m | 00h:00m:22 | 2 |
cat test.txt | ds -tF6c | 00h:00m:32s | 3 |