
रेड टीमिंग और पेंटेस्टिंग के लिए एक इंटरैक्टिव कमांड प्रॉम्प्ट। स्वचालित रूप से proxychains के माध्यम से SOCKS4/5 प्रॉक्सी पर कमांड भेजता है। वैकल्पिक Cobalt Strike एकीकरण टीम सर्वर से बीकन SOCKS4/5 प्रॉक्सी खींचता है। गतिविधियों को एक स्थानीय CSV फ़ाइल और Cobalt Strike टीम सर्वर (यदि कॉन्फ़िगर किया गया हो) पर स्वचालित रूप से लॉग करता है।
रेड टीमिंग और पेंटेस्टिंग के लिए एक इंटरैक्टिव कमांड प्रॉम्प्ट। प्रॉक्सीचेन के माध्यम से SOCKS4/5 प्रॉक्सी के माध्यम से कमांड को स्वचालित रूप से पुश करता है। वैकल्पिक कोबाल्ट स्ट्राइक इंटीग्रेशन टीम सर्वर से बीकन SOCKS4/5 प्रॉक्सी प्राप्त करता है। गतिविधियों को एक स्थानीय CSV फ़ाइल और कोबाल्ट स्ट्राइक टीम सर्वर (यदि कॉन्फ़िगर किया गया हो) में स्वचालित रूप से लॉग करता है।
ध्यान दें कि क्योंकि RedShell पर्दे के पीछे प्रॉक्सीचेन का उपयोग करता है, केवल TCP ट्रैफ़िक प्रॉक्सी होता है।
RedShell Python > 3.8 पर चलता है।
निर्भरताएँ स्थापित करें:
pip3 install -r requirements.txt
proxychains-ng स्थापित करें (https://github.com/rofl0r/proxychains-ng):
apt install proxychains4
RedShell अब कोबाल्ट स्ट्राइक पर निर्भर नहीं है। हालांकि, यदि आप कोबाल्ट स्ट्राइक इंटीग्रेशन का उपयोग कर रहे हैं, तो CS क्लाइंट को RedShell के समान होस्ट पर स्थापित होना चाहिए। साथ ही agscript रैपर को निष्पादन योग्य बनाएं:
chmod +x agscript.sh
RedShell शुरू करें:
$python3 redshell.py
____ _______ __ ____
/ __ \___ ____/ / ___// /_ ___ / / /
/ /_/ / _ \/ __ /\__ \/ __ \/ _ \/ / /
/ _, _/ __/ /_/ /___/ / / / / __/ / /
/_/ |_|\___/\__,_//____/_/ /_/\___/_/_/
Logging to: /home/user/.redshell/redshell_2022_08_22_13_00_13.csv
redshell >
सहायता प्रदर्शित करें:
redshell > help
Documented commands (use 'help -v' for verbose/'help <topic>' for details):
===========================================================================
beacon_exec cs_connect cs_status help pwd socks
cd cs_disconnect cs_use_pivot history quit
config cs_load_config exec log set
context cs_pivots exit proxy_exec shell
विकल्प सेट करें:
redshell> set option VALUE
RedShell स्वचालित रूप से beacon_exec, proxy_exec, exec, या log कमांड के माध्यम से गतिविधियों को लॉग करता है। लॉगिंग स्टार्टअप पर स्वचालित रूप से प्रारंभ होती है, और लॉग फ़ाइलें ~/.redshell पर लिखी जाती हैं।
कोबाल्ट स्ट्राइक में लॉग करने के लिए, एक टीम सर्वर से कनेक्ट करें, एक पिवट चुनें, और beacon_exec कमांड का उपयोग करें।
RedShell प्रॉक्सीचेन-ng और एक कस्टम प्रॉक्सीचेन कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है। कॉन्फ़िगरेशन फ़ाइल में संशोधन और कमांड प्रॉक्सीिंग ऑन-द-फ्लाई संभाले जाते हैं।
कोबाल्ट स्ट्राइक के माध्यम से प्रॉक्सी करने के लिए, एक टीम सर्वर से कनेक्ट करें, एक पिवट चुनें, और beacon_exec कमांड का उपयोग करें। विवरण के लिए कोबाल्ट स्ट्राइक अनुभाग देखें।
कस्टम सॉक्स संस्करण 4 या 5 प्रॉक्सी को socks कमांड से सेट किया जा सकता है।
redshell > socks -h
usage: socks [-h] [-u SOCKS5_USER] [-p SOCKS5_PASS] {socks4,socks5} ip_address socks_port
Use a custom socks4/5 server
positional arguments:
{socks4,socks5}
ip_address
socks_port
options:
-h, --help show this help message and exit
-u SOCKS5_USER
-p SOCKS5_PASS
RedShell चयन पर SOCKS प्रॉक्सी के लिए कनेक्शन और प्रमाणीकरण (जहाँ लागू हो) को स्वचालित रूप से सत्यापित करता है (या तो socks या cs_use_pivot कमांड का उपयोग करके)। इसे निम्न कमांड से अक्षम किया जा सकता है: set check_socks false
RedShell का संदर्भ गतिविधि लॉगिंग का एक प्रमुख पहलू है। संदर्भ आपको लक्ष्य नेटवर्क में गतिविधियों को निष्पादित करने वाले स्रोत होस्ट के परिप्रेक्ष्य (गतिविधि लॉग में) को सेट करने की अनुमति देता है। गतिविधि लॉग में निम्नलिखित संदर्भ विशेषताएँ शामिल की जा सकती हैं: IP पता, DNS नाम, NetBIOS नाम, उपयोगकर्ता नाम, और प्रक्रिया आईडी। केवल IP पता आवश्यक है।
संदर्भ पर नोट्स:
जब आप socks कमांड के साथ एक सॉक्स प्रॉक्सी सेट करते हैं, तो context कमांड के साथ संदर्भ विवरण जोड़ें।
RedShell> context -h
usage: context [-h] [-d DNSNAME] [-n NETBIOSNAME] [-u USERNAME] [-p PID] ip_address
Set a custom context (Source IP/DNS/NetBIOS/User/PID) for logging
positional arguments:
ip_address Source IP Address
optional arguments:
-h, --help show this help message and exit
-d DNSNAME, --dnsname DNSNAME
DNS Name
-n NETBIOSNAME, --netbiosname NETBIOSNAME
NetBIOS Name
-u USERNAME, --username USERNAME
User Name
-p PID, --pid PID Process ID
यदि आप टीम सर्वर पर पिवट का उपयोग कर रहे हैं, तो संदर्भ मान स्वचालित रूप से बीकन के आधार पर सेट होते हैं।
कमांड प्रॉम्प्ट स्वचालित रूप से संदर्भ चर (user@host) के साथ अपडेट होता है।
निम्नलिखित RedShell कमांड गतिविधि लॉग में कैप्चर किए जाते हैं:
beacon_exec - बीकन सॉक्स प्रॉक्सी के माध्यम से एक कमांड निष्पादित करें और साथ ही इसे टीमसर्वर पर लॉग करें।proxy_exec - कस्टम सॉक्स प्रॉक्सी के माध्यम से एक कमांड निष्पादित करें और साथ ही इसे स्थानीय फ़ाइल पर लॉग करें।exec - एक कमांड निष्पादित करें और इसे स्थानीय फ़ाइल पर लॉग करें।log - स्थानीय फ़ाइल में एक मैनुअल लॉग प्रविष्टि जोड़ें।
कोबाल्ट स्ट्राइक कनेक्शन विकल्प सेट करें:
redshell > set cs_host 127.0.0.1
redshell > set cs_port 50050
redshell > set cs_user somedude
टीम सर्वर से कनेक्ट करें (आपको टीम सर्वर पासवर्ड के लिए संकेत दिया जाएगा):
redshell > cs_connect
उदाहरण:

या कॉन्फ़िगरेशन फ़ाइल से लोड करें। नोट: टीम सर्वर पासवर्ड कॉन्फ़िगरेशन फ़ाइलों से नहीं पढ़े जाते हैं। RedShell टीमसर्वर पासवर्ड के लिए संकेत देगा और फिर स्वचालित रूप से कनेक्ट होगा।
$ cat config.txt
cs_host=127.0.0.1
cs_port=12345
cs_user=somedude
cs_directory=/path/to/cobaltstrike/install
redshell > cs_load_config config.txt
उपलब्ध प्रॉक्सी पिवट दिखाएं:
redshell > cs_pivots
उदाहरण:

एक प्रॉक्सी पिवट चुनें (नोट: यह केवल टीम सर्वर से कनेक्शन स्थापित होने के बाद ही सेट किया जा सकता है):
redshell > cs_use_pivot 2
SOCKS5 pivot requires authentication.
Enter SOCKS5 user: username
Enter SOCKS5 password:
कोबाल्ट स्ट्राइक स्थिति जांचें:
redshell > cs_status
उदाहरण:

बीकन सॉक्स प्रॉक्सी के माध्यम से कमांड निष्पादित करें। ये वर्तमान उपयोगकर्ता के संदर्भ में या sudo के माध्यम से चलाए जा सकते हैं। कमांड में 'proxychains' निर्दिष्ट करना वैकल्पिक है। कमांड को प्रॉक्सीचेन के माध्यम से जबरन चलाया जाता है। MITRE ATT&CK टैक्टिक आईडी वैकल्पिक हैं।
redshell > beacon_exec -h
usage: beacon_exec [-h] [-t TTP] ...
Execute a command through beacon socks proxy and simultaneously log it to the teamserver.
positional arguments:
command Command to execute through the proxy and log.
optional arguments:
-h, --help show this help message and exit
-t TTP, --ttp TTP MITRE ATT&CK Tactic IDs. Comma delimited to specify multiple.
example:
beacon_exec -t T1550.002,T1003.002 cme smb 192.168.1.1 --local-auth -u Administrator -H C713B1D611657D0687A568122193F230 --sam
उदाहरण:

Redshell और CS इंस्टॉल डायरेक्टरी विकल्पों पर नोट - स्क्रिप्ट को यह जानना होगा कि वह कहाँ रहता है, साथ ही कोबाल्ट स्ट्राइक भी। यदि कुछ गड़बड़ होता है, तो डायरेक्ट्रीज़ को तदनुसार सेट करना सुनिश्चित करें:
redshell > set redshell_directory /opt/redshell
redshell > set cs_directory /opt/cobaltstrike
*exec कमांड में उपयोग किए जाने वाले पासवर्ड पर नोट: पासवर्ड में विशेष वर्ण शेल मेटा कैरेक्टर के रूप में व्याख्यायित हो सकते हैं, जिससे कमांड विफल हो सकते हैं। इससे बचने के लिए, पासवर्ड विकल्प सेट करें और फिर '$password' के साथ आमंत्रित करें। उदाहरण:
redshell > set password Test12345
password - was: ''
now: 'Test12345'
redshell > beacon_exec cme smb 192.168.1.14 --local-auth -u administrator -p $password --shares
RedShell में फ़ाइल सिस्टम को नेविगेट करने के लिए कमांड शामिल हैं:
redshell > cd /opt/redshell/
redshell > pwd
/opt/redshell
अतिरिक्त कमांड shell कमांड या '!' शॉर्टकट के माध्यम से चलाए जा सकते हैं:
redshell > shell date
Mon 29 Jul 2019 05:33:02 PM MDT
redshell > !date
Mon 29 Jul 2019 05:33:03 PM MDT
कमांड ट्रैक किए जाते हैं और history कमांड के माध्यम से सुलभ होते हैं:
redshell > history
1 load_config config.txt
2 status
3 help
RedShell में टैब-कम्प्लीशन और ctrl + l के माध्यम से टर्मिनल विंडो साफ़ करना भी शामिल है।
Datetime,IP Address,DNS Name,NetBIOS Name,User,PID,Activity,TTPs
2021/09/21 14:22:32 +0000,192.168.56.106,,WINDEV,USER,7312,[PROXY] cme smb 192.168.56.105,
नोट्स:
यह प्रोजेक्ट Apache 2.0 ओपन सोर्स लाइसेंस की शर्तों के तहत लाइसेंस प्राप्त है। पूर्ण शर्तों के लिए कृपया LICENSE देखें।