Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #97, ЯНВАРЬ 2007 г.

Hack-Faq

Скляров Иван

Хакер, номер #097, стр. 062

(sklyaroff@mail.ru, www.sklyaroff.ru)

Q: Я начинающий, поэтому извините за глупые вопросы.

1. Если запустить на сервере BackDoor (Shell), как к нему коннектиться?

2. После коннекта, как я понял, я получу доступ к жесткому диску удаленного компьютера?

3. Как можно использовать открытый порт в качестве прокси-сервера?

A: Отвечаю на твои вопросы по порядку.

1. Все зависит от типа бэкдора, потому что существуют TCP-бэкдоры, UDP-бэкдоры, wakeup-бэкдоры, бэкдоры connect back, бэкдоры с шифрованием трафика и пр. С каждым из них соединение устанавливается по-разному. Но я так понимаю, ты ведешь речь о самом простом и распространенном Bind Shell TCP-бэкдоре без шифрования трафика, который открывает TCP-порт на захваченной машине и ждет подключения. С таким бэкдором соединение устанавливается посредством обычной программы telnet, которая стандартно устанавливается во всех версиях Windows и Unix. Как пользоваться telnet, читай в help или в мануалах в инете.

2. Да, после удачного коннекта ты получишь доступ к жесткому диску удаленного компьютера. Если удаленная машина является Windows-машиной, то тебе следует знать консольные Windows-команды, если Linux-машиной, то консольные Linux-команды.

3. Правильнее говорить не «открытый порт в качестве прокси-сервера», а «взломанная машина в качестве прокси-сервера». Для этого тебе необходимо на взломанной машине установить программу - прокси-сервер. Для этих целей хорошо подходит программа 3proxy (http://security.nnov.ru/soft/3proxy) от русского хакера ЗАРАЗА. Эта программа является многоплатформенной, то есть может работать под Windows и Unix. Подробное описание программы и комментарии по ее установке смотри на сайте автора.

Q: Что такое Protected Storage в Windows?

A: Protected Storage (в переводе с английского «защищенное хранилище») - это системный механизм, предназначенный для хранения секретных данных, таких как закрытые ключи, для предотвращения несанкционированного доступа служб, процессов или пользователей. Также там обычно хранятся локальные пароли и веб-информация (автозаполнение). Обычно в Protected Storage можно найти пароли и логины к электронным ящикам, форумам, чатам, web-магазинам и прочим web-службам. По умолчанию в Windows 2000/XP/2003 служба Protected Storage включена в автоматическом режиме (процесс lsass.exe). Физически данные Protected Storage расположены в следующей ветке реестра (запускай regedit): HKEY_CURRENT_USERSoftwareMicrosoftProtected Storage System Provider. Чтобы просмотреть этот раздел, может понадобиться установить для него полный доступ (раздел Permissions меню правой кнопки мыши).

Существуют специализированные программы для чтения данных из защищенного хранилища, например Protected Storage PassView (www.nirsoft.net/utils/pspv.html) и Protected Storage Explorer (www.forensicideas.com/psexplorer2.htm).

Q: Как определить MAC-адрес удаленного компа в локальной сети Etheet?

A: Для определения MAC-адреса удаленного узла в сети Etheet можно послать на известный IP-адрес этого узла какой-нибудь запрос, например, просто пингануть, а затем посмотреть содержимое ARP-кэша своей локальной машины (командой arp -a), в котором должно быть сохранено нужное соответствие IP<->MAC. Эта последовательность действий одинакова для Windows и Linux.

Q: Хочу научиться крякать программы, пробовал запускать SoftICE и ничего не понял. С чего начать?

A: Самое первое и главное - изучи ассемблер. Не обязательно быть профессиональным программистом на ассемблере, но знать основные команды, регистры, способы адресации и выполнение основных операций (арифметические, циклы, ветвления, вызов подпрограмм и пр.) просто необходимо. Советую тебе начать с рассылки Олега Калашникова «Ассемблер? Это просто! Учимся программировать» (www.kalashnikoff.ru). Можно приобрести его же книгу, написанную по материалам рассылки с одноименным названием. В дополнение советую приобрести еще несколько книжек по ассемблеру таких авторов, как Юров, Зубков, Магда, Пирогов, Рудаков. Кроме ассемблера, на пользу может пойти изучение языков высокого уровня: Си, С++, Visual Basic, Delphi и др. Без этого профессиональным крякером не стать, но на начальном этапе можно обойтись и без знания языков высокого уровня. Непременно следует ознакомиться с основными инструментами крякера, ищи в инете мануал «SoftICE Руководство пользователя» (в оригинале «Using SoftICE»), а также мануалы от Ильфака Гуильфанова (Ilfak Guilfanov), создателя дизассемблера IDA (есть на русском языке). Дополнительно можешь посмотреть статьи на www.cracklab.ru и книги «Образ мышления - дизассемблер IDA», «Фундаментальные основы хакерства. Искусство дизассемблирования» Криса Касперски и «Отладчик SoftICE» Айрапетяна. После этого начинай пробовать ломать программы на примерах из тех же статей с www.cracklab.ru, а также из книги «Техника и философия хакерских атак» Криса Касперски (эта книга имеет два издания, которые существенно отличаются). Без всякой ложной скромности рекомендую тебе свою книгу «Головоломки для хакера», в шестой главе которой ты сможешь найти множество созданных мной CrackMe и либо попробовать самостоятельно поломать их, либо посмотреть в ответах, как это делается. Эта глава оптимально подходит для начинающих, позволяя познакомиться со многими крякерскими инструментами на конкретных любопытных примерах.

Q: Хочу научиться писать руткиты под Windows, но нужен DDK, где его взять?

A: DDK (Driver Development Kit – «Комплект разработчика драйверов») изначально распространялся Microsoft бесплатно, затем какое-то время она требовала за него (а точнее, за доставку на CD) денежку. Сейчас последняя на момент написания этих строк версия Windows Server 2003 DDK вновь распространяется бесплатно (ISO-образ весит 236 Mб). Она поддерживает платформы Windows Server 2003, Windows XP SP1 и Windows 2000. Если тебе сложно выкачать такой объем, то советую воспользоваться сервисом «Файлы почтой» (http://filepost.ru).

Q: Как принудительно вызвать «синий экран смерти» (BSOD - Blue Screen Of Death) в Windows XP?

A: Для этой задачи хорошо подходит комплект утилит от Свена Шрайбера, автора известной книги «Недокументированные возможности Windows 2000». Исходники к этой книге можно скачать с сайта издательства «Питер» или по следующему адресу: http://irazin.ru/Downloads/BookSamples/Schreiber.zip. В них ты найдешь драйвер w2k_kill.sys, который, собственно, и вызывает «синий экран». Для его запуска нужно использовать динамический загрузчик w2k_load.exe, также созданный Шрайбером, то есть в командной строке выполнить команду «w2k_load.exe w2k_kill.sys», после чего Windows XP успешно повиснет с BSOD.

Существуют утилиты, которые просто имитируют BSOD, например BlueScreen от Марка Руссиновича. Раньше у Руссиновича был свой сайт www.sysinteals.com, но сейчас он полностью переехал на сайт Microsoft, поэтому утилита расположена по следующему адресу: www.microsoft.com/technet/sysinteals/Miscellaneous/BlueScreen.mspx.

Q: Давно существуют автоматические конструкторы вирусов, а есть ли программы для автоматического конструирования эксплойтов или шелл-кодов?

A: Разумеется, например, известный онлайновый сервис «Metasploit Framework Web Interface», который расположен по адресу http://metasploit.com. Выбираешь в меню тип эксплойта (Bind Shell, Reverse Shell, Add User и пр.), платформу, операционную систему, программу для эксплуатирования. Задаешь параметры эксплойта: максимальный размер в байтах, номер порта, тип кодирования и пр. Нажимаешь кнопку «Generate», и эксплойт или шелл-код готов! Также на сайте ты найдешь все для профессиональной разработки эксплойтов: статьи, специальные утилиты, базу данных опкодов и многое другое.

Q: Я узнал про какой-то новый метод взлома хэшей под названием Rainbow, не мог бы ты объяснить, в чем суть этого метода?

A: Напомню, что хэши получаются в результате работы однонаправленных хэш-функций. Популярными алгоритмами хэширования являются CRC, DES, MD5, SHA, Blowfish. Как правило, хэширование используется для сокрытия паролей хранящихся в базах данных систем аутентификации. Так как хэш-функции являются однонаправленными, не существует обратных функций, которые могли бы восстановить пароли из хэшей. Системы аутентификации же работают следующим образом: введенный пользователем пароль хэшируется известным алгоритмом и сравнивается с хэшами, хранящимися в базе данных; если соответствие обнаруживается, то, значит, был введен правильный пароль. Поэтому основным методом взлома хэшей всегда был банальный перебор. Программа-брутфорсер на каждой итерации хэшировала известным алгоритмом буквенно-цифровую последовательность и сравнивала полученный хэш с имеющимся, и если соответствие обнаруживалось, то это означало, что данная буквенно-цифровая последовательность и являлась паролем. При этом стоит отметить, что одному хэшу, вполне вероятно, может соответствовать множество различных буквенно-цифровых последовательностей. Поэтому правильнее говорить, что взлом хэша - это поиск коллизии, а не исходного пароля. Как ты понимаешь, перебор может занять количество времени, сравнимое с жизнью Вселенной. Поэтому умные люди решили создать сортированные таблицы хэшей и соответствующих им паролей, в результате чего получилась система, которая с помощью быстрого бинарного поиска по таблице может получать обратное преобразование хэша в пароль для любого существующего алгоритма хэширования. Но так как таблицы всех возможных паролей занимают на дисках слишком много места, был использован оригинальный формат таблиц: хэши собираются в цепочки по несколько тысяч комбинаций. Каждая следующая комбинация получается из предыдущей очередным применением той же функции хэширования. В таблицы записывается только начало и конец каждой такой цепочки. Для того чтобы найти пароль по такой таблице, нужно применить к заданному хэшу точно так же функцию хэширования несколько тысяч раз (в зависимости от используемой длины цепочек), и на очередной итерации получим хэш, который является концом одной из цепочек в наших таблицах. После этого эта цепочка заново прогоняется от начального до нужного нам хеша и находится комбинация, предшествующая нашему хэшу, - это и есть искомый пароль.

Такие таблицы назвали Rainbow Tables («Радужные таблицы»), отсюда и название метода. С одной стороны, они имеют объем в тысячи раз меньше обычных таблиц, содержащих все возможные пароли, с другой - позволяют найти за несколько минут обратное преобразование любого алгоритма хэширования, если искомый пароль был просчитан заранее в этих таблицах.

Существует несколько независимых проектов, которые хранят и постоянно пополняют таблицы хэшей и на которых можно быстро в онлайне осуществить преобразование «хэш <-> пароль» или скачать необходимые для этого программы. Вот адреса самых известных проектов: http://rainbowcrack.com, www.antsight.com/zsl/rainbowcrack, http://passcrack.spb.ru.

Содержание
ttfb: 5.0117969512939 ms