Continuo publicando soluções enviadas para processamento adicional no site da HackTheBox . Espero que isso ajude pelo menos alguém a se desenvolver no campo da segurança da informação. Neste artigo, trabalharemos muito com FTP e DNS, usaremos o SQLi no serviço whois e também seguiremos os rastros de outro hack, a saber, encontraremos um shell, selecionaremos um parâmetro e analisaremos os logs e o dump de tráfego.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 para você estejam disponíveis, pois você acaba em uma rede privada com pessoas que sabem alguma coisa no campo da segurança da informação :)Informações Organizacionais, - , :
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, ,
Telegram . , ,
.
. , - , .
Recon
Esta máquina possui um endereço IP 10.10.10.155, que eu adiciono ao / etc / hosts.10.10.10.155 scavenger.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.155 --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 -A scavenger.htb -p 21,22,25,43,53,80
Na saída do nmap, você pode descobrir que os serviços FTP, SSH, SMTP estão em execução no host (disponível no domínio ib01.supersechosting.htb), também serviço whois usando o MariaDB DBMS (outro nome de domínio é destacado - www.supersechosting.htb ), serviço DNS e servidor web Apache.Adicione os domínios encontrados ao / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb
Vamos tentar encontrar mais nomes de DNS. Vamos tentar fazer uma transferência de zona DNS usando dig.dig axfr supersechosting.htb @10.10.10.155
Adicione os dados da entrada em / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb
Em seguida, acesse o serviço WHOIS, cuja principal aplicação é obter dados de registro sobre os proprietários de nomes de domínio, endereços IP e sistemas autônomos.
Como os bancos de dados SQL são usados, enviaremos uma solicitação com uma cotação e perceberemos um erro gerado pelo serviço.
Assim, a injeção SQL está presente.
Primeiro, calculamos o número de colunas, bem como a coluna que é exibida para o usuário.
Portanto, obtemos o número de colunas - 2 e o que é exibido primeiro. Em seguida, descobrimos as tabelas e os nomes das colunas.
E agora lemos todos os domínios que o serviço conhece.
Encontre os novos nomes que adicionamos ao / etc / hosts.10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb
Agora, realizaremos uma transferência de zona a partir do nome encontrado.

Assim, encontrando novos nomes, complementamos o arquivo / etc / hosts10.10.10.155 scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb www.justanotherblog.htb www.pwnhats.htb www.rentahacker.htb sec03.rentahacker.htb
Ignorando todos os sites, não temos nada significativo, exceto uma mensagem de www.rentahacker.htb , da qual concluímos que o serviço já foi hackeado.
E indo para sec03.rentahacker.htb, vemos a confirmação disso.
Analise diretórios e arquivos usando o gobuster. Indicaremos o dicionário do dirb, o número de threads é 120, os códigos de resposta do servidor de interesse também são interessantes e o atraso de resposta permitido é de 20 segundos.gobuster dir -w /usr/share/wordlists/dirb/big.txt -t 120 -e -x php -u http://sec03.rentahacker.htb/ -s "200,204,301,302,307,401" --timeout 20s
Encontramos uma página interessante - shell.php, quando acessada, nada acontece. Provavelmente isso está acontecendo, pois estamos acessando a página sem parâmetros. Vamos classificar os parâmetros usando wfuzz, especificando uma lista nos parâmetros e o fato de que o número de palavras na resposta não deve ser 0.wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hw 0 http://sec03.rentahacker.htb/shell.php?FUZZ=id
Encontre o parâmetro, verifique.
Verifique o diretório / home.
Agora, procure no diretório inicial do usuário.
Examinamos as configurações do WordPress e obtemos o nome de usuário e a senha para conectar-se ao banco de dados.
Essa senha não se encaixava no SSH, mas foi para ftp e não nos deu nada. O host possui um serviço de email, portanto, faz sentido verificar as mensagens do usuário.
E encontramos mais uma credencial. Baixe tudo o que estiver em FTP.wget -m --no-passive ftp://ib01ftp:YhgRt56_Ta@ftp.supersechosting.htb
Nós vamos para o diretório em que os arquivos são baixados e vemos o que temos. Há uma nota, um log e um despejo de tráfego.
Abra o Wireshark e veja o que está lá. A julgar pelo log, estamos interessados na sessão HTTP, vamos ver todos os objetos HTTP: Arquivo -> Exportar Objetos -> HTTP.
De tudo o que foi apresentado, salve o código root.c
Em seguida, vá para a janela principal do Wireshark e verifique algumas credenciais. Portanto, temos três solicitações POST, a senha é transmitida a eles.
Essa senha é adequada para autenticação FTP.
Há também um diretório estranho - "...". Nele jazia root.ko.
Vamos analisar o código fonte.
Desde o início, fica claro com qual dispositivo estamos lidando. Verifique se este dispositivo está no sistema.
É isso mesmo, existe um dispositivo. No código, estamos interessados em uma função que, após verificar a linha de entrada, fornecerá acesso em nome do usuário com uid igual a 0, ou seja, root.
Agora abra o programa no descompilador e encontre a função root_write.
O código é ligeiramente modificado e, em vez da linha g0tROot, a linha correta é g3tPr1v. Vamos voltar ao shell original e, após obter privilégios de root, veremos seu diretório inicial.
Nós pegamos a bandeira.
Você pode se juntar a nós no Telegram . Vamos montar uma comunidade na qual haverá pessoas versadas em muitas áreas da TI, para que possamos sempre ajudar-nos mutuamente em qualquer problema de segurança da informação e da TI.