Eine übernommene Website wird meist nicht verunstaltet. Verunstaltung ist selten, denn sie beendet den Zugang; verbreitet sind Spam-Seiten, Weiterleitungen, die nur bei Besuchern aus einer Suchmaschine auslösen, und Post, die von Ihrem Server verschickt wird. Ihnen, angemeldet und mit direkt eingetippter Adresse, sieht alles gut aus.
Die Signale
- Suchergebnisse zu Ihrer Domain, die Sie nicht geschrieben haben.
- Post von Ihrem Server, die in Mengen zurückkommt, die Sie nicht erklären können.
- Ein Sprung bei CPU oder ausgehendem Verkehr ohne Sprung bei den Besuchern.
- Ein Besucher, der eine Weiterleitung meldet, die Sie nicht nachstellen können.
- Ihr Hoster oder ein Browser, der vor der Seite warnt.
Vier Befehle
# 1. files changed in the last week, ignoring the ones that should change
find /var/www/site -type f -mtime -7 -not -path '*/storage/*' -not -path '*/cache/*' | head -50
# 2. PHP where PHP has no business being
find /var/www/site/uploads /var/www/site/public/img -name '*.php*' 2>/dev/null
# 3. the shapes an injected shell takes
grep -rEl 'eval\(|base64_decode\(|gzinflate\(|assert\(\$' /var/www/site --include='*.php' | head
# 4. logins that succeeded
sudo grep "Accepted" /var/log/auth.log | tail -20
Vergleichen Sie mit etwas Vertrauenswürdigem
Liegt der Code in git, ist die schnellste Antwort der Welt git status auf dem Server: Alles Geänderte oder Unverfolgte, das Sie nicht dorthin gelegt haben, ist Ihre Antwort in einer Zeile. Bei einem CMS laden Sie dieselbe Version erneut herunter und vergleichen die Kerndateien damit.
Die Datenbank zählt auch
Eingeschleuster Inhalt wohnt oft in der Datenbank statt in Dateien — deshalb beweist ein sauberer Dateiscan weniger, als man denkt. Siehe Schadcode in der Datenbank, nicht in den Dateien.
