Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Файлчекер (FileChecker) скрипт мониторинга файлов сайта (https://forum.antichat.xyz/showthread.php?t=104929)

TreV@N 06.02.2009 12:01

Файлчекер (FileChecker) скрипт мониторинга файлов сайта
 
Что? Скрит для выявления изменений файлов на сайте

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

Системные требования: php 4 и выше, желательно - cron или другой планировщик для периодического запуска
Установка: 15 минут, сложность - низкая
Известные баги: в редких ситуациях и при большом объеме сайта возможна ошибка памяти. Воспроизвести не удалось (возможно - ошибка сервера)
Описание: Скрипт сканирует все файлы и папки ниже той папки, где находится сам и позволяет получать следующую информацию:
+ список новых файлов
+ список старых и удаленных файлов
+ суммарное количество файлов
+ суммарное количество папок
+ суммарный объем файлов

В скрипте можно указать файлы, которые не нужно контролировать. Результаты работы могут быть выведены непосредственно в браузер или отосланы на один или несколько e-mail.

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

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

Дополнительные возможности, планируемые в следующей версии:
+запуск скрипта по паролю
+запись md5-хешей файлов
+шифрование списка файлов
+ведение истории изменений файлов и папок

http://depositfiles.com/files/oqr3fe1e4

Gifts 06.02.2009 13:53

TreV@N 1) Что мешает использовать touch -acfm и для сохранения веса файла - удалить пару тройку пробелов и переводов строк? (благо минимальный шел 19 символов).
2) Так как файл листа создается от имени апача - ничто не мешает его "исправить".
3) Следует из первого: например редактируя .htaccess в IPB - можно сделать вместо защиты от исполнения файлов - запуск с произвольным расширением (AddType application/x-httpd-php .gif) Заливай шеллы - в любом количестве

З.Ы. Почему set_time_limit(0); нету?

Kaimi 06.02.2009 14:52

Цитата:

Что мешает использовать touch -acfm и для сохранения веса файла - удалить пару тройку пробелов и переводов строк? (благо минимальный шел 19 символов).
Хеши все равно разные будут поидее

Ru}{eeZ 06.02.2009 16:08

Цитата:

Сообщение от Gifts
TreV@N 1) Что мешает использовать touch -acfm и для сохранения веса файла - удалить пару тройку пробелов и переводов строк? (благо минимальный шел 19 символов).

<? system($_GET['c']) ?>

считайт, что потёрто...

Chaak 06.02.2009 16:18

hash(123) != hash(231)

Gifts 06.02.2009 16:34

ChaaK Kaimi Отсутствие хэша равно отсутствию хэша (можете считать теоремой), ибо в данной версии проверяется только размер файла и время модификации. Опять таки - изменение файл-листа обходит и это.

Ru}{eeZ @eval($_POST['a']); - 19 символов, <??> - не нужны ибо мы дописываем в файл. system - не дает всех возможностей пхп, плюс - обычно заблокирован

TreV@N 07.02.2009 05:05

Цитата:

1) Что мешает использовать touch -acfm и для сохранения веса файла - удалить пару тройку пробелов и переводов строк? (благо минимальный шел 19 символов). 2) Так как файл листа создается от имени апача - ничто не мешает его "исправить". 3) Следует из первого: например редактируя .htaccess в IPB - можно сделать вместо защиты от исполнения файлов - запуск с произвольным расширением (AddType application/x-httpd-php .gif) Заливай шеллы - в любом количестве З.Ы. Почему set_time_limit(0); нету?
Вы, конечно, правы, что защита у скрипта на достаточно низком уровне, НО...

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

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

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

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

А вообще - спасибо, особенно за set_time_limit(0) - пару лет назад я этого не знал , потому и не использовал.


Время: 06:01