Link para download: https://www.vulnhub.com/entry/dc-1-1,292/
Descoberta de host nmap -sn 192.168.44.0/24
(Porque a máquina de destino DC usa o modo NAT, e meu modo de NAT é o segmento de rede 192.168.44.0, então eu só preciso verificar os hosts sobreviventes recém-adicionados no segmento de rede 192.168.44.0, que deve ser a máquina de destino)
Depois de encontrar o endereço IP da máquina alvo, inicie uma varredura de porta e descubra que a porta 22 80 111 está aberta
Visitei a porta 80 e descobri que era Drupal cms, um dos três principais PHP CMS (drupal joomal wordpress), mas não sei a versão específica
Ao escanear a porta com nmap antes, o parâmetro -A foi usado, então o arquivo robots.txt foi encontrado no site e o arquivo robots.txt verificado no nmap
Encontrado em UPGRADE.txt que a versão drupal é 7.x
Use searchsploit em kali para procurar vulnerabilidades no drupal 7
Use /usr/share/exploitdb/exploits/php/webapps/34992.py esta vulnerabilidade de injeção de SQL para adicionar o usuário administrador
Ver uso
Use /usr/share/exploitdb/exploits/php/webapps/34992.py
/usr/share/exploitdb/exploits/php/webapps/34992.py -t url do site -u nome de usuário com direitos de administrador adicionados -p senha de usuário
Acima, você pode ver que o usuário Administrador foi criado com sucesso
Faça login no plano de fundo, clique no plano de fundo e encontre flag3
Encontrei um arquivo para carregar em segundo plano, e o fígado está lá há muito tempo, mas não há fígado.
Mude a ideia, use o msf para verificar se há um exp disponível
Tempo:
msfconsole iniciar msf
pesquisa exp pesquisa drupal
use exploit / unix / webapp / drupal_drupalgeddon2 use o exp
Configure o exp e execute
Obtenha o shell, encontre flag1
cat flag1.txt ler flag1
Obtenha dicas: todo bom CMS precisa de um arquivo de configuração, e este também é
Procure a localização do arquivo de configuração
cat settings.php leu o arquivo de configuração e encontrou flag2 e usuário e senha de banco de dados
Dica do Flag2: cracking de força bruta e ataques de dicionário não são as únicas maneiras de obter direitos de acesso (você precisa obter direitos de acesso), se usar essas autenticações.
'banco de dados' => 'drupaldb',
'nome de usuário' => 'dbuser',
'senha' => 'R0ck3t',
De acordo com o usuário e a senha do banco de dados, tentei fazer login no banco de dados MySQL e descobri que o shell msf não conseguiu executar o comando para fazer login no banco de dados
Obter concha
Use o shell obtido para fazer login no banco de dados, mas ainda não pode fazer login no banco de dados sem um eco
Apenas para melhorar o shell obtido e descobrir que há um ambiente python na máquina de destino, você pode escrever um shell para ele com python
python -c 'import pty; pty.spawn ("/ bin / sh")'
Referência: O artigo anterior: https://blog.csdn.net/qq_32393893/article/details/105487795 Complete este shell para
completar o shell, depois que a resposta for exibida, efetue login com sucesso no banco de dados MySQL
A conta tímida de administrador criada no início do artigo anterior foi encontrada na tabela de usuários e o sinalizador 3 foi obtido.
Folheando o banco de dados, nada mais foi encontrado
O usuário flag4 foi encontrado no arquivo / etc / passwd
Use hydra para explodir a senha de flag4 e descubra que ela abre a porta 22. O dicionário que uso aqui é o dicionário de john e o caminho é /usr/share/john/password.list
Faça login com sucesso, encontre o arquivo flag4.txt, obtenha flag4
De acordo com o prompt, a sinalização está sob root, tente escalar o privilégio suid e encontre o arquivo executável suid em execução no sistema
Encontrar execução foi encontrada, tente encontrar privilégio
toque tímido
encontrar tímido -exec whoami \;
encontrar tímido -exec / bin / sh \;
cd / root
cat thefinalflag.txt