Хакер №024. Спецвыпуск

         

Хакер №024. Спецвыпуск


ОГНЕННОЕ РЕШЕТО - дыры в виндовых фарволлах

][rimZ (hrimz@xakep.ru)

Спецвыпуск Xakep, номер #024, стр. 024-048-1

Дарова, читатель! Сегодня я подготовил для тебя обзор известных дыр и уязвимостей в персональных фаерволлах, приводящих в одном случае к падению системы, в другом - к обходу защиты "огненной стены" и доступу к ресурсам. Так сказать, багатрака по теме. Итак, вникай - пригодится!

ZONEALARM

О-го-го-го!! Это персональный защитник - явный победитель данного обзора по количеству уязвимостей. Просто-таки решето какое-то! Но обо всем по порядку.

Жук номер раз

В некоторых случаях ZoneAlarm принимает внешние (из Сети) соединения за внутренние (из локалы) и присваивает им самый низкий уровень защиты (нам это и нужно =). Программа рассматривает в качестве внутренних любые IP-адреса, у которых первые два разряда совпадают с первыми двумя разрядами адреса самого пользователя. То есть, если IP пользователя - 66.66.66.66, то все адреса типа 66.66.*.* будут рассматриваться как безопасные (хотя на деле оказывается, что это просто айпишники того же прова - прим. ред.). В результате, при соединении с тачкой, имеющей такой IP, фаерволл не будет обеспечивать необходимую защиту.

Уязвимости подвержены все версии фаерволла, включая pro и фриварную...

Жук номер два

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

MailSafe может блокировать вложения файла с некоторым расширением, например, все «.exe» файлы. Если тот же самый файл послан с дополнительной точкой (.), добавленной в конец к имени файла, такой файл не будет блокирован. Так что вири и трояны ждут своего череда...



Уязвимости найдена в ZoneAlarm 3.0.

Жук номер три

Опять же дыра в MailSafe. Напоминаю, что MailSafe идентифицирует в почтовых вложениях потенциально вредные файлы (исключая: *.exe, *.com, *.reg, *.vbs или другие, которые могут быть добавлены в обычной конфигурации) и переименовывают их расширение в *.zl*; в то же самое время информация об этом поступает юзеру (Проснись! Тебя имеют! =)). Проблема связана с тем, что это приложение не может работать с очень длинными файлами, что-то типа: "aaaaaaaaaaaaaaaaaaaa(и так далее).exe". При этом происходит переполнение буфера, и система виснет. Вот такой персональный 3.14zDoS наступает юзеру ушастому от его "Персональной защиты"...

Уязвимости подвержены все версии ZoneAlarm.

TINY PERSONAL FIREWALL

Жук номер раз

Если пользователь Tiny Personal Firewall пытается просмотреть файлы регистрации Personal Firewall Agent Logs в то время, как его порты во всю сканит хакер Стасик, программа начнет использовать 100% ресурсов машины и зависнет. Такие невкусные ватрушки.

Уязвимость обнаружена в Tiny Personal Firewall 3.0-3.0.6.

Жук номер два

Еще один не очень известный баг очень известного фаерволла. Суть уязвимости в том, что если юзер ставит в настройках Tiny уровень защиты HIGH Security, а в этот момент все тот же хакер Стасик попытается просканировать порты его компа, перед этим подделав свой IP на его, - все на хрен повиснет. Реализовать и понять этот баг можно у себя на машине и без Стасика. Ставишь в Tiny уровень защиты HIGH Security, потом запускаешь любой сканер портов и сканишь 127.0.0.1 - вот и виснет все =). В общем, если обращаться к машине "как бы" с ее же айпишника (будь то Инет или LAN), происходит "аварийное завершение работы системы" :). Так что, господа хакеры, нужно еще и IP грамотно подделывать уметь...

Содержание  Вперед на стр. 024-048-2


 

Хакер №024. Спецвыпуск


ОГНЕННОЕ РЕШЕТО - дыры в виндовых фарволлах

][rimZ (hrimz@xakep.ru)

Спецвыпуск Xakep, номер #024, стр. 024-048-2

Уязвимость обнаружена в Tiny Personal Firewall 3.0-3.0.6.

Жук номер три

Проблема, найденная в Tiny Personal Firewall, позволяет хакеру, который находится с юзером в одной локальной сетке, модифицировать настройки фаерволла. Это возможно, когда местная система блокирована. Хакер Стасик, просматривающий сеть, может инициализировать аварийный диалог с рабочей станцией юзера. Появится диалоговое окно, которое потребует, чтобы хакер или разрешил, или запретил ввод. Если система работает автоматически или юзер отошел от компа и всю защиту повесил на плечи фаерволла, то нападающий может выбрать "разрешить" и без авторизации менять настройки Tiny Personal.

Уязвимость найдена в Tiny Personal Firewall 2.0.15.

SYGATE PERSONAL FIREWALL

Итак, что у нас теперь интересного? Ага, Sygate Personal Firewall уязвим к нападениям IP спуфинга, если хакер Стасик использует IP адрес 127.0.0.0 - 127.0.0.255. Уязвимость позволяет нападать на хост без риска быть обнаруженным. Проблема также может использоваться для организации других типов атак. Все ограничено только твоей фантазией и знаниями... Всего-то =).

Уязвимость обнаружена в Sygate Personal Firewall 5.0.

NORTON PERSONAL INTERNET FIREWALL

Переполнение буфера происходит при попытке обработать большие запросы HTTP (как изнутри, так и по редиректу с сайта). Самое обидное для разработчиков, что даже если юзер просто кликнет по ссылочке на «www.aaaaaaaaa(и так далее).com», бага все равно работает. В результате возможно выполнение произвольного кода с завышенными привилегиями.

Баг стабильно работает в Symantec Norton Internet Security 2001-3.0.4.91.

ATGUARD

Теперь обходим ограничения многими любимого @Guard. AtGuard - это утилита, умеющая блокировать баннеры, cookies, а также устанавливающая персональный firewall для защиты машины от воздействия троянов и сканирования портов из сети (а ведь когда-то рулил именно файрволл, а не все эти рюшечки - прим. ред.). AtGuard может разрешать только определенным приложениям выход в Интернет (например, IE). Однако при этом он проверяет только имя программы и не сохраняет путь к файлу или его контрольную сумму (в случае IE - IEXPLORE.EXE). Уязвимость позволяет недозволенным прогам не блокироваться, используя программы типа HTTP-Tunneling. Например, если на твоей тачке разрешен только IE и только на 80 порту, можно использовать следующие действия, чтобы заработала ася.

Устанавливаем HTTP-Tunnel-Client (www.HTTP-Tunnel.com) на компьютер. При попытке его сконфигурировать он выдаст сообщение об ошибке, что не может найти сервер HTTP-Tunnel. Теперь мы переименуем "HTTP-Tunnel Client.exe" на "IEXPLORE.EXE". После чего программа сообщит тебе, что она работает правильно. Используя HTTP-Tunnel, можно обойти любые ограничения на внешние подключения любыми программами (ася, трояны и т.п.).

Назад на стр. 024-048-1  Содержание  Вперед на стр. 024-048-3


 

Хакер №024. Спецвыпуск


ОГНЕННОЕ РЕШЕТО - дыры в виндовых фарволлах

][rimZ (hrimz@xakep.ru)

Спецвыпуск Xakep, номер #024, стр. 024-048-3

Бажены все версии собакиGuard.

KERIO PERSONAL FIREWALL

Тоже очень известный персональный фаерволл для вынь-систем. Когда хакер Стасик начинает посылать, а Kerio, соответственно, получать большое количество SYN пакетов из одного источника, firewall-процесс начнет на 100% потреблять ресурсы процессора и в конечном счете приведет к зависанию всей системы. Хакер Стасик любит Firewall`ные 3.14zDoS`ы =).

Уязвимость обнаружена в Kerio Personal Firewall 2 2.1-2.1.4.

А КАК ЖЕ AGNITUM OUTPOST?

Наверняка мой ящик уже готовится принять тучи флейма на тему, а где же баги в Outpost`е. Их есть у меня, но немного =). После продолжительного серфа по просторам Сети выяснилось, что это фаерволл, наименее бажный из семейства "Виндово-персональных". Но все же лови одну уязвимость на закусь :).

Итак, Agnitum Outpost блокируют только пакеты, созданные стандартным адаптером протокола Windows. Т.е. если у пользователя достаточно прав создавать пакеты с другими адаптерами протокола, то он сможет обходить правила фильтрации firewall. Эксплуатация уязвимости ставит под угрозу политику безопасности (так вроде в Bugtraq`ах пишут? :)).

Ну вот. На сегодня вроде и все. Читай остальной Спец, и удачного хака тебе, приятель. Обойти грамотно настроенный фаерволл - это тебе не два пальца обо... Удачи, в общем.

Назад на стр. 024-048-2  Содержание


 

Хакер №024. Спецвыпуск


NORTON CLIENT FIREWALL

свежачок от П. Нортона

Спецвыпуск Xakep, номер #024, стр. 024-050-1

Андрей "Дронич" Михайлюк (dronich@real.xakep.ru)

Эх, братва, ностальгия замучила... Были же времена, когда мы Аутпоста видом не видывали, а старик @guard на все сто оправдывал фразу из меню "Firewall Rules" :). Жалко мне АтГарда, страсть как жалко - не выжил он под лейблом NIS (Norton Internet Security), опопсел и гикнулся в самые дальние каталоги пиратских дисков. Забыли о нем, наложили проклятие на Symantec, загубившую любимца, и посыпали вековой пылью... Вот такая присказка, а сказка... Сказка впереди!

Началась сказка, как водится, со случайности. Отобрал я у Кириона диск "Коллекция Symantec 2003" (горбушечный, с гордым лейблом "100% вирусов"), собрался утилы ставить, а там... "Symantec Client Firewall Corp Edition, профессиональная программа для защиты сети от хакеров". Мелькнула робкая надежда: неужели? Неужели мы снова можем бросить всю свою секьюрность в мозолистые руки дядьки Питера? Мышка на сетуп.ехе, даблкликнул... И пос-ка-кал :).

ЧТО ТАКОЕ, КТО ТАКОЙ?

Первое впечатление чуть ни разрушило все мечты до основания. Стандартный желтенький интерфейс, ползуночки-пеленочки и прочая сопливая фигня. Но это только поначалу :). Обкликав все, что мог, и прочитав хелпы от корки до корки, я выяснил, что:

1. Новый нортоновский файрволл перестал быть персональным. То есть никто не мешает тебе юзать его клиент-версию на диалапном компе для защиты своего винта с попсой и порнухой (как я :)), а особо продвинутые смогут поставить его на все компьютеры локальной сети и админить удаленно (и массово :)). Для этого в комплекте идет Symantec Packager - прога для составления инсталляционных пакетов, содержащих только необходимые фичи. Зачем бегать по компам локалки и отключать административный модуль во всех клиентах, когда можно просто исключить его из списка устанавливаемых компонентов? Такая вот забота о пользователе :).

2. Как истинный преемник АтГарда, он умеет собирать детальнейшую статистику на текущее соединение и писать безупречные логи. Если тебя не смущают восемь типизированных и один глобальный журнал событий по каждому из соединений, то ты либо админ, уставший от логов на работе (шутка хумора: что делает админ, когда в его доме гаснет свет? - вздыхает, зажигает свечку и идет к счетчику читать логи :))), либо ОЧЕНЬ нелюбопытный юзер.

3. Нортон файрволл умеет не просто отражать атаки, а классифицировать их и предоставлять подробный отчет о нападавшем... потом... после BSoD и ребута :).

4. Разработчики не смогли удержаться и запихнули в него модную западную фишку - Privacy Control. Лично я мало понимаю, какая же это приватность, если все под контролем :). Но им лучше знать.

Итак, за ламеровато-мультяшным интерфейсом скрывается вполне профессиональный продукт. Посмотрим, как заставить его работать на дражайшего юзера.

ЧТО ВНУТРИ?

Настройки разделены по пунктам, что, вроде бы, должно облегчить процесс конфига, но... Нелогично как-то они раскиданы, особенно сложно кастомайзить нортонов файрволл после Аутпоста (уж очень там деревце приятное, но об этом в статье Алекса Шарка).

Содержание  Вперед на стр. 024-050-2


 

Хакер №024. Спецвыпуск


NORTON CLIENT FIREWALL

свежачок от П. Нортона

Спецвыпуск Xakep, номер #024, стр. 024-050-2

Самые жизненно важные опции, как и следовало ожидать, лежат на первой закладке и состоят из одной галки "Enable Security" :). Не стоит нервничать - впереди еще много сюрпризов. Так вот, под галкой притаилась кнопочка "Custom Level", на которую и возложена почетная миссия - выставлять основной уровень безопасности. Для Жавы и Активного Х можно назначить три варианта поведения: все разрешать, все убивать или обо всем спрашивать. Для софта же выбор поинтереснее: блокать все подряд, спрашивать или разрешать все, кроме троянов :). Мать честная, что ж это делается? Трояну, состоящему в блок-листе файрволла (там изначально штук 50), вырваться на свободу не удастся, даже если разрешено все! Очень правильный подход для тупых юзверей, любящих давать кому попало :)... права на выход в Инет.

В закладке "Internet Access Control" нашлось место для конфигов каждого из юзерских приложений. Проще всего сказать "Permit all" (Разрешить), но если залезть в "Custom"... Отдыхают даже юниксоиды, такого количества пунктов для фильтрации я не видел даже в хваленых iptables (чего стоит один только фильтр на отдельные КОМАНДЫ протоколов!). Помурыжившись всего несколько минут, я создал для Бата правило на доступ к СМТПшникам только по SMTP, к POP3-сервакам только по РОР3, отменил подключения к его портам извне, а все нештатные ситуации повелел закатывать в лог и сообщать мне об этом в специальном попапе. Неплохо? А главное, что времени на это почти не ушло. Респекты Симантеку. Кстати, на той же закладке задаются все правила для системных служб и троянов, а также присутствует оригинальная фича - скан всех приложений с целью определить, кто из них может рваться в нет. Делается это очень оригинально: отловив запросы к системе, я выяснил, что он проверяет каждый из экзешников на тему использования им стандартных библиотек Remote Access'a. Во как хитро. Правда, поймать экзешник с самопальным модулем доступа ему не удастся, но это уже придирки.

Новостью для меня стала закладка "Internet Zone". Файрволл предложил мне указать доверенные и запрещенные компы. Суть запрещенных я еще могу понять (порнуха, хаксоры и прочее), а вот нафига нужны доверенные? В хелпе пишут, что с них доступ к компу никак не ограничен... Видимо, туда надо запихнуть все тачки из локалки, но лично мне проще создать для них правило. Загадка, в общем.

С детектором атак приключилась следующая история - он пытается найти злой умысел в обычном пинге (Алярм! PingOfDeath expected! :)). Именно поэтому тебе дано право отключать распознавание отдельных типов атак или же атак с отдельных компов. Плохо только то, что нельзя скомбинировать оба этих действия - получается, что, разрешив портскан своему прову (для того чтобы меня не отрубили раньше времени), я разрешаю его всем. Хорошенькое дело! Смутная польза, очень смутная...

ПОШЛИ В ПРИВАТ?

Трясутся буржуи за свою "интеллектуальную собственность", ох, как трясутся! Для успокоения их больных нервов наш файрволл умеет блокать кукисы, отсеивать запросы к броузеру (тебе ведь неоднократно говорили, какая версия винды стоит на компе прямо с сайта? вот это и есть те самые запросы) и... внимание... блокировать конфиденциальную информацию. Нафига это надо? Веришь, не знаю! Файрволл просто не пропускает сохраненную инфу наружу по протоколу НТТР. Видимо, чтобы ты случайно не ввел номер своей кредитки в форму на порнушном рейтинге.

Назад на стр. 024-050-1  Содержание  Вперед на стр. 024-050-3


 

Хакер №024. Спецвыпуск


NORTON CLIENT FIREWALL

свежачок от П. Нортона

Спецвыпуск Xakep, номер #024, стр. 024-050-3

АДВАНСЕД

Как всегда, самое вкусное спрятано за пимпой "Только для уверенных в себе и отвечающих за последствия своих действий" ака "Advanced Options". На закладочке "Web" можно заполнить список сайтов со специфическими настройками. То есть ты можешь выставить галку "Сообщать версию броузера" для сайта, которому это нужно (если админ держит две версии - для Оперы и для ИЕ, а тебя все время выкидывает на кривой вариант), оставить в покое кукисы из интернет-магазина или разрешить скрипты для сайтов с апдейтами (вроде microsoft.com).

В закладке "Other" (или "Вроде-что-то-нужное-но-впихнуть-некуда-поэтому-лежит-здесь") можно задать порты, по которым ходит НТТР-трафик (для блокировки АктивХ и прочего) и выставить режим стелс - когда комп не заморачивается написанием ответного пакета на тему "Порт закрыт, нехрен сюда ломиться".

ФИШКА

Если ты повнимательнее приглядишься к скринам, то заметишь половинку маленького глобуса, торчащую из-за правого края монитора. Это есть очень модный аксессуар по имени Алерт Трекер. Когда происходит какая-нибудь задница с соединением или тебя кто-то нюкает, или кто-то рвется в Инет, глобус выезжает и с модной анимацией докладывает о происшествии. Полезно и приятно.

АДМИНИМ

Нортон не был бы нортоном, если бы не приготовил нам очередного сюрприза. Наставив файрволл-клиентов по компам локалки, можно приступить к настройке правил для них. Все, что до сих пор было разложено по закладочкам для юзеров, теперь стало доступно через эргономичный интерфейс админской консоли. Хотя какая это консоль - те же закладки и галочки, просто более грамотно сколоченные. Междумордие выполнено на чистой Жаве (Java Runtime Environment второй версии идет в комплекте), то есть абсолютно платформонезависимо. Админ может сидеть хоть на Маке, хоть под Линухом - до своих юзверей он в любом случае доберется :).

Импорт-экспорт конфигов (файлы *.cfp) устроен через простейшую менюшку, нужен только доступ к компу подопечного. Удобство и простота - что еще нужно для настройки безопасности сети? Да ничего! :).

ВОЗВРАЩЕНИЕ ДЖЕДАЯ

Не знаю, как ты, а я уже приготовился выкидывать свой Аутпост - все равно в локальной сети от него нет никакого толка. А так как он нужен мне только в тяжкие минуты диалапа вне родной сети, держать его на винте незачем, ведь Нортон более универсален. Так что скоро еще одна сеть перейдет на новый файрволл, а ее админ (некто Дронич) будет получать несказанное удовольствие от настройки файрволлов бедных юзеров. Чего и тебе желаю.

Назад на стр. 024-050-2  Содержание


 

Хакер №024. Спецвыпуск


ЯДОВИТЫЙ DNS: ПИВО ИЗ ДАУН!

GREEN (green@rootshell.ru)

Спецвыпуск Xakep, номер #024, стр. 024-054-1

ЗАЧЕМ НУЖНЫ ТРИ ВЕСЕЛЫХ БУКВЫ?

Иногда бывает так, что очень нужно, чтобы некий чел зашел на нашу веб-страничку, послал через нас какое-то письмо или каким-то иным образом связался с нашим серваком, сам того не желая и даже не зная этого. Поскольку лишь редкие "зубры" Инета помнят IP'шники всех используемых ими ресурсов, для остальных смертных была придумана DNS-система, которая позволяла присваивать безликим цифрам IP-адресов вполне понятные и запоминаемые имена, вроде vasechka.buhlo.ru, и преобразовывать потом эти имена в IP-адреса. Не будем слишком глубоко рассматривать, как устроен DNS (иначе мы с тобой прямо тут костьми и поляжем), обойдемся лишь базовыми сведениями: у каждого DNS сервера есть своя "зона ответственности" - это те записи о соответствии имя -> IP-адрес, которые забиты в файлах его конфигурации. Часть серверов также содержит ссылки на адреса других DNS серверов для имен, входящих в зону их ответственности, но не обслуживаемых непосредственно ими (так называемые поддомены).

Рассмотрим домен mydomain.net.ru. DNS-сервер, отвечающий за зону ru, содержит ссылку на сервера второго уровня, которые знают про зону net.ru, а те, в свою очередь, уже укажут на сервера третьего уровня, которые знают про mydomain.net.ru и его содержимое.

Также, для минимизации сетевого траффика, DNS-серверы часто имеют включенный кеш для запоминания ответов других серверов. При поступлении соответствующего запроса для определения IP-адреса sexygirls.mydomain.net.ru DNS-сервер (обычно провайдерский), к которому обратился сетевой клиент, узнает адрес сервера, ответственного за домен ru у специальных "корневых" доменных серверов. Знания о них заложены в него при конфигурации, а применять он их будет только в случае, если sexygirls.mydomain.net.ru не находится в его зоне ответственности. Его запрос проходит по цепочке нейм серверов, пока не достигнет нужного сервака, который определенно сможет сказать: какой же IP-адрес у нужного хоста. Все полученные ответы попутно сохраняются в кеше (время сохранения ответов в кеше прописано в каждой зоне свое).

DNS CACHE POISONING

Первая проблема с таким подходом была опубликована в ноябре 1998 года и тогда же была исправлена во многих DNS-серверах (но далеко не во всех!). Проблема заключалась в том, что достаточно было послать некоему DNS-серверу DNS-ответ с информацией о каком-нибудь домене, и, несмотря на то, что сервер не посылал такого запроса, этот ответ все равно попадал в его кеш, и при последующих запросах сервак отдавал закешированный ответ, а не тот, который нужно. Вот сервера с таким багом: дефолтовая инсталляция Windows 2000 (но в настройках это можно выключить, если, конечно, знать про этот баг и где, собственно, выключать), BIND версий до 4.9.1, BIND 8.1 (подвержен модифицированной версии атаки). Тулзы для юзания этой весьма полезной фичи можно взять тут:

http://www.insecure.org/sploits/dns.cache-poison.cname.html http://packetstormsecurity.org/spoof/unix-spoof-code/

http://www.team-teso.net/releases/zodiac-0.4.9.tar.gz

Содержание  Вперед на стр. 024-054-2


 

Хакер №024. Спецвыпуск


ЯДОВИТЫЙ DNS: ПИВО ИЗ ДАУН!

GREEN (green@rootshell.ru)

Спецвыпуск Xakep, номер #024, стр. 024-054-2

DNS POISONING

Вторая возможность - подделать ответ от одного из серверов в цепочке. Сначала нужно узнать, с какого адреса посылаются ответы про домен, информацию о котором нужно подделать, затем выяснить адрес DNS-сервера, используемого жертвой. Обычно это делается так: нужно зарегистрировать какой-нибудь домен и послать с адреса в этом домене мыло внутрь сетки чела, для которого мы подделываем DNS-инфу. Mail server начнет резолвить домен, и мы увидим их запрос в логе нашего DNS-сервера или в выводе банального tcpdump'а. Дальше все просто - начинаем бомбардировать их DNS-сервер ответами якобы от DNS-сервера, ответственного за подделываемую зону (само собой, с подделанным исходящим IP-адресом). Когда атакуемый сервак посылает запрос запоизоненному DNS-серванту, ему тут же приходит наш ответ.

С ТОЧКИ ЗРЕНИЯ ПИВА

DNS poisoning - явление частое, поэтому ситуация в этой области может быть представлена как постоянная борьба админов с хакерами. Вот как это описывает Daniel F. Boyd с точки зрения воровства пива:

"Однажды к вам приходит чувак и говорит, что он пришел проверить электросчетчик. Когда он уходит, выясняется, что пиво из холодильника пропало...

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

В очередной раз ты набираешь телефонный номер, написанный на удостоверении, и подруга этого чувака (чей номер, конечно же, был записан в удостоверении) говорит: "Да, конечно, у нас работает такой сотрудник". Пиво, само собой, пропадает.

Еще одна попытка - ты набираешь номер, написанный на счете за электричество, но оказывается, что в прошлый раз воры кинули поддельный счет за электричество в твой почтовый ящик. И снова нужно идти в магазин за пивом...

Через месяц, когда приходят проверять счетчик, ты берешь телефонную книгу и узнаешь оттуда номер конторы, но выясняется, что в один из прошлых визитов мошенники подменили телефонную книгу у тебя дома! И снова нет пива!

Когда ты, наконец, узнал настоящий номер конторы, которая продает тебе свет, знакомый пришедшего чувака уже стоит наготове у телефонного распределительного ящика. И когда ты набираешь номер, он говорит тебе, что все O'Key и теперь-то к тебе точно пришел настоящий сотрудник. Очень хочется пива!!!

Через некоторое время, когда ты знаешь всех сотрудников той конторы в лицо, знаешь, куда звонить, купил мобилу для таких звонков, и обмануть тебя, казалось бы, просто невозможно!.. Они просто подкупают настоящего электрика, и ты опять остаешься без пива!"

ДЛЯ ТЕХ, КТО НЕ ПЬЕТ ПИВО

Как, ты так и не понял, в чем фишка DNS poisoning'а?!! Тогда тебя не спасет даже замок на холодильнике! Можно сделать кучу веселых вещей:

1. Просекаем пароли:

Наивный админ заходит на свой хост (через telnet или ftp) по имени supersex.ru, само собой, он получает кривой ответ (админа мы вычислили ранее, и DNS сервачок, который он юзает, наполнили тем, что нам нужно) и попадает на наш хост (который, тем не менее, представляется как нужный ему хост). После ввода логина и пароля коннекшен, например, рвется или подвисает (симулируем всякие сетевые проблемы) - это самый простой вариант, либо делается проброс на настоящий сервак, и чувак вообще ничего не замечает, кроме того, что он пришел не с того адреса, на котором сидит ;) (это тоже можно поправить через DNS). А у нас в логах пишутся его пароли ;).

Назад на стр. 024-054-1  Содержание  Вперед на стр. 024-054-3


 

Хакер №024. Спецвыпуск


ЯДОВИТЫЙ DNS: ПИВО ИЗ ДАУН!

GREEN (green@rootshell.ru)

Спецвыпуск Xakep, номер #024, стр. 024-054-3

Как вариант - умный админ ходит через ssh, который проверяет, действительно ли это тот хост, на который мы идем (достигается путем сверки запомненного серверного ключа с тем, который сервер предъявляет на этот раз). Обходится это тоже легко: выясняем ssh какой версии (1 или 2) пользуется этот умный админ, и на нашем хосте ставим другую версию. Тогда ssh, порывшись в своих файлах, обнаруживает, что у него нет такого ключа, и предлагает админу этот ключ запомнить как правильный (вместо большой страшной таблички на тему "ОЙ! КУДА ТЫ ПРИВЕЛ НАС, ПРОКЛЯТЫЙ СУСАНИН?"). Админ обычно соглашается. Дальше все как с телнетом.

Практически то же самое с другими протоколами, спрашивающими пароль.

2. Просекаем cookies:

Некоторые системы (ну, типа, там порнуха, а иногда даже и всякие связанные с деньгами) хранят логин/пароль в куках. Подменяем IP нужного веб-сервака, и все эти куки предъявляются нам, ну а мы их, само собой, сохраняем. Дальше, чтоб никто не догадался, мы редиректим юзера на реальный ресурс (делать это надо по IP, иначе его опять к нам принесет ;)) во фрейме на весь экран (это чтобы адрес в "Location" поле не сменился).

3. Накручиваем баннеры:

Если ты подрабатываешь накруткой баннеров, заодно можно открыть невидимый фрейм с кучей рефрешащихся баннеров, заполнить DNS кеш какого-нибудь провайдера "правильными" ссылками на популярные ресурсы - и баннеры закрутятся с новой силой.

4. Суем ишаку:

Также вместо баннеров можно подсунуть какой-нибудь свежий эксплойт для лучшего друга всех черных шапок - Internet Explorer'а, и засунуть троянов всем, кто зайдет. Что делать после того, как троян подсажен, думаю, не нужно объяснять.

Ну и, возвращаясь к теме файрволлов, скажу, что DNS poisoning - очень хороший способ заставить кого-то из внутренней сетки, защищенной файрволлом, попасть на наш сервак. А как использовать сей замечательный факт, ты узнаешь из статьи "Проходим сквозь файрволл" в этом же номере.

Так что юзай мощные фичи, почаще читай доки и баг-траки, а главное... веди себя хорошо ;)!

Назад на стр. 024-054-2  Содержание


 

Хакер №024. Спецвыпуск


IP-МАСКАРАДИНГ

прячем сеть от чужих глаз

Спецвыпуск Xakep, номер #024, стр. 024-056-1

][rimZ (hrimz@xakep.ru)

Сегодня мы подробно рассмотрим популярный метод защиты сетей - ip-маскарадинг. Что за зверь такой и кто его юзает? Сейчас в Интернете это очень-очень популярно среди многих компаний. Конечно же, никто из админов сеток не хочет, чтобы вся сеть, подрубленная к нету, была доступна все остальным. Нужно, чтобы доступ был только туда, куда надо админам и злобному боссу, а кто пытается пройти куда-то еще - сразу и без разговоров посылался нах. Все это можно реализовать с помощью файрволлов. Для этого брандмауэр нужно сконфигурировать на фильтрацию входящих/исходящих пакетов. Такие фильтры имеются как в софтверных, так и в аппаратных реализациях файрволлов. Вообще-то, если у тебя dial-up доступ, то маскарадинг тебе нафиг не нужен, а вот если есть LAN, и всем охота иметь выход в сеть, и безопасность тоже важна, то ip-маскарадинг - твой выбор. Или пров выделяет твоей сетке только один ip, а у тебя там 100 машин :). Да даже если у каждой тачки твоей сетки есть реальный ip в нете, то можно юзать маскарадинг, чтобы скрыть "нутровую" структуру сети. Надеюсь, ты понял, что вещь это архиполезная.

А вот в чем заключается основная фишка всего этого маскарада. Есть Интернет и есть LAN, все исходящие пакеты из внутренней сети фильтруются файрволлом и в header`ах пакетов в поле «source IP» внутренние адреса сети переписываются на IP фильтрующего шлюза, а во входящих (ответных) пакетах переписывает «destination IP» (свой) на внутренний IP той машины, которая делала запрос вовне. Для хацкера, сидящего где-то далеко в нете, это выглядит так, как будто все запросы исходят из единственной тачки-шлюза. То есть внутренний LAN как бы и нет =). Реализовать все это можно без особого напряга, если шлюз - это *nix`овая система (и подзаморочиться, если вынь-дос). Это все потому, что в никсах есть офигенная утилита-файрволл - ipchains (да и вообще там много офигенных утилит). Вот на примере ipchains мы и реализуем ip-маскарадинг для "нашей сети".

НАША СЕТЬ

Итак, что же будет представлять наша сеть? Допустим, ты простой работник в крутой конторе, и тебе нужно настроить ip-маскарадинг. Ты открываешь Спец на нужной странице и жадно вчитываешься =). В общем, ситуация такая. Куплен домен, например, megatron.net. К нету подрублена только одна шлюз-тачка через оптику. Адрес шлюза security.megatron.net. Сеть построена на Ethernet, твоя личная машина зовется xakep_host. Приступим! Нам нужно, чтобы пакеты из внутренней сетки некогда не выходили в Инет без фильтрации, ну и наоборот - соответственно. Адресация внутренней сети должна быть из определенного диапазона: 10.*.*.*, 172.16.*.* и 192.168.*.*. Это fake-адреса, которые не маршрутизируются глобально, то есть в нете ты не найдешь серваков с IP из этого диапазона. Только в частных сетях. Реализовывать мы все это будем в *nix`ах. Так будет лучше для всех (если с никсами траблы - читай в этом же номере статью по ipchains - там все хорошо рассказано и снабжено примерами).

ПРИМЕР НОМЕР РАЗ

Попытаемся разрешить доступ из LAN к веб-серваку в Инете. Адресация в конкретно нашей LAN - 192.168.13.*, твой xakep_host имеет адресок 192.168.13.111, а адрес файрволла - 192.168.13.222. Файрволл настроен на подмену любых пакетов, исходящих из LAN и направленных на 80 порт сервака в Инете. Твой браузер (Opera, например) стандартно настроен для соединения, и DNS-сервер во внутренней сети поставлен грамотно, а не Дедом Морозом. Да, и еще одно условие - файрволл должен служить стандартным маршрутизатором в сети.

Содержание  Вперед на стр. 024-056-2


 

Хакер №024. Спецвыпуск


IP-МАСКАРАДИНГ

прячем сеть от чужих глаз

Спецвыпуск Xakep, номер #024, стр. 024-056-2

Теперь проследим сам экшн по net-surf`у. Опера на твоей таче запрашивает хост http://www.worldsex.com и получает IP 207.246.141.25. Она открывает соединение с этим айпишником, юзая локальный порт 666, и запрашивает на веб-сервере (портик 80) страничку harcore_gibbon_anal_mpegs.htm. Пакеты от xakep_host (портик 666) к worldsex.com (портик 80) проходят через фаервольный фильтр, они перелопачиваются так, чтобы выходить с фаервольного порта 11111. Наш любимый firewall имеет допустимый в Инете IP-адрес (213.45.76.11 - взять просто из головы), следовательно ответные пакеты от worldsex.com нормально приходят на файрволл. По прибытию пакеты от worldsex.com к security.megatron.net (порт 11111) перезаписываются так, чтобы идти на xakep_host порт 666. В этом и состоит фокус маскарада: он помнит, когда он перезаписал исходящие пакеты, и может переписывать их обратно, когда приходят ответы на них. Opera отображает долгожданную порнуху. То есть с точки зрения worldsex.com соединение было сделано между 213.45.76.11 (firewall'ом) порт 11111 и 207.246.141.25 (worldsex.com) порт 80. С точки зрения xakep_host соединение было сделано между 192.168.1.111 (xakep_host) порт 666 и 207.246.141.25 (worldsex.com) порт 80. И только файрволл знает всю правду. Вот такие стремные дела =).

ПРИМЕР НОМЕР ДВАС

Так, давай рассмотрим еще один пример. Твоя сетка - часть Интернета: пакеты могут бегать без изменения из одной сети в другую. Адреса IP внутренней сети должны быть назначены из выделенного блока адресов IP (которые пров дал) так, чтобы остальная часть сети знала, как передать пакеты, адресованные тебе. В этом случае фильтрация используется для ограничений пакетов, пересылаемых между твоей сетью и остальной частью Инета, то есть ограничивается только доступ остальной части Интернета к твоим внутренним серверам. Сам пример: открываем доступ из твоей сети к web-сервакам в Инете. В нашей внутренней сети адреса назначены согласно выделенному блоку IP адресов (допустим - 213.45.76.*). Файрволл настроен на пропуск всего траффика. Остальное же настроено так же, как в первом примере. Зажигай! Опера обращается на http://www.worldsex.com и опять же узнает его IP - 207.246.141.25. Затем браузер открывает соединение с этим айпишником, юзая локальный порт 666 и удаленный (на worldsex`е) 80 порт. Ну и, конечно, запрашивается любимая страничка :-). Пакеты преодолевают файрволл так же, как они проходят через несколько маршрутизаторов между тобой и worldsex.com. Гиббоны снова на экране. Что же у нас имеется? А у нас имеется только одно соединение между 192.168.13.111 (xakep_host) порт 666 и 207.246.141.25 (worldsex.com) порт 80. Никаких наворотов, только злобные хацкеры в сеть уже не залезут.

Назад на стр. 024-056-1  Содержание  Вперед на стр. 024-056-3


 

Хакер №024. Спецвыпуск


IP-МАСКАРАДИНГ

прячем сеть от чужих глаз

Спецвыпуск Xakep, номер #024, стр. 024-056-3

ВДОГОНКУ

Кроме файрволла существуют еще и другие способы обеспечить доступ из Инета к ресурсам нашей супер-LAN. Эти способы основаны на принципах маскарадинга для внешних соединений. Самый простой способ заключается в запуске так называемого перенаправителя (redirector), который является своеобразным прокси. Он ожидает соединения на заданном порте, а затем открывает соединение на фиксированном "нутровым" хосте и порте и копирует данные между двумя соединениями. Пример такой программы - redir в никсах. С точки зрения глупого нета соединение установлено с нашим файрволлом. А вот с точки зрения не менее глупого внутреннего сервака - соединение установлено от внутреннего интерфейса файрволла к серваку. Короче, обмануты все =). Другой подход (для него нужны *nix с версией ядра выше 2.1, а есть еще у кого-то ниже? :)) состоит в использовании форвардинга портов в ядрышке. Он делает ту же самую работу, что и тулза redir, но другим способом: ядро переписывает проходящие пакеты, заменяя их адрес и порт назначения на адрес и порт внутреннего хоста. Инет думает, что соединение установлено с нашим файрволлом, а "нутровый" сервак думает, что это прямое соединение из нета до него. Опять всех админ надул :).

НАТЯГИВАЕМ

Теперь рассмотрим, как наш брат хацкер всех натягивать будет, ведь обойти маскарадинг тоже можно. Например, вот таким способом. Этот способ нашел бравый хацкер из забугорья H.D. Moore (hdm@secureaustin.com). Из-за того, что в коде, отвечающем за маскарадинг, найдены траблы, хацкер может перезаписать установки маскарадинга UDP, после чего он будет способен организовать туннелирующее (подробно об этом тоже читай в этом номере) UDP-соединение с тачкой, находящейся за файрволлом, осуществляющим маскарадинг. Хакер не может знать, какие порты и адреса используются во внутренней сети, если, конечно, ему сам админ по пьяни не скажет (НЛП, блин), но он может вычислить число текущих соединений, идущих через файрволл и количество машин, находящихся за огненной стеной. Любая сетка, где юзается маскарадинг UDP-траффика, уязвима для такой атаки (а ведь UDP-протокол юзает множество прог). Поскольку UDP - это протокол, в котором отсутствует понятие соединения (как TCP), то единственный путь определить, что маскированное соединение более не используется, - по тайм-ауту или же после получения сообщений ICMP, говорящих, что порт закрыт (пинговать надобно). На тайм-аут по умолчанию полагается 5 минут, это одно и то же значение для форвардинга UDP-пакетов. А это позволит хакеру найти действующий туннель и поюзать его в своих корыстных целях. Протоколы TCP и UDP требуют, чтобы и порт, с которого отправлен пакет, и порт, на который он отправлен, так же как адрес источника и получателя, обязательно присутствовали в пакете. Порт для исходящих соединений обычно выбирается, как первый доступный из диапазона 1024-65535 (подробнее об этом читай в предыдущем Спеце) - а как же выбирает порты файрволл с установленным маскарадингом? Ядро использует для этих целей порты от 61000 до 65906 по умолчанию, позволяя теоретически обслуживать до 4096 TCP и UDP-сессий одновременно. Эти значения могут быть изменены путем редактирования и пересборки кода или же редактированием /proc - файловой системы, через которую можно осуществить доступ к адресному пространству процесса. Итак, теперь, когда соединение, запрошенное внутренним хостом megatron, осуществляется в порт 1050, и его назначение - внешний DNS-сервер dns_server, а в порт 53 маскирующая машина добавляет новое поле таблицы маскарадинга, выглядящее примерно так:

Назад на стр. 024-056-2  Содержание  Вперед на стр. 024-056-4


 

Хакер №024. Спецвыпуск


IP-МАСКАРАДИНГ

прячем сеть от чужих глаз

Спецвыпуск Xakep, номер #024, стр. 024-056-4

megatron A:1035 (651001) -> dns_server B:53

Порт в скобках - это порт файрволла, с которого оно осуществляет соединение и который использует для коннекта с портом 53 хоста B. А далее мы рассмотрим, как хакер может перезаписать правую часть данного соединения, чтобы подключиться к порту внутреннего хоста. Код, отвечающий за UDP-маскарадинг, проверяет только ПОРТ НАЗНАЧЕНИЯ, чтобы определить - пришел ли пакет из внутренней сетки или извне, и должен быть переслан внутрь. Затем поля PORT и HOST устанавливаются в исходный адрес и порт отправителя. Хацкеру достаточно только определить порт, открытый для соединения на файрволле, чтобы внести свои модификации в таблицу, перезаписав поля Host Z:53 cвоими данными. Но как определить, что порт из диапазона 65100 - 65096 используется для форвардинга соединений? Мы просто посылаем тестовый пакет каждому из этих хостов (файрволлу и внешнему хосту, с которым производится соединение) и просматриваем поле IP_ID в каждом из ответов. Данное поле последовательно увеличивается каждым хостом с каждым посланным пакетом, и ответы от файрволла будут иметь IP_ID ВНУТРЕННЕГО хоста (это примерно на 1000 меньше, чем IP_ID пакетов, полученных непосредственно от файрволла). В результате этих манипуляций у хацкера появился туннель к порту закрытой тачки во внутренней сети. Вот так вот. Читай доки, изучай исходники *nix`ов и пей чаек с лимоном, и тогда все будет пинцетно.

Назад на стр. 024-056-3  Содержание


 

Хакер №024. Спецвыпуск


TCP WRAPPERS

плащ для админа

Спецвыпуск Xakep, номер #024, стр. 024-060-1

MеnderX (forother@fromru.com)

Пакет TCP Wrappers (wrappers - обертки) занимает 25-ое место (из 50) в рейтинге полезных админу (не буду скрывать, иногда и хакеру =) утилит, проводимом Insecure.org. Это место находится не так далеко от 18-ого, оккупированного iptables/netfilter/ipchains/ipfwadm. Что же это за обертки? Чем они полезны админу? Я постараюсь ответить на эти и многие другие вопросы, касающиеся TCP Wrappers, в рамках одной статьи.

ШО ЗА ФАНТИКИ?

Пакет этих оберток обеспечивает контроль доступа к системе (или сети). Также он логирует все коннекты к сервисам. Чтобы ты лучше понял механизм работы, я объясню на двух примерах: когда этот пакет установлен в системе и, соответственно, когда не установлен.

При старте системы запускается демон inetd/xinetd и ищет в файле /etc/inetd.conf или каталоге /etc/xinetd.d записи разрешенных сервисов. И когда он получает запрос от, например, клиента telnet, то запускает экземпляр другого демона - telnetd. Сам посуди, проще запускать демон telnetd тогда, когда он действительно нужен (то есть когда к нему уже обратились), чем постоянно поддерживать кучу служб! Но эти сервисы (сервисы, демоны, службы - одно и то же) по умолчанию не используют контроль доступа к системе, а сие не есть гуд.

Теперь посмотрим, что будет, если в системе установлен пакет TCP Wrappers. После получения запроса от клиента tcpd (это и есть обертка) перехватывает запрос и обрабатывает его (сверяет с установленными правилами), после этого он может или разрешить коннект (передать его нужному сервису, например, telnetd) или отказать в нем. Также он логирует все соединения, отправляя их демону syslogd (глянь - /etc/syslog.conf).

Рассмотрим структуру /etc/inetd.conf (если перед сервисом стоит #, значит - он закомментирован, т.е. запрещен, советую тебе оставить только самые нужные службы). Пример записи, когда пакет TCP Wrappers отсутствует в системе:

А теперь, когда присутствует:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Здесь демон /usr/sbin/tcpd обертывает демон telnetd.

Если у тебя в системе отсутствует файл /etc/inetd.conf, то, скорее всего, используется xinetd. Это усовершенствованный демон Инета, так что топай в /etc/xinetd.conf. Если там присутствует строка «includedir /etc/xinetd.d», то демон xinetd читает содержимое этого каталога и использует его как настроечный. В таком каталоге каждый файл содержит инфу об одной службе - чтобы запретить службу, достаточно удалить файл (или добавить в него строку «disable=yes»). На первом скрине виден конфигурационный файл службы телнет без использования фантиков, на втором - с использованием оных. Тоже очень хорошо видно, как tcpd обертывает telnetd.

Не лишним будет сказать, что xinetd имеет свои собственные функции ограничения доступа. Для ограничения добавь строку only_from = <доверенный хост> или no_access = <хост твоего врага> в файл настроек демона.

Теорией я тебя уже достаточно загрузил, пора переходить к практике, т.е. к настройке.

ИСПОЛЬЗОВАНИЕ

Скачать пакет TCP Wrappers (автор - Виетс Венема) ты можешь с этого фтп - ftp://ftp.porcupine.org/pub/security/, там же ты найдешь еще много утилит, связанных с security. Но особо не спеши, скорее всего этот пакет уже установлен у тебя в системе :). Для инстала распакуй архив, заходи в распакованную диру, далее тебе придется править Makefile под себя, а потом вводить make. Скомпилировав с ключом -DPARANOID, ты защитишь себя от ip-spoofing-а со стороны клиента, т.е. wrappers будут всегда проверять имя хоста дважды и при несовпадении в коннекте откажут =).

Содержание  Вперед на стр. 024-060-2


 

Хакер №024. Спецвыпуск


TCP WRAPPERS

плащ для админа

Спецвыпуск Xakep, номер #024, стр. 024-060-2

А теперь о настройке. Все правила доступа читаются из двух файлов - /etc/hosts.deny и /etc/hosts.allow. Прочитав хотя бы половину Спеца, ты уже должен понять, что значит deny и allow. Правильно, в /etc/hosts.deny запишем хосты, которым не доверяем, а в /etc/hosts.allow запишем доверенные хосты. В только что установленной системе эти файлы пусты, так что приступим к конфигуру. Виетс Венема создал специальный язык (hosts_options) для этого дела, и первое, что надо добавить в /etc/hosts.deny, - запись "ALL: ALL". А теперь разберем ее: слева список демонов, потом идет символ «:» (разделяющий символ) и далее список хостов. В данном примере мы всем хостам запретили юзать все сервисы =) (ALL - это символ-заместитель). Это правило называется - «то, что не разрешено, запрещено». Вот теперь можем приступить к редактированию /etc/hosts.allow, т.е. разрешать.

Запиши туда строчку - "ALL: 127.0.0.1"ь, что позволит тебе подсоединятся ко всем сервисам (можно перечислять хосты дальше через пробел).

В языке hosts_options имеется еще один очень полезный оператор, а зовут его EXCEPT. Зачем он нужен? Ну, к примеру, если в /etc/hosts.deny записать - "ALL EXCEPT in.telnetd: ALL", то ко всем сервисам, кроме telnet, будет запрещено подсоединяться. Возможно, ты уже подумал, что ничего сложного в языке нет, но ты глубоко ошибаешься, посмотри на этот пример:

/etc/hosts.deny:

ALL: ALL: spawn ((/path/to/save_finger -l @%h; \

echo Alien's IP %a; echo Alien's domain %n; \

/bin/mail -s " %c wanted to connect %s at 'date'" root)&

ALL: ALL - это мы уже разобрали, потом идет еще один знак «:» (разделитель) и команды, которые выполняются при коннекте, spawn - команда, которая запускает shell. Для того, чтобы выяснить, кто работает на удаленной машине, я использую safe_finger (поставляется вместе с обертками), в документации написано, что он безопаснее стандартного. Затем я вывожу на консоль IP и доменное имя того хрюнделя, который хочет приконнектиться. А также стучу кому надо, т.е. отправляю письмо руту с темой (ключ -s) "%c хочет присоединиться к %s в такое-то число". Тут %a - IP клинета, %n - доменное имя клиента, %c - информация о клиенте, %s - информация о сервере. Т.е. получается, что я отправляю письмо с темой - "Какой-то ежик (идет инфа о нем) хочет приконнектиться к моей тачке (идет инфа о тачке, с которой отправляется письмо) в такое-то время" (заменяется на дату). Если ты тоже хочешь мутить подобные конструкции - милости просим в man pages: hosts_options(5) и hosts_access(5) (5 - это номер секции, File Formats).

Назад на стр. 024-060-1  Содержание  Вперед на стр. 024-060-3


 

Хакер №024. Спецвыпуск


TCP WRAPPERS

плащ для админа

Спецвыпуск Xakep, номер #024, стр. 024-060-3

ТЕСТИРОВАНИЕ

Иногда ты можешь просто запутаться и настроить не так, как хочется, а так, как получится =(. А поймешь ты это только тогда, когда тебя в очередной раз поимеют :(. Вот для этого и включены в пакет утилиты тестирования настроек - tcpdchk и tcpdmatch. Первая проверяет неверные пути, неверные имена хостов и ip, службы, для которых указаны правила, но которые не защищены демоном tcpd и т.д. Запусти ее, и она выдаст тебе инфу об ошибках.

А вот tcpdmatch предсказывает, как Wappers обработает конкретное сообщение к службе. Использование: tcpdmatch [Демон] [хост].

КОНЕЦ

TCP Wappers ассоциируются у меня с плащом от дождя, тогда как xinetd - это современная непромокаемая куртка, а файрволл - это зонтик (какой богатый внутренний мир :) - прим. ред.). Но у всех этих штук есть одно общее - при их использовании существует вероятность промокнуть ;). А вот если юзать связку из этих средств защиты, то вероятность быть замоченным уменьшается. Как бы то ни было, желаю тебе всегда выходить сухим из воды!

Назад на стр. 024-060-2  Содержание


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-1

Привет, мужик. Сегодня я хочу с тобой поговорить о том, что бездумная работа может привести к очень печальным последствиям. Но главное - я расскажу тебе, как этих последствий можно избежать, на примере защиты любимой оси aka Linux. Делать мы это будем при помощи встроенной утилитки iptables, которая присутствует в ядрах 2.4.*.

ВТЫКАЕМ

Надеюсь, ты сумеешь установить пакет с исходниками ядра или скачать свежее ядро ветки 2.4.х с ftp.kernel.org. Коротко это будет выглядеть так: администратором входишь в каталог /usr/src/linux, есессено, в консоли или в терминале. Даешь команду:

make menuconfig

или

make xconfig

(если ты работаешь в Х)

Идешь в Networking Options и включаешь поддержку Network packet filtering (Рис. 1).

Затем, спустившись немного ниже, можешь настроить фильтр пакетов в разделе Netfilter Configuration (Рис. 2).

Если что-то из вариантов настройки фильтра пакетов тебе покажется непонятным, а я на 100 процентов уверен, что тебе будет непонятно почти все, я настоятельно рекомендую выйти в Сеть и прочитать (а заодно слить на свой винт) вот эту доку: http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html. Там про iptables написано почти все.

Сразу скажу, что в современных дистрибутивах ALT Linux Master 2.0, ASP Linux 7.2, Mandrake Linux 7.2 и выше, Red Hat Linux 7.0 и выше, SuSE Linux, Debian 2.2 и выше и так далее - пакетный фильтр iptables уже включен в ядро и настроен на решение часто используемых задач. Значит, тебе с большой вероятностью не придется самому заниматься конфигурированием и сборкой ядра.

Другое дело в случае консервативного дистриба Slackware или Gentoo. Скорее всего, тебе самому придется ковыряться в ядре, собирать его, скачивать пакет iptables (его тоже надо будет собрать) и устанавливать все это барахло. Но я уверен, справившись с установкой такого дистрибутива, ты на 100% расправишься с такой мелочью, как настройка и сборка ядра.

УЧИМ ПРАВИЛА

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

Пакет мы может принять, отбросить с уведомлением отправителя пакета, уничтожить или переслать на другое правило или куда-то еще. Несколько правил составляют цепочку. Фильтр просматривает правила в цепочке одно за другим и выполняет предписанные действия.

Есть стандартные цепочки, но можно намутить и пользовательские, их может быть сколько угодно и каждая из них может иметь свое имя.

Стандартная цепочка INPUT

В нее попадают все ВХОДЯЩИЕ в фильтр пакеты.

Цепочку INPUT проходят пакеты, которые предназначены локальным приложениям (самому firewall'у).

Стандартная цепочка OUTPUT

В нее попадают все ВЫХОДЯЩИЕ из фильтра пакеты. Цепочка OUTPUT используется для фильтрации исходящих пакетов, сгенерированных приложениями на самом firewall'е.

Стандартная цепочка FORWARD

Используется для фильтрации пакетов, идущих транзитом через firewall (во внутреннюю сеть).

Содержание  Вперед на стр. 024-062-2


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-2

Так как ты защищаешь только свой компьютер, можно обойтись первыми двумя.

Пакетный фильтр iptables может работать с тремя таблицами правил. Таблица для фильтрации filter (она ставится по умолчанию, если явно ничего не указано), таблица для nat-маскарадинга и трансляции адресов (очень полезно для вывода локалки в Инет). И, наконец, таблица mangle для редактирования пакетов.

В каждую таблицу заносятся цепочки правил фильтрации. Они последовательно просматриваются и исполняются фильтром. Цепочки ты либо заносишь сам из командной строки (рис. 3), либо пишешь сценарий на shell.

Хочу сказать, что скриптовые языки вроде perl и php для такого дела не подходят, хотя на них и можно написать системы, облегчающие составление правил и цепочек. Зайди на www.freshmeat.net и поищи по слову firewall или по слову iptables - увидишь массу ссылок на программы для быстрого и удобного составления правил фильтрации пакетов.

ПРАВИЛА ПО КОСТОЧКАМ

Правило состоит из нескольких элементов - команды, опции, критерия отбора и действия. Элементы могут в принципе располагаться как угодно, но лучше придерживаться указанного порядка - так будет потом понятнее самому.

Команды предназначены для того, чтобы сказать фильтру, что мы будем делать. Например, добавить правило в цепочку, удалить правило, очистить цепочку, вывести список правил в цепочке и тому подобное.

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

Критерий отбора. Это самая важная часть правила. Пакетный фильтр при разборках с пакетом смотрит именно на них. В качестве критериев отбора может выступать интерфейс, с которого пришел пакет, адрес отправителя или адрес получателя, порт отправителя или порт получателя, тип протокола.

Действие. Действие определяет, что именно нам делать с пакетом, который удовлетворяет заданному тобой критерию.

Самый полный список команд, опций, критериев и действий ты найдешь в доке Iptables-tutorial. Там все по-русски, поэтому тебе много не придется ломать голову. К тому же там есть просто шикарные примеры.

РАЗБЕРЕМ ПРАВИЛО:

iptables -A INPUT -i eth0 -p tcp -s 0/0 -d 192.168.1.1 --dport 53 -j DROP

Вот его части:

* iptables - системная программа для вызова утилиты управления пакетным фильтром;

* -A INPUT - команда iptables, означающая "добавить (-A) новое правило в цепочку INPUT";

* критерий -i eth0 говорит, что нам нужен пакет, приходящий с интерфейса (-i) eth0 (сетевуха); если у тебя диал-ап, то интерфейс, скорее всего, будет ppp0;

* критерий -p говорит, что нам нужен пакет протокола (-p) tcp;

* критерий -s 0/0 говорит, что нам нужен пакет с адресом отправителя (-s) любым, то есть 0.0.0.0 с маской подсети 0.0.0.0 или в краткой записи 0/0;

* критерий -d 192.168.1.1 говорит, что нам нужен пакет, который получает (-d) машина с адресом 192.168.1.1;

* критерий --dport 53 говорит, что номер порта принимающей (--dport) машины должен быть равен 53;

* действие -j DROP означает, что если пакет удовлетворяет ВСЕМ перечисленным критериям, то есть если все критерии присутствуют, то этот пакет прыгнет (-j) на цепочку DROP. Проще говоря, он будет уничтожен.

Назад на стр. 024-062-1  Содержание  Вперед на стр. 024-062-3


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-3

В результате выполнения этого правила на защищаемой машине получим вот такую картину после сканирования портов:

-------------------------------------------------------------------

[vitls@zeelog:~]# nmap 192.168.1.1

Starting nmap V. 2.54BETA37 (www.insecure.org/nmap/)

Interesting ports on 192.168.1.1 (192.168.1.1):

(The 1597 ports scanned but not shown below are in state: closed)

Port State Service

21/tcp open ftp

25/tcp open smtp

53/tcp filtered domain

110/tcp open pop-3

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds

[vitls@zeelog:~]#

-------------------------------------------------------------------

КУЕМ ЦЕПИ

Как я уже успел упомянуть, правила могут быть объединены в цепочки. В твоей системе защиты может быть несколько независимых друг от друга цепей. Про стандартные цепочки ты уже знаешь, а любая нестандартная цепочка, то есть твоя собственная, может взаимодействовать со стандартной. Например, можно принять пакет из цепочки INPUT, проверить его на соответствие какому-то критерию отбора и отправить на твою собственную цепочку для дальнейшей экзекуции. Основываясь на этих возможностях, можно построить очень сложную систему распределения и фильтрации входящего к тебе или исходящего от тебя трафика.

Самое главное заключается в мудрости построения последовательности правил в цепочке. Пакетный фильтр просматривает правила исключительно в том порядке, в которым ты их задаешь. Он тупой и исполнительный.

Если ты в первом правиле скажешь, что такой-то пакет отправить на уничтожение, а затем вторым правилом скажешь, что такой же пакет принимать для пересылки, в ответ на это я тебе отвечу, что до второго правила твой пакет просто не доживет, и вся работа пойдет псу под хвост. Так что всегда анализируй то, что уже написал.

КАК ЭТО ДЕЛАЕТСЯ?

Цепочки ты можешь вводить либо напрямую из командной оболочки (shell), в качестве которой у тебя могут быть sh, bash, ash, zsh, tcsh или что-то еще твое любимое. Я все примеры буду приводить для стандартного sh, так как он есть практически в любом дистрибутиве.

Вводя правила непосредственно из shell, ты должен их набирать последовательно и быть осторожным, любая ошибка - и тебе придется вводить: iptables -F имя_цепочки, чтобы ее очистить.

Для устранения этих проблем лучше написать сценарий, который можно будет легко отредактировать в любой момент и выполнить только тогда, когда он будет полностью готов. Сгодится любой текстовый редактор. Все равно текст будет обычный, посему навороты, вроде word, на фиг не нужны.

Для примера я наведу разборки с простым сценарием.

ПРОСТОЙ СЦЕНАРИЙ

Задача - с помощью iptables закрыть на ppp0 все порты с 1 по 1024 и оставить открытыми только некоторые, например, 53 и 80. Чтобы кто-то из внешней сети мог воспользоваться только нашим dns сервером и www сервером.

Внутренности файла сценария выглядят примерно так:

Назад на стр. 024-062-2  Содержание  Вперед на стр. 024-062-4


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-4

--------------------------------------------------------------------------------

#!/bin/sh

IPT=/usr/sbin/iptables

$IPT -F INPUT

$IPT -A INPUT -i ppp0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 80 -j ACCEPT

$IPT -A INPUT -i ppp0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 1:1024 -j DROP

$IPT -A INPUT -i ppp0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 53 -j ACCEPT

$IPT -A INPUT -i ppp0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 1:1024 -j DROP

--------------------------------------------------------------------------------

Теперь построчно:

#!/bin/sh

В этой строке мы говорим командной оболочке, что данный сценарий будет выполняться программой /bin/sh.

IPT=/usr/sbin/iptables

Объявляем переменную IPT, куда заносим строку, содержащую путь к тому месту, где находится утилита iptables. В данном случае /usr/sbin/iptables. В своей системе ты этот путь можешь узнать, выполнив в командной строке команду whiсh iptables.

$IPT -F INPUT

В результате выполнения сценария $ITP будет заменена на /usr/sbin/iptables, то есть мы обозначаем саму утилиту iptables. Это нужно для удобства, чтобы по десять раз не писать одно и то же. Команда -F INPUT приказывает очистить цепочку INPUT.

$IPT -A INPUT -i ppp0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 80 -j ACCEPT

Данная строка добавляет в цепочку INPUT фильтр по критериям: пакет должен прийти с интерфейса ppp0 (-i ppp0), пакет должен быть по протоколу tcp (-p tcp), прийти с любого адреса (-s 0/0), с любого из портов, указанных в диапазоне (--sport 0:65535), пакет должен быть адресован любому адресу (-d 0/0) и прийти на порт 80 (--dport 80). Если пакет подходит под ВСЕ условия, он направляется в цепочку ACCEPT (-j ACCEPT). То есть принимается системой. Если пакет не подходит под данное правило фильтрации, то он переходит к следующему правилу в цепочке:

$IPT -A INPUT -i ppp0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 1:1024 -j DROP

Данная строка добавляет в цепочку INPUT фильтр по критериям: пакет должен прийти с интерфейса ppp0 (-i ppp0), пакет должен быть по протоколу tcp (-p tcp), прийти с любого адреса (-s 0/0), с любого из портов, указанных в диапазоне (--sport 0:65535), пакет должен быть адресован любому адресу (-d 0/0) и прийти на любой порт в указанном диапазоне (--dport 1:1024). Если пакет подходит под ВСЕ условия, он направляется в цепочку DROP (-j DROP). То есть уничтожается системой.

Короче, в этом правиле уничтожаются все пакеты на порты от 1 до 1024, которые не подпадают под предыдущее правило. Задача же стояла закрыть все, кроме 80-го порта, вот мы и сделали это.

Далее:

$IPT -A INPUT -i ppp0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 53 -j ACCEPT

Данная строка добавляет в цепочку INPUT фильтр по критериям: пакет должен прийти с интерфейса ppp0 (-i ppp0), пакет должен быть по протоколу udp (-p udp), прийти с любого адреса (-s 0/0), с любого из портов, указанных в диапазоне (--sport 0:65535), пакет должен быть адресован любому адресу (-d 0/0) и прийти на порт 53 (--dport 53). Если пакет подходит под ВСЕ условия, он направляется в цепочку ACCEPT (-j ACCEPT). То есть принимается системой.

Назад на стр. 024-062-3  Содержание  Вперед на стр. 024-062-5


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-5

И наконец:

$IPT -A INPUT -i ppp0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 1:1024 -j DROP

Данная строка добавляет в цепочку INPUT фильтр по критериям: пакет должен прийти с интерфейса ppp0 (-i ppp0), пакет должен быть по протоколу udp (-p udp), прийти с любого адреса (-s 0/0), с любого из портов, указанных в диапазоне (--sport 0:65535), пакет должен быть адресован любому адресу (-d 0/0) и прийти на любой порт в указанном диапазоне (--dport 1:1024). Если пакет подходит под ВСЕ условия, он направляется в цепочку DROP (-j DROP). То есть уничтожается системой.

СОХРАНЯЕМ И ВОССТАНАВЛИВАЕМ ПРАВИЛА

Iptables хранит все таблицы и цепочки в оперативной памяти компьютера. Но авторы не были идиотами и сделали возможность сохранения настроек и их последующего восстановления. Для этого в природе существуют утилиты iptables-save и iptables-restore. Их использовать ну очень просто.

Для сохранения:

iptables-save > filename

(надо указать имя файла с сохраненными цепочками).

Для восстановления:

iptables-restore < filename

(надо указать имя файла с сохраненными цепочками).

Iptables-save cохранит все твои цепочки в специальном файле. А iptables-restore их потом так же хорошо восстановит.

Если ты намерен пользоваться iptables постоянно, лучше всего один раз написать и отладить набор нужных тебе правил. Затем дать сохранить при помощи iptables-save. Для восстановления же при включении компьютера нужно в конец одного из стартовых сценариев (рекомендуется /etc/rc.d/rc.local) добавить строку iptables-restore < filename, где filename - имя файла с правилами, сохраненными при помощи iptables-save.

ПОЛЕЗНЫЕ ПРИМЕРЫ

Как настроить пакетный фильтр для фильтрации по содержимому пакетов?

Следующие правила блокируют прохождение пакетов, данные в которых содержат подстроку virus.exe и ведут лог пакетов со строкой secret внутри:

#!/bin/sh

iptables -A INPUT -m string --string "secret" -j LOG --log-level info \ --log-prefix "SECRET"

iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "virus.exe"

# Block Code Red

iptables -I INPUT -j DROP -p tcp -m string --string "cmd.exe"

# Block Nimda

iptables -I INPUT -j DROP -p tcp -m string --string "root.exe"

iptables -I INPUT -j DROP -p tcp -m string --string "default.ida"

Другая ситуация: машина подключена к Инету напрямую, нужно сделать так, чтобы доступ с нее был только на ftp, а все остальные in и out пакеты блокировались.

iptables -F OUTPUT

iptables -P OUTPUT DROP

iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT

iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT # это если не хочешь по ip лазать

iptables -F INPUT

iptables -P INPUT DROP

iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT

iptables -A INPUT -p udp --sport 53 -j ACCEPT # опять же для dns

ЧТО ЧИТАЕМ?

Читать тебе, перчик ты недозрелый, придется много, часто и густо. Ха! Не делай такое кислое лицо - это тебе не идет. Ты думаешь, что крутые перцы, о которых идет такая громкая слава, родились с такими мозгами? Ни хрена подобного! Они просиживают ночами, пытаясь вникнуть в документацию. Бери с них пример. И твои нервы станут мягкими и шелковистыми.

Назад на стр. 024-062-4  Содержание  Вперед на стр. 024-062-6


 

Хакер №024. Спецвыпуск


ПОСТРОЙ СЕБЕ САМ: БЫСТРЫЙ СПОСОБ ПОЗНАКОМИТЬСЯ С IPTABLES

ViTLS (vitls@beshtau.ru)

Спецвыпуск Xakep, номер #024, стр. 024-062-6

Вот тебе список документов и статей для интенсивной самоподготовки:

1. Kernel-HOWTO

2. Linux 2.4 Packet-filtering-HOWTO

(http://www.linux.org.ru:8100/books/HOWTO/index.html)

3. Iptables-HOWTO

(http://www.linuxguruz.org/iptables/howto/iptables-HOWTO.html)

4. Firewall-HOWTO

(http://linuxdocs.org/HOWTOs/Firewall-HOWTO.html)

5. NAT-HOWTO

(http://imc.edu.trekhgorny.ru/~merlin/iptables/NAT-HOWTO.linuxdoc.html)

6.Netfilter-hacking-HOWTO

(http://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO.html)

7. Iptables-tutorial

(http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html)

Вот и все. Желаю успехов на тяжком пути хакера.

Назад на стр. 024-062-5  Содержание


 

Хакер №024. Спецвыпуск


ПУТЕВОДИТЕЛЬ

Спецвыпуск Xakep, номер #024, стр. 024-066-1

Плохие Туннели / Хорошие туннели

Матушка Лень (MLEN@mail.ru) MatushkaLEN'[LoveTech]

Как ты уже понял из этого номера, туннелирование - один из основных способов обхода файрволов и других мелких препятствий, которые пытаются изобразить бородатые админы. Бедненькие, они ведь не знают, с кем воюют!

А все дело в том, что туннелирование - один из главных сетевых принципов современности, ведь без него интернет просто не существовал бы!

ТУННЕЛИ НА КАЖДЫЙ ДЕНЬ

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

Идем дальше! Допустим твой компьютер установил TCP/IP сессию с почтовым сервером в интернете. И теперь твоя почтовая программа связывается с почтовым сервером по протоколу SMTP. При этом электронному письму все равно, через какие модемы оно пройдет, какие шлюзы и сети в интернете оно преодолеет, потому что оно движется по SMTP-туннелю через глобальную сеть интернет. Этот туннель прозрачен, то есть за ним не видно внутреннего устройства сети.

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

ГОЛОСОВОЙ ТУННЕЛЬ

Знаешь ли ты, что такое IP-телефония? Да-да-да, это тоже туннель. И в некотором роде он тоже используется компаниями для обхода файрволов. В этом случае с файрволом можно сравнить межгородскую и международную АТС. Если ты хочешь поговорить с Америкой через АТС, то тебе прейдет огроменный счет за телефонные услуги. Как же обойти этот файрвол? Вспоминаем, что сеть Интернет не заставляет пользователя платить за соединение в зависимости от географии. Ты платишь только за трафик, а с какой точкой мира ты установил соединение не важно. Значит осталось проложить голосовой-телефонный туннель через почти халявную (по сравнению с телефонной) сеть интернет и можно будет говорить очень дешево.

Только чтобы проложить этот туннель, у тебя должны быть два устройства, одно будет преобразовывать твой телефонный вызов в интернет-трафик - это устройство должно стоять в твоем городе у оператора IP-телефонии. Другое устройство будет преобразовывать интернет-трафик в телефонный вызов. Оно должно находиться в городе, где живет твой абонент. То есть оно позвонит по местному телефону твоему другу. И твоя и чужая АТС примет такой вызов за местный, и тарифицирует его по местным тарифам.

Содержание  Вперед на стр. 024-066-2


 

Хакер №024. Спецвыпуск


ПУТЕВОДИТЕЛЬ

Спецвыпуск Xakep, номер #024, стр. 024-066-2

Технологию IP-телефонии называют Voice over IP, или сокращенно VoIP, то есть Голос через Интернет Протокол. Запомни это магическое слово OVER, ты еще не раз встретишься с ним!

ФАЙРВОЛЫ И ТУННЕЛИ

Как ты уже догадался, файрвол пользуется примерно той же идеологией, что и АТС. Он проверяет входящие и исходящие вызовы и в зависимости от их особенностей решает разрешать или не разрешать. А если разрешать, то сколько денег брать с пользователя за соединение.

Но если файрвол стоит, то есть услуги, которые разрешены. То есть если бы нужно было запретить все на свете, то бородатый администратор просто бы вынул шнур из сети. А поскольку он поставил файрвол, значит что-то через него обязательно должно проходить. Что-то единственное и исключительное, что администратор разрешил, остальное проходить не должно.

Так вот, туннелирование позволяет использовать ЛЮБЫЕ известные услуги через единственную включенную услугу. Все услуги которые мы хотим использовать, и которые нам запрещает файрвол, мы можем свернуть в туннель и пустить поверх (over) единственной разрешенной.

SMTP ТУННЕЛИ

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

Допустим, ты сидишь на работе, и у тебя работает только почта. И правильно, нечего работником в рабочее время серфить Инет! Но ведь по инету полазить хочется! Допустим у тебя есть приятель, у которого на работе есть много халявного инета. И ты пишешь ему письма с просьбами прислать тебе ту или иную страничку. Приятель не жмот, на работе ему все равно скучно, и он может выслать тебе по мылу хоть пол-Интернета, только попроси. Вот и получился простейший туннель HTTP over SMTP. Ведь по почте ты получаешь HTML документы.

А теперь представь себе более серьезную и денежную проблему: хакер сидит на выделенке. Злобный буржуй-провайдер считает HTTP трафик на своем файрволе и нажитые нечестным трудом хакерские денежки капают за каждый мегабайт прошедшей через файрвол информации. Понятно, что в этом случае просить друга присылать странички по почте - вариант тормозной. Вся прелесть выделенной линии пропадает. Поэтому хакер создает в интернете робота, который в ответ на запросы по почте закачивает нужные страницы из интернета и отправляет их по почте. При этом хакеру не нужно платить за web-трафик, smtp-трафик некоторые глупые провайдеры не считают, и денег за него не дерут.

А теперь другая ситуация, когда хакер надыбал где-то пулы халявной почты. То есть можно звонить на телефон провайдера и совершенно бесплатно качать почту. Но ведь хакеру нужно и в аське посидеть и по страничкам полазить. Поэтому хакер пишет две почтовых программы-робота. Одну он вешает на бесплатном сервере в интернете, а другую на своем компьютере. Один робот запаковывает TCP/IP пакеты в почтовый протокол, а другой их распаковывает и отправляет в интернет. Получился туннель TCP/IP over SMTP.

Назад на стр. 024-066-1  Содержание  Вперед на стр. 024-066-3


 

Хакер №024. Спецвыпуск


ПУТЕВОДИТЕЛЬ

Спецвыпуск Xakep, номер #024, стр. 024-066-3

DNS ТУННЕЛИ

А теперь возьмем другой вариант, когда провайдер открыл пользователям тестовый доступ только на свои странички. То есть пользователь дозванивается в интернет и может смотреть странички провайдера, а вот смотреть другие странички не дает файрвол.

И в таком случае хакер не унывает, поскольку он может использовать протокол DNS (Domain Name Service). Этот протокол используется для определения IP-адреса по имени странички. Обычно не очень грамотный провайдер этот протокол не фильтрует и можно отправить DNS-запрос любому серверу в интернете. Поэтому хакер вешает на бесплатном сервере в сети скрипт-робот, который претворяется DNS-сервером. А на самом деле в DNS запросах содержится самый обычный Интернет-трафик. Получился туннель TCP/IP over DNS.

Культовая статья о возможностях туннелирования DNS на сайте: http://list.nfr.com/pipermail/firewall-wizards/2000-September/009091.html

Инструменты для DNS tunneling: http://nstx.dereference.de/

На русском: http://tj.ru/cgi-bin/engine.cgi?tj2;8450315;1;

HTTP ТУННЕЛИ

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

В таком случае самые обычные сотрудники (не хакеры) пользуются WEB-гейтами. Сейчас можно получить доступ к Ирке, Аське и конечно к мылу через WEB-интерфейс. В таком случае получается ICQ/IRC/e-mail over HTTP. И это опять туннель.

А теперь допустим, что хакеру понадобилось проникнуть через файрволл с разрешенным протоколом HTTP. Понятно, что через HTTP хакер может проложить любой тоннель.

О HTTP туннелировании можно узнать подробнее и качнуть необходимый софт здесь: http://www.htthost.com/ (или просто перевернуть страницу :)).

ICMP ТУННЕЛИ

Принцип туннелирования прост, ведь каждый протокол несет в своем теле какую-то полезную информацию. То есть у всех протоколов в том или ином виде должно быть информационное поле, в которое этот полезный груз записывается. Такие поля можно найти даже в протоколе ICMP (Internet Control Message Protocol). Если ты помнишь, эхо запросы и эхо ответы могут содержать специальные тестовые пакеты, для тестирования качества соединения. Так вот вместо этих пакетов хакеры научились подставлять пакеты TCP/IP. Обычно если файрвол позволяет пинговать компьютеры расположенные за ним, то он позволит проложить ICMP-туннель. Обычно этот метод хакеры используют для обхода файрволов при взломе серьезных серверов.

ICMP туннели и софт для них на сайте: http://www.phrack.com/show.php?p=51&a=6

О возможностях использования ICMP-прохода: http://www.iss.net/security_center/static/1452.php

ACK ТУННЕЛИ

А что же делать хакеру, если попался начитанный администратор, который сумел закрыть на файрволе возможности тунелирования SMTP, HTTP, DNS, ICMP? Для этого он разработал очень сложные правила фильтрования пакетов, и теперь файрвол пропускает пакеты в зависимости от кучи параметров, а также файрвол не дает установить соединение по определенным адресам.

Назад на стр. 024-066-2  Содержание  Вперед на стр. 024-066-4


 

Хакер №024. Спецвыпуск


ПУТЕВОДИТЕЛЬ

Спецвыпуск Xakep, номер #024, стр. 024-066-4

Так вот, многие файрволы фильтруют в основном SYN пакеты. Дело в том, что для установления TCP/IP соединения станции должны пройти через процесс тройного рукопожатия и обменяться SYN пакетами. SYN - от слова synchronization, то есть две станции пытаются синхронизоваться (договориться о передачи данных друг другу). После того, как соединение установлено, пакетам присваивается статус ACK - от слова acknowledge. То есть после процесса синхронизации TCP/IP - соединение считается известным (acknowledge). Так думает файрвол, пропуская ACK TCP пакеты. Ведь если мы все проверили на стадии соединения (SYN), то логично предположить, что после того как соединение установлено, пакеты (ACK) идут правильные. Если файрвол начнет проверять ВСЕ пакеты идущие через него, то он надорвется. То есть нужен очень мощный компьютер, который бы проверял бы все пакеты.

Все, что остается хакеру, это научить своих злобных программных роботов устанавливать TCP/IP соединение без использования пакетов SYN, а пользуясь только ACK. Вот и получается, что такие пакеты свободно проходят через большинство файрволов.

На этом сайте можно прочитать более подробно о таких туннелях и качнуть пример трояна с этой технологией http://ntsecurity.nu/papers/acktunneling/

На русском (перевод): http://hack.com.ua/article.php?story=20020131004352991&mode=print

КАК ФАЙРВОЛЫ СПАСАЮТ ОТ ТРОЯНОВ

Многие умники ставят себе домашние файрволы и считают себя полностью защищенными от Троянских коней. А теперь давай вместе посмеемся над ними, представив представив себе Троянца с механизмом туннелирования. Собственно представлять его не надо, посколько таких написано в изобилии.

TCP/IP over X.25

И смех и грех. Некоторые считают, что поставить файрвол недостаточно. Необходимо сделать сами сети защищенными, по защищенному стандарту. Отчасти поэтому банковские сети построены по более надежной технологии X.25, не совместимой с TCP/IP.

Но и тут спасает туннелирование. Используя технологию TCP/IP over X.25 многие хакеры сидят на халяву в интернете через банковские сети. Для этого они звонят на модемные пулы сети X.25 предназначенные для банкоматов, и удаленных банковских отделений. Такие пулы есть практически во всем мире. Используя простенький софт можно иметь конечно тормозной, но надежный доступ в интернет. Не удивительно, что часто банкоматы не могут дозвониться на свои пулы X.25, ведь хакеры сидят в инете именно через них.

Подробнее о переоборудовании банковских сетей под халявный хакерский инет можно узнать на сайте http://ahtuxpuct.fromru.com/free/free.htm.

ПИРСИНГ ФАЙРВОЛА

Пользователи, которые имеют логин на сервере с файрволом могут проложить туннель через терминалы. Для этого необходим простой софт, который позволит копировать TCP/IP трафик в терминал. Необходимо два терминала, один открытый в сеть интернет, другой в сеть пользователя. Копирование данных между этими терминалами легко осуществимо.

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


 

Хакер №024. Спецвыпуск


ПУТЕВОДИТЕЛЬ

Спецвыпуск Xakep, номер #024, стр. 024-066-5

Чтобы открыть терминал извне понадобиться программа-робот на бесплатном сервере, которая удаленно откроет терминал и будет преобразовывать текстовую информацию снова в TCP/IP трафик.

Инструменты для пирсинга файрвла http://fare.tunes.org/files/fwprc/

Пирсинг файрвола на русском (перевод): http://www.linuxdoc.ru/HOWTO/mini/html/Firewall-Piercing.html

ЗАКЛЮЧЕНИЕ

Туннелирование - настолько разнообразная технология, что с помощью нее можно обойти любой, даже самый зверский, мощный, и интеллектуальный файрвол. Просто запомни магическое словечко over, потом задумайся над тем какие протоколы на файрволе разрешены. Достаточно набрать в строке поисковой машины "IP over DNS" или "IP over [разрешенный на файрволе протокол]", и хакер получит сотню ссылок на легкие способы обхода файрволов!

Назад на стр. 024-066-4  Содержание


 

Хакер №024. Спецвыпуск


ПРИКЛАДНОЕ ТУННЕЛИРОВАНИЕ

httpTunnel для win32

Спецвыпуск Xakep, номер #024, стр. 024-070-1

Андрей "Дронич" Михайлюк (dronich@real.xakep.ru)

Ну что, комарад, прочел изыскания нашей любимой Матушки Лени на тему туннелирования? Слюнки, поди, потекли? Конечно, имея два компа с никсами по обе стороны файрволла, можно обойти его в два счета. Даже средств дополнительных не понадобится, усе уже включено :). Только вот хрена лысого ты такой расклад получишь в реальном лайфе...

Гораздо чаще встречается более банальная ситуевина: на работе корпоративная сетка под винтукеем, где админ-извращенец запретил все, кроме НТТР, а дома (или не совсем дома) - шельчик на богом забытом сервачке где-то на Гавайях. А хочется-то и аськи, и ирки, и МР3шками в Казее (или еще каком гнутеллоподобном клиенте) покидаться. Вот для решения таких банальных проблем хороший человек накатал забавную прожку - httpTunnel. Умеет она только одно - аккуратно паковать и форвардить чужой трафик, а самое главное... Самое главное в том, что версий этой проги имеется целая куча, под все никсы и винды. Что ноздрями-то зашевелил? Учуял чего? Точно, это же очень неплохой способ решения нашей застарелой проблемы :).

КОГО ИМЕЕМ

Наше патентованное средство для натягивания админа состоит, как водится, из двух независимых частей. Первая работает клиентом и ставится на той тачке, с которой нужен доступ во внешнюю сеть по запрещенному протоколу (проще говоря, на участке сети, защищенном брэндмауэром). Вторая же должна жить снаружи файрволла на шелле или твоем домашнем компе (если он, конечно, перманентно подрублен к нету). Фишка в том, что тебе абсолютно неважно, под какие платформы реализованы отдельные части - клиент под винтукеем вполне ладит с сервером под BSD. Так что проблем с реализацией туннеля в жизни быть не должно.

Давай рассмотрим самый простой вариант - нужно упаковать в протокол НТТР трафик твоего Мирка. То есть нужна связь с сервером irc.haxorz.com, порт 7000, организовать которую путем подпаивания админа не удалось :). Для этого придется конфигурить обе части httpTunnel.

ТЕОРИЯ

Прежде чем браться за консоль, давай прикинем, что именно и как именно мы хотим замутить. Посмотри на рисунок, он наглядно отображает нашу текущую ситуацию. Файрволл сконфигурен так, чтобы пропускать только НТТР-трафик, идущий на восьмидесятый порт. Как ты видишь, гадкий ИЕ без проблем соединяется с веб-сервером и даже качает с него какую-то Клю. А вот запрос от Мирка был нахально отклонен :(, так как его целевой порт 7000.

А теперь в нашей игре участвуют два компонента httpTunnel (на картинке они изображены синими кружочками). Запросы Мирка идут не на irc.haxorz.com, а на клиентскую часть httpTunnel, которая перепаковывает их и засылает на shell.server.com. А там их уже дожидается наш сервер, перенаправляющий весь трафик от клиента на irc.haxorz.com. Вроде все просто, посмотрим, как связать сервер с клиентом и заставить их работать на благо хитрого юзера (т.е. тебя).

СЕРВЕР

На шелле мы запускаем серверную часть в виде демона, заставляя ее ждать коннекта на восьмидесятом порту и форвардить весь поступивший трафик (а также не забывать принимать ответный) на наш ирковый сервак. Выглядит это вот так:

Содержание  Вперед на стр. 024-070-2


 

Хакер №024. Спецвыпуск


ПРИКЛАДНОЕ ТУННЕЛИРОВАНИЕ

httpTunnel для win32

Спецвыпуск Xakep, номер #024, стр. 024-070-2

hts -F irc.haxorz.com:7000 80

Начнем разборку нестандартно - с конца :). Последним параметром всегда идет номер порта, используемого для соединения клиента и сервера. Так как мы маскируемся под НТТР, пусть порт будет 80 - стандартный для этого протокола. В параметре -F указываются сервер и порт для редиректа, это, думаю, понятно без разъяснений. Другие возможные варианты перенаправления: "-d название_устройства", когда трафик кидается на другой сетевой интерфейс, или "-s" - когда для перенаправления используются стандартные stdin-stdout (правда, для этого сервер нужно будет запускать не демоном, а обычным процессом).

КЛИЕНТ

Теперь займемся клиентом. Если ты еще помнишь, он должен обволакивать мирковый траф и отправлять его серверу. Для этого на своем компе тебе придется запустить такой процесс:

htc -F 6666 shell.server.com:80

Здесь все с точностью до наоборот: в параметре "-F" указывается порт, трафик с которого пойдет к серверу, а последний параметр отвечает за адрес и порт этого злосчастного сервака. Разумеется, замена на "-d" и "-s" тоже остается в силе.

Другое дело, если корпоративный файрволл не просто просматривает трафик, а заодно отрабатывает программу проксика. В этом случае количество промежуточных соединений возрастает (прога -> клиент httpTunnel -> прокси -> сервер httpTunnel -> ирковый сервер). Для того чтобы наш туннель без проблем пролезал через прокси, командную строку клиента нужно проапгрейдить до следующего вида:

htc -P proxy.company.ru:80 -F 6666 shell.server.com:80

И все! Админы натянуты, траф ползет без препятствий.

ФИЧИ

Для любителей поизвращаться у ttpTunnel есть туча параметров, которые стоит выставить при неидеальных условиях для туннелинга. Краткий их обзор:

для клиента:

-A USER:PASSWORD

пользователь и пароль для не анонимных проксиков (при условии, что прокси уже указан в -Р);

-z FILE

та же фигня, только для авторизации используется файл;

-B BYTES

размер буфера прокси в байтах (понимает цифры типа 56К и 1М);

-c BYTES

выставляет content-length для запросов;

-M SECONDS

максимальное время соединения;

-T SECONDS

выставляет тайм-аут для соединения;

-U STRING

задает строку user-agent (если админ решит пропускать только ИЕ);

для обоих:

-k SECONDS

посылает keepalive-запросы раз в SECONDS (по дефолту 5);

-s

прописывать content-length во все пакеты;

-w

не уходить в бэкграунд после запуска.

ФИНИТА

Туннель помогает пройти сквозь корпоративный, но не сквозь персональный файрволл. Однако при тестировании выяснилось, что персональники видят соединения клиента, но не предпринимают никаких действий к их завершению (игнорируют, проще говоря). Так что у сказочки может быть не просто счастливый, а гиперсчастливый КОНЕЦ!

Назад на стр. 024-070-1  Содержание


 

Хакер №024. Спецвыпуск


SYSTEM PANIC

игры бывалых кодеров

Спецвыпуск Xakep, номер #024, стр. 024-072-1

Ты часто споришь со своими друзьями, кто из вас лучший кодер? Ты ломал программы на время, пытаясь доказать всем свое мастерство? Нет? Хммм... Значит, эта статья не для тебя. А всем нормальным мучачосам я поведаю сагу о новом направлении компьютерного андеграунда - "System Panic".

КАК ЭТО ВОЗНИКЛО?

Где-то в 2001 году жила-была группа программистов "Angry Activity", и занимались они написанием программ на заказ. Так бы все и продолжалось, если бы однажды ни пришел заказ на игру... Все должно было быть предельно просто - игра, обучающая детей программировать. Все предполагалось реализовать в виде трехмерной игры о войне роботов. Прикол в том, что игровым процессом надо было управлять не с помощью мышки и клавы! Все действия роботов определялись алгоритмами, которые должны были разрабатывать ученики. А ты что думал, играть можно только руками? ;). Это все равно, что писать ботов под кваку, с одной только разницей: язык, на котором будут создаваться алгоритмы воюющих роботов, должен быть очень гибким. Учитываться должно было все: скорость, оптимальность, etc. Заказчик исчез, но наши программеры настолько увлеклись этой идеей, что продолжали работать. Вся проблема была в выборе языка, синтаксис которого будет основой для скриптов управления роботами. И тут кому-то в голову пришла идея, которая по сути и поменяла направление развития этой игры. А идея была проста: есть программа, которая отображает роботов (по сути это судья), и два робота, реализованных в виде DLL (то есть проблема с выбором языка исчезла!), имеющих одинаковые основные функции. Получилось так, что каждый джедай мог кодить своего убийцу на известном ему языке программирования. Единственное условие - это обязательное наличие некоторых функций для их совместимости с судьей. Сразу же начались разработки, и через два дня были уже скомпилированы два робота и скелет игры. Они достигли того, чего хотели: гибкость кода на высоте, скорость робота зависит только от скорости кода, так как роботы запускались одновременно в разных процессах. Ну и как положено, все это дело они обмыли и решили пойти сделать парочку... хе-хе, роботов! :) и посражаться... В жестокой схватке, сделав тройное сальто, один боец нанес удар кончиком меча в левое ухо другого, с той стороны на кото... ой, чего-то я увлекся :). Так вот, ко всеобщему удивлению победил самый простой и тупой код! Как потом оказалось, робот, который выиграл, просто тормозил все остальные процессы, а себе увеличил приоритет по максимуму... Он их хакнул, или мне только кажется? :).

ЧТО ЭТО ТАКОЕ?

Если перевести на великий и могучий, "System Panic" - это системная паника или паника системы, кому как нравится :). Почему такое название, ты скоро поймешь... Это своеобразная игра впервые была проведена в чистом виде весной 2002 года. Срок достаточно небольшой, так что вы еще успеваете быть одним из первых чемпионов! В ней принимают участие две соревнующиеся программы, цель которых банальна - уничтожить противника. Ну что, загорелись глазки? Больше нет никаких роботов, есть два екзешника, не знающих ничего друг о друге, и полчаса игрового времени. Два процесса, соревнующихся за жизнь. Это словно закрыть двух вооруженных ниндзя в темной комнате с мебелью и заставить их убить друг друга. Представляешь, во что это превратится? Погибнут невинные стульчики, кресла :). Малейший шорох, и все...

Содержание  Вперед на стр. 024-072-2


 

Хакер №024. Спецвыпуск


SYSTEM PANIC

игры бывалых кодеров

Спецвыпуск Xakep, номер #024, стр. 024-072-2

НЕМНОГО О КРЕСЛАХ, В СМЫСЛЕ - О ПРАВИЛАХ

Все происходит в Windows, хотя встречались бои и в Linux. Программы должны иметь права админа/рута (нужное подчеркнуть). В автозагрузку прописывается программа-судья, которая запускает участников в первый раз. Дальнейший запуск они должны обеспечить себе сами. Бой длится 30 мин, после чего комп нагло (по резету) перезагружается. После загрузки программа-судья по процессам определяет, какой из участников выиграл. И выводит сообщение типа "Выиграл участник с id=n", где n - это номер, который должна вернуть программа-участник на специфическое сообщение GM_GETID.

Насколько бы ни была жестока игра, правила в ней все-таки есть:

1. Система должна работать

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

2. Судья это святое

Если остановлен процесс судьи или после перезагрузки он куда-то странным образом исчез :/, то наказание то же, что и в первом случае.

3. Все остальное можно

Можно делать все, исключая вещи, указанные в первых двух пунктах. Заменять файлы, ставить хуки, перезагружать!.. Без вопросов! Можно ВСЕ! Это война, подскажите мне, не про это ли писали фантасты? Война компьютеров, захват территории, борьба за выживание, а если к этому прибавить искусственный интеллект? Это круто! Что бы ни говорили скептики, практика игры "System Panic" - лучший способ повысить качество троянов и вирей. Это опасно, а значит - для нас. Может хоть это развлечение не даст умереть вирмейкерской сцене и троянописателям.

Информация к размышлению: как это происходит в элитных тусовках...

1. На компьютере-жертве (место, где происходит бой) устанавливается несколько антивирусов, как правило, не меньше 2-х. Тот, кого заметят эти доблестные хранители спокойствия, автоматически проиграл.

2. Ведется один лог, куда оба виря пишут о своих действиях, чтобы потом можно было определить, где код провтыкал, а где достиг 100%. Обычно под него отводится один диск на 30 метров. Такая себе история войны :).

3. В момент сражения программы-участники делают разные графические выкрутасы с логотипом группы, получается, что они борются и за видеопространство. Но чаще всего этот вопрос решается несколькими путями, или они меняются экраном по времени, или делят именно куски экрана! Это уже решают программисты-участники.

4. Программа должна умещаться на дискету в виде одного файла.

Вот, в общем-то, и все. И напоследок лог (сокращенный) одного боя:

[12:01] судья: Стартуют два участника: ds421b_4.exe и iv_haos2.exe.

[12:01] ds421b_4.exe: Установка HOOK на реестр.

Назад на стр. 024-072-1  Содержание  Вперед на стр. 024-072-3


 

Хакер №024. Спецвыпуск


SYSTEM PANIC

игры бывалых кодеров

Спецвыпуск Xakep, номер #024, стр. 024-072-3

[12:01] iv_haos2.exe: Запись в реестр RUN.

[12:01] ds421b_4.exe: Запись в реестр RUN.

[12:02] ds421b_4.exe: Перезагрузка...

[12:05] iv_haos2.exe: Включен.

[12:05] ds421b_4.exe: Включен.

[12:05] iv_haos2.exe: Запись в реестр RUN.

[12:05] ds421b_4.exe: Попытка записи в реестр iv_haos2.exe.

[12:05] iv_haos2.exe: Ошибка.

[12:05] ds421b_4.exe: Проверка на существование такой записи в реестре. Найдена. Удалена.

[12:06] ds421b_4.exe: Нахождение процесса. Убивание.

[12:06] iv_haos2.exe: Выход. Попытка восстановления...

[12:06] iv_haos2.exe: ОК.

[12:06] ds421b_4.exe: Ошибка. Нахождение процесса. Убивание. Перезагрузка...

[12:10] ds421b_4.exe: Включен.

[12:10] ds421b_4.exe: Удаление iv_haos2.exe

[12:10] ds421b_4.exe: Сканирование винчестера на файлы, созданные после 12:01.

[12:23] ds421b_4.exe: Найдено 47. Удалено 46.

[12:30] iv_haos2.exe: Восстановлен с помощью программы Sheduler. Перезагрузка.

[12:30] iv_haos2.exe: DOS: Удаление с реестра всего, кроме судьи.

[12:35] Судья: Победа за iv_haos2.exe.

P.S.: Поскольку игра достаточно новая, ресурсов, посвященных ей, в Инете не имеется, хотя в узких кругах ходят слухи, что буржуи грозятся открыть сайт по этому ВИДУ СПОРТА. Кто знает, может именно ты и станешь чемпионом!

Назад на стр. 024-072-2  Содержание


 

Хакер №024. Спецвыпуск


ИНФА ПО ФАЙРВОЛЛИНГУ В СЕТИ

это стоит почитать

Спецвыпуск Xakep, номер #024, стр. 024-074-1

Frozen (frozen@real.xakep.ru)

На повестке дня у нас сегодня серьезные вещи, и тебе, как всегда, нужна информация, ссылки на которую я с радостью и предоставляю. Так что читай вдумчиво, скачивай быстро, взламывай осторожно, и да пребудет с тобой root.

http://www.cyberinfo.ru/6/94_1.htm

Ты собрался иметь по полной комп, на котором стоит фаерволл? Молодец! Но я думаю, что прежде чем заняться таким увлекательным делом, тебе следует немного разобраться в том, как же этот самый фаерволл работает, тогда будет гораздо проще его... хм, обойти :). А поможет в этом небольшая статейка по линку выше. Если честно, то небольшой прогруз тебе точно обеспечен, а без понимания протокола TCP/IP лучше ее вообще не читать, ведь "статья ориентирована на системных администраторов среднего уровня подготовленности", а сам автор является аналитиком безопасности. Зато тут тебе вкратце растолкуют, как работает фаерволл и по какому принципу он отсеивает одни пакеты и пропускает другие. В конце статьи есть даже пара прог на перле для тестирования фаерволла. В общем, если ты не сильно сечешь в принципах функционирования межсетевых экранов (но сечешь в протоколах), то тебе будет очень полезно почитать этот материал.

http://piorio.supereva.it/backstealth.htm?p

Обязательно зайди на этот сайт, где наш "брат по оружию" - итальянский хакер Paolo Iorio - объясняет, как действительно незаметно для окружающих обойти фаерволл. И в виде бонуса предлагается качнуть демо-прогу, в которой реализованы на практике все теоретические сведения! Эта небольшая тулзенка может незаметно для нескольких гигантов защиты скачать текстовый файлик с поздравлениями, что секьюрность твоего компа - откровенная лажа. Немного огорчает то, что если фиглиша ты не знаешь, то и понять ничего не сможешь (зато есть альтернативный вариант - на итальянском %)).

http://blackzone.h1.ru

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

http://kobayashi.cjb.net

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

http://www.knurr.ru/proj/solutions/experience.html

А по этой ссылке ты найдешь небольшой талмудик с рассказом про защиту сети, а также страшную историю о том, как всю организованную безопасность могут расковырять злые хацкеры с нехорошими намерениями. В общем-то, особого напряга при прочтении ты не ощутишь, и, похоже, что все это изложено для начинающих админов, рвущихся в бой с компьютерными преступниками. Но все же прочитать стоит, иногда попадаются очень полезные сведения, а наличие картинок и схем, наглядно показывающих работу сети, не может не радовать.

Содержание  Вперед на стр. 024-074-2


 

Хакер №024. Спецвыпуск


ИНФА ПО ФАЙРВОЛЛИНГУ В СЕТИ

это стоит почитать

Спецвыпуск Xakep, номер #024, стр. 024-074-2

http://rtfm.vn.ua/inet/sec/nist/index.htm

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

http://www.securityfocus.com

Ты не можешь не знать этот адрес, но я все-таки скажу про этот архиклевый ресурс, ведь здесь собрана одна из самых богатых коллекций всяческих багов и дырок (точнее - их описаний :)). Когда я ввел в поиск багтрака слово "firewall", на меня вылилось такое количество ссылок, что выплыл я из-под них только к утру :). Вещь, однозначно, хорошая, только поиск немного подтормаживает (и дизайн стремный - поиск искал минуты две, наверное :)).

http://www.lib.ru/SECURITY/

Хех, не раз, наверное, ты закачивал книженции из либы товарисча Мошкова, но знаешь ли ты, что здесь присутствует и интересная нам сегодня тема - фаерволлы. Тут столько книг и ссылок на различные источники с информацией, что хватит на очччень долгое чтение, причем присутствует и море инфы по обходу и ломанию этих самых фаерволлов. Дезигна, конечно, нету никакого, даже о задании фона странице веб-мастер не позаботился :), но все, бесспорно, восполняется самым бесценным в нашей жизни - информацией.

http://www.enteract.com/~lspitz/intrusion.html

Отличная статья по настройке политики безопасности системы и отслеживанию атак. Простым и понятным языком автор рассказывает об этих сложных вещах. В материале рассказывается, как по логам фаерволла определить попытку вторжения на комп. Объясняется все на примере FireWall-1 и в конце даже прилагается небольшой скриптик для отсылки почты при попытках атаки на хост. Инфа на фиглише, но один русский хацкер взял да и перевел столь полезный материальчик - читай на http://www.void.ru/content/684.

http://www.rfc-editor.org/rfc/rfc793.txt

Ну и напоследок я тебе скажу - учи теорию, которой на сегодня является RFC793. Это спецификация протокола TCP, то есть правила общения, по которым компы коннектятся друг с другом. А если ты знаешь правила, то их легко можно нарушить или слегка поменять... под себя :), и не каждый фаерволл выдержит такой мощный напор, сложив лапки перед тобой - всемогущим сотрясателем тверди сетевой :).

Назад на стр. 024-074-1  Содержание


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-1

тестирование пишущих DVD-приводов

test_lab (test_lab@gameland.ru)

Когда-то информацию хранили на перфокартах, и простенькая программка на ассемблере весила несколько килограммов бумаги. После перехода на магнитную ленту все стали ходить с бобинами. И, наконец, появились дискетки! Сначала они были размером с виниловую пластинку (восемь дюймов), потом с тетрадку (пять дюймов) и, наконец, 3,5 дюйма. При этом размер уменьшался, а объем хранимой на диске информации увеличивался.

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

И, наконец, та же история происходит с видео: сначала мучались с кинопленкой (некоторые мучаются до сих пор), потом переползли на магнитную пленку и, наконец, решили переходить на оптические диски. Но видео занимает в несколько раз больше места, чем аудио! Поэтому пришлось на обычном компакт-диске (CD) увеличить плотность в несколько раз, так появился DVD - Digital Video Disk. Почему пошли именно таким путем? Во-первых, можно недорого переналадить производство компакт-дисков на видеодиски, во-вторых, можно недорого переделать оборудование под компакт-диски, и, в-третьих, оптика на сегодняшний день самый надежный и неприхотливый способ хранения информации. Естественно, после того как получилось впихнуть на компакт-диск видео, дошло дело до компьютеров. Многим уже нужна вместительная дискетка на 4,5 Гигабайта. После внедрения в компьютерную область DVD стали называть Digital Versatile Disk, то есть универсальный цифровой диск.

ТИПЫ DVD

DVD-ROM (Read Only Memory) - диск, который отпечатали на заводе, перезаписать его нельзя. В этом формате продаются диски с фильмами. DVD-ROM умеют проигрывать бытовые DVD-плееры, их умеют читать компьютерные дисководы.

DVD-RAM (Random Access Memory) - одни из первых DVD-дисков, которые можно записывать на компьютере. Преимущество в том, что болванки достаточно дешевые, и их можно перезаписывать много раз. Сейчас постепенно вымирают из-за плохой совместимости с DVD-ROM. То есть и те и другие - DVD, только на DVD-ROM не посмотришь DVD-RAM, а на DVD-RAM не прочитаешь DVD-ROM.

DVD-R/RW (Recordable/ReWritable) - подобно CD-R/RW записываемые и перезаписываемые диски. DVD-R можно записать только один раз, а DVD-RW можно записывать и стирать как дискетку около тысячи раз. Этот стандарт разработал DVD-форум. Его сторонники считают, что он менее глючный, потому что разрабатывался и тестировался много лет. А еще они считают, что он идеально совместим с большинством DVD-плееров, то есть DVD-R/RW можно совать вместо DVD-ROM в обычный бытовой DVD-плеер. Подробнее об этих ребятах ты узнаешь на сайте: http://www.dvdforum.org.

Содержание  Вперед на стр. 024-078-2


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-2

DVD+R/RW - то же самое, что DVD-R/RW, только разработанный другими ребятами-конкурентами: DVD-альянсом, который живет на сайте http://www.dvdrw.com. Несколько крупных фирм взбунтовались против форума и придумали свой стандарт. И они также считают, что их DVD+R/RW полезет в обычный DVD-плеер. Стандарт очень молодой, в нем встречаются глюки, зато устройства DVD+R/RW на сегодняшний день более скоростные.

Это как раз тот случай, когда конкуренция вредна для потребителя, ведь плюсовые DVD RW обычно несовместимы с минусовыми. То есть, если у тебя пишущий DVD с плюсом, а у твоего друга с минусом, то меняться дисками вы, скорее всего, не сможете!

КАК НЕ ОСТАТЬСЯ В ДУРАКАХ ПРИ ПОКУПКЕ DVD?

Современный DVD RW прежде всего должен хорошо читать обычные CD и DVD. Также он обязательно должен уметь записывать не только DVD, но и CD. Допустим, ты купил пишущий DVD, а у твоего друга есть только CD-дисковод. Если тебя не обманули, то твой DVD RW запишет и обычную CD-R/RW болванку. Базовые возможности можно проверить программой Nero InfoTool, эта программа покажет всю инфу о дисководе. Качество чтения CD можно проверить Nero CDSpeed, а DVD - Nero DVDSpeed. Эти три программки ты можешь скачать бесплатно с сайта http://www.cdspeed2000.com. Они занимают 1 мегабайт в распакованном виде и влезут на дискетку, которую ты можешь прихватить с собой в компьютерный магазин. На сайте они лежат в запакованном виде (500 кило). Мы использовали эти программы в нашем тестировании, разобраться в них легко.

Asus DVR-104

По документации Asus читает CD-ROM, CD-R, CD-RW с максимальной скоростью 24Х, DVD-ROM читает со скоростью 6Х, DVD-R, DVD+R, DVD-RW, DVD+RW читает со скоростью 2X. Умеет записывать DVD-R(2X), DVD-RW(1X), CD-R(8X), CD-RW(4X).

В комплект входят диски DVD-RW, DV-R и программа для записи Nero Burning Room NERO Burning ROM версии 5.5.8, а также драйвера, шлейфы и болты. То есть сразу после покупки ты можешь приступить к записи DVD.

Asus - машина тихоходная, поэтому шумит не сильно. Во время поиска трека чуть-чуть поскрипывает.

Плохой CD-ROM

Смотрим на картинку: зеленая ветка - Transfer Rate - то есть скорость считывания данных, а желтая ветка - скорость вращения диска. В поле Speed мы видим Average (среднюю) скорость передачи данных, начальную и конечную. Дисковод работает в режиме CAV (Constant Angular Velocity), то есть с постоянной угловой скоростью. Оттого и график такой - желтая линия прямая - то есть диск вращается с постоянной скоростью. А зеленая линия - скорость передачи данных растет, это потому, что ближе к краю диска радиус больше, и за то же время лазер проходит большую поверхность, то есть больше успевает считать. Так скорость передачи разгоняется с восьми до восемнадцати Х. График гладкий, а в среднем выходит 13Х. То есть проблем с чтением китайских CD у Asus нет! Только дисковод отжирает аж 25% производительности (CPU usage) нашего Pintium-4.

Хороший CD-ROM

Теперь вставляем нормальный диск и видим, что какая-то разница есть: средняя скорость поднялась до 18Х, а процессор разгрузился до 14%. В обоих случаях ближе к краю Asus разогнался до обещанных 24Х. Параметр Seek time показывает время поиска нужного трека. Rendom - время поиска случайного трека, 1/3 - время поиска на дорожки в трети диска, которая ближе к краю, и full - полное время поиска трека. Это время показывает, сколько тебе нужно подождать, прежде чем дисковод найдет нужную дорожку, а значит нужный файл. У оптических дисков это время большое - поэтому они тормозят при частом обращении к разным файлам.

Назад на стр. 024-078-1  Содержание  Вперед на стр. 024-078-3


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-3

Запись и чтение CD-RW

На приводе Asus мы записали диск CD-RW и решили протестировать, как он сам его будет читать. И что же мы видим? Дисководу почти все равно, какие диски читать. Любые CD Asus читает уверенно! И еще Asus записал болванку так, что она читается без проблем. То есть он не только хорошо читает, но и неплохо пишет перезаписываемые диски.

Чтение DVD-ROM

Для того чтобы протестировать качество считывания DVD, мы использовали качественный DVD-ROM с фильмом "Микрокосмос". График плавный, дисковод разгоняется до обещанных 6Х. Не удивительно, что сам фильм на компьютере смотреть одно удовольствие - никаких проблем.

Запись и чтение DVD-RW

На этом примере видно, как дисковод работает в режиме CLV, то есть скорость вращения диска подстраивается под луч лазера так, чтобы луч пробегал информационные ячейки с постоянной линейной скоростью (Constant Linear Velocity). То есть чем дальше лазерный луч от центра диска, тем медленнее этот диск вращается. Поэтому зеленая линия (скорость считывания не меняется), а желтая линия (скорость вращения диска) уменьшается по мере движения луча от центра. Дисковод автоматически переключается в этот вражеский режим, как только почует внутри DVD-RW. Казалось бы, какая разница, DVD-ROM или DVD-RW? Но нет! Тот же "Микрокосмос", закатанный на DVD-RW, читается с неизменной скоростью 2Х. Но вот записывать его пришлось со скоростью 1Х без малого ЧАС!

Чтение DVD+RW

Привод хорош тем, что умеет читать не только родные DVD-RW, но и поддерживает чтения стандарта конкурентов DVD+RW. Причем, как можешь убедиться, читает его как родной, на постоянной вражеской скорости 2Х. Естественно, фильм можно посмотреть на компьютере, без каких-либо трудностей. Эту болванку мы записали на дисководе Philips. Не очень понятно, почему "Микрокосмос" подрос где-то на Гигабайт, видимо, это связано с реализацией стандарта DVD+RW. Кстати, это не значит, что фильм занял дополнительный гиг. Просто так видит DVDSpeed, а на самом деле там пусто и можно еще что-нибудь записать!

Кстати, если ты приглядишься, то сможешь увидеть в заголовке прошивку версии v1.20. На сайте http://www.firmware.com можно слить более свежую прошивку версии v1.32. Кстати, там же можно найти софт для отключения защиты от пиратов ;).

Вывод

Asus DVR-104 производит впечатление надежного продукта. Со всеми обещанными функциями справляется, да еще и совместим с конкурирующим стандартом. Одинаково хорошо справляется с чтением различных CD и DVD, записывает их корректно. Об этом дисководе можно сказать: "Медленно, но верно".

Назад на стр. 024-078-2  Содержание  Вперед на стр. 024-078-4


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-4

Philips DVDRW228 (НОВИНКА)

Philips DVDRW228 обладает прикольным дизайном - моргает лампочками как новогодняя елка. Одна лампочка загорается, когда внутри CD, а другая - когда внутри DVD. Посередине находится лампа, которая горит красным, когда Philips пишет, и синим, когда читает.

Дисковод обещает записывать CD со скоростью 12Х, а читать со скоростью 32Х. DVD собирается записывать со скоростью 2,4Х, а читать со скоростью 8Х.

Кстати, при этих операциях Philips насвистывает, поскрипывает, гудит и вибрирует, не удивительно, ведь скорости-то большие!

В комплекте две болванки (CD+RW и CD+R), софт для записи дисков и проигрывания DVD, шнуры, винты.

Плохой CD-ROM

Вставляем заюзанный китайский диск и что же мы видим? Видим мы ломанную! Так работает метод P-CAV (Partial Constant Angular Velocity), т.е. дисковод пытается быстренько разогнаться до высокой скорости передачи данных, а потом поддерживать ее в постоянном режиме. То есть это комбинация CAV и CLV методов. Однако диск глючный, и скорость приходится сбрасывать. Весь выигрыш теряется - вместо обещанных 32Х удается разогнаться только до 24Х, а потом снова приходится ее сбросить. Так что средняя скорость не намного выше Asus'овского привода, всего 16X. Плохие компакты Philips DVDRW228 читает неважно!

Хороший CD-ROM

Другое дело - качественный диск. Тут, переключившись на метод CAV, мы спокойно разгоняемся до обещанных 32X. А средняя скорость получается 24X. Очень хорошо, только процессор загрузил на 47%, и стоит такой гул, что уши вянут :(.

Запись и чтение CD-RW

Болваночку зарезали очень быстро, все файлы на ней читаются. Запускаем Nero CDSpeed, бабах: неустранимая ошибка. Стираем диск, записываем снова, и снова ошибка в другом месте. Стираем, записываем на другом дисководе, все хорошо. Стираем, записываем на этом, и снова ошибка. Приходится сделать вывод, что Philips к работе с компакт-дисками приспособлен плохо. Возможно, неустранимая ошибка связана с конкретным диском или с багами программы, но у остальных дисководов почему-то никаких трудностей не возникает.

Хороший DVD-ROM

Ох, тяжела судьба сотрудников тестовой лаборатории, в который раз уже смотрим этот "Микрокосмос", наизусть уже выучили! Но ничего не поделаешь, нужно тестировать все дисководы на одном диске. Все очень хорошо, только до обещанных 8Х разогнаться не успели.

Запись и чтение DVD+RW

Наконец-то закатывание на болванку очередной нелегальной копии "Микрокосмоса" стало делом нескольких минут. И снова смотрим фильм, и снова идеальная картинка DVD. В силу особенностей формата DVD+RW добавился лишний гиг, на нем-то Philips и сумел разогнаться до обещанных 8Х. Заметь, пожалуйста, что 8Х при чтении DVD-RW намного веселее, чем 2X.

Выводы

Итак, Philips DVDRW228 самый шумный из протестированных, очень быстрый, но не аккуратный. С чтением плохих компактов у него проблемы, с чтением CD, которые сам же и записал, тоже "неустранимые" сложности. Однако файлы прочитать удавалось. Работа с DVD на пять с плюсом - очень быстро и очень качественно. Тем, кто нацелен только на DVD, рекомендуем.

Назад на стр. 024-078-3  Содержание  Вперед на стр. 024-078-5


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-5

Pioneer DVR-104 (BEST BUY)

Pioneer читает CD-ROM, CD-R, CD-RW с максимальной скоростью 24Х, DVD-ROM читает со скоростью 6Х, DVD-R, DVD+R, DVD-RW, DVD+RW читает со скоростью 2X. Умеет записывать DVD-R(2X), DVD-RW(1X), CD-R(8X), CD-RW(4X). Нам на растерзание достался OEM'ный девайс, поэтому в комплекте кроме целлофанового пакета больше ничего не было ;).

Этот DVD'шный комбайн почему-то во время чтения немного поскрипывает. Ну это уже как привыкнешь – каждый юзер приспосабливается к фоновому шуму, издаваемому его железом, и через некоторое время перестает его замечать ;). А так шума совсем немного.

Плохой CD-ROM

С некачественным диском справляется хорошо - почти так же, как 32Х скоростной Philips. Даже на уродливом диске разгоняется до положенных 24X.

Хороший CD-ROM

Этот дисковод не делит компакты на хорошие и плохие, все считываются одинаково хорошо, с разгоном до обещанной скорости 24Х. А с новой прошивкой удается меньше загружать процессор.

Чтение и запись CD-RW

Болванка хорошо нарезается, хорошо читается, с нормальной скоростью. Привод отлично работает с CD-дисками :).

Чтение DVD

На очередном считывании и просмотре "Микрокосмоса" Pioneer так же, как и Asus, все-таки чуть-чуть не успевает разогнаться до 6Х. А так все великолепно.

Запись и чтение DVD-RW

И вот опять на запись фильма "Микрокосмос" ушло около часа. Все-таки час это очень много! При чтении дисковод снова переключается в свой любимый тормозной режим CLV на скорости 2Х.

Чтение DVD+RW

Формат конкурентов читается с такой же легкостью, как родной, но с той же ненавистно низкой скоростью 2Х. Этот диск мы записали на Ricoh с глюком реализации DVD+RW, поэтому вместо того, чтобы просканировать последний пустой гигабайт, DVDSpeed выдает ошибку чтения сразу после 3,5 Гигабайт "Микрокосмоса". К сожалению, эта ошибка не помешала нам в который раз посмотреть фильм "Микрокосмос" с отменным качеством :).

Вывод

Pioneer DVR-104 - отличное решение для дома, так как он недорогой, поддерживает чтение обоих конкурирующих форматов DVD RW и надежно пишет DVD-RW и CD-RW. В домашних условиях тормознутость можно терпеть: поставил на запись и пошел спать/есть/заниматься своими делами.

Ricoh MP5125A (OUR CHOICE)

Ricoh MP5125A отличается особой скромностью, ведь это самый тихий DVD RW в нашем тестировании, хотя работает с немалыми скоростями. По документации он должен читать DVD со скоростью 8Х, а записывать со скоростью 2.4Х. СD Ricoh обещает записывать с максимальной скоростью 12Х, а читать со скоростью 32Х.

Плохой CD-ROM

Ура! Происходит чтение левого сидюка с рекордно высокой скоростью 22Х, правда процессор загрузился не слабо :(.

Хороший CD-ROM

Качественный диск позволяет поднять среднюю скорость до крейсерской 24Х, но при этом враг ничего не услышит, так как DVD-привод работает очень тихо.

Чтение и запись CD-RW

Болванка корректно записывается и так же корректно читается на высокой скорости, получается, что Ricoh очень хорошо приспособлен к записи и воспроизведению любых компакт-дисков.

Назад на стр. 024-078-4  Содержание  Вперед на стр. 024-078-6


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-6

Чтение DVD

Чтение DVD проходит великолепно, имеем обещанные 8Х. Всех уже заколебавший "Микрокосмос" радует буйством красок и четкостью картинки.

Чтение и запись DVD+RW

Запись проходит корректно и быстро, но во время сканирования регулярно появляется небольшой баг. Как только DVDSpeed преодолевает поверхность, занятую "Микрокосмосом", оно выдает ошибку чтения, вместо того чтобы продолжить сканировать пустой гигабайт либо остановиться. Вероятно, все дело в том, что в память залита древнющая прошивка v1.06, когда уже давно имеется v.1.38. Однако просмотру DVD и другим операциям это совсем не мешает. Скорее баг давно уже исправлен, нужно только залить новую прошивку.

Вывод

Мы бы выбрали такой DVD RW, поскольку постоянно приходится работать с большими объемами данных: фотографии, картинки, верстка, игры. Все это занимает очень много места. Кстати, верстка Спеца, имхо, не влезает на CD-R, а вот на DVD-R уместилось бы, наверное, целых две. И, конечно, для нас важно время, часто нужно что-то записать очень быстро. Немаловажно, что Ricoh MP5125A отлично работает с CD, поскольку DVD пока есть не у всех. А небольшой баг мы бы быстро вылечили сменой прошивки :).

ИТОГИ

Мы протестировали массу параметров: от доступности треков до времени открытия лотка. Однако самые важные параметры для наглядности сведены в графики.

Средние скорости чтения плохого сидирома, хорошего сидирома и перезаписываемого. Особо отличился Philips, который не смог прочитать CD-ROM, который сам записал. Лучше всех Ricoh, Pioneer и Asus демонстрируют надежную работу.

На этом графике фирменный DVD с "Микрокосмосом" все читает почти с одинаковой скоростью. Братья Pioneer и Asus снижают скорость чтения записываемых дисков до 2Х. Зато они поддерживают оба DVD-формата - как плюс, так и минус. То есть если у тебя такой замечательный привод, то ты всегда сможешь прочитать диск, принесенный твоим другом. Для домашних дисководов это большой плюс.

Это просто слезный график, тут зафиксировано, как ненавистный "Микрокосмос" писался аж 47 минут. Причем "Микрокосмос" занимает только 3,5 Гигабайта, а представь, сколько будут писаться 4,5 Гигабайта. Человеческой жизни на это не хватит!

Это тестирование подтвердило старые истины, еще со времен первых CD-R/RW дисководов:

1. Совместимость очень важна, все любят дискетки из-за того, что можно прийти с ними куда угодно и там найдется устройство считывания. (Фиг! Новые маки поставляются сейчас без флопов! Правда, я еще ни одного нового мака нигде не видел... :) - прим. ред.) Уже можно взять простенький DVD-ROM (который ТОЛЬКО читает DVD и СD) для компьютера за 30-60 баксов, а простенький DVD-плеер для подключения к телевизору обойдется баксов в 80. Все чаще DVD-ROM включают в комплектацию новых компьютеров. Так что если у тебя будет пишущий DVD, ты в скором времени его сможешь считать/проиграть где угодно.

2. Объем очень важен. Все ненавидят дискетки за то, что они маленькие и легко портятся. На DVD-R/RW+R/RW влезает 4,7 гигабайта, причем эта цифра обещает подрасти. И потом они очень долговечны. Кроме того, все популярнее становятся цифровые видеокамеры - логично хранить цифровые видеозаписи на цифровом диске, а не на ненадежной пленке с потерей качества.

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


 

Хакер №024. Спецвыпуск


КОМБАЙНЫ DVD

Спецвыпуск Xakep, номер #024, стр. 024-078-7

3. Качество очень приятно. Сравнивать рядовой DVD с рядовой видеокассетой - то же самое, что сравнивать граммофонную пластинку с компакт-диском. DVD намного четче и ярче, у него больше разрешение, у него пятиканальный звук.

4. Новые носители требуют новых ресурсов. Чтобы проигрывать DVD на компьютере, нужен мощный процессор не меньше Pentium-3 500mhz, не меньше 256 метров памяти. А чтобы работать с записью собственного видео на DVD, необходимо минимум 5 гигабайт свободного пространства на диске.

5. Любые попытки создать антипиратскую/антихакерскую систему рождают массовые приступы пиратства. Для каждого из протестированных DVDRW на сайте http://www.firmware.com нашлась прошивка, снимающая ограничение на проигрывание дисков, привезенных из других стран. Любая школьница без особых навыков и затрат сможет тиражировать дома DVD-диски.

Назад на стр. 024-078-6  Содержание


 

Хакер №024. Спецвыпуск


EXPERIENCE TWEAKER

твикеры для XP

Спецвыпуск Xakep, номер #024, стр. 024-084-1

Казарьян Карен aka Kirion (kirion@winfo.org, http://www.winfo.org)

Это произошло полгода назад. После очередного падения миллениума я решил поставить ХР. "Ну будет тормозить, ну и черт с ним, зато в стабильности прибавится, да и найдем, как его подстроить под себя", - так я тогда думал. Ну и подстроил :). А ты? Все еще наблюдаешь за красивыми синими окошками и сглаженным шрифтом? И как скорость? Мдя... тяжелый случай :). Если хорошая - можешь дальше не читать (и вообще, вали отсюда, буржуй :)). Остальные - засучите рукава. Работа предстоит немаленькая...

ЗАЧЕМ НАМ РУКИ?

Писать про тотальную настройку ХР - дело неблагодарное. Слишком уж много опций - все-таки видно родство с win2k. Поэтому нас интересуют только скорость и удобство работы с ХР, остальное оставим сисадминам (нет уж, не отмазывайся - не оставим сисадминам, а просто отложим до следующего раза :) - прим. ред.). Что надо сделать в первую очередь? Красота, как известно, требует жертв, так что верни классический интерфейс и отруби все эффекты (система > дополнительно > быстродействие > обеспечить наилучшее быстродействие). Кажется, что связь стала медленнее - отруби QoS (выполнить > gpedit.msc > конфигурация компьютера > административные шаблоны > сеть > диспетчер пакетов QoS > ограничить резервируемую пропускную способность). Отруби лишние службы, восстановление системы, журнал событий. Не бойся потратить день на настройку системы - потом это окупится быстрой и безглючной работой. Ну и поставь твикеры. Какие - ты спросишь? Ну вот хотя бы...

ЗАЧЕМ НАМ ПРОГИ?

Одним из первых настройщиков-украшателей для ХР был пакет PowerToys от самих мелко-мягких. Сам понимаешь, чего-то феноменального от этого продукта ждать не приходится, хотя несколько полезных фишек все-таки есть. Во-первых, TweakUI - не так плох, кое-что полезное в нем есть. Во-вторых, продвинутый калькулятор тоже может пригодиться (не mathcad, конечно, но графики рисует неплохо). В-третьих, кому-то могут пригодиться виртуальные рабочие столы, кому-то генератор слайд-шоу, а лично я привык к замене alt-tab. Когда по нажатию этих клавиш появляются не только значки программ, но и превьюшка окна - это очень удобно. Качаем? С того же сайта (download.microsoft.com) можно скачать BootVis. Обещают уменьшение скорости загрузки чуть ли не в два раза. Качай, в хозяйстве пригодится.

Кстати, ты знаешь, что за нами шпионят? Нет!? Тогда срочно качай XP-antispy (www.xp-antispy.de) и отрубай все гадости :). Их тут достаточно много: от удаления надоевшего MS Messenger и автообновлений до активации WinXP. Только аккуратно: читай сноски и не удаляй все подряд: некоторые настройки назад можно вернуть только с переустановкой виндов. Я тебя предупредил :).

Ну что, винды больше не предлагают отправить отчет об ошибке? Тогда приступаем к более серьезной настройке. Лезем на www.totalidea.com и качаем TweakXP. Последняя версия на момент написания статьи - 2.0. Триальной версии хватит только на 30 запусков, хотя за это время реально настроить все, что нужно. Да и не мне тебя учить, как покупаются проги :). Что нам предлагают разработчики? Всего пять закладок: "System performance", "Tricks and tweaks", "Utilities", "Internet tweaks" и "Help and settings". Рассмотрим по порядку. В первом блоке меня больше всего заинтересовал "Cache optimization" - других нормальных способов выставить объем кэша под ХР я не знаю. Пригодится и чистильщик памяти: не фонтан, конечно, зато все рядом. В железных настройках тоже ничего примечательного, разве что оптимизация под тип процессора (что при этом конкретно меняется, хотелось бы мне узнать). Можешь еще заглянуть в "Unnecessary files" и удалить некоторые компоненты виндов, чтоб не мешались, и перелезай на следующую закладку. Да, здесь уже намного больше полезного. Как вылезешь из дебрей "Windows tweaks" (а полезняшек там много), обрати внимание на "auto-logon". Тебе не лень каждый раз вводить пароль при загрузке? Тогда поставь автоматический вход в систему, благо переключиться на другого пользователя можно очень быстро (Win+L, если кто не знает). Можешь заглянуть в "MinimizerXP" - это реклама еще одного продукта. Небольшая программка добавляет значок для сворачивания окна в трей. Жалко, что нельзя делать это по горячей клавише, надеюсь, это сделают в новых версиях. А, тебе не надоела папка "Documents and settings"? Тогда тебе прямая дорога в "System folders", и прописывай свои пути к системным папкам. Можешь еще попрятать диски, ярлыки в пуске и панели управления и выбрать тип сглаживания шрифта (а лучше его вообще отрубить, чтоб не тормозило), и перелезаем на следующий блок. "Windows utilites" - сноски на все ходовые виндовые утилиты (я полагаю, ты и не подозревал, что их так много в поставке ХР :)). "File renamer" - если тебе приходилось сталкиваться с проблемой переименования нескольких сотен файлов, ты оценишь эту функцию. "File shredder" - эта фишка теперь стала популярной, видимо параноиков все больше :). Удаляет файлы без возможности восстановления. "Password generator" - а вот такую фишку вижу в первый раз. Тебе нужен генератор паролей? Тогда могу тебя обрадовать, здесь он довольно хороший. Ни за что не запомнишь :). Мамы могут заглянуть в "Program Censorship" и отрубить ребенку возможность играться, пока он не сделает домашнее задание. Данная фича отрубает запуск указанных программ. До кучи можно запретить доступ к некоторым папкам в "Folder protection", синхронизировать время и поставить будильник на отключение компа. А вот в "Registry cleaner" и "DiskDrive doctor" лезть не надо - я уже рассказывал про проги, которые справляются с этими задачами намного лучше. Параноики залезут в "Internet tweaks", почистят хистори, кэш ослика и печенье. Борцы за траффик включат блокировку баннеров и popup'ов. Короче, работы всем хватит :).

Содержание  Вперед на стр. 024-084-2


 

Хакер №024. Спецвыпуск


EXPERIENCE TWEAKER

твикеры для XP

Спецвыпуск Xakep, номер #024, стр. 024-084-2

Ну, как прога? А между прочим, это только ОДИН из лучших твикеров для ХР. А вот другой лидер проживает на www.tweaknow.com и отзывается на CustomizerXP. На первый взгляд программы очень похожи, разве что интерфейс у Customizer попроще. На второй взгляд понимаешь, что у TweakXP немного больше функций. Сам посуди: такие же настройки интерфейса, настройки Интернета, менюшек, удаление программ, запрет на запуск программ и пути к системным папкам. Разве что в поставку идет обрезанная версия Ram idle (разработчик один и тот же), да и списка процессов в TweakXP нет. Конечно, можно сделать скидку на то, что версия TweakXP совсем свежая, а вот CustomizerXP не очень (новая версия имеет статус release candidat). Так что сам выбирай, чем пользоваться, но я за TweakXP. Тем более, что для нее легче найти кряк :). В конце концов, конкуренция полезна потребителю, может разработчики чего-нибудь достойное и родят. А пока что прогам развиваться и развиваться...

Назад на стр. 024-084-1  Содержание  Вперед на стр. 024-084-3


 

Хакер №024. Спецвыпуск


EXPERIENCE TWEAKER

твикеры для XP

Спецвыпуск Xakep, номер #024, стр. 024-084-3

ЗАЧЕМ НАМ МОЗГИ?

Как видишь, ситуация с твикерами не такая уж и плохая. Программ под ХР выходит все больше и больше, и среди них просто обязаны быть полезные фишки и настройки. А если вспомнить, что для такого монстра, как X-Setup (www.xteq.com), постоянно выходят новые плагины, в том числе и с настройками под ХР, то задача тотальной оптимизации становится вполне по силам каждому. Правда, придется перерыть все твикеры, часто из-за какой-нибудь одной уникальной функции, до которой не дошли руки у других производителей. Но таким маньякам, как мы, это вполне по силам :). Стабильной системы тебе, и не забудь поставить SP1!

Назад на стр. 024-084-2  Содержание


 

Хакер №024. Спецвыпуск


BORN TO DEFRAG дефрагментация нестандартными методами

Карен Казарьян aka Kirion

Спецвыпуск Xakep, номер #024, стр. 024-086-1

(kirion@winfo.org), http://www.winfo.org

Ненавижу жесткие диски! Они неудобные, их стремно носить с собой, они шумят и греются и они ОЧЕНЬ медленные. Когда же появится быстрый и удобный носитель информации, который не будет тормозить всю систему? Жесткие диски увеличиваются в объеме, но никак не в быстродействии. Мечты, мечты... а придется пока потерпеть и выжимать из диска все, на что он способен. Что там у нас еще можно сделать? Про кэш уже рассказали, будем мучить дефрагментацию!

DRIVE ANALYSE

Лоскутное одеяло - вот самое правильное определение для состояния информации на диске. Ни для кого не секрет, что данные записываются на диск достаточно хаотично - чтобы запись шла быстрее. Хотя FAT и использует алгоритмы оптимизации, фрагментация накапливается быстро и катастрофически влияет на производительность. В NTFS все лучше, но только пока на диске достаточно свободного места. При заполнении диска более чем на 80% фрагментация начинает расти с очень большой скоростью. Мало того, большая часть программ, в том числе и стандартный дефрагментатор виндов, не умеет нормально работать с NTFS-разделами: всему виной API дефрагментации от Microsoft. Тем более, что стандартная прога работает очень медленно, так зачем же вообще ее использовать? К сожалению, программ этого класса совсем немного, хотя есть и стоящие. За эталон возьмем, пожалуй, Norton Speed Disk - самый известный дефрагментатор, кстати, долгое время бывший единственным, кто умел нормально работать с NTFS. Прога должна работать достаточно быстро, иметь настройки использования ресурсов и средства автоматизации. И еще - тестировать дефрагментаторы в равных условиях очень сложно: где я найду столько дисков :), так что далее изложены мои субъективные впечатления за несколько месяцев работы. Если не согласен с результатами - попробуй доказать обратное, мы открыты для критики :). Ну, поехали что ли...

PRESS ANY KEY TO START

Первой прогой в обзоре должен был идти Diskeeper от Execsoft (www.exectsoft.com). На сайте долго рекламировались его непревзойденные возможности, даже работа по технологии клиент-сервер (не пойму, зачем это и как это реализовано) (это для админов, чтоб дефрагментировать диски всех машин в сети, не отрывая зада от любимого кресла; а работает очень просто: установил на всех тачках серверные части проги, а с помощью клиентской части, установленной на админский комп, удаленно управляешь тулзой-дефрагментатором - прим. ред.). Но... честно выкачав 20 с лишним мегов, я не смог установить программу. Так что оставляю это тебе, амиго, только учти, что у тебя должен стоять MMC (на 2000\ХР он есть по умолчанию, остальные качают с www.microsoft.com). Ну а мы с неприятным осадком перейдем к O&O Defrag Professional Edition (www.oo-software.com). Как тебе название, а :). По рекламе прога очень похожа на Diskeeper: опять MMC, работа в сети, замена стандартной программы и работа из командной строки. Посмотрим, что она может на самом деле. Налицо достаточно богатые настройки: тут и отжираемые для процесса ресурсы, проверка диска, включение и исключение файлов и директорий из дефрагментации, автоматическая дефрагментация. Очень интересно выглядит опция "Boot-time defragmentation". Дело в том, что к некоторым файлам (своп, MFT-зона, реестр и журнальные файлы) нельзя получить доступ во время работы. При выборе этой опции они будут дефрагментироваться при загрузке компа. Мало того, сюда можно включить любой файл (лучше, конечно, достаточно большой). Так, разработчики советуют включать сюда базы данных - весьма мудрое решение, по-моему. В программе заданы несколько режимов дефрагментации: "stealth" - не очень эффективный, зато потребляющий мало ресурсов; "space" - достаточно эффективный, но только при наличии достаточного свободного места на диске; "COMPLETE/Access" - медленный, но эффективный, файлы сортируются по времени последнего доступа; "COMPLETE/Date" - то же самое, только файлы сортируются по времени последней модификации; "COMPLETE/Name" - то же самое, хорошо для системных дисков. Не обошлось и без планировщика задач, достаточно мощного и удобного. Ну, запустим что ли... Первое впечатление - медленно. Непростительно медленно. Особенно добивает анализ диска. Нет, это, конечно, лучше, чем встроенный дефрагментатор, но до нашего эталона проге далеко. Итак, оцениваем: по скорости работы прога уступает эталону, по функциональности слегка превосходит. Но с учетом, что продукт коммерческий, - могло бы быть и лучше. В результате - Norton Speed Disk лучше, чем O&O, да и найти его проще (Горбушка рулез форева :)).

Содержание  Вперед на стр. 024-086-2


 

Хакер №024. Спецвыпуск


BORN TO DEFRAG дефрагментация нестандартными методами

Карен Казарьян aka Kirion

Спецвыпуск Xakep, номер #024, стр. 024-086-2

Ну, что у нас дальше... Как-то раз, читая NoName (www.nnm.ru, обязательно зайди, если не был), я наткнулся на описание какого-то дефрагментатора, работающего под ХР и win2k, с соответствующим названием - VoptXP. Быстренько слив ее себе, я обнаружил, что моя коллекция софта пополнилась замечательной программой. Чем она меня покорила? Ну, давай быстренько беги на www.goldenbow.com и качай 3 мега удовольствия :). Интерфейс, конечно, невзрачный, но не суди по первому взгляду. Залезем в опции aka preferences. На первом месте идет batch defrag - отмечаешь диски для оптимизации, ставишь галочку на "shutdown after defrag", дальше лезем в меню "file > clean restart", там ставим галочку на "Batch defrag" и идем спать :). Винда перезагрузится без лишних прог и запустит дефрагментацию, а после выключится. Правда удобно? Хотя спать идти не обязательно: программа работает быстрее, чем наш эталон. В это сложно поверить, но это действительно так. Тем более, что прога прекрасно умеет работать с NTFS, умеет справляться со специфическими проблемами фрагментации MFT ("tools > tuneup >MFT"), умеет сжимать диски после фрагментации (только ХР, "preferences > defragment"), умеет исключать и включать файлы по пути и по размеру (там же), оптимизировать файл подкачки ("tools > virtual memory"), проверять диск на ошибки ("tools > error checking"). Кроме того, у проги есть полезные, хотя и не очень нужные функции, как то: список процессов и открытых окон, подключения по сети и открытые порты, скорость передачи инфы на диске и состояние памяти (все в меню "status"). Ну и уж совсем непонятно, как в программе очутились: поиск файлов, чистилка диска, кое-какие настройки системы и Интернета, ссылки на утилиты виндов (все в меню "tools"). Нет, я не спорю, это удобно, но зачем? Зачем впихивать в программу лишние функции? Как начнешь думать, что если бы программисты потратили время не на эти фишки, а на убыстрение дефрагментации, например, то получился бы просто реактивный дефрагментатор :). А так - просто самый быстрый из всех мне известных. Что еще можно сказать? Вот оптимизация файла подкачки в 2к\ХР работает достаточно хреново: винды не позволяют к нему обращаться во время работы, приходится пару раз ребутаться. Да и кинуть своп в начало диска тоже не получится, но это уже вина виндов, а не VoptXP. Ну, еще можно придраться к простенькому менеджеру заданий aka shedule, хотя лично я им редко пользуюсь, но вообще-то это недоработка. Блин, к чему бы еще придраться :). Короче, ты понял, бегом иди, качай VoptXp (благо лекарство к ней найти несложно) и наслаждайся...

Назад на стр. 024-086-1  Содержание  Вперед на стр. 024-086-3


 

Хакер №024. Спецвыпуск


BORN TO DEFRAG дефрагментация нестандартными методами

Карен Казарьян aka Kirion

Спецвыпуск Xakep, номер #024, стр. 024-086-3

FRAGLIMIT

VoptXp - программа, которую должен иметь каждый продвинутый пользователь. Просто удивительно, как шароварка смогла наголову побить маститых коммерческих конкурентов. Старичок Speed disk, ты нам хорошо послужил, можешь отправляться на покой. Symantec, не хотите нанять этих программеров? :). Ну а мы на сегодня, пожалуй, закончим, а то мой бедный (хорошо, что не badный :)) хард дефрагментировали и забивали заново за сегодня уже раз 7, уже светает потихоньку :). Пойду спать что ли, а во сне мне будет сниться супер-быстрый винт :). Удачи!

Назад на стр. 024-086-2  Содержание


 

Хакер №024. Спецвыпуск


][-desktop

stickers

Спецвыпуск Xakep, номер #024, стр. 024-088-1

ilich (ilich@winfo.org, http://www.winfo.org)

АПДЕЙТИМ МЕНЮ

Вспомни, парень, называл ли ты кого-нибудь из своих знакомых "vasya_pupkin@mail.ru" или "maria75891@gala.net"? А тебя так называли? Сомневаюсь. Не хочешь ли в нашем флешевском меню мыльников сделать ссылки в виде одних ников (имен, габаритов, серийных номеров - нужное подчеркнуть :))? Хочешь, но не знаешь - как? Тогда слушай сюда.

В файлик "mail.txt", где лежат мыла, тем же макаром, что и сами E-mail адреса, добавляй соответствующие им ники, записав их в переменные "nick1", "nick2" и т.д. Только не перепутай! Нику в переменной "nick742" должен соответствовать именно мыльник "text742", иначе в очередном письме ты расскажешь о своих эксгибиционистских наклонностях своему боссу на рабочий E-mail. Хотя тебе (извращенцу - экстремалу), я думаю, это было бы только в кайф :).

Во флешке делай следующее. Зайди в редактирование клипа "C - Mailer" и в скриптах для четвертого кадра (это именно там, где верстается меню) строчку

this["list"+i].text=this["text"+i];

замени на

this["list"+i].text=this["nick"+i];

this["list"+i].mail=this["text"+i];

Переменная "mail" клипа "list"+i создастся автоматически, и в нее мы сохраняем мыло чела. На кнопки выводится то, что ты написал в текстовике в качестве ников.

Теперь в клипушнике "C - List" в скрипте для кнопки исправь переменную "text" на "mail".

Вот и все. Ctrl+Enter.

КЛЕЙ

Как поживает твоя хацкерская память? Ты помнишь все тэги, операторы и пароли, которые хоть раз в жизни попадались тебе на глаза. Но регулярно забываешь похавать, выгулять любимого попугайчика по кличке "F1" и хотя бы на пять минут в сутки освободить телефон, дабы напрячь опорно-двигательную систему, вручную (!!!) набрать чей-нибудь номер, читая при этом любимый журнальчик :). Специально для таких (ну, в принципе, и для других тоже) клинических случаев было создано великое множество лекарств - всяких разных прог, время от времени или постоянно говорящих тебе о своем проживании на компе, чтобы о чем-то напомнить. И да создадим мы во Flash'e стикеры, чтобы опосля ты узрел их на своем мониторе и вспомнил то, чего ты даже и не знал! Если ты только что из роддома, стикер (от англ. sticker - наклейка) - это, скажем так, наклейка :), содержащая, как правило, какую-то важную инфу, которая лепится на экране (виртуально, разумеется) и висит там, предоставляя тебе легкий доступ к своему контенту. Короче говоря, это те самые разноцветные бумажки, которые все так любят лепить на свои мониторы, только виртуальные.

Первым делом создавай флешку таких размеров, чтобы она заняла на экране все оставшееся после меню место (у меня 524Х768). На главной (т.е. у основной Сцены) временной шкале сделай два слоя: верхний, как всегда, для ActionScript; нижний - для всего остального. В первый вводи:

var i=0;

stop();

Если ты видишь Flash первый раз в жизни, объясню. var создает новую переменную "i" и присваивает ей начальное значение. Переменные основной сцены фактически являются глобальными, хотя Flash - это мудрая штука. Здесь все переменные какого-либо объекта являются, типа того, его полями (беспредел :)), а т.е. при знании точного расположения какого-либо мувика можно откуда угодно пользоваться его переменными. Команда stop() останавливает проигрывание мувика. Это нужно потому, что Flash склонен проигрывать по кругу бесконечно мувик с одним-единственным кадром, что нам здесь мешает.

Содержание  Вперед на стр. 024-088-2


 

Хакер №024. Спецвыпуск


][-desktop

stickers

Спецвыпуск Xakep, номер #024, стр. 024-088-2

ЭЛЕМЕНТЫ КЛЕЯ

Сделай новую кнопочку (Ctrl+F8) "B - NewSticker". Не трудно догадаться, как будет использована эта кнопка. Располагай ее в нижнем слое основной сцены и задавай для нее скрипт:

on (press) {

_root.i++;

_root.st.duplicateMovieClip("st"+_root.i, _root.i);

this["st"+_root.i]._x = 0;

this["st"+_root.i]._y = 0;

}

Это значит, что с каждым нажатием на новоиспеченную кнопочку у нас будет сделана копия клипа "st" (о нем попозже). Эта копия будет расположена в левом верхнем углу флешки на глубине _root.i (о глубине тоже попозже).

Теперь надо бы забацать сам стикер. Объясню вкратце, что он будет собой представлять.

Фактически это будет маленькое окошко с шапкой (на которой есть кнопочка удаления стикера и за которую этот стикер можно таскать по экрану) и большим текстовым полем для ввода контента будущих воспоминаний. Сделай новый мувик "C - Sticker". Расположи его на том же слое, что и кнопочка создания нового стикера, только обязательно (повторяю - обязательно!) вынеси его за пределы Рабочей области: во время проигрывания swf-ки этот мувик не должен быть виден. Нарисуй прямоугольник для фона стикера. Учитывая специфику выполняемых работ, советую применять яркие, бросающиеся в глаза цвета, особенно для заголовка (хотя я, например, прекрасно различаю и полутона... :)). Выдели этот прямоугольник и загони его в мувик "C - StickerFon". В панели Копия (Instance) задай ему имя "fon". Ровно над прямоугольником растяни текстовое поле, в Параметрах текста для которого укажи: тип - Input Text, multiline (не забудь поставить галочку, чтобы текст переносился на новую строку), имя переменной - "t". Это будет текстовое поле, в которое можно будет написать тучу всякой дряни, которую ты боишься забыть. Очевидно, что тип Input Text дает возможность ввода текста с клавы во время проигрывания swf-ки. В остальном этот тип - то же самое, что Dynamic Text.

Делаем шапку стикера. Это будет кнопка "B - StickerHead" (вся шапка) и маленькая кнопочка "B - StickerClose" (это будет кнопка для удаления стикера - такие кнопки размещаются, как правило, в правой части шапки :)). Размещай их над (в смысле выше... в сторону потолка) текстовым полем так, чтобы все это дело походило на выньдовское окошко. Выделяй все это и позиционируй так, чтобы центр Рабочей области был в левом верхнем углу шапки. Советую разнести все элементы стикера по разным слоям - размер флешки от этого изменится несущественно, но зато работать в таких условиях с набором объектов, превышающем два, гораздо удобнее.

Для "B - StickerHead" вставляй скрипт:

on (press) {

//comments 1

j = 1;

while (j<_root.i) {

if (_name == ("st"+j)) {

_root["st"+j].swapDepths(_root["st"+(j+1)]);

Назад на стр. 024-088-1  Содержание  Вперед на стр. 024-088-3


 

Хакер №024. Спецвыпуск


][-desktop

stickers

Спецвыпуск Xakep, номер #024, стр. 024-088-3

_name = "temp";

_root["st"+(j+1)]._name = "st"+j;

_name = "st"+(j+1);

}

j++;

}

//comments 2

startDrag("");

}

on (release, releaseOutside) {

stopDrag();

}

В принципе, практически все - за исключением того, что находится между комментариями, - тебе должно быть известно (при нажатии начинаем таскать мувик, при отпускании кнопки бросаем. Я использовал не только просто отпускание, но и отпускание за пределами кнопки из-за того, что startDrag() не обеспечивает безукоризненного следования мувика за курсором: если тачка тормозит, а с руками у тебя вдруг ни с того ни с сего приключилась большая трясучка, клип может просто не поспевать за мышой). Этого хватило бы для вполне успешного использования данных стикеров кому угодно, но не тебе.

Как ты помнишь, каждая копия мувика "st" (именно так будет называться клип стикера) располагается на новой глубине (новом уровне), ибо на одной глубине может располагаться лишь один клип :(. Не буду вдаваться в детали, короче говоря, практически это выглядит так, что каждый вновь созданный стикер у тебя будет над остальными. Т.е. задавая мувику глубину, ты на самом деле указываешь его высоту. Основная сцена находится на нулевом уровне, именно поэтому отсчет глубин для новых стикеров мы ведем, начиная с единицы. Что происходит у тебя на экране, когда ты в Виндах кликаешь по неактивному окну, наполовину скрытому другими окнами? Оно становится активным, самым верхним.

Так вот, скрипт, помещенный между комментариями, делает с нашими стикерами приблизительно то же самое. А делает он это следующим извращенным способом. Если ты обратил внимание, имя копии стикера состоит из двух частей: имени предка - "st" и номера. Вначале это был просто порядковый номер, чтобы различать имена клипов, а здесь мы его используем чуть-чуть по-другому. Ведь он совпадает с глубиной, на которой находится соответствующий клип. Вот здесь дали о себе знать мой воспаленный долгим компьютеризированным времяпрепровождением мозг и моя врожденная тяга к извращенному. Я сомневаюсь, что ты когда-нибудь сделаешь у себя на Рабочем столе настолько большое число стикеров, чтобы хотя бы наполовину приблизиться к максимально допустимому числу мувиков во Flash ролике. Поэтому достаточно было бы просто вынести конкретный выделяемый мувик на самую большую глубину (например, root.i+1).

Я даже вначале и хотел было так и сделать. Но потом я все же решил, что из нас двоих не я самый большой извращенец - вдруг ты и правда после прочтения данного материала приступишь к активным кликам в области Рабочего стола :). И решил слои на всякий случай экономить. Кусок кода между комментариями переносит текущий (т.е. тот, на шапке которого кликнули) клип на самый верхний уровень (_root.i), оставляя при этом порядок остальных клипов неизменным.

Для кнопки "B - StickerClose" вводи:

on (press) {

this.removeMovieClip()

}

Думаю, это тебе знакомо. Удаляется клип, в котором вызван скрипт, т.е. текущий стикер. Здесь можно было бы тоже сэкономить на слоях и отсортировать стикеры по глубинам так, чтобы усе было чики-пики, т.е. рационально. Попробуй сделать это самостоятельно и (если получится :)) пришли мне.

Назад на стр. 024-088-2  Содержание  Вперед на стр. 024-088-4


 

Хакер №024. Спецвыпуск


][-desktop

stickers

Спецвыпуск Xakep, номер #024, стр. 024-088-4

Копию клипа "C - Sticker" на Рабочей области основной сцены обзови, как было условленно, "st" и вынеси за ее границу.

КРАСИВЫЙ КЛЕЙ

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

Вернись в редактирование скриптов для кнопки "B - StickerHead" и добавь туда перед startDrag("") фишку:

_alpha=100;

fon._alpha=0;

gotoAndPlay(1).

Далее могу тебе предложить два пути развития мувика "C - Sticker": сделать проверку условия неактивного выжидания стикера в зацикленных кадрах (так, как делали расползание фона для меню в прошлой swf-ке) или просто растянуть первый кадр на N кадров (из расчета, сколько именно секунд мувик должен просто висеть). Я искренне надеюсь, что ты такой же, как и я, сторонник безразмерного увеличения геморройности любого начинания, а посему выберешь работу с ActionScript в зацикленных кадрах :). Именно это я сейчас и буду описывать, ибо второй способ я тебе уже описал (подробнее о нем и не расскажешь :)), да к тому же лично мне он конкретно не нравится (неприятно так сильно временную шкалу прокручивать :) - а крутить при скорости двенадцать кадров в секунду надо будет не один метр).

Итак, создавай для скриптов новый слой в мувике стикера. Расположи его, как обычно, самым верхним. В первом кадре обнулим переменную счетчика времени:

time=0;

Во втором пиши:

time++;

if (time>7200) {

// из расчета, что у тебя стоит скорость 12 кадров в секунду, это будет 10 минут

gotoAndPlay(4);

}

В третьем:

gotoAndPlay(2);

В четвертом и шестом:

_alpha=0;

В пятом:

_alpha=100;

fon._alpha=0;

В седьмом:

gotoAndPlay(4);

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

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

Назад на стр. 024-088-3  Содержание  Вперед на стр. 024-088-5


 

Хакер №024. Спецвыпуск


][-desktop

stickers

Спецвыпуск Xakep, номер #024, стр. 024-088-5

Ну что ж, вот теперь у тебя уж точно самый информативный Рабочий стол :). Далее будем его украшать.

И да пребудет с тобой Великий Flash!

Назад на стр. 024-088-4  Содержание