
Fike
19.04.2017
09:19:21
тип пользователь переключил и все по гайдлайнам, кокой я секьюрный )))
еще раз, если он может доставить, значит он уже выполняет код в твоем контейнере

Bogdan (SirEdvin)
19.04.2017
09:24:23
Ну, скажем, шанс того что вражеский бот просто получает рут доступ и через apt-get ставит пакет с експлойтом выше, чем он будет пытатся скачать все нужные либы

Fike
19.04.2017
09:24:33
зачем ему пакет с эксплойтом

Google

Fike
19.04.2017
09:24:36
он уже у тебя внутри

Bogdan (SirEdvin)
19.04.2017
09:24:43
Или, скажем, как быть, если експлойт именно в том, что нужно подкинуть или заменить либу
Но он этого не может сделать

Fike
19.04.2017
09:24:52
ставить пакет через apt - это вообще что-то за гранью
где я могу подключиться к этой репе?
apt.viruses.net?

Bogdan (SirEdvin)
19.04.2017
09:31:22
Предположим, старая версия libc, в которой есть баги. Почему бы и нет?

Fike
19.04.2017
09:31:55
зачем ему пакет с эксплойтом
он уже у тебя внутри
только в апте не будет старой версии с багами

Bogdan (SirEdvin)
19.04.2017
09:40:19
И какой он профит может получить от того, что он внутри контейнера с nginx, с ограниченными правами? Причем так, что бы не особо спалится?

Fike
19.04.2017
09:41:47
я могу еще раз сфорвардить все выше

Google

Fike
19.04.2017
09:41:58
никакого, как и при доступе от рута
если он внутри, значит он выполнил свой код через nginx
значит, он уже видит все, ради чего создавался контейнер

Andrey
19.04.2017
09:52:13
при правильном логгировании попытка выполнения чего-либо из под рута в контейнера со специфичной ролью будет достаточно быстро обнаружена


Fike
19.04.2017
09:52:33
што
Короче, контейнер может светиться наружу только за счет портов. Чтобы что-то сделать внутри, злоумышленнику необходимо либо иметь доступ к хосту, в случае чего все эти ужимки вообще бесполезны, либо внедряться прямо в железо, чем не будет заниматься никто на свете, либо атаковать через порт. Через порт он может сделать всего две вещи - авторизоваться, если это какой-то сервис, выполняющий команды, либо так или иначе вызвать исполнение кода. Если он каким-либо образом исполнил свой код, то можете считать контейнер потерянным. Рут или не рут здесь уже не имеет никакой разницы, потому что всю ту блевню, о которой вы узнали с php-форумов с заливкой исполняемых файлов ему применять не надо - он уже получил контроль над процессом внутри и может делать, что хочет. Безусловно, есть кейсы, когда он все-таки захочет изменить что-то внутри, но защищаться от этого - это как ставить замок на дверь, оставляя открытыми окна.
Ну, точнее, через порт он еще может увидеть всякую штуку, которую не должен был увидеть, как в той уязвиомсти с tls было. Но тут вам рут тоже вообще ничем не поможет.
С учетом того, что в контейнер поверх базового слоя вы пихаете только то, что нужно самому процессу для работы, все это процесс гарантированно будет видеть и защищать от чтения это вообще бесполезно, потому что, ну, процессу все это нужно для работы и он опять же должен все это видеть.
Поэтому настойчиво рекомендую перестать заниматься блевней и включать голову вместо методичного подбора конкретного айдишника группы и извращений с маунтами.


Bogdan (SirEdvin)
19.04.2017
10:16:21
Короче, контейнер может светиться наружу только за счет портов. Чтобы что-то сделать внутри, злоумышленнику необходимо либо иметь доступ к хосту, в случае чего все эти ужимки вообще бесполезны, либо внедряться прямо в железо, чем не будет заниматься никто на свете, либо атаковать через порт. Через порт он может сделать всего две вещи - авторизоваться, если это какой-то сервис, выполняющий команды, либо так или иначе вызвать исполнение кода. Если он каким-либо образом исполнил свой код, то можете считать контейнер потерянным. Рут или не рут здесь уже не имеет никакой разницы, потому что всю ту блевню, о которой вы узнали с php-форумов с заливкой исполняемых файлов ему применять не надо - он уже получил контроль над процессом внутри и может делать, что хочет. Безусловно, есть кейсы, когда он все-таки захочет изменить что-то внутри, но защищаться от этого - это как ставить замок на дверь, оставляя открытыми окна.
А как насчет таких штук: http://www.securitylab.ru/vulnerability/425794.php ?


Denis
19.04.2017
10:25:06
В проекте Docker изменения — большую часть компонентов выделили в проект Moby, который дальше будет развиваться как конструктор для построения дистрибутивов на базе нынешних компонентов docker. Само название Docker останется за фирменной сборкой от производителя: http://amp.gs/t7Np
Одновременно объявили о выходе LinuxKit — инструменте для создания образов виртуальных машин, наподобие Packer от Hashicorp: http://amp.gs/t7Nl

Fike
19.04.2017
10:28:38

Bogdan (SirEdvin)
19.04.2017
10:28:58
Последствия выполнения произвольного кода будут слабее?

Fike
19.04.2017
10:29:12
not that shit again
какие последствия?
я просто слышу какие-то слова, за которыми не скрывается ничего конкретного
/etc/passwd прочтут? мы про это говорили уже

Bogdan (SirEdvin)
19.04.2017
10:31:42
Ну вот у тебя пользователь www-data в целом не может ничего, кроме чтения определенных файлов.
А root пользователь в целом может в контейнере все.
Что правда нет разницы?

Fike
19.04.2017
10:31:53
неа
у тебя в контейнере работает один процесс

Google

Fike
19.04.2017
10:32:07
потерян процесс - потеряно все
он и так видит все, что есть в контейнере
на новый круг пошли короче

Bogdan (SirEdvin)
19.04.2017
10:32:34
Из последнего веселого, что у меня было, поменяли часть стандартных команд на експлойты (ps, top и прочее).

Fike
19.04.2017
10:32:43
ps применили!1111

Bogdan (SirEdvin)
19.04.2017
10:32:45
Процесс не может модифицировать окружение, если он с ограниченынми правами

Fike
19.04.2017
10:32:50
без рута-то никак не применить
дак а зачем ему модифицировать
ему процесс интересно захватить
это на обычном хосте интересно поиграться, хватить натягивать здесь классическую мдель-то

Bogdan (SirEdvin)
19.04.2017
10:34:04
Ну окей

Bogdan (SirEdvin)
19.04.2017
10:34:55
Но вот только появится експойлт для docker по тому, как вылезти из контейнера с правами пользователя, тогда заговорим)

Fike
19.04.2017
10:35:02
пиздец
давай все-таки сначала он вылезет, а потом уже будем говорить
пользователи - это самая минимальная модель изоляции
но мы же мать его в контейнере
он сам по себе изолирован от всего остального

Bogdan (SirEdvin)
19.04.2017
10:36:48
Ну, например https://github.com/gabrtv/shocker/blob/master/README.md

Google

Fike
19.04.2017
10:37:24
Exploit fails on Docker 0.12:
уже бегу забирать свои слова назад

Bogdan (SirEdvin)
19.04.2017
10:38:22
Прецендент был? Что мешает ему произойти еще раз?

Fike
19.04.2017
10:38:34
что его закрыли?

Bogdan (SirEdvin)
19.04.2017
10:39:00
Я понимаю, что эта магия с пользователями не должна быть в списке "топ 5 штук для секьюрити контейнера", но подумать об этом стоит.

Admin
ERROR: S client not available

Bo0oM
19.04.2017
10:39:43
че там у вас

Fike
19.04.2017
10:39:50
бомбит
давайте все-таки воздержимся от заявлений "ну найдут еще один"

Bo0oM
19.04.2017
10:40:13
Докер покинуть можно с помощью dirty cow например
И скорее всего от других LPE штук
Если вы об этом

Fike
19.04.2017
10:41:30
там без разницы какой пользователь внутри контейнера

Bogdan (SirEdvin)
19.04.2017
10:42:58
Хм, а что насчет такого: не root пользователь не сможет заменить исполняемый файл внутри контейнера, если все правильно настроить?

Fike
19.04.2017
10:43:37
еще раз
он пробрался к тебе в процесс
ему не нужно его заменять
да, ему придется повторять процедуру при рестарте контейнера
но скорее всего он и повторять ее не захочет, получив все в первый же заход

Google

Bogdan (SirEdvin)
19.04.2017
10:48:10
Разве? Вот я злоумышленник, моя задача - воровство ваших данных.
Мне гораздо удобнее, логичнее и разумнее подменить приложение, что бы оно отсылало мне данные, чем каждую неделю их у вас выкачивать
Причем то, что я каждую неделю буду выкачивать данные будет заметно, если вы мониторите траффик
А если я буду понемного выкачить себе бд, можно будет и не заметить

Fike
19.04.2017
11:10:32
боже

Alexander
19.04.2017
11:10:51
вы чего-то спутали привилегированные и непривилегированные контейнеры, если я правильно суть уловил

Fike
19.04.2017
11:11:00
я в этот момент прыгну прямо к базе данных и буду развлекаться уже с ней

Alexander
19.04.2017
11:13:05
ну раз там про пользователя внутри контейнера заспорили
"processes are running inside the container as root but are not appearing as root but as 100000 from the host."

Fike
19.04.2017
11:13:28
вот именно что внутри

Alexander
19.04.2017
11:15:32
к вопросу о безопасности: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2016/june/abusing-privileged-and-unprivileged-linux-containers/

Евгений
19.04.2017
12:39:12
Всем привет, кто нибдуь собирают аппаратную загрузку внутри докера, например с помощью sar? есть какие проблемы или сложности с этим?

Dmitry
19.04.2017
13:21:53
NodeExporter
от Prometheus

Евгений
19.04.2017
13:25:11
Есть какие то преимущества от sar?