Primeiro de tudo precisamos enumerar os serviços que estão em funcionamento:
Depois disso precisamos identificar se os serviços em execução estão vulneráveis. Como demonstrado no exemplo, podemos ver que a versão utilizada no OpenSSH não existe nenhum exploit publicado:
Continuando a pesquisa vimos que existe um exploit para a versão do apache 1.3.20, entretanto, o servidor que suporta esse webserver esta utilizando uma plataforma linux (RedHat) e não windows:
Dessa forma, o que nos resta pesquisar e aversão do OpenSSL que esta sendo utilizado e ai conseguimos ver algo interessante que está relacionado aversão do OpenSSL e modssl:
OK, agora precisamos copiar o arquivo para o diretório local com o comando searchsploit -m 764 (onde devemos passar o “id” do arquivo)
Apos baixar o arquivo ao abrir voce vai encontrar algumas instrucoes de como atualizar o exploit para que ele funcione. Vou inserir abaixo um resumo disso mas voce pode encontrar mais detalhes nesse link https://paulsec.github.io/blog/2014/04/14/updating-openfuck-exploit/
1. Inclua esses cabecalhos
#include <openssl/rc4.h>
#include <openssl/md5.h>
2. Procure por wget e substitua a url por http://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c
3. Instale o libssl-dev utilizando o comando apt-get install libssl-dev
4. Mude “unsigned char *p, *end;” para “const unsigned char *p, *end;” na linha 961 do arquivo baixado
5. Compile usando o comando “gcc -o OpenFuck 764.c -lcrypto”
Provavelmente voce vai se deparar com alguns erros por conta da lib que precisamos e não temos instalada; se esse for o caso, instale usando o seguinte comando apt-get install libssl1.0-dev
Agora voce poderá tentar compilar sem erros usando o comando citado no passo 5.
Funcionou, agora vamos verificar as instruções do exploit que foram apresentadas:
Certo, sabemos que o offset que estamos procurando e um servidor Red Hat e WebServer Apache 1.3.20, então podemos executar o comando e filtrar a saída com essas informações:
Pronto, temos 2 (duas) opções de teste para verificar se o exploit ira funcionar na maquina de destino – 0x6a ou 0x6b.
Tentei executar o exploit usando o offset 0x6a e não obtive sucesso conforme demonstrado abaixo:
Efetuei o teste agora do offset 0x6b e BINGO, conseguimos ter acesso root a maquina de destino.
Sucesso, agora temos acesso root na maquina de destino.
Referencias.
https://www.exploit-db.com/exploits/764/
http://paulsec.github.io/blog/2014/04/14
Informações sobre o autor
Dennis Silva é Coordenador de Segurança da Informação e Team Líder com +10 anos trabalhando com Tecnologia da Informação e iniciou sua carreira em uma das Big Four como auditoria de sistemas.
Trabalhou como consultor de Segurança da Informação e seu papel era avaliar os riscos inerentes ao negócio e controles aplicados através de testes de invasão na infraestrutura interna/externa, aplicações Web e ERPs com SAP e TOTVS.
Responsável pela implementação da ISO/EIC 27001 na maior empresa de desenvolvimento de software da América Latina, potencializando a principal oferta de comercialização do software no modelo SaaS em datacenter próprio.