العملية TA505 ، الجزء الثاني: تعلم مستتر ServHelper مع NetSupport RAT



في نهاية يوليو 2019 ، اكتشفنا عينة مثيرة للاهتمام من البرامج الضارة TA505 . في 22 يوليو 2019 ، تم تحميله على ANY.RUN للتحليل الديناميكي. تم لفت انتباهنا إلى حقيقة أنه من بين العلامات المكشوفة ، بالإضافة إلى المعتاد في TA505 Servhelper ، ظهرت علامة دعم nets ، وبين حرائق توقيع الشبكة ، تم تحديد نفس اسم NetSupport RAT.



التين. 1. تاريخ التنزيل للبرامج الضارة والعلامات المحددة في محلل ANY.RUN عبر الإنترنت



التين. 2. تشغيل توقيع الشبكة على NetSupport RAT في أي رمل

للوهلة الأولى ، قد يبدو هذا غريبا: بعد كل شيء ، فإن الباب الخلفي لمجموعة ServHelper نفسها لديه وظائف رائعة للتحكم في جهاز الكمبيوتر الخاص بالضحية. حان الوقت للنظر في عمل البرامج الضارة بالتفصيل.

NSIS و PowerShell قطارات


ملف PE القابل للتنفيذ الذي يبدأ منه تحليلنا هو أداة تثبيت تستند إلى نظام Nullsoft Scriptable Install System (NSIS). يقوم البرنامج النصي NSIS الذي يقوم بعملية التثبيت باستخراج وتشغيل البرنامج النصي المدمج في PowerShell:



التين. 3. تعليمات البرنامج النصي NSIS

يحتوي البرنامج النصي PowerShell الذي تم إطلاقه على مخزن مؤقت مشفر Base64 (يتم اقتطاعه في الشكل أدناه من أجل الوضوح) ، والذي بعد فك تشفيره يتم فك تشفيره بواسطة Triple DES (3DES) في وضع CBC:



التين. 4. فك تشفير البيانات في برنامج PowerShell النصي

الجزء الأول من البرنامج النصي هو وظيفة تحمل اسم الناطق الرسمي وهي مسؤولة عن زيادة الامتيازات في النظام وتجاوز حماية UAC. يتم استخدام أسلوبين لهذا:

التقنية رقم 1: استخدام مهمة SilentCleanup في برنامج جدولة المهام:

  • يمكن تشغيل المهمة من قبل المستخدم ، لكنها تعمل بامتيازات مرتفعة. تحتوي خصائص المهمة على المسار إلى الملف القابل للتنفيذ باستخدام متغير البيئة٪ windir٪. يمكنك تغيير قيمة متغير البيئة (على سبيل المثال ، تحديد بدء تشغيل البرنامج النصي PowerShell) ، ثم يؤدي تشغيل المهمة إلى تنفيذ البرنامج النصي PowerShell مع حقوق المسؤول دون تحذير UAC.
  • يستخدم المهاجمون هذه التقنية على أنظمة Windows 8 و Windows 10.
  • يشبه الكود الذي ينفذ هذه التقنية تنفيذ الوحدة النمطية لإطار Metasploit.



التين. 5. جزء من البرنامج النصي مع تقنية تجاوز مهمة SilentCleanup

تقنية رقم 2: استخدام الأداة المساعدة لنظام sysprep.exe وتقنية DLL التحميل الجانبي

  • أولاً ، يتم إنشاء برنامج نصي مساعد لإعادة تشغيل البرنامج النصي PowerShell في الدليل C: \ Windows \ Temp. ثم يتم تشكيل أرشيف CAB ، والذي يحتوي على مكتبة DLL المساعدة CRYPTBASE.dll (يحتوي البرنامج النصي PowerShell على إصدارات x86 و x64 من المكتبة). باستخدام الأداة المساعدة للنظام wusa.exe ، يتم فك ضغط هذا الأرشيف في الدليل C: \ Windows \ System32 \ Sysprep. بعد ذلك ، يتم تشغيل الأداة المساعدة للنظام sysprep.exe ، والتي ستقوم بتحميل مكتبة DLL غير المعبأة سابقًا ، وستقوم بدورها بتنفيذ البرنامج المساعد. نتيجة لذلك ، سيتم إعادة تشغيل البرنامج النصي PowerShell مع حقوق المسؤول دون تحذير UAC.
  • يستخدم المهاجمون هذه التقنية على نظام Windows 7.
  • يمكن العثور على وصف تفصيلي في هذه المقالة ، وأمثلة التنفيذ ، على سبيل المثال ، في هذا المشروع على جيثب.



التين. 6. جزء من البرنامج النصي مع تقنية تجاوز الأداة المساعدة sysprep.exe

هناك الكثير من التعليقات في البرنامج النصي ، وهي وظيفة Test-Administrator غير مستخدمة ، وتستخدم بعض المتغيرات دون التهيئة: كل هذه علامات على رمز الاستعارة دون التحقق بعناية من الإيجاز.

بعد تشغيل البرنامج النصي بالامتيازات اللازمة ، يتم تنفيذ الجزء الثاني من البرنامج النصي. في هذه المرحلة ، يتم فك تشفير الحمولات المستهدفة:

  • تم فك تشفير السلسلة بواسطة Base64 ،
  • يتم توسيع المخزن المؤقت باستخدام Deflate ،
  • السلسلة re-decoded بواسطة Base64.



التين. 7. الحمولة الخوارزمية فك التشفير

  • نتيجة لذلك ، سيتم إنشاء الملفات التالية في النظام:
  • ٪ systemroot٪ \ help \ hlp11.dat - الإصدار x86 / x64 من مكتبة التفاف RDP . يتم استخدامه لتوسيع وظيفة خدمة RDP ، بما في ذلك إمكانية إجراء عدة اتصالات متزامنة. من المهم ملاحظة أنه تم تعديل المكتبة: في بداية التنفيذ ، يتم فك تشفير السطر c: \ windows \ help \ hlp12.dat بواسطة XOR الخطي ، ثم يتم تحميل مكتبة DLL على المسار المستلم:



التين. 8. فك تشفير المسار إلى مكتبة DLL وتحميلها

  • ٪ systemroot٪ \ help \ hlp12.dat هو الإصدار x86 / x64 من الباب الخلفي لـ ServHelper ، والذي سيتم مناقشته في القسم التالي ؛
  • ٪ systemroot٪ \ help \ hlp13.dat - ملف التكوين لمكتبة التفاف RDP ،
  • ٪ systemroot٪ \ system32 \ rdpclip.exe - أحد مكونات خدمة RDP من أجل القدرة على تبادل بيانات الحافظة ؛
  • ٪ systemroot٪ \ system32 \ rfxvmt.dll هو مكون خدمة RDP لنقل البيانات باستخدام تقنيات RemoteFX .

بعد استخراج الحمولة الصافية وتسجيلها ، يقوم البرنامج النصي بإعداد العملية الصحيحة لمكوناته:

  • تغيير مالك مكون rfxvmt.dll إلى NT SERVICE \ TrustedInstaller ويمنح الحقوق اللازمة؛
  • يغير قيمة المنفذ لاتصالات RDP من 3389 إلى 7201 القياسية ؛
  • يضيف حساب خدمات الشبكة إلى مجموعة المسؤولين المحليين
  • تسجيل hlp11.dat كخدمة RDP وإعادة تشغيل الخدمة ؛
  • حذف الملفات المؤقتة التي تم إنشاؤها.

ServHelper RAT → القطارة


إحدى نتائج أداة الإزالة هي DLL hlp12.dat ، وهو برنامج ضار ServHelper. يمكن إنشاء كل من إصدارات x86 و x64 من المكتبة وفقًا لحجم نظام التشغيل (لا توجد اختلافات جوهرية بينهما). تتم كتابة كلا الإصدارين في دلفي ، معبأة مع UPX 3.95 (x64) و PeCompact 2.20 (x86). قدم زملاؤنا من Proofpoint و Trend Micro تحليلًا لتوزيع وتشغيل هذا الباب الخلفي. تتلاقى ترسانة قدرات عينة من نواح كثيرة مع ما هو معروف بالفعل: على وجه الخصوص ، لم تتغير خوارزمية فك تشفير الأوتار المستخدمة ( تشفير Vigenere ):



التين. 9. الكود الكاذب لفك تشفير السلاسل باستخدام تشفير Vigenere

ومن المثير للاهتمام ، أن التشفير لا يتم تطبيقه على جميع السلاسل: على سبيل المثال ، تظل عناوين مجالات التحكم وروابط الويب مع المكونات الإضافية مفتوحة:



التين. 10. مجالات غير مشفرة وروابط الويب

عند الوصول إلى أحد هذه الروابط (hxxp: //letitbe.icu/2.txt) ، يتم تنزيل ملف مشفر (MD5: 0528104f496dd13438dd764e747d0778). عند تحليل نهاية الملف في محرر سداسي عشرية ، يمكنك ملاحظة التكرار المتكرر لقيمة البايت 0x09:



التين. 11. كرر البايت 0x09 في الملف الذي تم تنزيله

تعد قيم وحدات البايت المكررة علامة شائعة لاستخدام XOR أحادية البايت كتشفير. في هذه الحالة ، يتم تأكيد هذه النظرية بواسطة الكود:



التين. 12. أحادية البايت XOR وظيفة التشفير



التين. 13. تمرير قيمة بايت واحد إلى وظيفة XOR كوسيطة

نتيجة لفك التشفير ، سوف نتلقى أرشيف ZIP بالمحتويات التالية:



التين. 14. محتويات أرشيف ZIP المشفر

جميع الملفات هي برامج شرعية للتحكم عن بُعد بجهاز NetSupport Manager PC ، والذي استخدمه المهاجمون من مجموعات مختلفة بشكل متكرر.



التين. 15. وصف برنامج NetSupport Manager

أحد الملفات (client32.ini) هو ملف التكوين ، والذي يحتوي على عنوان العبارة الوسيطة التي من خلالها سيقوم جهاز الكمبيوتر الضحية بالاتصال بالمهاجمين:



التين. 16. عنوان المهاجمين كبوابة NetSupport Manager

يكون هذا الخيار منطقيًا إذا كان الضحية وراء جدار الحماية ، وكان الوصول إلى الإنترنت محدودًا بواسطة المنفذ. للعمل بشكل صحيح على الإنترنت ، يجب عليك فتح الوصول إلى منفذين على الأقل ، 80 (HTTP) و 443 (HTTPS) ، وبالتالي يزيد احتمال نجاح الاتصال.

في سبتمبر 2019 ، اكتشفنا العديد من عينات ServHelper مماثلة مع مجموعة محدودة للغاية من الخيارات. باستخدام أحدها كمثال (MD5: 5b79a0c06aec6126364ce1d5cbfedf66): من بين موارد ملف PE القابل للتنفيذ ، هناك بيانات مشفرة ذات خاصية مماثلة في شكل بايت متكرر:



التين. 17. تشفير البيانات في موارد ServHelper
هذا أرشيف ZIP مرة أخرى "انسداد" مع بايت واحد ، والذي يحتوي على نفس المكونات من NetSupport Manager ، على الرغم من هذه المرة مع بوابة وسيطة مختلفة: 179 [.] 43.146.90: 443.

النتائج


في هذه المقالة ، درسنا أحد الخيارات لتسليم واستخدام الباب الخلفي TA505 - ServHelper. بالإضافة إلى الميزات الغريبة التي سبقت تشغيل المكون الرئيسي (على سبيل المثال ، تجاوز UAC والامتيازات المتصاعدة) ، لاحظنا تحولًا مثيرًا للاهتمام من الباب الخلفي الرئيسي: تم استكمال الوظيفة الأساسية (سرقة البيانات ، التجسس وتنفيذ الأوامر) من خلال تضمين أداة أخرى للتحكم عن بعد بجهاز الكمبيوتر - NetSupport RAT. بالإضافة إلى ذلك ، لم تعد الإصدارات الجديدة من ServHelper تحتوي على الميزات الرئيسية التي تجعلها مستترًا كاملاً: الآن تعمل فقط كقطارة وسيطة لتثبيت NetSupport RAT. ربما ، وجد المهاجمون هذا النهج أكثر فعالية من حيث التنمية ومن حيث قدرات الكشف. ومع ذلك ، فإن قائمة أدوات المجموعة التي تهمنا لا تنتهي عند هذا الحد.

أرسلت بواسطة أليكسي فيشناكوف ، تقنيات إيجابية
شركات النفط العالمية
hxxp: //185.225.17.175/wrkn157.exe - رابط الويب الذي تم تحميل قطارة NSIS منه
d2a062ca772fa3ace7c7edadbd95eaf7 - قطارة NSIS الأصلية
0cacea3329f35e88a4f9619190e3746f - PowerShell dropper shipkat.ps1
fb609b00e29689db74c853ca7d69f440 - CRYPTBASE.dll (x86)
843288a35906aa90b2d1cc6179588a26 - CRYPTBASE.dll (x64)
445cd6df302610bb640baf2d06438704 - hlp11.dat (x86)
083f66cc0e0f626bbcc36c7f143561bd - hlp11.dat (x64)
40bae264ea08b0fa115829c5d74bf3c1 - hlp12.dat (x86)
ac72ab230608f2dca1da1140e70c92ad - hlp12.dat (x64)
07f1dc2a9af208e88cb8d5140b54e35e - hlp13.dat
1690e3004f712c75a2c9ff6bcde49461 - rdpclip.exe
dc39d23e4c0e681fad7a3e1342a2843c - rfxvmt.dll
ServHelper C2:
179 [.] 43.156.32
185 [.] 163.45.124
185 [.] 163.45.175
185 [.] 225.17.150
185 [.] 225.17.169
185 [.] 225.17.175
185 [.] 225.17.98
195 [.] 123.221.66
195 [.] 123.246.192
37 [.] 252.8.63
94 [.] 158.245.123
94 [.] 158.245.154
94 [.] 158.245.232
fdguyt5ggs [.]
foxlnklnk [.] xyz
gidjshrvz [.] xyz
letitbe [.] ICU
pofasfafha [.] xyz
0528104f496dd13438dd764e747d0778 - أرشيف ZIP المشفر مع NetSupport RAT
مكونات NetSupport Manager:
953896600dfb86750506706f1599d415 - cksini.exe
8d9709ff7d9c83bd376e01912c734f0a - client32.exe
2d3b207c8a48148296156e5725426c7f - HTCTL32.DLL
0e37fbfa79d349d672456923ec5fbbe3 - msvcr100.dll
26e28c01461f7e65c402bdf09923d435 - nskbfltr.inf
88b1dab8f4fd1ae879685995c90bd902 - NSM.ini
7067af414215ee4c50bfcd3ea43c84f0 - NSM.LIC
dcde2248d19c778a41aa165866dd52d0 - pcicapi.dll
a0b9388c5f18e27266a31f8c5765b263 - PCICHEK.DLL
00587238d16012152c2e951a087f2cc9 - PCICL32.DLL
2a77875b08d4d2bb7b654db33a88f16c - remcmdstub.exe
eab603d12705752e3d268d86dff74ed4 - TCCTL32.DLL
185 [.] 225.17.66: 443 - NetSupport RAT GatewayAddress
5b79a0c06aec6126364ce1d5cbfedf66 - ServHelper مع أرشيف NetSupport RAT
179 [.] 43.146.90: 443 - NetSupport RAT GatewayAddress

Source: https://habr.com/ru/post/ar471960/


All Articles