Спойлер: ⚠️ Дисклеймер - материалы предназначены только для обучения и исследований, любое
Дисклеймер Назначение материалов: Все опубликованные материалы (включая статьи, примеры кода, описания техник, инструкции и демонстрации) предназначены исключительно для: Образовательных целей Повышения осведомленности в области информационной безопасности Проведения исследований в контролируемых средах (например, в частных лабораториях или тестовых окружениях) Разработки и улучшения инструментов защиты Позиция автора относительно неправомерного использования: Автор не поощряет, не поддерживает и не несет ответственности за любое незаконное или противоправное использование представленной информации, включая, но не ограничиваясь: Созданием, распространением или использованием вредоносного программного обеспечения Несанкционированным доступом к информационным системам, сетям или данным Причинением вреда третьим лицам, организациям или инфраструктуре Условия использования: Все представленные техники и примеры могут использоваться только с явного письменного разрешения владельца соответствующих систем или в полностью изолированной лабораторной среде. Использование материалов без согласия владельца ресурса может являться нарушением законодательства и влечь за собой уголовную, административную или гражданскую ответственность в вашей юрисдикции. Отказ от ответственности автора: Автор явно заявляет, что: Не несет ответственности за последствия использования читателями представленной информации Не гарантирует применимость материалов вне рамок исследовательских и образовательных целей Оставляет за собой право удалять или изменять материалы, если их публикация может привести к неправомерному использованию Подтверждение пользователя: Настоящий дисклеймер распространяется на все публикации, размещенные автором, независимо от языка, платформы и страны доступа. Используя данный материал, пользователь подтверждает, что: Действует исключительно в рамках законов своей страны и международных норм Берет на себя полную ответственность за свои действия Понимает, что данная публикация не является юридической консультацией Рекомендация по юридической консультации: Если у вас возникают сомнения относительно законности тех или иных действий, настоятельно рекомендуется обратиться за консультацией к специализированному юристу.
Вступление
Всем привет!
В этой статье рассмотрим практические методы защиты цифровой анонимности с реальными демонстрациями уязвимостей и способов их устранения. Материал основан на практическом опыте и включает конкретные примеры того, что может произойти без правильной настройки защиты. Также я ответил на вопросы @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
Трафик продолжает идти через реальный интерфейс
Реальный 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
Угроза 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
Угроза 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.
Спойлер: Откуда данные про 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
Видно неизвестное устройство 192.168.88.100, которое может перехватывать трафик.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!)
Решение с контролем 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 обеспечивает:
Без USB-модема (домашний интернет):
С USB-модемом:
angust@linux-pc:~$ whois 178.234.67.89 | grep -i "org\|address\|city"
С мобильным оператором сложнее связать IP с конкретным человеком и адресом.
Ответ: 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
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
LIMB