
सुरक्षित, नियंत्रित मॉक सिस्टम जो CVE-2021-4034 (PwnKit) का अनुकरण करता है, जिसमें out-of-bounds read/write, environment variable injection, और kernel defense detection शैक्षिक शोषण अभ्यास के लिए है।
यह प्रोजेक्ट लिनक्स pkexec डेमॉन में पाई गई CVE-2021-4034 (Out-of-Bounds Read/Write) भेद्यता के मुख्य संचालन सिद्धांत को पुनः प्रस्तुत करने वाली एक मॉक प्रणाली है। यह वास्तविक SUID विशेषाधिकार वृद्धि के बिना, नियंत्रित वातावरण में पर्यावरण चर मेमोरी क्षेत्र के उल्लंघन और दुर्भावनापूर्ण पेलोड इंजेक्शन तंत्र को सुरक्षित रूप से अनुकरण करता है।
विशेष रूप से, यह मॉक प्रणाली नवीनतम लिनक्स कर्नेल के execve रक्षा तंत्र (खाली सरणी पास करने पर बलपूर्वक खाली स्ट्रिंग डालकर argc=1 बनाने की घटना) का पता लगाने और ऑफसेट को समायोजित करके पिछले संवेदनशील मेमोरी वातावरण का सफलतापूर्वक अनुकरण करने के लिए डिज़ाइन की गई है।
cve-2021-4034-mock/
├── README.md # 프로젝트 설명 및 실행 가이드
├── src/
│ ├── mock_pkexec.c # 인자값(argc) 검증이 누락된 타겟 데몬 소스
│ └── exploit.c # execve를 통해 공격 페이로드를 전달하는 공격자 소스
└── bin/ # 컴파일된 실행 파일 저장 경로 (빌드 시 생성됨)
टर्मिनल में प्रोजेक्ट रूट निर्देशिका पर जाएं, फिर स्रोत कोड को संकलित करने के लिए नीचे दिए गए आदेशों को क्रम से एक-एक करके दर्ज करें।
# 1. 실행 파일이 저장될 bin 폴더 생성
mkdir -p bin
# 2. 타겟 프로그램(모의 시스템) 컴파일
gcc -Wall -Wextra -o bin/mock_pkexec src/mock_pkexec.c
# 3. 공격 익스플로잇 스크립트 컴파일
gcc -Wall -Wextra -o bin/exploit src/exploit.c
सफलतापूर्वक संकलित होने पर, bin/ फ़ोल्डर में mock_pkexec और exploit निष्पादन योग्य फ़ाइलें बनाई जाएंगी।
सामान्य रूप से आर्गुमेंट पास करके निष्पादित करने पर, यह प्रदर्शित होता है कि रक्षा तर्क के कारण अनुमति सत्यापन विफल हो जाता है या सुरक्षित रूप से बंद हो जाता है।
./bin/mock_pkexec test_argument
[OK] संदेश के साथ प्रोग्राम समाप्त हो जाता है।हमला स्क्रिप्ट चलाकर बलपूर्वक argc=0 पेलोड (NULL सरणी) पास करके भेद्यता को ट्रिगर किया जाता है।
./bin/exploit
argc को 1 पर बलपूर्वक समायोजित करता है, और मेमोरी संदर्भ सूचकांक को गतिशील रूप से सुधारता है।argv सरणी की सीमा से परे आसन्न envp क्षेत्र में उल्लंघन होता है।GCONV_PATH) को सिस्टम मेमोरी में सफलतापूर्वक अधिलेखित कर दिया जाता है और लाल रंग में [FATAL] ENVIRONMENT CORRUPTION DETECTED! चेतावनी प्रदर्शित होती है।परीक्षण समाप्त होने के बाद संकलित बाइनरी फ़ाइलों को हटाने के लिए नीचे दिए गए आदेश का उपयोग करें।
rm -rf bin/