HTB - Write Up (WEB-NIX01)

Enumeração 

NMAP 

nmap -Pn -T4 -sC -sV -A [IP]

FTP permite login anonimo. Ao fazer o acesso é possível identificar o arquivo todo.txt no diretório Incoming e fazer o download desse arquivo. 


Arquivo todo.txt

Ao abrir o arquivo na máquina local é possível identificar o usuário james e o mesmo tem uma senha fraca configurada. 

Brute-Force no Wordpress

Primeiro usei a ferramenta CEWL para gerar uma wordlist customizada com o seguinte comando: 

cewl http://[IP]:65000/wordpress -w dicio.txt

Essa ferramenta faz uma enumeração no site e cria uma wordlist com palavras identificadas no site-alvo. 

A tela de login do Wordpress é acessível e para executar o brute-force no formulário, usei a ferramenta Hydra com o seguinte comando: 

hydra -l james -P dicio.txt -s 65000 10.10.110.100 -V http-form-post "/wordpress/wp-login.php:log=james&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.110.100%3A65000%2Fwordpress%2Fwp-admin%2F&testcookie=1:is incorrect"

Parâmetros do comando Hydra: 

-l = usuário
-P = wordlist
-s = porta
-V = verbose
http-form-post = indica um formulário de login

O restante do comando são os parâmetros enviados na requisição POST junto com a expressão "is incorrect" que é padrão quando o usuário é inválido. O Hydra retorna como válido a credencial que não corresponder a expressão "is incorrect". 

O resultado do brute-force é positivo e senha do usuário é descoberta. 


Login com sucesso na área administrativa do Wordpress. 



Reverse Shell no código do Wordpress

Na área de edição de temas, usei o tema Twenty Seventeen para adicionar o código da shell no arquivo index.php. 


Após inserir o código, o tema precisa ser habilitado, e ao acessar o arquivo index.php a conexão reversa é habilitada. 



O acesso é estabelecido com o usuário www-data e para obter acesso ao arquivo flag.txt é necessário fazer a escalação de privilégio. 

Privilege Escalation

No reconhecimento interno, buscando pontos para executar a escalação de privilégios, uma das primeiras ações é procurar binários com o SUID habilitado. Quando o SUID está habilitado em um binário, esse programa é executado como root. 

find / -perm -4000 2>/dev/null


O resultado mostra todos os binários com SUID habilitado, e para saber quais desses podemos usar na escalação de privilégio, consultei o site GTFO BINS 

Dentre os testes que fiz, o binário find pôde ser usado para fazer a escalação de privilégio. 

No site GTFO BINS podemos encontrar o comando e a descrição sobre a exploração do SUID para privilege escalation. 


./find .  -exec /bin/sh -p \; -quit


A partir do acesso root é possível acessar a flag no arquivo flag.txt. 

Enumeração Interna

Após realizar a primeira exploração e obter acesso a primeira máquina DANTE-WEB-NIX01, o passo seguinte é fazer o reconhecimento interno do servidor e buscar por credenciais disponíveis para acessar outros servidores e para persistir o acesso. 

Nesse ponto, manter o acesso ao servidor que já está Owned é importante e o SSH pode ser um ponto de acesso usado para a persistência. 

Nesse laboratório, existe o usuário Balthazar. Depois de executar a escalação de privilégio e acessar o diretório do usuário James, no arquivo .bash_history foi possível encontrar sd credenciais de acesso do Balthazar. 










Comentários

Postagens mais visitadas