
Набор инструментов для обфускации PoC для средств пост-эксплуатации на C#
Набор инструментов для обфускации PoC (proof-of-concept) для инструментов пост-эксплуатации на C#. Этот инструмент выполняет следующие действия для проекта Visual Studio на C#:
// это комментарий)Статья в блоге: https://securityintelligence.com/posts/invisibility-cloak-obfuscate-c-tools-evade-signature-based-detection
Следующие строки-кандидаты не включаются в обфускацию:
Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now.");)" => ", используемая в операторе switch, которая должна быть статическим значениемis в условном операторе при сравнении, так как сравниваемые значения должны быть статическими'""' в строке+ @" в строке""" в строке"" в строкеEncoding.Unicode.GetString в строкеEncoding.Unicode.GetBytes в строкеEncoding.ASCII.GetBytes в строке" и заканчивающаяся на ")]. Обычно используется для параметров командной строки и должна быть статическим значением.-d, --directory — каталог, в котором находится ваш проект Visual Studio-m, --method — метод обфускации (base64, rot13, reverse)-n, --name — имя вашего нового инструмента-h, --help — справка--version — версия инструментаОбфускация строк Base64
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m base64
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m base64
Обфускация строк ROT13
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m rot13
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m rot13
Обфускация строк методом Reverse (обратный порядок)
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool" -m reverse
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool" -m reverse
python InvisibilityCloak.py -d /path/to/project -n "TotallyLegitTool"
python InvisibilityCloak.py -d C:\path\to\project -n "TotallyLegitTool"
В таблице ниже показана статистика обнаружения на основе сигнатур между необфусцированными и обфусцированными версиями 20 популярных публичных C#-инструментов с помощью InvisibilityCloak.
Это относится конкретно к Microsoft Defender (бесплатная версия) и актуально на 14 апреля 2022 года.
В таблице ниже показаны размеры файлов 20 популярных публичных C#-инструментов между необфусцированными и обфусцированными версиями с использованием InvisibilityCloak с различными методами обфускации строк.
| Инструмент | Ссылка | Необфусцировано | Обфусцировано с InvisibilityCloak |
|---|
| Инструмент | Ссылка | Необфусцировано | Обфускация строк ROT13 | Обфускация строк Base64 | Обфускация строк Reverse (обратный порядок) |
|---|