¡¾·ì϶¹«¸æ¡¿Dnsmasq¶à¸ö°²È«·ì϶

°ä²¼¹¦·ò 2021-01-20

0x00 ·ì϶¸ÅÊö

DnsmasqÊÇ¿í·ºÊ¹ÓõĿªÔ´Èí¼þ£¬¿ÉÌṩDNSת·¢ ¡¢¡¢»º´æÒÔ¼°DHCP·þÎñÆ÷Ö°ÄÜ£¬ËüÔÚÎïÁªÍø£¨IoT£©ºÍÆäËüǶÈëʽÉ豸Öкܳ£¼û¡£¡£¡£

2021Äê01ÔÂ19ÈÕ£¬ÒÔÉ«Áа²È«Õ÷ѯ¹«Ë¾JSOFÅû¶ÁË7¸öDnsmasq·ì϶£¨Í³³ÆÎªDNSpooq£©£¬ÊÜ DNSpooq Ó°ÏìµÄÉ豸²»½ö»áÔâ·êDNS »º´æÖж¾£¬»¹¿É±»ÓÃÓÚÔ¶³Ì´úÂëÖ´ÐÐ ¡¢¡¢ÒÔ¼°»Ø¾ø·þÎñ¹¥»÷¡£¡£¡£

 

0x01 ·ì϶ÏêÇé

image.png

 

ÓÉÓÚDNSSEC´¦ÖôúÂëµÄÌìǵ²é³­ÃýÎó£¬DnsmasqÖдæÔÚ4¸ö»º³åÇøÒç³ö·ì϶¡£¡£¡£µ±Dnsmasq±»ÅäÖÃΪʹÓÃDNSSECʱ£¬Ô¶³Ì¹¥»÷ÕßÄܹ»Ê¹ÓöñÒâÉè¼ÆµÄDNSÏìÓ¦À´´¥·¢DNSpooqÖеĻº³åÇøÒç³ö·ì϶£¬×îÖÕµ¼Ö»ؾø·þÎñ ¡¢¡¢ÐÅϢй¶¼°Ô¶³Ì´úÂëÖ´ÐС£¡£¡£

Dnsmasq»º³åÇøÒç³ö·ì϶£¨CVE-2020-25681£©

ʹÓÃDNSSECʱ£¬2.83֮ǰµÄDnsmasq°æ±¾ÔÚsort_rrset()ÖÐÈÝÒײúÉú»ùÓڶѵĻº³åÇøÒç³ö£¬ÆäCVSSÆÀ·Ö8.1¡£¡£¡£ÕâÄܹ»Ê¹Ô¶³Ì¹¥»÷Õß½«ËÁÒâÊý¾ÝдÈëÖ¸±êÉ豸µÄÄÚ´æÖУ¬¿ÉÄܵ¼ÖÂÖ¸±êÉ豸ÉϵÄÄÚ´æ°Ü»µºÍÆäËüÒâÉúÊÖΪ¡£¡£¡£ 

Dnsmasq»º³åÇøÒç³ö·ì϶£¨CVE-2020-25682£©

ÆôÓÃDNSSECʱ£¬ÓÉÓÚ¶Ìȱ³¤¶È²é³­£¬2.83֮ǰµÄDnsmasq°æ±¾ÔÚextract_name£¨£©º¯ÊýÖÐÈÝÒײúÉú»º³åÇøÒç³ö£¬ÆäCVSSÆÀ·Ö8.1¡£¡£¡£Õâ¿ÉÄܵ¼ÖÂÔ¶³Ì¹¥»÷ÕßÔÚÖ¸±êÉ豸ÉÏÔì³ÉÄÚ´æ°Ü»µ¡£¡£¡£

Dnsmasq»º³åÇøÒç³ö·ì϶£¨CVE-2020-25683£©

ÆôÓÃDNSSECʱ£¬ÓÉÓÚrfc1035.c:extract_name()ÖжÌȱ³¤¶È²é³­£¬2.83֮ǰµÄDnsmasq°æ±¾ÈÝÒ׳öÏÖ»ùÓڶѵĻº³åÇøÒç³ö£¬ÆäCVSSÆÀ·Ö5.9¡£¡£¡£Ô¶³Ì¹¥»÷ÕßÄܹ»Í¨¹ýÀûÓô˷ì϶ÔÚ¶Ñ·ÖÅäµÄÄÚ´æÖÐÒýÆðÒç³ö£¬²¢ÇÒÄܹ»Í¨¹ýÀÄÓó¤¶È²é³­À´µ¼Ö dnsmasq ±ÀÀ££¬×îÖÕÔì³É»Ø¾ø·þÎñ¡£¡£¡£

Dnsmasq»º³åÇøÒç³ö·ì϶£¨CVE-2020-25687£©

ÆôÓÃDNSSECʱ£¬ÓÉÓÚrfc1035.c:extract_name()ÖжÌȱ³¤¶È²é³­£¬2.83֮ǰµÄDnsmasq°æ±¾ÔÚsort_rrset()ÖÐÈÝÒ׳öÏÖ»ùÓڶѵĻº³åÇøÒç³ö£¬ÆäCVSSÆÀ·Ö5.9¡£¡£¡£Ô¶³Ì¹¥»÷ÕßÄܹ»Í¨¹ýÀûÓô˷ì϶ÔÚ¶Ñ·ÖÅäµÄÄÚ´æÖÐÒýÆðÒç³ö£¬²¢ÇÒÄܹ»Í¨¹ýÀÄÓó¤¶È²é³­À´µ¼Ö dnsmasq ±ÀÀ££¬×îÖÕÔì³É»Ø¾ø·þÎñ¡£¡£¡£

 

´ËÍ⣬ÔÚDNSÏìÓ¦ÑéÖ¤Öл¹´æÔÚDNSpooq·ì϶ÖÐµÄÆäËü3¸ö£¬ÆäCVSSÆÀ·Ö¾ùΪ4.0¡£¡£¡£ÕâЩ·ì϶¿ÉÄܵ¼ÖÂDNS»º´æÖж¾£¨»òDNSºýŪ£©£¬Ê¹µÃ¹¥»÷ÕßÄܹ»´úÌæÉ豸ÉϵĺϷ¨DNS¼Í¼ ¡¢¡¢·ÛËéDNS»º´æ²¢½«Óû§Öض¨Ïòµ½ËÁÒâÕ¾µã ¡¢¡¢Ö´ÐÐÍøÂç´¹µö¹¥»÷ ¡¢¡¢ÍµÇÔÍ´´¦»òÉ¢²¼¶ñÒâÈí¼þµÈ¡£¡£¡£

×êÑÐÈËÔ±µÄ»ã±¨°µÊ¾£¬Í¨¹ýÀûÓÃÕâЩ·ì϶¿ÉÄÜ·ÛËéͨÀýµÄInternetä¯ÀÀÒÔ¼°ÆäËüÀàÐ͵ÄÁ÷Á¿£¬ºÃ±Èµç×ÓÓʼþ ¡¢¡¢SSH ¡¢¡¢Ô¶³Ì×ÀÃæ ¡¢¡¢RDPÊÓÆµ ¡¢¡¢ÓïÒôºô½ÐºÍÈí¼þ¸üеÈ£¬ÉõÖÁ¿ÉÄܵ¼ÖÂÉ¢²¼Ê½»Ø¾ø·þÎñ¹¥»÷£¨DDOS£© ¡¢¡¢·´ÏòDDOS ¡¢¡¢È䳿¹¥»÷µÈ¡£¡£¡£

Dnsmasq»º´æÖж¾·ì϶£¨CVE-2020-25684£©

ÔÚDnsmasq 2.83֮ǰ°æ±¾ÖеÄreply_queryº¯ÊýÖУ¬²»×ãÊʵ±µÄaddress/port²é³­£¬Õâµ¼ÖÂreply_queryº¯Êý¸üÈÝÒ×αÔì»Ø¸´¸øõè¾¶ÍâµÄ¹¥»÷Õß¡£¡£¡£

Dnsmasq»º´æÖж¾·ì϶£¨CVE-2020-25685£©

dnsmasqÔÚ2.83֮ǰµÄ°æ±¾ÖÐʵÏÖµÄreply_queryº¯Êý²»×ã²éÎÊ×ÊÔ´Ãû£¨RRNAME£©²é³­£¬ÔÊÐíÔ¶³Ì¹¥»÷ÕߺýŪDNSÁ÷Á¿£¬´Ó¶øµ¼ÖÂDNS»º´æÖж¾¡£¡£¡£

Dnsmasq»º´æÖж¾·ì϶£¨CVE-2020-25686£©

2.83֮ǰDnsmasq²»²é³­ÊÇ·ñ´æÔÚÒ»ÑùÃû³ÆµÄ´ý´¦ÖÃÒªÇ󣬶øÊÇת·¢ÐÂÒªÇ󣬴ӶøÊ¹¹¥»÷ÕßÄܹ»Ö´ÐС°Birthday Attack¡± (RFC 5452) À´ºýŪDNSÁ÷Á¿£¬´Ó¶øµ¼ÖÂDNS»º´æÖж¾¡£¡£¡£

 

Ó°ÏìÁìÓò

Dnsmasq <2.83

 

×êÑÐÈËÔ±°µÊ¾£¬ÀûÓÃDNSpooq·ì϶½øÐй¥»÷¼«¶ÈÈÝÒ×£¬Äܹ»ÔÚ¼¸ÃëÖÓ»ò¼¸·ÖÖÓÄÚʵÏÖ£¬ÇÒ²»±ØÒªÈκθ´Ôӵļ¼Êõ»ò¹¤¾ß¡£¡£¡£ÒÔÏÂÊÇDNSºýŪµÄÁ÷³Ìͼ£º£º£º

image.png

ĿǰÔݲ»Ã÷ÏÔÊÜDNSpooq·ì϶ӰÏìµÄËùÓй«Ë¾£¬JSOFÔÚÆä»ã±¨ÖÐ×ÅÖØÁгöÁË40¸ö¹©¸øÉÌ£¬ÆäÖÐÔ̺¬Android / Google ¡¢¡¢Comcast ¡¢¡¢Cisco ¡¢¡¢Redhat ¡¢¡¢Netgear ¡¢¡¢Qualcomm ¡¢¡¢Linksys ¡¢¡¢Netgear ¡¢¡¢IBM ¡¢¡¢D-Link ¡¢¡¢Dell ¡¢¡¢»ªÎªºÍUbiquitiµÈ¡£¡£¡£

½ØÖ¹Ä¿Ç°£¬ShodanËÑË÷ÏÔʾ £¬Ä¿Ç°InternetÉÏÓг¬¹ý100Íò¸öDnsmasq·þÎñÆ÷¹«¿ª£¬ÆäÖÐÖйúÉ¢²¼µÄDnsmasqΪ397246£¬Î»ÁеÚÒ»£º£º£º

image.png

 

 

0x02 ´ëÖý¨Òé

ΪÁËÔ¤·ÀDNSpooq·ì϶µÄ¹¥»÷£¬½¨Ò齫DnsmasqÈí¼þ¸üе½2.83°æ±¾¡£¡£¡£

һʱ´ëÊ©

Õë¶ÔÎÞ·¨Á¢¼´¸üÐÂDnsmasqµÄÓû§£¬½¨ÒéʹÓÃһʱ´ëÊ©:

l  Èç·Ç±ØÒª£¬Ç뽫dnsmasqÅäÖÃΪ²»ÕìÌýWAN½Ó¿Ú¡£¡£¡£

l  ʹÓÃÑ¡Ï--dns-forward-max= ¡°Ï÷¼õÔÊÐíת·¢µÄ×î´óÊýÁ¿,ÆäĬÈÏֵΪ150¡£¡£¡£

l  ÁÙʱ½ûÓÃDNSSECÑé֤ѡÏֱµ½×°Öò¹¶¡ÎªÖ¹¡£¡£¡£

l  ʹÓÃΪDNSÌṩ´«Ê䰲ȫÐԵĺÍ̸£¨ÈçDoT»òDoH£©£¬Õ⽫¼õÇáDnspooq·ì϶¹¥»÷µÄÓ°Ï죬µ«¿ÉÄÜ»á´øÀ´ÆäËü°²È«Òþ»¼£¬ÇëÖ£ÖØÖ´Ðд˲Ù×÷¡£¡£¡£

l  Ï÷¼õEDNSÐÂÎŵÄ×î´ó¾Þϸ¿ÉÄܻỺ½âijЩ·ì϶£¬µ«ÉÐδ¾­¹ý²âÊÔ£¬ÇÒÎ¥±³ÁËRFC5625¡£¡£¡£

 

0x03 ²Î¿¼Á´½Ó

https://www.jsof-tech.com/disclosures/dnspooq/

https://www.jsof-tech.com/wp-content/uploads/2021/01/DNSpooq_Technical-Whitepaper.pdf

https://www.bleepingcomputer.com/news/security/dnspooq-bugs-let-attackers-hijack-dns-on-millions-of-devices/

https://threatpost.com/dnspooq-flaws-allow-dns-hijacking-of-millions-of-devices/163163/

 

0x04 ¹¦·òÏß

2021-01-19  JSOFÅû¶·ì϶

2021-01-20  VSRC°ä²¼°²È«¹«¸æ

 

0x05 ¸½Â¼

 

CVSSÆÀ·Ö³ß¶È¹ÙÍø£º£º£ºhttp://www.first.org/cvss/

image.png