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¿ªÔ´ÐÒéÕ»ÒѾ²»ÔÙά»¤£¬£¬£¬£¬£¬ÒÔÊDz¿·ÖÎó²îûÓв¹¶¡£¬£¬£¬£¬£¬Ðí¶à²úÆ·Ö»ÄÜѰÕÒÌæ»»ÊÖÒռƻ®»òÕßÊÇÔöÌíÌá·À²½·¥¡£¡£¡£¡£
¹ØÓÚÕâЩÎó²îµÄÌá·À»º½â²½·¥£¬£¬£¬£¬£¬ÎÒÃǽ¨Òé½ÓÄÉÈçϼ¸¸ö²½·¥£º
¡ñ ÉèÖÃÄÚÍø×°±¸µÄDNSЧÀÍÆ÷ΪÄÚÍøDNSЧÀÍÆ÷¡£¡£¡£¡£
¡ñ ʹÓéɨ²úƷʶ±ð³ö½ÓÄÉÎÊÌâÐÒéÕ»µÄ×°±¸×ʲú£¬£¬£¬£¬£¬¶Ô×éÖ¯ÄÚ¿ÉÄܱ£´æÎÊÌâµÄ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²¿·ÖµÄ³¤¶È£¨×Ö½ÚÊý£©¡£¡£¡£¡£
¡ñ 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Êý¾Ý¿½±´¡£¡£¡£¡£ÕâÀïÊDZ£´æÎÊÌâµÄ£¬£¬£¬£¬£¬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
ÈËÉú¾ÍÊDz©Æð¾¢·ÀÓùʵÑéÊÒ£¨ADLab£©
ADLab½¨ÉèÓÚ1999Ä꣬£¬£¬£¬£¬ÊÇÖйúÇå¾²ÐÐÒµ×îÔ罨ÉèµÄ¹¥·ÀÊÖÒÕÑо¿ÊµÑéÊÒÖ®Ò»£¬£¬£¬£¬£¬Î¢ÈíMAPPÍýÏë½¹µã³ÉÔ±£¬£¬£¬£¬£¬¡°ºÚȸ¹¥»÷¡±¿´·¨Ê×ÍÆÕß¡£¡£¡£¡£×èÖ¹ÏÖÔÚ£¬£¬£¬£¬£¬ADLabÒÑͨ¹ýCVEÀÛ¼ÆÐû²¼Çå¾²Îó²î½ü1100¸ö£¬£¬£¬£¬£¬Í¨¹ý CNVD/CNNVDÀÛ¼ÆÐû²¼Çå¾²Îó²î900Óà¸ö£¬£¬£¬£¬£¬Ò»Á¬¼á³Ö¹ú¼ÊÍøÂçÇå¾²ÁìÓòÒ»Á÷Ë®×¼¡£¡£¡£¡£ÊµÑéÊÒÑо¿Æ«Ïòº¸Ç²Ù×÷ϵͳÓëÓ¦ÓÃϵͳÇå¾²Ñо¿¡¢Òƶ¯ÖÇÄÜÖÕ¶ËÇå¾²Ñо¿¡¢ÎïÁªÍøÖÇÄÜ×°±¸Çå¾²Ñо¿¡¢WebÇå¾²Ñо¿¡¢¹¤¿ØÏµÍ³Çå¾²Ñо¿¡¢ÔÆÇå¾²Ñо¿¡£¡£¡£¡£Ñо¿Ð§¹ûÓ¦ÓÃÓÚ²úÆ·½¹µãÊÖÒÕÑо¿¡¢¹ú¼ÒÖØµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨ÒµÇ徲ЧÀ͵ȡ£¡£¡£¡£



¾©¹«Íø°²±¸11010802024551ºÅ