Как я могу найти файлы, в которых ctime и mtime различаются?

Иногда сайт взламывают, и злоумышленник скрывает новые или измененные файлы, изменяя дату файла (mtime). Обычно они устанавливают это на не последнюю дату.

Используя что-то вроде

find . -type f -ctime -3 -exec ls -ls {} \;

Я могу найти файлы, которые были изменены или добавлены за последние 3 дня, даже если mtime был изменен с помощью touch или другие хитрости.

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

Моя идея такова: если я могу найти файлы, которые имеют "странный" ctime-mtime, мониторинг будет проще. По моему мнению, если я могу найти файлы с mtime> ctime или с очень разными mtime и ctime, это значительно упрощается.

Есть ли способ сделать это с find?

0 ответов

Перечислить все файлы в текущем каталоге, где дата изменения (stat -c %Y) отличается от даты изменения (stat -c %Z)

stat -c %n#%Y#%Z * | awk -F# '{if ($2 != $3) print $1}'

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

find . -type f -exec stat -c %n#%Y#%Z {} \; | awk -F# '{if ($2 != $3) print $1}'

Другие вопросы по тегам