Жизнь без антивируса. Как побороть малварь голыми руками и обезопасить себя на будущее. Часть 2

Жизнь без антивируса. Как побороть малварь голыми руками и обезопасить себя на будущее. Часть 2

NoNaMe Club

Накатим драйверы по-быстрому

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

  • SlimDrivers — это одна из лучших программ для работы с драйверами. Софтинка позволяет искать и обновлять любые драйверы, восстанавливать их из резервных копий.
Окно утилиты SlimDrivers
  • Double Driver — довольно маленькая бесплатная утилита для создания резервных копий драйверов. Все, что нам нужно сделать, — это архив с драйверами с оригинальной системы, сохранить архив в надежном месте и, открыв в той же программе, восстановить их обратно в систему. Все!
Окно утилиты Double Driver

Фиксим проводник и другие ошибки системы

Даже после восстановления работоспособности системы и удаления малвари из ОС могут остаться неприятные следы — последствия инфицирования. К примеру, может пропасть ассоциация файлов с нужной программой, будет заблокирован штатный диспетчер задач Windows, недоступен редактор реестра (regedit), невозможно будет открыть панель управления. Что же с этим делать? Практически все изменения обратимы. Конечно, можно самостоятельно вручную копаться в реестре, искать нужные ключи конфигурирования и восстанавливать их, прописывая значения по умолчанию, но мы обратимся за помощью к специальным тулзам, заточенным под это дело. Итак, встречай!

  • Fix for Windows — сборник универсальных фиксов и патчей для операционных систем Microsoft Windows. Утилита под одним капотом объединяет несколько блоков проблем, которые могут возникнуть, например фиксы разложены по категориям Boot, Speed, Desktop, LAN, Other и так далее. Переходя от одной категории к другой, можно ставить чеки напротив тех параметров, которые ты хочешь привести в порядок, например исправление проблемы с кодировкой и шрифтами, восстановление языковой панели, включение/отключение UAC, включение отображения скрытых файлов.
  • Microsoft Easy Fix — бесплатная нативная утилита для устранения неполадок Windows, препятствующих нормальной работе операционной системы. Данный инструмент поможет выявить и решить самые распространенные проблемы с программным обеспечением Microsoft и сторонних разработчиков, влияющие на штатную работу системы.
Окно утилиты Microsoft Easy Fix
  • FixWin 10 — бесплатная программа, которая позволяет автоматически исправить многие надоедливые ошибки, а также решить другие проблемы с Windows, типичные не только для «десятки». Тулза позволяет решать следующие проблемы с помощью подпрограмм с говорящими названиями:
  • File Explorer — борется с ошибками проводника (не запускается рабочий стол при входе в Windows, ошибки WerMgr и WerFault, не работает CD- и DVD-привод и другие);
  • Internet and Connectivity — сетевые проблемы (сброс DNS и протокола TCP/IP, сброс файрвола, сброс Winsock и подобное);
  • System Tools — ошибки при запуске системных инструментов Windows, например диспетчер задач, командная строка или редактор реестра были отключены администратором системы, отключены точки восстановления, настройки безопасности сброшены на настройки по умолчанию.
Окно утилиты FixWin 10
  • Windows Repair Portable Free — бесплатный и легко переносимый инструмент для устранения различных неисправностей системы. Тулза позволяет восстанавливать параметры Windows к их значениям по умолчанию, что во многих случаях помогает исправить большинство неполадок, к примеру такие ошибки, как неверные права доступа к файлам, проблемы с Windows Update, штатным файрволом, и многое другое.

Запускаем сеть по-новому

Исходя из заложенных в нее алгоритмов, малварь может манипулировать сетевыми настройками системы, изменяя маршрутизацию трафика, подделывать разрешение DNS-имен и тому подобное. Соответственно, в этих условиях нескорые хосты, веб-сайты и облачные сервисы могут стать недоступны или работать некорректно. Также код малвари может содержать ошибки, некорректно отрабатывать, что в конечном счете способно полностью положить нашу сеть.

Восстанавливаем hosts

Больше всего на свете малварь любит манипулировать с файлом hosts, который находится в системной директории по пути %SystemRoot%\system32\drivers\etc\hosts. По сути, это обычный текстовый файл, содержащий локальную базу данных доменных имен и используемый при их трансляции в сетевые адреса. При разрешении имени удаленного хоста или веб-сайта запрос к этому файлу имеет приоритет перед обращением к DNS-серверам, прописанным в настройках сетевой карты. Малварь редактирует этот файл таким образом, чтобы все сайты разработчиков антивирусного ПО оказались недоступными вместе с репозиториями, содержащими обновленные антивирусные сигнатуры.

Другой кейс — это использование данного файла с целью фишинга, то есть перенаправления с IP-адресов легальных ресурсов, таких как социальные сети, онлайн-банк, на их поддельные аналоги. Но и решение данной проблемы тоже довольно простое. Достаточно будет заменить измененный hosts на оригинальный файл, к примеру взятый из резервной копии, или даже вовсе заменить его пустым файлом, не содержащим записей, но имеющим указанное имя и располагающимся по указанному пути. Кстати, нелишне было бы проверить, где hosts должен лежать в данном экземпляре системы, поскольку любое значение по умолчанию можно изменить. Точный путь расположения файла можно узнать в ключе реестра по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath.

Восстанавливаем работу сетевых служб

Второе, на что стоит обратить внимание при восстановлении работоспособности сети, — это состояние запущенных сетевых служб Windows. Есть случаи, когда зловред намеренно останавливает сетевую службу или ставит ее на паузу для собственных манипуляций, а после не успевает перезапустить или делает это с ошибкой. В результате у нас блокируется обмен сетевым трафиком. Вариантов тут несколько. Можно зайти через «Панель управления → Администрирование → Службы» или по-быстрому запустить ту же самую консоль через Win + R, написав services.msc. Мы видим список всех служб Windows, нас в данном случае интересуют только несколько сетевых:

  • DHCP-клиент;
  • DNS-клиент;
  • веб-клиент;
  • автонастройка WWAN;
  • агент политики IPsec (если у тебя прокинуты VPN-сессии);
  • брандмауэр Windows (если используется штатный файрвол);
  • локатор удаленного вызова процедур (RPC);
  • маршрутизация и удаленный доступ (ты знаешь об этом, если тебе это реально нужно).

Эти службы должны находиться в состоянии «Запущены/Работают». Если это не так, то можно щелкнуть по каждому указанному элементу, провалиться в отдельное окно, где, нажав на соответствующую кнопку, запустить или перезапустить сервис.

Ну и настоящий профессиональный вариант — это работа в консоли. Открываем CMD, пишем в нем net start или net start | more и видим, какие службы сейчас запущены.

Чтобы запустить службу, тут же из консоли достаточно набрать net start <имя службы>. Помнить названия всех служб необязательно, достаточно будет посмотреть подробное инфо с помощью команды sc query type= service state= all или глянуть готовый список тут.

Из консоли любую службу можно запустить по команде net start <имя службы>, например стартануть DNS можно так:

net start DNS

Итак, службы мы наладили, но сеть по-прежнему недоступна или работает с перебоями? Идем дальше!

Правим маршрутизацию и проверяем порты

Малварь может прописывать динамические маршруты в локальную таблицу маршрутизации Windows и менять таким образом обмен сетевым трафиком с другими хостами.

Например, если наша машина получает все сетевые настройки по DHCP-протоколу, в случае его некорректной работы мы останемся без интернета. Придется снова лезть в консоль!

Чтобы удалить новые маршруты и вернуть таблицу маршрутизации к исходному виду, набираем соответственно

route print
route delete *

Иногда этого может оказаться мало и приходится сбрасывать настройки к значениям по умолчанию. Вводим команды

netsh interface reset all
netsh winsock reset
netsh firewall reset
netsh winhttp reset proxy

Эти команды перезаписывают ключи в реестре на значения по умолчанию (как после переустановки винды):

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SYSTEM\CurrentControlSet\Services\DHCP\Parameters

В случае если сетевые настройки машина получает по DHCP, пригодятся следующие команды. Если, например, DNS-сервер не отвечает или не удается найти DNS-адрес сервера, то можно выполнить только сброс DNS такой командой:

ipconfig /flushdns

Если не помогает, можно пойти на более радикальные меры, выполнив

ipconfig /release
// подождать несколько секунд или минут
ipconfig /renew

Эти команды полностью обновят конфиг сети, выданный твоей машине локальным DHCP-сервером.

Теперь нужно сказать о портах, то есть тех интерфейсах, через которые, по сути, и идет обмен пакетами. Может статься, что малварь залочила какой-то важный системный порт или прослушивает один из свободных на предмет команд, приходящих из внешней сети. Список наиболее важных системных портов довольно короткий, его можно просто запомнить:

  • SSH 21;
  • DNS и DHCP 53,67, 68;
  • email 25;
  • web 80, 81;
  • RPC 135, 443, 445.

Полный же список сетевых портов можно глянуть в любом справочнике. В большинстве операционных систем состояние сетевых служб можно посмотреть при помощи команды

netstat -an

Ключи команды netstat:

  • -a — отображать все соединения и используемые порты;
  • -o — отображать числовой идентификатор процесса, отвечающего за конкретное соединение (Process ID, или попросту PID);
  • -n — указывает утилите netstat отображать реальные IP-адреса и цифровые значения портов вместо из DNS-имен.

В выводе можно увидеть состояние, в котором находится соединение:

  • Established — соединение установлено (то есть кто-то к тебе подключился или ты к кому-то подключился);
  • Listening — компьютер ожидает подключения по этому порту, то есть какая-то программа (процесс в памяти) слушает обращение на этот порт;
  • Time_wait — программа, которая прослушивает порт, ожидает прихода пакета, чтобы перевести порт в одно из состояний, либо на порт долго не было обращений и по тайм-ауту программа готовится его закрыть. 

В выводе мы видим большой листинг, содержащий IP-адреса и состояние порта. К сожалению, ассоциации с процессом в памяти здесь нет, поэтому приходится прояснять это вручную. Через знак : мы видим, какой процесс привязан к этому IP-адресу (то есть открыт порт, установлено соединение). Теперь нужно найти этот PID в листинге процессов командой tasklist | find "3104" и в выводе определить, какое приложение использует этот сетевой поток. Либо можно чуть упростить задачу — если тебе претит tasklist, можно воспользоваться системным диспетчером задач. Запусти его, нажав Ctrl + Shift + Esc, перейди на вкладку «Процессы». В меню «Вид» выбери пункт «Выбрать столбцы» и отметь столбец PID. Нужный процесс можно найти по значению этого столбца.

Если не хочешь работать в консоли, для графического вывода можно воспользоваться утилитами Process ExplorerTCPViewNirsoft CurrPorts.

Окно утилиты TCPView
Окно утилиты Nirsoft CurrPorts

Список сетевых служб и соотносящихся с ними резервированных портов для NT-шных систем можно посмотреть в файле %SystemRoot%\system32\drivers\etc\services — это тоже по сути текстовый файл без расширения, который доступен к просмотру любым блокнотом.

И напоследок для всего из описанного выше, что мы делали руками, можно использовать тулзы, к примеру WinSock XP Fix. Данная утилита восстанавливает ключи реестра сетевых настроек системы со значениями по умолчанию. Помимо этого, она также:

  • проверяет файл hosts на правильность указателя localhost (обязан ссылаться на адрес 127.0.0.1);
  • создает бэкап текущих системных установок (по желанию пользователя);
  • отключает все сетевые адаптеры и переустанавливает их параметры.
Окно утилиты WinSock XP Fix

Нативная тулза с графическим интерфейсом Microsoft Fix it, о которой мы говорили, выполняет то же самое, что и команды netsh int ip reset и netsh winsock reset. Аналогична ей тулза Reset-TCPIP, которая выполняет все описанные комбинации консольных команд под одним GUI.

Окно утилиты Reset-TCPIP

NetAdapter Repair — еще одна хорошая бесплатная тулза предназначена для исправления самых разных ошибок, связанных с работой сети и интернета в Windows. Краткий список ее возможностей:

  • очистить и исправить файл hosts;
  • включить Ethernet и беспроводные адаптеры сети;
  • сбросить Winsock и протокол TCP/IP;
  • очистить кеш DNS, таблицы маршрутизации, очистить статические IP подключений;
  • перезагрузить NetBIOS.
Окно утилиты NetAdapter Repair

Live CD как спасательный круг

И, продолжая нашу тему, мы просто не могли пройти мимо рассказа о Live CD сборках, предназначенных для восстановления системы. Изначально Livе CD позиционировался как инструмент для выполнения административных задач: подготовки жесткого диска, оперативного получения доступа к данным, хранящимся на дисках, и так далее. Сейчас же Live CD напоминают скорее универсальный спасательный круг для реанимации системы в случае различных падений, в том числе и после вирусной атаки. Главное их достоинство заключается в том, что все инструменты собраны под одним капотом и могут работать параллельно. Но есть и недостаток: чтобы загрузиться в Live CD режиме, нужно перезагружать машину, что в некоторых случаях для нас недопустимо.

Все известные антивирусные разработчики имеют бесплатные загрузочные диски для восстановления системы. Мы кратенько по ним пробежимся, но углубляться в детали не станем — мы же договорились в начале нашего материала, что будем использовать только те инструменты, которые не являются антивирусным ПО в чистом виде.

Live CD от вендоров антивирусного ПО

  • Kaspersky Rescue Disk — как ты уже понял, это аварийный Live Disk на базе Gentoo Linux от российского вендора «Лаборатория Касперского». Среда восстановления содержит браузер, файловый менеджер, редактор системного реестра Windows. Помимо этого, есть возможность обновления антивирусных баз антивируса Kaspersky.
Рабочий стол среды Kaspersky Rescue Disk
  • Dr.Web Live CD — Live CD от компании Dr.Web, построенный на базе Gentoo Linux. В числе инструментария Dr.Web Live CD — средство диагностики оперативной памяти, утилита для правки системного реестра, обновление антивирусных баз, доступ к интернету через браузер Mozilla Firefox, два файловых менеджера и антивирусное средство (утилита Dr.Web CureIt!).
Рабочий стол среды Dr.Web Live CD
  • Avira Antivir Rescue System —Live CD от немецкого производителя. Дас гут! Позволяет получить доступ к данным в файловом менеджере, содержит редактор реестра Avira Registry Editor, и пускает тебя в интернет через Mozilla Firefox. С помощью встроенной TeamViewer позволяет устанавливать удаленное подключение, а посредством GParted — перераспределять дисковое пространство.
Рабочий стол среды Avira Antivir Rescue System

Универсальные Live CD сборки

  • Hiren’s BootCD — это диск, в котором собрано множество различных программ, в том числе и работающих в режиме DOS. Комплект поставки Hiren’s BootCD предусматривает не только непосредственно ISO-образ загрузочного диска, но и утилиту для его записи на оптический диск, а также утилиту HBCDCustomizer для создания образов загрузочных дисков с пользовательским содержимым.
Меню Hiren’s BootCD после загрузки
  • SystemRescueCd — известная универсальная среда восстановления, созданная на базе дистрибутива Gentoo Linux. Содержит инструменты для работы с жестким диском — разбивки на разделы, диагностики, сохранения и восстановления разделов. Умеет монтировать разделы Windows NTFS для чтения и записи. Содержит также средства для настройки сети, сетевых сервисов, средства поиска руткитов и антивирус.
Меню загрузочного диска SystemRescueCd
  • Alkid Live CD and USB — навороченный и потому универсальный загрузочный диск для восстановления системы, построенный на базе Windows XP. Работает с любых носителей — CD, флешек, USB-HDD и других. Содержит набор свежих антивирусов, утилит для работы с дисками и образами, бэкапа и поднятия системы, восстановления потерянной информации и паролей, создания новых администраторских учетных записей, возврата на точки отката и многого другого.
Меню загрузочного диска Alkid Live CD and USB

Как не заразиться: главные советы

Не используй права локального администратора. Включи UAC

Это банально, но мы будем повторять эти простые истины до тех пор, пока хотя бы 15% пользователей не воспримут их как руководство к действию. 

Следи за обновлениями системы и своевременно накатывай security update

Вот они, наши старые и новые друзья: WannaCry, PetyaConficker и (новый) Bad Rabbit.

Все они активно используют уязвимости как системного ПО, так и прикладных программ. Обнови прикладное ПО. Особенно браузер. Помни, что малварь использует уязвимости не только системы, но и веб-движков или их компонентов.

Кстати, если ты считаешь этот совет глупым, вот тебе информация к размышлению: где-то поблизости существуют люди (десятки тысяч людей), у которых на компе гнездится софт с уязвимостями десятилетней (!) давности.

Как показывает неумолимая статистика, дыры в ПО, найденные еще много лет назад, могут быть до сих пор не исправлены, в Windows 10 можно эксплуатировать баг, обнаруженный аж в 1997 году. Не лучше дела обстоят и с браузерами и мобильными платформами.


◄ Часть 1 Часть 3 ►

Report Page