Уведена је нова техника за искоришћавање рањивости у СКЛите-у.

Истраживачи из Цхецк Поинт-а откривена на ДЕФ ЦОН конференцији, детаљи нове технике за напад на апликације које користе рањиве верзије СКЛите-а. Метод Цхецк Поинт разматра датотеке базе података као прилику за интеграцију сценарија за искоришћавање рањивости у различитим интерним СКЛите подсистемима који се не могу директно искоришћавати. Истраживачи су такође припремили технику за искоришћавање рањивости тако што су експлоатацију кодирали у облику ланца СЕЛЕЦТ упита у СКЛите бази података, што вам омогућава да заобиђете АСЛР.

За успешан напад, неопходно је да будете у могућности да модификујете датотеке базе података нападнутих апликација, што ограничава метод на нападе на апликације које користе СКЛите базу података као формат за транзит и улазне податке. Метода се такође може користити за проширење постојећег локалног приступа, на пример, за интегрисање скривених бацкдоор-а у коришћене апликације, као и за заобилажење безбедносних механизама када истраживачи безбедности анализирају малвер. Операција након замене датотеке се спроводи у тренутку када апликација изврши први СЕЛЕЦТ упит према табели у модификованој бази података.

Као пример, демонстрирали смо могућност покретања кода у иОС-у приликом отварања адресара, фајл са базом података „АддрессБоок.склитедб” је модификован коришћењем предложеног метода. Напад је користио рањивост у функцији фтс3_токенизер (ЦВЕ-2019-8602, могућност дереференцирања показивача), поправљену у априлском ажурирању СКЛите 2.28, заједно са још једним рањивост у имплементацији прозорских функција. Поред тога, демонстрирана је употреба методе за даљинско преузимање контроле над сервером нападача написаном у ПХП-у, који акумулира лозинке пресретнуте током рада злонамерног кода (пресретнуте лозинке су пренете у облику СКЛите базе података).

Метода напада је заснована на употреби две технике „Отмица упита“ и „Програмирање оријентисано на упите“, које омогућавају искоришћавање произвољних проблема који доводе до оштећења меморије у СКЛите машини. Суштина „Отете упита“ је да се замени садржај поља „скл“ у табели услуге склите_мастер, која одређује структуру базе података. Наведено поље садржи ДДЛ (Језик дефиниције података) блок који се користи за описивање структуре објеката у бази података. Опис је специфициран коришћењем стандардне СКЛ синтаксе, тј. користи се конструкција „ЦРЕАТЕ ТАБЛЕ“,
који се извршава током процеса иницијализације базе података (током првог покретања
склите3ЛоцатеТабле функције за креирање унутрашњих структура повезаних са табелама у меморији.

Идеја је да, као резултат замене „ЦРЕАТЕ ТАБЛЕ“ са „ЦРЕАТЕ ВИЕВ“, постане могуће контролисати сваки приступ бази података дефинисањем сопственог погледа. Коришћењем "ЦРЕАТЕ ВИЕВ" операција "СЕЛЕЦТ" је везана за табелу, која ће бити позвана уместо "ЦРЕАТЕ ТАБЛЕ" и омогућава вам приступ различитим деловима СКЛите интерпретера. Следећи, најједноставнији метод напада би био позивање функције „лоад_ектенсион“, која вам омогућава да учитате произвољну библиотеку са екстензијом, али је ова функција подразумевано онемогућена.

За извођење напада када је могуће извршити операцију „СЕЛЕЦТ“, предлаже се техника „Програмирање оријентисано на упите“, која омогућава да се искористе проблеми у СКЛите-у који доводе до оштећења меморије. Техника подсећа на програмирање оријентисано на повратак (РОП, програмирање оријентисано на повратак), али не користи постојеће исечке машинског кода за изградњу ланца позива („гаџета“), већ умеће у скуп потупита унутар СЕЛЕЦТ.

Уведена је нова техника за искоришћавање рањивости у СКЛите-у.

Уведена је нова техника за искоришћавање рањивости у СКЛите-у.

Извор: опеннет.ру

Додај коментар