Hallo, ich habe eine ZIP Datei mit Passwortschutz (Firmware). Dazu habe ich auch ein Programm vom Hersteller welches diese ZIP Datei entpacken kann und die Platine flashen kann. Die entpackten Dateien habe ich in einen tmp Ordner gefunden, sehr schlau gemacht. Kann ich irgendwie herausbekommen wie das Passwort lautet? Mit einer manipulierten ZIP Datei vielleicht? Prozessmonitor o.ä.? Martin
> ZIP Datei mit Passwortschutz
Gibt es da kein funktionierendes Hilfsprogramm?
Speicher von dem Programm durchforsten, hmm, ob es da dann im Klartext steht, die 2MB von dem Zip sind ja sehr schnell entpackt. Bruteforceattacke hab ich kurz laufen lassen aber wenns dann über 7-8 Stellen geht dauert es dann schon lange. Hab auch das exe welches entpackt schon im Hexeditor angeschaut und auch nichts gefunden, hmm. Martin
Wird per Zufall eine externe ZIP Applikation gestartet, wie z.B. 7z.exe oder sowas (sonst macht das Entpacken nach tmp keinen Sinn)? Diese Anwendung tauschen, durch eine eigne Applikation, welche natürlich nicht entpackt... mfg Andreas
Martin schrieb: > Updateprogramm: > http://short4u.de/50784bc77a0f6 > > Firmware: > http://short4u.de/50784b3c41748 Danke. Spielchen :-)
Ok, nach ~3000 Events in ProcMon: Die Dateien werden direkt von msiexec.exe erzeugt, kein 7zip oder so (wäre auch zu schön gewesen). Jetzt wirds schwierig, einen Debugger müsste man haben...
Falls jemand mitbasteln will: Die msi-Datei ist eigentlich ein Archiv, lässt sich mit 7zip entpacken aber auf den ersten Blick nur eine Menge Datensalat und eine Datei voller Strings. ProcMon stürzt bei mir leider ständig ab, macht die Sache nicht einfach. Was ich versuche rauszufinden ist der Zeitpunkt zu dem die msi-Datei auf das zip-Archiv zugreift, irgendwie ohne Erfolg. Ohne Archiv geht es aber auch nicht. :-/
DMSI lässt sich mit Windows Tools entpacken, oder installieren. Darin ist eine EXE Datei welche wärend des Updateprozesses entweder die aktuelle zip aus dem Netz lädt oder man gibt die Firmwaredatei an. Die msi greift nicht auf die zip zu.
Martin schrieb: > Die msi greift nicht auf die zip zu. Das habe ich auch festgestellt. Da aber mein ProcMon ständig abstürzt und mit FileMon (von Chip.de geladen) nicht richtig zu arbeiten ist gebe ich es jetzt auf. :-(
Ach eines noch: in der msi-Datei sind weitere Archive, das geht so über mehrere Ebenen. Was meinst du genau mit MS-Tools? Welche?
So, jetzt wollte ich es wissen und hatte Recht: Die msi-Datei enthält die komplette zip-Datei. Es geht nämlich auch ohne (die zip). Um das PW rauszufinden müsste man wohl den msi-Mist durch einen Debugger jagen, aber davon hab ich 0 Ahnung. Over & Out.
Ich habe mir das ganze gerade angeschaut. Zum entpacken des Zipfiles wird ziemlich sicher http://xbittorrent.googlecode.com/svn-history/r7/trunk/ZipArchive/ verwendet. => Wir haben die Sourcen der ZIP Library, auch die Lizenz passt. Es ist diese Klasse;-)
1 | // Function name : SetPassword |
2 | // Description : set the password for the file that is going to be opened or created |
3 | // use this function BEFORE opening or adding a file |
1 | bool CZipArchive::SetPassword(LPCTSTR lpszPassword) |
2 | {
|
3 | if (m_iFileOpened != nothing) |
4 | {
|
5 | TRACE(_T("You cannot change the password when the file is opened\n")); |
6 | return false; // it's important not to change the password when the file inside archive is opened |
7 | }
|
8 | if (IsClosed()) |
9 | {
|
10 | TRACE(_T("Setting the password for a closed archive has no effect.\n")); |
11 | }
|
12 | if (lpszPassword) |
13 | {
|
14 | int iLen = WideToSingle(lpszPassword, m_pszPassword); |
15 | if (iLen == -1) |
16 | return false; |
17 | for (size_t i = 0; (int)i < iLen; i++) |
18 | if (m_pszPassword[i] > 127) |
19 | {
|
20 | m_pszPassword.Release(); |
21 | TRACE(_T("The password contains forbidden characters. Password cleared.\n")); |
22 | return false; |
23 | }
|
24 | }
|
25 | else
|
26 | m_pszPassword.Release(); |
27 | return true; |
28 | }
|
Also müsste man versuchen beim Debuggen / Analysieren die Calls auf WideToSingle tracken, leider ist auch diese Funktion nicht mehr sichtbar, da diese intern ist. Also weiter im Text:
1 | int CZipArchive::WideToSingle(LPCTSTR lpWide, CZipAutoBuffer &szSingle) |
2 | {
|
3 | size_t wideLen = _tcslen(lpWide); |
4 | if (wideLen == 0) |
5 | {
|
6 | szSingle.Release(); |
7 | return 0; |
8 | }
|
9 | ...
|
hier wird _tcslen aufgerufen. Laut MSDN: http://msdn.microsoft.com/en-us/library/78zh94ax%28v=vs.80%29.aspx Wird das bei Unicode auf wcslen, ansonsten auf strlen gemappt. "wcslen" ist im Binary nicht vorhanden. strlen hingegen schon. Also müssen die Calls auf strlen geloggt werden, das Passwort wird dann mit Sicherheit dabei sein! ->http://stackoverflow.com/questions/2825960/wanted-winapi-calls-logger Ob Procmon oder was auch immer, probiert doch einfach nochmals ob ihr was rauskrieg, es müsste auf jedem Fall VOR dem öffnen des Zipfiles ein Call auf strlen mit dem Passwort gemacht werden. Wenn Ihr noch was herausfindet bitte Posten;-) mfg Andreas
Andreas B. schrieb: > Ich habe mir das ganze gerade angeschaut. > Zum entpacken des Zipfiles wird ziemlich sicher > http://xbittorrent.googlecode.com/svn-history/r7/trunk/ZipArchive/ > verwendet. Wow. Verrätst du mir wie du DAS rausgefunden hast? > Also müssen die Calls auf strlen geloggt werden, das Passwort wird dann > mit Sicherheit dabei sein! Hm... überleg Aber so nebenbei: Wie ich oben schrieb enthält die msi offensichtlich das komplette Archiv und zwar OHNE Passwort. Demnach ist es überhaupt nicht sicher ob das PW überhaupt in der Datei steckt! Da könnte man dann natürlich lange suchen. Die zip-Datei die man runterlädt wird nämlich laut ProcMon vermutl. gar nicht angefasst. Und bei mir ging es vorhin auch ohne... Auf der Bruteforce-Seite: Wir haben die entpackten Dateien, vielleicht lässt sich da was anfangen? known-plaintext glaube ich hieß das. Keine Ahnung wie genau das verschlüsselt wurde, vielleicht gibt es da ja Sicherheitslücken? (Wobei es einen Unterschied gibt zwischen "ohne PW zugreifen" und "PW rausfinden", zugegeben). Wie dem auch sei, wenn mir noch was einfällt poste ich...
schick doch die Datei zum Knobeln einfach mal ins Forum rein. Es wird doch wochenende werden. Klaus
troll schrieb: > Andreas B. schrieb: >> Ich habe mir das ganze gerade angeschaut. >> Zum entpacken des Zipfiles wird ziemlich sicher >> http://xbittorrent.googlecode.com/svn-history/r7/trunk/ZipArchive/ >> verwendet. > Wow. Verrätst du mir wie du DAS rausgefunden hast? Hmm... Soll ich das wirklich sagen? Ist nämlich viel einfacher als das du denkst;-) Ich hab das .exe im Hexeditor geöffnet, und mir den Inhalt angeschaut. Da habe ich die Namen von Klassen und Exception gefunden;-) (Wärs die Debugversion gewesen wär da noch viel mehr drin gewesen, und dann hätte man mithilfe den Sourcen das ganze wirklich Debuggen können;-)) Google hat ziemlich wenig Einträge gebracht => also eigentlich eindeutig;-) > >> Also müssen die Calls auf strlen geloggt werden, das Passwort wird dann >> mit Sicherheit dabei sein! > Hm... *überleg* > > Aber so nebenbei: Wie ich oben schrieb enthält die msi offensichtlich > das komplette Archiv und zwar OHNE Passwort. Glaube ich nicht, da ich es nicht finde. Bringe den Gegenbeweis;-) > Demnach ist es überhaupt > nicht sicher ob das PW überhaupt in der Datei steckt! Da könnte man dann > natürlich lange suchen. Die zip-Datei die man runterlädt wird nämlich > laut ProcMon vermutl. gar nicht angefasst. Und bei mir ging es vorhin > auch ohne... Annahme: Der Programmierer hatte nicht viel Ahnung, wenn dann wären die Ressourcen mit einem Ressourcen Hacker zu finden, da ist aber kein Zipfile. Zur Info: Ein Zipfile ist an der Magic Number "PK" zu erkennen, auch bei einer Verschlüsselten Zipdatei sind alle Dateinamen unverschlüsselt gespeichert, ist ja auch zu sehen wenn die Zipdatei geöffnet wird. Somit müssten diese Namen auch zu finden sein. Was ich gesehen habe sind aber nur die Einträge mit denen die Datei geöffnet wird, aber keine Ziptdatei. > Auf der Bruteforce-Seite: Wir haben die entpackten Dateien, vielleicht > lässt sich da was anfangen? known-plaintext glaube ich hieß das. Keine > Ahnung wie genau das verschlüsselt wurde, vielleicht gibt es da ja > Sicherheitslücken? (Wobei es einen Unterschied gibt zwischen "ohne PW > zugreifen" und "PW rausfinden", zugegeben). Vergiss es. 1. ist es nicht möglich, 2. wenn es möglich ist ist es zu kompliziert:-) > Wie dem auch sei, wenn mir noch was einfällt poste ich... Hast du so ein Gerät oder wie bist du weitergekommen als ich? Es wird ja offenbar auf eine COM Schnittstelle zugegriffen (über USB Oder nicht ist ja egal, laut den Winapi Funktionsaufrufen gehts über COM). mfg Andreas
Würde gern mit machen, aber wollte letztens mal wieder was Cracken, easy to einarbeiting Disasambler waren aber nicht zu finden... =) Kann jemand einen Guten empfehlen?
Andreas B. schrieb: > Bringe den Gegenbeweis;-) VorwerkVR100Setup.msi mit 7zip öffnen. _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 extrahieren. _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 mit 7zip öffnen. Alle Dateien extrahieren. _1200F65AE45849BE9C6AF16056CB9844 = XV11App.16621.P.bin.enc _A07C98387DD8464BB2F7AEFA1C5E2EB7 = vssver2.scc _B3410E889E7A4FA78A81C273A708563D = Config.ini _DCC206C0F3BE4A23BDB38FB904AB0784 = LDS_15295.enc _FB30E425EC374FE9BA2A58DD3E1B0AAB = DfltSoundLib.Rev1.0.bin _EB8185C9E2AD4FFE982121EA79E7552C = -Releasenotes.txt Hab ich sie alle? Die restlichen Dateien aus _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 scheinen die zu sein die vom Installer installiert werden, hab mir das aber nicht genau angeschaut. Eine davon ist vermutl. noch mal das gleiche Archiv, warum auch immer. Anmerkung: Das Vergleichen der Dateien hab ich visuell mit Programmer's Notepad gemacht, man müsste nochmal komplett anhand der Checksummen oder so vergleichen aber ich denke es passt.
troll schrieb: > Andreas B. schrieb: >> Bringe den Gegenbeweis;-) > > VorwerkVR100Setup.msi mit 7zip öffnen. > _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 extrahieren. > _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 mit 7zip öffnen. > Alle Dateien extrahieren. > > _1200F65AE45849BE9C6AF16056CB9844 = XV11App.16621.P.bin.enc > _A07C98387DD8464BB2F7AEFA1C5E2EB7 = vssver2.scc > _B3410E889E7A4FA78A81C273A708563D = Config.ini > _DCC206C0F3BE4A23BDB38FB904AB0784 = LDS_15295.enc > _FB30E425EC374FE9BA2A58DD3E1B0AAB = DfltSoundLib.Rev1.0.bin > _EB8185C9E2AD4FFE982121EA79E7552C = -Releasenotes.txt > > Hab ich sie alle? Die restlichen Dateien aus > _16BCFBF849FBE9C5C56D1BCCF2CD7BC2 scheinen die zu sein die vom Installer > installiert werden, hab mir das aber nicht genau angeschaut. Eine davon > ist vermutl. noch mal das gleiche Archiv, warum auch immer. > > Anmerkung: Das Vergleichen der Dateien hab ich visuell mit Programmer's > Notepad gemacht, man müsste nochmal komplett anhand der Checksummen oder > so vergleichen aber ich denke es passt. Ok;-) Aber mein Ansatz hätte auch funktionieren können... Wie immer: Man weiss erst welcher Ansatz der korrekte / falsche war wenn man die Lösung kennt;-) Noch eine Kurze info: vssver2.scc ist eine Datei von MS Visual Source Save, die normalerweise versteckt ist... Die Frage ist noch ob XV11App.16621.P.bin.enc nochmals verschlüsselt ist... mfg Andreas
Andreas B. schrieb: > Wie immer: Man weiss erst welcher Ansatz der korrekte / falsche war wenn > man die Lösung kennt;-) Das ist wohl wahr... Für mich hat sich das ganze erstmal erledigt, ich gehe nicht davon aus dass in der msi-Datei das Passwort vom zip-Archiv steckt, letzteres ist ja (bewiesenermaßen ;-) ) nicht nötig. > Die Frage ist noch ob XV11App.16621.P.bin.enc nochmals verschlüsselt > ist... enc=encrypted? Aber das dürfte wohl nur interessant sein wenn man das entsprechende Gerät (was ist das eigentlich genau?) besitzt.
das msi wird so entpackt: msiexec /a datei.msi /qn TARGETDIR="C:\zielverzeichnis" Das Passwort ist in der exe. Das Tool funktioniert auch offline wen man die zip angibt. Martin
Martin schrieb: > das msi wird so entpackt: > > msiexec /a datei.msi /qn TARGETDIR="C:\zielverzeichnis" > > Das Passwort ist in der exe. Das Tool funktioniert auch offline wen man > die zip angibt. Ich habe kein Gerät, ich kanns nicht testen. Wie bereits geschrieben, vor dem Laden der Zipdatei wird das Passwort über strlen gesendet, wenn du z.B. mit Procmon das überwachst solltest du das rauskriegen. mfg Andreas > > Martin
ok, ich schaue mir das gerade an. Wie meinst du vor dem lden der zip date? Wohin wird das Passwort geschickt? Wenn ich die ersten zeilen im Procmon anschaue wo auf das zip zugegrifen wird kann ich leider nichts gescheites finden. Wo im Procmon müsste ich schauen?
Martin schrieb: > ok, ich schaue mir das gerade an. Wie meinst du vor dem lden der zip > date? Wohin wird das Passwort geschickt? > Wenn ich die ersten zeilen im Procmon anschaue wo auf das zip zugegrifen > wird kann ich leider nichts gescheites finden. Wo im Procmon müsste ich > schauen? Ich habe leider nicht wirklich Ahnung von Procmon... Ich bin mir momentan nicht mal sicher es das richtige Tool ist, ich habe mal gegoogelt und bin auf http://www.rohitab.com/apimonitor gestossen, das sieht ziemlich gut aus. da müsste irgendwo strlen("passwort") erscheinen, natürlich mit dem echten Passwort;-) Zeitlich ist es so, das Passwort muss geladen werden bevor das Zipfile geöffnet wir, also wenn du die Zeile findest in der das Zipfile geöffnet wurde musst du VORHER schauen. Wie weit vorher kann ich dir nicht sagen. mfg Andreas
Andreas B. schrieb: > Ich bin mir momentan nicht mal sicher es das richtige Tool ist, ich habe > mal gegoogelt und bin auf http://www.rohitab.com/apimonitor gestossen, > das sieht ziemlich gut aus. Hast du das Tool mal ausprobiert? Sieht genial aus, aber hängt sich bei mir (XP SP3) immer auf und reisst teilweise das ganze System mit (CPU-Auslastung 97-100%, einziger Ausweg Resettaster). Virenschutz und Co. hab ich schon deaktiviert. Schade. :-((
troll schrieb: > Andreas B. schrieb: >> Ich bin mir momentan nicht mal sicher es das richtige Tool ist, ich habe >> mal gegoogelt und bin auf http://www.rohitab.com/apimonitor gestossen, >> das sieht ziemlich gut aus. > > Hast du das Tool mal ausprobiert? Sieht genial aus, aber hängt sich bei > mir (XP SP3) immer auf und reisst teilweise das ganze System mit > (CPU-Auslastung 97-100%, einziger Ausweg Resettaster). > Virenschutz und Co. hab ich schon deaktiviert. > > Schade. :-(( Ich Arbeite normalerweise unter Linux... mfg Andreas
Ja ich habe es mit dem Tool versucht, gerade schaue ich nochmal, habe leider noch nichts gefunden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.