Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 62796
Создание отчето... 62775
ТЕХНОЛОГИИ ДОСТ... 59318
Пример работы с... 58035
Имитационное мо... 54700
Реклама
Сейчас на сайте
Гостей: 15
На сайте нет зарегистрированных пользователей

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

Метод конечных разностей для интерполяции/экстраполяции на Delphi
Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...
База данных междугородних телефонных разговоров на Delphi

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Как был взломан 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 16:39:48 · 0 Комментариев · 6554 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
TmxOutlookBarPro
Preview
PCX
Fig [Исходник на ...
Интерактивный инт...
Динамические за...
Просмотр файлов и...
Пример работы с ф...
WebReg v1.3
Синтаксический ан...
JanButtonsV
IpEditAdress
Page Promoter 7.7...
Gold Submitter II...
index.php + мод ...
PHP 5. Полное рук...
Базы данных в Инт...
Flud Vkontakte.ru
Cтатьи Королевств...
Mass Photo Upload

Топ загрузок
Приложение Клие... 100421
Delphi 7 Enterp... 84904
Converter AMR<-... 20061
GPSS World Stud... 11943
Borland C++Buil... 11401
Borland Delphi ... 8366
Turbo Pascal fo... 7007
Visual Studio 2... 4984
Калькулятор [Ис... 4620
FreeSMS v1.3.1 3529
Случайные статьи
Цена халявы, или т...
Правое вращение AV...
В каких поисковика...
PHP и DNS. Проверк...
ГЕНОЛОГ
Модальная скорость
дополнительных ОГП...
Alpha Slots Online...
Пользователь может...
Функции из библиот...
Блок-диаграммы (бл...
Установка дистанци...
использовании или ...
Управление потоком...
О файле Favicon.ico
5.4.3. Ввод программ
Оставшиеся проблем...
Модуль CRT. Управл...
По умолчанию в ред...
Обратимся к полю и...
СGІ-запрос
Моделирование расп...
Венгерский язык. М...
Реализация моделей...
Казино Адмирал
Статистика



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


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