Как в России собирают IP-адреса проксей Telegram. О снифферах в московском метро и бранчах блоклистов РКН.
Данные к докладу на CryptoInstallFest 5 (22 сентября 2018).
Предположительно:

Детали
При использовании Socks5 для соединения с Telegram из сети MT_FREE Московского Метро (провайдер МаксимаТелеком) через полчаса-час на адрес Socks5 приходит сканер с адреса 178.176.30.221 из "клиентской" сети Мегафона, судя по PTR записям вида clients-221.30.176.178.misp.ru..
Сканер портов проверят доступность TCP порта полу-открытым сканированием (SYN, SYN-ACK, RST). После успешной проверки сканер пытается установить Socks5 соединение с сервером из подсети Telegram 91.108.56.186:443 и произвести обмен данными с ним.
Через час-полтора после прихода сканера НЕКОТОРЫЕ провайдеры начинают блокировать доступ к просканированному серверу: МГТС, МТС, Мегафон, Yota, Билайн и др.
Ещё через час-полтора IP адрес появляется в "выгрузке" и "дельтах", при этом отметка времени ts у IP-адреса соответствует времени появления в выгрузке и "отстаёт" от времени начала блокировки на выделенных провайдерах.
Механика эксперимента
Автор: Leonid Evdokimov aka darkk
Данные к докладу на CryptoInstallFest 5 (22 сентября 2018).
Предположительно:
- МаксимаТелеком или аплинки (МТС? Мегафон?) слушают трафик в поисках Socks5 проксей
- по результатам "прослушки" ходит сканер
- некоторые провайдеры блокируют IP адреса раньше, чем РКН добавляет адрес в "общие" выгрузки

Детали
При использовании Socks5 для соединения с Telegram из сети MT_FREE Московского Метро (провайдер МаксимаТелеком) через полчаса-час на адрес Socks5 приходит сканер с адреса 178.176.30.221 из "клиентской" сети Мегафона, судя по PTR записям вида clients-221.30.176.178.misp.ru..
Сканер портов проверят доступность TCP порта полу-открытым сканированием (SYN, SYN-ACK, RST). После успешной проверки сканер пытается установить Socks5 соединение с сервером из подсети Telegram 91.108.56.186:443 и произвести обмен данными с ним.
Через час-полтора после прихода сканера НЕКОТОРЫЕ провайдеры начинают блокировать доступ к просканированному серверу: МГТС, МТС, Мегафон, Yota, Билайн и др.
Ещё через час-полтора IP адрес появляется в "выгрузке" и "дельтах", при этом отметка времени ts у IP-адреса соответствует времени появления в выгрузке и "отстаёт" от времени начала блокировки на выделенных провайдерах.
Механика эксперимента
- установить haproxy, перенаправляющий Socks5 и TLS трафик на разные бэкенды (nginx с preread работать не будет, т.к. он читает минимум 5 байт, а первый пакет хэндшейка Socks5 — 3 или 4 байта)
- выделить зонды RIPE Atlas в России, которые находятся в сетях, фильтрующих по списку РКН
- запустить измерение SSLCert на сервер с этих зондов с периодичностью 3 минуты для проверки доступности TCP порта
- перевести телефон в оффлайн
- сконфигурировать Telegram на использование сервера
- подключиться к сети MT_FREE в метро, сделать круг по кольцевой линии, отключиться от MT_FREE
- удалить прокси-сервер из Telegram клиента (чтоб случайно не подключиться к нему через оператора сотовой связи или другого провайдера)
- подождать несколько часов и завершить измерение через RIPE Atlas
- 00:32 приход сканера
- 00:47 наблюдается блокировка на Yota
- 00:52 наблюдается блокировка на МГТС
- 01:38 в выгрузке с
updateTime="2018-09-20T01:38:00+03:00"всё ещё нет блокировки - 01:57 блэкхол на looking glass Beeline
- 03:30
<ip ts="2018-09-20T03:30:00+03:00">45.56.118.171</ip>
Автор: Leonid Evdokimov aka darkk