
Linux रूटकिट्स का पता लगाएं जो प्रोसेस विशेषाधिकारों को बढ़ाने के लिए सिग्नल का उपयोग करते हैं।
Linux रूटकिटों का पता लगाएं जो प्रक्रिया विशेषाधिकार बढ़ाने के लिए सिग्नल का उपयोग करते हैं।
कुछ रूटकिट सिग्नल हैंडलर स्थापित करते हैं जो विशेषाधिकार बढ़ाने के लिए विशेष सिग्नलों की प्रतीक्षा करते हैं। यह उपकरण सिग्नल भेजकर और UID के रूट में बदलने का अवलोकन करके इन रूटकिटों की पहचान कर सकता है। वैकल्पिक रूप से रूट शेल स्पॉन करता है।
इनके साथ परीक्षण किया गया:
666 की जानकारी आवश्यक है)आप नवीनतम पूर्व-निर्मित बाइनरी रिलीज़ पेज से डाउनलोड कर सकते हैं; या स्रोत से नवीनतम प्री-रिलीज़ संस्करण बना सकते हैं:
git clone https://github.com/bcoles/rootkit-signal-hunter && \
cd rootkit-signal-hunter && \
cargo build --release
rootkit-signal-hunter -- [OPTIONS]
--min <MIN>: न्यूनतम सिग्नल संख्या (डिफ़ॉल्ट: 0)--max <MAX>: अधिकतम सिग्नल संख्या (डिफ़ॉल्ट: 64)-s, --shell: रूट शेल लॉन्च करें (यदि पहचान हो)-t, --threads: वर्कर थ्रेड की संख्या (डिफ़ॉल्ट: 16)-p, --pid: सिग्नल भेजने के लिए प्रोसेस आईडी (डिफ़ॉल्ट: $$)-v, --verbose: विस्तृत आउटपुट सक्षम करें[!NOTE]
--pidकार्यान्वयन नई स्पॉन की गई प्रक्रिया की प्रोसेस आईडी दर्शाने के लिए$$का उपयोग करता है। यह POSIX-अनुरूप न होने वाले शेल जैसे Fish पर विफल होगा।
Singularity जैसे रूटकिट
और Diamorphine किसी भी प्रोसेस आईडी का उपयोग करके विशेषाधिकार वृद्धि की अनुमति देते हैं
और डिफ़ॉल्ट विकल्पों के साथ आसानी से पहचाने जा सकते हैं
(-s रूट शेल स्पॉन करता है):
rootkit-signal-hunter -s
KoviD जैसे रूटकिट के लिए -p / --pid फ़्लैग के साथ एक विशिष्ट
प्रोसेस आईडी प्रदान करना आवश्यक है:
rootkit-signal-hunter -s --pid 666
[!NOTE] इससे आईडी
666वाली वैध प्रक्रिया समाप्त हो सकती है (यदि वर्तमान उपयोगकर्ता के पास आवश्यक अनुमति हो)।
यह परियोजना MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।
डेविड रेगुएरा गार्सिया (Dreg) को धन्यवाद, जिन्होंने lsrootkit के भाग के रूप में समान सिग्नल-आधारित पहचान लागू की।
कॉपीराइट © 2025, bcoles