AMNESIA33£º¿ªÔ´TCP/IPºÍ̸ջϵÁзì϶·ÖÎöÓëÑéÖ¤

°ä²¼¹¦·ò 2020-12-14

ý½é


½üÆÚ£¬¹ú±í°²È«×êÑÐÈËÔ±ÔÚ¶à¸ö±»¿í·ºÊ¹ÓõĿªÔ´TCP/IPºÍ̸ջ·¢ÏÖÁ˶à¸ö·ì϶£¬ÕâһϵÁзì϶ͳ³ÆÎªAMNESIA33 ¡£ÕâЩ·ì϶¿í·º´æÔÚÓÚǶÈëʽºÍÎïÁªÍøÉ豸ÖУ¬Ó°ÏìÁ˶à¸öÐÐÒµÁìÓò£¨Ô̺¬Ò½ÁÆ¡¢ÔËÊä¡¢ÄÜÔ´¡¢µçÐÅ¡¢¹¤Òµ½ÚÔì¡¢ÁãÊÛºÍóÒ׵ȣ©£¬Ä¿Ç°ÒÑÖªÁìÓòÄÚÉæ¼°Á˳¬150¼Ò¹©¸øÉÌÒÔ¼°ÊýÒÔ°ÙÍò¼ÆµÄÉ豸 ¡£ÓëURGEN11ºÍRipple20·ÖÆçµÄÊÇ£¬AMNESIA33Ó°ÏìµÄÊǶà¸ö¿ªÔ´TCP/IPºÍ̸ջ£¬Òò¶øÕâЩ·ì϶Äܹ»ÇÄÎÞÉùÏ¢µØÓ°Ïìµ½ÎÞÊý¸ö´úÂë¿â¡¢¿ª·¢ÍŶÓÓë¸÷¸ö¹«Ë¾µÄ²úÆ· ¡£Ä¿Ç°ÒÑÖªµÄ·ìÏ¶Éæ¼°µ½ÁËÖÇÄܼҾӡ¢¹¤³§PLC¡¢SCADAÉ豸Ó빤¿Ø»¥»»»ú£¬µçÁ¦¼à¿ØµÈÉ豸 ¡£


ÕâЩ·ì϶´æÔÚÓÚuIP¡¢FNET¡¢picoTCPºÍNut/NetµÈ¿ªÔ´ºÍ̸ջÉÏ£¬Ó°ÏìTCP/IPºÍ̸ջµÄ¶à¸ö×é¼þ£¬Ô̺¬DNS¡¢IPv6¡¢IPv4¡¢TCP¡¢ICMP¡¢LLMNRºÍmDNSµÈ ¡£ÆäÖÐÔ̺¬¶à¸öÑϳÁ·ì϶£¬ËüÃǵÄCVE±àºÅ±ðÀëΪCVE-2020-17437¡¢CVE-2020-17443¡¢CVE-2020-24338¡¢CVE-2020-24336¡¢CVE-2020-25111 ¡£


CVE-2020-17437£¨CVSSÆÀ·Ö8.2£©¡¢CVE-2020-17443£¨CVSSÆÀ·Ö8.2£©¿Éµ¼ÖÂÉ豸»Ø¾ø·þÎñ ¡£CVE-2020-24338¡¢CVE-2020-24336¡¢CVE-2020-25111£¨ÕâÈý¸öCVSSÆÀ·Ö¾ùΪ9.8£©¶¼¿Éµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐÐ(RCE) ¡£ÆäËü28¸ö·ì϶µÄÑϳÁˮƽ¸÷±ð£¬CVSSÆÀ·Ö±ðÀë´Ó4µ½8.2 ¡£


ÓÉÓÚIoT¡¢OT¡¢ITÉ豸¹©¸øÁ´µÄ¸öÐÔ£¬·ì϶ӰÏìµÄÉ豸¶à¶à£¬Ó°ÏìÁìÓò¹ãÇÒ³ÖÐø¹¦·ò³¤£¬·ì϶½¨¸´µÄÖ´ÐнÏÄÑÌâ ¡£Í¬Ê±£¬ÓÉÓÚuIP¡¢picoTCP¿ªÔ´ºÍ̸ջÒѾ­²»ÔÙÊØ»¤£¬ËùÒÔ²¿ÃÅ·ìϼû»Óв¹¶¡£¬ºÃ¶à²úÆ·Ö»ÄÜѰÕÒ´úÌæ¼¼Êõ¹æ»®»òÕßÊÇÔö³¤·À±¸´ëÊ© ¡£


Òò¶ø£¬GA»Æ½ð¼×ADLab¶ÔÓйطì϶½øÐÐÁË·ÖÎö£¬²¢³É¹¦¸´ÏÖÁ˶à¸ö·ì϶£¬¿ª·¢ÁËAMNESIA33Óйطì϶¼ì²â¼¼Êõ£¬²¢ÌáÈ¡ÁËÁ÷Á¿¼à¿ØÌص㣬ÕâЩ¼¼ÊõÔÚÀûÓõ½GA»Æ½ð¼×°²È«²úÆ·ÖÐ ¡£ÎªÁË»º½â·ì϶µÄÓ°Ï죬ÎÒÃÇÌá³öÏÂÁзÀ±¸½¨Òé ¡£

·À±¸½¨Òé 


¶ÔÓÚÕâЩ·ì϶µÄ·À±¸»º½â´ëÊ©£¬ÎÒÃǽ¨Òé²ÉÈ¡Èçϼ¸¸ö´ëÊ©£º 


¡ñ ÅäÖÃÄÚÍøÉ豸µÄDNS·þÎñÆ÷ΪÄÚÍøDNS·þÎñÆ÷ ¡£

¡ñ Èç²»ÓÃÒª£¬Çë¹Ø¹ØIPv6ÉèÖà ¡£

¡ñ ÀûÓéɨ²úÆ·¼ø±ð³öѡȡÎÊÌâºÍ̸ջµÄÉ豸×ʲú£¬¶Ô×éÖ¯ÄÚ¿ÉÄÜ´æÔÚÎÊÌâµÄIoT¡¢OTºÍITÉ豸½øÐзçÏÕÆÀ¹À ¡£

¡ñ ·À»ðǽ¼°IPS²úÆ·²ÎÓëAMNESIA33·ì϶¹¥»÷¼ø±ðÌØµã£¬¼à¿Ø¶ñÒâÁ÷Á¿ ¡£

¡ñ Èç²»ÓÃÒª£¬É豸²»ÒªÂ¶³öÔÚ¹«Íø ¡£

¡ñ ¾¡¿ÉÄܸüÐÂÓйØÊÜÓ°ÏìºÍ̸ջµ½×îа汾 ¡£


ϱíÊDz¿ÃÅÒѾ­½¨¸´µÄºÍ̸ջ¼°°æ±¾£º


TCP/IPºÍ̸ջ

½¨¸´°æ±¾

FNET

4.70¼°ÒÔÉÏ

uIP-Contiki-NG

4.6.0¼°ÒÔÉÏ

Nut/Net

5.1¼°ÒÔÉÏ



CISAͬÃË·ÖÏíÁË13¸öÉæ¼°µ½AMNESIA33·ì϶µÄ¹«Ë¾µÄ²úÆ·½¨¸´½¨Ò飬Ô̺¬ÁËMicrochip¡¢SiemensµÈ¹«Ë¾µÄ²úÆ·£¬Ïê¼û²Î¿¼Á´½Ó[5] ¡£


ÓйظÅÏë½éÉÜ 


1¡¢DNSºÍ̸½âÎö


DNSµÄÒªÇóºÍÏìÓ¦µÄ¸ù»ùµ¥ÔªÊÇDNS±¨ÎÄ£¨Message£© ¡£ÒªÇóºÍÏìÓ¦µÄDNS±¨ÎĽṹÊÇÆëȫһÑùµÄ£¬Ã¿¸ö±¨ÎͼÓÉÒÔÏÂÎå¶Î£¨Section£©×é³É£º


ͼƬ


DNS HeaderÊÇÿ¸öDNS±¨Îͼ±ØÐëÕ¼ÓеÄÒ»²¿ÃÅ£¬ËüµÄ³¤¶È¹Ì¶¨Îª12¸ö×Ö½Ú ¡£Question²¿ÃÅ´æ·ÅµÄÊÇÏò·þÎñÆ÷²éÎʵÄÓòÃûÊý¾Ý£¬Í¨³£Çé¿öÏÂËüÖ»ÓÐÒ»ÌõEntry ¡£Ã¿¸öEntryµÄÌåʽÊÇÒ»ÑùµÄ£¬ÈçÏÂËùʾ£º


ͼƬ


QNAMEÊÇÓÉlabelsÐòÁÐ×é³ÉµÄÓòÃû ¡£QNAMEµÄÌåʽʹÓÃDNS³ß¶ÈÃû³Æ°µÊ¾·¨ ¡£Õâ¸ö×Ö¶ÎÊDZ䳤µÄ£¬Òò¶øÓпÉÄܳÊÏÔìæÊý¸ö×Ö½Ú£¬µ«²»½øÐв¹Æë ¡£DNSʹÓÃÒ»Öֳ߶ÈÌåʽ¶ÔÓòÃû½øÐбàÂë ¡£ËüÓÉһϵÁеÄlabel£¨ºÍÓòÃûÖÐÓÃ.Ô׸îµÄlabel·ÖÆç£©×é³É ¡£Ã¿¸ölabelÊ××ֽڵĸßÁ½Î»ÓÃÓÚ°µÊ¾labelµÄÀàÐÍ ¡£RFC1035ÖзÖÅäÁËËĸöÀïÃæµÄÁ½¸ö£¬±ðÀëÊÇ£º00°µÊ¾µÄͨ³£label£¬11£¨0xC0£©°µÊ¾µÄѹËõlabel ¡£


Answer¡¢AuthorityºÍAdditionalÈý¸ö¶ÎµÄÌåʽÊÇÆëȫһÑùµÄ£¬¶¼ÊÇÓÉÁãÖÁ¶àÌõResource Record£¨×ÊÔ´¼Í¼£©×é³É ¡£ÕâЩ×ÊÔ´¼Í¼ÓÉÓÚ·ÖÆçµÄÓô¦¶ø±»·Ö¸ô´æ·Å ¡£Answer¶ÔÓ¦²éÎÊÒªÇóÖеÄQuestion£¬QuestionÖеÄÒªÇó²éÎÊÁ˾ֻáÔÚAnswerÖиø³ö£¬ÈôÊÇÒ»¸öÏìÓ¦±¨ÎĵÄAnswerΪ¿Õ£¬×¢Ã÷Õâ´Î²éÎÊûÓÐÖ±½Ó»ñµÃÁË¾Ö ¡£


RR(Resource Record)×ÊÔ´¼Í¼ÊÇDNSϵͳÖм«¶È³ÁÒªµÄÒ»²¿ÃÅ£¬ËüÕ¼ÓÐÒ»¸ö±ä³¤µÄ½á¹¹£¬¾ßÌåÌåʽÈçÏ£º


ͼƬ


¡ñ NAME£ºËüÖ¸¶¨¸Ã±Ê¼Í¼¶ÔÓ¦µÄÊÇÄĸöÓòÃû£¬ÌåʽʹÓÃDNS³ß¶ÈÃû³Æ°µÊ¾·¨

¡ñ TYPE£º×ÊÔ´¼Í¼µÄÀàÐÍ ¡£

¡ñ CLASS£º¶ÔÓ¦QuestionµÄQCLASS£¬Ö¸¶¨ÒªÇóµÄÀàÐÍ£¬³£ÓÃֵΪIN£¬ÖµÎª0x001 ¡£

¡ñ TTL(Time To Live)×ÊÔ´µÄÓÐЧÆÚ£º°µÊ¾ÄãÄܹ»½«¸ÃÌõRR»º´æTLLÃ룬TTLΪ0°µÊ¾¸ÃRR²»Äܱ»»º´æ ¡£TTLÊÇÒ»¸ö4×Ö½ÚÓзûºÅÊý£¬µ«ÊÇֻʹÓÃËü´óÓÚµÅ×Ú0µÄ²¿ÃÅ ¡£

¡ñ RDLENGTH£ºÒ»¸öÁ½×ֽڷǸºÕûÊý£¬ÓÃÓÚÖ¸¶¨RDATA²¿Ãŵij¤¶È£¨×Ö½ÚÊý£© ¡£

¡ñ RDATA£º°µÊ¾Ò»¸ö³¤¶ÈºÍ½á¹¹¶¼¿É±äµÄ×ֶΣ¬ËüµÄ¾ßÌå½á¹¹È¡¾öÓÚTYPE×Ö¶ÎÖ¸¶¨µÄ×ÊÔ´ÀàÐÍ ¡£

DNSÏìÓ¦°üÈçÏÂͼËùʾ£º


ͼƬ


´ÓÉÏͼÖпÉÖª£¬¸ÃAnswersÇø¶ÎÖдæÔÚ9¸ö×ÊÔ´¼Í¼£¬ºì¿òÖаµÊ¾µÄÊÇÖ÷»úµØÖ·£¨AÀàÐÍ£©×ÊÔ´¼Í¼ ¡£


Óò±êÇ©labelÔÚDNSÊý¾Ý°üÀï±»±àÂ룬ÿ¸öͨ³£±êÇ©µÄµÚÒ»¸ö×Ö½Ú´ú±íÕâ¸ö±êÇ©µÄ³¤¶È£¬Ê£ÏµÄ×ÖĸÊý×Ö×Ö·ûΪ±êÇ©×ÔÉí(Ò»Ð©ÌØÊâ×Ö·ûÒ²ÊÇÄܹ»µÄ)£¬µ«ÊÇ×îÖÕ½áβµÄ×Ö·û¿Ï¶¨ÊÇÒÔ¿Õ×Ö½Ú½áβ(¼´0x00)£¬ÓÃÀ´°µÊ¾ÓòÃûµÄʵÏÖ ¡£¾Ù¸öÀý×Ó£¬ÈçÏÂͼËùʾ£¬Óò±êÇ©µÚÒ»¸ö×Ö·ûÊÇ0x03£¬Õâ´ú±íµÚÒ»¸ö±êÇ©³¤¶ÈΪ3(¼´0x77 0x77 0x77 == ¡°www¡±)£¬Í¬Àí£¬0x62 0x61 0x690x64 0x75 == ¡°baidu¡±£¬×îºóÄܹ»¿´µ½ÒÔ0x00½áβ ¡£


ͼƬ


2¡¢TCP´¹Î£Ä£Ê½


ΪÁË·¢ËͳÁÒªºÍ̸Êý¾Ý,TCPÌṩÁËÒ»ÖÖ³ÆÎª´¹Î£Ä£Ê½(urgentmode)µÄ»úÔ죬TCPºÍ̸ÔÚÊý¾Ý¶ÎÖÐÉèÖÃURGλ,°µÊ¾½øÈ봹Σģʽ ¡£Í¨¹ýÉèÖô¹Î£Ä£Ê½£¬·¢ËÍ·½Äܹ»ÔÚ·¢ËͶÓÁÐÖÐÓÅÏÈ·¢ËÍÕⲿÃŵÄÊý¾Ý£¬²¢ÇÒ²»ÓÃÔÚ·¢ËͶÓÁÐÖÐÁжÓ£¬¶ø½Ó¹Ü·½Äܹ»¶Ô´¹Î£Ä£Ê½²ÉÈ¡ÌØÊâµÄ´¦Öà ¡£ÕâÖÖ·½Ê½Êý¾Ý²»ÈÝÒ×½ÓÊܱ»×èÈû,·þÎñÆ÷¶Ë·¨Ê½»áÓÅÏȽÓÊÜÕâЩ´¹Î£µÄÊý¾Ý£¬¶ø²»ÓýøÐÐÁжӴ¦Öà ¡£ÔÚTCP±¨ÎÄÖнç˵ÁËÁ½¸ö×Ö¶ÎÀ´±êʾ´¹Î£Ä£Ê½£¬Ò»¸öURG±êÖ¾£¬¸Ã±êÖ¾°µÊ¾±¨ÎÄÖÐÓд¹Î£Êý¾Ý£¬ÁíÒ»¸ö±êÖ¾ÊÇ´¹Î£Ö¸Õ룬Ëü±êʾ´¹Î£Êý¾ÝÔÚ´«ÊäÊý¾ÝÖÐÆ«ÒƵØÎ» ¡£ÈçÏÂͼËùʾ£º


ͼƬ


·ì϶·ÖÎö 


ÏÂÃæÎÒÃǶԼ¸¸öCVSSÆÀ·Ö½Ï¸ßµÄ·ì϶½øÐзÖÎö£º


1¡¢CVE-2020-17437


CVE-2020-17437´æÔÚÓÚuIPºÍ̸ջµÄuip.cÎļþµÄuip_processº¯ÊýÖУ¬¸Ãº¯ÊýÖØÒªÊÇ´¦ÖÃip/tcp±¨ÎÄ£¬ÏÂͼÊÇuIPºÍ̸ջ¶ÔTCP±¨ÎÄÖдøÓÐTCP_URG´¹Î£Ö¸Õë±êʶʱµÄ´¦ÖôúÂ룬ÈôÊDZàÒëʱÅäÖÃÁËUIP_URGDATA£¬Ôò·¨Ê½»á×ßµ½ÏÂÃæµÄif·ÖÖ§£¬¶Ô´¹Î£Ö¸ÕëÊý¾Ý½øÐÐרÃÅ´¦Öà ¡£


µ«ÊÇÔÚĬÈÏÇé¿öÏ£¬UIP_URGDATA²¢Ã»ÓÐÅäÖà ¡£´úÂë»á½øÈëµ½else·ÖÖ§£¬·¨Ê½»áÌø¹ý´¦Öô¹Î£Ö¸ÕëÊý¾Ý£¬²¢Åú¸Äuip_lenµÄÊýÖµ ¡£·¨Ê½ÔÚÅú¸Äuip_lenµÄʱ³½²¢Ã»ÓÐÅжϴ¹Î£Ö¸ÕëµÄÖµ£¬µ±uip_lenµÄÖµ³ö¸ñÓ×£¬¶ø´¹Î£Ö¸ÕëµÄÖµurgp³ö¸ñ´óʱ£¬¾Í»áÒýÆðÕûÊýÒç³ö£¬µ¼ÖÂÉ豸³ÁÆô»òÕßÊÇÔ½½ç¶Áд ¡£


ͼƬ


2¡¢CVE-2020-24338


¸Ã·ì϶³Ê´Ë¿ÌpicoTCP/IPºÍ̸ջÖнâÎöÓòÃûlabelµÄpico_dns_decompress_name()º¯ÊýÖУ¬¸Ãº¯Êý¾ßÌåʵÏÖÈçÏ´úÂëËùʾ£º


ͼƬ


µÚ95¡¢96Ðгõʼ»¯iterator£¬nameÖ¸Ïò´ý½âѹËõµÄlabels£¬dest_iteratorÖ¸Ïò´æ·Å½âѹ³öÀ´µÄlabelsµÄ»º³åÇø£¬´óÓ×Ϊ256×Ö½Ú ¡£µÚ97ÐÐÆðͷΪwhileÑ­»·£¬¶ÁÈ¡µ½×Ö·û´®½áβ¿Õ×Ö½ÚÍ˳ö ¡£µÚ98ÐУ¬Í¨¹ýiterator&0xC0ÅжÏlabelÀàÐÍ£¬ÈôÊÇΪѹËõlabel£¬Ôòͨ¹ýpacket¶¨Î»µ½Í¨³£labelµØµãµÄµØÎ»£¬ÈôÊÇΪͨ³£labelÖ±½Ó½øÈëelse´úÂë¿éÖУ¬µÚ107ÐУ¬Å²ÓÃmemcpy½«Í¨³£label¿½±´µ½dest_iteratorÖÐ ¡£ÎÒÃÇ֪·dest_iterator»º³åÇø´óÓ×Ö»ÓÐ256×Ö½Ú£¬¶øwhileÑ­»·Í˳öǰÌáΪ¶Áµ½×Ö·û´®½áβ¿Õ×Ö½Ú£¬Òò¶øµ±name³¤¶È³¬¹ý256×Ö½Úʱ£¬µ¼ÖÂdest_iterator»º³åÇøÒç³ö ¡£


3¡¢CVE-2020-24336


¸Ã·ì϶³Ê´Ë¿ÌcontikiºÍ̸ջÖеÄip64_dns64_4to6()ÖУ¬¸Ãº¯ÊýÖ°ÄÜÊǽ«ipv4ÀàÐ͵ÄDNSÊý¾Ý°üת»»³Éipv6ÀàÐ͵ÄDNSÊý¾Ý°ü£¬¹Ø¼ü´úÂëÈçÏ£º


ͼƬ


±éÀúAnswerÇø¶Î²¢¸üе½ipv6ÀàÐ͵ÄAnswerÇø¶ÎÖÐ ¡£´ÓµÚ209ÐÐÆðͷת»»×ÊÔ´¼Í¼£¬¾ßÌåʵÏÖ´úÂëÈçÏÂËùʾ£º


ͼƬ


Ê×ÏÈÅжÏTYPEÊÇ·ñÊÇDNS_TYPE_A£¬DNS_TYPE_A°µÊ¾¸Ã×ÊÔ´¼Í¼Ϊipv4Ö÷»úµØÖ·£¬¶øºó½«¶ÔÓ¦Çø¶Î¿½±´µ½acopyÖÐ ¡£µÚ220ÐУ¬´Ó×ÊÔ´¼Í¼ÖÐÖ±½ÓÈ¡RDLENGTH£¬Ç°ÎÄÒѽéÉÜ£¬¸ÃÇø¶Î±íÕ÷RDATAµÄ³¤¶È ¡£µÚ227ÐУ¬ÅжÏlen³¤¶ÈÊÇ·ñµÅ×Ú4£¬ÕâÀïÕý³£Çé¿ö£¬lenÓ¦¸ÃΪ4£¬ÓÉÓÚipv4µØÖ·³¤¶ÈΪ4¸ö×Ö½Ú ¡£ÈôÊÇlen²»µÅ×Ú4£¬Ôò½øÈëelseÓï¾äÖУ¬Ö±½ÓŲÓÃmemcpy½øÐÐRDATAÊý¾Ý¿½±´ ¡£ÕâÀïÊÇ´æÔÚÎÊÌâµÄ£¬Ipv4Ö÷»úµØÖ·³¤¶È²»µÅ×Ú4£¬²¢Ã»ÓÐÑéÖ¤Ö÷»úµØÖ·µÄºÏÀíÐÔ²¢ÇÒlen×î´óΪ0xFFFF£¬Ö±½Ó¿½±´¿ÉÄܵ¼Ö»º³åÇøÒç³ö ¡£


4¡¢CVE-2020-25111


ÔÚʹÓÃNut/NetºÍ̸ջµÄÉ豸ÖУ¬NutDnsGetResourceAll()ÊÇ´¦ÖÃDNSÒªÇóµÄº¯Êý£¬ÆäÖд¦ÖÃDNS»Ø´ðµÄº¯ÊýÊÇDecodeDnsQuestion()£¬´¦ÖÃÓò±êÇ©µÄº¯ÊýÊÇScanName()£¬·ì϶¾Í³Ê´Ë¿ÌScanName()º¯ÊýÖÐ ¡£ÈçÏÂͼËùʾ£¬cpΪָÏòÓòÃûµÚÒ»¸ö×Ö½ÚµÄÖ¸Õë(¼´µÚÒ»¸öÓò±êÇ©µÄ³¤¶È×Ö½Ú)£¬*nppΪ¼´½«±»½âÎöµÄÓòÃûbuffer£¬Í¨¹ýstrlen()½«Õû¸öÓòÃû³¤¶È¸³Öµ¸ørc,¶øºó»ùÓÚrc·ÖÅä*npp buffer£¬Ö®ºóͨ¹ýÒ»¸öwhile£¬Ñ­»·´¦ÖÃÿһ¸ölabel ¡£ÎÊÌâ²»ÑÔ¶øÓ÷£¬cpÊǹ¥»÷Õ߿ɿصÄ£¬ÓÉ´ËÄܹ»½ÚÔì*nppµÄ´óÓ× ¡£¶ø¶ÔÓÚ±êÇ©µÄ³¤¶È£¬¼´len±äÁ¿£¬Ö±½Ó´ÓÊý¾Ý°üÖеõ½£¬²¢Ã»ÓÐ×öÈκÎÌìǵ²é³­£¬¶øºóͨ¹ýwhileÑ­»·´¦Öà ¡£Òò¶øÄܹ»¶ÔlenÉèÖÃËÁÒâµÄÖµ£¬¼´¹¥»÷Õß¶Ô*npp buffer¿É¿ØµÄ³¤¶È ¡£ÓÉ´ËÄܹ»ÔÚ¶ÑÖÐÔì³ÉÔ½½çд£¬Õâ¿Éµ¼ÖÂÔ¶³Ì´úÂëÖ´ÐÐ(RCE) ¡£


ͼƬ


5¡¢CVE-2020-17443


CVE-2020-17443´æÔÚÓÚPicoTCPºÍ̸ջpico_icmp6.cÎļþÖÐ ¡£ÎÊÌâ´úÂëλÓÚpico_icmp6_send_echoreply£¨£©º¯ÊýÖУ¬¸Ãº¯ÊýµÄÖØÒªÖ°ÄÜÊǻظ´ICMPv6Ó¦´ðÊý¾Ý°üÒÔÏìÓ¦¶Ô¶ËµÄICMPv6Echo(ping)ÒªÇó ¡£


ͼƬ


ÎÒÃÇÄܹ»¿´µ½£¬µÚ68ÐУ¬replay½á¹¹µÄ»º³å´óÓ×»ùÓÚechoµÄ±¨ÎÄÖÐtransport_len±äÁ¿ ¡£ÔÚµÚ84ÐУ¬·¨Ê½´Óecho->payloadÏòreply->payloadµØÖ·¸´ÔìÁ˳¤¶ÈΪecho->transport_len- 8´óÓ×µÄÊý¾Ý ¡£


°ÑÎÈ£¬ÈôÊÇecho->transport_lenÓ×ÓÚ 8£¬echo->transport_len - 8»áµ¼ÖÂÕûÊýÒç³ö£¬memcpy²Ù×÷»áµ¼Ö»º³åÇøÒç³ö ¡£


ÔÚPicoTCPºÍ̸ջ¹¥»÷Õßͨ¹ý»ú¹Ø¶ñÒâµÄICMPv6Êý¾Ý°ü£¬Õâ¸ö¶ñÒâµÄÊý¾Ý°üICMP±¨Í·Ó×ÓÚ8£¬»áµ¼ÖÂÉ豸³ÁÆô»ò»Ø¾ø·þÎñ ¡£


·ì϶ÑéÖ¤


·ì϶ÑéÖ¤ÊÓÆµÇë²é¿´ADLab¹«¼ÒºÅ


²Î¿¼Á´½Ó£º


[1] https://www.forescout.com/research-labs/amnesia33/[2]https://www.securityweek.com/amnesia33-vulnerabilities-tcpip-stacks-expose-millions-devices-attacks

[3] https://www.zdnet.com/article/amnesia33-vulnerabilities-impact-millions-of-smart-and-industrial-devices/

[4] https://tools.ietf.org/html/rfc1035

[5] https://us-cert.cisa.gov/ics/advisories/icsa-20-343-01


GA»Æ½ð¼×»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Ä꣬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬¡°ºÚȸ¹¥»÷¡±¸ÅÏëÊ×ÍÆÕß ¡£½ØÖ¹Ä¿Ç°£¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶½ü1100¸ö£¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶900Óà¸ö£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼ ¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑÓ×¢ÒÆ¶¯ÖÇÄÜÖն˰²È«×êÑÓ×¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑÓ×¢Web°²È«×êÑÓ×¢¹¤¿ØÏµÍ³°²È«×êÑÓ×¢ÔÆ°²È«×êÑÐ ¡£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÓ×¢¹ú¶È³Áµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨Òµ°²È«·þÎñµÈ ¡£


adlab.jpg