Ngrok kali linux github

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как узнать точное расположение пользователя

Как узнать где находится человек

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

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

  • Операционная система
  • Платформа
  • Количество ядер процессора
  • Объем оперативной памяти — приблизительные результаты
  • Разрешение экрана
  • Информация о GPU
  • Имя и версия браузера
  • Публичный IP-адрес

Если будут получено разрешение на доступ к расположению, мы можем получить:

  • долготу
  • широту
  • точность
  • высоту над уровнем моря — не всегда доступна
  • направление — доступно только если пользователь движется
  • скорость — доступно только если пользователь движется

Алгоритм действий очень простой:

  1. Мы запускаем фишинговый сайт, который под предлогом, например, поиска новых знакомств рядом запрашивает разрешение на определение расположения пользователя.
  2. Отправляем пользователю ссылку на наш сайт.
  3. Если пользователь даёт разрешение сайту на получение его местоположения, то мы узнаём с точностью до десятков метров, где он сейчас находится.
  4. Даже если пользователь не даёт разрешения, но кликает ссылку, то мы узнаём его IP адрес, модель веб-браузера и некоторые другие характеристики его телефона или компьютера.

Программы для поиска расположения пользователя

Нам понадобятся две программы:

  • seeker — запускает фишинговый сайт и анализирует полученные данные.
  • ngrok — на тот случай, если у вас нет белого IP адреса (или хостинга); эта программа позволяет создавать ссылки на ваш сайт, благодаря чему сайт на вашем локальном компьютере можно открыть в Интернете. Больше подробностей об этой программе вы найдёте в статье «Как без белого IP локальный веб-сервер сделать доступным из Интернета».

Я покажу пример атаки из Kali Linux, если у вас другой дистрибутив, то инструкции по установке смотрите по ссылкам выше в карточках этих программ.

Установка seeker в Kali Linux

Установка ngrok в Kali Linux

Инструкция по использованию seeker

Далее всё очень просто, запускаем seeker:

Примечание: если при попытке запуска встроенного PHP сервера у вас возникли проблемы, то посмотрите содержимое файла ./logs/php.log. Если там вы найдёте ошибки с упоминанием open_basedir, то смотрите статью «Ошибка «Warning: Unknown: open_basedir restriction in effect.» (РЕШЕНО)».

На выбор присутствует два готовых шаблона:

Читайте также:  Read linux partitions from windows

Допустим, выбираю первый.

Затем выводится информация:

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

Теперь для создания тоннеля из Интернета до нашего локального сервера, в другом окне запускаем ngrok:

Сгенерирована ссылка https://1fa595b3.ngrok.io. Её нужно отправить «жертве». Предположим, пользователь открыл ссылку на настольном компьютере. В этом случае он увидит:

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

Возникает запрос на доступ к местоположению.

В окне seeker мы видим следующее:

Мы узнали IP и User Agent пользователя, но данные о местоположении не получены, просто потому, что у компьютера нет GPS модуля:

Откроем теперь фишинговую ссылку на мобильном телефоне.

Запрос данных о местоположении:

В этот раз получены данные локации:

Также сказано, что данные сохранены в файл по пути ./seeker/db/results.csv (относительно папки с файлами seeker). В этом файле хранятся все данные, в том числе с предыдущих атак.

Что можно улучшить для реальной атаки

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

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

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

Источник

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

ngrok

Описание ngrok

Программа ngrok делает доступными в Глобальной сети локальные сервисы, даже если компьютер не имеет белого IP адреса и находится за NAT и файерволами. С помощью ngrok из Интернета будет доступен любой порт на вашем локальном компьютере будет доступен через безопасный туннель. Например, вы можете сделать так, чтобы ваш локальный веб-сервер стал доступным из Интернета по прямой ссылке без дополнительной настройке.

Как работает программа

Вы загружаете и запускаете программу на вашей машине и указываете порт сетевой службы, обычно это веб-сервер.

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

Для чего подходит ngrok

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

Автор: Keith Rarick

Лицензия: Apache License

Справка по ngrok

Справка по команде authtoken

authtoken сохраняет токен аутентификации в конфигурационный файл.

Команда authtoken изменяет ваш файл конфигурации, чтобы записать в него указанный authtoken. По умолчанию этот файл конфигурации находится в $HOME/.ngrok2/ngrok.yml.

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

Читайте также:  Windows 10 как поменять экраны местами

Справка по команде credits

credits печатает информацию об авторе и лицензировании.

Отображает автора, благодарности и информацию о лицензии.

Справка по команде http

http запускает HTTP туннель.

Запускает туннель, прослушивающий HTTP/HTTPS трафик с указанным именем хоста. Заголовок HTTP Host на входящих публичных запросах проверяется, чтобы определить, какой туннель ему подходит.

Конечные точки HTTPS завершают трафик TLS на сервере ngrok с помощью сертификатов ngrok.io. Затем расшифрованный HTTP-трафик направляется через безопасный туннель, а затем на ваш локальный сервер. Если вы не хотите, чтобы ваш трафик TLS заканчивался на сервере ngrok, используйте туннель TLS или TCP.

Перенаправляет субдомен ngrok.io на локальный порт 80:

Перенаправляет трафик на example.com:9000:

Запрашивает имя субдомена: ‘bar.ngrok.io’:

Запрашивает туннель ‘ex.com’ (DNS CNAME):

Запрашивает basic аутентификацию на конечной точке тоннеля:

Переписывает заголовок Host на ‘ex.com’:

Открывает доступ из интернета к локальным файлам в /var/log:

Перенаправляет на локальный https сервер:

Справка по команде start

start запускает туннель по имени из конфигурационного файла.

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

Запустить туннель с именем в конфигурационном файле ‘dev’:

Запустить туннели ‘web’ и ‘blog’:

Запустить все туннели, определённые в конфигурационном файле:

Справка по команде tcp

tcp запускает туннель TCP.

Запускает туннель, который перенаправляет весь TCP-трафик с публичного порта на локальный адрес. Это чрезвычайно полезно для предоставления сервисов, которые работают на не HTTP-трафике (ssh, sip, rdp, игровые серверы и т. д.).

Туннель TCP связывает публичный адрес на удалённом сервере ngrok. Любые службы, которым требуется стабильный публичный адрес, должны использовать параметр —remote-addr. ngrok.com требует, чтобы вы зарезервировали адрес туннеля TCP для своей учётной записи, прежде чем сможете его использовать.

Перенаправить порт на ваш локальный сервер ssh

Предоставить RDP-сервер по определённому общедоступному адресу, который вы зарезервировали

Справка по команде tls

tls запускает туннель TLS.

Запускает туннель для прослушивания трафика TLS через порт 443 с указанным именем хоста. Поле расширения TLS SNI (Server Name Indication) в соединении TLS проверяется, чтобы определить, к какому туннелю оно подходит.

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

Использование этой команды рекомендуется только с опцией -hostname. Другое использование будет работать, но всегда приведёт к предупреждениям о несоответствии сертификатов.

Пересылать трафик TLS для example.com на порт 443 (требуется CNAME)

Пересылать трафик TLS на поддомен (предупреждение о несовпадении сертификата)

Прервать трафик TLS для t.co перед пересылкой

Справка по команде update

update обновляет ngrok до последней версии.

Обновляет ngrok до последней версии. Эта команда проверяет веб-сервис ngrok на наличие более новых версий клиента ngrok. Если доступна более новая версия, то она будет загружена, будет проверена подлинность скаченного файла и текущий исполнимый файл будет заменён новым.

Читайте также:  Как выбрать версии операционной системы windows

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

Обновить ngrok до последней стабильной версии:

Обновить ngrok до последней бета версии:

Справка по команде version

version — print the version string

Руководство по ngrok

Страница man отсутствует.

Примеры запуска ngrok

Создать тоннель от сгенерированного поддомена, доступного по публичной ссылке, до локального порта 80 (веб-сервер):

Туннель на указанные ХОСТ:ПОРТ (foo.dev:80) вместо localhost:

Сделать доступным из Глобальной сети локальный HTTPS сервер:

Туннелирование произвольного TCP трафика на порт 22:

Создание туннеля (http) до сайта hackware.ru по протоколу https (https://hackware.ru) с заменой HTTP заголовка Host на hackware.ru (-host-header=hackware.ru):

Установка ngrok

Установка в Kali Linux

Установка в BlackArch

Программа предустановлена в BlackArch

Установка в любой дистрибутив Linux

Установка в Windows

Перейдите на страницу официального сайта и скачайте ngrok для Windows: https://ngrok.com/download

Распакуйте скаченный архив, отройте командную строку и перейдите в папку с исполнимым файлом с помощью cd, например, у меня программа помещена в папку C:\Users\MiAl\Downloads\:

Для проверки выведите справку командой:

Информация об установке в другие операционные системы будет добавлена позже.

Источник

Ngrok kali linux github

Найти местоположение устройства при помощи Социальной Инженерии

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Доступно в

Концепция Seeker проста, подобно тому, как мы размещаем фишинговые страницы для получения учетных данных, почему бы не разместить поддельную страницу, которая запрашивает ваше местоположение, как многие популярные веб-сайты, основанные на местоположении. Читать больше в блоге thewhiteh4t . Seeker Hosts является фальшивым веб-сайтом на встроенном PHP-сервере и использует ngrok для создания ссылки, которую мы будем перенаправлять к цели, веб-сайт запрашивает разрешение на местоположение и, если цель позволяет, мы можем получить:

  • Долгота
  • Широта
  • Точность
  • Высота — Не всегда доступно
  • Напрвление — Доступно, если пользователь движется
  • Скорость — Доступно, если пользователь движется

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

  • Операционная система
  • Платформа
  • Количество ядер в CPU
  • Количество RAM — Приблизительные Результаты
  • Разрешение экрана
  • Информация о GPU
  • Данные браузера
  • Публичный IP-адрес

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

Чем это отличается от IP GeoLocation

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

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

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

Источник

Оцените статью