Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DorXNG — Nouvelle génération DorX. Construit par des Dorks, pour des Dorks. 🤓 | Kitploit
Outils/GitHubGitHub/researchanddestroy/dorxng
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceÉnumération DNS et Sous-domaineCollecte d'InformationsSécurité WebProtection de la Vie Privée
GitHubresearchanddestroy/dorxng

DorXNG

Nouvelle génération DorX. Construit par des Dorks, pour des Dorks. 🤓

Voir le dépôt
12219il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DorXNG 🔎🌎

DorXNG est une solution moderne pour récolter des données OSINT en utilisant des opérateurs de recherche avancés via plusieurs fournisseurs de recherche en amont. En arrière-plan, elle exploite une image conteneurisée spécialement conçue de SearXNG, un méta-moteur de recherche auto-hébergé, hackable et respectueux de la vie privée.

Notre implémentation de SearXNG route toutes les requêtes de recherche sur le réseau Tor tout en renouvelant les circuits toutes les dix secondes via la directive de configuration MaxCircuitDirtiness de Tor. Nous avons également désactivé toutes les fonctionnalités de timeout côté client de SearXNG. Ces paramètres permettent d'éviter les restrictions des moteurs de recherche souvent rencontrées lors de l'émission de nombreuses requêtes répétées.

L'application cliente DorXNG est écrite en Python3 et interagit avec l'API SearXNG pour émettre des requêtes de recherche simultanément. Elle peut même envoyer des requêtes à travers plusieurs instances SearXNG. Les résultats de recherche obtenus sont stockés dans une base de données SQLite3.

DorXNG

Nous avons activé tous les moteurs de recherche en amont supportés qui permettent les requêtes avec opérateurs avancés :

  • Google
  • DuckDuckGo
  • Qwant
  • Bing
  • Brave
  • Startpage
  • Yahoo

Pour plus d'informations sur les moteurs de recherche supportés par SearXNG, voir : Moteurs configurés

Veuillez NE PAS utiliser l'application cliente DorXNG contre des instances SearXNG publiques.

Offrez-nous une bière ! 🍺

Remerciements 🙌

Un grand merci aux développeurs de Tor et SearXNG pour avoir rendu cela possible. Allez faire un don aux deux projets !

Merci également au développeur de pagodo pour l'inspiration et ce superbe script ghdb_scraper.py !

Enfin, et surtout, merci à j0hnny. Le Dork original. 🧠🏴‍☠

Installation 🛠️

LINUX UNIQUEMENT ** Désolé les Normies ** 🤓

Installer DorXNG

root@kitploit:~
git clone https://github.com/researchanddestroy/dorxng
cd dorxng
pip install -r requirements.txt
./DorXNG.py -h

Télécharger et exécuter notre conteneur Docker SearXNG personnalisé (au moins un). Plusieurs instances SearXNG peuvent être utilisées. Utilisez l'option --serverlist avec DorXNG. Voir : server.lst

Lors du démarrage de plusieurs conteneurs, attendez au moins quelques secondes entre chacun.

root@kitploit:~
docker run researchanddestroy/searxng:latest

Si vous souhaitez construire le conteneur vous-même :

root@kitploit:~
git clone https://github.com/researchanddestroy/searxng # L'URL doit être entièrement en minuscules pour que la construction réussisse
cd searxng
DOCKER_BUILDKIT=1 make docker.build
docker images
docker run <image-id>

Par défaut, DorXNG a une variable server codée en dur dans parse_args.py qui est définie sur l'adresse IP que Docker attribuera au premier conteneur que vous exécuterez sur votre machine : 172.17.0.2. Cela peut être modifié, ou écrasé avec --server ou --serverlist.

Commencer à émettre des requêtes de recherche

root@kitploit:~
./DorXNG.py -q 'search query'

Interroger la base de données DorXNG

root@kitploit:~
./DorXNG.py -D 'regex search string'

Instructions 📖

root@kitploit:~
-h, --help            affiche ce message d'aide et quitte
-s SERVER, --server SERVER
                      Instance du serveur DorXNG - Exemple : 'https://172.17.0.2/search'
-S SERVERLIST, --serverlist SERVERLIST
                      Émettre des requêtes de recherche sur une liste de serveurs - Format : séparé par des sauts de ligne
-q QUERY, --query QUERY
                      Émettre une requête de recherche - Exemples : 'search query' | '!tch search query' | 'site:example.com intext:example'
-Q QUERYLIST, --querylist QUERYLIST
                      Parcourir une liste de requêtes de recherche - Format : séparé par des sauts de ligne
-n NUMBER, --number NUMBER
                      Définir le nombre d'itérations de résultats de pages
-c CONCURRENT, --concurrent CONCURRENT
                      Définir le nombre de requêtes de page simultanées
-l LIMITDATABASE, --limitdatabase LIMITDATABASE
                      Définir la taille maximale de la base de données - Démarre une nouvelle base après dépassement - Exemple : --limitdatabase 10 (10k entrées) - Taille max suggérée : 50k
                      lors d'une récursion profonde
-L LOOP, --loop LOOP  Définir le nombre d'itérations de la boucle de la fonction principale - Boucle infinie avec 0
-d DATABASE, --database DATABASE
                      Spécifier le fichier de base de données SQL - Par défaut : 'dorxng.db'
-D DATABASEQUERY, --databasequery DATABASEQUERY
                      Interroger la base de données - Format : expression régulière
-m MERGEDATABASE, --mergedatabase MERGEDATABASE
                      Fusionner un fichier de base de données SQL - Exemple : --mergedatabase database.db
-t TIMEOUT, --timeout TIMEOUT
                      Spécifier l'intervalle de temporisation entre les requêtes - Par défaut : 4 secondes - Désactiver avec 0
-r NONEWRESULTS, --nonewresults NONEWRESULTS
                      Spécifier le nombre d'itérations sans nouveaux résultats - Par défaut : 4 (3 tentatives) - Désactiver avec 0
-v, --verbose         Activer la sortie verbeuse
-vv, --veryverbose    Activer la sortie très verbeuse - Affiche la sortie JSON brute

Conseils 📝

Parfois, vous tomberez sur un nœud de sortie Tor déjà mis sur liste noire par les fournisseurs de recherche en amont, ce qui vous donnera un nombre minimal de résultats de recherche. Pas d'inquiétude... Continuez simplement à envoyer des requêtes. 😉

Conservez votre fichier de base de données DorXNG SQL et relancez votre commande, ou utilisez l'option --loop pour itérer la fonction principale de manière répétée. 🔁

Le plus souvent, plus vous faites de passes sur une requête de recherche, plus vous trouverez de résultats. 🍻

Gardez également à l'esprit que nous avons sacrifié la vitesse pour un plus grand volume de données. Après tout, c'est un projet OSINT. 🔎🌎

Chaque requête de recherche que vous effectuez est envoyée à 7 fournisseurs de recherche en amont... Surtout avec les requêtes --concurrent, cela génère beaucoup de requêtes en amont... Alors soyez patient.

Sachez que DorXNG continuera d'ajouter de nouveaux résultats de recherche à votre fichier de base de données. Utilisez l'option --database pour spécifier un nom de fichier de base de données ; le nom par défaut est dorxng.db. Cela n'a probablement pas d'importance pour la plupart, mais si vous voulez garder vos investigations OSINT séparées, c'est là pour vous.

Quatre requêtes simultanées semblent être le point idéal. Vous pouvez en envoyer plus, mais plus vous en envoyez à la fois, plus il faut de temps pour recevoir les résultats. Cela augmente également la probabilité de recevoir des réponses HTTP/429 Too Many Requests des fournisseurs de recherche en amont sur ce circuit Tor spécifique.

Si vous démarrez plusieurs conteneurs Docker SearXNG trop rapidement, les connexions Tor peuvent échouer. Lors de l'initialisation d'un conteneur, une réponse valide de la fonction de vérification de la connectivité Tor ressemble à ceci :

root@kitploit:~
Checking Tor Connectivity..
{"IsTor":true,"IP":"<tor-exit-node>"}

Si vous voyez autre chose, ou si vous commencez à voir des codes de réponse HTTP/500 provenant du script de surveillance de SearXNG (STDOUT dans le conteneur), tuez le conteneur Docker et lancez-en un nouveau.

Les codes de réponse HTTP/504 Gateway Time-out dans DorXNG sont parfois attendus. Cela signifie que l'instance SearXNG n'a pas reçu de réponse valide en une minute. Ce circuit Tor est probablement trop lent. Continuez simplement !

Il n'y a vraiment pas de raison de faire tourner une tonne de ces conteneurs... Pas encore... 😉 Le nombre que vous exécutez dépend vraiment de ce que vous faites. Chaque conteneur utilise environ 1,25 Go de RAM.

Exécuter un seul conteneur fonctionne parfaitement, sauf que vous manquerez probablement des résultats de recherche. Utilisez donc --loop et ne désactivez pas --timeout.

Exécuter plusieurs conteneurs est agréable car chacun a son propre circuit Tor qui se renouvelle toutes les 10 secondes.

Lorsque vous utilisez le mode --serverlist, désactivez la fonction --timeout pour qu'il n'y ait pas de délai entre les requêtes (l'intervalle de délai par défaut est de 4 secondes).

Gardez à l'esprit que plus vous exécutez de conteneurs, plus vous aurez besoin de mémoire. Cela vaut également pour la récursion profonde... Nous avons désactivé la limite de récursion maximale de Python... 🔁😉

Plus votre commande effectue de récursions sans revenir à main, plus le processus consommera de mémoire. Vous pourriez revenir et constater que le processus a planté avec un message d'erreur Killed. Si cela se produit, votre machine a manqué de mémoire et a tué le processus. Pas d'inquiétude cependant... Votre fichier de base de données est toujours bon. 👍👍

Si votre fichier de base de données devient exceptionnellement volumineux, cela ralentit inévitablement le programme et consomme plus de mémoire à chaque itération...

Ces piles de frames Python sont épaisses... 🍑😅

Nous avons observé une baisse notable des performances avec des fichiers de base de données dépassant environ 50 000 entrées.

L'option --limitdatabase a été implémentée pour atténuer certains de ces problèmes de consommation mémoire. Utilisez-la en combinaison avec --loop pour interrompre l'itération récursive profonde dans iterator.py et redémarrer depuis main là où vous vous étiez arrêté.

Une fois que vous avez une série de fichiers de base de données, vous pouvez tous les fusionner (un par un) avec --mergedatabase. Vous pouvez même tous les fusionner dans un nouveau fichier de base de données si vous spécifiez un nom de fichier non utilisé avec --database.

NE fusionnez PAS de données dans une base de données qui est actuellement utilisée par un processus DorXNG en cours. Cela pourrait provoquer des erreurs et potentiellement corrompre la base de données.

Le fichier query.lst inclus contient chaque dork qui existe actuellement dans la Google Hacking Database (GHDB). Voir : ghdb_scraper.py

Nous l'avons déjà parcouru pour vous... 😉 Notre fichier ghdb.db contient plus d'un million d'entrées et continue de croître ! 🤩 Vous pouvez le télécharger ici ghdb.db si vous en voulez une copie. 😉

Exemple d'interrogation de la base de données ghdb.db :

root@kitploit:~
./DorXNG.py -d ghdb.db -D '^http.*\.sql$'

Une réécriture de DorXNG en Golang est déjà en cours. 😉 (GorXNG ? | DorXNGNG ?) 😆

Nous allons avoir besoin de plus de dorks... 😅 Découvrez DorkGPT 👀

Exemples 💡

Requête de recherche unique

root@kitploit:~
./DorXNG.py -q 'search query'

Requêtes de recherche simultanées

root@kitploit:~
./DorXNG.py -q 'search query' -c4

Mode itération de page

root@kitploit:~
./DorXNG.py -q 'search query' -n4

Requêtes de recherche simultanées itératives

root@kitploit:~
./DorXNG.py -q 'search query' -c4 -n64

Mode itération de liste de serveurs

root@kitploit:~
./DorXNG.py -S server.lst -q 'search query' -c4 -n64 -t0

Mode itération de liste de requêtes

root@kitploit:~
./DorXNG.py -Q query.lst -c4 -n64

Itération des listes de requêtes et de serveurs

root@kitploit:~
./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0

Mode itération de boucle de la fonction principale

root@kitploit:~
./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0 -L4

Mode itération de boucle infinie de la fonction principale avec une limite de taille de fichier de base de données fixée à 10k entrées

root@kitploit:~
./DorXNG.py -S server.lst -Q query.lst -c4 -n64 -t0 -L0 -l10

Fusion d'une base de données (une à la fois) dans un nouveau fichier de base de données

root@kitploit:~
./DorXNG.py -d new-database.db -m dorxng.db

Fusionner tous les fichiers de base de données du répertoire de travail courant dans un nouveau fichier de base de données

root@kitploit:~
for i in `ls *.db`; do ./DorXNG.py -d new-database.db -m $i; done

Interroger une base de données

root@kitploit:~
./DorXNG.py -d new-database.db -D 'regex search string'
Télécharger l’outil