¡¾·ì϶¹«¸æ¡¿Dnsmasq¶à¸ö°²È«·ì϶
°ä²¼¹¦·ò 2021-01-200x00 ·ì϶¸ÅÊö
DnsmasqÊÇ¿í·ºÊ¹ÓõĿªÔ´Èí¼þ£¬¿ÉÌṩDNSת·¢¡¢»º´æÒÔ¼°DHCP·þÎñÆ÷Ö°ÄÜ£¬ËüÔÚÎïÁªÍø£¨IoT£©ºÍÆäËüǶÈëʽÉ豸Öкܳ£¼û¡£
2021Äê01ÔÂ19ÈÕ£¬ÒÔÉ«Áа²È«Õ÷ѯ¹«Ë¾JSOFÅû¶ÁË7¸öDnsmasq·ì϶£¨Í³³ÆÎªDNSpooq£©£¬ÊÜ DNSpooq Ó°ÏìµÄÉ豸²»½ö»áÔâ·êDNS »º´æÖж¾£¬»¹¿É±»ÓÃÓÚÔ¶³Ì´úÂëÖ´ÐÓ×¢ÒÔ¼°»Ø¾ø·þÎñ¹¥»÷¡£
0x01 ·ì϶ÏêÇé

ÓÉÓÚ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ºýŪµÄÁ÷³Ìͼ£º

ĿǰÔݲ»Ã÷ÏÔÊÜDNSpooq·ì϶ӰÏìµÄËùÓй«Ë¾£¬JSOFÔÚÆä»ã±¨ÖÐ×ųÁÁгöÁË40¸ö¹©¸øÉÌ£¬ÆäÖÐÔ̺¬Android / Google¡¢Comcast¡¢Cisco¡¢Redhat¡¢Netgear¡¢Qualcomm¡¢Linksys¡¢Netgear¡¢IBM¡¢D-Link¡¢Dell¡¢»ªÎªºÍUbiquitiµÈ¡£
½ØÖ¹Ä¿Ç°£¬ShodanËÑË÷ÏÔʾ £¬Ä¿Ç°InternetÉÏÓг¬¹ý100Íò¸öDnsmasq·þÎñÆ÷¹«¿ª£¬ÆäÖÐÖйúÉ¢²¼µÄDnsmasqΪ397246£¬Î»ÁеÚÒ»£º

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/



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