Атака Cable Haunt, якая дазваляе атрымаць кантроль за кабельнымі мадэмамі

Даследчыкі бяспекі з кампаніі Lyrebirds раскрылі звесткі аб уразлівасці (CVE-2019-19494) у кабельных мадэмах на базе чыпаў Broadcom, якая дазваляе атрымаць поўны кантроль за прыладай. Па здагадцы даследнікаў праблеме схільныя каля 200 мільёнаў прылад у Еўропе, якія ўжываюцца рознымі кабельнымі аператарамі. Для праверкі свайго мадэма падрыхтаваны скрыпт, які ацэньвае актыўнасць праблемнага сэрвісу, а таксама працоўны прататып эксплоіта для здзяйснення нападу пры адкрыцці ў браўзэры карыстача адмыслова аформленай старонкі.

Праблема выклікана перапаўненнем буфера ў сэрвісе, які прадстаўляе доступ да дадзеных спектральнага аналізатара, які дазваляе аператарам дыягнаставаць праблемы і ўлічваць узровень перашкод пры кабельным падключэнні. Сэрвіс апрацоўвае запыты праз jsonrpc і прымае злучэнні толькі ва ўнутранай сетцы. Эксплуатацыя ўразлівасці ў сэрвісе апынулася магчымая дзякуючы двум фактарам - сэрвіс не быў абаронены ад ужывання тэхнікі.DNS rebinding» з-за некарэктнага выкарыстання WebSocket і ў большасці выпадкаў падаваў доступ на аснове перадвызначанага інжынернага пароля, агульнага для ўсіх прылад мадэльнага шэрагу (спектральны аналізатар з'яўляецца асобным сэрвісам на сваім сеткавым порце (звычайна 8080 ці 6080) са сваім інжынерным паролем доступу, які не перасякаецца з паролем ад web-інтэрфейсу адміністратара).

Тэхніка «DNS rebinding» дазваляе пры адкрыцці карыстачом вызначанай старонкі ў браўзэры ўсталяваць WebSocket-злучэнне з сеткавым сэрвісам ва ўнутранай сетцы, недаступным для прамога звароту праз інтэрнэт. Для абыходу прымяняецца ў браўзэрах абароны ад выхаду за межы вобласці бягучага дамена (cross-origin) ужываецца змена імя хаста ў DNS - на DNS-серверы атакавалых наладжваецца па чарзе аддача двух IP-адрасоў: на першы запыт аддаецца рэальны IP сервера са старонкай, а затым вяртаецца ўнутраны адрас прылады (напрыклад, 192.168.10.1). Час жыцця (TTL) для першага адказу выстаўляецца ў мінімальнае значэнне, таму пры адкрыцці старонкі браўзэр вызначае рэальны IP сервера атакавалага і загружае змесціва старонкі. На старонцы запускаецца JavaScript-код, які чакае заканчэння TTL і адпраўляе другі запыт, які зараз вызначае хост як 192.168.10.1, што дазваляе з JavaScript звярнуцца да сэрвісу ўсярэдзіне лакальнай сеткі, абышоўшы абмежаванне cross-origin.

Пасля атрымання магчымасці адпраўкі запыту да мадэма, атакавалы можа эксплуатаваць перапаўненне буфера ў апрацоўшчыку спектральнага аналізатара, якое дазваляе дамагчыся выкананні кода з правамі root на ўзроўні прашыўкі. Пасля гэтага атакавалы атрымлівае поўны кантроль над прыладай, які дазваляе змяніць любыя налады (напрыклад, падмяняць DNS-адказы праз перанакіраванне DNS на свой сервер), адключыць абнаўленне прашыўкі, падмяніць прашыўку, перанакіраваць трафік ці ўклінавацца ў сеткавыя злучэнні (MiTM).

Уразлівасць прысутнічае ў тыпавым апрацоўшчыку Broadcom, які выкарыстоўваецца ў прашыўках кабельных мадэмаў розных вытворцаў. У працэсе разбору паступаючых праз WebSocket запытаў у фармаце JSON, з-за неналежнай праверкі дадзеных хвост паказаных у запыце параметраў можа быць запісаны ў вобласць за межамі вылучанага буфера і перапісаць частку стэка, у тым ліку, адрас звароту і захаваныя значэнні рэгістраў.

У наш час уразлівасць пацверджана ў наступных прыладах, якія былі даступныя для вывучэння падчас даследаванняў:

  • Sagemcom F@st 3890, 3686;
  • NETGEAR CG3700EMR, C6250EMR, CM1000;
  • Technicolor TC7230, TC4400;
  • COMPAL 7284E, 7486E;
  • Surfboard SB8200.

Крыніца: opennet.ru

Дадаць каментар