Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Darkcloak — Linux प्रक्रिया पहचान छिपाने वाला उपकरण जो किसी अन्य प्रक्रिया का रूप धारण करने के लिए 11-चरणीय prctl पाइपलाइन के माध्यम से comm, argv, cmdline, environ, exe पथ और VMA को स्पूफ करता है। | Kitploit
उपकरण/GitHubGitHub/0x574r/darkcloak
विशेषाधिकार वृद्धिस्थायित्व तंत्रआईडीएस/आईपीएस से बचनापहचान छुपाने के उपकरणपोस्ट-शोषणबाइनरी विश्लेषणपेपर और शोधरेड टीमिंगफिंगरप्रिंट स्पूफिंग
GitHub0x574r/darkcloak

Darkcloak

Linux प्रक्रिया पहचान छिपाने वाला उपकरण जो किसी अन्य प्रक्रिया का रूप धारण करने के लिए 11-चरणीय prctl पाइपलाइन के माध्यम से comm, argv, cmdline, environ, exe पथ और VMA को स्पूफ करता है।

11233 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

DARKCLOAK

NASM Platform Architecture

Linux प्रक्रिया पहचान छिपाना

DARKCLOAK सभी userspace-दृश्यमान पहचान स्रोतों के हेरफेर को एक 11-चरणीय अनुक्रमिक पाइपलाइन में श्रृंखलाबद्ध करता है जो एक प्रक्रिया को उत्तरोत्तर रूपांतरित करता है जब तक कि यह userspace निगरानी उपकरणों के लिए नकल की गई प्रक्रिया से अप्रभेद्य न हो जाए। हमारी जानकारी के अनुसार, कोई भी प्रकाशित उपकरण सभी userspace-दृश्यमान पहचान स्रोतों के एक साथ हेरफेर को संयोजित नहीं करता है।

पूरा तकनीकी लेख RAZOR ब्लॉग पर उपलब्ध है।

क्या स्पूफ किया जाता है

  • task_struct->comm: PR_SET_NAME के माध्यम से
  • argv[0]: सीधे स्टैक ओवरराइट के माध्यम से
  • कमांड लाइन (/proc/$PID/cmdline): PR_SET_MM_ARG_START/END के माध्यम से
  • वातावरण (/proc/$PID/environ): PR_SET_MM_ENV_START/END के माध्यम से
  • निष्पादन योग्य पथ (/proc/$PID/exe): PR_SET_MM_EXE_FILE के माध्यम से
  • फ़ाइल-समर्थित VMA (/proc/$PID/maps): अनाम मेमोरी से प्रतिस्थापित
  • प्रक्रिया नामस्थान दृश्यता: unshare के माध्यम से

यह कैसे काम करता है

पाइपलाइन उन कर्नेल सबसिस्टम के बीच निर्भरताओं द्वारा परिभाषित एक सख्त क्रम में चलती है जिनमें हेरफेर किया जा रहा है:

  1. ELF आत्मनिरीक्षण: PHT को हल करने और सभी तीन PT_LOAD सेगमेंट की वर्चुअल एड्रेस रेंज प्राप्त करने के लिए _start पर सहायक वेक्टर को पार्स करता है
  2. क्रेडेंशियल पढ़ना: बाद में बहाली के लिए मूल UID और GID संग्रहीत करने के लिए getresuid / getresgid
  3. UID एस्केलेशन: यदि तीन UID में से कोई भी 0 है तो setresuid(0,0,0)
  4. क्षमता एस्केलेशन: capget/capset के माध्यम से अनुमत सेट को प्रभावी और विरासत में मिलने वाले सेट में कॉपी करता है
  5. पहचान स्पूफिंग:
    • prctl(PR_SET_NAME) → task_struct->comm को ओवरराइट करता है
    • [rsp+8] पर सीधा स्टैक राइट → argv[0] को ओवरराइट करता है
    • prctl(PR_SET_DUMPABLE, 0) → गैर-विशेषाधिकार प्राप्त प्रक्रियाओं से एक्सेस और को ब्लॉक करता है

mmap ट्रैम्पोलिन

PR_SET_MM_EXE_FILE EBUSY के साथ विफल हो जाता है जबकि कोई भी VMA अभी भी मूल बाइनरी द्वारा समर्थित है। चूंकि .text सेगमेंट को अनमैप नहीं किया जा सकता जबकि RIP उसके अंदर है, अनामीकरण एक अस्थायी अनाम पृष्ठ से चलता है:

  1. 4096-बाइट अनाम पृष्ठ आवंटित करें (mmap)
  2. अनामीकरण कोड (mm_start→mm_end) और सेगमेंट मेटाडेटा को उसमें कॉपी करें
  3. पृष्ठ को निष्पादन योग्य बनाएं (mprotect)
  4. उसमें जाएं: RIP .text छोड़ देता है
  5. तीन PT_LOAD सेगमेंट में से प्रत्येक के लिए: एक नया अनाम क्षेत्र mmap करें → सेगमेंट सामग्री memcpy करें → मूल को munmap करें → अनाम कॉपी को मूल पते पर वापस mremap करें → मूल अनुमतियों को बहाल करने के लिए mprotect करें
  6. अब-अनाम .text पर लौटें, ट्रैम्पोलिन पृष्ठ को अनमैप करें

बाइनरी एक स्थिर ELF है जिसमें कोई इंटरप्रेटर नहीं है, इसलिए रनटाइम VMA लेआउट पूरी तरह से नियतात्मक है: तीन PT_LOAD सेगमेंट, स्टैक, और कर्नेल vDSO।

बिल्ड

root@kitploit:~
nasm -f elf64 darkcloak.asm -o darkcloak.o
ld darkcloak.o -o darkcloak

कॉन्फ़िगरेशन

स्पूफिंग लक्ष्य कंपाइल समय पर .data सेक्शन में परिभाषित किए जाते हैं। डिफ़ॉल्ट sshd की नकल करते हैं:

root@kitploit:~
mimic_name    db 'sshd', 0
mimic_argv    db './sshd', 0
mimic_exe     db '/usr/sbin/sshd', 0
mimic_cmdline db '/usr/sbin/sshd', 0, '-D', 0, '[email protected]', 0, ...
mimic_environ db 'LANG=en_US.UTF-8', 0, 'NOTIFY_SOCKET=/run/systemd/notify', 0, ...

किसी भिन्न प्रक्रिया की नकल करने के लिए, बिल्ड करने से पहले इन मानों को अपडेट करें।

उपयोग

root@kitploit:~
./darkcloak

अनुमत सेट में CAP_SYS_RESOURCE, CAP_SETUID, CAP_SETGID, और CAP_SETPCAP की आवश्यकता होती है। यदि CAP_SYS_RESOURCE अनुपस्थित है, तो MM स्पूफिंग ब्लॉक (VMA अनामीकरण + EXE_FILE स्वैप) पूरी तरह से छोड़ दिया जाता है। यदि CAP_SETPCAP अनुपस्थित है, तो उपकरण PR_SET_SECUREBITS से PR_SET_KEEPCAPS पर वापस आ जाता है।

सत्यापन

root@kitploit:~
./darkcloak &
PID=$!

cat /proc/$PID/comm
readlink /proc/$PID/exe
cat /proc/$PID/cmdline | tr '\0' ' '
cat /proc/$PID/environ | tr '\0' '\n' | head -3
cat /proc/$PID/maps | head -5
cat /proc/$PID/status | grep -E 'Uid|Gid|Cap'
ps aux | grep $PID

अस्वीकरण

विशेष रूप से शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रकाशित। केवल उन सिस्टम पर उपयोग करें जिनका आप स्वामी हैं या जिनका परीक्षण करने के लिए आपके पास स्पष्ट लिखित प्राधिकरण है।

टूल डाउनलोड करें
/proc/$PID/mem
ptrace(PTRACE_ATTACH)
  • mmap ट्रैम्पोलिन के माध्यम से VMA अनामीकरण (नीचे देखें) → सभी फ़ाइल-समर्थित मैपिंग को हटाता है
  • prctl(PR_SET_MM_ARG_START/END) → /proc/$PID/cmdline को रीडायरेक्ट करता है
  • prctl(PR_SET_MM_ENV_START/END) → /proc/$PID/environ को रीडायरेक्ट करता है
  • prctl(PR_SET_MM_EXE_FILE) → mm_struct->exe_file को प्रतिस्थापित करता है
  • क्षमता प्रतिधारण: UID ड्रॉप से बचने के लिए PR_SET_SECUREBITS (यदि CAP_SETPCAP) या PR_SET_KEEPCAPS (फ़ॉलबैक)
  • UID डी-एस्केलेशन: setresuid(1000,1000,1000) या मूल को बहाल करें
  • GID डी-एस्केलेशन: setresgid(1000,1000,1000) या मूल को बहाल करें
  • क्षमता डी-एस्केलेशन: प्रभावी और विरासत में मिलने वाले सेट को साफ़ करता है
  • नामस्थान अलगाव: unshare(CLONE_NEWUSER | CLONE_NEWPID | CLONE_NEWNET | CLONE_NEWIPC)
  • होल्ड: nanosleep(120s) फिर exit