LPE на казенном макбуке. Злоупотребляем установкой VS Code для локального повышения привилегий - «Новости» » Самоучитель CSS
Меню
Наши новости
Учебник CSS

Невозможно отучить людей изучать самые ненужные предметы.

Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3

Надо знать обо всем понемножку, но все о немногом.

Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы

Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)

Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода

Самоучитель CSS

Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5

Новости

Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости

Справочник CSS

Справочник от А до Я
HTML, CSS, JavaScript

Афоризмы

Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы

Видео Уроки


Наш опрос



Наши новости

       
10-10-2023, 08:16
LPE на казенном макбуке. Злоупотребляем установкой VS Code для локального повышения привилегий - «Новости»
Рейтинг:
Категория: Новости

Pentest Award — пре­мии для спе­циалис­тов по тес­тирова­нию на про­ник­новение, которую учре­дила ком­пания Awillix. Мы пуб­лику­ем луч­шие работы из каж­дой номина­ции. Эта статья заняла третье мес­то в номина­ции «Ловись, рыб­ка», пос­вящен­ной фишин­гу.

Этот спо­соб мы при­мени­ли по заказу одно­го очень круп­ного рос­сий­ско­го хол­динга в ходе ком­плексной опе­рации Red Team. Заказ­чик нас­тоял на реали­зации сле­дующе­го сце­нария: нас «устра­ивают» в ком­панию по сог­ласован­ной леген­де как внеш­них сот­рудни­ков на уда­лен­ке с выдан­ным MacBook в качес­тве рабоче­го ноута.


Читайте также - Компания «Мастер духовок» оказывает профилактическое сервисное обслуживание и ремонт духовых шкафов на дому. На вызов приезжают высококвалифицированные мастера - Ремонт духовых шкафов bosch по доступным ценам.

Так как при­виле­гии обыч­ных сот­рудни­ков на «маках» в орга­низа­ции силь­но уре­заны, обра­щения к тех­поддер­жке по боль­шей час­ти сос­тоят из писем вро­де «админ, помоги мне уста­новить такую‑то прог­рамму». Из это­го родилась идея вос­поль­зовать­ся этой осо­бен­ностью рабоче­го про­цес­са для повыше­ния при­виле­гий на «маке» до рута и заполу­чить слу­жеб­ную учет­ку из /etc/krb5.keytab для раз­вития даль­нейших атак на AD.


 

Спуфим диалог аутентификации


В паб­лике есть ма­нуал по написа­нию вре­донос­ного рас­ширения, которое уме­ет само стар­товать при запус­ке VS Code и све­тить назой­ливым окном в гла­за ненавис­тно­му адми­ну, клян­ча его пароль.


Дос­тоинс­тво это­го метода в том, что мож­но получить кре­ды при­виле­гиро­ван­ной учет­ки в откры­том виде. Рас­ширение пишет­ся в поль­зователь­скую дирек­торию ~/.vscode, поэто­му, даже если у адми­на сто­ит чис­тый VS Code, запуск модуль­ного окна сох­ранит­ся.


Не­дос­таток в том, что надо пой­мать очень уставше­го адми­на, что­бы пред­при­ятие взле­тело, — диало­говое окно рису­ется с помощью AppleScript, поэто­му выг­лядит весь­ма хал­турно и серь­езно отли­чает­ся от встро­енных окон зап­роса рас­ширен­ных при­виле­гий. В свя­зи с этим мы решили най­ти дру­гой спо­соб абь­юзить VS Code.


 

Модифицируем VS Code


Нес­мотря на то что VS Code мож­но запус­кать с при­виле­гиями поль­зовате­ля, внут­ри есть допол­нитель­ные фун­кции, которые тре­буют прав адми­нис­тра­тора. Нап­ример, ин­тегра­ция коман­ды code в кон­соль (для это­го вно­сят­ся изме­нения в сис­темный PATH). В VS Code это дела­ется коман­дой из Command Palette (Command-Shift-P).


Хо­тя раз­работ­чики Code нас­тоятель­но не рекомен­дуют изме­нять встро­енные сис­темные коман­ды, хакеры любят жить опас­но, поэто­му спо­соб есть.


Греп­нув каталог с VS Code по стро­ке command in PATH, най­дем отсылку к JS-фун­кции installCommandLine:



$ pwd
/Applications/Visual Studio Code.app


$ grep -r 'command in PATH'
./Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:... class S extends I.Action2{constructor() {super({id:"workbench.action.installCommandLine",title:{value:(0,t.localize)(1,null,L.default.applicationName),original:Install '${L.default.applicationName}' command in PATH} ...



Да­лее, греп­нув по installCommandLine, най­дем само тело исполня­емой коман­ды.



$ grep -r 'installShellCommand'
./Contents/Resources/app/out/vs/code/electron-main/main.js:... async installShellCommand(T){const{source:U,target:H}=await this.n();try{const{symbolicLink:re}=await p.SymlinkSupport.stat(U);if(re&&!re.dangling){const Y=await(0,u.realpath) (U);if(H===Y)return}await p.Promises.unlink(U)}catch(re){if(re.code!=="ENOENT")throw re}try{await p.Promises.symlink(H,U)}catch(re) {if(re.code!=="EACCES"&&re.code!=="ENOENT")throw re;const{response:Y}=await this.showMessageBox(T,{type:"info",message:(0,y.localize) (0,null,this.h.nameShort),buttons:[(0,y.localize)(1,null),(0,y.localize)(2,null)]});if(Y===0)try{const ne=osascript -e "do shell script "mkdir -p /usr/local/bin && ln -sf '${H}' '${U}'" with administrator privileges";await(0,O.promisify)(E.exec) (ne)}catch{throw new Error((0,y.localize)(3,null,U))}}} ...



Как видишь, нич­то не меша­ет нам добавить собс­твен­ное дей­ствие к коман­де osascript, но надо при­думать, что имен­но мы можем сде­лать для сох­ранения и пос­леду­юще­го вос­ста­нов­ления при­виле­гиро­ван­ного дос­тупа.


&ln -sf '${H}'${U}'"with administrator privileges"

Курс Offensive Security «EXP-312: Advanced macOS Control Bypasses» пред­лага­ет изме­нить нас­трой­ки PAM-модуля (а имен­но переч­ня обя­затель­ных кри­тери­ев при аутен­тифика­ции через sudo), что­бы имперсо­ниро­вать root без пароля. Это дела­ется с помощью изме­нения фай­ла нас­тро­ек /etc/pam.d/sudo.


К сожале­нию, этот спо­соб не взле­тел в macOS 13.2.1, пос­коль­ку теперь недос­таточ­но быть рутом, что­бы менять содер­жимое чувс­тви­тель­ных фай­лов на дис­ке (все, что свя­зано с кре­дами и аутен­тифика­цией). Для это­го у про­цес­са, который зап­рашива­ет такие изме­нения, дол­жна быть при­виле­гия Full Disk Access, которая навеши­вает­ся толь­ко через GUI.


Pentest Award — пре­мии для спе­циалис­тов по тес­тирова­нию на про­ник­новение, которую учре­дила ком­пания Awillix. Мы пуб­лику­ем луч­шие работы из каж­дой номина­ции. Эта статья заняла третье мес­то в номина­ции «Ловись, рыб­ка», пос­вящен­ной фишин­гу. Этот спо­соб мы при­мени­ли по заказу одно­го очень круп­ного рос­сий­ско­го хол­динга в ходе ком­плексной опе­рации Red Team. Заказ­чик нас­тоял на реали­зации сле­дующе­го сце­нария: нас «устра­ивают» в ком­панию по сог­ласован­ной леген­де как внеш­них сот­рудни­ков на уда­лен­ке с выдан­ным MacBook в качес­тве рабоче­го ноута. Читайте также - Компания «Мастер духовок» оказывает профилактическое сервисное обслуживание и ремонт духовых шкафов на дому. На вызов приезжают высококвалифицированные мастера - Ремонт духовых шкафов bosch по доступным ценам. Так как при­виле­гии обыч­ных сот­рудни­ков на «маках» в орга­низа­ции силь­но уре­заны, обра­щения к тех­поддер­жке по боль­шей час­ти сос­тоят из писем вро­де «админ, помоги мне уста­новить такую‑то прог­рамму». Из это­го родилась идея вос­поль­зовать­ся этой осо­бен­ностью рабоче­го про­цес­са для повыше­ния при­виле­гий на «маке» до рута и заполу­чить слу­жеб­ную учет­ку из /etc/krb5.keytab для раз­вития даль­нейших атак на AD. Спуфим диалог аутентификации В паб­лике есть ма­нуал по написа­нию вре­донос­ного рас­ширения, которое уме­ет само стар­товать при запус­ке VS Code и све­тить назой­ливым окном в гла­за ненавис­тно­му адми­ну, клян­ча его пароль. Дос­тоинс­тво это­го метода в том, что мож­но получить кре­ды при­виле­гиро­ван­ной учет­ки в откры­том виде. Рас­ширение пишет­ся в поль­зователь­скую дирек­торию ~/.vscode, поэто­му, даже если у адми­на сто­ит чис­тый VS Code, запуск модуль­ного окна сох­ранит­ся. Не­дос­таток в том, что надо пой­мать очень уставше­го адми­на, что­бы пред­при­ятие взле­тело, — диало­говое окно рису­ется с помощью AppleScript, поэто­му выг­лядит весь­ма хал­турно и серь­езно отли­чает­ся от встро­енных окон зап­роса рас­ширен­ных при­виле­гий. В свя­зи с этим мы решили най­ти дру­гой спо­соб абь­юзить VS Code. Модифицируем VS Code Нес­мотря на то что VS Code мож­но запус­кать с при­виле­гиями поль­зовате­ля, внут­ри есть допол­нитель­ные фун­кции, которые тре­буют прав адми­нис­тра­тора. Нап­ример, ин­тегра­ция коман­ды code в кон­соль (для это­го вно­сят­ся изме­нения в сис­темный PATH). В VS Code это дела­ется коман­дой из Command Palette (Command-Shift-P). Хо­тя раз­работ­чики Code нас­тоятель­но не рекомен­дуют изме­нять встро­енные сис­темные коман­ды, хакеры любят жить опас­но, поэто­му спо­соб есть. Греп­нув каталог с VS Code по стро­ке command in PATH, най­дем отсылку к JS-фун­кции installCommandLine: $ pwd /Applications/Visual Studio Code.app $ grep -r 'command in PATH' ./Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:. class S extends I.Action2_

Теги: CSS

Просмотров: 292
Комментариев: 0:   10-10-2023, 08:16
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 
Еще новости по теме:



Другие новости по теме: