Carding Forum
Professional
- Messages
- 2,788
- Reaction score
- 1,170
- Points
- 113
Статья создана для того, чтобы пользователи могли проанализировать анонимность своего присутствия в Интернете и предоставить более подробную информацию о методах проверки. Для начала зайдите на BrowserLeaks (или аналогичный). Мы поговорим о 14 методах проверки:
1. Заголовки
Некоторые прокси добавляют свои заголовки к запросу, инициированному браузером пользователя. Часто это реальный IP-адрес пользователя. Убедитесь, что если прокси-сервер пишет что-либо в заголовках, перечисленных ниже, то это, по крайней мере, не ваш адрес:
HTTP_VIA, HTTP_X_FORWARDED_FOR, HTTP_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED, HTTP_CLIENT_IP, HTTP_FORWARDED_FOR_IP, VIA, X_FORWARDED_FOR, FORWARDED_FOR, X_FORWARDED, FORWARDED, CLIENT_IP, FORWARDED_FOR_IP, HTTP_PROXY_CONNECTION
2. Открыть порты HTTP-прокси
IP-адрес, с которого пришел запрос на нашу страницу, может многое раскрыть. Например, можно посмотреть, какие порты открыты на другой стороне? Самые подгоревшие порты: 3128, 1080 и 8123. Если вы избегаете их использования, то можете легко избежать необоснованных подозрений в использовании 3proxy, SOCKS 5 или Polipo.
3. Открыть порты веб-прокси
Как и в случае с HTTP, вы можете назначить веб-прокси любому порту, но мы хотели, чтобы тест выполнялся очень быстро, поэтому ограничили его обратными соединениями на портах 80 и 8080. Возвращается ли веб-страница? Отлично! На данный момент мы можем идентифицировать PHProxy, CGIProxy, Cohula и Glype. Нестандартные порты с аутентификацией закрывают проблему.
4. Подозрительное имя хоста
Имея IP-адрес, вы можете попытаться определить имя хоста клиента. Стоп-слова, которые могут намекать на туннель: vpn, hide, hidden, proxy. Не рекомендуется связывать доменные имена с персональными VPN, а если вы это делаете, лучше избегать «говорящих» имен.
5. Разница в часовых поясах (браузер и IP)
На основе данных GeoIP можно определить страну по IP пользователя и, соответственно, его часовой пояс. Затем можно рассчитать разницу во времени между браузером и временем, соответствующим часовому поясу VPN-сервера. Есть ли разница? Тогда пользователь, скорее всего, скрывается. Для России нет точной базы широты и долготы регионов, и поскольку существует множество часовых поясов, мы не учитываем эти адреса в конечном результате. С европейскими странами все наоборот — они легко раскрываются. При переходе на VPN не забудьте настроить системное время, изменить время в браузере или работать с прокси.
6. IP-адрес, принадлежащий сети
Если ваш IP-адрес - узел Tor из списка сайта - поздравляем! Вас разоблачили.
Ничего криминального, но сам факт раскрытия того, что вы скрываетесь, не очень приятен.
7. Режим
Собирая диапазоны IP-адресов Google, Safari, Opera и сравнивая их с адресом пользователя, можно предположить использование сервисов сжатия трафика в браузерах этих компаний. Обычно эти сервисы также сливают ваш реальный адрес в заголовках. Не полагайтесь на сжатие трафика как на инструмент анонимности.
8. Обнаружение веб-прокси (метод JS)
Сравнивая window.location.hostname с хостом запрашиваемой страницы, вы можете определить, используется ли веб-прокси.
Веб-прокси (наши анонимайзеры) обычно ненадежны, поэтому лучше вообще избегать таких методов анонимизации.
9. Утечка IP через Flash
Adobe Flash отлично работает, обходя прокси-серверы пользователей. Инициируя подключение к нашему серверу, вы можете определить IP пользователя. Запустив специальный демон, который регистрирует все входящие соединения с ключевыми тегами, вы можете узнать много нового. Лучший способ не раскрывать свой адрес — вообще не использовать Adobe Flash или отключить его в настройках браузера. Например, браузер Firefox по умолчанию отключает Flash, поэтому стоит это учесть.
10. Обнаружение туннелей (двусторонний пинг)
Пингуя IP клиента со стороны нашего сервера, вы можете определить приблизительную длину маршрута. То же самое можно сделать со стороны браузера; XMLHttpRequest извлекает пустую страницу из нашего nginx. Разница в цикле более 30 мс может быть интерпретирована как туннель. Конечно, маршруты туда и обратно могут отличаться или веб-сервер может немного замедлиться, но в целом точность довольно хорошая. Единственный способ защитить себя — заблокировать трафик ICMP на ваш VPN-сервер, правильно настроив брандмауэр.
11. Утечка
Узнать, какой DNS использует пользователь, не проблема; мы написали свой DNS-сервер, который записывает все запросы к нашим уникально сгенерированным поддоменам. Следующим шагом был сбор статистики по нескольким миллионам пользователей, которые используют какой DNS. Мы связали их с провайдерами, отбросили публичный DNS и получили список пар DNS/ISP. Теперь довольно легко узнать, утверждает ли пользователь, что он абонент одной сети, но использует DNS из другой. Использование публичных DNS-сервисов частично решает проблему.
12. Утечка через социальные сети
Это не утечка IP-адреса, но, например, Facebook, обмениваясь именами авторизованных пользователей налево и направо, сливает личные данные, что подрывает всю анонимность серфинга. Кнопка «Выйти» после каждой сессии обычно решает проблему, но лучшая рекомендация — не пользоваться социальными сетями...
13. WEB-RTC
WebRTC позволяет устанавливать видеоконференции без использования плагинов через современные браузеры, такие как Mozilla и Chrome, но при этом раскрывает ваш реальный IP даже при использовании VPN, а также список всех локальных IP-адресов за NAT. WebRTC поддерживается только в браузерах Chrome и Firefox. В браузерах Internet Explorer и Safari нет собственной поддержки WebRTC.
Отключение WebRTC в Firefox:
Введите в адресной строке браузера: about:config
Введите в поиске: media.peerconnection.enabled
Установите значение «false» и проверьте еще раз!
Отключение WebRTC в Chrome:
Чтобы заблокировать WebRTC в Google Chrome, вам необходимо установить плагин WebRTC Block.
Отключение WebRTC на Android для пользователей Chrome :
В адресной строке браузера Chrome введите: chrome://flags/#disable-webrtc
Установите значение «enable».
Другой альтернативный способ обнаружения прокси и VPN:
14. MSS и MTU
MTU или Maximum Transmission Unit — это максимальный объем данных, который может быть передан в одном пакете. MTU устанавливается для каждого сетевого адаптера, даже для маршрутизаторов, через которые проходит трафик от вас к удаленному серверу. В большинстве случаев в Интернете используется MTU 1500, но есть заметные исключения, которые часто следуют определенным правилам. Когда ваш браузер или любое другое сетевое программное обеспечение создает TCP-соединение с удаленным сервером, значение Maximum Segment Size (MSS) помещается в заголовки пакетов. Это значение информирует сервер о максимальном размере сегмента, который он может передать в одном пакете. Оно очень близко к Maximum Transmission Unit (MTU) и немедленно информирует сервер о возможностях вашего интернет-соединения, исключая ненужную фрагментацию и позволяя полностью использовать ваш канал. Когда вы отправляете пакет, будучи подключенным к VPN с использованием протокола (PPTP, L2TP(IPsec), IPsec IKE), он инкапсулируется в другой пакет, что влечет за собой накладные расходы. Большие пакеты, которые были бы отправлены без фрагментации без VPN, теперь необходимо фрагментировать. Чтобы избежать такой фрагментации, операционная система устанавливает более низкий MTU на сетевом интерфейсе, чем MTU реального сетевого интерфейса, поэтому ОС не пытается создавать большие пакеты, которые потребуют фрагментации. В случае PPTP, L2TP(IPsec), IPsec нет стандартов для туннельного MTU; значения устанавливаются для работы в большинстве случаев, часто устанавливаются по оценке. Обычно это 1400, что позволяет использовать PPTP на каналах с MTU до 1440 без фрагментации.
OpenVPN — один из самых популярных вариантов VPN. Когда требуется совместимость со старым или проблемным программным обеспечением, OpenVPN не устанавливает более низкое значение MTU на интерфейсе VPN по умолчанию, а изменяет значение MSS внутри инкапсулированного TCP-пакета. Это контролируется параметром mssfix, установленным по умолчанию на 1450. Он настраивает MSS для полного использования канала с MTU 1450, вычисляя свои накладные расходы для прохождения через канал с MTU 1450 и выше без фрагментации. В результате мы можем не только идентифицировать пользователей OpenVPN с помощью стандартного mssfix 1450, но и определить их протокол соединения (IPv4, IPv6), протокол транспортного уровня (TCP, UDP), параметры шифрования, сжатие и MAC, поскольку они вносят свои уникальные накладные расходы, отраженные в MSS. Если используется 64-битное шифрование — это Blowfish. Если 128-битное — это AES.
Тестирование двух VPN-сервисов: VyprVPN и ibVPN. Оба сервиса подвержены идентификации настроек с использованием описанного метода. Если вы не хотите, чтобы вас обнаруживали таким образом, вы можете отключить mssfix, установив его на 0 как на сервере, так и на клиентах, тем самым получив MSS 1460 (типично для IPv4), что соответствует MTU 1500 — типичному MTU для обычного проводного соединения, которое есть у подавляющего большинства пользователей. Однако в этом случае вы столкнетесь с ненужной фрагментацией, что приведет к увеличению задержек и снижению пропускной способности. Поэтому желательно установить MTU на 1400, 1380 или аналогичное (должно быть кратно 10), поскольку такие значения часто используются провайдерами — например, в мобильных интернет-подключениях.
Теперь поговорим о «ВЕДЬМЕ?»
Этот небольшой проект расскажет вам о настройках вашего OpenVPN-подключения (если вы не меняли mssfix), попытается определить вашу ОС и сравнить ее с ОС в User-Agent, получить запись PTR для вашего IP-адреса и сравнить ее с набором правил, определяя, используете ли вы интернет-канал, предназначенный для домашних пользователей или пользователей сервера.
Первое появление = 2015/07/24 17:19:29
Последнее обновление = 2015/07/24 18:39:37
Всего потоков = 7
Обнаруженная ОС = Linux 3.11 и новее
ПО HTTP = Firefox 10.x или новее (ID кажется законным)
MTU = 1409
Сетевое соединение = OpenVPN UDP bs64 SHA1
Язык = Русский
Расстояние = 15
Время работы = 1 день 19 часов 39 минут (по модулю 165 дней)
Тест PTR = Вероятно, домашний пользователь
Отпечаток пальца и ОС совпадают. Прокси-сервер не обнаружен.
OpenVPN обнаружен. Размер блока — 64 байта (вероятно, Blowfish), MAC — SHA1.
WITCH? также легко идентифицирует пользователей Tor Browser, поскольку он использует тот же статический User-Agent (как Windows) на всех ОС, а выходные узлы работают под управлением Linux и FreeBSD. В результате тестирования на разных ОС и провайдерах:
- Мобильный Интернет от некоторых провайдеров пропускает все соединения через прокси-сервер под управлением Linux. Это было обнаружено, когда человек заходил на WITCH? с iPhone, и ОС была идентифицирована как Linux. Вероятно, именно так они меняют HTML-теги и изменяют дизайн веб-сайтов.
- MTU для мобильных устройств может быть практически любым, но обычно заканчивается на 0. Одна и та же SIM-карта в разных телефонах использует разные значения MTU.
- Код, отвечающий за mssfix в OpenVPN, очень медленный.
В конце статьи предлагаю протестировать замечательный ресурс p0f.
Этот проект может пассивно прослушивать трафик, определять ОС, MTU и браузер, уведомлять о несоответствии ОС между создателем пакета и User-Agent. p0f также имеет API. С некоторыми модификациями и обновлениями сигнатур его можно использовать для обнаружения пользователей популярных протоколов VPN, пользователей прокси и тех, кто подделывает информацию User-Agent.
1. Заголовки
Некоторые прокси добавляют свои заголовки к запросу, инициированному браузером пользователя. Часто это реальный IP-адрес пользователя. Убедитесь, что если прокси-сервер пишет что-либо в заголовках, перечисленных ниже, то это, по крайней мере, не ваш адрес:
HTTP_VIA, HTTP_X_FORWARDED_FOR, HTTP_FORWARDED_FOR, HTTP_X_FORWARDED, HTTP_FORWARDED, HTTP_CLIENT_IP, HTTP_FORWARDED_FOR_IP, VIA, X_FORWARDED_FOR, FORWARDED_FOR, X_FORWARDED, FORWARDED, CLIENT_IP, FORWARDED_FOR_IP, HTTP_PROXY_CONNECTION
2. Открыть порты HTTP-прокси
IP-адрес, с которого пришел запрос на нашу страницу, может многое раскрыть. Например, можно посмотреть, какие порты открыты на другой стороне? Самые подгоревшие порты: 3128, 1080 и 8123. Если вы избегаете их использования, то можете легко избежать необоснованных подозрений в использовании 3proxy, SOCKS 5 или Polipo.
3. Открыть порты веб-прокси
Как и в случае с HTTP, вы можете назначить веб-прокси любому порту, но мы хотели, чтобы тест выполнялся очень быстро, поэтому ограничили его обратными соединениями на портах 80 и 8080. Возвращается ли веб-страница? Отлично! На данный момент мы можем идентифицировать PHProxy, CGIProxy, Cohula и Glype. Нестандартные порты с аутентификацией закрывают проблему.
4. Подозрительное имя хоста
Имея IP-адрес, вы можете попытаться определить имя хоста клиента. Стоп-слова, которые могут намекать на туннель: vpn, hide, hidden, proxy. Не рекомендуется связывать доменные имена с персональными VPN, а если вы это делаете, лучше избегать «говорящих» имен.
5. Разница в часовых поясах (браузер и IP)
На основе данных GeoIP можно определить страну по IP пользователя и, соответственно, его часовой пояс. Затем можно рассчитать разницу во времени между браузером и временем, соответствующим часовому поясу VPN-сервера. Есть ли разница? Тогда пользователь, скорее всего, скрывается. Для России нет точной базы широты и долготы регионов, и поскольку существует множество часовых поясов, мы не учитываем эти адреса в конечном результате. С европейскими странами все наоборот — они легко раскрываются. При переходе на VPN не забудьте настроить системное время, изменить время в браузере или работать с прокси.
6. IP-адрес, принадлежащий сети
Если ваш IP-адрес - узел Tor из списка сайта - поздравляем! Вас разоблачили.
Ничего криминального, но сам факт раскрытия того, что вы скрываетесь, не очень приятен.
7. Режим
Собирая диапазоны IP-адресов Google, Safari, Opera и сравнивая их с адресом пользователя, можно предположить использование сервисов сжатия трафика в браузерах этих компаний. Обычно эти сервисы также сливают ваш реальный адрес в заголовках. Не полагайтесь на сжатие трафика как на инструмент анонимности.
8. Обнаружение веб-прокси (метод JS)
Сравнивая window.location.hostname с хостом запрашиваемой страницы, вы можете определить, используется ли веб-прокси.
Веб-прокси (наши анонимайзеры) обычно ненадежны, поэтому лучше вообще избегать таких методов анонимизации.
9. Утечка IP через Flash
Adobe Flash отлично работает, обходя прокси-серверы пользователей. Инициируя подключение к нашему серверу, вы можете определить IP пользователя. Запустив специальный демон, который регистрирует все входящие соединения с ключевыми тегами, вы можете узнать много нового. Лучший способ не раскрывать свой адрес — вообще не использовать Adobe Flash или отключить его в настройках браузера. Например, браузер Firefox по умолчанию отключает Flash, поэтому стоит это учесть.
10. Обнаружение туннелей (двусторонний пинг)
Пингуя IP клиента со стороны нашего сервера, вы можете определить приблизительную длину маршрута. То же самое можно сделать со стороны браузера; XMLHttpRequest извлекает пустую страницу из нашего nginx. Разница в цикле более 30 мс может быть интерпретирована как туннель. Конечно, маршруты туда и обратно могут отличаться или веб-сервер может немного замедлиться, но в целом точность довольно хорошая. Единственный способ защитить себя — заблокировать трафик ICMP на ваш VPN-сервер, правильно настроив брандмауэр.
11. Утечка
Узнать, какой DNS использует пользователь, не проблема; мы написали свой DNS-сервер, который записывает все запросы к нашим уникально сгенерированным поддоменам. Следующим шагом был сбор статистики по нескольким миллионам пользователей, которые используют какой DNS. Мы связали их с провайдерами, отбросили публичный DNS и получили список пар DNS/ISP. Теперь довольно легко узнать, утверждает ли пользователь, что он абонент одной сети, но использует DNS из другой. Использование публичных DNS-сервисов частично решает проблему.
12. Утечка через социальные сети
Это не утечка IP-адреса, но, например, Facebook, обмениваясь именами авторизованных пользователей налево и направо, сливает личные данные, что подрывает всю анонимность серфинга. Кнопка «Выйти» после каждой сессии обычно решает проблему, но лучшая рекомендация — не пользоваться социальными сетями...
13. WEB-RTC
WebRTC позволяет устанавливать видеоконференции без использования плагинов через современные браузеры, такие как Mozilla и Chrome, но при этом раскрывает ваш реальный IP даже при использовании VPN, а также список всех локальных IP-адресов за NAT. WebRTC поддерживается только в браузерах Chrome и Firefox. В браузерах Internet Explorer и Safari нет собственной поддержки WebRTC.
Отключение WebRTC в Firefox:
Введите в адресной строке браузера: about:config
Введите в поиске: media.peerconnection.enabled
Установите значение «false» и проверьте еще раз!
Отключение WebRTC в Chrome:
Чтобы заблокировать WebRTC в Google Chrome, вам необходимо установить плагин WebRTC Block.
Отключение WebRTC на Android для пользователей Chrome :
В адресной строке браузера Chrome введите: chrome://flags/#disable-webrtc
Установите значение «enable».
Другой альтернативный способ обнаружения прокси и VPN:
14. MSS и MTU
MTU или Maximum Transmission Unit — это максимальный объем данных, который может быть передан в одном пакете. MTU устанавливается для каждого сетевого адаптера, даже для маршрутизаторов, через которые проходит трафик от вас к удаленному серверу. В большинстве случаев в Интернете используется MTU 1500, но есть заметные исключения, которые часто следуют определенным правилам. Когда ваш браузер или любое другое сетевое программное обеспечение создает TCP-соединение с удаленным сервером, значение Maximum Segment Size (MSS) помещается в заголовки пакетов. Это значение информирует сервер о максимальном размере сегмента, который он может передать в одном пакете. Оно очень близко к Maximum Transmission Unit (MTU) и немедленно информирует сервер о возможностях вашего интернет-соединения, исключая ненужную фрагментацию и позволяя полностью использовать ваш канал. Когда вы отправляете пакет, будучи подключенным к VPN с использованием протокола (PPTP, L2TP(IPsec), IPsec IKE), он инкапсулируется в другой пакет, что влечет за собой накладные расходы. Большие пакеты, которые были бы отправлены без фрагментации без VPN, теперь необходимо фрагментировать. Чтобы избежать такой фрагментации, операционная система устанавливает более низкий MTU на сетевом интерфейсе, чем MTU реального сетевого интерфейса, поэтому ОС не пытается создавать большие пакеты, которые потребуют фрагментации. В случае PPTP, L2TP(IPsec), IPsec нет стандартов для туннельного MTU; значения устанавливаются для работы в большинстве случаев, часто устанавливаются по оценке. Обычно это 1400, что позволяет использовать PPTP на каналах с MTU до 1440 без фрагментации.
OpenVPN — один из самых популярных вариантов VPN. Когда требуется совместимость со старым или проблемным программным обеспечением, OpenVPN не устанавливает более низкое значение MTU на интерфейсе VPN по умолчанию, а изменяет значение MSS внутри инкапсулированного TCP-пакета. Это контролируется параметром mssfix, установленным по умолчанию на 1450. Он настраивает MSS для полного использования канала с MTU 1450, вычисляя свои накладные расходы для прохождения через канал с MTU 1450 и выше без фрагментации. В результате мы можем не только идентифицировать пользователей OpenVPN с помощью стандартного mssfix 1450, но и определить их протокол соединения (IPv4, IPv6), протокол транспортного уровня (TCP, UDP), параметры шифрования, сжатие и MAC, поскольку они вносят свои уникальные накладные расходы, отраженные в MSS. Если используется 64-битное шифрование — это Blowfish. Если 128-битное — это AES.
Тестирование двух VPN-сервисов: VyprVPN и ibVPN. Оба сервиса подвержены идентификации настроек с использованием описанного метода. Если вы не хотите, чтобы вас обнаруживали таким образом, вы можете отключить mssfix, установив его на 0 как на сервере, так и на клиентах, тем самым получив MSS 1460 (типично для IPv4), что соответствует MTU 1500 — типичному MTU для обычного проводного соединения, которое есть у подавляющего большинства пользователей. Однако в этом случае вы столкнетесь с ненужной фрагментацией, что приведет к увеличению задержек и снижению пропускной способности. Поэтому желательно установить MTU на 1400, 1380 или аналогичное (должно быть кратно 10), поскольку такие значения часто используются провайдерами — например, в мобильных интернет-подключениях.
Теперь поговорим о «ВЕДЬМЕ?»
Этот небольшой проект расскажет вам о настройках вашего OpenVPN-подключения (если вы не меняли mssfix), попытается определить вашу ОС и сравнить ее с ОС в User-Agent, получить запись PTR для вашего IP-адреса и сравнить ее с набором правил, определяя, используете ли вы интернет-канал, предназначенный для домашних пользователей или пользователей сервера.
Первое появление = 2015/07/24 17:19:29
Последнее обновление = 2015/07/24 18:39:37
Всего потоков = 7
Обнаруженная ОС = Linux 3.11 и новее
ПО HTTP = Firefox 10.x или новее (ID кажется законным)
MTU = 1409
Сетевое соединение = OpenVPN UDP bs64 SHA1
Язык = Русский
Расстояние = 15
Время работы = 1 день 19 часов 39 минут (по модулю 165 дней)
Тест PTR = Вероятно, домашний пользователь
Отпечаток пальца и ОС совпадают. Прокси-сервер не обнаружен.
OpenVPN обнаружен. Размер блока — 64 байта (вероятно, Blowfish), MAC — SHA1.
WITCH? также легко идентифицирует пользователей Tor Browser, поскольку он использует тот же статический User-Agent (как Windows) на всех ОС, а выходные узлы работают под управлением Linux и FreeBSD. В результате тестирования на разных ОС и провайдерах:
- Мобильный Интернет от некоторых провайдеров пропускает все соединения через прокси-сервер под управлением Linux. Это было обнаружено, когда человек заходил на WITCH? с iPhone, и ОС была идентифицирована как Linux. Вероятно, именно так они меняют HTML-теги и изменяют дизайн веб-сайтов.
- MTU для мобильных устройств может быть практически любым, но обычно заканчивается на 0. Одна и та же SIM-карта в разных телефонах использует разные значения MTU.
- Код, отвечающий за mssfix в OpenVPN, очень медленный.
В конце статьи предлагаю протестировать замечательный ресурс p0f.
Этот проект может пассивно прослушивать трафик, определять ОС, MTU и браузер, уведомлять о несоответствии ОС между создателем пакета и User-Agent. p0f также имеет API. С некоторыми модификациями и обновлениями сигнатур его можно использовать для обнаружения пользователей популярных протоколов VPN, пользователей прокси и тех, кто подделывает информацию User-Agent.