Как написать вирусы шпион

от admin

Как создать кейлоггер для личных целей: подробная инструкция

Как создать кейлоггер? Этот вопрос возникает у тех, кто вдруг решил немного побыть хакером. Ведь кейлоггер — это не совсем «правильная» штука, хотя и не является ни вирусом, ни трояном, ни руткитом.

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

Что такое кейлоггер

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

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

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

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

Какими бывают кейлоггеры

  1. Простой стандартный способ. Установить соответствующий хук, например , WH_Keyboard или WH_Journalrecord , и использовать соответствующий механизм, например , Win32API. Суть этого способа сводится к тому, что хуки будут считывать информацию непосредственно с системных процессов, перехватывая нажатия абсолютно всех клавиш клавиатуры. Это самый простой вид ловушки, которы й не требует больших программистских знаний ; создать такой кейлоггер можно за пару минут. Однако такие шпионы достаточно легко обнаруживаются в системе , и самый главный их недостаток заключается в том , что они записывают абсолютно все нажатия клавиш. А это значит, что нужно будет выделить среди всех нажатий нужную информацию. Если «шпионить» за одним компьютером, то это полбеды, но если компьютеров несколько десятков или сотен, то накапливаются огромные объемы информации о нажатии клавиш на всех компьютерах.

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

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

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

  5. Физические устройства. Как ни странно, но следить за клавиатурой можно не только программными методами, но и аппаратными устройствами. Такие устр ой ства не распознаются никакими антивирусами или другими программными методами и отлично выполняют свою функцию. Главный недостаток в том, что их установка требует физического контакта с устройством, за которым необходимо следить. Такой кейлоггер может быть реализован в виде USB-флешки или карты памяти, в виде небольшого устройства, которое внедряют в место «разрыва» кабеля, в штекер клавиатуры или в саму клавиатуру и др.

Как распространяются кейлоггеры

  • при открытии файла электронного письма, которое вам прислали незнакомы е ( или знакомые) люди;

  • при посещении сомнительных сайтов, где может быть установлен скрипт, запускающий автоматическую установку кейлоггера на устройство;

  • когда на устройстве уже есть вредоносная программа, которая самостоятельно устанавливает другие программы;

  • при скачивании сомнительных программ или драйверов с сомнительных сайтов;

  • когда незнакомый вам сайт просит обновить какую-то программу, установленную на вашем компьютере;

  • и др.

Кейлоггер: создать или использовать готовый

  • The Rat! — работает на уровне аппаратного ядра, поэтому вообще незаметен для защитных программ;

  • Elite Keylogger — работает на уровне системных драйверов, поэтому также остается очень незаметным, способен перехватывать не только нажатия клавиатуры, но и снимки с веб-камеры;

  • All-in-one Keylogger — работает на уровне системных AppData-директ о рий, поэтому недоступен пользователям для обнаружения, но со временем может быть обнаружен программами безопасности;

  • Spytech SpyAgent — работает на уровне системных файлов, поэтому рано или поздно будет обнаружен антивирусами, но обладает широким функционалом, например , способен перехватывать видео с камеры и звук с микрофона;

  • Spyrix Personal Monitor — многофункциональный кейлоггер со средней скрытностью, может быть использован в частном порядке, когда его обнаружение не критично, например, когда нужно проследить за своими детьми, братьями, сестрами и т. д.

  • и др.

Как создать свой собственный кейлоггер

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

Самый простой кейлоггер на С# выглядит так:

while (true)

<

Thread.Sleep(150);

for (Int32 i = 0; i < 255; i++)

<

int state = GetAsyncKeyState(i);

if (state == 1 || state == -32767)

<

Console.WriteLine((Keys)i);

>

>

>

Что мы сделали? Мы постоянно вызываем функцию «GetAsyncKeyState», которая определяет состояние клавиш клавиатуры в момент вызова. Подобный цикл будет повторят ь ся каждые 150 мс. Такой код будет сканировать нажатия абсолютно всех клавиш. Если нужно, чтобы такой кейлоггер срабатывал на определенных страницах, например , в ВК и при входе в Юмани, тогда можно дописать вот так:

while (true)

<

IntPtr handle = GetForegroundWindow();

if (GetWindowText(handle, buff, chars) > 0)

<

string line = buff.ToString();

if (line.Contains(«Yoomoney»)|| line.Contains(«VKontakte — Log In or Sign Up «))

<

//проверяем клавиатуру раз в 150 мс

>

>

Thread.Sleep(150);

>

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

Заключение

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

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Пишем свое вредоносное ПО. Часть 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), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.

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

Читать:
Ttester как узнать ответы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

image

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

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

В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.

Как хакеры создают трояны для Андроид

Как создать троян для Андроид

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

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

Как написать троян на Андроид

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

Возможности трояна будут следующие:

  • сбор информации о местоположении;
  • получение списка установленных приложений;
  • получение СМС;
  • запись аудио;
  • съемка задней или фронтальной камерой.

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

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

Каркас

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

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

В «build.gradle» укажите «compileSdkVersion 22» и «targetSdkVersion 22». Так вы избавите приложение от необходимости запрашивать разрешения во время работы (22 — это Android 5.1, обязательный запрос разрешений появился в 23 — Android 6.0, но работать приложение будет в любой версии).

Теперь создайте пустую Activity и Service. В метод «onStartCommand» сервиса добавьте строку «return Service.START_STICKY». Это заставит систему перезапускать его в случае непреднамеренного завершения.

Добавьте их описание в манифест (здесь и далее наше приложение будет называться com.example.app):

Всю злобную работу мы будем делать внутри сервиса, поэтому наша Activity будет очень проста:

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

Информация о местоположении

Теперь мы должны добавить в сервис код, который будет собирать интересующую нас информацию.

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

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

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

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

Когда придет время отправлять данные на сервер, мы просто отдадим ему этот и другие файлы.

Список установленных приложений

Получить список установленных приложений еще проще:

Метод получает список всех приложений и сохраняет его в файл apps внутри приватного каталога приложения.

Дамп СМС

Уже сложнее. Чтобы получить список всех сохраненных СМС, нам необходимо подключиться к БД и пройтись по ней в поисках нужных записей. Код, позволяющий дампнуть все СМС в файл:

Использовать его следует так:

Записи в файле будут выглядеть примерно так:

Скрытая запись аудио

Записать аудио с микрофона можно с помощью «API MediaRecorder». Достаточно передать ему параметры записи и запустить ее с помощью метода «start()». Остановить запись можно с помощью метода «stop()». Следующий код демонстрирует, как это сделать. В данном случае мы используем отдельный спящий поток, который просыпается по истечении заданного тайм-аута и останавливает запись:

Использовать его можно, например, так:

Данный код сделает 15-секундную запись и поместит ее в файл audio-ДАТА-И-ВРЕМЯ.3gp.

Скрытая съемка

С камерой сложнее всего. Во-первых, по-хорошему необходимо уметь работать сразу с двумя API камеры: классическим и Camera2, который появился в Android 5.0 и стал основным в 7.0. Во-вторых, API Camera2 часто работает некорректно в Android 5.0 и даже в Android 5.1, к этому нужно быть готовым. В-третьих, Camera2 — сложный и запутанный API, основанный на колбэках, которые вызываются в момент изменения состояния камеры. В-четвертых, ни в классическом API камеры, ни в Camera2 нет средств для скрытой съемки. Они оба требуют показывать превью, и это ограничение придется обходить с помощью хаков.

Учитывая, что с Camera2 работать намного сложнее, а описать нюансы работы с ней в рамках данной статьи не представляется возможным, я просто приведу весь код класса для скрытой съемки. А вы можете либо использовать его как есть, либо попробуете разобраться с ним самостоятельно (но я предупреждаю: вы попадете в ад):

Как создать вирус шутку с помощью Блокнота

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 26 человек(а).

Количество просмотров этой статьи: 542 729.

Вирусы-шутки — это несложные программы, которые можно подсунуть другу (или врагу), и тот будет думать, что его компьютер взломан, поражен вирусом или серьезно поврежден. Вирусы-шутки можно писать в обычном Блокноте: нужно лишь записать в файл команды, которые замедляют работу компьютера, выводят из строя работу операционной системы или просто пугают пользователя, а затем заставить его запустить этот файл. Вирусы-шутки могут быть чем угодно, начиная от надоедливой неприятности и заканчивая кошмаром, нарушающим работу системы. «Вирусы» из этой статьи предназначены только для безобидных шуток, самое худшее, что они могут сделать, — это выключить компьютер. Внимание: эти вирусы-шутки предназначены только для компьютеров под управлением Windows, они не будут работать на Mac OS без специальной подготовки. Начнем с шага 1.

Похожие статьи