Авто в кредит: Give me your personal data

в 13:28, , рубрики: информационная безопасность, персональные данные

image

Приветствую всех!
На этот пост меня вдохновил доклад Дейва Кронистера, выступавшего на конференции PHDays в этом году. Его доклад назывался "Give me your data", в котором он рассказал, как без особых навыков и знаний в области ИБ можно получить сегодня в сети множество информации о некоторых их нас.

В этом посте, на примере одной истории о компании по продаже авто в кредит, я расскажу Вам как можно с легкостью получить сведения о человеке.

Однажды, в свободное время в очередной раз бороздя просторы интернета мне попался на глаза ресурс с IP 46.161.1.35.
Быстренько натравив на этой IP nmap меня привлек открытый 80 и 443 порт.

image

Постучавшись по адресу, браузер любезно выдал мне две ссылки в виде кракозябл

image

Перейдя по каждой из ссылок, по адресу https://as.fin-ins.com/ и https://ansher.fin-ins.com/, ругаясь на сертификаты от некоего Дмитрия Морозова (хотя у меня почему-то сразу всплыли ассоциации с тем самым Павликом Морозовым), мне открылись две панели авторизации в сервисе под громким названием «Кредитная платформа»

image

На автомате потыкавшись пару раз в форму со стандартными логинами и паролями я решил поковырять директории ресурса. Для этого был запущен dirb

dirb https://as.fin-ins.com/ ~/dict.txt -w

Немного пошуршав, краулер выдал мне список найденного, среди которого был путь https://as.fin-ins.com/list.php.
Скопировав строку в браузер, меня редиректнуло снова на страницу авторизации. Однако буквально на долю секунды что-то мелькнуло перед глазами перед редиректом, так что мне показалось что просто пора бы уже завязывать с ночными посиделками перед компом. Но для полной уверенности проделав процедуру еще несколько раз я был уверен, что мне не показалось.
Тогда я решил выкачать страничку простым wget-ом

image

Каким же было мое удивление, открыв скачанную страничку и увидев в разметке следующее:

...
<body>
<div id='canvas'>
	<div id='top'>
		<img src=''>
		<div id='menu'><a href='list.php'><div class='menu'>МОИ ЗАЯВКИ</div></a>
				<a href='statement1.php'><div class='menu'>НОВАЯ ЗАЯВКА</div></a>
				<a href='reports.php'><div class='menu'>СТАТИСТИКА</div></a>


		</div>
		<div id='user_info'>,<br>
			<br>
			<a href='change_password.php'><input type='button' class='button' style='margin: 2px 0;' value='изменить пароль'></a><br>
			<a href='save.php?out=true'><input type='button' class='button' value='выход'></a><br><br>
		</div>
	</div>

		<script language='javascript'>
			setTimeout("location.href='error.php'", 0);
		</script>
		
		<script language='javascript'>
			setTimeout("location.href='list.php'", 120000);
		</script>
		
	<div id='main'>
		<div id='filter'>
			<form action='list.php' method='get'>
				<input list='status' name='status' size=20 maxlength=30 placeholder='статус' value=''>
					<datalist id='status'>
						<option value='черновик'>
						<option value='заполнена'>
						<option value='на рассмотрении'>
						<option value='не проходит'>
						<option value='отказано'>
						<option value='урезано'>
						<option value='одобрено'>
						<option value='на оформлении'>
						<option value='на подписании'>
						<option value='на выдачи'>
						<option value='выдано'>
						<option value='отказ клиента'>
						<option value='закрыта'>
					</datalist>
...

Это было явно не похоже на страничу авторизации. Мне отдалась страница, которая отображается авторизованным пользователям. Самым интересным в этом куске разметки были ссылки на другие страницы и

		<script language='javascript'>
			setTimeout("location.href='error.php'", 0);
		</script>
		
		<script language='javascript'>
			setTimeout("location.href='list.php'", 120000);
		</script>

Да, бинго! Система авторизации в «Кредитной платформе» основана на выставлении редиректа на error.php в возвращаемую сервером страницу, если вы не авторизованы. Отличный способ! Тут же был запущен Burp Suite.
Запустив локальный прокси-сервер и настроив на него браузер я включил опции Burp-a, вырезающую весь проходящий java-script из страницы (еще этот чудесный сервис дружит только с google-chrome, поэтому пришлось поменять и User-Agent)

После этого снова стуканувшись по указанному урлу, я увидел то, что и предполагалось — внутренную страницу сервиса.

Тут же ткнув в кнопку «Новая заявка», я попал на страничку с заполнением некой анкеты, которую судя по всему запоняет менеджер «Кредитной платформы»

Сюда вводятся все данные клиента, ФИО, номера паспорта, водительского удостоверения, места работы, сведения о доходах, о машине, которую желает преобрести в крудит клиент и прочее и прочее.
Особенно меня заинтересовал выпадающий список с под названием «Автосалон», в котором обнаружился список обсуживаемых точек.

Найти свой автосалон

Авинрос (Варшавка)
Авинрос (Южный порт)
АВТО ГРУПП
АВТО-АЛЬЯНС
АВТО-РАФ
Авто-Хом
Авто-Центр
Автокрокус
АвтоЛига
Автосистема
Агат
АЛИС
АУТЛЕТ
БизнесТрейд
Гала-Медиа
ГАЛАКТИКА
Ганеша
ГАРАНТАВТО
Гермес-Ауто
Гранд Купе
Гранд плюс
Евро Трейд
ЕВРО-Моторс
ЕвроКом
ЕвроМаркет
Импульс Групп
ИНВЕСТАВТО
Инициатива
Инсигния
К.Э.Н.
КАР-ЦЕНТР
КомандирЪ
Концепт
Легион
ЛИДЕР
Меджор-Моторс
МЕРИДИАН
МИР
Москва (ВТБ)
Москва (Сов.)
НЕПТУН
Открытый Мир
Престиж-Авто
ПРОГРЕСС
ПрогрессЭлит
Профиль
РА-АВТО
Респект-М
Роял Ярд
Роял Ярд
РусКомФинанс (Касаткина)
СКАЙ
Славянский
СОКОЛ
Стандарт-Групп
Стимул
СТРЕЕТКАРС
СтройАльянс
Такс-ИН
ТехноГрад
ТРЭЙД
ФАКТ
ФИНАНС ТРЕЙД ПЛЮС
ФораАвто
Форвард
Форевер
Фортуна Авто
Фоти Дейз Коллекшн
Хлебникова М.Б.
Центр юг
Центральный
Щукино-ЭМ Э
Эльрус-авто

Снова заглянув в код разметки страницы, мое внимание привлек кусок

<div id='main-vvod'>
<form action='save.php?statement=0' method='post'>

Похоже что все пляшет здесь от параметра statement. Дополнив текущую адресную строку предполагаемым параметром, сервер снова любезно отдал мне страничку, но на этот раз содержащую личные данные клиента.

Внимательно рассмотрев полученную станичку и данные на ней, я увидел что на страничке statement1.php все не заканчивается))

<a href='statement1.php?statement=1'>1.Анкета</a> -> 
<a href='statement2.php?statement=1'>2.Документы заявителя</a> ->
<a href='statement3.php?statement=1'>3.Банки</a> -> 
<a href='statement4.php?statement=1'>4.Сведения о ТС</a> ->
<a href='statement5.php?statement=1'>5.Документы для сделки</a> -> 
<a href='statement6.php?statement=1'>6.Подписанные документы</a> -> 
<a href='statement7.php?statement=1'>7.Закрытие заявки</a></div>

Впринципе, по названию ссылок примерно понятно, какие сведения о клиенте там можно найти. Например можно найти скан-копии паспортов, водительских удостоверений, банковских реквизитов клиента, и даже фотку из салона, где клиент улыбается и ждет, что ему таки дадут кредит на автомобиль.
Поизучав чудо-сервис если немного оказалось что все файлы лежат на сервере по адресу вида as.fin-ins.com/upload/files/$i, где i — идентификатор клиента в «Кредитной платформе». За пару минут стало понятно, что уникальных персональных данных в этой системе с 2013 года примерно 22 000 +. И каждый день это число пусть незначительно, но растет.
Таким образом с легкостью можно узнать все актулальные персональные данные гражданина, сканы его документов, договоров, если была совершена сделка, размер зарплаты и иногда банковские данные и многое другое.

Вместо заключения

Сейчас вокруг нас множество различных сервисов на любой вкус и цвет, однако безопасность многих из них заставляет желать лучшего. К огромному сожалению даже сейчас, когда из каждого утюга мы слышим про защиту персональных данных, как их надо хранить, как передвать и прочее, некоторые компании относятся к вопросам ИБ с особой халатностью и принебрежением к своему клиенту. Раз компания не может и не хочет обеспечить безопасность Ваших данных, лишний раз сами попробуйте проверить их безопасность, хотя бы приобретая автомобиль в кредит =)

P.S. На втором урле аналогичная проблема безопасности с отдельной базой клиентов, правда гораздо меньшая по размеру. Кстати говоря, сервер на сегодняшний день уязвим к CVE-2014-0160, так что желающие могут попробовать угнать пароли пользователей системы, да и других векторов для получения профита там хватает.

Автор: Legolas

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js