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
Postar um comentário