Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Tourmaline — Tourmaline ClickFix Python RAT के लिए रिवर्स इंजीनियरिंग नोट्स, डीऑबफस्केटेड सोर्स, IOC, और YARA नियम, जो इसके DNS टनल और ब्लॉकचेन डेड-ड्रॉप C2 को कवर करते हैं। | Kitploit
उपकरण/GitHubGitHub/v-pun215/tourmaline
समझौता संकेतक (IOC) प्रबंधनरिवर्स इंजीनियरिंगमालवेयर विश्लेषणडिजिटल फोरेंसिकक्रिप्टोग्राफीकमांड एंड कंट्रोलखतरा खुफियालर्निंग और शिक्षाघटना प्रतिक्रियाDNS विश्लेषण
GitHubv-pun215/tourmaline
111161 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

Tourmaline

Tourmaline ClickFix Python RAT के लिए रिवर्स इंजीनियरिंग नोट्स, डीऑबफस्केटेड सोर्स, IOC, और YARA नियम, जो इसके DNS टनल और ब्लॉकचेन डेड-ड्रॉप C2 को कवर करते हैं।

रिपॉजिटरी देखें
साझा करें

Tourmaline

मैंने हाल ही में एक चतुराई से डिज़ाइन किए गए मैलवेयर पर ठोकर खाई जो खुद को "Tourmaline" कहता है।

यह README बहुत कृपापूर्वक Claude द्वारा लिखा गया है क्योंकि इस रिपॉज़िटरी की शुरुआत के समय मैं परीक्षाओं में बहुत व्यस्त था।

इस मैलवेयर का शोषण और डिक्रिप्शन करने में मेरे गणित की तैयारी का एक बड़ा हिस्सा चला गया!

ब्लॉगपोस्ट पढ़ें!

केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए
सभी नमूने मैलवेयर विश्लेषण और रक्षात्मक अनुसंधान के लिए प्रदान किए गए हैं। सैंडबॉक्स किए गए, एयर-गैप्ड वातावरण के बाहर निष्पादित न करें।


अवलोकन

Tourmaline (Tourmaline.exe) एक परिष्कृत, बहु-चरणीय Windows इन्फोस्टीलर/बैकडोर है जो एक ClickFix अभियान के माध्यम से वितरित किया जाता है - एक नकली Cloudflare "Verify you are human" ब्राउज़र पॉपअप जो उपयोगकर्ताओं को धोखा देकर मैन्युअल रूप से एक दुर्भावनापूर्ण कमांड या इंस्टॉलर चलाने के लिए प्रेरित करता है।

यह बाइनरी एक कस्टम-निर्मित Inno Setup 6.7.0 (Revision 2, 64-bit offsets) इंस्टॉलर है जो एक पूर्ण Python 3.11 रनटाइम और दो चरणों वाले ऑब्फस्केटेड Python पेलोड को बंडल करता है। यह एक स्थायी बैकडोर स्थापित करता है जिसमें शामिल हैं:

  • DNS टनलिंग C2, UDP पोर्ट 53 पर (microsoft.com क्वेरीज़ का रूप धारण करते हुए)
  • C2 IP वितरण के लिए Ethereum ब्लॉकचेन डेड-ड्रॉप (Sepolia टेस्टनेट)
  • ChaCha20-एन्क्रिप्टेड टास्क निष्पादन चैनल
  • सिंकहोलिंग को रोकने के लिए ECDSA-हस्ताक्षरित कमांड
  • एंटी-सैंडबॉक्स टाइम-लॉक (100M पुनरावृत्ति काउंटडाउन, O(1) में बायपास करने योग्य)

रिपॉज़िटरी संरचना

tourmaline/
├── README.md                  # This file
├── LICENSE                    # Research use license
├── .gitignore
│
├── src/                       # Extracted & deobfuscated source code
│   ├── stage1_loader.py       # Stage 1: Original obfuscated XOR time-lock loader (main.py)
│   ├── stage2_backdoor.py     # Stage 2: Deobfuscated core backdoor (from QGBdu.dxf)
│   └── decrypt_payload.py     # Utility: O(1) payload key recovery & decryption
│
├── iocs/                      # Indicators of Compromise
│   ├── indicators.json        # Structured IOC data (IPs, hashes, domains, registry)
│   ├── indicators.csv         # Flat CSV for SIEM import
│   └── rules.yar              # YARA detection rules
│
└── samples/                   # Malware samples (password-protected)
    ├── README.md              # Sample archive instructions
    ├── Tourmaline_sample.zip  # Password: infected - contains Tourmaline.exe
    └── QGBdu.dxf             # Raw encrypted Stage 2 payload blob

संक्रमण वेक्टर

यह मैलवेयर ClickFix के माध्यम से वितरित किया जाता है - एक सोशल इंजीनियरिंग तकनीक जिसमें एक समझौता किया गया या हमलावर-नियंत्रित वेबसाइट एक नकली Cloudflare CAPTCHA या ब्राउज़र सत्यापन पृष्ठ को ओवरले करती है। यह ओवरले पीड़ित को निर्देश देता है:

  1. Win+R दबाएँ
  2. एक कमांड पेस्ट करें (पृष्ठ के JavaScript द्वारा क्लिपबोर्ड पर कॉपी किया गया)
  3. Enter दबाएँ

पेस्ट किया गया कमांड Tourmaline.exe को डाउनलोड करता है और चुपचाप निष्पादित करता है। इंस्टॉलर /VERYSILENT /SUPPRESSMSGBOXES /NORESTART चलाता है।


बाइनरी प्रारूप

गुणमान
फ़ाइल नामTourmaline.exe
आकार11,341,339 बाइट्स (~10.8 MB)
MD5b74ac808dea2de31caf024310694ef0c
SHA256c9b390b3b7148f549df86503858d52e030b2b5e78fed0bc525ded5927f9265d6
प्रारूपInno Setup 6.7.0 Unicode (Revision 2, 64-bit offsets)
PE प्रकार32-bit PE, 11 सेक्शन
ओवरले आकार10,447,387 बाइट्स
Inno मैजिक ऑफ़सेट0xD9864 (890,148 बाइट्स)
ऐप नामTourmaline
ऐप संस्करण2.63.519
ऐप GUID{2C25872D-85FC-44C7-9B16-844E39E50A44}
इंस्टॉल पथ{commonappdata}\Tourmaline
बंडल किया गया रनटाइमPython 3.11 (पूर्ण एम्बेड)
पेलोड फ़ाइलेंसॉलिड LZMA2 स्ट्रीम में 36 फ़ाइलें

नोट: स्टॉक innoextract 1.9 इस बाइनरी को निकाल नहीं सकता — यह केवल Revision 1 का समर्थन करता है। Revision 2 64-बिट ऑफ़सेट का उपयोग करता है और इसके लिए कस्टम पार्सिंग की आवश्यकता होती है (देखें src/decrypt_payload.py)।


निष्पादन प्रवाह

Tourmaline.exe
│
├─ Inno Setup installer runs silently
│   ├─ Extracts Python 3.11 runtime to %APPDATA%\Tourmaline\
│   ├─ Extracts main.py (Stage 1 loader)
│   ├─ Extracts QGBdu.dxf (encrypted Stage 2 blob)
│   ├─ Kills any existing pythonw.exe instances
│   └─ Registers persistence (Task Scheduler / registry)
│       └─ Name: "TourmalineUpdate" / "Hardware monitoring service"
│
├─ Stage 1: main.py (XOR Time-Lock Loader)
│   ├─ Counts _n from 99,999,999 → 0 (anti-sandbox delay ~hours on slow VMs)
│   ├─ At each _n, constructs 33-byte XOR key: struct.pack('>I', _n) + hardcoded_suffix
│   ├─ Tests key against known plaintext header of QGBdu.dxf
│   └─ On match: decrypts QGBdu.dxf entirely and exec()s the result
│       └─ O(1) bypass: known-plaintext attack on first 4 bytes (see below)
│
└─ Stage 2: QGBdu.dxf → Python backdoor
    ├─ Reads MachineGuid from HKLM\SOFTWARE\Microsoft\Cryptography
    ├─ Derives mutex Global\Tourmaline_<hash>
    ├─ Resolves C2 IP via Ethereum dead-drop (Sepolia testnet)
    ├─ Establishes DNS tunnel to C2
    └─ Poll-execute loop: fetches tasks, exec()s Python, returns output

चरण 1 — एंटी-सैंडबॉक्स टाइम-लॉक (O(1) बायपास)

लोडर (main.py) XOR डिक्रिप्शन कुंजी खोजने के लिए 99,999,999 से एक काउंटडाउन का उपयोग करता है। वास्तविक मशीन पर यह सेकंडों में पूरा हो जाता है (क्योंकि _n उच्च से शुरू होता है और वास्तविक मान 14,511,188 के निकट होता है)। कम समय-सीमा वाले सैंडबॉक्स में, लूप कभी पूरा नहीं होता।

कुंजी संरचना:

full_key = struct.pack('>I', _n) + bytes.fromhex('2b0cffe07b06ac25793b3f00cfaa2dd5881c2d6378165247539dbbdaeb')

चूँकि हम plaintext के पहले 16 बाइट्स (g1 = lambda l6, ) जानते हैं, हम known-plaintext XOR हमले के माध्यम से _n को तुरंत पुनर्प्राप्त कर सकते हैं:

key_prefix = bytes(ciphertext[i] ^ known_plaintext[i] for i in range(4))
# Result: key_prefix = 00dd6c54 → _n = 14,511,188

इसे पुनरुत्पादित करने के लिए src/decrypt_payload.py का उपयोग करें।


चरण 2 — कोर बैकडोर आर्किटेक्चर

कॉन्फ़िगरेशन (हार्डकोडेड)

पैरामीटरमान
C2 IP158.94.211.185
C2 पोर्ट53 (UDP)
प्रोटोकॉलकस्टम DNS-over-UDP टनल
स्पूफ़ किया गया डोमेनmicrosoft.com
ChaCha20 कुंजी36f555c87f71581f57d83576c88193fdc00a0173f741a3e198e2d7abdc9cda59
ब्लॉकचेन कॉन्ट्रैक्ट0x2d7a04cca0c34005f58393f30ac725e25f19e5f5 (Sepolia)
ECDSA पब्लिक कीMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEt17l3rGHHR9sYdHEvV8S+JRRCUHQQveSadlGk04xM/8WClDf/67Tyritt2+T18SY8n0xv1TKKl0AgnNFuboEEQ==
सेवा नामSystemService / TourmalineUpdate
म्यूटेक्सGlobal\Tourmaline_<MachineGuid-hash>

ब्लॉकचेन डेड-ड्रॉप (C2 लचीलापन)

मैलवेयर सक्रिय C2 IP पता प्राप्त करने के लिए Sepolia टेस्टनेट पर एक Ethereum स्मार्ट कॉन्ट्रैक्ट को कॉल करता है। इसका अर्थ है कि हमलावर कॉन्ट्रैक्ट को अपडेट करके किसी भी समय C2 IP बदल सकता है — पारंपरिक IP ब्लॉकलिस्ट-आधारित C2 व्यवधान अप्रभावी है।

Contract : 0x2d7a04cca0c34005f58393f30ac725e25f19e5f5
Selector : 0xeb9fd6fe
Network  : Ethereum Sepolia (chainId 11155111)
RPC      : https://ethereum-sepolia-rpc.publicnode.com
Result   : ChaCha20-encrypted blob containing current C2 IP

लौटाया गया डेटा हार्डकोडेड ChaCha20 कुंजी के साथ डिक्रिप्ट किया जाता है ताकि लाइव C2 पता प्रकट हो सके। विश्लेषण के समय, यह 158.94.211.185 पर रिज़ॉल्व हुआ (लाइव RPC कॉल के माध्यम से सत्यापित)।

DNS टनल (C2 संचार)

सभी C2 ट्रैफ़िक सीधे पोर्ट 53 पर C2 IP को raw UDP DNS क्वेरीज़ के रूप में भेजा जाता है। क्वेरीज़ को <encoded_data>.microsoft.com के रूप में संरचित किया जाता है, जो DNS-आधारित फ़िल्टरिंग को बायपास करता है और वैध Windows टेलीमेट्री के रूप में प्रतीत होता है।

टूल डाउनलोड करें