Сложность: Средняя
Url: stage.pornhub.com
Ссылка на отчет: https://hackerone.com/reports/119871²⁷
Дата отчета: 1 марта 2016
Выплаченное вознаграждение: $2500
Описание:
До запуска публичной программы, PornHub открыл и поддер-
живал на HackerOne приватную программу по поиску багов
с широкими рамками для поиска на *.pornhub.com, что для
большинства хакеров значило, что любые поддомены PornHub
доступны для поиска. Уловка была в том, что их нужно было
найти.Посещение все эти сайты, чтобы убедиться, что они доступны,
заняло бы немало времени, так что он автоматизировал про-
цесс с помощью инструмента Eyewitness (описывается в главе
Инструменты), который делает скриншоты страниц с валид-
ным HTTP/HTTPS и предоставляет удобный отчет о сайтах,
доступных на портах 90, 443, 8080 и 8443 (стандартные порты
HTTP и HTTPS).
Энди пишет, что он слегка подкрутил настройки и исполь-
зовал инструмент Nmap, чтобы копнуть поглубже, тестируя
поддомен stage.pornhub.com. Когда я спросил его почему,
он объяснил, что по его опыту, стейджинг и девелопмент-
серверы с наибольшей вероятностью имеют некорректно скон-
фигурированные настройки безопасности, чем продакшен-
серверы. И чтобы начать, он получил IP поддомена, используя
команду nslookup:
nslookup stage.pornhub.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: stage.pornhub.com
Address: 31.192.117.70
Я также видел, что это можно сделать командой ping, но в лю-
бом случае, теперь у него был IP-адрес поддомена и используя
команду sudo namp -sSV -p- 31.192.117.70 -oA stage__ph -T4 &
он получил следующее:
Starting Nmap 6.47 ( http://nmap.org ) at 2016-06-07
14:09 CEST
Nmap scan report for 31.192.117.70
Host is up (0.017s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
80/tcp open http nginx
443/tcp open http nginx
60893/tcp open memcache
Service detection performed. Please report any incorrect
results at http://nmap.org/submit/ . Nmap done: 1 IP
address (1 host up) scanned in 22.73 seconds
Разберем эту команду на части:
• флаг -sSV определяет тип пакетов, отправляемых на сер-
вер и говорит Nmap попытаться определить любые сер-
висы на открытых портах
• -p- говорит Nmap проверить все 65535 портов (по умол-
чанию он проверяет только 1000 самых популярных)• 31.192.117.70 - сканируемый IP-адрес
• -oA stage__ph сообщает Nmap, что вывод нужно создать
в трех больших форматах сразу, используя имя файла
stage__ph
• -T4 определяет тайминг для атаки (опции 0-4, чем выше,
тем быстрее)
В полученном ответе важно обратить внимание на то, что
порт 60893 открыт и запускает то, что Nmap определил как
memcache. Если вам незнакомо это название, memcache — кэ-
ширующий сервис, который использует пары ключ-значения
для хранения произвольных данных. Как правило, он исполь-
зуется для ускорения сайта путем более быстрой отдачи кон-
тента пользователю. Еще один подобный сервис называется
Redis.
Само по себе наличие этого сервиса не является уязимостью,
но это определенно важный сигнал (хотя руководства по уста-
новке, которые я читал, рекомендовали делать его недоступ-
ным публично по причинам безопасности). Проверяя работу
сервиса, Энди с удивлением обнаружил, что PornHub не вклю-
чили ни одну из настроек безопасности, а это значило, что
он мог соединиться с сервисом без логина или пароля через
netcat, утилиту, предназначенную для чтения и записи через
сетевые соединения TCP и UDP. После соединения он просто
ввел несколько команд, чтобы получить версию, статистику
и так далее, чтобы подтвердить, что соединение работает и
уязвимо.
Злоумышленник в этот момент мог бы использовать этот
доступ для:
• атаки DOS (отказ сервиса) постоянно записывая и стирая
кэш, тем самым занимая сервер (это зависит от настроек
сайта)
• атаки DOS через заполнение сервиса мусорными данны-
ми, опять же, зависит от настроек
• выполнения межсайтового скриптинга через инъекцию
вредоносного JS под видом валидных закешированных
данных, которые затем отдавались бы пользователям
• и, возможно, выполнения SQL-инъекции, если данные
memcache сохранялись в базе данных
Выводы
Поддомены и обширная сеть конфигураций
представляют огромный потенцила для взлома.
Если вы заметили, что программа по поиску
багов включает в свои рамки *.SITE.com, попро-
буйте поискать поддомены, которые могут быть
уязвимы, вместо того, чтобы тянуться к низко
висящему фрукту на главном сайте, на котором
ищут уязвимости все остальные. Также стоит по-
тратить время на изучение таких инструментов,
как Nmap, eyewitness, knockpy и прочих, которые
могут помочь вам проследовать по пути Энди.