Application Security

From Deploy WAR (Tomcat) to Shell (FreeBSD)

O objetivo deste post é demonstrar como a implementação insegura de serviços na rede pode facilitar o comprometimento de toda a infraestrutura de sua empresa. Neste caso a demonstração será com a instalação padrão do Apache Tomcat [1], em um servidor com o sistema operacional FreeBSD [2], sem nenhum ajuste nas configurações ou hardening no pós-instalação.

Durante um teste de intrusão foi descoberto que determinado servidor executava a aplicação Tomcat (porta 8080) e que o mesmo utilizava credenciais padrão [3] (tomcat:tomcat), assim, foi possível acessar sua interface administrativa, conforme figura 1.

Figura 1 – Interface Administrativa


O Tomcat possui uma falha bem conhecida e explorada, que é a criação de arquivos WAR maliciosos, podendo realizar o seu deploy [4] e ganhar acesso ao servidor, possibilitando executar comandos internos e ter controle do servidor. Para explorar esta falha, usamos o metasploit [5], criando um arquivo WAR com o comando msfpayload (figura 2).

Figura 2 – Msfpayload criando arquivo WAR.

O msfpayload utiliza um nome randômico na geração do arquivo jsp, para visualizar este nome é necessário extrair o conteúdo de convisolabs.war e anotar seu nome (figura 3).

Figura 3 – Nome jsp gerado.
 
 
Fazemos o deploy do arquivo convisolabs.war (figura 4 e 5).

Figura 4 – Arquivo WAR em deploy.

 

Figura 5 – Realizado o deploy.

Acessamos nosso backdoor através do nosso browser (figura 6). Lembrando que é necessário deixar o metasploit em modo listen (figura 7).

Figura 6 – Acessando o backdoor pela URL.
 
Figura 7 – Metasploit com shell conectada.

Na figura 7, ganhamos acesso ao servidor com usuário limitado (www), o próximo passo é escalar privilégios para tornarmos um usuário sem restrição (root), facilitando a expansão do comprometimento. Para esta tarefa, usamos um módulo [6] presente no metasploit (figura 8) que exige ao menos um diretório para a gravação de arquivos, por padrão, o módulo vem configurado para usar o diretório “/tmp”, em nosso caso,  não foi necessário alterar o diretório final. Desta forma, foi possível escalar privilégios e obter acesso irrestrito ao servidor.

 

 

Figura 8 – Nova shell com usuário root.
Os melhores hardwares e softwares não resolvem se não há um planejamento adequado ao disponibilizar algum tipo de serviço na internet.
 
Resultado: FreeBSD (9.1) Owned by Tomcat.

Conclusão:

Problemas e falhas existem em qualquer aplicação. Como profissionais de segurança da informação é nosso dever diminuir essa exposição reduzindo a superfície do ataque e corrigindo as falhas, com o objetivo de dificultar uma possível invasão. O trabalho de segurança em uma aplicação web ou qualquer outro software está relacionado à segurança da infraestrutura que o suporta, não limitando-se somente à blindagem da aplicação.

Na Conviso possuímos o Armature. Essa extensão do Conviso Security Compliance [7] possibilita que a empresa utilize Baselines e Aplicação / Monitoramento do hardening. A solução é totalmente flexível, sendo que a empresa poderá utilizar baselines desenvolvidos pelo Conviso Intelligence ou a criação de seus próprios, que serão convertidos em regras para o monitoramento dos agentes em tempo real. Com essa extensão é adicionado mais contexto as falhas, possibilitando priorizar melhor as ações da Gestão de Vulnerabilidades, pois a empresa não só terá a criticidade da falha da aplicação, mas também da infraestrutura que suporta a mesma, correlacionando e gerando métricas com a real criticidade.

Peça uma demonstração no link https://www.conviso.com.br/contato.php caso tenha interesse.

 
Até a próxima.

[1] http://tomcat.apache.org/
[2] http://www.freebsd.org/
[3] https://www.owasp.org/index.php/Testing_for_default_credentials_(OWASP-AT-003)
[4] http://tomcat.apache.org/tomcat-6.0-doc/deployer-howto
[5] http://www.metasploit.com/
[6] http://www.rapid7.com/db/modules/exploit/freebsd/local/mmap
[7] https://www.conviso.com.br/produtos.php

Originalmente postado no Blog da Conviso Application Security – Siga-nos no Twitter @conviso Google+
About author

Articles

A team of professionals, highly connected on news, techniques and information about application security
Related posts
Application Security

Webinar: PIX and the Secure Development

Much has been discussed about PIX, the new digital and instant Brazilian payment system developed by…
Read more
Application Security

Which topics should an AppSec Training Contemplate?

The development market seems to be becoming more and more aware of the need for Application Security…
Read more
Application Security

Webinar - What changes for AppSec Flow with the union of forces between Conviso and N-Stalker

Last September, Conviso and N-Stalker announced that the two companies would now join forces and…
Read more

Deixe um comentário