Adams State University. Wie man Websites hackt. Teil 1

Moderator: Ich danke allen, die zu unserem ersten Vortrag aus der Reihe „Gespräche über Naturwissenschaften und Mathematik in der Mittagspause“ gekommen sind. Sie haben E-Mails erhalten, außerdem sind rund um dieses Campusgebäude Zeitpläne mit sieben Vorlesungen eingefügt, die in diesem Semester abgehalten werden sollen. Ich möchte Ihnen Dr. Susan Loveland vom Institut für Informatik vorstellen, die darüber spricht, wie man Websites hackt.



Susan Loveland: Zu Beginn der Präsentation möchte ich erwähnen, dass Hacker in allen Schwarz-Weiß-Tönen auftreten. Heute werde ich die Rolle eines Hackers im Black Hat spielen und auf der dunklen Seite des Hacks agieren, weil es viel mehr Spaß macht als schlecht, schlecht zu sein. In White Hats gibt es Hacker, die für Computersicherheitsunternehmen arbeiten und die Computerforensik untersuchen. Sie versuchen, Sicherheitslücken zu finden, bevor die Bösen sie für ihre eigenen Zwecke ausnutzen.

Die Aufgabe solcher Hacker ist es, Schwachstellen zu finden, ohne die Anwendung zu beschädigen, einen Bericht über eine Sicherheitslücke zu erstellen und ihn an das Unternehmen zu senden. Ich selbst habe nie daran gedacht, die Website zu hacken, deshalb habe ich einen Mitberichterstatter mitgebracht, der die Folien unserer Präsentation vorbereitet hat (setzt einen schwarzen Hut auf).

Ich bin Eve Hacker (Eve Hacker), Dr. Lovelands Alter Ego, das Ihnen zeigt, wie Sie Websites hacken. Ich habe vergessen zu erwähnen, dass der Schwarze Hut als Symbol für Hacker von alten Western zu uns kam, in denen die Bösen normalerweise einen solchen Hut trugen. Und ich entschied, dass ich, um ein effektiver Hacker zu sein, die passende Robe für mich selbst auswählen muss. So kann ich eine angemessene Stimmung für mich selbst schaffen, und Sie können daran interessiert sein, diese Präsentation zu sehen. Also gebe ich Dr. Loveland das Wort (nimmt seinen Hut ab).

Susan Loveland: Danke, Eva. Bevor wir beginnen, möchte ich Ihnen sagen, warum das Internet für Hacker so attraktiv ist. Erstens die Verbreitung und Zugänglichkeit von Anwendungen - laut einem Bericht der White Hat Association aus dem Jahr 2009 weisen ungefähr 80% der Websites schwerwiegende Sicherheitslücken auf.

Zweitens ist es rentabel - Angriffsautomatisierung minimiert die Kosten von Hackern und skaliert Gewinne auf enorme Größen. Drittens Benutzerfreundlichkeit - intelligente, kreativ denkende Hacker prahlen gerne mit ihren Exploits, und jeder Bösewicht kann die Ergebnisse seiner Arbeit mit Google nutzen, um Hunderte von Tools zu finden, mit denen er die richtige Anwendung hacken kann. Viertens können Sie durch Anonymität sicher gegen das Gesetz verstoßen, da es sehr schwierig ist, herauszufinden, wann die Webanwendung gehackt wurde, und die Person aufzuspüren, die es getan hat. Wenn Sie eine Bank physisch ausrauben, müssen Sie in der Bank sein. Wenn Sie jedoch eine Webanwendung hacken, können Sie aus dem Ausland arbeiten, wo es keine Auslieferungsgesetze gibt und unter dem Gesichtspunkt des Hackens relativ sicher ist.

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



Die Prüfung der Anwendungsinfrastruktur umfasst die Serveridentifikation und das Scannen von Ports. Dann müssen Sie die Zusammensetzung der Anwendung verstehen: die Zeichenfolgen und Parameter von URL-Anforderungen, den Authentifizierungsmechanismus unter Verwendung von TLS / SSL, die in der Anwendung verwendete Software (PHP, Java), die Verzeichnisstruktur und die Sitzungsverwaltung.

Daher stelle ich Ihnen nur die Anwendung vor, die gehackt werden soll, und führe Sie durch alle möglichen Schwachstellen, die sie aufweist. Die Anwendung, die wir heute hacken, heißt "Universitätsseiten". Dieses Projekt wurde vor ungefähr anderthalb Jahren im Klassenzimmer meines CS245-Webprogrammierkurses entwickelt.



Seine Idee war, dass jeder auf dem Campus einen einzelnen Satz von Webseiten für jede Fakultät verwendet, da dies professioneller aussehen wird als Seiten mit unterschiedlichen Designs, die von Mitarbeitern einzelner Fakultäten erstellt wurden. Ich habe mit Mark Schoneher gesprochen, um mir und meinen Schülern in dieser Angelegenheit zu helfen. Mark schickte allen E-Mails mit der Frage, welche Art von Inhalten sie auf den Webseiten der Fakultät sehen möchten, und meine Klasse entwickelte „Fakultätsseiten“, die auf dieser Folie gezeigt werden.

Wie Sie sehen können, gibt es eine Hauptseite mit Inhalten für Studierende der Fakultät, die Registerkarte „Training“, auf der Lehrer Links zu einzelnen Schulungskursen veröffentlichen können, die Registerkarte „Stipendien“, auf der Sie die Ergebnisse wissenschaftlicher Aktivitäten platzieren können, die Registerkarten „Bildung“ und „Konsultationen“. .

Meine Studenten haben versucht, den Fakultätsmitarbeitern die Pflege dieser Seiten zu erleichtern, und haben daher die Benutzerberechtigung mit der Seite verknüpft. Nachdem Sie auf den Link in der oberen linken Ecke der Seite geklickt haben, wird ein Registrierungsformular geöffnet, in das Sie den Benutzernamen im Campus-Netzwerk und die Kennwortkennung eingeben müssen. Nach der Autorisierung wird dieselbe Hauptseite geöffnet, aber die Schaltfläche "Bearbeiten" wird unter dem Wort "Informationen" angezeigt. Nach dem Klicken auf diese Schaltfläche kann der Lehrer das Editorfenster aufrufen und Informationen auf der Seite hinzufügen oder korrigieren. Dies sind die Hauptmerkmale der Anwendung, die wir heute zu hacken versuchen.



Kommen wir zurück zu unserer Präsentation. Beim Hacken benötigen Sie wie bei jedem anderen Beruf Ausrüstung, da sonst die Arbeit unwirksam wird. Zum Hacken benötigen wir einen Proxyserver.



Ein Proxyserver beschleunigt den Zugriff auf das Hacken einer Webseite, indem er alle Nachrichten zwischen dem Clientcomputer und dem Server abfängt. Sie können alle Nachrichten anzeigen. Dies ist sehr nützlich, da zwischen Client und Server viel Datenverkehr besteht, der von außen nicht sichtbar ist. Mit einem Proxyserver können Sie den Inhalt des Datenverkehrs nicht nur untersuchen, sondern auch ändern. In der Tat können Sie vollständig bestimmen, was für Schüler, die im Klassenzimmer Programmieren studieren, auf den Server geht.

Ich möchte darauf hinweisen, dass es für niemanden von Bedeutung ist, wie Sie Ihren Code auf der Clientseite verwalten, da ein guter Hacker Ihre Kontrolle immer umgehen kann, indem er sich an den Server wendet, der mit Ihrem Browser verbunden ist. Um unsere Anwendung zu knacken, benötigen wir einen Proxyserver. Es ist nicht schwer, es zu bekommen - Sie laden einfach einen Proxy aus dem Internet herunter.



Auf der Folie sehen Sie drei beliebte Proxys: WebScarab, BurpSuite und Paros. Sie können sie kostenlos herunterladen, wie jede andere Anwendung installieren und Ihren Browser so konfigurieren, dass er in wenigen Minuten mit Proxys arbeitet.

Die erste Art von Angriff, die wir heute verwenden, ist Dictionary Attack oder Dictionary Search. Bei allen Angriffen dieser Art wird versucht, das Kennwort einer Person zu ermitteln, indem die Liste der beliebtesten Kennwörter und Standardkennwörter mithilfe einer Sammlung von Kennwortwörterbüchern sortiert wird. Wenn Sie ein solches Wörterbuch benötigen, kann es auch aus dem Internet heruntergeladen werden. Dies ist eine öffentliche Ressource.
Bevor Sie einen Wörterbuchangriff starten, müssen Sie die Kennwortrichtlinie für die Anwendung, die Sie angreifen möchten, sorgfältig studieren. In unserem Fall sind „Fakultätsseiten“ an das Passwort der Adams University gebunden. Daher müssen wir herausfinden, welche Art von Passwort wir auswählen, um die Anwendung zu knacken.



Der beste Weg, um herauszufinden, wie das Passwort aussieht, ist die Verwendung der Passwortwiederherstellungsfunktion, da sie Ihnen einen Hinweis gibt. Schauen Sie, was ich getan habe - haben Sie einfach das falsche Passwort eingegeben, und diese Leute waren so nett, dass sie ganz oben auf der Seite eine Nachricht gepostet haben, die beschreibt, welche Art von Passwörtern ich ausprobieren kann. So lerne ich, dass ich in meinem Wörterbuch, das bei der Durchführung von Dictionary Attack verwendet wird, alle Wörter mit einer Länge von mindestens 8 Zeichen mit Groß- und Kleinbuchstaben und Zahlen ausprobieren sollte.

Ich muss zugeben, dass sie den Service seit meinem letzten Besuch auf der Website verschlechtert haben. Jetzt können Sie nicht nur die Funktionalität ihres Passworts überprüfen, da sie ihre Richtlinien in Bezug auf Hacker in eine weniger freundliche geändert haben. Wie Sie sehen, geben sie Ihnen jetzt keine Hinweise, wenn Sie versuchen, das Passwort zurückzusetzen.

Glücklicherweise habe ich einen Screenshot davon gespeichert, wie er vorher ausgesehen hat, damit wir wissen, welches Passwort wir wählen müssen. Ich denke, wir sind bereit, Eve das Wort zu erteilen, damit sie zeigt, wie der Angriff mit der Wörterbuchsuchmethode ausgeführt wird.

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

Da ich das Passwort von Dr. Loveland abholen werde, gebe ich ihren Benutzernamen slowenisch in die Zeile mit dem Benutzernamen ein, gebe das falsche dreistellige Passwort ein und klicke auf die Schaltfläche "Anmelden". Danach erscheint die Meldung „Ungültige Anmeldung“. Es ist sehr wichtig zu sehen, wie die Anwendung auf ein falsches Kennwort reagiert.

Als Nächstes muss ich meinen Browser für die Verwendung eines Proxyservers konfigurieren, damit ich die Einstellungen für Firefox ändere. Öffnen Sie die Registerkarte "Erweiterte Einstellungen", deaktivieren Sie das Kontrollkästchen "System-Proxy-Einstellungen verwenden" und aktivieren Sie das Kontrollkästchen "Manuelle Proxy-Konfiguration verwenden". Mein Proxy "hört" auf Port 8080, damit er alle an den Server adressierten Anforderungen abfangen kann.



Als nächstes muss ich den heruntergeladenen Proxyserver installieren, in meinem Fall Burp Suite. Jetzt sehen Sie, wie das Fenster dieses Proxys aussieht, das ich während des Angriffs benutze. Ich muss jedoch zur Autorisierungsseite zurückkehren und sie erneut an den Server senden. Tatsache ist, dass ein Problem auftreten kann, 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 ein entsprechendes Sicherheitszertifikat. Daher muss ich zuerst bestätigen, dass die Anwendung eine unsichere Verbindung mit dem Proxy verwenden kann, und ihre URL in die Ausnahmen für Sicherheitsrichtlinien aufnehmen.



Was könnte passieren, wenn ich diesen Fehler nicht korrigiere? Lass mich zurückgehen und dir das zeigen. Ich kehre zu den Browsereinstellungen zurück, und dieses Mal werde ich mich nicht beeilen, manuelle Proxyeinstellungen zu installieren, die Anforderungen abfangen. Ich werde das Kontrollkästchen "System-Proxy-Einstellungen verwenden" erneut aktivieren, da ich wirklich zuerst die ursprüngliche Autorisierungsseite abrufen muss. Auf dieser Seite gebe ich die Browsereinstellungen ein und wechsle zurück zu den manuellen Proxy-Einstellungen.

Jetzt haben wir eine Autorisierungsseite, die mit dem Proxyserver „spricht“. Ich gebe den Benutzernamen von Dr. Loveland und das gleiche ungültige Passwort - fff - erneut ein, die an meinen Proxyserver gesendet werden.

Als Nächstes gehe ich zur Serververwaltungsseite und klicke auf die Registerkarte, die das Fenster zum Anzeigen der empfangenen Anforderung öffnet.



Mal sehen, wie diese Abfrage in Spider aussieht - dies ist die nächste Registerkarte im Burp Suite-Fenster. Dazu verwende ich den Befehl "An Spider senden" und sehe, wie das Anmeldeformular aussieht. Es ist wirklich interessant. Ich klicke auf die Schaltfläche "Formular ignorieren".



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



Wir haben hier verschiedene Angriffsmethoden - Scanner, Eindringling, Repeater, Sequenzer, Decoder, Komparator. Ich werde Intruder verwenden, daher sende ich ihm diese Informationen mit dem Befehl "An Eindringling senden" und sie werden im Fenster auf der Registerkarte "Positionen" angezeigt. Dies sind alle Informationen, die an den Proxyserver gesendet wurden.



Es zeigt viele versteckte Dinge, die auf der Webseite nicht zu sehen 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 wurden. Das einzige, was uns für Dictionary Attack interessiert, ist das Passwort. Daher werde ich die meisten Felder löschen, das Passwortfeld auswählen und über die Schaltfläche Hinzufügen § dieses Feld 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 - Scharfschütze, Rammbock, Heugabel oder Streubombe. Ich mache es einfach und wähle den Sniper-Angriff. Als nächstes wird auf der Registerkarte "Payloads" ein kleines Setup durchgeführt - wir werden eine Zeichenersetzung vornehmen, da ich nur die Kennwortzeichen durch die 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. Bitte beachten Sie, dass ich alle Wörter mit weniger als 8 Zeichen gelöscht habe, da ich keine Zeit verschwenden 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 gezwungen sind, ein Passwort zu wählen, bei dem Sie entweder Zahlen oder Symbole eingeben müssen, haben Sie jemals Zahlen oder Symbole ausgewählt, die wie die entsprechenden Buchstaben aussehen durch welche wirst du sie ersetzen? Sie könnten versucht sein, diese Methode zu verwenden, um das Speichern Ihres Passworts zu erleichtern, aber Hacker sind sich dessen bewusst. Daher verwenden die Leute oft 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, weil es so aussieht. In diesem Block können Sie also solche Entsprechungen konfigurieren.

Ich weiß auch, dass Universitätskennwörter Großbuchstaben erfordern. Da mein Wörterbuch nur Kleinbuchstaben enthält, verwende ich das folgende Menü, um den Kennwortauswahlprozess zu ändern und die Wortschlüssel zu ändern, die an dieses Hacker-Tool gesendet werden. Ich stelle auch fest, dass Sie Eigennamen verwenden können. Da dieser Computer der Wissenschaftlerin gehört, verwendet sie wahrscheinlich gerne Satzzeichen, und ich biete eine solche Option an, indem ich sie mit einem Dropdown-Menü markiere.

Als letztes gehen Sie zur Registerkarte Optionen und geben Sie die Adresse der Site ein, die wir hacken möchten. Daher gebe ich hier die Adresse der Autorisierungsseite ein.

Ganz am Ende muss ich ein Tool verwenden, das mich darüber informiert, ob das Kennwort korrekt ist oder nicht. Daher gebe ich den Parameter Login Error in die Zeichenfolge ein, damit das Erscheinungsbild dieses Ausdrucks auf dem Bildschirm beim Versuch, mich anzumelden, einen Fehler anzeigt.



Jetzt kann ich meinen Angriff starten. Ich stelle fest, dass es nicht allzu profitabel ist, jahrelang Partner von Dr. Loveland zu sein. Daher konnte ich keine professionelle Version von Burp Suite kaufen und nutzte die kostenlose Version, die über das Fenster auf dem Bildschirm angezeigt wurde. Im Intruder-Fenster sehen Sie also, wie der Hacking-Prozess abläuft, und verschiedene Buchstaben und Symbole werden in die bewährten Kennwortvarianten eingesetzt.



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



Dr. Loveland wählte das Passwort A @ rdv @ rk mit Zeichen und Buchstaben, damit dieses Passwort den Anforderungen der Universität voll und ganz entspricht und mit Dictionary Attack leicht zu erraten war. Daher sollten Sie bei der Auswahl Ihres Passworts sehr, sehr vorsichtig sein.
Also gebe ich Dr. Loveland das Wort, aber bitte beachten Sie, dass ich jetzt Ihr Passwort kenne und jederzeit in Ihrem Namen auf die Website zugreifen kann (entfernt den Black Hat).

Susan Loveland: Danke, Eva. Ich möchte das Publikum fragen: Wie häufig sind Angriffe zum Knacken von Passwörtern? Die Antwort ist sehr, sehr häufig! Laut Experten weisen etwa 70% der Websites Schwachstellen im Autorisierungssystem auf. Dies bedeutet, dass der Anwendungsentwickler einen Fehler im Anmeldemechanismus gemacht hat, der das Hacken der Site erleichtert. Aber Dictionary Attack-Angriffe sind auf jeden Fall bei Hackern sehr beliebt. Am 5. Januar letzten Jahres wurde diese Hacking-Methode gegen das Twitter-Administratorkonto angewendet, mit dem die Konten von 33 sehr berühmten Personen, einschließlich Obama, gehackt und Hacking-Witze auf ihren Seiten veröffentlicht wurden.

Ich erzähle Ihnen von einem solchen anekdotischen Fall: Als ich den Webserver für meinen Kurs im letzten Jahr startete, waren es nur vier Studenten, aber theoretisch handelt es sich um einen sehr, sehr wichtigen Server. Zwei Wochen nach dem Start wurden Angriffe wie " 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


Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden empfehlen, einen Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis zum Frühjahr kostenlos, wenn Sie ein halbes Jahr bezahlen, können Sie hier bestellen.

Dell R730xd 2 mal günstiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?

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


All Articles