Challenge Securitech 2007 :)
WinDbg est un outil exécrable.
J'étaye cette affirmation par un extrait du blog Microsoft consacré au langage de script WinDbg :
"- I also prefer not to explain the source code details for security reasons. "
Ce qui signifie en français :
"Le langage de script est tellement illisible que si je ne vous explique pas ce que je cherche à faire, vous ne pouvez pas comprendre par vous même."
La situation va peut-être s'améliorer grâce à ce projet : PyDbgExt, qui est pour le moment en version "Beta". On attend également la version Ruby, probablement réalisée par un labo d'Issy-Les-Moulineaux :)
Mais après le débogage noyau sous Vista, il existe un autre domaine dans lequel WinDbg est incontournable : le débogage ".NET", auquel j'ai l'occasion de m'intéresser actuellement.
Pour donner un exemple, voici le challenge que je vous propose (d'où le titre de ce billet :).
J'ai téléchargé le décompilateur .NET (gratuit) "Fox Community Edition" de la société Xenocode. Il ne demande qu'un login/mot de passe pour se lancer. Mais le site d'enregistrement est tellement contrôlé, que même avec des informations valides, il refuse de me créer un compte !
Le challenge consiste donc à contourner la boite de dialogue initiale, de la manière la plus rapide et la plus élégante possible.
Quelques précisions sur le fonctionnement de l'obfuscateur Xenocode (utilisé ici) :
- Le bytecode .NET est obfusqué.
- Il n'y a qu'un seul fichier exécutable, qui contient les librairies du .NET Framework (il n'est donc pas nécessaire d'installer le .NET Framework sur la cible d'exécution).
- Ces librairies sont chargées dynamiquement en mémoire, selon une technique proche de celle du Meterpreter.
- Le bytecode est compilé just-in-time en assembleur x86.
Petite précision : contrairement au vrai Challenge Securitech, il n'y a rien à gagner :)
5 commentaires:
Petite précision : contrairement au vrai Challenge Securitech, il n'y a rien à gagner :)
Si tout le monde se cotise... J'offre un chewing-gum.
"- I also prefer not to explain the source code details for security reasons. "
Ce qui signifie en français :
"Le langage de script est tellement illisible que si je ne vous explique pas ce que je cherche à faire, vous ne pouvez pas comprendre par vous même."
I have some French knowledge because my parents are fluent in French. I'm laughing with your "translation" :) Anyway, I do agree that Windbg language is cryptic. I'm currently working on a kind of tool that should be an alternative for that.
Thanks,
Roberto
@Roberto: I'm eager to see that!
WinDbg is a powerful tool, but it lacks (at least):
- A decent GUI, with syntax coloring and contextual menus (like OllyDbg).
- An easy-to-use plugin interface. Men, SDK samples do not even compile!
Thanks for coming here anyway :)
I agree with you! Besides I'm jealous about IDA Pro disassembling features :)
I guess in about 3 weeks the tool will be posted.
Roberto
The tool is there! :)
Roberto
Enregistrer un commentaire