Escolar Documentos
Profissional Documentos
Cultura Documentos
Write-up fly
A melhor parte do Hacking Club é que ele é muito prático. Se você é novo em hacking, experimente.
Varredura nmap:
Precisamos saber quais serviços estão sendo executados nos bastidores e quais portas estão abertas. Então, vamos usar
uma ferramenta chamada nmap.
Ports:
Write-Up - Fly 1
Porta 22 - SSH
Porta 80 - HTTP
Write-Up - Fly 2
Olhando o código fonte da página:
Write-Up - Fly 3
Vamos começar adicionando o fly.uhclabs ao nosso arquivo /etc/hosts
Para isso, temos que mapear o endereço IP com o nome de domínio, adicionando uma linha no arquivo host, conforme
ilustrado na imagem a seguir:
Porta 8080:
Write-Up - Fly 4
Wildfly, também conhecido como JBoss, é um servidor de aplicação Java EE desenvolvido em Java e pode ser executado
em qualquer Sistema Operacional, 32 ou 64 bits que tenha suporte ao Java.
Clicando em Administration Console, temos o WildFly Admin Console, também conhecido como WildFly Management
Console rodando na porta 9990
Write-Up - Fly 5
Infelizmente não temos a senha 😐
Como vimos que na porta 80 está rodando um cms → Wordpress
Próximo passo é rodar o Wpscan.
WPScan é um software de teste de caixa-preta para escanear possíveis vulnerabilidades em instalações WordPress e seus
complementos
Wpscan
https://github.com/wpscanteam/wpscan
-e ap = all plugins
- -api-token = usa a API do banco de dados de vulnerabilidade do WordPress para recuperar dados de vulnerabilidade
do WordPress em tempo real
-t = threads
Write-Up - Fly 6
Vulnerabilidade no plugin GraceMedia Player 1.0
A vulnerabilidade existe devido a um erro de validação de entrada ao processar sequências de passagem de diretório
passadas por meio do parâmetro cfg.
O parâmetro "cfg" não é higienizado permitindo incluir arquivos locais (LFI)
CVE:2019-9618
https://www.exploit-db.com/exploits/46537
De acordo com o site exploit-db.com o caminho com o parâmetro vulnerável é:
/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?
ajaxAction=getIds&cfg=../../../../../../../../../../etc/passwd
Write-Up - Fly 7
Então iremos testar:
Temos LFI , agora irei ler os arquivos de configuração do Wildfly , para ver se encontramos o login do Admin console que está
rodando na porta 9990.
https://docs.wildfly.org/17/Admin_Guide.html
Lendo a documentação do wildfly, descubro que o arquivo mgmt-users.properties mostra os detalhes de configuração do
usuário, como nome de usuário, senha etc.
http://fly.uhclabs.com/wp-content/plugins/gracemedia-media-player/templates/files/ajax_controller.php?ajaxAction=getIds&cfg=../../../.
Aqui encontramos a nossa primeira flag e a senha do user admin, mas a senha está encodado em base64, então iremos
decodificar.
Write-Up - Fly 8
echo "TUBzdDNyUjAwdFBAc3N3MHJkITsu" | base64 -d
M@st3rR00tP@ssw0rd!;.
Temos o username que é admin e a senha, agora iremos logar no Admin Console do wildfly
Write-Up - Fly 9
Deployment
Add deployment
Write-Up - Fly 10
Obs: Deixar em OFF
Explode
Write-Up - Fly 11
Agora → Enable
Write-Up - Fly 12
Agora usarei o Netcat para ficar ouvindo em uma porta para nós recebermos a conexão
reversa.
nc -lvp 4444
Write-Up - Fly 13
E recebemos a conexão 😀
Shell tty
Atualizando shell simples para TTYs totalmente interativos.
Ctrl+Z
Enter
export TERM=xterm
2º Flag:
Depois de pegar reverse shell no servidor, não encontrei a segunda flag, e para encontra-la usei uma ferramenta → ripgrep.
https://github.com/BurntSushi/ripgrep
ripgrep é uma ferramenta de pesquisa orientada por linha que pesquisa recursivamente no diretório atual por um padrão
regex. Por padrão, o ripgrep respeitará as regras do gitignore e pulará automaticamente os arquivos / diretórios ocultos e os
arquivos binários. ripgrep tem suporte de primeira classe em Windows, macOS e Linux, com downloads binários disponíveis
para cada versão . ripgrep é semelhante a outras ferramentas de pesquisa populares como The Silver Searcher, ack e grep.
Então vamos lá, depois de baixar a ferramenta na minha máquina, eu a enviarei para o servidor.
No servidor:
Write-Up - Fly 14
wildfly@ip-172-31-17-152:/$ cd /dev/shm
wildfly@ip-172-31-17-152:/dev/shm$ chmod +x rg
E com isso consigo pegar a segunda flag, que estava dentro do arquivo /etc/wildfly/wildfly-old.conf
Root:
https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS
LinPEAS é um script que procura caminhos possíveis para escalar privilégios em hosts Linux / Unix *
Aqui pularei todo o passo a passo de baixar o LinPEAS para nossa máquina e depois a enviar para o servidor.
Rodando o LinPEAS no servidor:
Write-Up - Fly 15
Durante o PenTest, quando você encontrar qualquer arquivo SUID interessante com /usr/lib/jvm/java-11-openjdk-
amd64/bin/jjs(ao executar o LinPEAS ou qualquer outro script para escalar privilégios), aqui está o rápido exploit que permitirá
que você obtenha acesso root por meio de escalonamento de privilégios. Então, siga GTFobins - JJS Exploit .
Write-Up - Fly 16
Write-Up - Fly 17