Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
20.04.2024
Размер:
17.68 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Процесс установки программы обычно проходит без проблем. Могу дать хороший совет: если устанавливаешь Serv-U впервые, то лучше ничего не трогай и тупо жми на кнопку Next. И без твоего вмешательства все по умолчанию установится в лучшем виде ;). В случае установки на NT-based операционную систему, серверная часть программы сразу же начнет свою работу в качестве сервиса, который будет автоматически запускаться при загрузке системы.

Для контроля над серверной частью, как и говорилось ранее, применяется специ-

альный административный интерфейс. Чтобы добраться до него, дважды кликни по появившейся после установки кислотно-зеле- ной иконке в трее. Обилие опций и вкладок поначалу пугает, но когда освоишься, то поймешь, что интерфейс программы реализован весьма разумно. В крайнем случае, ты всегда можешь пойти на www.4ru.info/ServU.htm

и скачать оттуда патч-русификатор.

ПРИСТУПАЕМ К НАСТРОЙКЕ

Облегчить освоение Serv-U поможет специальный мастер, который стартует параллельно с основной программой. Именно он произведет первоначальную настройку файлового сервера. Первые вопросы мастера, возможно, покажутся тебе бредовыми. Не волнуйся - они и в самом деле бредовые :). Бесхитростно кликай по кнопке Next до тех пор, пока не появится окно с заголовком Your IP address. Сделал? Отлично.

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

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

После появления вышеупомянутого окна начинается процесс создания домена. Первый его шаг - указание IP-адреса FTP-сервера. Если ты его не знаешь (детям давно пора спать!) или имеешь динамический (назначается ли он диалап-провайдером или DHCP-сервером - не

Так выглядит мастер создания домена

ОСНОВНЫЕ КОМАНДЫ

Êрасивый удобный интерфейс - большое дело! Однако любой продвинутый товарищ должен уметь работать и со стандарт-

ным консольным FTP-клиентом (он есть и в windows, и в *nixbased системах). Конечно, это невозможно без знания элементарных команд FTP-протокола:

open имя_сервера - коннект к серверу

cd имя_директории - сменить каталог

dir - выдать список файлов

get имя_файла [имя_локального_файла] - скачать файл

put имя_файла [имя_удаленного_файла] - залить файл на сервер

ascii - устанавливает ascii-способ передачи файлов. Используется для пересылки текстовых файлов

binary - устанавливает двоичный способ пересылки файлов. Рекомендуем

help - справка

close - закрыть соединение с сервером

quit - выход из FTP-клиента

Если ты работаешь в виндах, кликни "Пуск", выбери "Выполнить", набери "FTP", нажми "Enter" и потренируйся :).

FTP ПОД КОНТРОЛЕМ

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

На следующем этапе мастер спросит о том, разрешаешь ли ты доступ к своему FTP неидентифицированным (анонимным) юзерам. То есть тем, кто в качестве логина используют слово "Anonymous", а в качестве пароля свой e-mail (на практике - что угодно). Отвечай на свое усмотрение, исходя из концепции того, что ты в конечном итоге хочешь получить - приватную станцию или огромный файлообменник. К моему домашнему FTPсерверу доступ всегда был свободным. Другое дело, что анонимные пользователи имеют весьма ограниченный простор для деятельности: чуток доступных для закачки фильмов, немного музыки и дистрибутивов, а также папку для аплоада. Сплетни по локалке расходятся мгновенно, поэтому каждый "виртуальный сосед" знает, что если зальет что-то поистине стоящее, то получит куда более лакомый кусочек. Такие вкусности, как DivX-ви- део, свежий варез и 0-day эксплойты, настолько сильно манят любителей халявы, что размеры папки для аплоада увеличивается астрономическими темпами. Схема проста как три копейки, но зато как действенна!

Если ты все же решишь создать гостевой аккаунт, то открывшееся окно предложит указать путь к домашней директории анонимных пользователей (задай, например, F:\FTP). Домашняя директория обозначает папку, с которой юзер начинает свое путешествие вниз по иерархии каталогов. Выше выходить, как правило, запрещено (думаю, даже ежу понятно - почему), но в случае необходимости доступ может быть открыт. Для этого достаточно снять галку напротив опции Lock anonymous users in their home directory.

Последний этап визарда - создание учетной записи авторизированному пользователю. Повторяться не буду: опции и настройки те же самые, что и у анонимного. Единственное отличие - графа Privilege, которая определяет юзерские права на удаленное администрирование. Если ты создаешь аккаунт для себя (что более чем вероятно), то целесообразно выдать ему все имеющиеся разрешения, т.е. выбрать System Administrator. Иначе лучшим вариантом однозначно является значение по умолчанию - No privilege.

ОТЛАДКА И ДОВОДКА

При правильном раскладе в ветке Domains дерева, находящегося в левой части окна Serv-U, должен появиться новый пункт - название созданного виртуального файлохранилища. Последнее, фактически, уже вполне работоспособно, но его предстоит еще немного помучить ;). Кликни по его названию в дереве - в правой части окна появится однаединственная вкладка Domains. Здесь задается используемый доменом порт (на одинто всех не посадишь), степень защищенности канала во время передачи имен пользователей и их паролей (другими словами, опция, активирующая шифрование на уровне SSL/TSL), а также производится банальное включение/выключение домена. Опция Domain type, также присутствующая в этом

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Судя по статистике, дырки в FTPсерваках находятся довольно часто.

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

Если в твоей локалке простаивает какой-нибудь компьютер - стоит подумать об организации коллективного FTP-серве- ра на основе все того же Serv-U.

29

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PCBUY_ZONE

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Внешний вид Serv-U

Serv-U 5.0 Размер: 3,8 Мб Shareware www.serv-u.com CuteFTP 6.0 Размер: 8,3 Мб Shareware www.cuteftp.com LanScope 2.7 Размер: 1,2 Мб Freeware www.lantricks.com Super FtpSearch 3.3 Размер: 709 Кб Freeware

www.levosoft.com FtpInfo 1.6.4 Размер: 887 Кб Freeware www.massoft.nm.ru/ftpinfo

FTP ПОД КОНТРОЛЕМ

окне, позволяет выбрать место хранения конфигов виртуального сервера (в реестре оси или во внешнем .INI файле).

Разобрался? Тогда следующий шаг: переходим в раздел Settings твоего домена. Не спутай с глобальными настройками - их лучше оставить как есть, т.к. все они очень специфичны и изначально хорошо оптимизированы.

General - первая и, пожалуй, самая полезная вкладка. С ее помощью можно замутить так называемый "мапинг" папок. Что это такое? Ну, предположим, каталог F:\FTP является домашней директорией для какойто группы пользователей. И ты хочешь положить в эту директорию, скажем, сотню-дру- гую фильмов. Что делать? Тупо копировать дикие объемы, одновременно стуча головой об стол, стараясь придумать, как бы освободить под них место? Нет! Ты просто находишь панель Virtual path mappings и жмешь на кнопку Add. В первом окне указываешь физический (реальный) путь к тому месту, где у тебя хранятся фильмы, в следующем - домашнюю директорию (F:\FTP), и, наконец, в последнем - имя виртуальной папки (к примеру - Video). Все! Ты создавал свою первую виртуальную папку, которая будет казаться юзерам подкаталогом корневой директории, хотя физически по-прежнему будет располагаться совершенно в другом месте (к примеру, на другом логическом диске, винчестере или даже компьютере).

А КАК ЖЕ НАШИ ПРАВА?

Начинаешь понимать плюсы использования FTP-сервера? :) Тем не менее, не спеши радоваться - всему этому хозяйству еще предстоит расставить права, но об этом чуть позже. Сейчас же не поленись указать максимальное количество одновременных подк-

лючений (эта настройка находится неподалеку), дабы оголодавшие соседи по локалке не снесли к чертям твой FTP-сервер сразу же после его появления в сети…

ДРУГИЕ ВКЛАДКИ:

IP Access - позволяет редактировать черный список, ограничивающий доступ к FTPсерверу с заданных диапазонов IP-адресов (нечего юзерам из соседней локалки здесь делать - все равно ничего не заливают).

Message - определяет сообщения, передающиеся пользователю во время его общения с FTP. Сомнительная польза - никогда не трогал…

Logging - широкие настройки выходного файла логов.

UL/DL Ratios - список ресурсов для "бесплатного" скачивания. Возникает закономерный вопрос - а что, все остальные платные? Нет, но для каждого юзера имеется возможность установить специальную квоту "n залил - m можешь скачать" (скажем, 3 к 1). Так вот указанные в этой вкладке документы под это ограничение не попадают.

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

Организация пользовательских "семейств" производится в разделе Groups. Все что нужно - это ввести имя новой группы, отредактировать черный список IP-адресов и расставить разрешения на расшаренные каталоги. Последнее выполняется через вкладку Dir access. Главное - не забудь о домашней директории и виртуальных папках, иначе оставишь своих юзеров с носом. Важно также проверить, активизирована ли опция Inherit, распространяющая разрешения ресурса на все входящие в нее поддиректории.

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

ввести ограничение "ска- чал-залил" (у нас тут, типа, файловый сервер, а не какая-то расшаренная папка, из которой все только тащат, но никто ничего не дает! :)), а так-

же отредактировать значе- ния несколько общих настроек в General. Самые интересные из них:

 

Require secure con-

 

nection - устанавливает

 

жесткое требование защи-

 

щенного соединения.

 

Always allow login -

Полностью настроенный

виртуальный сервер

разрешает вход пользо-

 

вателю, если достигнут

 

потолок (предел) количе-

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Интегрированные в файловые оболочки FTP-клиенты

ства одновременно работающих с сервером юзеров.

Allow only X login(s) from the same IP address - ограничивает число подключений (потоков) для скачки.

На этом все - продукт готов к использованию. Как видишь, на то, чтобы сконфигурировать и запустить собственный FTP-сервер, требуется не более 15 минут. Мониторинг его работы осуществляется из пункта Activity, поэтому ты всегда будешь в курсе, кто и что делает с твоим FTP'шником. При желании непрошенных гостей можно в момент отключить, а особо гадких и вовсе прописать в BAN-LIST. Впрочем, с системой контроля, мне кажется, ты и сам без труда разберешься.

САГА ОБ FTP-КЛИЕНТАХ

Итак, предположим, твой собственный файловый сервер работает как часы. Самое время нанести визит соседям - таким же, как ты, владельцам персональных FTP'шников. А зна- чит - без хорошего FTP-клиента не обойтись.

Само собой, соответствующие функциональные модули встроены во все популярные менеджеры файлов (в Total Commander

èFAR они точно есть!). Но, увы, в них отсутствует целый ряд возможностей, которые могут понадобиться привередливому юзеру.

Лично я, будучи давним фанатом CuteFTP, уверен, что эта софтина совершенна, и ни- чего лучшего быть просто-напросто не может :). Ее многооконный интерфейс, для каждого из окошек которого отображается отдельная панель со списком локальных и удаленных ресурсов, позволяет удобно работать сразу с несколькими FTP'шниками.

Разумеется, прога совместима со всеми популярными защищенными протоколами передачи данных, включая SSH2, SSL (Implicit, Explicit and TLS), HTTPS и OTP. И в ней отлично реализована поддержка прокси, соксов и портмапинга, которая частенько помогала мне оставаться инкогнито. Я уже не говорю о встроенном планировщике заданий

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

Имеются у CuteFTP и кое-какие дополнительные фенечки. Функция автоматической синхронизации локальной папки с удаленным каталогом здорово упростила мне жизнь в те веселые времена, когда я занимался своим собственным веб-проектом. Другая хитрая функция - Smart Keep Alive - по первому требованию юзера начинает эмулировать на FTP'шнике пользовательскую активность, терпеливо посылая различные ко-

30

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

CuteFTP во всей красе

манды со случайным промежутком времени. Так что тебе больше не придется подсоединяться к серверу по сто раз в день лишь изза постоянных дропов по таймауту. Помимо этого, я всегда тащился от технологии Site- to-Site Transfers (aka FXP), которая позволяет перебросить файло с одного FTP на другой без непосредственного скачивания к себе на винт. А ведь еще CuteFTP умеет выполнять автоматическое архивирование, переименование и резервное копирование документов на этапе их передачи, а также может похвастаться встроенным HTML-редактором.

ИЩЕМ ФАЙЛЫ И РАБОЧИЕ FTP'ШНИКИ

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

А это неправильно. Не случайно же продвинутые товарищи регулярно прибегают к услугам программ для автоматизированного поиска рабочих файлохранилищ. Наиболее подходящим инструментом для этой работы однозначно является маленькая программка LanScope. Изначально эта софтина предназначалась для поиска расшаренных ресурсов, но впоследствии изрядно преобразилась и сейчас, помимо всего прочего, способна отлавливать и работающие FTP'шники. Просто запусти прогу, укажи диапазон IP-адресов своей сети, и через считанные секунды ты получишь подробнейший отчет обо всех имеющихся ресурсах.

LanScope в действии

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

Несмотря на присутствие в названии позорного клейма "Super", эта прога выполнена весьма

добротно. Единственная цель программы - расширенный поиск файлов и папок на просторах заданных в настройках FTP-ресурсов. Что значит расширенный? А то, что Super FtpSearch способна искать как отдельные документы, так и папки (или что-то одно), просматривать поддиректории или не учитывать их, игнорировать каталоги, занесенные в черный список, принимать во внимание дату создания и размер ресурса. Жаль только, что выходной файл (отчет) LanScope`a не может быть импортирован SuperSearch`ем, и все FTP-адреса приходится вводить вручную. Это, пожалуй, единственный недостаток этой связки.

МОНИТОРИНГ ИЗМЕНЕНИЙ

Предположим, ты нашел в сети интересные FTP'шники и наладил дружеские отношения с их владельцами на взаимовыгодных условиях. И тогда тебе придется столкнуться с неожиданной проблемой: сетевые хранилища файлов частенько обновляются, при этом отследить все последние поступления вруч- ную невозможно. Поэтому, если ты не хо- чешь каждый раз последним узнавать о появлении в локалке свежего фильма или альбома, советую тебе и на этот случай вооружиться подходящим софтом. Рекомендую обратить внимание на замечательную утилиту FtpInfo, которую, кстати, так же как и LanScope, разработал наш соотечественник.

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

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

из текстового файла встроенным сканером - После того как список указать параметры и пароль, порт, корневой

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

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

FTP ПОД КОНТРОЛЕМ

 

 

 

 

to

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Super FtpSearch - идеальный поисковый механизм

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

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

В ЗАКЛЮЧЕНИЕ

Я познакомил тебя со своим любимым набором FTP-утилит. Каждая софтина в свое время тщательно отбиралась и подолгу тестировалась. Пользоваться или нет - дело твое.

Но лично мне описанный софт помогает сэкономить массу времени, которое уходит на изучение более интересных вещей. FTP-сер- вер заставил меня забыть о шарах. Я поставил его на соседней машине, в которую установил два объединенных в RAID винчестера. Теперь 200 гигабайт фильмов, софта и музыки находятся под моим полным контролем. А такой задел, поверь, сближает меня с народом лучше всякого "Рондо" :). z

Главное окно FtpInfo и таблица с результатом работы

Учебник FTP: www.citforum.ru/internet/ftp_tut/main_a.shtml

Пошаговое руководство по Serv-U: www.mok-centre.koptevo.net/ftp/su3/ Serv-U.htm

Что такое файловые серверы: www.emanual.ru/cgi-bin/get.pl?id=44&format=show

Протокол FTP: www.emanual.ru/cgi-bin/get.pl?id=1807&format=show

Большой обзор FTP-клиентов: www.nvkz.kuzbass.net/gazzzeta/htm/143.htm

31

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PCBUY_ZONE

 

w Click

to

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

Крис Касперски (http://kpnc.opennet.ru)

 

.

 

 

 

 

e

 

 

 

p

df

 

g

.c

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

-xcha

СЕКРЕТЫ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МАСКИРОВКИ

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

а минувшие годы на свалку истории были отправлены десятки тысяч вирусов, троянских коней, систем удаленного

Çадминистрирования и прочей уголовной братии. Жизненный цикл этих созданий (далее по тексту просто "вирусов") очень недолог. Стоит только попасть в лапы к Евгению Касперскому (не путать с Крисом Касперски - мы не только разные люди, но даже не

однофамильцы!), как в реестр "их разыскивает полиция" добавляется новая запись, после чего прога бьется влет…

МЕТОДЫ ОБМАНА АНТИВИРУСНЫХ ПРОГ

Ìожет ли вирусная экспансия противостоять антивирусной агрессии? Вопрос совсем не так прост, каким кажется. С одной стороны, создать принципиально недетектиру-

емый вирус никому не удалось (и в обозримом буду-ПОСТАНОВКА ЗАДАЧИ

щем вряд ли удастся). С другой стороны, памятуя о том, что стадо мышей валит кота, можно сказать, что сотня тупейших, но еще не известных науке вирусов, намного опаснее одного полиморфного аристократа. При условии, что вирус не ловится эвристиком (а перехитрить эвристик очень легко), до тех пор пока он не попадет в базу данных антивируса, вирус будет жить и плодотворно размножаться. Ну а потом… "мавр сделал свое дело" и эстафету перехватит другой. Причем создавать новый вирус "с нуля" совершенно не обязательно, при желании достаточно слегка подмазать исходные тексты уже известной антивирусу программы (например, откомпилировать другим компилятором). Если же исходных текстов нет, можно поиздеваться непосредственно над самим исполняемым файлом. Вот об этом мы сейчас и поговорим!

В экспериментах участвуют: система удаленного администрирования Back Orifice 1.0 (вместо нее можно использовать любой другой исполняемый файл или DLL), антивирусы Dr.WEB, AVP, хакерский редактор HIEW, редактор pe-файлов PE-TOOLS или LordPE, упаковщик ASPack, а также некоторые другие тулзы, упоминаемые по ходу повествования.

НЕМНОГО ТЕОРИИ

И ведь находятся же такие идиоты, которые безоговорочно полагаются на антивирусы, и самодовольно похрюкивая, заявляют, что все файлы на данном диске/сайте проверены самыми последними версиями AVP/Dr.Web и типа здесь все ништяк. Наивные! Если антивирус говорит, что он ничего не нашел, то и понимать его следует буквально. Антивирус. Ничего. Не. Нашел. Стало быть, плохо искал!

Анализ показывает, что подавляющее большинство антивирусов используют сигнатурный поиск с жесткой привязкой к точке входа или физическому смещению в файле. Что все это значит? Не вдаваясь в неразбериху терминологических тонкостей, отметим, что сигнатурой называется уникальная последовательность байт, однозначно идентифицирующая вирус. Сигнатура может быть сплошной (например, "DE AD BE EF") или

разряженной (например, " DE ?? ?? AD ?? BE ** EF", где знак "??" обозначает любой байт, а "**" - любое количество байт в данной позиции). Поиск по разряженной сигнатуре иначе называется поиском по маске, и это - наиболее популярный алгоритм распознавания на сегодняшний день.

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

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

32

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

применяет старый добрый сигнатурный по-

 

 

 

 

 

 

 

 

 

иск. Это довольно ресурсоемкая операция,

èбез особой нужды антивирусы к ней стараются не прибегать.

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

èдля борьбы с ними приходится реализовывать специальные распаковщики, опознающие "свой" упаковщик по его сигнатуре…

ЧЕГО МЫ ДЕЛАТЬ НЕ БУДЕМ

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

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

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

КРИПТОГРАФИЯ НА ПЕНЬКЕ

Óпаковываем "паленую" прогу любым подходящим архиватором, поддерживающим шифрование, и отправляем архив

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

Как вариант, можно упрятать вирус в самораспаковывающийся архив, а для автоматизации ввода пароля использовать такую штуку, как bat-файл. Хрен какой антивирус его расшифрует! Применительно к zip'у, шифрование и упаковка целевого файла выглядит приблизительно так: "pkzip.exe -add -maximum -Sfx password=M$sux dst.exe src.exe", а распаковка (с автоматическим запуском!) так: "dst.exe -password=M$sux & src.exe", где M$sux - пароль, dst.exe - упакованный файл, а src.exe - файлноситель. Если не хочешь возиться с командными файлами - юзай RAR - он позволяет автоматически запускать распакованную программу после ее расшифровки.

Сначала необходимо создать первичный зашифрованный носитель. Для этого, предварительно упаковав подобный файл zip'ом (с паролем), тыкаем в него левой клавишей мыши и выбираем пункт "добавить файлы в архив". Затем в появившемся диалоговом окне взводим галочку напротив "создать sfx-архив", в закладке "дополнительно" выбираем "параметры sfx", изменяем путь распаковки с "program files" на текущую папку, и в строке "выполнить после распаковки" пишем "cmd.exe /c dst.exe - extract -password=M$sux&src.exe". В "режимах" говорим RAR'у "не показывать начальный диалог", а в закладке "текст и значок" выбираем иконку по вкусу и нажимаем на "ОК". Все! После запуска упакованного файла автоматически расшифруется и запустится исходная подопытная программа, гарантированно обходящая все антивирусные заслоны. Однако под Windows 9x это, естественно, работать не будет (в ней нет cmd.exe и вообще все по-другому).

СЕКРЕТЫ МАСКИРОВКИ

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

КАК МЫ БУДЕМ ДЕЙСТВОВАТЬ

Первое (и самое простое), что приходит на ум - обработать файл каким-нибудь навесным упаковщиком/протектором, полностью уничтожающим все сигнатуры, и скормить его антивирусу. Нехай подавится. Что?! Не хочет давиться? Значит, антивирус успешно переварил упаковщик и дорвался до внутренностей оригинального файла. Тут-то сигнатуры и поперли.

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

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

А другие приемы борьбы есть?! Да, и не один, а, как минимум, целых три: уничтожение сигнатур упаковщика, внедрение подложных сигнатур и дезактивация эмулятора.

УНИЧТОЖЕНИЕ СИГНАТУР

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

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Патчим файл, упакованный ASPack - замена 60h на 90h срубает антивирусы напрочь

33

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PCBUY_ZONE

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

СЕКРЕТЫ МАСКИРОВКИ

В частности, для ASPack/ASProtect достаточно затереть первый байт точки входа, поменяв 60h (опкод команды PUSHAD) на 90h (опкод команды NOP). Строго говоря, это не совсем корректный хак, нарушающий балансировку стека, однако никак не сказывающийся на работоспособности подавляющего большинства программ.

Как мы будем действовать? Возьмем bo2k.exe (или любой другой файл) и, предварительно убедившись, что он успешно опознается всеми антивирусами, пропустим его через ASPack, а затем повторим процедуру опознания вновь. И AVP, и Dr.WEB продолжают визжать, подтверждая тот факт, что данный упаковщик им хорошо известен.

Загружаем файл в HIEW, однократным нажатием на <ENTER> переходим в hex-ре- жим, давим <F5>, перемещаясь в точку входа, жмем <F3> для разрешения редактирования, говорим "90", подтверждая серьезность своих намерений клавишей <F9>. Dr.WEB насупился и молчит. AVP тоже заткнулся. Естественно, помимо NOP, можно использовать и другие однобайтовые команды, такие как: inc eax/40h, inc ebx/43h, inc ecx/41h, inc edx/42h, inc esi/46h, inc edi/47h, dec eax/48h, dec ebx/4bh, dec ecx/49h, dec edx/4ah, xchg ebx,eax/93h и многие другие. Не надо злоупотреблять 90h - иначе антивирусы просто пополнятся новой сигнатурой!

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

ВНЕДРЕНИЕ ПОДЛОЖНЫХ СИГНАТУР

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

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Патчим файл, защищенный EPProt'ом, заменяя 4 однобайтовые команды NOP (они обведены красной рамкой) двумя другими двухбайтовыми командами

Нажимаем <F9> для сохранения изменений в файле и прогоняем его через AVP.

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

Возьмем bo2k.exe, упакуем его ASPack'ом и внедрим одну (а лучше несколько) подложных сигнатур, услужливо предоставленных EPProt'ом. Пусть для определенности это будет tElock. В окне "select" указываем путь к подопытному файлу, в окне "insert signature" отмечаем выбранную сигнатуру (по одной за раз) и давим на "Protect EP". Зовем антивирус и говорим "фас!": AVP с победоносным хрюком свиньи, заживо спускаемой в унитаз, разрывает противника в клочья. Dr.WEB хотя и не распознает Back Orifice, но ругается на "возможно win.exe вирус", что не есть хорошо.

Причина провала операции в том, что не мы одни такие умные. Слишком уж часто хакеры пытались надурить AVP с помощью EPProt'а. Но сможет ли этот антивирус распознать те же яйца, если их развернуть в профиль? Давай проверим! Загружаем обработанный файл в HIEW, дважды нажимаем

<ENTER> для перехода в ассемблерный режим, давим <F5> для перехода на entry point и наблюдаем, как на скрине сверху картину (наименование и расположение машинных команд могут кардинальным образом отличаться от приведенных, ведь EPProtect - полиморфный протектор, но суть останется неизмененной).

Находим цепочку из четырех или более инструкций NOP и, нажав <F3>, давим на <ENTER> и вводим что-то вроде add eax, ebx/sub eax, ebx (где "add eax, ebx" добавляет к регистру eax значение регистра ebx, а "sub eax, ebx" вычитает его оттуда). В результате у нас получается, как на скрине внизу.

Нажимаем <F9> для сохранения изменений в файле и прогоняем его через AVP. Ну и почему мы не кричим? Куда девалось наше самодовольное похрюкивание? Всего две команды затоптали, а какой результат!!! Впро- чем, наше положение крайне ненадежно, и поводов для пьянки нет никаких. Едва разработчикам антивируса станет известно об этом инциденте - в сигнатурной базе поя-

Команды, собственно говоря, могут быть любыми, главное, чтобы они не оставляли за собой никаких "хвостов"

34

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Таблица секций файла, упакованного ASPack. Между первой и второй секцией практически всегда есть немного свободного места

СЕКРЕТЫ МАСКИРОВКИ

вится новая строка. К тому же Dr.WEB попрежнему матерится на win.exe вирус…

ДЕЗАКТИВАЦИЯ ЭМУЛЯТОРА

 

 

Что на это сказать? Неважно, кто поит де-

 

 

вушку. Важно - кто ее танцует! И пока ос-

 

 

тальные будут с воплями топтать сигнату-

 

 

ры, мы ударим в самое сердце антивиру-

 

 

са - в его виртуальную машину. Преодо-

 

 

леть эмулятор можно различными путями:

 

 

а) вставить конструкцию, которую антиви-

 

 

рус проэмулировать не в состоянии (са-

 

 

момодифицирующийся или самотрассиру-

 

 

ющийся код, обработку структурных иск-

 

 

лючений и т.д.); б) вставить команду,

 

 

привязывающуюся к своему местоположе-

 

 

нию в памяти; в) использовать команду,

 

 

не известную эмулятору.

 

 

 

Код, отвечающий одному или несколь-

 

 

ким вышеприведенным пунктам, мы будем

 

 

называть антиотладочным кодом. Будучи

 

 

внедренным в упакованный файл, он под-

PE-Editor открывает доступ к полям Entry Point и Image Base

ложит хорошую свинью виртуальной ма-

 

 

шине и угробит антивирус еще до того,

 

 

как распаковщик успеет получить управле-

 

 

ние. Тупое пополнение сигнатурной базы

 

 

положение не спасет, и разработчикам

 

 

придется всерьез засесть за совершен-

 

 

ствование виртуальной машины, что не

 

 

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

 

 

крайней нужды на это никто не пойдет, и

Простой самомодифицирующийся код

 

 

 

предложенная идея будет работать долго,

 

 

укрывая любимый софт от загребущих ан-

файл, упакованный ASPack'ом, грузим его

Если здесь расположены не нули, а что-

тивирусных лап.

в HIEW, нажимаем <ENTER> для перехода

то другое, значит, свободное пространство

Существует множество способов внедре-

в hex-режим, давим <F8> для входа в ре-

отсутствует. В этом случае попробуй упако-

ния своего кода в чужой исполняемый

жим заголовка, жмем <F6> для просмотра

вать файл с другой степенью сжатия или

файл. Вирусы, как правило, раздвигают

таблицы секций, подгоняем курсор ко вто-

поищи свободное место в других секциях.

последнюю секцию, записываясь в ее ко-

рой секции файла и ударяем по ENTER'у.

В большинстве случаев AVP/Dr.WEB это

нец, или создают новую. Дело это муторное

Теперь, прокручивая курсор вверх, мы

воспринимают довольно благосклонно, но

и к тому же слишком заметное. Антивирусы

оказываемся в чертогах секции .text. В

никаких гарантий их лояльности у нас нет,

матерятся так, что уши вянут. То же самое

этой секции обычно и размещается машин-

и внедрение антиотладочного кода в .text

относится и к вторжению в заголовок.

ный код нормальных программ, так что на-

намного более предпочтительно.

 

Мы же поступим умнее и внедримся

ше появление не вызовет никаких подозре-

Внедрять свой код можно в любое мес-

между секциями в середину файла. Берем

ний у антивируса.

то, адрес которого начинается с точки (ес-

 

 

 

ли точка не стоит, значит, данная область

 

 

 

файла не отображается в виртуальную па-

 

Существует множество способов

 

раздел section и приравняй virtual size сек-

 

 

 

мять - загрузи файл в pe-editor, войди в

 

внедрения своего кода в чужой

может быть любой адрес из интервала

 

исполняемый файл.

ции .text к ее raw size). В нашем случае это

 

мем 3149100h как наиболее круглый. Сю-

 

 

 

31490F0h - 31491F0h. Допустим, мы возь-

да-то и будет направлена новая точка вхо-

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HIEW www.wasm.ru/tools/ 13/hiew.zip

OBSIDIUM www.wasm.ru/tools/ 12/Obsidium.zip

HidePX www.wasm.ru/tools/ 12/HidePX.zip

EPProt www.wasm.ru/tools/ 8/EPProt.zip

PE-TOOLS www.wasm.ru/tools/ 6/petools.zip

ASPack www.aspack.com tElock www.wasm.ru/tools/ 12/telock.zip

Или просто топай на www.wasm.ru/toollist.php и сливай оттуда все, что тебе надо.

35

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Передача управления по структурному исключению

Тривиальный jump на точку входа, ловящийся всеми антивирусами, который через несколько секунд мы доработаем в нечто непотребное

да, для изменения которой проще всего прибегнуть к pe-editor'у.

Внимание! Точка входа задается не в абсолютных, а в относительных виртуальных адресах, отсчитываемых от базового адреса загрузки файла (image base), и pe-editor говорит, что в нашем случае она равна 01E001, что при базовом адресе в 03140000h дает 01E001h + 03140000h == 0315E001h. Именно по этому адресу наш код должен возвратить управление, чтобы упакованный файл смог начать работу. Коро- че говоря, для вычисления действительного адреса точки входа мы должны сложить зна- чения полей Entry Point и Image Base, обосновавшихся за кнопочкой "optional header". Как? Ты не умеешь складывать шестнадцатеричные значения? Ну так запусти виндовый калькулятор и, переведя его в "научный" режим, нажми клавишу <F6>. Как вариант, можно затоптать комбинацию <Alt>+<=> в hiew'е, только учти, что вместо суффикса "h" это животное использует сишный префикс "0x", и число 1234h записывается как 0x1234. Запиши полученный адрес точки входа на бумажку, т.к. он нам еще не раз понадобится в дальнейшем.

Соответственно, для вычисления RVA-ад- реса антиотладочного кода мы должны вы- честь из него image base. Тогда мы получим: 03149100h - 03140000h == 9100h. Т.е. берем адрес начала внедряемого в файл кода (который, как мы помним, в нашем случае равен 03149100h), вычитаем из него image base, сообщенный hiew'ом или pe-editor'ом (03140000h), и получаем 9100h. Как вариант можно затоптать кнопочку FLC (File Location Calculator - Калькулятор Файловых Локаций). Перемещаем радиокнопку в положение Virtual Address, топчем 03149100 и давим "calculate", после чего поле RVA будет содержать искомое значение.

Записываем это значение в поле Entry Point и вновь возвращаемся в HIEW. Если

все было сделано правильно, после двойного нажатия на <ENTER>, последовательное нажатие клавиш <F8> и <F5> перенесет нас аккурат в окрестности новой точки входа. К внедрению антиотладочного кода готов? Блин… ну ты же не пионер…

АНТИОТЛАДОЧНЫЙ КОД

Начнем с самого простого - с самомодифицирующегося кода. Забросим на стек инструкцию перехода на оригинальную точ- ку входа и немедленно ее исполним. Для этого нам предстоит набрать следующую последовательность команд: mov eax, абсолютный адрес старой точки входа/push 0E0FF/jmp esp, где "E0FFh" представляют собой машинный код команды jmp eax. Экран HIEW'а после завершения ввода должен выглядеть приблизительно как нижнем правом рисунке.

Прогнав файл через AVP, мы убеждаемся, что он даже и не порывается хрюкать! Dr.WEB рычит, но это явление временное, и скоро мы его обломаем. Открываем на радостях свежее пиво! Малость промочив горло и ощупав растущий живот, мы приступаем к более сложным фокусам. А именно - передаче управления посредством структурного исключения, более известного под аббревиатурой SEH. Никакие известные мне антивирусы SEH не эмулируют, отладчики от него едут крышей, а начинающие хакеры тонут в диспетчере, умирая за трассировкой от старости и истощения.

Один из вариантов реализации антиотладочного кода выглядит так: заталкиваем

âстек адрес старой точки входа (в нашем случае это 315E001h), заталкиваем указатель на предыдущий обработчик (он лежит

âдвойном слове по адресу FS:[0]) и регистрируем свой обработчик установкой FS:[0] на вершину стека. Затем возбуждаем исключение, например, порываемся делить на ноль, выполняем несуществующую ма-

Внедрение команды prefecth (первые три байта, выделенные жирным) срывает hiew'у крышу, побуждая его неправильно декодировать последующий код, в результате чего инструкция mov eax, 315E001h (запись в регистр числа 315E001h) превращается в add [eax][0315E001],bh (добавить к ячейке памяти, расположенной по адресу eax + 315E001h, значение регистра bh)

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

СЕКРЕТЫ МАСКИРОВКИ

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сюда мы перемещаемся по нажатию ENTER'а, стоящего на секции .rdata, выше нее только хвост секции .text, пустое место в конце которого заполнено нулями

МЕТОД

AVP

DR.WEB

 

 

 

"голый" bo2k.exe

ловит

ловит

 

 

 

упаковка OBSIDIUM'ом

молчит

молчит

 

 

 

упаковка ASPack'ом

ловит

ловит

 

 

 

упаковка ASPack'ом с затиранием 60h

молчит

молчит

 

 

 

HidePX

ловит

ловит

 

 

 

ASPack + SEH

молчит

молчит

 

 

 

ASPack + EPProt

ловит

возможно win.exe вирус

 

 

 

ASPack + prefecth

молчит

молчит

 

 

 

ASPack + EPProt + pacth

молчит

возможно win.exe вирус

 

 

 

упаковка в архив с паролем

ловит монитором

ловит монитором

 

 

 

ASPack + самомодифицирующийся код

молчит

ловит

 

 

 

шинную команду или обращаемся к несуществующему/защищенному адресу памяти (скажем, лезем в ядро).

И что же? Оба антивируса молчат, а отладчики при достижении строки 3149111h забрасывают нас глубоко в ядро, и далеко не каждый хакер знает, как заставить softice отобразить истинный адрес перехода (правильный ответ: дать команду xframe).

Напоследок - подсунем виртуальной машине не известную ей инструкцию. Что-ни- будь из набора мультимедийных команд P- III+. Вот хотя бы prefectch [eax], которой соответствует следующий опкод: 0F 18 00, и которая осуществляет упреждающую предвыборку данных в кэш. Вряд ли антивирусы станут ее эмулировать. Но разве они не могут просто пропустить ее? В том-то и дело, что не могут! Неизвестная инструкция имеет неизвестную длину, и определить ее границы эвристическими методами невозможно.

Эмулятор просто не будет знать, откуда ему продолжать разбор кода…

Приведенный выше код раскалывается всеми современными антивирусами, но стоит изменить первые три байта на 0F 18 00, как эмуляторы склеят ласты. Кстати говоря, у hiew'а тоже едет крыша (см. нижний скрин).

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

ЗАКЛЮЧЕНИЕ

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

Напоследок - подсунем виртуальной машине не известную ей инструкцию.

Внедрение подложных сигнатур упаковщиков с помощью EPProt

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

37

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

d

 

 

 

F

 

 

 

 

t

 

D

 

 

 

 

 

i

 

 

 

 

 

 

 

r

P

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

IMPLANTBUY

МОБИЛЬНАЯ

w Click

to

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

g

 

 

 

 

df

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

ТЕЛЕПАТИЯ

Ансимов (ansi@infos.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

ХАКЕР/¹06(66)/2004

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

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

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

BLUETOOTH И ДРУГИЕ ТЕХНОЛОГИИ ПЕРЕДАЧИ МЫСЛЕЙ

Êогда человек научится полностью управлять информационными полями вокруг себя? Когда же наступит это счастливое будущее? К сожалению,

изучение человеческого мозга идет чрезвычайно туго. Иноп-БУДУЩЕЕ НАСТУПИЛО

ланетяне тоже явно не торопятся делиться знаниями. Тем не менее, уже сейчас можно говорить о прообразах альтернативного общения. Устройства, позволяющие изъясняться, не напрягая речевой аппарат, пока находятся на стадии разработок. Об их практических реализациях поговорим чуть ниже. Для начала я обращу твое внимание на новые каналы и методы общения, которые уже не только доступны, но и набирают популярность. Существующие решения позволяют получить нечто похожее на телепатию, так сказать, ее аппаратную модель. Они открывают новый уровень взаимоотношений между людьми, снимают психологи- ческие барьеры.

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

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

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

Такие картины давно не шокируют тех, кто тесно сошелся с магией "Голубого Зуба" - пользователей мобильников и карманных компьютеров с беспроводным радиоинтерфейсом Bluetooth.

ПРОТОКОЛ ПЕРЕДАЧИ МЫСЛЕЙ

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

Уже изначально Bluetooth задумывался

не просто как очередное беспроводное соединение, но и как технология автоматического включения любых устройств в сеть. Девайсам достаточно оказаться в пределах досягаемости, чтобы они "увидели" друг друга и установили контакт. Радиус действия составляет обычно от 10 до нескольких десятков метров. Открытый стандарт на основе единого протокола гарантирует полную совместимость устройств различных производителей. В отдельно взятом помещении Bluetooth создает информационную микросреду - нечто вроде маленького интернета. При этом пользователя совершенно не заботят детали соединения, как не заботит его в большом интернете маршрутизация и другие технические нюансы.

Техническая реализация Bluetooth представляет собой миниатюрный чип, который может быть монтирован практически в любые электронные устройства. Связь устанавливается на частоте около 2,5 ГГц с помощью устойчивого к помехам широкополосного сигнала. Соответственно, нет нужды в прямой видимости, как, например, по IR. Скорость обмена данными достигает 1 мегабита в секунду. В дежурном режиме модуль Bluetooth периодически сканирует частоту в поисках ана-

38

Соседние файлы в папке журнал хакер