Читаем Защита от хакеров корпоративных сетей полностью

/*

* Structure of an inode on the disk

*/

struct ext2_inode {

__u16 i_mode; /* File mode */

__u16 i_uid; /* Owner Uid */

__u32 i_size; /* Size in bytes */

__u32 i_atime; /* Access time */

__u32 i_ctime; /* Creation time */

__u32 i_mtime; /* Modification time */

__u32 i_dtime; /* Deletion Time */

__u16 i_gid; /* Group Id */

__u16 i_links_count; /* Links count */

__u32 i_blocks; /* Blocks count */

__u32 i_flags; /* File flags */

В большинстве UNIX-систем атрибуты файла описаны похожим способом. В их состав входят владелец, размер, несколько полей времени и даты, группа, счетчик связей этого файла, число используемых блоков диска и флаги файла (стандартные разрешения чтения, записи и выполнения файлов). Какие атрибуты интересны для нас? В большинстве случаев это один из атрибутов времени и размер файла. Любой из них может быть определен переадресовыванием вывода команды ls – al в файл до и после наступления анализируемого события с последующим сравнением двух файлов, как это показано в следующем примере:

[elliptic@ellipse]$ diff /tmp/before /tmp/after

2,3c2,3

< drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:55 .

< drwxrwxrwt 9 root root 1024 Jun 16 01:55 ..

> drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:56 .

> drwxrwxrwt 9 root root 1024 Jun 16 01:56 ..

97c97

< -rw-r—r– 1 ryan ryan 31533 Jun 16 01:55 fs.h

> -rw-r—r– 1 ryan ryan 31541 Jun 16 01:56 fs.h

Из примера видно, что файл fs.h изменился. Этот способ сравнения содержимого директории обнаруживает изменение любого атрибута файла. Быстрый способ простого отслеживания изменения атрибута времени заключается в использовании команды ls – al, показанной в следующем примере. Команда ls – al в примере соединена программным каналом с командой more:

[elliptic@ellipse]$ ls -alt | more

total 2224

drwxrwxrwt 9 root root 1024 Jun 16 01:56 ..

drwxrwxr-x 2 ryan ryan 7168 Jun 16 01:56 .

-rw-r—r– 1 ryan ryan 31541 Jun 16 01:56 fs.h

-rw-r—r– 1 ryan ryan 7295 Jun 16 01:55 a.out.h

-rw-r—r– 1 ryan ryan 2589 Jun 16 01:55 acct.h

-rw-r—r– 1 ryan ryan 4620 Jun 16 01:55 adfs_fs.h

…и т. д. Файлы, модифицированные последними, выводятся первыми. В DOS/Windows команда dir /o: d позволяет отсортировать список выводимых файлов по дате, как это показано в следующем примере:

C:\date>dir /o:d

Volume in drive C has no label

Volume Serial Number is 3C3B-11E3

Directory of C:\date

HEX-EDIT EXE 58,592 03-14-95 9:51p Hex-edit.exe

HEXEDI~1 GZ 165,110 06-05-00 11:44p hexedit-0_9_7_tar.gz

HEXEDIT EXE 158,208 06-06-00 12:04a hexedit.exe

.

06-16-00 12:18a .

..

06-16-00 12:18a ..

3 file(s) 381,910 bytes

2 dir(s) 10,238.03 MB free

В этом случае последние модифицированные файлы помещены в конец отчета. Использование атрибута «Архивный» Расскажем о небольшой уловке, доступной пользователям DOS/Windows. Таблица размещения файлов (FAT – file allocation table) содержит атрибут файла «Архивный». Первоначально атрибут предназначался для определения факта изменения файла после последнего резервного копирования. В случае модификации файла этот атрибут свидетельствовал о необходимости создания очередной архивной копии файла. Конечно, после модификации файлов этим атрибутом можно воспользоваться для собственных целей. Посмотрите на пример просмотра директории с помощью команды attrib:

C:\date>attrib

A HEX-EDIT.EXE C:\date\Hex-edit.exe

A HEXEDIT.EXE C:\date\hexedit.exe

A HEXEDI~1.GZ C:\date\hexedit-0_9_7_tar.gz

Обратите внимание на символ A в начале каждой строки. Он свидетельствует об установке атрибута «Архивный» и указывает на необходимость резервного копирования файла, к которому относится этот атрибут. Если повторно использовать команду attrib для очистки атрибута «Архивный», то получим следующее:

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже