del
Husi, выше упоминали
Это у них один из триггеров.
На этом этапе, видимо, придется выбирать между светить флаг networkcapabilities приложениям или держать слушающий порт на локалхосте. Флаг они уже и так смотрят.
У вас что-то подозрительное творится в телефоне. У меня в спокойном состоянии открытый порт один - от корп. софтины.
Да и правда, убил в сервисах пару обычных аппок вроде инсты, gboard, wa - теперь 5 портов (что это было не совсем понятно, зависшие соединения?)
>узнать внешний ip адрес и заблокировать его
выходные IP юзера (множество) можно узнать и на любом государственном веб сайте, если запросить ресурс с зарубежного сервера типа api.ipify.org . Но если сделать тройную цепочку - Client → RU VPS → Foreign VPS → Foreign VPS (exit node), то пусть блокируют exit node сколько угодно по IP - от этого ничего не изменится. Так переизобретем TOR ![]()
UDP точно придётся закрывать? Насколько я понимаю, клиент сначала авторизуется по TCP, потом сервер принимает udp только с определённого порта. Звучит так, что приложение-шпион не сможет проникнуть внутрь
Кроме того, последние версии Xray поддерживают tun режим, можно попробовать убедить разработчиков клиентов перейти на него, полностью отключив socks5 по умолчанию
Если шпион найдет этот порт, то вы беззащитны.
К примеру вот
В termux поставил netcat и забиндил порт 12345. На него же сменил Local proxy port в v2rayNG. Похоже что работает, PoC прокси порт не находит, сами подключения заворачиваются. Похоже всё-таки он не может поднять сокс на указанном порту и игнорирует это. Может у кого-то есть возможность изучить подробнее - было бы здорово.
Вот этот позволяет - https://f-droid.org/packages/io.github.saeeddev94.xray
Протестил, значения задаются, но по факту подключиться можно без логина/пароля. PoC пинганул адрес через порт прокси без авторизации.
В гуи настройках - это для работы tun, а нужно в самом конфиге в настройках сокс указывать:
"protocol": "socks",
"settings": {
"auth": "password",
"accounts": [
{
"user": "user",
"pass": "pass"
}
]
}
Например, v2rayng поддерживает tun-интерфейс (inbound) из xray-core. По идее, тогда отпадает необходимость в локальном socks5. Но если настроить конфиг через вставку полного json, где только tun-inbound, то такая схема не заработала у меня, все равно в логах стучится на локальный socks5 порт, на котором, понятное дело, никто не слушает, и дальнейшнего соединения с outbound нет. Возможно, какой-то баг.
UPD. Нужно прописать в json только tun-inbound, тогда socks-inbound не поднимается. Ну и в настройках, само собой, убрать галку Использовать Hev tun". Подключение к прокси работает. На моем устройстве Android нет root-прав, в настройках порт локального socks 10808. Проверил nmap -sT -p 10808 - порт closed, если socks-inbound прописан, то порт open.
Это надо было сразу смотреть.
sudo netcat -tulpan | grep подозрительный порт
И затем sudo ps aux | найденный pid процесса
Возможно, вы накатили кривой мод какого-то софта со зверьём.
Оффтоп
В том то и дело, что модов нет, а приложения самые обычные. Сори за оффтоп
Открою вам страшную тайну (о которой не знает даже Минцифры): и на Android, и на iOS, и на Windows, и на Linux, и на macOS любая программа может выполнить запрос через любой сетевой интерфейс в системе.
Только что проверил на Android:
- Устанавливаем VPN-соединение, отправляем запрос напрямую — IP VPN, через wlan0 — IP Wi-Fi
- В VPN-клиенте настраиваем исключение для отправляющей программы, делаем запрос — IP Wi-Fi, отправляем через tun0 — IP VPN, т.е. исключение для программы обходится.
Достаточно в Termux запустить curl ifconfig.co --interface tun0, если на телефоне ядро 5.7 или новее (SO_BINDTODEVICE для непривилегированных пользователей появился с этой версии), а если старше — управлять через Network.bindSocket
Binds the specified DatagramSocket to this Network. All data traffic on the socket will be sent on this Network, irrespective of any process-wide network binding set by ConnectivityManager.bindProcessToNetwork. The socket must not be connected.
Per-app VPN это просто намёк программе на то, какой интерфейс (таблицу маршрутизации) использовать по умолчанию. Заблокировать это можно только галочкой “Block connections without VPN”, в этом случае сломается доступ к устройствам в локальной сети (принтеры, телевизоры, умные устройства, и т.п.)
А Happ пользуются исключительно потому, что во всех этих прокси-протоколах нет понятия сессии, и заблокировать конфиги для конкретного устройства нельзя, пользователи могут делиться ими бесконечно.
В Happ сделали HWID, прямо как в старфорсе ![]()
На сервер отсылается HWID и сервер не выдаёт ключи больше, если хоть раз они скачивались с одного HWID. Экспортировать их тоже нельзя.
Пользователям он не нужен, он нужен сервисам.