Как узнать фактическое время создания файла в Unix?

27038
inckka

Я проверяю некоторые файлы на своем выделенном веб-сервере через linux cli после хакерской атаки и обнаружил, что некоторые файлы были изменены с помощью команды «touch» для изменения даты. Я хочу получить точную дату создания файла для этих конкретных файлов. Я уже пробовал следовать

stat ls -ld 

Те не доставили файл записал дату на диск (дата создания)

Также есть ли другой способ получить дату создания файла? (фактическая дата записи файла на диск)

6
Кажется странным, что хакер случайно «дотрагивается» до некоторых файлов. На вашем месте, я хотел бы знать, были ли эти файлы заменены версиями доктрины, позволяющими злоумышленнику иметь постоянный доступ. Вы хотя бы запускали программное обеспечение, специализирующееся на обнаружении руткитов, такое как rkhunter и chkrootkit? MariusMatutiae 10 лет назад 0

1 ответ на вопрос

9
a CVn

What you are looking for is on *nix called the file birth time.

Unfortunately, most *nix file systems don't keep track of that piece of information.

If it is available, then a recent version of stat should display it. Otherwise, your best bet would probably be to compare against file listing from backups (you do have backups, right?) to see which files have been added.

~$ stat .bashrc File: `.bashrc' Size: 3539 Blocks: 9 IO Block: 3584 regular file Device: 24h/36d Inode: 204095 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ michael) Gid: ( 1000/ michael) Access: 2013-12-11 09:41:50.315475289 +0100 Modify: 2013-08-16 21:28:42.000000000 +0200 Change: 2013-09-14 01:55:27.167869741 +0200 Birth: - ~$ 

As you can see, there is no "birth" timestamp, which means that the file system I'm using for my home directory (ZFS in my case) either does not store that information, or does not expose it through the Linux file system layer in a way that stat knows about. Either way the effect is largely the same: no information is available.

The above said, I wouldn't be particularly surprised if even on a system that does track file birth times, something like cp --copy-contents --preserve=timestamps /dev/null /tmp/somefile && cat ./somefile >> /tmp/somefile will effectively nullify anything like that. So even if birth times are available, you shouldn't rely on them for anything important, like evaluating the impact of a security breach.

The closest you can get on most systems is probably the file modification time or mtime, which stat does display and which most file systems do keep track of. However, as you have noticed, this is trivially changed using touch.

Спасибо за подробную информацию, и это сэкономило мое время. Нету bkps, из-за этого файл поставил хакер. Также статистика показывает Рождение как '-' inckka 10 лет назад 0
@inckka Если вы знаете, что файл не должен быть там, просто удалите его. Просто остерегайтесь всего, что может быть помещено в вашу систему. * Очень часто * в такой ситуации, если вы не можете * доказать * (что исключительно сложно), что вы можете очистить систему за разумное время, лучше всего просто [убрать с орбиты] (http: // security) .stackexchange.com / q / 24195/2138) и восстановление из заведомо исправной резервной копии (которую вы действительно должны были иметь, это почти все, что я могу сказать по этому поводу). a CVn 10 лет назад 0
Очень полезная информация Intruder записывал файлы случайным образом, чтобы создать секретную дверь для моего другого важного сайта, размещенного отдельно в другой папке в том же домене. Я собираюсь выполнить новую установку из последних файлов резервных копий. Спасибо inckka 10 лет назад 0
@inckka Просто будьте осторожны с тем, что именно вы восстанавливаете, чтобы случайно не открыть задние двери в новой установке. Если вы считаете, что этот ответ правильно отвечает на ваш вопрос, сообщите об этом, проголосовав и согласившись. Спасибо. a CVn 10 лет назад 0

Похожие вопросы