Erfolgreicher Hacker-Angriff auf proggen.org

Foruminternes: Ankündigungen, Bekanntmachungen, Spielregeln
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8456
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von Xin » Mi Feb 19, 2014 5:42 pm

Moin,

Proggen.org ist Ziel eines erfolgreichen Hackangriffes geworden, der leider erst sehr spät aufgefallen ist.
Ich habe den Server noch nicht vollständig untersucht, hier geht erstmal nur die Information raus, was vorgefallen ist und wie der bisherige Stand ist.

Nun zum einen ist nicht der proggen.org-Server selbst gehackt worden, sondern ein zu proggen.org gehörender Server. Entsprechend ist proggen.org selbst weiterhin unverändert online.

Dieser Server läuft bereits länger mit, wird derzeit aber kaum aktiv genutzt. Er bestätigt bis heute täglich seine Funktion, was dazu führte, dass ich ihn auch nicht groß kontrollierte, da er lediglich die Seite status.proggen.org hostet, die ebenfalls weiterhin funktionierte und als Datenablage dient.
Der Angriff selbst fand am 30. Oktober 2013 statt.

Beim Angriff konnte der Angreifer Daten auf den Server ablegen. Die Protokolle geben dabei zwei Hinweise, dass der Angriff scheint über einen Bot automatisch durchgeführt worden ist, denn erfolglose Aktionen (Befehl nicht gefunden/Keine Zugriffsrechte) wiederholen sich. Ein Mensch hätte Befehle sicherlich nicht auf andere Dateien wiederholt, wenn der eigentliche Befehl nicht installiert ist.
Nichtsdestotrotz konnte der Angreifer auf dem Rechner Verzeichnisse anlegen und versuchte mehrfach Programme zu kompilieren (was mangels Compiler nicht ging).

Es wurde versucht auf den Server einen Bot zu installieren, was scheinbar misslang. Der Traffic-Verbrauch lässt jedenfalls darauf schließen, dass der
Server selbst nur noch in der Lage war mir täglich zu mailen und eben die Status-Seite zu präsentieren.

Soweit ist die Sache für User von proggen.org also zunächst vollkommen uninteressant.

Dieser Server wurde jedoch auch genutzt, um täglich Backups von proggen.org zu speichern. Das ist rückblickend ein Fehler, da der Server nicht mehr auf dem aktuellen Stand war, als ich das Backup-Skript so einrichtete, täglich das Backup dort abzulegen.

Da der Angreifer Zugriff auf den Server hatte, könnte er entsprechend auch Zugriff auf die Backups gehabt haben. Das letzte Backup wurde am 17. November erfolgreich hochgeladen. Im Backup eenthalten sind die Datenbanken des Wikis, des Forums, die Bugzilla-Datenbanken und Subversion-Repositories und in den Datenbanken entsprechend die Account-Namen, E-Mailadressen, sowie hashverschlüsselt die Passwörter der Accounts. Die Subversion-Repositories enthalten prinzipbedingt Passwörter im Klartext. Wer die von mir erhaltenen Subversion-Passwörter also anderswo genutzt hat, sollte diese überdenken.

Den Access-Zeiten und Change-Zeiten zufolge wurden auf die Backupdateien nicht zugegriffen, was bedeutet, dass die vorhandenen Backups nicht geöffnet oder kopiert wurden.

Der Angriff erfolgte mit dem Ziel, den Server zu übernehmen, was misslang. Die Backupdateien waren offensichtlich nicht das Ziel, sie wurden wie die anderen Dateien im entsprechenden Verzeichnis nicht angefasst. Ich gehe derzeit davon aus, dass das Verzeichnis vom Angreifer nicht geöffnet wurde. Ein automatisiertes Skript wird auch nicht nach einer selbstgeschriebenen Backuplösung suchen. Der Angreifer hat deutliche Spuren hinterlassen (inkl. IPs) und den Server faktisch größtenteils außer Betrieb gesetzt, war also nicht unbedingt unauffällig - es ist lediglich lange nicht aufgefallen, weil der Server keine tragende Rolle spielt.
Die Protokolle ergeben, dass er mehrfach (erfolglos mangels Rechten) den Befehl touch verwendet hat, um Zugriffszeiten zu manipulieren. Allerdings nie auf die Backups, wie allgemein keine Hinweise gibt, dass sich der Angreifer im Backup-Verzeichnis umgesehen hat. Mit 'touch' lässt sich der 'Change'-Zeitpunkt nicht manipulieren. Von der vorgefundenen Situation, gehe ich davon aus, dass keine Gefahr droht.

Ich kann jedoch nicht prüfen, ob ältere, bereits automatisch gelöschte Backups nicht zugegriffen wurden, bevor sie gelöscht wurden. Hier habe ich alles so vorgefunden, wie es zu erwarten war, es gibt auch hier keinen Hinweis auf Manipulation, sondern nur die theoretische Möglichkeit.

Und an der Stelle befindet sich ein theoretisches Risiko für User, die vor dem 17. November bei proggen.org registriert wurden. Für User, die nach dem 17. November 2013 zu uns gestoßen sind, gibt es überhaupt kein Risiko.

Sollte ich zu anderen Erkenntnissen kommen, werde ich mich nochmals per Rundmail melden. Ansonsten sind Nachfragen im Forum willkommen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

sebix
Beiträge: 82
Registriert: Mo Nov 19, 2012 8:27 pm

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von sebix » Mi Feb 19, 2014 7:04 pm

Vielen Dank für die info!

Bzgl. des Nicht-Entdeckens: auditd?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3076
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von cloidnerux » Mi Feb 19, 2014 11:28 pm

Was wird jetzt unternommen, wessen Kopf muss rollen? :D
Wie sieht es mit der Sicherheit vom Hauptserver aus?
Wie sieht es mit den Passwort-Hashes aus? Sind die gesalzen, laufen da sinnvolle hashing Algorithmen. Sollte man ein eigenes Passwort für proggen.org verwenden?
Was passiert, wenn ein Mensch am Ende der Leitung sitzt und kein Bot?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8456
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von Xin » Do Feb 20, 2014 12:33 am

cloidnerux hat geschrieben:Was wird jetzt unternommen, wessen Kopf muss rollen? :D
Wenn ein Kopf rollen muss, dann meiner. Der Server stand auch auf der Abschussliste, weil die Installation bekannterweise veraltet war und ich stecke in den Vorbereitungen, die Server und sämtliche Software neu aufzubauen (damit meine ich nicht nur das neue CMS).
Das gilt auch für den derzeitigen proggen.org Server, obwohl der Rechner vor einem Jahr aufgesetzt wurde und aktuell gehalten wird.

Blöderweise macht außer mir keiner was im Hintergrund, es bliebe also kein Kopf über, was die Situation auch nicht unbedingt verbessert. ;-)
cloidnerux hat geschrieben:Wie sieht es mit der Sicherheit vom Hauptserver aus?
Besser - kann aber noch besser werden.
cloidnerux hat geschrieben:Wie sieht es mit den Passwort-Hashes aus? Sind die gesalzen, laufen da sinnvolle hashing Algorithmen.
Sie entsprechen der verwendeten Software. Ich weiß, dass phpBB und Dokuwiki Hashes erzeugen. Ob und wie sie gesalzen sind, weiß ich nicht. Subversion verwendet Passwörter im Klartext. Diese Passwörter habe ich aber alle vergeben. Sofern die Leute dann dieses Passwort anderswo eingesetzt haben, ist das eine andere Sache.
cloidnerux hat geschrieben:Sollte man ein eigenes Passwort für proggen.org verwenden?
Grundsätzlich gilt die Empfehlung, überall ein eigenes Passwort zu verwenden, das ist wohl nichts Neues.
Das Problem ist ja weniger das Ideal, sondern eben dass sich kaum einer dran hält.
cloidnerux hat geschrieben:Was passiert, wenn ein Mensch am Ende der Leitung sitzt und kein Bot?
Derzeit sitzt da kein Mensch mehr.
Ich gehe momentan sogar davon aus, dass nur am 30. Oktober auf den Server zugegriffen wurde, dass der Angriff per Skript teilweise geklappt hat aber eben nicht genug, um den Rechner zu übernehmen. Der Server hat am 17. November aufgegeben, vermutlich weil die Festplatte übervoll war, eventuell hat das also gar nichts mit dem Angriff zu tun, die Kiste hat nur 3GB HDD und die sind voll.
Wenn da am 30. Oktober ein Mensch angegriffen hat, dann brauchte er einen Bot für den Angriff, weil er ansonsten geistig nicht dazu in der Lage gewesen wäre:

Code: Alles auswählen

[Wed Oct 30 15:12:54 2013] cannot remove `/var/log/syslog'
[Wed Oct 30 15:12:54 2013] : Permission denied
[Wed Oct 30 15:12:54 2013] touch:
[Wed Oct 30 15:12:54 2013] cannot touch `/var/log/syslog'
[Wed Oct 30 15:12:54 2013] : Permission denied
[Wed Oct 30 15:12:54 2013] chmod:
[Wed Oct 30 15:12:54 2013] changing permissions of `/var/log/syslog'
[Wed Oct 30 15:12:54 2013] : Operation not permitted
Ich denke ein Mensch kapiert, dass er keine Rechte für /varlog/syslog hat. Hier wurde versucht die Datei zu löschen, neu anzulegen und die Rechte zu setzen. Das ist ein logisches Vorgehen - wenn es klappt. Es klappt aber nicht, ein Mensch würde nach dem ersten Befehl wohl was anderes versuchen.
Ich habe früher mal 400 Anschläge die Minute geschafft. Dieser Mensch muss schneller tippen können. ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3076
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von cloidnerux » Do Feb 20, 2014 10:30 am

Blöderweise macht außer mir keiner was im Hintergrund, es bliebe also kein Kopf über, was die Situation auch nicht unbedingt verbessert. ;-)
Sollte man an dieser Situation was ändern, bzw möchtest du Unterstützung bei der Wartung der Server?
Sie entsprechen der verwendeten Software. Ich weiß, dass phpBB und Dokuwiki Hashes erzeugen. Ob und wie sie gesalzen sind, weiß ich nicht.
Gerade mal nachgeschaut, hier der Quellcode:
https://www.phpbb.de/infos/3.0/xref/nav ... .html#l321
Es wird md5 zum hashen verwendet, nicht unbedingt das beste, immerhin wird gesalzen...manchmal?:

Code: Alles auswählen

$hash = _hash_crypt_private($password, _hash_gensalt_private($random, $itoa64), $itoa64);

if (strlen($hash) == 34)
{
    return $hash;
}
 
return md5($password);
Wenn da am 30. Oktober ein Mensch angegriffen hat, dann brauchte er einen Bot für den Angriff, weil er ansonsten geistig nicht dazu in der Lage gewesen wäre:
Die Frage bezog sich eher darauf, was hätte Passieren können, wenn da nicht nur einfach alle Schwachstellen per Script abgeklopft werden? Was kann alles Passieren, wenn wirklich wer mit Ahnung sich Zugang verschafft.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8456
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von Xin » Do Feb 20, 2014 11:56 am

cloidnerux hat geschrieben:
Blöderweise macht außer mir keiner was im Hintergrund, es bliebe also kein Kopf über, was die Situation auch nicht unbedingt verbessert. ;-)
Sollte man an dieser Situation was ändern, bzw möchtest du Unterstützung bei der Wartung der Server?
Hehehe, ich wünsche mir immer Unterstützung und mache da in der Regel auch keinen Hehl draus, wenn ich Leute wegen Tutorien oder Artikel anschreibe, aber üblicherweise verhallt der Wunsch ungehört. Wir haben alle wenig Zeit. ^^

Ein Auszug aus einer Mail von vor zwei Tagen, wo jemand bei etwas anderem zurecht eine Änderung vorschlug, die "wir" mal machen sollten. Die Reaktion auf die Anfrage, wie ich "wir" verstehen darf:
Mail hat geschrieben:Du darfst das "wir" als wir verstehen, genau dann wenn du mir eine
hinreichend hohe Geldsumme überweist. Ansonsten sei das "wir" als du zu verstehen.
Damit habe ich kein Problem, dass Leute für ihre Arbeit finanziellen Ausgleich wünschen. Nur drückt der Text sehr deutlich aus, wie viele die Sache sehen und das ist ja auch durchaus in Ordnung - niemand ist verpflichtet proggen.org als "sein" Projekt anzusehen und kostenlos mitzuarbeiten. Ich honoriere das menschlich, aber eben nicht finanziell.

Aber so funktioniert der Spaß natürlich nicht, deswegen entwickelt sich vieles auch langsamer als von mir gewünscht. Wenn ich bereit wäre jährlich ein paar tausend Euro mehr in proggen.org zu stecken, wären einige Probleme bereits gelöst. Die Lösungen wären aber gekauft und nicht erarbeitet. Und das steht aber derzeit leider im Widerspruch mit meinem Jahresgehalt und der Tatsache, dass ich proggen.org als eher als Hobby und weniger als Unternehmen betreibe - sonst würde ich nämlich Werbung nutzen, um die Kosten reinzuholen. Unter wirtschaftlichen Gesichtspunkten müsste ich die Seite sofort schließen und darum verzichte ich gerne auf Hilfe gegen hinreichend hohe Geldsummen. :lol:

Ohne finanziellen Anreiz, gibt es aber auch nicht den Druck, an einem Thema dran zu bleiben, was man teilweise auch an den Tutorien sieht. Die Wartung der Server würde eine deutlich engere Zusammenarbeit bedeuten.
cloidnerux hat geschrieben:Die Frage bezog sich eher darauf, was hätte Passieren können, wenn da nicht nur einfach alle Schwachstellen per Script abgeklopft werden? Was kann alles Passieren, wenn wirklich wer mit Ahnung sich Zugang verschafft.
Die Frage ist bereits beantwortet: Die Change-Time lässt sich mit touch nicht ändern. Die einzigen relevanten Daten auf dem Server sind die Backups. Alle erwarteten Backups sind da und nicht angefasst worden. Gelöschte Backups könnten kopiert worden sein. Je mehr ich mich mit dem Server auseinander gesetzt habe, desto weniger glaube ich, dass überhaupt nennenswert was passiert ist. Die Kiste war schnell nur als Test-Server eingerichtet worden, weswegen auf Sicherheit nicht so gut geachtet wurde, wie bei proggen.org. Der Fehler war den Apache nicht zu killen als er nicht mehr benutzt wurde. www-data hat kaum Rechte, wie die Logs zeigen und www-data konnte den Bot nicht installieren.

Die Kiste ist vermutlich auch nicht am Hacker zugrunde gegangen, sondern daran, dass die Platte voll war. Ein proggen.org-Backup ist knapp über 100MB groß. Das letzte Backup auf der Kiste ist 67MB groß - da fehlt also einiges - und auf der HDD sind nach dem Neustart noch 55MB verfügbar. Die Platte war schon lange recht voll, aber da alte Backups gelöscht wurden, störte das bisher nicht.

Als ich die Rundmail schrieb war die Vorfindesituation, dass der Server im Eimer ist, man sich nicht mehr anmelden kann und eine Reverse-Shell installiert war, entsprechend war gestern die Vermutung, dass das zusammenhängt. Jedes Verzeichnis, dass nach dem 30. Oktober erstellt wurde, war damit verdächtig, durch den Angriff erzeugt worden zu sein. Ist aber eigentlich auch nicht unbedingt haltbar, denn Systemdienste können Verzeichnisse für den allgemeinen Betrieb anlegen, die entsprechend 'root' gehören.
Auf den Rechner wurden Dateien nach /tmp runtergeladen. Darunter eine /tmp/sh, die 60MB groß war, aber scheinbar nicht ausgeführt wurde. Die Dateien sind weg, 55MB sind wieder frei.

Ich kann nicht garantieren, dass nichts passiert ist, aber die Indizien sprechen eher dafür, dass eine Lücke in einer sehr alten Dokuwiki-Installation ausgenutzt wurde, die in der Version auf proggen.org nicht mehr existiert, das damit die Reverse-Shell installiert wurde, die Bot-Installation fehlschlug und fertig. Zwei Wochen später war die Platte voll und der Rechner verweigerte den Login.


Es gab immer irgendwelche Probleme und aus Angst vor Datenverlust haben wir regelmäßige Backups eingerichtet auf anderen Servern. Der Hauptserver läuft inzwischen mit einem RAID und die Wahrscheinlichkeit, dass proggen.org also mal eben so verschwindet wegen eines Plattenschadens ist heute also eher gering. Den Festplattenschaden hatten wir ja auch Ende letztes Jahr, weswegen wir für eine Stunde offline waren und keine Daten verloren haben. Wir sind auch nicht mehr bei einem kleinen Provider, der irgendwann spontan sein Rechenzentrum still legt. Durch unsere Umzüge in der Vergangenheit sind nicht alle Dinge immer perfekt gelöst worden und das ist mir durchaus bekannt.

Aus diesen, wie auch aus Sicherheitsgründen bin ich dabei, proggen.org neu aufzusetzen und zwar bereits vor dem Vorfall. So wurde bereits ein Rechner rausgesucht, auf dem das ganze vorbereitet werden soll, damit der proggen.org-Server kopiert, neu aufgesetzt und möglichst schnell und ohne Datenverlust wieder online geht. Ein Freund von mir richtet ihn derzeit ein. Es sind dafür auch einige Änderungen zu programmieren. Das kann ich nicht mal eben so am Live-System machen. Und dabei wird der Backup-Server neu aufgesetzt und die Backups werden zukünftig verschlüsselt abgelegt. Wir wachsen und wir werden erwachsen. Dazu gehört auch, sich immer neuen Herausforderungen zu stellen. Aktuell entsteht aus 'Wir haben eine Website, die regelmäßig gesichert wird' die nächste Stufe 'Wir sichern unsere Website besser'.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Phlox
Beiträge: 15
Registriert: So Sep 28, 2008 12:34 pm
Kontaktdaten:

Re: Erfolgreicher Hacker-Angriff auf proggen.org

Beitrag von Phlox » So Feb 23, 2014 12:59 am

Also fürs phpbb gibt es ein Sicherheitsaddon. https://www.secure-graphic.de/phpbb_ct_version_10_0_3

Antworten