Like a pro. Используем OSINT и цепочки атак в OWASP Juice Shop

Содержание статьи

  • Увлекательный OSINT
  • Visual Geo Stalking
  • Meta Geo Stalking
  • Login MC SafeSearch
  • Цепочки атак
  • Скачиваем недоступные файлы
  • Пасхалка от разработчиков
  • Скачиваем всю базу данных
  • Подделываем токены JWT
  • Погружаемся в дебри кода
  • Подделка кода купона
  • Выводы

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

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

 

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

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

info

Под­робнее об OSINT ты можешь про­честь в стать­ях «Бо­евой OSINT. Раз­бира­ем сов­ремен­ные методы сетевой раз­ведки» и «OSINT по‑рус­ски. Выбира­ем мощ­ные и бес­плат­ные сер­висы для про­бива и кон­курен­тной раз­ведки». Отдель­но очень рекомен­дую тебе док­лад с пос­ледне­го PHDays 2021 «Ду­мать — это при­коль­но. 20 прак­тичес­ких при­емов OSINT в циф­ровом мире».

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

  • Visual Geo Stalking.
  • Meta Geo Stalking.
  • Login MC SafeSearch.
  • За­дачек на OSINT там гораз­до боль­ше, но эти поз­волят тебе отто­чить базовые навыки и с их исполь­зовани­ем уже решить оставши­еся!

     

    Visual Geo Stalking

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

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

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

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

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

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

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

    import requestsanswers = ['IT Security','IT Sec','ITsec','ITSEC', 'itsec']for answer in answers: data = {'email':'[email protected]','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) breakprint("That's all... ")

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

     

    Meta Geo Stalking

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

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

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

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

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

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

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

    import requestsanswers = ['Scuttlehole Trailhead','Rockcastle Campground','Dutch Branch','Laurel County']for answer in answers: data = {'email':'[email protected]','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) breakprint("That's all... ")

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

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

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

     

    Login MC SafeSearch

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

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

    Я дам тебе пару под­ска­зок: логин будет [email protected], а собаку зовут Mr. Noodles. Одна­ко он опыт­ный поль­зователь, поэто­му сде­лал некото­рую замену в име­ни собаки, о чем тоже радос­тно про­пел в пес­не. Тут под­сказ­ки закан­чива­ются, даль­ше сам! ?

     

    Цепочки атак

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

    warning

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

    Источник: xakep.ru

    Ответить

    Ваш адрес email не будет опубликован. Обязательные поля помечены *