Се­год­ня мы будем искать ключ к паролям на фото, вытас­кивать скры­тые метадан­ные, внед­рять SQL-инъ­екции и изу­чать мно­гохо­довые ата­ки. Про­дол­жим раз­бирать­ся с задач­ками OWASP и пол­ностью взло­маем интернет‑магазин Juice Shop, спе­циаль­но соз­данный для тес­тирова­ния уяз­вимос­тей и отта­чива­ния хакер­ско­го мас­терс­тва.

В моей прош­лой статье на ту же тему я поз­накомил тебя с очень уяз­вимым интернет‑магази­ном Juice Shop. Мы получи­ли в нем пра­ва адми­на раз­ными спо­соба­ми и добыли себе бес­плат­ный Deluxe. Приш­ло вре­мя как сле­дует пог­рузить­ся внутрь это­го дыряво­го при­ложе­ния и показать, кто здесь на самом деле эксперт! В этой статье я исполь­зую вер­сию Juice Shop 12.8.1. Если твоя вер­сия отли­чает­ся, самое вре­мя пой­ти и об­новить ее.

 

Увлекательный OSINT

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

На дос­ке с тво­ими успе­хами в Juice Shop есть спе­циаль­ный тег OSINT. Задачи с этим тегом и будут нас инте­ресо­вать в этом раз­деле.

  1. Visual Geo Stalking.
  2. Meta Geo Stalking.
  3. Login MC SafeSearch.

За­дачек на OSINT там гораз­до боль­ше, но эти поз­волят тебе отто­чить базовые навыки и с их исполь­зовани­ем уже решить оставши­еся!

 

Visual Geo Stalking

В этой задаче нам тре­бует­ся уга­дать пароль Эммы. Для это­го при­дет­ся вос­поль­зовать­ся механиз­мом вос­ста­нов­ления пароля, для чего нуж­на поч­та, а поч­ту Эммы мож­но най­ти в раз­деле «Адми­нис­три­рова­ние». Кста­ти, в прош­лой статье я показал тебе три спо­соба про­ник­нуть туда. Сек­ретный воп­рос зву­чит так:

Company you first work for as an adult

Как видишь, для решения этой задачи нам нуж­но най­ти наз­вание ком­пании, где рань­ше работа­ла Эмма. Задача кажет­ся слиш­ком слож­ной, но вспом­ни: на сай­те же есть раз­дел Photo Wall c фотог­рафи­ями сот­рудни­ков! На пос­ледней фотог­рафии ты най­дешь белый дом и уди­витель­но похожий на имя Эмма ник­нейм. Самое вре­мя ска­чать эту фотог­рафию и при­менить к ней свои ана­лити­чес­кие навыки.

Что мож­но поп­робовать сде­лать с этой фотог­рафи­ей:

  1. По­искать ее в сер­висах вро­де Google Images. Может ока­зать­ся, что это извес­тное зда­ние и есть спи­сок рас­положен­ных в нем ком­паний.
  2. Про­верить метадан­ные изоб­ражения. Час­то внут­ри фотог­рафии мож­но обна­ружить GPS-коор­динаты мес­та и най­ти спи­сок ком­паний, которые арен­дуют в нем офи­сы.
  3. Вни­матель­но рас­смот­реть фотог­рафию и поис­кать на ней под­сказ­ки вро­де таб­лички с номером дома.

В слу­чае Эммы пер­вые два вари­анта не дадут никако­го резуль­тата, но я очень рекомен­дую про­верить это самос­тоятель­но! Раз­работ­чики иног­да меня­ют задания и добав­ляют новые пас­халки.

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

Плакат компании
Пла­кат ком­пании

Как видишь, ком­пания явно свя­зана с безопас­ностью в IT, но ее точ­ного наз­вания мы не зна­ем, поэто­му при­дет­ся переб­рать раз­ные вари­анты. Пред­лагаю взять скрипт под­бора отве­та из пре­дыду­щей статьи, тем более что он нам еще при­годит­ся.

import requests
answers = ['IT Security','IT Sec','ITsec','ITSEC', 'itsec']
for answer in answers:
data = {'email':'emma@juice-sh.op','answer':answer,'new':'111111','repeat':'111111'}
r = requests.post('http://localhost:3000/rest/user/reset-password',json=data)
if r.status_code == 200:
print("Password changed! Answer: ", answer)
break
print("That's all... ")

За­пус­каем и узна­ем решение задачи с Эммой!

 

Meta Geo Stalking

На­деюсь, тебе пон­равилось искать скры­тую информа­цию. Эта задача будет нес­коль­ко слож­нее пре­дыду­щей. Тебе нуж­но уга­дать ответ на сек­ретный воп­рос Джо­на:

What’s your favorite place to go hiking?

То есть «Назови твое любимое мес­то для пеших походов». В раз­деле Photo Wall тебя ждет очень информа­тив­ное фото с осве­жающим ста­каном сока. Ска­чай его и поп­робуй прой­тись по спис­ку из задачи с Эммой.

Су­щес­тву­ет нес­коль­ко вари­антов пос­мотреть метадан­ные изоб­ражения, я рекомен­дую Jeffrey’s Image Metadata Viewer. Заг­рузи туда изоб­ражение и вни­матель­но изу­чи его дан­ные.

Метаданные
Ме­тадан­ные

Как видишь, тут есть коор­динаты мес­та! Открой их в любимом сер­висе, я обыч­но исполь­зую для это­го Google Maps.

Карта региона
Кар­та реги­она

Те­перь нуж­но поп­робовать подоб­рать пра­виль­ное наз­вание мес­та. Вни­матель­но изу­чи кар­ту, и можешь исполь­зовать скрипт для сбро­са пароля из пре­дыду­щей задачи.

import requests
answers = ['Scuttlehole Trailhead','Rockcastle Campground','Dutch Branch','Laurel County']
for answer in answers:
data = {'email':'john@juice-sh.op','answer':answer,'new':'111111','repeat':'111111'}
r = requests.post('http://localhost:3000/rest/user/reset-password',json=data)
if r.status_code == 200:
print("Password changed! Answer: ", answer)
break
print("That's all... ")

К сожале­нию, все эти вари­анты не дали резуль­тата. We need to go deeper! Поп­робу­ем поис­кать более под­робную информа­цию о Scuttlehole Trailhead.

Сайт национального парка
Сайт наци­ональ­ного пар­ка

На этой стра­нице уже дос­таточ­но геог­рафичес­ких наз­ваний, которые Джон мог исполь­зовать в качес­тве фра­зы для сбро­са пароля. Я оставлю это решение тебе в качес­тве домаш­него задания. Если зас­тря­нешь, спра­шивай в ком­мента­риях, и я дам под­сказ­ку!

 

Login MC SafeSearch

Я наде­юсь, ты уже дос­таточ­но раз­мялся для это­го задания. Здесь у тебя уже нет никаких под­ска­зок. Навер­няка ты задал­ся воп­росом, а кто вооб­ще такой этот MC SafeSearch? Приш­ло вре­мя про­бить его в интерне­те!

К сожале­нию, боль­шая часть ссы­лок будет решени­ем этой задачи, но это же не наш метод! Поэто­му я дам тебе пря­мую ссыл­ку на вот такое отличное видео: Protect Ya Passwordz. Тут при­годит­ся зна­ние англий­ско­го. В этом задании не нуж­но исполь­зовать механизм вос­ста­нов­ления пароля, пос­коль­ку MC сам рас­ска­зал тебе свой пароль в пес­не, нуж­но прос­то вни­матель­но прос­лушать ее нес­коль­ко раз и обра­тить вни­мание на его логин и — вне­зап­но — клич­ку любимой собаки. Что­бы тебе было про­ще, есть пол­ный текст пес­ни.

Я дам тебе пару под­ска­зок: логин будет mc.safesearch@juice-sh.op, а собаку зовут Mr. Noodles. Одна­ко он опыт­ный поль­зователь, поэто­му сде­лал некото­рую замену в име­ни собаки, о чем тоже радос­тно про­пел в пес­не. Тут под­сказ­ки закан­чива­ются, даль­ше сам! 🙂

 

Цепочки атак

В Juice Shop мно­гие задания тре­буют решения некото­рых пре­дыду­щих. Поэто­му сей­час мы с тобой поп­робу­ем решить задач­ку с пас­халкой, а заод­но научим­ся обхо­дить защиту фай­лов от ска­чива­ния и под­берем себе мно­го инте­рес­ной информа­ции для даль­нейших атак и заданий.

warning

Да­же не думай исполь­зовать подоб­ные тех­ники в реаль­ных интернет‑магази­нах! Это уго­лов­но наказу­емо, если, конеч­но, у тебя нет под­писан­ного догово­ра на про­веде­ние пен­теста. Если очень хочет­ся поп­ракти­ковать­ся и поис­кать реаль­ные ошиб­ки в при­ложе­ниях, регис­три­руй­ся на спе­циаль­ных плат­формах — нап­ример, на HackerOne или BugCrowd.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


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

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

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии