Как найти шеллы на сайте

9 ноября 2011 г.

9 ноября 2011 г.

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

Одной из неприятностей может стать присутствие так называемого шелла (shell — оболочка) на сервере Вашего сайта. Шеллы представляют собой зловредные скрипты, которые каким-то образом оказались на сервере и могут запускаться на исполнение. В этом случае плохой человек может получить некоторые возможности, например, изменение файлов, загрузка собственных скриптов и соответственно возможность их исполнения, отправка спама и прочее, и прочее. Случается это по разным причинам, но как правило вследствие «дырявости» (читай «уязвимости») CMS или хостинга.

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

Опишу несколько простых примеров, от которых потом можно отталкиваться.

Поиск текста «eval» во всех файлах с расширением .php с заданной директории:

find /dir/to/find/ -type f -iname "*.php" -exec grep -Him1 'eval' {} ;

Поиск «eval» среди файлов, у которых выставлены права 777

find /dir/to/find/ -perm 2 -type f -iname "*.php" -exec grep -Him1 'eval' {} ;

Простой поиск php-скриптов в заданной папке

find /dir/to/find/ -perm 2 -type f -iname "*.php"

Поиск .php файлов, созданных или измененных за последние 7 дней, мне всегда помогала именно она:

find /dir/to/find/ -type f -iname "*.php" -mtime -7

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

Не стоит пренебрегать безопасностью своего сайта. Удачи.

Автор: Артур Минимулин ⚫ 9 ноября 2011 г.Тэги: Хостинг, Безопасность

Как найти php backdoor  на сайте? После поиска зловреда на сайте заказчика решил систематизировать свои знания по этому вопросу.

Самый короткий пример позволяющий исполнить произвольный php код удаленно:

eval($_REQUEST[‘phpshell’]);

1. Поискать на сайте «опасные» функции:
а) eval() — исполняем php код
б) passthru(), exec()  и им подобные — испололняем команду ОС
в) fopen(), chmod(), touch(), … — функции для работы с файловой системой
 

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

find ./ name «*.php» print | xargs grep «eval(«

Пример, как найти последние измененные файлы за неделю:

find ./ mtime  7 name «*.php» prune  print

find — великолепная утилита для поиска в никсах, но синтаксис сложно запомнить, для ленивых есть отличный онлайн find помощник .

2. Проверить .htaccess файлы на наличие чего нибудь подозрительного. Например можно засунуть php код в *.html так

RewriteEngine on

RewriteRule ^(.*).html $1.php

Или даже в css и jpg, чтоб никто не догадался!

AddHandler application/xhttpdphp .php .css .jpg

3. Анализируем логи. Если известно примерное время, после которого замечен бэкдор, то можно поискать подозрительное в логах. Хотя на сайте с высокой посещаемостью это будет нелегко.
Пример:

«GET /path/footer.inc.php?act=edit&file=<span style=»backgroundcolor:#ffff00;»>/home/account/public_html/.htaccess</span> HTTP/1.1″

200 4795 «http://website/path/footer.inc.php?act=filemanager» «Mozilla/5.0…»

Многие наивно думают, что не используя самописные скрипты — застрахованы от зловредов. Это не так. Шелл-код нередко встречается и в CMS и форумах. Обычно этим грешат нулленые версии. А иногда и в плагинах.

Ну и наконец полезные ссылки по теме:
Бэкдоры: PhpRemoteView , r57shell
NeoPI скрипт на Питоне для поиска «опасного» кода
Статья на securitylab.ru
 

В своих прошлых статьях я нередко упоминал об различного рода уявимостях на сайтах. Это «Уязвимость в AdsManager на практике» и «Пример уязвимости в JCE», а также более обобщенно в других материалах. Для тех, кто не знает чем бекдор отличается от XSS я посвящу уже следующую статью «Описание распространненых уязвимостей».

Поиск уязвимостей на сайте, через которые проник вирус

Поиск уязвимостей на сайте, через которые проник вирус

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

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

Как найти уязвимость по логам?

Допустим,что вирус уже проник на сайт. Мы успешно (наверно) удалили все вирусы с сайта и задумались над защитой от дальнейшего вторжения. Здесь могут помочь мои советы из статьи «Как защитить сайт от попадания вирусов». Многие владельцы веб-страниц хотят знать, как вирус попал на сайт и как предотвратить заражение в дальнейшем. В таком случае требуется более детальный анализ появления вирусов на сайте. И я расскажу простой метод  поиска уязвимости, который поможет даже начинающему веб-мастеру.

Итак, для начала нам надо найти логи сервера. По умолчанию они находятся в отдельной папке logs выше директории сайта. Чаще всего имеют имена файлов access_log и error_log. Что делать, если не смогли найти их?

— Вариант первый, они у вас могут быть не включены в настройках сервера, поэтому стоит включить генерацию отчетов.

— Вариант второй, запросить логи у техподдержки, они подскажут, как вам поступить дальше.

Ищем шеллы на сайте!

Будем считать, что мы нашли необходимые файлы. Теперь нам надо найти шелл на сайте, именно сам исполняемый файл, а не системные файлы со вставками вредоносного кода. Мы смотрим на дату последнего изменения данного файла, и именно за эту дату стоит открыть файл access_log в удобном текстовом редакторе. Далее воспользуемсся поиском и введем имя нашего вредоносного файла. Находим упоминание в логе и смотрим за происшествиями, которые произошли до запуска исполняемого файла, особенно с того же айпи.

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

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

Проникновение вирусов через POST запросы

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

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

Поиск уязвимостей аудитом безопасности

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

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

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

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

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

Как найти шелл на своем сайте.

  • on Янв 12, 2012
  • in
    Безопасность

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

Вот некоторые из моих потугов по этому поводу:
Как сломать сайт на DLE
Уязвимости и взлом сайтов DLE
Как найти шелл(shell) на DLE ?
Взлом Сайтов DLE (критическая уязвимость, дыра) Как защититься от взлома?

Недавно нашел еще один способ Как найти шелл или другие уязвимости на своем сайте (не только на ДЛЕ).  Помогла мне :

Искалка хакерских скриптов на вашем хостинге [update]

(разработчик Григорий, автор блога greg.su)

Маленькая тузла ai-bolit указала на шелл, который я искал около года.

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

Вот что умеет  ai-bolit.php умеет

  • искать ~40 разновидностей шеллов и дамперов
  • определять зараженные index.php/index.html файлы IFRAME вирусами
  • выдавать список директорий, открытых на запись скриптам

Порядок действий:

1. копируем ai-bolit.php в корень сайта

2. запускаем http://site.ru/ai-bolit.php

Результат примерно такой:

(скрин с оф. сайта)

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

  • Об авторе
  • Недавние публикации

Работаю в интернете с 2008 года над своими и клиентскими проектами.

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

Прошел путь заработка в интернете от бонусхантинга до профессионального интернет-маркетолога.

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

Мой телеграмм для связи @sergcv

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

В таком случае нужно задуматься о безопасности Вашего ресурса и Вашего рабочего места или домашнего компьютера. В первую очередь, конечно, нужно подумать, что какие то проблемы есть на вашем ПК. Подумайте об антивирусах и установите наиболее подходящий и надоедливый). Лидирующие позиции на рынке все также занимают Kaspersky, Dr.web и Comodo. У Kaspersky есть полугодовая триальная версия, которая разрабатывалась совместно с Yandex, а Comodo вообще бесплатен для домашнего использования. Хорошо, с этим разобрались — выловили кучку троянов. Также хорошим тоном является работа на компьютере из под пользователя, так как большинство вирусов работают с правами текущего пользователя, зашедшего в систему. Если у пользователя ограниченные права, то вирус банально не сможет исполнить своих задач.

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

Обратимся к теории как производится большинство взломов в рунете. В последнее время прошли замечательные времена суперхакеров и взлом сайта производится банальным перебором пароля. Отсюда следующая рекомендация — меняйте пароль на админку на сложный. Рекомендации Microsofta — пароль должен быть не менее 8 символов, содержать большие и маленькие буквы и цифры и желательно еще псевдознаки типа !, ;, $, #.

Сразу смените пароль.

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

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

Для поиска шеллов существуют несколько утилит три из которых и хотелось бы выложить для общего пользования. Это ai-bolit, shellfinder и varvara.

Shellfinder самый быстрый с минимумом настроек, Varvara можно использовать предварительно, например, скачав WSO, и используя кусок кода, а Ai-bolit имеет свою группу разработки, является довольно массивным при работе, но имеет замечательные рекомендации и результаты. http://www.revisium.com/ai/

Скачать их пачкой можно по ссылке http://yadi.sk/d/Ed1KS_4PBZxSD

Желаю удачной борьбы с вирусами на Ваших сайтах!

Понравилась статья? Поделить с друзьями:
  • Как найти винду на жестком диске
  • Как найти свой тип девушки
  • Как найти базу на транзисторе мультиметром
  • Как найти уретру у мужчин
  • Как найти работников продавцов