Continuo publicando soluções enviadas para processamento adicional no site da HackTheBox .Neste artigo, exploraremos o RCE no OpenNetAdmin, investigaremos as configurações do servidor da Web, perfuraremos a porta com o SSH Forwarding, quebraremos a senha da chave SSH e usaremos a técnica GTFOBins para aumentar os privilégios.A conexão ao laboratório é via VPN. É recomendável não conectar-se a partir de um computador de trabalho ou de um host em que os dados importantes estejam disponíveis, pois você entra em uma rede privada com pessoas que sabem algo no campo da segurança da informação :)Informações Organizacionais, ,
Telegram . , ,
.
. , - , .
Recon
Esta máquina possui um endereço IP 10.10.10.171, que eu adiciono ao / etc / hosts.10.10.10.171 openadmin.htb
Primeiro, examinamos portas abertas. Como leva muito tempo para varrer todas as portas com o nmap, primeiro farei isso com o masscan. Examinamos todas as portas TCP e UDP da interface tun0 a uma velocidade de 500 pacotes por segundo.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.171 --rate=500
Agora, para obter informações mais detalhadas sobre os serviços que operam nas portas, executaremos uma varredura com a opção -A.nmap openadmin.htb -p22,80
Portanto, o serviço executa o SSH e o servidor da Web Apache. Dê uma olhada no que está localizado no site.
Nós encontramos a página principal do Apache. Nesses casos, os sites podem não estar localizados no diretório inicial do serviço. Para encontrá-los, você precisa classificar os diretórios. Para fazer isso, use o programa gobuster (supostamente o scanner mais rápido). Selecionamos o modo de varredura de diretório (dir), o dicionário (-w), o número de fluxos (-t), as extensões de página (-x), também a saída expandida das páginas (-e) e o URL (-u).gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb
Na saída, há muita resposta com o código 403 para filtrá-los, indicamos os códigos de resposta (-s) que precisamos.gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb -s “200,204,301,302,307,401”
E encontramos vários diretórios. Agora vamos dar uma olhada em tudo para descobrir o que está localizado lá.

E apenas em um desses sites, existe a função Login. Mas se você tentar fazer isso, vamos para a página do OpenNetAdmin.
Nesse caso, como você pode ver, a versão 18.1.1 é usada.Ponto de entrada
Vamos procurar explorações para esta versão.
E para esta versão, há uma exploração do RCE. O código já está no banco de dados local, vamos dar uma olhada.
Assim, o script usa um parâmetro - este é o URL. (Na inicialização, tive erros, então você pode abrir o arquivo através do mcedit e remover ^ M caracteres).
USER1
Estamos no diretório inicial.
E estamos cercados por um grande número de arquivos.
Alguns deles podem conter credenciais. Vejamos todos os arquivos com nomes de usuário recursivamente.
E não há resultados. Mas haverá muitos resultados ao pesquisar a palavra "passar".
Agora dê uma olhada em toda a configuração.
Esta é a senha para conectar-se ao banco de dados. Vamos tentar para os usuários. E efetuamos login com sucesso como usuário jimmy.
USER2
Primeiro, execute o script de enumeração base LinEnum .
A conclusão precisa ser analisada com muito cuidado, toda linha !!! E a única coisa na qual você pode se apegar na saída do script é a associação ao grupo.
Jimmy e Joanna estão no mesmo grupo interno. Vamos ver os arquivos pertencentes a este grupo.
A julgar pela localização - este é o site. Analisamos arquivos. O primeiro a assistir é o principal.
Se estivermos autorizados, eles nos mostrarão a chave SSH privada do usuário joanna. Segue-se do arquivo de índice que iremos para o main após autorização bem-sucedida. Ele também contém um hash de senha SHA512.
O hash quebra facilmente com a ajuda deste site .
Resta aprender como chegar ao site. As portas para acessar cada site podem ser encontradas no arquivo de configuração correspondente para cada site no diretório / etc / apache2 / sites-available para apache.
Como você pode ver, existe um internal.conf que nos interessa. Agora encaminhe a porta SSH.
A partir da configuração, fica claro que podemos acessar o site da máquina local na porta 52846 no domínio internal.openadmin.htb. Vamos colocar a porta em funcionamento - ou seja, redirecionar nossa porta local 52846 para a porta remota 52846. Essa técnica é chamada de encaminhamento de porta SSH.
Agora, na máquina local, faça uma entrada no arquivo / etc / hosts.127.0.0.1 internal.openadmin.htb
E abordaremos através do navegador o endereço internal.openadmin.htb : 52846 / index.php.
Efetue login com credenciais conhecidas e obtenha uma chave SSH privada.
Nós salvamos em um arquivo e atribuímos direitos.
Mas, ao tentar se conectar, eles nos pedem a senha da chave, porque ela é criptografada.
Podemos rolar pela tecla. Para fazer isso, vamos trazê-lo para o formato John'a e, em seguida, forneceremos o arquivo com a chave já convertida no formato para bruto.
E encontre com sucesso a senha. Já estamos conectados com a chave e a senha.
RAIZ
Uma das coisas a serem verificadas são as configurações do sudo para executar comandos sem uma senha.
A linha NOPASSWD diz que podemos executar este comando no sudo sem uma senha. Nesse caso, o comando nano é chamado. Existe uma técnica como GTFOBins, que permite o uso de vários utilitários para ler, gravar arquivos ou executar comandos inteiros. Uma lista completa de utilitários e seus recursos pode ser encontrada aqui . Vamos dar uma olhada em como obter shell usando o nano.
Execute nosso comando com sudo.
Agora, seguindo a ordem dos comandos, selecione a opção para ler o arquivo.
Agora a opção para executar comandos.
E insira a última linha da instrução.
E nós obtemos o shell em nome da raiz.
Você pode se juntar a nós no Telegram. Lá você encontra materiais interessantes, cursos mesclados e softwares. Vamos reunir uma comunidade na qual haverá pessoas versadas em muitas áreas da TI, para que possamos sempre ajudar-nos em qualquer problema de segurança da informação e da TI.