今天,我们将立即研究两种情况-两家完全不同公司的客户和合作伙伴的数据被证明可以免费访问“感谢”带有这些公司的信息系统(IS)日志的Elasticsearch开放服务器。

在第一种情况下,这些是通过Radario系统( www.radario.ru )出售的成千上万(或成千上万)各种文化活动(剧院,俱乐部,河道等)的门票。
在第二种情况下,这是关于通过连接到Sletat.ru系统( www.sletat.ru )的旅行社购买旅行团的成千上万名游客的旅行数据。
我马上注意到,不仅允许公开提供数据的公司名称不同,而且这些公司对事件的识别以及对事件的后续反应也有所不同。 但是首先要先...
: . . , .
案例一 拉达里奥
在2019年5月6日晚上,我们的系统免费访问了由电子售票服务Radario拥有的Elasticsearch服务器 。
根据已经建立的悲惨传统,服务器包含服务信息系统的详细日志,可以从中获取个人数据,用户登录名和密码,以及直接获得全国各地各种活动的电子门票。

日志总数超过1 Tb。
根据搜索引擎Shodan的说法,该服务器自2019年11月11日以来一直处于公共领域。 我于2019年5月6日22:50(莫斯科时间)通知Radario员工,并于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
我还要强调一点,既有过去活动的门票,也有仍在计划中的门票。 也就是说,潜在的攻击者可能会使用他人的票证来计划事件。
平均而言,在每个包含一天特定日志(从2019年1月24日到2019年5月7日)的Elasticsearch索引中,门票数量从25到3.5万。
除了门票本身之外,索引还包含登录名(电子邮件地址)和文本密码,以访问通过此服务出售其活动门票的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,非常感谢您发现问题。 如您所知,访问弹性服务已关闭,正在解决为客户重新发行票的问题。
不久之后,该公司发表了正式声明:
该公司市场总监Kirill Malyshev向莫斯科通讯社表示,在Radario电子票务系统中发现了一个漏洞,该漏洞促使及时泄露客户服务数据。
“我们确实发现了与常规更新相关的系统操作漏洞,该漏洞在检测到后立即得到修复。 由于存在此漏洞,在某些情况下,第三方的不友好行为可能导致数据泄漏,但未记录任何事件。 目前,所有故障都已消除,” K。Malyshev说。
该公司代表强调说,已决定重新发行在解决问题期间售出的所有票证,以完全消除与服务客户有关的任何欺诈行为的可能性。
几天后,我检查了泄漏链接上数据的可用性-真正涵盖了“突出显示”票证的访问。 我认为,这是解决数据泄漏问题的有效且专业的方法。
案例二。 “ Fly.ru”
2019年5月15日凌晨, DeviceLock Data Breach Intelligence透露了一个带有特定IP日志的公共Elasticsearch服务器。

后来确定服务器属于用于选择游览“ Fly.ru”的服务。
从cbto__0索引中,可以获取数千个电子邮件地址(包括重复项,为1.17万个),以及一些付款信息(旅行费用)和旅行信息(时间,地点,旅行中所有旅行者的机票价格等)。 )约有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¤cyAlias=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门户上旅行社的个人帐户中,可以获取客户数据,包括护照号码,护照号码,出生日期,姓名,电话号码和电子邮件地址。

我于05/15/2019 10:46(莫斯科时间)通知了Sletat.ru服务,几个小时后(直到16:00)Elasticsearch服务器从免费访问中消失了。 后来,为了回应Kommersant的出版物,该服务的管理层通过媒体发表了一个非常奇怪的声明:
该公司负责人Andrei Vershinin解释说,Sletat.ru为许多最大的旅行社-合作伙伴提供了访问搜索系统中查询历史的权限。 他建议DeviceLock接收它:“但是,在指定的数据库中,没有游客的护照数据,旅行社的登录名和密码,付款数据等。” Andrei Vershinin指出,“ Sletat.ru”尚未收到任何有关此类严重指控的证据。 “现在,我们正在尝试联系DeviceLock。 我们认为这是命令。 他补充说,有些人不喜欢我们的快速增长。 ”
如上所示,游客的登录名,密码和护照数据都已经存在很长一段时间了(至少从2019年3月29日开始,当时Shodan搜索引擎首次公开提供公司的服务器)。 当然,没有人与我们联系。 我希望至少旅行社通知泄漏,并强迫他们更改密码。
有关信息泄漏和内部人员的新闻总能在我的电报频道“ Information Leaks ”中找到。