
संभावित रूप से दुर्भावनापूर्ण PHP फ़ाइलों का पता लगाएं
_______ __ __ _______
| ___ || |_| || |
| | | || || ___|
| |___| || || |___| Webshell finder,
| ___|| || ___| kiddies hunter,
| | | ||_|| || | website cleaner.
|___| |_| |_||___|
Detect potentially malicious PHP files.
PHP-malware-finder ओबफ़स्केटेड/संदिग्ध कोड के साथ-साथ उन फ़ाइलों का पता लगाने की पूरी कोशिश करता है जो मैलवेयर/वेबशेल में अक्सर उपयोग किए जाने वाले PHP फ़ंक्शन का उपयोग करती हैं।
निम्नलिखित एन्कोडर/ओबफ़स्केटर/वेबशेल की सूची भी पता लगाई जाती है:
बेशक, PMF को बायपास करना त्रिविध है, लेकिन इसका लक्ष्य बच्चों और मूर्खों को पकड़ना है, न कि काम करने वाले दिमाग वाले लोगों को। यदि आप PMF के लिए एक मूर्खतापूर्ण अनुकूलित बायपास रिपोर्ट करते हैं, तो आप संभवतः एक (या दोनों) श्रेणी में आते हैं, और पिछले कथन को फिर से पढ़ना चाहिए।
पता लगाना फ़ाइलसिस्टम को क्रॉल करके और फ़ाइलों को YARA नियमों के एक सेट के विरुद्ध परीक्षण करके किया जाता है। हाँ, यह इतना सरल है!
हैश-आधारित दृष्टिकोण का उपयोग करने के बजाय, PMF जितना संभव हो सके अर्थपूर्ण पैटर्न का उपयोग करने का प्रयास करता है, ताकि "एक $_GET वेरिएबल को दो बार डिकोड किया जाता है, अनज़िप किया जाता है, और फिर system जैसे किसी खतरनाक फ़ंक्शन को पास किया जाता है" जैसी चीजों का पता लगाया जा सके।
git clone https://github.com/jvoisin/php-malware-finder.gitcd php-malware-finder && makeया अंतिम 2 चरणों को go install github.com/jvoisin/php-malware-finder से बदलें, जो सीधे PMF को आपके ${GOROOT}/bin फ़ोल्डर में संकलित और स्थापित करेगा।
$ ./php-malware-finder -h
Usage:
php-malware-finder [OPTIONS] [Target]
Application Options:
-r, --rules-dir= Alternative rules location (default: embedded rules)
-a, --show-all Display all matched rules
-f, --fast Enable YARA's fast mode
-R, --rate-limit= Max. filesystem ops per second, 0 for no limit (default: 0)
-v, --verbose Verbose mode
-w, --workers= Number of workers to spawn for scanning (default: 32)
-L, --long-lines Check long lines
-c, --exclude-common Do not scan files with common extensions
-i, --exclude-imgs Do not scan image files
-x, --exclude-ext= Additional file extensions to exclude
-u, --update Update rules
-V, --version Show version number and exit
Help Options:
-h, --help Show this help message
या यदि आप yara का उपयोग करना पसंद करते हैं:
$ yara -r ./data/php.yar /var/www
कृपया ध्यान रखें कि आपको कम से कम YARA 3.4 का उपयोग करना चाहिए क्योंकि हम व्हाइटलिस्ट सिस्टम के लिए हैश और लालची रेगेक्सपी का उपयोग कर रहे हैं। कृपया ध्यान दें कि यदि आप स्रोतों से yara बनाने की योजना बनाते हैं, तो हैश के समर्थन के लिए आपके सिस्टम पर libssl-dev स्थापित होना चाहिए।
ओह, और वैसे, आप make tests के साथ व्यापक टेस्टसूट चला सकते हैं।
यदि आप Go और libyara स्थापित करने से बचना चाहते हैं, तो आप हमारी डॉकर छवि का भी उपयोग कर सकते हैं और जिस फ़ोल्डर को आप स्कैन करना चाहते हैं उसे कंटेनर के /data निर्देशिका में माउंट कर सकते हैं:
$ docker run --rm -v /folder/to/scan:/data ghcr.io/jvoisin/php-malware-finder
whitelist.yar फ़ाइल देखें। यदि आप आलसी हैं, तो आप generate_whitelist.py स्क्रिप्ट के साथ पूरे फ़ोल्डरों के लिए व्हाइटलिस्ट उत्पन्न कर सकते हैं।
क्योंकि:
PHP-malware-finder को GNU Lesser General Public License v3 के तहत लाइसेंस प्राप्त है।
अद्भुत YARA प्रोजेक्ट Apache v2.0 लाइसेंस के तहत लाइसेंस प्राप्त है।
पैच, व्हाइटलिस्ट या नमूने निश्चित रूप से स्वागत योग्य हैं।