As I really get not enough time to finish some stuff to release DPAPIck v0.3 I decided to push to the public repository all I have done so far, including RSA private key handling (and thus EFS certificates recovery).
Many thanks to everyone that gave me some feedback and bugfixes. Everything should be included in the repository. And do not forget that the main channel to report bugs should be the bugtracker that goes along with the Bitbucket repository. It helps me keeping track of things and putting priority in bugfixes.
As soon as I got time to do that, all the small scripts in /bin should be all merged in /bin/dpapick. That will prevent doing some mess in the operating system :-)
The bad news is that I really do not have enough spare time to work on the v0.3 since months !
EFS is done and works well as far as I have tested.
Some bugs were also reported by users (thanks for that) and I spotted few others ; they all are corrected in my working copy.
I am still trying to have DPAPIck work for win7 blobs but no luck so far and I don’t have enough time to start reversing the corresponding DLL files to finish that part.
The /bin tools rewriting is in progress but a bit stale.
I may backport all the patches to the public mercurial so everyone can at least have things working.
I recently discovered that Bitbucket is not duplicating the issue tracker while forking a repository. Thus you don’t have any visibility on what’s going on for DPAPIck and that’s why I’m writing this post.
So, as far as we are going, this is why we planned to release for version 0.3:
- EFS Certificate recovery
- Inline documentation
- bin tools rewriting to keep only one binary and link it to the probes (usage should be similar to volatility for those who are familiar)
- Okteta support but low priority for this one…
Inline documentation is already done, EFS private decryption is done too but we need to add a PKCS#12 export function to keep the certificate with its private key and make it easy to work on EFS from Linux.
The bin tools rewriting is stale for the moment as I need to focus on another project. But as soon as I have time to go back on DPAPIck, I will finish this part and release a new version. Okteta support may be for a further version.
If you have any suggestion, any wish-list to add to our roadmap, feel free to leave a comment ! This blog is here for that kind of stuff too :-)
As promised, today we are releasing the source code of DPAPIck v0.2 !
The project is hosted at Bitbucket and you can freely check it out to play with it.
You can also report bugs/issues on the tracker and see part of the roadmap for our tool.
A wiki will also be put online as soon as we take time to write documentation.
But no more waiting, here is the URL to have a look at DPAPIck : http://bitbucket.org/jmichel/dpapick
Next week, DPAPIck will finally became the first opensource tool (GPLv3 licence) which is able to deal with DPAPI structures as well as the first tool that can do so from another operating system than Microsoft’s !
It has been entirely re-written in Python and only requires OpenSSL for decryption to be fully cross-platform. It is coming along with several applicative probes that embeds the decryption logic specific to each application that uses DPAPI (eg. Google Talk, Skype, Wireless keys, Internet Explorer, etc.).
And we are not releasing DPAPIck v0.2 alone ! It comes along with other surprises that we let you discover on August :-)
Until the public release, you will be able to meet us, for the lucky ones who are attending BlackHat USA 2011 or DefCon 19. And if you are attending BlackHat, do not forget to go and see our presentation of OWADE, our new advanced forensic tool !
Pour la population francophone intéressée par DPAPI, nous avons rédigé un article qui sera publié dans la revue française MISC pour son numéro 56 (Juillet/Août).
Il reprend l’analyse des structures que nous avons publiée à BlackHat DC 2010, en incluant quelques corrections et quelques unes de nos avancées. Des bouts de scripts Python permettant de déchiffrer les structures sont également fournis dans l’article.
Nous continuons nos travaux sur le sujet et DPAPIck a été entièrement réécrit en Python pour faciliter les développements et les tests. Cette version devrait prochainement être mise à disposition de la communauté.
For non-French people, the above paragraphs are telling that we are about to publish an article about DPAPI in a French magazine that includes code snipplets in Python to decrypt the structures we talked about at BlackHat DC 2010.
We are still working on that subject and our tool, DPAPIck, has been entirely rewrote in Python to help us adding new features more easily. This new version may soon be made available to the community. Stay tuned !