Adams State University. Wie man Websites hackt Teil 1

Ursprünglicher Autor: Susan Loveland / Eve Hacker
  • Übersetzung
Moderator: Ich danke allen, die zu unserer ersten Vorlesung in der Reihe „Gespräche über Naturwissenschaften und Mathematik in der Mittagspause“ gekommen sind. Sie haben E-Mails erhalten, außerdem werden in diesem Semester Zeitpläne mit sieben Vorlesungen rund um diesen Campus gepostet. Ich möchte Sie mit Dr. Susan Loveland von der Fakultät für Informatik bekannt machen, die Ihnen erklären wird, wie Sie Websites hacken.



Susan Loveland: Zu Beginn der Präsentation möchte ich erwähnen, dass Hacker in Schwarz und Weiß erhältlich sind. Heute werde ich die Rolle eines Hackers im Black Hat spielen und auf der dunklen Seite des Hackens agieren, denn Schlechtmachen macht mehr Spaß als Gutes. Es gibt Hacker in White Hats, die für Computersicherheitsunternehmen arbeiten und Computerforensik untersuchen. Sie versuchen Sicherheitslücken zu finden, bevor die bösen Jungs sie ausnutzen.

Die Aufgabe solcher Hacker besteht darin, die Schwachstelle zu finden, ohne die Anwendung zu beschädigen, einen Bericht über die Sicherheitslücke zu erstellen und sie an das Unternehmen zu senden. Ich selbst habe nie darüber nachgedacht, die Website zu hacken. Deshalb brachte ich die Mitberichterstatterin mit, die die Folien unserer Präsentation vorbereitete (zieht ihren schwarzen Hut auf).

Ich bin Eve Hacker (Hackersha Eve), Dr. Lovelands Alter Ego, der Ihnen zeigen wird, wie Sie Websites hacken. Ich vergaß zu erwähnen, dass Black Hat als Symbol für Hacker aus alten Western kam, in denen die bösen Jungs normalerweise einen solchen Hut trugen. Und ich entschied, dass ich, um ein effektiver Hacker zu sein, eine geeignete Kleidung wählen muss. So kann ich eine passende Stimmung für mich schaffen und Sie können diese Präsentation gerne anschauen. Also, ich erteile Dr. Loveland das Wort (nimmt den Hut ab).

Susan Loveland: Danke, Eva. Bevor wir beginnen, möchte ich Ihnen sagen, wie das Internet Hacker anzieht. Erstens, die weit verbreitete Verfügbarkeit und Zugänglichkeit von Anwendungen - einem Bericht der White Hat Association aus dem Jahr 2009 zufolge haben etwa 80% der Websites ernsthafte Schwachstellen.

Zweitens minimiert Profitability - Angriffsautomatisierung die Kosten für Hacker und skaliert gleichzeitig die Gewinne auf riesige Größen. Drittens, die Benutzerfreundlichkeit - intelligente, kreative Hacker zeigen gerne ihre Erfolge, und jeder Bösewicht kann die Ergebnisse seiner Arbeit mithilfe von Google nutzen, um Hunderte von Tools für das Hacken der richtigen Anwendung zu finden. Viertens Anonymität - Sie können das Gesetz sicher brechen, da es sehr schwierig ist, herauszufinden, wann die Webanwendung gehackt wurde, und die Person zu finden, die das getan hat. Wenn Sie eine Bank physisch ausrauben, müssen Sie in der Bank sein. Wenn Sie jedoch eine Webanwendung hacken, können Sie im Ausland arbeiten, wo es keine Auslieferungsgesetze gibt und dies aus Sicht des Hackens relativ sicher ist.

Was machen Sie also zuerst, wenn Sie versuchen, eine Anwendung zu hacken? Der erste Schritt ist der schwierigste, weil Sie wissen müssen, was diese Anwendung ist, wie sie funktioniert, wo ihre „Ein- und Ausgänge“ sind.



Die Anwendungsinfrastrukturstudie umfasst die Serveridentifizierung und das Scannen von Ports. Dann müssen Sie die Zusammensetzung der Anwendung verstehen: Zeichenfolgen und URL-Anforderungsparameter, Authentifizierungsmechanismus, TLS / SSL, in der Anwendung verwendete Software (PHP, Java), Verzeichnisstruktur und Sitzungsverwaltung.

Daher werde ich Sie einfach in die Anwendung einführen, die gehackt wird, und Sie durch alle möglichen Schwachstellen führen, die in der Anwendung vorhanden sind. Die Anwendung, die wir heute hacken, heißt "Fakultätsseiten". Dieses Projekt wurde vor rund eineinhalb Jahren im Klassenzimmer meines CS245-Webprogrammierkurses entwickelt.



Seine Idee war, dass jeder auf dem Campus begann, für jede Fakultät einen einzigen Satz von Webseiten zu verwenden, da dies professioneller aussehen würde als die Seiten eines anderen Musters, die von Mitarbeitern der einzelnen Fakultäten erstellt wurden. Ich habe mit Mark Schonecher gesprochen, um mir und meinen Studenten bei dieser Angelegenheit zu helfen. Mark schickte E-Mails an alle, die gefragt wurden, welche Inhalte sie auf den Webseiten der Fakultät sehen möchten, und meine Klasse entwickelte die "Fakultätsseiten", die auf dieser Folie gezeigt werden.

Wie Sie sehen, gibt es eine Hauptseite mit Inhalten für Studenten der Fakultät, die Registerkarte "Bildung", auf der Lehrer Links zu einzelnen Kursen posten können, die Registerkarte "Stipendien", auf der Sie die Ergebnisse der wissenschaftlichen Tätigkeit platzieren können, die Registerkarten "Bildung" und "Konsultationen". .

Meine Studenten wollten es den Fakultätsmitgliedern so einfach machen, diese Seiten zu pflegen, sodass sie die Benutzerberechtigung an die Seite gebunden haben. Nachdem Sie auf den Link in der oberen linken Ecke der Seite geklickt haben, wird ein Anmeldeformular geöffnet, in dem Sie den Benutzernamen für das Campus-Netzwerk und die Kennwort-ID eingeben müssen. Nach dem Einloggen wird dieselbe Hauptseite geöffnet, aber unter dem Wort "Information" erscheint die Schaltfläche "Bearbeiten". Nachdem Sie auf diese Schaltfläche geklickt haben, kann der Lehrer in das Editorfenster gehen und Informationen auf der Seite hinzufügen oder korrigieren. Dies sind die Hauptmerkmale der Anwendung, die wir heute zu hacken versuchen.



Kommen wir zu unserer Präsentation zurück. Beim Hacken braucht man wie bei jedem anderen Beruf eine Ausrüstung, sonst wird die Arbeit unwirksam. Um zu hacken, benötigen wir einen Proxy-Server.



Ein Proxyserver beschleunigt den Zugriff auf das Aufbrechen einer Webseite und fängt alle Nachrichten zwischen einem Clientcomputer und einem Server ab. Sie können alle Nachrichten anzeigen. Dies ist sehr nützlich, da zwischen Client und Server viel Datenverkehr herrscht, der von außen nicht sichtbar ist. Der Proxy-Server ermöglicht es nicht nur, den Inhalt des Datenverkehrs zu untersuchen, sondern auch zu ändern. Tatsächlich können Sie vollständig festlegen, was für Studenten, die Programmieren im Klassenzimmer studieren, auf den Server geht.

Ich möchte darauf hinweisen, dass es egal ist, wie Sie Ihren clientseitigen Code verwalten, da ein guter Hacker immer Ihre Kontrolle umgehen kann, indem Sie sich an den Server wenden, der Ihrem Browser zugeordnet ist. Um unsere Anwendung zu hacken, benötigen Sie einen Proxy-Server. Es ist nicht schwer, es zu bekommen - Sie laden einfach einen Proxy aus dem Internet herunter.



Auf der Folie sehen Sie drei beliebte Proxy-Server: WebScarab, BurpSuite und Paros. Sie können diese kostenlos herunterladen, wie jede andere Anwendung installieren und innerhalb weniger Minuten Ihren Browser so konfigurieren, dass er mit einem Proxy arbeitet.

Die erste Angriffsart, die wir heute verwenden, ist Dictionary Attack oder Dictionary Overkill. Alle Angriffe dieser Art versuchen, das Kennwort einer Person zu finden, indem sie die Liste der beliebtesten und Standardkennwörter mit einer Kombination von Kennwortwörterbüchern durchgehen. Wenn Sie ein solches Wörterbuch benötigen, können Sie es auch aus dem Internet herunterladen. Hierbei handelt es sich um eine öffentliche Ressource.
Bevor Sie Dictionary Attack initiieren, müssen Sie die Kennwortrichtlinie für die Anwendung, die Sie angreifen möchten, sorgfältig studieren. In unserem Fall sind „Fakultätseiten“ an das Passwort der Adams University gebunden. Sie müssen also herausfinden, welches Passwort wir für die Hacking-Anwendung auswählen werden.



Um herauszufinden, wie ein Kennwort aussieht, können Sie am besten die Kennwortwiederherstellungsfunktion verwenden, da Sie einen Hinweis erhalten. Sieh mal, was ich getan habe - gab einfach das falsche Passwort ein, und diese Leute waren so nett, dass sie oben auf der Seite eine Nachricht mit der Beschreibung der Passwörter posteten, die ich probieren könnte. So finde ich heraus, dass ich in meinem Wörterbuch, das während des Wörterbuchangriffs verwendet wird, Wörter mit mindestens 8 Zeichen sowie Groß- und Kleinbuchstaben und Zahlen verwenden muss.

Ich muss zugeben, dass sie den Service seit meinem letzten Besuch der Website verschlechtert haben. Jetzt können Sie nicht einfach die Funktionalität ihres Kennworts überprüfen, da sie ihre Richtlinie gegenüber Hackern auf weniger freundlich eingestellt haben. Jetzt, wie Sie sehen, erhalten Sie keine Hinweise, wenn Sie versuchen, das Kennwort zurückzusetzen.

Glücklicherweise habe ich einen Screenshot gespeichert, wie er vorher aussah, so dass wir wissen, welches Passwort abgerufen werden muss. Ich denke, wir sind bereit, Eva das Wort zu erteilen, damit sie zeigen kann, wie ein Angriff mit der Wörterbuchsuchmethode ausgeführt wird.

Eve Hacker: Danke, Dr. Loveland! Als Erstes gehe ich zum Anmeldefenster, in dem wir Passwörter an den Server senden und die URL-Zeichenfolge leicht ändern müssen. Danach bekomme ich auf dem Bildschirm ein Autorisierungsformular, in das Sie einen Benutzernamen und ein Passwort eingeben müssen. Ich sollte in der Lage sein, das richtige vom falschen zu unterscheiden, dh um zu sehen, welchen Fehler die Anwendung bei der Eingabe des falschen Passworts meldet.

Da ich das Passwort von Dr. Loveland abholen werde, gebe ich ihr Login slowoveland in die Benutzernamenleiste ein, gebe das falsche 3-stellige Passwort ein und klicke auf die Schaltfläche Login. Danach erscheint die Meldung "Fehleranmeldung". Es ist sehr wichtig zu sehen, wie die Anwendung auf die Eingabe eines falschen Passworts reagiert.

Als Nächstes muss ich meinen Browser so konfigurieren, dass er einen Proxyserver verwendet, sodass ich die Einstellungen für Firefox ändern kann. Öffnen Sie die Registerkarte "Erweiterte Einstellungen", entfernen Sie das Häkchen im Kontrollkästchen "System-Proxy-Einstellungen verwenden" und aktivieren Sie das Kontrollkästchen "Manuelle Proxy-Konfiguration verwenden". Mein Proxy überwacht Port 8080, sodass er alle an den Server gerichteten Anforderungen abfangen kann.



Als nächstes muss der heruntergeladene Proxy-Server installiert werden. In meinem Fall handelt es sich um Burp Suite. Jetzt sehen Sie, wie dieses Proxy-Fenster aussieht, das ich während des Angriffs verwende. Aber ich muss zur Anmeldeseite zurückkehren und sie erneut an den Server senden. Tatsache ist, dass es möglicherweise ein Problem gibt, weil ich den Proxy zuerst gestartet habe, ohne die Seite neu zu laden. Wenn Sie bemerkt haben, verwendet unsere Anwendung eine sichere HTTPS-Verbindung und der Proxyserver verfügt nicht über das entsprechende Sicherheitszertifikat. Daher muss ich zunächst bestätigen, dass die Anwendung eine ungeschützte Proxyverbindung verwenden kann, und ihre URL in die Sicherheitsrichtlinienausnahmen aufnehmen.



Was hätte passieren können, wenn ich diesen Fehler nicht korrigiert hätte? Lass mich zurückgehen und dir das zeigen. Ich gehe wieder zu den Browsereinstellungen, und diesmal werde ich keine manuellen Proxy-Einstellungen festlegen, die Anforderungen abfangen. Ich werde das Kontrollkästchen "System-Proxy-Einstellungen verwenden" erneut aktivieren, da ich wirklich erst die ursprüngliche Autorisierungsseite aufrufen muss. Wenn Sie sich auf dieser Seite befinden, gebe ich die Browsereinstellungen ein und wechsle wieder zu den manuellen Proxy-Einstellungen.

Jetzt haben wir eine Autorisierungsseite, die mit dem Proxy-Server "spricht". Ich gebe erneut das Login von Dr. Loveland und das gleiche falsche Passwort ein, das an meinen Proxy-Server gesendet wird.

Als nächstes gehe ich zur Serververwaltungsseite und klicke auf die Registerkarte, die ein Fenster zum Anzeigen der empfangenen Anfrage öffnet.



Mal sehen, wie diese Anfrage in Spider aussieht - dies ist die nächste Registerkarte des Burp Suite-Fensters. Dazu benutze ich den Befehl "send to Spider" und sehe, wie das Autorisierungsformular aussieht. Es ist wirklich interessant. Ich klicke auf die Schaltfläche "Formular ignorieren".



Und zurück zu der POST-Anfrage, die mich interessiert. Wir sehen eine Anfrage, die das Autorisierungsformular enthält, dh eine Anfrage zur Eingabe von Benutzerinformationen.



Hier haben wir verschiedene Angriffsmethoden - Scanner, Eindringling, Repeater, Sequenzer, Decoder, Comparer. Ich werde Intruder verwenden, also sende ich ihm diese Informationen mit dem Befehl "Senden an Eindringling", und sie erscheint im Fenster auf der Registerkarte "Positionen". Dies sind alle Informationen, die an den Proxyserver gesendet wurden.



Es zeigt viele verborgene Dinge, die auf einer Webseite nicht sichtbar sind, und hebt die Felder hervor, mit denen Hacker gerne umgehen: Sitzungs-ID, Sitzungs-ID, Benutzername, Benutzername und Kennwort, die während unseres Angriffs verwendet werden. Das einzige, was uns für Dictionary Attack interessiert, ist das Passwort. Ich werde die meisten Felder löschen, das Passwortfeld auswählen und das Feld mit der Schaltfläche § hinzufügen zum Wörterbuch hinzufügen.

Diese Registerkarte wird Ihnen als Hacker wirklich gefallen, da Sie über das Dropdown-Menü verschiedene Angriffsmethoden auswählen können - Sniper, Battering Ram, Pitchfork oder Clusterbombe. Ich werde genau das tun und den Sniper-Angriff wählen. Als Nächstes wird auf der Registerkarte "Payloads" eine kleine Einstellung vorgenommen. Wir werden die Zeichen ersetzen, da ich die Zeichen im Kennwort einfach durch Wörter aus dem Wörterbuch ersetzen werde. Danach muss ich das Wörterbuch herunterladen, das ich zuvor aus dem Internet heruntergeladen habe. Sie sehen das sich öffnende Wörterbuch. Ich habe festgestellt, dass ich alle Wörter mit weniger als 8 Zeichen entfernt habe, da ich keine Zeit verlieren möchte.



Ich möchte Ihre Aufmerksamkeit auf den Block rechts mit den Parametern a, b und e lenken. Lassen Sie mich fragen: Wenn Sie ein Passwort wählen müssen, in das Sie entweder Zahlen oder Symbole eingeben müssen, haben Sie Zahlen oder Symbole gewählt, die wie entsprechende Buchstaben aussehen Mit wem wirst du sie ersetzen? Sie können versucht sein, diese Methode zu verwenden, um das Erinnern von Kennwörtern zu erleichtern, aber Hacker sind sich dessen durchaus bewusst. Zum Beispiel verwenden die Menschen häufig 4 für A, 8 für B oder 3 für E. Manchmal wird der Buchstabe A durch das Symbol @ und der Buchstabe b durch die Zahl 6 ersetzt, da er dem Buchstaben ähnelt. In diesem Block können Sie also solche Übereinstimmungen konfigurieren.

Ich weiß auch, dass für Universitätskennwörter die Verwendung von Großbuchstaben erforderlich ist. Da mein Wörterbuch nur Kleinbuchstaben enthält, verwende ich das folgende Menü, um die Regeln zum Erraten von Kennwörtern zu ändern und die Schlüsselwörter zu ändern, die an dieses Hacker-Tool gesendet werden. Ich stelle auch fest, dass Sie Eigennamen verwenden können. Da dieser Computer einem Wissenschaftler gehört, verwendet sie wahrscheinlich Interpunktionszeichen, und ich stelle diese Option zur Verfügung, indem Sie sie im Dropdown-Menü notieren.

Als letztes müssen Sie die Registerkarte "Optionen" eingeben und die Adresse der Website eingeben, die wir hacken möchten. Daher muss hier die Adresse der Autorisierungsseite angegeben werden.

Am Ende muss ich ein Tool verwenden, das mich mitteilt, ob das Passwort korrekt ist oder nicht. Ich gebe also den Parameter Login Error ein, damit dieser Satz auf dem Bildschirm angezeigt wird, wenn beim Anmelden eine Fehlermeldung angezeigt wird.



Jetzt kann ich meinen Angriff starten. Ich stelle fest, dass die langjährige Begleitung von Dr. Loveland kein sehr gewinnbringender Beruf war. Daher konnte ich die professionelle Version von Burp Suite nicht kaufen und nutzte die kostenlose Version, die durch das auf dem Bildschirm erscheinende Fenster angezeigt wurde. Im Intruder-Fenster können Sie also sehen, wie der Hacking-Prozess abläuft und verschiedene Buchstaben und Symbole in die getesteten Kennwortoptionen eingesetzt werden.



Normalerweise gehe ich um diese Zeit zu einer Tasse Kaffee oder kehre am nächsten Tag sogar zum Computer zurück, weil dies ein ziemlich langsamer Prozess ist - wie Sie sehen können, begann er schon beim ersten Buchstaben des Alphabets. Wir hatten jedoch Glück - Sie sehen die siebte Zeile mit dem Ergebnis.



Dr. Loveland wählte das Kennwort A @ rdv @ rk unter Verwendung von Symbolen und Buchstaben, sodass dieses Kennwort vollständig den Anforderungen der Universität entspricht und mit Dictionary Attack leicht erraten werden konnte. Daher sollten Sie bei der Wahl Ihres Passworts sehr, sehr vorsichtig sein.
Also, ich erteile Dr. Loveland das Wort, aber bitte beachten Sie, dass ich jetzt Ihr Passwort kenne und jederzeit in Ihrem Namen auf die Website zugreifen kann (zieht den Black Hat aus).

Susan Loveland: Danke, Eva. Ich möchte das Publikum fragen: Wie denken Sie, wie häufig sind Passwortangriffe? Die Antwort ist sehr, sehr häufig! Laut Experten haben etwa 70% der Websites Berechtigungsanfälligkeiten. Dies bedeutet, dass der Anwendungsentwickler beim Anmeldemechanismus einen Fehler gemacht hat, der das Hacken der Website erleichtert. Dictionary Attack-Attacken sind jedoch unter Hackern auf jeden Fall sehr beliebt, und am 5. Januar letzten Jahres wurde eine solche Hacking-Methode gegen das Twitter-Administratorkonto angewendet, die das Hacken von Konten von 33 sehr berühmten Leuten, einschließlich Obama, und das Aufstellen von Hacker-Witzen auf ihren Seiten erlaubte.

Ich werde Ihnen von einem solchen Anekdotenfall erzählen: Als ich letztes Jahr einen Webserver für meinen Kurs startete, waren es nur vier Studenten. Theoretisch handelt es sich hierbei jedoch um einen sehr, sehr wichtigen Server, so dass er zwei Wochen nach seinem Start Angriffe erlebte Wörterbuchsuche "aus zwei verschiedenen Quellen. Diese Angriffe sind also sehr, sehr häufig.

21:35 min

. Adams State University. Wie man Websites hackt Teil 2


Danke, dass Sie bei uns bleiben. Magst du unsere Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Freunden empfehlen, 30% Rabatt für Habr-Benutzer auf ein einzigartiges Analogon der Einstiegsserver, die wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps $ 20 oder wie kann ich den Server freigeben? (Optionen sind für RAID1 und RAID10 verfügbar, bis zu 24 Kerne und bis zu 40 GB DDR4).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps bis zum Frühjahr kostenlos, wenn Sie sechs Monate bezahlen, können Sie hier bestellen .

Dell R730xd 2 mal billiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV ab 249 $in den Niederlanden und in den USA! Lesen Sie mehr darüber, wie Sie ein Infrastrukturgebäude bauen. Klasse C mit Servern Dell R730xd E5-2650 v4 im Wert von 9000 Euro für einen Cent?

Jetzt auch beliebt: