Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-1663-Binary-Analysis | Kitploit
أدوات/GitHubGitHub/wolffcorentin/cve-2019-1663-binary-analysis
أمان الأنظمة المدمجةتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
wolffcorentin/cve-2019-1663-binary-analysis

CVE-2019-1663-Binary-Analysis

عرض المستودع
منذ سنة واحدةلم تتم المراجعة بعد

التحليل الثنائي لـ CVE-2019-1663

المؤلف: Corentin Wolff


أصل الثغرة

مصدر الثغرة

تنشأ الثغرة من الدالة 0x0002BF64، التي تسيء استخدام الدالة strcpy، مما يجعلها عرضة لهجمات تجاوز سعة المخزن المؤقت. من أجل الوضوح، أُعيدت تسمية هذه الدالة إلى Login. فيما يلي مقتطف يوضح المشكلة:

root@kitploit:~
undefined4 Login(char *param_1, char *param_2, char *param_3, int param_4) { ... }

في هذا المقتطف، تُستخدم الدالة strcpy بشكل غير سليم، مما يسبب ثغرة تجاوز سعة المخزن المؤقت:

root@kitploit:~
if (param_4 == 0) {  
    iVar2 = strncmp(acStack_fa, "enc=", 4);  
    if (iVar2 != 0) {  
        strcpy(acStack_15e, acStack_fa);  
        strcpy(acStack_1c2, param_2);  
        goto LAB_0002c264;  
    }  
}

تحديد اسم المستخدم

يتحقق هذا الجزء من الكود من اسم المستخدم:

root@kitploit:~
if (iVar2 != 0) {  
    syslog(6, "Web management login failed, user=%s\n", param_1);  
}

يُعرَّف المعامل param_1 على أنه حقل اسم المستخدم.

التحقق من كلمة المرور

وبالمثل، يقابل param_2 كلمة المرور، بينما يُعرَّف param_3 على أنه httpd_user.

أعلام تسجيل الدخول

يمثل المتغير login_flag حالات الاتصال:

root@kitploit:~
0 → Login error
1 → Admin login successful
2 → Admin login denied due to an existing session
3 → Admin login forcing logout

نوع الثغرة

تجاوز سعة المخزن المؤقت والدالة strcpy

الثغرة هي تجاوز سعة المخزن المؤقت الناتج عن الاستخدام غير السليم للدالة strcpy.

كيف تفشل strcpy

لا تتحقق الدالة strcpy من حجم السلسلة المصدر مقابل سعة المخزن المؤقت الوجهة. وهذا يسمح بالكتابة فوق مناطق الذاكرة المتجاورة.

سياق الاستغلال

يستغل CVE-2019-1663 الافتقار إلى التحقق من حجم المدخلات في بعض طرازات موجّهات Cisco.

خطوات الاستغلال

root@kitploit:~
a. No Length Check: Unsanitized user input is passed to strcpy.
b. Memory Overflow: Excess data overwrites critical memory regions.
c. Arbitrary Code Execution: Attackers inject and execute malicious code.
d. Exploitation Requirements: Access to the router's web configuration server.
e. Impact: Privileged access, enabling network espionage, traffic redirection, malware installation, or backdoors.

الاستغلال عن بُعد للثغرة

  1. شروط الاستغلال عن بُعد يتطلب الاستغلال الوصول إلى خادم إعداد الويب الخاص بالموجّه. إذا لم يكن الخادم مكشوفًا على الشبكة الواسعة (WAN)، يقتصر الاستغلال على الوصول عبر الشبكة المحلية (LAN).
  2. إجراء الهجوم بمجرد الحصول على الوصول، يعترض المهاجم طلبًا ويعدّله، مضيفًا حمولة خبيثة مثل:
    root@kitploit:~
    &enc=1&user=cisco&pwd=AAAA...AAAAZZZZ&sel_lang=EN  
    

يؤدي هذا إلى حدوث خطأ تجزئة (segmentation fault). ومن خلال تحديد الحجم الأمثل للمخزن المؤقت، يمكن للمهاجمين حقن وتنفيذ كود خبيث.

الاستغلال | الأدوات (Gadgets): Ropper

root@kitploit:~
ibc.so.0/ELF/ARM)> disasm_address 0x00034410
Instructions
============
0x00034410: pop {r0, pc}

(libc.so.0/ELF/ARM)> disasm_address 0x00041304
Instructions
============
0x00041304: mov r2, r0

(libc.so.0/ELF/ARM)> search %mov r2, r0%
[INFO] Searching for gadgets: %mov r2, r0%
[INFO] File: libc.so.0
0x00041304: mov r2, r0; mov r0, sp; blx r2;

المراجع

  1. MITRE CWE-120: نسخ المخزن المؤقت دون التحقق من حجم المدخلات
    https://cwe.mitre.org/data/definitions/120.html

  2. MITRE CWE-787: كتابة خارج الحدود
    https://cwe.mitre.org/data/definitions/787.html

  3. OWASP: نظرة عامة على تجاوز سعة المخزن المؤقت
    https://owasp.org/www-community/vulnerabilities/Buffer_Overflow

  4. «تجاوز سعة المخزن المؤقت» على Microsoft Learn
    https://learn.microsoft.com/en-us/cpp/security/security-best-practices-for-c-cpp

  5. معايير CERT للترميز الآمن - STR31-C
    https://wiki.sei.cmu.edu/confluence/display/c/STR31-C.+Guarantee+that+storage+for+strings+has+sufficient+space+for+character+data+and+the+null+terminator

  6. استغلال CVE-2019-1663 - تقرير بقلم Quentin Kaiser
    https://quentinkaiser.be/exploitdev/2019/08/30/exploit-cve-2019-1663

تنزيل الأداة