malware · cryptojacking · crypto-stealer · rust · docker · worm · honeypot · monero
godhive: چارچوبی نوظهور برای سرقت رمزارز و ماینینگ به زبان Rust
Kinryū Labs بدافزار godhive را تحلیل کرد، یک چارچوب تهاجمیِ نوظهور و مستندنشده به زبان Rust که در حال سوءاستفاده از یک Docker API افشاشده روی شبکهٔ هانیپات ما به دام افتاد. این بدافزار Monero ماین میکند، کیفپولهای رمزارز را در سراسر صرافیهای بزرگ و بیش از هشت بلاکچین خالی میکند، همچون کرم منتشر میشود، و پشت یک کانال فرمان که برای جان به در بردن از حذف ساخته شده پنهان میماند. با اطمینان بالا ارزیابی میکنیم که این یک ابزار مجرمانهٔ ساختهشده برای هدفی مشخص است، و آن را یک توسعهدهندهٔ تنها به کار گرفته که ابزار خودش را از طریق یک اتصال موبایل مصرفکننده در میدان میآزماید.
نوشتهٔ Davis Zheng·
TLP:CLEAR. برای انتشار عمومی تأیید شد. از شبکهٔ حسگرهای هانیپات Kinryū Labs به دست آمد. نشانگرهای زیر خنثیشده (defanged) هستند.
خلاصهٔ مدیریتی
- 6,946رویداد Docker API در یک انفجار خودکار
- 946ماژول منبع Rust در باینری
- 8+بلاکچین که تخلیهکنندهٔ کیفپولش هدف میگیرد
- 9نوع کانال فرمان
godhive یک چارچوب کرم، سارق رمزارز، و ماینر است که با Rust کامپایل شده و از طریق یک Docker Remote API افشاشده به شبکهٔ هانیپات ما رسید. یک گردانندهٔ تنها کارزاری پرحجم و خودکار را در برابر هانیپات Docker اجرا کرد، و ابزار بهطور خودکار 21 بار یک نفوذ سرتاسری را گزارش داد. Kinryū Labs با اطمینان بالا ارزیابی میکند که godhive یک ابزار مجرمانهٔ ساختهشده برای هدفی مشخص است تا یک ماینر متعارف: برند خاص خود را دارد، نامش در اطلاعات تهدید عمومی نیست، و باینری بازیابیشده شامل 946 ماژول منبع مجزای Rust و ماهها توسعه است.
گرداننده هرگز چارچوب را از یک URL نکشید. آنها ELF را بهصورت درونخطی، تکهتکه، با printf به شکل base64 درون یک کانتینر ریختند. چون هانیپات هر تکه را ثبت کرد، ما باینری را بهطور کامل از ضبط خودمان بازسازی کردیم: 215 تکه که دوباره به یک ELF x86-64 به حجم 6.2 مگابایت سرِ هم شدند (SHA-256 4194f2337c2b261ed6e1fd0b6d18f0ba75388bdc91a2658eb827a154ed784f36)، که روی VirusTotal موجود نیست.
یافتهٔ متمایزکننده این است که godhive در وهلهٔ نخست یک ماینر نیست. ماینینگ گزینهٔ پشتیبانِ آن است. کارِ اصلیاش سرقت است: برداشتهای خودکار در سراسر شش صرافی بزرگ و جاروب کردن وجوه در بیش از هشت بلاکچین، و ماینینگ Monero تنها زمانی که هیچ کیفپولی یافت نشود.
- godhive یک ابزار مجرمانهٔ نوظهور و ساختهشده برای هدفی مشخص به زبان Rust است. برند سفارشی خود را دارد، در گزارشهای عمومی نیست، و از 946 ماژول Rust با بیش از 18 وابستگیِ crate ساخته شده. باینری بازیابیشده بهجای یک دراپر ساده، یک جعبهابزار تهاجمیِ گسترده است.
- هدفش کسب درآمد است، و سرقت در اولویت است. باینری برداشت از صرافیها (Binance، Coinbase، Kraken، Bybit، OKX، KuCoin) و تخلیهٔ DeFi را در سراسر Ethereum، BSC، Polygon، Arbitrum، Optimism، Base، Avalanche، Cronos، و Solana خودکار میکند و استیبلکوینها را در اولویت میگذارد. ماینینگ Monero با XMRig گزینهٔ پشتیبان برای میزبانهای بدون کیفپول است.
- آنچه سرتاسر تماشا کردیم. زنجیرهٔ مشاهدهشده عبارت بود از یک Docker API افشاشده، یک کانتینر ممتاز با سیستمفایل میزبان که بهصورت خواندنی-نوشتنی مونت شده بود، فرار از میزبان، سرقت
/etc/shadowو کلیدهای SSH، استقرار XMRig، یک تونل ngrok برای دسترسی خارج از باند، و برونبری به یک بات Telegram، و پس از آن SSRF فرادادههای ابری و اسکن برای Kubernetes و Elasticsearch. - کانال فرمان برای جان به در بردن از حذف ساخته شده. godhive یک شبکهٔ مِش همتا-به-همتای Kademlia، یک C2 میزبانیشده روی بلاکچین (EtherHiding)، یک رله زندهٔ Cloudflare Workers، دامنههای پشتیبانِ الگوریتمی، و Telegram را لایهلایه روی هم میچیند، همراه با مهاجرت خودکار هنگامی که یک کانال خاموش میشود.
- شگرد عملیاتی گرداننده نقطهٔ مقابل ابزار اوست. یک ابزار مجرمانهٔ در سطح تولید از طریق یک اتصال موبایل مصرفکننده به کار گرفته شد، با یک توکن Telegram بهصورت متن آشکار و درجشده در کد و یک میزبان فایل عمومی، و با وجود حمل یک ماژول ضدهانیپات، یکراست به درون یک هانیپات رفت. ارزیابی میکنیم که این بهاحتمال زیاد یک توسعهدهندهٔ تنهاست که چارچوب خودش را در میدان میآزماید.
تحویل: یک Docker API افشاشده
نقطهٔ ورود قدیمیترین نقطه در دنیای کانتینرهاست: یک Docker Remote API بدون احراز هویت روی TCP/2375. از آنجا زنجیره یک تصاحب کتابیِ میزبان است که از رویدادهای ضبطشدهٔ docker_* برگرفته شده.
گرداننده کانتینری از alpine:latest میسازد که privileged: true است، از network_mode: host استفاده میکند، و کل سیستمفایل میزبان را بهصورت خواندنی-نوشتنی bind-mount میکند (/:/host:rw). همان یک پیکربندی کانتینر خودِ فرار است: مونت کردن ریشهٔ میزبان درون یک کانتینر ممتاز، کنترلی همارز root روی ماشین است. سپس ماینرهای رقیب را پاک میکند (pkill -9 xmrig; pkill -9 lolMiner; pkill -9 minerd; pkill -9 godhive_c2)، دایرکتوری پایداری خود را درون میزبان در /etc/godhive مینویسد، و رازهای میزبان را مستقیماً از طریق مونت میخواند و /etc/shadow و /root/.ssh/authorized_keys را بیرون میکشد.
تنها آنگاه است که کریپتوجکینگِ آشنا ظاهر میشود. godhive یک ساخت XMRig را از یک میزبان فایل ناشناس میکشد، مستقرش میکند، یک تونل ngrok برای دسترسی خارج از باند باز میکند، و نتایج را به یک بات Telegram میفرستد. کار را با پرسوجو از سرویس فرادادههای ابری (169.254.169.254) برای اعتبارنامهها و کاوش برای Kubernetes، Elasticsearch، و Kibana برای گستراندن دامنهٔ نفوذ به پایان میبرد. ابزار خودِ گرداننده docker_attack_chain_complete را 21 بار در برابر حسگر ما ثبت کرد.
ماینینگ کمترین بخش ماجراست
باینری بازیابیشده بسیار بزرگتر از زنجیرهای است که اجرایش را تماشا کردیم. 946 ماژول Rust آن و رشتههای ساختشان یک جعبهابزار تهاجمیِ گسترده را ترسیم میکنند. بخشی از آن با کد کامپایلشده پشتیبانی میشود (لفظهای تکراری از مونومورفیزاسیون Rust، مسیرهای مدیریت خطا، و دایرکتوریهای ساختِ crate)؛ بخشهای دیگر تنها نام ماژولها و خردهپیکربندیها هستند، پس فهرست زیر را به همان اندازه که کارکردِ اثباتشده است، نیّت هم بخوانید.
خط لولهٔ کسب درآمد هستهٔ ماجراست. یک harvester سیستمفایل را برای wallet.dat، .env، کلیدهای SSH، و wp-config.php میپیماید؛ یک scorer قیمت BTC، XMR، ETH، و Ravencoin را در برابر CoinGecko درمیآورد و قربانیان را بر پایهٔ ارزش رتبهبندی میکند؛ یک مرحلهٔ اعتبارنامه ورودهای دزدیدهشده را با یکپارچگی 2CAPTCHA برای شکست دادن چالشهای ورود stuff میکند؛ و یک drainer وجوه را از طریق کتابخانهٔ صرافی CCXT و جاروبهای DeFi رویزنجیره بیرون میکشد، کلیدها را از عبارتهای seed دزدیدهشده مشتق میکند و ارزانترین زنجیره را برای هر برداشت برمیگزیند. یک توضیح توسعهدهنده که در باینری جا مانده، برداشتهای استیبلکوین را بهینه میکند تا از هزینههای gas در Ethereum پرهیز کند، و این همان سطحی از دقت است که یک drainer کارآمد را از یک اثبات مفهوم جدا میکند.
پیرامون آن هسته، باقی جعبهابزار قرار دارد: کرمی که با Masscan و Nuclei اسکن میکند و از Docker، Redis، Kubernetes، Elasticsearch، WordPress، و مجموعهای از آسیبپذیریهای Windows و Java از جمله Log4Shell بهرهبرداری میکند؛ یک قاتل EDR که نُه فروشندهٔ اندپوینت را با نام فرایند هدف میگیرد؛ پنج لایه پایداری تا یک bootkit سطح UEFI با دستکاری TPM؛ یک سیستم افزونهٔ WASM برای فرستادن قابلیتهای جدید به ناوگان بیآنکه به C2 دست بخورد؛ باجافزاری که تنها بالای آستانهٔ ارزشِ 1,000 دلار آمریکا شلیک میکند؛ یک ربایندهٔ کلیپبورد؛ یک ماژول DDoS؛ و ضدجرمیابیای که wtmp، btmp، و لاگهای journal را حذف میکند و سروصدای جعلی syslog میکارد تا وقت تحلیلگر را تلف کند. هر ماژول را زیر یک نام فرایند جعلی sysd پنهان میکند، و ترافیک خودش را با قرض گرفتن نامهای میزبان واقعیِ SNI از googlevideo.com به شکل استریم YouTube درمیآورد.
دو جزئیات این تصویر را تعدیل میکنند. این چارچوب پانزده سکوی هانیپات و ردهای از جعبهشنها و هایپروایزرها را تشخیص میدهد، با این حال هانیپات ما را از دست داد. و چند پیکربندی آن ناتمام است: استخر ماینینگ پیشفرض در 2022 تعطیل شد، یک نام ENS کلیپبورد هرگز ثبت نشد، و یک کلید رمزنگاری هنوز یک جانگهدار CHANGE_ME است. این قابلیت کامپایلشده و واقعی است؛ بخشهایی از آن هنوز سیمکشی نشدهاند.
ngrok، و چرا یک هکتول است
نمونهای که نخست این کارزار را نشاندار کرد، باینری مشروع و امضاشدهٔ ngrok است که از CDN خودِ ngrok کشیده شده. این بدافزار نیست. یک ابزار تجاری تونلزنی معکوس است، و موتورهای آنتیویروس دقیقاً به این خاطر آن را یک هکتول برچسب میزنند که پس از یک نفوذ بسیار سودمند است. همین که godhive اجرای کد درون یک کانتینر ممتاز به دست آورد، ngrok به سمت ابر ngrok شماره میگیرد و یک سرویس محلیِ برگزیده را از طریق یک URL عمومی افشا میکند، بیآنکه پورت ورودیای باز شود و بیآنکه چیزی برای یک فایروال محیطی یا NAT فقط-خروجی برای متوقف کردنش باشد. گرداننده تونل را با پایش API عامل محلی ngrok (127.0.0.1:4040/api/tunnels) تأیید کرد و URL عمومی حاصل را به بات Telegram خود فرستاد، و هر میزبان تازهتصاحبشده را به یک دستگیرهٔ کلیک-برای-اتصال بدل کرد.
کانال فرمانی ساختهشده برای جان به در بردن از حذف
godhive به یک C2 یگانه تکیه نمیکند. کانالها را به ترتیب دشواریِ حذفشان روی هم میچیند. در پایینترین بخش یک شبکهٔ مِش همتا-به-همتای Kademlia با چالشهای پیوستنِ اثبات-کار و عبور از NAT قرار دارد که هیچ نقطهٔ مرکزیِ قابلتصرفی ندارد. بالای آن EtherHiding مینشیند، جایی که نشانی بکاند کنونی در یک قرارداد هوشمند بلاکچینی که قابل ابطال نیست ذخیره میشود و در زمان اجرا از طریق یک رله زندهٔ Cloudflare Workers (c2-proxy.operator.workers[.]dev) که بکاند را از مدافعان پنهان میکند، حل (resolve) میشود. بالاتر از آن دامنههای پشتیبانِ الگوریتمیتولیدشده قرار دارند که از طریق DNS-over-HTTPS با SNI جعلی کشیده میشوند، یک سرویس پنهان Tor، dead-dropها در gistهای GitHub، هشت کانال نرمافزار-بهعنوان-سرویس، و Telegram بهعنوان کانال اصلی گرداننده. تشخیصِ سوختن (burn) مراقب یک رشته پایشهای فرمانِ خالی است و گرداننده را بهطور خودکار با یک پشتیبانِ پیکربندیِ رمزگذاریشده به زیرساخت تازه مهاجرت میدهد، و یک قابلیت فدراسیون، هماهنگی میان چند بات را پشتیبانی میکند.
ما رلهٔ Cloudflare Workers را از بیرون اثرانگشتگیری کردیم و تأیید کردیم که زنده است و درخواستها را پردازش میکند: نقاط پایانی ثبتنام، ارسال-وظیفه، و داشبورد به یک بکاند مسیریابی میشوند، در حالی که ورودی بدون احراز هویت رد میشود، همخوان با توکنهای رمزگذاریشدهٔ AEAD که باینری برای احراز هویت C2 به کار میبرد. گرداننده همچنین یک داشبورد مدیریتی سختسازیشده پشت آن اجرا میکند، با هش کردن رمز عبور Argon2، احراز هویت چندعاملی، دسترسی مبتنی بر نقش، و حتی گزینههای پساکوانتومی در پیکربندی TLS خود. این کسی است که یک باتنت را همچون زیرساخت تولید در نظر میگیرد، تا آنجا که برایش متریکهای Prometheus صادر میکند.
نیمهٔ دیگر: عملیات آماتور
با همهٔ آن مهندسی، بهکارگیری به شکلهایی که اهمیت دارند بیاحتیاط است. کارزار از یک اتصال موبایل مصرفکنندهٔ یگانهٔ Verizon Wireless در ایالات متحده آمد (174.230.35[.]232، reverse DNS 232.sub-174-230-35.myvzw.com، گینزویل، فلوریدا)، نه یک میزبان ضدگلوله یا یک VPS، در یک انفجار خودکار فشرده بدون استفادهٔ مجدد از زیرساخت. توکن بات Telegram بهصورت متن آشکار در کد درج شده، یک نقطهٔ یگانه برای حذف. محمولهٔ XMRig از یک میزبان فایل عمومی و ناشناس عرضه شد. و چارچوب کل زنجیرهٔ خود را در برابر یک هانیپات اجرا کرد در حالی که ماژولی حمل میکرد که تمام کارش تشخیص هانیپاتهاست.
باینری روی macOS، زیر کاربری به نام dev، در دایرکتوریای به نام research/godhive ساخته شد. در کنار ناشناسسازیِ عامدانهٔ هویت Telegram گرداننده، پیکربندیهای ناتمام، و بهکارگیریِ خودانتسابکننده که خوانده شود، صرفهجویانهترین تعبیر یک توسعهدهندهٔ تنهای ماهر است که چارچوب خودش را میآزماید و اجرا میکند تا یک مشتری یک سکوی بدافزار-بهعنوان-سرویس. برند صیقلخورده است، با یک لوگوی سفارشیِ کندوی طلایی و شعار «یک ذهن، یک هدف، یک کندو»؛ عملیات چنین نیست.
انتساب
کارزار از طریق زیرساخت Telegram به یک گردانندهٔ تنها گره میخورد. godhive اعتبارنامههای دزدیدهشده، URLهای تونل، و تأییدهای آلودگی را به یک بات درجشده در کد، @godhive_bot (شناسهٔ بات 8836117161)، میفرستد. chat_id ضبطشدهٔ آن به یک حساب شخصی، @godhive77 (شناسهٔ کاربر 7659611777)، حل میشود، با زیرخطهایی بهجای نام نمایشی و بدون عکس نمایه، تلاشی برای گمنامی که خودِ نام کاربری godhive77 آن را باطل میکند. همان گرداننده یک کانال رزرو متناظر، @godhive (یک مشترک، بدون پست عمومی، بازارسال غیرفعال)، در اختیار دارد، و شناسهٔ کاربر Telegram که دنبالهای است، تاریخ حساب را به اواخر 2024 میرساند. نام کاربری godhive77 قویترین محور برای انتساب بیشتر است.
نشانگرهای نفوذ
زیرساخت مهاجم خنثیشده (defanged) است. سرویسهای شخص ثالث مشروعی که بدافزار از آنها سوءاستفاده میکند، برای شناسایی دستنخورده رها شدهاند.
شبکه و میزبان
| نشانگر | زمینه |
|---|---|
c2-proxy.operator.workers[.]dev | رلهٔ زندهٔ C2 روی Cloudflare Workers (به Cloudflare گزارش دهید) |
hxxps://files.catbox.moe/p46h39.gz | محمولهٔ XMRig روی یک میزبان فایل ناشناس (SHA-256 cb49ae0793b2…) |
bin.equinox.io/c/.../ngrok-v3-stable-linux-amd64.tgz | دانلود ngrok (CDN مشروع)؛ خروج به bin.equinox.io از یک سرور همان نشانه است |
127.0.0.1:4040/api/tunnels | پایش عامل محلی ngrok (URL عمومیِ تخصیصیافتهٔ تونل را میخواند) |
169.254.169.254/latest/meta-data/ | SSRF فرادادههای ابری برای سرقت اعتبارنامه |
api.telegram.org | C2 و برونبریِ بات Telegram؛ خروج از بارهای کاری سرور همان نشانهٔ شکار است |
gitlab.com/nzyme/ | صحنهچینی ابزار ایستا (sshpass، redis-cli، wget، tor، proxychains) |
2captcha.com, hashes.org, nitrxgen.net | سرویسهای حل CAPTCHA و شکستن هش که در خط لولهٔ اعتبارنامه از آنها سوءاستفاده میشود |
r[1-20]---sn-*.googlevideo.com, manifest.googlevideo.com | نامهای میزبان واقعیِ CDN شبکهٔ YouTube که برای جعل SNI در TLS به کار میروند؛ هنگامی که به IPهای غیر-Google حل میشوند هشدار دهید |
عامل، هویت C2، و پرداخت
| نشانگر | زمینه |
|---|---|
174.230.35[.]232 | منبع کارزار (موبایل Verizon Wireless، 232.sub-174-230-35.myvzw.com، گینزویل، فلوریدا)؛ یک نشانی پویای اپراتور با ارزش مسدودسازیِ پایین |
@godhive_bot (Telegram bot id 8836117161) | بات C2 و برونبریِ بدافزار؛ توکن در باینری درجشده در کد (راز اینجا حذف شده؛ برای حذف به Telegram گزارش شد) |
@godhive77 (Telegram user id 7659611777) | حساب برونبریِ گرداننده و قویترین محور انتساب |
@godhive (Telegram channel id -1002105830453) | کانال رزرو گرداننده |
49aXwwgXBKRKTUVgYuLy3fZkTeLP3PWgMhwiyK55Ur7WhgYXJ33N8JZG87vzUV1UyVdZzPGLvx1w9YQHk7faWPn1UzJte2R | کیفپول پرداخت Monero تأییدشده (جفتشده با پیکربندی زندهٔ XMRig) |
pool.minexmr.com:4444 | استخر پیکربندی XMRig؛ توجه: minexmr در 2022 تعطیل شد، پس این پیشفرض شکست میخورد |
فایلها و آرتیفکتها
- باینری godhive (بازسازیشده): SHA-256
4194f2337c2b261ed6e1fd0b6d18f0ba75388bdc91a2658eb827a154ed784f36(ELF x86-64 به حجم 6.2 مگابایت، روی VirusTotal نیست). هدرهای ELF آن عامدانه خراب شدهاند تا حجمی حدود 106 مگابایت ادعا کنند و کد را به فراسوی انتهای فایل اشاره دهند، و ابزارهای استاندارد را شکست دهند. - پایداری روی میزبان:
/etc/godhive،/host/usr/local/bin/sysd(باینری جعلیِ systemd)،/host/tmp/godhive_deployed.txt، فرایندgodhive_c2، ایمیج سفارشیِ درونکانتینریgodhive:latest. - امضای فرار از کانتینر: کانتینری که با
Privileged:true،network_mode:host، و یک bind بهصورت/:/host:rwساخته شده. - آرتیفکت ساخت: مسیرهای cargo زیر
/Users/dev/.cargo/registry/src/و یک دایرکتوری ساختِresearch/godhive(توسعهدهندهٔ macOS). - نشانهٔ سختسازیِ میزبان: رمز عبور Redis روی
CHANGED_BY_GODHIVEتنظیم شده؛ یک وبشلb374k.phpروی میزبانهایی که در آنها حملهٔ brute-force به WordPress دیده شد.
رفتاری
-
pkill -9 xmrig|lolMiner|minerd|godhive_c2و پس از آنmkdir /host/etc/godhive. - خواندنِ
/host/etc/shadowو/host/root/.ssh/authorized_keysاز یک مونت کانتینر. - یک فرایند
sysdکه systemd واقعی نیست؛ نوشتنهایefibootmgrکه یک ورودیِ بوت EFI با برچسب «System Core» میسازد. - دایرکتوری کاریِ Nuclei بهصورت
/tmp/.nuclei_assault-t*.
شناسایی
- به
bin.equinox.ioخروجی و هر میزبان*.ngrok*از سرورها، و به پایش API عامل ngrok در127.0.0.1:4040/api/tunnelsهشدار دهید. - به هر کانتینری که با
Privileged:trueو یک bind بهصورت/:/hostساخته شده هشدار دهید؛ آن جفتشدن یک تلاش فرار تقریباً قطعی است. - به خروج به
api.telegram.org،c2-proxy.operator.workers[.]dev،gitlab.com/nzyme/،2captcha.com، و سرویسهای شکستن هش از بارهای کاری سرور هشدار دهید. - به یک فرایند
sysd، به کشته یا متوقف شدن عاملهای EDR (falcon-sensor،SentinelOne،cbdefense،sophos-edr،cylancesvc)، و بهCONFIG SET requirepass CHANGED_BY_GODHIVEهشدار دهید. - با TLSای که SNI آن
googlevideo.comاست و به IPهای غیر-Google حل میشود، و باmanifest.googlevideo.comاز فرایندهای غیرمرورگر، همچون شکلدهی به ترافیک (traffic-shaping) رفتار کنید.
کاهش مخاطره
- هرگز Docker API را روی 2375 بدون احراز هویت افشا نکنید. آن را با احراز هویت گواهی کلاینت TLS به localhost مقید کنید. علت ریشهای همین است.
-
no-new-privilegesرا اعمال کنید،--privilegedرا کنار بگذارید، و مونتهای bind میزبان را محدود کنید، یا Docker بدونریشه (rootless) یا gVisor اجرا کنید. - سرویس فرادادههای ابری (
169.254.169.254) را از کانتینرها مسدود کنید و IMDSv2 را الزامی کنید. - خروج را فیلتر کنید: بارهای کاری سرور نباید به میزبانهای فایل ناشناس، ngrok، Telegram، حلکنندههای CAPTCHA، یا مسیرهای صحنهچینی ابزار ایستای بالا برسند.
- Secure Boot را فعال کنید تا پایداری UEFI را کند کنید، و محافظت در برابر دستکاری (tamper protection) را روی عاملهای اندپوینت که godhive میکوشد بکشدشان فعال کنید.
- اگر ممکن است هر میزبانی نفوذ شده باشد، کلیدهای API صرافی را بیدرنگ چرخش دهید؛ godhive برداشتها را خودکار میکند.
نگاشت MITRE ATT&CK
| تاکتیک | تکنیک |
|---|---|
| Initial Access | T1190 Exploit Public-Facing Application (Docker API; Redis, Kubernetes, WordPress, Log4Shell in the arsenal) |
| Execution | T1610 Deploy Container; T1059.004 Unix Shell |
| Privilege Escalation | T1611 Escape to Host (privileged container, host mount) |
| Persistence | T1543 Create or Modify System Process (sysd); T1542.003 Bootkit (UEFI); T1014 Rootkit |
| Defense Evasion | T1562.001 Impair Defenses (EDR killer); T1070 Indicator Removal (log deletion); T1497 Virtualization/Sandbox Evasion (honeypot/VM detection); T1036 Masquerading (sysd, YouTube SNI); T1027 Obfuscated Files (corrupted ELF) |
| Credential Access | T1003.008 /etc/passwd and /etc/shadow; T1552.004 Private Keys; T1552.005 Cloud Instance Metadata API |
| Discovery | T1046 Network Service Scanning (Masscan, Nuclei) |
| Command and Control | T1572 Protocol Tunneling (ngrok); T1090 Proxy; T1071.001 Web Protocols (Telegram, Cloudflare Workers); T1102 Web Service (GitHub gists, SaaS channels) |
| Impact | T1496 Resource Hijacking (XMRig); T1486 Data Encrypted for Impact (ransomware); T1657 Financial Theft (exchange and DeFi draining); T1498 Network Denial of Service |
روششناسی و یادداشتها
- تحلیل، تحلیل ایستای باینریِ ELF است که بهطور کامل از تکههای base64 درونخطیِ خودِ گرداننده که هانیپات ضبط کرده بازسازی شد، همراه با بازبینی ترافیک ضبطشدهٔ Docker API و شناسایی بیرونیِ مجاز از رلهٔ زندهٔ Cloudflare Workers گرداننده. هیچ بدافزاری اجرا نشد و هیچ تلاشی برای احراز هویت C2 صورت نگرفت.
- نشانگرها خنثیشده (defanged) هستند، و سرویسهای شخص ثالث مشروعی که بدافزار از آنها سوءاستفاده میکند برای شناسایی دستنخورده رها شدهاند.
- نمونهها بهدرخواست در اختیار دیگر پژوهشگران و مدافعان قرار میگیرند. به [email protected] با یادداشتی کوتاه دربارهٔ اینکه که هستید و چرا به آنها نیاز دارید ایمیل بزنید.