Skip to content
CloakifyFactory - Data Exfiltration & Infiltration In Plain Sight; Convert any filetype into list of everyday strings, using Text-Based Steganography; Evade DLP/MLS Devices, Defeat Data Whitelisting Controls, Social Engineering of Analysts, Evade AV Detection
Branch: master
Clone or download

Latest commit

TryCatchHCF Added mention of 'rickrollYoutube' cipher - Shortened URLs pointing t…
…o Youtube videos of Rick Astley performances & covers

Added mention of 'rickrollYoutube' cipher - Shortened URLs pointing to Youtube videos of Rick Astley performances & covers
Latest commit 893c539 May 11, 2018


Type Name Latest commit message Commit time
Failed to load latest commit information.
DefCon24Slides Restored original example using .xls file, updated SHA-256 hash Sep 22, 2016
ciphers Added cipher 'rickrollYoutube', turns payload into list of shortened … May 11, 2018
listsUnrandomized Added new lists, corrected emoji list Aug 2, 2016
noiseTools Updates to support new, release of… Dec 9, 2016
screenshots Deleted old screenshot Dec 12, 2016
LICENSE Initial commit May 7, 2016 Added mention of 'rickrollYoutube' cipher - Shortened URLs pointing t… May 11, 2018
README_GETTING_STARTED.txt Added, plus new and updated scripts to support. Dec 9, 2016 Added, plus new and updated scripts to support. Dec 9, 2016 Fixed nasty bug in Decloakify code, please re-baseline May 10, 2018 Added, plus new and updated scripts to support. Dec 9, 2016
randomizeCipherExample.txt Added, plus new and updated scripts to support. Dec 9, 2016 Added, plus new and updated scripts to support. Dec 9, 2016


CloakifyFactory & the Cloakify Toolset - Data Exfiltration & Infiltration In Plain Sight; Evade DLP/MLS Devices; Social Engineering of Analysts; Defeat Data Whitelisting Controls; Evade AV Detection. Text-based steganography using lists. Convert any file type (e.g. executables, Office, Zip, images) into a list of everyday strings. Very simple tools, powerful concept, limited only by your imagination.


Joe Gervais (TryCatchHCF)


DLP systems, MLS devices, and SecOps analysts know what data to look for: So transform that data into something they're not looking for:


See my DEF CON 24 slides (included in project) from Crypto & Privacy Village workshop and DemoLabs session. Complete tutorial on what the Cloakify Toolset can do, specific use cases, and more. (The examples in the presentation use the standalone scripts, I recommend using the new CloakifyFactory to streamline your efforts.)

For a quick start on CloakifyFactory, see the cleverly titled file "README_GETTING_STARTED.txt" in the project for a walkthrough.


CloakifyFactory transforms any filetype (e.g. .zip, .exe, .xls, etc.) into a list of harmless-looking strings. This lets you hide the file in plain sight, and transfer the file without triggering alerts. The fancy term for this is "text-based steganography", hiding data by making it look like other data. For example, you can transform a .zip file into a list of Pokemon creatures or Top 100 Websites. You then transfer the cloaked file however you choose, and then decloak the exfiltrated file back into its original form.

With your payload cloaked, you can transfer data across a secure network’s perimeter without triggering alerts. You can also defeat data whitelisting controls - is there a security device that only allows IP addresses to leave or enter a network? Turn your payload into IP addresses, problem solved. Additionaly, you can derail the security analyst’s review via social engineering attacks against their workflows. And as a final bonus, cloaked files defeat signature-based malware detection tools.

The pre-packaged ciphers are designed to appear like harmless / ignorable lists, though some (like MD5 password hashes) are specifically meant as distracting bait.

CloakifyFactory is also a great way to introduce people to crypto and steganography concepts. It's simple to use, guides the user through the process, and according to our kids is also fun!


Python 2.7.x

Run Cloakify Factory

$ python


CloakifyFactory is a menu-driven tool that leverages Cloakify Toolset scripts. When you choose to Cloakify a file, the scripts first Base64-encode the payload, then apply a cipher to generate a list of strings that encodes the Base64 payload. You then transfer the file however you wish to its desired destination. Once exfiltrated, choose Decloakify with the same cipher to decode the payload.

NOTE: Cloakify is not a secure encryption scheme. It's vulnerable to frequency analysis attacks. Use the 'Add Noise' option to add entropy when cloaking a payload to help degrade frequency analysis attacks. Be sure to encrypt the file prior to cloaking if secrecy is needed.

The supporting scripts ( and can be used as standalone scripts. Very small, simple, clean, portable. For scenarios where infiltrating the full toolset is impractical, you can quickly type the standalone script into a target’s local shell, generate a cipher in place, and cloakify -> exfiltrate.

Use py2exe if Windows target lacks Python. (

Prepackaged ciphers include lists of:

  • Amphibians (scientific names)
  • Belgian Beers
  • Desserts in English, Arabic, Thai, Russian, Hindi, Chinese, Persian, and Muppet (Swedish Chef)
  • Emoji
  • evadeAV (smallest cipher space, x3 payload size)
  • GeoCoords World Capitals (Lat/Lon)
  • GeoCaching Coordinates (w/ Site Names)
  • IPv4 Addresses of Popular Websites
  • MD5 Password Hashes
  • PokemonGo Monsters
  • Shortened URLs pointing to different Youtube videos of Rick Astley's "Never Gonna Give You Up"
  • Ski Resorts
  • Status Codes (generic)
  • Star Trek characters
  • Top 100 Websites
  • World Beaches
  • World Cup Teams

Prepackaged scripts for adding noise / entropy to your cloaked payloads:

  • Adds a randomize emoji to each line
  • Adds a randomized ID tag to each line
  • Adds randomized LatLong coordinates to each line
  • Adds timestamps (log file style) to each line

See comments in each script for details on how to tailor the Noise Generators for your own needs

Create Your Own Cipers

Cloakify Factory is at its best when you're using your own customized ciphers. The default ciphers may work for most needs, but in a unique exfiltration scenario you may need to build your own. At the very least, you can copy a prepackaged cipher and randomize the order.

Creating a Cipher:

  • Generate a list of at least 66 unique words / phrases / symbols (Unicode allowed)
  • Remove all duplicate entries and all blank lines
  • Randomize the list order
  • Place in the "ciphers/" subdirectory
  • Re-run CloakifyFactory and it will automatically load your new cipher as an option
  • Test cloaking / decloaking with new cipher before using operationally

Sample Cipher Gallery

Standalone Scripts

Some of you may prefer to use the Cloakify Toolset scripts in standalone mode. The toolset is designed to support that. Example Example

Adding Entropy via Standalone Scripts

Add noise to degrade frequency analysis attacks against your cloaked payloads. Here we use the 'pokemonGo' cipher, then use the '' script to generate random geocoords in a 10x10 mile grid. Strip noise from the file before decloaking, using the '' script.

Or of course: $ cat cloakedAndNoisy.txt | cut -d" " -f3- > cloakedNoiseStripped.txt

You can’t perform that action at this time.