- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- ngrok
- Описание ngrok
- Справка по ngrok
- Справка по команде authtoken
- Справка по команде credits
- Справка по команде http
- Справка по команде start
- Справка по команде tcp
- Справка по команде tls
- Справка по команде update
- Справка по команде version
- Руководство по ngrok
- Примеры запуска ngrok
- Установка ngrok
- Скриншоты ngrok
- Инструкции по ngrok
- Установка и использование Ngrok на Kali Linux
- Что такое Ngrok
- Как установить Ngrok на Kali Linux
- Загрузка Ngrok на Kali Linux
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
ngrok
Описание ngrok
Программа ngrok делает доступными в Глобальной сети локальные сервисы, даже если компьютер не имеет белого IP адреса и находится за NAT и файерволами. С помощью ngrok из Интернета будет доступен любой порт на вашем локальном компьютере будет доступен через безопасный туннель. Например, вы можете сделать так, чтобы ваш локальный веб-сервер стал доступным из Интернета по прямой ссылке без дополнительной настройке.
Как работает программа
Вы загружаете и запускаете программу на вашей машине и указываете порт сетевой службы, обычно это веб-сервер.
Программа подключается к облачной службе ngrok, которая выдаёт вам сгенерированный адрес (домен третьего уровня). Если открыть этот адрес в веб-браузере, то трафик будет перенаправлен на вашу локальную сетевую службу или на любой адрес, который вы указали.
- Демонстрация веб-сайтов без развёртывания на реальном хостинге
- Создание веб хуков на вашем компьютере для разработки ПО
- Тестирование мобильных приложений, подключённых к локально работающему бэкэнду
- Стабильные адреса для подключённых устройств, развёрнутых в полевых условиях
- Запуск персональных облачных сервисов из вашего дома
Справка по ngrok
authtoken сохранить токен аутентификации в конфигурационный файл credits печатает информацию об авторе и лицензии http запустить HTTP туннель start запустить туннели по имени из конфигурационного файла tcp запустить TCP туннель tls запустить TLS туннель update обновить ngrok до последней версии version напечатать строку с версией help Вывести список команд или справку по указанной команде
Справка по команде authtoken
authtoken сохраняет токен аутентификации в конфигурационный файл.
ngrok ТОКЕН [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Команда authtoken изменяет ваш файл конфигурации, чтобы записать в него указанный authtoken. По умолчанию этот файл конфигурации находится в $HOME/.ngrok2/ngrok.yml.
Для использования многих расширенных функций службы, служба ngrok.com требует, чтобы вы зарегистрировали учётную запись. Чтобы связать вашего клиента с учётной записью, он должен передать секретный токен службе ngrok.com при запуске. Вместо того, чтобы передавать этот authtoken при каждом вызове, вы можете использовать эту команду, чтобы сохранить его в файле конфигурации, чтобы ваш клиент всегда аутентифицировал вас должным образом.
ngrok authtoken BDZIXnhJt2HNWLXyQ5PM_qCaBq0W2sNFcCa0rfTZd
--config сохранить в этом конфигурационном файле, по умолчанию: ~/.ngrok2/ngrok.yml --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записи журнала: 'term', 'logfmt', 'json' --log-level "info" уровень подробности журнала
Справка по команде credits
credits печатает информацию об авторе и лицензировании.
Отображает автора, благодарности и информацию о лицензии.
Справка по команде http
http запускает HTTP туннель.
ngrok http [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Запускает туннель, прослушивающий HTTP/HTTPS трафик с указанным именем хоста. Заголовок HTTP Host на входящих публичных запросах проверяется, чтобы определить, какой туннель ему подходит.
Конечные точки HTTPS завершают трафик TLS на сервере ngrok с помощью сертификатов ngrok.io. Затем расшифрованный HTTP-трафик направляется через безопасный туннель, а затем на ваш локальный сервер. Если вы не хотите, чтобы ваш трафик TLS заканчивался на сервере ngrok, используйте туннель TLS или TCP.
Перенаправляет субдомен ngrok.io на локальный порт 80:
Перенаправляет трафик на example.com:9000:
ngrok http example.com:9000
Запрашивает имя субдомена: ‘bar.ngrok.io’:
ngrok http -subdomain=bar 80
Запрашивает туннель ‘ex.com’ (DNS CNAME):
ngrok http -hostname=ex.com 1234
Запрашивает basic аутентификацию на конечной точке тоннеля:
ngrok http -auth='falken:joshua' 80
Переписывает заголовок Host на ‘ex.com’:
ngrok http -host-header=ex.com 80
Открывает доступ из интернета к локальным файлам в /var/log:
Перенаправляет на локальный https сервер:
ngrok http https://localhost:8443
--auth включает basic аутентификацию на конечной точке туннеля, 'ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ' --authtoken токен ngrok.com для аутентификации пользователя --bind-tls "both" прослушивать http, https или both: true/false/both --config путь до конфигурационных файлов; если указано несколько, то они используются все --host-header установить заголовок Host; если 'rewrite' использовать локальный адрес в качестве имени хоста --hostname туннель хоста на произвольном имени (требует DNS CNAME) --inspect включить/отключить интроспекцию (самоанализ) http --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записи журнала: 'term', 'logfmt', 'json' --log-level "info" уровень журнала --region регион сервера ngrok [us, eu, au, ap, sa, jp, in] (по умолчанию: us) --subdomain разместить туннель на указанном субдомене
Справка по команде start
start запускает туннель по имени из конфигурационного файла.
ngrok start [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Запускает туннели по имени из файла конфигурации. Вы можете указать любое количество имён туннелей. Вы можете запустить все туннели из файла конфигурации, для этого укажите ключ —all.
Запустить туннель с именем в конфигурационном файле ‘dev’:
Запустить туннели ‘web’ и ‘blog’:
Запустить все туннели, определённые в конфигурационном файле:
--all запустить все туннели из конфигурационного файла --authtoken токен ngrok.com для аутентификации пользователя --config путь до конфигурационных файлов; если указано несколько, то используются все --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записей журнала: 'term', 'logfmt', 'json' --log-level "info" уровень подробности журнала --none запустить без туннелей --region регион сервера ngrok [us, eu, au, ap, sa, jp, in] (по умолчанию: us)
Справка по команде tcp
tcp запускает туннель TCP.
ngrok tcp [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Запускает туннель, который перенаправляет весь TCP-трафик с публичного порта на локальный адрес. Это чрезвычайно полезно для предоставления сервисов, которые работают на не HTTP-трафике (ssh, sip, rdp, игровые серверы и т. д.).
Туннель TCP связывает публичный адрес на удалённом сервере ngrok. Любые службы, которым требуется стабильный публичный адрес, должны использовать параметр —remote-addr. ngrok.com требует, чтобы вы зарезервировали адрес туннеля TCP для своей учётной записи, прежде чем сможете его использовать.
Перенаправить порт на ваш локальный сервер ssh
Предоставить RDP-сервер по определённому общедоступному адресу, который вы зарезервировали
ngrok tcp --remote-addr=1.tcp.ngrok.io:27210 3389
--authtoken токен ngrok.com для аутентификации пользователя --config путь до конфигурационных файлов; если указано несколько, то используются все --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записей журнала: 'term', 'logfmt', 'json' --log-level "info" уровень подробности журнала --region регион сервера ngrok [us, eu, au, ap, sa, jp, in] (по умолчанию: us) --remote-addr привязать удалённый адрес (требуется зарезервировать адрес)
Справка по команде tls
tls запускает туннель TLS.
ngrok tls [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Запускает туннель для прослушивания трафика TLS через порт 443 с указанным именем хоста. Поле расширения TLS SNI (Server Name Indication) в соединении TLS проверяется, чтобы определить, к какому туннелю оно подходит.
Сервер ngrok не прерывает соединения TLS, пересылаемые с помощью этой команды. Может быть использован любой базовый протокол. При желании вы можете указать пару ключ/сертификат TLS, которая будет использоваться для завершения трафика на стороне клиента до его переадресации. Если не указано, трафик будет пересылаться в зашифрованном виде.
Использование этой команды рекомендуется только с опцией -hostname. Другое использование будет работать, но всегда приведёт к предупреждениям о несоответствии сертификатов.
Пересылать трафик TLS для example.com на порт 443 (требуется CNAME)
ngrok tls -hostname=example.com 443
Пересылать трафик TLS на поддомен (предупреждение о несовпадении сертификата)
Прервать трафик TLS для t.co перед пересылкой
ngrok tls -hostname=t.co -crt=/path/to/t.co.crt -key=/path/to/t.co.key 443
--authtoken токен ngrok.com для аутентификации пользователя --client-cas путь к центру сертификации TLS для проверки клиентских сертификатов --config путь до конфигурационных файлов; если указано несколько, то используются все --crt путь к сертификату TLS для завершения TLS --hostname туннель на произвольном имени хоста (требуется CNAME вашего DNS) --key путь к ключу TLS для завершения TLS --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записей журнала: 'term', 'logfmt', 'json' --log-level "info" уровень подробности журнала --region регион сервера ngrok [us, eu, au, ap, sa, jp, in] (по умолчанию: us) --subdomain хост-туннель на пользовательском поддомене
Справка по команде update
update обновляет ngrok до последней версии.
ngrok update [ОПЦИИ КОМАНДЫ] [АРГУМЕНТЫ. ]
Обновляет ngrok до последней версии. Эта команда проверяет веб-сервис ngrok на наличие более новых версий клиента ngrok. Если доступна более новая версия, то она будет загружена, будет проверена подлинность скаченного файла и текущий исполнимый файл будет заменён новым.
Для успешного обновления двоичный файл ngrok должен находиться в каталоге, доступном для записи текущему пользователю. Если вы поместили ngrok в системный PATH, вам может потребоваться запустить его с правами root или администратора.
Обновить ngrok до последней стабильной версии:
Обновить ngrok до последней бета версии:
--channel "stable" канал обновлений (stable, beta) --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записей журнала: 'term', 'logfmt', 'json' --log-level "info" уровень подробности журнала
Справка по команде version
version — print the version string
Руководство по ngrok
Примеры запуска ngrok
Создать тоннель от сгенерированного поддомена, доступного по публичной ссылке, до локального порта 80 (веб-сервер):
Туннель на указанные ХОСТ:ПОРТ (foo.dev:80) вместо localhost:
Сделать доступным из Глобальной сети локальный HTTPS сервер:
ngrok http https://localhost
Туннелирование произвольного TCP трафика на порт 22:
Создание туннеля (http) до сайта hackware.ru по протоколу https (https://hackware.ru) с заменой HTTP заголовка Host на hackware.ru (-host-header=hackware.ru):
ngrok http https://hackware.ru -host-header=hackware.ru
Установка ngrok
Установка в Kali Linux
wget `curl -s https://ngrok.com/download | grep -o -E 'https://bin.equinox.io/c/[A-Za-z0-9]/ngrok-stable-linux-amd64.zip'` unzip ngrok-stable-linux-amd64.zip chmod +x ./ngrok ./ngrok -h
Установка в BlackArch
Программа предустановлена в BlackArch
Установка в любой дистрибутив Linux
wget `curl -s https://ngrok.com/download | grep -o -E 'https://bin.equinox.io/c/[A-Za-z0-9]/ngrok-stable-linux-amd64.zip'` unzip ngrok-stable-linux-amd64.zip chmod +x ./ngrok ./ngrok -h
Установка в Windows
Перейдите на страницу официального сайта и скачайте ngrok для Windows: https://ngrok.com/download
Распакуйте скаченный архив, отройте командную строку и перейдите в папку с исполнимым файлом с помощью cd, например, у меня программа помещена в папку C:\Users\MiAl\Downloads\:
Для проверки выведите справку командой:
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты ngrok
Инструкции по ngrok
Установка и использование Ngrok на Kali Linux
В предыдущей статье, посвященной инструменту для скрытого удаленного контроля телефона меня просили показать настройку Ngrok на Kali Linux. По просьбам трудящихся, в этой статье я покажу, как скачать, настроить и использовать Ngrok на Kali Linux.
Что такое Ngrok
Ngrok — это мультиплатформенное приложение, которое позволяет создавать туннели на локальный компьютер пользователя. Простыми словами, создается публичный адрес, все обращения по которому пробрасываются на локальный порт. Это позволяет избежать проброса портов. Вы же в курсе, что открывать порты на роутере не рекомендуется?
Статья написана в образовательных целях, для обучения пентестеров (белых хакеров). Для демонстрации работы, были использованы наши личные устройства. Использование данного инструмента, в незаконных целях, влечет уголовную ответственность. Ни редакция spy-soft.net, ни автор не несут ответственность за ваши действия.
Кстати, инструмент зачастую используют разработчики, для демонстрации проектов клиентам перед запуском. Так что, его можно использовать, не только для пентеста.
Как установить Ngrok на Kali Linux
Для установки Ngrok на Kali Linux следуйте инструкции.
Загрузка Ngrok на Kali Linux
Откройте браузер и зайдите на официальную страницу загрузки Ngrok. Нажмите на кнопку Download for Linux (Загрузить для Linux).
Откройте терминал и используя следующую команду, перейдите в «Загрузки»: