¡¾·ì϶¹«¸æ¡¿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