मेटास्प्लोइट जैसे उपकरण कंप्यूटरों का शोषण करने के लिए बहुत अच्छे हैं, लेकिन कंप्यूटर तक पहुंच प्राप्त करने के बाद क्या होता है? Backdoorme इस प्रश्न का उत्तर बैकडोर की एक श्रृंखला जारी करके देता है ताकि लंबे समय तक स्थायित्व स्थापित किया जा सके।
एक बार लक्ष्य के साथ SSH कनेक्शन स्थापित होने के बाद, Backdoorme की क्षमताएं सफल हो सकती हैं। दुर्भाग्य से, Backdoorme रूट एक्सेस प्राप्त करने का उपकरण नहीं है – केवल एक बार प्राप्त एक्सेस को बनाए रखता है।
कृपया Backdoorme का उपयोग केवल स्पष्ट अनुमति से करें – कृपया बिना पूछे हैक न करें।
उपयोग
Backdoorme दो भागों में विभाजित है: बैकडोर और मॉड्यूल।
बैकडोर कोड के छोटे टुकड़े होते हैं जो एक पोर्ट पर सुनते हैं और एक इंटरप्रेटर, जैसे bash, पर रीडायरेक्ट करते हैं। विभिन्न भाषाओं में कई बैकडोर लिखे गए हैं ताकि विविधता मिल सके।
मॉड्यूल बैकडोर को और अधिक प्रभावी बनाते हैं, उदाहरण के लिए, हर कुछ मिनटों में या जब भी कंप्यूटर बूट होता है, उन्हें चलाकर। यह स्थायित्व स्थापित करने में मदद करता है।
प्रदर्शन:
सेटअप
Backdoorme शुरू करने के लिए, पहले सुनिश्चित करें कि आपके पास आवश्यक निर्भरताएं हैं।
Python 3.5+ के लिए:
$ sudo apt-get install python3 python3-pip python3-tk nmap
$ cd backdoorme/
$ virtualenv --python=python3.5 env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
Python 2.7 के लिए:
$ sudo python dependencies.py
प्रारंभ करना
Backdoorme लॉन्च करना:
$ python master.py
एक लक्ष्य जोड़ने के लिए:
>> addtarget
Target Hostname: 10.1.0.2
Username: victim
Password: password123
+ Target 1 Set!
>>
बैकडोर
एक बैकडोर का उपयोग करने के लिए, बस "use" कीवर्ड चलाएं।
>> use shell/metasploit
+ Using current target 1.
+ Using Metasploit backdoor...
(msf) >>
वहां से, आप बैकडोर से संबंधित विकल्प सेट कर सकते हैं। कॉन्फ़िगर किए जा सकने वाले पैरामीटरों की सूची देखने के लिए "show options" या "help" चलाएं। एक विकल्प सेट करने के लिए, बस "set" कीवर्ड का उपयोग करें।
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name initd name of the backdoor False
...
(msf) >> set name apache
+ name => apache
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name apache name of the backdoor False
...
जैसे metasploit में, बैकडोर श्रेणी के अनुसार व्यवस्थित होते हैं।
- Auxiliary
- keylogger - सिस्टम में एक कीलॉगर जोड़ता है और परिणाम आपको ईमेल करने का विकल्प देता है।
- simplehttp - क्लाइंट पर Python का SimpleHTTP सर्वर स्थापित करता है।
- user - लक्ष्य में एक नया उपयोगकर्ता जोड़ता है।
- web - क्लाइंट पर Apache Server स्थापित करता है।
- Escalation
- setuid - SetUID बैकडोर एक बाइनरी पर setuid बिट सेट करके काम करता है जब उपयोगकर्ता के पास रूट एक्सेस होता है, ताकि जब बाद में उस बाइनरी को बिना रूट एक्सेस वाले उपयोगकर्ता द्वारा चलाया जाए, तो बाइनरी रूट एक्सेस के साथ निष्पादित हो। डिफ़ॉल्ट रूप से, यह बैकडोर nano पर setuid बिट फ्लिप करता है, ताकि यदि रूट एक्सेस कभी खो जाए, तो हमलावर एक अनप्रिविलेज्ड उपयोगकर्ता के रूप में वापस SSH कर सके और फिर भी nano (या कोई चुनी हुई बाइनरी) को रूट के रूप में चला सके। ('nano /etc/shadow')। ध्यान दें कि इस एस्केलेशन बैकडोर को तैनात करने के लिए शुरू में रूट एक्सेस आवश्यक है।
- shell - शेल बैकडोर एक विशेषाधिकार एस्केलेशन बैकडोर है, जो अपने SetUID एस्केलेशन भाई के समान (लेकिन अधिक विशिष्ट) है। यह bash शेल को एक छिपी बाइनरी में डुप्लिकेट करता है, और SUID बिट सेट करता है। ध्यान दें कि इस एस्केलेशन बैकडोर को तैनात करने के लिए शुरू में रूट एक्सेस आवश्यक है। उपयोग करने के लिए, SSH के माध्यम से एक अनप्रिविलेज्ड उपयोगकर्ता के रूप में लॉग इन करते समय, बस ".bash -p" चलाएं, और आपके पास रूट एक्सेस होगा।
- Shell
- bash - एक विशिष्ट आईपी और पोर्ट संयोजन से कनेक्ट करने और आउटपुट को bash में पाइप करने के लिए एक साधारण bash स्क्रिप्ट का उपयोग करता है।
- bash2 - उपरोक्त bash बैकडोर का थोड़ा अलग (और अधिक विश्वसनीय) संस्करण जो क्लाइंट-साइड पर पासवर्ड के लिए संकेत नहीं देता है।
- sh - पहले bash बैकडोर के समान, लेकिन इनपुट को /bin/sh पर रीडायरेक्ट करता है।
- sh2 - दूसरे bash बैकडोर के समान, लेकिन इनपुट को /bin/sh पर रीडायरेक्ट करता है।
- metasploit - लक्ष्य पर एक reverse_tcp बाइनरी बनाने के लिए msfvenom का उपयोग करता है, फिर meterpreter शेल से कनेक्ट करने के लिए बाइनरी चलाता है।
- java - Java की लाइब्रेरी का उपयोग करके एक सॉकेट कनेक्शन बनाता है और लक्ष्य पर बैकडोर को संकलित करता है।
- ruby - एक कनेक्शन बनाने के लिए ruby की लाइब्रेरी का उपयोग करता है, फिर /bin/bash पर रीडायरेक्ट करता है।
- netcat - नेटकैट का उपयोग करके मानक इनपुट और आउटपुट को /bin/sh पर पाइप करता है, उपयोगकर्ता को एक इंटरैक्टिव शेल देता है।
- netcat_traditional - नेटकैट-ट्रेडिशनल के -e विकल्प का उपयोग करके एक रिवर्स शेल बनाता है।
- perl - एक perl में लिखी गई स्क्रिप्ट जो आउटपुट को bash पर रीडायरेक्ट करती है, और प्रक्रिया को कम संदिग्ध दिखने के लिए उसका नाम बदल देती है।
- php - एक php बैकडोर चलाता है जो आउटपुट को bash पर भेजता है। यह स्वचालित रूप से एक वेब सर्वर स्थापित नहीं करता है, बल्कि इसके बजाय वेब मॉड्यूल का उपयोग करता है।
- python - कमांड निष्पादित करने और आउटपुट उपयोगकर्ता को वापस भेजने के लिए एक छोटी python स्क्रिप्ट का उपयोग करता है।
- web - लक्ष्य पर एक वेब सर्वर भेजता है, फिर msfvenom का php reverse_tcp बैकडोर अपलोड करता है और होस्ट से कनेक्ट करता है। हालांकि यह भी एक php बैकडोर है, लेकिन यह उपरोक्त php बैकडोर के समान नहीं है।
- Access
- remove_ssh - क्लाइंट पर ssh सर्वर को हटाता है। अक्सर backdoorme सत्र के अंत में सभी निशान हटाने के लिए उपयोग करना अच्छा होता है।
- ssh_key - RSA कुंजी बनाता है और पासवर्ड रहित ssh कनेक्शन के लिए लक्ष्य पर कॉपी करता है।
- ssh_port - ssh के लिए एक नया पोर्ट जोड़ता है।
- Windows
- windows - एक विंडोज बैकडोर बनाने के लिए msfvenom का उपयोग करता है।
मॉड्यूल
प्रत्येक बैकडोर में अतिरिक्त मॉड्यूल लागू करने की क्षमता होती है ताकि बैकडोर और अधिक प्रभावी हो सके। मॉड्यूल जोड़ने के लिए, बस "add" कीवर्ड का उपयोग करें।
(msf) >> add poison
+ Poison module added
प्रत्येक मॉड्यूल में अतिरिक्त पैरामीटर होते हैं जिन्हें अनुकूलित किया जा सकता है, और यदि "help" फिर से चलाया जाता है, तो आप कोई अतिरिक्त विकल्प देख या सेट कर सकते हैं।
(msf) >> help
...
Poison module options:
Option Value Description Required
------ ----- ----------- --------
name ls name of command to poison False
location /bin where to put poisoned files into False
वर्तमान में सक्षम मॉड्यूल में शामिल हैं:
- Poison
- लक्ष्य कंप्यूटर पर बिन पॉइज़निंग करता है – यह एक सिस्टम उपयोगिता और एक मौजूदा बैकडोर को कॉल करने के लिए एक निष्पादन योग्य संकलित करता है।
- उदाहरण के लिए, यदि बिन पॉइज़निंग मॉड्यूल "ls" के साथ ट्रिगर होता है, तो यह "ls" नामक एक बाइनरी संकलित और स्थानांतरित करेगा जो एक मौजूदा बैकडोर और मूल "ls" दोनों को चलाएगा, जिससे उपयोगकर्ता अधिक बार मौजूदा बैकडोर को चलाने के लिए प्रेरित होगा।
- Cron
- एक मौजूदा बैकडोर को रूट उपयोगकर्ता के क्रॉनटैब में एक निश्चित आवृत्ति के साथ चलाने के लिए जोड़ता है।
- Web
- एक वेब सर्वर सेट करता है और एक वेब पेज रखता है जो बैकडोर को ट्रिगर करता है।
- बस अपने लिसनर को खोलते हुए साइट पर जाएं और बैकडोर शुरू हो जाएगा।
- User
- लक्ष्य में एक नया उपयोगकर्ता जोड़ता है।
- Startup
- बैकडोर को bashrc और init फाइलों के साथ स्पॉन करने की अनुमति देता है।
- Whitelist
- एक आईपी को व्हाइटलिस्ट करता है ताकि केवल वही आईपी बैकडोर से कनेक्ट हो सके।