¡¾·ì϶¹«¸æ¡¿TCP/IPºÍ̸ջ·ì϶AMNESIA:33
°ä²¼¹¦·ò 2020-12-100x00 ·ì϶¸ÅÊö
2020Äê12ÔÂ08ÈÕ£¬Forescout³¢ÊÔÊÒ°ä²¼ÁË4¸ö¿ªÔ´TCP/IPºÍ̸ջÖб»Í³³ÆÎªAMNESIA:33µÄ33¸ö·ì϶¡£ÕâЩ·ì϶µÄÑϳÁÐÔÒѾ³¬³öÁËͨÀý°²È«ÁìÓò£¬²¢ÇÒÒ»ÏòÑÓ³¤µ½¿ª·¢¼¶±ð¡£
0x01 ·ì϶ÏêÇé

֮ǰÅû¶³öµÄÔÚTreck TCP/IPºÍ̸ջÖз¢ÏÖµÄ19¸ö0day·ì϶£¨Í³³ÆÎªRipple20 ·ì϶£©Â¶³öÁ˸´ÔÓÎïÁªÍø¹©¸øÁ´ÖеĶà¸ö·ì϶£¬Ó°ÏìÁ˶à¸öÐÐÒµµÄÊý°ÙÍǫ̀É豸¡£
×êÑÐÈËÔ±°µÊ¾£¬ÊÜRipple20 ·ì϶µÄÆô·¢£¬ËûÃÇ·ÖÎöÁËÆäËü¸ö7¸öTCP/IP ºÍ̸ջµÄ°²È«ÐÔ£¬ÒÔ´ÓÖÐÕÒµ½ÀàËÆµÄ·ì϶¡£
Òò¶øËûÃǽñÄêÔÚ¡°Project Memoria¡±ÏîÄ¿ÖÐʹÓÃ×Ô¶¯»¯ÍÌͲâÊÔºÍÊÖ¹¤´úÂë²é³·¢ÏÖÁË33¸ö·ì϶¡£ÆäÖУ¬ÔÚuIPÖз¢ÏÖÁË13¸ö·ì϶£¬picoTCPÖз¢ÏÖÁË10¸ö·ì϶£¬FNETºÍNut/NetÖи÷·¢ÏÖ5¸ö·ì϶¡£

AMNESIA:33»áÓ°ÏìDNS¡¢IPv6¡¢IPv4¡¢TCP¡¢ICMP¡¢LLMNRºÍmDNSµÈ7¸ö·ÖÆçµÄ×é¼þ£¬ÆäÓ°ÏìÔ̺¬Ô¶³Ì´úÂëÖ´ÐÓ×¢»Ø¾ø·þÎñ¡¢ÐÅϢй©¡¢DNS»º´æÖж¾µÈ£¬ÊÜÓ°ÏìµÄ×é¼þÈçÏ£º

ÕâЩ·ì϶Ԥ¼ÆÓ°Ïì150¶à¼Ò¹©¸øÉ̺ÍÊý°ÙÍòÉ豸£¬É漰ǶÈëʽÉ豸µÄ²Ù×÷ϵͳ¡¢Ð¾Æ¬ÏµÍ³¡¢ÍøÂçÉ豸¡¢OTÉ豸ÒÔ¼°´óÁ¿ÆóÒµ¼¶ºÍÏû·Ñ¼¶IoTÉ豸¡£

AMNESIA:33·ì϶ÁбíÈçÏ£º
CVE-ID | ÃèÊö | ÊÜÓ°Ïì²úÆ·/×é¼þ | ÀàÐÍ | ÆÀ·Ö |
CVE-2020-13984 | ÓÃÓÚ´¦ÖÃIPv6À©´ó±¨Í·ºÍÀ©´ó±¨Í·Ñ¡ÏîµÄº¯ÊýÄܹ»ÓÉÓÚδ²é³±¨Í·/Ñ¡ÏîµÄ³¤¶È¶ø½øÈëÎÞÏÞÑ»·×´Ì¬¡£ | Ext. header parsing in IPv6 (6LoWPAN) | DoS | 7.5 |
CVE-2020-13985 | µ±½âÎö±¨Í·ÖÐÌṩµÄֵʱ£¬ÓÃÓÚÆÆ½âRPLÀ©´ó±¨Í·µÄº¯Êý²»»á²é³²»°²È«µÄÕûÊýת»»£¬´Ó¶øÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ¡£ | Ext. header parsing in IPv6 | DoS | 7.5 |
CVE-2020-13986 | ÓÃÀ´ÆÆ½âRPLÀ©´ó±¨Í·µÄº¯Êý²»²é³½Ó¹Üµ½µÄRPLÀ©´ó±¨Í·µÄ³¤¶ÈÖµ£¬ÔÊÐí¹¥»÷Õß½«Æä·ÅÈëÎÞÏÞÑ»·ÖС£ | Ext. header parsing in IPv6 (6LoWPAN) | DoS | 7.5 |
CVE-2020-13987 | ½âÎö´«Èë´«Êä²ãÊý¾Ý°ü(TCP/UDP)µÄÖ°Äܲ»²é³Êý¾Ý°üÍ·µÄ³¤¶È×Ö¶ÎÓëÊý¾Ý°üÖпÉÓõÄÊý¾Ý¡£ | TCP/UDP checksum calculation in IPv4 | DoS ¡¢ÐÅϢй¶ | 8.2 |
CVE-2020-13988 | ¸ø¶¨ËÁÒⳤ¶È£¬ÔÚУÑéºÍÍÆËãÆÚ¼ä¿ÉÄÜÖ´ÐÐÔ½½çÄÚ´æ¶ÁÈ¡¡£ | TCP options parsing in IPv4 | DoS | 7.5 |
CVE-2020-17437 | ÔÚ´¦ÖÃTCP´¹Î£Êý¾Ýʱ£¬¶Ô´¹Î£Êý¾ÝÖ¸ÕëµÄÖµ²»½øÐÐÓÐЧ²é³£¬´Ó¶øÔÊÐí¹¥»÷Õßͨ¹ýÌṩËÁÒâµÄÊý¾Ý·ÛËéÄÚ´æTCPÊý¾Ý°üÖеĴ¹Î£Êý¾ÝÖ¸ÕëÆ«ÒÆÁ¿¡£ | TCP packet processing | DoS | 8.2 |
CVE-2020-17438 | ³ÁÐÂ×é×°Ë鯬°üµÄ´úÂë²»ÑéÖ¤ÆäIP±¨Í·ÖÐÖ¸¶¨µÄ´«Èë°üµÄ×ܳ¤¶È£¬ÒÔ¼°IP±¨Í·ÖÐÖ¸¶¨µÄËéÆ¬Æ«ÒÆÖµ¡£Õâ¿ÉÄܻᵼÖÂÄÚ´æ°Ü»µ¡£ | Fragmented packet reassembly in IPv4 | DoS | 7.0 |
CVE-2020-17439 | ¼´±ãûÓд«³öµÄ²éÎÊ£¬DNS¿Í»§¶ËÒ²»á½âÎö´«ÈëµÄDNSÓ¦´ð¡£DNSÊÂÎñID²»ÊÇÆëÈ«Ëæ»úµÄ¡£ÈôÊÇDNS»º´æ¼«¶ÈÓ×(4¸öÌõ¿î)£¬ÕâÈÝÒ×Êܵ½DNS»º´æÖж¾¹¥»÷¡£ | DNS response processing | DNS»º´æÖж¾ | 8.1 |
CVE-2020-17440 | ½âÎö´«ÈëµÄDNSÊý¾Ý°üʱ£¬²»²é³ÓòÃûÊÇ·ñΪ¿ÕÖÕÖ¹¡£ÕâʹµÃ¹¥»÷ÕßÄܹ»Í¨¹ý¾«ÐÄÉè¼ÆµÄDNSÏìÓ¦À´·ÛËéÄÚ´æ¡£ | DNS domain name decoding | DoS | 7.5 |
CVE-2020-24334 | ´¦ÖÃDNSÏìÓ¦µÄ´úÂë²»²é³DNSpacket±¨Í·ÖÐÖ¸¶¨µÄÏìÓ¦ÊýÁ¿ÊÇ·ñÓëDNS°üÖпÉÓõÄÏìÓ¦Êý¾ÝÏà¶ÔÓ¦£¬´Ó¶øÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ¡£ | DNS response processing | DoS | 8.2 |
CVE-2020-24335 | ½âÎöÓòÃûµÄÖ°ÄܶÌȱboundschecks£¬ÔÊÐí¹¥»÷ÕßÓþ«ÐÄÉè¼ÆµÄDNS°ü·ÛËéÄÚ´æ¡£ | DNS domain name decoding | DoS | 7.5 |
CVE-2020-24336 | ½âÎöͨ¹ýNAT64·¢Ë͵ÄDNSÏìÓ¦°üÖеÄDNS¼Í¼µÄ´úÂë²»ÑéÖ¤ÏìÓ¦¼Í¼µÄ³¤¶È×ֶΣ¬ÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ¡£ | DNS response parsing in NAT64 | RCE | 9.8 |
CVE-2020-25112 | ¶ÔIPv4/IPv6±¨Í·³¤¶ÈµÄ²é³²»¹»£¬»ò¶Ôipv6±¨Í·À©´ó³¤¶ÈµÄ²é³²»Ò»Ö£¬Ê¹µÃ¹¥»÷ÕßÄܹ»·ÛËéÄÚ´æ¡£ | ICMPv6 echo/reply processing | RCE | 8.1 |
CVE-2020-17441 | IPv6À©´ó±¨Í·µÄPayload³¤¶È×ֶβ»²é³´«ÈëÊý¾Ý°üÖеĿÉÓÃÊý¾Ý£¬ÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ¡£ | Ext. header parsing in IPv6, ICMPv6 checksum | DoS ¡¢ÐÅϢй¶ | 7.5 |
CVE-2020-17442 | ´¦ÖÃIPv6Êý¾Ý°üµÄÀ©´ó±¨Í·µÄº¯ÊýºÍËüµÄÑ¡Ïî²»×ã¶Ô±¨Í·³¤¶È×ֶεIJ鳣¬ÔÊÐí¹¥»÷Õßͨ¹ýÌṩËÁÒⳤ¶ÈÖµ½«º¯Êý·ÅÈëÒ»¸öÎÞÏÞÑ»·¡£ | Ext. header parsing in IPv6 | DoS | 7.5 |
CVE-2020-17443 | ÔÚ´¦ÖÃICMPv6 echoÒªÇóʱ£¬²»²é³ICMPv6±¨Í·ÊÇ·ñÔ̺¬ÖÁÉÙ8¸ö×Ö½Ú(ÓÉRFC443ÉèÖÃ)¡£Õ⽫µ¼Ö»ùÓڽӹܵ½µÄÒªÇó´´½¨ICMPv6 echoÏìÓ¦µÄº¯Êý£¬¸Ãº¯ÊýÓµÓнÏÓ׵ı¨Í·£¬´Ó¶ø·ÛËéÄÚ´æ¡£ | ICMPv6 echo request processing | DoS | 8.2 |
CVE-2020-17444 | ´¦ÖÃIPv6±¨Í·µÄº¯Êý²»²é³À©´ó±¨Í·µÄ³¤¶ÈÑ¡ÏÔÊÐí¹¥»÷ÕßʹÓþ«ÐÄÉè¼ÆµÄ³¤¶ÈÖµ½«Õâ¸öº¯Êý·ÅÈëÒ»¸öÎÞÏÞÑ»·ÖС£ | Ext. header parsing in IPv6 | DoS | 7.5 |
CVE-2020-17445 | ´¦ÖÃIPv6 DestinationOptionsÀ©´óÍ·µÄº¯Êý²»²é³ÆäÑ¡Ï¶ÈµÄÓÐЧÐÔ£¬ÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ»ò½«º¯Êý·ÅÈëÒ»¸öÓµÓо«ÐÄÉè¼ÆµÄ³¤¶ÈÖµµÄÎÞÏÞÑ»·¡£ | Ext. header parsing in IPv6 | DoS | 7.5 |
CVE-2020-24337 | ´¦ÖÃTCPÑ¡ÏîµÄº¯Êý²»ÑéÖ¤ËüÃǵij¤¶È£¬ÕâʹµÃ¹¥»÷ÕßÄܹ»½«´¦Öò»³£¼û»ò²»Ö§³ÖµÄTCPÑ¡ÏîµÄº¯Êý·ÅÈëÒ»¸öÎÞÏÞÑ»·ÖУ¬ÕâЩTCPÑ¡Ïî¶¼ÓÐ×Ô¼ºµÄ³¤¶ÈÖµ¡£ | TCP options parsing in IPv4 | DoS | 7.5 |
CVE-2020-24338 | ½âÎöÓòÃûµÄÖ°ÄܶÌȱboundschecks£¬ÔÊÐí¹¥»÷ÕßÓþ«ÐÄÉè¼ÆµÄDNS°ü·ÛËéÄÚ´æ¡£ | DNS domain name decoding | RCE | 9.8 |
CVE-2020-24339 | ½âÎöÓòÃûµÄÖ°ÄܶÌȱboundschecks£¬ÔÊÐí¹¥»÷ÕßÓþ«ÐÄÉè¼ÆµÄDNS°ü·ÛËéÄÚ´æ¡£ | DNS domain name decoding | DoS | 7.5 |
CVE-2020-24340 | ´¦ÖÃDNSÏìÓ¦µÄ´úÂë²»²é³DNSpacket±¨Í·ÖÐÖ¸¶¨µÄÏìÓ¦ÊýÁ¿ÊÇ·ñÓëDNS°üÖпÉÓõÄÏìÓ¦Êý¾ÝÏà¶ÔÓ¦£¬´Ó¶øÔÊÐí¹¥»÷ÕßÄÚ´æ·ÛËé¡£ | DNS response processing | DoS ¡¢ÐÅϢй¶ | 8.2 |
CVE-2020-24341 | TCPÊäÈëÊý¾Ý´¦ÖÃÖ°Äܲ»ÑéÖ¤´«ÈëTCPÊý¾Ý°üµÄ³¤¶È£¬ÔÊÐí¹¥»÷Õß¶ÁȡԽ½ç²¢·ÛËéÄÚ´æ | TCP packet processing | DoS ¡¢ÐÅϢй¶ | 8.2 |
CVE-2020-17467 | ½âÎöLLMNRÒªÇóʱ£¬²»²é³ÓòÃûÊÇ·ñΪ¿ÕÖÕÖ¹¡£Õâ¿ÉÄÜ»áÈù¥»÷Õß¶ÁȡԽ½ç¡£ | LLMNR state machine | ÐÅϢй¶ | 8.2 |
CVE-2020-17468 | ´¦ÖÃIPv6 Hop-by-HopÀ©´ó±¨Í·µÄÖ°Äܲ»²é³ÆäÑ¡Ï¶ÈµÄÓÐЧÐÔ£¬ÔÊÐí¹¥»÷Õß·ÛËéÄÚ´æ¡£ | Ext. header parsing in IPv6 | DoS | 7.5 |
CVE-2020-17469 | IPv6Êý¾Ý°ü³Á×éÖ°Äܲ»²é³ÊÕµ½µÄË鯬ÊÇ·ñÔÚÄÚ´æÖÐÕýÈ·¶ÔÆë£¬ÔÊÐí¹¥»÷ÕßÖ´ÐÐÆä¾«ÐÄÔì×÷µÄIPv6Ë鯬Êý¾Ý°ü¡£ | Fragmented packet reassembly in IPv6 | DoS | 5.9 |
CVE-2020-17470 | ³õʼ»¯DNS¿Í»§¶Ë½Ó¿Ú½á¹¹µÄ´úÂëûÓÐÉèÖÃ×ã¹»µÄËæ»útransactionid(ËüÃÇ×ÜÊDZ»ÉèÖÃΪ1)£¬ÈÝÒ×Ôâ·êDNS»º´æÖж¾¹¥»÷¡£ | DNS response processing | DNS»º´æÖж¾ | 4.0 |
CVE-2020-24383 | ½âÎö´«ÈëµÄmDNSÊý¾Ý°üʱ£¬²»²é³ÓòÃûÊÇ·ñΪ¿ÕÖÕÖ¹¡£ÕâÔÊÐí¹¥»÷ÕßʵÏÖÄÚ´æ°Ü»µ»òÄÚ´æÐ¹Â©¡£ | DNS domain name decoding | DoS ¡¢ÐÅϢй¶ | 6.5 |
CVE-2020-25107 | ´¦ÖÃDNSÎÊÌâ»òÏìÓ¦µÄ´úÂë:(1)²»²é³ÓòÃûÊÇ·ñΪ¿ÕÖÕÖ¹;(2)²»²é³DNSÏìÓ¦Êý¾Ý³¤¶È(¿É´ÓÊý¾Ý°üÖÐËÁÒâÉèÖÃ);(3) DNS²éÎÊ»òÏìÓ¦µÄ´ÎÊý(ÔÚDNS±¨Í·ÖÐÉèÖÃ)ûÓÐÓ뵱ǰÊý¾Ý½øÐвé¶Ô;(4) DNS²éÎÊ»òÏìÓ¦ÖÐadomain nameµÄ³¤¶È×Ö½Ú²»±»²é³£¬ÓÃÓÚÄÚ²¿ÄÚ´æ²Ù×÷¡£ | DNS domain name decoding/ DNS response processing | DoS | 7.5 |
CVE-2020-25108 | DoS | 7.5 | ||
CVE-2020-25109 | DoS | 8.2 | ||
CVE-2020-25110 | DoS | 8.2 | ||
CVE-2020-25111 | RCE | 9.8 |
ÆäÖÐ4¸öÑϳÁµÄÔ¶³Ì´úÂëÖ´Ðзì϶ÈçÏ£º
Nut/NetÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2020-25111£©
ÓÉÓÚNut/Net´¦ÖÃDNSºÍÏìÓ¦´úÂëʱ´æÔÚ°²È«ÎÊÌ⣬¹¥»÷Õß¿ÉÀûÓô˷ì϶Զ³ÌÖ´ÐдúÂë¡£¸Ã·ì϶CVSSÆÀ·Ö9.8¡£
picoTCPÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2020-24338£©
ÓÉÓÚpicoTCP½âÎöÓòÃûµÄº¯Êý²»×ãÌìǵ²é³£¬¹¥»÷ÕßÄܹ»Í¨¹ýαÔìµÄDNSÊý¾Ý°üÀ´·ÛËéÄڴ棬×îÖÕÄܹ»Ô¶³ÌÖ´ÐдúÂë¡£¸Ã·ì϶CVSSÆÀ·Ö9.8¡£
uIPÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2020-24336£©
ÓÉÓÚͨ¹ýNAT64·¢Ë͵ÄDNSÏìÓ¦Êý¾Ý°üÖнâÎöDNS¼Í¼µÄ´úÂëûÓÐÑéÖ¤ÏìÓ¦¼Í¼µÄ³¤¶È×ֶΣ¬¹¥»÷ÕßÄܹ»ÀûÓô˷ì϶À´·ÛËéÄڴ棬×îÖÕÔ¶³ÌÖ´ÐдúÂë¡£¸Ã·ì϶CVSSÆÀ·Ö9.8¡£
uIPÔ¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2020-25112£©
¸Ã·ì϶ÊǶÔIPv4/IPv6Í·³¤¶È²é³²»¼°»ò¶ÔIPv6Í·À©´ó³¤¶È²é³²»Ò»Öµ¼Öµģ¬¹¥»÷Õß¿ÉÀûÓô˷ì϶À´·ÛËéÄڴ棬×îÖÕÔ¶³ÌÖ´ÐдúÂë¡£¸Ã·ì϶CVSSÆÀ·Ö8.1¡£
0x02 ´ëÖý¨Òé
ĿǰContiki-NG¡¢PicoTCP-NG¡¢FNETºÍNut/NetÒѾ°ä²¼ÁËÓйز¹¶¡£¬uIP¡¢ContikiºÍPicoTCPÔÝδ°ä²¼²¹¶¡¡£
½¨Òé²ÉÈ¡ÈçÏ»º½â´ëÊ©£º
·çÏÕÆÀ¹À£º·çÏÕÆÀ¹ÀÒÔ¼ø±ðÄÚ²¿Ç±ÔÚÍþв£¨ÈçÒ×Êܹ¥»÷µÄÉ豸¡¢É豸µÄͨѶõè¾¶¡¢ÔÚ»¥ÁªÍøÉϵͳöÇé¿öµÈ£©¡£
ʹÓÃÄÚ²¿DNS·þÎñÆ÷£ºÓÉÓÚAMNESIA:33Öеö·ì϶ÓëDNSÓйأ¬ËùÒÔ¾¡Á¿Ê¹ÓÃÄÚ²¿DNS·þÎñÆ÷£¬²¢Ç×êǼලÀ´×Ô±í²¿µÄDNSÁ÷Á¿¡£
×èÖ¹»ò½ûÓò»ÓÃÒªµÄIPv6Á÷Á¿£ºÓÉÓÚAMNESIA:33ÖеĶà¸ö·ì϶ÓëIPv6×é¼þÓйأ¬Òò¶ø½¨Òé×èÖ¹»ò½ûÓò»ÓÃÒªµÄIPv6ÍøÂçÁ÷Á¿¡£
ÍøÂç·Ö¶Î£ºÍøÂç·Ö¶ÎÀ´×î´óˮƽµØÏ÷¼õÍøÂçÔÚInternetÉϵͳöÇé¿ö¡£
¼à¶½Òì³£Êý¾Ý°ü£º¹Ø×¢ÍøÂçÁ÷Á¿ÖÐÌåʽÃýÎó»òÒì³£µÄÊý¾ÝÁ÷ºÍÊý¾Ý°ü£¨Èç×ֶγ¤¶È²»ºÏ¸ñ»òУÑéºÍʧ°ÜµÈ£©¡£
0x03 ²Î¿¼Á´½Ó
https://www.forescout.com/company/resources/amnesia33-how-tcp-ip-stacks-breed-critical-vulnerabilities-in-iot-ot-and-it-devices/
https://www.forescout.com/research-labs/amnesia33/
https://searchsecurity.techtarget.com/news/252493283/Forescout-reports-33-new-TCP-IP-vulnerabilities
0x04 ¹¦·òÏß
2020-12-08 ForescoutÅû¶·ì϶
2020-12-10 VSRC°ä²¼°²È«¹«¸æ
0x05 ¸½Â¼
CVSSÆÀ·Ö³ß¶È¹ÙÍø£ºhttp://www.first.org/cvss/



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