Von OpenVPN bis zum Account Highjacking
Heute wurde von Matthias die CA inkl. Clientcerterstellung fertig gemacht und anschliessend konnte ich die Konfiguration der Servers fertig machen. Danach war der erste Client an der Reihe, was wie zu erwarten recht zügig erledigt war. Der zweite Server war schnell mit eingebunden. Nach dem das Routing und Firewall umkonfiguriert waren klappten dann auch von allen Maschinen die Verbindungen zu allen anderen.
Anschliessend meldete Nagios einen meiner Server mit einer hohen Load und Probleme mit einem der Gateways. Irgendwo rannte da der Apache und MySQL Amok. Nach welzen von 1.4 Gig MySQL Log war der Übeltäter schnell gefunden. Es war mal wieder das Joomla von einem Bekannten, der die Seiten der Pfadfinder aus Essen-Schonnebeck auf diesem Server hat.
Nach dem das erledigt war kam dann einmal etwas spassiges zum Tagesprogramm dazu. Tatjana sendet mir einen Link zu einem Chat den ein alter Bekannter programmiert hat. Als ich den Link angeklickt hatte habe ich erst einmal nicht bemerkt was passiert ist. Ich bin nicht so der Chatter, ICQ, IRC usw. ist ja normal, das braucht man da schön täglich. Aber das Chatten im Browser ist schon ein paar Jahre her und man schaut dann jetzt also mal wieder in so einen Chat rein.
Erst nachdem ich ein “Moin” in den Chat geworfen habe und nach ein paar Sekunden danach, bemerke ich was da eigentlich passiert ist. Tatjana schickt mir diesen Link. Die SessionID im Link habe ich bestimmt gesehen, sie war mir aber nicht bewusst geworden. Gerade weil man seit Jahren wissen sollte was bei solchen Sachen schief geht.
Nach dem anklicken des Link kam ein Login mit meinen Zugangsdaten. Ich war schon mal kurz drin um etwas zu testen und die Zugangsdaten kannte mein Browser noch. Also steht mein Name und das Passwort in den beiden Feldern schon drin. Also rein in den Chat und schreibe das “Moin”.
Was ist jetzt aber passiert? Ich schreibe, da die SessionID im Link steht mit dem Nick von Tatjana. Aber auch alles andere ist von Tatjana. Ich habe Ihre komplette Session übernommen und könnte, wenn so etwas bei anderen grossen Portalen wie Ebay (naja, da geht so etwas mit mehr Aufwand auch), Arcor (Hatte genau das hier beschriebene Problem 2005), StudiVZ, Youtube usw. passieren würde, kann man alle Daten des übernommen Profils lesen, verändern und viel schlimmer, man kann mit solchen Daten auch sehr viel mehr Sachen anstellen.
Ich habe mir dann überlegt wie leicht es wohl sein würde an die SessionIDs der anderen zu kommen. Erste Überlegung war ein Bild in den Chat zu posten, das hätte ich erst einmal zusammen bauen müssen. Das Bild würde dann von jedem User bzw. desen Browser geladen und hätte ein paar Zeilen Code inne, die die SessionIDs der einzelnen User auf einem meiner Server speichern. So viel Aufwand wollte ich dann aber nicht betreiben, es sollte ja einfach meine Neugier befriedigt werden, da ich wissen wollte was man in diesem Chat so alles anstellen könnte, wenn man nicht, wie ich, das Interesse hat solche Probleme aufzudecken, sondern die Accountdaten haben will um damit dann zu etwas zubestellen, Passwörter zubekommen, E-Mailadressen usw.
Man kennt das Chat Volk, also mache ich es mir einfach. Ich gehe auf einen Server öffne ein Webserver Logfile und schmeiss einfach eine URL als Link in das Chatfenster. Wie zu erwarten wird auf den Link geklickt und ich erhalte ohne Aufwand alle SessionIDs. Anschliessend ausloggen und Cookie gelöscht ruf ich den Direktlink zum Chatfenster wieder auf und bin wieder drin mit einem der angemeldeten User.
Nachdem ich den Admin informiert hatte, immer mehr den Eindruck bekam er wollte es nicht wissen und es kann ja nicht sein das Tatjana den Link mit Session weiter gibt wurde es mir dann doch etwas zu bunt. Da baut jemand etwas zusammen und macht einen groben Fehler. Jemand macht ihn auf das Problem aufmerksam und will dann helfen damit er das Problem in den Griff bekommt. Und dann so eine Reaktion. Okay er will es nicht wahrhaben, kann ja gar nicht sein meint er. Ich schreibe ihm ich einfach mal in seinen Chat ich habe da eine komplette Anleitung wie der das mit der Session richtig machen muss. Poste den Link und siehe da er klickt. Danach habe ich dann mal seine Session übernommen. Er war dann wohl etwas angepisst, streitet aber immer noch ab, daß es ein Problem gibt.
Dann soll er halt so weiter machen. Sollte der Chat viele User haben wird schon irgend jemand mal daher kommen der genau das Problem erkennt, aber nicht aus Interesse und um Sicherheitspobleme aufzuzeigen, sodern um Mist zubauen. Spätestens dann, wenn großes Chaos ausbricht wird man sich halt selbst in den Hinterntreten.
So ist das, nach Feierabend etwas OpenVPN und Server Konfiguration zum basteln, anschliessend noch Spaß haben mit Sicherheitslücken in einem Chatsystem.
So macht das Leben eines Linuxadmins nach der Arbeit richtig Spaß.



