[RCE] Alt.Binz Passwort Verschlüsselung

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von MasterJulian, 30. Mai 2011 .

  1. 30. Mai 2011
    Vorwort: Ich möchte NICHT irgendwelche Passwörter klauen, sonder ein Tool zum automatischen eintragen von Servern in die Settings schreiben.
    Es geht um die Passwortverschlüsselung von Alt.Binz
    Soweit bin ich selbst gekommen:
    Die Daten werden in der "C:\Users\<USER>\AppData\Local\Alt.Binz\misc\servers.abz" im Binärformat gespeichert. Der letzte Schritt der Verschlüsselung sieht nach Base64 Kodierung aus.
    Die altbinz.exe wurde mit UPX gepackt (lässt sich damit auch problemlos entpacken) und in Delphi 7 geschrieben. Gespeichert werden die Daten, wenn der OK Button in der Settings Form gedrück wird. Dieser startet die Funktion "TSetupForm.setup_okbuttonClick". Die Selber müsste irgendwo um 005C49B0 starten.
    Tja und da hörts bei mir auf. Meine (sehr geringen) ASM Kenntnisse reichen hier nichtmal ansatzweise aus. Wenn mir jemand helfen könnte wäre das super.

    PS: Wenn das als "Hacking Request" angesehen wird oder im falschen Bereich ist bitte Schließen/Löschen bzw. Verschieben
     
  2. 30. Mai 2011
    AW: [RCE] Alt.Binz Passwort Verschlüsselung

    Erstmal nen Breakpoint auf:
    Code:
    005E1C2D . 68 A8275E00 PUSH altbinz_.005E27A8 ; ASCII "\servers.abz"
    
    Dort landet man dann, und kann etwas abwärts tracen, und landet dort:
    Code:
    005E1C71 . E8 2E35E2FF CALL altbinz_.004051A4
    005E1C76 . 8B95 6CFFFFFF MOV EDX,DWORD PTR SS:[EBP-94]
    005E1C7C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    005E1C7F . E8 E42C0000 CALL altbinz_.005E4968 <-- Dieser call ist interessant.
    005E1C84 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    005E1C87 . E8 6CF4FFFF CALL altbinz_.005E10F8
    005E1C8C . FF35 24ED6600 PUSH DWORD PTR DS:[66ED24]
    
    Tracet man etwas weiter, kommt man schlussendlich zu dieser Stelle:
    Code:
    
    004F6E74 |> /8B0424 /MOV EAX,DWORD PTR SS:[ESP]
    004F6E77 |. |E8 C0E4F0FF |CALL altbinz_.0040533C // Gibt das nächste Zeichen.
    004F6E7C |. |8A541F FF |MOV DL,BYTE PTR DS:[EDI+EBX-1] // Gecryptetes zeichen nach DL
    004F6E80 |. |0FB7CE |MOVZX ECX,SI
    004F6E83 |. |C1E9 08 |SHR ECX,8
    004F6E86 |. |32D1 |XOR DL,CL
    004F6E88 |. |885418 FF |MOV BYTE PTR DS:[EAX+EBX-1],DL // entschlüsseltes Zeichen zurückschreiben.
    004F6E8C |. |33C0 |XOR EAX,EAX
    004F6E8E |. |8A441F FF |MOV AL,BYTE PTR DS:[EDI+EBX-1]
    004F6E92 |. |66:03F0 |ADD SI,AX
    004F6E95 |. |66:69C6 6DCE |IMUL AX,SI,0CE6D
    004F6E9A |. |66:05 BF58 |ADD AX,58BF
    004F6E9E |. |8BF0 |MOV ESI,EAX
    004F6EA0 |. |43 |INC EBX
    004F6EA1 |. |4D |DEC EBP
    004F6EA2 |.^\75 D0 \JNZ SHORT altbinz_.004F6E74
    
    
    Das ist der komplette Algorithmus. Die schleife arbeitet mit dem Base64-Decodierten String, und führt eben diese operationen darauf aus. Nun kannste das sofort mit (incline) ASM nach coden.

    Ich hoffe das hat dir geholfen.
     
  3. 30. Mai 2011
    AW: [RCE] Alt.Binz Passwort Verschlüsselung

    Super. Wie gesagt meine ASM Kenntnisse sind miserabel. Ich werde mich damit also noch ein wenig beschäftigen müssen (habe auch noch nie mit inline ASM gearbeitet). Das hilft mir aber schon viel weiter.
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.