1

Тема: Как работают винлокеры?

Да простит меня оригинальный автор этой статьи, а содрал я ее с популярного журнала ХАКЕР.

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


Закрепление в системе

Представим, что злая малварь уже проникла в систему. Наивный пользователь скачал и запустил вредоносный exe’шник, который в первую очередь должен обеспечить себе «нормальную» работу. Для этого программа должна прописать себя в автозагрузку вместе с Windows. Многие прекрасно знают, что и где отвечает за запуск программ сразу после старта нашей любимой ОС, но я все-таки еще раз перечислю возможные варианты.

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

Папки автозагрузки известны любому пользователю. Все их содержимое можно увидеть в главном меню Windows, физически же они располагаются в профилях пользователей, например, C:\Documents and Settings\admin\Главное меню\ Программы\Автозагрузка\. Разумеется, вместо admin, можно подставить «All Users или Default User».

В папки автозагрузки можно поместить как сам исполняемый файл, например, с помощью API-функции CopyFile, так и ярлык на него.

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

Системные файлы со списком загружаемых программ достались в наследство современным ОС Windows еще от их 9х-родственниц — 98-й и 95-й винды. Первый такой файл — это win.ini, в котором есть секция [windows], которая, в свою очередь, может содержать запись «run=запускаемая_программа». Также существует файлик system.ini, в секции [driver32] которого надо проверить наличие параметра вида «название_драйвера.



уникальное_имя=путь_к драйверу». Здесь зловреды уже любят следить гораздо больше, чем в папках автозагрузки. Но лидером среди самых популярных мест для авторана является реестр Windows.

Помимо всем известных ключей HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\Run\ и HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Run\ с их братьями для одноразового запуска RunOnce, существует еще множество всяких веток реестра, из которых может стартовать программа.

Например, если ты пользуешься IE, и он вдруг начал вести себя странно (показывает голых тетенек или открывает странные сайты), то стоит заглянуть сюда:

HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\.

Еще есть

HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows NT\CurrentVersion\Winlogon\ Userinit\,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\RunServices\,

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ Winlogon\Notify\.

Эти ветки реестра позволяют запустить разнообразные исполняемые файлы (обычные exe, программы, сервисы или dll).

Кстати, последний ключик подгружает пользовательскую dll к explorer.exe, а это значит, что код зловреда будет работать даже в Safe Mode.

Следует обратить внимание и на HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Имя_прогаммы\ — при запуске Имя_прогаммы будет запускаться софт, указанный в строковом параметре Debugger. Иная хитрая малварь может использовать ассоциации файлов в реестре.

То есть, при запуске, например, txt-файла, будет стартовать сначала вредоносное ПО, которое уже потом будет запускать реальную программу, работающую с этим типом файлов. Также вирус может загрузиться в память компьютера с помощью групповых политик. За это отвечает ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\policies\Explorer\Run, в котором содержатся параметры с путями запускаемых программ.

Вообще, мест, откуда может стартовать проникший на компьютер СМС-блокер или другая зараза, много, но проверить их достаточно просто (если не применяются специальные техники маскировки), особенно если использовать специализированные средства, например, утилиту HiJackThis.
Оборонительные редуты

После того, как малварь прописала себя в автозагрузку, ей следует позаботиться о своей сохранности: пользователь не должен завершить процесс зловреда, удалить программу из авторана и прочее. Для этого проще всего использовать все те же политики безопасности Windows.

Надо сказать, что фрауд-антивирусы, которые больше ориентированы на запад, практически не пользуются такими трюками. То есть, если наш отечественный СМС-блокер может напрочь парализовать работу компьютера, то англоязычная малварь такого не делает. Причина, скорее всего, в том, что в тех же Штатах законодательство к такого рода шалостям относится гораздо строже. Кроме того, местные жители не платят за электронные услуги эсэмэсками, для этого у них есть банковские карты, а, как известно, Visa и MasterCard очень ревностно следят за порядком среди своих клиентов. Одна гневная жалоба от доверчивого пользователя — и биллинг, проводящий процессинг платежей за Fraud Antivirus, может навсегда лишиться лицензии.

Однако, мы отклонились от темы. Итак, что же делает типичный СМС-блокер для того, чтобы защитить себя от удаления? Первым делом, это — блокировка редактора реестра и диспетчера задач. Для этого надо подправить всего два параметра в ветке реестра HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System.

Первый из них — DisableRegistryTools. Если присвоить ему значение равное 1, то regedit.exe не захочет запускаться. Еще стоит обратить внимание на параметр DisableRegedit, который может находиться помимо HKCU-секции еще и тут — HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ System. Для запрета запуска «Диспетчера задач» используется параметр DisableTaskMgr в HKCU\Software\Microsoft\Windows\ CurrentVersion\Policies\System. Разумеется, малварь может запретить запуск определенных программ. Делается это опять-таки через политики безопасности. Если ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ Explorer будет иметь параметр RestrictRun со значением равным единице, а также подключен RestrictRun, который содержит в себе список exe-файлов, то пользователь сможет запустить только те программы, которые находятся в этом списке.

Для черного списка следует использовать параметр и ключ DisallowRun, благодаря которым запуск определенного ПО станет невозможен. Уже этот набор ограничений позволяет малвари достаточно хорошо защитить себя от посягательств на свою жизнь. Даже если пытаться пробовать запустить нестандартные средства для мониторинга процессов и редактирования реестра, то и они могут быть заблокированы с помощью DisallowRun или RestrictRun. И это отнюдь не единственный способ помешать запуску чего-либо в инфицированной системе! Например, зловред может переассоциировать запуск программ на себя, прописав собственное тельце в параметре по умолчанию для ключа HKEY_CLASSES_ROOT\exefile\shell\open\command.

Или же поиграться с подключами в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Image File Execution Options. Но, к сожалению, вышеперечисленными методами малварь не ограничивается. Создатели своего детища могут блокировать некоторые настройки рабочего стола, настройки отображения файлов в проводнике и прочее. Но это мы рассмотрим чуть ниже, вместе с нарушением работоспособности интернета, поскольку все эти трюки служат больше для запугивания пользователя, нежели для защиты зловреда.
Воздействие на пользователя

Самая главная задача мошеннического ПО — это выманить у пользователя определенную сумму денег. Задачу эту в какой-то степени можно назвать даже творческой — надо так испугать юзера, чтобы он, не сильно сожалея о своих кровных, отправил СМС и при этом не решил самостоятельно избавится от малвари. Поэтому разработчики зловредов включают свою фантазию на полную катушку. Самый банальный и распространенный прием для влияния на пользователя — это неубиваемое окно. Его нельзя закрыть, нельзя свернуть, оно висит поверх всех остальных окон на десктопе, а в некоторых случаях оно даже монопольно владеет фокусом ввода.

Достигнуть такого эффекта совсем несложно, причем используя стандартные средства Windows. API-функция CreateWindowEx, отвечающая за создание окон, имеет множество параметров, среди которых dwExStyle и dwStyle, позволяющие программистам-мошенникам добиться нужного эффекта. Например, передав функции в качестве первого аргумента значение WS_EX_TOPMOST, мы заставим окно отображаться всегда поверх всех остальных окон, не имеющих этого атрибута, а поиграв dwStyle можно получить отсутствие всяческих контролов в заголовке окна или даже вообще избавиться от этого заголовка.

Для того чтобы окно СМС-блокера нельзя было закрыть, обычно перехватывают сообщение WM_CLOSE, из обработчика которого убирается стандартный код закрытия окна. Вообще, с помощью этих сообщений можно сделать много интересных вещей. Например, малварь может обрабатывать WM_MOUSELEAVE и, в случае, если курсор мыши покидает клиентскую часть окна, возвращать его обратно. Чем сообразительней программист, тем больше всяких трюков он может придумать.

Но одним только вездесущим окном дело обычно не ограничивается. Встречаются, например, экземпляры, которые меняют обои на рабочем столе. Обычно таким трюком пользуются антивирусы-подделки. На десктопе появляется что-то типа значка химического оружия и грозная надпись, а при клике по пустому пространству экрана открывается интернет-страница с предложением купить «полезное» ПО. Делается это довольно просто, никаких велосипедов изобретать не надо — в Windows есть забытая всеми возможность выводить на рабочий стол определенную веб-страницу — со всеми вытекающими из этого последствиями.

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

Используются и более изысканные способы. Например, интерфейсы WMI позволяют приложениям получать извещения о запускаемых процессах (да и вообще много всякой другой инфы). Малварь может мониторить с помощью WMI список процессов, запущенных в системе, и при запуске нового приложения выполнять определенные действия, например, закрывать вновь созданный процесс и показывать сообщение с радостным призывом заплатить и спать спокойно. Очень часто можно столкнуться с тем, что интернет-браузер отказывается отображать некоторые части всемирной паутины, например, сайты антивирусных компаний или поисковики. Несложно догадаться, что это сделано для того, чтобы жертва как можно дольше испытывала на себе действие зловреда. Сделать подобную пакость можно кучей разных способов.

Самым распространенным приемом является модификация файла hosts, который находится тут %SystemRoot%\system32\ drivers\etc\. Этот файл содержит базу данных доменных имен и используется при их трансляции в сетевые адреса узлов. Проще говоря, если написать там yandex.ru и через пробел ip-адрес гугла, то мы будем попадать на гугл, вводя адрес яндекса. Но фишка с hosts настолько избита, что о нем знают даже первоклассники, а у малвари может оказаться недостаточно прав для его редактирования. Поэтому следующий по популярности прием — это использование прокси. В настройках браузера прописывается ip сервера, на котором крутится какой-нибудь Squid, который, в свою очередь, заменяет неугодные страницы чем-нибудь более полезным для мошенников.

Достучаться до IE можно через его COM-интерфейсы, а к другим браузерам нужен индивидуальный подход. Поддельные DNS-сервера тоже неплохо справляются с задачей подмены сайтов. Правда, для этого нужны не только права админа в системе, но и рабочий DNS-сервер. Утилита netsh позволяет легко и просто изменить настройки подключения к Сети, но тру-кодеры воспользуются программными методами, например, все тем же WMI. Сделать недоступными некоторые серверы в интернете можно, создав специальную запись в route table. Люди могут сделать это с помощью команды route, а программы юзают специальную API — CreateIpForwardEntry. Но в этом случае надо точно знать все ip-адреса ресурса, который нужно сделать недоступным.

Зачастую это практически невозможно (в случае с крупными сайтами типа яндекса, гугла и прочих), поэтому путем модификации роутинга зло-кодеры очень часто просто отрубают интернет пользователю, не заморачиваясь с выборочной блокировкой. С помощью hosts и прокси можно даже организовать простенький фишинг, подменяя оригинальные страницы на очень похожие. Как вариант — просто выводить большими красными буквами сообщение «Отправьте СМС». Разумеется, подменять страницы можно не только на стороне сервера, но и локально, используя всеми любимые расширения к браузерам. Например, в IE — это широко известные BHO. Незаметно установив такое расширение, можно гибко управлять содержимым отображаемой веб-страницы. Например, фрауд-антивирусы могут заменять «плохие» для сеццбя ссылки в выдаче поисковиков, так как обычно, если ввести название подобного ПО в гугле, то первый линк будет на инструкцию о том, как от этого ПО избавиться.
Заключение

В этой статье мы привели далеко не полный список трюков и хитростей, которые используют современные зловредымошенники. Кодеры, перешедшие на темную сторону, постоянно придумывают новые уловки и методы воздействия на законопослушных пользователей Сети. Но имея хотя бы небольшое представление о том, что и как делает пресловутый СМСблокер, можно уже бороться с ним. А чтобы эта борьба была как можно менее болезненной, очень советую всем помимо крутых антивирусов использовать учетную запись с урезанными правами, так как в Линуксе и МакОси вирусов нет именно потому, что там не сидят под рутом.

2

Re: Как работают винлокеры?

очень полезно , и интересно , спасибо большое за информацию smile

Наберись смелости, если хочешь что-то изменить. Наберись терпения, если что-то изменить невозможно. И будь мудрым, чтобы знать, когда нужна смелость, а когда терпение.

3

Re: Как работают винлокеры?

Да, есть такое дело! В последнее время стал замечать, что чистка стандартных мест, откуда я этих блокеров "выковыривал" теперь не приносит ожидаемого результата. Нужно копать глубже!

Будьте доброжелательны и Вам уделят максимум внимания smile