powie.de Tech Forum

pSys => Security => Thema gestartet von: imara am 06. Juni 2008, 16:44:13

Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 06. Juni 2008, 16:44:13
Hallo Leute,
ich habe noch eine alte Version (pSys 0.3.0 Alpha) im Einsatz, weil ich diese damals ins englische übersetzt hatte und sehr viele Änderungen gemacht hatte. Es ist quasi unmöglich, ein Update einzuspielen.
Heute wurde die Website durch SQL-Injection gehackt !!
Der Hacker war zwar so freundlich keinen Schaden anzurichten (zumindest kein ersichtlicher!!) und hat mir sogar mitgeteilt, dass er mit SQL-Injection Zugang bekommen hat, aber in der Zukunft vermeiden möchte ich das doch.
Wenn sich also jemand mit SQL-Injection auskennt und eventuell erkennen kann, wo die Sicherheitslücke ist, wäre ich für Hinweise dankbar.
Ausserdem wäre es schön, wenn mir jemand sagen kann, ob die Sicherheitslücke in der Zwischenzeit (bei der aktuellen Version von pSys) behoben ist.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: k00ni am 06. Juni 2008, 19:16:26
Hallo,
ich habe das mal verschoben. Betreffend der Sicherheitslücke kann ich dir nichts genau sagen. Welche PHP-Version läuft bei dir? Ich habe da ein paar Vermutungen, aber dazu bräuchte ich auch einen Link auf deine phpinfo.
 
Grüße
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: dec am 06. Juni 2008, 22:46:23
Wenn sich also jemand mit SQL-Injection auskennt und eventuell erkennen kann, wo die Sicherheitslücke ist, wäre ich für Hinweise dankbar.[/quote]
Am besten schaust du in die Logs deines Servers. Dort erhälst du u. U. Hinweise zur \"Einstiegsseite\" des Hackers.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 07. Juni 2008, 12:37:49
Vorteilhaft wäre es, wenn du genau beschreibst, was passiert ist.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 08. Juni 2008, 12:05:46
Wieso war denn diese Issue gestern verschwunden?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 12:34:16
es wurde versehentlich in einen Bereich verschoben, wo ich / wir keinen Zugriff haben /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />
Tja, was genau passiert ist, kann ich euch nicht sagen. Ich weis nur, dass der Hacker es geschafft hat, sich mit einem bestehenden Useraccount (mit admin-rechten) einzuloggen. Ich habe anhand seiner IP Adresse gesehen, dass er sich auch mit dem User-Account \"Admin\" eingeloggt hatte, aber offensichtlich hat ihm das Andere besser gefallen (hatte ja auch admin-rechte).
Er hat mir dann diverse PMs geschickt, ich möchte mich melden, anderen User PMs geschickt, ich solle mich melden, etc. Eigentlich nix Tragisches.
Da er ein Useraccount nutzte, war mir erst gar nicht klar, dass es ein Hacker ist, sondern dachte der eigentliche User will mich dringend sprechen. Erst später hat er sich als Hacker zu erkennen gegeben und wollte dann 10$ von mir /uploads/emoticons/icon_e_smile.gif.f7ec63a2b1c3d90a9415e40455642502.gif\" alt=\":-)\" />
Wir haben dann diverse Spielchen gespielt, wie IP-Adresse sperren und Rechte entziehen, Passwörter ändern, aber das hatte ihn immer nur wenige Minuten abhalten können.
Zum Schluss konnte ich ihn dann überreden, dass es sich um keine kommerzielle Seite handelt und ich nicht in der Position bin, Gelder zu zahlen oder sonstige Forderungen zu erfüllen. Sollte er nicht einsichtig sein, werde ich die Site einfach offline nehmen was zwar schade wäre aber kein finanzieller Verlust.
Zum Glück sah er dies ein und erklärte mir abschließend, dass ich dringend eine sicherere Platform wählen sollte. Er hätte sich mit SQL Injection Zugriff zu allen Daten verschaffen können und mich sogar noch darum gebeten, alle Passwörter zu ändern.
Ich habe mal in der Datenbank gestöbert, aber konnte dort keine Veränderungen finden. Zur Sicherheit habe ich jedoch eine Datensicherung eingespielt und alle Passwörter geändert.
Interessant ist auch, dass der Hacker eine andere, themenrelevante Website gehackt hat. Dies hab ich zufällig erfahren. Da ich weder deren Admin kenne noch dort pSys im Einsatz ist, vermute ich, dass sich der Typ auf dieses Thema fokussiert hat, statt auf bestimmte Platformen.
An technischen Details kann ich leider nicht mehr liefern, bin aber gerne bereit weitere Einzelheiten heraus zu finden sofern mir möglich (evtl. bräuchte ich Anleitungen was ich tun soll).
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 08. Juni 2008, 18:19:06
Wir haben dann diverse Spielchen gespielt, wie IP-Adresse sperren und Rechte entziehen, Passwörter ändern, aber das hatte ihn immer nur wenige Minuten abhalten können.[/quote]
Wien habt ihr denn die IP Adresse gesperrt, und wie habt ihr dessen IP Adresse ermittelt?
Das alles hört sich recht nach theatralisch an, aber so recht Sinn macht die ganze Sache nicht.
1. Wer war er? E-Mail / Kontaktdaten?
2. Wie hat er sich denn Adminrechte geholt? Wieso hat er dies nicht erklärt?
3. Ist das ADMIN Passwort \"sicher\" ?
Ich habe mal in der Datenbank gestöbert, aber konnte dort keine Veränderungen finden.[/quote]
Wie hast du nach Änderungen gesucht?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 18:36:19
Ich hab per MySQL Admin nachgesehen, welche zuletzt verwendete IP Adresse der Benutzer hatte und habe die per htaccess datei gesperrt. Damit war er erstmal weg vom Fenster bis er die Addresse geändert hatte.
Als ich in MySQL Admin nach der IP-Addresse des Benutzers suchte, viel mir auf, dass auch der Benutzer \"Admin\" zuletzt die gleiche IP-Addresse hatte. Also war er auch als Admin eingeloggt. Ausserdem zeigte das Forum unter \"Benutzer heute online\" den Admin an obwohl ich den sonst nie nutze.
Das Admin Kennwort ist natürlich etwas nicht nachvollziehbares. Ebenso, das Passwort welches der Benutzer hatte.
Die Fragen: \" Wer war er? E-mail / Kontaktdaten\" und \"Wieso hat er dies nicht erklärt?\" machen mich ein wenig stutzig. Äh, das war ein ernst zu nehmender Hacker!! Der wird sich doch wohl nicht zu erkennen geben bzw. seine Vorgehensweise bekannt geben!! Er macht sich strafbar und das weis er.
Letztendlich ist nix passiert, bzw. ich kann keinen Schaden erkennen, aber ich darf mich natürlich bei meinen Usern entschuldigen und die Sicherheit der Daten auf meiner Website ist in Frage gestellt inkl. der Passwörter. Ich darf Rechenschaft ablegen und Erklärungen abgeben und die Leute aus gegebenem Anlass darauf hinweisen, dass Ihre Daten auf meiner Website nicht sicher sind weil ich nicht weis wie der Hacker rein gekommen ist und ich daher die Sicherheitslücke auch nicht schließen kann.
Keine sehr erfreuliche Situation.
Die Datenbank habe ich nach ungewöhnlichen Einträgen durchstöbert (Zufallsprinzip) und zusätzlich per Suchfunktion nach Skripten und externen Links gesucht.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 08. Juni 2008, 18:44:16
Hast du den Apache LOG aus dem betreffenden Zeitraum noch!?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 18:52:28
ja, sag mir wonach ich darin suchen soll.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 08. Juni 2008, 18:56:16
Alle Zugriffe auf den Webserver die mit \"seiner\" IP gemacht wurden aus dem LOG File filtern und mir senden.
Damit kommen wir eventuell der Variante auf die Spur wie er es gemacht hat.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 08. Juni 2008, 19:58:54
Ich bin auch an den Logfiles interessiert. Vielleicht kannst du ja die IP-Adressen entfernen und mir den Log per E-Mail schicken.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 20:03:42
@ Christoph,
habs dir an dein GMail account geschickt.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: tomku am 08. Juni 2008, 20:08:42
Auf unseren Webseiten benutzen wir grundsätzlich zwei voneinander unabhängige Log-Scripte. Dadurch haben wir schon so manchen Eindringling erkannt bevor der richtig zuschlagen konnte.
Die PScripte sind seit langem als unsicher bekannt und werden gerne zu Trainingszwecken benutzt.
Christoph hat oft genug auf die Schwächen hingewiesen.
Allerdings sind andere Scripte nicht unbedingt soooo viel sicherer.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 08. Juni 2008, 20:24:39
Auf unseren Webseiten benutzen wir grundsätzlich zwei voneinander unabhängige Log-Scripte. Dadurch haben wir schon so manchen Eindringling erkannt bevor der richtig zuschlagen konnte.[/quote]
Das interessiert mich: Wie genau macht ihr das? Habt ihr ein IDS?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 20:59:03
Laut Google-Statistik wurde an diesem Tag nach verschiedenen Varianten hierfür gesucht:
inurl:index.php?shownews
inurl:/news/index.php?shownews=
news/index.php?shownews=
etc. etc.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 08. Juni 2008, 21:16:04
Ich interpretiere die Logs so, dass der Angreifer so gezielt nach Powie-Installationen gesucht hat.
Interessant finde ich, dass der Angreifer seine Sicherheitslücke verkaufen wollte. Was genau hat er denn geschrieben?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 21:46:38
Ich vermute eher, dass er sich die url-gestaltung angesehen hat und dann nach einer Session (bzw. Informationen daraus) in Google gesucht hat.
Er hat ja auch eine themenrelevante gehackt obwohl die eine ganz andere Platform benutzen.
In seiner letzten PM schrieb er:
 

you is very cleaver))) i think  you must change you platform, because it\\\'s very bad site. you must install Joomla - it\\\'s good platform for your site. i must leave now... i think you don\\\'t hear about me... you must change password for this account (Nico = carsten) and i know all other passwords from your database.
it will very good if you change your platform, i did SQL INJ when i know all passwords and accounts from your site.
 
[/quote]
Verkaufen wollte er nix, und auch seine anfängliche Geldforderung halte ich für eine Ausrede. Ich denke er hat sich einen schlechten Scherz gemacht, oder aber, hat es gezielt auf Webseiten mit solchem Content abgesehen (Wildtierschutz in Afrika).
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 08. Juni 2008, 22:06:24
Ich vermute eher, dass er sich die url-gestaltung angesehen hat und dann nach einer Session (bzw. Informationen daraus) in Google gesucht hat.[/quote]
Er hat einerseits nach einer bestimmten Kombination aus Ressource und Parameter gesucht, andererseits hat er an mehreren Stellen SQL Injections getestet und war an einer Stelle auch erfolgreich.
Er hat ja auch eine themenrelevante gehackt obwohl die eine ganz andere Platform benutzen.[/quote]
Welche denn?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 08. Juni 2008, 22:16:18
ups, ich muss das korrigieren. Habe eben mit dem Web-master der anderen Website Kontakt aufgenommen und der hat nur aus Sicherheitsgründen seine Benutzer gebeten Ihre Passwörter zu ändern weil er mitbekommen hat, dass meine Site gehackt wurde.
Bleibt also Alles offen ...
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 09. Juni 2008, 07:30:11
Danke für das LOG Carsten. Der Angreifer hat eine alte Lücke in der /user/showprofil.php benutzt, die schon seid der 0.5.0 alpha geschlossen ist, um einfach Daten ausspähen zu können. Dies kannst du gut im Log nachvollziehen, er hat da hundete Zugriffe drauf gemacht, da das im Sekundenraster passiert kann man davon ausgehen das er ein Script benutzt und dies nicht händisch tut. Er ist dadurch nicht an Passwörter gekommen wie er dir weiss machen will, das geht ja garnicht da diese nur als Hash in der DB stehen, aber er konnte die Hash Daten lesen. Dann hat er vermutlich irgendwo eine Hash Datenbank genutzt und schon konnte er sich einloggen, auch das kannst du noch nachvollziehen, er hatte einige Versuche nötig, er hat sich vorher mindestens 50 mal erfolglos versucht einzuloggen.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: k00ni am 09. Juni 2008, 08:01:47
Bitte auch mal in Erwägung ziehen, das Skript zu aktualisieren. Zwischen der 0.3 und 0.7 liegen Äonen. Das hat hier zwar jetzt nur noch bedingt was mit zu tun, aber wenn man eine veraltete Version einsetzt, dann kann dies schon vorkommen.
Die PScripte sind seit langem als unsicher bekannt und werden gerne zu Trainingszwecken benutzt.[/quote]
Wo steht sowas? Ich weiß nur, dass die Skripte ohne die automatische Maskierung offen wären wie ein Scheuentor, da keine Typprüfung der Parameter etc. .

Auf unseren Webseiten benutzen wir grundsätzlich zwei voneinander unabhängige Log-Scripte. Dadurch haben wir schon so manchen Eindringling erkannt bevor der richtig zuschlagen konnte.[/quote]
Das interessiert mich: Wie genau macht ihr das? Habt ihr ein IDS?
[/quote]
Interessiert mich auch.
 
Grüße
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 09. Juni 2008, 08:35:26
Wo steht sowas?[/quote]
Naja, es ist ja u.A. hier im Forum dokumentiert.
Ich weiß nur, dass die Skripte ohne die automatische Maskierung offen wären wie ein Scheuentor, da keine Typprüfung der Parameter etc.[/quote]
PSys ist außerdem massiv von CSRF-Sicherheitsproblemen betroffen. Diese sind prinzipiell auch ohne automatisches Escaping relevant. Übrigens wird es in PHP6 die magic_quotes_*-Funktionalität überhaupt nicht mehr geben.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 09. Juni 2008, 09:19:16
Schön, dass es eine Lücke ist, die bereits geschlossen ist da ich pSys ja noch anderweitig einsetze /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />
Auf dieser Website nutze ich noch die alte Version weil ich dort sooo viele Änderungen gemacht habe (inkl. Übersetzung ins Englische), dass es ein immenser Zeitaufwand wäre diese zu aktualisieren.
Wie bereits geschrieben, habe ich von der Website tatsächlich kein Einkommen und kann es mir leider im Moment nicht leisten, Wochen damit zu verbringen diese zu aktualisieren.
Wäre es möglich nur diesen Teil zu beheben? Liegt es ausschließlich an der showprofil.php?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 09. Juni 2008, 11:59:43

Original von Powie Er ist dadurch nicht an Passwörter gekommen wie er dir weiss machen will, das geht ja garnicht da diese nur als Hash in der DB stehen, aber er konnte die Hash Daten lesen.
[/quote]
Er kann sehr wohl die Passwörter einsehen, er hat mir ja als Beweis das Passwort für den Benutzer mitgeteilt und mich gebeten dies zu ändern.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 09. Juni 2008, 12:02:56
Wie soll das gehen? Das Passwort steht nirgendwo im Klartext.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 09. Juni 2008, 12:15:41
das weis ich auch, aber warum weis er dann das Passwort?
Was weis ich, vielleicht war SQL Inj. ja nur die Spitze des Eisberges. Könnte ja sein, dass er sich per SQL Injection Zugang verschafft hat und dann ein trojanisches Skript hinterlegt hat.
Ich würde ihn ja gerne fragen oder hier zu unserer Diskussion einladen, aber ich stehe leider nicht mehr in Kontakt mit ihm.
Wenn ich das im Log richtig gesehen habe, sitzt er in Russland, jemand aus meinem Bekanntenkreis schließt daher aus.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: imara am 09. Juni 2008, 14:52:33
hab mich da mal schlau gemacht. Es gibt Webseiten wo man die Hash-Keys online entschlüsseln kann  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 09. Juni 2008, 15:22:53
Richtig, dann benötigt man den Hash Key aus deiner Datenbank, und man muss noch das Glück haben das das selbe Passwort in der Datenbank ist....
Bsp: http://md5.rednoize.com
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 09. Juni 2008, 16:03:17
hab mich da mal schlau gemacht. Es gibt Webseiten wo man die Hash-Keys online entschlüsseln kann[/quote]
Aus diesem Grund salzt man Hashes auch. Dann funktionieren vorberechnete Rainbow-Tables nämlich nicht.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: tomku am 09. Juni 2008, 20:07:04

Original von Christoph Jeschke
Auf unseren Webseiten benutzen wir grundsätzlich zwei voneinander unabhängige Log-Scripte. Dadurch haben wir schon so manchen Eindringling erkannt bevor der richtig zuschlagen konnte.[/quote]
Das interessiert mich: Wie genau macht ihr das? Habt ihr ein IDS?
[/quote]
Zum Einen haben wir ein ursprünglich simples Counterscript im Einsatz, welches fast unsichtbar ist und dazu kein IDS sondern ein IPS. Dieses kann nicht nur Angriffe erkennen, sondern auch abwehren, zB. durch Veränderung des Datenverkehrs.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 09. Juni 2008, 23:40:27
Zum Einen haben wir ein ursprünglich simples Counterscript im Einsatz, welches fast unsichtbar ist[/quote]
Auch wenn es hier langsam ot ist: Kannst du das näher beschreiben?
und dazu kein IDS sondern ein IPS. Dieses kann nicht nur Angriffe erkennen, sondern auch abwehren, zB. durch Veränderung des Datenverkehrs.[/quote]
Kann man sich das irgendwo anschauen? Welche Seite betreibst du/ihr?
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 09. Juni 2008, 23:50:47
Interessanterweise reicht es, wenn der Angreifer die UIN eines Nutzers herausbekommt um sich anmelden zu können, wenn das Opfer die Login-Speichern-Funktion verwendet hat.
Siehe https://storage.cj-soft.de/powie/pforum/loginkey/ - hier für das Pforum. Man sollte die Funktion aus dem Quellcode entfernen, da sie inhärent unsicher ist. In Kombination mit einem SQL-Injection-Selekt ist die UIN einfach herauszubekommen.
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: Powie am 10. Juni 2008, 07:05:35

Original von Christoph Jeschke Interessanterweise reicht es, wenn der Angreifer die UIN eines Nutzers herausbekommt um sich anmelden zu können, wenn das Opfer die Login-Speichern-Funktion verwendet hat.
Siehe https://storage.cj-soft.de/powie/pforum/loginkey/ - hier für das Pforum. Man sollte die Funktion aus dem Quellcode entfernen, da sie inhärent unsicher ist. In Kombination mit einem SQL-Injection-Selekt ist die UIN einfach herauszubekommen.
[/quote]
OK, angenommen man würde die UIN nicht mehr benutzen, mit welcher Methode sollte man dies dann bewerkstelligen....
Titel: Sicherheitslücke in pSys 0.3.0 alpha
Beitrag von: am 10. Juni 2008, 09:46:34
OK, angenommen man würde die UIN nicht mehr benutzen, mit welcher Methode sollte man dies dann bewerkstelligen....[/quote]
Es gibt keine Methode dies sicher zu bewerkstelligen. Man könnte aber dafür sorgen, dass man nicht vollständig über die Login-Speichern-Funktion authentifiziert ist. Schau dir z.B. Amazon an: Man wird dort zwar über einen Cookie identifiziert, muss sich aber bei kritischeren Operationen als einfachen Suchen (und den Empfehlungen) erneut authentifizieren. Die Login-Speichern-Funktion hier bietet aber Zugriff auf alle Funktionen.