6 Gründe warum Unternehmen gehackt werden

Sebastian Bicchi
13.06.2017 | Awareness

Als Penetrationtester versuche ich, in Unternehmen in deren Auftrag einzudringen. Dabei verwende ich dieselben Werkzeuge und Methoden die auch Hacker einsetzen. In diesem Artikel beschreibe ich kurz, aus welchen Gründen ich beim Eindringen am häufigsten Erfolg hatte, und wie man sich besser Schützen kann.

1 - Veraltete Software

Platz 1 belegt veraltete Software: Schlicht und einfach nicht auf dem aktuellen Stand befindliche Software macht es oft sehr einfach in Systeme einzudringen. Einer der ersten Schritte, die ich bei einem Penetration Test durchführe, ist die Identifikation der verwendeten Software-Komponenten und der Abgleich mit der CVE-Datenbank. In der Common Vulnerability Enumeration Datenbank ( https://cve.mitre.org) werden bekannte Schwachstellen von Softwarekomponenten gespeichert. In dieser Datenbank suche ich gezielt nach den gefundenen Softwarekomponenten - gibt es einen öffentlich verfügbaren Exploit, ist die Sache bereits fast gelaufen. Oft finde ich Schwachstellen nicht in den "Haupt-Systemen", sondern in den im nächsten Punkt behandelten "vergessenen Systemen".

Durch regelmäßige Updates, am besten in Form eines Update-Prozesses, kann diesem Problem entgegengewirkt werden.

Um einen korrekten Update-Prozess einzuführen, müssen Sie zunächst wissen, welche IT-Komponenten überhaupt in Ihrem Unternehmen verwendet werden. Legen Sie nach einer kurzen Risikobeurteilung einen Update-Plan fest: Systeme mit höherem Risiko (z.B. externe Systeme oder solche mit Kontakt zu sensiblen Kundendaten) sollten häufiger aktualisiert werden. Automatisierte und zentralisierte Verwaltungen sind eine große Hilfe, müssen aber korrekt konfiguriert werden. Vergessen Sie nicht auf Software, die sich außerhalb von zentralisierten Management Einrichtungen befindet (z.B. zusätzlich Software auf Linux-Servern, die nicht durch die Paketverwaltung aktuell gehalten wird).

2 - Vergessene Systeme & Dateien

Auf Platz 2 haben es die vergessenen Systeme geschafft: Damit meine ich Systeme und Dateien die überhaupt nicht da sein dürften. So konnte ich in ein großes Unternehmen erfolgreich eindringen, weil vergessen wurde, eine Web-GUI zur Datenbankbearbeitung zu entfernen. Dieses Tool war nur für die Zeit der Website-Erstellung gedacht, wurde aber mit in die Produktion übernommen. Ich fand dieses Tool mit einem Directory-Bruteforcer und konnte die Datenbank des CMS Systems herunterladen. In der Datenbank befanden sich die Passwörter in verschlüsselter Form. Mit einem System zum Brechen solcher Hashes konnte ich das sehr schwache Administrator-Passwort in wenigen Minuten im Klartext herausfinden.

Vergessene Systeme sind deshalb besonders problematisch, da oft keine Aufzeichnung über deren Existenz vorhanden sind. So wird vergessen, Sie zu entfernen, auf dem aktuellen Stand zu halten oder sie abzusichern. Oft handelt es sich dabei um Werkzeuge, die nur zur Entwicklung oder Migration benötigt wurden und dann nicht mehr entfernt wurden.

Ebenso häufig finde ich Systeme oder Komponenten, die das Unternehmen nur "kurz testen" wollte, die nach dem Test aber vergessen wurden. So konnte ich einen alten SIP Server ausfindig machen, der so schlecht konfiguriert war, dass ich ihn ohne spezielles Werkzeug dazu bringen konnte, mich in das IT-System des Unternehmens zu lassen.

3 - Schwache Passwörter und Login-Mechanismen

Erst auf Platz 3 haben es die schwachen Passwörter geschafft: Passwörter wie "12345" oder "website2016" sind auch im Jahr 2017 immer noch in Mode. Der Grund warum ich sie erst auf Platz 3 reihe ist, dass ich zunächst eine Stelle zum Andocken benötige, um schwache Passwörter auszunutzen. Damit meine ich ein extern - oder intern, je nachdem von wo aus ich den Test starte - verfügbares Login-Interface oder einen Service, der es mir erlaubt Passwörter durchzutesten. Gut für mich als Penetration Tester oder Hacker (und damit schlecht für die Sicherheit) sind dabei:

  • CMS-Interfaces: Sollte auf Ihrer Website ein Administrator-Logon zu Ihrem CMS verfügbar sein, z.B. unter "/typo3" oder unter "/wp-admin", stehen die Chancen gut, dass jemand bereits dabei ist, sämtliche Passwörter durchzutesten
  • Mail-Server: Mail-Server verlangen einen Login beim Senden um Spamming, Flodding und Mail- Spoofing zu vermeiden und beim Empfangen um sicherzustellen, dass nur der jeweilige Nutzer tatsächlich seine Mails abrufen kann
  • SSH Server: SSH Server am Netz sind gang und gäbe. Wird hierbei nur auf Passwort-Login gesetzt sind diese Server ein beliebtes Ziel für Brute-Force Angriffe.
  • Webmail und andere Web-Interfaces: Diese sind mittels Directory-Search oder sogar mittels Google-Suche leicht zu finden und bieten ein wertvollen Angriffspunkt. (Versuchen Sie z.B. einmal bei Google folgenden Suchbegriff: "site: ihredomain.at +intern" oder "site: ihredomain.at +logon")

Kommen wir zum Schutz vor Brute-Force Angriffen: Die verfügbaren Login-Mechnismen schützen Ihre Benutzer oft nicht vor Brute-Forcing. So kann ich mit den richtigen Werkzeugen abertausende Kombinationen pro Sekunde durchprobieren und die Chance, dass ich es schaffe eine gültige Benutzername + Passwort Kombination zu finden ist sehr hoch.

Für mich als Penetration Tester sind System-Logins grundsätzlich weitaus interessanter als Kunden-Logins, da ich mit einem Systemzugang meistens gleich die Kundendaten abgreifen kann.

4 - Fehlende Awareness

Platz 4 - eigentlich Ex Aequo mit Platz 3 - ist die fehlende Mitarbeiter Sensibilität ("Awareness"). Beim Social Engineering versuche ich ohne direkte technische Angriffe Mitarbeiter dazu zu bewegen, mir Zugang oder Zugriff zu sensitiven Daten oder Unternehmensräumlichkeiten zu geben.

Beispiele für sehr erfolgreiche Methoden:

  • Eine E-Mail mit einem Link zu einer Seite, bei der die Mitarbeiter Ihre Login-Daten eingeben müssen (Phishing)
  • USB-Sticks, die "liegen gelassen" werden, von Mitarbeitern an die Unternehmensrechner angeschlossen werden und dann Schadsoftware verbreiten ( durchschnittlich wird jeder zweite "verlorene" Stick angesteckt)
  • "Ich bin ein Mitarbeiter von XXX, Ihrem Internetanbieter. Ich benötige kurz Zugang zu Ihrem Serverraum."

5 - Selbst gestrickte Software

Sehr oft finde ich selbst entwickelte Software, die dazu gedacht ist, eine bestimmte Anforderung zu erfüllen, die zum Entwicklungszeitpunkt nicht von der Standard-Software abgedeckt wurde. Diese Software besitzt oft nicht einmal essentielle Schutzfunktionen und lässt sich mit den entsprechenden Werkzeugen innerhalb weniger Minuten knacken. Auch werden eigene Software-Lösungen oft nicht regelmäßig geprüft und gewartet. So bleiben Schwachstellen unentdeckt oder werden auch bei ihrer Entdeckung nicht behoben. Temporäre Lösungen haben leider die Eigenschaft sehr oft nicht temporär zu bleiben und dann die gesamte Unternehmens-IT zu gefährden.

6 - Fehlerhafte Konfiguration

Ein weiterer Grund für Schwachstellen ist schlecht konfigurierte Software. Viele Software Komponenten kommen standardmäßig mit einer suboptimalen Sicherheitskonfiguration, die Angreifern Tür und Tor öffnet oder es zumindest leichter macht, Informationen zu erhalten.

Fazit

Fast immer wenn ich erfolgreich in ein System eindringe, handelt es sich um ein Zusammenspiel der hier genannten Punkte. Bevor man daran denkt, teure zusätzliche Sicherheitssoftware anzuschaffen, müssen die Basis-Punkte dieser Liste erfüllt werden. Spezielle Security-Software kann einen enormen Gewinn darstellen - ist aber nahezu nutzlos wenn die hier genannten Punkte nicht bearbeitet wurden. Wenn Sie die hier genannten Ratschläge befolgen, haben Sie mit einigen einfachen Maßnahmen bereits einen enormen Sicherheitsgewinn. Um Ihre IT hinsichtlich Schwachstellen professionell untersuchen zu lassen, kontaktieren Sie uns einfach: Kontaktmöglichkeiten

Labels

unternehmenssicherheit datenschutz hacking penetration testing awareness updates it-security informationssicherheit
logo

SEC-Research

Social Links