На хостинговых серверах нужно сделать скрипт для проверки в *.php и *.html вредоносного кода, например iframe, javascript и других "особых меток", и выдать полный путь к подозрительному файлу.Вот, набросал скриптик, но это частный случай.
#!/bin/bashfor filename in *.php
do
badname=`cat "$filename" | grep "o65" `
if [ `expr $badname = 0` ]
then
ls -1 $filename
fi
doneНужен более продвинутый скрипт или программа.
:D man find, man grep
>На хостинговых серверах нужно сделать скрипт для проверки в *.php и *.html
>вредоносного кода, например iframe, javascript и других "особых меток", и выдать
>полный путь к подозрительному файлу.Занимаюсь тем же (уже есть рабочие скрипты), если есть какие-то идеи или сами вредоносные скрипты (для построения сигнатур) -- прошу в ICQ 260635448
>Занимаюсь тем же (уже есть рабочие скрипты), если есть какие-то идеи или
>сами вредоносные скрипты (для построения сигнатур) -- прошу в ICQ 260635448Возможно, эта ссылка будет вам полезна: http://www.ossec.net/wiki/index.php/WebAttacks_links
Также, советую посмотреть в сторону этого OSSEC, он, как понимаю, такое тоже умеет.
>>Занимаюсь тем же (уже есть рабочие скрипты), если есть какие-то идеи или
>>сами вредоносные скрипты (для построения сигнатур) -- прошу в ICQ 260635448
>
>Возможно, эта ссылка будет вам полезна: http://www.ossec.net/wiki/index.php/WebAttacks_links
>
>Также, советую посмотреть в сторону этого OSSEC, он, как понимаю, такое тоже
>умеет.Да, спасибо. Но это "добро" и так оседает на моих серверах в достаточном количестве (благодаря дырявым скриптам клиентов). Главная задача состоит как раз-таки в написании "движка", который будет производить поиск в файлах, и работать достаточно быстро. Обычные регулярные выражения являются недостаточно быстрыми для построения единичных сигнатур. Хотя если ситоить сигнатуру общую для целого класса возможных вредоносных скриптов, то регулярные выражения подходят.
Я уже думал создать собственные сигнатуры для clamav, но не нашел как. В этой ситуации нас ведь не интересуют все Windows PE вирусы, поэтому стандартные сингатуры можно было бы отключить. Кстати, clamav уже знает некоторые "популярные" скрипты-веб-шеллы.
>[оверквотинг удален]
>в достаточном количестве (благодаря дырявым скриптам клиентов). Главная задача состоит
>как раз-таки в написании "движка", который будет производить поиск в файлах,
>и работать достаточно быстро. Обычные регулярные выражения являются недостаточно быстрыми
>для построения единичных сигнатур. Хотя если ситоить сигнатуру общую для
>целого класса возможных вредоносных скриптов, то регулярные выражения подходят.
>
>Я уже думал создать собственные сигнатуры для clamav, но не нашел как.
> В этой ситуации нас ведь не интересуют все Windows PE
>вирусы, поэтому стандартные сингатуры можно было бы отключить. Кстати, clamav
>уже знает некоторые "популярные" скрипты-веб-шеллы.Давайте не будем плодить антивирусов на хостинговых серверах.
Нужен быстрый скрипт для регулярного сканирования данных на поиск шеллов, javascript write () и iframe.
>Давайте не будем плодить антивирусов на хостинговых серверах.
>Нужен быстрый скрипт для регулярного сканирования данных на поиск шеллов, javascript write
>() и iframe.Если полученным скриптом для сканирования будет пользоваться достаточное количество админов -- уже через месяц этот write() будут внедрять только завуалировано -- и средствами javascript, и php.
А вот шеллы *уже* шифруют. Я пактически не встерчаю у себя шеллов в чистом виде. И имена файлам нормальные дают, такие что на первый взгляд не скажешь -- это часть сайта или следы взлома.
Ещё есть спамилки. Их прячут как могут с незапамятных времен: это были и разного рода демоны на перле, и шифрованные, и кодированные, и скрипты, внедрённые в корневой index.php.
Не знаю конкретно вашей ситуации, но я с простыми ситуациями сталкиваюсь всё реже, и уже сейчас понимаю, что если под всё это написать регекспы -- просмотр диска среднего размера не завершится даже за сутки. Нужны более заточенные решения.
Что именно ищется, какая структура сигнатур?. В простейшем случае, когда нужно искать набор "слов" достаточно однострочника на перл
>Что именно ищется, какая структура сигнатур?. В простейшем случае, когда нужно искать
>набор "слов" достаточно однострочника на перлВообще задача довольно сложная и фактически является написанием некоторого рода антивируса, который учитывает много параметров:
* размер файла
* собственно сигнатуры (обычно просто строки или регекспы)
* возможность обфускации скрипта (хотя бы самыми распространёнными методами)
* некоторые общие сигнатуры (которые говорят "это очень похоже на вредоносный код")
* ещё что-то, что я забылИ к тому же, это должно работать быстро. Время обработки среднего диска в 70 Гб не должно превышать разумных пределов в часа три работы. Поэтому нужно придумывать всякие оптимизации (например, на сканировать файлы .jpeg -- но тогда мы оставляем дырку для вредоносных файлов... так что этот вариант не подходит, но суть ясна -- сканировать вообще всё нереально)
>[оверквотинг удален]
> * собственно сигнатуры (обычно просто строки или регекспы)
> * возможность обфускации скрипта (хотя бы самыми распространёнными методами)
> * некоторые общие сигнатуры (которые говорят "это очень похоже на вредоносный код")
> * ещё что-то, что я забыл
> И к тому же, это должно работать быстро. Время обработки среднего
> диска в 70 Гб не должно превышать разумных пределов в часа
> три работы. Поэтому нужно придумывать всякие оптимизации (например, на сканировать
> файлы .jpeg -- но тогда мы оставляем дырку для вредоносных файлов...
> так что этот вариант не подходит, но суть ясна -- сканировать
> вообще всё нереально)К слову об оптимизации. Надо сканировать только те файлы, которые подвергались изменению с момента прошлого сканирования. =)
Имеем:* поиск шеллов - поиск файлов rst.php, gzr.php и php.php (последний файл часто используют боты для мамбы и для phpinfo(), которые мы игнорируем)
* поиск кода, в основном в файлах index.php и index.html, <!-- o65 --> <script type="text/javascript">document.write('код скрипта')</script><!-- o65 -->
* поиск кода iframe