
BinGoo! Un outil de Dorking Bing et Google basé sur bash Linux.
__ ,--="=--, __
/ ." .-. "./
/ ,/ _ : : _ /\ \ | /o\ :: /o\ |_/
-'| :="~ _ ~"=: | \ () / .-"-. \ | / .-"-. .---{ }--| /,.-'-.,\ |--{ }---. ) (_)_)_) \_/-===-`_/ ((() (
( ____ _ ____ _ )
) | __ )() __ / | ___ ___ | | (
( | _ | | ' | | _ / _ \ / _ | | )
) | |) | | | | | || | () | () || (
( |/||| ||_|_/ ___/() )
) (
'-----v1--------------By-Hood3dRob1n----'
Bienvenue dans le fichier README de BinGoo !
Ceci devrait vous donner un aperçu général de ce qu'est l'outil et comment l'utiliser. C'est le résultat d'un projet que j'ai mené pour trouver une meilleure solution de collecte massive de liens pour la recherche, et je l'ai ajusté pour correspondre à mes besoins en matière de hacking. J'ai aussi décidé de tout faire en bash pour me compliquer la vie, parce que c'est comme ça que je suis :p
BinGoo est ma version d'un outil de dorking tout-en-un écrit en bash pur. Il exploite les pages de recherche principales de Google ET Bing pour récupérer un grand nombre de liens basés sur des termes de recherche fournis. Vous pouvez choisir de rechercher un seul dork à la fois ou de créer des listes avec un dork par ligne et effectuer des analyses massives. Une fois que vous avez terminé, ou peut-être que vous avez des liens obtenus par d'autres moyens, vous pouvez passer aux outils d'analyse pour tester les signes courants de vulnérabilités. Les résultats sont triés proprement dans leurs propres fichiers respectifs en fonction des découvertes. Si vous voulez aller plus loin, vous pouvez les exécuter via les outils SQL ou LFI qui sont des créations maison semi-fonctionnelles que j'ai faites en bash, ou utiliser les outils wrapper SQLMAP et FIMAP que j'ai écrits, qui fonctionnent beaucoup mieux avec une plus grande précision et de meilleurs résultats. J'ai aussi inclus quelques fonctionnalités pratiques pour faciliter la vie, comme le dorking géographique basé sur le type de domaine ou les codes de pays de domaine, ou le vérificateur d'hébergement partagé qui utilise une recherche Bing préconfigurée et une liste de dorks pour trouver d'éventuelles vulnérabilités sur d'autres sites du même serveur. J'ai aussi inclus un simple chercheur de page d'administration qui fonctionne simplement à partir d'une liste fournie et des codes de réponse du serveur pour confirmer l'existence. Ensemble, je pense que tout cela forme un joli petit package !
- LYNX & CURL requis pour les fonctionnalités de base
- Installation LYNX/CURL : apt-get install lynx ; apt-get install curl
- NMAP, FIMAP & SQLMAP requis pour les plugins et les fonctionnalités de test (digger, wrappers fimap et sqlmap). Installez-les avec SVN à l'endroit où vous souhaitez les stocker :
- Installation FIMAP : svn checkout http://fimap.googlecode.com/svn/trunk/ fimap
- cd fimap/ ; chmod +x fimap.py ; ./fimap.py --help
- Installation SQLMAP : svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap
- cd sqlmap/ ; chmod +x sqlmap.py ; ./sqlmap.py --help
- Installation NMAP : svn co https://svn.nmap.org/nmap nmap
- cd nmap/ ; ./configure ; make ; sudo make install ; nmap --help
NOTE : L'instance FIMAP doit être la version SVN car elle contient des fonctionnalités qui ne sont pas incluses dans la version standard (ou celle incluse par défaut dans BackTrack, --bmin, --bmax, -D + options...), alors supprimez votre ancienne copie ou installez-la côte à côte, comme vous voulez...
Vous pouvez saisir tous les chemins d'accès dans le fichier BinGoo, lignes 14-21 dans la section de configuration, pour les ajuster selon vos besoins.
Choisissez simplement le moteur de recherche que vous souhaitez utiliser depuis le menu principal, puis suivez les invites. Vous pouvez exécuter un seul dork basé sur votre saisie utilisateur et personnaliser autant que vous le souhaitez, OU vous pouvez pointer vers un fichier de dorks. J'en ai inclus quelques-uns avec le package par défaut, que vous trouverez dans le répertoire dorks/ à l'intérieur du dossier BinGoo/. Vous pouvez pointer où vous voulez, assurez-vous simplement qu'il y a un dork par ligne pour que cela ne pose pas de problème. Une fois toutes les informations fournies, l'outil fera sa magie et générera des fichiers de liens pour la sortie contenant tous les résultats. Vous obtiendrez un fichier appelé b-links.txt pour les recherches Bing et g-links.txt pour les recherches Google.
NOTE : Le dorker Google ne contourne plus les restrictions de Google, mais si vous scannez puis analysez, ou scannez avec Google, puis scannez avec Bing, puis analysez, vous réduirez les blocages au minimum et ne devriez pas rencontrer de problèmes. Si vous n'obtenez pas de résultats de Google, c'est probablement dû à un blocage temporaire de votre IP, utilisez simplement Bing jusqu'à ce que cela se rafraîchisse et disparaisse (tenez compte du premier conseil pour éviter cette situation).
C'est ma façon de permettre aux utilisateurs de définir le type de domaine pour leurs recherches. J'ai défini une liste préconstruite de dorks que j'utilise pour cette option (dorks/site.lst), que vous pouvez modifier si vous le souhaitez. Elle exécute une analyse de liste par rapport au TYPE DE SITE ou CODE DE PAYS fourni par l'utilisateur et génère les résultats de liens dans un fichier qui inclura le code géographique ou le type de site fourni pour faciliter le suivi.
Options pour le Dorkeur Géographique Bing : AC AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BM BN BO BR BS BT BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CX CY CZ DE DJ DK DM DO DZ EC EE EG ER ES ET EU FI FJ FK FM FO FR GA GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SK SL SM SN SO SR SS ST SV SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UK US UY UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW
BIZ COM INFO NET ORG AERO ASIA CAT COOP EDU GOV INT JOBS MIL MOBI MUSEUM TEL TRAVEL XXX
Ce module exécutera une analyse de liste en utilisant dorks/sharedhosting.lst par rapport à une IP ou un nom de site fourni par l'utilisateur pour voir s'il y a d'autres sites sur le même serveur qui pourraient présenter des vulnérabilités. Vous pouvez réduire ou étendre le fichier de dorks utilisé comme vous le souhaitez.
C'est un autre script que j'ai écrit séparément et que j'ai décidé d'incorporer dans l'ensemble car je le trouve utile tout le temps, donc je me suis dit que d'autres aussi. Il se trouve dans le dossier plugins et est appelé par le script principal via les options du menu. Il utilise quelques outils intégrés et quelques sites en ligne pour recueillir des informations sur un site cible. Il effectuera une vérification du classement Alexa, une vérification d'hébergement partagé SameIP, une vérification d'hébergement partagé Bing, une vérification des sous-domaines, des informations whois, et un scan nmap rapide. Ensemble, cela peut fournir une mine d'informations avec presque sans viser directement (vous pouvez commenter le scan nmap si vous souhaitez atténuer un peu).
Cette option vous emmène en fait vers une nouvelle section de menu où vous pouvez effectuer des activités post-dorking. Voici un aperçu rapide des options disponibles depuis ce menu :
Analyser le fichier de liens Bing : cette option analysera UNIQUEMENT le fichier b-links.txt qui est généré par une recherche Bing depuis le menu principal
Analyser le fichier de liens Google : cette option analysera UNIQUEMENT le fichier g-links.txt qui est généré par une recherche Google depuis le menu principal
Analyser les DEUX fichiers de liens Google et Bing : cette option combine en fait les deux fichiers en un seul, puis exécute la vérification d'analyse sur le nouveau fichier.
Analyser mon fichier de liens : C'est une option qui vous permet de pointer l'outil vers votre propre fichier de liens. Cela peut être n'importe quel fichier tant qu'il contient un lien par ligne
NOTE : les options d'analyse ci-dessus exécutent toutes une vérification d'injection et d'expression régulière sur les pages pour détecter les signes courants de vulnérabilités d'injection et les classifient en conséquence. Vous pouvez vérifier la source pour les regex si vous souhaitez ajouter ou supprimer quelque chose des listes utilisées. Les résultats positifs sont filtrés dans le dossier results/ et classifiés en fonction de ce qui a été trouvé ou comment. L'expression régulière positive est clairement étiquetée comme LFI ou SQL et dans le terminal inclut même la ligne où elle a été trouvée, ce qui est utile pour déterminer ce qui est inutile et ce qui est réel. Le fichier Possibles.results contient des pages où la page injectée a montré une perte de texte de 85% ET une réduction du nombre de lignes de tableau (une indication décente que l'injection a causé un changement, indiquant aussi une vulnérabilité potentielle), pas très précis mais mieux vaut marquer et vérifier manuellement que de tout omettre. Si vous avez une meilleure méthode, partagez-la avec moi pour que je puisse améliorer cette fonction :) Petit problème lorsque des vulnérabilités sont identifiées dos-à-dos, ce qui fait que le troisième site suivant est marqué comme vulnérable alors qu'il ne l'est pas, des tests de validation supplémentaires élimineront ceux-ci, mais c'est un avertissement que ce n'est pas parfait à 100%.
C'est mon chercheur d'admin fait maison. Il utilise une petite liste de mots (plugins/admin.lst) et juge la réponse du serveur et rapporte en conséquence. Vous pouvez ajouter autant de mots que vous le souhaitez à la liste. Le code source a été conçu pour optimiser et émuler le multi-threading pour gérer des listes plus grandes si nécessaire. La liste par défaut fonctionne plutôt bien.
Cela vous emmène vers un autre sous-menu où vous pouvez choisir d'exécuter mon script de validation fait maison ou d'exécuter mon wrapper FIMAP pour confirmer les vulnérabilités LFI. Mon testeur ne fonctionne pas à 100% et est un travail en cours, mais inclus au cas où quelqu'un voudrait m'aider à le faire fonctionner un peu mieux, juste pour montrer que c'est faisable en bash :) Le wrapper FIMAP fonctionne très bien ! Il vous permet de choisir si vous voulez exécuter un scan contre un seul site, le fichier results/LFI.results par défaut qui est généré après une analyse réussie, ou vous pouvez pointer vers votre propre fichier de liens pour tester. Cela signifie que vous pouvez traiter un à la fois ou en masse !
Très similaire à la section des outils LFI. J'ai créé un compteur de colonnes fait maison pour les vulnérabilités verbeuses. Il fonctionne correctement, mais toujours en développement. En complément, j'ai construit un script wrapper SQLMAP pour vous permettre de les transmettre à SQLMAP pour validation avec certitude. Comme pour le wrapper LFI, vous pouvez choisir d'exécuter contre un seul site, le fichier results/SQLi.results par défaut de l'étape d'analyse, ou un fichier personnalisé de votre choix avec un lien par ligne pour tester en masse.
L'option curl --ssl n'est pas reconnue sur l'installation curl par défaut de BackTrack. Supprimez simplement cela de la fonction curl_magic() dans le script principal bingoo (lignes 474 et 475) et tout devrait bien se passer.
Si vous n'utilisez pas la version SVN de FIMAP, vous devez supprimer les "--bmin=4 --bmax=9 -D --dot-trunc-also-unix" des trois (3) occurrences dans le script LFI situé dans le dossier plugins/ (lignes 77, 96 et 109). Ces options seront éventuellement incluses dans les versions mises à jour de FIMAP et donc dans les installations par défaut, mais en attendant, nous devons travailler avec SVN pour de meilleurs résultats. Faites avec :p
Parfois, le formatage de SQLMAP est perturbé dans le terminal. Les résultats et le flux du processus devraient se dérouler normalement, ne vous inquiétez donc pas. Si vous avez besoin de voir les résultats plus clairement, ouvrez simplement le dossier sqlmap/output/ et visualisez le fichier journal pour voir tous les détails du scan SQLMAP. Laissez-le s'exécuter comme si vous n'obteniez pas une sortie propre, cela peut laisser certains processus en arrière-plan. Vous pouvez essayer de tous les tuer avec une commande du type : ps aux | grep bingoo | cut -d' ' -f6 | while read line; do kill -9 $line; done; Si cela ne fonctionne pas, vous le saurez car des choses continueront à s'afficher dans le terminal, mais cela devrait tuer toutes les instances de bingoo si elles sont encore en arrière-plan. Vous pouvez aussi répéter pour "curl" si certains threads passent après le premier tir avec "bingoo" :)
Vous pouvez appuyer sur CTRL+C à tout moment pour interrompre une session active, la plupart des processus actifs seront tués et tout le travail en cours sera sauvegardé dans le fichier crash.results pour ne pas tout perdre. Ce projet est un travail en constant progrès, des changements et des mises à jour peuvent donc survenir avec le temps. Encore une fois, si vous avez des questions, des suggestions, des améliorations ou des contributions, vous pouvez m'envoyer un e-mail à [email protected]
Sachez également que je ne prends en aucun cas la responsabilité de tout ce que vous faites avec cet outil. Utilisez-le à vos propres risques. Soyez prudents et jusqu'à la prochaine fois, profitez-en !
Salutations, H.R.
#EOF