Schlagwort-Archive: hacker

Angriff auf unsere Infrastruktur

Am 3. Mai wurden Teile unserer Infrastruktur von Freifunk Stuttgart, die Dienste wie das Wiki, die Karte u.a. mehr anbieten, Opfer eines Hacker-Angriffes. Dieser Angriff kam, zum Glück für uns, bei der Umkonfiguration der Firewall durch den Angreifer zum stehen, da die Umkonfiguration fehl schlug und der Angreifer sich selbst aus dem System ausschloss.

Hier finden sich alle Infos zu dem Exploit, welcher auch in Version 1 bei uns genutzt wurde: Salt-Exploit.

Um dem Ideal der Transparenz zu entsprechen können wir aktuell folgende Infos geben. Weitere Updates dazu werden am Ende eingefügt:

Vorwort

Wir verwenden für Teile unserer Infrastruktur ‚salt‚ um eine einheitliche Konfiguration zu ermöglichen. Das ist auf recht niedrigem Niveau einheitlich, aber es sind mindestens alle User-Accounts überall eingerichtet und überall werden die Systemupdates regelmäßig automatisch eingespielt (unattended-upgrades), ausserdem gibt es ein paar Dienste die besser mit Salt integriert sind, z.B. der Reverse Proxy, der mit minimalem Aufwand eine neue Domain mit einer neuen Servicemaschine lernt oder unsere Proxmox-Server, die mit sehr wenig Konfiguration mal eben einen kompletten an unser Namensschema angepassten neuen Gastserver aufsetzen.

Was ist passiert?

Es gibt derzeit zwei Fehler im Salt:

  1. Authentifizierte User können auf Dinge zugreifen auf die sie eigentlich nicht zugreifen können sollten und haben deshalb root-Rechte auf dem salt-master
  2. Nicht authentifizierte User werden als authentifizierte User akzeptiert, das macht den 1. Fehler so gefährlich.

In der Folge kann ein Angreifer den salt-master und alle salt-minions steuern. In anderen Worten: die meisten unsere Dienste. Von dem Angriff gibt es mittlerweile mehrere Versionen, wir hatten Glück und wurden gleich von der ersten Version getroffen. Deren Code habe ich mittlerweile auch. Das Ziel war wohl einen Cryptominer laufen zu lassen mit maximal möglicher CPU-Leistung Cryptowährungen zu bekommen. In Version 1 des Angriffs war das alles noch nicht wirklich persistent, nur selinux und apparmor wurden deaktiviert, sowie der nmi-watchdog. Anschliessend wurden bestimmte Prozesse und Dockercontainer gestoppt, die auch CPU brauchen damit der Miner mehr CPU hat. Diese Prozesse liefen bei uns aber gar nicht. Ausserdem hat der Angreifer mittels ‚ufw‘ welche wir nicht verwenden, die Firewall deaktiviert und dann die verbleibenden Regeln mit iptables gelöscht. Unsere Maschinen verwenden Firewall-Code der eine Standardeinstellung von ‚DROP‘ hat, das sollte eigentlich Common Sense sein. Jedenfalls waren danach keine Verbindungen von oder zu den ffs-Hosts mehr erlaubt und so ging der Download des Schadcodes auch schief und der Angriff war zu Ende.

Was haben wir gemacht?

Nach einem längeren Telefonat zwischen zwei Admins von uns haben wir uns entschlossen Zweigleisig zu fahren. Einer bereitet uns einen neuen Salt-Master vor der nicht mehr anfällig ist. Ein anderer hat versucht herauszufinden was genau passiert ist, unter anderem durch den Vergleich der Backups vor und nach dem Angriff. Die Änderungen am System wurden rückgängig gemacht und die salt-minions überall gelöscht. Anschliessend wurden die Systeme wieder hoch gefahren. Salt bleibt noch ein paar Tage aus. Wenn mal ein Fehler in einer Software gefunden wurde ist es nicht so unüblich dass noch weitere hinterher kommen.

Hätten wir den Angriff verhindern können?

Leider nein, nicht mit der realen Installation die wir haben. Wir haben unattended-upgrade am Laufen, welches Systemupdates automatisch macht. Leider in der Konfiguration von uns nur die von Debian kommenden Sicherheitsupdates. Damit werden die von uns für salt verwendeten salt-Repositories nicht berücksichtigt, sondern nur die Debian-Repositories. Debian hat aber das Salt-Paket mit der Priorität ‚mittel‘ zum Zeitpunkt des Angriffs nur auf debian-unstable aktualisiert, wir verwenden debian-stable. Aber selbst wenn die Salt-Repositories von unattended-upgrades berücksichtigt worden wären, wäre das schief gegangen, weil die Repositories hart auf nicht aktualisierte Versionen gezeigt haben. Und da wo das nicht so war, war der Repository-Key ausgetauscht und deshalb kein Update möglich.

Sind Nutzerdaten betroffen?

Nach derzeitigem Stand: nein. Die größte Gefahr besteht für wiki-Zugangsdaten, das läuft aber auf einem LXC und es scheint als wären unsere LXCs vom Angriff übergangen worden. Dass kein lesender Zugriff auf die Nutzerdatenbank satt gefunden hat kann aber nicht vollständig garantiert werden.