یک بستهی مخرب (malicious package)در زبان پایتون به نام ‘fabrice’ از سال ۲۰۲۱ در مخزن PyPI (Python Package Index) قرار داشته است. این بستهی مخرب به طور خاص اطلاعات کاربری یا اعتبارنامههای AWS (Amazon Web Services) را از توسعهدهندگانی که از وجود این خطر بیاطلاع بودند، سرقت میکرده است.
طبق گزارش یک شرکت امنیت نرمافزار به نام Socket، این بسته بیش از ۳۷،۰۰۰ بار دانلود شده و اسکریپتهایی مختص هر پلتفرم را برای سیستمهای ویندوز و لینوکس اجرا میکند.
دلیل تعداد زیاد دانلودهای بستهی مخرب “fabrice”، استفاده از تکنیکی به نام typosquatting بوده است. این بسته به دلیل شباهت اسمی با یک بستهی معتبر و محبوب به نام “fabric” که برای مدیریت سرورهای راه دور با SSH استفاده میشود و بیش از ۲۰۰ میلیون بار دانلود شده، تعداد زیادی کاربر را به اشتباه به دانلود خود ترغیب کرده است.
بنا به صحبت های کارشناسان امنیتی : دلیل کشف نشدن طولانیمدت بستهی “fabrice” این بوده که ابزارهای پیشرفته اسکن پس از ارسال اولیه این بسته به PyPI مستقر شدهاند، و تنها تعداد کمی از ابزارها اسکنهای بازگشتی (retroactive scans) انجام میدهند.
رفتار خاص سیستمعامل
بستهی “fabrice” میتواند بهطور خودکار تشخیص دهد که روی چه سیستمعاملی در حال اجرا است و سپس عملکردها یا دستورات خاصی را متناسب با آن سیستمعامل اجرا کند. برای مثال، ممکن است روی ویندوز یک سری دستورات خاص اجرا کند و روی لینوکس دستورات دیگری را به کار گیرد.
در سیستمعامل لینوکس، بستهی “fabrice” یک پوشه مخفی در مسیر ~/.local/bin/vscode ایجاد میکند تا اسکریپتهای رمزگذاریشدهی شِل (shell scripts) را در آنجا ذخیره کند. این اسکریپتها به چندین فایل تقسیم شدهاند و از طریق یک سرور خارجی به آدرس آیپی ۸۹٫۴۴٫۹[.]۲۲۷ بازیابی میشوند.
مهاجم پس از رمزگشایی و فعالسازی اسکریپتها، میتواند دستوراتی را اجرا کند که به کاربر فعلی سیستم دسترسی دارند، و این میتواند به مهاجم امکان سوءاستفاده از سیستم را بدون نیاز به دسترسی مدیر سیستم بدهد.
در سیستمعامل ویندوز، بستهی fabrice یک پِیلود رمزگذاریشده به فرمت base64 دانلود میکند که شامل یک اسکریپت VB به نام p.vbs است. این اسکریپت VB طراحی شده تا یک اسکریپت پایتون مخفی به نام d.py را اجرا کند.
اسکریپت پایتون یک فایل اجرایی مخرب را در سیستم قربانی قرار میدهد که برای اطمینان از ادامهی فعالیت خود، هر ۱۵ دقیقه یکبار در ویندوز برنامهریزی میشود تا حتی پس از راهاندازی مجدد سیستم، همچنان فعال بماند.
سرقت اعتبارنامههای AWS
صرف نظر از سیستمعامل، هدف اصلی fabrice سرقت اعتبارنامههای AWS است با استفاده از ‘boto3’، که SDK رسمی پایتون برای Amazon Web Services است و این امکان را فراهم میکند که با پلتفرم AWS تعامل داشته باشید و جلسات را مدیریت کنید.
پس از راهاندازی یک جلسه با Boto3، این کتابخانه به طور خودکار اطلاعات دسترسی لازم به AWS را از منابع مختلف سیستم دریافت میکند تا بتواند درخواستهای لازم را به پلتفرم AWS ارسال کند.
مهاجمان سپس کلیدهای سرقتشده را به یک سرور VPN (که توسط M247 در پاریس مدیریت میشود) منتقل میکنند، که این کار ردیابی مقصد را دشوارتر میکند.
کاربران میتوانند با دقت بیشتر در بررسی بستههای دانلودی خود از PyPI یا استفاده از ابزارهای ویژه برای شناسایی و جلوگیری از تایپواسکواتینگ، خطرات ناشی از آن را کاهش دهند.
برای جلوگیری از دسترسی غیرمجاز به منابع AWS، مدیران باید از سیستم مدیریت هویت و دسترسی AWS (IAM) برای تعیین و کنترل دسترسی کاربران به منابع استفاده کنند.