Четверг, 21.11.2024, 11:18
Приветствую Вас Гость

Команда хакеров "Camore"

Главная » 2008 » Декабрь » 26 » Захват интернет радио
Захват интернет радио
21:49

Теплым летним вечером мне пришло сообщение о том, что в одной радиокомпании проводиться кастинг интернет-диджеев и приглашение принять в нем участие. Я и мой знакомый (который и прислал мне сообщение) пошли на этот кастинг ради денег, ведь 2-3 часа в эфире и общения по icq за 400$ еще никакому студенту не повредили. Там посмотрели наше поведение в эфире, дикцию... В общем, мы не прошли ;). Разочарованные, мы удалились со студии восвояси. Несколько дней мы обсуждали фигов кастинг, слушали это радио и, как могли, находили минусы в работе новых диджеев. Вся фишка радиостанции, куда пробовались мы с друганом, заключалась в том, что DJ работает в режиме online, и общается (опять же online) со слушателями через icq. 

Для начала я зафлудил аську одного из диджеев (для флуда использовался небезызвестный Imtale). В этот момент кореш сумел заразить ПК одного из диджеев новым формграбером. Как только мы не стебались над диджеями... Даже звонили голосом Путина через Skype в студию %). Но мне всего было мало, хотелось стать настоящим диджеем и порулить эфиром... И тут мне пришла просто гениальная идея - захватить эфир (ведь для нас,  взломщиков, нет никаких преград, есть только препятствия)!

Действуя по довольно стандартному алгоритму, я запустил на удаленной машине nmap. Пока я варил кофе, сканер выдал свои результаты:

(The 65432 ports scanned but not shown below are in state: closed)
Port State Service
80/tcp open http
199/tcp open SMUX
1022/tcp open ssh
8000/tcp 
8001/tcp 
8899/tcp
9015/tcp open http
Remote operating system guess: FreeBSD

Как видим, тачка незафаерволена, это, безусловно, плюс. Обдумав результаты сканирования, я загрузил данную радиостанцию у себя в винамп. Для того чтобы проигрывать потоковое аудио, лучшему в мире проигрывателю не требуется ничего, кроме файла listen.pls. Этот "чудо-файл" содержит в себе следующую информацию: 

[playlist]
NumberOfEntries=1
File1=http://111.111.111.111:8000/

Теперь мне стало совершенно ясно, что под портом 8000 идет трансляция. Также в Winamp я узрел "MP3 Stream Info Box". Глянув внутрь этого файла , ты увидишь своеобразный отчет обо всем, что происходит на 8000 порту. Подумав, что винамп может многое скрывать, ваш покорный слуга  установил на удаленный дедик SSS (Shadow Security Scaner) и просканил этот порт. Результат можете лицезреть сами:

ICY 200 OK
icy-notice1:
This stream requires Winamp
" target="_default">href="http://www.winamp.com/">Winamp
icy-notice2:SHOUTcast Distributed Network Audio Server/FreeBSD v1.9.7<BR>
icy-name:xxxxx.ru: DJ Z :: icq 11111111
icy-genre:Mix
icy-url:http://xxxxxx.ru
content-type:audio/mpeg
icy-pub:1
icy-br:32

Тут мы можем усмотреть ту же информацию, что и в Stream Info Box , но достаточно расширенную. Как ты уже понял, под 8000 портом скрывается сервис под названием SHOUTcast.

Именно на этом ПО крутилась радиостанция... Версия SHOUTcast 1.9.7 была прочекана на уязвимости. К сожалению, ничего существенного обнаружено не было. Дальше в окне браузера замелькала страница официального сайта http://shoutcast.com/. Скачав себе нужные плагины и скрипты, я наскоро просмотрел их. В моей уставшей голове крутились мысли о том, как найти путь к сердцу радио-сервера. В то время я просто-напросто хотел забить на взлом, так бы и сделал обычный скрипткидис... Но как ты понимаешь (ты ведь не танкист ;), если бы автор данного материала забил на взлом, ниже не было бы текста, да и вообще этой статьи. 

На 80 порту сервера ничего не крутилось, точнее, крутился апач: Apache/1.3.34 (Unix) mod_deflate/1.0.21 rus/PL30.22. Как ты понимаешь, там ловить было нечего (если ты скажешь - КАК ЖЕ!!!, ведь есть сплоит, непременно стучи ко мне в icq, я приобрету этот сплоит ;). Как видно из отчетов nmap, на сервере крутился еще один http-сервис. Заменив 80 на 9015 порт, ваш покорный слуга перенесся на странную страницу. В этой html-паге был следующий текст:

HACK DETECTED, BAD REQUEST
CHAT DAEMON 
EMAIL: 1@1.net 
WWW: bla.bla.ru

Как видишь, я был послан на два слова : Hack Detected. Скорее всего это был фейк, да и сердце согревало то, что в недра моего браузера был вбит хороший анонимный прокс. Промаявшись без толку еще полчаса, я решил, что утро вечера мудренее ;))). Оказалось, что так оно и есть ;).

На следующий день первым делом я опять глянул отчеты SSS. Немного пораскинув мозгами, я решил найти админку... Внутренний голос подсказывал - админ управляет сервером через веб. И искать надо, как мне подсказывало чутье, не на 80-м, а на 9015 порту. Поиск в гугл (site:ip_nashego_radio) ничего не дал. Ручками искать админку не хотелось. Как всегда, на помощь пришел любимый мною сканер Nikto.

Прошло несколько минут, и я увидел то, что хотел - /adm/.

Зайдя по адресу http://111.111.111.111:9015/adm/ я и обнаружил админку (УРА!). Как стало ясно - админка самописная. Но своими видом она мне чем-то напоминала webmin. В самом внизу красовался e-mail админа на yandex.ru. Что делать дальше? Теперь мне было необходимо найти брутфорс для админки. Либо брутить мыло на yandex через Brutus и надеяться, что админ настолько туп, что юзает везде одинаковые пароли. Да еще и http-порт был не 80, а  9015... Конечно, в такой ситуации можно использовать перенаправление и т.п. Но не лучше ли было найти хороший скрипт, в котором можно было бы добавить свои параметры? Постукав в аське к знакомым, я нашел скрипт следующего содержания:

#!/usr/bin/perl
use MIME::Base64; 
use IO::Socket; 
use POSIX;
$server="234.234.234.234";
$port="9015"; 
$dir="/admins";
$logfile="sucess.log";
$log="1.log"
$words="passs.txt";
$user="admin";
$i=0; 
foreach $pass (@data) { 
$i++; 
chomp($pass); 
open(file, ">$log") or die print "$!\n"; 
$perc=($i*100)/$total; 
$perc=ceil($perc); 
print file "$perc\% Done\t$i of $total\t\tNow: $user\:$pass\n";
close file; 
$auth=encode_base64("$user\:$pass"); 
chomp($auth); 
$socket=IO::Socket::INET->new( PeerAddr =$server, 
PeerPort =$port, 
Photo =tcp) 
or die print "Unable to connect to $server:$port\n"; 
print $socket "GET $dir HTTP/1.1\n"; 
print $socket "Host: $server\n"; 
print $socket "Accept: */*\n"; 
print $socket "Referer: http://support.microsoft.com/\n"; 
print $socket "User-Agent: Internet Explorer 6.0\n"; 
print $socket "Pragma: no-cache\n"; 
print $socket "Cache-Control: no-cache\n"; 
print $socket "Authorization: Basic $auth\n"; 
print $socket "Connection: close\n\n";
$ans=<$socket>; 
if ($ans=~/200 Ok/i) { 
open(logf, ">>$logfile") or die print "$!\n"; 
print logf "$user:$pass is OK!!!\n"; 
close logf; 
exit 0; 
}
}

Хочется сказать респект авторам данного детища. Добавив к скрипту словарь для брута, я запустил скрипт. Результат меня просто ошеломил! Пароль был подобран за 20 минут и был "мегапуперсложным" - seksy!

Внутри сервера

В админке я получил нечто типа веб-шелла. Тут было даже выполнение команд. Проверив свои права, я понял, что мне дана группа wheel.  Действительно, зачем запускать апач и админку под www или nobody... Однако скоро стало ясно, что просто так бастионы фряхи не рухнут. Хотя и было видно, как админ наплевательски относится к своей работе - были замечены конфиги программ,  какие-то скрипты, брошенные в корне, и т.п. Но если ОС семейства BSD, то она даже под руководством неграмотного админа будет  держаться очень долго - ведь ядро было из стабильной ветки.

Захват эфира!

Моих прав хватало на то, чтобы с лихвой перемещаться по каталогам и даже редактировать файлы. Скачав себе на машину идентичную версию SHOUTCast для FreeBSD, я стал разбираться со скриптами. Через 5 минут работы я уже знал, что SHOUTcast все свои конфиденциальные данные хранит в файлике под названием sc_serv.ini. Открыв этот файл на сервере, я увидел  следующее:

PortBase - порт, на котором будет работать сервер; 
MaxUser - максимальное количество пользователей, одновременно слушающих вашу радиостанцию; 
Password - пароль для удаленного администрирования (вот это мне и было нужно).

Бережно записав пароль в блокнот, я начал думать о замене потокового аудио. После прочтения нескольких доков по этому вопросу через пару часов был найден оптимальный вариант. Для удаленного администрирования и т.п. используется обычный WinAMP, усиленный плагинами от SHOUcast. Поставить их и  настроить у меня особого труда не вызвало - в конфигурации плагина в поле Address указываем адрес компьютера, на котором  установлен сервер. Если он находится на этом же ПК, то Localhost или 127.0.0.1. В моем случае туда вписал удаленный сервер. В  полях Port и Password указываем то, что написано в sc_serv.ini на удаленном сервере. Вот, в принципе, и все, уже сейчас я мог без проблем подключиться в эфир и болтать всякую чухню. Но как охота, чтобы везде отражались заветные слова - Радиостанция  захвачена внеземными цивилизациями...

Чтобы сотворить такое чудо, я проделал следующие действия. В настройках плагина в закладке Input указывается то, что собираемся передавать в эфир. Если только музыку, то в выпадающем списке оставляем Winamp, в противном случае указываем Soundcard Input, при этом станут доступны следующие параметры и кнопки: 

Open Mixer - открывает окно стандартного системного микшера;
Push to Talk - позволяет передавать в эфир голос с микрофона, не прерывая при этом музыку;
Lock - активирует "залипание" Push to Talk;
Music Level, BG Music Level, Mic Level, Fade Time - ползунки, задающие уровни громкости музыки, фоновой музыки при работе микрофона, громкости микрофона и скорость затухания... 

В общем, все, что нужно. Коннектимся… И вот мы в эфире!

INFO

Как всегда, до особо горячих парней хочется донести ценную инфу - не шути с УК РФ, с ним шутки плохи ;
                                                                                                              Adm GREMLIN (c)
Просмотров: 1497 | Добавил: Huesos | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 qsashap  
0
)) biggrin

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Календарь новостей
«  Декабрь 2008  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031
Поиск
Друзья сайта
наши друзья - наши прямые руки :)
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Наш опрос
Оцените мой сайт
Всего ответов: 453
Copyright MyCorp © 2024 | Используются технологии uCoz