ModbusÍø¹Ø©¶´(CVE-2021-4161)·ÖÎö
Ðû²¼Ê±¼ä 2022-01-17Ò»¡¢Â©¶´¸ÅÊö
½üÆÚ£¬¶«Éƽ̨ADLabÔÚ¹¤Òµ¿ØÖÆ©¶´¼à¿ØÖз¢ÏÖ¹¤¿Ø³§ÉÌMoxaµÄModbusÍø¹Ø´æÔÚ¸ßΣ©¶´£¨CVE-2021-4161£©£¬ICS-CERTµÄÆÀ·Ö¸ß´ï9.8¡£Õë¶Ô¸Ã¸ßΣ©¶´£¬ADLabÑо¿Ô±µÚһʱ¼ä½øÐÐÁËÏêϸ·ÖÎöºÍÑéÖ¤¡£
1.1 »ù±¾ÐÅÏ¢
ƾ¾ÝICS-CERTµÄ©¶´Í¨¸æ£¬¸Ã©¶´»ù±¾ÐÅÏ¢ÈçÏ£º
ÊÜÓ°ÏìµÄÉ豸£º
MGate MB3180/MB3280/MB3480 Series Protocol Gateways
ÊÜÓ°ÏìµÄ°æ±¾£º
MGate MB3180 Series: Firmware Version 2.2 or lower
MGate MB3280 Series: Firmware Version 4.1 or lower
MGate MB3480 Series: Firmware Version 3.2 or lower
©¶´¿ÉÀûÓÃÐÔ£ºÔ¶³Ì¡¢µÍÅÓ´ó¶È
CVSS v3ÆÀ·Ö£º9.8
1.2 ©¶´ÃèÊö
ƾ¾ÝICS-CERT©¶´Í¨¸æµÄÃèÊö£¬¸Ã©¶´ÀàÐÍÊôÓÚÃô¸ÐÐÅÏ¢Ã÷ÎÄ´«Êä¡£ÊÜÓ°ÏìÉ豸µÄ¹Ì¼þ´æÔÚ©¶´£¬¹¥»÷Õß¿ÉÒÔͨ¹ýÐá̽ÍøÂçÁ÷Á¿À´ÇÔÈ¡ºÍ½âÃÜÉ豸µÇ¼ƾ¾ÝµÄÏêϸÐÅÏ¢£¬´Ó¶ø»ñµÃ¶ÔÄ¿±êÉ豸http web serverµÄadminȨÏÞ¡£
ͼ1 ICS-CERT AdvisoryÖжÔ©¶´µÄÃèÊö
¸Ã©¶´µÄCVSS3ÌØÕ÷Ϊ(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)¡£Èçͼ2Ëùʾ£¬ICS-CERTÈÏΪ¸Ã©¶´¿ÉÔ¶³ÌÀûÓã¬Í¬Ê±¶ÔÍêÕûÐÔ£¨Integrity£©ºÍ¿ÉÓÃÐÔ£¨Availability£©µÄÓ°Ïì¾ùΪ¡°High¡±¡£
ͼ2 ICS-CERT ¶ÔCVE-2021-4161 CVSS(3.0)ÆÀ·Ö
´ÓÇ°ÃæµÄ©¶´ÃèÊö¿ÉÖª£¬¸Ã©¶´ÊÇÒ»¸ö²»Äþ¾²µÄƾ¾Ý´«Êäµ¼ÖÂƾ¾Ýй¶µÄ©¶´¡£ÄÇô£¬ÎªºÎICS-CERTÈÏΪÕâÑùÒ»¸ö©¶´Æä¶ÔÍêÕûÐԺͿÉÓÃÐÔµÄÓ°ÏìΪ¡°High¡±ÄØ¡£´ø×ÅÕâ¸öÒÉ»ó£¬ÎÒÃÇÔÚMGate MB3180É豸É϶Ը鶴½øÐÐÁË·ÖÎöºÍÑéÖ¤¡£
¶þ¡¢Â©¶´·ÖÎö
ƾ¾ÝICS-CERT¶Ô©¶´µÄÃèÊö£¬ÎÒÃÇÒ»¿ªÊ¼ÍƲâ¸ÃϵÁÐÉ豸µÄwebµÇ¼½ÓÄÉÁËBasicÈÏÖ¤¡£BasicÈÏÖ¤ÊǵÍÐÔÄÜÉ豸web serverËù³£ÓõÄÒªÁ죬Æ伸ºõûÓÐÄþ¾²ÐÔ£¬Ö±½Óͨ¹ýbase64½âÂëµÇ¼Á÷Á¿µÄÈÏÖ¤ÐÅÏ¢¼´¿É»ñµÃÓû§ÃûÃÜÂë¡£
ƾ¾ÝÉÏÊö˼·£¬ÎÒÃǶÔMB3180µÄµÇ¼Á÷Á¿½øÐÐÁË·ÖÎö£¬Èçͼ3Ëùʾ¡£MB3180µÄWebÈÏÖ¤²¢Ã»ÓнÓÄÉBasicÈÏÖ¤·½Ê½¡£
ͼ3 MB3180 WebµÇ¼POSTÇëÇó
¼ÌÐø¶ÔµÇ¼ÇëÇó½øÐзÖÎö£¬·¢ÏÖÇëÇóÖÐµÄ±íµ¥Êý¾Ý°üÂÞÁË¡°account¡±¡¢¡°password¡±µÈ×Ö¶ÎÐÅÏ¢¡£Èçͼ4Ëùʾ£º
ͼ4 MB3180 WebµÇ¼POSTÇëÇó±íµ¥Êý¾Ý£¨Óû§Ãûadmin,ÃÜÂë1234567£©
ÊÓ²ì±íµ¥ÖеÄÊý¾Ý¿ÉÖª£¬accountºÍpasswordûÓг£¼û¹þÏ£ÔËËãµÄÌØÕ÷¡£¶à´ÎµÇ¼µÄ±íµ¥Êý¾ÝÈçÏÂËùʾ£º
±í 1 ʹÓòîÒìÓû§ÃûÃÜÂëµÇ¼µÄPOST±íµ¥²¿ÃÅÊý¾Ý¼Ç¼
´ÓÉϱíÊý¾Ý»¹¿ÉÒÔ·¢ÏÖÈçÏÂÌØÕ÷£º
accountºÍpasswordºÍÊäÈ볤¶ÈÊÇÏà¹ØµÄ£»
accountºÍpasswordºÍFakeChallengeÊÇÏà¹ØµÄ¡£
ºóÐø¶ÔµÇ¼ҳÃæµÄÔ´Âë·ÖÎöÕÒµ½ÁËÉÏÊöÌØÕ÷¡£ÔڵǼҳµÄjs´úÂëÖУ¬setInfoº¯ÊýÂôÁ¦Éú³ÉµÇ¼ÐÅÏ¢²¢ÒÔ±íµ¥·½Ê½Ìá½»£¬ÈçÏÂËùʾ£º
ͼ5 MB3180µÄsetInfoº¯Êý
ÏÔÈ»£¬µÇ¼Êý¾ÝµÄÄþ¾²ÐÔÈ¡¾öÓÚº¯ÊýSetSHA256£¬Æä´úÂëÈçÏÂËùʾ£º
ͼ6 MB3180µÄSetSHA256º¯Êý
·ÖÎöSetSHA256º¯ÊýµÄÂß¼¿ÉÖª£¬¸Ãº¯Êý²¢Ã»ÓÐÕæÕýʵÏÖSHA256µÄ¹¦Ð§£¬¶øÊÇʹÓÃÁËÒì»ò·½Ê½À´´¦ÖÃÊäÈëÊý¾Ý¡£¾ßÌåÀ´½²£¬SetSHA256º¯ÊýµÄ·µ»ØÖµÊÇxor(m,n)Ö®ºóµÄ½á¹û£¬¶ømÀ´Ô´ÓÚaccount/password£¬nÔòÀ´Ô´ÓÚFakeChallenge¡£ÏÔ¶øÒ×¼û£¬ÔÚFakeChallenge±»Ð¹Â¶µÄÇ°ÌáÏ£¬account/passwordÊÇ¿É»¹ÔµÄ¡£
ÖÁ´Ë£¬¸Ã©¶´µÄÔÀí¾Í»ù±¾ÇåÎúÁË¡£MB3180ÔÚ´¦ÖõǼҳÃæµÄÓû§ÃûºÍÃÜÂë¼ÓÃÜʱ£¬Î´ÕýȷʵÏÖSHA256µÄÔËË㣬ͬʱweb serverĬÈÏʹÓÃhttpÐÒé¡£Òò´Ë£¬ÔÚ¿ÉÐá̽µ½¸ÃÉ豸µÇ¼µÄhttp±¨ÎÄʱ£¬±ã¿Éͨ¹ý½âÃÜ±íµ¥Êý¾ÝÀ´µÃµ½µÇ¼µÄÓû§ÃûºÍÃÜÂë¡£
Èý¡¢Â©¶´ÑéÖ¤
ƾ¾ÝÉÏÊö©¶´·ÖÎö½á¹û£¬ÎÒÃDZàдÁ˽âÃܽű¾¶Ô¸Ã©¶´½øÐÐÁËÑéÖ¤¡£Îª¼ò»¯ÑéÖ¤¹ý³Ì£¬ÎÒÃÇÖ±½ÓʹÓÃWiresharkץȡÁ˵ǼMB3180 Web ServerµÄhttpÁ÷Á¿£¬È»ºó±àд½Å±¾¶Ô¸ÃÁ÷Á¿½øÐзÖÎö²¢½âÃÜ¡£
ÔÚ×¥°ü¹ý³ÌÖУ¬ÎÒÃǽøÐÐÁËÁ½´ÎµÇ¼£¬Óû§Ãû¾ùΪadmin£¬ÃÜÂëÔòʹÓÃÁËÒ»¸ö´íÎóµÄÃÜÂ루admin£©ºÍÒ»¸öÕýÈ·µÄÃÜÂ루moxa£©¡£
ͼ7 ʹÓÃadmin\adminµÇ¼µÄ±íµ¥Êý¾Ý
ͼ8 ʹÓÃadmin\moxaµÇ¼µÄ±íµ¥Êý¾Ý
ÑéÖ¤½á¹ûÈçͼ9Ëùʾ£¬¿É´ÓµÇ¼Á÷Á¿½âÃܵõ½Óû§ÃûºÍÃÜÂëÐÅÏ¢£º
ͼ9 ½âÃܽű¾ÑéÖ¤
ËÄ¡¢Â©¶´Î£º¦
ÔÚ¹¤Òµ¿ØÖÆ»·¾³ÖУ¬ÓдóÁ¿µÄÉ豸²¢²»¾ß±¸TCP/IPÐÒéÕ»£¬Òª°ÑÕâЩÉ豸½ÓÈë»ùÓÚIT¼¼ÊõµÄÊý×Ö»¯ÍøÂç¾ÍÐèÒª½èÖúÐÒéת»»Íø¹ØÀ´Íê³É¡£MGate MBϵÁÐModbusÍø¹ØÉ豸µÄ¹¦Ð§¼´ÊÇ°ÑRS485ÀàµÄ¹¤ÒµÉ豸½ÓÈëµ½TCP/IPÍøÂç¡£ÕâÀàÍø¹ØÉ豸©¶´µÄΣº¦Í¨³£²»½ö½öÓ°Ïì¸ÃÉ豸×ÔÉí£¬¸üÖ±½ÓÓ°ÏìÆä±³ºóÖ§³ÅµÄÏÖ³¡É豸¡£Òò´Ë£¬NVD¶Ô¸Ã©¶´¸ø³öÁËÁ½ÖÖCVSS3ÆÀ·Ö£¬ÈçÏÂËùʾ¡£
ͼ10 NVDºÍICS-CERTÆÀ·ÖÇø±ð
ÆäÖУ¬NVD»ùÓÚNISTµÄÊӽǸø³öÁË7.5·Ö£¬¶øICS-CERT»ùÓÚ¹¤ÒµÊӽǸø³öÁË9.8¸ß·Ö¡£ÕâÁ½ÖÖÆÀ·ÖµÄ²îÒì¾ÍÔÚÓÚ£º´ÓIT½Ç¶È¿´£¬¸Ã©¶´²»ÄÜÐ޸ĸÃÉ豸µÄµ×²ãÊý¾Ý£¬Ò²²»ÄÜʹÉ豸ֹͣÔËÐУ¬Òò´Ë²»Ó°Ïì¸ÃÉ豸µÄÍêÕûÐԺͿÉÓÃÐÔ£»µ«´Ó¹¤Òµ½Ç¶È¿´£¬Í¨¹ý¸Ã©¶´»ñµÃ¹ÜÀíÔ±Õ˺źó¿ÉÒÔÐÞ¸ÄÍø¹ØµÄÅäÖ㬽ø¶øʹµÃ¸ÃÉ豸֧³ÅµÄ¹¤Òµ¿ØÖÆÒµÎñ·¢Éú±ä»»ÉõÖÁÊÇÍ£Ö¹£¬ËùÒÔÓ°ÏìÁ˹¤Òµ¿ØÖÆÒµÎñµÄÍêÕûÐԺͿÉÓÃÐÔ¡£
¿É¼û£¬Í¬ÑùÀàÐ͵ÄÍøÂçÄþ¾²Â©¶´£¬ÆäÔÚ¹¤Òµ¿ØÖÆϵÍÂäìÓòµÄÓ°ÏìºÍΣº¦Í¨³£Òª¸ßÓÚ´«Í³ITÒµÎñÁìÓò¡£Òò´Ë£¬ÔÚ´¦Öù¤Òµ¿ØÖÆϵͳÍøÂçÄþ¾²Â©¶´Ê±£¬ÐèÒª¿¼Âǵ½¹¤¿ØÒµÎñ»·¾³µÄÌØÊâÐÔ£¬½áºÏ¶Ô¹¤¿ØÒµÎñµÄÓ°ÏìÀ´×ÛºÏÆÀÅЩ¶´µÄΣº¦²ÅÆøÔ½·¢¿Í¹ÛÕæʵµÄ·´Ó³Â©¶´µÄÓ°ÏìÁ¦¡£
Îå¡¢ÐÞ¸´½¨Òé
Ä¿Ç°£¬¹Ù·½Î´Ðû²¼¸Ã©¶´µÄÐÞ¸´²¹¶¡£¬µ«ÌṩÁË©¶´»º½â½¨Ò飺
½¨Ò齫ÊÜÓ°ÏìÉ豸µÄWeb Server·ÃÎʵÄÐÒéÉèÖÃΪhttps£¬ÖÆÖ¹Ã÷ÎÄ´«Êä±íµ¥Êý¾Ý£»
½¨Òé²ÎÕÕMoxa SecurityHardening Guide for MGate MB3000 SeriesÖеķ½Ê½²¿ÊðÉ豸¡£
´ËÍ⣬Õë¶Ô¹¤Òµ¿ØÖÆϵͳ£¬CISAÌṩÁËÈçϵÄͨÓý¨Ò飺
¾¡Á¿¼õÉÙÔÚ¹«Íø̻¶¹¤¿ØÉ豸»òÕßϵͳ£»
½«¿ØÖÆϵͳÍøÂçºÍÔ¶³ÌÉ豸ÖÃÓÚ·À»ðǽ֮ºó£¬²¢ºÍ°ì¹«ÍøÂç¸ôÀ룻
µ±ÐèÒªÔ¶³Ì·ÃÎÊʱ£¬½ÓÄÉÀàÐÍVPNµÄÄþ¾²·ÃÎÊ·½Ê½¡£