Einleitung
Mein Ziel ist es euch für das Thema WordPress Security zu begeistern.
Damit ihr mehr Aufmerksamkeit bei euren zukünftigen Projekten für das Thema aufbringt.
Wieso ist das Thema für euch interessant?
Wenn ihr Webseiten als Dienstleistung entwickelt, möchtet ihr nicht dass die Website eures Kunden gehackt wird.
Wenn ihr selbst eine umfangreiche Website oder einen Webshop betreibt, möchtet ihr auch nicht das dieser gehackt wird.
Es ist auch wichtig zu wissen welche rechtlichen oder wirtschaftlichen Konsequenzen bei einem Angriff auf euch zukommen.
Es geht schlicht um die Erhaltung eurer wirtschaftlichen Existenz.
Eines Vorweg: Das Hacken von Webseiten egal zu welchem Zweck, ob gut oder böse ist strafbar. In Österreich nach dem §118a des Strafgesetzbuches, wird der widerrechtliche Zugriff auf ein Computersystem mit bis zu drei Jahren Freiheitstrafe geahndet.
Wer bin ich?
Seit über 20 Jahren beschäftige ich mit der Entwicklung von Webseiten für namhafte Unternehmen.
Habe auf der FH Technikum Wien, Aktuelle Themen der Softwareentwicklung unterrichtet.
In den letzten 10 Jahren lag mein Fokus auf der Entwicklung von WordPress-Anwendungen mit der Spezialisierung auf IT-Security.
Unter Palmen hackt es sich besser
Ich möchte euch erzählen, wieso ich so sehr für dieses Thema brenne. Ich bin mir sicher, dass ihr zu den Panama Papers etwas gehört habt.
Ein anonymer Whistleblower hat 2016 Daten der Rechtsanwaltskanzlei Mossack Fonseca veröffentlicht. Dabei sind die Steuertricks und Geldwäschedelikte von weltweit bekannten Personen ans Tageslicht gekommen. Es wurden 2.6 TB an Daten entwendet. 11.5 Millionen E-Mails wurden gestohlen.
Wordfence, ein WP Sicherheitsplugin-Anbieter, hat es zeitnah nachstellen können wie der Datendiebstahl womöglich stattgefunden hat. Durch eine jahrelang bekannte Sicherheitslücke des Revolution Slider Plugins, konnte eine Websshell auf den Server hochgeladen werden. Damit konnte der Angreifer durch die Dateiverzeichnisse am Server navigieren. Durch Zufall waren die Dateirechte unzureichend gesetzt. Der Mailserver mit allen E-Mails lag auf der gleichen Maschine wie der Webserver.
Selten ist es genau nur eine Sicherheitslücke die zur Katastrophe führt, oft ist es eine unglückliche Verkettung von mehreren Problemen die dazu führt, dass der Hacker erfolgreich ist.
Man muss sich die Tragweite vor Augen führen, ein nicht aktualisiertes WordPress Sliderplugin auf der Website der Rechtsanwaltskanzlei, hat dazu geführt, dass die Steuertricks, Geldwäschedelikte von weltweit bekannten Personen aufgeflogen sind.
Politiker traten zurück und mehr als eine Milliarde Euro wurde von Finanzbehörden nachgefordert.
Herangehensweise – WordPress Website hacken
Zuerst einmal sollte eine grundlegende Frage geklärt werden. Bin ich überhaupt ein Angriffsziel?
Ist die Website welche ich umsetze ein potentielles Angriffsziel?
Grundsätzlich ist jede WordPress – Website welche öffentlich zugänglich ist, in Gefahr.
Mit genug Zeit und Ressourcen ist wahrscheinlich jede Website hackbar, egal wie gut sie gesichert wird.
Das heißt aber nicht, dass man sich zurücklehnen und nichts tun sollte, den je schwerer man es einem Angreifer macht desto höher ist die Chance dass der Angreifer sich ein leichteres Angriffsziel sucht.
Man unterscheidet automatisierte Angriffe durch Bots von Individuen oder Hacker Kollektiven.
Automatisierten Angriffen von Bots ist es egal ob eure Website und eure Daten wertvoll sind.
Hier wird nach dem Gießkannenprinzip einfach automatisiert nach WordPress gesucht, es werden Schwachstellen gescannt und mit bekannten Angriffsmethoden kombiniert.
Es werden Dateien und Datenbank mit Cryptolocker verschlüsselt und eine E-Mail mit Lösegeldforderung in Kryptowährung an den WP-Admin geschickt.
Früher hat man mit Malware einfach nur Schaden angerichtet, heute ist Malware ein wichtige Einkommensquelle um leicht Geld zu erbeuten.
Was ist die Motivation dahinter, viel Zeit und Aufwand in einen Einbruch hineinzustecken?
- Lösegeldforderung
- Industriespionage
- Kundendaten
- Sabotage
- Aktionismus (Ethical Hacking)
Der Raub vom Notebook aus ist viel einfacher, sicherer und bequemer geworden als eine Bank zu überfallen.
Ich habe eine gute und eine Schlechte Nachricht für euch.
Die gute Nachricht ist, dass ich über diverse einfache, unkomplizierte Sicherheitsvorkehrungen 99% der Vorfälle diese Vorfälle gut vermeidbar sind.
Eine zeitliche Investiton von ein paar Stunden steht dem Verlust der wirtschaftlichen Existenz gegenüber. Der Onlineshop steht still und bringt keinen Umsatz. Kundendaten sind verloren und kein aktuelles funktionierendes Backup ist vorhanden.
Die schlechte Nachricht ist, wurde man von einem Hacker als Angriffsziel ausgewählt, weil man Zugang zu wertvollen Daten hat, wird es sehr aufwändig sich zu schützen.
Beim Umsetzen eines Einbruches können folgende 9-Schritte angewendet werden:
1. Vorbereitung:Schutz durch Anonymität
- Tor-Browser
- Kali Linux auf einer virtuellen Maschine
2. Lohnendes Angriffsziel auswählen
Lohnt es sich für einen Hacker Zeit zu investieren um in ein Unternehmen einzubrechen, stehen ihm eine Vielzahl von guten Tools zur Verfügung.
3. Black-Box Ansatz: Anhand von Mapping oder Reconnaissance wird das Angriffsziel ausgespäht, möglichst ohne aufzufallen.
- Nmap (offene Ports, Backend Technologien, ausweichen von Firewalls, IDS, WAF um heimlich zu Scannen)
- ReconDog
- OSINT Tools (Google)
- WPIntel Chrome Plugin
4. Discovery: Scan durchführen
- WP Scan (Scan nach Sicherheitslücken mit aktueller Datenbank)
- Nikto (Scan nach Sicherheitslücken am Server)
- Burb Suite (Manipulation von HTTP Anfragen in Echtzeit)
- Nmap NSE Scripts
5. Anleitungen um Exploits zu finden und auszunutzen
Sobald man weiß welche WordPress Installation mit welchen Plugins läuft, kann man auf diversen Plattformen nach Anleitungen suchen.
- exploit-db.com
6. Exploitation: Angriff ausführen
- Metasploit
- Sqlmap (SQL Injections und Auflistung von DB)
- XSSer (Cross Site Scripting)
- Commix (Command Injection)
Nach einem erfolgreichen Einbruch werden weitere Tools nachgeladen. Die Umgebung wird gescannt und weitere Schwachstellen wie z.B.: fehlerhafte Dateirechte werden gesucht. Es wird versucht an wertvolle Daten zu gelangen und diese zu transferieren.
7. Alternativ – individuellen Weg finden
Wurde nichts gefunden und lohnt es sich mehr Zeit zu investieren, steht dem Angreifer noch die beste Sicherheitslücke bereit – der Mensch.
- Phishing
- Social Engineering / Human Hacking
8. Nach getaner Arbeit, geht der Hacker nicht gleich auf Urlaub sondern sorgt mit einen Backdoor für die Möglichkeit in Zukunft nochmal vorbei schauen zu können.
9. Ein guter Hacker räumt noch hinter sich auf und verwischt seine Spuren, wenn er länger im Geschäft bleiben möchte.
Gegenwehr
Wie kann man sich jetzt gegen WordPress Hacking wehren? Ist WordPress überhaupt sicher?
Das ist eine Frage welche sich viele von euch stellen.
WordPress besitzt zahlreiche gute Mechanismen die von Haus aus verhindert dass es leicht ist eine WordPress-Website zu hacken.
- 2FA Ready
- Session Token
- Cookies mit kurzem Ablaufdatum
- Cookies mit http-only & secure – Flag mit HTTPS
- Secret Keys in wp-config.php
- Sicherheitsfunktionen als API (wp_verify_nonce(), wp_kses(), esc_attr(), …)
- X-Frame-Options – verhindert Clickjacking vom wp-admin
Was mache ich wenn es merke dass ich gehackt wurde?
Einen kühlen Kopf bewahren.
Ich muss erstmals herausfinden was genau das Problem ist.
Was sind die bekanntesten 12 Anzeichen, dass meine Website gehackt wurde?
- White-Screen of Death
- PHP/DB – Fehlerausgabe
- Ungewöhnliche Dateien/Ordner auf dem Webserver
- Ungewöhnliche kryptische Inhalte in Dateien
- Unbekannte User mit Admin-Rechten
- ungewöhnlich langsam Website
- Fehlerhaftes Layout
- fremde Inhalte (SPAM) sind zu sehen
- Verlinkung auf SPAM-Seiten
- Hinweise per E-Mail
- Blocklisting meiner Website
- Google-Ranking Verlust meiner Website
Was mache ich nun wenn ich erkannt habe dass meine Website geknackt wurde?
Ich habe dafür eine Schritt-für-Schritt Anleitung mit 7 Punkten für euch zusammengestellt.
- Mit dem Sucuri Sitecheck: https://sitecheck.sucuri.net/ kann ich schnell herausfinden ob meine Vermutung stimmt.
- Herausfinden ob ich auf den Webhoster, den Webserver und die DB zugreifen kann und an welcher Stelle genau das Problem liegt.
- Als nächstes sollte man die Website mit .htaccess sperren und alle Zugangsdaten bezüglich der Website neu setzen.
- Alle Daten vom Server löschen und Backup einspielen.
- Logdateien einsehen und nachforschen welches Plugin für die Sicherheitslücke verantwortlich war.
- Alles aktualisieren, falls notwendig Sicherheitsplugin installieren und konfigurieren.
- Zugangsbeschränkung aufheben und Website laufend beobachten.
Ich habe 9 Tipps für euch zusammengetragen, wie ihr eure WordPress Website absichern könnt.
- Gutes Hosting auswählen
- Automatische Minor Updates aktivieren, hierbei werden Security Issues und Bugs aktualisiert
- Two Faktor Authentification aktivieren
- Laufende externe Backups erstellen und diese Backups auch regelmäßig testen
- WP-Default Einstellungen vermeiden (Admin-User, gute Passwörter welche nie mehrfach vergeben werden, Passwortmanager, verstecktes und/oder gesperrtes Login, kryptische DB-Prefixes)
- Ein Sicherheitsplugin installieren und konfigurieren (Worfence, Sucuri, All in One WP-Security, iThemes Security Pro)
- File Editing im WP-Admin deaktivieren
- XML-RPC deaktivieren
Buch
Seit dem letzten Jahr schreibe ich an einem Fachbuch zu WordPress Security.
Mein Ziel ist es ein praktisches Handbuch für die WordPress Community anzubieten um das Thema: IT-Security interessant und leicht zugänglich zu machen.
„Damit WordPress mit Sicherheit ein tolles CMS bleibt.“
Ich habe eine Leseprobe für euch, schickt mir eine E-Mail an bart@invdiual.com und ihr bekommt sofort einen Link zur Leseprobe zugeschickt.