Читаем Техника сетевых атак полностью

Перехватить сессию связи между сервером и клиентом можно с помощью специально разработанного для этой цели Proxy-сервера TCPSPY (на прилагаемом к книге диске он находится в файле /SRC/tcpspy.bat, а его исходный текст приведен в Приложении). Запустив его, необходимо указать порт удаленного сервера (23), порт локального сервера (скажем, 123) и адрес удаленного сервера (в приведенном ниже примере использовался telnet.org). Затем запустить telnet-клиент (в этом примере использовался клиент, входящий в Windows 2000) и установить соединение с узлом 127.0.0.1 по выбранному порту (123).

Ниже приведен протокол работы, сохраненный в файле tcpspy.log (на диске, приложенном к книге он расположен в /SRC/telnet.log)

· FF FD 18 FF FD 20 FF FD ¦ 23 FF FD 27 FF FB 18 FF ¤^ ¤ ¤# ¤' v^

· FB 1F FF FC 20 FF FC 23 ¦ FF FC 27 FF FD 1F FF FA vЎ № №# №' ¤Ў ·

· 18 01 FF F0 FF FB 1F FF ¦ FA 1F 00 50 00 19 FF F0 ^O Ё vЎ ·Ў P v Ё

· FF FA 18 00 41 4E 53 49 ¦ FF F0 FF FB 03 FF FD 01 ·^ ANSI Ё v¦ ¤O

· FF FB 05 FF FD 21 FF FD ¦ 03 FF FB 01 FF FE 05 FF v¦ ¤! ¤¦ vO ¦¦

· FC 21 FF FE 01 FF FB 01 ¦ 0D 0D 0A 52 65 64 20 48 №! ¦O vOdd0Red H

· 61 74 20 4C 69 6E 75 78 ¦ 20 72 65 6C 65 61 73 65 at Linux release

· 20 36 2E 31 20 28 43 61 ¦ 72 74 6D 61 6E 29 0D 0D 6.1 (Cartman)dd

· 0A 4B 65 72 6E 65 6C 20 ¦ 32 2E 32 2E 31 36 2D 33 0Kernel 2.2.16-3

· 20 6F 6E 20 61 6E 20 69 ¦ 35 38 36 0D 0D 0A 6C 6F on an i586dd0lo

· 67 69 6E 3A 20 FF FC 01 ¦ FF FD 01 6B 70 6E 63 0D gin: №O ¤Okpncd

· 0D 0A 6B 70 6E 63 0D 0D ¦ 0A 50 61 73 73 77 6F 72 d0kpncdd0Passwor

· 64 3A 20 70 61 73 73 77 ¦ 6F 72 64 0D 0D 0A 0D 0D d: passworddd0dd

· 0A 4C 6F 67 69 6E 20 69 ¦ 6E 63 6F 72 72 65 63 74 0Login incorrect

· 0D 0D 0A 0D 0D 0A 6C 6F ¦ 67 69 6E 3A 20 dd0dd0login:

Расшифровка перехваченной сессии выглядит следующим образом (разумеется, возможны вариации в зависимости от используемого читателем клиента и сервера).

· SERVER:FF FD 18 IAC DO 0x18; можно определить тип терминала?

· SERVER:FF FD 20 IAC DO 0x20; можно определить скорость терминала?

· SERVER:FF FD 23 IAC DO 0x23; поддерживается ли некая опция?

· SERVER:FF FD 27 IAC DO 0x27; поддерживается ли некая опция?

· CLIENT:FF FB 18 IAC WILL 0x18; да, можно определить тип терминала

· CLIENT:FF FB 1F IAC WILL 0x1F; клиент изменяет размер своего окна

· CLIENT:FF FC 20 IAC WONT 0x20; нельзя установить скорость терм

· CLIENT:FF FC 23 IAC WONT 0x23; неизвестная опция 0х23

· CLIENT:FF FC 27 IAC WINT 0x27; неизвестная опция 0х27

· SERVER:FF FD 1F IAC DO 0x1F; изменить размер окна

· SERVER:FF FA 18 01 IAC SB 0x18 1; указание клиенту возвратить тип термин.

· SERVER:FF F0 IAC SE; конец подопции

· CLIENT:FF FB 1F IAC WILL 0x1F; изменение размеров окна ОК

· CLIENT:FF FA1F IAC SB 0x18; сообщение размеров окна

· CLIENT:00 50 00 19; размер окна 80x25 символов

· CLINET:FF F0 IAC SE; конец подопции

· CLINET:FF FA 18 00 IAC SB 0x18 0;начало подопции сообщения типа терминала

· CLINET:41 4E 53 49 “ANSI”; тип терминала

· CLINET:FF F0 IAC SE; конец подопции

· SERVER:FF FB 03 IAC WILL 0x3; перевод в символьный режим

· SERVER:FF FD 01 IAC DO 0x1; включение эха

· SERVER:FF FB 05 IAC WILL 0x5; получение статуса

· SERVER:FF FD 21 IAC DO 0x21; удаленный контроль потоком данных

· CLIENT:FF FE 01 IAC DONT 0x1; клиент просит сервер включить эхо

· CLIENT:FF FB 01 IAC WILL 0x1; клиент включает эхо у себя

· CLINET:FF FE 05 IAC DONT 0x5; нельзя возвратить статус

· CLINET:FF FC 21 IAC WONT 0x21; удаленный контроль потоком данных ОК

· SERVER:FF FE 01 IAC DONT 0x1; сервер против эха клиента

· SERVER:FF FB 01 IAC WILL 0x1; серер включает это у себя

· SERVER:0D 0D 0A 52…«Red Hat Linux…»

Обращает на себя внимание тот факт, что данный сервер запрещает клиенту использовать локальное эхо. Вместо этого он самостоятельно возвращает все полученные символы, разумеется, за исключением символов пароля.

Заметно, что Windows-клиент (как от Windows 95, так и от Windows 2000) не поддерживает всех опций, предлагаемых ему сервером.

Перейти на страницу:

Похожие книги

Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных
Секреты приложений Google
Секреты приложений Google

Даже продвинутые пользователи Интернета не подозревают о тех огромных возможностях, которые предоставляют сервисы Google. Автор рассказывает о таких «секретах» сервисов, которые просто немедленно хочется использовать! Создавать сайты и презентации, бродить по улочкам Парижа, изучать звездное небо – все это доступно каждому, кто сидит у экрана монитора и имеет доступ в Интернет. Книга научит вас работать с веб-приложениями и тысячекратно увеличить свои возможности с помощью новейших технологий. Она написана легким, доступным языком и не требует от читателя наличия каких-либо специальных знаний. Книга содержит множество примеров, иллюстраций и будет полезна всем, кто не стоит на месте и стремится сделать свою жизнь более насыщенной и интересной.

Денис Балуев , Денис Игоревич Балуев

Программирование, программы, базы данных / Интернет / Программное обеспечение / Книги по IT