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

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

Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...
Моделирование процесса обработки заданий на вычислительном центре на GP...
Моделирование автомойки на GPSS + Отчет + Блок схемы

ХАЛЯВНЫЙ NET(1)
Все
изложенное ниже предназначено только для ознакомления с возможной опасностью и
ни в коем случае не должно быть использовано, если это причинит ущерб каким-либо
физическим или юридическим лицам. Это может повлечь за собой административную
или уголовную ответственность в соответствии с действующим законодательством.  



Вступление:  


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

 



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



Все это, в конце концов, положило конец первой стадии и началась вторая: теперь
компьютер генерирует некоторую псевдослучайную последовательность букв, цифр и
разных знаков препинания. Хорошо-то как стало: "Lta13?Lp" - попробуй подбери! Но
тут возникла другая проблема: а попробуй-ка запомни! Пользователи наши начали их
на бумажках записывать, ну и периодически... правильно: бумажки терялись,
похищались, попадали в мусорную корзину и т.д. - от чего ушли, к тому и пришли!
И тогда какая-то умная голова догадалась, что пароль можно хранить не в голове,
а прямо на жестком диске. В DialUp-окне галочку поставить и запомнить пароль. У
компьютера мозги кремниевые - ему все равно, что запоминать. Ну, а раз
запомнили, то, само собой, и записать надо. Ну, а раз записать, то... правильно:
отвернулся наш пользователь, а тут толпа голодных до Инета хакеров налетела - и
пароль подсмотрела... И тогда пароли стали шифровать.
 


Ну
вот, наше вступление закончилось.
 



Интимные подробности
 



Где же хранятся пароли в Windows 95/98? Известно где, зашифрованные пароли в
Windows 95/98 хранятся в основном каталоге, в файлах с расширением PWL. С учетом
того, что не только "у нас здесь", но и "у них там" бывают персональные
компьютеры коллективного пользования, да и сети локальные местами встречаются
(правда, редко), на каждого пользователя заводится свой PWL. Кстати, название
файла соответствует логину данного юзверя. Эти файлы, в принципе, зашифрованы
достаточно прилично. Если кому-либо интересно, то, взяв в руки какой-нибудь
дизассемблер (HIEW, QVIEW), можно посмотреть процедуру шифрования. Она находится
в файле MSPWL32.DLL. Там все очень накручено. Имеется счетчик (назовем его N) от
нуля до "сколько надо". Имеются три таблицы. В соответствии со счетчиком N
берется байт из первой таблицы (X). По смещению X+N, урезанному до 8 бит, из
второй таблицы берется другой байт (Y). Затем по адресу X+Y, опять же урезанному
до 8 бит, из третьей таблицы берется третий байт (Z). После столь хитрых
манипуляций командой XOR с байтом Z шифруется байт информации, после чего
счетчик инкрементируется, и все повторяется сначала (как тебе, а?). Как
формируются сами таблицы? Не знаю (мне было лень выяснять). Расшифровывается все
это аналогично (той же процедурой), ибо команда XOR обратима. То, какие Винды у
тебя стоят - значения не меняет. Не знаю уж, в чьих нездоровых мозгах могла
появиться мысль использовать для шифрования команду xor byte ptr [eax+ebp],cl.
Может, запутать хотели? Но команда уникальна, такие команды в обычных программах
еще поискать надо. Стало быть, ищем соответствующую ей комбинацию 30h, 0Ch, 28h
- и все дела. Дальше - просто. Берем MSPWL32.DLL и, со смещения 511h (или там,
где найдем), ставим 90h, 90h, 90h - команды NOP (пустая операция). И все,
команда не выполняется! Что при этом произойдет? Да ничего! Ничего страшного и
даже не очень страшного. И даже никто ничего не заметит!!! Все останется как
всегда, с одним лишь исключением: ВСЕ логины/пароли будут ВИДНЫ, так сказать,
невооруженным глазом! Тут, правда, есть два неприятных момента. Во-первых, во
время работы Windows тебе не удастся подобным образом надругаться над их "святая
святых": писать в этот файл нельзя. Значит, придется перегружаться в режиме
эмуляции MS-DOS, а это лишнее время, которого может не быть. Во-вторых, а это
еще хуже, тебе надо будет стереть ВСЕ PWL'ы, иначе даже в Windows не пустят: а
вот тут у законных пользователей могут возникнуть лишние вопросы и подозрения.

 


Я
все так и сделал, скажешь ты, а вот тот юзер в Windows с паролем входил, а мне
теперь не войти - пароля-то я не знаю. Что делать? Не беда! Есть способ проще!
Уносим ТОЛЬКО USER.DAT! А теперь: Windows 95 - M. D.! Как тебе должно быть
известно, кроме интерактивного доступа в Интернет, провайдеры еще и e-mail
впаривают суповым набором. Так вот, чтобы залезть в твой почтовый ящик, в тот,
что у тебя в подъезде, нужен ключ (или лом). Чтобы залезть в твой e-mail, нужен
пароль (или виртуальный лом). И тут я скажу: ВСЕ ПОГОЛОВНО провайдеры в славном
городе Москве - M. D.! Пароль к POP3-ящику всегда тот же, что и DialUp! Ну и
что? А вот что. Пароль e-mail находится не в PWL'е, а в USER.DAT, и зашифрован
он не так сильно, вернее, почти совсем не зашифрован! А это как??? Да вот так!
Метод "шифрования" напоминает элементарное UUE-кодирование, иначе говоря, из
трех байтов делают четыре или из 8 битов - 10. Весь исходный пароль разбивается
на части по три байта. В результирующей строке на один символ отводится 10
битов. Теперь: к каждому байту исходной строки прибавляется 30h, если сумма
больше, чем 7Ah, то он становится равен 30h, а к паре 9 и 10 битов добавляется
единица. Однако есть исключения. Если общая длина строки пароля не кратна трем,
то она дополняется байтами 3Dh. Судя по всему, это 0Dh (конец строки)+30h. В
конце строки 0Dh, 0Ah: стандартное завершение. На мой взгляд, подобрать пароль
вручную проще, чем написать соответствующую программу: не каждый же день ты эти
пароли подбираешь! Где находится пароль - написано ниже, оттуда его и берем. А
принцип прост: запускаем Internet Mail, заходим в Сообщение & reg;
Параметры/Сервер. Запускаем REGEDIT, переходим в HKEY_CURRENT_USER/Software/Microsoft/InternetMail
and News/Mail/POP3/"Твой сервер": смотрим Password. Удаляем пароль в Internet
Mail. Первый подбираемый символ влияет на первый и второй байты, второй - на
второй и третий, третий - на третий и четвертый. Теперь: подбираем символ так,
чтобы первый байт совпал с оригиналом, а второй или совпал, или был самый
большой, но меньше оригинала. Аналогично для второго и третьего символов. С
подбором третьего символа все четыре байта должны совпасть! Если нет - извини,
no sex for you. Естественно, после каждой замены символа жми "Применить".
Результат контролируем REGEDIT'ом, переходя вверх/вниз для обновления
информации. Когда первые три символа подобраны, возвращаемся к (*) для следующих
трех и т.д. до победного конца. Разумеется, байт(ы) 3Dh подбирать не нужно!
После некоторой тренировки на все это уходит минут 15.
 



Где же это счастье хранится? И, вообще, кроме логина и пароля еще многое нужно
знать, а откуда, не звонить же провайдеру? Не надо никому звонить! Все в нем, в
USER.DAT.
 



HKEY_CURRENT_USER/RemoteAccess/Addresses: и мы имеем список подключений. Да, но
там ничего не видно, цифры какие-то... А ты чего хотел, дружок! Выбираем байт,
которого больше всего, и дешифруем им все остальные (обычный XOR). В результате
в куче всякой ерунды получаем ASCII-строку с номером модемного телефона
провайдера (потеть, конечно, придется, если друг совсем не знакомый или работает
партизаном, а знакомого и спросить можно - типа: «Что это за провайдер у тебя
такой не хилый, друг ты мой лучший, Миша»?).
 



HKEY_CURRENT_USER/RemoteAccess/Profile
 



/«подключение»/IP: со смещения 0Ch четыре
 



байта задом наперед - это первичный DNS,
 



затем еще четыре - вторичный и т.д.
 



HKEY_CURRENT_USER/RemoteAccess/Profile/
 



»подключение»/User: логин.
 



HKEY_CURRENT_USER/Software/Microsoft/
 



Windows/CurrentVersion/InternetSettings/ProxyServer: 
 



Proxy-сервер и порт.
 



HKEY_CURRENT_USER/Software/Microsoft/InternetMail and News/Mail:

 



DefaultPOP3Server:
 



DefaultSMTPServer:
 



SenderEMail:
 



Name:
 



Organization: это все и так понятно.
 



POP3 - "POP3-сервер":
 



Account: это понятно.
 



Password: ну вот и он, родимый.
 



Что делать, если пользователь - мазохист? Не хранит он пароль в компьютере, а
вводит его каждый раз с клавиатуры? И этому горю можно помочь. Существуют
программы типа SPYWIN или HOOKDUMP или KEYWITNESS. Они записывают все действия,
производимые на компьютере. Достаточно подсадить одну из них и все...
Естественно, их можно использовать и для других не менее интересных целей.

 


И в конце могу
тебе посоветовать: не качай и уж тем более не запускай у себя всякие "взломщики
Интернета". Они могут крякнуть только информацию на твоем винчестере! Ибо тот,
кто может взломать провайдера, никогда не будет опускаться до таких мелочей, а
другие в лучшем случае хотят над тобой просто посмеяться, в худшем - сделать
бяку.

Опубликовал Kest October 26 2008 13:14:23 · 0 Комментариев · 9151 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
ИНТЕРНЕТ ПРОГРАММ...
Панель для реклам...
Клавиатурный трен...
StartMark
Советы по Delphi
PDJ Scrollers
Панель Календарь
Популярные загрузки
Autorunner
index.php + мод ...
База игр
Архив программ
C# Учебный курс
Разработка распре...
FilesInfo
Cooltray
ScrollCredit
Globus VCL Extent...
Создание лабиринт...
GPSS World Studen...

Топ загрузок
Приложение Клие... 100791
Delphi 7 Enterp... 97987
Converter AMR<-... 20293
GPSS World Stud... 17047
Borland C++Buil... 14217
Borland Delphi ... 10359
Turbo Pascal fo... 7387
Калькулятор [Ис... 6070
Visual Studio 2... 5228
Microsoft SQL S... 3673
Случайные статьи
Рехеширование – сл...
ЦС предприятия нео...
Операторы ввода-вы...
Протоколы сети Инт...
Информационные про...
Вулкан онлайн-кази...
SQL-функции для ...
Где купить итальян...
ГЕОТЕРМАЛЬНЫЕ РЕСУРСЫ
Адресация по базе ...
Регитсрация сигнал...
Левое вращение при...
Разберем детали. П...
Как обратиться к с...
OrderID — номер за...
Создание пользоват...
Если вы не перевед...
были опубликованы ...
Полный локальный в...
Сортировка данных ...
Содержание
6.12. Сравнение ч...
Структура информац...
Управление контентом
Анализ зависимости...
Статистика



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


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