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
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
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. :-(
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.
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:
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...
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