UPnPºÍ̸CallStranger·ì϶ӰÏìÊý°ÙÍòÉ豸
°ä²¼¹¦·ò 2020-06-30Ò»¡¢·ì϶¸ÅÊö
2020Äê6ÔÂ8ÈÕ£¬£¬£¬£¬£¬£¬£¬£¬°²È«×êÑÐÔ±Yunus ?adirci°ä²¼UPnP£¨Í¨Óü´²å¼´Ó㩺Í̸·ì϶²¼¸æ£¨CVE-2020-12695£©£¬£¬£¬£¬£¬£¬£¬£¬²¢½«Æä¶¨ÃûΪCallStranger·ì϶¡£¡£¡£¡£¡£¡£¸Ã·ì϶ÔÊÐí¹¥»÷ÕßÈÆ¹ýÄÚÍøµÄÊý¾Ý·Àй¶ϵͳ£¨DLP£©½øÐÐÊý¾ÝÌÓÒÝ£¬£¬£¬£¬£¬£¬£¬£¬¿Éµ¼ÖÂÃô¸ÐÊý¾Ýй¶£¬£¬£¬£¬£¬£¬£¬£¬²¢ÇҿɶÔÉ豸µØµãÄÚ²¿ÍøÂç½øÐÐɨÃ裬£¬£¬£¬£¬£¬£¬£¬ÉõÖÁÄܽٳÖÉ豸½øÐÐÉ¢²¼Ê½»Ø¾ø·þÎñ£¨DDOS£©¹¥»÷¡£¡£¡£¡£¡£¡£8827Ì«Ñô¼¯ÍÅADLabÒÔij¿îÖÇÄܵçÊÓ×÷Ϊ²âÊÔÖ¸±ê£¬£¬£¬£¬£¬£¬£¬£¬¶ÔCallStranger·ì϶µÄ·çÏÕÐÔ½øÐÐÁËÑÝʾ·ÖÎö¡£¡£¡£¡£¡£¡£
¶þ¡¢·ì϶ӰÏì
Óë֮ǰµÄUPnP·ì϶·ÖÆç£¬£¬£¬£¬£¬£¬£¬£¬CallStranger·ì϶´æÔÚÓÚºÍ̸Éè¼ÆÖУ¬£¬£¬£¬£¬£¬£¬£¬Òò¶ø¸Ã·ì϶ӰÏìÏÕЩËùÓÐÖ§³ÖUPnPµÄÉ豸£¬£¬£¬£¬£¬£¬£¬£¬Ô̺¬Windows 10ËùÓа汾¡¢Â·ÓÉÆ÷¡¢½Ó¼û½ÓÈëµã¡¢´òÓ¡»ú¡¢ÓÎÏ·»ú¡¢ÃÅÁå¶Ô½²»ú¡¢Ã½ÌåÀûÓ÷¨Ê½ºÍÉ豸¡¢ÉãÏñÍ·¡¢µçÊÓ»úµÈ¡£¡£¡£¡£¡£¡£Æ¾¾ÝSHODANºÍZoomEyeµÄËÑË÷Á˾֣¬£¬£¬£¬£¬£¬£¬£¬ÖÁÉÙº±¼ûÒÔ°ÙÍò¼ÆµÄÔÚÏßÉ豸Êܵ½Ó°Ïì¡£¡£¡£¡£¡£¡£
Èý¡¢·ì϶·ÖÎö
UPnPÈ«³ÆÎªUniversal Plug andPlay£¬£¬£¬£¬£¬£¬£¬£¬¼´Í¨Óü´²å¼´Ó㬣¬£¬£¬£¬£¬£¬£¬UPnPÔÊÐí¸÷ÀàÍøÂçÉ豸ÔÚûÓÐÈκÎÌØÊâÉèÖûòÅäÖõÄÇé¿öϽøÐÐͨѶ£¬£¬£¬£¬£¬£¬£¬£¬Ê¹É豸±Ë´Ë¿É×Ô¶¯ÏνӺÍÐͬ¹¤×÷¡£¡£¡£¡£¡£¡£ÀýÈçеĴòÓ¡»ú²åÉϵ粢ÏνÓÍøÂçÖ®ºó£¬£¬£¬£¬£¬£¬£¬£¬¾ÖÓòÍøÄÚµÄÍÆËã»ú¾Í֪·ÁË´òÓ¡»úµÄÐͺŵÈÐÅÏ¢£¬£¬£¬£¬£¬£¬£¬£¬·½±ã½øÐÐÇý¶¯×°Öᣡ£¡£¡£¡£¡£
ÔÚUPnPºÍ̸¹æ·¶ÖÐÓÐÒ»¸ö¼«¶È³ÁÒªµÄÖ°ÄÜÄ£¿£¿£¿£¿£¿£¿é£¬£¬£¬£¬£¬£¬£¬£¬½Ð×öÊÂÎñ(Eventing)¡£¡£¡£¡£¡£¡£ÔÚUPnP·þÎñ½øÐеŦ·òÄÚ£¬£¬£¬£¬£¬£¬£¬£¬Ö»ÓÐÉ豸ÓÃÓÚUPnP·þÎñµÄ±äÁ¿Öµ²úÉú±ä¶¯»òÕßģʽ²úÉúÁËŤת£¬£¬£¬£¬£¬£¬£¬£¬¾Í»á²úÉúÒ»¸öÊÂÎñ£¬£¬£¬£¬£¬£¬£¬£¬ËæÖ®ÏòÕû¸öÍøÂç½øÐй㲥¡£¡£¡£¡£¡£¡£»£»£»£»£»òÕßÓû§Äܹ»ÊÂÏÈÏòUPnPÉ豸·¢ËͶ©ÔÄÒªÇ󣬣¬£¬£¬£¬£¬£¬£¬±£ÕÏUPnPÉ豸ʵʱµØ½«ÊÂÎñ´«Ë͹ýÀ´¡£¡£¡£¡£¡£¡£
UPnP DeviceArchitecture 2.0[1]ÖйØÓÚUPnPµÄNTÓëCALLBACK¶©ÔÄÄ£¿£¿£¿£¿£¿£¿éÓÐÈçÏÂÌåʽ£º
publisher pathͨ³£Îª¶©ÔĵķþÎñ£¬£¬£¬£¬£¬£¬£¬£¬ÒÔGENAÌåʽ´æ·ÅÔÚÉ豸µÄij¸öXMLÎļþÖУ¬£¬£¬£¬£¬£¬£¬£¬ÀàËÆÏÂͼ¡£¡£¡£¡£¡£¡£
CALLBACKµÄֵͨ³£Îª»Øµ÷µØÖ·µÄURL¡£¡£¡£¡£¡£¡£NTÈ¡upnp:event°µÊ¾¶©ÔÄÊÂÎñ¡£¡£¡£¡£¡£¡£
UPnPºÍ̸¹æ·¶ÎĵµÖÐÌáµ½£ºCALLBACKÊDZØÌîÇøÓò£¬£¬£¬£¬£¬£¬£¬£¬ËùÌîÐÅϢΪ·¢ËÍÊÂÎñÐÅÏ¢µÄURL¡£¡£¡£¡£¡£¡£Í¨³£Çé¿öÏÂΪUPnP¹©¸øÉÌÖ¸¶¨¡£¡£¡£¡£¡£¡£ÈôÊÇÆäÖнç˵Á˲»Ö¹Ò»¸öURL£¬£¬£¬£¬£¬£¬£¬£¬É豸»á°´°¤´Î³¢ÊÔÏνӣ¬£¬£¬£¬£¬£¬£¬£¬Ö±µ½ÓÐÒ»¸öÏνӳɹ¦¡£¡£¡£¡£¡£¡£Ã¿¸öURLͨ³£ÎªHTTPºÍ̸(¼´Ç°×ºÎª¡±http://¡±)¡£¡£¡£¡£¡£¡£É豸²»µÃÒÔÈκη½Ê½½Ø¶ÏÕâЩURL¡£¡£¡£¡£¡£¡£ÈôÊÇÄÚ´æ²»¼°ÒÔ´æ´¢ËùÓеÄCALLBACK URL£¬£¬£¬£¬£¬£¬£¬£¬É豸»á»Ø¾ø¶©ÔÄ¡£¡£¡£¡£¡£¡£
Õû¸ö¶©ÔÄÁ÷³Ì»òÐíÄܹ»¼ò»¯ÈçÏÂͼ¡£¡£¡£¡£¡£¡£
ºÜÏÔÈ»£¬£¬£¬£¬£¬£¬£¬£¬¸ÃºÍ̸²¢Ã»ÓжÔCALLBACK´«ÈëµÄURL½øÐÐÏ޶Ⱥ͹淶£¬£¬£¬£¬£¬£¬£¬£¬Ò²¾ÍÊÇ˵£¬£¬£¬£¬£¬£¬£¬£¬CALLBACKURLÊǹ¥»÷Õ߿ɿصġ£¡£¡£¡£¡£¡£
ÏÂͼΪIntel UPnP SDKÖвé³CALLBACK URLµÄÓйشúÂ룬£¬£¬£¬£¬£¬£¬£¬create_url_listº¯Êý½ö½ö²é³ÁËURLÊÇ·ñºÏ·¨£¬£¬£¬£¬£¬£¬£¬£¬²¢Ã»ÓÐÈ·¶¨ÆäÊÇ·ñºÏÀí¡£¡£¡£¡£¡£¡£
ËÄ¡¢·ì϶·çÏÕ
CallStranger·ì϶ËùÔì³ÉµÄ·çÏÕÄܹ»·ÖÈý¸ö·½Ã棺DDoS¹¥»÷¡¢Êý¾ÝÌÓÒݺͶ˿ÚɨÃè¡£¡£¡£¡£¡£¡£ÆäÖÐÔì³ÉµÄDDoS¹¥»÷Äܹ»·ÖÁ½ÖÖ£¬£¬£¬£¬£¬£¬£¬£¬SYNºéË®¹¥»÷ºÍTCP·´Éä·Å´ó¹¥»÷£¬£¬£¬£¬£¬£¬£¬£¬ÈçÏÂͼËùʾ¡£¡£¡£¡£¡£¡£
4.1 SYNºéË®¹¥»÷
Èç¹ûÎÒÃÇÒѾͨ¹ýһЩ²½Öè(ÈçÔÚ¾ÖÓòÍø¹ã²¥µÈ)»ñµÃÁËijЩÉ豸UPnP·þÎñµÄeventSubURL£¬£¬£¬£¬£¬£¬£¬£¬ÏÂÃæ¾ÍÄܹ»ÏòUPnPÉ豸ÌáÒéÒ»Ïî¶©ÔÄ·þÎñ£¬£¬£¬£¬£¬£¬£¬£¬ÌåʽÈçÏÂ:
SUBSCRIBE eventSubURLHTTP/1.1
NT:upnp:enent
Callback: deliveryURL
Host: upnpÉ豸:upnp·þÎñ¶Ë¿Ú
ÈçǰÎĺÍ̸¹æ·¶ÖÐÌáµ½µÄ£¬£¬£¬£¬£¬£¬£¬£¬ÈôCALLBACL ValueÖнç˵Á˲»Ö¹Ò»¸öURL£¬£¬£¬£¬£¬£¬£¬£¬Ôò»á°´°¤´Î³¢ÊÔTCPÏνӣ¬£¬£¬£¬£¬£¬£¬£¬Ö±µ½ÓÐÒ»¸öÏνӳɹ¦¡£¡£¡£¡£¡£¡£ÄÇô¹¥»÷Õß¿ÉÔÚCALLBACK ValueÖо«ÐÄ»ú¹Ø¶à¸öURL£¬£¬£¬£¬£¬£¬£¬£¬Ê¹Ã¿Ò»¸ö¶¼ÎÞ·¨Ïνӳɹ¦£¬£¬£¬£¬£¬£¬£¬£¬ÕâÑùUPnPÉ豸¾Í»áÓöà¸öSYN°ü˳´Î¶Ôÿ¸öURL³¢ÊÔTCPÎÕÊÖ¡£¡£¡£¡£¡£¡£Èç¹û¹¥»÷ÕßÄܹ»²Ù¿ØºÃ¶à¸öÉ豸£¬£¬£¬£¬£¬£¬£¬£¬¾Í»áµ¼ÖÂÊܺ¦É豸Ôâ·êDDoS¹¥»÷¡£¡£¡£¡£¡£¡£
SYNÊý¾Ý°üµÄÊýÁ¿Æ¾¾ÝÉ豸²Ù×÷ϵͳºÍÅäÖÃµÄ·ÖÆç¶ø·ÖÆç£¬£¬£¬£¬£¬£¬£¬£¬ÀûÓÃÄ³Æ·ÅÆÖÇÄܵçÊÓ¶ÔÊܺ¦É豸½øÐÐSYNºéË®¹¥»÷²âÊÔ£¬£¬£¬£¬£¬£¬£¬£¬²âÊÔÁ˾ÖÈçÏÂͼËùʾ¡£¡£¡£¡£¡£¡£
¸ÃÖÇÄܵçÊÓÿÊÕµ½Ò»¸öCALLBACK Value¾Í»á·¢ËÍ8¸öSYNÊý¾Ý°ü³¢ÊÔÏνÓÊܺ¦É豸¡£¡£¡£¡£¡£¡£ÈôÎÒÃÇÿ¸öCALLBACKµÄURLֵΪ25×Ö½Ú£¬£¬£¬£¬£¬£¬£¬£¬ÄÇô´ø¿í·Å´óÒò×Ó±ãÄܹ»´ïµ½8*60/25=19.2¡£¡£¡£¡£¡£¡£ÓÉÓÚCALLBACK ValueµÄ¸öÊýÊÇûÓÐÏ޶ȵ쬣¬£¬£¬£¬£¬£¬£¬ËùÒÔÀíÂÛÉÏÊÇÄܹ»ÎÞÏÞ·Å´óµÄ¡£¡£¡£¡£¡£¡£
4.2 TCP·´Éä·Å´ó¹¥»÷
Windows Media PlayerÔÚ²¥·ÅÊÓÆµÊ±Ò²ÓÐÏàÓ¦µÄUPnP·þÎñ£¬£¬£¬£¬£¬£¬£¬£¬ÎÒÃÇ»ñÈ¡µ½µÄUPnP·þÎñÁбíÈçÏ£º
ÎÒÃǰÎÈ¡ÆäÖÐÒ»Ïî·þÎñÀ´²âÊÔһϡ£¡£¡£¡£¡£¡£¹¥»÷ÕßÖ»±ØÒª·¢ËÍ210×Ö½Ú¶©Ôİü£¬£¬£¬£¬£¬£¬£¬£¬ÈçÏÂͼ¡£¡£¡£¡£¡£¡£
Êܺ¦É豸֮ºó¾Í»áÊÕµ½½ü700×Ö½ÚµÄÊý¾Ý°ü£¬£¬£¬£¬£¬£¬£¬£¬·Å´óÒò×Ó´ïÈý±¶¶à¡£¡£¡£¡£¡£¡£Æä·Å´ó³ÉЧͨ³£ÓëUPnPÉ豸µÄ²Ù×÷ϵͳºÍ³§ÉÌÅäÖÃÓйء£¡£¡£¡£¡£¡£
4.3 Êý¾ÝÌÓÒÝ
ͨ³£Çé¿öÏ£¬£¬£¬£¬£¬£¬£¬£¬ÆóÒµÄÚ²¿ÍøÂç¶¼ÓÐ·ÖÆçµÄ°²È«µÈ¼¶»®·Ö¡£¡£¡£¡£¡£¡£µ±¹¥»÷ÕßÉøÈëµ½ÆóÒµÄÚÍøÊ±£¬£¬£¬£¬£¬£¬£¬£¬ÈôÄÚÍø¿ªÆôÊý¾Ýй¶·À»¤ÏµÍ³£¬£¬£¬£¬£¬£¬£¬£¬ÎÞ·¨½«»ñµÃµÄÃô¸ÐÊý¾Ý´«Êä³öÈ¥£¬£¬£¬£¬£¬£¬£¬£¬´ËʱUPnPÉ豸»áÊÇÒ»¸öºÜºÃµÄÌø°å¡£¡£¡£¡£¡£¡£
ÔÚRFC7230µÄ3.1.1½Ú[2]ÖУ¬£¬£¬£¬£¬£¬£¬£¬²¢Ã»ÓжÔRequest LineµÄ³¤¶È×öÈκÎÏÞ¶È£¬£¬£¬£¬£¬£¬£¬£¬ÕâʹµÃ¹¥»÷ÕßÄܹ»½«Êý¾Ýͨ¹ýCallbackµÄURLÖµ´«Êä³öÈ¥¡£¡£¡£¡£¡£¡£ÈçÏÂͼ£¬£¬£¬£¬£¬£¬£¬£¬Ä³Æ·ÅÆÖÇÄܵçÊÓÒ»´ÎÒªÇó¾Í´«ÊäÁË2500KBµÄÊý¾Ý¡£¡£¡£¡£¡£¡£
4.4 ¶Ë¿ÚɨÃè
ÈçǰÎÄÌáµ½µÄ£¬£¬£¬£¬£¬£¬£¬£¬ÈôCALLBACK½ç˵Á˲»Ö¹Ò»¸öURL£¬£¬£¬£¬£¬£¬£¬£¬Ôò»á°´°¤´Î³¢ÊÔTCPÏνӣ¬£¬£¬£¬£¬£¬£¬£¬Ö±µ½ÓÐÒ»¸ö³É¹¦£¬£¬£¬£¬£¬£¬£¬£¬ÄÇôÕâ¸ö¹æ¶¨ÏÔȻҲÄܹ»ÓÃÓÚ¶Ë¿ÚɨÃ裬£¬£¬£¬£¬£¬£¬£¬ÈçÏÂͼËùʾ£¬£¬£¬£¬£¬£¬£¬£¬Èç¹û¹¥»÷Õß±ØÒªÉ¨ÃèIPΪ192.168.1.13µÄ555¶Ë¿ÚÊÇ·ñ¿ªÆô£¬£¬£¬£¬£¬£¬£¬£¬ÄÇô¹¥»÷ÕßÖ»±ØÒª½«Ä³¸öÄܹ»¼à¿ØµÄURL¸éÖÃÔÚºó¼´¿ÉÈ·ÈÏ£¬£¬£¬£¬£¬£¬£¬£¬Èô¹¥»÷ÕßÊÕµ½ÏνÓÒªÇ󣬣¬£¬£¬£¬£¬£¬£¬Ôò¶Ë¿Ú먦Æô£¬£¬£¬£¬£¬£¬£¬£¬·´Ö®£¬£¬£¬£¬£¬£¬£¬£¬Ôò¿ªÆô¡£¡£¡£¡£¡£¡£
Îå¡¢·ì϶»º½â¼°½¨¸´
¿ÉѡȡÈçÏ´ëÊ©½øÐзì϶»º½â£º
²é³¿ÉÒÉÉ豸£¬£¬£¬£¬£¬£¬£¬£¬ÈôÊÇûÓбØÒª£¬£¬£¬£¬£¬£¬£¬£¬Ôò¹Ø¹ØUPnP¶Ë¿Ú¡£¡£¡£¡£¡£¡£
ÔÚÍø¹ØµÈÉ豸ÖÐÉó¼ÆNOTIFYHTTPÊý¾Ý°ü¡£¡£¡£¡£¡£¡£
ÔÚ×îиüеÄUPnPºÍ̸¹æ·¶[1]4.1.1½ÚÖУ¬£¬£¬£¬£¬£¬£¬£¬Äܹ»¿´³ö¿ª·¢ÕßÏÞ¶ÈÁ˶©ÔÄÊÂÎñµÄÔ´IPºÍÖ¸±êIP¶¼±ØÐëÔÚÄÚÍøÖУ¬£¬£¬£¬£¬£¬£¬£¬Õâ´Ó¿Ï¶¨Ë®Æ½ÉϽ¨¸´Á˸÷ì϶¡£¡£¡£¡£¡£¡£
²Î¿¼Á´½Ó£º
[1]https://openconnectivity.org/upnp-specs/UPnP-arch-DeviceArchitecture-v2.0-20200417.pdf
[2]https://tools.ietf.org/html/rfc7230#section-3.1.1
[3]https://delaat.net/rp/2008-2009/p26/report.pdf
[4]https://kb.cert.org/vuls/id/339275
[5]https://zh-cn.tenable.com/blog/cve-2020-12695-callstranger-vulnerability-in-universal-plug-and-play-upnp-puts-billions-of
[6]https://www.youtube.com/watch?v=hJSxDHPyTBE
8827Ì«Ñô¼¯ÍÅ»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©
ADLab³ÉÁ¢ÓÚ1999Ä꣬£¬£¬£¬£¬£¬£¬£¬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬£¬£¬£¬£¬£¬£¬£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬£¬£¬£¬£¬£¬£¬£¬¡°ºÚȸ¹¥»÷¡±¸ÅÏëÊ×ÍÆÕß¡£¡£¡£¡£¡£¡£½ØÖ¹Ä¿Ç°£¬£¬£¬£¬£¬£¬£¬£¬ADLabÒÑͨ¹ýCVEÀۼư䲼°²È«·ì϶1000Óà¸ö£¬£¬£¬£¬£¬£¬£¬£¬Í¨¹ý CNVD/CNNVDÀۼư䲼°²È«·ì϶800Óà¸ö£¬£¬£¬£¬£¬£¬£¬£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼¡£¡£¡£¡£¡£¡£³¢ÊÔÊÒ×êÑз½Ïòº¸Ç²Ù×÷ϵͳÓëÀûÓÃϵͳ°²È«×êÑÓ×¢ÒÆ¶¯ÖÇÄÜÖն˰²È«×êÑÓ×¢ÎïÁªÍøÖÇÄÜÉ豸°²È«×êÑÓ×¢Web°²È«×êÑÓ×¢¹¤¿ØÏµÍ³°²È«×êÑÓ×¢ÔÆ°²È«×êÑС£¡£¡£¡£¡£¡£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÓ×¢¹ú¶È³Áµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨Òµ°²È«·þÎñµÈ¡£¡£¡£¡£¡£¡£


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