Re: Sicherheit - Ausführen von beliebigem Code per Webserver möglich
Posted: 29 May 2018, 12:53
Ich hab mir das mit dem Default-Passwort nochmal angeschaut
Das ist immernoch dasselbe wie vorher, vermutlich weil es außen auf dem Gehäuse steht.
Geändert hat sich der Algorithmus zum Berechnen des 10-stelligen Hostnamens. Der Angriff ist deutlich aufwendiger geworden, aber ist immernoch praktisch durchführbar.
Der einfachste und sinnvollste Schutz ist es nach wie vor, einfach das Default-Passwort zu ändern, sobald man seinen RevPi das erste mal anschaltet.
Die Seriennummer des CryptoChips (48 Bits) wird mit 24 fixen Bytes auf 30 Bytes erweitert und durch md5 geschoben. Von dem 128 Bit langen Hash werden dann 50 Bits in den Hostnamen konvertiert.
Das rauszufinden und nachzuimplementieren war der einfache Teil. Das Binary zu strippen (changelog zu 1.4.0-2) verhindert nicht, dass man sich den Code durchlesen kann, das spart nur etwas Platz
Der schwierige Teil war es, aus den bekannten 50 Bits (d.h. der Hostname) wieder auf die Seriennummer zu schließen. Aber dafür gibt es https://en.wikipedia.org/wiki/Hashcat und AWS.
Mit der stärksten (und leider auch teuersten...) Instanz p3.16xlarge dauert die Berechnung knappe 20 Minuten. Oder als Preis ausgedrückt: 7€ bei aktuellem $-Wechselkurs. Das mit den Spot-Instanzen hat irgendwie nicht funktioniert, sonst wäre ich am Ende bei ca. 2-3 € rausgekommen. Wer selbst eine (oder möglichst mehrere) tolle Grafikkarten besitzt, kann es auch bei sich zu Hause cracken und zahlt nur die Stromrechnung
@Kunbus
Die Idee mit dem Hash finde ich gut. Mit einer sicheren Hashfunktion (z. B. argon2 oder scrypt) anstatt md5 wäre der Angriff nicht durchführbar gewesen.
Bei Interesse kann ich das neue Skript gerne hier reinposten.
Zeitaufwand für mich waren ca. 2 Tage. Ich wollte schon immer mal irgendwas mit Grafikkarten machen, nun bin ich endlich dazu gekommen.