Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
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
632190474 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/SharpLogger

    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.

    ToolLinkUnobfuscatedROT13 String ObfuscationBase64 String ObfuscationReverse String Obfuscation
    ADCSPwnhttps://github.com/bats3c/ADCSPwn718 KB728 KB722 KB720 KB
    Certifyhttps://github.com/GhostPack/Certify170 KB198 KB178 KB176 KB
    Farmerhttps://github.com/mdsecactivebreach/Farmer13 KB17 KB14 KB13 KB
    Rubeushttps://github.com/GhostPack/Rubeus418 KB605 KB469 KB455 KB
    SafetyKatzhttps://github.com/GhostPack/SafetyKatz714 KB716 KB948 KB715 KB
    Seatbelthttps://github.com/GhostPack/Seatbelt543 KB904 KB618 KB608 KB
    SharpClipboardhttps://github.com/slyd0g/SharpClipboard6 KB7 KB6 KB7 KB
    SharPersisthttps://github.com/mandiant/SharPersist231 KB281 KB248 KB243 KB
    SharpExechttps://github.com/anthemtotheego/SharpExec30 KB57 KB36 KB34 KB
    SharpGPOAbusehttps://github.com/FSecureLABS/SharpGPOAbuse70 KB98 KB79 KB76 KB
    SharpHoundhttps://github.com/BloodHoundAD/SharpHound880 KB

    Roadmap

    • Add support for C# projects with multiple C# project files (multi-project solutions)
    • Obfuscation support for variable names and method names
    Download Tool
    Detected
    Not 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
    897 KB
    885 KB
    883 KB
    SharpLoggerhttps://github.com/djhohnstein/SharpLogger19 KB27 KB20 KB20 KB
    SharpMovehttps://github.com/0xthirteen/SharpMove41 KB100 KB50 KB49 KB
    SharpRDPhttps://github.com/0xthirteen/SharpRDP322 KB346 KB326 KB325 KB
    SharpSecDumphttps://github.com/G0ldenGunSec/SharpSecDump42 KB55 KB45 KB43 KB
    SharpUphttps://github.com/GhostPack/SharpUp35 KB50 KB40 KB39 KB
    SharpViewhttps://github.com/tevora-threat/SharpView719 KB856 KB742 KB738 KB
    SharpWMIhttps://github.com/GhostPack/SharpWMI53 KB92 KB62 KB61 KB
    StandInhttps://github.com/xforcered/StandIn162 KB294 KB197 KB189 KB
    WireTaphttps://github.com/djhohnstein/WireTap282 KB292 KB285 KB284 KB