Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #59, ОКТЯБРЬ 2005 г.

Завоевание интернета

Крис Касперски ака мыщъх

Спецвыпуск: Хакер, номер #059, стр. 059-066-6


14 Mwe 81112C0 1356 1522 890 1592/2000 0 IP Background

15 Lsi 8121298 0 25 0 1792/2000 0 IP Cache Ager

16 Cwe 80237BE 0 1 0 1748/2000 0 Critical Bkgnd

17 Mwe 802365A 12 5 2400 1476/2000 0 Net Background

18 Lwe 804E82E 16 4 4000 1192/2000 0 Logger

19 Msp 80456DE 80 1493 53 1728/2000 0 TTY Background

20 Msp 802345C 20 1494 13 1800/2000 0 Per-Second Jobs

21 Msp 80233F2 68 1494 45 1488/2000 0 Net Periodic

22 Hwe 80234DC 4 1 4000 1724/2000 0 Net Input

23 Msp 8023482 772 25 30880 1800/2000 0 Per-minute Jobs

24 Lwe 8109834 4 2 2000 3620/4000 0 IP SNMP

25 Mwe 815CE08 0 1 0 1712/2000 0 SNMP Traps

26 ME 811805A 0 26 0 1892/2000 0 IP-RT Background

27 ME 803B0F8 32 11 2909 2760/4000 2 Virtual Exec

Настоящим подарком для хакеров стала команда "gdb", вызывающая встроенный отладчик и поддерживающая следующие подкоманды:

gdb

debug PID /* не реализовано */

examine PID /* отладка процесса с указанным PID */

kernel /* отладка ядра, работает только с консоли */

Однако, прежде чем использовать отладчик, его необходимо скомпилировать. Идем на www.gnu.org/software/gdb/download, берем копию посвежее или, наоборот, постарее (предпочтительно использовать gdb-4.18, как наиболее протестированную) и говорим:

mkdir m68k-cisco

../configure --target m68k-cisco

make

В результате мы получим двоичный файл для платформы m68k. Для остальных платформ компиляция осуществляется аналогичным образом. Теперь можно начинать отладку! Консоль в это время будет нефункциональна, а весь обмен с отладчиком пойдет через его собственный отладочный протокол, описанный в исходном файле remote.c. На маршрутизаторе устанавливается серверная часть отладчика, а на терминале - клиентская. Причем отладка ядра (подкоманда kernel) возможна только с консоли.

Дадим команду "gdb examine 18", где "18" – идентификатор отлаживаемого процесса (в данном случае "logger"). Подробнее обо всем этом можно прочитать на сайте команды XFocus: www.xfocus.net/articles/200307/583.html). Основные отладочные команды перечислены в таблице 2.

Для отладки желательно иметь символьную информацию, однако IOS - это закрытая система с закрытыми спецификациями (ну, не такими уж и закрытыми, если учесть, что это порт BSD, унаследовавший родимые пятна багов в zlib, ssh и SNMP), и символьной информации не достать (во всяком случае, через легальные каналы), тем не менее, корпеть над дизассемблированием дампа не придется.

В мае 2004 года корпоративная сеть Cisco Systems была взломана и исходные тексты системы IOS 12.3, 12.3t попали в руки хакера по кличке franz, который распространил через IRC небольшую часть сорцов (~2,5 Мб) в качестве доказательства. Самое интересное, что Майкл обнаружил бага именно в этом месте. Подозрение усиливается тем фактом, что дизассемблировать IOS за ночь современно невозможно, а именно столько потребовалось franz'у для анализа.

Назад на стр. 059-066-5  Содержание  Вперед на стр. 059-066-7