Вирусы и борьба с ними. Программы-шпионы: закладки, трояны, клавиатурные шпионы

2 июня 2016 в 12:29

Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер

  • Блог компании Varonis Systems ,
  • Информационная безопасность ,
  • Программирование
  • Перевод
  • Recovery Mode

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


1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.


2) «Byuers» - не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.


3) «Black Hat Сoders» - гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.


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


Зачем ИБ-персоналу эти сомнительные навыки?


Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.


Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.


Кейлогер


Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.


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



Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:


1. 2. 3. public static extern int GetAsyncKeyState(Int32 i);

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN :


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


1. while (true) 2. { 3. Thread.Sleep(100); 4. for (Int32 i = 0; i < 255; i++) 5. { 6. int state = GetAsyncKeyState(i); 7. if (state == 1 || state == -32767) 8. { 9. Console.WriteLine((Keys)i); 10. 11. } 12. } 13. }

Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.


Умный кейлогер

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


Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.


Вторая версия кода:


1. while (true) 2. { 3. IntPtr handle = GetForegroundWindow(); 4. if (GetWindowText(handle, buff, chars) > 0) 5. { 6. string line = buff.ToString(); 7. if (line.Contains("Gmail")|| line.Contains("Facebook - Log In or Sign Up ")) 8. { 9. //проверка клавиатуры 10. } 11. } 12. Thread.Sleep(100); 13. }

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.


Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.


Еще более умный кейлогер


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


Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:


1. //Ищем почтовый адрес 2. ^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$ 3. 4. 5. //Ищем пароль 6. (?=^.{6,}$)(?=.*\d)(?=.*)

Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.


Для C# это выглядит так:


1. Regex re = new Regex(@"^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$"); 2. Regex re2 = new Regex(@"(?=^.{6,}$)(?=.*\d)(?=.*)"); 3. string email = "[email protected]"; 4. string pass = "abcde3FG"; 5. Match result = re.Match(email); 6. Match result2 = re2.Match(pass);

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.


Бесплатно и полностью не обнаружим


В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.


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


Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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

  • информационная безопасность
  • Добавить метки

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

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

    Есть, однако, и более банальные вещи, например - вирусы. Создано их было за последние 20 лет очень и очень много. Без шуток и преувеличений можно сказать, что их количество растет каждую минуту. К слову об уголовной ответственности, за их распространение предусмотрено наказание по закону.

    Один из видов компьютерных вирусов - это вирусы-шпионы . Их название соответствует их деятельности: находясь в операционной системе в активном виде, они собирают информацию с компьютера пользователя и отправляют ее злоумышленнику, создавшему вирус.

    Многие спросят: «какую информацию?». Ответ достаточно прост. Многие люди пользуются платежными системами, работают с банковской учетной записью у себя на компьютере, совершают какие-либо транзакции, заказывают что-либо в интернет-магазинах.

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

    Что можно сделать, чтобы обезопасить себя от spyware:

    1. Обзавестись антивирусом. Самый банальный, самый простой и самый надежный способ. Несмотря на свою тривиальность, перед всеми остальными он обладает почти неоспоримыми преимуществами. Перед тем, как запускать новые файлы, антивирус всегда проверяет их, автоматически блокирует в случае обнаружения угрозы и позволяет пользователю проверить компьютер на наличие вирусов в любой момент.
    2. Быть более внимательным. Опять же, банальный совет, но довольно действенный. Он прост до невозможности - не скачивать что попало, не устанавливать дешевые программы, обещающие золотые горы или решение всех проблем в мире. Бесплатный сыр бывает только в одном месте, и попадаться туда должны грызуны, а не люди.
    3. Повысить свою компьютерную грамотность. Это задача не из легких, особенно для тех, кто с компьютерами не слишком хорошо ладит. Однако стоит помнить, что с каждым годом компьютеризация охватывает все больше и больше сфер нашей жизни. Чем лучше каждый из нас начнет разбираться в том, как электронные вычислительные машины работают, тем безопаснее мы будем себя чувствовать. Этот совет, впрочем, распространяется не только на компьютеры, но и на все остальное. Времена таковы, что «уметь что-то делать» понемногу уходит в прошлое, и на его место становится «уметь научиться что-то делать». Технологии развиваются слишком быстро, чтобы привыкать к ним. Один и тот же способ выполнять какую-либо задачу неизбежно устаревает, причем с бешеной скоростью. Чтобы по-настоящему обезопасить себя, свою информацию, да и шансы на успех в жизни, нужно учиться находить способы, а не учиться самим способам.
    4. Очищать компьютер от важной информации. В отличие от предыдущего совета, здесь все просто. Каждый день удалять историю посещений в браузере, не сохранять паролей, не оставаться залогиненым на сайтах банков и платежных систем. Таким образом украсть информацию будет труднее, ведь большую часть времени ее и не будет на самом компьютере.

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

    Голландская газета NRC Handelsblad сообщила, ссылаясь на документы, предоставленные бывшим сотрудником Агентства национальной безопасности (АНБ) Эдвардом Сноуденом, о том, что это ведомство заразило вирусом-шпионом более 50000 тысяч компьютерных сетей по всему миру.

    Сети взламывались и заражались с целью установки в них программного обеспечения для осуществления слежки за персональной информацией, размещаемой в социальных сетях. В 2012 году нападению вируса-шпиона подверглись сети, расположенные в США, Китае, Бразилии, Индии, Венесуэле, ряде африканских и арабских стран, и также сети, расположенные на территории России.

    Подобным методом информационной слежки пользовались также и в Британском центре правительственной связи (GCHQ). Его сотрудники получили доступ к личным данным, находящимся в сети бельгийского интернет-провайдера Belgacom и международной Организации стран-экспортеров нефти (ОПЕК). Для сбора информации британские спецслужбы использовали метод «квантового проникновения», который позволял вирусам-шпионам проникать в компьютеры через страницы соцсети LinkedIn и интернет-провайдера Belgacom.

    Вирус-шпион

    Впервые мир узнал о массовой слежке в Интернете летом 2013 года, благодаря сведениям, переданным бывшим сотрудником АНБ Эдвардом Сноуденом. Люди возмущены подобными фактами. Однако что в действительности происходит и какой процесс разворачивается в Интернете – в этом можно разобраться, используя знания по системно-векторной психологии.

    Вирус-шпион – примета века информации

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

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

    Вирус-шпион

    Развитие звуковой и зрительной меры дает общее увеличение интеллектуального уровня человечества и формирование коллективной мысли. Поэтому в эпоху информации Интернет становится основной площадкой для разворачивания главных событий человеческого общежития. Сюда переместились общение, бизнес, политика и ее качественно новая форма разведки с помощью вирусов-шпионов. Сюда переместились войны, которые все больше носят информационный характер. Здесь зародилась «оранжевая революция» и «арабская весна». Виртуальная реальность становится ощутимой и значимой в главных вопросах – вопросах национальной безопасности и выживания народов.

    Вирус-шпион на службе у серых кардиналов

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

    Марина Голомолзина

    2 июня 2016 в 12:29

    Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер

    • Перевод

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


    1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.


    2) «Byuers» - не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.


    3) «Black Hat Сoders» - гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.


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


    Зачем ИБ-персоналу эти сомнительные навыки?


    Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.


    Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.


    Кейлогер


    Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
    Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.


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



    Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:


    1. 2. 3. public static extern int GetAsyncKeyState(Int32 i);

    Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN :


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


    1. while (true) 2. { 3. Thread.Sleep(100); 4. for (Int32 i = 0; i < 255; i++) 5. { 6. int state = GetAsyncKeyState(i); 7. if (state == 1 || state == -32767) 8. { 9. Console.WriteLine((Keys)i); 10. 11. } 12. } 13. }

    Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.


    Умный кейлогер

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


    Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.


    Вторая версия кода:


    1. while (true) 2. { 3. IntPtr handle = GetForegroundWindow(); 4. if (GetWindowText(handle, buff, chars) > 0) 5. { 6. string line = buff.ToString(); 7. if (line.Contains("Gmail")|| line.Contains("Facebook - Log In or Sign Up ")) 8. { 9. //проверка клавиатуры 10. } 11. } 12. Thread.Sleep(100); 13. }

    Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.


    Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.


    Еще более умный кейлогер


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


    Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:


    1. //Ищем почтовый адрес 2. ^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$ 3. 4. 5. //Ищем пароль 6. (?=^.{6,}$)(?=.*\d)(?=.*)

    Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
    Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.


    Для C# это выглядит так:


    1. Regex re = new Regex(@"^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$"); 2. Regex re2 = new Regex(@"(?=^.{6,}$)(?=.*\d)(?=.*)"); 3. string email = "[email protected]"; 4. string pass = "abcde3FG"; 5. Match result = re.Match(email); 6. Match result2 = re2.Match(pass);

    Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.


    Бесплатно и полностью не обнаружим


    В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
    Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.


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


    Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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

  • информационная безопасность
  • Добавить метки

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

    Что такое шпионская программа?

    Начнем с того, что шпионские приложения, или исполняемые апплеты, обычно называемые Spyware (spy по-английски «шпион»), в обычном смысле вирусами, как таковыми, не являются. То есть они не оказывают практически никакого воздействия на систему в плане ее целостности или работоспособности, хотя при заражении компьютеров способны постоянно находиться в оперативной памяти и потреблять часть системных ресурсов. Но, как правило, на быстродействии ОС это особо не сказывается.

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

    Виды шпионских программ

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

    • кей-логгеры;
    • сканеры жестких дисков;
    • экранные шпионы;
    • почтовые шпионы;
    • прокси-шпионы.

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

    Методы проникновения Spyware в компьютерные системы

    Сегодня в связи с неимоверным развитием интернет-технологий Всемирная паутина является основным открытым и слабозащищенным каналом, который угрозы такого типа используют для внедрения в локальные компьютерные системы или сети.

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

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

    Последствия воздействия

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

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

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

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

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

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

    Первые симптомы заражения

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

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

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

    Как проверить компьютер на наличие шпионских программ

    Что же касается проверки, штатные антивирусы тут не помогут, особенно если они уже пропустили угрозу. Как минимум потребуется какая-то портативная версия вроде или Kaspersky Virus Removal Tool (а лучше - что-то наподобие Rescue Disc с проверкой системы еще до ее загрузки).

    Как найти шпионскую программу на компьютере? В большинстве случаев рекомендуется использовать узконаправленные специальные программы класса Anti-Spyware (SpywareBlaster, AVZ, XoftSpySE Anti-Spyware, Microsoft Antispyware и др.). Процесс сканирования в них полностью автоматизирован, равно как и последующее удаление. Но и тут есть вещи, на которые стоит обратить внимание.

    Как удалить шпионскую программу с компьютера: стандартные методы и используемое стороннее ПО

    Удалить шпионское ПО с компьютера можно даже вручную, но только при условии, что программа не замаскирована.

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

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

    Что использовать? Защита от таких угроз и поиск шпионских программ на компьютере можно осуществить, например, даже при помощи пакета ESETNOD32 или Smart Security с активированной функцией «Антивор». Впрочем, каждый сам выбирает, что для него лучше и проще.

    Узаконенный шпионаж в Windows 10

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

    Windows 10 в этом плане отличилась не в лучшую сторону. Тут имеется куча служб, которые нужно отключить (обмен данными с удаленными серверами Microsoft, использование идентификации для получения рекламы, отправку данных в компанию, определение местоположения с использованием телеметрии, получение обновлений из нескольких мест и т. д.).

    Существует ли 100-процентная защита?

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

    • Сергей Савенков

      какой то “куцый” обзор… как будто спешили куда то