Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [Все]   Вниз
  Печать  
Автор Тема: Редактор реестра  (Прочитано 136084 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sss
Специалист

ru
Offline Offline

« : 27-01-2010 10:04 » 

Всем привет.

Написал свой редактор реестра. Старался создать похожий на системный.



Программа написана в CBuilder 2006 с использованием VCL и подписана.

P.S.: Сейчас версия 0.2. Исправлена остановка поиска при ошибке чтения раздела и строку пути
         теперь можно копировать...


* regsss.rar (371.62 Кб - загружено 1067 раз.)
« Последнее редактирование: 29-01-2010 10:03 от sss » Записан

while (8==8)
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 27-01-2010 18:12 » 

sss, Ты бы исходники приложил, а то страшно им пользоваться.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #2 : 28-01-2010 01:12 » 

Serg79, извини не буду. Предлагаю попробовать не под административной учётной записью...

P.S.: А если бы обозвал просмоторщиком картинок, не было бы страшно  Меня одолевают смутные сомнения ?

* regsss.JPG (98.97 Кб - загружено 3104 раз.)
« Последнее редактирование: 29-01-2010 10:01 от sss » Записан

while (8==8)
Nik_Kurta
Интересующийся

ua
Offline Offline
Пол: Мужской
программист


« Ответ #3 : 17-08-2010 20:39 » 

А какую цель преследовал разработчик данного творения? Чем она отличается от проверенного и надёжного оригинала?
Записан

Мы такая страна..., мы даже Гитлера до самоубийства довели!
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 17-08-2010 20:45 » 

иногда доступ к регедиту закрыт политикой безопасности (этим балуются некоторые вирусы)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Nik_Kurta
Интересующийся

ua
Offline Offline
Пол: Мужской
программист


« Ответ #5 : 17-08-2010 21:08 » 

 Если есть на компе злой вирус, который закрыл regedit, диспетчер задач, сеть и вывесил не закрывающееся окно на весь экран, с просьбой отослать SMS, то без снятия винта и лечения его на другом компе не обойтись!  Было, попадались!   Меня одолевают смутные сомнения
Записан

Мы такая страна..., мы даже Гитлера до самоубийства довели!
sss
Специалист

ru
Offline Offline

« Ответ #6 : 18-08-2010 00:45 » 

Если есть на компе злой вирус, который закрыл regedit, диспетчер задач, сеть и вывесил не закрывающееся окно на весь экран, с просьбой отослать SMS, то без снятия винта и лечения его на другом компе не обойтись!  Было, попадались!   Меня одолевают смутные сомнения

Nik_Kurta, пипец как страшно... Постоянно снимаю порчу руками на зараженном компьютере... Мне просто надоело, что единственный редактор реестра знают практически все вирусы, практически все пытаются его забанить и вся их "сила жизни" только  в этом...  Именно для защиты от таких беспонтовых засранцев это и сделано..

иногда доступ к регедиту закрыт политикой безопасности (этим балуются некоторые вирусы)

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


Кое что исправил...  md5(regsss.exe) = AABF6D2A9ED6E324ABF775A3AD2DDB19

* regsss.rar (369.99 Кб - загружено 1029 раз.)
« Последнее редактирование: 18-08-2010 01:54 от sss » Записан

while (8==8)
zubr
Гость
« Ответ #7 : 18-08-2010 09:53 » 

Цитата
Nik_Kurta, пипец как страшно... Постоянно снимаю порчу руками на зараженном компьютере... Мне просто надоело, что единственный редактор реестра знают практически все вирусы, практически все пытаются его забанить и вся их "сила жизни" только  в этом...  Именно для защиты от таких беспонтовых засранцев это и сделано..
К сожалению не все, только детские. Вирусы посерьезнее работают с ядром - им нет смысла regedit банить. Просто блокируются нужные ветки реестра.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #8 : 19-08-2010 00:12 » 

zubr, это конечно... Только их единицы. Да и тоже легко лечатся с помощью regedit руками... Куда хуже, когда засранца уже нет, а из-за него повреждены, например, стек TCP/IP. Вот тут то хренто аделанте - надо курить мануалы.
Записан

while (8==8)
lag
Участник

ru
Offline Offline

« Ответ #9 : 19-08-2010 02:37 » 

Снимать винт для удаления вируса? Да ну - извращение. Более пяти лет пользую ERD Commander в основном для этих целей
(еще для входа на запароленый компьютер), практически все компьютеры сослуживцев и знакомых лечил, на мои компьютеры
почему-то вирусы не попадают Улыбаюсь, хотя нет антивируса (постоянной защиты) и файрвола. Флешки тоже защитил.

А вот в реестре хотелось бы иметь, например - отображение автозагрузки, включая ветку HKLM\Software\Windows NT\CurrentVersion\Winlogon
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #10 : 19-08-2010 04:33 » 

sss, не слушай их, нормуль софтина. Улыбаюсь

По делу:
1. а можно менять значение и тип поставив курсор в соответствующее поле? (Проверить не проси, у меня Mac Улыбаюсь )
2. имхо шрифт не очень, блобы круто, если он настраивался
3. а права на ветку можно править, как в виндовом редакторе? (отбой, уже увидел кнопку Улыбаюсь )
4. судя по интерфейсу можно открыть несколько вкладок (или это мне показалось)
5. хочу меню и хоткейсы
6. файлик тяжеловат, уменьшить никак?

в остальном по мне так вполне сипатишно
Записан

Странно всё это....
zubr
Гость
« Ответ #11 : 19-08-2010 04:36 » 

zubr, это конечно... Только их единицы. Да и тоже легко лечатся с помощью regedit руками... Куда хуже, когда засранца уже нет, а из-за него повреждены, например, стек TCP/IP. Вот тут то хренто аделанте - надо курить мануалы.
Если этот вирус ключи реестра регистрирующие его сделает невидимыми, то как его лечить regedit или другой юзермодной программой?
Записан
Nik_Kurta
Интересующийся

ua
Offline Offline
Пол: Мужской
программист


« Ответ #12 : 19-08-2010 06:20 » 

zubr, это конечно... Только их единицы. Да и тоже легко лечатся с помощью regedit руками... Куда хуже, когда засранца уже нет, а из-за него повреждены, например, стек TCP/IP. Вот тут то хренто аделанте - надо курить мануалы.

Для этого есть утилита - WinsockxpFix.exe и AVZ4
Записан

Мы такая страна..., мы даже Гитлера до самоубийства довели!
sss
Специалист

ru
Offline Offline

« Ответ #13 : 19-08-2010 06:32 » 

Антон (LogRus),

1. Значение - да, переименовать - да, тип - нет (хотя можно).
2. Шрифт сделать - в принципе легко..
3.
4. Гм. Нет, но идея интересная..
5. Можно добавить (Ctrl+F и F3 надо точно сделать)
6. Полностью встроенный VCL и отладочная инф...


zubr, если драйвер спрячет от системы ключи своей загрузки - его не загрузят... Этим и пользуюсь.
Записан

while (8==8)
sss
Специалист

ru
Offline Offline

« Ответ #14 : 19-08-2010 07:06 » 

Вообще размер бесит... Использую только элементы со страницы Standard и Win32, что подразумевает встроенную в систему поддержку - ан нет.. Надо будет через UPX прогнать..
Записан

while (8==8)
zubr
Гость
« Ответ #15 : 19-08-2010 07:24 » 

sss, драйвер может определять имя процесса, который пытается прочитать ключ реестра и соответственно прятать ключи выборочно, к примеру от System, csrss не прятать, от остальных процессов прятать.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #16 : 19-08-2010 07:34 » 

zubr, согласен. Правда пока не встречал...
Записан

while (8==8)
zubr
Гость
« Ответ #17 : 19-08-2010 07:38 » 

zubr, это конечно... Только их единицы. Да и тоже легко лечатся с помощью regedit руками... Куда хуже, когда засранца уже нет, а из-за него повреждены, например, стек TCP/IP. Вот тут то хренто аделанте - надо курить мануалы.

Для этого есть утилита - WinsockxpFix.exe и AVZ4
Фигня это. В основном все что они умеют - это искать уже известный вирус в своей бд. А от эвристического анализа у DrWeb я вообще балдею. Зачастую программа вызывает какую нибудь вполне невинную функцию, а DrWeb уже тут как тут - типа возможно вирус, а то и сигнатуру в своей бд найдет.
Парадокс в том, что для того чтобы вычислить какого нибудь руткита, зачастую надо перехватывать вызовы системных таблиц, что запрещает Microsoft для легальных программ. Вирусописателей, естественно, данные запреты только раззадоривают.
Записан
Nik_Kurta
Интересующийся

ua
Offline Offline
Пол: Мужской
программист


« Ответ #18 : 19-08-2010 08:20 » 

zubr, AVZ4 - удаляет данные вирусы и восстанавливает работоспособность - regedit, диспетчера задач и прочих программ, а потом утилитой WinsockxpFix восстанавливаем стек TCP/IP
Записан

Мы такая страна..., мы даже Гитлера до самоубийства довели!
zubr
Гость
« Ответ #19 : 19-08-2010 08:30 » 

Nik_Kurta, данные вирусы - это какие? Более менее серьезный руткит (если он не известен) он просто не увидит.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #20 : 23-08-2010 05:44 » 

zubr, да ладно) не гоните на AVZ)
 в нем очень много нужного, помимо баз. и эвристика ничего... собственно, кроме него - ничего другого не использую для лечения чужих компов)
но AVZ не антивирусник! AVZ хорош не тем, что у него базы - он помогает найти работу вируса в системе. когда тот УЖЕ там)
пользоваться им в ручном режиме - это песня) там можно почти все)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #21 : 23-08-2010 08:24 » 

Ochkarik, ну вот простой пример: беру широко известную хакерскую утилиту Hidetoolz, позволяющую скрывать любой процесс в системе и себя из юзермода (даже не из ядра!), запускаю ее, запускаю AVZ. Да - он показывает, что процесс PID такой то скрывает себя, но путь к процессу не определяет. А что толку PID без пути. Вместо пути - ?
Записан
zubr
Гость
« Ответ #22 : 23-08-2010 08:32 » 

Включил AVZGuard - при запуске блокируется Hidetoolz и все процессы которые скрывались с использованием Hidetoolz, через несколько минут система валится в BSOD.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #23 : 23-08-2010 16:35 » 

ну и логично что не показывает. так я думаю и никто уже показать не сможет) путь к процессу в каком то списке хранится, кажется в списке переключений контекста. ежели его оттуда вытереть то.... впрочем я не помню подробностей.
а польза ИМХО большая. признак что аномальный процесс - есть! а дальше дело техники... инструментов AVZ предоставляет достаточно.

PS а BSOD - я такого ни разу не наблюдал при лечении. хотя вру... какая то зараза была с похожими симптомами. так ее находили всего 3 из 40 антивирусников на virustotal и ни каспера ни веба ни других известных, среди этих трех - не было.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #24 : 23-08-2010 17:07 » 

ну и логично что не показывает. так я думаю и никто уже показать не сможет) путь к процессу в каком то списке хранится, кажется в списке переключений контекста. ежели его оттуда вытереть то.... впрочем я не помню подробностей.
Можно путь к процессу найти через структуру PEPROCESS и файловый объект.
Записан
Sel
Злобный
Администратор

ru
Offline Offline

« Ответ #25 : 23-08-2010 18:59 » 

BSOD при лечении мне тоже ни разу не попадался... А вот то, что AVZ систему грузил безбожно - это было. За  что и был удален с моего ноута.

WinsockxpFix.exe - вот это для меня новое. Улыбаюсь Спасибо за подсказку: у меня как рз имеется ноут, на котором ни regedit, ни msconfig ни в какую запускаться не желают... Улыбаюсь
Записан

Слово не воробей. Всё не воробей, кроме воробья.
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #26 : 23-08-2010 19:16 » 

кстати, а попробуйте не AVZguard включать, а установить драйвер расширенного мониторинга процессов - AVZPM ) Гуард - на самом деле лишь блокирует внеплановое завершение AVZ. ну и там по мелочи...)
...и еще в параметрах поиска поставить все галки и максимальный уровень) уверен, AVZ покажет все что можно)

можно... только эта структура как раз и является элементом того двусвязного списка из которого берется имя процесса в диспечере задач) и через изменение которого, собственно и происходит сокрытие процесса...

PS Sel, а с какой стати AVZ систему грузит? это же не real-time проверка на вирусы?!
PPS модераторы.... может переместить флуд в отдельный топик? или оно "относительно" по делу получается?
« Последнее редактирование: 23-08-2010 19:41 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Sel
Злобный
Администратор

ru
Offline Offline

« Ответ #27 : 23-08-2010 19:50 » 

Ochkarik, не знаю, с какой стати грузил, но грузил. Причин искать никто не стал...

Тему потом поделим. Улыбаюсь
Записан

Слово не воробей. Всё не воробей, кроме воробья.
zubr
Гость
« Ответ #28 : 24-08-2010 04:58 » 

Цитата
можно... только эта структура как раз и является элементом того двусвязного списка из которого берется имя процесса в диспечере задач) и через изменение которого, собственно и происходит сокрытие процесса...
Сомневаюсь, что ядерную структуру EPROCESS можно получить из UserMode, а утилита HideTools работает в UserMode.
Недавно я писал драйвер защиты процессов для античита, в нем использовал способ получения полного имени процесса через структуру EPROCESS - он прекрасно определял путь к утилите HideTools.

У меня AVZ вывалилось в BSOD не при лечении, а минуты через 2-3 после включения режима avzguard. Тестировал на виртуальной машине WinXP SP2, причем система не была загружена обилием работающих процессов.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #29 : 24-08-2010 05:46 » 

одну секунду...)

Цитата
Протокол антивирусной утилиты AVZ версии 4.34
Сканирование запущено в 24.08.2010 9:48:41
Загружена база: сигнатуры - 277343, нейропрофили - 2, микропрограммы лечения - 56, база от 12.08.2010 22:01
Загружены микропрограммы эвристики: 383
Загружены микропрограммы ИПУ: 9
Загружены цифровые подписи системных файлов: 218051
Режим эвристического анализатора: Максимальный уровень эвристики
Режим лечения: выключено
Версия Windows: 5.1.2600, Service Pack 3 ; AVZ работает с правами администратора
Восстановление системы: включено
1. Поиск RootKit и программ, перехватывающих функции API
1.1 Поиск перехватчиков API, работающих в UserMode
 Анализ kernel32.dll, таблица экспорта найдена в секции .text
 Анализ ntdll.dll, таблица экспорта найдена в секции .text
 Анализ user32.dll, таблица экспорта найдена в секции .text
 Анализ advapi32.dll, таблица экспорта найдена в секции .text
 Анализ ws2_32.dll, таблица экспорта найдена в секции .text
 Анализ wininet.dll, таблица экспорта найдена в секции .text
 Анализ rasapi32.dll, таблица экспорта найдена в секции .text
 Анализ urlmon.dll, таблица экспорта найдена в секции .text
 Анализ netapi32.dll, таблица экспорта найдена в секции .text
1.2 Поиск перехватчиков API, работающих в KernelMode
 Драйвер успешно загружен
 SDT найдена (RVA=083220)
 Ядро ntoskrnl.exe обнаружено в памяти по адресу 804D7000
   SDT = 8055A220
   KiST = 804E26A8 (284)
Функция NtDuplicateObject (44) перехвачена (805715E0->F5046F9A), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtInitiatePowerAction (5D) перехвачена (8062BF67->F504625E), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtOpenProcess (7A) перехвачена (805717C7->F5046E28), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtOpenThread (80) перехвачена (8058A1C9->F5046EDC), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtQueryInformationProcess (9A) перехвачена (8056DB30->F5045D06), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtQuerySystemInformation (AD) перехвачена (8057BC40->F5045D4A), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtRaiseHardError (B6) перехвачена (806480E3->F50460A3), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtSetSystemPowerState (F1) перехвачена (8066768B->F5046182), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtShutdownSystem (F9) перехвачена (80647177->F5045FC5), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtTerminateProcess (101) перехвачена (805822EC->F5047200), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtWriteFile (112) перехвачена (80574BF5->F5045EFC), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtWriteFileGather (113) перехвачена (805DA475->F5045F44), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Проверено функций: 284, перехвачено: 12, восстановлено: 12
1.3 Проверка IDT и SYSENTER
 Анализ для процессора 1
>>> Опасно - подозрение на подмену адреса 01] = [F5FC8D17]
>>> Опасно - подозрение на подмену адреса 04] = [F5FC8D5C]
>>> Опасно - подозрение на подмену адреса 06] = [F5FC8D8A]
>>> Опасно - подозрение на подмену адреса 09] = [F5FC8DCF]
>>> Опасно - подозрение на подмену адреса 0B] = [F5FC8DFD]
>>> Опасно - подозрение на подмену адреса 0D] = [F5FC8E2B]
>>> Опасно - подозрение на подмену адреса 0F] = [F5FC8E59]
>>> Опасно - подозрение на подмену адреса 11] = [F5FC8E87]
>>> Опасно - подозрение на подмену адреса 13] = [F5FC8EB5]
>>> Опасно - подозрение на подмену адреса FF] = [F5FCA3E9]
CmpCallCallBacks = 0013A76A
Disable callback OK
 Проверка IDT и SYSENTER завершена
1.4 Поиск маскировки процессов и драйверов
 Поиск маскировки процессов и драйверов завершен
1.5 Проверка обработчиков IRP
 Драйвер успешно загружен
 Проверка завершена
2. Проверка памяти
 Количество найденных процессов: 23
Анализатор - изучается процесс 408 C:\WINDOWS\system32\winlogon.exe
[ES]:Может работать с сетью
[ES]:Приложение не имеет видимых окон
[ES]:Размещается в системной папке
[ES]:Записан в автозапуск !!
Анализатор - изучается процесс 1348 C:\Program Files\Virtual Machine Additions\vmusrvc.exe
[ES]:Приложение не имеет видимых окон
[ES]:Записан в автозапуск !!
Анализатор - изучается процесс 1588 C:\Viruses\HideToolz.exe
Анализатор - изучается процесс 1736 C:\Program Files\Virtual Machine Additions\vmsrvc.exe
[ES]:Приложение не имеет видимых окон
 Количество загруженных модулей: 224
Проверка памяти завершена
3. Сканирование дисков
4. Проверка Winsock Layered Service Provider (SPI/LSP)
 Настройки LSP проверены. Ошибок не обнаружено
5. Поиск перехватчиков событий клавиатуры/мыши/окон (Keylogger, троянские DLL)
6. Поиск открытых портов TCP/UDP, используемых вредоносными программами
 Проверка отключена пользователем
7. Эвристичеcкая проверка системы
Проверка завершена
8. Поиск потенциальных уязвимостей
>> Службы: разрешена потенциально опасная служба RemoteRegistry (Удаленный реестр)
>> Службы: разрешена потенциально опасная служба TermService (Службы терминалов)
>> Службы: разрешена потенциально опасная служба SSDPSRV (Служба обнаружения SSDP)
>> Службы: разрешена потенциально опасная служба Schedule (Планировщик заданий)
>> Службы: разрешена потенциально опасная служба mnmsrvc (NetMeeting Remote Desktop Sharing)
>> Службы: разрешена потенциально опасная служба RDSessMgr (Диспетчер сеанса справки для удаленного рабочего стола)
> Службы: обратите внимание - набор применяемых на ПК служб зависит от области применения ПК (домашний, ПК в ЛВС компании ...)!
>> Безопасность: разрешен автозапуск программ с CDROM
>> Безопасность: разрешен административный доступ к локальным дискам (C$, D$ ...)
>> Безопасность: к ПК разрешен доступ анонимного пользователя
>> Безопасность: Разрешены терминальные подключения к данному ПК
>> Безопасность: Разрешена отправка приглашений удаленному помошнику
Проверка завершена
9. Мастер поиска и устранения проблем
Проверка завершена
Просканировано файлов: 247, извлечено из архивов: 0, найдено вредоносных программ 0, подозрений - 0
Сканирование завершено в 24.08.2010 9:49:11
!!! Внимание !!! Восстановлено 12 функций KiST в ходе работы антируткита
Это может нарушить нормальную работу ряда программ, поэтому настоятельно рекомендуется перезагрузить компьютер
Сканирование длилось 00:00:33
Если у Вас есть подозрение на наличие вирусов или вопросы по заподозренным объектам,
то Вы можете обратиться в конференцию - http://virusinfo.info

PS hidetools имеет драйвер. просто он в эезешник зашит сразу.... так часто делают.
">>> Код перехватчика нейтрализован
Функция NtRaiseHardError (B6) перехвачена (806480E3->F50460A3), перехватчик C:\WINDOWS\temp\66167C89F.sys"
PPS кстати тоже на вируальной машине запускал
PPPS "Анализатор - изучается процесс 1588 C:\Viruses\HideToolz.exe"

* hidetols-avz.JPG (223.65 Кб - загружено 2600 раз.)
« Последнее редактирование: 24-08-2010 06:06 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #30 : 24-08-2010 06:12 » 

Цитата
Функция NtInitiatePowerAction (5D) перехвачена (8062BF67->F504625E), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtOpenProcess (7A) перехвачена (805717C7->F5046E28), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtOpenThread (80) перехвачена (8058A1C9->F5046EDC), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtQueryInformationProcess (9A) перехвачена (8056DB30->F5045D06), перехватчик не определен
>>> Функция воcстановлена успешно !
>>> Код перехватчика нейтрализован
Функция NtQuerySystemInformation (AD) перехвачена (8057BC40->F5045D4A), перехватчик не определен
>>> Функция воcстановлена успешно !
Ключевая фраза - перехватчик не определен
Хотя не спорю AVZ - штука полезная.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #31 : 24-08-2010 06:20 » 

судя по адресам:
Функция NtQuerySystemInformation (AD) перехвачена (8057BC40->F5045D4A), перехватчик не определен
Функция NtRaiseHardError (B6) перехвачена (806480E3->F50460A3), перехватчик C:\WINDOWS\temp\66167C89F.sys
>>> Функция воcстановлена успешно !
 - перехватчиком является тот же C:\WINDOWS\temp\66167C89F.sys
а определить его было нельзя пока другие функции не восстановлены. после восстановления NtQuerySystemInformation() - он определился)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sss
Специалист

ru
Offline Offline

« Ответ #32 : 25-08-2010 01:08 » 

Ochkarik, а вы можете сказать - есть ли в реестре записи об драйвере 66167C89F.sys?

Ну там, допустим
Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_66167C89F

или

Код:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\66167C89F

при работающем стелс механизме?

P.S.: Все Ваши прения натолкнули меня на идею создать свой драйвер , который будет использоваться программой для чтения/записи в реестр в обход системных перенаправлений...
Записан

while (8==8)
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #33 : 25-08-2010 05:06 » 

да. он даже обычным regedit виден (в сервисах)
только имя драйвера произвольно меняется при каждом новом запуске.
PS автора не посмотрел) руки... крылья... главное хвост!
« Последнее редактирование: 25-08-2010 13:51 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #34 : 25-08-2010 05:30 » 

sss, если будешь делать драйвер, то вместо хуков нативных функций лучше используй документированную функцию CmRegisterCallback (появилась с WinXP). Тогда твоя прога будет "дружить" с антивирусными программами и AVZ ругаться не будет.
« Последнее редактирование: 25-08-2010 05:47 от zubr » Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #35 : 25-08-2010 13:49 » 

sss, ну... если кто-то, уже перехватил функции чтения/записи реестра... я слабо представляю как в обход них можно сделать... перехватить второй раз? напрямую файл реестра править? AVZ их восстанавливать умеет после перехвата.... а вот как иначе?
хотя смотря какой перехват...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #36 : 25-08-2010 14:17 » 

1. В драйвере можно определить, что функции перехвачены и отменить перехват, как это делает AVZ
2. Если даже какие то процессы будут скрывать какие то ключи реестра путем перехвата к примеру функции NtOpenKey, то CallBack (CmRegisterCallback) все равно покажет эти ключи при обращении процесса к скрытым ключам.
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #37 : 25-08-2010 14:37 » 

а если они путем тупого внедрения кода перехвачены? что для вирусописателей как раз более надежный, хотя и сложный метод
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #38 : 25-08-2010 15:21 » 

Сплайсинг требует тонкой работы и высокой квалификации - иначе будет BSOD. Да и еще вопрос как сплайсинг реализован, ведь все равно зловредный процесс будет вызывать оригинальную функцию, вот тут его можно перехватить. В общем тут как мой ротный в армии говорил (пусть грубо, но в данном случае верно):
"На всякую хитрую задницу есть хрен с винтом, а на хрен с винтом есть задница с закоулками"
Записан
sss
Специалист

ru
Offline Offline

« Ответ #39 : 26-08-2010 00:35 » 

sss, ну... если кто-то, уже перехватил функции чтения/записи реестра... я слабо представляю как в обход них можно сделать... перехватить второй раз? напрямую файл реестра править? AVZ их восстанавливать умеет после перехвата.... а вот как иначе?
хотя смотря какой перехват...

Не понял в чём сложность? Интересно -  а что мешает через DeviceIoControl вызывать напрямую из драйвера, например, ZwRegistryOpen ?
Наверняка не знаю, но подозреваю, что AVZ при обнаружении/восстановлении перехватов просто проверяет соответствие адресов в
таблице системного сервиса адресам экспортируемых функций отображенных системных dll...


zubr, использовать CmRegisterCallback целесообразно в мониторах реестра, а у меня тут редактор. Не знаю правда - когда сяду за проект...
« Последнее редактирование: 26-08-2010 00:46 от sss » Записан

while (8==8)
zubr
Гость
« Ответ #40 : 26-08-2010 05:12 » 

Цитата
Не понял в чём сложность? Интересно -  а что мешает через DeviceIoControl вызывать напрямую из драйвера, например, ZwRegistryOpen ?
Наверняка не знаю, но подозреваю, что AVZ при обнаружении/восстановлении перехватов просто проверяет соответствие адресов в
таблице системного сервиса адресам экспортируемых функций отображенных системных dll...
DeviceIoControl позволяет обмениваться данными между юзермодным приложение и драйвером и никакого отношения к вызовам нативных функций не имеет. Если функция ZwOpenKey (наверно эту функцию ты имел в виду) уже кем то перехвачена, то ты будешь вызывать перехваченную функцию. Да, AVZ, как и многие другие антиспайвэри утилиты 1-е что делает - это проверяет соответствие адресов системных функций в таблице GDT, 2-е - соответствие в таблице IDT(таблице системных прерываний). Насчет сплайсинга - уже сложнее, не знаю AVZ может ли увидеть сплайсинг. Для выявления сплайсинга надо проверять целостность кода ядра. Если ядро тупо запатчено и подменено - то это выявить легко, а если оно патчится динамически, то это битва разработчиков вирусов и антивирусов. В общем то с помощью сплайсинга вирусописатели обходят и защиту PatchGuard 64-битных систем, начиная с висты. А данная защита именно построена на рандомной по времени проверке целостности кода ядра.
Цитата
zubr, использовать CmRegisterCallback целесообразно в мониторах реестра, а у меня тут редактор. Не знаю правда - когда сяду за проект...
CmRegisterCallback позволит выявить процесс, который скрывает ключи реестра и соответственно нейтрализовать его. К примеру, какой то вирус перехватил NtOpenKey и в своей ловушке не дает другим процессам прочитать скрываемые им ключи реестра, но сам к этим ключам обращается, что и покажет коллбэк CmRegisterCallback. Тогда можно будет определить PID вируса и путь к нему. Ну если конечно сам CmRegisterCallback не будет запатчен.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #41 : 26-08-2010 05:45 » 

zubr, блин, причем тут GDT? Ты хотел сказать SDT Не понял Что значит - перехватить ZwOpenKey ? Перехватываются заглушки в обработчике SYSENTER... Драйвер же пользуется прямым вызовом на ZwOpenKey, адрес которого записывается загрузчиком в его таблицу IAT... Или как???
Записан

while (8==8)
zubr
Гость
« Ответ #42 : 26-08-2010 06:00 » 

Да, я имел в виду SSDT - System Servise Device Table. Один из способов перехвата, причем самый простой - это изменение адреса функции в таблице SSDT. То есть при этом способе в драйвере просто подменяется адрес нужной функции в SSDT на свой обработчик, после чего любой процесс, который обращается к нужной функции обращается за адресом к таблице SSDT - а там по адресу функции наш обработчик, который, к примеру, сначала выполнит свой код, а уж потом направит на оригинальную функцию или вернет вместо этого STATUS_ACCESS_DENIED
Перехватываются заглушки в обработчике SYSENTER. - это и есть подмена адресов в IDT (Interrupt Descriptor Table)
« Последнее редактирование: 26-08-2010 06:07 от zubr » Записан
sss
Специалист

ru
Offline Offline

« Ответ #43 : 26-08-2010 06:43 » 

...
после чего любой процесс, который обращается к нужной функции обращается за адресом к таблице SSDT
...

Вот вот. Я собираюсь чтобы мой процесс не использовал SSDT.


..
Перехватываются заглушки в обработчике SYSENTER. - это и есть подмена адресов в IDT (Interrupt Descriptor Table)
..

Да нет же! Вот если устанавливать свой обработчик на int 2E, подменяя дескриптор в IDT - это да, это подмена...
Записан

while (8==8)
sss
Специалист

ru
Offline Offline

« Ответ #44 : 26-08-2010 07:04 » 

Заинтересовался как работает SYSENTER:
оказывается используются регистры

    * SYSENTER_CS_MSR (174h): - CS регистр для перехода на уровень нулевого кольца;
    * SYSENTER_ESP_MSR (175h): - ESP регистр для перехода на уровень нулевого кольца;
    * SYSENTER_EIP_MSR (176h): - EIP регистр для перехода на уровень нулевого кольца;

запись/чтение в которые выполняется командами

WRMSR Write the value in EDX:EAX to MSR specified by ECX
RDMSR    Load MSR specified by ECX into EDX:EAX

О как!

Записан

while (8==8)
zubr
Гость
« Ответ #45 : 11-09-2010 13:18 » 

Прикольно этот AVZ работает.  Ставлю пустой хук по WH_GETMESSAGE (обработчик хука пустой). Он мне выдает буквально:
D:\Mycod\RedirectSniffer\Project\Exe\RedirectLib.dll --> Подозрение на Keylogger или троянскую DLL
D:\Mycod\RedirectSniffer\Project\Exe\RedirectLib.dll>>> Поведенческий анализ
  1. Реагирует на события: клавиатура, мышь
D:\Mycod\RedirectSniffer\Project\Exe\RedirectLib.dll>>> Нейросеть: файл с вероятностью 99.53% похож на типовой перехватчик событий клавиатуры/мыши

Делаю тоже самое, но внутри хуковой длл-ки делаю хак Winsock-функций - результат тот же.
Вывод:
То что в коде хуковой длл идет хак API-функций он не видит, а любой хук типа WH_GETMESSAGE, WH_CBT определяет как кейлогггер с вероятностью 99.53%
Записан
Ochkarik
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #46 : 17-09-2010 06:42 » 

хм. а почему бы ему тем же не быть?) результату, имеется в виду)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
zubr
Гость
« Ответ #47 : 17-09-2010 07:11 » 

Ochkarik, ну как бы грубо... С таким же успехом можно подозревать, к примеру, любую программу, обращающуюся к реестру или файловой системе. Ведь хук - вполне законное действо, которое Microsoft поддерживает в своих последних системах.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #48 : 29-08-2012 05:22 » 

Привет.

Вернулся к проекту и вот представляю следующую версию редактора.



Теперь у программы есть поддержка  обхода стелс защит, основанных на перехвате системных  вызовов.
Если выбрать пункт меню "SKMD+", программа выгрузит вспомогательный драйвер regsss32.sys во временной
каталог и попытается его установить. Если всё пройдёт удачно, в области корневых ключей появятся ещё два
"\Registry\Machine" и "\Registry\User" с которыми программа будет работать через драйвер.
Для удаления вспомогательного драйвера выберите пункт меню "SKMD-" - при этом программа остановит
драйвер, удалит из scm  и удалит файл  regsss32.sys.

Вспомогательный драйвер 32 битный, поэтому функция работы через драйвер доступна только для 32 битных
версий ОС. К сожалению, в какой-то  момент времени я не учёл, что функция RegSaveKeyEx есть в advapi32.dll
только начиная от Win XP и выше, поэтому минимально допустимой ОС для работы программы является Win XP.

Так же в этот раз я решил не скрывать вкладку "scm", которая по существу является отдельной утилитой
которую я использовал при написании и которая может пригодиться кому нибудь ещё. Например для установки  
и настройки безопасности служб и драйверов..



[v 0.3]
Размерregsss.exe       = 1 508 352
Хэш md5( regsss.exe) = 739F1AE3B0840710EABD2CDD7E8B397E

[v 0.4]
Размер присоединённого в архиве regsss.exe      = 1 503 232
Хэш присоединённого в архиве md5( regsss.exe) = 682539ff3b3a729ca4ac3528e4f4b87b



* regsss01.JPG (59.34 Кб - загружено 2381 раз.)
* regsss02.jpg (86.24 Кб - загружено 2309 раз.)
* regsss.rar (464.25 Кб - загружено 1030 раз.)
« Последнее редактирование: 30-08-2012 02:55 от sss » Записан

while (8==8)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #49 : 29-08-2012 20:01 » 

Если вкратце, что такое "SKMD" и в чем его польза?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #50 : 30-08-2012 01:16 » 

Если вкратце, что такое "SKMD" и в чем его польза?

1) SKMD - sss kernel mode driver.  Не думал что буду переводить. Не смог придумать
    как коротко и лаконично обозвать пункт меню.
     Скромно так...
 
2) ...в чем его польза - есть серьёзные вирусы, которые изменяют адреса функций в таблице SSDT на свои и, допустим, при попытке чтения
    скрывают присутствие запускающих их ключей. Другие при попытке удаления или изменения важных для них ключей просто отказывают
    в доступе. Другое дело приложения режима ядра. Загрузчик напрямую записывает в таблицы импорта адреса системных функций. При
   этом если перенаправлять вызовы сервисных функций реестра через DeviceIoControl к драйверу SKMD мы обходим перехват. Вторично - мы
   также обходим попытки перехватов в режиме пользователя, реагирующих на имена функций работы с реестром. В принципе так же можно
   дописать возможность работы с файлами..

Во всяком случае я так думаю (заблуждаюсь?).

ВАЖНО!

Для версии 0.3. После работы с реестром через ядро обязательно отключайте пунктом SKMD- ! Иначе возможен обход безопасности через драйвер SKMD.
Простите что сразу не предупредил. Сейчас буду думать что делать..

ИСПРАВЛЕНО.

Заменил версию на 0.4. Теперь с драйвером могут работать только члены встроенной группы "Администраторы" и системная учётная запись
даже если драйвер установлен и выполняется.

« Последнее редактирование: 30-08-2012 03:23 от sss » Записан

while (8==8)
zubr
Гость
« Ответ #51 : 30-08-2012 03:43 » 

sss, адреса системных функций платформо-зависимы и меняются от версии к версии. И потом, вирусы могут многократно (периодически) проверять свои адреса в таблице SSDT.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #52 : 30-08-2012 03:47 » 

Вызывает ли программа и ее драйвер интерес со стороны антивирусов — не считают ли они ее саму вредоносной?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
sss
Специалист

ru
Offline Offline

« Ответ #53 : 30-08-2012 03:56 » 

Вызывает ли программа и ее драйвер интерес со стороны антивирусов — не считают ли они ее саму вредоносной?

Не могу пока сказать. Ничего противозаконного она не делает. Ведь файловый монитор Руссиновича антивирусы
не считают вредоносным, хотя там принцип вообще как у перехватчиков.. В общем программа не влияет на работу
(не вмешивается в работу) других приложений.

sss, адреса системных функций платформо-зависимы и меняются от версии к версии. И потом, вирусы могут
многократно (периодически) проверять свои адреса в таблице SSDT.

Я не понимаю. Пусть вирусы меняют сколько угодно адреса в SSDT. В том то и дело - SSDT не используется. Адреса
функций записываются системным загрузчиком в таблицы импорта во время загрузки драйвера. Поэтому не важно
какие адреса у функций и какие подмены произведены в SSDT. Или что Вы имеете ввиду?

Кажется понял... Я не меняю адреса в SSDT обратно на системные. Вообще не вмешиваюсь никуда...

« Последнее редактирование: 30-08-2012 04:08 от sss » Записан

while (8==8)
zubr
Гость
« Ответ #54 : 30-08-2012 05:04 » 

sss, какие системы поддерживаются твоей программой, потому как номера системных функций в каждой системе от версии к версии отличаются?
Цитата
Пусть вирусы меняют сколько угодно адреса в SSDT. В том то и дело - SSDT не используется. Адреса
функций записываются системным загрузчиком в таблицы импорта во время загрузки драйвера. Поэтому не важно
какие адреса у функций и какие подмены произведены в SSDT. Или что Вы имеете ввиду?
А разве системный загрузчик берет адреса не из таблицы SSDT?
RXL, эвристика АВ, работающих в резидентном режиме скорее всего будет срабатывать. Я столкнулся с подобным, когда делал проект - программу по защите файлов и каталогов, там использовался драйвер-фильтр файловой системы. Уже при установке начинал орать Касперский при максимальном уровне эвристики. Заказчик просил сделать чтобы АВ молчали при установке, что стоило бы гораздо дороже самой программы. В общем, решился вопрос просто обращением заказчика в известные АВ-компании, они просто включили его программу в белый список. Думаю, монитор Руссиновича и многие подобные программы, тоже просто в белом списке.
Записан
sss
Специалист

ru
Offline Offline

« Ответ #55 : 30-08-2012 05:45 » 

...
А разве системный загрузчик берет адреса не из таблицы SSDT?
...

Ну наверняка не из SSDT.. Думаю что из таблиц экспортов dll загружаемых в процесс. Если процесс system
(хост для драйверов ядра), то и адреса будут взяты для dll уже загруженных в этот процесс. Вот если затёрты
таблицы импорта процесса system, то тогда всё. Суши вёсла. Надо действительно содержать таблицу адресов
системных функций соответствующих конкретной версии ОС.
« Последнее редактирование: 30-08-2012 06:07 от sss » Записан

while (8==8)
Страниц: 1 2 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines