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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DirtyClone — DirtyClone - 소스에서 CVE-2026-43503으로 설명되는 커널/XFRM 관련 취약점을 대상으로 하는 로컬 권한 상승(LPE) 개념 증명 | Kitploit
도구/GitHubGitHub/gl1tch0x1/dirtyclone
Privilege EscalationExploitationShellcodeCryptographyPayload DevelopmentBinary Exploitation
GitHubgl1tch0x1/dirtyclone

DirtyClone

DirtyClone - 소스에서 CVE-2026-43503으로 설명되는 커널/XFRM 관련 취약점을 대상으로 하는 로컬 권한 상승(LPE) 개념 증명

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DirtyClone

DirtyClone은 C로 작성된 진단용 개념 증명 로컬 권한 상승 도구입니다. 소스에서 CVE-2026-43503으로 설명된 커널/XFRM 관련 익스플로잇 경로를 대상으로 하며, 통제된 환경에서 승인된 보안 연구 목적으로만 사용됩니다.

개요

이 저장소는 다음을 포함합니다:

  • dirtyclone.c – 전체 익스플로잇 구현체
  • README.md – 사용 및 환경 가이드

현재 구현은 다음과 같은 상위 수준 단계를 수행합니다:

  • 격리된 사용자 및 네트워크 네임스페이스 생성,
  • 루프백 네트워킹 및 XFRM/IPsec 상태/정책 구성,
  • AES-CBC 암호화를 사용한 ESP 페이로드 구축,
  • TEE 기반 UDP 경로 및 원시 IP 폴백을 통한 전달 시도,
  • 대상 SUID 바이너리의 페이지 캐시가 패치될 때까지 대기,
  • 페이지 캐시가 수정되면 대상 바이너리 실행.

중요 공지

이 도구는 승인된 보안 테스트 전용입니다. 명시적 허가 없이 시스템에서 실행하는 것은 불법일 수 있으며 시스템 무결성에 영향을 줄 수 있습니다.

빌드

먼저 필요한 OpenSSL 개발 패키지를 설치하세요:

root@kitploit:~
# Debian/Ubuntu
sudo apt-get install libssl-dev

# Fedora
sudo dnf install openssl-devel

# Arch Linux
sudo pacman -S openssl

그런 다음 바이너리를 컴파일합니다:

root@kitploit:~
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2

사용법

다음 명령으로 프로그램을 실행하세요:

root@kitploit:~
./dirtyclone

선택적 인자:

root@kitploit:~
./dirtyclone -q    # 조용한 모드
./dirtyclone -v    # 상세 모드 (기본값)
./dirtyclone -h    # 도움말 표시

프로그램의 동작

실행 시 프로그램은 다음을 수행합니다:

  1. 배너를 출력하고 이미 루트로 실행 중인지 확인합니다;
  2. 커널 및 아키텍처 세부 정보를 확인하고 시스템이 취약 범위와 일치하는지 보고합니다;
  3. 네임스페이스와 루프백 네트워킹을 설정합니다;
  4. XFRM 상태/정책을 구성하고 TEE netfilter 규칙을 추가하려고 시도합니다;
  5. 대상 SUID 바이너리를 메모리에 매핑하고 원본 바이트와 예상 바이트의 PoC 요약을 출력합니다;
  6. UDP+TEE 또는 원시 IP 폴백을 사용하여 ESP 패킷을 전송합니다;
  7. 페이지 캐시에 주입된 바이트가 반영될 때까지 기다린 후 대상 바이너리를 실행하려고 시도합니다.

DirtyClone의 작동 방식

익스플로잇은 간단한 아이디어를 기반으로 합니다. 프로그램이 조작된 ESP/XFRM 페이로드를 준비하여 커널이 데이터를 페이지 캐시 백업 메모리 영역으로 복호화하도록 한 후, 대상 SUID 바이너리의 바이트가 변경되었는지 확인합니다.

실용적인 측면에서 프로그램은 다음 작업을 수행합니다:

  • 대상 파일 /usr/bin/su를 식별하고 메모리에 매핑합니다;
  • 셸코드 바이트와 필요한 ESP 메타데이터를 포함하는 작은 페이로드를 준비합니다;
  • 페이로드를 AES-CBC로 암호화하여 XFRM/ESP 경로에 주입할 수 있도록 합니다;
  • TEE 지원 UDP 또는 원시 IP 폴백을 사용하여 로컬 네트워크 스택을 통해 패킷을 전송합니다;
  • 매핑된 영역에서 예상 바이트가 나타날 때까지 모니터링합니다;
  • 바이트가 나타나면 익스플로잇 경로가 페이지 캐시를 변경했다고 가정하고 패치된 대상 경로를 실행합니다.

이는 개념 증명 흐름이며, 범용 권한 상승 프레임워크가 아닙니다. 익스플로잇 메커니즘을 시연하고 대상 커널이 여전히 취약한 동작을 노출하는지 확인하는 데 도움을 주기 위한 것입니다.

더미 구현 예제

다음은 동일한 개념을 상위 수준으로 보여주는 간단한 예제입니다:

root@kitploit:~
#include <stdio.h>
#include <string.h>

static int dummy_exploit(unsigned char *target_bytes) {
    unsigned char expected[] = {0x31, 0x0f, 0x05};
    memcpy(target_bytes, expected, sizeof(expected));
    return 0;
}

int main(void) {
    unsigned char target[16] = {0};
    dummy_exploit(target);
    printf("Patched bytes: %02x %02x %02x\n", target[0], target[1], target[2]);
    return 0;
}

실제 프로젝트는 동일한 원리를 사용하지만, 페이로드를 ESP/XFRM 스타일 패킷으로 패키징하고 단순한 메모리 복사 대신 네트워킹 스택을 통해 커널 경로를 구동합니다.

익스플로잇 워크스루

  1. 설정 단계

    • 프로그램이 네임스페이스를 생성하여 프로세스 환경을 격리합니다;
    • 패킷이 로컬에 머물도록 루프백 네트워킹을 구성합니다.
  2. XFRM 준비

    • 익스플로잇이 커널에 ESP 트래픽 처리 방법을 알리는 XFRM 상태 및 정책을 추가합니다;
    • 또한 트래픽을 계획된 경로로 리디렉션할 수 있도록 TEE 규칙을 설치하려고 시도합니다.
  3. 페이로드 구성

    • 코드가 셸코드 스타일 바이트를 포함하는 작은 평문 페이로드를 빌드합니다;
    • 페이로드는 정적 테스트 키를 사용하여 AES-CBC로 암호화됩니다.
  4. 전달 단계

    • 프로그램이 조작된 ESP 패킷을 UDP 또는 원시 IP를 통해 전송합니다;
    • 커널이 패킷을 처리하고, 취약한 시스템의 경우 복호화된 데이터를 대상 바이너리의 페이지 캐시 영역에 다시 씁니다.
  5. 확인 및 실행

    • 코드가 대상 파일의 바이트를 관찰하고 예상 셸코드 바이트와 일치하는지 확인합니다;
    • 일치하면 대상 바이너리를 실행하고 제어를 주입된 페이로드 경로로 넘기려고 시도합니다.

기술적 세부 사항

구현에는 다음이 포함됩니다:

  • 페이지 캐시 변경을 기다리는 동안 적응형 재시도 로직,
  • atexit 및 시그널 핸들러를 통해 등록된 정리 루틴,
  • fork/execvp 기반 안전한 명령 실행,
  • OpenSSL EVP API를 사용한 AES-CBC 암호화,
  • x86_64 및 AArch64용 아키텍처 인식 셸코드,
  • TEE 지원 UDP 및 원시 IP 전송을 위한 이중 전달 로직.

전제 조건

소스는 다음을 갖춘 Linux 환경을 기대합니다:

  • GCC 또는 Clang,
  • OpenSSL 개발 헤더 및 라이브러리,
  • 시스템에서 사용 가능한 ip, iptables, modprobe,
  • /usr/bin/su의 대상 바이너리,
  • 설명된 익스플로잇 경로에 취약할 수 있는 커널.

예상 동작

프로그램은 진단용 PoC 요약을 보여주고 다음 중 하나를 수행합니다:

  • 페이지 캐시를 성공적으로 패치하고 대상 바이너리를 실행하거나,
  • 커널이 패치되었거나 익스플로잇 경로를 사용할 수 없는 경우 깔끔하게 실패합니다.

익스플로잇이 트리거되지 않으면 프로그램은 커널이 패치되었을 가능성이 있음을 암시하는 명확한 메시지를 출력합니다.

안전 및 윤리

다음의 경우에만 이 프로젝트를 사용하세요:

  • 대상 시스템을 소유하고 있거나,
  • 테스트할 명시적 권한이 있거나,
  • 연구실 또는 격리된 환경에서 작업하는 경우.

프로덕션 시스템이나 평가 권한이 없는 시스템에서는 절대 이 코드를 실행하지 마세요.

라이선스 및 저작자

소스 헤더는 저자를 MrAashish0x1 (gl1tch0x1)로 식별합니다. 저장소에는 별도의 라이선스 파일이 포함되어 있지 않으므로, 코드는 프로덕션 소프트웨어가 아닌 연구 자료로 취급해야 합니다.

도구 다운로드