Intelligence silencieuse. Méthode d'identification des vulnérabilités WEB potentielles

Remarque


Ce guide est destiné aux débutants qui ont encore une connaissance minimale de la sécurité de l'information. J'essaie d'encourager les jeunes qui ont beaucoup de temps et qui veulent faire quelque chose de productif.

Présentation


Comme vous le savez déjà, il existe de nombreux sites intermédiaires qui travaillent avec les entreprises pour augmenter l'efficacité du programme Bug Bounty, notamment:

  • hackerone.com
  • bugcrowd.com
  • intigriti.com
  • yeswehack.com
  • openbugbounty.org
  • synack.com (privat)

Comment ça marche?


  • Recherche de vulnérabilités
  • Nous écrivons les mesures prises pour exploiter la vulnérabilité
  • Jette ce rapport technique. soutien.
  • Nous obtenons une pièce.

De quoi avons-nous besoin pour cela?


VPS, de préférence Debian (d'autres peuvent être utilisés) + bonne connexion Internet (je prends de alexhost.com, VPS 1,5 Go de RAM, 1 Core, 10 Go SSD pour seulement 11 euros par an.)

  • sublist3r
  • httprobe
  • capture d'écran
  • réponse d'en-tête
  • extracteur d'url relatif
  • extracteur jsfiles

Définition des préférences


J'ai écrit un petit script pour faciliter l'installation des outils.

root@debian-s-1vcpu-2gb-ams3-01:~# git clone https://github.com/airwawekz/xrec.git root@debian-s-1vcpu-2gb-ams3-01:~# cd xrec root@debian-s-1vcpu-2gb-ams3-01:~# chmod +x xrec-install.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./xrec-install.sh 

Processus d'identification


Supposons que le programme auquel nous voulons participer vise à rechercher des vulnérabilités dans tous les sous-domaines, y compris le domaine principal. En règle générale, le domaine principal est plus sécurisé que ses sous-domaines, ce qui signifie que nous devons nous concentrer sur les sous-domaines.

Par exemple: * .example.com

Première étape:

Nous identifions tous les sous-domaines appartenant à example.com. Pour cela, nous utilisons Sublist3r.

image

root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/Sublist3r/
root@debian-s-1vcpu-2gb-ams3-01:~# python sublist3r.py -d example.com -o domains.txt


image

Je suggère d'ajouter des API dans votre configuration de script pour de meilleurs résultats. (Ex: Virustotal)

Nous attendons la fin de l'analyse, à la fin de laquelle vous allez créer un fichier «domaines.txt» dans lequel les résultats du processus d'analyse seront enregistrés.

Deuxième étape:

Nous vérifions quels domaines sont valides, pour cela nous utilisons httprobe.

 root@debian-s-1vcpu-2gb-ams3-01:~# cat domains.txt | httprobe | tee -a alive.txt 

Après avoir terminé ce processus, vous allez créer un fichier appelé "alive.txt" avec des sous-domaines valides.

image

Troisième étape:

Nous prenons des captures d'écran pour chaque site actif, cette étape nous aide à identifier rapidement les sous-domaines vulnérables potentiels si nous avons une grande liste de domaines valides.

 root@debian-s-1vcpu-2gb-ams3-01:~# python /root/xrec/webscreenshot/webscreenshot.py -r chromium -i alive.txt -o /root/xrec/webscreenshot/screens/ 

image

Les résultats seront enregistrés dans le dossier / root / xrec / webscreenshot / screen / as * example.com.png.

Après avoir terminé ce processus, je vous recommande de vérifier chaque capture d'écran séparément. Je trouve souvent des sous-domaines oubliés avec des cms vulnérables.

Quatrième étape:

Nous vérifions la réponse de l'en-tête, cette étape est très importante, il existe de nombreuses vulnérabilités qui peuvent être utilisées via l'en-tête.

Par exemple: Yahoo Remote Code Execution

 root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | sudo chmod +x response.sh root@debian-s-1vcpu-2gb-ams3-01:~/xrec# ./response.sh /root/xrec/Sublist3r/alive.txt 

image

A l'issue de ce processus, 2 dossiers «en-têtes» et «responsebody» seront créés, dans lesquels les résultats de la vérification seront enregistrés.

Cinquième étape:

La dernière étape consiste à extraire le point de terminaison des fichiers JS. Pour ce faire, utilisez l'extracteur jsfiles.

 root@debian-s-1vcpu-2gb-ams3-01:~# cd /root/xrec/ | chmod +x jsfiles.sh root@debian-s-1vcpu-2gb-ams3-01:~# ./jsfiles.sh 

Une fois ce processus terminé, un dossier appelé «scripts» est créé, où tous les fichiers ressembleront à www.example.com .

image

Pour le moment, nous avons collecté suffisamment d'informations, il nous suffit de tester.

Par exemple:

Si vous avez des liens finaux: "details.php? Id = 3" ou "details / id / 3", la première étape consiste à tester les vulnérabilités telles que XSS / SQLi.

Un autre exemple, si nous avons des liens de fin: = redirectUrl = / example / photo, nous pouvons essayer la redirection ouverte.

Si vous avez des points de terminaison du formulaire: /pingcheck.php?s=google.com, vous pouvez effectuer des tests pour RCE ou SSRF si vous avez quelque chose comme /viewpage.php?s=google.com.

Que puis-je ajouter de plus?


  • Plus de sources / API pour l'analyse des sous-domaines (par exemple Censys, Shodan, etc.)
  • Balayage de port avec nmap
  • Direction bruteforce
  • Automatisation de tous les processus

      XSS  Snapchat 


En utilisant le processus de numérisation des sous-domaines, j'ai trouvé que ce sous-domaine snappublisher.sn Snapchat.com a une fonction intéressante pour charger des images après plusieurs tentatives infructueuses de passer par le filtre, j'ai remarqué que vous pouvez télécharger des fichiers SVG (Scalable Vector Graphics) et puis tout était simple

 <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg"> <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/> <script type="text/javascript"> alert(document.domain); </script> </svg> 

J'ai enregistré le code sous img.svg et téléchargé l'image, puis en ouvrant l'image dans un nouvel onglet -> Le gestionnaire était actif.

Malheureusement, cette vulnérabilité ne peut être utilisée que pour les attaques de phishing. Nous avons signalé cette vulnérabilité à l'équipe Snapchat via Hackerone. Nous avons été remerciés))

Vous ne regarderez pas - vous ne verrez pas, vous ne demanderez pas - vous ne trouverez pas.

Source: https://habr.com/ru/post/fr482108/


All Articles