- Регистрация
- 9 Май 2015
- Сообщения
- 1,549
- Баллы
- 155
Сегодня я продемонстрирую эксплуатацию уязвимости в популярной библиотеке TensorFlow. Это позволит нам исполнять команды на сервере, чем мы и воспользуемся, чтобы получить учетные данные, а затем повысить привилегии через оболочку Backrest для restic backup.
Наша цель — получение прав суперпользователя на машине Artificial с учебной площадки . Уровень задания — легкий.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.74 artificial.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер нашел два открытых порта:
Единственная точка входа — сайт на 80-м порте.
Главная страница сайта
Точка входа
На сайте можно зарегистрироваться — обязательно сделаем это, чтобы увеличить поверхность атаки. На главной странице авторизованного пользователя нас встретит форма загрузки файлов.
Форма загрузки файлов
Эта форма служит для загрузки модели ИИ. Чтобы создать необходимое окружение для сборки модели, нам предоставляют файл requirements, а также готовый Dockerfile.
Содержимое файла requirements.txt
Содержимое Dockerfile
В requirements.txt указана версия пакета tensorflow-cpu для Python. Первым делом стоит проверить, есть ли для этой версии библиотеки готовые эксплоиты. Обычно достаточно просто поискать в Google.
Поиск эксплоитов в Google
Наша цель — получение прав суперпользователя на машине Artificial с учебной площадки . Уровень задания — легкий.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /etc/hosts:
10.10.11.74 artificial.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '
' ',' | sed s/,$//)
nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A).
Результат работы скрипта
Сканер нашел два открытых порта:
- 22 — служба OpenSSH 8.2p1;
- 80 — веб‑сервер Nginx 1.18.0.
Единственная точка входа — сайт на 80-м порте.
Главная страница сайта
Точка входа
На сайте можно зарегистрироваться — обязательно сделаем это, чтобы увеличить поверхность атаки. На главной странице авторизованного пользователя нас встретит форма загрузки файлов.
Форма загрузки файлов
Эта форма служит для загрузки модели ИИ. Чтобы создать необходимое окружение для сборки модели, нам предоставляют файл requirements, а также готовый Dockerfile.
Содержимое файла requirements.txt
Содержимое Dockerfile
В requirements.txt указана версия пакета tensorflow-cpu для Python. Первым делом стоит проверить, есть ли для этой версии библиотеки готовые эксплоиты. Обычно достаточно просто поискать в Google.
Поиск эксплоитов в Google
Источник: