Показать сообщение отдельно

  #1  
Старый 11.03.2012, 15:53
Pirotexnik
Постоянный
Регистрация: 13.10.2010
Сообщений: 375
С нами: 8200406

Репутация: 38
По умолчанию

Intro

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

Хочется поблагодарить таких ребят как:

Osstudio- за все чему научил.

BigBear- За все, чем помог.

Pashkela- За то, что ответил на мой вопрос про рут.

P.S. Pashkela, я все таки понял как! Спасибо.

Поиск SQL

Сервер был cari.com.my. Это был заказ от спамеров.

По привычке я кинул урл в acunetix, открыл ФФ и начал искать.

Искал я не с помощью кавычки (т.к. это далеко не всегда обнаруживает уязвимость), а с помощью:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]order[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
Рандомно открыл одну из страниц, и начал действовать.

Удача была на моей стороне, и параметр id в скрипте c.php при запросе

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]order[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
Любезно переадресовал меня на какой-то другой ресурс с 100 новостью.

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

Дрожащими руками я ввел в браузере:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]order[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1000[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
На сером фоне моего браузера красовалась черная надпись ERROR: order by 1000 --

Я ликовал...

Раскрутка SQL

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]order[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]5[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
Вываливал ошибку.

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]order[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]by[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
Любезно редиректил на левый ресурс.

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]c[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]100[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]UNION[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]SELECT[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]+--+[/COLOR][/COLOR
Переадрисация была на следующий урл:

Цитата:
Сообщение от None  
http://1/
С улыбкой на все лицо я ввел:

Цитата:
Сообщение от None  
c.php?id=100+UNION+SELECT+concat_ws(0x3a,user(),da tabase),2,3,4+--+
Редирект на адрес:

Цитата:
Сообщение от None  
http://guest@{IP}:forum_50
Айпишник не помню, но это дало мне понять, что мускул стоит не на этом сервере, кроме того, об этом свидетельствовал закрытый порт мускула.

Я попробовал прочитать логин пароль и хост из mysql.user

У меня появился хэш пароля рута

Он совпадал с паролем guest.

FILE_PRIV y guest были N, но т.к. мускул стоял отдельно это мне все равно бы не помогло.

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

Вход в админку

Воткнув в хавидж адрес портала, и нажав на кнопочку FIND ADMIN я получил адрес /admin/, но страничка выдавала 403. Я подумал, что если залогинится на сам портал под админским акком - доступ будет. И пошел искать пароль админа в базе.

Довольно быстро я вытянул хэш, это был md5(stots).

Залогинился на сервер, с гордым и довольным лицом набрал /admin/ и... обламался! 403.

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

Цитата:
Сообщение от None  
/admin/admincp.php
Крайне злой что есть силы уебал по энтэру...

Мне предложили ввести пароль ещё раз...

Все... я внутри.

Внутри админки

Движок был DiscuZ 7.2.

Не exploit-db.com не гугл уязвимостей не нашли.

Я начал искать, через что можно залить шелл, ну или хотя бы файл.

Пару часов поиска ничего не дали.

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

Времени было уже за 2 ночи, и нужно было что-то придумывать...

Вышел покурить, на холоде мозг вошел в режим сверхпроводимости... И появилась мысль! А что если разрешить аттачить на форуме *.php ???

Да! В админке были четкие настройки аттачей. Разрешил админам аттачить пхп, зашел на форум, и залил WSO. Через скуль посмотрел адрес файла... переход... root... энтер... я в всо!

WSO

Не заморачиваясь посмотрел config.ini.php

Перешел в всо в о вкладку SQL, ввел данные, я в БД.

Сохраняя дамп на свой винт, я пил кофе и писал заказчикам, что все готово. Дал ссылку, мне перевили деньги, и я лег спать.

На следующий день я решил закрепится на сервере.

Понаделал копий всо в разных дирах, понатыкал минишелов в разных файлах. Готово. Осталось рутнуть сервер, и создать суидник.

Предварительно я в наглую заменил рекламу на портале на свою. Трафик был на столько огромен, что деньги в партнерке просто лились на щет.

Война с админом

Естественно после 23 баксов, поднятых на рекламме, пароли сменили, а мой прокси забанили. Наивные

Ответил я тем, что забанил админа, и поменял пароль на свой. Ну и рекламку вернул

На следующий день Половину моих шеллов снесли, установили грамотные права на запись.

Цитата:
Сообщение от None  
whoami
возвращал

Цитата:
Сообщение от None  
apache
Нужно было рутать систему.

Ядро было 2.6.18-164.el5.

эксплоит-дб выдал сплоит от эсидбитчез. После устранения специально допущенных ошибок в сплоите, всеравно не компилилось. Спасибо Pashkela за подсказанный способ.

r00t

Вернул все обратно, всю рекламу, все пароли и тд.

Создал суидник.

Через некоторое время залогиниватся опять перестало.

В таблице с юзерами была такая структура

Код:
uid:username:password:email:прочая инфа
А первой записью было следующее:

Цитата:
Сообщение от None  
Contact:me:skype_id
Я крайне удивился такой креативности.

Общение с админами

После переговоров заключили сделку.

Я помогу профиксить все уязвимости, а мне дадут денег.

За заказ оплату я уже получил, и впринципе, все было неплохо. На том и порешили.

Вобщем, вот! Моя не большая история-статья. Почему статья? Потому, что описал всю технологию, и может быть, кому-то это будет полезно.

Всем спасибо!

Ваш P1r0t3xn1k
 
Ответить с цитированием