Architecture d’une application web

La récolte d’informations est une des étapes les plus importante lors d’un pentest. Il est nécessaire de connaitre sa cible dans les moindres détails pour faciliter la prochaine étape qui est l’exploitation.

 

Aujourd’hui je m’intéresse à la récolte d’information d’une application web. Je ne traiterai pas ici des informations tels que les DNS, les ports ouverts, le système d’exploitation, les versions etc mais de l’architecture de l’application elle même c’est à dire la liste des dossiers, des fichiers etc. Chaque informations à sa valeur il faudra donc faire un tri.

On pourrait penser au premier abord que la liste des fichiers n’est pas très importante. Faux, trouver un répertoire nommé admin panel, config ou encore bdd est plutôt un bon signe pour le reste des opérations. De plus cela nous permettra de mettre la main sur un fichier oublié (backup, répertoire de dev, .git)

 

 

0x01 Dirb

Un des outils que j’affectionne particulièrement est Dirb, il est directement intégré à Kali sana mais voilà le lien de téléchargement pour ceux qui ne travail pas sur kali ici. Dirb est un bruteforcer de contenant web. A partir d’une liste de mot (wordlist) on va envoyer des requêtes et vérifier le code de retour.

Pour ceux qui débutent en HTTP 200 équivaut à un “ok” c’est à dire que le fichier/répertoire existe, 404 tout le monde le connait il signifie que la page/répertoire n’existe pas. Dirb se base sur ces codes pour tester l’existence d’un contenu (mais pas que, il prend également en compte la taille de la réponse).

Passons à la pratique, plusieurs options sont disponibles mais je vais en présenter seulement quelques unes.  Si vous ne mettez pas de wordlist ou si vous en avez pas dirb utilisera celle par défaut. Cependant celle-ci est très complète et pertinente

Avec environ 20487 mots vous avez de quoi faire. Petite annecdote la première fois que je l’ai utiliser sur iamswitch.fr j’ai vu le répertoire de mon panel admin apparaître. Pas besoin de vous dire que je suis tombé de ma chaise moi qui pensait avoir trouvé quelque chose improbable .. Par ailleurs big.txt n’est pas la seule fournie par Dirb il y en a pas mal dans le répertoire /usr/share/wordlists

L’option -r permet de ne pas scanner les répertoires récursivement. Il existe un certain nombre d’options :

  • changement d’user agent
  • ajout de cookie
  • utiliser un proxy
  • authentification HTTP
  • chercher des fichiers avec extension
  • timer

Bref cet outil est très complet pour rassembler des informations. Son petit plus est pour moi le fait de pouvoir également chercher des fichiers avec l’ajout d’une extension. On peut ainsi viser des fichier de backup oublié ~, .bak, .old etc ..

 

 

0x02 Goofile

Goofile est un script en python écrit part Thomas (G13) Richards et est disponible sur les machines tournant avec Kali Linux. (documentation ici) Vous pouvez également le recopier ici ce que je recommande car j’ai du modifier l’ancien script qui n’était plus adapté aux maj de google

Ce script automatise le google dork filetype et site. Pour ceux qui ne le savent pas les google dorks sont des petits mots utilisés pour faire des recherches plus précises sur un moteur de recherche, plus techniquement des opérateurs de requête.Ce pdf en contient une liste

 

Goofile prend deux paramètres

Vous verrez alors une liste des fichiers que Google aura pu récupérer pour ce domaine.  Goofile est très simple mais très pratique et il confirme le fait que Google est une source sans équivoque pour la récolte d’information.

 

 

0x03 Dirbuster 

L’OWASP nous a pondu un petit logiciel assez sympathique nommé Dirbuster. Celui ci possède une GUI contrairement aux deux scripts précédents. 

Dirbuster possède pas mal d’options notamment le bruteforce avec ou sans wordlist. Sinon il reprend les mêmes fonctions que Dirb. Je n’entre pas plus dans les détails car je ne l’utilise que très peux, l’interface en java donne la gerbe

 

0x03 uniscan, dirsearch et niktho sont dans un bateau

Quand j’aurais le temps, un jour peut-être