Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
ssh в sql, альтернативный доступ |

19.03.2009, 10:44
|
|
Познающий
Регистрация: 27.12.2006
Сообщений: 37
Провел на форуме: 1253202
Репутация:
133
|
|
ssh в sql, альтернативный доступ
Очередной безбашенной ночью задумал распотрошить некий сайтик ( назовём его zalupa.com ). В процессе выяснилось, что сайт самописный и так просто сдаваться не хочет. Однако в движке Zalupa.ru всё же нашелся уязвимый параметр, позволяющий проводить sql инъекции. Благодаря ей было выявлено, что:
- Версия БД mysql 4.2-log (?ld=-1+union+select+1,2,version(),4/*)
- Скрипт работал с БД от имени пользователя chelsi
- Права пользователя в БД выставлены грамотно и не позволяли просматривать другие базы.
- Была возможность читать файлы, и включены magic_quotes
- Стоял никсовый сервер, это видно из версии mysql.
По стандартным путям файл конфигурации web сервера найти не удалось. Попытка определения полного пути до сайта, так же не увенчалась успехом. Но гениальные мысли бывают. Немного подумав, пришла в голову шальная мысль – «А что если прочитать файл таблицы mysql.user физически?». База mysql хранилась по дефолтовому пути в /var/lib/mysql/, в чем можно было убедиться, прочитав passwd.
Получился запрос:union+select+1,2, LOAD_FILE(0x2F7661722F6C69622F6D7973716C2F6D797371 6C2F757365722E6D7964),4/* Таким макаром был прочтен файл с данными таблицы mysql.user ( /var/lib/mysql/mysql/user.myd) и вытащен хеш пароля пользователей БД и пароль root-а, (который как ни странно, был легко сбручен). Удаленно подключится к БД не давала огненная стена, зато был найден phpmyadmin, с помощью него стало возможно более подробно взглянуть на базу. В ней нужного не оказалось. Для получения мирового господства оставалось не много, получить доступ…SSH…
Т.к. у нас нет полного пути до веб директории - пришлось идти другим путем. В конфигах sshd демона /etc/ssh/sshd_config нашлись строки, разрешающие аутентификацию по ключам:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
Далее взглянув еще раз в файлик /etc/passwd увидел в нем строчку:
mysql :*:777:777:Mysqld server:/usr/local/mysql/:/bin/bash
что давало надежду получить возможность выполнения команд c привелегиями в системе пользователся mysql. Сгенерировав с помощью putty пару ключей ( публичный и приватный ) и выполнив нехитрый запрос в phpmyadmin:
select “ssh-rsa AAAAB3NzaC1...бла.бла.бла...kEi/eF9btr7yc= rsa-key-200807023” into outfile ‘/usr/local/mysql/.ssh/authorized_keys’.
Увидел, что phpMyAdmin, как послушная гимназистка, выполнил без ошибки этот запрос.
Заюзав putty с ключами, я без проблем подключился к серверу, в ответ получил приглашение bash оболочки.
Вот и «солнце» вышло.
P.S.
Требует наличия прописанного шелла юзверу mysql, что бывает очень редко.
Параметры sshd не всегда позволяют подключения по ключам.
Ну и остальные мелочи ))
By f1rebl00d//
Последний раз редактировалось f1rebl00d; 20.03.2009 в 03:18..
|
|
|

19.03.2009, 19:37
|
|
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
Провел на форуме: 5352530
Репутация:
2062
|
|
Мало материала для статьи, но момент про ключи путти интересный. Ничего особенного, если проявить фантазию, если есть доступ на запись, а интересен момент тем, что наши супер хекеры Ачата обычного такого не пишут, только лишь обсасываются старые темы с инжекшенами, никакого творчества. Вообще не факт что те кто пишут про пхп-инжекшен, знают что такое путти и как ею пользоваться
Короче, за содержательность 3, за подход 5.
Перенесено в Уязвимости
|
|
|

20.03.2009, 02:25
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
оригинальная конечно идея ключи создать )
но чето сомнения
как ты каталог '.sshd' сделал? и почему именно .sshd
раскажи по подробнее то
Последний раз редактировалось ShAnKaR; 20.03.2009 в 02:39..
|
|
|

20.03.2009, 03:24
|
|
Познающий
Регистрация: 27.12.2006
Сообщений: 37
Провел на форуме: 1253202
Репутация:
133
|
|
Сенкс, чуть ошибся в пути (в ригинале подправил, лишняя буква `D`) ‘/usr/local/mysql/.sshD/authorized_keys’.
mysql не создает папки, но гдето в среднем количестве nix систем у юзвера каталог .ssh существует по умолчанию, мож админы так создают юзверей =)
Последний раз редактировалось f1rebl00d; 20.03.2009 в 03:26..
|
|
|

20.03.2009, 03:29
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
Сообщение от f1rebl00d
Гдето в среднем количестве nix систем у юзвера каталог .ssh существует по умолчанию, мож админы так создают юзверей =)
очень странно, не разу не видел чтоб такое делали, это замечал конечно под апача если делают к примеру в скриптах чтоб был конект для чеголибо по ssh то и папку создают, а вот mysql шоб мистика наверно?
|
|
|

20.03.2009, 03:41
|
|
Познающий
Регистрация: 27.12.2006
Сообщений: 37
Провел на форуме: 1253202
Репутация:
133
|
|
встречал системы, где прописан шел и у юзвера есть папка .ssh
Мож под ним логинились, хотя онаб не содавалась, хм.... Для тестов пару сервов находил, в которых норм заливался файл authorized_keys в ето папку
На домашнем серве всегда приходилось создавать ее.
|
|
|

20.03.2009, 20:55
|
|
Познающий
Регистрация: 01.08.2008
Сообщений: 42
Провел на форуме: 670601
Репутация:
50
|
|
ну наконец-то хотя бы один человек в своей хек-стори вспомнил про возможность чтения файла таблицы.
Требует наличия прописанного шелла юзверу mysql, что бывает очень редко. Параметры sshd не всегда позволяют подключения по ключам. Ну и остальные мелочи ))
и большой max_allowed_packet для лоад_файла (хотя в данном случае загружался файл таблицы user, здесь и дефолтного значения хватило).
|
|
|

23.03.2009, 00:46
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
кстати обсуждали уже зачем юзеру mysql шел тут https://bugzilla.redhat.com/show_bug.cgi?id=176389
там один тоже предположил аналогичный метод взлома, но сочли что проблема надуманная в итоге.
в общем юзаем selinux, чтоб меньше проблем было.
Последний раз редактировалось ShAnKaR; 23.03.2009 в 00:48..
|
|
|

23.03.2009, 02:23
|
|
Moderator - Level 7
Регистрация: 13.12.2006
Сообщений: 531
Провел на форуме: 2127116
Репутация:
383
|
|
Согласен. Нужно очень большое количество совпадений. Но это не значит что невозможно...
|
|
|

24.03.2009, 13:47
|
|
Постоянный
Регистрация: 15.04.2007
Сообщений: 645
Провел на форуме: 967842
Репутация:
251
|
|
способ не плох!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|