O Chroot'ing em uma máquina Ubuntu lhe dá raiz?

5

Se você usasse um Ubuntu USB ao vivo e fizesse os comandos abaixo. Isso literalmente está apenas dando acesso root ao drive?

sudo mount /dev/sda1 /mnt
sudo chroot /mnt
    
por john smith 14.03.2016 / 13:46

4 respostas

8

O acesso físico é o acesso root, conforme indica Zacharee1. É por isso que as pessoas com dados confidenciais restringem o acesso físico.

Para quebrar um pouco seus comandos, montar a unidade é o que prepara o sistema de arquivos e lhe dá acesso.

sudo mount /dev/sda1 /mnt

Após o comando mount, você pode acessar todos os dados não criptografados em /dev/sda1

ls /mnt
cp /mnt/some_data /your_usb

etc

Um trabalho de cautela, se alguém tiver criptografia de acesso físico pode não ser suficiente para proteger os dados, pois as pessoas podem aproveitar o acesso físico para quebrar a criptografia, "Mal Maid" é apenas um exemplo, veja link

O comando chroot é alternado para que você esteja executando comandos como se /dev/sda1 estivesse montado em / ou raiz, supondo que /dev/sda1 seja um sistema de arquivos raiz válido e não /home ou uma partição de dados.

O comando chroot tem muitos usos acima e além do acesso a dados.

Então, após o comando chroot, os comandos que você executa no shell agora afetam /dev/sda1 . Então, se você alterar a senha ou a configuração do sistema, isso afetará / dev / sda1 e não o usb.

então, por exemplo, se você executar

passwd

a senha que você define afeta o usuário root em / dev / sda1 e não o root no usb.

Algumas virtualizações, Openvz e LXC, por exemplo, são semelhantes a um chroot, mas possuem recursos adicionais.

Para informações adicionais sobre o chroot, consulte

link

    
por Panther 14.03.2016 / 14:07
6

A menos que o sistema de arquivos esteja criptografado, você terá acesso total a todos os arquivos em uma unidade offline (ou seja, no LiveUSB). Você pode fazer o que quiser sem ter a senha de qualquer usuário desse SO.

O método LiveUSB é uma das formas mais populares de ignorar senhas no Windows e no Linux, pois permite que um usuário defina uma senha de administrador local no Windows e uma senha raiz no Linux, substituindo arquivos ou executando alguns comandos. / p>

É ótimo, contanto que você seja o único com acesso a hardware e não alguém em quem não confia.

EDIT:
Graças a bodhi.zazen agora sei que, mesmo com criptografia, você pode obter acesso a um sistema de arquivos. Você precisa da interação inconsciente de alguém que conhece a chave de criptografia, mas ainda é um método de acesso.

Leia sobre isso aqui: link

EDITEDIT:
Aparentemente, há muitas maneiras de acessar sistemas de arquivos criptografados. link

Acho que a lição aqui não é dar às pessoas o seu disco rígido.

    
por TheWanderer 14.03.2016 / 13:55
3

Chroot não é o que lhe dá root, o sudo é. A maioria dos livecds tem o sudo configurado, de tal forma que o usuário padrão no liveecd tenha acesso irrestrito sem senha ao sudo. Digitar "sudo bash" teria dado a você as mesmas permissões, mas com uma visão diferente do sistema de arquivos.

Então, sim, se você pode inicializar um live-dd e o hdd não é criptografado, você pode facilmente comprar quaisquer permissões de arquivo e ler / wite o que quiser, mas chroot não é o que habilita isso, iniciando o liveecd que contém um sistema no qual você pode trivialmente obter raiz é.

    
por Peter Green 14.03.2016 / 20:40
1

Digamos que você esteja fazendo a seguinte pergunta: "Se eu der permissão a alguém para executar o sudo chroot / mnt", eles poderão obter raiz no host? "A resposta para essa pergunta é sim.

Além da óbvia maneira hard envolvendo o mknod (), existe uma maneira fácil de obter um compilador:

#include <fcntl.h>
#include <unistd.h>
int main() {
    int n = open("/", 0);
    chroot("/bin");
    fchdir(n);
    chdir("..");
    chroot(".");
    execve("/bin/sh", "/bin/sh");
}

As jaulas do Chroot não fazem nada se o invasor tiver raiz.

    
por Joshua 15.03.2016 / 00:11

Tags