Как реанимировать халявные зеркала!! Насчет зеркал, находящихся в блэклисте. Их создатели, не спешите забрасывать свои творения! Если зеркало попало в блэклист, оно еще не потеряно. Все изложенное ниже справедливо не для тех зеркал, которые NODView показывает, как хорошие и валидные, а только для тех, которые принимает сам NOD32, на которых находятся последние валидные базы, которые не заброшены, но сами адреса их находятся в блэклисте. Дело в том, что блэклист NODа представляет собой зашифрованную последовательность адресов, а его фильтр простой контекстный поиск. Если изменить адрес зеркала так, чтобы оно было обозначено по-другому, но тем не менее адрес распознавался NICом, NOD его пропустит. Существуют некоторым образом классические приемы маскирования Интернет-адресов. Остается перебрать их и выяснить, какие поддерживает NOD. Я протестировал те приемы, что работали в старых браузерах. Сразу хочу огорчить: записи адреса хексами (типа %6B%61%64%72%2E%6B%75%72%61%67%69%6E%6F%2E%72%75%2F%62%6C%69%6B) NOD не понимает, служебные символы Си, вроде \n\t\x08 фильтруются. Кстати, для списка серверов обновлений NOD применяет определенные правила. Так, он идентифицирует адрес по начальным символам http://. Если их нет, он не считает строку адресом и вставить ее в список обновления не даст. Также он проверяет, есть ли в конце символ /, а если нет, подставляет его. Это мелочи, но возможно, они кого-то на что-нибудь натолкнут. Теперь перейдем к результатам исследования. Извращаться будем над зеркалом http://nyagan.ru/~gir/mirror/ (оно находится в блэклисте, желающие могут проверить). Это единственное зеркало, что я нашел, которое, несмотря на принадлежность к черному списку, продолжает исправно обновляться. Из тех способов, что были испробованы, NOD понимает, корректно интерпретирует и пропускает следующие: 1. Собачка Этот способ основан на добавлении в URL символа @. В протоколе HTTP он используется для передачи на сервер логина и пароля для доступа к запароленным местам сайта. Запрос формируется так: http://login:password@URL. Добавление же @ к обычному адресу заставляет просто игнорировать все, предшествующее ей. То есть запрос будет выглядеть следующим образом: http://[email protected]/~gir/mirror/ До собачки можно писать все, что вздумается (не забывая про начало адреса http://). У многих (практически у всех) зеркал забанены не только имена, но и айпи-адреса. Ничего, собственно, не мешает применить собачку к ип (предварительно определив его, например, банальным ping узел): http://[email protected]/~gir/mirror/ Все это уже спокойно проходит проверку. 2. Скрытие IP-адреса. 2.1. Перевод систем счисления По большому счету айпи – простая совокупность чисел. Так как для компьютера существует несколько систем счисления, неважно, в какой будет записан ип. Переведем группы ип в шестнадцатеричную и восьмеричную системы (первой в адресе предшествует 0х, второй - 0): http://0xD4.0x4C.0xB4.0x0A/~gir/mirror/ http://0324.0114.0264.012/~gir/mirror/ 2.2. Деструктурирование Теперь усвойте тот факт, что переведенный ип может быть записан и без группировки с одинаковой эффективностью: http://0xD44CB40A/~gir/mirror/ http://032423132012/~gir/mirror/ Ошибки также не произойдет, если перевести эти числа в десятичную систему счисления: http://3561796618/~gir/mirror/ И напоследок самое интересное. К шестнадцатеричному варианту в начале можно добавить произвольное количество произвольных цифр, например http://0x0123456789D44CB40A/~gir/mirror/ Первые 0123456789 добавлены от балды, максимально проверенная последовательность – 10 символов, а возможно, и больше. Приведенные выше варианты можно (а иногда и нужно) смешивать между собой. Например, ссылку http://www.microsoft.com@0x44738492734D44CB40A/~gir/mirror/ с первого раза не поймает не только NOD, но даже и не слишком опытный шифровальщик. Если какой-то вариант вдруг не сработает, нужно пробовать другой, третий, так, с некоторыми зеркалами (вроде kadr.kuragino.ru/blik/) способ 1.1 по непонятной причине не обходит блэклист. Простой калькулятор ип-адресов (17 кб взлетным весом), чтобы не считать все вручную, можно взять здесь: http://windlord.atspace.com/ipconv.rar. (см. приложенный файл) Удачных экспериментов! P.S. Несмотря на все рекомендации по скрытию урлов современные браузеры не открывают почти ничего из них, только комбинации «собачка-ип» или «собачка-8ип». Сделано это во избежание эксплоитов. Таким образом, ESET просто надо повторить код браузеров, чтобы отлавливать такие ип, а это недолго. Скорее всего, первые такие ип просто попадут в блэклист, и пройдет некоторое время, прежде чем в есет просекут ситуацию и напишут фильтр. На очереди исследование двух однозначных способов обновления с любых зеркал: правка файла \WINDOWS\system32\drivers\etc\hosts и использование тандема "Планировщик NOD+NODView". !!Антивирус Nod 32: Автоматизированные постоянные обновления с зеркал!! Ранее были описаны несколько возможностей по изменению адреса зеркала, находящегося в черном списке. Однако они могут быть достаточно легко закрыты самой компанией ESET, которая потратит на это едва ли больше суток. В этой статье будут рассмотрены два способа обновления с любых зеркал, которые ESET закрыть не сможет, по крайней мере, до тех пор, пока в Интернете есть рабочие зеркала, пусть даже и из блэклиста. Они подходят для тех, кто постоянно обновляется с зеркал. Способы достаточно широко известные, но я решил описать их еще раз чуть более развернуто. В качестве подопытного берем зеркало http://www.nod32.vareza.net. Итак: 1. Добавление правила DNS Этот способ работает в том случае, если целевое зеркало доступно по ип-адресу (хотя я с трудом могу представить сайт, который не был бы доступен по айпи:). Основан он на том, что в винде есть файл правил, производящий принудительное сопоставление указанных в нем урлов их IP-адресам. Называется он hosts, и находится в папке \WINDOWS\system32\drivers\etc\. Идея состоит в сопоставлении урла официального сайта обновления ип-адресу зеркала. От теории к практике: 1) узнаем ип-адрес зеркала с помощью того же ping узел (например, 81.177.17.70 для http://www.nod32.vareza.net); 2) Открываем файл \WINDOWS\system32\drivers\etc\hosts любым блокнотом; 3) Пишем в него строку 81.177.17.70 u1.eset.com (пробелы нужны для выравнивания строки по столбцам; вместо u1.eset.com может быть адрес любого официального сайта обновления, но после таких манипуляций вы сможете зайти на этот офсайт только по его IP, так как все обращения к нему по имени будут перенаправляться на 81.177.17.70); 4) Создаем в ноде сервер обновления http://u1.eset.com/nod32/. Здесь нужно сделать важное примечание. Путь сервера обновления должен вести непосредственно к папке с файлами обновления, иначе нод не найдет их. Звучит странновато, но вот с разбираемым зеркалом возникла интересная ситуация, когда с сервера с именем http://www.nod32.vareza.net нод обновлялся, а с его же IP-адреса 81.177.17.70 – не находил файл. Происходит это потому что это IP сайта http://vareza.net, а http://www.nod32.vareza.net – псевдоним папки http://vareza.net/nod32/. Мораль: осторожнее с IP-адресами доменов третьего уровня! 2. Обновление с помощью NOD32view NOD32view – это вообще очень полезная для пользователей нода программа. Она может проверять версии обновления на серверах и зеркалах, проверять ключи на валидность, добавлять и удалять зеркала. Также она умеет скачивать обновления нода самостоятельно, а нод может обновляться из локальной папки. Этим мы и воспользуемся. 1) Берем программу с http://nodview.narod.ru/, кто еще не взял; 2) В админовской версии отключаем зеркало или в файле NOD32view.ini меняем самый первый параметр Mirror (на что менять, будет сказано ниже, дело в том, что нодвиев сам определяет папку, которую нод использует в качестве зеркала, и по умолчанию сбрасывает обновления в эту папку, а поскольку нод обновляет свое зеркало из своих же баз, то получится, что он будет брать базы из папки собственного зеркала, и снова писать их туда еще раз, а параметр Mirror в NOD32view.ini как раз и отвечает за папку, которую нодвиев считает зеркалом нода); 3) В ноде идем в «Служебные программы NOD32 (NOD32 System Tools)» «Расписание/Планировщик (Scheduler/Planner)» «Добавить (Add)» Выберите задачу (Select a task)... «Ядро NOD32 - Выполнение внешнего приложения (NOD32 Kernel - Execution of an external application)» «Далее (Next)» Имя задачи (Enter task name) «Обновление NOD32view» Выполнить задачу «Многократно (Repeatedly)» «Далее (Next)» Выполнять задачу каждые «1» час(а,ов) (Run the task every «1» hours) «Далее (Next)» «Выполнить задачу как можно скорее (Run the task as soon as possible)» «Далее (Next)» «Finish» «Определите приложение для запуска (Specify the application to run)» Файл (File): (выбрать файл NOD32view.exe) Рабочая папка (Work directоry): (папка, где находится файл NOD32view.exe) Командная строка (Command line): http://зеркало/ «OK» 4) Настраиваем нод на обновление из локальной папки, в которую сбрасывает базы нодвиев. Теперь предметно. Например, нодвиев находится в папке D:\NOD32View. В NOD32view.ini второй строкой пишем Mirror=.\mirror\, затем настраиваем планировщик нода, как указано в п.3. На последнем этапе указываем: файл D:\NOD32View\NOD32view.exe, рабочая папка D:\NOD32View\, командная строка http://www.nod32.vareza.net, затем в качестве сервера обновления нода ставим папку D:\NOD32View\mirror\. Теперь нод будет каждый час запускать нодвиева, который будет сбрасывать базы в подпапку mirror, откуда их потом будет брать нод. Для обоих описанных способов требуется рабочее зеркало, куда регулярно выкладываются обновления. Приведенное в качестве примера зеркало на момент тестирования НЕ находится в блэклисте. Удачного апдейта!