
مجموعة أدوات أمنية خلوية GTK4 وCLI تضم 57 وحدة لواجهة الهواء لشبكات 2G GSM و3G UMTS و4G LTE و5G NR، والشبكة الأساسية، وهوية SIM، والتتبع الترددي، وتحليل الهجمات.
مجموعة أدوات أمن خلوي GTK4 لنظام Linux، مع واجهة سطر أوامر كاملة خلفها. وحدات Shell تغطي 2G/GSM و3G/UMTS و4G/LTE و5G/NR، بالإضافة إلى التحليل السلبي عبر عمليات الالتقاط وأطقم CVE لكل جيل.
كل وحدة هي سكربت مستقل. واجهة المستخدم الرسومية هي عرض فوقها، وليست حاوية — لا شيء محبوس خلف الواجهة.
تطوير مبكر، وصريح بشأن ذلك. لم تُشغَّل أي وحدة في هذه الشجرة ضد راديو حقيقي. لا يوجد SDR على الجهاز الذي بُنيت عليه، لذا فإن كل مسار عبر الأثير مكتوب ومراجَع لكنه غير مُختبَر. يوضح قسم ما يعمل فعليًا بالضبط أيّها يعمل وأيّها لا، ويستحق القراءة قبل الإبلاغ عن خطأ.
أدوات الخلوي مقسّمة حسب الطبقة وحسب الجيل. gr-gsm هو 2G. وsrsRAN
هو 4G/5G. وOsmocom هو المكدّس الذي تحتها. يقوم Wireshark بتفكيك ما
التقطته لكنه لن يلتقطه، ولا يشترك أي منها في عرض هدف واحد.
هذه الشجرة واسعة عن قصد: مكتب واحد، مشغّل واحد، مكان واحد حيث يهبط مسح خلية، وفك ترميز NAS، ورسالة Diameter، وتدقيق شيفرة، كلها في نفس ملف TSV.
والشيء الآخر الذي تفعله بشكل مختلف: معظم الأدوات تخبرك أنها نجحت. هذه
مبنية لتخبرك عندما لم تنجح. كل وحدة لديها --selftest، والوحدات المقيدة
بالعتاد تسمّي الراديو المفقود بدلًا من إرجاع نتيجة فارغة، والوحدة التي لا
تستطيع أداء عملها تخرج بقيمة غير صفرية بدلًا من الإبلاغ عن النجاح.
كل صف يحمل حالة هجوم، وهي الحالة الصادقة. المحور ليس
"هل تملك الوحدة فعل هجوم" — فالفعل الذي يطبع ملف خطة والفعل الذي يطبع أوكتيتات
بروتوكول يبدوان متطابقين في --help، والتمييز بينهما هو كل الغرض من هذا العمود.
المحور هو هل تحسب بايتات الهجوم.
| الحالة | المعنى |
|---|---|
built | تبني بايتات بروتوكول الهجوم فعليًا وتنفّذ كل خطوة برمجية. قفزة الراديو أو الشبكة هي تسليم مُسمّى (status: handoff، مع تسمية العتاد) — متعمّد، وفقًا لـ docs/MODULE_CONVENTIONS.md §9، وليس ثغرة. |
built · TX | مثل built، ولديها أيضًا فعل إرسال حقيقي: يُرسَل الإطار إلى أمر خارجي توفّره أنت (BEXP_TX_CMD / NRJ_TX_CMD)، خلف حارس مُسلَّح. |
partial | بعض الأفعال الهجومية تحسب بايتات حقيقية؛ وأخرى نثر أو نموذج حسابي أو خطة. يوضح الوصف أيّها. |
plan | لا يوجد حساب هجومي على الإطلاق. المتجه هو ملف خطة يسمّي العتاد أو بيئة الاختبار التي يحتاجها. |
none | لا جانب هجومي، بحكم التصميم — فك ترميز أو تحليل أو دفاع. ليست ثغرة؛ الوحدة لا تدّعي خلاف ذلك. |
التدقيق المطوّل وراء هذه الأحكام، مع file:line لكل
تصنيف، موجود في docs/OFFENSIVE-GAP-ANALYSIS.md.
| الوحدة | الوصف | الهجوم |
|---|---|---|
00_deps | فحص سلسلة أدوات الخلوي وتثبيت ما هو مفقود | none |
01_radio | تعداد أجهزة SDR، والإبلاغ عن القدرات لكل نطاق، وتسجيل IQ | none |
05_field_kit | فحص RF مسبق، والتحقق من صدق كل فعل راديو، ومصدر GSMTAP اصطناعي | none |
| الوحدة | الوصف | الهجوم |
|---|---|---|
02_cell_recon | مسح خلايا GSM/UMTS/LTE/NR؛ حسابات ARFCN وPLMN | none |
03_gsmtap | GSMTAP مباشر عبر UDP، وفك ترميز دون اتصال لعملية التقاط GSMTAP | none |
04_tower_map | مسح خلايا موسوم بـ GPS مع تصدير CSV/KML/GeoJSON | none |
| الوحدة | الوصف | الهجوم |
|---|---|---|
06_gsm_air | فك ترميز BCCH/SI، وتحليل الاستدعاء، وتدقيق الشيفرة، وkeystream لـ A5/1 | none |
07_gsm_attack | تسلسل IMSI catcher، وتخفيض A5/1، وإزالة إخفاء هوية TMSI | built |
| الوحدة | الوصف | الهجوم |
|---|---|---|
08_umts_air | UARFCN، وفك ترميز SIB، وسلامة RRC (UIA)، وتحليل ترحيل AKA | none |
08_umts_air هو الثغرة الصادقة في الشجرة. كل جيل آخر لديه وحدة محطة قاعدة مارقة: GSM لديه 07_gsm_attack، وLTE لديه 09_lte_attach و10_lte_air، وNR لديه 12_nr_air. أما UMTS فلديه مفكك ترميز ولا شيء غير ذلك — لا --forge-*، ولا مُرمِّز، ولا فعل هجومي من أي نوع. إنه الجيل الوحيد الذي لا يملك مسار IMSI-catcher، والعنصر البدائي المفقود موجود بالفعل غير مستخدم في الشجرة: 07_gsm_attack --f9-mac هو KASUMI f9 (UIA1) مُتحقَّق منه مقابل جميع المتجهات الرسمية الثلاثة في TS 35.203 §5، و08_umts_air --mac-input يُصدر بالفعل الحقول التي يستهلكها f9. ربطهما في --forge-rrc يحتاج نحو ثلاثين سطرًا. لم يُنجز بعد.
| الوحدة | الوصف | الهجوم |
|---|---|---|
09_lte_attach | ترميز وفك ترميز NAS EMM/ESM، BCD IMSI/IMEI، تزوير attach | built |
10_lte_air | فك ترميز RRC/SIB، حسابات إطار paging، تنسيق srsRAN eNB | built |
11_lte_core | Diameter S6a/S6d، GTP-C/GTP-U، S1-MME، متجهات EPC | plan |
10_lte_air يكتب كلا إعدادَي srsRAN وينفّذ srsenb — eNB مارق حقيقي، بقدر ما تسمح به البرمجيات. أما 11_lte_core فهو الحالة المعاكسة: أربعة مُرمِّزات Diameter/GTP مكتملة تُصدر بايتات حقيقية، وحتى الآن بلا نقل. يُغلق --gtpc-send نصف GTP-C عبر tools/udp_assoc.py — مُسلَّح (LTE_ARMED=1)، وصادق بشأن ما يُثبته مخطط البيانات: يقول التقرير sent وبشكل منفصل ما إذا كان قد ردّ أحد، لأن UDP لا يملك إقرارًا والصمت ليس تسليمًا. يُغلق --diameter-send نصف Diameter عبر tools/stream_assoc.py: TCP 3868، وTLS عندما يكون LTE_DIAMETER_TLS=1، والتحقق مفعّل افتراضيًا — يُبلَّغ عن النظير غير المتحقَّق منه صراحةً ولا يكون أبدًا الافتراضي الصامت. لا يُنفَّذ مصافحة CER/CEA ولا تُطابَق أي إجابة بطلب.
| الوحدة | الوصف | الهجوم |
|---|---|---|
12_nr_air | NR-ARFCN، SSB/MIB/SIB1، RACH، تنسيق gNB | built |
13_nr_core | N2/N3/N4، ناقل خدمة SBA، NGAP، PFCP، 5G-AKA | plan |
14_suci | إخفاء/كشف SUCI، ملف ECIES A/B، HKDF، MSIN BCD | built |
15_downgrade | توجيه عبر الأجيال، تشفير صفري، تحليل سبب الرفض | built |
13_nr_core يفك ترميز NGAP/PFCP/GTP-U فعليًا لكن كل واحد من متجهاته الأربعة هو ملف خطة؛ لا يوجد عميل شبكة.
| الوحدة | الوصف | الهجوم |
|---|---|---|
16_sim | ISO-7816 APDU، ملفات USIM، OTA (TS 23.048)، eSIM RSP | plan |
16_sim يبني C-APDU حقيقيًا وفق ISO-7816 ويفك ترميز OTA/IMSI/ICCID، لكن جميع مساراته الهجومية الأربعة — إعادة إرسال OTA إلى UICC، كتابة SIM قابل للبرمجة، تثبيت ملف eSIM، جلسة APDU حية — هي ملفات خطة status: handoff. لا يوجد استدعاء PC/SC أو CCID ولا حلقة تبادل APDU في الوحدة.
| الوحدة | الوصف | الهجوم |
|---|---|---|
17_pcap_analysis | تشريح pcap/pcapng بقارئ مكتفٍ ذاتيًا | none |
18_imsi_exposure | حصاد الهويات، ربط TMSI→IMSI، تقييم التعرض | built |
19_cipher_audit | تقييم التشفير المتفاوض عليه وكشف التخفيض | none |
19_cipher_audit يكشف التخفيض؛ ولا ينفّذه — لا يوجد فيه حاقن Security Mode Command ولا فرض A5/0 في أي مكان.
| الوحدة | الوصف | الهجوم |
|---|---|---|
20_gsm_cve | عدة CVE لمكدس 2G/3G، فحص أو تسليم لكل معرّف | plan |
21_lte_cve | عدة CVE لمكدس LTE | plan |
22_nr_cve | عدة CVE لـ 5G/NR و5GC | plan |
جميع عدَد CVE الثلاثة لها العقد نفسه: فحص (بصمة، أو تحقق من قدرة، أو تحليل إعدادات — يُبلّغ عمّا لاحظه ولا يدّعي أبدًا أن جهازًا قابل للاستغلال) أو تسليم. لا تحتوي أي من الثلاثة على عنصر بدائي استغلالي — لا حاقن GTP-C، ولا باني طلبات Diameter، ولا عميل HTTP/2 SBA، ولا مولّد ASN.1 مشوّه. 20_gsm_cve أسوأ من الأخريين في نقطة واحدة: أفعال "استعادة المفتاح" A5/1 وA5/2 فيه هي مقارنات عتبة ((( seconds >= 120 ))، (( frames < 4 )))، وليست استعادة. لا شيء يستعيد مفتاحًا.
| الوحدة | الوصف | الهجوم |
|---|---|---|
25_killchain | سلسلة أفعال الوحدات في تشغيلات قابلة للتكرار مع تقرير نتائج | none |