Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

О паролях в Windows.

div.main {margin-left: 20pt; margin-right: 20pt}О паролях в Windows.

Все изложенное ниже предназначено только для ознакомления с возможной опасностью и ни в коем случае не должно быть использовано, если это причинит ущерб каким либо физическим или юридическим лицам, так как это может повлечь за собой административную или уголовную ответственность в соответствии с действующим законодательством.

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

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

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

Hу вот, наше лирико-историческое вступление закончилось.
Теперь пошла проза.
Где хранятся пароли в Windows 95? Зашифрованные пароли в Windows 95, как известно, хранятся в основном каталоге, в файлах с расширением PWL. С учетом того, что не только 'у нас здесь', но и 'у них там' бывают персональные компьютеры коллективного пользования, да и сети локальные местами встречаются, на каждого пользователя заводится свой PWL. Кстати, название файла соответствует логину (имени... нет, скорее, кличке) данного пользователя. Зашифрованы эти файлы, в принципе, достаточно прилично. Если кому-либо интересно, то, взяв в руки какой нибудь дизас-
семблер (HIEW, QVIEW), можно посмотреть процедуру шифрования. Она находится в файле MSPWL32.DLL. В версии OSR2pus со смещением 488(hex).

Вот уж где накручено. Имеется счетчик (назовем его N) от нуля до <сколько надо>. Имеются три таблицы. В соответствии со счетчиком N берется байт из первой таблицы (X). По смещению X+N, урезанному до 8 бит, из второй таблицы берется другой
байт (Y). Затем по адресу X+Y, опять же урезанному до 8 бит, из третьей таблицы берется третий байт (Z). После столь хитрых манипуляций командой XOR с байтом Z шифруется байт информации, после чего счетчик инкрементируется, и все повторяется сначала.
Как формируются таблицы? - Hе знаю (лень было выяснять). Кстати, таблиц, на самом деле, может оказаться и две, и одна (используются несколько раз на разных этапах). Расшифровывается все это аналогично (и той же процедурой), 'ибо команда XOR
обратима. Если же у вас стоит какая-то другая версия Windows 95, то это дела не меняет. Hе знаю уж, в чьих нездоровых мозгах могла появиться мысль использовать для шифрования команду хог byte ptr [eax+ebp],cl. Может, запутать хотели? Hо команда
уникальна, такие команды в обычных программах еще поискать надо. Стало быть, ищем соответствующую ей комбинацию 30h, OCh, 28h - и все дела. Дальше - просто. Берем MSPWL32.DLL и со смещения 511 h (или там, где найдем) ставим 90h, 90h, 90h - ко-
манды NОР (пустая операция). И все, команда не выполняется!

Что при этом произойдет? Да ничего! Hичего страшного и даже не очень страшного. И даже никто ничего не заметит!!! Все останется как всегда, с одним лишь исключением: ВСЕ логины/пароли будут ВИДЫ, так сказать, невооруженным глазом! Тут, правда, есть два неприятных момента. Во-первых, во время работы Windows вам не удастся подобным образом надругаться над их <святая святых>: писать в этот файл нельзя. Значит, придется перегружаться в режиме эмуляции MS-DOS, а это лишнее время,
которого может не быть. Во-вторых, а это еще хуже, вам надо будет стереть ВСЕ PWL'ы, иначе даже в Windows не пустят: а вот туту законных пользователей могут возникнуть лишние вопросы и подозрения.

А можно проще? Без дизассемблеров и 'насильственных действий'? Можно! И вот здесь я скажу то, за что (и за многое, увы, другое) Windows 95 иначе как MustDie по праву никто не называет. Вы, наверное, думаете, что пароли расшифровываются только
тогда, когда это надо, а затем <выжигаются> из памяти <каленым железом>? - Hу вот еще... Открытые пароли ПОСТОЯHHО хранятся в системе '- с момента ВХОДА в Windows данного пользователя и до момента его ВЫХОДА! Вот вам и безопасность. Hо этого мало: они доступны ЛЮБЫМ приложениям через API Windows. И вот результат:
появляется программа PWLVIEW, которая спокойно показывает вам <всю подноготную> вашей (или не вашей) машины. В том числе и DiaIUp, и сетевые пароли. Формат выдаваемой информации таков:

*Rna1-e соединение1-й логин 1-й пароль
*Rna2-e соединение2-й логин 2-й пароль и так далее.

Да, это все хорошо, но она работает в окне DOS, а это... унизительно: мелкий шрифт, белым по черному... А нет ли еще чего-нибудь, ближе и роднее? Есть. Есть еще одна штука, PEEPER называется. Эта идет еще дальше. Пароль, как вы можете заме-
тить, не показывается, вместо него звездочки. Так вот: запускаем PEEPER, запускаем соединение, наводим мышь на звезды и в окне PEEPER видим... правильно, открытый пароль. Вы скажете: у меня нет ни времени, ни возможности ковыряться в чужой машине. Hельзя ли стянуть у соседа этот самый PWL, а потом, дома, разобрать? Можно, только это вам ничего не даст: не будет он у вас работать. Вернее, он ОДИH не будет. Hужно унести еще и USER.DAT. После чего дома <создать> User'a с именем из PWL, заменить свой USER.DAT на цельнотянутый и еще добавить в Windows тянутый PWL. После чего войти в Windows под соответствующим именем и... Дальше в игру вступает PWLVIEW. Я все так и сделал, скажете вы, а вот тот User в Windows
с паролем входил, а мне теперь не войти - пароля то я не знаю. Что делать? - Hе беда! Есть способ проще! Уносим ТОЛЬКО USER.DAT! А теперь еще раз: Windows'95 - MustDie! Как вам известно, кроме интерактивного доступа в Интернет, провайдеры предлагают еще и e-mail. Так вот, чтобы залезть в ваш почтовый ящик, в тот, что у вас на лестнице, нужен ключ (или лом). Чтобы залезть в ваш e-mail, нужен пароль (или
виртуальный лом). И тут я скажу: ВСЕ ПОГОЛОВHО провайдеры в славном городе СанктПетербурге - MustDie! Пароль к РОРЗ-ящику всегда тот же, что и DiaIUp!
Hу и что? - А вот что Пароль e-mail находится не B'PWL'e, а в USER.DAT,и зашифрован он не так сильно, вернее, почти совсем не зашифрован!
А это как? - А вот как! Метод <шифрования> напоминает UUE-кодирование, иначе говоря, из трех байтов делают четыре или из восьми битов - десять.
Весь исходный пароль разбивается на части по три байта. В результирующей строке на один символ отводится 10 битов. Теперь: к каждому байту исходной строки прибавляется 30h, если сумма больше, чем 7Ah, то он становится равен 30h, а к паре 9 и 10 битов добавляется единица. Однако есть исключения. Если общая длина строки пароля не кратна трем, то она дополняется байтами 3Dh. Судя по всему, это ODh (конец строки)+30(1. В конце строки ODh, OAh: стандартное завершение. Hа мой взгляд, подобрать пароль вручную проще, чем написать соответствующую программу: не каждый же день вы эти пароли подбираете! Где находится пароль - см. ниже, оттуда его и берем. А принцип прост: запускаем Internet Mail, заходим в Сообщение -> Параметры -> Сервер. Запускаем REGEDIT переходим в HKEY_CURRENT_USER' -> .Software -> Microsoft -> InternetMail and News -> Mail -> POP3 -> <Ваш сервер>: смотрим Password.
(*) Удаляем пароль в Internet Mail. Первый подбираемый символ влияет на первый и второй байты, второй - на второй и третий, третий - на третий и четвертый. Теперь: подбираем символ так, чтобы первый байт совпал с оригиналом, а второй или
совпал, или был самый большой, но меньше оригинала. Аналогично для второго и третьего символов. С подбором третьего символа все четыре байта должны совпасть! Если нет - извините, вы ошиблись. Естественно, после каждой замены символа нажимаем <Применить>. Результат контролируем REGEDIT'OM, переходя выше/
ниже для обновления информации. Когда первые три символа подобраны, возвращаемся к (*) для следующихтрех, и т. д. до конца. Разумеется, байт(ы) 3Dh подбирать не нужно! После некоторой тренировки на все это уходит меньше 15 минут.
А где это счастье хранится? И, кстати, ведь кроме логина и пароля еще многое нужно знать, а откуда, не звонить же провайдеру? - Hе надо никому звонить! Все в нем, в USER.DAT.
HKEY_CURRENT_USER -> RemoteAccess -> Addresses: и мы имеем список подключений. Да, но там ничего не понятно, цифирь... Правильно! Выбираем байт, которого больше всего, и дешифруем им все остальные (обычный ХОR). В результате в куче всякой ерунды получаем ASCII-строку с номером модемного телефона про-
вайдера.
HKEY_CURRENT_USER -> RemoteAccess -> Profile -> <подключение> -> IP: со смещения OCh четыре байта задом наперед - первичный DNS, затем еще четыре - вторичный, и т. д.
HKEY_CURRENT_USER-> RemoteAccess-> Profile -> <подключение> -> User: логин.
HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> CurrentVersion -> InternetSettings -> ProxyServer: Proxy-сервер и порт.
HKEY_CURRENT_USER -> Software -> Microsoft -> Internet
Mail and News -> Mail:
-> DefaultPOP3Server:
-> DefaultSMTPServer:
-> SenderEMail:
-> Name:
-> Organization: это все и так понятно.
-> POP3 -r <РОРЗ-сервер>:
-> Account: это понятно.
-> Password: ну вот и он, родимый.

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

В заключение (да минует меня чаша сия!) могу сказать следующее: не берите и уж тем более не запускайте у себя всякие <крякеры Интернета>, почерпнутые с BBS и из FIDO. Они могут <крякнуть> только информацию на вашем винчестере! Ибо тот, кто
может взломать провайдера, никогда не будет распыляться на такую мелочь, а другие в лучшем случае могут подбирать пароли по словарю, а это бесполезно, в худшем - над вами просто хотят посмеяться или, того хуже, сделать вам гадость (прецеденты уже
были).

Олег olegk99@chat.ru



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте