(शौकिया एंटी-वायरस के नोट)
जब आपको वेलेंटाइन डे की पूर्व संध्या पर एक लिंक के साथ एक बधाई पत्र प्राप्त होता है, तो आप वास्तव में यह जानना चाहते हैं कि इस लिंक से क्या है। सभी एकमत से कहते हैं कि इस तरह के संदिग्ध लिंक को कभी नहीं खोला जाना चाहिए, लेकिन हम जानते हैं कि यदि साफ-सुथरा है, तो यह संभव है। उदाहरण के लिए, इस तरह के पेज को डाउनलोड करें, और फिर अपने पसंदीदा टेक्स्ट एडिटर में सावधानी से बनाएं।
मेरे मामले में कुछ ऐसा था
<मेटा http-equiv = "ताज़ा करें" सामग्री = "1; url = '
valentine.exe '">
...
<a href="
valentine.exe "> blah-blah </a>
वायरस का एक नया उपयोगकर्ता बनने के लिए एक खुला निमंत्रण। इसके अलावा, सावधानी से valentine.exe डाउनलोड करें, और इसे .txt में बदल दें, ताकि आप गलती से इसे शुरू न करें, आप इसे अंदर से चुन सकते हैं।
Kaspersky की ऑनलाइन स्कैनर फ़ाइल "Email-Worm.Win32.Zhelatin.v" वायरस से संक्रमित के रूप में इस फ़ाइल की पहचान करती है।
यह कहने के लिए कि वायरस के बारे में बताई गई जानकारी की मात्रा मेरे अनुरूप नहीं है, कुछ भी नहीं कहना है। यह बस भयावह रूप से छोटा है। यह नहीं कहता है, सबसे पहले, क्या नहीं किया जाना चाहिए। दूसरे, यह उपयोगकर्ताओं को "एंटी-वायरस डेटाबेस को अपडेट रखता है"। अपडेटेड डेटाबेस - यह, ज़ाहिर है, बहुत अच्छा है, मैं केवल इसके लिए हूं। ये आधार केवल महामारी की पहली लहर से नहीं बचाएंगे, क्योंकि उनके पास बस वायरस के हस्ताक्षर नहीं हैं जो अभी तक जारी नहीं किए गए हैं।
इसलिए, फैलने के लिए, कम से कम खुद के लिए, वायरस की आंतरिक संरचना के आसपास के अंधेरे और आतंक का माहौल, मैंने अपनी आस्तीन उतारी और निम्नलिखित का पता लगाया।
वायरस की सामान्य योजना इस प्रकार है:
1. मूल "valentine.exe" अपने शरीर से कोड का एक टुकड़ा निकालता है, जिसे पहले डीक्रिप्ट किया जाता है और फिर RtlUncompressBuffer फ़ंक्शन का उपयोग करके अनपैक किया जाता है। यह कोड फ़ाइल% SYSTEMROOT% / system32 / diperto $ p- $ t.sys में संग्रहीत किया जाता है, जहाँ $ p और $ t प्रक्रिया और स्ट्रीम (हेक्साडेसिमल प्रारूप में) "valentine.exe" है जो फ़ाइल को लिखते हैं। फ़ाइल% SYSTEMROOT% / system32 / diperto.ini भी बनाई गई है:
[कॉन्फ़िग]
[स्थानीय]
uport = 1211
[साथियों]
पोर्ट बेतरतीब ढंग से बदलते हैं। जादू शब्द "साथियों" का मतलब यह हो सकता है कि एक संक्रमित कंप्यूटर बॉटनेट में प्रवेश करेगा।
2. "Valentine.exe" Windows API फ़ंक्शन का उपयोग करके "diperto.sys" ड्राइवर को लोड करता है और फिर उसका काम बंद कर देता है।
3. "diperto.sys" एक डिवाइस बनाता है जिसे "DRV_MODULE_MYDR" कहा जाता है, साथ ही साथ "Ir <fk ^ 7k" नामक एक घटना है। यह सब WinObj.exe का उपयोग करके देखा जा सकता है
4. आरंभीकरण के बाद, चालक कर्नेल मोड में एक नया सूत्र शुरू करता है, जो बदले में, चालक के शरीर से एन्क्रिप्टेड कोड का एक टुकड़ा निकालता है। कोड एक "अनन्य या" ऑपरेशन के साथ "एन्क्रिप्टेड" है और एक विंडोज निष्पादन योग्य फ़ाइल है।
5. फिर उसे "services.exe" नामक एक प्रक्रिया मिलती है - विंडोज सेवा नियंत्रक, इसे जोड़ता है, प्रक्रिया पता स्थान में एक नया मेमोरी ब्लॉक आवंटित करता है, जहां यह डिक्रिप्टेड कोड ऑफ कोड लिखता है।
6. दुर्भावनापूर्ण कोड पर नियंत्रण स्थानांतरित करने के लिए, ड्राइवर APC - अतुल्यकालिक प्रक्रिया कॉल का उपयोग करता है। KeInsertQueueApc फ़ंक्शन का उपयोग करते हुए, वह निष्पादन के लिए एक अतुल्यकालिक कॉल को कतारबद्ध करता है, जिसे पीड़ित प्रक्रिया से किसी भी अगले सिस्टम कॉल के बाद "डिलीवर" किया जाएगा। उसके बाद, चालक अपना काम बंद कर देता है।
7. संक्षेप में, यह सब इस तरह दिखता है:
वेलेंटाइन -> खुद का एक टुकड़ा -> diperto.sys -> खुद का एक टुकड़ा decrypts -> services.exe।
इस स्तर पर, दो प्रश्न उठते हैं: क) ये सारे हेरफेर क्यों? ख) हम इस जानवर की रक्षा कैसे करते हैं?
दूसरे प्रश्न का उत्तर आम तौर पर स्पष्ट है। यह% SYSTEMROOT% / system32 के लिए लेखन पहुंच को बंद करने के लिए पर्याप्त है, परिणामस्वरूप बहुत पहले चरण बंद हो जाता है और वायरस जंगल से गुजरता है। लेकिन, एक पल के लिए कल्पना करें कि वह उत्परिवर्तित हो गया, और किसी अन्य स्थान पर फ़ाइल लिखना जानता है। तब केवल एक चीज जो हमें बचा सकती है वह है ड्राइवरों को पंजीकृत करने और डाउनलोड करने का अधिकार छीन लेना (जो कि संक्षेप में, रजिस्ट्री कुंजी "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \" सेवाओं) को लिखने के अधिकार के समान है।
डिफ़ॉल्ट रूप से, केवल व्यवस्थापकों के समूह के पास ऐसे अधिकार हैं।
खैर, अब सबसे दिलचस्प सवाल है - इतने इशारे क्यों? लेकिन क्यों। आमतौर पर, कोड को एम्बेड करने और इसे निष्पादन के लिए लॉन्च करने का ऐसा ऑपरेशन
"OpenProceess - VirtualAllocEx - WriteProcessMemory - CreateRemoteThread " लिंक का उपयोग करके किया जाता है, जो एंटीवायरस पर ध्यान देते हैं। हमारे मामले में, श्रृंखला इस तरह दिखती है:
"केआटैचप्रोसेस - ZwAllocateVirtualMemory - rep movds - KeInsertQueueApc ।
" "रेप मूस्ड" का अर्थ है कि दुर्भावनापूर्ण कोड को पीड़ित के स्थान पर सीधे कॉपी किया जाता है, बिना किसी फ़ंक्शन का उपयोग किए। आज तक, एंटीवायरस इस तरह की पैठ का पता लगाने में सक्षम नहीं हैं।
कुछ आँकड़े:
- मूल फ़ाइल का आकार: 117,248 बाइट्स।
- ड्राइवर फ़ाइल का आकार: 129,920 बाइट।
- मूल फ़ाइल MINGW GCC द्वारा संकलित की गई थी। जब आप अपरिचित शैली में फ़ंक्शन कॉल को ट्रैक करने का प्रयास करते हैं, तब तक, मस्तिष्क को अंदर से बाहर करने में मदद करता है।
मूव [esp], a
मूव [एस्प + 4], बी
मूव [एस्प + 8], सी
कॉल F; एफ (ए, बी, सी) को कॉल करता है;
- मूल फ़ाइल CreateWaitableTimer (0, 0, 0) जैसी झूठी कॉल के साथ भरवां है; या IsBadHugeReadPtr (0, 0); या DeleteAtom (0)। यह स्पष्ट नहीं है कि उन्हें भ्रमित करने के लिए किसे कहा जाता है - एंटीवायरस या मनुष्य।
दूसरे भाग में, हम यह जांच करेंगे कि सेवाएँ.exe प्रक्रिया में एम्बेडेड वायरस कैसे काम करता है।