जवाबों:
यह संभावना है कि यह एक गलत सकारात्मक है क्योंकि वहाँ chkrootkit में एक बग है (माना जाता है कि बाद के संस्करण 0.50-3ubuntu1 में तय किया गया है)। जाहिरा तौर पर chkrootkit एक कठोर पर्याप्त जाँच नहीं करता है।
देखें: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566
इसके अतिरिक्त आप rkhunter की कोशिश कर सकते हैं जो chkrootkit के समान है।
कुछ और जानकारी: सौभाग्य से, चल रही फ़ाइल `जो chkrootkit` हमें दिखाती है कि chkrootkit सिर्फ एक शेल स्क्रिप्ट है इसलिए हम सीधे इसका निरीक्षण कर सकते हैं।
Searching for Suckit in the file /usr/sbin/chkrootkit we find:
### Suckit
if [ -f ${ROOTDIR}sbin/init ]; then
if [ "${QUIET}" != "t" ];then printn "Searching for Suckit rootkit... "; fi
if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME || \
cat ${ROOTDIR}/proc/1/maps | ${egrep} "init." ) >/dev/null 2>&1
then
echo "Warning: ${ROOTDIR}sbin/init INFECTED"
else
if [ -d ${ROOTDIR}/dev/.golf ]; then
echo "Warning: Suspect directory ${ROOTDIR}dev/.golf"
else
if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi
fi
fi
fi
मुख्य पंक्ति यह है:
cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."
उबंटू के हालिया संस्करणों के बाद से, उस कमांड को चलाने से कुछ आउटपुट मिलते हैं (रूट या सुडो के रूप में चलाने की आवश्यकता होती है):
# sudo cat /proc/1/maps | egrep "init."
b78c2000-b78db000 r-xp 00000000 08:02 271571 /sbin/init (deleted)
b78db000-b78dc000 r--p 00019000 08:02 271571 /sbin/init (deleted)
b78dc000-b78dd000 rw-p 0001a000 08:02 271571 /sbin/init (deleted)
हालांकि, यह एक रूटकिट द्वारा एक संक्रमण नहीं है। मैंने rkhunter कोड को भी देखा है, और चेक कहीं अधिक कठोर हैं (रूटकिट द्वारा स्थापित सभी प्रकार की अतिरिक्त फ़ाइलों के लिए परीक्षण)।
मैंने chkrootkit फ़ाइल में लाइनों को 1003,1004 में बदल दिया है, चेक / पर / 1 / मैप्स की जांच करने के लिए नहीं (पहले कॉपी लेने के लिए याद रखें)
if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME ) \
>/dev/null 2>&1
2013-07-31 तक कुबंटु 13.04 पर
चल रहा है:
cat /sbin/init | egrep HOME
पैदा करता है:
Binary file (standard input) matches
तथा
चल रहा है:
cat /proc/1/maps | egrep "init."
कोई उत्पादन नहीं करता है।
नोट: अवधि को हटाने से आउटपुट ("init" को "init" में बदल जाता है)
b7768000-b779f000 r-xp 00000000 08:02 399192 /sbin/init
b779f000-b77a0000 r--p 00036000 08:02 399192 /sbin/init
b77a0000-b77a1000 rw-p 00037000 08:02 399192 /sbin/init
तो यह मुझे प्रतीत होता है कि घर की जाँच करने वाला हिस्सा समस्या है।
यदि कोई यह अनुमान लगा सकता है कि rkhunter की एक वैध जाँच है, तो शायद आसान रास्ता बस इस खंड को chkrootkit से हटाने और rkhunter और chkrootkit दोनों को चलाने के लिए है?
strings /sbin/init | grep HOME
करूँ तो क्या मैं XDG_CACHE_HOME and XDG_CONFIG_HOME
अभी भी एक झूठी सकारात्मक हूँ? / Sbin / init में स्ट्रिंग "HOME" की खोज करने का उद्देश्य क्या है? वह सकारात्मक क्यों होना चाहिए?