Ngrok - это многоплатформенное приложение, которое позволяет нам направлять наш локальный сервер разработки в интернет без переадресации портов. Ngrok размещает наш локально размещенный веб-сервер в поддомене ngrok.com. Это означает, что мы можем легко показать наш localhost в интернете без собственных доменных имен/статических IP или переадресации портов.
Ngrok - очень хороший инструмент для разработчиков, позволяющий проверять и показывать проекты клиентам перед запуском проекта. Но, как и все остальное, он также может быть неправильно использован плохими парнями. Они всегда пытаются разместить на Ngrok свою фишинговую страницу localhost для захвата жертв в интернете. Поэтому нам, как экспертам по кибербезопасности, необходимо обратить внимание на этот Ngrok.
Обучение - самый полезный способ защиты в сфере кибербезопасности, поэтому наша статья будет посвящена образовательным вещам. Ngrok - это как нож, нож создан для того, чтобы помогать людям резать овощи, но плохие парни используют его не по назначению. То же самое касается и Ngrok, он создан для помощи разработчикам, но плохие парни используют его не по назначению. Поэтому не пытайтесь использовать его против кого-либо. Мы не будем отвечать за это.
Установка и настройка Ngrok в Kali Linux
Чтобы установить Ngrok на нашу систему Kali Linux, нам нужно выполнить шаги ниже.
Устанавливаем GPG ключи репозитория ngrok
1 | curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc |
Добавляем репозиторий
1 | echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list |
Обновляем список доступных пакетов
1 | sudo apt update |
и устанавливаем ngrok, следующей командой
1 | sudo apt install ngrok |
Проверяем версию ngrok, для того что бы убедиться что все установилось корректно
1 | ngrok -v |
Нам нужно настроить Ngrok перед запуском. Нам нужно установить аутентификацию с помощью токена API Ngrok. Для этого нам нужно зарегистрироваться на сайте Ngrok.
Здесь нам нужно заполнить имя, электронную почту и выбрать пароль. Если мы хотим, мы можем использовать одноразовый почтовый адрес для входа в систему и проверить наш почтовый адрес, нам не нужно указывать свой собственный почтовый адрес.
После проверки почтового адреса мы можем получить токен API в области "Your Authtoken" на боковой панели, как показано на следующем снимке экрана:
На скриншоте выше мы видим наш ключ API аутентификации Ngrok и команду для его установки. Для безопасности мы скрыли часть наших API-ключей. Поэтому мы запускаем команду с API-ключом для настройки Ngrok.
1 | ngrok config add-authtoken 2LXLKA3r**************************************** |
В приведенной выше команде мы снова скрыли наш тот же API-ключ с помощью *. На следующем снимке экрана мы видим результат выполнения команды:
Использование Ngrok в Kali Linux
Работа Ngrok проста - он просто размещает наш локальный сайт в Интернете. Итак, сначала нам нужен локальный сайт.
Для этого нам нужно запустить сервер localhost на нашем рабочем столе. Затем запустите там сервер python localhost, чтобы разместить html-страницу на нашем локальном хосте с помощью следующей команды:
1 | sudo python3 -m http.server 80 |
На следующем снимке мы видим, что наш локальный веб-сервер запущен:
Теперь страница доступна с нашего компьютера, используя IP-адрес localhost (127.0.0.1), и с устройств в той же сети, используя наш локальный IP (IP, назначенный маршрутизатором для нашей системы Kali Linux). Но он не доступен для других сетей, потому что этот веб-сервер не размещен в интернете.
Теперь мы оставляем терминал нашего веб-хоста как есть, возвращаемся в предыдущее окно терминала (где мы настраивали Ngrok) и выполняем следующую команду для запуска Ngrok:
1 | ngrok http 80 |
Здесь мы запускаем скрипт Ngrok на http с портом номер 80, потому что наш сервер localhost работает на порту 80. (Если мы не можем использовать порт 80 на локалхосте, мы можем использовать другие порты, например 8080 или 8888, в этом случае нам нужно указать этот порт в Ngrok).
После этого мы видим, что наш Ngrok запущен, как показано на следующем снимке экрана:
На скриншоте выше мы видим ссылку переадресации. Используя эту переадресующую ссылку (в действительности ссылки могут быть как http, так и https), мы можем увидеть нашу страницу в браузере. Не только из браузера, мы можем получить доступ к сайту из любого места в Интернете по ссылке, предоставленной Ngrok.
Эта ссылка будет активна до тех пор, пока мы не закроем туннель Ngrok, но в реальных условиях использования Ngrok не может запустить это надолго в рамках своего бесплатного плана. Это может быть временным решением.
Заключение
Вот как мы можем использовать Ngrok в Kali Linux, это решение для хостинга нашего локального сайта или веб-сервера в интернете. Здесь нам не нужен статический IP-адрес и не требуется проброс портов.