Дает ли Chroot доступ к машине с Ubuntu?
Если вы должны использовать Ubuntu Live USB, и выполните команды ниже. Это буквально просто дает вам root-доступ к диску?
sudo mount /dev/sda1 /mnt
sudo chroot /mnt
4 ответа
Физический доступ - это корневой доступ, как указывает Zacharee1. Вот почему люди с конфиденциальными данными ограничивают физический доступ.
Чтобы немного прервать выполнение ваших команд, монтирование диска - это то, что подготавливает файловую систему и дает вам доступ.
sudo mount /dev/sda1 /mnt
После этой команды монтирования вы можете получить доступ ко всем незашифрованным данным на /dev/sda1
ls /mnt
cp /mnt/some_data /your_usb
так далее
Осторожно, если у кого-то физического шифрования доступа может быть недостаточно для защиты данных, поскольку люди могут использовать физический доступ для взлома шифрования, "Злая Дева" - это всего лишь один пример, см. https://www.schneier.com/blog/archives/2009/10/evil_maid_attac.html
chroot
Команды переключаются так, что теперь вы запускаете команды, как будто /dev/sda1
установлен в /
или корень, предполагая, /dev/sda1
является действительной корневой файловой системой, а не /home
или раздел данных.
chroot
Команда имеет много применений помимо доступа к данным.
Поэтому после команды chroot команды, которые вы запускаете в оболочке, теперь влияют на /dev/sda1
, Поэтому, если вы измените пароль или конфигурацию системы, это повлияет на / dev / sda1, а не на usb.
так, например, если вы запустите
passwd
установленный вами пароль влияет на пользователя root на / dev / sda1, а не root на usb.
Некоторые виртуализации, например Openvz и LXC, похожи на chroot, но имеют дополнительные функции.
Для получения дополнительной информации о chroot см.
Если файловая система не зашифрована, у вас есть полный доступ к каждому файлу на автономном диске (например, из LiveUSB). Вы можете делать все, что угодно, не имея пароля пользователя от этой ОС.
Метод LiveUSB является одним из самых популярных способов обхода паролей как в Windows, так и в Linux, поскольку он позволяет пользователю устанавливать пароль локального администратора в Windows и пароль root в Linux, заменяя файлы или выполняя некоторые команды.
Это довольно здорово, если вы один с аппаратным доступом, а не тот, кому вы не доверяете.
РЕДАКТИРОВАТЬ:
Благодаря Panther теперь я знаю, что даже с шифрованием вы можете получить доступ к файловой системе. Вам нужно невольное взаимодействие с кем-то, кто знает ключ шифрования, но это все же метод доступа.
Прочитайте об этом здесь: https://www.schneier.com/blog/archives/2009/10/evil_maid_attac.html
EDITEDIT:
По-видимому, существует множество способов доступа к зашифрованным файловым системам.
https://www.schneier.com/blog/archives/2008/02/cold_boot_attac.html
Я думаю, что урок здесь не дать людям свой жесткий диск.
Chroot - это не то, что дает вам root, sudo. Большинство livecds имеют конфигурацию sudo, так что пользователь по умолчанию на livecd имеет неограниченный доступ sudo без пароля. Вместо этого, введя sudo bash, вы получили бы те же разрешения, но с другим взглядом на файловую систему.
Так что да, если вы можете загрузить livecd, а жесткий диск не зашифрован, вы можете легко купить любые права доступа к файлу и читать / читать все что угодно, но chroot - это не то, что позволяет это, загрузка livecd, которая содержит систему, в которой вы можете легко получить root является.
Допустим, вы задаете следующий вопрос: "Если бы я дал кому-то разрешение на запуск sudo chroot /mnt", могут ли они получить root на хосте?"Ответ на этот вопрос - да.
Помимо очевидного сложного способа использования mknod(), есть простой способ, если они могут получить компилятор:
#include <fcntl.h>
#include <unistd.h>
int main() {
int n = open("/", 0);
chroot("/bin");
fchdir(n);
chdir("..");
chroot(".");
execve("/bin/sh", "/bin/sh");
}
Chroot jail ничего не делает, если у атакующего есть root.