Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Купить новостройку в челябинске от застройщика - новострои челябинска skyclass.ru.
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Метод половинного деления для нахождения корня уровнения на Turbo Pascal...
База данных студентов на Delphi + Microsoft SQL Server
Файл записей с выводом обратного заголовка на Turbo Pascal

Как был взломан ALB или HACK-INFO.RU
История началась с посещения сайта hack-info.ru. Сам сайт мне не очень нравится за их "распальцовку" - не уважаю тех, кто кричит направо и налево слово "ламеры", а тут это вообще "идеология", даже свой троян назвали соответственно: Anti-Lamer Backdoor. Ну, захожу таки иногда, чтобы быть в курсе событий в нашем "киберандерграунде" :)
Сегодня зашел и обнаружил преинтересную статью "Ламосы онлайн", в которой главный идеолог сайта, Crypt, распространялся, насколько успешна его компания с трояном ALB, естественно, в своем стиле, не скупясь на слово "ламер" во все стороны света. Сам Крипт, правда, к созданию трояна отношения не имеет, впрочем, это детали, кому интересна их мышиная возня, сходите на сайт и проникнитесь атмосферой.
Для управления компьютером, зараженным троянцем, нужно знать пароль его создателя. Однако, в комментариях к статье Крипт проболтался, что существует и второй пароль - "инженерный", подходящий к любому троянцу, и предлагает купить его за 100 баксов. Не знаю, откликнулся ли кто-то на его предложение, … надеюсь, нет, потому что… дарю: "r00tXSteam". Его нахождение заняло 10 минут, не жалко. Все, дальше можете не читать, тут будет скучное описание, как он был получен и как следовало защититься создателям программы.
Запускаем Win98 с Soft-Ice, конфигурируем сервер на пароль 'lamaz' (в духе авторов "Заражаем" себя сервером. Запускаем клиент. Коннектимся. Вводим какой-нибудь пароль. Жмем Ctrl+D, вылазит окно универсального драйвера софтайса .
Переходим на виртуальную машину процесса "scandisk" (в конфигурации был задан именно такой): addr scandisk. Ищем в памяти слово "lamaz": s 0 l 1000000 'lamaz'. Найдено, причем в нескольких экземплярах. Хех, хацкеры, хешировать надо! Но об этом позже…
Часть из встреченных "lamaz" отбрасываем, потому что они явно являются частью отчета хозяину троянца. Кроме пароля, отчет содержит такие важные данные, как "папка windows" и проч. Очевидно, человек, подсунувший троян, должен мерзко хихикать при виде этих данных. Ну да ладно, не будем отвлекаться. Мотаем дальше: "s".
В конце-концов находим одиноко стоящую строку "lamaz", а недалеко от нее (какая удача!) - "r00tXSteam", очень похожий на "инженерный пароль". Выходим из софтайса (x), проверяем, подходит. Ура.
Что ж, протянем разработчикам руку помощи, а то они, глядишь, сами не додумаются, в чем их ошибка и как ее исправить. Но это только в обмен на их обещание перестать называть ламерами других. Присмотритесь лучше к себе, уважаемые…
Дело в том, что для авторизации совсем не обязательно хранить пароли в дешифруемом виде, вполне достаточно хранить их хеши, как делают все современные операционные системы.
Хеш - это функция (алгоритм), принимающая на входе любые данные любой длины, а на выходе дающая данные определенной длины.
Вот важное требование, которое криптография предъявляет к хорошим хеш-функциям: должно быть нереально подобрать входные данные, дающие заданный результат. В качестве хороших хешей я советую использовать не какие-нибудь самоделки, а признанные алгоритмы SHA-1 и MD5, реализацию этих алгоритмов нетрудно найти в Интернете, в виде исходников на Си, библиотек и компонентов для Delphi.
А вот как выглядит авторизация с использованием хеширования. На этапе записи пароля, то есть компиляции программы или конфигурирования с помощью утилиты "редактирование сервера", сохраняется не сам пароль, а хеш от него. Сам пароль в чистом виде нигде хранить не надо, а, учитывая предыдущий абзац, я бы никогда, даже обладая исходниками вашего трояна, не смог бы определить "универсальный пароль".
На этапе авторизации от предлагаемого пароля тоже берется хеш, и полученные результаты сравниваются. Естественно, что одинаковые пароли будут иметь одинаковые хеши. А то, что нельзя подобрать никакой другой пароль, опять-таки гарантируется абзацем "важное требование…" Короче, при совпадении хешей мы уверены, что пароль правильный.
К моменту публикации автор программы из трояна универсальный пароль удалил, судя по всему использование хэша для него непосильная задача...
Опубликовал Kest October 26 2008 13:39:48 · 0 Комментариев · 8109 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Delphi. Учимся на...
Программирование ...
Файловый менеджер
Printgrid
Фундаментальные а...
ADVstatusbar
Форма в форме
Киллер окон
PHP 5
Калькулятор [Исхо...
Blobs [Исходник н...
Delphi Быстрый Ст...
Работа с базами д...
Х. М. Дейтел, П. ...
BDEPack
AID антивирус
CarGame [Исходник...
IpEditAdress
Алгоритм трассиро...
Averaging [Исходн...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98017
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14239
Borland Delphi ... 10374
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Где мы находимся?
Адресаты инфографики
Выбор переключателя
Отсутствие списка ...
Символы в В PowerS...
Использование ext/...
Как избавиться от ...
Ограничение распро...
Цветовые обозначен...
Настройки почтовог...
Интересная тема дл...
Глава 12. Страт...
Зашли в тупик?
Дружественные клас...
Рекомендации по ор...
Перечислимый тип в...
Резюме
URL целевой страницы
Как самому создать...
Прямой метод решен...
Оператор присваивания
Импорт статических...
6.4. Работа с утв...
Блоки работы со сп...
Изменения Уловки
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?