/proc для восстановления удаленных файлов в Linux!Мы научимся восстанавливать файлы, которые были удалены из файловой системы, но все еще удерживаются запущенными процессами.
Это фундаментальный принцип
Linux «все есть файл», позволяющий вернуть данные через файловую систему процессов /proc.Для начала создадим файл, запустим процесс, который его читает, и имитируем удаление данных злоумышленником:
echo "секретные данные" > secret.log
tail -f secret.log > /dev/null &
# Запоминаем PID последнего процесса и удаляем файл
PID=$!; rm secret.log
Файл исчез из списка
ls, но данные все еще доступны через дескрипторы активного процесса.Теперь ищем дескриптор удаленного файла в директории
fd процесса:ls -l /proc/$PID/fd | grep "deleted"
В выводе вы увидите номер (например, 3), указывающий на призрачную ссылку удаленного файла.
Чтобы вернуть данные, достаточно скопировать содержимое этой магической ссылки обратно в обычный файл:
cp /proc/$PID/fd/3 restored_secret.log
Файл успешно восстановлен в текущую директорию из оперативной памяти.
Проверка работоспособности:
cat restored_secret.log && ls -l restored_secret.log
Ожидаемый вывод: секретные данные (и информация о новом файле).
🔥 При анализе взломанных систем всегда проверяйте
/proc перед перезагрузкой — это ваш лучший шанс найти удаленные улики.➡️ DevOps Ready | #практика