Parâmetros de boot do Linux e hacking

1

Carregue comigo desde que sou um noob do linux ... Eu tinha uma tarefa para uma classe de segurança em que eu deveria obter acesso a um arquivo na área de trabalho de um administrador.

Eu modifiquei as configurações de inicialização alterando "ro splash" para "rw init = / bin / bash", reiniciei, obtive um shell bash e alterei a senha do root.

Algumas perguntas:

  • Então ro monta o dispositivo raiz como somente leitura, rw é montado como ler escrever. O que é o "dispositivo raiz"?
  • Então init especifica o primeiro programa a ser executado após a inicialização, correto?
  • Por que eu obtenho um bash shell que possui acesso root ? Nenhuma autenticação é necessária?
por user1399747 31.01.2013 / 05:32

2 respostas

4

  1. O dispositivo "root" é definido no carregador de inicialização e é o local / unidade de inicialização / partição "bootstrap".
  2. Sim.
  3. Esse é um recurso que permite que um operador de máquina entre e recupere uma máquina.

Lembre-se de que uma máquina só é segura se não for apenas segura na rede, mas também fisicamente segura. Muitas pessoas esquecem isso e só consideram os ataques "através do fio". Uma máquina NÃO é segura se qualquer um puder acessá-la. Se eu puder acessar sua máquina, é possível que eu possa inicializá-la a partir de um CD-ROM / USB / disquete e assumir o controle - não importa qual "senha" seu usuário root tenha. SEMPRE proteja a máquina física.

Matt

    
por 31.01.2013 / 05:38
2
  1. root é o dispositivo que o kernel vê como a localização de /. O bootloader pode usar um dispositivo root diferente, o bootloader usa-o para ler o kernel e o ramdisk inicial na memória.

  2. init é o primeiro (e único) programa de espaço do usuário iniciado pelo kernel, e isso tem a tarefa de gerenciar o espaço do usuário (ou seja, tudo mais que o espaço do kernel). Normalmente você usaria SystemV init ou SystemD systemd, porque eles vão lidar com a inicialização de daemons, a montagem do sistema de arquivos, etc. Se você usa /bin/bash (qualquer outra coisa funciona também), este programa é executado após o kernel ter se inicializado e, claro, tem acesso total a todos os dispositivos no computador (por exemplo, acesso root). Isso não é um recurso para administradores de sistemas, essa possibilidade deriva do design aberto do processo de inicialização.

  3. Sim, porque a autenticação não é tratada pelo kernel, isso tem que ser feito por um processo de espaço do usuário, normalmente por um iniciado por init . Para fazer isso, init precisa de acesso root ...

Como o outro pôster apontou, se você tiver acesso a hardware, a autenticação manipulada pelo sistema operacional (e não baseada em criptografia strong) é fútil. Por exemplo, você pode inicializar um computador com um sistema ativo (em CD), montar os sistemas de arquivos e apenas chroot em você. Com acesso root completo ... A criptografia é o caminho a percorrer!

    
por 31.01.2013 / 09:33