- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Защита от хакеров корпоративных сетей - Коллектив авторов
Шрифт:
Интервал:
Закладка:
api->src_mask = 0;
api->dst_addr = 0;
api->dst_mask = 0;
api->src_ports[0] = 0;
api->dst_ports[0] = htons(23);
api->dst_ports[1] = htons(513);
api->dst_ports[2] = 0;
list_push(&l_add_policy, api);
};Из исходного текста функции видно, что для добавления новых возможностей достаточно просто добавить новые номера портов и затем перекомпилировать программу. Когда программа Hunt захватывает Telnet– или rlogin-соединение, она отображает его в меню списка соединений, как показано ниже:
-> l
0) 10.0.1.1 [3014] —> 130.212.2.65 [23]
– Main Menu – rcvpkt 2664, free/alloc 63/64 –
l/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Первые две строчки – это то, что нас интересует. Программа Hunt часто обновляет меню сразу после введенной команды. Из приведенной экранной формы видно, что программа Hunt обнаружила Telnet-соединение. Ниже показан вызов режима наблюдения (снифинга) за соединением.
-> w
0) 10.0.1.1 [3014] —> 130.212.2.65 [23]
choose conn> 0
dump [s]rc/[d]st/[b]oth [b]> [cr]
print src/dst same characters y/n [n]> [cr]
CTRL-C to break
llss
<FF><FA>!<FF><F0><FF><FC><FF><FA>»FF><F0><FF><FA>»b
<FF><F0><FF><FE><FF><FA>»<FF><F0><FF><FA>»<82><E2> <82>
<82>
<82><82><82><82><82><FF><F0><FF><FA>!<FF><F0>
Apps/ Library/ Mailboxes/ Makefile
bookmarks.html
dead.letter mail/ proj1.c public_html/
<FF><FA>!<FF><F0><FF><FB><FF><FA>»<FF><F0><FF><FA>»<FF><FF>b<FF><FF>
<FF><FF>
<FF><FF>
<FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><FF><F0><FF><FA>!<FF><F0>futon>
<FF><FD>
<FF><FA>“<FF><F0><FF><FA>”<82><FF><FF><E2><FF><FF> <82><FF><FF>
<82><FF><FF>
<82><FF><FF><82><FF><FF><82><FF><FF><82><FF><FF><82><FF><FF><FF><F0>Например, пользователь программы Hunt запустил программу, захватил Telnet-соединение, выбрал режим наблюдения за ним, а затем перешел в Telnet-окно и набрал команду «ls». Команду «ls» (показанную как llss) можно увидеть ближе к началу приведенного выше протокола работы, за которой следует вывод данных в шестнадцатеричном формате, за которыми следуют файлы в директории пользователя, а затем опять шестнадцатеричный код. Вывод введенной команды «ls» в виде «llss» – результат отображения программой Hunt введенных пользователем символов с добавленным ответом сервера, возвращающего пользователю введенные им же символы. В итоге это выглядит как будто возможность вывода одних и тех же исходных и полученных символов, что работает не вполне корректно. Шестнадцатеричные символы являются форматирующими терминал-символами, которые обычно во время Telnet-сессии остаются за рамками рассмотрения. Конечно, в данном случае нас мало интересуют реализованные в программе Hunt возможности снифинга, хотя это и удобно. Главное – это понять, каким образом программа Hunt используется для перехвата сессий! Именно это демонстрируется ниже:
-> s
0) 10.0.1.1 [3014] –> 130.212.2.65 [23]
choose conn> 0
dump connection y/n [n]> [cr]
Enter the command string you wish executed or [cr]> cd Apps
<FF><FA>!<FF><F0>cd Apps
futon>Тем временем вот что было отображено в Telnet-окне пользователя:
futon>
futon> cd Apps
futon>Выходные данные были отображены на экране точно так же, как если бы они были введены в окне Telnet. Вернемся к программе Hunt:
Enter the command string you wish executed or [cr]> [cr]
[r]eset connection/[s]ynchronize/[n]one [r]> s
user have to type 8 chars and print 0 chars to synchronize
connection
CTRL-C to breakКогда пользователь нажимает клавишу Enter для завершения посылки символов от лица клиента, ему предоставляется возможность выбрать одну из перечисленных команд: сбросить соединение (прервать и возвратить его в исходное состояние), синхронизировать клиента и сервера или же оставить соединение десинхронизированным. В данном случае попытка выбора опции синхронизации соединения не увенчалась успехом, потому что в результате система была установлена в состояние ожидания. Складывалось впечатление, что ввод символов в окно Telnet не помог повторной синхронизации. Другие попытки повторной синхронизации оказались более успешными. Возможно, что на это оказали влияние такие факторы, как время ввода и длина введенной злоумышленником команды, надежность сети в этот момент (прежде всего имеется в виду потеря пакетов) и, конечно, реализация TCP.
Как правило, если злоумышленник захочет замести следы, он вводит свои команды с максимально возможной скоростью, а затем сразу же сбрасывает соединение. При этом он надеется на то, что легитимный пользователь клиента, если он там вообще есть, подумает, что это очередное малопонятное завершение соединения, и просто откроет новое окно, ничего не заподозрив.
Программа Hunt не лишена недостатков. Автор, работая с программой, обнаружил следующее. При работе со всеми просмотренными им интерактивными экранами, в которых для разрыва соединения предлагалось нажать комбинацию клавиш Ctrl + C, было обнаружено, что после нажатия клавиш Ctrl + C требовалось подождать некоторое время наблюдаемую машину, которая что-то передавала, прежде чем программа Hunt обращала внимание на нажатые клавиши. Например, во время наблюдения за Telnet-соединением были нажаты клавиши Ctrl + C, но ничего не произошло. Как только автор подключался к окну Telnet и нажимал клавишу, программа Hunt откликалась. По-видимому, программа Hunt во время мониторинга не следит постоянно за нажатием клавиш. Возможно, программа ожидает передаваемые по сети данные, не обращая внимания на нажатые в это время клавиши. И только после анализа поступивших данных она начинает проверять ввод оператором символов.
Пользовательский интерфейс немного некрасив и чересчур краток. Тем не менее в приложениях подобного типа этот недостаток легче всего устранить. Сетевая составляющая программы более сложна и поэтому, вероятно, является более интересной частью программы. Впрочем, интерфейс удобен, так что не все так плохо. Возможно, что кто-то из читателей этой книги заинтересован в данном вопросе и умеет программировать. Тогда он или она может связаться с разработчиком программы Hunt и, возможно, помочь в улучшении интерфейса.
Программа Ettercap
Программа Ettercap является универсальной программой, которая главным образом используется для снифинга, захвата и регистрации трафика в коммутируемых локальных сетях. Она поддерживает как активный, так и пассивный анализ различных протоколов. На момент написания книги в программе Ettercap была реализована поддержка соединений по протоколам SSH версии 1 (Secure Shell version 1, SSH 1 – защищенный протокол, обеспечивающий аутентификацию с помощью криптографических методов и шифрование всего потока данных) и SSL (Secure Sockets Layer, протокол защищенных сокетов). Программу Ettercap можно найти по адресу http://ettercap.sourceforge.net. Она запускается на таких операционных системах, как MAC OS X, Linux и BSD OS. У программы Ettercap четыре режима работы:
• IP. Режим фильтрации пакетов по адресам отправителя и получателя данных;
• MAC. Режим фильтрации пакетов по MAC-адресам;
• ARP. Режим использования перегрузки сети ARP-пакетами (ARP storm) для снифинга / перехвата соединений в коммутируемых локальных сетях (режим работает в полноправном дуплексном (одновременно двустороннем) режиме передачи данных;
• Общедоступный ARP. Режим использования перегрузки сети ARP пакетами в полудуплексном (поочередно двустороннем) режиме передачи данных для прослушивания одного хоста другим.
Давайте взглянем на использование программы Ettercap более внимательно. В приведенных ниже сценариях рассматривается простая коммутируемая сеть с трансляцией сетевых адресов NAT (Network Address Translation), IP-адресов по стандарту RFC1918. Это простая сеть класса SOHO (SOHO, Small Office/Home Office – класс программного обеспечения, предназначенного для малого или домашнего офиса) для домашнего пользования, которую сейчас используют многие небольшие или домашние офисы в основном из-за низкой цены и лавинообразной скорости распространения доступных для массового использования высокоскоростных кабельных модемов и цифровых абонентских линий DSL. Типичная реализация подобной сети выглядит примерно так, как показано на рис. 11.1. В этом примере 192.168.1.104 является адресом злоумышленника, перехватывающего сессию.
Рис. 11.1. Типичная схема небольших домашних / офисных сетейПри запуске программы Ettercap пользователю будет предъявлен экран со всеми хостами сети, подключенными к сегменту пользователя (см. рис. 11.2). С помощью клавиши Tab и клавиш с изображенными на них стрелками можно выбрать для эксперимента две машины. В верхнем левом углу пользователь должен увидеть выбранные и отмеченные им ранее IP-адреса источника и адресата информации.
Рис. 11.2. Хосты, доступные на подключенном сегментеДля того чтобы «испортить» кэш протокола ARP выбранных хостов, следует нажать клавишу «a», как это показано на рис. 11.3. Тогда на экране будет показан список всех соединений между двумя хостами, выбранными ранее (см. рис. 11.4).