- Fritz.Box wurde gehackt Beitrag #76
SpaceRat
Ohne root ist übrigens immer noch ein Mitschnitt einer Anmeldung möglich, dazu braucht man lediglich einen transparenten https-Proxy (Charles, mitmproxy).
Aufgrund der kranken (Sicherheits!-)Denke von manchen Entwicklern ist es nämlich auf Androiden so gut wie unmöglich, für solche Zugriffe mit Zertifikaten zu arbeiten:
Wer schon mal versucht hat, ein Zertifikat auf einem Androiden zu installieren, wird das in der Regel schnell wieder gelassen haben, weil er dann von Android dazu gezwungen wird, statt des einfachen "Wischens" mindestens eine Entsperrgeste einzustellen, was früher oder später nervt.
Da sich nun die Fritz!Box ihr Zertifikat aufgrund flexibler URL/IP selber erzeugen muß/müßte und das nicht einfach so eben von einer standardmäßig vorhanden Root Authority signieren lassen kann, kann die MyFritz!App gar keine brauchbare Überprüfung des Zertifikats durchführen und liefert daher die Daten auch durch einen Man-In-The-Middle-Proxy ab.
HTTPS bringt nämlich nur dann etwas, wenn die Zertifikate auch überprüft werden:
Loggt man sich einfach mal per https auf seinem NAS oder E2-Receiver o.ä. ein, dann wird man feststellen, daß man von Chrome, Firefox, IE etc. gewarnt wird, daß sich die Authentizität des Zertifikates nicht überprüfen läßt (Logisch, denn dem System ist der Aussteller nicht bekannt).
Auf dem PC läßt sich das Problem nun ganz einfach beheben:
Wenn man überprüft hat, daß die Namensauflösung auch wirklich auf den eigenen NAS etc. zeigt und das dem Browser angebotene Zertifikat in Bezug auf den Fingerprint mit dem selber erzeugten übereinstimmt, dann installiert man es einfach. Danach sieht man jederzeit am grünen oder roten bzw. durchgestrichenen "https", ob das Zertifikat nun gültig ist oder eben nicht. Selbst wenn ein Dritter ein Zertifikat für die Adresse erzeugt, unter der wir den NAS o.ä. ansprechen, wäre es auch noch lange nicht das selbe Zertifikat und somit ebenfalls ungültig.
Nun wäre es natürlich auch sinnvoll, diese Zertifikate auf dem Smartphone zu installieren, damit man gerade und insbesondere unterwegs sicher sein kann, daß man seine Anmeldedaten in das richtige (eigene) System kloppt und nicht irgendeines, das man gerade vorgesetzt bekommt (Und so ein transparenter Proxy ist eben auch ein solches, HTTPS-MITM-Angriffe sind nämlich prinzipiell zum Scheitern verurteilt, wenn der Benutzer bzw. die App auf die Korrektheit der Zertifikate achtet, ein MITM kann nämlich kein gültiges sondern bestenfalls ein ähnliches erzeugen! ...) und eben das verhindert Android und das ausgerechnet aus "Sicherheitsgründen".
Und aus diesem Grund können dann eben auch die Fritz!Apps gar keine wirkliche Überprüfung durchführen und sind somit anfällig für MITM-Angriffe ... zum Wohle der Sicherheit!
Aufgrund der kranken (Sicherheits!-)Denke von manchen Entwicklern ist es nämlich auf Androiden so gut wie unmöglich, für solche Zugriffe mit Zertifikaten zu arbeiten:
Wer schon mal versucht hat, ein Zertifikat auf einem Androiden zu installieren, wird das in der Regel schnell wieder gelassen haben, weil er dann von Android dazu gezwungen wird, statt des einfachen "Wischens" mindestens eine Entsperrgeste einzustellen, was früher oder später nervt.
Da sich nun die Fritz!Box ihr Zertifikat aufgrund flexibler URL/IP selber erzeugen muß/müßte und das nicht einfach so eben von einer standardmäßig vorhanden Root Authority signieren lassen kann, kann die MyFritz!App gar keine brauchbare Überprüfung des Zertifikats durchführen und liefert daher die Daten auch durch einen Man-In-The-Middle-Proxy ab.
HTTPS bringt nämlich nur dann etwas, wenn die Zertifikate auch überprüft werden:
Loggt man sich einfach mal per https auf seinem NAS oder E2-Receiver o.ä. ein, dann wird man feststellen, daß man von Chrome, Firefox, IE etc. gewarnt wird, daß sich die Authentizität des Zertifikates nicht überprüfen läßt (Logisch, denn dem System ist der Aussteller nicht bekannt).
Auf dem PC läßt sich das Problem nun ganz einfach beheben:
Wenn man überprüft hat, daß die Namensauflösung auch wirklich auf den eigenen NAS etc. zeigt und das dem Browser angebotene Zertifikat in Bezug auf den Fingerprint mit dem selber erzeugten übereinstimmt, dann installiert man es einfach. Danach sieht man jederzeit am grünen oder roten bzw. durchgestrichenen "https", ob das Zertifikat nun gültig ist oder eben nicht. Selbst wenn ein Dritter ein Zertifikat für die Adresse erzeugt, unter der wir den NAS o.ä. ansprechen, wäre es auch noch lange nicht das selbe Zertifikat und somit ebenfalls ungültig.
Nun wäre es natürlich auch sinnvoll, diese Zertifikate auf dem Smartphone zu installieren, damit man gerade und insbesondere unterwegs sicher sein kann, daß man seine Anmeldedaten in das richtige (eigene) System kloppt und nicht irgendeines, das man gerade vorgesetzt bekommt (Und so ein transparenter Proxy ist eben auch ein solches, HTTPS-MITM-Angriffe sind nämlich prinzipiell zum Scheitern verurteilt, wenn der Benutzer bzw. die App auf die Korrektheit der Zertifikate achtet, ein MITM kann nämlich kein gültiges sondern bestenfalls ein ähnliches erzeugen! ...) und eben das verhindert Android und das ausgerechnet aus "Sicherheitsgründen".
Und aus diesem Grund können dann eben auch die Fritz!Apps gar keine wirkliche Überprüfung durchführen und sind somit anfällig für MITM-Angriffe ... zum Wohle der Sicherheit!