مئي جي آخر ۾، اسان ريموٽ رسائي ٽروجن (RAT) مالويئر کي ورهائڻ لاءِ هڪ مهم دريافت ڪئي- پروگرام جيڪي حملي ڪندڙن کي هڪ متاثر ٿيل نظام کي ريموٽ ڪنٽرول ڪرڻ جي اجازت ڏين ٿا.
اهو گروپ جيڪو اسان جانچيو هو ان حقيقت سان فرق ڪيو ويو آهي ته اهو ڪنهن مخصوص RAT خاندان کي انفيڪشن لاءِ نه چونڊيو آهي. مهم جي اندر حملن ۾ ڪيترائي ٽرجن محسوس ڪيا ويا (جن مان سڀ وڏي پيماني تي موجود هئا). هن خصوصيت سان، گروپ اسان کي چوهاڻ بادشاهه جي ياد ڏياري ٿو - هڪ افسانوي جانور جنهن ۾ ٻڏل دم سان گڏ چوٿون شامل آهن.
هن مخلوق جي عزت ۾، اسان گروپ جو نالو رکيو آهي جيڪو اسان RATKing تي غور ڪري رهيا آهيون. هن پوسٽ ۾، اسان تفصيل ۾ وينداسين ته حملي آورن ڪيئن حملو ڪيو، انهن ڪهڙا اوزار استعمال ڪيا، ۽ هن مهم جي انتساب تي پنهنجا خيال پڻ شيئر ڪندا.
حملي جي ترقي
هن مهم ۾ سڀ حملا هيٺ ڏنل الگورتھم موجب ڪيا ويا:
استعمال ڪندڙ کي گوگل ڊرائيو جي لنڪ سان گڏ فشنگ اي ميل ملي.
لنڪ استعمال ڪندي، مقتول هڪ بدسلوڪي VBS اسڪرپٽ ڊائون لوڊ ڪيو جنهن کي ونڊوز رجسٽري ۾ فائنل پيل لوڊ لوڊ ڪرڻ لاءِ ڊي ايل ايل لائبريري جي وضاحت ڪئي ۽ ان کي هلائڻ لاءِ پاور شيل لانچ ڪيو.
ڊي ايل ايل لائبريري حتمي پيل لوڊ ڪيو - حقيقت ۾، حملي ڪندڙن پاران استعمال ڪيل RATs مان هڪ - سسٽم جي عمل ۾ ۽ رجسٽر ٿيل هڪ VBS اسڪرپٽ autorun ۾ متاثر ٿيل مشين ۾ پير حاصل ڪرڻ لاءِ.
حتمي پيل لوڊ هڪ سسٽم جي عمل ۾ عمل ڪيو ويو ۽ حملي ڪندڙ کي متاثر ٿيل ڪمپيوٽر کي ڪنٽرول ڪرڻ جي صلاحيت ڏني.
Schematically ان کي هن طرح نمائندگي ڪري سگهجي ٿو:
اڳيون، اسان پهرين ٽن مرحلن تي ڌيان ڏينداسين، ڇو ته اسان مالويئر پهچائڻ واري ميڪانيزم ۾ دلچسپي رکون ٿا. اسان مالويئر جي آپريشن جي ميڪانيزم کي تفصيل سان بيان نه ڪنداسين. اهي وڏي پيماني تي دستياب آهن - يا ته خاص فورمن تي وڪرو ٿيل آهن، يا کليل ذريعو پروجيڪٽ جي طور تي ورهايل آهن - ۽ تنهن ڪري RATKing گروپ لاءِ منفرد نه آهن.
حملن جي مرحلن جو تجزيو
اسٽيج 1. فشنگ اي ميل
حملي جي شروعات متاثرن کي بدسلوڪي خط موصول ٿيڻ سان ٿي (حملو ڪندڙن متن سان مختلف ٽيمپليٽ استعمال ڪيا؛ هيٺ ڏنل اسڪرين شاٽ هڪ مثال ڏيکاري ٿو). پيغام ۾ هڪ قانوني مخزن جي لنڪ شامل آهي drive.google.com, جنهن کي ڀانيو ويو هڪ PDF دستاويز ڊائون لوڊ صفحي ڏانهن.
فشنگ اي ميل جو مثال
بهرحال، حقيقت ۾، اهو هڪ PDF دستاويز نه هو جيڪو سڀني تي لوڊ ڪيو ويو، پر هڪ VBS اسڪرپٽ.
جڏهن توهان مٿي ڏنل اسڪرين شاٽ ۾ اي ميل مان لنڪ تي ڪلڪ ڪيو، نالي هڪ فائل Cargo Flight Details.vbs. ان صورت ۾، حملي آورن فائل کي هڪ جائز دستاويز طور لڪائڻ جي ڪوشش به نه ڪئي.
ساڳئي وقت، هن مهم جي حصي طور، اسان هڪ اسڪرپٽ دريافت ڪيو جنهن جو نالو آهي Cargo Trip Detail.pdf.vbs. اهو اڳ ۾ ئي هڪ جائز پي ڊي ايف لاءِ پاس ٿي سگهي ٿو ڇاڪاڻ ته ونڊوز ڊفالٽ طور فائل ايڪسٽينشن کي لڪائيندو آهي. سچ، هن معاملي ۾، شڪ اڃا به ان جي آئڪن، جنهن VBS اسڪرپٽ سان ملندڙ جلندڙ ٿي سگهي ٿو.
هن اسٽيج تي، مقتول فريب کي سڃاڻي سگهي ٿو: صرف هڪ سيڪنڊ لاء ڊائون لوڊ ڪيل فائلن تي هڪ ويجهي نظر وٺو. بهرحال، اهڙين فشنگ مهمن ۾، حملو ڪندڙ اڪثر ڪري اڻڄاڻ يا جلدي ڪندڙ صارف تي ڀروسو ڪندا آهن.
اسٽيج 2. VBS اسڪرپٽ آپريشن
VBS اسڪرپٽ، جنهن کي صارف اڻڄاڻ طور تي کوليو، ونڊوز رجسٽري ۾ هڪ DLL لائبريري رجسٽر ڪئي. رسم الخط مبهم ٿي ويو: ان ۾ سٽون لکجن ٿيون جيئن بائٽس ڌار ڌار ڌار ڌار ڪردار.
تارن کي ختم ڪرڻ لاءِ، اسان پٿون فنڪشن استعمال ڪيو:
def decode_str(data_enc):
return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))
هيٺ، لائين 9-10 تي، اسان ان قدر کي نمايان ڪريون ٿا جن جي خراب ٿيڻ جي نتيجي ۾ ڊي ايل ايل فائل ٿي. اھو اھو ھو جيڪو ايندڙ اسٽيج تي پاور شيل استعمال ڪندي شروع ڪيو ويو.
اڻڄاتل DLL سان اسٽرنگ
VBS اسڪرپٽ ۾ هر فنڪشن تي عمل ڪيو ويو جيئن تارن کي ختم ڪيو ويو.
اسڪرپٽ کي هلائڻ کان پوء، فنڪشن کي سڏيو ويو wscript.sleep - اهو استعمال ڪيو ويو ملتوي عمل کي انجام ڏيڻ لاء.
اڳيون، اسڪرپٽ ونڊوز رجسٽري سان ڪم ڪيو. هن ان لاءِ WMI ٽيڪنالاجي استعمال ڪئي. ان جي مدد سان، هڪ منفرد ڪيچ ٺاهي وئي، ۽ عمل ڪندڙ فائل جو جسم ان جي پيٽرولر ڏانهن لکيو ويو. ھيٺ ڏنل حڪم استعمال ڪندي WMI ذريعي رجسٽري تائين رسائي ڪئي وئي:
نالي سان رجسٽري ويل ڊيٽا حاصل ڪئي rnd_value_name - هي ڊيٽا هڪ DLL فائل هئي جيڪا .Net پليٽ فارم تي لکيل هئي؛
نتيجو .Net ماڊل کي پروسيس ميموري ۾ لوڊ ڪيو powershell.exe فنڪشن کي استعمال ڪندي [System.Threading.Thread]::GetDomain().Load()(Load() فنڪشن جو تفصيلي بيان Microsoft جي ويب سائيٽ تي موجود آهي);
فنڪشن انجام ڏنو GUyyvmzVhebFCw]::EhwwK() - ڊي ايل ايل لائبريري جو عمل ان سان شروع ٿيو - پيرا ميٽرز سان vbsScriptPath, xorKey, vbsScriptName. پيرا ميٽر xorKey محفوظ ٿيل ڪنجي کي ختم ڪرڻ لاءِ فائنل پيل لوڊ، ۽ پيرا ميٽرز vbsScriptPath и vbsScriptName خودڪار طريقي سان VBS اسڪرپٽ رجسٽر ڪرڻ لاءِ منتقل ڪيا ويا.
DLL لائبريري جي وضاحت
ٺهڪندڙ فارم ۾، بوٽ لوڊر هن طرح ڏٺو:
ڊيڪمپائل ٿيل فارم ۾ لوڊ ڪندڙ (اهو فنڪشن جنهن سان ڊي ايل ايل لائبريري جو عمل شروع ٿيو ڳاڙهي ۾ هيٺ ڏنل آهي)
بوٽ لوڊر .Net ريڪٽر محافظ طرفان محفوظ آهي. de4dot افاديت هن محافظ کي هٽائڻ جو هڪ بهترين ڪم ڪري ٿو.
هي لوڊ ڪندڙ:
سسٽم جي عمل ۾ پيل لوڊ داخل ڪيو (هن مثال ۾ اهو svchost.exe);
مون هڪ VBS اسڪرپٽ شامل ڪيو autorun ۾.
پيل لوڊ انجيڪشن
اچو ته ان فنڪشن کي ڏسون جنهن کي PowerShell اسڪرپٽ سڏيو ويندو آهي.
فنڪشن سڏيو ويندو آهي PowerShell اسڪرپٽ طرفان
ھن فنڪشن ھيٺ ڏنل ڪم ڪيو آھي:
ڊريڪٽ ٿيل ٻه ڊيٽا سيٽ (array и array2 اسڪرين شاٽ ۾). اهي اصل ۾ gzip استعمال ڪندي دٻجي ويا هئا ۽ ڪنجي سان XOR الگورٿم سان انڪوڊ ٿيل هئا xorKey;
فنڪشن سڏيو ويندو آهي CallWindowProcA(описание هي فنڪشن Microsoft جي ويب سائيٽ تي موجود آهي) ھيٺ ڏنل پيرا ميٽرن سان (پيراميٽرن جا نالا ھيٺ ڏنل آھن، اسڪرين شاٽ ۾ اھي ساڳيا ترتيب ۾ آھن، پر ڪم ڪندڙ قدرن سان):
lpPrevWndFunc - مان ڊيٽا ڏانهن اشارو array2;
hWnd - پوائنٽر ھڪڙي اسٽرنگ ڏانھن جنھن ۾ عمل ڪندڙ فائل ڏانھن رستو شامل آھي svchost.exe;
Msg - مان ڊيٽا ڏانهن اشارو array;
wParam, lParam - پيغام پيٽرولر (هن صورت ۾، اهي پيرا ميٽر استعمال نه ڪيا ويا هئا ۽ 0 جي قيمت هئي)؛
هڪ فائل ٺاهي %AppData%MicrosoftWindowsStart MenuProgramsStartup<name>.urlڪٿي <name> - ھي آھن پھريون 4 اکر پيٽرول جا vbsScriptName (اسڪرين شاٽ ۾، ڪوڊ جو ٽڪرو ھن عمل سان شروع ٿئي ٿو حڪم سان File.Copy). اهڙي طرح، مالويئر هڪ URL فائل کي خودڪار فائلن جي لسٽ ۾ شامل ڪيو جڏهن صارف لاگ ان ٿيو ۽ اهڙي طرح متاثر ٿيل ڪمپيوٽر سان ڳنڍيل ٿي ويو. URL فائل ۾ اسڪرپٽ جي لنڪ شامل آهي:
سمجھڻ لاءِ ته انجيڪشن ڪيئن ھليو ويو، اسان ڊيٽا جي صفن کي ڊڪرائي ڇڏيو array и array2. هن کي ڪرڻ لاءِ اسان هيٺ ڏنل پٿون فنڪشن استعمال ڪيو:
def decrypt(data, key):
return gzip.decompress(
bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])
نتيجي طور، اسان کي معلوم ٿيو ته:
array هڪ PE فائل هئي - هي فائنل پيل لوڊ آهي؛
array2 شيل ڪوڊ جي ضرورت هئي انجيڪشن کڻڻ لاءِ.
هڪ صف کان شيل ڪوڊ array2 فنڪشن جي قيمت جي طور تي منظور ڪيو ويو lpPrevWndFunc هڪ فنڪشن ۾ CallWindowProcA. lpPrevWndFunc - ڪال بيڪ فنڪشن، ان جو پروٽوٽائپ هن طرح نظر اچي ٿو:
پوء جڏهن توهان فنڪشن کي هلائيندا آهيو CallWindowProcA parameters سان hWnd, Msg, wParam, lParam صف مان شيل ڪوڊ تي عمل ڪيو ويو آهي array2 دليلن سان hWnd и Msg. hWnd هڪ اسٽرنگ ڏانهن اشارو ڪندڙ آهي جنهن ۾ عمل ڪندڙ فائل ڏانهن رستو شامل آهي svchost.exe۽ Msg - آخري پيل لوڊ ڏانهن اشارو.
شيل ڪوڊ کان فنڪشن ايڊريس وصول ڪيو kernel32.dll и ntdll32.dll انهن جي نالن مان هيش ويلز جي بنياد تي ۽ آخري پيل لوڊ کي پروسيس ميموري ۾ داخل ڪيو svchost.exeپروسيس هولونگ ٽيڪنڪ استعمال ڪندي (توهان ان بابت وڌيڪ پڙهي سگهو ٿا هن ۾ مضمون). جڏهن شيل ڪوڊ انجڻ ڪيو:
هڪ عمل پيدا ڪيو svchost.exe فعل استعمال ڪندي معطل حالت ۾ CreateProcessW;
پوءِ لڪايو سيڪشن جي ڊسپلي کي پروسيس جي ايڊريس اسپيس ۾ svchost.exe فنڪشن کي استعمال ڪندي NtUnmapViewOfSection. اهڙيء طرح، پروگرام اصل عمل جي ياداشت کي آزاد ڪيو svchost.exeپوءِ هن ايڊريس تي پيل لوڊ لاءِ ميموري مختص ڪرڻ لاءِ؛
پروسيس ايڊريس اسپيس ۾ پيل لوڊ لاءِ مختص ڪيل ميموري svchost.exe فنڪشن کي استعمال ڪندي VirtualAllocEx;
انجڻ جي عمل جي شروعات
پروسيس ايڊريس اسپيس ۾ پيل لوڊ جي مواد کي لکيو svchost.exe فنڪشن کي استعمال ڪندي WriteProcessMemory (جيئن هيٺ ڏنل اسڪرين شاٽ ۾)؛
عمل کي ٻيهر شروع ڪيو svchost.exe فنڪشن کي استعمال ڪندي ResumeThread.
انجڻ جي عمل کي مڪمل ڪرڻ
ڊائون لوڊ لائق مالويئر
بيان ڪيل ڪارناما جي نتيجي ۾، ڪيترن ئي RAT-ڪلاس مالويئر مان هڪ متاثر ٿيل سسٽم تي نصب ڪيو ويو. هيٺ ڏنل جدول حملي ۾ استعمال ٿيل مالويئر کي لسٽ ڪري ٿو، جنهن کي اسان اعتماد سان حملي ڪندڙن جي هڪ گروهه ڏانهن منسوب ڪري سگهون ٿا، ڇو ته نمونن ساڳئي ڪمانڊ ۽ ڪنٽرول سرور تائين رسائي حاصل ڪئي.
پهرين، حقيقت اها آهي ته حملي آور هڪ ئي وقت ۾ ڪيترن ئي مختلف RAT خاندانن کي استعمال ڪيو. اهو رويو عام طور تي معروف سائبر گروپن لاءِ عام ناهي، جيڪي اڪثر اوزارن جو تقريباً ساڳيو سيٽ استعمال ڪندا آهن جيڪي انهن کان واقف هوندا آهن.
ٻيو، RATKing استعمال ڪيو مالويئر جيڪو يا ته خاص فورمن تي گهٽ قيمت تي وڪرو ڪيو ويندو آهي، يا اڃا به هڪ اوپن سورس پروجيڪٽ آهي.
مهم ۾ استعمال ٿيل مالويئر جي وڌيڪ مڪمل فهرست- هڪ اهم احتياط سان- مضمون جي آخر ۾ ڏنل آهي.
گروپ جي باري ۾
اسان بيان ڪيل بدسلوڪي مهم کي ڪنهن به ڄاڻايل حملي ڪندڙن ڏانهن منسوب نٿا ڪري سگهون. هينئر تائين، اسان سمجهون ٿا ته اهي حملا هڪ بنيادي طور تي نئين گروهه پاران ڪيا ويا آهن. جيئن اسان شروع ۾ لکيو، اسان ان کي RATKing سڏيو.
VBS اسڪرپٽ ٺاھڻ لاءِ، گروپ شايد استعمال ڪيو ھڪڙو اوزار يوٽيلٽي سان ملندڙ جلندڙ آھي VBS-Crypter ڊولپر کان NYAN-x-CAT. اهو اسڪرپٽ جي هڪجهڙائي طرفان اشارو ڪيو ويو آهي ته هي پروگرام حملو ڪندڙ اسڪرپٽ سان ٺاهي ٿو. خاص طور تي، اهي ٻئي:
فنڪشن کي استعمال ڪندي دير سان عمل ڪرڻ Sleep;
WMI استعمال ڪريو؛
ايگزيڪيوٽوبل فائل جي باڊي کي رجسٽري ڪيپي ميٽر جي طور تي رجسٽر ڪريو؛
هن فائل کي پاور شيل استعمال ڪندي ان جي پنهنجي ايڊريس اسپيس ۾ عمل ڪريو.
وضاحت لاءِ، رجسٽري مان فائل هلائڻ لاءِ PowerShell ڪمانڊ جو موازنہ ڪريو، جيڪو VBS-Crypter استعمال ڪندي ٺاهيل اسڪرپٽ ذريعي استعمال ڪيو ويندو آهي:
C&C سرورز جا ايڊريس RATKing جي هڪ ٻي خاص خصوصيت جي نشاندهي ڪن ٿا: گروپ متحرڪ DNS خدمتن کي ترجيح ڏئي ٿو (ڏسو C&C جي فهرست IoC ٽيبل ۾).
IoC
هيٺ ڏنل جدول VBS اسڪرپٽ جي مڪمل فهرست مهيا ڪري ٿي جيڪا گهڻو ڪري بيان ڪيل مهم سان منسوب ٿي سگهي ٿي. اهي سڀئي اسڪرپٽ هڪجهڙا آهن ۽ عملن جي تقريبن ساڳئي ترتيب کي انجام ڏين ٿا. اهي سڀئي RAT ڪلاس مالويئر کي هڪ قابل اعتماد ونڊوز پروسيس ۾ داخل ڪن ٿا. انهن سڀني وٽ سي ۽ سي ايڊريس آهن رجسٽرڊ Dynamic DNS خدمتون استعمال ڪندي.