Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

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

База данных студентов на Turbo Pascal (Списки) + Пояснительная записка
База данных электронного документооборота на Delphi + бд Intebase
Обучающая и тестирующая программа по здаче экзамена ПДД на 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 Комментариев · 7629 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
CoolControls v3.0...
CodeGear RAD Stud...
С. Г. Горнаков - ...
Socoban
C++ Стандартная б...
PHP: обучение на ...
Голосование для ...
Самоучитель C++
Игра PackMan
Переработанный пл...
IconCut [Исходник...
PCX
CoolHints2k
Создание оригинал...
Пользовательская...
AboutSystem
PHP/MySQL для нач...
PRNDbgrid
MicroGPSS Studen ...
Ильдар Хабибуллин...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97836
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Сортировка данных ...
Спецификация EPON
Окна программы Pro...
Автоматическая игр...
Модификации лэптопов
Масштабирование OS...
Трояны - это свои ...
Распределенные DoS...
6. Локальная групп...
Экспертные системы...
Как создать RAID н...
Особенности Страда...
Как играть, чтобы ...
Архитектура ARM
Invalid variable r...
Фотограф Киев
Чересчур большие и...
Блокировка сна
Типы блогов по наз...
Программирование в...
сложение AddMoney ()
Методы проверки со...
Помещение модулей ...
Разрешить клиентам...
Одномерные массивы
Статистика



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


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