¡¾Îó²îͨ¸æ¡¿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