Als Penntester schaue ich, wie der Name schon sagt, wo jemand gepennt hat. Das schöne an dem Job ist, der für mich eher Berufung denn Beruf ist, dass es immer wieder etwas neues gibt. Zum einen entwickelt sich die Technik immer weiter, auch die Angriffstechnik, weswegen ich immer wieder etwas neues lerne und zum anderen gibt es auch immer wieder skurrile Lösungen oder Rückmeldungen, die unweigerlich Lachtränen produzieren.
Wenn man sich auf einer Website registriert, dann bekommt man oftmals eine E-Mail zurück, worin ein Link zu finden ist, den man zur Aktivierung des Kontos aufrufen muss. Der Seitenbetreiber will damit sicherstellen, dass es die E-Mail-Adresse auch wirklich gibt, weil er ja irgendwo seinen Werbemüll abladen will. In der Regel ist der Link so aufgebaut dass darin ein Token als Parameter übergeben wird, wobei der Link nur einmal gültig ist. Oft ist es dann so, dass man nach dem Aufruf des Aktivierungslinks im Benutzerkonto eingeloggt ist, dies ist nichts ungewöhnliches.
Vor ein paar Tagen kam mir ein etwas eigenwilliger Aktivierungslink unter die Augen:
https://domain/register_success?email=<e-mail-adresse>
Ähhh? Bidde? Das glaub ich jetzt nicht!? Doch, glaub es! :O)
Das schöne an dem Link ist, er ist immer gültig und nach dem Aufruf ist man in dem Benutzerkonto eingeloggt. Als Angreifer brauche ich also nur E-Mail-Adressen von registrierten Benutzern, um in deren Konto zu stöbern oder auch Bestellungen abzugeben, denn es handelt sich bei der gepenntesteten Seite um einen Shop.
Wie kann man als Programmierer nur so etwas abliefern und warum hat das noch niemand vor mir gefunden/bemängelt?
Ich bin ja kein Superhacker, der schwarz gekleidet, mit Skimaske, Sonnenbrille und Handschuhen, auf einem kleinen Notbuch, in gekrümmter Haltung, hackt, wobei es auf dem Bildschirm so (img7.joyreactor.cc) aussieht. Ich bin nur ein Penntester, der — weil ohne Sonnenbrille — wohl etwas mehr sieht als andere. Kein Wunder, es sind immerhin 27 Zoll. ;O)
Bei meinen Tests bemängel ich u.a. wenn die Cookie-Flags HttpOnly und Secure nicht gesetzt sind. Auch wenn interne IP-Adressen sichtbar sind, ist dies ein Punkt, auf der oftmals sehr langen Liste der gefundenen Schwachstellen.
Nun bekam ich folgende Rückmeldung zu den fehlenden Cookie-Flags:
Einziger Cookie, welcher nicht HTTPonly gesetzt hat: siehe “Interne IP” Nicht Securityrelevant, aber Lösung für “Interne IP” löst auch “Cookie-Flags”.
Bei der “Lösung für “Interne IP”" soll die IP-Adresse verschlüsselt im Cookie gespeichert werden. Es wird also nicht der Cookie verschlüsselt übertragen, sondern nur der Wert darin verschlüsselt.
Worum es bei den Cookie-Flags geht, kann man hier nachlesen: HTTP-Cookie (de.wikipedia.org) Hiermit haben sich sehr wahrscheinlich schon viele Webentwicker beschäftigt, sollte also für viele nicht wirklich neu sein.
Bei “Interne IP” ging es um dieses Problem: “Cookie decoder: F5 BIG-IP” (blog.taddong.com) Wer nicht ständig mit großen Systemen und F5 BIG-IP zu tun hat, wird dies Problem kaum kennen.
Aber, was haben die beiden Probleme miteinander zu tun? Bis auf den Punkt, dass es beide Male um Cookies geht — nichts!
Bei ITlern die für eine Firma arbeiten, die mehrere hundert Mio. Euro Umsatz pro Jahr generiert, erwarte ich schon etwas mehr Fachwissen.
Ich werde sehr wahrscheinlich nie eine gut bezahlte Festanstellung in der IT-Branche bekommen, weil ich kein studierter ITler mit Diplom bzw. Master bin, sondern nur ein Schlosser mit 30 Jahren Erfahrung in der IT. Aber ich frage mich ernsthaft, wie jemand mit so wenig Wissen in einer so großen Firma das Bewerbungsgespräch überstanden hat. Zu erklären ist dies wohl nur durch noch weniger Fachwissen bei dem Menschen, der den DAU eingestellt hat.
Dies waren jetzt nur zwei Beispiele von dem, was ich jeden Tag erlebe. IT-Sicherheit ist vielfach nicht nur ein Stiefkind, es scheint gänzlich unbekannt zu sein und dies unabhängig von der Größe eines Unternehmens.
Wir werden alle sterben!