· 

Wie HACKER an DEINE DATEN kommen

In meinem Video Wie Hacker Passwörter knacken hast du gesehen, welche Techniken Hacker einsetzen, um an dein Passwort zu kommen. Doch wie kommen sie an deine E-Mail-Adressen, Telefonnummern, Zeugnisse, Lebensläufe, Hobbies oder sonstigen Vorlieben? In diesem Artikel möchte ich dir zeigen, wie theoretisch jeder an diese Informationen kommen kann und was Anbieter von Online-Diensten machen müssten, um dem entgegenzusteuern. Aber keine Sorge: Auch du wirst in die Pflicht genommen. Schließlich bist du es, der persönliche Daten von sich selbst ins Internet lädt. Seien es dein aktueller Beziehungsstatus auf Facebook, dein Lebenslauf auf LinkedIn oder Fotos von deinem letzten Japan-Urlaub auf Instagram


OSINT und SOCMINT

Und damit wären wir schon bei der ersten Technik, bei der man weder Exploits, Hacking-Tools oder fremde Zugangsdaten braucht, nämlich die sogenannte Open Source Intelligence (kurz OSINT). Hierbei handelt es sich um die Informationsgewinnung aus offenen, frei verfügbaren Quellen. Was ist damit gemeint? Nun, jeder von uns, der schon einmal das Neuland betreten hat, hinterlässt digitale Spuren. Diese virtuellen Brotkrümel müssen nur aufgesammelt und ihre Spur quer durchs Internet verfolgt werden. Wenn man gezielt in sozialen Netzwerken wie Facebook oder LinkedIn nach Informationen sucht, spricht man von Social Media Intelligence (SOCMINT). SOCMINT ist quasi eine Teilmenge von OSINT, da man dabei seine Informationen ebenfalls aus öffentlichen Quellen bezieht. Eine OSINT-Informationsgewinnung kann durch ein einfaches Wasserfallmodell beschrieben werden:

  1. Zuerst kommt die Identifikation von Datenquellen, an denen man dann
  2. im nächsten Schritt Daten sammelt. 
  3. Diese Daten werden anschließend verarbeitet und so aufbereitet, dass man sie mit geeigneten Werkzeugen und Methoden
  4. analysieren kann.
  5. Im letzten Schritt wird ein Bericht angefertigt und an den Auftraggeber, der man auch selbst sein kann, ausgeliefert. 

Hierzu ein ganz einfaches, praxisnahes Beispiel, das ziemlich häufig vorkommt. Ein Recruiter möchte im Auftrag eines Kunden einen geeigneten Kandidaten für eine Stelle als Cyber-Analyst finden. Der Recruiter hat es auf Herrn Eduard Schnee abgesehen und versucht nun, möglichst viel über ihn herauszufinden, um zu prüfen, ob Herr Schnee ein geeigneter Kandidat für den Kunden ist. 

  1. Der Recruiter identifiziert das LinkedIn-Profil von Herrn Schnee und dessen Webseite als mögliche Datenquellen.
  2. Im zweiten Schritt sammelt der Recruiter Informationen zum bisherigen Werdegang von Herrn Schnee auf LinkedIn. Er sieht, dass Herr Schnee wohl 5 Jahre für eine Behörde im Bereich offensive Datenanalyse gearbeitet hat und findet auf seiner Webseite einige Veröffentlichungen zu diesem Thema. Dort erfährt er auch, dass Herr Schnee viele Erfahrungen mit Python, Splunk und Metasploit sammeln konnte.
  3. Die auf LinkedIn und der Webseite gefundenen Informationen pflegt er in zwei separate Word-Dateien ein. Die Trennung der Inhalte ist in ihrer Herkunft aus verschiedenen Quellen begründet (so wird schon einmal eine gewisse Struktur in die zunächst unsortiert vorliegenden Daten gebracht). Diese kann er nun zusammenführen, um zum einen die Plausibilität der biographischen Angaben zu überprüfen (z.B. Zeitangaben zum akademischen und beruflichen Werdegang) und ein vollständiges Skillset-Profil aufzubauen.
  4. Im vierten Schritt analysiert der Recruiter die gefundenen Informationen dahingehend, ob Herr Schnee dem Wunschprofil des Kunden entspricht. 
  5. Abschließend wird ein Bericht geschrieben, der die gewonnenen Erkenntnisse über Herr Schnee auflistet. Diesen händigt der Recruiter seinem Kunden aus.

OSINT und SOCMINT werden vor allem kurz vor einem Social Engineering Angriff eingesetzt und ist Teil der sog. Reconnaisance, also der ersten Phase eines Hacking-Angriffs. Da man in diesem Fall durch das Auswerten von öffentlichen Daten "passiv" Informationen sammelt, spricht man hier von einer "passive Reconnaissance".

Um OSINT betreiben zu können, kann man einige Tools verwenden. 

 

  • Google ist ein gutes Beispiel. Über die wohl bekannteste Suchmaschine der Welt kann man sehr viele Informationen finden. Manchmal mehr als einem lieb ist. Es gibt, wie auch bei DuckDuckGo, diverse Befehle, mit denen man eine Art Google-Hacking betreiben kann. So ist es bspw. möglich mit dem Befehl site:www.example.com und weiteren Keywords explizit nach Informationen auf einer bestimmten Seite zu suchen. Mit filetype:pdf ist es möglich, das Internet speziell nach PDF-Dateien suchen und intitle: zeigt ausschließlich Suchergebnisse, die bestimmte Wörter im Titel enthalten. Die Möglichkeiten, mit Google zu Hacken sind sehr vielseitig.
  • Mit hunter.io kann man E-Mail-Adressen aufspüren, die zu einem bestimmten Unternehmen gehören. Dort sieht man teilweise auch, wie die Adressen zusammengesetzt sind (also z. B. vorname.nachname@unternehmen.de). Außerdem listet hunter.io auf, wo die entsprechenden  Adressen öffentlich im Internet stehen. Dadurch kann man bspw. herausfinden, in welchen Bereichen die Mitarbeiter eines Unternehmens aktiv sind und wie man sie durch eine Watering Hole Attacke angreifen kann. Deshalb sollte man die E-Mail-Adressen eines Unternehmens nach Möglichkeit nicht zu breit im Internet streuen und sie so zusammensetzen, dass man nicht direkt auf die dahinterstehende Person schließen kann. Außer man hat kein Problem damit, dass Hacker diese Informationen für weitere Recherchen nutzen.
  • Mit shodan.io lassen sich offene Ports und IoT-Geräte, die über das Internet erreichbar sind, aufspüren. Diese sind zwar meistens mit Benutzernamen und Passwörtern versehen, doch seien wir mal ehrlich: Die Kombinationen admin-admin oder admin-12345 funktionieren leider viel zu häufig. Manche Geräte (wie bspw. Webcams) stehen teilweise völlig unverschlüsselt im Internet. Teilweise beabsichtigt wie Live-Webcams zum Aufzeichnen des bunten Treibens in manchen Städten und leider viel zu häufig unbeabsichtigt. Mit shodan.io lassen sich nach Bekanntwerden einer bestimmten Sicherheitslücke Geräte aufspüren, die anfällig Schwachstelle sind. Die Betreiber kann man dann darüber informieren, dass sie einem potentiell massiven Sicherheitsrisiko ausgesetzt sind.
  • Um zu überprüfen, ob die eigenen Daten (also Passwörter, E-Mail-Adressen und Telefonnummern) geleakt wurden, kann man haveibeenpwned.com verwenden. Hierzu habe ich bereits einige Videos gedreht.

Data Breach

Apropos geleakte Daten: Data Breaches (zu Deutsch: Datenpannen) sind eine weitere Möglichkeit, um an (unfreiwillig) öffentlich gemachte Informationen zu kommen. Egal, wie sehr du dich auch anstrengst ... du alleine wirst nicht für die absolute Sicherheit deiner Daten garantieren können. Immer dann, wenn man sich irgendwo im Internet registriert, wird der eingegebene Datensatz in einer Datenbank gespeichert, die unbedingt vor Hackern geschützt werden muss. Ist das nicht der Fall, kann es zu einer Datenpanne kommen, bei der große Teile oder ALLE Inhalte dieser Datenbank öffentlich gemacht werden. Gnade dem Unternehmen, wenn sie die Benutzerpasswörter nicht ausreichend gewürzt, schwach gehasht oder IM KLARTEXT (!) gespeichert haben. Zudem sollte der Betreiber eines Online-Dienstes, der eine Registrierung mit Benutzername und Passwort anbietet, darauf achten, dass er von den Benutzern SICHRE PASSWÖRTER einfordert. Es wäre also kontraproduktiv maximal 12 Stellen und keine Sonderzeichen zu erlauben, wie ich es schon erlebt habe. Ich sage nur Ihr Passwort ist zu lang. Je mehr Online-Diensten du deine persönlichen Daten anvertraust, desto höher ist die Wahrscheinlichkeit, dass du früher oder später geleakt wirst. Deshalb ist es sinnvoll, wo es legal möglich ist, Phantasienamen anzugeben, sichere Passwörter zu wählen und Sicherheitsfragen NICHT wahrheitsgemäß zu beantworten. Wie schon gesagt: Wenn du auf Instagram ein Foto mit deinem Samoyeden-Welpen "Max" postest und ein Hacker versucht, deinen Account zu übernehmen, weiß er bei der Sicherheitsfrage "Wie lautet der Name deines Hundes" die Antwort.

Schon alleine aufgrund möglicher Datenpannen ist es sinnvoll, eine Löschfrist für Daten vorzuschreiben, um das Risiko, im Falle eines Angriffs eine gewaltige Datenmenge zu "verlieren", zu minimieren. Wenn auf den Systemen, die solche personenbezogenen Informationen speichern, Trojaner laufen oder eine andere Form von Überwachung stattfindet, können sich Hacker natürlich immer frische Daten ziehen. Die Löschfrist ist in diesem Falle wirkungslos. Ein Unternehmen kann nicht für die 100%ige Sicherheit der gespeicherten Daten garantieren. DAS GEHT NICHT! Zwar gibt es rechtliche Vorgaben, die ein Unternehmen dazu verpflichten, technische und organisatorische Maßnahmen zum Schutz von personenbezogenen Daten zu ergreifen, doch nur weil es im Gesetz steht, heißt es nicht, dass auch immer umgesetzt werden kann. Mal fehlt es an Wissen, mal an monetären Ressourcen und mal an beidem. Für die rechtlich vorgeschriebenen "Maßnahmen", die nebenbei bemerkt teilweise sehr "schwammig" formuliert sind, müssen zudem "verhältnismäßig" sein, d. h. ein gewisses Risiko durch verhältnismäßige, aber aufgrund findiger Hacker nicht ausreichende Maßnahmen bleibt bestehen. 

Sicherheit und Freiheit sind die beiden Enden eines Kontinuums, das situationsabhängig zwischen dem Datenlieferanten (also dir) und dem Datensammler (dem Unternehmen) ausgehandelt werden muss.


Scraping

Kommen wir nun einer Technik, die durch die jüngsten Leaks von Facebook und LinkedIn Aufmerksamkeit in der breiten Öffentlichkeit erfahren hat: Scraping. Was zunächst einmal harmlos klingt, entpuppt sich als mächtige Waffe, die immerhin über eine halbe Milliarde Handynummern zutage gefördert hat.

Was ist Scaping? Ganz allgemein meint man damit zunächst einmal alle Verfahren zum Auslesen von Texten aus Computerbildschirmen. In den meisten Fällen bezieht man diesen Begriff allerdings auf Webseiten. Mithilfe spezieller Werkzeuge kann man Inhalte auslesen, verarbeiten und so bspw. den Browser automatisieren. Wie das funktioniert, habe ich in meiner Videoreihe zu Python und Selenium gezeigt. Ich habe meinen Browser z. B. dazu gebracht, das Google-reCAPTCHA automatisiert zu lösen ... dafür habe ich ebenfalls Scraping verwendet, um die Bedienelemente im HTML-Quellcode zu finden, um diese von meinem Bot bedienen zu lassen. 

An sich ist Scraping und die Automatisierung des Browser erstmal nicht illegal. Es kommt eben darauf an, was genau du machst. Das, was ich hier jetzt beschreibe, solltest du auf gar keinen Fall zu Hause nachmachen!

Eine Anwendung von Scraping, die gegen die Nutzungsbedingungen von Facebook verstößt, ist, sämtliche zufallsgenerierte Rufnummern auf Facebook oder WhatsApp zu suchen, um zu schauen, ob die entsprechende Nummer zu irgendeinem Account gehört. Dadurch erhält man nicht nur eine Liste mit validen Telefonnummern, sondern auch eine Liste der Nummern, die auf WhatsApp registriert sind. Laut Facebook wurde diese Funktion mittlerweile deaktiviert, doch sie war lange genug online, um EINE MENGE Telefonnummern zu sammeln und sie Profilen zuzuordnen.

Eine weitere nicht regelkonforme Anwendung ist das Auflisten aller Verzeichnisse und Unterverzeichnisse auf Webseiten. Durch Fuzzing (also das Ausprobieren aller möglichen Pfade auf Basis von speziellen Wörterlisten) kann man ggf. Orte auf einem Server finden, die man eigentlich gar nicht finden sollte. Zwar geben einige Webseiten in der robots.txt an, welche Verzeichnisse nicht durchsucht werden dürfen, doch nur die braven Crawler bekannter Suchmaschinen halten sich (vielleicht?) daran. Ein Angreifer könnte sich über dieses Verbot hinwegsetzen und so eine Menge Daten sammeln. Das ist allerdings verboten und sollte deshalb NICHT gemacht werden. 

Und wie kommt man an E-Mail-Adressen und Benutzernamen (die oft einfach nur die E-Mail-Adressen sind)? Nun, man könnte automatisierte Login-Anfragen an eine Webseite schicken. Wenn als Antwort so etwas wie "Ihr Passwort ist falsch" zurückkommt, scheint diese Meldung erstmal nicht sonderlich hilfreich zu sein. Bei näherer Betrachtung fällt jedoch auf, dass nur von einem "falschen Passwort" die Rede ist ... den Benutzernamen scheint es offenbar zu geben. Besser wäre es zu schreiben "Ihr Benutzername oder ihr Passwort ist falsch". Klar ist das weniger komfortabel, erhöht aber die Sicherheit, da einem Scraper nicht gezeigt wird, ob der Account existiert. Du kannst durch Hinsehen aber leicht nachprüfen, ob deine E-Mail-Adresse korrekt ist. So etwas bitte auch NICHT nachmachen.

Meistens müssen die Webseitenbetreiber hier aktiv werden und so ein auffälliges Verhalten unterbinden. Das erreicht man entweder durch IP-Bans oder entsprechende Einstellungen, die Benutzer im Datenschutzbereich vornehmen können. Diese Maßnahmen sind aber nicht immer effektiv, denn man kann VPNs verwenden, seine Anfragen über mehrere Proxy-Server schleifen oder menschliches Verhalten imitieren. Eine weitere Möglichkeit besteht auch darin, solche Funktionen, die potentiell für Scraping missbraucht werden können, zu deaktivieren. Muss man wirklich Benutzer auf Facebook anhand ihrer Telefonnummer finden können? Muss man wirklich darüber informiert werden, dass das Passwort falsch, der Benutzername aber richtig war? Muss man Informationen, die man in seinem Online-Profil von sich preisgibt, wirklich ALLEN per Default zur Verfügung stellen? Ich denke nicht! Und genau durch so etwas kann man Scraping-Versuche im Keim ersticken.


Ich hoffe, dass ich dir mit diesem Artikel ein wenig die Augen öffnen konnte, aus welchen Quellen Hacker Daten über dich beziehen können. Einiges entzieht sich deiner Kontrolle (wie etwa Datenpannen), anderes wiederum kannst direkt beeinflussen. Hier gibt es noch 8 schnelle Tipps: 

  • Poste möglichst wenige (am besten keine) Informationen über dich in sozialen Netzwerken (das schließt berufliche Netzwerke wie Xing oder LinkedIn mit ein).
  • Registriere dich nicht auf jeder x-beliebigen Seite, schon gar nicht wenn sie aussieht, als hätten die 90er sie gerne wieder zurück.
  • Gib deine Handynummer nach Möglichkeit nirgendwo ein! Damit kann man, in falschen Händen, ziemlich viel Schindluder treiben.
  • Lade keine Bilder oder Videos von dir auf Fotoplattformen hoch. Mit Deepfakes ist mittlerweile ein sehr realistisches Fingieren von Situationen mit dir in der Hauptrolle, an denen du aber nie teilgenommen hast, möglich.
  • Gib möglichst wenig von deiner Stimme im Internet preis, da man mit zukünftigen Technologien wahrscheinlich täuschend echte Sprachprofile von dir erstellen kann.
  • Sprich online nur mit Personen, die du auch im realen Leben kennst. Vor allem dann, wenn du minderjährig bist! Bitte reagiere auf keine Annäherungsversuche von irgendwelchen Personen, die du nicht kennst. Melde das lieber!
  • Surfe mit VPNs.
  • Wähle sichere Passwörter!