- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- ngrok
- Описание ngrok
- Справка по ngrok
- Справка по команде authtoken
- Справка по команде credits
- Справка по команде http
- Справка по команде start
- Справка по команде tcp
- Справка по команде tls
- Справка по команде update
- Справка по команде version
- Руководство по ngrok
- Примеры запуска ngrok
- Установка ngrok
- Public URLs for
- Take advantage of a powerful local inspector
- And so much more.
- Join the hundreds of thousands of developers who love ngrok Here’s some kind words from a few of them.
- Penetration Testing Tools
- Kali Linux Tools Listing
- ngrok
- ngrok Description
- ngrok Help
- authtoken Help
- credits Help
- http Help
- start Help
- tcp Help
- tls Help
- update Help
- version Help
- help command Help
- Usage Example ngrok
- How to install ngrok
Инструменты 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 при каждом вызове, вы можете использовать эту команду, чтобы сохранить его в файле конфигурации, чтобы ваш клиент всегда аутентифицировал вас должным образом.
Справка по команде 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. Если доступна более новая версия, то она будет загружена, будет проверена подлинность скаченного файла и текущий исполнимый файл будет заменён новым.
Для успешного обновления двоичный файл 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\:
Для проверки выведите справку командой:
Информация об установке в другие операционные системы будет добавлена позже.
Источник
Public URLs for
Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall.
Welcome to Kate’s Site!
It’s currently under development… Check back soon!
node app.js Serving app.js port 3000
./ngrok http 3000
ngrok by @inconshreveable Session Status online Account Kate Libby (Plan: Pro) Web Interface http://127.0.0.1:4040 Forwarding http://katesapp.ngrok.io -> localhost:3000 Forwarding https://katesapp.ngrok.io -> localhost:3000
Take advantage of a powerful local inspector
And so much more.
Join the hundreds of thousands of developers who love ngrok
Here’s some kind words from a few of them.
ngrok has become essential to my workflow. Makes testing responsive designs so much easier.
ngrok is genius, replaying requests makes webhooks 1M times easier to handle. ngrok.com
#ngrok is a dream for testing localhost with remote APIs!
ngrok has got to be the easiest local tunnel solution I’ve ever used.
ngrok, probably the best tool I have started to use for my webwork since firebug also great support
Источник
Penetration Testing Tools
Kali Linux Tools Listing
ngrok
ngrok Description
The ngrok program makes local services available on the Internet even if the computer does not have a white IP address and is located behind NAT and firewalls. Using ngrok, any port on your local computer will be accessible through a secure tunnel from the Internet. For example, you can make your local web server accessible from the Internet through a direct link without additional configuration.
How the program works
You download and run the program on your machine and specify the network service port, usually a web server.
The program connects to the ngrok cloud service, which gives you the generated address (third-level domain). If you open this address in a web browser, the traffic will be redirected to your local network service or to any address that you specified.
What is ngrok suitable for?
- Demonstration of web sites without deployment on real hosting
- Create web hooks on your computer for software development
- Testing mobile applications connected to a locally running backend
- Stable addresses for connected devices deployed in the field
- Launching personal cloud services from your home
Author: Keith Rarick
License: Apache License
ngrok Help
authtoken Help
authtoken saves authtoken to configuration file.
The authtoken command modifies your configuration file to include the specified authtoken. By default, this configuration file is located at $HOME/.ngrok2/ngrok.yml.
The ngrok.com service requires that you sign up for an account to use many advanced service features. In order to associate your client with an account, it must pass a secret token to the ngrok.com service when it starts up. Instead of passing this authtoken on every invocation, you may use this command to save it into your configuration file so that your client always authenticates you properly.
credits Help
credits prints author and licensing information.
Displays program credits and license information.
http Help
http starts an HTTP tunnel.
Starts a tunnel listening for HTTP/HTTPS traffic with a specific hostname. The HTTP Host header on incoming public requests is inspected to determine which tunnel it matches.
HTTPS endpoints terminate TLS traffic at the ngrok server using the ngrok.io certificates. The decrypted, HTTP traffic is then forwarded through the secure tunnel and then to your local server. If you don’t want your TLS traffic to terminate at the ngrok server, use a TLS or TCP tunnel.
Forward ngrok.io subdomain to port 80:
Forward traffic to example.com:9000:
Request subdomain name: ‘bar.ngrok.io’:
Request tunnel ‘ex.com’ (DNS CNAME):
Enforce basic auth on tunnel endpoint:
Rewrite the Host header to ‘ex.com’:
Serve local files in /var/log:
Forward to a local https server:
start Help
start starts tunnels by name from the configuration file.
Starts tunnels by name from the configuration file. You may specify any number of tunnel names. You may start all tunnels in the configuration file with the —all switch.
Start tunnel named ‘dev’ in the configuration file:
Start tunnels named ‘web’ and ‘blog’:
Start all tunnels defined in the config file:
tcp Help
tcp starts a TCP tunnel.
Starts a tunnel which forwards all TCP traffic on a public port to a local address. This is extremely useful for exposing services that run non-HTTP traffic (ssh, sip, rdp, game servers, etc).
A TCP tunnel binds a public address on the remote ngrok server. Any services which require a stable public address should use the —remote-addr option. ngrok.com requires that you reserve a TCP tunnel address for your account before you can use it.
Forward a port to your local ssh server:
Expose an RDP server on a specific public address that you reserved:
tls Help
tls starts a TLS tunnel.
Starts a tunnel listening for TLS traffic on port 443 with a specific hostname. The TLS SNI (Server Name Indication) extension field in the TLS connection is inspected to determine which tunnel it matches.
The ngrok server does not terminate TLS connections forwarded with this command. Any underlying protocol may be used. You may optionally specify a TLS key/cert pair which will be used to terminate the traffic client-side before it is forwarded. If not specified, the traffic will be forwarded still encrypted.
Using this command is only recommended with the -hostname option. Other uses will work, but will always result in certificate mismatch warnings.
Forward TLS traffic for example.com to port 443 (requires CNAME):
Forward TLS traffic on subdomain (mismatch certificate warning):
Terminate TLS traffic for t.co before forwarding:
update Help
update updates ngrok to the latest version.
Updates ngrok to the latest version. This command checks the ngrok web service for a newer versions of the ngrok client. If a newer version is available, it will download it an replace the ngrok binary with the new version after cryptographically verifying the update is safe to apply.
In order to update successfully, the ngrok binary must be in a directory that is writable by your current user. If you placed ngrok in a system path, you may need to run this with root or Administrator privileges.
Update ngrok to the latest stable version:
Update ngrok to the latest beta version:
version Help
version prints the version string.
help command Help
help — Shows a list of commands or help for one command
Usage Example ngrok
Create a tunnel from the generated subdomain accessible via a public link to the local port 80 (web server):
Create a tunnel to the specified HOST:PORT (foo.dev:80) instead of localhost:
Make the local HTTPS server accessible from the Internet:
Tunneling arbitrary TCP traffic on port 22:
Creating a tunnel (http) to the hackware.ru site using the https protocol (https://hackware.ru) with replacing the Host HTTP header with hackware.ru (-host-header=hackware.ru):
How to install ngrok
Installation on Kali Linux and any Linux distribution
Installation on BlackArch
The program is preinstalled in BlackArch
Installation on Windows
Go to the official website page and download ngrok for Windows: https://ngrok.com/download
Unzip the downloaded archive, open the command line and go to the folder with the executable file using cd, for example, my program is placed in the folder C:\Users\MiAl\Downloads\:
Источник