
- •4.1. Создание, изменение и удаление учётных записей
- •4.1.1. Введение
- •4.1.2. Добавление пользователя
- •4.1.3. Изменение параметров пользовательской учётной записи
- •4.1.4. Удаление учётной записи
- •6.1. Определение существующих установок tcp/ip
- •Комментарий
- •6.1.1. Ifconfig(8) — настройки сетевых интерфейсов
- •6.1.2. Netstat(1)
- •6.1.2.1. Таблица маршрутизации
- •6.1.2.2. Статистика
- •6.1.2.3. Работающие интернет сервисы и открытые сокеты
- •6.1.2.3.1. Открытие tcp соединения (тройное рукопожатие)
- •6.1.2.3.2. Закрытие tcp соединения
- •6.1.3. Route(8)
- •6.1.4. /Etc/resolv.Conf(5)
- •6.2.2.1. Изменение настроек физического уровня
- •6.2.2.2. Изменение настроек канального уровня
- •6.2.2.2.1. Изменение mac-адреса:
- •6.2.2.2.2. Смена флагов канального уровня
- •6.2.2.3. Изменение настроек сетевого уровня
- •6.2.2.3.2. Ip, маска подсети, широковещательный адрес
- •6.2.2.3.4. Другие протоколы сетевого уровня
- •6.2.3. Route(8) — настройка таблицы маршрутизации
- •6.2.4. Resolv.Conf(5) — настройка клиента dns
- •6.2.5. Hosts(5) — локальная база имён
- •6.2.6. Как сохранить установленные сетевые параметры
- •6.2.6.1. FreeBsd
- •6.3. Определение какие tcp или udp порты открыты в системе
- •Комментарий
- •6.3.1. Fstat(1)
- •6.3.2. Sockstat(1)
- •6.3.3. Lsof(1)
- •6.3.4. Nmap(1)
- •6.4. Проверка доступности tcp/ip сервиса
- •Комментарий
- •6.4.1. Ping(8)
- •6.4.2. Traceroute(1)
- •6.4.3. Hping(8)
- •6.4.4. Telnet(1), nc(1)
6.4.3. Hping(8)
Данная программа не входит в курс BSDA, тем не менее я очень советую с ней поупражняться. Как и программа nmap(1), hping(8) мощное средство тестирования брандмауэров, с её помощью можно генерировать разнообразный «неправильный» трафик.
|
Важно |
При помощи команды hping(8) можно сделать так называемую «back door» — чёрный ход. Команда hping(8) может запускаться только с правами суперпользователя. При этом, у неё есть режим в котором она ищет в приходящих пакетах некоторую метку и выполняет команды, которые встретятся после метки. Таким образом, если злоумышленник взломает вашу машину и сможет собрать и запустить hping(8) с нужными аргументами, то потом он сможет выполнять на атакованной системе произвольный код с полномочиями суперпользователя не осуществляя никаких операций связанных с аутентификацией. |
Часто машина не отвечает на пакеты ECHO_REQUEST, но при этом на ней успешно работает web-сервер и она отвечает на попытку установить соединение с 80-м портом. Программа hping(8) может «пинговать» хосты не только при помощи ICMP пакетов, которые часто отвергаются брандмауэрами, но так же и при помощи TCP и UDP пакетов.
Так же программа hping(8) позволяет при помощи TCP пакетов с плавно изменяющимся TTL выяснить маршрут к хосту, даже если это не смогла сделать программа traceroute(1). Принцип работы тот, же, но TCP пакеты, мягко говоря, реже уничтожаются брандмауэрами.
Проделаный ниже эксперимент проводился с хорошо известным в нашей стране интернет-магазином, который работает круглосуточно, но на пинги не откликается. Все имена в распечатке заменены, так как мне неизвестно из каких соображений администрация магазина выбрала такую политику безопасности.
$ ping -c1 example.org
PING example.org (192.0.34.166): 56 data bytes
--- example.org ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
# hping -p 80 -S -c 1 example.org
HPING example.org (rl0 192.0.34.166) S set, 40 headers + 0 data bytes
len=46 ip=192.0.34.166 ttl=121 id=47606 sport=80 flags=SA seq=0 win=16384 rtt=18.6 ms
--- example.org hping statistic ---
1 packets tramitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 18.6/18.6/18.6 ms
$ traceroute example.org
traceroute to example.org (192.0.34.166), 64 hops max, 40 byte packets
1 ****** (***.***.***.***) 0.432 ms 0.244 ms 4.614 ms
2 ****** (***.***.***.***) 0.751 ms 10.655 ms 1.809 ms
3 ****** (***.***.***.***) 0.859 ms 5.817 ms 10.049 ms
4 ****** (***.***.***.***) 13.455 ms 13.785 ms 17.565 ms
5 ****** (***.***.***.***) 18.931 ms 19.907 ms 18.807 ms
6 ****** (***.***.***.***) 25.173 ms 20.845 ms 20.466 ms
7 * * *
8 * * *
^C
# hping -p 80 -S -c 8 --traceroute example.org
HPING example.org (rl0 192.0.34.166): S set, 40 headers + 0 data bytes
hop=1 TTL 0 during transit from ip=***.***.***.*** name=******
hop=1 hoprtt=0.4 ms
hop=2 TTL 0 during transit from ip=***.***.***.*** name=******
hop=2 hoprtt=0.7 ms
hop=3 TTL 0 during transit from ip=***.***.***.*** name=******
hop=3 hoprtt=1.4 ms
hop=4 TTL 0 during transit from ip=***.***.***.*** name=******
hop=4 hoprtt=11.9 ms
hop=5 TTL 0 during transit from ip=***.***.***.*** name=******
hop=5 hoprtt=28.3 ms
hop=6 TTL 0 during transit from ip=***.***.***.*** name=******
hop=6 hoprtt=40.0 ms
len=46 ip=192.0.34.166 ttl=121 id=48766 sport=80 flags=SA seq=6 win=16384 rtt=20.3 ms
len=46 ip=192.0.34.166 ttl=121 id=8660 sport=80 flags=SA seq=7 win=16384 rtt=32.5 ms
--- example.org hping statistic ---
8 packets tramitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 0.4/16.9/40.0 ms
Как видим, если послать «пинг» при помощи пакета TCP на порт 80 с выставленным флагом SYN, на него приходит ответ. (Иначе не мог бы функционировать магазин). Таким же образом, мы можем выяснить и маршрут до него. При этом ни команда ping(8), ни traceroute(8) с задачей не справляются.
Подробное описание программы hping имеется в работе Николая Малых [url://Malyh-hping2-2005].