Если ему везло, он мог найти шесть и даже больше учетных записей – имен пользователей и паролей – в своем файле. Процесс был полностью автоматизирован. Затем Electron мог зарегистрироваться в Мельбурнском университете, используя взломанные учетные записи, каждая из которых могла послужить отправным пунктом для вторжения в другие системы, и все это по цене одного местного телефонного звонка.
Взламывать пароли в Unix было не особенно трудно, при условии, что разные компоненты программы, такие как словарь, установлены должным образом. Но это требовало времени. Принцип был прост. Пароли, хранимые в файлах паролей с соответствующими именами пользователей, были зашифрованы. Отменить процесс зашифровки было так же невозможно, как вернуть омлет к состоянию яйца. Вместо этого требовалось воссоздать процесс зашифровки и сравнить результаты.
Нужно было выполнить три основных шага. Во-первых, наметить компьютер и получить копию файла с паролями. Во-вторых, взять список наиболее часто используемых имен пользователей из файла паролей или из словаря и зашифровать их, образовав другой список. В-третьих, сравнить оба списка. Если вы увидите совпадение, пароль найден.
Но существовало одно серьезное затруднение – дополнительный элемент salt. Salt изменяет способ зашифровки пароля, слегка модифицируя режим работы алгоритма зашифровки DES. Например, слово «Underground», зашифрованное двумя различными способами с двумя различными salt, может выглядеть «kyvbEx-McdAOVM» или «lhFaTmw4Ddrjw». Два первых символа представляют salt, остальные – пароль. Компьютер произвольно выбирает salt, когда зашифровывает пароль. Из существующих 4096 разных salt используется только один. Все компьютеры Unix используют salt в процессе зашифровки паролей.
Salt использовался для того, чтобы затруднить взлом паролей: после их применения хакер не мог просто зашифровать пароль, а потом сравнить его с каждым списком зашифрованных паролей, полученных за время хакерских вторжений. 4096 salt означали, что хакеру придется использовать 4096 различных словарей – каждый для своего salt, – чтобы обнаружить в словаре один из паролей.
Но даже зашифровка большого словаря 25 раз с использованием 25 различных salt занимает слишком много места на жестком диске примитивного домашнего компьютера. И это только словарь. Самые продвинутые крэкинг-программы также делают «обоснованные предположения» для паролей. Например, программа может взять имя пользователя и попробовать с ним комбинации заглавных и прописных букв. Добавить в конце «1». Короче, программа делает новые попытки, переставляя, тасуя, изменяя и вновь комбинируя базовую информацию – имя пользователя – в новое «слово».
– У меня 24 000 слов. Чертовски много, – сказал Electron.
Сокращение словаря было балансированием в поисках компромисса. Чем меньше слов было в крэкинг-словаре, тем меньше времени требовалось, чтобы взломать зашифрованные пароли. Но чем меньше был словарь, тем меньше получалось вариантов и, следовательно, шансов взломать пароль любой отдельно взятой учетной записи.
– Хм. У меня 24 238. Давай лучше вместе их сократим.
– Ладно. Назови букву.
– С. Начнем с С.
– Почему С?
– Потому что кошку моей бабки зовут Cocoa.
– О’кей, погнали. Cab. Cabal. Cabbala. – Electron замолчал. – Что это еще за Cabbala?
– Фиг знает. Ладно, эти у меня есть. Кроме Cabbala. О’кей. Cabaret. Cabbage. [p106] Cabbage – капуста (англ.).
Черт, ненавижу капусту. Кто мог взять такой пароль?
– Какой-нибудь англичашка, – ответил Electron.
– Да уж, – засмеялся Phoenix, прежде чем продолжить. Иногда Phoenix возвращался к мыслям о предупреждении Force. Но большую часть времени они едва теплились в дальнем уголке его мозга, хотя и не преставали волновать его. Force воспринял это предупреждение достаточно серьезно. Он не только прекратил всякое общение с Electron’ом, казалось даже, что он совсем ушел из хакинга.
На самом деле у Force появилось новое увлечение – музыка. Он писал и исполнял собственные песни. В начале 1990 года он так серьезно занялся музыкой, что практически заморозил Realm. Его членам пришлось собираться в машине другого участника Realm, Nom, примерно около месяца.
Но Phoenix знал, что это не конец истории. Хакер не может просто так уйти из хакинга. Во всяком случае, не Force. Он был одержим хакингом. Это просто не имело смысла. Здесь, вероятно, было что-то еще. Phoenix успокаивал себя тем, что последовал совету Force и стал держаться подальше от Electron’a. Ну, во всяком случае, какое-то время.
Он действительно отдалился от Electron’a, понаблюдал и выждал время, но ничего не произошло. Electron был, как обычно, активен, но никто его не преследовал. Ничего не изменилось. Возможно, информация Force была ошибочной. Если бы федералы собирались что-нибудь предпринять, Electron был бы уже задержан. Поэтому Phoenix восстановил свои отношения с Electron’ом. Искушение было слишком велико. Phoenix не собирался позволить самолюбию Force мешать его личному прогрессу.
Читать дальше