Osegi
सुरक्षा·2 मिनट में पढ़ें

Fake job offer ZIP: सिर्फ git status से चल सकता है मैलवेयर

Cryptic Heaven नाम की कंपनी के रिक्रूटर ने डेवलपर को ZIP भेजा, जिसके .git फ़ोल्डर में जाल था। आम git status भी छिपा हुआ कोड डाउनलोड करा सकता है।

A developer's laptop screen showing a terminal running git status next to a ZIP archive named Contract-2026.zip.
छवि: Хабр

LinkedIn पर आया जॉब ऑफ़र अक्सर बस एक ऑफ़र होता है। एक डेवलपर के साथ ऐसा नहीं हुआ। Cryptic Heaven के नाम से लिखने वाले रिक्रूटर ने उन्हें Contract-2026.zip भेजा, और उसके अंदर था एक खास तरह से तैयार किया गया .git फ़ोल्डर। इसे चलाने के लिए install.sh या बिल्ड की ज़रूरत नहीं, कुछ हालात में सिर्फ़ git status काफ़ी है।

रिक्रूटर ने बताया कि कंपनी क्रिप्टो क्रेडिट कार्ड यूज़र्स के लिए वित्तीय सिस्टम बना रही है। डेवलपर ने प्रोजेक्ट और शर्तों के बारे में पूछा, तो जवाब में एक लिंक आया: कॉन्ट्रैक्ट, जॉब डिस्क्रिप्शन और प्रोजेक्ट, और साथ में कहा गया कि नाम भरकर कॉन्ट्रैक्ट वापस भेज दें। ZIP में README.md, contract.docx और पूरी .git डायरेक्टरी थी। README में कहा गया था कि पहले वैकेंसी, फिर कॉन्ट्रैक्ट, फिर कोड देखें, यानी ब्रांच बदलते रहें। कॉन्ट्रैक्ट खुद एक खाली टेम्पलेट निकला: न कानूनी इकाई, न वेतन, न अधिकार क्षेत्र।

git status से मैलवेयर कैसे चलता है?

Git में ऐसे फ़ीचर हैं जो बाहरी प्रोग्राम चला सकते हैं। पहला है hooks, यानी खास घटनाओं पर चलने वाली स्क्रिप्ट। आम तौर पर Git उन्हें .git/hooks में ढूँढता है, पर core.hooksPath सेटिंग से रास्ता बदला जा सकता है। यहाँ इसे ऐसे फ़ोल्डर की ओर मोड़ा गया था जिसे कोई खोलकर नहीं देखता, और उसमें post-checkout हुक था, जो ब्रांच बदलने के बाद अपने आप चलता है।

दूसरा हिस्सा ज़्यादा चालाक है। .git/config में ltr नाम का कस्टम फ़िल्टर तय था, जिसका clean कमांड .git/ltr स्क्रिप्ट चलाता है। असली फ़ाइलों पर यह फ़िल्टर लागू हो, इसके लिए attributes में तारांकन (*) रखा गया। git status यह जाँचने के लिए कि फ़ाइलें बदली हैं या नहीं, डेटा को clean फ़िल्टर से गुज़ार सकता है। यानी आम git status तीसरे पक्ष का प्रोग्राम चला सकता है। लेखक ने सुरक्षित टेस्ट रिपॉज़िटरी में फ़िल्टर की जगह हानिरहित स्क्रिप्ट रखकर यह जाँचा: git status ने फ़िल्टर चलाया और ब्रांच बदलने से post-checkout भी चला।

.git/ltr स्क्रिप्ट क्या करती है?

यह एक shell स्क्रिप्ट है। Git कई फ़ाइलों के लिए फ़िल्टर बार-बार बुलाता है, इसलिए स्क्रिप्ट आख़िरी कॉल का समय दर्ज करती है और दो सेकंड शांत रहने तक इंतज़ार करती है। mkdir वाला लॉक एक साथ कई वॉचर रोकता है। फिर वह ऑपरेटिंग सिस्टम पहचानकर दूर के सर्वर से कोड डाउनलोड करती है और तुरंत चला देती है: Linux और macOS पर sh से, Windows पर PowerShell से। सर्वर का पता vercelscript.vercel.app सबडोमेन पर था। सब कुछ बैकग्राउंड में चलता है और आउटपुट /dev/null में भेजा जाता है, इसलिए यूज़र को कुछ दिख नहीं सकता।

डाउनलोड होने वाली स्क्रिप्ट असल में क्या करती है, यह ZIP से पता नहीं चलता। वह अगला चरण, डेटा चोरी या कुछ और हो सकती है।

देखने लायक ऐप्स

SUMO: नंबर पज़ल

सही खाने चुनें, जोड़ें, लक्ष्य तक पहुँचें। सीखना आसान, महारत मुश्किल। मुफ़्त, हर उम्र के लिए।

Dialo: बोलकर भाषाएँ सीखें

AI बातचीत साथी से बात करें; हर वाक्य सुधरकर आपकी भाषा में समझाया हुआ लौटता है। 9 भाषाएँ, A1 से C2 तक।

giftdetect: मिनटों में सही तोहफ़ा

चुनें किसके लिए, किस मौके पर और कैसा स्वभाव। सर्च इंजन स्थानीय दुकानों के उत्पाद विवरण पढ़कर सबसे उपयुक्त विकल्प ऊपर रखता है। मुफ़्त, बिना साइन-अप।

टैग:gitmalwarelinkedinjob scamcryptic heavendeveloper security

इसी दिन की और ख़बरें

सभी देखें →

और पढ़ें:: सुरक्षा

सभी देखें →