Теплим літнім вечором мені прийшло повідомлення про те, що в одній радіокомпанії проводитися кастинг інтернет-діджеїв і запрошення взяти в ньому участь. Я і мій знайомий (який і надіслав мені повідомлення) пішли на цей кастинг заради грошей, адже 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. Цей "чудо-файл" містить в собі наступну інформацію:
Тепер мені стало абсолютно ясно, що під портом 8000 йде трансляція. Також в Winamp я побачив "MP3 Stream Info Box". Глянувши всередину цього файлу. ти побачиш своєрідний звіт про все, що відбувається на 8000 порту. Подумавши, що вінамп може багато приховувати, ваш покірний слуга встановив на віддалений Дедик SSS (Shadow Security Scaner) і просканіл цей порт. Результат можете побачити самі:
Тут ми можемо побачити ту ж інформацію, що і в Stream Info Box. але досить розширену. Як ти вже зрозумів, під 8000 портом ховається сервіс під назвою SHOUTcast.
На 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: [email protected]
WWW: bla.bla.ru
Як бачиш, я був посланий на два слова. Hack Detected. Швидше за все це був фейк, та й серце зігрівало те, що в надра мого браузера був вбитий хороший анонімні проксі. Поневірялася без толку ще півгодини, я вирішив, що ранок вечора мудріший)). Виявилося, що так воно і є.
На наступний день в першу чергу я знову глянув звіти SSS. Трохи пораскинув мізками, я вирішив знайти адмінку. Внутрішній голос підказував - адмін управляє сервером через веб. І шукати треба, як мені підказувало чуття, що не на 80-му, а на 9015 порту. Пошук в гугл (site: ip_nashego_radio) нічого не дав. Ручками шукати админку не хотілося. Як завжди, на допомогу прийшов улюблений мною сканер Nikto.
Минуло кілька хвилин, і я побачив те, що хотів - / adm /.
/ 200 Ok / i) <
open (logf, ">> $ logfile") or die print "$! \ n";
print logf "$ user: $ pass is OK. \ n";
close logf;
exit 0;
>
>
В адмінці я отримав щось типу веб-шелла. Тут було навіть виконання команд. Перевіривши свої права, я зрозумів, що мені дана група wheel. Дійсно, навіщо запускати апач і адмінку під www або nobody. Однак скоро стало ясно, що просто так бастіони фряхі НЕ впадуть. Хоча і було видно, як адмін байдуже ставиться до своєї роботи - були помічені конфіги програм, якісь скрипти, кинуті в корені, і т.п. Але якщо ОС сімейства BSD, то вона навіть під керівництвом неграмотного адміна буде триматися дуже довго - адже ядро було з стабільної гілки.
Моїх прав вистачало на те, щоб з лишком переміщатися по каталогам і навіть редагувати файли. Завантаживши собі на машину ідентичну версію SHOUTCast для FreeBSD, я став розбиратися зі скриптами. Через 5 хвилин роботи я вже знав, що SHOUTcast всі свої конфіденційні дані зберігає у файлі під назвою sc_serv.ini. Відкривши цей файл на сервері, я побачив таке:
PortBase - порт, на якому буде працювати сервер;
MaxUser - максимальна кількість користувачів, одночасно слухають вашу радіостанцію;
Password - пароль для віддаленого адміністрування (ось це мені і було потрібно).
Щоб створити таке диво, я виконав наступні дії. В налаштуваннях плагіна в закладці Input вказується те, що збираємося передавати в ефір. Якщо тільки музику, то в списку, що випадає залишаємо Winamp, в іншому випадку вказуємо Soundcard Input, при цьому стануть доступні наступні параметри і кнопки:
Open Mixer - відкриває вікно стандартного системного мікшера;
Push to Talk - дозволяє передавати в ефір голос з мікрофона, не перериваючи при цьому музику;
Lock - активує "залипання" Push to Talk;
Music Level, BG Music Level, Mic Level, Fade Time - повзунки, що задають рівні гучності музики, фонової музики при роботі мікрофона, гучності мікрофона і швидкість загасання.
Загалом, все, що потрібно. Коннектимся ... І ось ми в ефірі!
Як завжди, до особливо гарячих хлопців хочеться донести цінну інфу - Не жартуй з КК РФ, з ним краще не жартувати.