Как создать скрытую как вирус
Обновлено: 26.04.2024
Всем привет и это очередной компьютерный прикол от Компьютер76. Сегодня мы продолжаем издеваться над своими друзьями и коллегами. На своей домашней системе не пробовать! Для проверки заведите виртуальную машину.
Вариант 1. Сейчас я вам покажу, как создать небольшой вирус спам, который выражается в бесконечно открывающихся окнах, например, всеми любимого текстового редактора Блокнота. Для этого нам сначала придётся создать новый документ этого редактора и ввести следующий код:
Сохраним под любым названием, спрячем подальше от глаз жертвы и сделаем его скрытым. Создадим ярлык для этого файла и подсунем под любым предлогом жертве. Подробности того, как скрыть пакости, читайте в статье Как спрятать вирус или Как спрятать файл в рисунок.
Будьте аккуратны! Последствия могут быть печальны. Окна Блокнота будут открываться с потрясающей скоростью и система, в конце концов, может зависнуть. Перед тем, как попробовать очередной компьютерный трюк закройте все окна и сохраните важную информацию!
Вариант 2. Откройте Блокнот и введите туда следующий код:
В принципе, можете написать имя любого сайта. Не обязательно это должно быть названием популярного поисковика. В своё время я занёс в этот файл адрес сайта с весёленькими картинками красивых, но не очень одетых девочек. Вот сраму-то было…
Назовите файл как-нибудь.bat и подсуньте жертве с изменённым ярлыком. Если жертва запустит его на компьютере, запустится браузер с бесчисленным количеством окон по указанному адресу. Самый настоящий вирус спам !
Как удалить вирус спам ?
Если вы знаете причину возникновения вируса, то и удалить её возможно без труда. Однако, если у вас хватило ума попробовать его на своей системе, придав элементы скрытности и автозапуска, вирус, вероятно, захватил ресурсы вашей Windows. Стопроцентный вариант избавиться от него — загрузка с внешнего носителя (например, Windows PE) и удаление файла-виновника из автозагрузки или вообще из системы.
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 12 человек(а).
Вам когда-нибудь хотелось создать собственный вирус, возможно для обучения или для забавы? На создание вируса уйдет время и потребуются знания, но на это способен каждый человек, если захочет. Создание вируса может научить вас основам программирования на определенном языке, а также знаниям операционных систем и сетевой безопасности. Посмотрите Шаг 1, чтобы начать.
- Mac OS X и Linux считаются более защищенными от вирусных атак (связано с работой прав доступа и архитектурой операционной системы). 95% всех вирусов нацелены на пользователей Windows.
Найдите слабое место для атаки. Успешные вирусы используют слабые места в программах и системной безопасности, чтобы работать и распространяться. На это уходит много исследований и знаний, но существуют специализированные сообщества, которые могут с этим помочь.
- Если вы хотите создать исполняющие вирусы, то поищите курсы C и C++ в интернете.
- Если вы хотите создать макро вирусы, то выучите язык макросов для нужной программы, например, Microsoft Office.
- Visual Basic может быть использован для создания вредоносных программ для пользователей Windows.
- Узнайте о полиморфном коде. Это изменит код вашей программы после каждой реплики, скрывая вирус от антивирусных программ. Полиморфный код будет довольно продвинутым шагом, который создается различными способами в разных языках программирования.
Узнайте о способах спрятать ваш код. Кроме полиморфного кода, существуют способы спрятать ваш вирус. Шифрование является очень популярным инструментом среди разработчиков вирусов. На это уходит много времени и чтения, но в результате вы сможете защитить и продлить жизнь вашему вирусу.
- Постарайтесь проводить тесты в закрытой сборке так, чтобы избежать случайного попадания вашего вируса в сеть. Поставьте тестовые машины в отдельную сеть и протестируйте распространение вируса.
- Улучшайте код вашего вируса по ходу тестирования. Работайте над ошибками вашего кода.
Выпустите ваш вирус. Если вы удовлетворены работой вашего вируса, то настало время его выпустить. Но до того, подумайте, готовы ли к последствиям, которые возможны из-за вашего вируса. Возможно вам стоит использовать ваши знания и работать над другими проектами. [2] X Источник информации
На днях заняться было нечем, решил в развивающих целях(я начинающий программист) сделать какое-то подобие вируса, если моё творение можно так назвать.
Получать системную информацию, и скриншоты экрана с последующей отправкой на сервер. А так же автообновляться и забирать команды с сервера.
В чем же, спросите, соль?
А она, пожалуй в том, что он абсолютно не детектируется антивирусами. Хоть и имеет функционал, достаточный для шпионажа, дальнейшей загрузки и запуска программ. Обнаружено это было совершенно случайно.
Структура
Основная часть
Начнем с загрузчика. Тут все просто, никаких особых извращений. Единственное, что я сделал — так это загрузка не с собственного сервера(на что, понятное дело, ругались АВ продукты), а загрузка с популярных файловых хостингов(аля rghost, zalil и т.п.). Этим проблема была исчерпана.
Начать я решил с получения сис. информации, которая понадобилась бы в дальнейшем для идентификации компьютера на сервере(для каждого ПК предназначалась бы отдельная папка с названием в виде имени ПК и вложенными инструкциями и прочим). Для получения необходимой мне информации я использовал пространство имен System.Environment(что уже должно быть крайне подозрительно для АВ продукта). Получение скриншота экрана тоже не вызвало затруднений. После получения данной информации я склеивал её и отправлял на сервер. Тут мне и понадобились эти библиотеки.
Почти для каждого метода я выделял отдельный класс и отдельный метод, в этом и состояла вся хитрость.
Немного кода для примера:
Для ещё большего извращения можно вызывать функции через поток. Т.е. создавать новый поток для каждой функции(даже меня тут чуть не стошнило от своего кода, как мне вообще пришло такое в голову).
Да простят меня программисты!
Вывод
Достаточно немного быдлокода, запутанных инструкций и неумения программировать что бы получился скрытый продукт, который можно в последующем обновлять до более злого трояна. Статья написана на скорую руку, в чисто тренировочных целях, без злого умысла. В сеть вирус не запускался и не планируется, тестировалось на домашних ПК.
Хакерский мир можно условно разделить на три группы атакующих:
Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.
Зачем ИБ-персоналу эти сомнительные навыки?
Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.
Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.
Тем не менее создать базовые функции кейлогера достаточно легко запрограммировать. ПРЕДУПРЕЖДЕНИЕ. Если вы хотите попробовать что-то из ниже следующего, убедитесь, что у вас есть разрешения, и вы не несёте вреда существующей среде, а лучше всего делать это все на изолированной ВМ. Далее, данный код не будет оптимизирован, я всего лишь покажу вам строки кода, которые могут выполнить поставленную задачу, это не самый элегантный или оптимальный путь. Ну и наконец, я не буду рассказывать как сделать кейлогер стойким к перезагрузкам или пытаться сделать его абсолютно не обнаружимым благодаря особым техникам программирования, так же как и о защите от удаления, даже если его обнаружили.
Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN:
Для понимания: эта функция определяет нажата клавиш или отжата в момент вызова и была ли нажата после предыдущего вызова. Теперь постоянно вызываем эту функцию, чтобы получать данные с клавиатуры:
Умный кейлогер
Погодите, а есть ли смысл пытаться снимать всю подряд информацию со всех приложений?
Код выше тянет сырой ввод с клавиатуры с любого окна и поля ввода, на котором сейчас фокус. Если ваша цель – номера кредитных карт и пароли, то такой подход не очень эффективен. Для сценариев из реального мира, когда такие кейлогеры выполняются на сотнях или тысячах машин, последующий парсинг данных может стать очень долгим и по итогу потерять смысл, т.к. ценная для взломщика информация может к тому времени устареть.
Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.
Вторая версия кода:
Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.
Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.
Еще более умный кейлогер
Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин. Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex. Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.
Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:
Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.
Бесплатно и полностью не обнаружим
В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.
Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?
Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.
В этом основная фишка! Вы всегда можете менять код и развиваться, будучи всегда на несколько шагов раньше сканеров угроз. Если вы в состоянии написать свой собственный код он почти гарантированно будет не обнаружим. На этой странице вы можете ознакомиться с полным анализом.
Основная цель этой статьи – показать, что используя одни только антивирусы вы не сможете полностью обеспечить безопасность на предприятии. Нужен более глубинная оценка действий всех пользователей и даже сервисов, чтобы выявить потенциально вредоносные действия.
В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.
Читайте также: