A passagem da máquina de laboratório para o penteado "Hackthebox - Friendzone"

Olá Habr! Neste artigo, quero falar sobre minha experiência em passar no laboratório Friendzone no portal hackthebox. Para aqueles que não ouviram o que é o hackthebox , este é um portal onde você pode testar suas habilidades na prática, existem máscaras CTF e máquinas de laboratório, cuja passagem será discutida neste artigo.

Direi imediatamente que as regras do serviço dizem: "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 " . Porém, como essa máquina não está mais ativa e é armazenada na seção "Máquinas aposentadas", apenas membros VIP têm acesso às máquinas nesta seção e nos registros, este artigo não viola nada e é totalmente legal. Então, vamos começar!



Coleta de informações


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



Do exposto acima, pode ser visto que as portas 21 (ftp), 22 (ssh), 53 (domínio), 80 (http), 139 (netbios-ssn), 443 (https) estão abertas. Vamos olhar para eles.

Enumerar 139 / tcp (netbios-ssn)


Usaremos o utilitário enum4linux para listar recursos compartilhados no host. A partir da saída do utilitário, fica claro que é permitido inserir os recursos / general e / Development



Agora precisamos verificar esses recursos.

Usando smbclient //10.10.10.123/general , encontramos o arquivo creds.txt que contém algumas credenciais, salve-o.





Enumeração DNS


Usaremos o utilitário dig , que possibilita verificar os registros no servidor DNS especificado para o domínio / subdomínio. O nome de domínio friendzone.red é obtido do certificado SSL CommonName (saída nmap para 443 / tcp).



Vamos para 10.10.10.123



Percebemos a caixa de correio info@friendportal.red e usamos dig novamente.



Inclua as entradas resultantes em / etc / hosts

Agora temos uma lista de endereços que precisam ser revisados ​​para os seguintes leads. Omitirei parte da história em que as páginas eram buracos de coelho. Consideramos apenas descobertas úteis.

Vamos para administartor1.friendzone.red e inserimos as credenciais encontradas em //10.10.10.123/general/creds.txt





Visite /dashboard.php



Eles são solicitados a inserir certos parâmetros para obter imagens. Como resultado, 2 imagens estão disponíveis para nós.





Por tentativa e erro, entendemos que a página é vulnerável ao LFI (inclusão de arquivo local) . E que podemos carregar o shell através do smbclient e acessá-lo usando esta vulnerabilidade. Nós tentamos!

Faça o download do shell em Desenvolvimentos.





Retornamos à página e nos referimos ao shell carregado.



Antes disso, é claro, executando o netcat para escutar na porta 1234.



Obtemos o shell do usuário www-data.

Depois de examinar o volunbox, encontramos o arquivo mysql_data.conf, que contém as credenciais do amigo do usuário.





Vamos tentar obter um terminal e fazer login como amigo.



Entramos no diretório inicial / home / friend e pegamos a bandeira do usuário.

Pegue o root.txt


Faça o download do pspy64 no volunbox para rastrear os processos em execução.

Título de spoiler
O pspy é uma ferramenta projetada para rastrear processos sem a necessidade de privilégios de root. Permite ver comandos executados por outros usuários, tarefas cron etc. à medida que progridem.



Iniciamos o pspy64, antes de definir a "execução" para o arquivo chmod + x.



Observamos que o reporter.py é iniciado a partir de um usuário com UID = 0 (ou seja, root). Vamos ver o conteúdo do arquivo reporter.py



Quase todas as linhas são comentadas e não fazem sentido, exceto a primeira, onde o módulo OS é importado. Seqüestro de biblioteca ?

Este módulo os.py tinha uma resolução de 777, para que pudéssemos fazer alterações com segurança do usuário Friend.

Adicionando o sistema de linhas (“cp /root/root.txt /home/Friend/root.txt”) ao módulo os.py e aguardando um pouco para o script iniciar.



Temos a bandeira raiz. Vitória!

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


All Articles