Introdução

O isolamento é uma abordagem de segurança fornecida por muitos sistemas informáticos. Baseia-se na divisão do sistema em peças independentes menores para garantir que um sub-sistema comprometido não possa afetar toda a entidade. Esta abordagem está presente em todos os sistemas operacionais modernos (por exemplo, contas de usuário , Espaços de endereço de processo etc.)

Chroot Jail é uma maneira de separar um processo que não é executado como root e seus filhos do resto do sistema, criando uma prisão usando a chamada do sistema chroot () (a chamada do sistema é uma interface entre um aplicativo e o kernel do Linux). A idéia é criar um diretório e fazer o processo pensar que ele está na pasta raiz e não permitir que ele acesse ou modifique fora dessa prisão. Veja como construir essa prisão e como escapar dela.

Configurar um usuário do Prisioneiro

Crie um novo usuário:  sudo adduser prisoner

Adicionar prisioneiro ao grupo raiz: sudo gpasswd -a prisoner root

(Verifique ao visitar o caminho / etc/group )

Crie uma pasta Chroot: mkdir chroot

Digite chroot ( cd / chroot ) e crie: bin,dev, etc, home, home/prisoner, lib, var,  usr, usr/bin folders: mkdir bin dev  etc home  home/prisoner  lib  var  usr  usr/bin

(Precisamos pelo menos bin e diretório lib dentro da prisão).

Agora, vamos copiar o utilitário bash shell que queremos que o usuário prisioneiro possa usar.

Tipo: cp / bin / bash / chroot / bin /

Para garantir que o bash shell funcione corretamente, precisamos localizar as bibliotecas necessárias e copiá-las para a pasta de prisão / lib: ldd / bin / bash

Agora vamos usar o comando Magic Chroot: sudo chroot /chroot  /bin/bash

Ps: se você receber esse erro: chroot: falhou ao executar o comando ‘/ bin / bash’, nenhum arquivo ou diretório.

Voila!

Escapando a prisão (Escaping the jail) :   

 

Agora vamos ver como escapar deste tipo de prisões:

  1. Primeiro precisamos adivinhar os comandos disponíveis apenas digitando alguns comandos: cd, ls, pwd, cp, vi etc … para saber o que podemos usar para escapar.
  2. Conheça as variáveis ​​$ SHELL e $ PATH usando: echo $ PATH e echo $ SHELL .
  3. Existem diferentes métodos e idéias para escapar da prisão, por exemplo:
  • Se ‘/’ estiver disponível, basta executar /bin/bash.
  • Se ‘set’ estiver disponível use: export PATH=/bin:/usr/bin:$PATH  

             E export SHELL=/bin/sh

  • Use outros comandos do sistema, por exemplo: awk ‘BEGIN {system(“/bin/sh”)}’
  • Use a linguagem de script, por exemplo: python – c  ‘import os;os.system(“/bin/bash”)’ 

Referências:

[1] http://www.adminarticles.com

Anúncios