Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/darkk/rkn-git-flow
О сниферах в московском метро и бранчах блоклистов РКН
https://github.com/darkk/rkn-git-flow
lulz metameta
Last synced: 3 months ago
JSON representation
О сниферах в московском метро и бранчах блоклистов РКН
- Host: GitHub
- URL: https://github.com/darkk/rkn-git-flow
- Owner: darkk
- Created: 2018-09-21T18:22:13.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-01T21:13:53.000Z (about 5 years ago)
- Last Synced: 2023-04-11T19:10:58.569Z (almost 2 years ago)
- Topics: lulz, metameta
- Language: Jupyter Notebook
- Size: 7.53 MB
- Stars: 25
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Данные к [докладу](https://slides.ooni.io/2018/CIF/) на [CryptoInstallFest 5 (22 сентября 2018)](https://cryptofest.ru/).
tl;dr
=====Предположительно:
- МаксимаТелеком или аплинки ([МТС](traceroute/2018-09-20-16-11-03.png)? [Мегафон](traceroute/2018-09-20-16-10-42.png)?) слушают трафик в поисках Socks5 проксей
- по результатам "прослушки" [ходит сканер](scanner-pcap/)
- некоторые провайдеры блокируют IP адреса раньше, чем РКН добавляет адрес в "общие" выгрузки![славный график](the_fastest_draw.png)
Детали
======При использовании Socks5 для соединения с Telegram из сети `MT_FREE`
Московского Метро (провайдер МаксимаТелеком) через полчаса-час на адрес Socks5
приходит сканер с адреса `178.176.30.221` из "клиентской" [сети Мегафона](https://stat.ripe.net/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](ansible/templates/haproxy.cfg), перенаправляющий Socks5 и TLS трафик на разные бэкенды (nginx с [preread](http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html) работать не будет, т.к. он читает минимум 5 байт, а первый пакет хэндшейка Socks5 — 3 или 4 байта)
- выделить зонды RIPE Atlas в России, которые находятся в сетях, фильтрующих по списку РКН
- запустить измерение SSLCert на сервер с этих зондов с периодичностью 3 минуты для проверки доступности TCP порта
- перевести телефон в оффлайн
- сконфигурировать Telegram на использование сервера
- подключиться к сети `MT_FREE` в метро, сделать круг по кольцевой линии, отключиться от `MT_FREE`
- удалить прокси-сервер из Telegram клиента (чтоб случайно не подключиться к нему через оператора сотовой связи или другого провайдера)
- подождать несколько часов и завершить измерение через RIPE AtlasТаймлайн эксперимента s5tg-01
=============================- 00:32 приход сканера
- 00:47 наблюдается блокировка на Yota
- 00:52 наблюдается блокировка на МГТС
- 01:38 в выгрузке с `updateTime="2018-09-20T01:38:00+03:00"` ещё нет блокировки
- 01:57 блэкхол на [looking glass Beeline](lg/beeline-2018-09-20-02-00-02.png)
- 03:07 в "предыдущей" выгрузке с `updateTime="2018-09-20T03:07:00+03:00"` всё ещё нет блокировки
- 03:30 `45.56.118.171` — первая известная выгрузка с блокировкой данного IPГрафики по другим эксприментам с данными RIPE Atlas:
- [s5tg-02](https://nbviewer.jupyter.org/github/darkk/rkn-git-flow/blob/master/atlas-vis-02.ipynb), "предыдущая" выгрузка отстоит от `ts` на 4 минуты
- [s5tg-03](https://nbviewer.jupyter.org/github/darkk/rkn-git-flow/blob/master/atlas-vis-03.ipynb), —"— на 4 минуты
- [s5tg-04](https://nbviewer.jupyter.org/github/darkk/rkn-git-flow/blob/master/atlas-vis-04.ipynb), —"— на 5 минут
- [s5tg-05](https://nbviewer.jupyter.org/github/darkk/rkn-git-flow/blob/master/atlas-vis-05.ipynb), —"— на 11 минутСпасибо
=======- сообществу [CTF в Петербурге](https://t.me/spbctf) за королевский подгон багофичи сети `MT_FREE` в МосМетро
- [Неугомонному Филу](http://usher2.club/) и его источникам за данные о "выгрузках"
- [Дмитрию R16 Морозовскому](https://t.me/Dmarck) за данные о "дельтах"
- проекту [RIPE Atlas](https://atlas.ripe.net/landing/get-involved/) и операторам зондов за измерительный инструмент