اثنان في واحد: البيانات السياحية وتذاكر الأحداث الثقافية كانت متاحة للجمهور

اليوم ، سننظر في حالتين في وقت واحد - بيانات العملاء والشركاء لشركتين مختلفتين تمامًا تبين أنها موجودة في المجال العام "بفضل" خوادم Elasticsearch المفتوحة ذات سجلات أنظمة المعلومات (IS) الخاصة بهذه الشركات.



في الحالة الأولى ، هذه هي عشرات الآلاف (أو ربما مئات الآلاف) من تذاكر الأحداث الثقافية المختلفة (المسارح ، الأندية ، مناحي الأنهار ، إلخ) التي تباع من خلال نظام Radario ( www.radario.ru ).


في الحالة الثانية ، هذه هي البيانات عن الرحلات السياحية بآلاف (ربما عدة عشرات الآلاف) من المسافرين الذين اشتروا جولات من خلال وكالات السفر المتصلة بنظام Sletat.ru ( www.sletat.ru ).


وألاحظ على الفور أن أسماء الشركات التي سمحت بتوفر البيانات متاحة للجمهور لا تختلف فقط ، بل تختلف أيضًا عن نهج هذه الشركات في التعرف على الحادث ورد الفعل اللاحق عليها. لكن أول الأشياء أولاً ...


: . . , .


القضية الأولى. "الرادار"


في مساء يوم 05/06/2019 ، وجد نظامنا خادم Elasticsearch ، المملوك لخدمة مبيعات التذاكر الإلكترونية Radario ، في حرية الوصول .


وفقًا للتقليد المحزن بالفعل ، احتوى الخادم على سجلات مفصلة لنظام معلومات الخدمة ، حيث كان من الممكن الحصول على البيانات الشخصية وتسجيلات دخول المستخدمين وكلمات المرور ، بالإضافة إلى التذاكر الإلكترونية مباشرة إلى مختلف الأحداث في جميع أنحاء البلاد.



تجاوز إجمالي حجم السجلات 1 تيرابايت.


وفقا لمحرك البحث Shodan ، كان الخادم في المجال العام منذ 03/11/2019. أخطرت موظفي Radario في الساعة 05/06/2019 في الساعة 22:50 (بتوقيت موسكو) ، وفي 05/07/2019 في حوالي الساعة 9:30 صباحًا ، أصبح الخادم غير متاح.


احتوت السجلات على رمز تفويض عالمي (فردي) يوفر الوصول إلى جميع التذاكر المشتراة عبر روابط خاصة ، من النموذج:


 http://radario.ru/internal/tickets/XXXXXXXX/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk http://radario.ru/internal/orders/YYYYYYY/print?access_token=******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk 

تكمن المشكلة أيضًا في حقيقة أنه تم استخدام عدد التذاكر من خلال ترقيم الطلبات وببساطة الفرز عبر رقم التذكرة ( XXXXXXXX ) أو الطلب ( YYYYYYY ) ، كان من الممكن الحصول على جميع التذاكر من النظام.


للتحقق من أهمية قاعدة البيانات ، حتى أنني اشتريت بنفسي أرخص تذكرة:




واكتشفها لاحقًا على خادم عام في سجلات IP:


 http://radario.ru/internal/tickets/11819272/print?access_token==******JuYWw6MDIzOWRjOTM1NzJiNDZjMTlhZGFjZmRhZTQ3ZDgyYTk 

أود أيضًا أن أؤكد أن التذاكر كانت متاحة للأحداث الماضية وللأحداث التي لا تزال قيد التخطيط. بمعنى أنه يمكن للمهاجم المحتمل استخدام تذكرة شخص آخر للوصول إلى الحدث المخطط له.


في المتوسط ​​، في كل مؤشر Elasticsearch يحتوي على سجلات ليوم واحد محدد (من 24 يناير 2019 إلى 7 مايو 2019) ، كان هناك من 25 إلى 35 ألف تذكرة.


بالإضافة إلى التذاكر نفسها ، تضمن الفهرس أيضًا عمليات تسجيل الدخول (عناوين البريد الإلكتروني) وكلمات المرور النصية للوصول إلى الحسابات الشخصية لشركاء Radario الذين يبيعون تذاكر لأحداثهم من خلال هذه الخدمة:


 Content: \"ReturnUrl=&UserEmail=***@yandex.ru&UserPassword=***\" 

في المجموع ، تم العثور على أكثر من 500 زوجًا لتسجيل الدخول / كلمة المرور. في الحسابات الشخصية للشركاء ، يمكنك مشاهدة إحصائيات مبيعات التذاكر:



أيضًا ، في المجال العام ، كانت هناك أسماء كاملة وأرقام هواتف وعناوين بريد إلكتروني للمشترين الذين قرروا إرجاع التذاكر التي تم شراؤها مسبقًا:


 "Content": "{\"name\":\"***\",\"surname\":\"*** \",\"middleName\":\" \",\"passportType\":1,\"passportNumber\":\"\",\"passportIssueDate\":\"11-11-2011 11:11:11\",\"passportIssuedBy\":\"\",\"email\":\"***@mail.ru\",\"phone\":\"+799*******\",\"ticketNumbers\":[\"****24848\",\"****948732\"],\"refundReason\":4,\"comment\":\"\"}" 

في يوم واحد تم اختياره عشوائيًا ، تم اكتشاف أكثر من 500 من هذه السجلات.


تلقيت ردًا على التنبيه من المدير الفني لـ Radario:


أنا CTO Radario ، وأود أن أشكركم على اكتشاف المشكلة. الوصول إلى المرونة ، كما تعلمون ، لقد أغلقنا ونعمل على حل مشكلة إعادة إصدار التذاكر للعملاء.

بعد ذلك بقليل ، أصدرت الشركة بيانًا رسميًا:


وقال كيريل ماليشيف ، مدير التسويق في الشركة ، لوكالة أنباء موسكو ، إنه تم اكتشاف ثغرة أمنية في نظام التذاكر الإلكترونية Radario الذي دفع إلى تسرب بيانات خدمة العملاء في الوقت المناسب.

"لقد اكتشفنا بالفعل ثغرة أمنية في تشغيل النظام المرتبط بالتحديثات المنتظمة ، والتي تم إصلاحها فور اكتشافها. نتيجة للتعرض ، في ظل ظروف معينة ، قد تؤدي الإجراءات غير الودية التي تقوم بها أطراف ثالثة إلى تسرب البيانات ، ولكن لم تسجل أي حوادث. في الوقت الحالي ، تم القضاء على جميع الأعطال "، قال ك.

أكد ممثل الشركة أنه تقرر إعادة إصدار جميع التذاكر المباعة خلال حل المشكلة من أجل القضاء التام على إمكانية أي احتيال فيما يتعلق بعملاء الخدمة.

بعد أيام قليلة ، راجعت مدى توفر البيانات على الروابط المسربة - تمت تغطية حق الوصول إلى التذاكر "المميزة". في رأيي ، هذا نهج كفء ومحترف لحل مشكلة تسرب البيانات.


القضية الثانية. "Sletat.ru"


في وقت مبكر من صباح يوم 05/15/2019 كشفت DeviceLock Data Breach Intelligence عن خادم Elasticsearch عام به سجلات IP معينة.



في وقت لاحق ثبت أن الخادم ينتمي إلى الخدمة لاختيار الجولات "Fly.ru".


من فهرس cbto__0 ، كان من الممكن الحصول على الآلاف (11.7 ألفًا بما في ذلك التكرارات) من عناوين البريد الإلكتروني ، وكذلك بعض معلومات الدفع (تكلفة الجولات) ومعلومات السفر (متى وأين ، وتذاكر السفر لجميع المسافرين المشمولين في الجولة ، إلخ. ) بحوالي 1.8 ألف سجل:


 "full_message": "     : {\"SuccessReturnUrl\":\"https://sletat.ru/tour/7-1939548394-65996246/buy/?ClaimId=b5e3bf98-2855-400d-a93a-17c54a970155\",\"ErrorReturnUrl\":\"https://sletat.ru/\",\"PaymentAgentId\":15,\"DocumentNumber\":96629429,\"DocumentDisplayNumber\":\"4451-17993\",\"Amount\":36307.0,\"PaymentToolType\":3,\"ExpiryDateUtc\":\"2020-04-03T00:33:55.217358+03:00\",\"LifecycleType\":2,\"CustomerEmail\":\"XXX@mail.ru\",\"Description\":\"\",\"SettingsId\":\"8759d0dd-da54-45dd-9661-4e852b0a1d89\",\"AdditionalInfo\":\"{\\\"TourOfficeAdditionalInfo\\\":{\\\"IsAdditionalPayment\\\":false},\\\"BarrelAdditionalInfo\\\":{\\\"Tickets\\\":[{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX VIKTORIIA\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false},{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX ANDREI\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false},{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX Andrei\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false}],\\\"Segments\\\":[{\\\"Flight\\\":\\\"5659\\\",\\\"AviaCompany\\\":null,\\\"AviaCompanyIataCode\\\":null,\\\"DepartureCity\\\":\\\"LED\\\",\\\"DepartureAirport\\\":\\\"LED\\\",\\\"DepartureAirportIataCode\\\":\\\"LED\\\",\\\"DepartureDate\\\":\\\"2019-04-11T02:45:00\\\",\\\"DepartureTime\\\":null,\\\"ArrivalCity\\\":\\\"SHJ\\\",\\\"ArrivalAirport\\\":\\\"SHJ\\\",\\\"ArrivalAirportIataCode\\\":\\\"SHJ\\\",\\\"ArrivalDate\\\":\\\"2019-04-11T09:40:00\\\",\\\"ArrivalTime\\\":null,\\\"FareCode\\\":null},{\\\"Flight\\\":\\\"5660\\\",\\\"AviaCompany\\\":null,\\\"AviaCompanyIataCode\\\":null,\\\"DepartureCity\\\":\\\"SHJ\\\",\\\"DepartureAirport\\\":\\\"SHJ\\\",\\\"DepartureAirportIataCode\\\":\\\"SHJ\\\",\\\"DepartureDate\\\":\\\"2019-04-14T10:45:00\\\",\\\"DepartureTime\\\":null,\\\"ArrivalCity\\\":\\\"LED\\\",\\\"ArrivalAirport\\\":\\\"LED\\\",\\\"ArrivalAirportIataCode\\\":\\\"LED\\\",\\\"ArrivalDate\\\":\\\"2019-04-14T15:50:00\\\",\\\"ArrivalTime\\\":null,\\\"FareCode\\\":null}]},\\\"Tickets\\\":[{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX VIKTORIIA\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false},{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX ANDREI\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false},{\\\"Passenger\\\":{\\\"FIO\\\":\\\"XXX Andrei\\\"},\\\"ReservationSystem\\\":null,\\\"TicketNumber\\\":null,\\\"IsRefundPossible\\\":false}],\\\"Segments\\\":[{\\\"Flight\\\":\\\"5659\\\",\\\"AviaCompany\\\":null,\\\"AviaCompanyIataCode\\\":null,\\\"DepartureCity\\\":\\\"LED\\\",\\\"DepartureAirport\\\":\\\"LED\\\",\\\"DepartureAirportIataCode\\\":\\\"LED\\\",\\\"DepartureDate\\\":\\\"2019-04-11T02:45:00\\\",\\\"DepartureTime\\\":null,\\\"ArrivalCity\\\":\\\"SHJ\\\",\\\"ArrivalAirport\\\":\\\"SHJ\\\",\\\"ArrivalAirportIataCode\\\":\\\"SHJ\\\",\\\"ArrivalDate\\\":\\\"2019-04-11T09:40:00\\\",\\\"ArrivalTime\\\":null,\\\"FareCode\\\":null},{\\\"Flight\\\":\\\"5660\\\",\\\"AviaCompany\\\":null,\\\"AviaCompanyIataCode\\\":null,\\\"DepartureCity\\\":\\\"SHJ\\\",\\\"DepartureAirport\\\":\\\"SHJ\\\",\\\"DepartureAirportIataCode\\\":\\\"SHJ\\\",\\\"DepartureDate\\\":\\\"2019-04-14T10:45:00\\\",\\\"DepartureTime\\\":null,\\\"ArrivalCity\\\":\\\"LED\\\",\\\"ArrivalAirport\\\":\\\"LED\\\",\\\"ArrivalAirportIataCode\\\":\\\"LED\\\",\\\"ArrivalDate\\\":\\\"2019-04-14T15:50:00\\\",\\\"ArrivalTime\\\":null,\\\"FareCode\\\":null}]}\",\"FinancialSystemId\":9,\"Key\":\"18fe21d1-8c9c-43f3-b11d-6bf884ba6ee0\"}" 

بالمناسبة ، تعمل روابط إلى جولات مدفوعة الأجر:



في الفهارس التي تحمل اسم graylog_ في نص عادي ، كانت تسجيلات وكلمات مرور وكالات السفر المتصلة بنظام Sletat.ru وبيع الجولات لعملائها:


 "full_message": "Tours by request 155213901 added to local cache with key 'user_cache_155213901' at 5/6/2019 4:49:07 PM, rows found 0, sortedPriceLength 215. QueryString: countryId=90&cityFromId=1265&s_nightsMin=6&s_nightsMax=14&stars=403%2c404&minHotelRating=1&currencyAlias=RUB&pageSize=300&pageNumber=1&s_showcase=true&includeOilTaxesAndVisa=0&login=zakaz%40XXX.ru&password=XXX, Referer: , UserAgent: , IP: 94.154.XX.XX." 

وفقًا لتقديراتي ، تم إضاءة عدة مئات من أزواج تسجيل الدخول / كلمة المرور.


من الحساب الشخصي لوكالة السفر على بوابة agent.sletat.ru ، كان من الممكن الحصول على بيانات العميل ، بما في ذلك أرقام جواز السفر وأرقام جواز السفر وتواريخ الميلاد والاسم والهاتف وعنوان البريد الإلكتروني.



لقد أخطرت خدمة Sletat.ru في 05/15/2019 الساعة 10:46 (بتوقيت موسكو) وبعد بضع ساعات (حتى 16:00) اختفى خادم Elasticsearch من الوصول المجاني. في وقت لاحق ، ردًا على منشور في كوميرسانت ، أدلت إدارة الخدمة ببيان غريب جدًا عبر وسائل الإعلام:


أوضح رئيس الشركة ، Andrei Vershinin ، أن Sletat.ru يوفر لعدد من أكبر منظمي الرحلات السياحية الشريكة إمكانية الوصول إلى تاريخ الاستعلامات في محرك البحث. واقترح أن DeviceLock تلقى ذلك: "ومع ذلك ، في قاعدة البيانات المحددة لا توجد بيانات جواز السفر للسياح ، وتسجيل الدخول وكلمات المرور لوكالات السفر ، وبيانات الدفع ، وما إلى ذلك" لاحظ Andrei Vershinin أن "Sletat.ru" لم يتلق بعد أي دليل على هذه الادعاءات الخطيرة. "نحاول الآن الاتصال بـ DeviceLock. نحن نعتقد أن هذا أمر. وأضاف "بعض الناس لا يحبون نمونا السريع". "

كما هو موضح أعلاه ، فإن كلا من معلومات تسجيل الدخول وكلمات المرور وبيانات جواز السفر الخاصة بالسائحين كانت موجودة في المجال العام لفترة طويلة (على الأقل من 03/29 ، عندما تم إتاحة خادم الشركة للجمهور أولاً بواسطة محرك بحث Shodan). بالطبع ، لم يتصل بنا أحد. آمل أن تكون وكالات السفر قد أبلغتهم على الأقل عن التسريب وأجبرتهم على تغيير كلمات المرور.


يمكن دائمًا العثور على أخبار حول تسرب المعلومات والمطلعين على قناة Telegram الخاصة بي " تسرب المعلومات ".

Source: https://habr.com/ru/post/ar452698/


All Articles