-
System Restore - "вынос зверей"
Пытаюсь автоматизировать полезный процесс. Нигде не нашел способ запустить "Восстановление системы" в XP вызовом какой-то функции. Даже вручную, через планировщик не получается (хотя, в этом деле совсем не силен). Возможно ли вообще из user-mode такое сотворить?
rstrui "справок не дает". У нее вообще есть параметры для запуска?
Буду бесконечно благодарен за любую информацию.
Regmon и филемон ничего полезного не говорят.
-
-
Будь в курсе!
Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
-
-

Сообщение от
Virtual
antanta, это как же регмон инфы не дает

плохо искал.
Я не сказал, что не дает вообще. При запуске процесса восстановления системы в итоге происходит рестарт. Только и успеваю Save жать. Не факт, что все в лог попадает.
Да и вопрос - о другом. Недаром же я упомянул rstrui.
Интересует метод запуска самого процесса восстановления. То есть - копирования файлов из SystemVolumeInformation куда следует. Уже под утро нашел упоминание о двук ключах запуска rstrui.exe : -i и -c

Сообщение от
Virtual
antantaда и вообще в ветке
HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore
очень много интересного.
Если Вы специалист, поделитесь уже. Это
HKLM\Software\Microsoft\Windows\CurrentVersion\Run Once\*Restore SUCCESS "C:\WINDOWS\system32\restore\rstrui.exe -i" я пытался воспроизводить. С ключем -с пишет, что восстановление успешно. На самом деле - ничего не меняется.
Если было просто найти такую инфу в нете, я бы не спрашивал.
Добавлено через 1 час 44 минуты
Кажется, заработало. Брутфорс гугля атакой по алфавиту помог найти
rstrui.exe /v (http://pcwelt-tipps.de/wiki/Radikaler_Schalter)
В итоге kl1 (KIS 8 ) ушел в глубокую спячку. Это дает надежду, что и "других руткитов" так можно детектить и выносить.
1) Отключаем восстановление
2) Включаем восстановление (имеем теперь одну точку)
3) Грузим куст из точки восстановления
4) Сравниваем содержимое на предмет скрываемых ключей.
5) Правим загруженный куст
6) Ресторе.
Теперь дело за реализацией.
PS : А за ссылку на документацию по этой теме все равно буду благодарен.
Последний раз редактировалось antanta; 02.07.2009 в 11:05.
Причина: Добавлено
-
-
С уважением,
Alex Plutoff
А. ПЛАТОВ
-
-

Сообщение от
Alex Plutoff
Извините, а что, мой пост, находящийся непосредственно выше Вашего, ваш браузер не отобразил?
Чтож... Когда мне нужно "найти и уничтожить" какую-нибудь редиску, я, в зависимости от обстоятельств, иногда использую различные методы доступа к файлам реестра Windows:
1) Загрузка PE или Erd, загрузка и анализ кустов рееестра (написал такую утилитку), правка, сохранение и ребут. Долгий способ. PE медленно грузится. Кроме того, мне так и не удалось заюзать CryptoAPI под PE для проверки файлов по каталогу безопасности. А г-н Зайцев базы безопасных не дает 
2) Загрузка RIPLinuX, монтирование раздела с виндой, скриптом поднимаем сеть и NFS, коннектимся с нормального компа (XP+ SFU), далее то же + проверка KIS с актуальными базами . Недостаток - нужен второй комп. Зато линь быстрее грузится, базы всегда актуальны + возможность проверки по каталогу MS. В перспективе - заточить livecd под эти нужды, будет еще шустрее.
Так вот, в некоторых случаях нет необходимости грузиться с постороннего носителя. Фактически мы можем править файлы реестра, находясь в "больной" системе. Более того, есть надежда, что не каждый руткит парсит аргументы функций реестра в поисках подстроки, равной имени подключа (например nvmini). Скорее, как и KIS, контролирует по полному пути. Таким образом, попытка доступа к ключу вида HKLM\ZZZSystem\ControlSet001\Services\nvmini скорее всего будет проигнорирована.
Если удастся таки прочесть мой предыдущий пост, то станет понятна цель затеи.
Касаемо шаловливости etc, мне трудно оспаривать мнение авторитетного хелпера. Упорным трудом Вы заслужили право на любые высказывания.
Последний раз редактировалось antanta; 02.07.2009 в 12:38.
-
-
antanta, Поищи на netzor.org книжку про работу с rundll32.
В ней есть хорошее описание того, что твориться в реестре системы.
Павел
AVZ HijackThis помощь с 10-00 до 18-00МСК
Windows7, SEP(work)
WindowsXP KIS(home)
На up не реагирую
-
-
Чтобы не быть голословным, выкладываю "концепт". http://slil.ru/27816072
Пока можем выставлять пермишны на нужную папку, грузить файлы реестра (требуется указать на папку snapshot), отображать Services, проверять по каталогу безопасных (если стоит галка и удалось найти файл), менять значение параметра Start (кликом по циферке в правой колонке), выгружать кусты, запускать восстановление. Во избежание ошибок я перед запуском программы влючаю и сразу отключаю "восстановление", чтобы осталась одна актуальная точка.
В ближайших планах: сравнение данных, читаемых из текущего реестра и из снимка, а также -отбражение DLL, загружаемых через svchost, и прочая.
Замечания по делу приветствуются
-
-
Если заниматься этим серьезно, то надо переносить тему в "Бета-тестирование".
А если так, чтобы помучать Винду, то можно и здесь оставить.
Павел
AVZ HijackThis помощь с 10-00 до 18-00МСК
Windows7, SEP(work)
WindowsXP KIS(home)
На up не реагирую
-
-

Сообщение от
PavelA
Если заниматься этим серьезно, то надо переносить тему в "Бета-тестирование".
А если так, чтобы помучать Винду, то можно и здесь оставить.
Против переноса не возражаю. В бета-тестирование - много чести 
В "Для профессионалов" - можно. Как это делается?
PS: Скачал книгу по ссылке. Чать "кода" неправильно отображается (по отзывам - не уменя одного). Есть еще серьезные вопросы по изложенным "идеям", но ( на всякий случай) ,спишем это на мою недостаточную квалификацю.
Если есть возможность потестить выложенную прогу в боевых условиях, буду благодарен. В связи с кризисом (и с тем, что у всех клиентов стоит лицензионный KIS... я сам себе враг
), работы мало. Ни одного руткита на горизонте.
-
-
Почему бы и не в бета-тестирование...
Название темы предложите получше - а то предложенные не очень отражают суть
-
-
Просьба потестировать была обусловлена желанием понять, нужно ли это кому-то кроме меня. Если выяснится, что да, то можно попросить включить подобный функционал в AVZ.
Основная же идея - обнаружение и вынос зверушек простыми способами. Думаю, у каждого любителя погонять зверей есть в активе "секретная комба". Например, почему бы при убийстве нехорошего процесса не вешать на него отладчик? Типа "ntsd -d". Чтобы не смог запуститься. "Им" можно, а нам нельзя?
. Эта фича также не была бы лишней в AVZ. Преимущество в том, что работает и после перезагрузки.
Вот и вопрос. Можно ли блокировать таким способом запуск DLL? У меня не вышло, хотя видел, как какой-то редиска зачем-то установил аналогичную бяку на DLL антивирусного сканера. Частный случай: RUNDLL32 можно так на время обездвижить. Это креативнее, чем переименовывать. Да и шансов забыть о сделанном меньше
Так что решайте, куда эту тему девать и как называть.
-
-

Сообщение от
antanta
Просьба потестировать была обусловлена желанием понять, нужно ли это кому-то кроме меня. Если выяснится, что да, то можно попросить включить подобный функционал в AVZ.
Основная же идея - обнаружение и вынос зверушек простыми способами. Думаю, у каждого любителя погонять зверей есть в активе "секретная комба". Например, почему бы при убийстве нехорошего процесса не вешать на него отладчик? Типа "ntsd -d". Чтобы не смог запуститься. "Им" можно, а нам нельзя?

. Эта фича также не была бы лишней в AVZ. Преимущество в том, что работает и после перезагрузки.
Вот и вопрос. Можно ли блокировать таким способом запуск DLL? У меня не вышло, хотя видел, как какой-то редиска зачем-то установил аналогичную бяку на DLL антивирусного сканера. Частный случай: RUNDLL32 можно так на время обездвижить. Это креативнее, чем переименовывать. Да и шансов забыть о сделанном меньше

Так что решайте, куда эту тему девать и как называть.
Все на самом деле очень просто - обычный процесс прибить не составляет проблемы, равно как не составляет проблемы карантинить и прибить DLL. Что и делается из AVZ (и AVZGuard + BootCleaner помогают в этом), причем безотказно. Проблемы возникают с "продвинутыми" руткитами, но там примитивные фокусы типа создания отладчиков и т.п. пропросту не сработают. Последствие - зачем выдумывать экзотическое решение несуществующей проблемы ?
-
-

Сообщение от
Зайцев Олег
Все на самом деле очень просто - обычный процесс прибить не составляет проблемы, равно как не составляет проблемы карантинить и прибить DLL. Что и делается из AVZ (и AVZGuard + BootCleaner помогают в этом), причем безотказно. Проблемы возникают с "продвинутыми" руткитами, но там примитивные фокусы типа создания отладчиков и т.п. пропросту не сработают. Последствие - зачем выдумывать экзотическое решение несуществующей проблемы ?
Про отладчики - просто пример. Интересно было услышать о других экзотических приемах. Кстати, выручал, когда не было (у меня) "полиморфного AVZ".
Закарантинить можно. Только вот если хоть одного пропустить, после перезагрузки (иногда) снова готов полный комплект. Лишний инструмент карман не тянет, он же софтовый.
И реализуется элементарно.
-
-

Сообщение от
antanta
Закарантинить можно. Только вот если хоть одного пропустить, после перезагрузки (иногда) снова готов полный комплект. Лишний инструмент карман не тянет, он же софтовый.

И реализуется элементарно.
А в чем разница то ? Если пропустить что-то при удалении а-ля AVZ (обычное удаление, отложенное удаление, BootCleaner - удаление из ядра на ранней стадии загрузки), то зверь может опять расплодиться. Аналогично с "отладчиками" и т.п. - я или уничтожаю (ну или блокирую) все, или не все и зверь выживает. Нет разницы, как уничтожать и блокировать - если известно, что точно следует убить - то проблем нет. При этом во всех "экзотических методах" есть ряд моментов (именно поэтому я всем начинающим антивирусописателям советую взять IDA и детально изучить 3-5 тысячи современных зверей):
1. Современный руткит работает из KernelMode. Поэтому ему все UserMode ухищрения типа отладчиков и т.п. совершенно безразличны, сколь бы экзотическими они не были. С ним возникает первая проблема (и самая актуальная) - найти компоненты руткита в системе, чтобы хоть знать, что убивать и карантинить
2. Многие звери используют методики защиты, в частности - постоянное переименование. Как следствие, имя исполняемого файла или DLL постоянно меняется, и все ограничения (отладчики, политики ограниченного запуска и т.п.) совершенно неэффективны
3. многие звери подменяют системные компоненты или патчат их. и если вместо системного userinit.exe у меня имеется зверь, и я блокирую его запуск скажем отладчиком, то я убъю систему наповал. Следовательно, разные экзотические блокираторы несут потенциальную угрозу ввиду того, что блокировка запуска чего-то важно и системного приведет к краху системы, неустранимому после убиения зловреда и восстановления системного файла
-
-
Не хватало мне еще препираться с уважаемым человеком... Хотя, где наша не пропадала.
Если Зайцев Олег согласен, что любое решение (решеньице, решеньино), имеет свои границы применения, то имеет смысл дальнейшее обсуждение (Хотя, тема начиналась не с этого. На мой вопрос никто не обязан был отвечать, и этим правом не отвечать воспользовались сполна. А может быть, просто никто не знает ответа).
Итак, "В чем разница?". В том, что иногда достаточно не дать запуститься одному файлу. Например этот файл case of:
1: Мешает выйти в инет
2: Устанавливает неправильный параметр запуска pif-файла
3: да мало ли...
На кернел мод "у самих револьверы найдутся". Гораздо противнее файловые вирусы из пункта 3. Правда, мне бы и голову не пришло прибивать winlogon.
Основываясь на собственном опыте (а иначе те, кто меня зовут и сами бы разобрались, благо ITшники), AVZ и KIS не могут запуститься/установиться довольно часто. Вот и Вам границы применимости. Чтобы не быть голословным, я в первой декаде января закидал кучу очень злопакостных файлов руткита на z-oleg.com. Не знал я, что "это уже не работает". К марту месяцу KIS постепенно снес этот зоопарк, хранимый в отдельной (по традиции) папке. Последнего из могикан (долгожителя) я уже сам отправил в ЛК, чтобы не мучался
Так вот, ни от AVZ, ни от KIS (который благополучно установился) окончательного толку не было. Я не отрицаю, что "Перехватчик не определен" - это уже толк.
"Кто первый встал, того и тапки". Ох уж эти границы применимости...
Фраза "начинающий антивирусописатель" звучит намного оскорбительнее, чем "достаточно-продвинутый - вирусодолбитель -любыми-средствами-в-том числе-собственного быдлокодного-написания". Без меня хватает писателей, и сделают они это лучше меня. Если я возьмусь за аверь под XP, то поспею к переходу MS на *nix, или к захвату гуглем последней рабочей станции.
Зайцев Олег! Ну почему Вы реагируете на третьестепенные вопросы/высказывания, оставляя без внимания (просто мистика) многочисленные просьбы привинтить AVZ к тому же PE? И вообще, к любым намекам на возможнось работать с реестром "offline"? Удивительная избирательность.
С уважением (без капли иронии), Антанта
(Ник сменить, что-ли... враждебный он какой-то
)
-
-

Сообщение от
antanta
Зайцев Олег! Ну почему Вы реагируете на третьестепенные вопросы/высказывания, оставляя без внимания (просто мистика) многочисленные просьбы привинтить AVZ к тому же PE? И вообще, к любым намекам на возможнось работать с реестром "offline"? Удивительная избирательность.
С уважением (без капли иронии), Антанта
(Ник сменить, что-ли... враждебный он какой-то

)
Работа с реестром "offline" во многих случаях отправит систему в offline, причем с гарантией. Начать с того, что MS не документировала формат реестра (есть знание о том, как он устроен - но это все недокументорованное знание), под незагруженной системой мы не знаем, под каким юзером реально идет работаи были проблемы, а какие юзеры "для мебели", у пользователя может быть понаставлено 5 операционок и он сам в них запутается, добавим к этому зловредов, убиение которых без глубинной чистки реестра прибъет систему и т.п., учтем, что реестр может быть поврежден в ходе неуспешных перезагрузок или действий зверя, добавим системные криптованные диски и экзотику типа всевозмодныж RAID (недоступную с BartPE, а RAID систем все больше и больше)... И что получим в сумме? А получим толпу юзеров, которые будут применять AVZ с BartPE и аналогов, рушить себе системы прямой правкой реестра и потом писать тысячи жалоб. Я такие рассуждение стал исповедовать, когда количество юзеров AVZ перевалило за миллион ... так как каждое потенциально опасное или недокументированное действие выходит боком. И это не приувеличения - несмотря на то, что в логе AVZ кругом написано "не нужно ничего удалять", ежедневно приходят гневные письма - "я вот просканировал, потом все руками удалил - а теперь компьютер не грузится". На эту же тему есть яркий контрпример AVPTool - там внутри есть ядро AVZ, но достучаться туда можно только скриптом, никакого GUI. Спрашивается, почему ? А потому, чтобы излише прыткие пользователи не рушили себе ПК, нажимая все подряд. А если говорить про админа, то загрузившись с Live CD он просканирует диск CureIT и AVPTool (у которых сигнатурные сканеры мощнее), применит поиск файлов на диске из AVZ с фильтром по базе чистых и это поможет в 99% случаев.
-
-
Долго боялся заходить, опасаясь справедливого гнева...

Сообщение от
Зайцев Олег
Работа с реестром "offline" во многих случаях отправит систему в offline, причем с гарантией. Начать с того, что MS не документировала формат реестра (есть знание о том, как он устроен - но это все недокументорованное знание),
"Я вам не скажу за миллион пользователей" ...Подразумеваемый в цитате способ работы с реестром на самом деле является "череповатым последствиями", хотя на моей практике не приводил ни разу к сбоям. Пользовался линуксовой тулзой chntpw.
Мои попытки написать к упомянутой тулзе ГУИ (слегка ее переделав для упрощения парсинга вывода) на PHP и GTK мягко говоря затянулись. Более того, я столкунулся с некорректной работой линукс с записью на ntfs (правда, с тех пор многое изменилось). Была еще более авнтюрная задумка - KolibriOS. Грузится шустро, но ... NTFS только на чтение. Разработчики расказали, как можно перекомпилить ядро с поддержкой записи. Только вот никто ничего не гарантирует
Но, речь не об этой экзотике.
Тот же PE позволяет подгрузить кусты штатными средствами Windows. Только анализировать приходится вручную. Когда крах системы УЖЕ наступил - это , зачастую, единственный способ. При наличии определенной автоматизации, был бы еще наиболее быстрым.

Сообщение от
Зайцев Олег
под незагруженной системой мы не знаем, под каким юзером реально идет работаи были проблемы, а какие юзеры "для мебели", у пользователя может быть понаставлено 5 операционок и он сам в них запутается
Легко определяется список, а потом лечим всех скопом. Что, кстати, будет еще одним плюсом этого подхода.

Сообщение от
Зайцев Олег
добавим к этому зловредов, убиение которых без глубинной чистки реестра прибъет систему
А вот с этого места... Лечение "извне" (а иногда и в режиме online) как раз и не позволяет чисить реестр. И, соответсвенно, приводит зачастую к тому самому краху. И это - один из главных соображений, по которым я не пользуюсь лишний раз лечением c LCD.
Про раиды и криптование я слышал, но у SOHO и ниже ни разу не видел. А у серьезных корпоративных - всемогущий бэкап.
PS: слегка переделал утилитку, сравнивающую реестр из ресторов с текущим. Тупая эвристика помогает выкупать кидо. Вероятно, и других зверюшек, просто не попадались пока. Принцип все тот же - напрямую ключ не виден, а в ресторах виден. Аларма! Ну и возможность записи и перечисления подключей, разумеется. Тупо, но работает.
Последний раз редактировалось antanta; 14.07.2009 в 21:04.
-
-
Сегодня впевые залез в справку по скриптам AVZ. Представляю, сколько труда положено на интерпретатор... Респект... Совсем респект.
-
-

Сообщение от
antanta
Сегодня впевые залез в справку по скриптам AVZ.
Нет предела человеческому совершенству!!!!
Left home for a few days and look what happens...

-
-

Сообщение от
ALEX(XX)
Нет предела человеческому совершенству!!!!

Хорош издеваться-то... Не все в мире сводится к изучению чужих творений. Круг нашего познания, как показывает опыт, вовсе и не круг, и даже не элипс... Скорее он напоминает диаграмму направленности антенны типа "Б" от радиорелейной станции 409...
Добавлено через 3 минуты
Если такой всезнайка, могу озадачить парадоксом из области комплексных чисел. Математики при виде выкладок бурчат что-то невнятное и со священным трепетом произносят имя Эйлера. В ответ на просьбу опровергнуть обзывают и обрывают разговор. Надо?
Последний раз редактировалось antanta; 15.07.2009 в 23:46.
Причина: Добавлено
-