LIMB
Вход Регистрация

тема

Защита цифровой анонимности: от теории к реальной безопасности

Angust · · 0 ответов · 925 просмотров

Спойлер: ⚠️ Дисклеймер - материалы предназначены только для обучения и исследований, любое
Дисклеймер



Назначение материалов:



Все опубликованные материалы (включая статьи, примеры кода, описания техник, инструкции и демонстрации) предназначены исключительно для:




Образовательных целей
Повышения осведомленности в области информационной безопасности
Проведения исследований в контролируемых средах (например, в частных лабораториях или тестовых окружениях)
Разработки и улучшения инструментов защиты


Позиция автора относительно неправомерного использования:



Автор не поощряет, не поддерживает и не несет ответственности за любое незаконное или противоправное использование представленной информации, включая, но не ограничиваясь:




Созданием, распространением или использованием вредоносного программного обеспечения
Несанкционированным доступом к информационным системам, сетям или данным
Причинением вреда третьим лицам, организациям или инфраструктуре


Условия использования:



Все представленные техники и примеры могут использоваться только с явного письменного разрешения владельца соответствующих систем или в полностью изолированной лабораторной среде.



Использование материалов без согласия владельца ресурса может являться нарушением законодательства и влечь за собой уголовную, административную или гражданскую ответственность в вашей юрисдикции.



Отказ от ответственности автора:



Автор явно заявляет, что:




Не несет ответственности за последствия использования читателями представленной информации
Не гарантирует применимость материалов вне рамок исследовательских и образовательных целей
Оставляет за собой право удалять или изменять материалы, если их публикация может привести к неправомерному использованию


Подтверждение пользователя:



Настоящий дисклеймер распространяется на все публикации, размещенные автором, независимо от языка, платформы и страны доступа. Используя данный материал, пользователь подтверждает, что:




Действует исключительно в рамках законов своей страны и международных норм
Берет на себя полную ответственность за свои действия
Понимает, что данная публикация не является юридической консультацией


Рекомендация по юридической консультации:



Если у вас возникают сомнения относительно законности тех или иных действий, настоятельно рекомендуется обратиться за консультацией к специализированному юристу.

Вступление​


Всем привет!
В этой статье рассмотрим практические методы защиты цифровой анонимности с реальными демонстрациями уязвимостей и способов их устранения. Материал основан на практическом опыте и включает конкретные примеры того, что может произойти без правильной настройки защиты. Также я ответил на вопросы @Moderator под предыдущей статьей.

Часть 1: Демонстрация реальных угроз​

Что происходит без защиты: практический анализ​

Прежде чем переходить к настройке защиты, давайте посмотрим, что может произойти, если не применять описанные меры. Это поможет понять важность каждого шага.

Угроза 1: Утечка реального IP через VPN​

Большинство VPN-клиентов имеют встроенный kill-switch, но он часто не работает корректно или может быть обойден.

Code:
angust@linux-pc:~$ sudo tcpdump -i any -n 'host 8.8.8.8' -w leak_test.pcap &
angust@linux-pc:~$ sudo killall openvpn
VPN-соединение разрывается
Трафик продолжает идти через реальный интерфейс
Реальный IP адрес становится видимым

Результат перехвата:
Code:
angust@linux-pc:~$ tcpdump -r leak_test.pcap -n | head -20

Code:
10:23:45.123 IP 192.168.1.100.54321 > 8.8.8.8.53: UDP, length 512
10:23:45.125 IP 8.8.8.8.53 > 192.168.1.100.54321: UDP, length 512
10:23:46.200 IP 192.168.1.100.44321 > 142.250.185.78.443: Flags [S], seq 0
Видно реальный IP 192.168.1.100 и реальный внешний IP провайдера. Злоумышленник или провайдер может связать активность с вашим реальным IP.

Угроза 2: Утечка DNS-запросов​

Даже при использовании VPN, DNS-запросы могут идти через провайдера.
Code:
angust@linux-pc:~$ sudo tcpdump -i eth0 -n 'port 53' -w dns_leak.pcap &
angust@linux-pc:~$ curl https://example.com

Анализ перехваченных пакетов:
Code:
angust@linux-pc:~$ tcpdump -r dns_leak.pcap -n

Code:
10:25:12.456 IP 192.168.1.100.54321 > 8.8.8.8.53: 12345+ A? example.com
10:25:12.458 IP 8.8.8.8.53 > 192.168.1.100.54321: 12345 1/0/0 A 93.184.216.34

DNS-запросы идут напрямую к 8.8.8.8 (Google DNS)
  • Провайдер видит, какие домены вы посещаете
  • Можно связать активность с вашим IP
Решение -  Использовать DoH через VPN или настройка DNS через VPN-туннель.

Угроза 3: Утечка через WebRTC​

Браузеры могут раскрывать реальный IP через WebRTC, даже при использовании VPN.

HTML:
<!DOCTYPE html>
<html>
<head>
<title>WebRTC Leak Test</title>
</head>
<body>
<h1>WebRTC IP Leak Test</h1>
<div id="result"></div>
<script>
var pc = new RTCPeerConnection({iceServers:[]});
pc.createDataChannel("");
pc.createOffer().then(offer => pc.setLocalDescription(offer));
pc.onicecandidate = function(ice) {
if (ice.candidate) {
var ip = /([0-9]{1,3}(\.[0-9]{1,3}){3})/.exec(ice.candidate.candidate)[1];
document.getElementById("result").innerHTML = "Real IP: " + ip;
}
};
</script>
</body>
</html>

Браузер показывает реальный IP адрес, даже если VPN активен.

Угроза 4: Утечка через роутер​

Домашний роутер может логировать весь трафик.

Демонстрация на MikroTik:

Code:
angust@linux-pc:~$ ssh [email protected]

Не удалось прогрузить медиа


Что видим:
  • - Все подключения логируются
  • - Видны MAC-адреса устройств
  • - Видны IP-адреса назначения
  • - Можно восстановить полную картину активности

Решение - Отключение логирования, использование USB-модема без привязки к домашней сети.



Часть 2: Скучная, но ценная теория​


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

Базовые принципы цифровой гигиены​

  • 1. Храните конфиденциальные материалы только в шифрованных контейнерах или на отдельных носителях (microSD под LUKS/VeraCrypt и т. п.).
Спойлер: Зачем шифровать конфиденциальные материалы?
Вопрос: "С какой целью, если придут, то в любом случае пароль заставят сообщить?"
Ответ: Шифрование защищает не от принуждения, а от:
Вредоносное ПО (ВПО): Если устройство заражено, злоумышленник не сможет прочитать зашифрованные данные без пароля.​
Физический доступ: При краже или потере устройства данные остаются защищенными.​
Случайная утечка: Если файлы попадут в чужие руки (backup, облако), они будут зашифрованы.​
  • 2. Регулярно очищайте личные устройства от служебных артефактов лабораторных сред.
  • 3. Не записывайте критичные пароли и ключи в незашифрованные заметки; используйте менеджеры паролей или запоминайте.
  • 4. Планируйте реагирование заранее: резервные копии конфигураций, журналы, отработанные сценарии на случай инцидента.

Правила ответственной анонимности​

  • 1. Минимум разговоров. Тут нечего говорить).
  • 2. Контроль точек выхода в сеть. Создавайте собственные цепочки VPN/Proxy, логируйте и отслеживайте все подключения.
  • 3. Жёсткие требования к рабочей системе. Только виртуальные машины, только шифрованные носители; изоляция тестовой сети от бытовой.
  • 4. Финансовая гигиена при проверках. Учитывайте правовые требования, работайте через выделенные одноразовые кошельки с прозрачной историей (По поводу работы с деньгами от принятия до обрыва связей и конвертации в кэш скоро будет статья).
  • 5. Физическая изоляция. Тестовые устройства и реальная бытовая техника не пересекаются.


Часть 3: Важные моменты при построении защищённой инфраструктуры​

Если выходить в сеть через домашний провайдер, он видит весь незашифрованный поток. 
Для рабочих задач удобно использовать:

- 3/4G-модемы без прямой привязки к домашней сети.

Спойлер: Где взять 3/4G-модемы и SIM-карты без привязки?
Вопрос: "На чьи данные будет симка? Где достать?"

Ответ: Это действительно сложный вопрос в современных реалиях.



Варианты:

Покупка через посредников: В некоторых странах можно купить cимки без регистрации через посредников или в подвалках.

Регистрация на дропа: Один из лучших вариантов, симка покупается на подставное лицо.

Корпоративные SIM: Если есть доступ к корпоративным SIM-картам через бизнес.

Виртуальные операторы: Некоторые виртуальные операторы имеют менее строгие требования к регистрации.
  • - Собственные цепочки VPN → TOR → VPS.
Примечание о VPN: Готовые коммерческие сервисы не гарантируют приватность — до 60 % провайдеров передают логи по официальному запросу.

Спойлер: Откуда данные про 60% провайдеров?
Вопрос: "Как узнать? Если это белый сервис рассказали бы хоть где это прочитать можно"



Ответ: Источники информации:



TorrentFreak VPN Logging Survey: Ежегодный опрос VPN-провайдеров о политике логирования.

URL: https://torrentfreak.com/vpn-services-keep-anonymous-2024/



PrivacyTools.io: Независимый анализ VPN-сервисов.

URL: https://www.privacytools.io/providers/vpn/



Court Cases: Реальные судебные дела, где провайдеры передавали логи.


Пример: PureVPN передал логи в 2017 году (дело Ryan Lin).
Пример: IPVanish передал логи в 2016 году.

Рекомендую использовать собственные VPN на VPS в юрисдикциях без обязательного логирования (Швейцария, Румыния, Молдова).
Для своих практик оптимально поднимать собственные VPN (OpenVPN/WireGuard/IPsec) на своих маршрутизаторах или VPS.


Часть 4: Практическая конфигурация MikroTik под один доверенный ПК​

Цель: роутер обслуживает только один компьютер, раздаёт Интернет через USB-модем, скрывает сервисную часть и минимизирует поверхность атаки.

Базовая гигиена​


Code:
/system package update check-for-updates

/system package update download

/system package update install

/user set admin password="НовыйСильныйПароль"

/user add name=adm-sec group=full password="ЕщёОдинНадёжный"

/user remove admin

/system identity set name="Secure-USB"

/system clock set time-zone-name=Europe/Moscow

/system ntp client set enabled=yes \
server-dns-names=time.google.com,ru.pool.ntp.org

/system logging add topics=critical action=memory

Отключение лишних сервисов​


Code:
/ip service disable telnet,ftp,www,www-ssl,api,api-ssl

/ip service disable mac-server,mac-winbox

/ip service set winbox address=192.168.88.10/32

/ip neighbor discovery-settings set discover-interface-list=none

/tool bandwidth-server set enabled=no

/ip cloud set ddns-enabled=no update-time=no

Winbox и SSH допускаем только с IP вашего рабочего ПК.

Контроль LAN​

Контроль LAN необходим для:
Предотвращение подключения посторонних устройств: Если кто-то подключит устройство к вашей сети, оно не сможет получить доступ к интернету.
Защита от MITM-атак: Злоумышленник не сможет перехватить трафик, подключившись к сети.
Изоляция тестовой сети: Рабочие устройства изолированы от бытовых.

Практическая демонстрация проблемы:

Code:
angust@linux-pc:~$ sudo tcpdump -i eth0 -n 'arp' -w arp_scan.pcap &
angust@linux-pc:~$ nmap -sn 192.168.88.0/24

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.88.1
Host is up (0.001s latency).
MAC Address: AA:BB:CC:DD:EE:FF (MikroTik)
Nmap scan report for 192.168.88.10
Host is up (0.002s latency).
MAC Address: 11:22:33:44:55:66 (Your PC)
Nmap scan report for 192.168.88.100
Host is up (0.003s latency).
MAC Address: 99:88:77:66:55:44 (Unknown device!)
Видно неизвестное устройство 192.168.88.100, которое может перехватывать трафик.

Решение с контролем LAN:
Code:
/interface bridge filter add chain=forward action=accept \
src-mac-address=AA:BB:CC:DD:EE:FF

/interface bridge filter add chain=forward action=drop \
src-mac-address=!AA:BB:CC:DD:EE:FF

/ip address add address=192.168.88.1/24 interface=bridge-local

Только устройство с MAC AA:BB:CC:DD:EE:FF может использовать сеть. Неизвестное устройство будет заблокировано.

USB-модем и NAT​

Спойлер: Зачем нужен USB-модем и NAT?
Вопрос: "Для чего с какой целью? Расписать нужно"
Ответ: USB-модем с NAT обеспечивает:
Изоляция от домашнего провайдера: Трафик идет через мобильного оператора, а не через домашний интернет.​
Отсутствие привязки к адресу и паспорту : Мобильный IP не привязан к вашему домашнему адресу.​
Сложность отслеживания: Провайдер видит только мобильный трафик, без привязки к личности.​
​
​
​
Демонстрация разницы:

Без USB-модема (домашний интернет):


Code:
angust@linux-pc:~$ curl https://api.ipify.org
Не удалось прогрузить медиа


Code:
angust@linux-pc:~$ whois 95.165.123.45 | grep -i "org\|address\|city"
OrgName: Home Internet Provider LLC
Address: 123 Main Street
City: Moscow
Country: RU

С USB-модемом:
Code:
angust@linux-pc:~$ curl https://api.ipify.org
Не удалось прогрузить медиа


angust@linux-pc:~$ whois 178.234.67.89 | grep -i "org\|address\|city"
OrgName: Mobile Operator JSC
Address: Mobile Network Pool
City: Various
Country: RU

С мобильным оператором сложнее связать IP с конкретным человеком и адресом.

Code:
/interface ppp-client print detail

/interface ppp-client set ppp-out1 \
add-default-route=yes use-peer-dns=yes dial-on-demand=no \
keepalive-timeout=60 info-channel=auto data-channel=auto

/ip firewall nat add chain=srcnat out-interface=ppp-out1 \
action=masquerade comment="USB NAT"

Жёсткий файрвол​

Code:
/ip firewall filter remove [find]

/ip firewall filter

add chain=input action=accept connection-state=established,related \
comment="Рабочие сессии"

add chain=input action=accept in-interface=bridge-local \
src-address=192.168.88.10/32 comment="Мой ПК"

add chain=input action=drop in-interface=ppp-out1 \
comment="Запрет входа с модема"

add chain=input action=drop comment="Остальное отсекаем"

add chain=forward action=accept src-address=192.168.88.10/32 \
out-interface=ppp-out1 connection-state=new,established,related \
comment="Трафик ПК наружу"

add chain=forward action=drop out-interface=ppp-out1 \
comment="Всё прочее наружу блокируем"

/ip firewall filter add chain=input in-interface=ppp-out1 \
protocol=icmp action=drop comment="Block ping"

Дополнительные меры​

Дополнительные меры защищают от:

IPv6-утечки: IPv6 может идти в обход VPN.

DNS-утечек: Локальный DNS может раскрывать запросы.

Автоматические обновления: Могут раскрывать реальный IP.

Потеря конфигурации: Автоматический бэкап сохраняет настройки.


Даже при использовании VPN через IPv4, IPv6 может идти напрямую, раскрывая реальный IP.

Решение:

Code:
/ipv6 settings set disable-ipv6=yes

/ip dns set allow-remote-requests=no \
use-doh-server="https://dns.google/dns-query" \
doh-ca-file=dynamic

/system scheduler add interval=1w name=auto-backup \
on-event="/system backup save name=SecureUSB"

/export file=SecureUSB-config


Часть 5: Автоматизированное подключение 3G/4G-модема​


RouterOS 7+, модем уже подключён:

Code:
:local pppIfName "ppp-out1"
:local apnName "internet"
:local dialNumber "*99#"
:local infoChannel "auto"
:local dataChannel "auto"
:local pppUser ""
:local pppPassword ""

/log info ("[3G/LTE SETUP] Настраиваю интерфейс " . $pppIfName)

:if ([/interface ppp-client find where name=$pppIfName] = "") do={
/log error ("PPP-интерфейс " . $pppIfName . " не найден — проверьте USB-модем")
:error "PPP interface not found"
}

/interface ppp-client set $pppIfName info-channel=$infoChannel data-channel=$dataChannel

/interface ppp-client set $pppIfName \
apn=$apnName phone=$dialNumber user=$pppUser password=$pppPassword \
allow=pap,chap dial-on-demand=no add-default-route=yes \
default-route-distance=0 use-peer-dns=yes keepalive-timeout=60

/interface enable $pppIfName

/ip dns set allow-remote-requests=yes use-doh-server="" servers=""

/log info "[3G/LTE SETUP] DNS готов"

:if ([/ip firewall nat find where chain=srcnat and out-interface=$pppIfName \
and action=masquerade] = "") do={
/ip firewall nat add chain=srcnat out-interface=$pppIfName \
action=masquerade comment="3G/LTE auto NAT"
/log info "[3G/LTE SETUP] Добавлен NAT masquerade"
} else={
/log info "[3G/LTE SETUP] NAT уже существует"
}

:delay 3s

/tool ping address=8.8.8.8 interval=1s count=5 interface=$pppIfName

/log info "[3G/LTE SETUP] Проверка завершена"


Часть 6: Настройка рабочей систем​

Цепочка: Основная ОС → 3/4G-модем → приватный VPN → виртуальная машина → TOR → VPS.
Не удалось прогрузить медиа


Ключевые шаги:

- Установить Linux Mint (официальный образ) на чистое железо, использовать только под лабораторные задачи https://linuxmint.com/download.php​

- Отключить гибернацию и swap:​

Code:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

sudo swapoff /swapfile

sudo rm /swapfile

sudo nano /etc/fstab # закомментируйте строку со swap

Зашифровать рабочий диск/контейнер (LUKS + при необходимости LVM):​

Code:
sudo lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT

sudo wipefs -a /dev/sdb

sudo sgdisk --zap-all /dev/sdb

sudo parted /dev/sdb --script mklabel gpt

sudo parted /dev/sdb --script mkpart primary 1MiB 100%

sudo cryptsetup luksFormat /dev/sdb1

sudo cryptsetup open /dev/sdb1 cryptdata

sudo pvcreate /dev/mapper/cryptdata

sudo vgcreate vgdata /dev/mapper/cryptdata

sudo lvcreate -L 100G -n data vgdata

sudo mkfs.ext4 /dev/vgdata/data

sudo mkdir -p /mnt/data

sudo mount /dev/vgdata/data /mnt/data

Автоподключение:​

Code:
sudo blkid /dev/sdb1

sudo nano /etc/crypttab # cryptdata UUID=... none luks

sudo nano /etc/fstab # /dev/vgdata/data /mnt/data ext4 defaults 0 2

sudo systemctl daemon-reload

sudo systemctl restart cryptsetup.target

sudo mount -a

Дополнительные ключи и проверка:​

Code:
sudo cryptsetup luksAddKey /dev/sdb1

sudo cryptsetup -v status cryptdata

sudo cryptsetup luksDump /dev/sdb1


Часть 7: Политика «Antileak» для VPN​


Цель: Заблокировать любой выход трафика, если VPN-соединение разорвано.

Спойлер: Почему iptables лучше встроенного kill-switch?
Вопрос: "Я читал что iptables это устаревший инструмент, Antileak я как понял это killswitch это же в любом opensource клиенте впн есть. Чем ваш способ лучше?"



Ответ:

Надежность: Встроенный kill-switch в VPN-клиентах может не сработать при сбое процесса или неправильном завершении.​Гранулярный контроль: iptables позволяет точно контролировать, какой трафик разрешен, а какой заблокирован.​Независимость от клиента: Работает независимо от VPN-клиента, защищая даже если клиент не запущен.​Прозрачность: Видно все правила, легко проверить и отладить.​



Демонстрация проблемы встроенного kill-switch:


		
	



Реальный IP раскрыт, kill-switch не сработал.

Code:
sudo apt install -y iptables-persistent

sudo iptables -F

sudo iptables -N PASSVPN

sudo iptables -N BLOCKANY

sudo iptables -A OUTPUT -o tun+ -j ACCEPT

sudo iptables -A OUTPUT -o lo+ -j ACCEPT

sudo iptables -A OUTPUT -j PASSVPN

sudo iptables -A OUTPUT -j BLOCKANY

sudo iptables -A PASSVPN -d 127.0.0.1 -j ACCEPT

sudo iptables -A PASSVPN -d ВАШ_VPN_IP -j ACCEPT

sudo iptables -A BLOCKANY -j DROP

sudo iptables-save | sudo tee /etc/iptables/rules.v4

sudo systemctl enable netfilter-persistent.service

Эта настройка позволяет нам оставатся за подмененным IP адрессом без риска засветить своим реальным IP.

Важно: замените ВАШ_VPN_IP на адрес входного VPN-сервера.


Часть 8: TOR и ProxyChains​

  • Скачайте Tor Browser с официального сайта.
  • В каталоге tor-browser/Browser/TorBrowser/Data/Tor создайте/измените torrc:
  • Code:
    ExcludeNodes {GB},{DE},{FR},{US},{CA},{NL},{AU},{SG} StrictNodes 1
Установите ProxyChains:
Code:
sudo apt install proxychains4
  • Отредактируйте /etc/proxychains4.conf, заменив порт 9050 на 9150, чтобы цепочка форсировалась через Tor Browser.

Часть 9: Подключение к контролируемому VPS​

  • Установите RDP-клиент:
  • Code:
    sudo apt install -y rdesktop

  • Запускайте через proxychains:
  • Code:
    proxychains4 rdesktop <IP_VPS> -u <username> -p <password>

VPS выступает финальной точкой выхода в интернет; весь трафик проходит через несколько слоёв шифрования и сегментации.


Часть 10: Итоги​

  • Собственные VPN-цепочки и Double VPN позволяют тестировать сценарии многослойной защиты без раскрытия исходной точки.
  • MikroTik с USB-модемом и жёстким файрволом — защищен от провайдеров и любого левого входа в ваш роутер.
  • Linux Mint под LUKS + виртуальные машины гарантуют контроль над артефактами.
  • Kill-switch для VPN и TOR + proxychains минимизируют риск утечек трафика.
  • Ни один из шагов не обеспечивает абсолютной анонимности, но вместе они создают многослойную оборону.
Спойлер: ⚠️ Дисклеймер - материалы предназначены только для обучения и исследований, любое
Дисклеймер



Назначение материалов:



Все опубликованные материалы (включая статьи, примеры кода, описания техник, инструкции и демонстрации) предназначены исключительно для:




Образовательных целей
Повышения осведомленности в области информационной безопасности
Проведения исследований в контролируемых средах (например, в частных лабораториях или тестовых окружениях)
Разработки и улучшения инструментов защиты


Позиция автора относительно неправомерного использования:



Автор не поощряет, не поддерживает и не несет ответственности за любое незаконное или противоправное использование представленной информации, включая, но не ограничиваясь:




Созданием, распространением или использованием вредоносного программного обеспечения
Несанкционированным доступом к информационным системам, сетям или данным
Причинением вреда третьим лицам, организациям или инфраструктуре


Условия использования:



Все представленные техники и примеры могут использоваться только с явного письменного разрешения владельца соответствующих систем или в полностью изолированной лабораторной среде.



Использование материалов без согласия владельца ресурса может являться нарушением законодательства и влечь за собой уголовную, административную или гражданскую ответственность в вашей юрисдикции.



Отказ от ответственности автора:



Автор явно заявляет, что:




Не несет ответственности за последствия использования читателями представленной информации
Не гарантирует применимость материалов вне рамок исследовательских и образовательных целей
Оставляет за собой право удалять или изменять материалы, если их публикация может привести к неправомерному использованию


Подтверждение пользователя:



Настоящий дисклеймер распространяется на все публикации, размещенные автором, независимо от языка, платформы и страны доступа. Используя данный материал, пользователь подтверждает, что:




Действует исключительно в рамках законов своей страны и международных норм
Берет на себя полную ответственность за свои действия
Понимает, что данная публикация не является юридической консультацией


Рекомендация по юридической консультации:



Если у вас возникают сомнения относительно законности тех или иных действий, настоятельно рекомендуется обратиться за консультацией к специализированному юристу.



​
👍79 ❤️11 🔥17 😮8 💯11

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.