На Малварь Без Антивируса
Безопасность и анонимность
от
0 руб / 1шт
0
XMR
Что делать, если базы антивируса, еще не успели обновиться?
В общем случае тактика проведения боевой операции по освобождению компьютера от зловредов заключается в следующем порядке действий:
• Находим процесс, принадлежащий вредоносному коду, и останавливаем его;
• Находим место, где лежит вредоносный файл, и удаляем его;
• Ликвидируем последствия.
Основная проблема, как правило, состоит в преодолении первого этапа, ведь подавляющее большинство вредоносных программ тщательно маскируют свое присутствие в системе, да и вредоносный процесс остановить голыми руками получается далеко не всегда. Удалить файл тоже удается далеко не всегда — малварь крепко цепляется за жизнь и нередко достаточно глубоко вгрызается в жесткий диск.
Тем не менее приступим…
ДИСПЕТЧЕР ЗАДАЧ:
Первое место, куда стоит заглянуть в поисках следов вредоносов, — это диспетчер процессов. Само собой, способов скрыться от его взора у современной малвари достаточно много, но в жизни всякое бывает.
Итак, вариантов в этом случае у нас будет три:
• в диспетчере задач явно виден какой-то лишний процесс, с весьма подозрительным названием, и этот процесс запросто
можно завершить;
• также наблюдаем подозрительный процесс, но завершить его обычным способом не получается;
• диспетчер процессов кристально чист, и ничего подозрительного в нем не наблюдается.
В первом случае все просто. Завершаем процесс, ищем файл, смотрим автозагрузку, смотрим внутрь файла, заливаем файл на вирустотал, выносим вердикт и в конце концов смело его удаляем. Надеюсь, что «свои» процессы ты хотя бы частично узнаешь в лицо и трогать системные процессы типа lsas, services, system, winlogon, svchost, csrss в здравом уме не будешь. При этом следует помнить, что все системные процессы «живут» в папке %windir%\\system32\\ (исключение — explorer.exe, он, как правило, прописан просто в %windir%\\). Если путь к исполняемому файлу процесса ведет в другое место, особенно в какие-нибудь временные папки или на флешку, то это следует расценивать исключительно как вредоносное вмешательство. Также стоит обратить внимание на то, от чьего имени работает процесс. Если системный процесс работает от имени пользователя, то это повод насторожиться. Про то, что вредоносные процессы могут выдавать себя за системные, я думаю, ты знаешь, и процесс с именем вроде "svshost" без своего внимания не оставишь. Если мы имеем дело со вторым случаем, то это — серьезный повод задуматься. Обычно нормальные и законопослушные программы без проблем дают себя удалить из списка процессов. В такой ситуации можно попробовать воспользоваться каким-нибудь альтернативным менеджером процессов, например Process Explorer от SysInternals или ProcessHacker, или заюзать утилиту Kernel Detective — последним двум по силам даже справиться с процессами многих антивирусов. Также можно попытаться приаттачиться к этому процессу отладчиком, а потом завершить все это вместе с отладчиком (способ довольно действенный, особенно если использовать для этого WinDbg).
Если случай настолько тяжелый, что все перечисленное не помогает, то, скорее всего, дело не обошлось без перехвата функций в ядре, но об этом несколько позже.
Если в диспетчере задач мы ничего подозрительного не увидели, то либо все чисто (этот вариант мы, как истинные параноики компьютерной безопасности, отметаем), либо вредоносный процесс умело маскирует свое присутствие, либо малварь внедрила свой код в какой-то легальный процесс и под его прикрытием творит свои нехорошие дела.
Скрытые процессы также можно попытаться выявить каким-нибудь альтернативным диспетчером процессов или опять же попробовать использовать Kernel Detective, который умеет выявлять маскировку процесса, реализованную с помощью перехвата API-функции NtQuerySystemInformation.
Вообще бесследно скрыть процесс в системе практически невозможно, какие-нибудь следы присутствия все равно остаются, ведь каждый процесс имеет целую кучу косвенных признаков, по которым можно его обнаружить. Это созданные им хендлы, окна, некоторые другие системные объекты (например, многие трояны создают при заражении системы мьютекс, для того чтобы избежать повторного заражения). Все это можно попытаться просмотреть и проанализировать. К примеру, с помощью консольной утилиты Handle от Марка Руссиновича из небезызвестной SysInternals можно увидеть открытые хендлы для всех процессов, в том числе и для скрытых. Для исследования объектов, созданных в системе, пригодится тулза под названием WinObj из того же самого набора SysInternals Suit. С ее помощью можно посмотреть все созданные системные объекты и определить, каким процессом он создан. Если мы столкнулись с внедрением вредоносного кода в процесс, нужно учесть, что, как правило, это делается либо для беспрепятственного доступа в сеть из-под доверенного процесса (для этого неплохо подходят процессы svchost.exe или explorer.exe), либо для организации перехвата некоторых системных функций и внедрения этих перехватов во все запущенные и запускаемые процессы (излюбленным местом для внедрения в этом случае становится процесс explorer.exe, а иногда winlogon.exe). Обнаружить взаимодействие внедренного кода с сетью можно, используя какие-либо утилиты мониторинга сетевых соединений.
К примеру, в «полном собрании сочинений» от SysInternals для этого имеется тулза TcpView, которая производит мониторинг всех подключений и выводит список процессов, использующих TCP- и UDP-соединения. При этом отображаются основные параметры каждого соединения — имя процесса, протокол, идентификатор состояния подключения, локальный и удаленный адреса.
Если в списке, полученном с помощью этой утилиты, мы увидим, например, explorer.exe, ведущий активный обмен с непонятным адресом, то лучше либо закрыть это соединение, либо вовсе перезапустить процесс.
развернуть
свернуть
В общем случае тактика проведения боевой операции по освобождению компьютера от зловредов заключается в следующем порядке действий:
• Находим процесс, принадлежащий вредоносному коду, и останавливаем его;
• Находим место, где лежит вредоносный файл, и удаляем его;
• Ликвидируем последствия.
Основная проблема, как правило, состоит в преодолении первого этапа, ведь подавляющее большинство вредоносных программ тщательно маскируют свое присутствие в системе, да и вредоносный процесс остановить голыми руками получается далеко не всегда. Удалить файл тоже удается далеко не всегда — малварь крепко цепляется за жизнь и нередко достаточно глубоко вгрызается в жесткий диск.
Тем не менее приступим…
ДИСПЕТЧЕР ЗАДАЧ:
Первое место, куда стоит заглянуть в поисках следов вредоносов, — это диспетчер процессов. Само собой, способов скрыться от его взора у современной малвари достаточно много, но в жизни всякое бывает.
Итак, вариантов в этом случае у нас будет три:
• в диспетчере задач явно виден какой-то лишний процесс, с весьма подозрительным названием, и этот процесс запросто
можно завершить;
• также наблюдаем подозрительный процесс, но завершить его обычным способом не получается;
• диспетчер процессов кристально чист, и ничего подозрительного в нем не наблюдается.
В первом случае все просто. Завершаем процесс, ищем файл, смотрим автозагрузку, смотрим внутрь файла, заливаем файл на вирустотал, выносим вердикт и в конце концов смело его удаляем. Надеюсь, что «свои» процессы ты хотя бы частично узнаешь в лицо и трогать системные процессы типа lsas, services, system, winlogon, svchost, csrss в здравом уме не будешь. При этом следует помнить, что все системные процессы «живут» в папке %windir%\\system32\\ (исключение — explorer.exe, он, как правило, прописан просто в %windir%\\). Если путь к исполняемому файлу процесса ведет в другое место, особенно в какие-нибудь временные папки или на флешку, то это следует расценивать исключительно как вредоносное вмешательство. Также стоит обратить внимание на то, от чьего имени работает процесс. Если системный процесс работает от имени пользователя, то это повод насторожиться. Про то, что вредоносные процессы могут выдавать себя за системные, я думаю, ты знаешь, и процесс с именем вроде "svshost" без своего внимания не оставишь. Если мы имеем дело со вторым случаем, то это — серьезный повод задуматься. Обычно нормальные и законопослушные программы без проблем дают себя удалить из списка процессов. В такой ситуации можно попробовать воспользоваться каким-нибудь альтернативным менеджером процессов, например Process Explorer от SysInternals или ProcessHacker, или заюзать утилиту Kernel Detective — последним двум по силам даже справиться с процессами многих антивирусов. Также можно попытаться приаттачиться к этому процессу отладчиком, а потом завершить все это вместе с отладчиком (способ довольно действенный, особенно если использовать для этого WinDbg).
Если случай настолько тяжелый, что все перечисленное не помогает, то, скорее всего, дело не обошлось без перехвата функций в ядре, но об этом несколько позже.
Если в диспетчере задач мы ничего подозрительного не увидели, то либо все чисто (этот вариант мы, как истинные параноики компьютерной безопасности, отметаем), либо вредоносный процесс умело маскирует свое присутствие, либо малварь внедрила свой код в какой-то легальный процесс и под его прикрытием творит свои нехорошие дела.
Скрытые процессы также можно попытаться выявить каким-нибудь альтернативным диспетчером процессов или опять же попробовать использовать Kernel Detective, который умеет выявлять маскировку процесса, реализованную с помощью перехвата API-функции NtQuerySystemInformation.
Вообще бесследно скрыть процесс в системе практически невозможно, какие-нибудь следы присутствия все равно остаются, ведь каждый процесс имеет целую кучу косвенных признаков, по которым можно его обнаружить. Это созданные им хендлы, окна, некоторые другие системные объекты (например, многие трояны создают при заражении системы мьютекс, для того чтобы избежать повторного заражения). Все это можно попытаться просмотреть и проанализировать. К примеру, с помощью консольной утилиты Handle от Марка Руссиновича из небезызвестной SysInternals можно увидеть открытые хендлы для всех процессов, в том числе и для скрытых. Для исследования объектов, созданных в системе, пригодится тулза под названием WinObj из того же самого набора SysInternals Suit. С ее помощью можно посмотреть все созданные системные объекты и определить, каким процессом он создан. Если мы столкнулись с внедрением вредоносного кода в процесс, нужно учесть, что, как правило, это делается либо для беспрепятственного доступа в сеть из-под доверенного процесса (для этого неплохо подходят процессы svchost.exe или explorer.exe), либо для организации перехвата некоторых системных функций и внедрения этих перехватов во все запущенные и запускаемые процессы (излюбленным местом для внедрения в этом случае становится процесс explorer.exe, а иногда winlogon.exe). Обнаружить взаимодействие внедренного кода с сетью можно, используя какие-либо утилиты мониторинга сетевых соединений.
К примеру, в «полном собрании сочинений» от SysInternals для этого имеется тулза TcpView, которая производит мониторинг всех подключений и выводит список процессов, использующих TCP- и UDP-соединения. При этом отображаются основные параметры каждого соединения — имя процесса, протокол, идентификатор состояния подключения, локальный и удаленный адреса.
Если в списке, полученном с помощью этой утилиты, мы увидим, например, explorer.exe, ведущий активный обмен с непонятным адресом, то лучше либо закрыть это соединение, либо вовсе перезапустить процесс.