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