سوءاستفاده هکرها از Docker APIهای افشاشده با استفاده از Tor
یک threat actor که Docker APIهای افشاشده را هدف قرار میدهد، ابزار مخرب خود را با قابلیتهای خطرناکتری بهروزرسانی کرده که میتواند پایهگذار یک botnet پیچیده باشد.
این فعالیت نخستین بار در ماه ژوئن توسط شرکت امنیت سایبری Trend Micro گزارش شد. محققان این شرکت اسکریپتها و کدهای مخربی را تحلیل کردند که یک cryptominer مستقر میکردند و برای پنهانسازی هویت، به شبکه Tor متکی بودند.
با این حال، محققان Akamai ابزارهای جدیدی کشف کردند که به جای استقرار یک ماینر، payload پیچیدهتری را پیادهسازی میکند که میتواند دسترسی به Docker APIهای آلودهشده را مسدود کند.
زنجیره آلودگی
- مهاجمان پورت ۲۳۷۵ را برای یافتن Docker APIهای افشاشده جستجو کرده و یک درخواست ساخت کانتینر با استفاده از ایمیج تغییریافته Alpine Linux ارسال میکنند که شامل یک base64-encoded shell command است.
- کانتینر فرمان رمزگشاییشده را اجرا میکند که ابزارهایی مانند curl و tor را نصب کرده، یک Tor daemon را در پسزمینه راهاندازی میکند و از طریق SOCKS5 proxy اتصال خود را با دسترسی به سرویس checkip.amazonaws.com تأیید میکند.
- پس از فعال شدن Tor، کانتینر یک اسکریپت مرحله دوم به نام docker-init.sh را از یک Tor hidden service دانلود و اجرا میکند.
- اسکریپت docker-init.sh دسترسی مداوم SSH را با افزودن یک attacker-controlled public key به فایل /root/.ssh/authorized_keys در فایلسیستم میزبان فراهم میکند.
- این اسکریپت یک cron job رمزگذاریشده با base64 روی میزبان مینویسد که هر دقیقه اجرا میشود و با استفاده از ابزارهای موجود (iptables، nftables، ufw و …) دسترسی خارجی به پورت ۲۳۷۵ را مسدود میکند.
- همچنین ابزارهایی مانند masscan، zstd، libpcap و torsocks را برای پشتیبانی از scanning، propagation و evasion نصب میکند.
- در مرحله بعد، بدافزار یک فایل باینری Go فشردهشده با Zstandard (به نام system-linux-ARCH.zst) را از طریق Tor دانلود کرده، آن را در مسیر /tmp/system استخراج کرده، مجوز اجرا میدهد و اجرا میکند.
این باینری Go بهعنوان یک dropper عمل کرده و یک باینری مرحله دوم تعبیهشده را استخراج و اجرا میکند و فایل utmp میزبان را برای شناسایی کاربران لاگینشده بررسی میکند.
رفتار مرتبط با ساخت botnet
باینری آلودهسازی، سایر Docker APIهای افشاشده را اسکن کرده و تلاش میکند آنها را از طریق همان روش container creation آلوده کند و پس از دسترسی، کانتینرهای رقبا را حذف میکند.
این مکانیزم self-replication یکی از ویژگیهای اصلی botnet agents است که معمولاً بدون نیاز به کنترل خارجی، بهصورت خودکار nodes جدید را آلوده میکنند.
شرکت Akamai به وجود منطق غیرفعالی اشاره کرده است که برای بهرهبرداری از Telnet (پورت ۲۳) با استفاده از default router credentials و همچنین تعامل با Chrome remote debugging interface (پورت ۹۲۲۲) طراحی شده است.
این موضوع نشاندهنده فرصتهای احتمالی برای توسعه آینده در زمینه credential theft، browser session hijacking، remote file download و حملات distributed denial-of-service (DDoS) است.
به گفته پژوهشگران Akamai: «برخی از مکانیزمهای زیربنایی ما را به این باور رساندهاند که این گونه، نسخه اولیه یک complex botnet است، هرچند تاکنون نسخه کامل آن مشاهده نشده است.»
کشف Akamai نشان میدهد که این بدافزار از سوءاستفاده موردی از Docker exploitation به یک multi-vector threat تکامل یافته است که قابلیت lateral movement، persistence و (فعلاً غیرفعال) گزینههایی برای credential theft و browser hijacking را داراست.