۴ آبان ۱۴۰۵ github.com ۲ دقیقه مطالعه

انتشار کد اثبات مفهوم چالش امنیتی Steal My Bitcoin برای توسعه‌دهندگان

انتشار کد اثبات مفهوم چالش امنیتی Steal My Bitcoin برای توسعه‌دهندگان — Steal My Bitcoin CTF PoC

خلاصه

این مخزن گیت‌هاب شامل یک اسکریپت پایتون تک‌فایلی است که زنجیره حمله‌ای کامل برای سوءاستفاده از حافظه موقت (Heap) و کدهای PHP را شبیه‌سازی می‌کند. این ابزار به مهندسان امنیت کمک می‌کند تا مکانیزم آسیب‌پذیری‌های وب و خطاهای مدیریت حافظه را در محیط‌های آزمایشگاهی بررسی کنند.

معرفی پروژه Steal My Bitcoin PoC

پروژه StealMyBitcoin-PoC که توسط کاربر KillaBoi در گیت‌هاب منتشر شده است، پیاده‌سازی و اثبات مفهومی (PoC) از روند حل یک چالش امنیتی معروف به نام «Steal My Bitcoin» است. این ابزار تمام عملیات را در یک فایل استاندارد پایتون و بدون نیاز به کتابخانه‌های شخص‌ثالث پیاده‌سازی می‌کند.

هدف اصلی این پروژه، نمایش فرآیند گام‌به‌گام بهره‌برداری از یک آسیب‌پذیری در زبان برنامه‌نویسی PHP است؛ از نشت حافظه (Heap Leak) و پیدایش آدرس‌های سیستمی گرفته تا اجرای دستورات نهایی. محیط آزمایشگاهی این ابزار بر اساس نسخه خاصی از PHP (نسخه 8.4.26 روی Alpine) کالیبره شده است تا نتایج دقیقی حاصل شود.

نحوه کارکرد و معماری فنی

این اسکریپت با ارسال درخواست‌های ملقب به «Multipart» و هدایت مفسر PHP به سمت محدودیت‌های مصرف حافظه (Memory Limit)، وضعیت ناپایداری در پردازشگرها ایجاد می‌کند. مراحل کلیدی این زنجیره به شرح زیر است:

  • سلامت‌سنجی (Health): بررسی اولیه نسخه PHP و اتصال به سرور برای جلوگیری از خطاهای ناخواسته.
  • نشت حافظه (Heap Leak): ایجاد مصرف بالای حافظه برای باقی گذاشتن وضعیت‌های معلق در پردازشگرهای مجدد.
  • نشت کد (Code Leak): بازیابی آدرس حافظه کدهای PHP به کمک کوکی‌ها و ساختارهای داخلی.
  • اجرای نهایی (Callback): قرار دادن ساختارهای جعلی (Forged HashTable) در حافظه برای اجرای تابع سیستمی zif_system.

این ابزار از هیچ‌گونه حلقه‌زنی یا تلاش مجدد (Retry) استفاده نمی‌کند و کل سناریو را در تعداد محدودی درخواست HTTP پیش می‌برد.

نحوه استفاده و راه‌اندازی آزمایشگاه

برای اجرای این PoC به پایتون نسخه ۳.۱۱ یا بالاتر نیاز دارید و تمام وابستگی‌ها در کتابخانه استاندارد پایتون قرار دارند:

python .\stealmybitcoin_poc.py --url http://127.0.0.1:18166/php-version.php

برای اجرای محیط آزمایشگاهی محلی (Docker Lab)، نویسنده استفاده از ایمیج‌های Alpine را توصیه کرده است زیرا ساختار باینری آن‌ها با نسخه کالیبره‌شده اسکریپت همخوانی دارد. اجرای این اسکریپت در محیط‌های تولیدی به‌دلیل ایجاد خطاهای عمداً طراحی‌شده‌ی حافظه توصیه نمی‌شود.

سیگنال‌های بلوغ و نگاه جامعه هکرنیوز

این مخزن گیت‌هاب با استقبال خوبی روبه‌رو شده و تا کنون بیش از ۱۶۰ ستاره دریافت کرده است. در بحث‌های هکرنیوز، کاربران به این نکته اشاره کردند که با وجود ادعای بسیاری از متخصصان امنیت مبنی بر سادگی حل این نوع چالش‌ها، پیاده‌سازی دقیق و عملیاتی آن پیچیدگی‌های خاص خود را دارد و این ابزار نمونه‌ای تمیز از یک حمله واقعی در سطح وب است.

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.