
Penelope Shell Handler
Penelope पैठ परीक्षकों और CTF खिलाड़ियों के लिए एक आधुनिक शेल हैंडलर है। यह बुनियादी netcat लिसनरों की तुलना में अधिक सक्षम विकल्प प्रदान करता है, जिसमें स्वचालित PTY अपग्रेड, सत्र प्रबंधन, लॉगिंग, फ़ाइल स्थानांतरण और सहायक मॉड्यूल शामिल हैं।
Penelope यूनिक्स-जैसे सिस्टम (Linux, macOS और FreeBSD) पर चलता है और इसके लिए Python 3.6+ आवश्यक है।
Penelope Kali Linux में उपलब्ध है:
sudo apt update
sudo apt install penelope
Penelope पूरी तरह से Python की मानक लाइब्रेरी के साथ लागू किया गया है, जिससे यह किसी बाहरी निर्भरता के बिना एक स्टैंडअलोन स्क्रिप्ट के रूप में चल सकता है:
wget -q https://raw.githubusercontent.com/brightio/penelope/refs/heads/main/penelope.py && python3 penelope.py
GitHub से नवीनतम अपस्ट्रीम संस्करण स्थापित करने के लिए:
pipx install git+https://github.com/brightio/penelope
एक संस्करणबद्ध और अधिक स्थिर रिलीज़ पथ के लिए, Penelope PyPI पर भी उपलब्ध है:
pipx install penelope-shell-handler
| विशेषता | यूनिक्स-जैसा लक्ष्य | विंडोज लक्ष्य |
|---|---|---|
| ऑटो-अपग्रेड शेल | PTY | readline(*) |
| रीयल-टाइम टर्मिनल आकार परिवर्तन | ✅ | ❌ |
| शेल गतिविधि लॉगिंग | ✅ | ✅ |
| दूरस्थ फ़ाइलें/फ़ोल्डर डाउनलोड करें | ✅ | ✅ |
| स्थानीय/HTTP फ़ाइलें/फ़ोल्डर अपलोड करें | ✅ | ✅ |
| रीयल-टाइम आउटपुट डाउनलोड के साथ इन-मेमोरी स्थानीय/HTTP स्क्रिप्ट निष्पादन | ✅ | ❌ |
| स्थानीय पोर्ट फ़ॉरवर्डिंग | ✅ | ❌ |
| एकाधिक टैब और/या होस्ट पर शेल स्पॉन करें | ✅ | ❌ |
| प्रति होस्ट N सक्रिय शेल को स्वचालित रूप से बनाए रखें (मृत्यु पर पुनः स्पॉन) | ✅ | ❌ |
(*) upgrade कमांड से मैन्युअल रूप से PTY में अपग्रेड किया जा सकता है
⚠️ विंडोज समर्थन प्रायोगिक है और सक्रिय विकास के अधीन है।
set DisablePayloadHandler True के साथ डिफ़ॉल्ट हैंडलर को अक्षम करके Metasploit एक्सप्लॉइट्स के साथ मिलकर काम कर सकता है--mcp स्विच के साथ लाइव सत्रों को MCP क्लाइंट (जैसे Claude Code) के लिए उजागर करें (स्थानीय HTTP, टोकन-प्रमाणित), आपके साथ-साथ उन्हीं शेल को चलाएँ

penelope # 0.0.0.0:4444 पर रिवर्स शेल सुन रहा है
penelope -p 5555 # 0.0.0.0:5555 पर रिवर्स शेल सुन रहा है
penelope -p 4444,5555 # 0.0.0.0:4444 और 0.0.0.0:5555 पर रिवर्स शेल सुन रहा है
penelope -i eth0 -p 5555 # eth0:5555 पर रिवर्स शेल सुन रहा है
penelope -a # 0.0.0.0:4444 पर रिवर्स शेल सुनें और नमूना रिवर्स शेल पेलोड दिखाएं
penelope -c target -p 3333 # target:3333 पर बाइंड शेल से कनेक्ट करें
penelope ssh user@target # स्थानीय पोर्ट 4444 पर लक्ष्य से रिवर्स शेल प्राप्त करें
penelope -p 5555 ssh user@target # स्थानीय पोर्ट 5555 पर लक्ष्य से रिवर्स शेल प्राप्त करें
penelope -i eth0 -p 5555 -- ssh -l user -p 2222 target # eth0 पर, स्थानीय पोर्ट 5555 पर लक्ष्य से रिवर्स शेल प्राप्त करें (यदि ssh को स्विच की आवश्यकता हो तो -- का उपयोग करें)
penelope -s <File/Folder> # HTTP के माध्यम से एक फ़ाइल या फ़ोल्डर साझा करें

-s)Penelope को त्वरित HTTP फ़ाइल सर्वर के रूप में भी उपयोग किया जा सकता है।
penelope -s file.txt # 0.0.0.0:8000 पर एक फ़ाइल प्रस्तुत करें
penelope -s /path/to/dir # पूरा फ़ोल्डर प्रस्तुत करें
penelope -s a.sh b.elf notes.txt # एक साथ कई आइटम प्रस्तुत करें
penelope -s . -p 80 # वर्तमान निर्देशिका को पोर्ट 80 पर प्रस्तुत करें
penelope -s secret.txt -prefix xk9 # URL उपसर्ग के पीछे छिपाएं: /xk9/secret.txt
penelope -s -u # अपलोड मोड: CWD में PUT/POST स्वीकार करें
penelope -s -u -ud /tmp/loot # अपलोड मोड, प्राप्त फ़ाइलों को /tmp/loot में संग्रहीत करें
शुरू होने पर, Penelope प्रति इंटरफ़ेस एक उपयोग के लिए तैयार लिंक प्रिंट करता है (और जब -u सेट होता है तो एक अपलोड संकेत), ताकि आप सीधे लक्ष्य शेल में कॉपी-पेस्ट कर सकें।
जैसा कि नीचे दिए गए वीडियो में दिखाया गया है, केवल कुछ सेकंड के भीतर हम यह कर सकते हैं:
https://github.com/brightio/penelope/assets/65655412/7295da32-28e2-4c92-971f-09423eeff178
कुछ नोट्स:
F12 दबाने की आवश्यकता है। यदि अपग्रेड संभव नहीं था और आप एक बुनियादी शेल के साथ समाप्त हुए हैं, तो आप इसे Ctrl+C से अलग कर सकते हैं। यह शेल की आकस्मिक हत्या को भी रोकता है।interact 1 के बजाय आप केवल i 1 टाइप कर सकते हैं।
positional arguments:
args -s/--serve और SSH रिवर्स शेल मोड के लिए तर्क
options:
-p, --ports सुनने/कनेक्ट/सर्व करने के लिए पोर्ट (अल्पविराम से अलग), -i/-c/-s विकल्पों पर निर्भर करता है
(डिफ़ॉल्ट: 4444/5555/8000)
Reverse or Bind shell?:
-i, --interface सुनने के लिए स्थानीय इंटरफ़ेस/IP। (डिफ़ॉल्ट: 0.0.0.0)
-c, --connect बाइंड शेल होस्ट
-j, --jump रिवर्स शेल जंप एंडपॉइंट