On the mailserver a service filters for the mailtext and encrypted archive files.
From the mailtext a wordlist is extracted and a hash is generated from the paswort protected archive file.
Then the hash of the archive file will be compared to the wordlists hash values trying to crack the password.
The idea is to prevent Social Engineering attacks with encrypted malicous archive files which aren't detected by other services.
This project is still in development and isn't bug free nor fully working. Feel free to test and please report any issues or ideas.
In rspamd/local.d/external_services.conf
we define the mime filtering and the TCP socket that olefy listens on.
When the MTA (in our case Mail-in-a-Box uses Postfix) sends mail and smtp data over the milter protocol to the Rspamd proxy, the data is transmitted to our service that analyzes the data.
If the data is the mail body (plain/html) wwwordlist will generate a wordlist, if the data is the encrypted archive file the service will call an archive-function from john to generate the hash and try to crack the password by calling johntheripper with the hash and wordlist.
If the password is cracked successfully the service could then return the decrypted archive file to Rspamd which could analyze it on malware. This last step is not implemented yet as we are clueless on how to pass the decrypted files back to Rspamd so we left it up to the user to decide what to do after the password has been cracked.
For further information and installation instructions visit the wiki
MIT-License