Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
InvisibilityCloak — Proof-of-concept obfuscation toolkit for C# post-exploitation tools | Kitploit
Tools/GitHubGitHub/h4wkst3r/invisibilitycloak
Post-ExploitationRed TeamingPayload Development
GitHubh4wkst3r/invisibilitycloak

InvisibilityCloak

Proof-of-concept obfuscation toolkit for C# post-exploitation tools

View Repository
632190554 years agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

InvisibilityCloak

Proof-of-concept obfuscation toolkit for C# post-exploitation tools. This will perform the below actions for a C# visual studio project.

  • Change the tool name
  • Change the project GUID
  • Obfuscate compatible strings in source code files based on obfuscation method entered by user
  • Removes one-line comments (e.g. // this is a comment)
  • Remove PDB string option for compiled release .NET assembly

Blog Post: https://securityintelligence.com/posts/invisibility-cloak-obfuscate-c-tools-evade-signature-based-detection

String Candidates Not Obfuscated

The below string candidates are not included in obfuscation

  • Strings less than 3 characters
  • Strings using string interpolation (e.g., Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");)
  • Case statements as they need to be static values
  • Const vars as they need to be static values
  • Strings in method signatures as they need to be static values
  • Line with " => " as used in switch statement and needs to be static value.
  • is in an if statement when doing comparison as the values compared must be static
  • Strings within Regexes
  • Override strings as they need to be static values
  • The below random edge cases for strings, as they have caused issues when encoding/decoding
    • String starting with or ending with '
    • ""' in the line
    • + @" in the line
    • """ in the line
    • "" in the line
    • Encoding.Unicode.GetString in the line
    • Encoding.Unicode.GetBytes in the line
    • Encoding.ASCII.GetBytes in the line
    • Line starting with " and ending with ")]. This is typically used for command line switches and needs to be static value.

Support Information

  • Windows
  • Linux (Debian-based systems)
  • Python3

Arguments/Options

  • -d, --directory - directory where your visual studio project is located
  • -m, --method - obfuscation method (base64, rot13, reverse)
  • -n, --name - name of your new tool
  • -h, --help - help menu
  • --version - get version of tool

Usage/Examples

Run InvisibilityCloak with string obfuscation

Base64 String Obfuscation

python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m base64

python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m base64

ROT13 String Obfuscation

python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m rot13

python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m rot13

Reverse String Obfuscation

python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m reverse

python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m reverse

Run InvisibilityCloak without string obfuscation

python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool"

python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool"

Signature-Based Detection Statistics

The below table shows the signature-based detection statistics between the unobfuscated and obfuscated versions of 20 popular public C# tools with InvisibilityCloak.

This is specifically for Microsoft Defender (free version), and accurate as of April 14th, 2022.

ToolLinkUnobfuscatedObfuscated w/ InvisibilityCloak
ADCSPwnhttps://github.com/bats3c/ADCSPwnDetectedNot Detected
Certifyhttps://github.com/GhostPack/CertifyDetectedNot Detected
Farmerhttps://github.com/mdsecactivebreach/FarmerDetectedNot Detected
Rubeushttps://github.com/GhostPack/RubeusDetectedDetected
SafetyKatzhttps://github.com/GhostPack/SafetyKatzDetectedNot Detected
Seatbelthttps://github.com/GhostPack/SeatbeltDetectedNot Detected
SharpClipboardhttps://github.com/slyd0g/SharpClipboardNot DetectedNot Detected
SharPersisthttps://github.com/mandiant/SharPersistNot DetectedNot Detected
SharpExechttps://github.com/anthemtotheego/SharpExecDetectedNot Detected
SharpGPOAbusehttps://github.com/FSecureLABS/SharpGPOAbuseDetectedNot Detected
SharpHoundhttps://github.com/BloodHoundAD/SharpHoundNot DetectedNot Detected
SharpLoggerhttps://github.com/djhohnstein/SharpLoggerDetectedNot Detected
SharpMovehttps://github.com/0xthirteen/SharpMoveDetectedNot Detected
SharpRDPhttps://github.com/0xthirteen/SharpRDPDetectedDetected
SharpSecDumphttps://github.com/G0ldenGunSec/SharpSecDumpDetectedNot Detected
SharpUphttps://github.com/GhostPack/SharpUpNot DetectedNot Detected
SharpViewhttps://github.com/tevora-threat/SharpViewDetectedNot Detected
SharpWMIhttps://github.com/GhostPack/SharpWMIDetectedNot Detected
StandInhttps://github.com/xforcered/StandInDetectedNot Detected
WireTaphttps://github.com/djhohnstein/WireTapNot DetectedNot Detected

Compiled C# Tool Size Statistics

The below table shows the file sizes of 20 popular public C# tools between the unobfucated and obfuscated versions using InvisibilityCloak with various string obfuscation methods.

Download Tool