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

Это иссле­дова­ние получи­ло вто­рое мес­то на Pentest Award 2025 в катего­рии «Мобиль­ный раз­лом». Сорев­нование еже­год­но про­водит­ся ком­пани­ей Awillix.

 

Выбор цели

Ис­сле­дова­ние про­води­лось в рам­ках апрель­ско­го ивен­та Bugs Zone 4.0. Ско­уп прог­раммы одно­го из вен­доров‑учас­тни­ков вклю­чал в себя веб‑при­ложе­ние, API-интерфейс к нему и мобиль­ные при­ложе­ния на iOS и Android.

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

 

Приложение

Ска­чива­ем уста­новоч­ный APK на Android, исполь­зуя пла­гин APKLab для VS Code, быс­тро и прос­то раз­бира­ем при­ложе­ние до кода на Smali и мес­тами Java, сни­маем SSL-пин­нинг — с целью даль­нейше­го перех­вата тра­фика и его ана­лиза в Burp Suite.

Под­писав и уста­новив при­ложе­ние на устрой­ство для тес­тирова­ния, зак­ручива­ем тра­фик через наш прок­си‑сер­вер и иссле­дуем сетевую активность при работе с при­ложе­нием. В ходе иссле­дова­ния я нашел нес­коль­ко уяз­вимос­тей про­жар­ки medium — ког­да мне открыл­ся весь про­цесс вза­имо­дей­ствия при­ложе­ния с мобиль­ным API. Но я охо­тил­ся за кри­тами, поэто­му не стал оста­нав­ливать­ся на дос­тигну­том и заныр­нул глуб­же.

 

Погружаемся в код

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

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

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

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

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

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

    Подписаться

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