Leise Intelligenz. Methode zur Identifizierung potenzieller WEB-Schwachstellen

Hinweis


Dieser Leitfaden richtet sich an Anfänger, die noch über ein Mindestmaß an Informationssicherheit verfügen. Ich versuche, junge Menschen zu ermutigen, die viel Zeit haben und etwas Produktives tun wollen.

Einleitung


Wie Sie bereits wissen, gibt es viele Vermittler-Websites, die mit Unternehmen zusammenarbeiten, um die Effektivität des Bug Bounty-Programms zu verbessern. Dazu gehören:

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

Wie funktioniert es


  • Auf der Suche nach Schwachstellen
  • Wir schreiben die Schritte, die unternommen wurden, um die Sicherheitsanfälligkeit auszunutzen
  • Wirft diesen technischen Bericht ab. Unterstützung.
  • Wir bekommen eine Münze.

Was brauchen wir dafür?


VPS, vorzugsweise Debian (andere können verwendet werden) + gute Internetverbindung (Ich nehme von alexhost.com, VPS 1,5 GB RAM, 1 Core, 10 GB SSD für nur 11 Euro pro Jahr.)

  • sublist3r
  • httprobe
  • Webscreenshot
  • Header-Antwort
  • relative-url-extractor
  • jsfiles extractor

Voreinstellungen festlegen


Ich habe ein kleines Skript geschrieben, um die Installation der Tools zu erleichtern.

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 

Identifikationsprozess


Angenommen, das Programm, an dem wir teilnehmen möchten, zielt auf die Suche nach Schwachstellen in allen Unterdomänen ab, einschließlich der Hauptdomäne. In der Regel ist die primäre Domain sicherer als ihre Subdomains. Daher sollten wir uns auf Subdomains konzentrieren.

Zum Beispiel: * .example.com

Erster Schritt:

Wir identifizieren alle Subdomains, die zu example.com gehören. Dafür verwenden wir Sublist3r.

Bild

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


Bild

Ich empfehle Ihnen, APIs in Ihre Skriptkonfiguration aufzunehmen, um die besten Ergebnisse zu erzielen. (Bsp .: Virustotal)

Wir warten auf den Abschluss des Scanvorgangs. Am Ende erstellen Sie eine "domains.txt" -Datei, in der die Ergebnisse des Scanvorgangs gespeichert werden.

Zweiter Schritt:

Wir prüfen welche Domains gültig sind, dafür verwenden wir httprobe.

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

Nach Abschluss dieses Vorgangs erstellen Sie eine Datei mit dem Namen "alive.txt" mit gültigen Unterdomänen.

Bild

Dritter Schritt:

Wir machen Screenshots für jede aktive Site. Mit diesem Schritt können wir potenziell gefährdete Subdomains schnell identifizieren, wenn wir eine große Liste gültiger Domains haben.

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

Bild

Die Ergebnisse werden im Ordner / root / xrec / webscreenshot / screen / als * example.com.png gespeichert.

Nach Abschluss dieses Vorgangs empfehle ich, dass Sie jeden Screenshot separat überprüfen. Ich finde oft vergessene Subdomains mit anfälligen CMS.

Vierter Schritt:

Wir überprüfen die Header-Antwort. Dieser Schritt ist sehr wichtig. Es gibt viele Schwachstellen, die über Header ausgenutzt werden können.

Zum Beispiel: 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 

Bild

Am Ende dieses Vorgangs werden 2 Ordner "Header" und "Responsebody" erstellt, in denen die Ergebnisse der Überprüfung gespeichert werden.

Fünfter Schritt:

Der letzte Schritt besteht darin, den Endpunkt aus den JS-Dateien zu extrahieren. Verwenden Sie dazu den jsfiles-Extraktor.

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

Nach Abschluss dieses Vorgangs wird ein Ordner mit dem Namen "Skripte" erstellt, in dem alle Dateien wie folgt aussehen: www.example.com .

Bild

Im Moment haben wir genug Informationen gesammelt, wir müssen nur testen.

Zum Beispiel:

Wenn Sie die letzten Links haben: "details.php? Id = 3" oder "details / id / 3", besteht der erste Schritt darin, auf Schwachstellen wie XSS / SQLi zu testen.

Ein weiteres Beispiel: Wenn wir Endlinks haben: = redirectUrl = / example / photo, können wir versuchen, die Umleitung zu öffnen.

Wenn Sie Endpunkte der Form /pingcheck.php?s=google.com haben, können Sie Tests für RCE oder SSRF durchführen, wenn Sie über etwas wie /viewpage.php?s=google.com verfügen.

Was kann ich noch hinzufügen?


  • Weitere Quellen / APIs zum Scannen von Unterdomänen (z. B. Censys, Shodan usw.)
  • Port-Scan mit nmap
  • Richtung Bruteforce
  • Automatisierung aller Prozesse

      XSS  Snapchat 


Beim Scannen von Subdomains stellte ich fest, dass diese Subdomain snappublisher.snapchat.com nach mehreren erfolglosen Versuchen, den Filter zu durchlaufen, eine interessante Funktion zum Laden von Bildern bietet. Ich habe festgestellt, dass Sie Dateien im SVG-Format (Scalable Vector Graphics) herunterladen können, und dann war alles einfach

 <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> 

Ich habe den Code als img.svg gespeichert und das Bild hochgeladen und dann das Bild in einem neuen Tab geöffnet -> Handler war aktiv.

Leider kann diese Sicherheitsanfälligkeit nur für Phishing-Angriffe verwendet werden. Wir haben diese Sicherheitsanfälligkeit dem Snapchat-Team über Hackerone gemeldet. Wir wurden gedankt))

Sie werden nicht schauen - Sie werden nicht sehen, Sie werden nicht fragen - Sie werden nicht finden.

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


All Articles