Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Codecepticon — .NET/PowerShell/VBA Обфускатор для наступательной безопасности | Kitploit
Инструменты/GitHubGitHub/accenture/codecepticon
Статический анализАнализ КодаОбход IDS/IPSСкриптинг и автоматизацияТестирование на ПроникновениеКомандование и УправлениеRed TeamingРазработка Полезной НагрузкиArchived
GitHubaccenture/codecepticon

Codecepticon

.NET/PowerShell/VBA Обфускатор для наступательной безопасности

5271152 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

[!CAUTION] Этот репозиторий не поддерживается, посетите https://github.com/sadreck/Codecepticon для последней версии.

Codecepticon version

Содержание

  • Введение
  • Прочитайте это сначала
  • Предварительные требования
    • Visual Studio
    • Компилятор Roslyn
    • Проверьте, работает ли это
  • Использование Codecepticon
    • C#
    • VBA/VB6
    • PowerShell
    • Запутывание аргументов командной строки
    • Подробное описание функциональности
    • Советы
    • Известные проблемы
    • Подпись исполняемых файлов
  • Часто задаваемые вопросы
  • Устранение неполадок
  • Вклад
  • Ссылки / Благодарности

Введение

Codecepticon — это .NET-приложение, которое позволяет запутывать исходный код на C#, VBA/VB6 (макросах) и PowerShell, и разработано для задач наступательной безопасности, таких как Red/Purple Teams. Отличие Codecepticon от других обфускаторов в том, что он работает с исходным кодом, а не с скомпилированными исполняемыми файлами, и был создан специально для обхода AV/EDR.

Codecepticon позволяет запутывать и переписывать код, а также предоставляет такие функции, как переписывание командной строки.

Прочитайте это сначала

! Прежде чем начать !

  • Эта документация касается только установки и использования Codecepticon. Компиляция, использование и поддержка таких инструментов, как Rubeus и SharpHound, предоставляться не будут. Для получения дополнительной информации обратитесь к репозиторию соответствующего проекта.

  • Codecepticon активно разрабатывается/тестируется в VS2022, но должен работать и в VS2019. Любые тикеты/проблемы, созданные для VS2019 и более старых версий, не будут рассматриваться, если проблема не воспроизводится в VS2022. Поэтому, пожалуйста, используйте последнюю версию VS2022.

  • Следующие пакеты должны быть версии v3.9.0, так как более новые версии имеют следующую проблему, которая всё ещё открыта: https://github.com/dotnet/roslyn/issues/58463

    • Microsoft.CodeAnalysis.CSharp.Workspaces
    • Microsoft.CodeAnalysis.Workspaces.MSBuild

    Codecepticon проверяет версию этих пакетов во время выполнения и сообщит, если версия отличается от v3.9.0.

  • Это невозможно переоценить: всегда сначала тестируйте свой запутанный код локально.

Предварительные требования

Visual Studio Pro/Community 2022

VS2022 .NET

Компилятор Roslyn

VS2022 Roslyn

Откройте и скомпилируйте

Откройте Codecepticon, дождитесь загрузки всех пакетов NuGet, а затем соберите решение.

Использование Codecepticon

Есть два способа использования Codecepticon: либо указать все аргументы в командной строке, либо передать один XML-файл конфигурации. Из-за высокого уровня поддерживаемых настроек не рекомендуется вручную просматривать вывод --help, чтобы понять, какие параметры использовать и как. Воспользуйтесь CommandLineGenerator.html и быстро сгенерируйте команду:

Генератор командной строки

Формат вывода генератора команд может быть либо Console, либо XML, в зависимости от ваших предпочтений. Команды консоли можно выполнить так:

root@kitploit:~
Codecepticon.exe --action obfuscate --module csharp --verbose ...etc

А при использовании XML-файла конфигурации — так:

root@kitploit:~
Codecepticon.exe --config C:\Your\Path\To\The\File.xml

Если вы хотите углубиться в функциональность Codecepticon, ознакомьтесь с этим документом.

Для полезных советов ознакомьтесь с этим документом.

C#

Запутывание C#-проекта просто: выберите решение, которое хотите обработать. Обратите внимание, что резервная копия решения не будет создана, и текущее решение будет тем, которое будет запутываться. Убедитесь, что вы можете самостоятельно скомпилировать целевой проект, прежде чем пытаться запустить Codecepticon.

VBA/VB6

Запутывание VBA работает непосредственно с исходным кодом, а не с документом Microsoft Office. Это означает, что вы не можете передать файл doc(x) или xls(x) в Codecepticon. Это должен быть исходный код самого модуля (нажмите Alt-F11 и скопируйте код оттуда).

PowerShell

Из-за сложности скриптов PowerShell, а также свободы, которую они предоставляют при написании, сложно охватить все краевые случаи и гарантировать полную работоспособность запутанного результата. Хотя ожидается, что Codecepticon будет нормально работать с простыми скриптами/функциональностью, его запуск на сложных, таких как PowerView, не сработает — это работа в процессе.

Запутывание аргументов командной строки

После запутывания приложения или скрипта вполне вероятно, что аргументы командной строки также были переименованы. Решение — использовать HTML-файл отображения, чтобы узнать новые имена. Например, давайте преобразуем следующую командную строку:

root@kitploit:~
SharpHound.exe --CollectionMethods DCOnly --OutputDirectory C:\temp\

Поискав в HTML-файле отображения каждый аргумент, мы получим:

Сопоставление 1

Сопоставление 2

Сопоставление 3

И заменив все строки, получим:

root@kitploit:~
ObfuscatedSharpHound.exe --AphylesPiansAsp TurthsTance --AnineWondon C:\temp\

Однако некоторые значения могут существовать в более чем одной категории:

Сопоставление 4

Поэтому крайне важно всегда сначала тестировать результат в локальной среде.

Подпись исполняемых файлов

Также можно использовать Codecepticon для цифровой подписи исполняемых файлов (скомпилированного вывода). Codecepticon может как сгенерировать для вас сертификат подписи, так и использовать его (или любой другой, который вы предоставите) для подписи целевого файла.

Часто задаваемые вопросы

Почему в разделе Releases нет скомпилированной версии, которую можно скачать?

Скомпилированный вывод включает много зависимых DLL, которые из-за лицензионных требований мы не можем распространять без письменного согласия.

Работает ли Codecepticon только с C#-проектами, для которых уже есть поддерживаемый профиль?

Нет, Codecepticon должен работать со всем. Профили — это лишь небольшие дополнительные настройки, которые применяются к целевому проекту, чтобы сделать его более надёжным и удобным в работе.

Но поскольку весь код уникален, будут случаи, когда запутывание проекта приведёт к одной-двум ошибкам, которые не позволят его скомпилировать или выполнить. В таком случае может потребоваться новый профиль — пожалуйста, создайте новый вопрос, если это так.

Тот же принцип применим к коду PowerShell/VBA — хотя сейчас у них нет профилей, поставляемых с Codecepticon, добавить их при необходимости несложно.

Могу ли я внести вклад?

Для сообщения об ошибках и предложения новых функций, пожалуйста, создайте вопрос.

Для отправки запросов на включение (pull request) ознакомьтесь с разделом Вклад.

Устранение неполадок

Я использую Codecepticon для C#-проекта, он запускается, но после этого я не могу скомпилировать целевой проект.

Перед запуском Codecepticon убедитесь, что вы можете скомпилировать чистую версию целевого проекта. Очень часто, когда возникает эта проблема, она связана с отсутствующими зависимостями целевого решения, а не с Codecepticon. Но если всё ещё не компилируется:

  • Это публичный проект? Создайте вопрос и вставьте ссылку с как можно большим количеством деталей. Если инструмент является частью SharpCollection, ещё лучше.
  • Это приватный проект? В духе улучшения Codecepticon мы постараемся оказать максимальную поддержку через скриншоты и сообщения об ошибках/отладки. Но мы не будем получать доступ или запускать какой-либо чистый/запутанный код через приватные репозитории и т. д.

То же самое, но это скрипт PowerShell/VBA — можете ли вы помочь?

Я сделаю всё возможное, но так как скрипты PowerShell могут быть ОЧЕНЬ сложными, а PSParser не так продвинут, как Roslyn для C#, никаких гарантий дать нельзя. То же самое относится к VBA/VB6.

Я постоянно получаю: "Метод не найден: 'System.Collections.Immutable.ImmutableArray"

Вы можете в какой-то момент столкнуться со следующей ошибкой:

Метод не найден

Всё ещё пытаемся разобраться с этим, быстрое решение — удалить и переустановить пакет System.Collections.Immutable через менеджер пакетов NuGet.

Вклад

Будь то опечатка, ошибка или новая функция, Codecepticon очень открыт для вклада, при условии согласия со следующим:

  • Вы согласны с лицензией MIT этого проекта.
  • Перед созданием запроса на включение (pull request) создайте вопрос, чтобы его можно было обсудить до начала работы, так как внутренняя разработка не отслеживается через публичный репозиторий GitHub. В противном случае вы рискуете получить отклонённый запрос, если, например, мы уже работаем над той же/похожей функцией, или по любой другой причине.

Ссылки / Благодарности

  • https://blog.xpnsec.com/building-modifying-packing-devops/
  • https://twitter.com/EmericNasi/status/1460640760928296966
  • https://github.com/MagicMau/ProceduralNameGenerator
  • https://github.com/uwol/proleap-vb6-parser
  • https://github.com/dwyl/english-words
  • https://github.com/Danielku15/SigningServer
Скачать инструмент