Запуск сервиса после патча

dartraiden

Новичок
Мудрец
Сообщения
9
Реакции
114
Это называется - пидара*ы.

А интересно, есть ли патчи винды на предмет реального отключения этого цырка?
Безо всяких там "Test mode"?
Сервис, весьма вероятно, вовсе не из-за подписи не запустился.
Этот метод позволяет без проблем запускать даже драйверы (причем, сертификат устанавливать в доверенные вовсе не нужно).

Зато "патчи винды" как раз подложат грабли, которые могут аукнуться в будущем, причем, отдалённом (когда уже забудется). Можно вспомнить активатор "семёрки", который делал копию ядра винды, патчил и прописывал его в загрузчик. Через пару лет в рамках закрытия очередной уязвимости Microsoft обновила ядро и внесла соответствующие изменения в системное окружение. В результате у бедолаг, воспользовавшихся активатором, полетели бсоды, ведь у них-то грузилось старое ядро. Вою было выше крыши, причем особо одарённые орали, что это началась борьба с пиратами, хотя причина была ровно в том, что эти "продвинутые пользователи" сами отстрелили себе ногу, переведя систему из конфигурации "хоть как-то тестируется вендором" в "не тестируется никем и никогда".
 
Последнее редактирование:
  • Понравилось
Реакции: mak

dartraiden

Новичок
Мудрец
Сообщения
9
Реакции
114
Для собственных нужд давно уже собрал небольшой наборчик:
- закинуть на виртуалку
- запустить DSignTool.cmd, который установит в систему сертификаты и создаст конфиг
- дальше можно запускать DSignTool (гуёвая) или CSignTool (консольная), чтобы подписать файл / создать и подписать CAT. Благодаря HookSighTool утилиты воспринимают сертификаты (5 штук на выбор) как валидные и позволяют ими пользоваться.
- подписанные драйверы будут работать на любых виндах без отключения каких-либо защитных мер (несмотря на то, что сертификаты в свойствах файла отображаются как просроченные и отозванные)
 

Прикрепленные файлы:

Последнее редактирование:

mizuki

Постоянный
Новичок
Сообщения
60
Реакции
35
Винда принимает модули, подписанные просроченными сертификатами, если подпись сделана с проштамповкой времени относящемуся ко времени, когда серт был валиден. Иначе бы пришлось все время переподписывать актуальные модули.
 
  • Понравилось
Реакции: mak

BfoX

Постоянный
Мудрец
Сообщения
52
Реакции
213
Не работает, серт дейвительно отозван
не работает сервер или винда ругается на подпись? драйвера с подписью этим сертом грузятся без тест-моды

и еще мож патч кривой?
при запуске
Код:
EXCEPTION_DEBUG_INFO:
dwFirstChance: 1
ExceptionCode: 0EEDFADE
ExceptionFlags: 00000001
ExceptionAddress: 754C3D28 kernelbase.754C3D28
NumberParameters: 7
ExceptionInformation[00]: 00D04810 tunnelserver.00D04810
ExceptionInformation[01]: 030D3740
ExceptionInformation[02]: 030E4F30
ExceptionInformation[03]: 00D21B68 tunnelserver.00D21B68
ExceptionInformation[04]: 0036FB08
ExceptionInformation[05]: 0036FAF8
ExceptionInformation[06]: 0036FAE0
Первая попытка исключения на 754C3D28 (0EEDFADE)!
Строка отладки: «wsocket.pas initialization section»
DLL загружена: 75280000 C:\Windows\SysWOW64\kernel.appcore.dll
Поток 3208 создан, вход: tunnelserver.00CA4E5C
EXCEPTION_DEBUG_INFO:
dwFirstChance: 1
ExceptionCode: 00000005 (ERROR_ACCESS_DENIED)
ExceptionFlags: 00000001
ExceptionAddress: 754C3D28 kernelbase.754C3D28
NumberParameters: 0
Первая попытка исключения на 754C3D28 (00000005, ERROR_ACCESS_DENIED)!
Поток 3208 завершен
 
Последнее редактирование:

Jaa

Постоянный
Мудрец
Сообщения
74
Реакции
269
не работает сервер или винда ругается на подпись? драйвера с подписью этим сертом грузятся без тест-моды

и еще мож патч кривой?
при запуске
Код:
EXCEPTION_DEBUG_INFO:
dwFirstChance: 1
ExceptionCode: 0EEDFADE
ExceptionFlags: 00000001
ExceptionAddress: 754C3D28 kernelbase.754C3D28
NumberParameters: 7
ExceptionInformation[00]: 00D04810 tunnelserver.00D04810
ExceptionInformation[01]: 030D3740
ExceptionInformation[02]: 030E4F30
ExceptionInformation[03]: 00D21B68 tunnelserver.00D21B68
ExceptionInformation[04]: 0036FB08
ExceptionInformation[05]: 0036FAF8
ExceptionInformation[06]: 0036FAE0
Первая попытка исключения на 754C3D28 (0EEDFADE)!
Строка отладки: «wsocket.pas initialization section»
DLL загружена: 75280000 C:\Windows\SysWOW64\kernel.appcore.dll
Поток 3208 создан, вход: tunnelserver.00CA4E5C
EXCEPTION_DEBUG_INFO:
dwFirstChance: 1
ExceptionCode: 00000005 (ERROR_ACCESS_DENIED)
ExceptionFlags: 00000001
ExceptionAddress: 754C3D28 kernelbase.754C3D28
NumberParameters: 0
Первая попытка исключения на 754C3D28 (00000005, ERROR_ACCESS_DENIED)!
Поток 3208 завершен
Я патчил один нулевой байт в конце на любой другой и сервис ведет себя аналогично, с подписью или нет, а оригинал работает без проблем, поэтому у меня такие выводы.
 

Jaa

Постоянный
Мудрец
Сообщения
74
Реакции
269
Вот мини набор для запуска. Запускаем программу и жмем старт, оригинальная запускается, на патченной выскакивает ошибка. Возможно я что то делаю не правильно, но перепробовал разные варианты, с самим патчем определился, сервер этот патч схавывает и считает себя зарегистрированным, но в сервисе такая же самая проверка поэтому без его патча не обойтись. Алго там RSA - не обратим(
https://dropmefiles.com/BqDHe
 

dartraiden

Новичок
Мудрец
Сообщения
9
Реакции
114
Винда принимает модули, подписанные просроченными сертификатами, если подпись сделана с проштамповкой времени относящемуся ко времени, когда серт был валиден. Иначе бы пришлось все время переподписывать актуальные модули.
Цимес в том, что она принимает и модули, подписанные явно отозванными сертификатами, что, на мой взгляд, неправильно.
 

BfoX

Постоянный
Мудрец
Сообщения
52
Реакции
213
@Jaa: пробуй - поправил твой патч
https://dropmefiles.com/9qw9i

вроде ставится/удаляется
SNTTunnelGameService -install
SNTTunnelGameService -uninstall

ошибка
Service failed on start: Access violation at address 00ХХХХХХ in module 'SNTTunnelGameService.exe'. Read of address 00000168

видимо что-то не так с патчем
8B0E mov ecx,[esi]
C70144304442 mov d,[ecx],042443044
 
Последнее редактирование:

Jaa

Постоянный
Мудрец
Сообщения
74
Реакции
269
поправил твой патч
Не работает. Вы можете сами проверить, я выше прислал файлы чтобы попробовать. Запускаете сервер и жмете Start, если запускается значит работает, если не запускается и пишет ошибку то не работает :)
 

BfoX

Постоянный
Мудрец
Сообщения
52
Реакции
213
если не запускается и пишет ошибку то не работает
я привел причину почему не работает.
а патч кривой уж извините

Код:
004EC494: 8B0E                           mov          ecx,[esi]
004EC496: 8BC6                           mov          eax,esi
004EC498: BA28C54E00              mov          edx,0004EC528      <<<<<<<<<<< правильно. при изменении адреса загрузки перенастраивается
ваш патч
Код:
00483DF0: 8B0E                           mov          ecx,[esi]
.................
00483E29: 8BC6                           mov          eax,esi
00483E2B: BA28C5B000              mov          edx,000B0C528      <<<<<<<<<<< не правильно. при изменении адреса загрузки не релоцируется
00483E30: E968860600                  jmp         .0004EC49D --↓1
поэтому я подправил ваш патч.
 
Последнее редактирование:

Jaa

Постоянный
Мудрец
Сообщения
74
Реакции
269
Проблему с релоками видел, давно уже исправил, но как выше писал изменение любого байта приводит к ошибке при запуске. Чуть позже сделаю демонстрационное видео
 

BfoX

Постоянный
Мудрец
Сообщения
52
Реакции
213
посмотрите какое событие пишется в журнал винды при запуске сервиса
 

Jaa

Постоянный
Мудрец
Сообщения
74
Реакции
269
Всем доброго время суток. Появился вопрос по серверу ASP .NET, после патча дллки сам сервер запускается, но при подключении клиентом ошибка, у самого файла длл нету подписи, ну или я его не нашел. Где искать проблему? Сам патч к коннекту не относится, патчил что то нейтральное для проверки.
 

mak

Соломенные сандалии
Администратор
Сообщения
755
Реакции
524
  • Понравилось
Реакции: Jaa

sendersu

Ветеран
Мудрец
Сообщения
119
Реакции
461
у самого файла длл нету подписи, ну или я его не нашел. Где искать проблему?
как минимум проверить не пасет ли прога свою интегральность через АПИ, например
StrongNameSignatureVerificationEx и др
 
  • Понравилось
Реакции: Jaa

_MBK_

Постоянный
Новичок
Сообщения
97
Реакции
26
Бывает так, что безо всякого API файл тупо считывается и считается контрольная сумма, проверить через ProcMon можно
 
  • Понравилось
Реакции: Jaa

dartraiden

Новичок
Мудрец
Сообщения
9
Реакции
114
Для собственных нужд давно уже собрал небольшой наборчик:
- закинуть на виртуалку
- запустить DSignTool.cmd, который установит в систему сертификаты и создаст конфиг
- дальше можно запускать DSignTool (гуёвая) или CSignTool (консольная), чтобы подписать файл / создать и подписать CAT. Благодаря HookSighTool утилиты воспринимают сертификаты (5 штук на выбор) как валидные и позволяют ими пользоваться.
- подписанные драйверы будут работать на любых виндах без отключения каких-либо защитных мер (несмотря на то, что сертификаты в свойствах файла отображаются как просроченные и отозванные)
Небольшой апдейт, один человек решил сообщить об этой уязвимости в Microsoft Security Response Center.
Краткий пересказ ответа: мы это у себя воспроизвели, менять ничего не будем, иначе отвалятся всякие старые дрова, которые подписаны давно и больше не обновляются.
 

mak

Соломенные сандалии
Администратор
Сообщения
755
Реакции
524
@dartraiden, похоже этот метод больше не работает на последнем июльском апдейте Windows 10, эти две версии вроде как без этого апдейта -
https://nnmclub.to/forum/viewtopic.php?t=1479017
https://nnmclub.to/forum/viewtopic.php?t=1479014

Старые драйверы для Windows 10 перестанут работать в первой половине 2021 года - https://www.comss.ru/page.php?id=8288
 
Верх Низ