
HTTP-आधारित कमांड और कंट्रोल सर्वर जिसमें एंड-टू-एंड एन्क्रिप्शन, एजेंट प्रबंधन, और कमांड भेजने तथा आउटपुट देखने के लिए एक अंतर्निर्मित वेब फ्रंटएंड शामिल है।

$\textcolor{red}{\text{यह उपकरण केवल नैतिक उपयोग के लिए है!}}$
Mothership C2 एक कमांड और कंट्रोल सर्वर है जो Python में लिखा गया है।
यहाँ फ्रंटएंड का एक नमूना स्क्रीनशॉट है। बिल्ट-इन टर्मिनल और एजेंट बनाने और हटाने का तरीका! फ्रंटएंड चलाने के लिए webapp में जाएं और docker compose up चलाएं।
API के लिए दस्तावेज़ीकरण
क्लाइंट-साइड के सभी एंडपॉइंट्स के लिए एडमिन JWT आवश्यक है।
/api/configयदि डेटाबेस डिफ़ॉल्ट के अलावा किसी अन्य होस्ट पर है तो डेटाबेस को कॉन्फ़िगर करें
{
"host": "localhost",
"port": "6379",
"db": "0"
}
उदाहरण प्रतिक्रिया:
{"response": "config updated!"}
/api/db/priv_keyडेटाबेस के लिए निजी कुंजी प्राप्त करें ताकि कमांड प्रतिक्रियाओं को डिक्रिप्ट किया जा सके।
उदाहरण प्रतिक्रिया:
{"response": "server private key"}
/api/connections/<agent_id>/commandएक एजेंट को कमांड भेजें।
{
"command": "string",
"directory": ""
}
उदाहरण आउटपुट:
200
/api/connections/listडेटाबेस में सभी कनेक्शनों की सूची बनाएं।
उदाहरण प्रतिक्रिया:
{"response": ["agent1", "agent2"]}
/api/connections/<agent_id>/outputकमांड का आउटपुट प्राप्त करें।
उदाहरण प्रतिक्रिया:
{"response": decrypted}
/api/connections/<agent_id>/closeएक एजेंट के साथ कनेक्शन बंद करें।
उदाहरण प्रतिक्रिया:
{"response": "deleted agent123!"}
/api/connections/createएक नए एजेंट के कनेक्ट होने के लिए एक नया एजेंट ID बनाएं।
उदाहरण प्रतिक्रिया:
{"response": "a52a7cca-5ca9-46ed-98c0-3ee694a97e45"}
/api/connections/<agent_id>/infoकिसी कनेक्शन के बारे में जानकारी प्राप्त करें जैसे OS, सार्वजनिक कुंजी, कमांड, कमांड आउटपुट, कमांड इतिहास, सर्वर-साइड सार्वजनिक कुंजी।
उदाहरण प्रतिक्रिया:
{"response":
{
"history": "",
"OS": "linux",
"pubKey": "0x000000",
"serverKey": "0x00000"
}
}
/api/connections/registerएक एजेंट पंजीकृत करें
{
"hashedID": "string",
"public_key": "string",
"target_os": "string"
}
/api/connections/<hashed_agent_id>/commandएजेंट निष्पादित करने के लिए शेल कमांड प्राप्त करता है। एजेंट को मिलने वाले कमांड एन्क्रिप्टेड होते हैं, एजेंट के कोड को देखें कि वह कमांड को कैसे डिक्रिप्ट करता है।
उदाहरण प्रतिक्रिया:
{"response": "command"}
/api/connections/<hashed_agent_id>/outputकमांड आउटपुट भेजें, आउटपुट को API द्वारा एन्क्रिप्ट और डिक्रिप्ट किया जाता है जब कोई क्लाइंट उनका अनुरोध करता है।
{
"command_output": "string"
}