Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sleep_python_bridge — This project is 'bridge' between the sleep and python language. It allows the control of a Cobalt Strike teamserver through python without the need for for the standard GUI client. NOTE: This project is very much in BETA. The goal is to provide a playground for testing and is in no way an officially support feature. Perhaps this could be something added in the future to the core product. | Kitploit
उपकरण/GitHubGitHub/cobalt-strike/sleep_python_bridge
Indicator of Compromise (IOC) ManagementPayload GenerationCommand and ControlRed TeamingPayload DevelopmentLog Analysis
GitHubcobalt-strike/sleep_python_bridge

sleep_python_bridge

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →

विवरण

188321 साल पहलेKitploit द्वारा समीक्षित

This project is 'bridge' between the sleep and python language. It allows the control of a Cobalt Strike teamserver through python without the need for for the standard GUI client. NOTE: This project is very much in BETA. The goal is to provide a playground for testing and is in no way an officially support feature. Perhaps this could be something added in the future to the core product.

साझा करें

Cobalt Strike Sleep Python ब्रिज

यह प्रोजेक्ट स्लीप और पायथन भाषा के बीच एक 'ब्रिज' है। यह मानक GUI क्लाइंट की आवश्यकता के बिना, पायथन के माध्यम से Cobalt Strike टीमसर्वर को नियंत्रित करने की अनुमति देता है।

नोट: यह प्रोजेक्ट अभी पूरी तरह BETA अवस्था में है। इसका लक्ष्य परीक्षण के लिए एक प्लेग्राउंड प्रदान करना है और यह किसी भी तरह से आधिकारिक रूप से समर्थित सुविधा नहीं है। संभवतः भविष्य में इसे मुख्य उत्पाद में जोड़ा जा सकता है।

यह प्रोजेक्ट @BinaryFaultline और @Mcgigglez16 द्वारा https://github.com/emcghee/PayloadAutomation प्रोजेक्ट में किए गए कार्य से प्रेरित है। मैं आप दोनों को विशेष धन्यवाद देना चाहता हूँ!!

इस ब्रिज का मूल एक हेडलेस Cobalt Strike क्लाइंट का पायथन कार्यान्वयन है। यह agscript द्वारा प्रदान किए गए Aggressor Script Console को इंजन के रूप में उपयोग करके प्राप्त किया जाता है। agscript Cobalt Strike के साथ हेडलेस इंटरैक्शन की अनुमति देता है (https://www.cobaltstrike.com/aggressor-script/index.html)। 'ब्रिज' sleepy.py में पायथन हेल्पर फ़ंक्शंस का उपयोग करके काम करता है, ताकि agscript कंसोल द्वारा अपेक्षित आवश्यक स्लीप कमांड उत्पन्न किए जा सकें। स्लीप फ़ंक्शंस लिखने के बजाय, striker.py हेल्पर फ़ंक्शंस प्रदान करता है जो स्लीप को एब्स्ट्रैक्ट करते हैं और पायथन के उपयोग की अनुमति देते हैं।

मूल प्रोजेक्ट से उल्लेखनीय परिवर्तन

चूंकि PayloadAutomation प्रोजेक्ट ने इसे प्रेरित किया, इसलिए इसकी शुरुआत काफी हद तक समान कोड के साथ हुई, लेकिन मैं इसे केवल उन घटकों तक सीमित करना चाहता था जो agscript रैपर के रूप में कार्य करने के लिए आवश्यक हैं।

  • Payload_Automation से नाम बदलकर sleep_python_bridge कर दिया गया। यह प्रोजेक्ट केवल पेलोड जनरेशन से कहीं अधिक है।
  • PyPI लाइब्रेरी से स्थानीय मॉड्यूल में बदल दिया गया। यह परीक्षण के लिए किया गया था और व्यापक परीक्षण के बाद यह पायथन लाइब्रेरी के लिए एक अच्छा उम्मीदवार हो सकता है
  • एग्रेसर संस्करणों से मेल खाने के लिए हेल्पर्स को अपडेट और जोड़ा गया
  • बाहरी स्क्रिप्ट लोड करने की क्षमता जोड़ी गई।

शामिल लाइब्रेरीज़

  • Striker: Cobalt Strike के साथ इंटरैक्ट करने और सामान्यतः केवल Sleep/GUI के माध्यम से सुलभ कार्यक्षमता निष्पादित करने के लिए फ़ंक्शंस का एक सेट।
  • Sleepy: Sleep ऑब्जेक्ट्स और पायथन ऑब्जेक्ट्स के बीच ब्रिज सुविधाजनक बनाने में सहायता के लिए फ़ंक्शंस का एक सेट।
  • Compyler: प्लेटफ़ॉर्म या क्रॉस-प्लेटफ़ॉर्म से विभिन्न पेलोड्स को कंपाइल करने के लिए फ़ंक्शंस का एक सेट।
  • Artifactor: आर्टिफैक्ट्स का निरीक्षण और समीक्षा करने तथा IoCs को एकत्र और ट्रैक करने के लिए फ़ंक्शंस का एक सेट।

फ़ाइलें और निर्देशिकाएँ

TODO

  • एक्सपोज़्ड फ़ंक्शंस का दस्तावेज़ीकरण करें
  • striker.py से compyler.py में कंपाइल-आधारित फ़ंक्शंस स्थानांतरित करें
  • अतिरिक्त त्रुटि जाँच जोड़ें, विशेष रूप से एप्लिकेशन निर्भरताओं के लिए
  • compyler का विस्तार करके रिमोट बिल्ड और mingw शामिल करें
  • artifactor.py के माध्यम से उत्पन्न पेलोड्स में IOC ट्रैकिंग जोड़ें
  • त्रुटि संभालें: "User is already connected."
  • इसे एक औपचारिक पायथन लाइब्रेरी में बदलने पर विचार करें

उपयोग कैसे करें

इस प्रोजेक्ट में उदाहरण समझने का सबसे आसान तरीका हो सकते हैं, लेकिन यह example.py स्क्रिप्ट है।

root@kitploit:~
#!/usr/local/bin/python3

## Import the bridge
from sleep_python_bridge.striker import CSConnector
from argparse import ArgumentParser
from pprint import pp, pprint

###################
## Argparse
def parseArguments():
    parser = ArgumentParser()
    parser.add_argument('host', help='The teamserver host.')
    parser.add_argument('port', help='The teamserver port.')
    parser.add_argument('username', help='The desired username.')
    parser.add_argument('password', help='The teamserver password.')
    parser.add_argument('path', help="Directory to CobaltStrike")
    
    args = parser.parse_args()
    return args

## Let's go
def main(args):

    cs_host = args.host
    cs_port = args.port
    cs_user = args.username
    cs_pass = args.password
    cs_directory = args.path

    ## Connect to server
    print(f"[*] Connecting to teamserver: {cs_host}")
    with CSConnector(
        cs_host=cs_host, 
        cs_port=cs_port, 
        cs_user=cs_user, 
        cs_pass=cs_pass,
        cs_directory=cs_directory) as cs:

        # Perform some actions
        # 
        # Get beacon metadata - i.e., x beacons() from the script console
        beacons = cs.get_beacons()
        print("BEACONS")
        pprint(beacons)

        # Get list of listners - i.e., x listeners_stageless() from the script console
        listeners = cs.get_listeners_stageless()
        print("LISTENERS")
        pprint(listeners)

if __name__ == "__main__":
    args = parseArguments()
    main(args)

स्क्रिप्ट को कॉल करें

root@kitploit:~
python3 example.py 127.0.0.1 50050 example password /path/to/cobaltstrike

व्यावहारिक उदाहरण

लॉग ट्रैकर

बीकन लॉग रनटाइम पर टीमसर्वर में या टीमसर्वर पर सहेजी गई बीकन लॉग फ़ाइलों के माध्यम से उपलब्ध होते हैं। डेटा हमेशा मौजूद रहता है, लेकिन हो सकता है कि इसे आपके पसंदीदा तरीके से प्रस्तुत न किया गया हो। यह लॉग ट्रैकर का एक उदाहरण है जो बीकन लॉग को शीघ्रता से देखने के लिए HTML डेटा ग्रिड का उपयोग करता है।

beaconlogtracker.py एक स्क्रिप्ट है जो टीमसर्वर से कनेक्ट होती है, हर 30 सेकंड में चल रहे बीकन लॉग्स को निकालती है, <code>beaconlogs.json` में सहेजती है और एक खोजने योग्य तथा सॉर्ट करने योग्य HTML डेटा ग्रिड में प्रदर्शित करती है।

बीकन लॉग हमेशा logs निर्देशिका में सहेजे जाते हैं, लेकिन यह इन-मेमोरी लॉग्स को एक वैकल्पिक व्यूअर के साथ ट्रैक करने का एक वैकल्पिक तरीका है। यदि टीमसर्वर को पुनः आरंभ किया जाता है तो इन-मेमोरी लॉग्स खो जाते हैं, और आपको टीमसर्वर पर logs निर्देशिका में संग्रहीत लॉग्स को देखना होगा। यह स्क्रिप्ट इन-मेमोरी लॉग्स को beaconlogs.json फ़ाइल के साथ सिंक रखती है। इस तरह आपके पास सभी डेटा को देखने का एक त्वरित और आसान तरीका होता है, बिना logs निर्देशिका में खोजबीन किए, भले ही Cobalt Strike पुनः आरंभ हो जाए।

स्क्रिप्ट को प्रारंभ करें, इसे हर 30 सेकंड में लॉग सिंक करने के लिए अपने टीमसर्वर से कनेक्ट कराएं

उपयोग:

python3 beaconlogtracker.py 127.0.0.1 50050 logtracker password /path/to/cobaltstrike

यह beaconlogs.json को सहेजे गए और चल रहे बीकन लॉग्स के साथ सिंक रखेगा। यह हर 30 सेकंड में सिंक करता है

output/html निर्देशिका से एक वेबसर्वर प्रारंभ करें

python3 -m http.server 8000

http://localhost:8000/beaconlogs.html से कनेक्ट करें

पेलोड जनरेटर

रेड टीम ऑपरेटरों द्वारा अक्सर अनुरोधित एक सुविधा Cobalt Strike GUI की आवश्यकता के बिना प्रोग्रामेटिक रूप से पेलोड्स बनाने की क्षमता है। संदर्भ प्रोजेक्ट ने इसे एक पेलोड जनरेटर के साथ किया। यह बहुत अच्छा था, लेकिन एक अनोखी चुनौती है। एग्रेसर पेलोड के निर्माण के तरीके को प्रभावित करने के लिए कई हुक प्रदान करता है। इन हुक्स का उपयोग विभिन्न किट्स (जैसे, artifact kit, sleep mask kit, या UDRL kit) द्वारा किया जाता है। इनका उपयोग सामान्यतः GUI के माध्यम से एक एग्रेसर स्क्रिप्ट लोड करके किया जाता है। इस प्रोजेक्ट को बाहरी स्क्रिप्ट्स लोड करने की अनुमति देने के लिए विस्तारित किया गया था। इसके बिना, इन पेलोड हुक्स का उपयोग करना कठिन होता। इस कोड को आसानी से विस्तारित किया जा सकता है ताकि पेलोड्स को बाहरी फ़ंक्शंस में पास करके कस्टम ऑबफस्केशन जोड़ा जा सके, कस्टम लोडर में एम्बेड किया जा सके, या कोई अन्य संशोधन किया जा सके।

पेलोड जनरेटर स्क्रिप्ट टीमसर्वर से कनेक्ट होती है, अतिरिक्त स्क्रिप्ट्स लोड करती है, और पेलोड्स बनाती है।

उपयोग (बिना बाहरी किट्स):

  • python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike चलाएँ

उपयोग (बाहरी किट के साथ)

यह उदाहरण Arsenal kit को जोड़ने के चरणों को सूचीबद्ध करेगा, जिसमें artifact और sleep mask किट्स सक्षम हैं।

  • artifact और sleep mask किट्स को सक्षम करने के लिए /path/to/arsenal_kit/arsenal_kit.config फ़ाइल को अपडेट करें
  • [वैकल्पिक] आवश्यकतानुसार artifact और sleep mask किट्स में कोई भी संशोधन करें
  • /path/to/arsenal_kit/build_arsenal_kit.sh के साथ arsenal kit बनाएँ
  • arsenal kit वितरण फ़ाइलों को payload_scripts निर्देशिका में कॉपी करें।
    cp -r /path/to/arsenal_kit/dist/* /path/to/sleep_python_bridge/payload_scripts
  • [वैकल्पिक] अतिरिक्त संशोधनों के बारे में अधिक जानकारी के लिए लॉगिंग अनुभाग देखें
  • python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike चलाएँ

लॉगिंग

सामान्यतः GUI का उपयोग करते समय बाहरी स्क्रिप्ट्स फीडबैक या डिबगिंग के लिए उपयोगी जानकारी को Script Console में आउटपुट करने हेतु println एग्रेसर फ़ंक्शन का उपयोग कर सकती हैं। payloadgenerator.py का उपयोग करते समय println आउटपुट खो जाता है और केवल elog फ़ंक्शन ही उपलब्ध विकल्प होता है। elog का उपयोग करते समय Event Log में जानकारी देखने के लिए GUI की आवश्यकता होती है।

'with external kit' उपयोग उदाहरण से आगे बढ़ते हुए, /path/to/sleep_python_bridge/payload_scripts/arsenal_kit.cna फ़ाइल को अपडेट करें और println की दोनों घटनाओं को elog में बदलें। इस परिवर्तन के साथ अब सभी arsenal kit लॉगिंग GUI Event Log में उपलब्ध होगी।

बाहरी स्क्रिप्ट्स की लोडिंग

बाहरी स्क्रिप्ट्स लोड करना हमेशा आवश्यक नहीं होता, सिवाय उन पेलोड संशोधन स्क्रिप्ट्स के जिनमें पेलोड हुक शामिल होते हैं (जैसे, artifact, sleep mask, और udrl किट्स)। यदि आप Cobalt Strike GUI से स्क्रिप्ट्स लोड करते हैं, तो पेलोड्स GUI से इन स्क्रिप्ट्स का सम्मान करेंगे, लेकिन agscript क्लाइंट से नहीं (ये अलग क्लाइंट हैं)। आपको स्क्रिप्ट्स और सहायक फ़ाइलों को payload_scripts निर्देशिका में जोड़ना होगा।

payloadgenerator.py स्वचालित रूप से payload_scripts निर्देशिका के शीर्ष स्तर पर स्थित किसी भी .cna स्क्रिप्ट को लोड करेगा। उपनिर्देशिका में स्थित कोई भी .cna स्क्रिप्ट लोड नहीं की जाएगी।

Arsenal Kit के साथ उदाहरण निर्देशिका संरचना।

root@kitploit:~
$ ls -1R ./payload_scripts
./payload_scripts:
arsenal_kit.cna
artifact
sleepmask

./payload_scripts/artifact:
artifact32big.dll
artifact32big.exe
artifact32.dll
artifact32.exe
artifact32svcbig.exe
artifact32svc.exe
artifact64big.exe
artifact64big.x64.dll
artifact64.exe
artifact64svcbig.exe
artifact64svc.exe
artifact64.x64.dll
artifact.cna

./payload_scripts/sleepmask:
sleepmask.cna
sleepmask_pivot.x64.o
sleepmask_pivot.x86.o
sleepmask.x64.o
sleepmask.x86.o

उपयोग (4.8 के लिए अतिरिक्त विकल्प)

@mgeeky द्वारा प्रदान किए गए हालिया अपडेट के लिए धन्यवाद, payloadgenerator.py स्क्रिप्ट अब 4.8 में जोड़े गए नए artifact_payload फ़ंक्शन मापदंडों का समर्थन करने के लिए अतिरिक्त तर्कों का समर्थन करती है। इन तर्कों के साथ अब आपके पास कौन से पेलोड्स उत्पन्न होते हैं, इस पर अधिक नियंत्रण होता है।

root@kitploit:~
$ python3 payloadgenerator.py --help
------------------------
Beacon Payload Generator
------------------------
usage: payloadgenerator.py [-h] [-o path] [-l name] [-a arch] [-t types] [-e exit] [-c method] host port username password path

positional arguments:
  host                  The teamserver host.
  port                  The teamserver port.
  username              The desired username.
  password              The teamserver password.
  path                  Directory to CobaltStrike

optional arguments:
  -h, --help            show this help message and exit

optional parameters:
  -o path, --payload-path path
                        Where to save generated payloads. Default: output/payloads/
  -l name, --listener name
                        Specify listener name to get payloads for. Default: payloads for all listeners will be produced
  -a arch, --arch arch  Specify payload architecture. Choices: x86, x64. Default: payloads for both are generated
  -t types, --payload-types types
                        Comma separated list of payload types to generate keyed by file extensions. Choices: exe,dll,svc.exe,bin,ps1,py,vbs or use 'all' to compile all at once.
                        Default: exe,dll,bin
  -e exit, --exit exit  Payload exit method. Choices: thread, process. Default: process
  -c method, --call-method method
                        System call method. Choices: indirect, direct, none. Default: <empty> (backwards compatible with Cobalt pre 4.8)

उदाहरण

root@kitploit:~
$python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike -o /share/payloads/ -c indirect -a x64
------------------------
Beacon Payload Generator
------------------------
[*] Connecting to teamserver: 127.0.0.1
Loading cna scripts from ./payload_scripts

Scripts
-------
arsenal_kit.cna
console.cna

[*] Creating stageless payloads for listener: http1
[*] Creating http1.x64.exe
[*] Creating http1.x64.dll
[*] Creating http1.x64.bin

$python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike -o /share/payloads/ -c indirect -a x64 -t exe
------------------------
Beacon Payload Generator
------------------------
[*] Connecting to teamserver: 127.0.0.1
Loading cna scripts from ./payload_scripts

Scripts
-------
arsenal_kit.cna
console.cna

[*] Creating stageless payloads for listener: http1
[*] Creating http1.x64.exe

$python3 payloadgenerator.py 127.0.0.1 50050 payloads password /path/to/cobaltstrike -o /share/payloads/
------------------------
Beacon Payload Generator
------------------------
[*] Connecting to teamserver: 127.0.0.1
Loading cna scripts from ./payload_scripts

Scripts
-------
arsenal_kit.cna
console.cna

[*] Creating stageless payloads for listener: http1
[*] Creating http1.x86.exe
[*] Creating http1.x86.dll
[*] Creating http1.x86.bin
[*] Creating http1.x64.exe
[*] Creating http1.x64.dll
[*] Creating http1.x64.bin

बीकन ग्राफ़र

यह बीटा कोड है जो बीकन को निर्देशित ग्राफ़ में प्रदर्शित करेगा।

यह स्क्रिप्ट output/data/beacons.json फ़ाइल को अपडेट करती है

एक वेबसर्वर प्रारंभ करें और http://localhost:8000/beacons.html खोलें

उपयोग:

python3 beacongrapher.py 127.0.0.1 50050 grapher password /path/to/cobaltstrike

यह javascript ग्राफ़र द्वारा उपयोग की जाने वाली beacons.json फ़ाइल बनाएगा।

output/html निर्देशिका से एक वेबसर्वर प्रारंभ करें

python3 -m http.server 8000

http://localhost:8000/beacons.html से कनेक्ट करें

टूल डाउनलोड करें
आइटमविवरण
sleep_python_bridgeवह लाइब्रेरी जो पायथन को Cobalt Strike के साथ इंटरफ़ेस करने की अनुमति देती है
output/htmlhtml डेटा व्यूअर्स के लिए पथ
output/html/dataडेटा व्यूअर द्वारा उपयोग किए जाने वाले json डेटा के लिए पथ
output/payloadsसहेजे गए पेलोड्स के लिए पथ (पेलोड जनरेटर द्वारा उपयोग किया जाता है)
payload_scriptspayloadgenerator.py द्वारा लोड की जाने वाली बाहरी स्क्रिप्ट्स के लिए पथ
beaconlogtracker.pyबीकन लॉग ट्रैकर का कार्यान्वयन जो बीकन लॉग प्रदर्शित करने के लिए HTML डेटाग्रिड का उपयोग करता है
payloadgenerator.pyबीकन पेलोड जनरेटर का कार्यान्वयन जो प्रत्येक लिसनर के लिए पेलोड बनाता है
beacongrapher.pyबीकन ग्राफ़ ट्रैकर का कार्यान्वयन जो बीकन के लिए HTML जावास्क्रिप्ट निर्देशित ग्राफ़ का उपयोग करता है