
BlackLotus-Z2A-Challenge, यहाँ अभी देखने के लिए कुछ नहीं है, कृपया आगे बढ़ें
BlackLotus-Z2A-Challenge, यहाँ अभी के लिए देखने को कुछ नहीं है , कृपया आगे बढ़ें
सबसे पहले

केवल सौंदर्य प्रयोजनों के लिए, मैं @darthmaulware(Ryan “DM” Smith) के समाधान से yara डिटेक्शन नियम बेशर्मी से उधार(चुरा) लूँगा :)) ताकि इसे पेशेवर दिखाया जा सके। जाकर उनका ट्विटर देखिए वे बहुत ही शानदार इंसान हैं! Ps. Ryan कृपया नाराज़ न हों क्योंकि मैंने वो चुराया है :))) और Discord में समर्थन के लिए धन्यवाद :)
कृपया उनका काम भी देखें :)
https://gitlab.com/malre-rcs/zero2automated/-/blob/main/solutions/bi_weekly_challenge/BlackLotus_20230321/BlackLotus_HTTP_Downloader.ipynb``` rule Blacklotus_HTTP_Downloader { meta: description = "Rule to detect Blacklotus HTTP Downloader" author = "Darth Maulware" sha256 = "d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66"
strings:
$opcode1 = {48 89 4C 24 08 48 89 54 24 10 4C}
$opcode2 = {89 44 24 18 4C 89 4C 24 20 48 83}
$opcode3 = {EC 28 B9 31 62 D7 2E 90 90 E8 ??}
$opcode4 = {?? ?? ?? 48 83 C4 28 48 8B 4C 24}
$opcode5 = {08 48 8B 54 24 10 4C 8B 44 24 18}
$opcode6 = {4C 8B 4C 24 20 4C 8B D1 90 90}
condition:
(uint16(0) == 0x5a4d and filesize < 500KB and all of them)
}
इसके अलावा, सौंदर्य संबंधी कारणों से मैं इसे भी चुरा लूंगा क्योंकि यह अच्छा लगता है :) फिर से माफ़ करना रयान, कृपया मुझ पर गुस्सा मत करना :)```
C:\\Users\\REM\\Desktop>capa.exe -f pe -r capa-rules-5.0.0 d68f668b4240f9518e4f80499d93d8c5a1eddece0771658c33ae916cc54f5a66.exe
matching: 100%|████████| 124/124 [00:02<00:00, 46.96 functions/s, skipped 1 library functions (0%)]
+------------------------+------------------------------------------------------------------------------------+
| ATT&CK Tactic | ATT&CK Technique |
|------------------------+------------------------------------------------------------------------------------|
| DEFENSE EVASION | Obfuscated Files or Information T1027 |
| DISCOVERY | Process Discovery T1057 |
| EXECUTION | Shared Modules T1129 |
+------------------------+------------------------------------------------------------------------------------+
+-----------------------------+-------------------------------------------------------------------------------+
| MBC Objective | MBC Behavior |
|-----------------------------+-------------------------------------------------------------------------------|
| ANTI-BEHAVIORAL ANALYSIS | Debugger Detection::Process Environment Block BeingDebugged [B0001.035] |
| | Debugger Detection::Process Environment Block NtGlobalFlag [B0001.036] |
| CRYPTOGRAPHY | Encrypt Data::RC4 [C0027.009] |
| | Generate Pseudo-random Sequence::RC4 PRGA [C0021.004] |
| DATA | Encode Data::XOR [C0026.002] |
| DEFENSE EVASION | Obfuscated Files or Information::Encoding-Standard Algorithm [E1027.m02] |
+-----------------------------+-------------------------------------------------------------------------------+
+------------------------------------------------------+------------------------------------------------------+
| CAPABILITY | NAMESPACE |
|------------------------------------------------------+------------------------------------------------------|
| execute syscall instruction (35 matches) | anti-analysis |
| check for PEB BeingDebugged flag (2 matches) | anti-analysis/anti-debugging/debugger-detection |
| check for PEB NtGlobalFlag flag | anti-analysis/anti-debugging/debugger-detection |
| encode data using XOR (2 matches) | data-manipulation/encoding/xor |
| encrypt data using RC4 PRGA (2 matches) | data-manipulation/encryption/rc4 |
| get process heap flags | host-interaction/process |
| get ntdll base address (3 matches) | linking/runtime-linking |
| parse PE header (2 matches) | load-code/pe |
| resolve function by parsing PE exports (2 matches) | load-code/pe |
+------------------------------------------------------+------------------------------------------------------+
सच कहूँ तो अगर मैं तुम्हारी जगह होता तो मैं 100% capa पर भरोसा नहीं करता (कम से कम इस विशेष मामले में) क्योंकि यहाँ यह कहता है कि सैंपल rc4 इस्तेमाल करता है जबकि असल में सैंपल aes इस्तेमाल करता है लेकिन जो भी हो, जैसा कि बताया गया है यह पूरी तरह से सौंदर्य के लिए है :)
शुरू करने से पहले, इस रिपोर्ट के दौरान आपको बहुत सारे

कृपया इसे अनदेखा करें क्योंकि ida इसे असेंबली में ठीक से डिसअसेम्बल नहीं कर पाता, यह है

और यह डीबगर को क्रैश कर देता है? क्यों?
क्योंकि यह एड्रेस 0 पर लिखने की कोशिश करता है, जिसे हैकर लोककथा में नल पॉइंटर एड्रेस पर लिखना कहा जाता है, जिसका व्यापक रूप से CE (code execution) पाने के लिए शोषण किया जाता था, और इसे स्पष्ट रूप से mitigate कर दिया गया है।
और ऐसे में वर्तमान mitigation के साथ, यदि आप 0 पर लिखने की कोशिश करते हैं तो यह उस प्रक्रिया को क्रैश कर देगा, हमारे मामले में मालवेयर और परिणामस्वरूप डीबगर को।
अब यदि हम इसे ida में खोलते हैं

मैंने हर फ़ंक्शन का नाम बदल दिया है ताकि यह संकेत मिले कि वह कुछ लॉजिक करता है, चलिए पहले फ़ंक्शन do_syscall() से शुरू करते हैं।

हम तुरंत syscalls के उपयोग को नोटिस करते हैं, जो कि डायनेमिक विश्लेषण के दौरान एक विश्लेषक का जीवन कठिन बनाने का एक जाना-माना तरीका है।
जो लोग विंडोज़ में syscalls से परिचित नहीं हैं, उनके लिए oalabs द्वारा बनाया गया एक बढ़िया वीडियो यहाँ है (https://www.youtube.com/watch?v=Uba3SQH2jNE)। कृपया इसे देखें क्योंकि मैंने भी देखा था और इसने इस फ़ंक्शन में क्या होता है यह समझने में मेरी बहुत मदद की।
यदि हम ida द्वारा तैयार किए गए "pseudo-code" का निरीक्षण करें, तो हम देखते हैं कि यह ऐसा दिखता है

यदि हम statically solve_hash का निरीक्षण करें तो यह ऐसा दिखता है

