ماینرهای افسارگسیخته‌ی TeamTNT

بدافزار TeamTNT

نویسنده: کوشا زنجانی

دیشب به همراه یکی از دوستانم برای باگ‌هانتینگ، در Shodan و Censys دنبال سرور‌های Redis NoSQL بودیم (مشخصا به خاطر این که بیشتر این دیتابیس‌ها هیچ سازوکار احراز هویتی ندارند 😆). در همین فرایند به چند نکته‌ی جالب برخوردم که باعث شد این پست بلاگ را بنویسم. به نظر می‌رسید اکثر سرورهای Redis اکسپلویت شده و به یک ماینر ساخت تیم هکری TeamTNT آلوده شده‌اند. برای پیدا کردن سرورهای Redis، از این کوئری شودان استفاده کردم:

 port:6379

پورت 6379

Redis ابزاری به نام redis-cli دارد که با آن می‌توانید با سرورهای Redis کار کنید. من با استفاده از این ابزار به سرورهای Redis متصل شدم تا آسیب‌پذیری‌ها و داده‌های حساس را برای آوردن در گزارش باگ‌هانتینگ پیدا کنم. برای اتصال به یک سرور Redis می‌توانید از دستور زیر استفاده کنید:

redis-cli -h [Redis Server IP]

دستور برای اتصال به سرور Redis

 یک دیتابیس NoSQL از نوع کلید-مقدار (Key-Value) است که داده را در حافظه (RAM) سرور ذخیره می‌کند. با استفاده از دستور info می‌توانیم اطلاعات کلی درباره سرور Redis و سیستم‌عامل آن را به دست آوریم. اگر قصد دارید فضای کلیدها یا Keyspace (اطلاعات مربوط به کلیدها و دیتابیس‌ها) را ببینید، از دستور info Keyspace استفاده کنید.

دستور info Keyspace برای مشاهده فضای کلیدها
تعداد کلیدها

همان‌طور که می‌بینید، سرور بالا یک دیتابیس با نام db0 با 4 کلید دارد. با استفاده از دستور DUMP می‌توانیم کلیدها را دامپ کنیم؛ اگر دستور DUMP کار نکرد از دستور MGET نیز می‌توانیم استفاده کنیم (تکنیک بای‌پس؟! 😃).

ریکوئست URL توسط cURL

همان‌طور که می‌بینید توسط cURL یک URL ریکوئست شده است. من این فایل را دانلود کردم و از دستور file استفاده کردم تا تعیین کنم چه نوع فایلی است.

اسکرپیت دانلود شده

این فایل 1488 خط کد است 😐. من چند بخش از این اسکریپت بش را بررسی کردم و در این جا بخشی از کارکردهای آن را توضیح می‌دهم. در تصویر بالا می‌توانید ببینید که خط 4 خروجی دستور id را به سرور فرماندهی و کنترل (C2) هکرها ارسال می‌کند. علاوه بر این، می‌توانید ببینید که در خط‌های بعدی کلمه‌ی miner چندین بار تکرار شده است که نشان می‌دهد به احتمال زیاد با یک کریپتوماینر طرف هستیم.
پس از آن، کد چک می‌کند که سرویس مانیتورینگ ابری Alibaba فعال است یا نه (تا خط 140). پس از آن SELINUX ، AppArmor و Aliyun را غیرفعال می‌کند. این بدافزار بش از این اسکریپت برای غیرفعال‌کردن سرویس مانیتورینگ ابری Alibaba استفاده می‌کند.

اسکریپت دانلودشده
اسکریپت
اسکریپت غیرفعال کردن سرویس ابری Alibaba

به جامعه کارشناسان امنیت بپیوندید:

پس از انجام تمام این کارها، چندین URL با پسوند jpg قرار دارند که لینک‌های پیکربندی، ماینر و … هستند.

URL با پسوند Jpg

اولین URL (که به mid.jpg ختم می‌شود) را دانلود کردم که یک فایل gzip بود. نام آن را تغییر دادم و آن را اکسترکت کردم که خروجی هم یک فایل فشرده‌ی tar بود که آن را هم از حالت فشرده خارج کردم.

فایل فشرده‌ی tar

خروجی این کار دو فایل با نام‌های [ext4] و [ext4.pid] بود. فایل اصلی یک فایل ELF است و فایل با پسوند pid هم یک فایل پیکربندی در قالب JSON است.

خروجی

جلوتر که برویم، در خط 789 یک متغیر به نام DIA_TAR هست که با الگوریتم base64 انکود شده است. من این متغیر را دیکود و ذخیره کردم. خروجی یک فایل gzip بود که آن را از حالت فشرده خارج کردم که حاصل آن 3 فایل با نام‌های diamorphine.c ، diamorphine.h و Makefile بود. یک روت‌کیت! هورااا!! این روت‌کیت قابلیت‌های مختلفی مثل پنهان‌کردن یک پروسس، ارتقای دسترسی و … دارد و توسط سیستم در قالب یک ماژول so کامپایل و اجرا می‌شود.

فایل gzip
خروجی
diamorphine.c

بدافزار بعد از تمام کامپایل‌ها و اجراشدن تمام بخش‌ها و…، از طریق SSH یک بک‌دور روی سیستم قربانی ایجاد می‌کند.

SSH

حالا همه‌چیز برای اجرای xmrig آماده است. بدافزار یک لوگوی TeamTNT پرینت می‌کند و ماینر xmrig را برای ماین‌کردن ارز monero اجرا می‌کند.

لوگوی TeamTNT

این بدافزار چند فایل دیگر هم دانلود می‌کند که چون وقت زیادی برای تحلیل آن‌ها نداشتم، در این‌جا توضیحی درباره آن‌ها نداده‌ام، تنبلی مرا ببخشید! پس از این که نصب بدافزار کامل شد، یک اسکریپت شل دیگر دانلود می‌کند تا زنجیره‌ی کشتار کامل شود. هم‌چنین ابزاری به نام pnscan دانلود می‌کند که یک اسکنر پورت است.
به طور خلاصه، این بدافزار یک ماینر و RAT برای سیستم‌های لینوکسی است. من این نمونه‌ها را در any.run آپلود کردم و شما می‌توانید آن‌ها را دانلود کرده و این بدافزار را بیشتر تحلیل کنید. اگر چیز جالبی پیدا کردید حتما برای من ارسال کنید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *