T-Online Zugangsdaten sniffen: ========================= Und wieder ist ein weiteres Tutorial fertig und liegt nun direkt vor euch. In diesem Tutor wollen wir uns um die Zugangsdaten bei T-Online kümmern und daraus lernen, wie man Passwörter ganz einfach herausbekommt. Diesen Teil der einfachen Verschlüsselung verdanken wir den Programmierern der T-Online Software, die wohl keinen Bock zum verschlüsseln hatten und ein simples Muster verwendet haben ;-) Leider habe ich feststellen müssen, das sich die "Verschlüsselung" von Version zu Version unterscheidet. Die Zugangsdaten der T-Online Software unterliegen folgenden Konventionen: - Anschlußkennung : 12 Zeichen (numerisch) - T-Online Nummer : 12 Zeichen (numerisch) - Suffix : 4 Zeichen (numerisch) - Passwort : 8 Zeichen (alphanumerisch) Als Passwort können sowohl Zahlen als auch Buchstaben vergeben werden. Bei der Anschlußkennung, der T-Online Nummer und dem Suffix sind nur Zahleneingaben (numerische Werte) möglich. Die Zugangsdaten (inkl. Passwort) sind in der Datei "PASSWORT.INI" gespeichert. Sollte dies nicht der Fall sein, öffnet anstelle der PASSWORT.INI die DBSERVER.INI. Wenn ihr bemerkt das die PASSWORT.INI nicht existiert, wissen wir nun daraus, das der User die Version 1.x benutzt. Die beiden Dateien liegen im T-Online Verzeichnis. Der komplette Pfad zu T-Online steht wiederum in der "WIN.INI", die sich bekanntlich im Windows Ordner aufhält. Die in der Datei gespeicherten Informationen wurden nach folgendem System "verschlüsselt": (verschlüsselt ist wohl nicht der richtige Ausdruck) Solltet ihr hier schon erkennen, das es sich um eine andere Weise der Verschlüsselung handelt, dann ist der nachfolgende Teil für euch uninteressant. In Version 2.04 ist die Decodierung des Passwortes nämlich schwieriger als in der Vorgängerversion. Die nachstehende Tabelle dient ausschliesslich zum Dekodieren des T-Online Passwortes in der Version 1.x !!! Dekodieren des Passwortes in Version 1.x ================================ FXD^ = 0 F\D^ = 1 F´D^ = 2 FdD^ = 3 GXD^ = 4 G\D^ = 5 G`D^ = 6 GdD^ = 7 HXD^ = 8 H\D^ = 9 F\Hd = a HdF´ = b FdHd = c GXHd = d G\Hd = e G´Hd = f GdHd = g HXHd = h H\Hd = i I\Hd = m I´Hd = n IdHd = o FXHf = p F\Hf = q F´Hf = r FdHf = s GXHf = t G\Hf = u G´Hf = v GdHf = w HXHf = x H\Hf = y H´Hf = z F\F´ = A F´F´ = B FdF´ = C GXF´ = D G\F´ = E G´F´ = F GdF´ = G HXF´ = H H\F´ = I H´F´ = J HdF´ = K IXF´ = L I\F´ = M I´F´ = N IdF´ = O FXFb = P F\Fb = Q F´Fb = R FdFb = S GXFb = T G\Fb = U G´Fb = V GdFb = W HXFb = X H\Fb = Y H´Fb = Z So, das ist auch schon alles was wir brauchen, denn mehr "Verschlüsselung" steckt hinter der T-Online Software nicht :-) Und was soll ich jetzt mir der obenstehenden Tabelle machen ??? Die Datei DBSERVER.INI oder PASSWORT.INI öffnen, die schei** Zeichen vergleichen, und sich über das erklaute Passwort freuen. Das heisst, es gilt nur für Version 1.x...denn für nachfolgende Versionen sieht die Sache schon etwas komplizierter aus. Da ich es euch aber nicht vorenthalten möchte, führe ich auch die Variante hier nun auf :-) DBSERVER.DLL - Patch : Übernahme fremder Passwortdatei T-Online 2.04 prüft automstisch, ob eine geklaute Passwort.ini ins T-Online Verzeichnis kopiert wurde. Es erfolgt dann eine Sicherheitsabfrage bei der man das Passwort (das wir ja noch nicht kennen) eingeben soll. Nachdem die DBSERVER.DLL wie unten stehend modifiziert wurde, kann man dort irgendetwas eingeben, T-Online geht normal im Programm weiter. Es wurden einfach einige Jumps durch NOP'S (90) ersetzt. T-Online Version 2.040 ; DBSERVER.DLL : Version 8.01 Routine beginnt ab Offset Hex: 281c0 T-Online Version 2.042 ; DBSERVER.DLL : Version 8.05 Routine beginnt ab Offset Hex: 29325 Vorher | Nachher | Assembler Hex | Hex | Quellcode --------------------------------------------- 75 32 -> 90 90 jne 29359 -->NOP NOP 8C D0 mov ax,ss 8D B6 30 FF lea si,[bp][0FF30] BF 2C 80 mov di,0802C FC cld 50 push ax 33 C0 xor ax,ax B9 FF FF mov cx,0FFFF F2 AE repne scasb F7 D1 not cx 2B F9 sub di,cx 8C D8 mov ax,ds 1F pop ds 50 push ax 33 C0 xor ax,ax F3 A6 repe cmpsb 1F pop ds 74 05 -> 90 90 je 2934D -->NOP NOP 1B C0 sbb ax,ax 1D FF FF sbb ax,0FFFF 0B C0 or ax,ax 75 08 -> 90 90 jne 29359 -->NOP NOP FF 76 0E push w,[bp][0000E] 6A 01 push 01 E9 81 01 jmp 294DA Jetzt kann man schon mit den Daten des Users Online gehen, aber war das Ziel unserer Mission nicht das Passwort zu erspähen ??? Soweit sogut, um auch das Passwort sowie die Anschlußkennung zu Gesicht zu bekommen, müssen wir wie folgt vorgehen: a) Bei der "Alten" T-Online Version 2.040 war das einfach, man brauchte blos 2 Bytes in der DBSERVER.DLL austauschen : suche nach Hex: 54 04 20 00 83 50... und ersetze die "20" durch "00" sowie nach Hex: 58 04 20 00 83 50... und ersetze die "20" durch "00" Im T-Online Programm konnte man nun dort die Zugangsdaten im Klartext lesen, da man hierdurch das Passwort-Editfeld "*****" in ein normales Editfeld geändert hatte. b) Bei der Version 2.042 geht das nicht mehr, dort erscheinen nur Sternchen ***** auch nach dem Patch aus Schritt 2a). Ich habe daher die T-Online Sicherheitsabfrage aus Schritt 1) umgebaut, so daß sie die Passwörter im Klartext anzeigt sobald eine Passwort.ini eines fremden Users eingefügt wird... ;-) Um mithalten zu können, geht ihr einfach wie folgt vor: Man macht sich klar das T-Online das Passwort zunächst selbst entschlüsseln muß um festzustellen ob das Richtige eingegeben wurde. Dieses Passwort liegt dann irgendwo im Arbeitsspeicher des Rechners unverschlüsselt herum! Das gleiche gilt für die Anschlußkennung, Telefonnummer und Mitbenutzernummer. Ebensfalls im Arbeitsspeicher des Rechnes liegen diverse Strings herum, zum Beispiel "Bitte geben Sie das Passwort ein" oder "noch % Versuche" oder "zwei". Diese Strings werden auf dem Bildschirm ausgegeben wenn das Fenster der T-Online Sicherheitsabfrage erscheint. Das einzige was man also tun muß ist die Stelle im Programm finden wo diese Strings ausgegeben werden und den Zeiger auf diesen String umbiegen auf das Passwort...:-) Naja, das ganze mag jetzt vielleicht einfach klingen, ist es aber nicht. 1. Wie finde ich die Stelle im Arbeitsspeicher wo das Passwort unverschlüsselt steht? Starte T-Online 2.04 unter Windows 3.x; starte dann viele andere Programme bis das T-Online Programm vom Arbeitsspeicher in die Auslagerungsdatei (386spart.par) auf die Festplatte übertragen wird. Windows NICHT schließen. Die Auslagerungsdatei nach "0001" durchsuchen (ggf. mehrfach) oder nach der Telefonnummer des Users. Kurz dahinter steht das Passwort im Klartext. Am besten zuerst mit dem eigenen Passwort ausprobieren, sofern man T-Online Kunde ist. 2. Um welchen Wert muß ich den Zeiger des Strings ändern damit statt dessen das Passwort angezeigt wird? Merk dir die Position des Passworts in der Auslagerungsdatei. Suche jetzt nach dem String anstelle dessen du das Passwort ausgeben willst. Merk dir ebenfalls die Position in der Auslagerungsdatei ! --> Aus der Diffrerenz beider Positionen kennst du jetzt den Wert um den du den Zeiger ändern mußt um anstelle des Strings das Passwort im Fenster erscheinen zu lassen. 3. Wie finde ich die Stelle im Quellcode die den String "zwei" ausgibt? Disassembliere die Datei DBSERVER.DLL mit einem Windows Dissassembler (WDASM). Suche den String im Quellcode. Vor dem String bringt der Disassembler eine Markierung an z.B."L 83E9 H". Suche die Stelle im Quellcode die auf diesen String zeigt (suche in diesem Beispiel nach "83E9"). So eine gefundene Stelle sieht dann z.B. so aus "MOV AX,83E9". 4. Wie ändere ich mit diesen Daten die DBSERVER.DLL um ? Assembliere den gefundenen Befehl wieder in Hexadezimale Zahlen --> B9 E9 83 Suche nach diesen 3 Zahlen in der DBSERVER.DLL . Addiere/Subtrahiere jetzt den Wert den du unter 2. errechnet hast. Schreibe diesen Wert (z.B. 83F4) jetzt an die gefundene Stelle. B9 F4 83 "MOV AX, 83F4" SO, den Rest kennt ihr ja: Die erklauten Daten auf einem Zettel notieren, T-Online installieren (sofern man dies noch nicht getan hat), die Zugangsdaten eingeben, und eine Verbindung aufbauen :-) Wie ihr ja auch sicher alle wisst, nutzt man soetwas natürlich nur für seine eigene Datei, und missbraucht diese Tips nicht zu irgendwelchen illegalen Zwecken, denn das wäre ja fies ;-) Und fies sein will doch wohl keiner von euch, oder ??? Das war`s...für dieses Mal c u all Cyberdemon_98 P.S.: Die technischen Details zu Version 2.04 habe ich aus dem Tutorial von "Barret 1998". Ich möchte mich hiermit herzlich bei ihm bedanken, ihn grüssen und ihn bitten mir nicht allzu verärgert zu sein, daß ich seine Informationen hier in meiner Lesson so preisgebe :-)