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 Обфускатор для наступательной безопасности

52711532 лет назадПроверено 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
    Скачать инструмент