
इज़राइली संगठनों को लक्षित करने वाले Bibi-Windows Wiper का तकनीकी विश्लेषण
30 अक्टूबर को, Security Joes Incident Response टीम ने "BiBi-Linux" नामक एक नया Linux वाइपर खोजा, जिसे Pro-Hamas हैक्टिविस्ट समूह द्वारा अपने इंफ्रास्ट्रक्चर को नष्ट करने के लिए तैनात किया गया था। और फिर 1 नवंबर 2023 को, ESET Research ने Bibi वाइपर के Windows संस्करण के बारे में ट्वीट किया, जिसे BiBiGun द्वारा तैनात किया गया था - जो 2023 इज़राइल-हमास संघर्ष के दौरान शुरू में उभरा एक हमास-समर्थित हैक्टिविस्ट समूह है।
इस पोस्ट में, हम BiBi वाइपर के Windows संस्करण को देखेंगे, जिसे "BiBi-Windows Wiper" के नाम से जाना जाता है।
निष्पादन के बाद, BiBi-Windows वाइपर जाँचता है कि BiBi वाइपर को कोई तर्क (argument) दिया गया है या नहीं। यहाँ तर्क वह निर्देशिका है जिसे नष्ट करना है - bibi.exe <directory_to_destroyed>। यदि कोई तर्क प्रदान नहीं किया जाता है, तो यह लक्षित ड्राइव प्राप्त करने के लिए निम्नलिखित रूटीन निष्पादित करता है।
हार्डकोडेड पथ पढ़ता है: "C:\Users"
GetLogicalDrives() का उपयोग करके वर्तमान में उपलब्ध डिस्क ड्राइव प्राप्त करता है, जहाँ रिटर्न वैल्यू bitmask होती है, फिर यह A-Z (26) ड्राइव्स के माध्यम से पुनरावृत्ति (iterate) करता है। इसके बाद यह सिस्टम पर सुलभ ड्राइव्स को निर्धारित करने के लिए प्राप्त bitmask के साथ बिट-टेस्ट करता है और ड्राइव नाम में ":\" जोड़ता है।
यहाँ यह C ड्राइव को बाहर करता है, i != 2 की जाँच करके, जहाँ 2 C ड्राइव के लिए bitmask स्थिति है।
फिर C ड्राइव को छोड़कर उपलब्ध ड्राइव्स के लिए यह GetDriveTypeA() निष्पादित करता है, जो ड्राइव प्रकार प्राप्त करता है। BiBi-Windows वाइपर यहाँ केवल निम्नलिखित ड्राइव प्रकारों को लक्षित करता है:

इसलिए BiBi-Windows वाइपर निम्न को लक्षित करता है:
इसके अलावा, यह लक्षित निर्देशिकाओं को कंसोल पर प्रिंट करता है और GetNativeSystemInfo() से NumberOfProcessors प्राप्त करता है, और numberofprocessors के आधार पर थ्रेड्स की गणना करता है और फिर उन्हें कंसोल पर प्रिंट करता है।

इसके अलावा, यह एक नया थ्रेड बनाता है जो कमांड्स को उल्टे क्रम में पढ़ता है, और फिर उन कमांड्स को निष्पादित करने के लिए CreateProcessA का उपयोग करके एक नया प्रोसेस बनाता है। कमांड्स निम्नलिखित हैं:

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

अब आइए समझें कि BiBi-Windows वाइपर मशीन पर डेटा को कैसे नष्ट करता है।
Mersenne Twister PseudoRandom Number Generator Algorithm लागू करता है, जो नीचे दिखाए अनुसार रैंडम संख्याएँ उत्पन्न करता है।
sub_140008BF0() फ़ंक्शन से उत्पन्न रैंडम संख्या फिर "0xFF + 1 = 100" मान के साथ मॉड्यूलस (%) करती है और मॉड्यूलस ऑपरेशन का आउटपुट (शेष) वह बाइट होता है जिसे लक्ष्य फ़ाइल में बाइट-दर-बाइट अधिलेखित किया जाता है।
नीचे एक ऐसी फ़ाइल का उदाहरण दिया गया है जिसमें "hello" डेटा है और इसे एक लूप में इन 5 रैंडम बाइट्स द्वारा अधिलेखित किया जा रहा है।
ogfile_val -> rand_num % (hardcoded_val + 1) -> overwrite_val
h - 0xDD9B40A5 % 0x100 -> 0xA5
e - 0x37905317 % 0x100 -> 0x17
l - 0x54B7A20C % 0x100 -> 0x0C
l - 0xDBD10533 % 0x100 -> 0x33
o - 0x18ED3C42 % 0x100 -> 0x42
फ़ाइल रैंडम बाइट्स के साथ अधिलेखित हो गई - नष्ट!

अब जब फ़ाइल में डेटा रैंडम बाइट्स के साथ अधिलेखित हो जाता है और फ़ाइल नष्ट हो जाती है, तो BiBi वाइपर फ़ाइल का नाम निम्नलिखित तरीके से बदलता है:
rand_no = twisterfunc()
remainder_output = rand_no % (0x3D + 1)
wide_string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
filename_byte = wide_string[remainder_output * 2]
Thus,
if random num = 0xC6D15D79
mod_out = 0xC6D15D79 % 0x3E => 0x31
offset = 0x31 × 0x2 = 0x62
so the 62nd indexed value in the wide string becomes one of the character for the filename. In this case the value is "n"
यही रूटीन 0xA (10) बार निष्पादित की जाती है और सभी इंडेक्स किए गए मानों को जोड़कर एक रैंडम फ़ाइल नाम बनाया जाता है, जैसे 1wnRvB6teT, और फिर एक्सटेंशन ".BiBi" (Bibi इज़राइल के प्रधानमंत्री बेंजामिन नेतन्याहू के लिए उपयोग किया जाने वाला उपनाम है) को अंत में राउंड नंबर के साथ निम्नलिखित तरीके से जोड़ा जाता है - <rand_filename>.BiBi

इस प्रकार, BiBi-Windows वाइपर लक्षित निर्देशिकाओं की सभी फ़ाइलों को फ़ाइलों में मौजूद डेटा को रैंडम बाइट्स से अधिलेखित करके नष्ट कर देगा। चूँकि लूप यानी राउंड अनंत हैं, वाइपर फ़ाइलों को पुनरावर्ती रूप से बार-बार रैंडम बाइट्स के साथ अनंत काल तक अधिलेखित करता रहेगा और नहीं रुकेगा, इस प्रकार मशीन पर मौजूद फ़ाइलों को पूरी तरह से नष्ट कर देगा!
BiBi-Windows वाइपर का निष्पादन, जिसमें लक्ष्य निर्देशिका, CPU कोर, थ्रेड्स, राउंड नंबर, स्टैट्स, और .BiBi एक्सटेंशन वाली नष्ट की गई फ़ाइल दिखाई गई है।

पढ़ने के लिए धन्यवाद! - knight0x07