Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4 (FAQ).doc
Скачиваний:
0
Добавлен:
04.01.2020
Размер:
406.02 Кб
Скачать

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].