Десять способов избавиться от троянов-вымогателей и разблокировать Windows. Простым коням – простые меры. Какой функционал в данном примере программы Сервер – Клиент

С помощью троянов семейства Winlock, известных как «блокировщики Windows», у рядовых пользователей вымогают деньги уже более пяти лет. К настоящему времени представители этого класса вредоносных программ серьёзно эволюционировали и стали одной из самых частых проблем. Ниже предлагаются способы самостоятельной борьбы с ними и даются рекомендации по предотвращению заражения.

Появление трояна в системе обычно происходит быстро и незаметно для пользователя. Человек выполняет привычный набор действий, просматривает веб-страницы и не делает чего-то особенного. В какой-то момент просто появляется полноэкранный баннер, который не удаётся убрать обычным способом.

Картинка может быть откровенно порнографической, или наоборот – оформлена максимально строго и грозно. Итог один: в сообщении, расположенном поверх других окон, требуется перечислить указанную сумму на такой-то номер или отправить платное SMS-сообщение. Часто оно дополняется угрозами уголовного преследования или уничтожения всех данных, если пользователь не поторопится с оплатой.

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

Методики лечения основаны на понимании тех изменений, которые троян вносит в систему. Остаётся выявить их и отменить любым удобным способом.

Голыми руками

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

Зайти в специализированные разделы сайтов “Доктор Веб” , “Лаборатории Касперского” и других разработчиков антивирусного ПО можно с другого компьютера или телефона.

После разблокировки не радуйтесь преждевременно и не выключайте компьютер. Скачайте любой бесплатный антивирус и выполните полную проверку системы. Для этого воспользуйтесь, например, утилитой Dr.Web CureIt! или Kaspersky Virus Removal Tool .

Простым коням – простые меры

Прежде чем использовать сложные методы и спецсофт, попробуйте обойтись имеющимися средствами. Вызовите диспетчер задач комбинацией клавиш {CTRL}+{ALT}+{DEL} или {CTRL}+{SHIFT}+{ESC}. Если получилось, то мы имеем дело с примитивным трояном, борьба с которым не доставит проблем. Найдите его в списке процессов и принудительно завершите.

Посторонний процесс выдаёт невнятное имя и отсутствие описания. Если сомневаетесь, просто поочерёдно выгружайте все подозрительные до исчезновения баннера.

Если диспетчер задач не вызывается, попробуйте использовать сторонний менеджер процессов через команду «Выполнить», запускаемую нажатием клавиш {Win}+{R}. Вот как выглядит подозрительный процесс в System Explorer .

Скачать программу можно с другого компьютера или даже с телефона. Она занимает всего пару мегабайт. По ссылке «проверить» происходит поиск информации о процессе в онлайновой базе данных, но обычно и так всё понятно. После закрытия баннера часто требуется перезапустить «Проводник» (процесс explorer.exe). В диспетчере задач нажмите: Файл -> Новая задача (выполнить) -> c:Windowsexplorer.exe.

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

Типичное место локализации трояна – каталоги временных файлов пользователя, системы и браузера. Целесообразно всё же выполнять полную проверку, так как копии могут находиться где угодно, а беда не приходит одна. Посмотреть полный список объектов автозапуска поможет бесплатная утилита Autoruns .

Военная хитрость

Справиться с трояном на первом этапе поможет особенность в поведении некоторых стандартных программ. При виде баннера попробуйте запустить «вслепую» Блокнот или WordPad. Нажмите {WIN}+{R}, напишите notepad и нажмите {ENTER}. Под баннером откроется новый текстовый документ. Наберите любую абракадабру и затем коротко нажмите кнопку выключения питания на системном блоке. Все процессы, включая троянский, начнут завершаться, но выключения компьютера не произойдёт.

Блокнот – коня на скаку остановит и доступ админу вернёт!

Старая школа

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

В этом случае перезагрузите компьютер и удерживайте клавишу {F8} в момент загрузки Windows. Появится окно выбора способа загрузки. Нам требуется «Безопасный режим с поддержкой командной строки» (Safe Mode with Command Prompt). После появления консоли пишем explorer и нажимаем {ENTER} – запустится проводник. Далее пишем regedit, нажимаем {ENTER} и видим редактор реестра. Здесь можно найти созданные трояном записи и обнаружить место, откуда происходит его автозапуск.

Чаще всего вы увидите полные пути к файлам трояна в ключах Shell и Userinit в ветке

HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogon

В “Shell” троян записывается вместо explorer.exe, а в “Userinit” указывается после запятой. Копируем полное имя троянского файла в буфер обмена из первой обнаруженной записи. В командной строке пишем del, делаем пробел и вызываем правой клавишей мыши контекстное меню.

В нём выбираем команду «вставить» и нажимаем {ENTER}. Один файл трояна удалён, делаем тоже самое для второго и последующих.

Удаление трояна из консоли – файл находился во временной папке.

Затем выполняем в реестре поиск по имени файла трояна, внимательно просматриваем все найденные записи и удаляем подозрительные. Очищаем все временные папки и корзину. Даже если всё прошло идеально, не поленитесь затем выполнить полную проверку любым антивирусом.

Если из-за трояна перестали работать сетевые подключения, попробуйте восстановить настройки Windows Sockets API утилитой AVZ.

Операция под наркозом

Со случаями серьёзного заражения бесполезно бороться из-под инфицированной системы. Логичнее загрузиться с заведомо чистой и спокойно вылечить основную. Существуют десятки способов сделать это, но один из самых простых – воспользоваться бесплатной утилитой Kaspersky WindowsUnlocker, входящей в состав Kaspersky Rescue Disk . Как и DrWeb LiveCD, он основан на Gentoo Linux. Файл-образ можно записать на болванку или сделать из него загрузочную флэшку утилитой Kaspersky USB Rescue Disk Maker .

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

При включении заражённого компьютера удерживайте клавишу для входа в BIOS. Обычно это {DEL} или {F2}, а соответствующее приглашение отображается внизу экрана. Вставьте Kaspersky Rescue Disk или загрузочную флэшку. В настройках загрузки (Boot options) выберите первым загрузочным устройством привод оптических дисков или флэшку (иногда она может отображаться в раскрываемом списке HDD). Сохраните изменения {F10} и выйдите из BIOS.

Современные версии BIOS позволяют выбирать загрузочное устройство на лету, без входа в основные настройки. Для этого требуется нажать {F12}, {F11} либо сочетание клавиш – подробнее смотрите в сообщении на экране, в инструкции к материнской плате или ноутбуку. После перезагрузки начнётся запуск Kaspersky Rescue Disk.

Доступен русский язык, а лечение можно выполнить в автоматическом или ручном режимепошаговую инструкцию на сайте разработчика.

Борьба на раннем этапе

Отдельный подкласс составляют трояны, поражающие главную загрузочную запись (MBR). Они появляются до загрузки Windows, и в секциях автозапуска вы их не найдёте.

Первый этап борьбы с ними заключается в восстановлении исходного кода MBR. В случае XP для этого загружаемся с установочного диска Windows, нажатием клавиши {R} вызываем консоль восстановления и пишем в ней команду fixmbr. Подтверждаем её клавишей {Y} и выполняем перезагрузку. Для Windows 7 аналогичная утилита называется BOOTREC.EXE, а команда fixmbr передаётся в виде параметра:

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

В крестовый поход с крестовой отвёрткой

На маломощных компьютерах и особенно ноутбуках борьба с троянами может затянуться, так как загрузка с внешних устройств затруднена, а проверка выполняется очень долго. В таких случаях просто извлеките заражённый винчестер и подключите его для лечения к другому компьютеру. Для этого удобнее воспользоваться боксами с интерфейсом eSATA или USB 3.0/2.0.

Чтобы не разносить заразу, предварительно отключаем на “лечащем” компьютере автозапуск с HDD (да и с других типов носителей не мешало бы). Сделать это удобнее всего бесплатной утилитой AVZ, но саму проверку лучше выполнять чем-то другим. Зайдите в меню «Файл», выберите «Мастер поиска и устранения проблем». Отметьте «Системные проблемы», «Все» и нажмите «Пуск». После этого отметьте пункт “Разрешён автозапуск с HDD” и нажмите “Исправить отмеченные проблемы”.

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

Если разделы внешнего жёсткого диска не видны, зайдите в «Управление дисками». Для этого в окне «Пуск» -> «Выполнить» напишите diskmgmt.msc и затем нажмите {ENTER}. Разделам внешнего жёсткого диска должны быть назначены буквы. Их можно добавить вручную командой «изменить букву диска…». После этого проверьте внешний винчестер целиком.

Для предотвращения повторного заражения следует установить любой антивирус с компонентом мониторинга в режиме реального времени и придерживаться общих правил безопасности:

  • старайтесь работать из-под учётной записи с ограниченными правами;
  • пользуйтесь альтернативными браузерами – большинство заражений происходит через Internet Explorer;
  • отключайте Java-скрипты на неизвестных сайтах;
  • отключите автозапуск со сменных носителей;
  • устанавливайте программы, дополнения и обновления только с официальных сайтов разработчиков;
  • всегда обращайте внимание на то, куда на самом деле ведёт предлагаемая ссылка;
  • блокируйте нежелательные всплывающие окна с помощью дополнений для браузера или отдельных программ;
  • своевременно устанавливайте обновления браузеров, общих и системных компонентов;
  • выделите под систему отдельный дисковый раздел, а пользовательские файлы храните на другом.

Следование последней рекомендации даёт возможность делать небольшие образы системного раздела (программами Symantec Ghost, Acronis True Image, Paragon Backup and Recovery или хотя бы стандартным средством Windows “Архивация и восстановление”). Они помогут гарантированно восстановить работу компьютера за считанные минуты независимо от того, чем он заражён и могут ли антивирусы определить трояна.

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

Распространение троянов Winlock не ограничено Россией и ближним зарубежьем. Их модификации существуют практически на всех языках, включая арабский. Помимо Windows, заражать подобными троянами пытаются и Mac OS X. Пользователям Linux не дано испытать радость от победы над коварным врагом. Архитектура данного семейства операционных систем не позволяет написать сколь-нибудь эффективный и универсальный X-lock. Впрочем, “поиграть в доктора” можно и на виртуальной машине с гостевой ОС Windows.

«О, вот такая точно была картинка! Даже номер тот же», – почти радостно «узнал» вирус очередной «потерпевший».

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

В этом случае после загрузки Windows никакого вируса не было, а звонили мне два дня назад и всё это время компьютер был выключен. Куда же он делся?

Один из советов по удалению разновидностей вируса Trojan.Winlock , подсказывает: переведите системное время в BIOS на два дня вперёд, если не получится, то на месяц, год… Это не всегда срабатывает, так же как кованые решетки на окна не всегда спасают от грабителей, но вселяют уверенность (у меня ни разу не получалось так избавится от вымогателя), но здесь, кажется, сработало естественным путём.

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

Между тем среди многочисленных советов есть два достаточно простых, но эффективных способа ликвидации многочисленных Trojan.Winlock – вирусов, которые блокируют операционную систему, делая невозможной работу, и требуют при этом отправить некую сумму денег.

Сразу скажу, что варианты не мои, я ими лишь вооружился, но за полезность и профпригодность скажем спасибо worldwar87 .

Переустанавливать Windows – самое последнее дело, ведь можно решить проблему, не теряя времени и без особого риска для данных.

Первое, что надо сделать – перезагрузить компьютер и, нажимая при первоначальной загрузке клавишу F8 (иногда F5), выбрать параметр: Безопасный режим с поддержкой командной строки .

Жмём Enter и рассматриваем ситуацию: первая Безопасный режим благополучно загрузился без вируса , вторая он (вирус) никуда не исчез .

В первом случае нам нужно в командной строке набрать команду .

Открыть ветвь реестра, используя путь:

HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows NT -> CurrentVersion -> winlogon

Заглядываем в Shell , как на рисунке:

На чистом компьютере вы увидите то, что и должно быть: написано explorer.exe. На зараженном – полный путь до исполняемого файла вируса. Запомните или запишите его, чтобы впоследствии удалить.

Для этого в командной же строке набираем explorer.exe и через «Мой компьютер» добираемся до вируса. Удаляем.

В Shell оставляем только запись explorer.exe

Для ситуации второй, когда вирус не даёт работать в Безопасном режиме, понадобится загрузочный Live-CD с Windows.

Его придется (если нету) скачивать из Интернета. Думаю, что сможете найти – Google вам в помощь.

Потом выбрать Файл ->Импортировать (путь С:/WINDOWS/System32/config/software) открываем и в созданном нами разделе повторяем действия , описанные в первом примере.

После удаления вируса потребуется экспортировать нашу очищенную ветку назад. Для этого выбираем меню Файл ->Экспортировать и обратно в С:/WINDOWS/System32/config/software.

После этого перезагружаем компьютер. Вирус удалён, но просканировать его полностью антивирусом с обновленными базами надо: своеобразный контроль и проверка исполнения, совсем как модули СУП в системе управления предприятием.

Счастливой охоты!

Если Вам интересно посмотреть, как пишутся «Программы сервер – клиент» и как они работают на реальном примере, предлагаю прочитать пост до конца. Будет интересно!

Пример программы я решил писать на Delphi! Так как, это проще и хорошо подходит для маленького, но реального примера. Что касается грозного слова «Троян » которое я упомянул выше, то тут, получается действительно, самый настоящий троян, но с малым и безобидным функционалом.

Вы узнаете, по какому принципу пишутся «Трояны » и как они работают изнутри! Но, есть одно «НО» Трояны не пишут, так как – это будет описано ниже. Поскольку в нашем примере, «Серверная » часть программы будет много весить (Это не приемлемо для реального трояна ), и мы не будет её скрывать в системе. В реальном, «Вредоносном ПО» дела обстоят немного по другому.

Серверную часть программы стараются разработать с малым размером, ну примерно «100 КБ» Плюс — минус сколько-то КБ. И скрывают её в системе, так, что искать её придется долго!…

Но все ровно, принцип разработки один! И данный пример идеально подойдёт для понимания, как работаю программы по принципу «Сервер — Клиент» Просто у нас не правильный тон разработки трояна, а оно нам надо? Правильно. НЕТ!!! Мы же хорошие ребята и хулиганить не собираемся!

Как работают программы по принципу «Сервер – Клиент»

Просто и в двух словах картина выглядит вот так: Вы на своём компьютере запускаете «Клиентскую » часть программы, как правило, она имеет «GUI» то есть интерфейс пользователя (Если клиент не консольный)

На компьютере, к которому вы желаете получить доступ, запускается «Серверная » часть программы, она же открывает определённый порт на чужом компьютере и не видна в системе.

Через этот порт происходит соединения, Вы в клиенте указываете порт и IPадрес компьютера, на котором запущен сервер, подключаетесь к серверу и можете спокойно выполнять какие-то действия на чужом ПК со своего компьютера! Ещё можно прочитать мой прошлый пост и узнать:

Надеюсь, что здесь объяснил, вроде как понятно и простым человеческим языком! Если что-то не ясно, дальше, на примере все станет ясно! Далее давайте определимся, какие действия буду выполняться на удалённом ПК вследствие работы нашего маленького трояна!

Какой функционал в данном примере программы Сервер – Клиент.

Честно сказать, на этом этапе, когда размышлял, что бы показать я как-то замешкался и не как не мог придумать, что-то интересное! В общем пусть будет функционал из одной возможности и до жути простой:

— Пользователь будет получать Ваше сообщение.

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

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

Ну, а у нас будет такой прикол! Человек, сидя за компьютером, неожиданно получит сообщение, например

«Привет, я шастаю по твоему компу »

представляете реакцию человека? Думаю это смешно, было бы увидеть его выражение лица!!!

Разработка программы по принципу «Сервер – Клиент»

Приступаем к самому интересному! И начнём мы с разработки самого «Сервера » после чего напишем под него клиент! Я не буду объяснять код программы, просто, буду приводить примеры, все же у меня не блог по программированию, да и цель поста показать поэтапно процесс разработки подобных программ по типу «Сервер – Клиент»

Разработка Сервера!

Изначально, нужно научить «Сервер» открывать какой-то порт на компьютере, дабы в дальнейшем иметь возможность подключиться к нему из «Клиента» а уже после научим принимать команды и выполнять какие-то действия на ПК.

Откроем порт следующим кодом, который до боли прост:

Delphi/Pascal

procedure TForm1.FormCreate(Sender: TObject); begin ServerSocket1.Port:= 666; ServerSocket1.Active:= true; end;

procedure TForm1 . FormCreate (Sender : TObject ) ;

begin

ServerSocket1 . Port : =666 ;

ServerSocket1 . Active : =true ;

end ;

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

А пока убедимся, что сервер работает и порт открыт, вспоминаем команду «netstat» и смотрим результат.

Как видим на компьютере, вследствие запуска нашей программы действительно был открыт порт с номером «666» Это говорит только ободном, программа работает, и пришла пора научить «Сервер » принимать сообщение.

Delphi/Pascal

procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var komm:string; Begin komm:=socket.ReceiveText; if copy(komm,1,12) = "MESSAGE_TEXT" then begin Delete(komm, 1, 12); ShowMessage(komm); end; end;

procedure TForm1 . ServerSocket1ClientRead (Sender : TObject ;

Socket : TCustomWinSocket ) ;

komm : string ;

Begin

komm := socket . ReceiveText ;

if copy (komm , 1 , 12 ) ="MESSAGE_TEXT" then

begin

Delete (komm , 1 , 12 ) ;

ShowMessage (komm ) ;

end ;

end ;

Тут дела обстоят следующие образом! Если серверу придёт команда с названием «MESSAGE_TEXT» (Название может быть любое ) то сработает процедура «ShowMessage» и покажет сообщение, которое пришло вмести с командой и хранится в строковой переменной «komm»

Соответственно текст сообщение будем набирать в «Клиенте » и он может быть любого содержание!

В прочем, на этом разработка «Серверной » части закончена. В итоге у нас получился файлик «Server.exe » и пока отложим его в сторону до того момента пока не напишем «Клиент »

Разработка Клиента!

Клиент у нас будет по понятным причинам с графическим интерфейсом пользователя (GUI) и должен иметь элементы управление, кнопки и поля ввода. У меня получился вот такой вид программы:

Определимся со всеми элементами! Хотя и так понят но, как говорится, на всякий случай поясню.

IP : Поля для ввода IPкомпьютера, где запущен сервер.
Port : Указываем номер порта на котором висит сервер.
— Подключится : Кнопка для подключения к серверу.
— Текст сообщение : Поле для ввода сообщение, которое нужно отправить.
— Отправить сообщение… : Соответственно кнопка для отправки сообщение.
— Статус соединение : Тут мы узнаем, подключились или нет!

Delphi/Pascal

procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket.Host:= IP.Text; ClientSocket.Port:= StrToInt(Port.Text); ClientSocket.Open; end;

procedure TForm1 . Button1Click (Sender : TObject ) ;

begin

ClientSocket . Host : =IP . Text ;

ClientSocket . Port : =StrToInt (Port . Text ) ;

ClientSocket . Open ;

end ;

Можно уже прям сейчас, запустить программу, и попробовать подключиться к «Серверу » но мы не узнаем результат, подключились или нет. Перед проверкой исправим это и научим программу показывать результат соединение.

Delphi/Pascal

procedure TForm1.ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket); begin Label4.Caption:= ("Удалось выполнить подключение к: " + IP.Text); Label4.Font.Color:= clGreen; end;

И на тот случай, если все токи не удалось подключиться к серверу, например потому-что «Сервер » на удалённом ПК не запущен и соответственно порт «666» закрыт.

Delphi/Pascal

Procedure TForm1.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin if ErrorCode = 10061 then begin ClientSocket.Active:= False; Label4.Font.Color:= clRed; Label4.Caption:= ("НЕУдалосьвыполнитьподключениек:" + IP.Text); ErrorCode:= 0; end; end;

procedure TForm1 . ClientSocketError (Sender : TObject ; Socket : TCustomWinSocket ;

ErrorEvent : TErrorEvent ; var ErrorCode : Integer ) ;

begin

If ErrorCode =10061 then

begin

ClientSocket . Active : =False ;




Top