Исследование утечки
И так, сегодня мы с вами проведем исследование утечки, разберемся с тем, как могут использовать украденные данные. Проанализируем, а также составим небольшую инфографику по имеющимся данным.
Знакомимся с утечкой
Речь пойдет об утечке с сайта transseksualki.ru . Если немного погуглить то окажется что этот сайт "помогал людям с достаточно специфическими вкусами приукрасить скучные вечера".
Для начала ознакомимся с ресурсом благодаря WebArchive
Wayback Machine — это название одного из популярного веб архива сайтов. Иногда Wayback Machine используется как синоним «Интернет Архив».
Закидываем наш домен на проверку
Видим даты снимков с сайта, переходим на любую из них и получаем следкющий контент:
Ну, честно говоря, это просто какой-то трэш. И вкусы у людей должны быть ну не то что-бы просто извращённые, ну это уже клиника, но да ладно, мы пришли не за этим
Так вот, у этого замечательного ресурса надо же, случилась утечка данных, упоминаний самой утечки достаточно много, смысла находить первоисточник не вижу, но снимаю шляпу перед человеком сделавшим это сам поступок осуждаю, ибо это противозаконно, собственно как и ведение данного ресурса, что же интересного в утечке?
Собственно сама утечка
1 | ID 2 | Username 3 | Password 4 | Email 5 | Какое-то Bool значение (0 или 1) 6 | Какое-то Bool значение (0 или 1) 7 | Какое-то Bool значение (0 или 1) 8 | Скорее всего какой-то идентификатор 9 | Номер телефона 10| Какое-то Bool значение (0 или 1) 11| Время в UNIX - 1452884120 -Fri, 15 Jan 2016 18:55:20 12| Время в UNIX - 1452884120 -Fri, 15 Jan 2016 18:55:20 13| Время в UNIX - 1452884120 -Fri, 15 Jan 2016 18:55:20 14| Какое-то Bool значение (0 или 1) 15| Неустановленные трёхзначные цифры 16| IP адрес пользователя 17| Какое-то Bool значение (0 или 1) 18| Email (предположительно пригласителя) 19| Hash 20| Какое-то Bool значение (0 или 1)
Ну, красота же, как мы можем провзаимодействовать с полученными данными?
Сначала мне стало интересно выстроить следующие связи:
Пользователь (Email) -> IP
Пользователь (Email) -> Приглашенный
Ну казалось бы, что интересного может получится?
А вот что интересно:
Существует целая база мультиаккаунтов где на каждый IP адрес приходится:
1 IP | 92 Acc 1 IP | 83 Acc 1 IP | 75 Acc 1 IP | 58 Acc 1 IP | 55 Acc 1 IP | 51 Acc 1 IP | 46 Acc 1 IP | 43 Acc 1 IP | 40 Acc 1 IP | 40 Acc И так далее
Разбор того к чему именно относятся данные IPшники тема уже другого поста, необходимо исключить:
Находим интересную структуру, где условно:
Коля с абсолютно обычным IP пригласил Петю с IP которого > 10 аккаунтов, а также Петя пригласил обычного Васю с вполне обычным IP, считаю что за этот узел и можно было-бы взяться имея цель установить причину множества аккаунтов, а также пренадлежность IP адресов
Работаем с Python и строим карту
Написал примитивный скрип для преобразования IP в города, и при условии что города находятся в РФ, нанести их на карту
Для корректной работы необходимо в папку с скриптом закинуть GeoLite2-City.mmdb https://github.com/P3TERX/GeoLite.mmdb
import csv import folium import geoip2.database reader = geoip2.database.Reader('GeoLite2-City.mmdb') m = folium.Map([45.35, -121.6972], tiles="Cartodb dark_matter", zoom_start=12) folium.TileLayer('openstreetmap').add_to(m) folium.LayerControl().add_to(m) with open('transseksualki.ru.csv', 'r', encoding='UTF-8') as f: readers = csv.reader(f) for x in readers: ip = x[15] mail = x[3] try: iconCi = folium.features.CustomIcon('li.png',icon_size=(50,50)) response = reader.city(ip) # print(response.country.name) city = (response.city.name) if response.country.name == 'Russia': print(response.country.name) lat = (response.location.latitude) lon = (response.location.longitude) if lat != None: folium.Marker( location=[lat, lon], tooltip=mail, popup=city, icon=iconCi, ).add_to(m) except: None m.save('result.html')
Почему убрал другие страны?
Потому-что 12к+ меток, уж очень много, и даже при таком небольшом количестве, за счёт самодельной иконки вес файла привысил 90мб
Получаем карту, при наведению нажатие на метку которой, мы увидим почту человека, да, не учтены моменты с одними и теми же IP адресами, но нам важна быстрая визуалиация, и кстати что у нас вышло по городам?
А статистика по городам следующая:
- Москва - 4810 аккаунтов
- Франкфурт-на-Майне - 579 аккаунтов
- Амстердам - 342 аккаунта
- Самара - 261 аккаунт
- Санкт Петербург - 210 аккаунтов
- Тверь - 142 аккаунта
- Казань - 102 аккаунта
- Краснодар - 100 аккаунтов
- и так далее.
Самое интересное в аккаунтах из других стран, так как номера у данных аккаунтов, ни капли ни Германские в подтверждение этого, вот скрин ниже одного из владельцов IP
Что с этим делать?
На будущее - думать. Думать о том как хотя-бы не оставлять следы на различных сайтах, а уж темболее на ресурсах подобного плана, ведь утечка для некоторых лиц это не просто "слив данных", а возможность собрать компромат, шантажировать, и выполнять другие противозаконные действия.
В данном материале, опять без деанонимизации, нету кого здесь деанонимизировать, единственное на будущее думаю стоит проверить фотографии профилей на реальность и соответствие людям на указанных фотографиях, так чисто исключительно для проверки информации о мошенничестве ресурса.
Ну а на этом всё, не забывайте подписываться на наш канал:
НАШ КАНАЛ: https://t.me/ne_osint