External Recon Methodology
Last updated
Last updated
Si vous êtes intéressé par une carrière en piratage et pirater l'impiratable - nous recrutons ! (maîtrise du polonais écrit et parlé requis).
On vous a dit que tout ce qui appartient à une entreprise est dans le périmètre, et vous voulez découvrir ce que possède réellement cette entreprise.
Le but de cette phase est d'obtenir toutes les entreprises appartenant à l'entreprise principale puis tous les actifs de ces entreprises. Pour ce faire, nous allons :
Trouver les acquisitions de l'entreprise principale, cela nous donnera les entreprises dans le périmètre.
Trouver l'ASN (le cas échéant) de chaque entreprise, cela nous donnera les plages d'IP possédées par chaque entreprise.
Utiliser des recherches whois inversées pour rechercher d'autres entrées (noms d'organisation, domaines...) liées au premier (cela peut être fait de manière récursive).
Utiliser d'autres techniques comme les filtres shodan org
et ssl
pour rechercher d'autres actifs (le truc ssl
peut être fait de manière récursive).
À ce stade, vous devriez connaître toutes les entreprises dans le périmètre. Voyons comment trouver leurs actifs.
Un numéro de système autonome (ASN) est un numéro unique attribué à un système autonome (AS) par l'Internet Assigned Numbers Authority (IANA). Un AS se compose de blocs d'adresses IP qui ont une politique d'accès aux réseaux externes clairement définie et sont administrés par une seule organisation mais peuvent être composés de plusieurs opérateurs.
Nous connaissons toutes les entreprises dans le périmètre et leurs actifs, il est temps de trouver les domaines dans le périmètre.
Veuillez noter que dans les techniques proposées suivantes, vous pouvez également trouver des sous-domaines et ces informations ne doivent pas être sous-estimées.
Tout d'abord, vous devriez rechercher le(s) domaine(s) principal(aux) de chaque entreprise. Par exemple, pour Tesla Inc. ce sera tesla.com.
Une fois que vous avez trouvé toutes les plages d'adresses IP des domaines, vous pourriez essayer d'effectuer des recherches DNS inversées sur ces IP pour trouver d'autres domaines dans le périmètre. Essayez d'utiliser un serveur DNS de la victime ou un serveur DNS bien connu (1.1.1.1, 8.8.8.8)
À l'intérieur d'un whois, vous pouvez trouver beaucoup d'informations intéressantes telles que le nom de l'organisation, l'adresse, les emails, les numéros de téléphone... Mais ce qui est encore plus intéressant, c'est que vous pouvez trouver d'autres actifs liés à l'entreprise si vous effectuez des recherches de reverse whois par l'un de ces champs (par exemple, d'autres registres whois où le même email apparaît). Vous pouvez utiliser des outils en ligne comme :
Notez que vous pouvez utiliser cette technique pour découvrir plus de noms de domaine à chaque fois que vous trouvez un nouveau domaine.
Si vous trouvez le même ID du même tracker sur 2 pages différentes, vous pouvez supposer que les deux pages sont gérées par la même équipe. Par exemple, si vous voyez le même ID Google Analytics ou le même ID Adsense sur plusieurs pages.
Il existe des pages et des outils qui vous permettent de rechercher ces trackers et plus encore :
En termes simples, favihash nous permettra de découvrir les domaines qui ont le même hachage d'icône favicon que notre cible.
Voici comment vous pouvez calculer le hash du favicon d'un site web :
Recherchez à l'intérieur des pages web des chaînes qui pourraient être partagées sur différents sites web de la même organisation. La chaîne de droit d'auteur pourrait être un bon exemple. Ensuite, recherchez cette chaîne sur Google, dans d'autres navigateurs ou même dans Shodan: shodan search http.html:"Chaîne de droit d'auteur"
Il est courant d'avoir une tâche cron telle que
Apparemment, il est courant que des personnes attribuent des sous-domaines à des adresses IP appartenant à des fournisseurs de cloud et à un moment donné perdent cette adresse IP mais oublient de supprimer l'enregistrement DNS. Par conséquent, simplement lancer une VM dans un cloud (comme Digital Ocean) vous permettra en fait de prendre le contrôle de certains sous-domaines.
Notez que vous pouvez utiliser cette technique pour découvrir plus de noms de domaine à chaque fois que vous trouvez un nouveau domaine.
Shodan
Comme vous connaissez déjà le nom de l'organisation possédant l'espace IP. Vous pouvez rechercher ces données dans shodan en utilisant : org:"Tesla, Inc."
Vérifiez les hôtes trouvés pour de nouveaux domaines inattendus dans le certificat TLS.
Assetfinder
Nous connaissons toutes les entreprises dans le périmètre, tous les actifs de chaque entreprise et tous les domaines liés aux entreprises.
Il est temps de trouver tous les sous-domaines possibles de chaque domaine trouvé.
Essayons d'obtenir les sous-domaines à partir des enregistrements DNS. Nous devrions également essayer le Transfert de Zone (Si vulnérable, vous devriez le signaler).
Le moyen le plus rapide d'obtenir de nombreux sous-domaines est de rechercher dans des sources externes. Les outils les plus utilisés sont les suivants (pour de meilleurs résultats, configurez les clés API) :
Il existe d'autres outils/API intéressants qui, même s'ils ne sont pas directement spécialisés dans la recherche de sous-domaines, pourraient être utiles pour trouver des sous-domaines, tels que :
Essayons de trouver de nouveaux sous-domaines en forçant les serveurs DNS en utilisant des noms de sous-domaine possibles.
Pour cette action, vous aurez besoin de certaines listes de mots de sous-domaines courants comme:
Les outils les plus recommandés pour le brute force DNS sont:
Après avoir trouvé des sous-domaines en utilisant des sources ouvertes et la force brute, vous pourriez générer des altérations des sous-domaines trouvés pour essayer d'en trouver encore plus. Plusieurs outils sont utiles à cette fin :
Consultez ce billet de blog que j'ai écrit sur la façon d'automatiser la découverte de sous-domaines à partir d'un domaine en utilisant des flux de travail Trickest afin de ne pas avoir à lancer manuellement une multitude d'outils sur mon ordinateur :
Si vous trouvez une adresse IP contenant une ou plusieurs pages web appartenant à des sous-domaines, vous pouvez essayer de trouver d'autres sous-domaines avec des sites web sur cette IP en recherchant dans des sources OSINT des domaines dans une IP ou en forcant les noms de domaine VHost dans cette IP.
Brute Force
Si vous soupçonnez qu'un sous-domaine peut être caché dans un serveur web, vous pouvez essayer de le forcer :
Avec cette technique, vous pourriez même être en mesure d'accéder à des endpoints internes/cachés.
Parfois, vous trouverez des pages qui ne renvoient que l'en-tête Access-Control-Allow-Origin lorsque qu'un domaine/sous-domaine valide est défini dans l'en-tête Origin. Dans ces scénarios, vous pouvez abuser de ce comportement pour découvrir de nouveaux sous-domaines.
Dans les premières étapes, vous pourriez avoir trouvé des plages d'IP, des domaines et des sous-domaines. Il est temps de recueillir toutes les IPs de ces plages et pour les domaines/sous-domaines (requêtes DNS).
Analysez tous les IPs qui n'appartiennent pas à des CDN (car vous ne trouverez probablement rien d'intéressant là-dedans). Dans les services en cours d'exécution découverts, vous pourriez être capable de trouver des vulnérabilités.
Nous avons trouvé toutes les entreprises et leurs actifs et nous connaissons les plages d'IP, les domaines et les sous-domaines dans le périmètre. Il est temps de rechercher des serveurs Web.
Dans les étapes précédentes, vous avez probablement déjà effectué une reconnaissance des IPs et des domaines découverts, donc vous avez peut-être déjà trouvé tous les serveurs Web possibles. Cependant, si ce n'est pas le cas, nous allons maintenant voir quelques astuces rapides pour rechercher des serveurs Web dans le périmètre.
Veuillez noter que cela sera orienté vers la découverte d'applications Web, donc vous devriez également effectuer la recherche de vulnérabilités et le scan de ports également (si autorisé par le périmètre).
Maintenant que vous avez découvert tous les serveurs web présents dans le périmètre (parmi les IP de l'entreprise et tous les domaines et sous-domaines), vous ne savez probablement pas par où commencer. Alors, simplifions les choses et commençons par prendre des captures d'écran de chacun d'eux. Juste en jetant un coup d'œil à la page principale, vous pouvez trouver des points de terminaison étranges qui sont plus susceptibles d'être vulnérables.
Pour trouver des actifs cloud potentiels appartenant à une entreprise, vous devriez commencer par une liste de mots-clés identifiant cette entreprise. Par exemple, pour une entreprise de crypto, vous pourriez utiliser des mots tels que : "crypto", "wallet", "dao", "<nom_de_domaine>", <"noms_de_sous-domaines">
.
Vous aurez également besoin de listes de mots couramment utilisés dans les buckets :
N'oubliez pas que lors de la recherche d'actifs Cloud, vous devriez chercher plus que des buckets dans AWS.
Si vous trouvez des éléments tels que des buckets ou des fonctions cloud ouverts exposés, vous devriez y accéder et essayer de voir ce qu'ils vous offrent et si vous pouvez les exploiter.
Avec les domaines et sous-domaines dans le périmètre, vous avez essentiellement tout ce dont vous avez besoin pour commencer à rechercher des e-mails. Voici les API et outils qui ont le mieux fonctionné pour moi pour trouver des e-mails d'une entreprise :
Les e-mails seront utiles plus tard pour brute-forcer les connexions web et les services d'authentification (comme SSH). De plus, ils sont nécessaires pour les phishings. De plus, ces APIs vous donneront encore plus d'informations sur la personne derrière l'e-mail, ce qui est utile pour la campagne de phishing.
Avec les domaines, sous-domaines et e-mails, vous pouvez commencer à rechercher des identifiants qui ont été divulgués dans le passé appartenant à ces e-mails :
Si vous trouvez des identifiants divulgués valides, c'est une victoire très facile.
Les fuites d'identifiants sont liées aux piratages d'entreprises où des informations sensibles ont été divulguées et vendues. Cependant, les entreprises pourraient être affectées par d'autres fuites dont les informations ne figurent pas dans ces bases de données :
Leakos peut également être utilisé pour exécuter gitleaks sur tous les textes fournis par les URLs passées à celui-ci car parfois les pages web contiennent également des secrets.
Consultez également cette page pour des dorks github potentiels que vous pourriez également rechercher dans l'organisation que vous attaquez :
Notez que les outils qui s'attendent à exécuter toute la base de données en utilisant le navigateur Google régulier ne se termineront jamais car Google vous bloquera très rapidement.
Si vous trouvez des identifiants ou jetons API divulgués valides, c'est une victoire très facile.
Si vous découvrez que l'entreprise a du code open-source, vous pouvez l'analyser et rechercher des vulnérabilités.
Selon le langage, il existe différents outils que vous pouvez utiliser :
Il existe également des services gratuits qui vous permettent de scanner les dépôts publics, tels que :
Félicitations ! À ce stade, vous avez déjà effectué toute l'énumération de base. Oui, c'est basique car beaucoup plus d'énumération peut être faite (nous verrons plus de techniques plus tard).
Donc, vous avez déjà :
Trouvé toutes les entreprises dans le périmètre
Trouvé tous les actifs appartenant aux entreprises (et effectué une analyse de vulnérabilité si dans le périmètre)
Trouvé tous les domaines appartenant aux entreprises
Trouvé tous les sous-domaines des domaines (une prise de contrôle de sous-domaine ?)
Trouvé tous les IP (à partir de et pas à partir de CDN) dans le périmètre.
Trouvé tous les serveurs web et pris une capture d'écran d'eux (quelque chose d'étrange qui mérite un examen plus approfondi ?)
Trouvé tous les actifs publics potentiels dans le cloud appartenant à l'entreprise.
Emails, fuites d'identifiants, et fuites de secrets qui pourraient vous donner une grosse victoire très facilement.
Testé en pentestant tous les sites web que vous avez trouvés
Il existe plusieurs outils qui effectueront une partie des actions proposées contre un périmètre donné.
Si vous êtes intéressé par une carrière en hacking et pirater l'impossible - nous recrutons ! (maîtrise du polonais écrit et parlé requise).
Tout d'abord, nous devons savoir quelles autres entreprises sont détenues par l'entreprise principale. Une option est de visiter , rechercher l'entreprise principale, et cliquer sur "acquisitions". Vous verrez d'autres entreprises acquises par la principale. Une autre option est de visiter la page Wikipedia de l'entreprise principale et rechercher les acquisitions.
Il est intéressant de savoir si l'entreprise a attribué un ASN pour trouver ses plages d'IP. Il sera intéressant d'effectuer un test de vulnérabilité contre tous les hôtes dans le périmètre et de rechercher des domaines à l'intérieur de ces IPs. Vous pouvez rechercher par nom d'entreprise, par IP ou par domaine sur . Selon la région de l'entreprise, ces liens pourraient être utiles pour recueillir plus de données : (Afrique), (Amérique du Nord), (Asie), (Amérique latine), (Europe). Quoi qu'il en soit, probablement toutes les informations utiles (plages d'IP et Whois) apparaissent déjà dans le premier lien.
De plus, l' effectue automatiquement l'énumération des sous-domaines et agrège les résumés des ASN à la fin de l'analyse.
Vous pouvez trouver les plages d'adresses IP d'une organisation en utilisant également (il dispose d'une API gratuite). Vous pouvez trouver l'IP et l'ASN d'un domaine en utilisant .
À ce stade, nous connaissons tous les actifs dans le périmètre, donc si vous en avez l'autorisation, vous pourriez lancer un scanner de vulnérabilités (Nessus, OpenVAS) sur tous les hôtes. De plus, vous pourriez lancer des ou utiliser des services comme shodan pour trouver les ports ouverts et en fonction de ce que vous trouvez, vous devriez consulter ce livre pour savoir comment tester de possibles services en cours d'exécution. Il pourrait également être utile de mentionner que vous pouvez également préparer des listes de noms d'utilisateur et de mots de passe par défaut et essayer de forcer l'accès aux services avec .
Pour que cela fonctionne, l'administrateur doit activer manuellement le PTR. Vous pouvez également utiliser un outil en ligne pour ces informations :
- Gratuit
- Gratuit
- Gratuit
- Web Gratuit, API non gratuite.
- Non gratuit
- Non gratuit (seulement 100 recherches gratuites)
- Non gratuit
Vous pouvez automatiser cette tâche en utilisant (nécessite une clé API whoxy).
Vous pouvez également effectuer une découverte automatique de reverse whois avec : amass intel -d tesla.com -whois
Saviez-vous que nous pouvons trouver des domaines et sous-domaines liés à notre cible en recherchant le même hash d'icône favicon ? C'est exactement ce que l'outil créé par fait. Voici comment l'utiliser :
De plus, vous pouvez également rechercher des technologies en utilisant le hachage d'icône favicon comme expliqué dans . Cela signifie que si vous connaissez le hachage de l'icône favicon d'une version vulnérable d'une technologie web, vous pouvez rechercher si dans shodan et trouver plus d'endroits vulnérables:
explique une histoire à ce sujet et propose un script qui démarre une VM dans DigitalOcean, obtient l'IPv4 de la nouvelle machine, et cherche dans Virustotal les enregistrements de sous-domaines pointant vers elle.
Vous pourriez accéder au certificat TLS de la page web principale, obtenir le nom de l'organisation et ensuite rechercher ce nom dans les certificats TLS de toutes les pages web connues par shodan avec le filtre : ssl:"Tesla Motors"
ou utiliser un outil comme .
est un outil qui recherche des domaines associés à un domaine principal et leurs sous-domaines, assez incroyable.
Vérifiez s'il y a une . Peut-être qu'une entreprise utilise un domaine mais qu'elle a perdu la propriété. Enregistrez-le simplement (si c'est assez bon marché) et informez l'entreprise.
Si vous trouvez un domaine avec une IP différente de ceux que vous avez déjà trouvés dans la découverte des actifs, vous devriez effectuer une analyse de vulnérabilité de base (en utilisant Nessus ou OpenVAS) et un avec nmap/masscan/shodan. Selon les services en cours d'exécution, vous pouvez trouver dans ce livre quelques astuces pour les "attaquer". Notez que parfois le domaine est hébergé dans une IP qui n'est pas contrôlée par le client, donc il n'est pas inclus dans le périmètre, soyez prudent.
Astuce de prime de bug : inscrivez-vous sur Intigriti, une plateforme de prime de bug premium créée par des hackers, pour des hackers ! Rejoignez-nous sur aujourd'hui, et commencez à gagner des primes allant jusqu'à 100 000 $!
** :** Utilise l'API pour obtenir des sous-domaines
API gratuit
: récupère les URL connues de l'Open Threat Exchange d'AlienVault, de la Machine à remonter le temps et de Common Crawl pour un domaine donné.
& : Ils parcourent le web à la recherche de fichiers JS et extraient les sous-domaines à partir de là.
propose une API gratuite pour rechercher des sous-domaines et l'historique des adresses IP
Ce projet offre gratuitement tous les sous-domaines liés aux programmes de bug bounty. Vous pouvez accéder à ces données également en utilisant ou même accéder au périmètre utilisé par ce projet
Vous pouvez trouver une comparaison de nombreux de ces outils ici:
Et aussi des adresses IP de bons résolveurs DNS. Pour générer une liste de résolveurs DNS de confiance, vous pouvez télécharger les résolveurs depuis et utiliser pour les filtrer. Ou vous pourriez utiliser:
: C'était le premier outil qui a effectué un brute force DNS efficace. Il est très rapide mais il est sujet aux faux positifs.
: Celui-ci, je pense, utilise simplement 1 résolveur
est une enveloppe autour de massdns
, écrite en go, qui vous permet d'énumérer des sous-domaines valides en utilisant la force brute active, ainsi que de résoudre des sous-domaines avec une gestion des jokers et un support d'entrée-sortie facile.
: Il utilise également massdns
.
utilise asyncio pour forcer de manière asynchrone les noms de domaine.
** :** À partir des domaines et sous-domaines donnés, générer des permutations.
: Étant donné les domaines et sous-domaines, générer des permutations.
Vous pouvez obtenir la liste de permutations de wordlist de goaltdns .
: Étant donné les domaines et sous-domaines, générer des permutations. Si aucun fichier de permutations n'est indiqué, gotator utilisera le sien.
: En plus de générer des permutations de sous-domaines, il peut également essayer de les résoudre (mais il est préférable d'utiliser les outils précédemment commentés).
Vous pouvez obtenir la liste de mots de permutations altdns .
: Un autre outil pour effectuer des permutations, des mutations et des altérations de sous-domaines. Cet outil effectuera une attaque en force sur le résultat (il ne prend pas en charge les wildcards DNS).
Vous pouvez obtenir la liste de mots de permutations de dmut .
: Basé sur un domaine, il génère de nouveaux noms de sous-domaines potentiels en fonction des modèles indiqués pour essayer de découvrir plus de sous-domaines.
: Pour plus d'informations, consultez ce mais il va essentiellement obtenir les parties principales des sous-domaines découverts et les mélanger pour trouver plus de sous-domaines.
: subzuf est un fuzzer de force brute de sous-domaine couplé à un algorithme immensément simple mais efficace guidé par les réponses DNS. Il utilise un ensemble de données d'entrée fourni, comme une liste de mots personnalisée ou des enregistrements DNS/TLS historiques, pour synthétiser avec précision plus de noms de domaine correspondants et les étendre encore plus dans une boucle basée sur les informations recueillies lors du scan DNS.
Vous pouvez trouver certains VHosts dans des IPs en utilisant ou d'autres APIs.
En cherchant des sous-domaines, gardez un œil pour voir s'ils pointent vers un seau de quelque type que ce soit, et dans ce cas, . De plus, à ce stade, vous connaîtrez tous les domaines dans le périmètre, essayez de .
Vous pouvez surveiller si de nouveaux sous-domaines d'un domaine sont créés en surveillant les logs de transparence des certificats .
Vérifiez les possibles . Si le sous-domaine pointe vers un seau S3, .
Si vous trouvez un sous-domaine avec une IP différente de celles que vous avez déjà trouvées lors de la découverte des actifs, vous devriez effectuer une analyse de vulnérabilité de base (en utilisant Nessus ou OpenVAS) et un avec nmap/masscan/shodan. En fonction des services en cours d'exécution, vous pouvez trouver dans ce livre quelques astuces pour les "attaquer". Notez que parfois le sous-domaine est hébergé à l'intérieur d'une IP qui n'est pas contrôlée par le client, donc ce n'est pas dans le périmètre, soyez prudent.
En utilisant les services des APIs gratuites suivantes, vous pouvez également trouver les IPs précédentes utilisées par les domaines et sous-domaines. Ces IPs pourraient toujours être la propriété du client (et pourraient vous permettre de trouver des )
Vous pouvez également vérifier les domaines pointant vers une adresse IP spécifique en utilisant l'outil
Trouvez un sur la façon de scanner les hôtes.
Une méthode rapide pour découvrir les ports ouverts liés aux serveurs web en utilisant . Un autre outil convivial pour rechercher des serveurs Web est , et . Vous passez simplement une liste de domaines et il essaiera de se connecter aux ports 80 (http) et 443 (https). De plus, vous pouvez indiquer d'essayer d'autres ports:
Pour mettre en œuvre l'idée proposée, vous pouvez utiliser , , , ou .
De plus, vous pourriez ensuite utiliser pour analyser toutes les captures d'écran et vous indiquer ce qui est susceptible de contenir des vulnérabilités, et ce qui ne l'est pas.
Ensuite, avec ces mots, vous devriez générer des permutations (consultez la pour plus d'informations).
Avec les listes de mots résultantes, vous pourriez utiliser des outils tels que , , ou .
- avec des APIs
API de (version gratuite)
API de (version gratuite)
API de (version gratuite)
Des identifiants et des APIs peuvent être divulgués dans les dépôts publics de l'entreprise ou des utilisateurs travaillant pour cette entreprise github. Vous pouvez utiliser l'outil pour télécharger tous les dépôts publics d'une organisation et de ses développeurs et exécuter dessus automatiquement.
Parfois, les attaquants ou simplement les employés publieront du contenu d'entreprise sur un site de coller. Cela peut ou non contenir des informations sensibles, mais il est très intéressant de le rechercher. Vous pouvez utiliser l'outil pour rechercher dans plus de 80 sites de coller en même temps.
Les anciens mais bons dorks google sont toujours utiles pour trouver des informations exposées qui ne devraient pas s'y trouver. Le seul problème est que la contient plusieurs milliers de requêtes possibles que vous ne pouvez pas exécuter manuellement. Ainsi, vous pouvez choisir vos 10 préférées ou vous pourriez utiliser un outil tel que pour les exécuter toutes.
La majorité des vulnérabilités trouvées par les chasseurs de bugs se trouvent à l'intérieur des applications web, c'est pourquoi j'aimerais parler d'une méthodologie de test d'application web, que vous pouvez .
Je tiens également à mentionner la section , car, même s'ils ne sont pas censés trouver des vulnérabilités très sensibles, ils sont utiles pour implémenter des flux de travail pour obtenir des informations web initiales.
- Un peu ancien et non mis à jour
Tous les cours gratuits de comme
Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF Consultez les !
Obtenez le
Découvrez , notre collection exclusive de
Rejoignez 💬 le groupe Discord](https://discord.gg/hRep4RUj7f) ou le ou suivez-nous sur Twitter 🐦 .
Partagez vos astuces de hacking en soumettant des PR aux et github repos.