Предлагаю в этой теме выкладывать различные методы/способы определения нахождения в chroot'е.
- Следующие папки пусты или вовсе отсутствуют:
/proc
/dev
/sys
- В файле /etc/shadow нету хешей (не 100% chroot, но в 90% означает его наличие (например при создании окружения для chroot'a с помощью debootstrap))
- /proc смонтирована и можем просматривать список процессов. Необходимо проверить наличие исполняемых файлов запущенных процессов, для этого, у каждого процесса читаем линк "stat /proc/[PID]/exe" и проверяем доступность файла на диске(ls -l "/path/name"), если его нет, то мы в chroot'е, а этот процесс скорее всего нет (исключением является процесс, файл которого после запуска был разлинкован (удален) )...
- mount работает, но отображает только одну запись смонтированного корня "/" или вообще ни чего не выводит... Так же если отсутствует запись о смонтированной sysfs/procfs/devpts/devtmpfs то с большой долей вероятности можем сказать, что мы под колпаком chroot'a
Дополняем способами, методами определения, ведь chroot такая гадость, которая будет сворачивать кровь даже после повышения прав.
|