PDA

Просмотр полной версии : Удаленное подключение к MySQL


it's my
17.10.2007, 09:16
Суть:

По средствам SQL-Инъекции, добыл имя и пароль рута, вот но столкунлся с проблемой обычный telnet не может приконектится, а PuTTY не конектится не посредственно к MySQL (по-моему), она конектится к SSH, но к сожалению SSH не хочет проглатывать логин и пасс рута от MySQL

Попробовал просканить кспайдером, очень удивился:

атакующий может повысить свои привилегии в системе, используя уязвимость в SSH Secure Shell для сервера и SSH Secure Shell для рабочих станций. Ошибка при обработке функции Setsid()позволяет атакующему получить права root на системах BSD. Уязвимыми являются все юниксовые POSIX платформы (AIX, Linux, HP-UX, Solaris, любая BSD). Все приложения, использующие функцию getlogin(), и не проверяющие uid или euid могут быть выполнены от имени любого пользователя в системе. Для использования этой уязвимости пользователь должен иметь учетную запись на системе.
Уязвимые версии продукта:
SSH Communications Security SSH2 2.0.13
SSH Communications Security SSH2 2.1
SSH Communications Security SSH2 2.2
SSH Communications Security SSH2 2.3
SSH Communications Security SSH2 2.4
SSH Communications Security SSH2 2.5
SSH Communications Security SSH2 3.0
SSH Communications Security SSH2 3.0.1
SSH Communications Security SSH2 3.1
SSH Communications Security SSH2 3.1.1
SSH Communications Security SSH2 3.1.2
SSH Communications Security SSH2 3.1.3
SSH Communications Security SSH2 3.1.4
SSH Communications Security SSH2 3.2
SSH Communications Security SSH2 3.2.1

Вот но подключится-то не могу...

Вообщем вопрос направьте меня в правильное русло

Может быть проложить тунель для подключения к MySQL????

или возможно что-то другое?

p.s.

Кстати, пробовал XSS возможность есть, но толку мало...
Возможность входа в админ панель только с сервера...
Кстате сайт хостится на собственном серваке:

Apache/1.3.26 (Unix) mod_perl/1.26 mod_ssl/2.8.10 OpenSSL/0.9.6c PHP/4.3.3 rus/PL30.15

Может попробовать пробится через СПО?

groundhog
17.10.2007, 09:34
Во-первых, если там MySQL слушает локальную петлю (127.0.0.1), то хоть туннель проложи, хоть канал вырой - хрен что получится. Если у тебя есть имя и пароль рута от мускля, посмотри /etc/passwd, и попробуй с этими логинами подключаться на FTP. Если повезёт будет /etc/ftpd.passwd там будут логины и посленные пароли от FTP - скармливаешь это Джонику и ждёшь... Да и вообще - начни с изучения системы (смотри конфиги, что и где установленно), а то ты так резво начал на SSH нападать...

it's my
17.10.2007, 09:38
у меня нет прав на чтение системных файлов

Scipio
17.10.2007, 09:57
поищи на сайте phpmyadmin

сделай выборку из таблицы не mysql.user, а из phpmyadmin.pma_history а вместо полей поставь единички, если скуля не ругнется, значит phpmyadmin точно есть, если ругнется, то может есть, а может нет... посмотри robots.txt на предмет phpmyadmin(pma,myadmin,phpadmin,phpmy,tools) в конце концов погугли сервак на эту же тему, если всетаки ненайдешь и пользователь соединяется не с серваком на локалхосте попробуй попользуй любой mysql клиент на пхп (от rst, да и в с99 есть)
если же не поможет, то пробуй аккаунты юзеров мускула (но не root) к фтп, если подойдет заливай шелл с99 или mysql клиент от rst и вводи туда логин и пароль рута

groundhog
17.10.2007, 10:00
it's my, то есть у тебя рутовый доступ в админку? А mysql крутится от своей учётки?

it's my
17.10.2007, 10:03
groundhog, у меня рутовый доступ в mysql, но mysql не идет на добровольный конект.
Scipio, phpmyadmin в роботе не прописан, сейчас попробую как ты сказал через скул
Scipio, нет phpmyadmin тат отсутствует...

А как можно примерно подобрать таблицу с зареганами зверями? там самописный движок, и я не могу понять логику кодера, как он примерно мог обозвать эту таблицу?

Scipio
17.10.2007, 10:07
it's my, то есть у тебя рутовый доступ в админку? А mysql крутится от своей учётки?

у меня нет прав на чтение системных файлов

Да нет, имхо, он чето напутал, мож он хотел shadow прочитать или че нить наподобие, он же писал:
SSH не хочет проглатывать логин и пасс рута от MySQL

2it's my вобщем ты всех запутал, напиши подробнее что у тебя есть, что делал и что неполучилось

ты когда выполняешь user() у тебя что выводится?

рутовский аакаунт обычно на фтп заблокирован, пробуй к фтп аккаунты других пользователей mysql

Ну ты сказал :) ты б хоть сайт тогда назвал а так фиг придумаешь таблички

it's my
17.10.2007, 10:16
вообщем вот, скул-инъекция нашлась тут

http://victim.com/primer.php?aa=99999&rc=-1'

после запроса в mysql.user с параметрами user,password дает следующее
url:http://victim.com/primer.php?aa=99999&rc=-1'/**/union/**/select/**/0,2,user,password/**/from/**/mysql.user/**/limit/**/0,1/*

1. root — 72f840f85cf3bb40

ты когда выполняешь user() у тебя что выводится?

название_сайта@localhost

Ну ты сказал ты б хоть сайт тогда назвал а так фиг придумаешь таблички

по некоторым причинам не могу расглошать...

Scipio
17.10.2007, 10:22
Я гляжу кавычка не фильтруется файлприв есть у тебя? пути раскрыты? заливай шелл...
По твоим данным все равно не скажешь как там таблицы называться могут, если не хочешь выкладывать сдесь и хочешь чтоб я помог кинь мне название сайта в личку... мне он нафиг не нужен, а без этого я тебе помочь не смогу

groundhog
17.10.2007, 10:25
it's my, так у тебя не рутовый доступ в mysql, мой друг... Скрипты лезут в базу от специально заведённого пользователя... Ты пробовал filepriv? Он у тебя есть?

it's my
17.10.2007, 10:26
файлприв
расшифруй

пути расскрыты в виде:
/home/www/htdocs/primer.inc

И еще я вот думаю влепят нам с тобой минусов, т.к. не в том разделе обсуждение то идет
Модеры перенесли тему сюда, я создавал в форуме "Уязвимость"

Scipio
17.10.2007, 10:33
Ты файлы можешь читать Load_file?

guest3297
17.10.2007, 10:53
Ребят вот прочитал 2 странички вы вообще на каком языке пишите?
Или это понт типо что бы не понятно было?


Ты пробовал filepriv?
Да они солененькие на вкус.

то есть у тебя рутовый доступ в админку?
Да конечно есть, админка на 22 порту.

.Slip
17.10.2007, 11:10
Кхе, один вопрос. К какому порту ты конектился?

groundhog
17.10.2007, 11:10
Блин, пришёл кеш и начал обсирать всех... Где я туплю скажи? Вот аффтар написал:

По средствам SQL-Инъекции, добыл имя и пароль рута, вот но столкунлся с проблемой обычный telnet не может приконектится, а PuTTY не конектится не посредственно к MySQL (по-моему), она конектится к SSH, но к сожалению SSH не хочет проглатывать логин и пасс рута от MySQL
Тут не надо быть семи пядей во лбу, чтобы понять, что он получил имя и пароль не системной записи root! Это либо mysql-рут, либо от админки, потому что получен он был с помощью SQL-Injection. Я, конечно, понимаю что херовое настроение и всё такое... Но мог бы оставить свои коменты при себе.

it's my
17.10.2007, 11:14
Кхе, один вопрос. К какому порту ты конектился?
3306 - MySQL - не конектится
22 - SSH - конектится но логин и пасс не канают

.Slip
17.10.2007, 11:16
3306 - MySQL - не конектится
22 - SSH - конектится но логин и пасс не канают
Вай 3306? Если не ошибаюсь, стандартный порт демона 3806.

Scipio
17.10.2007, 11:21
']Вай 3306? Если не ошибаюсь, стандартный порт демона 3806.

ошибаешься 3306 для mysql

2it`s my кстати ты говорил, что спайдером сканил? что спайдер говорит насчет этого порта(3306) открыт он или нет?

it's my
17.10.2007, 11:42
спайдер не может приконнектится к порту

groundhog
17.10.2007, 12:00
Да какой нахер 3306!!! Ну ты же вызывал user()! Ты видел там localhost??? Это значит что он не слушает внешние интерфейсы, снаружи ты к нему не приконнектишься.

it's my
17.10.2007, 12:03
сплоит mysql_auth_bypass_zeropass.pl приконектился:

Received greeting:
00000000 46 00 00 00 FF 6A 04 48 6F 73 74 20 27 39 30 2E
00000010 31 38 38 2E 32 35 34 2E 35 30 27 20 69 73 20 6E
00000020 6F 74 20 61 6C 6C 6F 77 65 64 20 74 6F 20 63 6F
00000030 6E 6E 65 63 74 20 74 6F 20 74 68 69 73 20 4D 79
00000040 53 51 4C 20 73 65 72 76 65 72

Sending caps packet:
00000000 3A 00 00 01 85 A6 03 00 00 00 00 01 08 00 00 00
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000020 00 00 00 00 72 6F 6F 74 00 14 00 00 00 00 00 00
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Received reply:
00000000
Received OK reply, authentication successful!!

groundhog
17.10.2007, 12:39
it's my, куда он приконнектился?

it's my
17.10.2007, 12:44
к 3306 только смысла от него нет...
а кто знает где во FreeBSD/Apache БД MySQL находится?

groundhog
17.10.2007, 12:51
В каталоге data - /usr/local/mysql/data

it's my
17.10.2007, 13:26
ТЕМА НЕ УКТУАЛЬНА))))

ОГРОМНОЕ СПАСИБО Scipio +

Scipio
17.10.2007, 13:32
Да какой нахер 3306!!! Ну ты же вызывал user()! Ты видел там localhost??? Это значит что он не слушает внешние интерфейсы, снаружи ты к нему не приконнектишься.

ты не понял... я имел ввиду, что демон Mysql по умолчанию на 3306 порту находится, я не про этот случай а вобщем, хотя и в этом случае он на 3306, только доступ к нему извне закрыт...

Вобщем все сделали, я шелл залил... там действительно filepriv включены полностью... это вобще дед... вобщем ниче сложного... самое смешное, чтоб акк от БД получить не обязательно было скулей пользоваться

groundhog
17.10.2007, 13:34
Ну малаццы... А то - ssh, сплоиты на mysql......

guest3297
22.10.2007, 15:43
Тут не надо быть семи пядей во лбу, чтобы понять, что он получил имя и пароль не системной записи root! Это либо mysql-рут, либо от админки, потому что получен он был с помощью SQL-Injection. Я, конечно, понимаю что херовое настроение и всё такое... Но мог бы оставить свои коменты при себе.
От какой админки ты про что вообще какое отношение имеет, системный юзер к админке? Получить запись юзера рут, можно сделав запрос к mysql.user, а получить логин пасс рута самой системы можно прочитав shadow / master.passwd через лоад файл и расшифровать хеш, а как мы знаем доступ рута по ssh по умолчанию запрешен, да и делать это глупо так как можно воспользоваться su с другова юзера, а root от админки это звучит довольно забавно.

Да какой нахер 3306!!! Ну ты же вызывал user()! Ты видел там localhost??? Это значит что он не слушает внешние интерфейсы, снаружи ты к нему не приконнектишься.
Это означает что юзер конектиться к базе с локал хоста, и значит это только то что скрипт и база находяться на одной тачке, если бы было user@192.168.1.1 то это не значило бы, что доступ разрешен с этого ip это значит то база данных находиться на 192.168.1.1

Ну малаццы... А то - ssh, сплоиты на mysql......
Это и есть сплойт на mysql.