В свое время информация по данному сабжу меня очень интересовала, но была она в то время разрознена и не системотизированна. Да и здесь на форуме довольно часто возникали подобного рода вопроса. Нашел ресурс, где вполне грамотно и толково все это расписано. После получения разрешения у ShooTer'а, публикую инфу здесь, с указанием ссылки на сатй, где была взята инфа.
Итак.
Введение
Завязалась у меня как-то по электронной почте небольшая дискуссия с одним читателем на тему — кто такой ламер? В результате недолгой переписки мы пришли к единому мнению, что далеко не каждый неопытный пользователь — ламер, и не каждый ламер — неопытный пользователь. Что это значит? А значит это то, что непробиваемым ламером может оказаться и проработавший несколько десятков лет за компьютерами системный администратор, поскольку ламерство — это не отсутствие знаний, а ничем не подкреплённая уверенность в их наличии. Как там говорил кто-то из великих мудрецов (редактор наверняка в курсе — кто)? «Я знаю, что ничего не знаю». Ламер же знает, что он знает всё.
Системный администратор, имеющий даже весьма серьёзные пробелы знаний в областях, имеющих непосредственное отношение к его рабочим обязанностям, не так уж и фатален для всего технологического процесса, протекающего в подведомственной ему локальной сети. В конце концов, нормальный человек имеет склонность к постоянному повышению своего образовательного уровня, да и наличие нескольких сисадминов, как правило, заметно улучшает суммарное качество их работы — опыт одного дополняют знания другого. Гораздо хуже, на мой взгляд, если системный администратор начинает сваливать свою вину на подопечных пользователей — дескать, это они, такие сякие, ведут себя нелояльно, так и норовят всё на свете хакнуть, и вообще, не умеют обращаться с компьютером. Дык, ёлки-палки, это ж твоя задача — сделать так, чтобы, во-первых, система не только была надёжно защищена от «дурака», но и как-то сопротивлялась хотя бы самым элементарным приёмам взлома. А во-вторых, создать для пользователей такие условия работы, чтобы во взломе просто не было никакой необходимости, и это, возможно, даже эффективнее. То есть работать надо, выполнять свои прямые обязанности. Ставить нужный пользователям софт, разграничивать грамотным образом пользовательские привилегии, делать так, чтобы всем было комфортно, а не только сисадмину. Если же на просьбу установить простейшую программу типа Exact Audio Copy сисадмин задаёт вопрос «А зачем?» и отсылает к более высокому начальству за разрешением, то про него сразу всё становится ясно. Ну не хочет человек оторвать зад от стула, прикрываясь словами, что на рабочем ПК должен быть установлен софт только для работы. Как правило, именно в сетях с такими администраторами и творится чёрт знает что — пользователи, не видя админа месяцами, устанавливают такой софт, что мама не горюй! Диски забиты играми, порнухой и вирусами… Но зато сам сисадмин формально ни за что не отвечает — пользователи ведь делают всё это самовольно. И именно в таких сетях нередко возникают эксцессы со взломом системы, после случайного вскрытия которых недобросовестный админ тут же бежит жаловаться любимому начальнику, где начинает брызгать слюнями и исходить жуткой вонью с единственной целью — пытаться доказать, что это не он так плохо работает, а пользователи обнаглели. И ваще, хороший пользователь — мёртвый пользователь, а он весь такой белый и пушистый и сам про взлом всё знает, только непонятно, почему ничего не сделал для его предотвращения. Хотя дураку ясно, если админа живьём увидеть можно только у начальника в кабинете, то пользователям волей-неволей приходится брать права администратора на себя. Надо ли говорить, что админ, который не сумел защитить компьютер от взлома даже со стороны обычного, ленивого на всякие дополнительные телодвижения, пользователя, и подавно не защитит сеть от проникновения активного и действительно злонамеренного хакера. Благо, делается это в считающейся на сегодня самой надёжной Windows 2000 минут этак за 10 (Windows XP встречается в сетях пока редко, но не сильно превосходит в этом плане «Винтукей»).
Загрузка — основа основ
Способов «взлома» локальной Windows NT, вообще говоря, множество. Это и получение паролей других пользователей, в том числе администратора. Это и сброс или замена пароля администратора. Это и повышение до максимума пользовательских привилегий непосредственно из-под своей учётной записи, имеющей изначально весьма ограниченные права. Это и осуществление доступа к чужим файлам и многое другое. Из всех этих способов самый, на мой взгляд, элегантный и неразрушающий — получение полного списка паролей локальной машины. Ситуаций, когда взлом вероятен или даже необходим, тоже немало. Собственно говоря, само понятие «взлом» может применяться и к абсолютно законным случаям, прикрываясь фиговым листком фразы «восстановление забытых паролей». Ведь именно такая задача нередко стоит и перед самими системными администраторами, поскольку случаев, когда админ уволился, не сказав все пароли своему преемнику — пруд пруди. И используются при этом самые натуральные и достаточно известные хакерские методы. А уж пользователей, которые забыли понаставленные с бодуна пароли…
Вторая сторона медали во всём этом неблагодарном деле — умение по мере сил и возможностей противостоять взлому. Любой администратор самой маленькой локальной сети обязан это делать. Аксиома! Доказательств не требуется… Но не надо забывать и того, что всякого рода любопытным личностям или даже силовым структурам (легальным и нелегальным) может понадобиться полный или скрытый доступ и к вашему личному домашнему или мобильному ПК, если только информация на нём представляет хоть какую-то ценность. А потому, быть как минимум в курсе наличия брешей в безопасности своей собственной системы желательно и самому обычному пользователю, не только системному администратору. Конечно, если вас посадят на раскалённый утюжок, то тут будет уже не до сохранения паролей, но мы рассмотрим здесь чисто софтовый аспект проблемы. Различные методы «социального инжиниринга», «новорусские» пытки и шпионские штучки типа скрытых камер в отдушине или «жучков» в клавиатурном кабеле пока оставим за кадром.
И для осуществления большинства задач по взлому (будем всё же называть это именно так — «восстановление паролей» звучит хуже) системы необходимо загрузить на ПК альтернативную операционную систему — DOS, Linux или что-то ещё (например, можно перенести жёсткий диск на другой ПК со «своей» Windows NT). Думаю, понятно, что в системе, на которой можно запустить NTFS for DOS, NTFS for Windows 98, ERD Commander (все —
http://www.winternals.com/), Paragon NTFS for Windows, Active@ NTFS Reader for DOS (
http://www.ntfs.com/), Windows Preinstallation Environment или «линуксовый» LiveCD, абсолютно невозможно скрыть свои частные документы от посторонних глаз, не прибегая к дополнительному шифрованию. А потому, сисадмин, который не предпринял никаких, даже простейших мер по предотвращению загрузки ПК со сменных носителей, или не очень умный или очень ленивый. А самый элементарный способ — установка пароля в CMOS Setup, плюс разрешение загрузки ПК только с диска С:.
Надо сказать, что существуют два наиболее распространённых метода ограничения доступа к компьютеру с помощью настроек CMOS Setup: запрет изменения настроек CMOS Setup и требование ввода пароля при загрузке компьютера. В обоих случаях для законного снятия блокировки необходимо знание установленного в системе пароля. Встречаются, конечно, и дополнительные меры защиты на уровне «железа», это, в частности, очень распространено в портативных компьютерах — ноутбуках. Например, парольная защита, встроенная в жёсткий диск или даже механические замки. Защищённый паролем жёсткий диск (hard disk lock password) часто оказывается бесполезен даже при его переносе на другую машину, и такой пароль неспециалисту не удастся сбросить ни форматированием ни переразбиением диска. Нередко для предотвращения неавторизованного доступа к ноутбуку применяются специальные микросхемы, которые либо просто в защищённом виде хранят пароль BIOS, либо осуществляют какую-то более серьёзную защиту, например, поддержку аутентификации по смарт-картам или отпечаткам пальцев. Впрочем, и такую защиту компетентные товарищи всё же ломают, причём в ряде случаев даже таким относительно простым способом, как перепрошивка БИОСа или подмена чипа на аналогичный чип с уже известным паролем (
http://www.pwcrack.com/). Но в любом случае затраты на защиту, конечно, должны соответствовать возможному ущербу от неавторизованного доступа и вероятному упорству потенциальных хакеров. Для обычной офисной «локалки» дальше пароля на BIOS, вероятно, смысла идти всё же нет, а если вы вдруг начнёте заниматься банковским делом, то слабую гарантию безопасности может дать разве что круглосуточный охранник, готовый по условленному сигналу в пух и прах расстрелять из «Калашникова» жёсткий диск сервера. Да и то, если охранник неподкупный…
Итак, если вы можете загрузить компьютер в обычном режиме или с дискеты, т. е. пароль непосредственно на загрузку не установлен, то вскрыть пароль на изменение настроек CMOS Setup часто довольно легко — для этого написано немало специализированных программ (кракеров), которые либо вообще сбрасывают пароль в пустоту, либо элементарно выводят его на экран компьютера. Например, пара «линуксовых» утилит исключительно для установки паролей ноутбуков Toshiba имеется здесь:
http://www.buzzard.org.uk/toshiba/passwords.html.
Надо только учитывать, что для BIOS от разных производителей обычно используются разные программы, найти которые в Интернете не так уж сложно, достаточно в любой поисковой системе задать поиск, например, по такой маске: «Award BIOS Cracker» или «AMI BIOS password recovery». Не все такие программы, правда, гарантированно сработают, они обычно жаждут чистого DOS, но вскрыть пароль с их помощью более чем реально.
Известен также «ручной» метод сброса настроек BIOS из-под DOS, при помощи команды Debug. Загрузившись с дискеты в чистый DOS необходимо набрать в командной строке для Award и AMI BIOS:
DEBUG
-O 70 17
-O 71 17
Q
для Phoenix BIOS:
DEBUG
-O 70 FF
-O 71 17
Q
Если же в системе установлен пароль и на загрузку ПК, то дело лишь немного усложняется. Вскрыть такую защиту тоже можно несколькими способами. Самый простой — вообще сбросить все настройки CMOS Setup в состояние по умолчанию. Естественно, при этом и требование ввода пароля будет отключено (что может заметить админ). Для корректного проведения такой операции желательно найти инструкцию к материнской плате (полагаю, в Интернете их навалом) и в соответствии с её указаниями переставить определённую перемычку на материнской плате. Обычно она располагается возле края платы, рядом с батарейкой или же рядом с процессором и маркируется «CLEAR», «CLEAR CMOS», «CLR», «CLRPWD», «PASSWD», «PASSWORD», «PWD». На лаптопах её можно найти под клавиатурой или в открываемых отсеках нижней части. Если такой вариант по каким-либо причинам не проходит, то можно попробовать на несколько минут (редко — часов, если имеется ёмкий конденсатор) вынуть батарейку или сам чип CMOS из материнской платы — этого также достаточно для обнуления всех настроек CMOS (желательно при этом отсоединить и блок питания). В крайнем случае, если аккумулятор намертво впаян в плату, то допускается даже замыкание его контактов, но это, как вы понимаете, уже менее грамотно и гарантии сохранности оборудования вам в этом случае никто не даст (хотя вряд ли что-то при этом сломается). Однако в случае с ноутбуками, особенно IBM Thinkpad, обычно крайне не рекомендуется отключать батарейку, так как это может привести к невозможности загрузить ПК, поскольку в некоторых таких машинах используется скрытый от пользователя пароль жёсткого диска (включается он обычно вместе с установкой пароля Supervisor), который при сбросе питания система попросту забывает. В подобных ситуациях настройки CMOS следует сбрасывать только в соответствии с инструкцией на ноутбук — джампером на плате.
На некоторых машинах можно обойти ввод пароля путём нажатия некой комбинации клавиш при загрузке ПК, например, если держать зажатым левый SHIFT (на Toshiba), INSERT (некоторые версии AMI BIOS) или же если в течение загрузки несколько раз одновременно нажать обе кнопки мыши (IBM APTIVA). Иногда помогают и такие не вполне корректные способы, как переполнение буфера клавиатуры путём быстрого многократного нажатия клавиши ESC при загрузке или даже загрузка ПК без клавиатуры или мыши. В Phoenix Ambra сбросить пароль можно, если загрузить ПК с отключенным от жёсткого диска IDE-шлейфом.
Кроме того, встречаются и такие необычные способы сброса пароля CMOS, как навешивание специальной заглушки на LPT-порт у ноутбуков Toshiba, в которых даже полное снятие питания может не сбросить пароль, хранящийся в энергонезависимой памяти. Для этого надо просто распаять стандартный коннектор 25pin, соединив контакты: 1-5-10, 2-11, 3-17, 4-12, 6-16, 7-13, 8-14, 9-15, 18-25.
Для ноутбуков Toshiba мне попался в Интернете ещё один интересный способ обхода пароля BIOS. Вот что он из себя представляет. Берётся дискета, и в любом шестнадцатеричном редакторе изменяются первые пять байтов второго сектора (если загрузочный сектор считать первым) таким образом, чтобы они равнялись: 4B 45 59 00 00. Изменения сохраняются, и вы получаете ключевую дискету! Теперь вставляете её в ноутбук, перегружаете его, при запросе пароля просто жмете Enter и появляется запрос на подтверждение ввода нового пароля (пустого!), на который отвечаем «Y» и Enter. Всё, пароль сброшен. Сам я этот способ не проверял — обладатели ноутбуков Toshiba могут поэкспериментировать на досуге. А готовую ключевую дискету для Toshiba можно скачать по адресу
http://www.cgsecurity.org/keydisk.exe.
И, наконец, уже давно повелось, что производители BIOS оставляют в своих программах специальные «чёрные ходы» или так называемые «инженерные пароли» (а вы сомневались? Думаете, в Windows такого нет?). Всё бы хорошо, но инженерные пароли относительно старых систем давным-давно всем известны, а вот для новой материнской платы или современного «брендового» ноутбука вы, скорее всего, такой уже не подберёте. Более того, компания Award предоставляла производителям оборудования даже специальную утилиту MODBIN.EXE для установки своего собственного инженерного пароля, так что узнать такой пароль может оказаться непростой задачей. Тем не менее, я приведу список наиболее известных паролей (учтите, что символ «_» на американской клавиатуре может соответствовать «?» на европейской)