Книга: Linux глазами хакера

Дата изменения

Дата изменения

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

touch параметры ММДДччммГГ файл

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

Рассмотрим пример. Допустим, что вы хотите установить на файл /etc/passwd дату изменения 21 января 11:40. Для этого выполняем следующую команду:

touch 01211140 /etc/passwd

Теперь воспользуйтесь командой ls -l /etc/passwd, чтобы убедиться, что дата и время изменения установлены верно.

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

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

Итак, найти все файлы, дата изменения которых больше 21 января 11:40 2005 года, можно следующим образом:

touch 0121114005 /tmp/tempfile
find /etc (-newer /tmp/tempfile ) -ls
find /etc (-cnewer /tmp/tempfile ) -ls
find /etc (-anewer /tmp/tempfile ) -ls

В первой строке мы создаем файл во временной директории /tmp с необходимой датой изменения, по которой и будет происходить сравнение.

Следующие три строки производят поиск файлов. Каждая из них имеет следующую структуру:

find директория ( -сравнение файл ) -ls

Рассмотрим по частям эту строку:

find — программа поиска файлов;

директория — каталог, в котором нужно искать. В нашем случае я указал системный /etc, в котором хранятся все настроечные файлы;

параметр (-сравнение файл ) — состоит из файла для сопоставления и критерия поиска файлов, который может принимать различные значения:

 • -newer — дата изменения больше, чем у заданного файла в параметре файл;

 • -cnewer — состояние изменено позже, чем у сопоставляемого файла в параметре файл;

 • -anewer — дата последнего доступа превосходит, аналогичный параметр сравниваемого файла;

? параметр -ls — отображает на экране список файлов (как при выполнении команды ls).

Оглавление книги


Генерация: 0.054. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз