При проведении цифровой разведки или сквозного тестирования важно определить сеть, понимая, какие серверы или устройства находятся между вашей системой и целью.
Например, специалисты по безопасности не cмогут сразу приступить к атаке на веб-сервер, не потратив время на проверку наличия брандмауэра перед ним.
Здесь на помощь приходит утилита traceroute.
Она может отправлять пакет из вашей системы на целевую машину и составлять список всех его маршрутов для перехода к ней.
Это покажет, через сколько устройств проходят ваши сетевые данные, а также IP-адрес каждого устройства.
В Kali Linux есть еще одна похожая утилита для разведки, называемая mtr, которая в основном работает так же, как traceroute.
В этом руководстве мы увидим, как использовать traceroute и mtr с их различными параметрами команд в Kali.
В этом руководстве вы узнаете:
- Как использовать traceroute
- Как пользоваться MTR
Как использовать traceroute
Если traceroute еще не установлен в вашей системе, откройте терминал командной строки и введите следующие команды, чтобы установить его.
$ sudo apt update
$ sudo apt install traceroute
После его установки попробуйте запустить traceroute в другой системе.
Это может быть устройство в вашей сети, веб-сервер или что угодно, к чему вы можете подключиться, будь то локально или удаленно.
Укажите имя хоста, имя домена или IP-адрес в своей команде.
Обратите внимание, что для некоторых команд traceroute требуются привилегии root.
$ traceroute itsecforu.ru
traceroute to itsecforu.ru (104.26.2.13), 30 hops max, 60 byte packets
1 10.0.2.2 (10.0.2.2) 0.186 ms 0.122 ms 0.097 ms
2 192.168.0.1 (192.168.0.1) 8.717 ms 13.210 ms 13.552 ms
3 192.168.1.1 (192.168.1.1) 13.435 ms 13.413 ms 13.394 ms
4 10.115.222.7 (10.115.222.7) 27.564 ms 27.541 ms 27.662 ms
5 10.113.5.226 (10.113.5.226) 28.760 ms 28.909 ms 29.236 ms
6 * * *
7 10.111.5.9 (10.111.5.9) 11.810 ms 11.192 ms 13.026 ms
8 et-3-0-4-100-grtlurem1.net.telefonicaglobalsolutions.com (190.98.132.248) 25.205 ms 25.186 ms 25.003 ms
9 190.98.132.207 (190.98.132.207) 23.088 ms 23.355 ms 23.333 ms
10 104.26.2.13 (104.26.2.13) 22.653 ms 22.631 ms 22.729 ms
Трассировка заняла 10 переходов.
Вы заметите несколько звездочек на шаге 6, что означает, что это конкретное устройство заблокировало нашу трассировку.
Вероятно, это означает, что устройство конкретно блокирует ICMP.
Мы можем преодолеть эту блокировку с помощью traceroute, пытаясь отправлять разные типы пакетов (т.е. TCP вместо ICMP).
Ниже перечислены дополнительные параметры, которые мы можем использовать с traceroute.
Параметр -I указывает traceroute использовать пакеты ICMP ECHO, которые блокируются реже и обычно могут дать более быстрые результаты.
$ sudo traceroute -I itsecforu.ru
Параметр -T указывает traceroute использовать TCP вместо ICMP.
Этот метод используется для сбора данных, более актуальных для веб-сервера.
$ sudo traceroute -T itsecforu.ru
Чтобы использовать IPv4 или IPv6, используйте параметр -4 или -6 соответственно.
$ traceroute -4 itsecforu.ru
или
$ traceroute -6 itsecforu.ru
Если вы хотите протестировать конкретный порт, в этом может помочь флаг -p.
$ traceroute -p 53 192.168.1.1
По умолчанию пакеты, отправленные из traceroute, имеют TTL (время жизни), равное 30.
Другими словами, если для достижения пункта назначения требуется более 30 переходов, пакет отбрасывается и попытка traceroute прекращается.
Вы можете изменить это поведение, указав другой TTL с помощью команды -m.
$ traceroute -m 60 itsecforu.ru
Обратите внимание, что любой из этих параметров можно объединить в одну команду. Например:
$ sudo traceroute -I -4 -m 60 itsecforu.ru
Чтобы посмотреть все дополнительные параметры для traceroute, используйте параметр справки.
$ traceroute --help
Как пользоваться MTR
Если mtr еще не установлен в вашей системе, откройте терминал командной строки и введите следующие команды, чтобы установить его.
$ sudo apt update
$ sudo apt install mtr
Самый простой способ использовать mtr – просто указать имя хоста, доменное имя или IP-адрес, к которому вы хотите отследить путь.
$ mtr itsecforu.ru
Вы увидите, что открывается новое окно, в котором mtr продолжает запускать traceroute и обновлять свои результаты в реальном времени.
Вы можете найти его как интерактивную версию traceroute.
Эти две утилиты работают одинаково, но некоторым пользователям mtr будет проще в использовании или просто приятнее смотреть.
Чтобы отказаться от этого интерактивного окна и сохранить свои результаты в терминале, как это делает traceroute, вы можете использовать параметр -r.
$ mtr -r itsecforu.ru
Чтобы отправлять пакеты TCP или UDP вместо ICMP ECHO (по умолчанию), используйте флаги –tcp или –udp соответственно.
$ mtr --tcp itsecforu.ru
или
$ mtr --udp itsecforu.ru
У mtr есть много других доступных опций, дающих вам детальный контроль над вашими тестами traceroute.
Чтобы понять их все, вы можете проверить страницу руководства, где они подробно описаны.
Или для сокращенной версии просто используйте –help.
$ man mtr
или
$ mtr --help
Заключение
В этом руководстве мы увидели, как использовать traceroute в Kali Linux.
Мы также увидели, как использовать mtr, который кажется более современной и надежной версией traceroute.
Утилита traceroute, как и mtr, пригодится, поскольку помогает нам понять сетевой путь к определенному устройству.
Их также можно использовать для проверки вашего интернет-соединения.
Используйте эти инструменты, чтобы найти устройства, которые находятся между Kali и целевой системой.