Bashed - HTB Write Up - Arrexel PHP Exploit
Arrexel PHP Exploit
Enumeração Geral
nmap -Pn -sV -p- --open [IP]
Scan HTTP
nmap -Pn -p 80 -A [IP]
Ao acessar a porta 80/HTTP encontramos a aplicação Arrexel PHP que é uma Web Shell para desenvolvedores.
Enumeração de diretórios
Usando a ferramenta GoBuster encontrei o diretório /dev/ onde os scripts para executar a web shell estão armazenados phpbash.php e phpbash.min.php
Resultado do GoBUster
O script disponibilizado pelo Pentester Monkey para a shell-reversa pode ser acessado neste LINK
No diretório da máquina-atacante habilitei o web server com python e na máquina-alvo fiz o download do script com o wget dentro do diretório /tmp onde o usuário www-data tem permissão de escrita.
A próxima etapa é fazer a escalação de privilégio.
Enumeração Interna
sudo -l
O resultado aqui é interessante pois o usuário www-data pode executar qualquer comando no contexto do usuário scriptmanager.
env
Na fase de escalação de privilégio é necessário identificar a versão do Kernel e do S.O. No entanto, a exploração pode resultar em crash da máquina e instabilidade e, portanto, é recomendável procurar formas alternativas de elevar o privilégio sem usar a exploração do kernel ou S.O antes de avaliar se é possível usar outras técnicas.
uname -a
find / -perm -u=s -type f 2>/dev/null
find / -perm -g=s -type f 2>/dev/null
No diretório raiz é possível ver o diretório scripts que pertence ao usuário scriptmanager. Dentro desse diretório existem dois arquivos test.py e test.txt
Como executar comando com o SUDO no contexto de outro usuário?
sudo -i -u [nome-do-usuário]
O owner do script test.py é o usuário scriptmanager e o owner do arquivo test.txt é root. O script test.py abre e escreve no arquivo test.txt.
Aqui a dica é: se o usuário tem permissão de escrever em um arquivo onde o owner é o root, um script com uma shell-reversa executado pelo scriptmanager pode abrir uma conexão privilegiada.
O script com a shell-reversa em python está disponível no PentestMonkey e criei o script na máquina-atacante e fiz o upload para a máquina-alvo.
Script de Shell-Reversa em Python
Comentários
Postar um comentário