Статья Ломаем корпоративный портал Bitrix24 через мобильное приложение.

larchik

Gold Team
07.06.2019
415
481
BIT
66
Хотел написать заметку по мотивам конкурса, но получилась статья )

И так, имеем веб-приложение - корпоративный портал.
В портале тысячи пользователей, все сотрудники организации (или почти все). Внутри портала корпоративные чаты, личные чаты, задачи, планы, такой отечественный аналог Jira и Confluence.

Главная страница представляет из себя форму логина:

0.png



Также есть форма восстановления пароля, в которой можно перебрать имена пользователей. Но кроме юзеров admin и test там никого перебрать не удалось.
Никакие известные сплоиты не сработали, уже найденные пароли не подошли, брутфорс тоже дело безнадёжное.

Хотелось уже оставить это приложение, как не пробитое, но я решил поискать мобильные приложения Заказчика и нашел!
У компании имеется собственное мобильное приложение для Андроид, существующее исключительно для сотрудников компании.
В приложении, как и в веб-портале, есть личные и общие чаты, новости компании и еще какой-то функционал.


Главный экран приложения выглядит так:

1.jpg



"Забыли пароль?" выглядит так:

2.jpg


Как связаны веб-портал Битрикс24 и это приложение?
Я пробросил трафик приложение через Burp и увидел, что запросы от мобильного приложения летят как раз в портал, в котором есть REST API.
Это повод для оптимизма )

Что имеем на данный момент:
1. Нужно знать ФИО;
2. Нужно знать дату рождения;
3. Нужно знать пароль;
4. Если не знаем пароль, нужно знать номер телефона.

Пока из всех четырех пунктов мы не знаем ничего.
Попробуем поковырять код приложения (для этого можно использовать jadx). Внутри найдем номер телефона:

3.png


Как видите, кроме номера телефона еще был найден пароль, но он никуда не залетел.
Пробуем ввести номер телефона в форму восстановления пароля в мобильном приложении и получаем такую картинку:

4.jpg



То есть нам надо ввести 4 каких-то неизвестных цифры. Это всего-то 10000 вариантов.
Напоминаю, что весь трафик идет через Burp, поэтому сразу отправляю в Intruder и перебираю код.
Код подобрался, никаких ограничений на перебор нет.

Вводим код и после этого можем установить новый пароль. К сожалению скрин с установкой нового пароля у меня не под рукой, но надеюсь вы мне верите.
Но далее загвоздка. Владельца номера телефона на тот момент я не установил, его ФИО не знаю. Получается, что просто кому-то пароль сменил и на этом всё.

На данном этапе надо:
1. Найти достоверно сотрудника компании;
2. Получить его ФИО и дату рождения;
3. Получить его номер телефона;
4. Сбросить пароль.

Тогда мы сможем залогиниться в мобильное приложение.

Чтож, приступаем к ОСИНТу )
Поиск группы компании в ВК длился пару минут. Среди подписчиков стал перебирать по одному и смотреть, у кого в профиле указаны максимально полные данные.
Нашелся такой сотрудник (по понятным соображениям я скрываю информацию о нем):

5.png


По скриншоту видно, что указана его полная дата рождения и номер телефона без последней цифры.
Также есть его имя и фамилия, но нет отчества.
Уже что-то. А точнее почти всё!

Осталось узнать отчество, а последню цифру номера телефона я подобрал руками прямо в интерфейсе приложения.

Дело в том, что приложение сообщало о не правильном номере в форме восстановления пароля.

Как узнать отчество? В друзьях ВК я не нашел его отца, хотя нашел братьев и сестер.
По братьям и сестрам тоже не понятно, родные или нет, поэтому я пошел другим путем.

На его странице нашел несколько занятных фоток - он любитель рыбалки. Настолько любитель, что явно спортсмен.

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

Теперь все данные на руках, сбрасываем ему пароль, и логинимся в приложении:

6.png


В его профиле ничего интересного, рядовой сотрудник.

Но напомню, что мобилка работает с веб-порталом через api и трафик идет через Burp.

Максимально потыкал приложение, собрал эндпоинты апи и нашел несколько IDOR-ов.
Проще говоря, я смог собрать достаточно полную информацию о всех юзерах приложения, включая их логины, номера телефонов, фио, и многое другое.
Забегая далеко вперед, там было найдено несколько прикольных уязвимостей, например, позволяющих добавить себя в любой чат, в который тебя не приглашали.
Но не об этом речь, наша цель - выполнение команд на сервере.

Так как были найдены логины и номера телефонов, теперь можно попробовать сбросить пароль для юзера (желательно привилегированного), от которого можно зайти веб-портал.
От текущего юзера я почему-то не смог залониться в веб.


Нашел нужного юзера, сбросил ему пароль (вышеуказанным способом) и залогинился в портал через веб.

7.png



Внутри портала:

8.png



Дальше все оказалось совсем просто.
Поиском ищем админов портала, смотрим их профили, берем их номера телефонов, логины (их так просто не увидешь, надо пошерстить код веб-страниц), сбрасываем пароли, и заходим в портал от имени админа.

Что дальше?
Думаю, что мало для кого секрет, что внутри битрикса есть интерфейсы, которые позволяют выполнять произвольный код на PHP совершенно легально.
Таким образом и было пробито это веб-приложение через мобилку. Мобилка не входила в scope, но оказалась точкой входа внутрь сети.

9.png


Спасибо за внимание! )
 

Вложения

  • 7.png
    7.png
    19,4 КБ · Просмотры: 241
Последнее редактирование:

teteshka

One Level
08.04.2020
2
1
BIT
12
Твоя статья про взлом Bitrix24 через мобилку — просто огонь! Ты круто разобрался в теме и всё так понятно расписал, что даже новичку ясно. Видно, что ты в теме кибербезопасности шаришь на все 100%. Было реально интересно читать про все эти фишки и этапы взлома. Отличная работа, так держать!
 
  • Нравится
Реакции: larchik

Rekaptcha

Red Team
05.05.2020
15
13
BIT
60
получается, что RCE легальная для определенного пула ролей, а весь взлом за счет osint'a

какое может быть решение по предотвращению? кажется только блочить перебор кода для восстановления
 
  • Нравится
Реакции: larchik

larchik

Gold Team
07.06.2019
415
481
BIT
66
получается, что RCE легальная для определенного пула ролей, а весь взлом за счет osint'a

какое может быть решение по предотвращению? кажется только блочить перебор кода для восстановления
Блочить перебор кода, уменьшить время жизни кода до пары минут, ограничить количество запросов кода, включить второй фактор аутентификации
 
  • Нравится
Реакции: D3L1F3R и Rekaptcha

D3L1F3R

Red Team
20.02.2022
354
152
BIT
735
Огонь, можешь попродробнее рассказать про то как ты пробросил трафки приложения через Burp?
Добавил в закладки
;)
 

larchik

Gold Team
07.06.2019
415
481
BIT
66
Огонь, можешь попродробнее рассказать про то как ты пробросил трафки приложения через Burp?
Добавил в закладки
;)
Да, постараюсь на днях запилить на эту тему статью, раз есть спрос.

P.S. Друзья, используйте дефолтный шрифт, пожалуйста.
 
Последнее редактирование:
  • Нравится
Реакции: harry14rus и D3L1F3R

larchik

Gold Team
07.06.2019
415
481
BIT
66
привет скажи пожалуйста откуда появился номер телефона пункт четыре если я не ощибаюсь ?

Привет. Номер был указан в профиле в ВК:
По скриншоту видно, что указана его полная дата рождения и номер телефона без последней цифры.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!