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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/grish-pradhan/cve-2017-7184
Privilege EscalationVulnerability AnalysisExploitationLearning & EducationBinary Exploitation
GitHubgrish-pradhan/cve-2017-7184

CVE-2017-7184

CVE-2017-7184, Linux 커널 XFRM netlink 스택 오버플로우에 대한 개념 증명 로컬 권한 상승 익스플로잇입니다. 네임스페이스 남용과 커널 ROP를 통해 sudo 없이 루트 권한을 획득하는 방법을 시연합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-7184 – Linux Kernel XFRM 권한 상승 (sudo 불필요)

개요

이 저장소는 CVE-2017-7184에 대한 개념 증명 로컬 권한 상승 익스플로잇입니다. 이 취약점은 Linux 커널의 XFRM (IPsec) netlink 서브시스템에 존재합니다.

익스플로잇은 권한이 없는 사용자가 다음과 같은 방법으로 **실제 루트 (UID 0)**를 획득할 수 있음을 보여줍니다.

  1. 권한이 없는 사용자 + 네트워크 네임스페이스 생성

  2. 네임스페이스 내부에서 CAP_NET_ADMIN 획득

  3. XFRM netlink 처리에서 커널 스택 오버플로우 유발

  4. 커널 ROP 체인 실행으로 다음 호출:

    • prepare_kernel_cred(NULL)
    • commit_creds()
  5. 전체 루트 권한으로 안전하게 사용자 공간으로 복귀

sudo는 필요하지 않습니다.


취약점 세부 정보

필드값
CVECVE-2017-7184
구성 요소Linux Kernel – XFRM Netlink
버그 유형커널 스택 오버플로우
영향로컬 권한 상승
공격 벡터로컬 (권한 없는 사용자)
익스플로잇 분류네임스페이스 남용 + ROP
최초 영향 버전Linux 커널 ≤ 4.8
수정 버전2017년에 배포된 커널 패치

익스플로잇 전략 (개괄)

  1. 권한 없는 사용자 네임스페이스

    • unshare(CLONE_NEWUSER | CLONE_NEWNET) 사용
    • 현재 사용자를 네임스페이스 내부의 UID 0에 매핑
    • sudo 없이 CAP_NET_ADMIN 부여
  2. XFRM Netlink 남용

    • NETLINK_XFRM 소켓 생성
    • 변조된 XFRM_MSG_NEWSA 메시지 전송
    • 과도하게 큰 속성으로 커널 스택 오버플로우 유발
  3. 커널 ROP 실행

    • 커널 스택 덮어쓰기
    • 제어된 ROP 체인 실행
    • 커널 컨텍스트에서 자격 증명 상승
  4. 사용자 공간으로 복귀

    • swapgs; iretq 사용
    • 대화형 루트 셸 실행

요구 사항

  • 취약한 Linux 커널 ( 4.8.0-36-generic에서 테스트됨)
  • unprivileged_userns_clone = 1
  • 커널 심볼 사용 가능 또는 알려진 오프셋
  • pthread를 지원하는 gcc

네임스페이스 지원 확인:

root@kitploit:~
cat /proc/sys/kernel/unprivileged_userns_clone

예상 출력:

root@kitploit:~
1

컴파일

root@kitploit:~
gcc exploit.c -o exploit -pthread

실행

root@kitploit:~
./exploit

sudo를 사용하지 마십시오.

성공하면 실제 루트 셸을 얻을 수 있습니다:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)

커널 주소 해석

익스플로잇은 다음을 시도합니다:

  1. /proc/kallsyms에서 심볼 유출

  2. 제한된 경우, 다음을 위한 하드코딩된 오프셋으로 대체:

    • commit_creds
    • prepare_kernel_cred
    • 커널 베이스

⚠️ ROP 가젯과 오프셋은 커널 버전에 따라 다릅니다. 다른 빌드에 맞게 조정해야 합니다.


예상 결과

완전 성공적인 익스플로잇

  • UID = 0
  • GID = 0
  • 대화형 루트 셸

부분 성공 (여전히 취약)

  • 네임스페이스 생성 작동
  • XFRM 소켓 생성 성공
  • 오버플로우 페이로드 전송
  • 커널 충돌 또는 권한 상승 없음

이 경우에도 시스템이 취약함을 확인할 수 있습니다.


한계

  • 하드코딩된 ROP 가젯 (커널 종속적)
  • kallsyms 외에는 KASLR 우회 없음
  • 강화된 커널에 대한 SMEP/SMAP 우회 없음
  • 최신 커널에서 신뢰할 수 없음

완화 조치

  • 패치된 버전으로 커널 업데이트
  • 권한 없는 사용자 네임스페이스 비활성화:
root@kitploit:~
sysctl -w kernel.unprivileged_userns_clone=0
  • KASLR, SMEP, SMAP 활성화
  • netlink 기능 제한

면책 조항

이 코드는 교육 및 보안 연구 목적으로만 제공됩니다.

  • 소유하지 않았거나 테스트 허가를 받지 않은 시스템에서는 사용하지 마십시오
  • 저자는 오용이나 손해에 대해 책임을 지지 않습니다
  • 커널 익스플로잇 기술 학습을 위한 것입니다

참고 자료

  • CVE-2017-7184
  • Linux Kernel XFRM 서브시스템
  • 사용자 네임스페이스 권한 상승
  • 커널 ROP 및 commit_creds 익스플로잇
도구 다운로드