Основы этичного веб-хакинга (перевод)

Получение доступа к установке Memcache на PornHub

Сложность: Средняя 
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 и прочих, которые 
могут помочь вам проследовать по пути Энди.



Отредактировано: 08.03.2019