Buch „Bug Trap. Ein Leitfaden für Web-Hacking "

BildHallo Bewohner! „Um etwas zu lernen, muss man Wissen in der Praxis anwenden. So haben wir das Handwerk des Hackens gelernt. “- Michael Prince und Jobert Abma, Mitbegründer von HackerOne. Die Bug-Falle führt Sie in das White-Hat-Hacking ein - die Suche nach Sicherheitslücken. Egal, ob Sie ein Cybersecurity-Neuling sind, der das Internet sicherer machen möchte, oder ein erfahrener Entwickler, der sicheren Code schreiben möchte, Peter Jaworski zeigt Ihnen, wie.



Das Buch behandelt häufige Arten von Fehlern und reale Hacker-Berichte von Unternehmen wie Twitter, Facebook, Google, Uber und Starbucks. Anhand dieser Berichte erfahren Sie, wie Schwachstellen funktionieren und wie Sie Ihre eigenen Anwendungen sicherer machen können.



Du wirst es lernen:



  • wie das Internet funktioniert und wie man die Grundkonzepte des Web-Hacking lernt;
  • wie Cyberkriminelle in Websites eindringen;
  • wie die Fälschung von Anfragen Benutzer dazu zwingt, Informationen an andere Websites zu senden;
  • wie man auf die Daten eines anderen Benutzers zugreift;
  • Wo kann man nach Schwachstellen suchen?
  • wie man Websites dazu bringt, Informationen mithilfe gefälschter Anfragen offenzulegen.


Für wen ist dieses Buch?



Das Buch ist für unerfahrene Hacker geschrieben. Dies können Webentwickler, Webdesigner, Eltern im



Mutterschaftsurlaub , Schulkinder, Rentner usw. sein. Natürlich sind Programmiererfahrung und ein allgemeines Verständnis der Webtechnologien hilfreich, aber keine Voraussetzung für Hacking.



Programmierkenntnisse können das Auffinden von Schwachstellen in der Programmierlogik erleichtern. Wenn Sie sich in die Lage eines Programmierers versetzen oder dessen Code lesen können (falls verfügbar), sind Ihre Erfolgschancen höher.



Worum geht es in diesem Buch
:



1. . , . : HTTP-, HTTP.



2. Open Redirect. , .



3. HTTP-. HTTP-­ .



4. . , - HTTP-, .



5. HTML . , HTML- - .



6. . HTTP-, , .



7. . , JavaScript- , .



8. . , . .



9. SQL. , .



10. . , .



11. XML-. , , XML- .



12. . .



13. . , , , .



14. . , .



15. . , , .



16. . , , .



17. OAuth. , , .



18. . , .



19. . , , . .



20. . , , .



. . , , -, , ..



. . (-, , ..



14 Erfassen einer Subdomain



Durch die Entführung einer Subdomain kann ein Angreifer seinen eigenen Inhalt verteilen oder den Datenverkehr auf der Website eines anderen Benutzers abfangen.



Domain Namen



Domain ist die URL für den Zugriff auf die Website. Es wird über DNS-Server an eine IP-Adresse gebunden. In seiner hierarchischen Struktur sind die einzelnen Teile durch Punkte getrennt, und das letzte Element (ganz rechts) wird als Domäne der obersten Ebene bezeichnet. Beispiele für solche Domänen sind .com, .ca, .info usw. Links ist der Domainname. Dieser Teil der Hierarchie ist für den Zugriff auf die Website vorgesehen. Beispielsweise ist <Beispiel> .com ein registrierter Domainname mit einer .com-Top-Level-Domain.



Subdomains bilden ganz links von der URL und können zu verschiedenen Websites in derselben registrierten Domain gehören. Beispiel hat beispielsweise eine Website erstellt, benötigt jedoch eine separate E-Mail-Adresse. Es können zwei verschiedene Subdomains mit unterschiedlichem Inhalt verwendet werden: www. <Beispiel> .comund Webmail. <Beispiel> .com.



Websitebesitzer können verschiedene Methoden zum Erstellen von Subdomains verwenden, z. B. das Hinzufügen eines von zwei Datensätzen zur Beschreibung des Domänennamens: A oder CNAME. Der A-Datensatz bindet einen Site-Namen an eine oder mehrere IP-Adressen. Ein eindeutiger CNAME-Datensatz verbindet die beiden Domänen. Nur der Site-Administrator hat das Recht, DNS-Einträge zu erstellen.



Wie die Erfassung von Subdomains erfolgt



Eine Subdomain gilt als entführt, wenn der Benutzer die IP-Adresse und die URLs kontrolliert, auf die der A-Datensatz oder der CNAME-Datensatz verweist. Beispiel: Nach dem Erstellen einer neuen Anwendung hat der Entwickler sie auf Heroku gehostet und einen CNAME-Datensatz erstellt, der auf die Subdomain der Hauptwebsite verweist. Beispiel. Diese Situation geriet außer Kontrolle, wenn:



  1. Beispiel hat ein Konto auf der Heroku-Plattform ohne Verwendung von SSL registriert.
  2. Heroku Example unicorn457.herokuapp.com.
  3. Example DNS- CNAME, test.<example>.com unicorn457.herokuapp.com.
  4. Example test.<example>.com, Heroku . CNAME .
  5. , CNAME URL- Heroku, unicorn457.heroku.com.
  6. test.<example>.com, URL- Example.


Die Folgen der Übernahme einer Subdomain hängen von ihrer Konfiguration und den Einstellungen der übergeordneten Domain ab. In seiner Präsentation Web Hacking Pro Tips # 8 ( www.youtube.com/watch?v=76TIDwaxtyk ) beschreibt Arne Swinnen beispielsweise, wie Cookies gruppiert werden, um nur übereinstimmende Domains zu übertragen. Wenn Sie jedoch einen einzelnen Punkt als Subdomain angeben, z. B. <Beispiel> .com, sendet der Browser das Cookie <Beispiel> .com an eine beliebige Subdomain der Beispielfirma, die der Benutzer besucht. Durch die Steuerung des Adresstests. <Beispiel> .com kann ein Hacker einem Opfer, das den entführten Subdomain-Test besucht. <Beispiel> .com, das Cookie <Beispiel> .com stehlen.



Aber selbst wenn die Cookies nicht auf diese Weise gruppiert sind, kann ein Angreifer dennoch eine Subdomain erstellen, die die übergeordnete Site nachahmt. Durch Platzieren eines Anmeldeformulars in dieser Subdomain können Benutzer gezwungen werden, ihre Anmeldeinformationen an diese zu übergeben. Diese Sicherheitsanfälligkeit ermöglicht zwei häufige Arten von Angriffen, es gibt jedoch auch andere Hacking-Methoden, z. B. das Abfangen von E-Mails.



Um Schwachstellen bei der Entführung von Subdomains zu finden, analysieren Sie die DNS-Einträge der Site mit dem KnockPy-Tool, das Subdomains nach typischen Fehlermeldungen für solche Schwachstellen durchsucht, die von Diensten wie S3 zurückgegeben werden. KnockPy enthält eine Liste gängiger Domain-Namen, die es wert sind, überprüft zu werden. Sie können sie jedoch erweitern. Eine ähnliche Liste finden Sie im SecLists GitHub-Repository ( https://github.com/danielmiessler/SecLists/).).



Ubiquiti-Subdomain erfassen



Schwierigkeitsgrad: Niedrig

URL: assets.goubiquiti.com

Quelle: hackerone.com/reports/109699/ Anmeldedatum :

10. Januar 2016 Bezahltes Kopfgeld

: 500 USD



Amazon Simple Storage (oder S3) ist ein Dateispeicherdienst, der Teil von Amazon ist Webdienste (AWS). Ein Konto in S3 ist ein Bucket, auf den über eine AWS-URL zugegriffen werden kann, die mit dem Kontonamen beginnt. Amazon verwendet den globalen Namespace für seine Bucket-URLs, sodass jeder registrierte Bucket eindeutig ist. Wenn ich beispielsweise einen Bucket <Beispiel> registriere, hat er die URL <Beispiel> .s3.amazonaws.com und nur ich werde sie besitzen. Ein Angreifer kann aber auch jeden freien S3-Bucket aufheben.



Ubiquiti hat einen CNAME-Datensatz für Assets.goubiquiti.com erstellt und ihn mit dem S3-Bucket für uwn-images S3 verknüpft, der unter uwn-images.s3.website.us-west-1.amazonaws.com verfügbar ist. Da Amazon-Server auf der ganzen Welt verstreut sind, enthielt diese URL Informationen über die geografische Region, in der der Bucket gehostet wurde. us-west-1 (Nordkalifornien).



Dieser Bucket wurde entweder nicht registriert oder von Ubiquiti aus seinem AWS-Konto gelöscht, ohne den CNAME-Datensatz zu entfernen. Beim Besuch von assets.goubiquiti.com versuchte der Browser jedoch, Inhalte aus S3 abzurufen. Der Hacker nahm diesen Eimer für sich und meldete die Sicherheitslücke.



Schlussfolgerungen



Achten Sie auf DNS-Einträge, die auf Dienste von Drittanbietern wie S3 verweisen. Wenn solche Datensätze gefunden werden, überprüfen Sie, ob das Unternehmen den Dienst korrekt konfiguriert hat. Darüber hinaus können Sie Datensätze und Dienste mithilfe automatisierter Tools wie KnockPy kontinuierlich überwachen, falls ein Unternehmen eine Subdomain löscht, jedoch vergisst, die DNS-Einstellungen zu aktualisieren.



Scan.me-Subdomain, die mit Zendesk verknüpft ist



Schwierigkeitsgrad: Niedrig

URL: support.scan.me

Quelle: hackerone.com/reports/114134/ Berichtsdatum :

2. Februar 2016 Bezahltes Kopfgeld

: 1.000 USD Die



Zendesk-Plattform bietet Kundensupport für Website-Subdomains. Wenn Example es beispielsweise verwendet, sieht diese Subdomain möglicherweise wie support aus. <Beispiel> .com.



Wie im vorherigen Beispiel haben die Eigentümer von scan.me einen CNAME-Datensatz erstellt, der support.scan.me an scan.zendesk.com bindet. Der Dienst scan.me wurde später von Snapchat übernommen. Kurz vor Abschluss des Geschäfts wurde die Subdomain support.scan.me aus Zendesk entfernt, der CNAME-Datensatz blieb jedoch erhalten. Nachdem der Hacker dies entdeckt hatte, registrierte er unter dem Alias ​​harry_mg scan.zendesk.com und veröffentlichte seinen Inhalt auf der Zendesk-Plattform.



Schlussfolgerungen



Während des Integrationsprozesses zwischen übergeordneten und untergeordneten Unternehmen werden möglicherweise einige Subdomains gelöscht. Wenn Administratoren vergessen, DNS-Einträge zu aktualisieren, besteht die Gefahr der Entführung von Subdomains. Da sich die Subdomain jederzeit ändern kann, beginnen Sie mit der kontinuierlichen Verfolgung der Datensatzinformationen, sobald das Unternehmen bekannt gegeben wird.



Ergreifen der Windsor-Subdomain auf der Shopify-Website



Schwierigkeitsgrad: Niedrig

URL: windor.shopify.com

Quelle: hackerone.com/reports/150374/ Anmeldedatum des

Berichts: 10. Juli 2016 Gezahltes Kopfgeld

: 500 USD



Die Übernahme einer Subdomain beinhaltet nicht immer die Registrierung eines Kontos bei einem Drittanbieter. Hacker zseano entdeckte, dass Shopify einen CNAME-Datensatz für windor.shopify.com erstellt hat, der auf aislingofwindsor.com verweist. Er fand dies heraus, als er alle Shopify-Subdomains auf crt.sh durchsuchte, die alle registrierten SSL-Zertifikate und die zugehörigen Subdomains verfolgen. Diese Informationen sind öffentlich, da jedes SSL-Zertifikat von einer Zertifizierungsstelle ausgestellt werden muss, damit Browser beim Besuch der Site ihre Authentizität überprüfen können. Websites können auch sogenannte Wildcard-Zertifikate registrieren, die SSL-Schutz für alle ihre Subdomains bieten (in solchen Fällen wird crt.sh anstelle der Subdomain durch ein Sternchen gekennzeichnet).



Wenn eine Website ein Platzhalterzertifikat registriert, kann crt.sh nicht bestimmen, für welche Subdomain sie bestimmt ist, zeigt jedoch ihren eindeutigen Hash an. Der Dienst censys.io überwacht Zertifikat-Hashes und die Subdomains, in denen sie beim Scannen des Internets verwendet werden. Wenn Sie in censys.io nach dem Platzhalterzertifikat-Hash suchen, finden Sie neue Subdomains.



Als zseano durch die Liste der Subdomains auf crt.sh blätterte und jede Subdomain besuchte, bemerkte er, dass windor.shopify.com den Fehler "404 Seite nicht gefunden" zurückgab. Das heißt, die Website war entweder leer oder gehörte nicht mehr aislingofwindsor.com. Um die zweite Option zu testen, besuchte zseano einen Registrierungsdienst für Domainnamen und versuchte, aislingofwindsor.com zu finden. Es stellte sich heraus, dass diese Domain für 10 US-Dollar gekauft werden konnte. Auf diese Weise informierte zseano die Shopify-Mitarbeiter über die Sicherheitsanfälligkeit bei der Entführung von Subdomains.



Schlussfolgerungen



Wenn Sie eine Subdomain finden, die auf eine andere Site verweist und einen 404-Fehler zurückgibt, überprüfen Sie, ob diese Site für die Registrierung verfügbar ist. Der Dienst crt.sh kann als Ausgangspunkt für die Identifizierung einer Unterdomäne dienen. Wenn Sie dort ein Platzhalterzertifikat finden, suchen Sie auf censys.io nach dessen Hash.



Erfassen der schnellen Subdomain auf Snapchat



Schwierigkeitsgrad: Mittel

URL: fastly.sc-cdn.net/takeover.html

Quelle: hackerone.com/reports/154425/ Anmeldedatum des

Berichts : 27. Juli 2016 Bounty Paid

: $ 3.000



Fastly ist ein Netzwerk für die Bereitstellung von Inhalten. oder CDN). Es speichert Kopien des Inhalts auf Servern auf der ganzen Welt, damit sie den Benutzern, die sie anfordern, so nahe wie möglich kommen.



Hacker Ibraitas informierte Snapchat über eine falsche DNS-Konfiguration für seine Domain sc-cdn.net. Die URL lautet fastly.sc-cdn.netEs gab einen CNAME-Datensatz, der auf die schnelle Subdomain verwies. Letzterer gehörte zu Snapchat, wurde aber nicht korrekt registriert. Zu diesem Zeitpunkt ermöglichte der Fastly-Dienst die Registrierung benutzerdefinierter Subdomains, sofern der Datenverkehr mit TLS verschlüsselt wurde, für das das allgemeine Wildcard-Zertifikat Fastly verwendet wurde. Bei falscher Konfiguration der Benutzer-Subdomain auf der Site wurde eine Fehlermeldung angezeigt: „Schnell Fehler: unbekannte Domain:. Bitte überprüfen Sie, ob diese Domain einem Dienst hinzugefügt wurde. ”Bitte überprüfen Sie, ob diese Domain dem Dienst hinzugefügt wurde.



Bevor Ibraitas das Problem meldete, durchsuchte er censys.io nach der Domain sc-cdn.net und bestätigte Snapchat seinen Besitz durch Registrierung seines SSL-Zertifikats. Anschließend konfigurierte er den Server so, dass er Datenverkehr von dieser URL empfängt, und zeigte, dass die Domain tatsächlich verwendet wurde.



Snapchat bestätigte, dass ein kleiner Teil der Besucher weiterhin die alte Version ihrer App verwendete, in der nicht authentifizierte Inhalte von dieser Subdomain angefordert wurden. Die benutzerdefinierte Konfiguration wurde mit einem Link zu einer anderen URL aktualisiert. Theoretisch könnte ein Angreifer für kurze Zeit schädliche Dateien an Benutzer aus dieser Subdomain verteilen.



Schlussfolgerungen



Suchen Sie nach Websites, die auf Dienste verweisen, die Fehlermeldungen zurückgeben. Wenn Sie einen solchen Fehler finden, lesen Sie die Servicedokumentation und verstehen Sie, wie er verwendet wird. Versuchen Sie dann, die falsche Konfiguration zu finden, mit der Sie die Subdomain übernehmen können.



Erfassen Sie eine Subdomain auf der Legal Robot-Website



Schwierigkeitsgrad: Mittel

URL: api.legalrobot.com

Quelle: hackerone.com/reports/148770/ Einreichungsdatum

: 1. Juli 2016 Gezahltes

Kopfgeld: 100 USD



Selbst wenn die Subdomain eines Drittanbieter-Dienstes korrekt konfiguriert ist, ist der Dienst selbst möglicherweise nicht richtig konfiguriert. Frans Rosen sagte gegenüber Legal Robot, dass der DNS-CNAME-Eintrag für die Subdomain api.legalrobot.com auf Modulus.io verweise, das er entführen könne.



Nachdem der Hacker die Fehlerseite gefunden hatte, musste er den Dienst besuchen und eine Subdomain registrieren. Im Fall von api.legalrobot.com war dies jedoch nicht mit Erfolg gekrönt: Legal Robot besaß diese Website bereits.



Ohne aufzugeben, versuchte Rosen, eine Wildcard-Subdomain * .legalrobot.com zu registrieren, die weiterhin verfügbar war. Bei der Konfiguration der Modulus-Site wurden Platzhalter-Subdomänen Vorrang vor detaillierteren Einträgen eingeräumt, darunter api.legalrobot.com. Als Ergebnis, wie in Fig. 14.1 konnte Rosen seinen eigenen Inhalt auf api.legalrobot.com markieren.



Bild


Beachten Sie den Inhalt von Rosen in Abb. 14.1. Anstatt den Websitebesitzer in Verlegenheit zu bringen und zu behaupten, er habe die Subdomain übernommen, verwendete er eine bescheidene Textseite mit einem HTML-Kommentar, um zu bestätigen, dass er es war, der den Text gepostet hat.



Schlussfolgerungen



Wenn eine Website Dienste von Drittanbietern zum Hosten einer Subdomain verwendet, stützt sie sich auf die Sicherheitsmechanismen dieser Dienste. Vergessen Sie nicht, dass es bei einer erfolgreichen Subdomain-Erfassung besser ist, die Demo sorgfältig durchzuführen.



Über den Autor



Peter Jaworski wurde ein Hacker, der unabhängig die Erfahrungen seiner Vorgänger studierte (einige davon werden im Buch erwähnt). Dank Salesforce, Twitter, Airbnb, Verizon Media, dem US-Verteidigungsministerium und anderen ist er jetzt ein erfolgreicher Sicherheitslückenjäger. Jetzt ist er Anwendungssicherheitsingenieur bei Shopify.



Über den wissenschaftlichen Herausgeber



Tsang Chi Hong , auch bekannt als FileDescriptor, ist ein Pentester- und Vulnerabilitätsjäger. Lebt in Hongkong, schreibt Artikel über Websicherheit unter blog.innerht.ml und interessiert sich für Soundtracks und Kryptowährung.



»Weitere Details zum Buch finden Sie auf der Website des Verlags.

» Inhaltsverzeichnis

» Auszug



für Einwohner 25% Rabatt auf den Gutschein - Hacking



Nach Zahlung der Papierversion des Buches wird ein E-Book an die E-Mail gesendet.



All Articles