Открытие файла C:\Windows\System32\drivers\etc\hosts и обнаружение в нём десятков незнакомых строк с адресами антивирусов, перенаправленных на 127.0.0.1 или чужие IP, — типичный признак того, что вредоносное ПО уже редактировало системный файл. Именно так malware блокирует обновления антивирусов и перенаправляет пользователя на фишинговые копии сайтов.
Обратная сторона медали: тот же механизм можно использовать во благо. Если прописать в hosts известные вредоносные домены с адресом 0.0.0.0, система перестанет к ним подключаться на уровне разрешения имён — до браузера, до сетевой карты. В этой статье разберём оба сценария: как проверить hosts на следы заражения и как использовать его как инструмент блокировки вредоносных URL.
Как файл hosts связан с блокировкой вредоносных адресов
Файл hosts — это локальная таблица соответствия доменных имён и IP-адресов. Операционная система проверяет его до обращения к DNS-серверу. Если домен найден в hosts, используется указанный там адрес, а внешний DNS игнорируется.
Отсюда два практических следствия. Запись вида 0.0.0.0 malicious-domain.example делает домен недоступным: система пытается подключиться к несуществующему локальному адресу и завершает соединение с ошибкой. А запись вида 185.10.20.30 bank.example перенаправляет легитимный домен на чужой сервер — именно этим пользуются трояны-перенаправители.
Важно понимать ограничение метода: hosts работает только с доменными именами. Если вредоносная программа обращается к серверу напрямую по IP-адресу, блокировка через hosts её не остановит. То же касается URL с полным путём — файл оперирует доменом целиком, а не отдельными страницами.
Признаки того, что hosts изменён вредоносным ПО
Заподозрить неладное стоит, если браузер не открывает сайты антивирусов, страницы обновлений Windows или вместо привычных ресурсов показывает подозрительные копии. Это классическое поведение семейств троянов, которые правят hosts, чтобы жертва не смогла скачать лечащую утилиту.
Другой симптом — интернет-банк или почта внезапно «переехали» на странный адрес, а антивирус молчит. Проверить файл можно за минуту: откройте C:\Windows\System32\drivers\etc\hosts в Блокноте, запущенном от имени администратора.
- 🔍 Строки без символа
#в начале, содержащие домены антивирусов, Microsoft или банков — почти наверняка вредоносные. - 🚩 Подозрительные IP-адреса, отличные от
127.0.0.1и0.0.0.0, рядом с известными доменами — признак перенаправления. - 📄 Файл необычно большого размера или содержит сотни строк, которых вы не добавляли.
- 🔒 У файла выставлен атрибут «только чтение» или скрытый, хотя вы этого не делали — так malware защищает свои изменения.
⚠️ Внимание: чистый файл hosts в Windows обычно содержит только закомментированные строки (начинающиеся с #). Любая активная запись, которую не добавляли вы или ваш администратор, требует проверки.
Проверка и очистка hosts после заражения
Порядок действий важен: сначала нейтрализуется вредоносный процесс, потом восстанавливается файл. Если сделать наоборот, работающий троян перезапишет hosts снова через несколько минут.
Начните с полного сканирования системы установленным антивирусом и, при необходимости, одноразовым сканером от другого производителя. Только после удаления угроз переходите к файлу.
☑️ Восстановление файла hosts
После правки очистите DNS-кэш, чтобы система забыла старые соответствия:
ipconfig /flushdns
Если файл не удаётся сохранить, проверьте его свойства: снимите атрибуты «только чтение» и «скрытый». Отказ в доступе даже под администратором может означать, что вредоносный процесс ещё активен — вернитесь к шагу сканирования.
Использование hosts для блокировки malware-доменов
Теперь о защитном применении. Существуют общедоступные проекты, которые ведут списки вредоносных, рекламных и трекинговых доменов в формате hosts. Их содержимое можно добавить в свой файл, получив системный фильтр, работающий для всех программ, а не только для браузера.
Формат записи прост: адрес-заглушка, пробел, домен. Обычно используют 0.0.0.0 — это быстрее, чем 127.0.0.1, потому что система сразу отбрасывает соединение, не дожидаясь ответа локальной петли.
0.0.0.0 example-malware-domain.com
0.0.0.0 tracker.example.net
Подход хорош как дополнительный слой защиты, но не как единственный. Списки доменов устаревают, злоумышленники быстро меняют адреса, а сам файл не проверяет содержимое трафика.
| Метод блокировки | Уровень работы | Охват | Ограничения |
|---|---|---|---|
| Файл hosts | Разрешение имён ОС | Все программы | Только домены, не IP и не URL-пути |
| Антивирус с веб-защитой | Трафик и контент | Браузеры и приложения | Требует актуальных баз и ресурсов |
| Фильтрующий DNS | DNS-запросы | Вся сеть или устройство | Зависит от провайдера услуги |
| Расширение браузера | HTTP/HTTPS-запросы | Только один браузер | Не защищает остальные программы |
Типичные ошибки при редактировании hosts
Самая частая проблема — файл сохраняется с расширением .txt, и система его просто не видит. Блокнот по умолчанию подставляет расширение, поэтому при сохранении выбирайте тип «Все файлы» и имя строго hosts без расширения.
Вторая ошибка — синтаксис. Каждая запись должна быть на отдельной строке, IP и домен разделяются пробелом или табуляцией. Комментарий начинается с #, всё после него игнорируется. Опечатка в одной строке обычно не ломает весь файл, но конкретная запись перестаёт работать.
- ⚙️ Слишком большой файл (десятки тысяч строк) может замедлять обработку DNS-клиентом — разумнее использовать умеренные списки.
- 🧩 Блокировка домена целиком ломает легитимные сервисы, если они делят домен с нежелательным контентом.
- 🔄 После правки не выполнен
ipconfig /flushdns, и старые записи продолжают действовать из кэша.
Почему 0.0.0.0 лучше, чем 127.0.0.1
При записи 127.0.0.1 система пытается подключиться к локальному серверу и ждёт ответа или таймаута, что может вызывать задержки и ошибки в логах локальных служб. Адрес 0.0.0.0 считается недостижимым маршрутом, соединение отбрасывается мгновенно. Исключение — если на машине запущен локальный веб-сервер: тогда 127.0.0.1 может отдавать его страницы вместо заблокированных сайтов, что тоже нежелательно.
Когда hosts не поможет: ограничения метода
Есть ситуации, в которых правка hosts бесполезна. Вредоносное ПО, обращающееся к командным серверам по «зашитым» IP-адресам, обходит hosts полностью — ему не нужно разрешение имён.
Также современные браузеры могут использовать собственные механизмы DNS (например, DNS-over-HTTPS), и в зависимости от настроек часть запросов идёт мимо системного резолвера. Это не делает hosts бесполезным для системных программ, но снижает эффективность в конкретном браузере.
Поэтому hosts стоит рассматривать как дополнительный барьер: он дёшев в настройке, не требует сторонних программ и работает без интернета, но не заменяет антивирус, обновления системы и внимательность при переходах по ссылкам.
Часто задаваемые вопросы
Может ли вирус изменить hosts без прав администратора?
Для записи в файл требуются повышенные права. Если вредонос получил их — например, через уязвимость или потому что пользователь сам подтвердил запрос UAC, — он сможет изменить hosts. Работа под обычной, не административной учётной записью заметно снижает риск.
Как вернуть hosts к состоянию по умолчанию?
Достаточно удалить все активные строки, оставив только закомментированные (начинающиеся с #), либо создать пустой файл с именем hosts. Windows корректно работает и с пустым файлом, и с файлом, содержащим только комментарии.
Почему после правки hosts сайт всё равно открывается?
Возможные причины: не очищен DNS-кэш (выполните ipconfig /flushdns), браузер использует собственный DNS поверх HTTPS, файл сохранён с расширением .txt, либо сайт открывается по другому домену или напрямую по IP.
Опасно ли скачивать готовые списки доменов для hosts?
Сам список — обычный текст, но доверять стоит только известным проектам с открытой историей изменений. Перед применением просмотрите файл: в нём не должно быть перенаправлений легитимных доменов на чужие IP, только заглушки вида 0.0.0.0.
Работает ли блокировка через hosts на Android и Linux?
На Linux файл /etc/hosts работает аналогично. На Android файл тоже существует, но его правка обычно требует root-доступа; без него проще использовать фильтрующий DNS или приложения с локальным VPN-интерфейсом.