I forgot the password of a EncFS folder (created, went to vacation, forgot). But I remember how the password was created (e.g. was a sequence of 4 dictionary words). So I decided to try to find the password - even if I'm absolutely not expert in system security.

The only way I know to break a password is with brute force attacks.

Given an EncFS folder including the .encfs6.xml file, it is possible to test if a password is correct or not by just mounting the folder and providing the password, like has been done here.

But I noticed that this kind of attack is very slow. I would like to try a parallel attack and use a GPU to test the passwords.

I know that to perform "quickly" an attack over the password, is better to get "something" for example the hash of the password, and just compute the hash over the putative passwords until a matching one is found.

But I don't know how EncFS works: I know that .encfs6.xml is fundamental to decrypt the data, but I don't know what data it contains and how to use it to parallelize my attack.

How does EncFS encrypt the data and how can I use the content of .encfs6.xml to test if a password is valid, without having to run the encfs utility? (Or, where in the EncFS code I can find the relevant information to answer this question?)


I am also considering to use openssl for the attack, but I still have to figure out how to use .encf6.xml information in the command line openssl tool. Not even sure about which algorithm to use: aes-256-what??

  • 2
    A quick google on .encfs6.xml format returned a first link of unix.stackexchange.com/questions/184215/…. So we know that the file contains the encrypted key for your folder. You need your password to decrypt that key. I suspect that with a little research you can find the algorithm used to encrypt the key and reproduce it in an application. That should be faster. – Neil Smithline Aug 31 '15 at 15:59
  • Cracking your password is likely a sign that you are using an insufficiently random password generation algorithm and should find another for the future. – Neil Smithline Aug 31 '15 at 16:00
  • Thanks for the first comment, but I can't understand the second: if I have to crack it, isn't it a sign of the fact that doesn't follow a prefixed schema (i.e. easy to remember)? – AkiRoss Aug 31 '15 at 16:16
  • 2
    Secure passwords should be able to withstand large-CPU attacks. For example, a cracking attack done by a botnet. So if you can crack your password with one or only a few computers in a period of hours or days, it means that it isn't random enough. – Neil Smithline Aug 31 '15 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.