
Inception هي أداة للتلاعب بالذاكرة الفيزيائية والاختراق تستغل تقنية DMA القائمة على PCI. يمكن للأداة الهجوم عبر واجهات FireWire وThunderbolt وExpressCard وPC Card وأي واجهات PCI/PCIe أخرى.
ملاحظة: لم تعد هذه الأداة قيد التطوير النشط، يرجى الاطلاع على PCILeech بدلاً من ذلك.
Inception هي أداة للتلاعب بالذاكرة الفعلية والقرصنة تستغل تقنية DMA القائمة على PCI. يمكن للأداة الهجوم عبر واجهات FireWire وThunderbolt وExpressCard وPC Card وأي واجهات أجهزة (HW) أخرى من نوع PCI/PCIe.
تهدف Inception إلى توفير طريقة سريعة نسبياً ومستقرة وسهلة وقابلة للتوسعة لتنفيذ اختراقات ذاكرة تطفلية وغير تطفلية ضد أجهزة كمبيوتر قيد التشغيل باستخدام DMA.
تعمل وحدات Inception على النحو التالي: من خلال تقديم دليل وحدة Serial Bus Protocol 2 (SBP-2) إلى الجهاز الضحية عبر واجهة IEEE1394 FireWire، يعتقد نظام تشغيل الضحية أن جهاز SBP-2 قد اتصل بمنفذ FireWire. وبما أن أجهزة SBP-2 تستخدم الوصول المباشر للذاكرة (DMA) لإجراء عمليات نقل بيانات سريعة وضخمة (مثل محركات الأقراص الصلبة من نوع FireWire وكاميرات الفيديو الرقمية)، تخفض الضحية دروعها وتمكّن DMA للجهاز. تمتلك الأداة الآن وصولاً كاملاً للقراءة/الكتابة إلى أول 4GB من ذاكرة الوصول العشوائي (RAM) على الجهاز الضحية.
بمجرد منح DMA، تواصل الأداة البحث في صفحات الذاكرة المتاحة عن تواقيع عند إزاحات معينة في كود نظام التشغيل. وبمجرد العثور عليها، تقوم الأداة بالتلاعب بهذا الكود. على سبيل المثال، في وحدة unlock، تقوم الأداة بقصر دائرة وحدة مصادقة كلمة المرور في نظام التشغيل التي يتم تشغيلها عند إدخال كلمة مرور غير صحيحة.
بعد تشغيل تلك الوحدة، يجب أن تكون قادراً على تسجيل الدخول إلى الجهاز الضحية باستخدام أي كلمة مرور.
التشبيه المناسب لهذه العملية هو زرع فكرة في ذاكرة الجهاز؛ فكرة أن كل كلمة مرور صحيحة. بمعنى آخر، ما يعادل [غرس فكرة في الذاكرة] [1].
Inception مجانية (free as in beer) وهي مشروع جانبي خاص بي.
يستخدم خبراء الطب الشرعي الرقمي والحكومات والوكالات ذات الاختصارات ثلاثية الأحرف في العالم [أدوات مشابهة] [2] بالفعل. لذا إذا كنت معارضاً أو تواجه نظاماً قمعياً، توضح هذه الأداة سبب أهمية OPSEC. لا تترك حاسوبك المحمول بعيداً عن ناظريك أبداً.
يعطّل كل من [OS X > 10.7.2] [6] و[Windows > 8.1] [7] خاصية FireWire DMA عندما يقوم المستخدم بقفل نظام التشغيل، وبالتالي يمنعان عمل Inception. ستظل الأداة تعمل بينما يكون المستخدم مسجلاً الدخول. ومع ذلك، فإن سيناريو الهجوم هذا أقل احتمالاً في الحياة الواقعية (IRL).
بالإضافة إلى ذلك، فعّلت [OS X Mavericks > 10.8.2 على Ivy Bridge (أجهزة Mac >= 2012)] [8] تقنية VT-D، مما يحجب طلبات DMA بشكل فعال ويُحبط جميع وحدات Inception حتى عندما يكون المستخدم مسجلاً الدخول. ابحث عن إدخالات vtd[0] fault في السجل/وحدة التحكم الخاصة بك.
على الرغم من أن هذين التحفظين سيقللان تدريجياً من عدد السيناريوهات التي تكون فيها هذه الأداة مفيدة، إلا أنه اعتباراً من مارس 2015 [لا تزال 70 % من الأجهزة الموجودة معرضة للخطر] [9].
تستخدم الأداة مكتبة libforensic1394 بفضل Freddie Witherden بموجب ترخيص LGPL.
تتطلب Inception:
يُنصح حالياً باستخدام Linux على جانب المهاجم بسبب واجهات firewire المعطوبة على OS X. لاحظ أن الاتصال المباشر ThunderBolt إلى ThunderBolt لا يعمل، فأنت بحاجة إلى محول FireWire. قد تختلف النتائج عند محاولة استخدام Thunderbolt على Linux.
في التوزيعات المبنية على Debian، يمكن تلخيص أوامر التثبيت على النحو التالي (طبّق sudo عند الحاجة إذا لم تكن مستخدماً جذرياً (root)):
apt-get install git cmake g++ python3 python3-pip
على OS X، يمكنك تثبيت متطلبات الأداة باستخدام [homebrew] [4]:
brew install git cmake python3
بعد تثبيت المتطلبات، قم بتنزيل وتثبيت libforensic1394:
wget https://freddie.witherden.org/tools/libforensic1394/releases/libforensic1394-0.2.tar.gz -O - | tar xz
cd libforensic1394-0.2
cmake CMakeLists.txt
make install
cd python
python3 setup.py install
git clone git://github.com/carmaa/inception.git
cd inception
./setup.py install
يجب أن يكون نص الإعداد قادراً على تثبيت التبعيات إذا كان لديك pip مثبتاً.
ما عليك سوى كتابة:
incept [module name]
للحصول على وصف أكثر اكتمالاً وتحديثاً، يرجى تشغيل:
incept -h
أو راجع [الصفحة الرئيسية للأداة] [5].
اعتباراً من الإصدار 0.4.0، تم تحويل Inception إلى وحدات. الوحدات الحالية ووظائفها موصوفة أدناه.
للحصول على خيارات مفصلة حول الاستخدام، قم بتشغيل:
incept [module name] -h
يمكن لوحدة unlock فتح القفل (قبول أي كلمة مرور) ورفع الامتيازات إلى Administrator/root على أي جهاز قيد التشغيل تقريباً* لديك وصول مادي إليه. صُممت الوحدة في المقام الأول لتفعل سحرها ضد أجهزة الكمبيوتر التي تستخدم تشفير القرص الكامل مثل BitLocker وFileVault وTrueCrypt أو Pointsec. هناك الكثير من الطرق الأخرى (والأفضل) لاختراق جهاز لا يحتوي على تشفير.
وحدة unlock مستقرة على الأجهزة التي تحتوي على 4 غيغابايت (GiB) من الذاكرة الرئيسية أو أقل. إذا كان هدفك يحتوي على أكثر من ذلك، فستحتاج إلى الحظ من أجل العثور على التواقيع المرتبطة بإطار صفحة ذاكرة فعلية يمكن للأداة الوصول إليه.
اعتباراً من هذا الإصدار، يمكنها فتح أنظمة التشغيل x86 وx64 التالية:
| نظام التشغيل | الإصدار | فتح شاشة القفل | رفع الامتيازات |
|---|---|---|---|
| Windows 8 | 8.1 | نعم (1) | نعم (1) |
| Windows 8 | 8.0 | نعم | نعم |
| Windows 7 | SP1 | نعم | نعم |
| Windows 7 | SP0 | نعم | نعم |
| Windows Vista | SP2 | نعم | نعم |
| Windows Vista | SP1 | نعم | نعم |
| Windows Vista | SP0 | نعم | نعم |
| Windows XP | SP3 | نعم | نعم |
| Windows XP | SP2 | نعم | نعم |
| Windows XP | SP1 | ||
| Windows XP | SP0 | ||
| Mac OS X | Mavericks | نعم (1) | نعم (1) |
| Mac OS X | Mountain Lion | نعم (1) | نعم (1) |
| Mac OS X | Lion | نعم (1) | نعم (1) |
| Mac OS X | Snow Leopard | نعم | نعم |
| Mac OS X | Leopard | ||
| Ubuntu | Saucy | نعم | نعم |
| Ubuntu | Raring | نعم | نعم |
| Ubuntu | Quantal | نعم | نعم |
| Ubuntu | Precise | نعم | نعم |
| Ubuntu | Oneiric | نعم | نعم |
| Ubuntu | Natty | نعم | نعم |
| Linux Mint | 13 | نعم | نعم |
| Linux Mint | 12 | نعم | نعم |
| Linux Mint | 12 | نعم | نعم |
(1): انظر التحفظات أعلاه.
قد تعمل توزيعات Linux الأخرى التي تستخدم مصادقة قائمة على PAM أيضاً باستخدام تواقيع Ubuntu.
تعمل الوحدة أيضاً على تمكين رفع الامتيازات بفعالية، على سبيل المثال عبر الأمرين runas أو sudo -s، على التوالي.
لفتح القفل، ما عليك سوى كتابة:
incept unlock