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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Как узнать IP сервера mysql (https://forum.antichat.xyz/showthread.php?t=283574)

ne0k 12.07.2011 19:55

Есть blind sql inj в скрипте:

script.php?id=1

БД к которой обращается скрипт находится далеко не на том же сервере что и сам сайт.

sql запросами выдрал следующее:

+-----------------------+

user | password | host

+-----------------------+

root | pass | %

+-----------------------+

Т.е. зная IP сервера mysql, я могу подключиться к нему использую выше предоставленные логин и пароль? Ведь так?

Собсна вопрос: Как я могу узнать этот самый IP сервера ?

пысы: mysql 5.0.90

server: Debian 5.0

Seravin 12.07.2011 20:34

Цитата:

Сообщение от ne0k
ne0k said:
Т.е. зная IP сервера mysql, я могу подключиться к нему использую выше предоставленные логин и пароль? Ведь так?

да

Цитата:

Сообщение от ne0k
ne0k said:
Собсна вопрос: Как я могу узнать этот самый IP сервера ?

Насколько я знаю только вытащив конфиг для подключения бд

Expl0ited 12.07.2011 20:39

Ну вообще, исходя из своего опыта, если контора довольно серьезная и на нескольких серверах, то часто доступ к мюскл открыт из вне (правда бывают печальные исключения), и не менее часто порт открыт, но фильтруется входящие соединение, т.е. доступ для определенного айпи. Автор настоятельно рекомендую просканить подсеть где размещается атакуемый сервер на наличие открытого 3306 порта, или же может случится так, что извне доступ закрыт, но в локальной сети доступ открыт, и достаточно залиться на соседние сервера и попробовать просканить подсеть уже локально.

Digger 12.07.2011 20:44

Цитата:

Сообщение от Seravin
Seravin said:
да

Что да?! 1 из 10 хостеров разрешают удаленное подключение к БД!

Цитата:

Сообщение от Seravin
Seravin said:
Насколько я знаю только вытащив конфиг для подключения бд

И что там будет?!

Код:

Code:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'qwerty');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


Seravin 12.07.2011 20:51

Цитата:

Сообщение от Digger
Digger said:
Что да?! 1 из 10 хостеров разрешают удаленное подключение к БД!
И что там будет?!
Код:

Code:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'qwerty');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


>_\\

expupkin 12.07.2011 20:53

Цитата:

Сообщение от Digger
Digger said:
Что да?! 1 из 10 хостеров разрешают удаленное подключение к БД!
И что там будет?!
Код:

Code:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'root');

/** MySQL database password */
define('DB_PASSWORD', 'qwerty');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');


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

Так как тс сказал что бд на другом серве то

в конфиге это выглядит

/** MySQL hostname */

define('DB_HOST', 'remote-db.com');

Я возможно немного не в теме насчёт подключения к бд извне, но назревает вопрос, если доступ разрешон только в локалке, можно ли в таком случае проникнуть в рутер и сделать портфорвардинг, проканает в таком случае подключение к бд извне?

Expl0ited 12.07.2011 21:03

Цитата:

Сообщение от expupkin
expupkin said:
Умник, если бд вынесли на другой хост логично предположить что к ней можно подключится извне, иначе скрипт который использует эту бд не будет работать.
Так как тс сказал что бд на другом серве то
в конфиге это выглядит
/** MySQL hostname */
define('DB_HOST', 'remote-db.com');
Я возможно немного не в теме насчёт подключения к бд извне, но назревает вопрос, если доступ разрешон только в локалке, можно ли в таком случае проникнуть в рутер и сделать портфорвардинг, проканает в таком случае подключение к бд извне?

Кстати совсем не логично, как я написал выше, доступ к удаленному серверу может быть только локально.

ne0k 12.07.2011 21:06

Но конфиги я не могу прочитать на сервере сайт контентом.. Так бы давно уже сделал..

да и если даже читать конфиге на сервере с мускул, load_file не пашет, ибо куррент юзер не имеет прав...

Expl0ited 12.07.2011 21:07

Цитата:

Сообщение от ne0k
ne0k said:
Но конфиги я не могу прочитать на сервере сайт контентом.. Так бы давно уже сделал..
да и если даже читать конфиге на сервере с мускул, load_file не пашет, ибо куррент юзер не имеет прав...

Прочитай пост #3 я посоветовал как поступить.

ne0k 12.07.2011 21:09

а вообще, в mysql.user, 68 хостов..

user'@'%

user'@'212.x.x.x

user'@'10.x.x.x

user'@'192.x.x.x

user'@'127.x.x.x

и так далее..

Т.е. наверняка есть доступ из вне?

ne0k 12.07.2011 21:10

Цитата:

Сообщение от Expl0ited
Expl0ited said:
Прочитай
пост #3
я посоветовал как поступить.

В этой подсети очень много хостов с открытым 3306 портом...

И да, контора серьезная.. У них в распоряжение аж 2 подсети..

212.42.1.x

212.43.2.x

Expl0ited 12.07.2011 21:16

Цитата:

Сообщение от ne0k
ne0k said:
В этой подсети очень много хостов с открытым 3306 портом...
И да, контора серьезная.. У них в распоряжение аж 2 подсети..
212.42.1.x
212.43.2.x

Если много открытых 3306 то это тебе играет на руку, больше шансов что ты получишь нужный тебе доступ.

Выбирай все открытые порты 3306 и проверяй по имеющейся у тебя паре логин:пароль

И две подсети это еще не придел

Seravin 12.07.2011 21:17

Цитата:

Сообщение от ne0k
ne0k said:
а вообще, в mysql.user, 68 хостов..
user'@'%
user'@'212.x.x.x
user'@'10.x.x.x
user'@'192.x.x.x
user'@'127.x.x.x
и так далее..
Т.е. наверняка есть доступ из вне?

root | pass | %

% даёт доступ с любого хоста под именем root(правда можно другими способами ещё ограничить)

попробуй поискать phpinfo. возможно там прописан mysql.default_host

ne0k 12.07.2011 21:20

Цитата:

Сообщение от Expl0ited
Expl0ited said:
Если много открытых 3306 то это тебе играет на руку, больше шансов что ты получишь нужный тебе доступ.
Выбирай все открытые порты 3306 и проверяй по имеющейся у тебя паре логин:пароль
И две подсети это еще не придел

Гы, я пробовал.. результат не удовлетворяющий..

1. host 'ip'@'blabla.com' is not allowed bla bla

2. Access denied for user 'root'@'myip'

таков результат ... Очень хотелось бы верить, что БД все таки где-то не среди них..

Ведь как ты сказал, то я могу и не знать о других серверах используемых этой конторой, где кстати и может находится искомый мускуль сервер...

ne0k 12.07.2011 21:23

Цитата:

Сообщение от None
попробуй поискать phpinfo. возможно там прописан mysql.default_host

phpinfo то я нашел на сайте где работает обращающийся к БД скрипт, но вот в поле mysql.default_host стоит local ip, то бишь: 10.21.x.x

Expl0ited 12.07.2011 21:25

Цитата:

Сообщение от ne0k
ne0k said:
Гы, я пробовал.. результат не удовлетворяющий..
1. host 'ip'@'blabla.com' is not allowed bla bla
2. Access denied for user 'root'@'myip'
таков результат ... Очень хотелось бы верить, что БД все таки где-то не среди них..
Ведь как ты сказал, то я могу и не знать о других серверах используемых этой конторой, где кстати и может находится искомый мускуль сервер...

Попробуй по изучать топологию их сети, залей шелл в подсеть на любой сервер и начни копать оттуда, вообще собери как можно больше информации о конторе, серверах, какой за что отвечает, как работает, и вообще как у них всё устроено, начни из далека.

Чем упорней и настойчивей ты будешь, тем быстрее цель сдастся под напором.

Цитата:

Сообщение от None
phpinfo то я нашел на сайте где работает обращающийся к БД скрипт, но вот в поле mysql.default_host стоит local ip, то бишь: 10.21.x.x

Кстати, часто бывает, что администраторы дают внутренний адреса равные внешним, т.е. к примеру внешний адрес 212.41.56.129, а внутренний 10.10.56.129

ne0k 12.07.2011 21:30

Гы.. Вот я идиот, сейчас попробовал:

SELECT @@hostname

И он мне действительно выдал хостнейм.. Но вот проблема, этот хост никак не отвечает.. Не пингуется, и даже:

Unknown MySQL server host 'db.contoraname.com'

Any ideas?

Expl0ited 12.07.2011 21:32

Цитата:

Сообщение от ne0k
ne0k said:
Гы.. Вот я идиот, сейчас попробовал:
SELECT @@hostname
И он мне действительно выдал хостнейм.. Но вот проблема, этот хост никак не отвечает.. Не пингуется, и даже:
Unknown MySQL server host 'db.contoraname.com'
Any ideas?

По моему я тебе уже всё разжевал, изучи топологию сети, и толкайся от этого, хост db.contoraname.com вполне возможно что он внутренний.

ne0k 12.07.2011 21:32

Цитата:

Сообщение от None
Попробуй по изучать топологию их сети, залей шелл в подсеть на любой сервер и начни копать оттуда, вообще собери как можно больше информации о конторе, серверах, какой за что отвечает, как работает, и вообще как у них всё устроено, начни из далека.
Чем упорней и настойчивей ты будешь, тем быстрее цель сдастся под напором.

Эх, вот если бы кто-то смог сбрутить хеши админов форума.. Я бы еще залил как-то веб шелл.. Но сбрутить то vbull 3.8.4 hash никто пока так и не смог... Уже причем чуть больше месяца...

Больше никак и нигде не залить шелл.. Я почти месяц каждый день изучаю их... Это после того как я обнаружил скулю.. До этого еще с пол года тыкался в них..

Уже просто нет сил думать.. Поэтому и обратился сюда..

ne0k 12.07.2011 21:39

Сразу скажу, варианты с уязвимостями воблы 3.8.4 не проканают.. Там нехилые кодеры сидят, и свою воблу они хорошо пропатчили..

И кстати, даже форум и тот, на левом сервере крутится.. Кстати даже на другом хостинге...

Expl0ited 12.07.2011 21:41

Тогда кидай линку

ne0k 12.07.2011 21:51

Цитата:

Сообщение от None
Тогда кидай линку

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

Тут многовато нюансов.. Сорри...

Буду думать дальше..

Если у кого-то вдруг возникнут идеи, буду премного благодарен..

ne0k 12.07.2011 22:21

Цитата:

Сообщение от None
Кстати, часто бывает, что администраторы дают внутренний адреса равные внешним, т.е. к примеру внешний адрес 212.41.56.129, а внутренний 10.10.56.129

Интересная идея, но к сожалению тоже не прошла..

expupkin 12.07.2011 22:23

Цитата:

Сообщение от Expl0ited
Expl0ited said:
Кстати совсем не логично, как я написал выше, доступ к удаленному серверу может быть только локально.

Это по умолчанию так, на то он и удалённый сервер.

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]В MySQL пользователь характеризуется двумя параметрами[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]именем и хостом[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]с которого он может обращаться[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]По умолчанию доступ разрешен только с локальной машины[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]т[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]е[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]для пользователя user[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Права на доступ пользователям даются с помощью команды GRANT[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Команда выполняется под рутом[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Например[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]если я хочу создать юзера[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]который сможет коннектиться с любого хоста с полными правами[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]то следует выполнить следующую команду[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]GRANT ALL PRIVILEGES ON[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]имя_базы[/COLOR][COLOR="#007700"]`.*[/COLOR][COLOR="#0000BB"]TO myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#0000BB"]IDENTIFIED BY[/COLOR][COLOR="#DD0000"]'пароль'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]Примечание[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Обратите внимание[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]соответсвующего localhost[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Для пользователя myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost необходимо давать права отдельной командой GRANT[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Если вы решите обратиться к локальной машине как к удаленной[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]используя протокол TCP[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]IP[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]то не забывайте[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]что myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost и myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76 с паролем mypassy[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]GRANT SELECT ON mysql[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time_zone TO myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]192.168.0.76 IDENTIFIED BY[/COLOR][COLOR="#DD0000"]'mypassy'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR


Expl0ited 12.07.2011 22:28

Цитата:

Сообщение от expupkin
expupkin said:
Это по умолчанию так, на то он и удалённый сервер.
PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]В MySQL пользователь характеризуется двумя параметрами[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]именем и хостом[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]с которого он может обращаться[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]По умолчанию доступ разрешен только с локальной машины[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]т[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]е[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]для пользователя user[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Права на доступ пользователям даются с помощью команды GRANT[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Команда выполняется под рутом[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Например[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]если я хочу создать юзера[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]который сможет коннектиться с любого хоста с полными правами[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]то следует выполнить следующую команду[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]GRANT ALL PRIVILEGES ON[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]имя_базы[/COLOR][COLOR="#007700"]`.*[/COLOR][COLOR="#0000BB"]TO myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#DD0000"]'%'[/COLOR][COLOR="#0000BB"]IDENTIFIED BY[/COLOR][COLOR="#DD0000"]'пароль'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]Примечание[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Обратите внимание[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]что данная команда дает доступ пользователю myuser со всех IP кроме 127.0.0.1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]соответсвующего localhost[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Для пользователя myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost необходимо давать права отдельной командой GRANT[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Если вы решите обратиться к локальной машине как к удаленной[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]используя протокол TCP[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]IP[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]то не забывайте[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]что myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]localhost и myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]ip_собственного_компа это разные пользователи и каждому из них права нужно давать отдельной командой[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Второй пример показывает как дать право читать таблицу time_zone в базе mysql пользователю myuser с машины 192.168.0.76 с паролем mypassy[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]GRANT SELECT ON mysql[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time_zone TO myuser[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]192.168.0.76 IDENTIFIED BY[/COLOR][COLOR="#DD0000"]'mypassy'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR


Локально, в том плане, что доступ имеют машины находящиеся в одной локальной сети.

ne0k 12.07.2011 22:48

Кстати, раз такая активность здесь, хочу сказать что искомой целью является дамп всех БД на данном сервере.. Одних только БД под 40.. А в них еще и таблиц с пол тонны.. На блайнд скуле далеко не уедешь.. Вот и нужно как-то сдампить БД.. Насколько я понимаю, возможности следующие:

Есть пользователи типа user'@'212.x.x.x - данный ИП принадлежит сайту.

Админка сайта, по адресу admin.contoraname.com но и та на другом хосте, так как ИП сайта и админки отличается в конце IP адреса.

НО, юзер мускула имеет следующий вид: user'@'212.x.x.% ..

Т.е. я могу практически попав в админку, уже закончить свое дело.. Но в админке basic auth.. Нет у меня пароля .. И в базе соответственно тоже.. Но есть логины, как минимум 2..

Так как, по адресу sub.contoraname.com/.svn/entries я вижу логи..

[CODE]
Code:
dir
32
https://admin.contoraname.com/svn/sub.contoranamecom/trunk/htdocs

2010-07-22T18:22:09.329402Z
32
username


Время: 11:59