Directory degli strumenti
Categorie
InvisibilityCloak — Toolkit di offuscamento proof-of-concept per strumenti di post-sfruttamento in C# | Kitploit
Strumenti / GitHub / h4wkst3r / invisibilitycloak
h4wkst3r/invisibilitycloak InvisibilityCloak Toolkit di offuscamento proof-of-concept per strumenti di post-sfruttamento in C#
632 190 47 4 anni faScopri gli strumenti più utilizzati dalla nostra community.
Ultimi 7 Giorni Ultimi 30 Giorni
InvisibilityCloak
Toolkit di offuscamento proof-of-concept per strumenti di post-exploitation in C#. Eseguirà le seguenti azioni per un progetto Visual Studio C#.
Cambia il nome dello strumento
Cambia il GUID del progetto
Offusca le stringhe compatibili nei file di codice sorgente in base al metodo di offuscamento inserito dall'utente
Rimuove i commenti su una riga (es. // questo è un commento)
Rimuove l'opzione della stringa PDB per l'assembly .NET di release compilato
Post sul blog: https://securityintelligence.com/posts/invisibility-cloak-obfuscate-c-tools-evade-signature-based-detection
Candidati di stringhe non offuscate
I seguenti candidati di stringhe non sono inclusi nell'offuscamento
Stringhe di meno di 3 caratteri
Stringhe che usano interpolazione (ad es., Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");)
Istruzioni case poiché devono essere valori statici
Variabili const poiché devono essere valori statici
Stringhe nelle firme dei metodi poiché devono essere valori statici
Riga con " => " come usata nelle istruzioni switch e deve essere un valore statico.
is in un'istruzione if quando si fa un confronto, poiché i valori confrontati devono essere statici
Stringhe all'interno di Regex
Stringhe override poiché devono essere valori statici I seguenti casi limite casuali per stringhe, poiché hanno causato problemi durante la codifica/decodifica
Stringa che inizia o termina con '
""' nella riga
+ @" nella riga
""" nella riga
"" nella riga
Encoding.Unicode.GetString nella riga
Encoding.Unicode.GetBytes nella riga
Encoding.ASCII.GetBytes nella riga
Riga che inizia con " e termina con ")]. Questo è tipicamente usato per switch da riga di comando e deve essere un valore statico.
Windows
Linux (sistemi basati su Debian)
Python3
Argomenti/Opzioni
-d, --directory - directory in cui si trova il tuo progetto Visual Studio
-m, --method - metodo di offuscamento (base64, rot13, reverse)
-n, --name - nome del tuo nuovo strumento
-h, --help - menu di aiuto
--version - ottieni la versione dello strumento
Utilizzo/Esempi
Esegui InvisibilityCloak con offuscamento delle stringhe Offuscamento stringhe Base64
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m base64
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m base64
Offuscamento stringhe ROT13
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m rot13
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m rot13
Offuscamento stringhe Reverse
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m reverse
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m reverse
Esegui InvisibilityCloak senza offuscamento delle stringhe python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool"
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool"
Statistiche di rilevamento basate su firme La tabella seguente mostra le statistiche di rilevamento basate su firme tra le versioni non offuscate e offuscate di 20 popolari strumenti C# pubblici con InvisibilityCloak.
Questo è specificamente per Microsoft Defender (versione gratuita), e accurato al 14 aprile 2022.
Statistiche sulle dimensioni degli strumenti C# compilati La tabella seguente mostra le dimensioni dei file di 20 popolari strumenti C# pubblici tra le versioni non offuscate e offuscate usando InvisibilityCloak con vari metodi di offuscamento delle stringhe.
Roadmap
Aggiungere supporto per progetti C# con più file di progetto C# (soluzioni multi-progetto)
Supporto per l'offuscamento di nomi di variabili e nomi di metodi