Webhackingnotes
1- Informationssammlung: Das Sammeln von Informationen ist Teil der Jagdweitnutzungsfehler. Oberflächenaufklärung angreifen - Strategien und den Wert der Standardisierung
*** Identifizieren virtueller Hosts: Auf demselben physischen Server werden üblicherweise mehrere Websites bereitgestellt.
- Die Websites vieler Organisationen werden von Dienstanbietern mit gemeinsam genutzten Ressourcen gehostet. Die Freigabe von IP-Adressen ist eine der nützlichsten und kostengünstigsten Techniken, die von ihnen verwendet werden. Sie werden häufig eine Reihe von Domainnamen zurückgegeben, wenn Sie eine umgekehrte DNS -Abfrage für eine bestimmte IP -Adresse durchführen. Diese Websites verwenden namenbasiertes virtuelles Hosting und werden in einzigartiger Weise identifiziert und von anderen Websites unterschieden, die vom Host-Header-Wert auf derselben IP-Adresse gehostet werden.
- Der yoGetSignal (http://www.yougetsignal.com/) ist eine Website, die eine umgekehrte IP -Lookup -Funktion bietet.
*** Subdomain -Aufzählung:
- Sie können Ihre Aufklärung beginnen, indem Sie Subdomains mit Ihrem VPS finden. Je mehr Subdomänen Sie finden, desto mehr Angriffsfläche haben Sie.
- Das Finden von Subdomains einer Website kann uns an überraschenden Orten landen. Ich erinnere mich an einen Vortrag des israelischen Sicherheitsforschers, Nir Goldshlager, in dem er einen Subdomain -Aufzählungs -Scan in einem Google -Dienst durchführte, aus der Gruppe von Subdomains, die er fand, die eine Webanwendung mit einer öffentlich offengelegten lokalen Dateieinschluss -Verletzlichkeit durchführte.
*** Port -Scan:
- Nachdem Sie Subdomains aufgezählt haben, können Sie Portscanning beginnen, um weitere Angriffsflächen zu identifizieren, einschließlich Ausführung von Diensten.
- Verwenden Sie Port Scaning - Suchen Sie nicht nur nach dem normalen 80.443 - Führen Sie einen Port -Scan mit allen 65536 Ports aus. Sie werden überrascht sein, was auf zufälligen hohen Ports ausgeführt werden kann.
- Die Ergebnisse des Portscan können auch auf die Gesamtsicherheit eines Unternehmens hinweisen. Beispielsweise ist ein Unternehmen, das alle Ports mit Ausnahme von 80 und 443 (gemeinsame Webports für das Hosting von HTTP- und HTTPS -Websites) geschlossen hat, wahrscheinlich sicherheitsbewusst, während ein Unternehmen mit vielen offenen Häfen wahrscheinlich das Gegenteil ist und möglicherweise ein besseres Potenzial für die Bounties hat.
- Nachdem Sie die offenen Ports auf dem Webserver identifiziert haben, müssen Sie das zugrunde liegende Betriebssystem bestimmen.
- Sobald das zugrunde liegende Betriebssystem und die offenen Ports ermittelt wurden, müssen Sie die genauen Anwendungen identifizieren, die auf den geöffneten Ports ausgeführt werden. Beim Scannen von Webservern müssen Sie den Geschmack und die Version des Webdienstes analysieren, die auf dem Betriebssystem ausgeführt werden.
*** Inhaltserkennung: Entdecken Sie versteckte und Standardinhalte
- Bevor wir unsere Tour durch die vielen Verwendungszwecke von Internet-Suchmaschinen verlassen, möchten wir ein zusätzliches suchbezogenes Problem zur Kenntnis nehmen, das die Effizienz des Profilerstellens erheblich verbessern kann. Die Datei robots.txt enthält eine Liste von Verzeichnissen, die Suchmaschinen wie Google indexieren oder ignorieren sollen.
- Sitemaps sind eine absurd einfache Möglichkeit, Grundlagenforschung ohne Anstrengung durchzuführen. Wenn Sie ein wenig URL-Hacking mit der Sitemap.xml-Schnecke durchführen, gibt dies häufig entweder eine tatsächliche XML-Datei zurück, in der die Struktur der Website detailliert wird, oder eine Yoast-or-andere-seo-plugin-unterstützte HTML-Seite, in der verschiedene Bereiche der Website dokumentiert werden, mit separaten Sitemaps für Beiträge, Seiten usw.
- Karten Sie die Anwendung auf, die nach versteckten Verzeichnissen suchen oder Dinge wie / Backup / etc. vergessen haben.
- Es gibt verschiedene Möglichkeiten, um die Entdeckung von Inhalten zu nähern. Zunächst können Sie versuchen, Dateien und Verzeichnisse durch BruteCorcing zu entdecken.
- Fuzzing -Tools können verwendet werden, um Webinhalte zu ermitteln, indem verschiedene Pfade ausprobieren, wobei URIs von riesigen Wordlisten entnommen und dann die HTTP -Statuscodes der Antworten analysiert werden, um versteckte Verzeichnisse und Dateien zu entdecken.
- CEWL ist ein benutzerdefinierter WordList -Generator von Robin Hood. Grundsätzlich spinnen die Zielstelle in eine bestimmte Tiefe und gibt dann eine Liste von Wörtern zurück. Diese WordList kann später als Wörterbuch für Bruteforce -Webanmeldungsanmeldungen verwendet werden, z. B. ein Verwaltungsportal.
- Parallel zum Brute-Forcing für sensible Vermögenswerte kann Ihnen helfen, ein Bild von einer Website zu erhalten, die ohne Sitemap sich nur Brute-Forcing selbst nicht bereitstellen kann.
- Der Webserver verfügt möglicherweise über Verzeichnisse für Administratoren, alte Versionen der Website, Sicherungsverzeichnisse, Datenverzeichnisse oder andere Verzeichnisse, auf die in keinem HTML -Code verwiesen wird.
- Erhalten Sie Auflistungen von gemeinsamen Namen und Verzeichnisnamen und allgemeinen Fir -Erweiterungen. Fügen Sie zu diesen Listen alle in den Anwendungen tatsächlich beobachteten Elemente und auch daraus abgeleitete Elemente hinzu. Versuchen Sie, die von Anwendungsentwicklern verwendeten Namenskonventionen zu verstehen. Wenn beispielsweise Seiten adddocument.jsp und viewDocument.jsp bezeichnet werden, können auch Seiten bezeichnet werden.
- Verifizieren Sie potenziell interessante Festzeln manuell, um falsch -positives Intensiv in den Ergebnissen zu beseitigen.
*** Wenden Sie sich an öffentliche Ressourcen: Ansammlung von Informationen über die Zielwebsite von öffentlich verfügbaren Ressourcen
- Wenn Sie über Datei- und Verzeichnis -Bruteforcing hinausgehen müssen, kann Google Doring auch einige interessante Inhaltserkennungen liefern. Google Dorking kann Ihnen Zeit sparen, insbesondere wenn Sie URL -Parameter finden, die häufig mit Schwachstellen wie URL, redirect_to, id usw. verbunden sind.
- Suchmaschinen waren schon immer der beste Freund eines Hackers. Es ist eine gute Wette, dass mindestens eine der wichtigsten Internet -Suchmaschinen Ihre Ziel -Webanwendung mindestens einmal in der Vergangenheit indiziert hat.
- Über Google hinaus gibt es andere Suchmaschinen mit einem bestimmten Fokus, der für die Suche nach spezifischen Informationen von unschätzbarem Wert sein kann. Unabhängig davon, ob Sie Informationen zu einer Person finden oder sich über öffentliche Aufzeichnungen erkundigen möchten, es besteht die Möglichkeit, dass eine spezielle Suchmaschine erstellt wurde, um zu finden, was Sie sich wünschen.
- Führen Sie die Suche nach Namen und E-Mail-Adressen durch, die Sie in den Inhalten der Anwendung entdeckt haben, z. B. Kontaktinformationen. Fügen Sie Elemente auf, die nicht auf dem Bildschirm gerendert wurden, z. B. HTML-Kommentare. Führen Sie neben Web -Suchanfragen Nachrichten und Gruppensuche durch. Suchen Sie nach technischen Details, die in den Internetforen in Bezug auf die Zielanwendung und ihre unterstützende Infrastruktur veröffentlicht werden.
- Ein weiterer Ansatz, um interessante Inhalte zu finden, besteht darin, den Github des Unternehmens zu überprüfen. Sie können Open -Source -Repositories vom Unternehmen oder hilfreiche Informationen zu den von ihnen verwendeten Technologien finden.
- Github ist eine Schatzkammer erstaunlicher Daten. Es gab eine Reihe von Penetrationstests und rotem Teambewertungen, bei denen wir Kennwörter, API -Schlüssel, alten Quellcode, interne Hostnamen/IPs und mehr erhalten konnten. Diese führten entweder zu einem direkten Kompromiss oder half bei einem anderen Angriff. Was wir sehen, ist, dass viele Entwickler entweder Code in das falsche Repo schieben (es an ihr öffentliches Repository anstelle des privaten Repositorys ihres Unternehmens senden) oder versehentlich sensibles Material (wie Passwörter) drücken und dann versuchen, es zu entfernen. Eine gute Sache mit GitHub ist, dass es jedes Mal verfolgt, wenn Code geändert oder gelöscht wird.
- Shodan (https://www.shodan.io) ist ein großartiger Service, der regelmäßig das Internet scannt und Banner, Ports, Informationen zu Netzwerken und vieles mehr greift.
- Censys überwacht ständig jeden erreichbaren Server und jedes Gerät im Internet, sodass Sie sie in Echtzeit suchen und analysieren können. Sie werden in der Lage sein, Ihre Netzwerkangriffsoberfläche zu verstehen, neue Bedrohungen zu entdecken und ihre globalen Auswirkungen zu bewerten [https://censys.io/].
- Verwenden Sie die Waybackmachine, um vergessene Endpunkte zu finden
*** Der Technologiestapel: Identifizieren Sie die verwendeten Technologien
- Eine der ersten Aufgaben, die ich beim Testen einer neuen Anwendung mache, ist die Identifizierung der verwendeten Technologien. Dies umfasst unter anderem Frontend JavaScript-Frameworks, serverseitige Anwendungs-Frameworks, Dienste von Drittanbietern, lokal gehostete Dateien, Remotedateien usw.
- Wenn Sie über das Wissen über den Framework zur Entwicklung einer Website verwendet werden, können Sie die Schwachstellen, die möglicherweise in den unpatchierten Versionen vorliegen, einen Vorteil haben.
- Suchen Sie nach der zugrunde liegenden Technologie. Nützliches Tool dafür ist NMAP erneut und für Web -Apps speziell Wappalyzer
*** Identifizierung neuer Fuktionalität:
- Sie können auch neue Site -Funktionen ermitteln, indem Sie JavaScript -Dateien verfolgen. Die Konzentration auf JavaScript -Dateien ist besonders leistungsfähig, wenn eine Website auf Frontend JavaScript -Frameworks angewiesen ist, um ihren Inhalt zu rendern. Die Anwendung wird darauf angewiesen, dass die meisten HTTP -Endpunkte, die eine Website in ihren JavaScript -Dateien verwendet.
- Bezahlung für den Zugriff auf neue Funktionen
*** Quellcode: Die Quellcode-Analyse wird normalerweise als etwas angesehen, das nur in einem weißen Box stattfindet, ein internes Testszenario, entweder als Teil einer automatisierten Build-Kette oder als manueller Überprüfung. Die Analyse des dem Browser zur Verfügung stehenden Client-Seite-Code ist jedoch auch eine effektive Möglichkeit, um Schwachstellen als externer Forscher zu suchen.