В нашу редакцию из за дня в день приходят все больше и больше разнообразных материалов. В этот раз нашим читателям предоставлен материал от SkyLord [11] . В этом материале видно когда, а главное как, ломался проект. Действительно, способы на столько просты и незамысловаты, что с ними мог справиться даже ребенок.
Продолжение читайте в подробнее.
*@qip.ru (11:24:43 29/01/2014) Ваше сообщение для [email protected] отправлено.
Буго (12:23:58 29/01/2014) Привет!
Буго (12:24:07 29/01/2014) Да, я не успела тебе ответить, я тут же перенаправила его нашим
Буго (12:24:09 29/01/2014) большое спасибо
*Найденные уязвимости были перечислены в письме, письмо отправлено 29/01/2014 (копия письма во вложении, скрин во вложении)
------
17 и 18 числа была произведена проверка, что было сделано по итогам отписанных недоработок и как выяснилось не было сделано практически ничего. В частности возможность заливки php файлов через интерфейс игры.
В письме было написано: "Очень здорово получается посливать файлы, доступ к которым закрыт. То что можно обойти проверку расширения и линуть на сервер шелл вместо картинки, к примеру при подаче заявки на регистрацию клана в здании администрации упоминать стоит?" - очень важно!
1. Смотрим имена файлов картинок клана и приходим к выводу, что при заливке файл переименовывается и новое имя соответствует выводу php функции time() 2. В здании администрации заполняем заявку на регистрацию клана но вместо картинки подсовываем php вебшелл и жмем отправить заявку. Получаем ошибку, что неверный формат рисунка, но на данную ошибку внимания не обращаем так как файл залился и находился по адресу http://go.territory.ru/images/clans/clanimg1392392433.php 3. Пробуем запустить шелл но получаем проблему, вместо запуска файла получаем сообщение, сохранить его. Приходим к выводу - в nginx стоит location images/clans в которой описано, что ничего из этой папки не передается на обработку apache а обрабатывается nginx и никаких php файлов из данной папки на запуск выполнить не получится. 4. Думаем как обойти эту проблему. 5. Приходим к выводу, что apache работает как бекенд и работает он на каком то отдельном порту и не факт что порт забинден только на локалхосте а не на внешнем адресе и далеко не факт что сисадмины обслуживающие сервер догадались прикрыть данный порт на фаерволе.
В письме было написано: "2. Куда смотрит системный администратор, почему нет защиты от банального nmap сканирования ?"
6. Проверяем, прикрыта ли отписанная в письме пробрешина в системе безопасности.
Starting Nmap 5.51 ( http://nmap.org ) at 2014-01-28 21:36 MSK Nmap scan report for territory.ru (188.93.63.122) Host is up (0.0020s latency). Not shown: 65524 closed ports PORT STATE SERVICE VERSION 25/tcp open smtp Postfix smtpd 80/tcp open http nginx 0.8.35 111/tcp open rpcbind 1443/tcp open http Apache httpd (SSL-only mode) 2049/tcp open rpcbind 2443/tcp open http Apache httpd (SSL-only mode) 3443/tcp open http Apache httpd (SSL-only mode) 22122/tcp open achat/GTA/Ruby AChat / GTA Game servers / Ruby & PHP 33673/tcp open rpcbind 53863/tcp open rpcbind 58255/tcp open rpcbind Service Info: Host: www.territory.ru
7. Понимаем, что настроить правильно сервер и прикрыть дыру был проигнорирован и дыра до сих пор актуально. 8. Внимательно смотрим на результаты сканирования и обращаем внимание вот на эту строку: "1443/tcp open http Apache httpd (SSL-only mode)" и понимаем, что на данном порту и на еще двух крутится апач в SSL режиме на внешнем адресе, что не может не приподнять настроение. 9. Пробуем обратиться к проекту по данному адресу: https://go.territory.ru:1443/calc.php и видим, что страница открылась корректно и можно обращаться к файлам в обход nginx 10. Обращаемся к https://go.territory.ru:1443/images/clans/clanimg1392392433.php и в результате получаем страницу с прекрасно работающим вебшеллом. 11. Сливаем им все исходники, находим лежащий в отдельной папке отличной от папки проекта конфиг на базы, подключаемся и сливаем базы данных проекта, проверяем сервер изнутни, находим много интересного, проверяем отдельно стоящие сервера баз данных, находим то же много интересного. Отключаемся, следы в логах за собой НЕ чистим, дабы можно было проверить факт слива из вне а не то, что исходники увели из нутри офиса. Базы не трогаем, никаких запросов для наживы в проекте не делаем, оставляем все так, как и было. 12. Записываем исходники проекта на диск и радуемся еще одной маленькой победе.
P.S. С каждым днем вскрываются все новые и новые проблемы безопасности серверов.
Вложение: Письмо с описанными уязвимостями и отправленное в офис задолго до инцидента.
Starting Nmap 5.51 ( http://nmap.org ) at 2014-01-28 21:36 MSK Nmap scan report for territory.ru (188.93.63.122) Host is up (0.0020s latency). Not shown: 65524 closed ports PORT STATE SERVICE VERSION 25/tcp open smtp Postfix smtpd 80/tcp open http nginx 0.8.35 111/tcp open rpcbind 1443/tcp open http Apache httpd (SSL-only mode) 2049/tcp open rpcbind 2443/tcp open http Apache httpd (SSL-only mode) 3443/tcp open http Apache httpd (SSL-only mode) 22122/tcp open achat/GTA/Ruby AChat / GTA Game servers / Ruby & PHP 33673/tcp open rpcbind 53863/tcp open rpcbind 58255/tcp open rpcbind Service Info: Host: www.territory.ru
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.96 seconds
------
Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
C:\Users\irbis>ping 188.93.63.122
Обмен пакетами с 188.93.63.122 по с 32 байтами данных: Ответ от 188.93.63.122: число байт=32 время=1мс TTL=58 Ответ от 188.93.63.122: число байт=32 время=1мс TTL=58 Ответ от 188.93.63.122: число байт=32 время=1мс TTL=58 Ответ от 188.93.63.122: число байт=32 время=1мс TTL=58
Обмен пакетами с 188.93.63.122 по с 32 байтами данных: Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса.
1. nginx 0.8.35 Мало того, что старье, в котором найдено немало критических уязвимостей, так еще и настроен неверно https://www.google.ru/#newwindow=1&q=%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8+nginx
Очень здорово получается посливать файлы, доступ к которым закрыт. То что можно обойти проверку расширения и линуть на сервер шелл вместо картинки, к примеру при подаче заявки на регистрацию клана в здании администрации упоминать стоит?
2. Куда смотрит системный администратор, почему нет защиты от банального nmap сканирования ?
Дети малые, неразумные (без обид), любой ребенок 8 летнего возраста может уложить машину и держать ее в дауне столько, сколько нужно, неужели за 10 лет проекта жизнь ничему не научила? В 2010 году я писал про все, результат ноль, ничего не профиксили. Вы незадумывались, почему в боях при юзанье мази защиты частенько выскакивает пропуск хода, да и не только мази, сколько лет уже, а ведь фиксится за 5 минут работы, лично правил (исходники имеются). Вы живете старым 2004 годом, а за окном 2014, что же делать? Начинать в первую очередь с серверной машины, операционной системы, полной смены работы сетевой системы, даже дам направление http://savepearlharbor.com/?p=183832 И когда это будет вылизано на уровне, пригодном для современного использования, тогда уже заниматься проектом. После того, что я привел выше, я больше не буду ничего расписывать и показывать, до тех пор, пока не исправите, иначе будет новая поэма со старым результатом.
P/S
IP 188.93.63.122 Хост: territory.ru Город: Москва Страна: Russian Federation IP диапазон: 188.93.63.0 - 188.93.63.255 Название провайдера: ITT net
У меня такое чувство, что после того, как IT-Territory ушла под крыло мейл, старые проекты включая и саму территорию остались на прежних местах, в прежних ДЦ, на старом железе которое и было и наверняка со стареньким PHP4. и проектами более углубленно заниматься никто не собирается, учитывая, что браузерки постепенно уходят в прошлое.
Если действительно займетесь всерьез и нужна будет помощь, то найти меня можно в асе *, почта * или тел. *
В чем смысл новости и что хотели донести до нас? Что никополь очень даже ничего парень? Ну в это можно поверить, хотел сделать лучше, а не поняли и не оценили. Донести о том, что человек старался, его не оценили и он стал таким какой он есть? Донести до нас какие есть баги в игре? Это лучше вязть интерьвю у бегимота. В итоге статья есть, а смысл непонятен.
............... как бы терру хакнуть ............... о! фрилансеры!!! ............... здрасти, я вася пупкин. вы занимаетесь пхп программированием? здрасти, да есть один проект, надо проверить на дырки без проблем, можно сделать окей, давайте работать ............... спустя какое то время ............... бугачка, Олечка, я нашел дырку в терре ............... ну и далее по тексту из новости
---------------------------------------------------
че смотреж?
Комментарии касательно планов по запуску новой "территории" лица из игрового мира, в разные периоды времени имеющего непосредственное отношение к территории, - профессионала (пожелал остаться анонимом )
"За свой лям он получит пару сотен человек) Если у него есть лям) С учетом стоимости трафика, конверсий и прочих факторов. Ты пойми простую вещь) Делать игры не просто дорого, а ОЧЕНЬ дорого. Если не уметь делать игры - можно даже не открывать рот, чтобы слово "игра" оттуда ненароком не вылетело. Что касается платящей цу - она не вернется и тем более не пойдет к непонятному ушлепку с горы платить бабло, в таких объемах, которые могли бы окупить разработку и инвестиции в рекламу хотя бы за пару годков. Насколько конкурентоспособна на рынке браузерок Территория на сегодня - не надо объяснять. В общем, попкорн) Чем больше денег и времени он потратит, тем более жидко он обосрется) Хл<!--filter:*ба-->*ба<!--/filter-->, как говорится, и зрелищ)"
---------------------------------------------------
* Иногда лишь кара пробуждает чувство вины *
Здесь размещена скрытая реклама. Если вы ее не видите - значит она уже действует на подсознательном уровне и вам неудержимо хочется приобретать рекламируемые товары и услуги. Рекламная служба НЛ Генералитета.