Linux глазами хакера
Шрифт:
Соединение по коаксиальному кабелю встречается все реже, потому что оно ненадежно и позволяет передавать данные максимум на скорости 10 Мбит/с.
При объединении компьютеров через хаб (Hub) или коммутатор (Switch) используется топология "Звезда". В этом случае компьютеры с помощью витой пары получают одну общую точку. Если в центре стоит устройство типа Hub, то пакеты, пришедшие с одного компьютера, копируются на все узлы, подключенные к этому хабу. В случае с коммутатором пакеты будет видеть только получатель, потому что Switch имеет встроенные возможности маршрутизации, которые реализуются в основном на уровне MAC-адреса. В локальной сети, даже если вы отправляете данные на IP-адрес, применяется
Таким образом, при использовании коммутаторов в локальной сети и из-за маршрутизации в Интернете прослушивание становится более сложным, и для выполнения этой задачи сниффер должен находиться на самом коммутаторе или маршрутизаторе.
Работать с пакетами достаточно сложно, потому что в них содержится трудная для восприятия информация. Большой кусок данных разбивается на несколько пакетов, и вы будете видеть их по отдельности.
Сейчас в сети можно скачать громадное количество снифферов и дополнений к ним. Всевозможные версии "заточены" под разные нужды, и тут необходимо выбирать именно из этих соображений. Если вы ищете непосредственно пароли, то вам требуется сниффер, который умеет выделять данные о регистрации из общего трафика сети. В принципе, это не так сложно, если учесть, что все пароли и любая информация пересылаются в Интернет в открытом виде как текст, если не используется SSL-протокол (Secure Socket Layer, протокол защищенных сокетов).
Преимущество от использования снифферов при взломе в том, что они никак не влияют на атакуемую машину, а значит, вычислить его очень сложно. В большинстве случаев даже невозможно узнать, что ваш трафик кем-то прослушивается в поисках паролей.
Очень часто серверы ограничивают доступ с помощью правил для сетевого экрана. Но блокировать абсолютно все обращения к любым портам не всегда удобно. Например, доступ к управляющим программам можно сохранить для определенного IP-адреса, с которого работает администратор. Каждый, кто попытается с другого адреса войти в запрещенную область, будет остановлен сетевым экраном.
На первый взгляд, защита безупречна. Но существует такой метод атаки, как спуфинг, который подразумевает подделку IP-адреса авторизованного пользователя и вход в штурмуемый сервер. Старые сетевые экраны (да и дешевые современные) не могут определить фальшивый адрес в пакетах. Хороший Firewall может направить ping-команду компьютеру, чтобы убедиться, что он включен, и именно он пытается запросить нужные ресурсы.
В локальной сети намного проще производить атаку через подставные серверы или сервисы. Например, одна из знаменитых атак через некорректные ARP-записи может быть воспроизведена именно в локальной сети.
Когда вы обращаетесь к какому-либо компьютеру по IP-адресу, сначала определяется его MAC-адрес, а потом уже на него отсылается сообщение. Как определить MAC-адрес, когда нам неизвестно, какой сетевой интерфейс установлен, а мы знаем только IP? Для этого используется протокол ARP (Address Resolution Protocol, протокол разрешения адресов), который рассылает широковещательный запрос всем компьютерам сети и выясняет, где находится экземпляр с указанным IP-адресом. В этом пакете заполнен только IP-адрес, а вместо искомого MAC-адреса указано значение FFFFFFFFFFFFh. Если в сети есть компьютер с запрошенным IP, то в ответном пакете будет указан MAC-адрес. Работа ARP-протокола происходит незаметно для пользователя. В противном случае ответ может прислать маршрутизатор, который сообщит свой MAC-адрес. Тогда компьютер будет обмениваться данными с ним, а тот уже в свою очередь будет пересылать пакеты дальше в сеть или другому маршрутизатору, пока они не достигнут получателя.
А что если ответит не тот компьютер, а другой, с иным IP-адресом? Ведь в локальной сети передача осуществляется по MAC-адресу, поэтому пакет получит тот компьютер, который откликнется, независимо от его IP. Получается, что задача хакера вычислить ARP-запрос и ответить на него вместо реального адресата. Таким образом можно перехватить соединение.
Допустим, что компьютер запросил соединение с сервером. Если мы ответим на него и сэмулируем запрос на ввод параметров для входа в сервер, то пароль будет перехвачен. Сложность такого метода в том, что вручную его реализовать практически невозможно. Для этого нужно писать соответствующую программу, а тут без знания программирования не обойтись.
1.1.5. Троян
Использование троянских программ — самый глупый и ненадежный в отношении администраторов сетей способ, но для простых пользователей подойдет, потому что им проще подбросить серверную часть программы. Хотя среди администраторов встречаются непрофессионалы, но на такие шутки уже мало кто попадается. Но кто сказал, что в сети существуют только они? Есть еще куча простых пользователей с большими привилегиями и доверчивой душой. Вот именно их и надо троянить.
Троянская программа состоит из двух частей — клиент и сервер. Сервер нужно подбросить на компьютер жертвы и заставить его запустить файл. Чаще всего троянская программа прописывается в автозагрузку и стартует вместе с ОС и при этом незаметна в системе. После этого вы подключаетесь к серверной части с помощью клиента и выполняете заложенные в программу действия, например, перезагрузка компьютера, воровство паролей и т.д.
Как забрасывать троянскую программу? Самый распространенный способ — почтовый ящик. Просто даете исполняемому файлу серверной части какое- нибудь привлекательное имя и отправляете сообщение жертве. В тексте письма должны быть мягкие, но заманчивые призывы запустить прикрепленный файл. Это то же самое, что и распространение вирусов, письма с которыми мы видим каждый день в своих ящиках. Если пользователь запустит серверную часть, то считайте, что вы стали царем на его компьютере. Теперь вам будет доступно все, что может для вас сделать боевой конь.
Если троянская программа направлена на воровство паролей, то после заражения она может незаметно для пользователя выслать письмо с файлом паролей на определенный E-mail-адрес. Профи легко находят такие адреса (с помощью отладки приложения), но на этом все останавливается. Профессиональные хакеры не глупы и для троянских программ регистрируют почтовые адреса на бесплатных сервисах, при этом указывается ложная информация о владельце. Злоумышленник заводит почтовый ящик или проверяет его на предмет писем с паролями только через анонимный прокси-сервер, и узнать реальный IP-адрес человека становится очень сложно.
Трояны получили большое распространение из-за того, что вычислить автора при соблюдении простых правил анонимности нелегко. При этом использование самих программ стало примитивным занятием.
Опасность, которую таят в себе троянские программы, подтверждается и тем, что большинство антивирусных программ стали сканировать не только на наличие вирусов, но и троянов. Например, антивирусные программы идентифицируют Back Orifice, как вирус Win32.BO.
1.1.6. Denial of Service