Как сделать вредоносный код для сайта

Что такое вредоносный код

28 ноября 2017 Опубликовано в разделах: Азбука терминов. 5584

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

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

Общее назначение всех вредоносных кодов сводится к нарушению работы веб-страниц.

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

Как вредоносный код попадает на сайт

Есть два способа, как на сайт может попасть вредоносный код.

1. Скачивание файлов и плагинов с сомнительных и ненадежных ресурсов. Чаще всего таким способам на сайт проникают зашифрованные ссылки. Явный код редко проникает на сайт этим путем.

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

Такой код очень тяжело уничтожить, т.к. он может восстанавливаться после удаления.

Проверка сайта на вредоносный код

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

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

— Открываете редактор страницы.

— Копируете в буфер содержимое файла functions.php.

— Вставляете его в любой текстовый редактор (блокнот).

— Находите команду eval.

Удаление вредоносного кода

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

Защита от вредоносного кода

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

Используйте только проверенное ПО:

Ставьте на серверное ПО надежные пароли:

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

Разграничивайте права доступа к своему ресурсу.

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

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

1. Организуйте защиту от ботов. Для этих целей многие CMS оснащены специальными плагинами;

2. Настройте проверку вводимых пользователями данных:

Как предупредить случайное размещение вредоносного кода.

— Загружайте библиотеки и расширения CMS только с проверенных источников, а лучше всего с официальных сайтов.

— Изучайте код нестандартных расширений, которые вы собираетесь поставить на движок своего сайта.

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

— Старайтесь размещать на своей странице статический контент.

— Остерегайтесь партнерских программ со скрытыми блоками.

Источник

Внедрение вредоносного кода на страницы веб-сайта с помощью исполняемых файлов веб-сервера

4 октября мы выступили с докладом «Embedding malware on websites using executable webserver files» на конференции VirusBulletin 2013. В этом докладе мы рассказали о:

Краткая история эволюции вредоносного кода на веб-сайтах для Drive-by download атак.

Одним из первых способов распространения вредоносного кода было изменение статического содержимого веб-страниц. Атакующие просто добавляли на страницу вредоносные скрипты и iframe.

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

Следующим этапом эволюции Drive-by download атак стала модификация исходных текстов различных CMS и их шаблонов. Вредоносный код стал проверять различные параметры HTTP-запросов и на основании результатов проверки решать, внедрять вредоносный код на страницу или нет.

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

В процессе исследования мы выявили следующие три современных способа распространения вредоносного кода:

Модификация исходного кода веб-сервера

В первом квартале 2012 года мы стали детектировать большое количество вредоносных редиректов на ресурсы в доменной зоне org.in. Конечной целью перенаправления была landing page неизвестного ранее exploit kit. [http://safesearch.ya.ru/replies.xml?item_no=449].

Через некоторое время подобные редиректы стали осуществляться с одного из серверов крупного украинского хостера. Мы выяснили, что злоумышленники добавили вредоносную функциональность в исходные тексты веб-сервера nginx и заменили исполняемый файл веб-сервера на зараженный [http://safesearch.ya.ru/replies.xml?item_no=665].

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

Модификация HTTP-ответа

В конце 2012 года был обнаружен новый руткит для Linux, который представлял собой загружаемый модуль ядра. Этот руткит перехватывает вызовы некоторых системных функций, анализирует исходящий трафик и внедряет вредоносный код непосредственно в HTTP-ответы.

Установка дополнительных модулей веб-сервера

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

Для своих целей атакующие используют две разновидности модулей для веб-сервера Apache:

Читайте также:  Врезать петли в дверь своими руками

Ниже представлена вредоносная конфигурация для mod_substitute и результаты ее работы.

Из специально разработанных модулей самыми популярными сейчас являются Trololo_mod и Darkleech, они продаются на различных хакерских форумах. Мы проанализировали около 90 образцов вредоносного модуля Darkleech и собрали статистику по адресам серверов управления.

По нашим данным, наиболее крупный командный сервер управлял приблизительно 38 тыс. зараженных серверов.

Методы детектирования вредоносного кода

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

Обнаружить вредоносный код на веб-сервере может быть легче, если перед этим найти результаты его работы в HTTP-ответах, которые веб-сервер выдаёт браузерам пользователей.

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

Как не допустить заражения исполняемых файлов веб-сервера

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

Если у вас есть любой подозрительный код, конфигурационные файлы, логи атак на ваш веб-сервер, присылайте их для анализа по адресу virus-samples@yandex-team.ru.

Сервис www.virusdie.ru перешел из стадии прототипа в открытую альфа-версию. Он сканирует и лечит сайты.

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

Источник

Вредоносный код: как обезопасить свой сайт

Из этого материала вы узнаете:

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

Что такое вредоносный код

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

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

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

Кто может заразить сайт

Как вредоносная программа попадает на сайт? Есть несколько вариантов. Расскажем об основных.

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

Рекомендуем

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

Есть несколько схем, как на сайты внедряют зараженные файлы:

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

Как понять, присутствует ли на сайте вредоносный код

Существуют разные способы, как найти вредоносный код.

И Google, и «Яндекс» отмечают зараженные веб-ресурсы. Чтобы узнать, в порядке ли ваш сайт, введите в строку поиска его название. Если на площадке есть вредоносный код, поиск будет содержать предупреждение.

В случае с Google вообще невозможно попасть на зараженный сайт через браузер Chrome. Вы увидите предупреждение об этом.

Сканеров для этой цели существует множество. Обычно они бесплатны и запускаются вручную при необходимости. Иногда они обнаруживают не все вирусы, поскольку не могут проверить файлы напрямую. Но в любом случае сканеры отреагируют, если есть проблема. Погрешности также бывают, и программа может по ошибке сообщить, что обнаружен вредоносный код. В Рунете для проверки сайтов чаще всего используют virustotal.com. Это система, которая направляет ваш ресурс для проверки в разные сканеры. Из зарубежных аналогов подобную функцию выполняют quttera.com и sitecheck.sucuri.net.

Рекомендуемые статьи по данной теме:

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

Читайте также:  Как сделать свое красивое эротическое фото

Чем опасен вредоносный код для сайта

Если ваш ресурс имеет вредоносный код, «Яндекс» и Google определят это и занесут его в специальную базу. Из-за этого трафик вашего сайта существенно уменьшится. А пользователи Google Chrome и вовсе не смогут зайти на него. Браузер Firefox также может запретить доступ к порталу, если получит информацию о заражении через службу мониторинга.

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

Что делать, если сайт заражен

Есть несколько вариантов, как обезопасить сайт от заражения.

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

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

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

Существуют сканеры, которые помогают проверить сайт на вредоносный код онлайн. Их устанавливают на своём веб-ресурсе. Один из таких инструментов — virusdie.ru. Его задача — при обнаружении вредоносного кода оповестить об этом владельца сайта. Считается, что подобные виртуальные инструменты могут не только находить вирус, но и удалять его. Однако пока что данная функция не зарекомендовала себя.

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

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

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

Найти вредоносный код в базе и файлах можно с помощью специальных антивирусных программ и сканеров хостинга. Их существует не так уж и много. Вот самые известные: MalDet (Linux Malware Detector), ClamAv, AI-BOLIT.

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

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

Так как найти вредоносный код на сайте и не пропустить ни одного хакерского скрипта на хостинге? Нужно применить тот же подход, что используют злоумышленники, — комплексную защиту. Это означает, что сначала сайт необходимо просканировать автоматически, а затем сделать анализ вручную. Далее расскажем о том, как искать зараженный код без сканеров.

Разберемся, что стоит искать при проверке на вредоносный код.

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

База данных — это еще одно популярное место для атаки хакерами. Они могут внедрить сюда статические элементы

Источник

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

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

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

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

Источник

Оцените статью
Как сделать своими руками
Добавить комментарий
Adblock
detector