doc/AxCrypt-Auditing-HOWTO.md
According to its official website, AxCrypt "is the leading open source file encryption software for Windows. It integrates seamlessly with Windows to compress, encrypt, decrypt, store, send and work with individual files".
You can whether install it through provided setup or use install-free binaries (which provide less features, like caching secrets).
AxCrypt cryptographic scheme relies on symetric cryptography using AES in ECB mode to protect the "Data-Encryption-Key" (DEK) and AES in CBC mode to (un)cipher data, using the DEK. HMAC-SHA1 is used for integrity.
Ciphering file:
The user can also use a "key-file" associated with the passphrase. This key-file can be any file and the only thing that changes in previous description is the first step where the content of the key-file is simply appended to the passphrase before hashing to SHA1.
AxCrypt provides the feature to create a self-decrypting file. In fact, it creates the decrypting stub and simply appends the cipher file at the end of the PE
NOTE: there is no way to know if a key-file was used or not, as any file can be used. Nevertheless, AxCrypt can create key-files for the user. This key file is a 56 bytes base64-encoded ".txt" and defaults names are depending on language:
Language=ENU:My Key-File.txt Language=SVE:Min Nyckelfil.txt Language=DEU:Meine Schlüssel-Datei.txt Language=FRA:Mon fichier-clef.txt Language=ESN:Mi Fichero llave.txt Language=ITA:Il Mio Key-File.txt Language=HUN:Kulcsfájlom.txt Language=NOR:My Key-File.txt Language=NLD:Mijn sleutelbestand.txt Language=DNK:Min nøglefil.txt Language=POL:Mój Plik-Klucz.txt Language=CHI:My Key-File.txt Language=PTG:My Key-File.txt Language=PTB:Meu arquivo-chave.txt Language=RUS:Мой файл ключа.txt Language=CZH:MMůj Soubor-s-klíčem.txt Language=FIN:Oma avaintiedostoni.txt
So if you manage to find a file matching some of these conditions, it is likely to be the good key-file :-)
How to get data to use with Jtr cracker:
$ axcrypt2john.py <axxfile> [KEY-FILE]
<axxfile> can either be a .axx ciphered file or a self-decrypting binary
[KEY-FILE] is optionnal
How to crack using Jtr cracker:
use "--format=axcrypt" providing axcrypt2john.py's output
Caching secrets:
Brotip:
How to crack these SHA1 using Jtr cracker:
if you really want to retrieve the passphrase:
- use "--format=raw-sha1-axcrypt"