Mini-ats102.ru

ООО “Мультилайн”
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка общего доступа без пароля на Windows 7

Настройка общего доступа без пароля на Windows 7

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

Настройка сети

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

Аналогичные статьи для других ОС:

Итак, шаг за шагом.

Хранение и шифрование паролей Microsoft Windows

Про взлом паролей windows было написано немало статей, но все они сводились к использованию какого-либо софта, либо поверхностно описывали способы шифрования LM и NT, и совсем поверхностно описывали syskey. Я попытаюсь исправить этот неодостаток, описав все подробности о том где находятся пароли, в каком виде, и как их преобразует утилита syskey.

Существует 2 возможности получения пароля — через реестр, или получив прямой доступ к файлам-кустам реестра. В любом случае нужны будут либо привелегии пользователя SYSTEM, либо хищение заветных файлов, например, загрузившись из другой ОС. Здесь я не буду описывать возможности получения доступа, но в целях исследования нагляднее будет выбрать первый вариант, это позволит не заострять внимание на структуре куста реестра. А запуститься от системы нам поможет утилита psExec от sysinternals. Конечно, для этих целей можно использовать уязвимости windows, но статья не об этом.

V-блок

Windows до версии Vista по умолчанию хранила пароль в двух разных хэшах — LM и NT. В висте и выше LM-хэш не хранится. Для начала посмотрим где искать эти хэши, а потом разберемся что из себя они представляют.

Пароли пользователей, а так же много другой полезной информации хранится в реестре по адресу HKLMSAMSAMDomainsAccountusers[RID]V
, известном как V-блок. Раздел SAM находится в соответствующем файле c:WindowsSystem32configSAM. RID — уникальный идентификатор пользователя, его можно узнать, например заглянув в ветку HKLMSAMSAMDomainsAccountusersnames<имя пользователя> (параметр Default, поле — тип параметра). Например, RID учетной записи «Администратор» всегда 500 (0x1F4), а пользователя «Гость» — 501 (0x1f5). Доступ к разделу SAM по умолчанию возможен только пользователю SYSTEM, но если очень хочется посмотреть — запускаем regedit c правами системы:

PsExec.exe -s -i -d regedit.

Чтобы наблюдать V-блок в удобном виде можно, например, экспортировать его в текстовый файл (File-Export в Regedit).
Вот что мы там увидим:

От 0x0 до 0xCC располагаются адреса всех данных, которые находятся в V-блоке, их размеры и некоторая дополнительная информация о данных. Чтобы получить реальный адрес надо к тому адресу, что найдем прибавить 0xCC. Адреса и размеры хранятся по принципу BIG ENDIAN, т.е понадобится инвертировать байты. На каждый параметр отводится по 4 байта, но фактически все параметры умещаются в одном-двух байтах. Вот где искать:

Читайте так же:
Где найти буфер обмена в windows 7

Адрес имени пользователя — 0xС
Длина имени пользователя — 0x10
Адрес LM-хэша — 0x9с
Длина LM-хэша — 0xa0
Адрес NT-хэша — 0xa8
длина NT-хэша — 0xac

В данном случае имя пользователя найдется по смещению 0xd4 + 0xcc и его длина будет 0xc байт.
NT-хэш будет располагаться по смещению 0x12c + 0xcc и его размер (всегда один и тот же) = 0x14.

Еще одна деталь, касающаяся хранения паролей — как к NT- так и к LM-хэшу всегда добавляются спереди 4 байта, назначение которых для меня загадка. Причем 4байта будут присутствовать даже если пароль отключен. В данном случае видно, что длина LM хэша =4 и если посмотреть на его адрес, можно эти 4 байта увидеть несмотря на то что никакого LM-хэша нет.
Поэтому при поиске смещений хэшей смело прибавляем 4 байта к адресу, а при учете размеров — вычитаем. Если удобнее читать код — вот примерно так будет выглядеть поиск адресов с учетом инверсии, лишних четырех байтов и прибавления стартового смещения 0xcc (код C#)

int lmhashOffset = userVblock[0x9c] + userVblock[0x9d] * 0x100 + 4 + 0xcc;
int nthashOffset = userVblock[0xa8] + userVblock[0xa9] * 0x100 + 4 + 0xcc;
int lmhashSize = userVblock[0xa0] + userVblock[0xa1] * 0x100 — 4;
int nthashSize = userVblock[0xac] + userVblock[0xad] * 0x100 — 4;
int usernameOffset = userVblock[0xc] + userVblock[0xd] * 0x100 + 0xcc;
int usernameLen = userVblock[0x10] + userVblock[0x1a] * 0x100;
userVblock — значение HKLMSAMSAMDomainsAccountusers\V в виде массива байт.
Еще про V-блок можно почитать тут.

Алгоритмы

Теперь разберемся в алгоритмах шифрования.
Формирование NT-хэша:
1. Пароль пользователя преобразуется в Unicode-строку.
2. Генерируется MD4-хэш на основе данной строки.
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.
Формирование LM-хэша:
1. Пароль пользователя преобразуется в верхний регистр и дополняется нулями до длины 14 байт.
2. Полученная строка делится на две половинки по 7 байт и каждая из них по отдельности шифруется алгоритмом DES. В итоге получаем хэш длиной 16 байт (состоящий из двух независимых половинок длиной по 8 байт).
3. Полученный хэш шифруется алгоритмом DES, ключ составляется на основе RID пользователя.

4. В windows 2000 и выше оба полученых хэша дополнительно шифруются алоритмом RC4 с помощью ключа, известного как «системный ключ» или bootkey, сгенерированого утилитой syskey, и шифруются довольно хитрым образом.

Рассмотрим общую последовательность действий для получения исходного пароля и каждый шаг в отдельности
1. Получаем bootkey, генерируем на его основе ключи для RC4, расшифровываем хэши с помощью RC4
2. Получаем ключи для DES из RID’ов пользователей, расшифровываем хэши DES’ом
3. Полученые хэши атакуем перебором.

Bootkey

Системный ключ (bootkey) разбит на 4 части и лежит в следующих разделах реестра:

HKLMSystemCurrentControlSetControlLsaJD
HKLMSystemCurrentControlSetControlLsaSkew1
HKLMSystemCurrentControlSetControlLsaGBG
HKLMSystemCurrentControlSetControlLsaData

Раздел system находится в файле c:WindowsSystem32configsystem

Следует отметить, что раздел CurrentControlSet является ссылкой на один из разделов controlset и создается в момент загрузки системы. Это значит что не получится его найти в файле system, если система неактивна. Если вы решили искать ключ в файле — необходимо узнать значение ContolSet по умолчанию в HKLMSYSTEMSelectdefault.
например если HKLMSYSTEMSelectdefault = 1 — вместо HKLMSystemCurrentControlSet ищем в HKLMSystemcontrolset001

Читайте так же:
Где найти блютуз в виндовс 10

У каждого ключа реестра есть некий скрытый атрибут, известный как «class». Regedit его так просто не покажет, однако его можно увидеть, например, если экспортировать эти ключи реестра в текстовые файлы. В winapi для получения этого атрибута есть функция RegQueryInfoKey.
Фрагменты хранятся в строковом представлении шестнадцатеричных чисел, причем по принципу BIG ENDIAN (т.е не строка задом наперед, а число).
Например мы обнаружили вот такие записи:

Key Name: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaJD
Class Name: 46003cdb = <0xdb,0x3c,0x00,0x46>
Key Name: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaSkew1
Class Name: e0387d24 = <0x24,0x7d,0x38,0xe0>
Key Name: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaGBG
Class Name: 4d183449 = <0x49,0x34,0x18,0x4d>
Key Name: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaData
Class Name: 0419ed03 =

Собраный из четырех частей ключ будет массивом байт:

Далее элементы этого массива переставляются на основе некоторого константного массива p

key[i] = scrambled_key[p[i]];

В нашем примере получится массив:

этот массив и есть так называемый bootkey. Только в шифровании паролей будет учавствовать не он а некий хэш на основе bootkey, фрагментов f-блока и некоторых констант. Назовем его Hashed bootkey.

Hashed bootkey

для получения Hashed bootkey нам понадобятся 2 строковые константы (ASCII):

string aqwerty = «!@#$%^&*()qwertyUIOPAzxcvbnmQQQQQQQQQQQQ)(*@&%»;
string anum = «0123456789012345678901234567890123456789»;
Также понадобится F-блок пользователя (HKLMSAMSAMDomainsAccountusers\F), а именно его 16 байт: F[0x70:0x80]

На основе этих значений, склееных в один большой массив формируем MD5 хэш, который будет являться ключем для шифрования RC4

rc4_key = MD5(F[0x70:0x80] + aqwerty + bootkey + anum).

Последним шагом для получения hashed bootkey будет rc4 шифрование( или дешифрование — в rc4 это одна и та же функция) полученым ключем фрагмента F-блока F[0x80:0xA0];

Hashed bootkey у нас в руках, осталось научиться с ним правильно обращаться.

Дешифруем пароли с помощью Hashed Bootkey

для паролей LM и NT нам понадобятся еще 2 строковые константы —

string almpassword = «LMPASSWORD»;
string antpassword = «NTPASSWORD»;

а так же RID пользователя в виде 4х байт (дополненый нулями) и первая половина Hashed Bootkey (hashedBootkey[0x0:0x10]);
Все это склеивается в один массив байт и считается MD5 по правилам:
rc4_key_lm = MD5(hbootkey[0x0:0x10] +RID + almpassword);
rc4_key_nt = MD5(hbootkey[0x0:0x10] +RID + antpassword);

полученый md5 хэш — ключ для rc4, которым зашифрованы LM и NT хэши в V-блоке пользователя

userLMpass = RC4(rc4_key_lm,userSyskeyLMpass);
userNTpass = RC4(rc4_key_lm,userSyskeyNTpass);

На этом этапе мы получили пароли пользователя в том виде в каком они хранились бы без шифрования syskey, можно сказать, что самое сложное позади. Переходим к следующему шагу

На основе четырех байт RID’а пользователя с помощью некоторых перестановок и побитовых операций создаем 2 ключа DES. Вот функции, которые осуществляют обфускацию (С#):
private byte[] str_to_key(byte[] str) <
byte[] key = new byte[8];
key[0] = (byte)(str[0] >> 1);
key[1] = (byte)(((str[0] & 0x01) << 6) | (str[1] >> 2));
key[2] = (byte)(((str[1] & 0x03) << 5) | (str[2] >> 3));
key[3] = (byte)(((str[2] & 0x07) << 4) | (str[3] >> 4));
key[4] = (byte)(((str[3] & 0x0F) << 3) | (str[4] >> 5));
key[5] = (byte)(((str[4] & 0x1F) << 2) | (str[5] >> 6));
key[6] = (byte)(((str[5] & 0x3F) << 1) | (str[6] >> 7));
key[7] = (byte)(str[6] & 0x7F);
for (int i = 0; i < 8; i++) <
key[i] = (byte)(key[i] << 1);
>
des_set_odd_parity(ref key);
return key;
>

private byte[] sid_to_key1(byte[] rid) <
byte[] s = new byte[7];
s[0] = (byte)(rid[0] & 0xFF);
s[1] = (byte)(rid[1] & 0xFF);
s[2] = (byte)(rid[2] & 0xFF);
s[3] = (byte)(rid[3] & 0xFF);
s[4] = s[0];
s[5] = s[1];
s[6] = s[2];

Читайте так же:
Где хранятся контакты windows live mail

private byte[] sid_to_key2(byte[] rid) <
byte[] s = new byte[7];
s[0] = (byte)((rid[3]) & 0xFF);
s[1] = (byte)(rid[0] & 0xFF);
s[2] = (byte)((rid[1]) & 0xFF);
s[3] = (byte)((rid[2]) & 0xFF);
s[4] = s[0];
s[5] = s[1];
s[6] = s[2];

Ну здесь особо комментировать нечего, кроме функции des_set_odd_parity(ref key) — это одна из функций библиотеки openssl, задача которой добавить некоторые «биты нечетности», используется для повышения стойкости ключа к атакам.

Далее разбиваем NT (или LM) хэш на 2 части по 8 байт и дешифруем DES’ом -одна половина зашифрована ключем сформированым функцией sid_to_key1, вторая — sid_to_key2.
obfskey_l = userNTpass[0x0:0x7]
obfskey_r = userNTpass[0x8:0xF]
byte[] deskey1 = sid_to_key1(RID);
byte[] deskey2 = sid_to_key2(RID);
byte[] md4hash_l = DES(obfskey_l, deskey1);
byte[] md4hash_r = DES(obfskey_r, deskey2);

После склеивания двух половин мы получим md4 хэш -в случае NT, или LanMan (DES) — в случае LM. Полученый хэш полностью готов к атаке перебором.
Кстати, md4 Хэш от пустого пароля — 31d6cfe0d16ae931b73c59d7e0c089c0

Исследование проведено на основе исходного кода ophcrack-3.3.1, а так же статьи Push the Red Button:SysKey and the SAM

Когда может потребоваться такой подход

Для разъяснения ситуации послужит простой пример. В сервисный центр обращается пользователь, который забыл пароль от системы. Грозит это переустановкой ОС и потерей важных данных.

Но пользователь знает пин-код системы (для примера приводится работа с Windows 10, а пользователь – счастливчик) и это позволяет быстро сбросить пароль и поставить новый. В иной бы ситуации, проблема была бы куда как серьёзнее.

Справедливости ради: Хорошие мастера в состоянии переустановить систему без потери данных. Причём сделать чистую установку. Это требует творческого подхода. То есть занимаются подобным только истовые энтузиасты. Таких сейчас мало, поэтому услуга или не предоставляется, или стоит огромных денег.

Другим примером может послужить ситуация, когда пароль установлен с опечаткой. Осознание проблемы приходит вовремя, поэтому исправить её ещё не поздно. Так, что способ покажется весьма действенным.

Как отключить ввод пароля?

Но всё это справедливо лишь при наличии пароля. Если он отключён, то лишних действий проделывать не придётся. Значит, разберём как отключается или включается пароль в windows 7.

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

Описываемый способ довольно прост. Нужно лишь строго следовать инструкциям. Его плюсом является универсальность. Все действия совершаются с помощью командной строки. Поэтому подходит это решение для всех без исключений версий ОС Windows.

  1. Нажимаем на клавиатуре сочетание клавиш “Win+R”.Выполнить
  2. Вводим следующий текст: netplwiz.netplwiz
  3. Нажимаем Enter и смотрим на открывшееся.
  4. В этом окне видим чекбокс «Требовать ввод имени пользователя и пароль». Убираем из него галочку. При следующем запуске системы пароль уже запрашиваться не будет.

Такой вот нехитрый способ, который справедлив для всех версий Windows. По результатам проверки оказалось, что он срабатывает даже в Win98. А Это уже огромное достижение для любого способа.

Читайте так же:
Где на компе блютуз виндовс 7

Сброс пароля

Данный способ рекомендуется, если есть необходимость отказаться от использования старого пароля. Например, он был забыт по каким-то причинам. Тогда отличным решением будет именно сброс. И решение снова универсальное – работа ведётся через командную строку.

Примечание: Решение работает даже при запуске в безопасном режиме с поддержкой командной строки. Что может оказаться крайне полезно при работе с проблемным ПК.

  1. Запускаем командную строку. Можно с помощью сочетания клавиш “Win+R” и ввода текста “cmd” в поле «выполнить».cmd
  2. После нажатия “Ok” запустится командная строка.
  3. В неё нужно ввести следующую команду: net user. Система ответит тем, что даст список учётных записей компьютера. Эта информация понадобится в следующей команде.Командная строка
  4. Повторяем ввод предыдущей команды, но добавляем к её тексту название учётной записи.
  5. Таким образом пароль был сброшен, а система запросила новый. Если ничего не ввести в ответ, то пароля не будет, а значит и вход будет осуществляться без него.

Следует отметить также пару нюансов. Если название учётной записи содержит пробелы, то вводить её следует в кавычках. Также следует вводить её, если название написано кириллицей. Помня об этих моментах можно сэкономить уйму времени, а не искать ошибки там, где они столь ничтожны.

Как всё-таки украсть пароль?

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

То есть просто так взять и поменять его не выйдет. Если только это не делает администратор фирмы. Именно поэтому ОС семейства Windows и считаются такими надёжными. Ведь для взлома недостаточно даже физического доступа. Нужно ещё и знать пароль.

Но есть и способы его заполучить:

  • пытки. Нет, на дворе, конечно, XXI век. Но считать, что преступники не прибегнут к пыткам наивно. Это всё ещё самый эффективный способ получения информации. Хотя и незаконный;
  • Keylogger. Специальная программа, которая отслеживает вводимую с клавиатуры информацию. Она может маскироваться под окно входа Windows. Что собственно и позволяет таким программам красть пароли;
  • грубый злом. Либо же bruteforce. То есть способ взлома перебором случайных комбинаций по псевдослучайному алгоритму. Есть вероятность, что таким образом за пару недель пароль удастся подобрать.
  • социальный взлом. Нередко паролем ставится дата рождения. Неважно чья. Просто правильный подход и подбор вариантов и позволяют выявить истинный пароль. Ведь близкая сердцу дата запоминается лучше, чем случайный набор цифр.

Таким образом даже блокировка компьютера не обеспечивает полной безопасности ведь всегда есть способ переиграть даже блокировку. Всё упирается во внимательность пользователя и его умение правильно хранить свою информацию!

Где отключается запрос ввода сетевых учетных данных?

Делается это через панель управления. Зайдя в нее, находим там значок «Центр управления сетями и общим доступом» и переходим по нему.

Центр управления сетями и общим доступом

В открывшемся окне слева вверху выбираем «Изменить дополнительные параметры общего доступа».

Читайте так же:
Восстановление active desktop windows xp как исправить

Настройка сетевого доступа

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

Отключение запроса пароля по сети

Стоит отметить что таким образом можно отключить запрос ввода сетевых учетных данных не только в Windows 10, но также в Windows 7 и Windows 8.1.

Во всех описанных выше способах отсутствует сохранённый пароль

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

В противном случае возникнет ошибка:

Нет доступа \КОМПЬЮТЕР. Возможно, у вас нет прав на использование этого сетевого ресурса. Обратитесь к администратору этого сервера для получения соответствующих прав доступа.

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

Ещё один вариант:

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

Для её исправления вы можете установить пароль описанным способом с помощью «Сохранение имён пользователей и паролей», либо используя «быстрый способ» указав вместо имени компьютера IP адрес (или наоборот).

Смотрите такжке полное Руководство по SMB и Samba.

Через командную строку

Чтобы узнать пароль от WiFi через командную строку Windows 7, откройте меню «

Пуск» и наберите на клавиатуре « cmd«. В самом верху будет найдена программа командной строки «cmd». Кликните по ней правой кнопкой мыши и выберите «Запуск от имени администратора».

  1. netsh wlan show profiles — Команда отобразит список всех сохраненных беспроводных сетей.
  2. netsh wlan show profiles name= Vashe-nazvanie key=clear — Команда отобразит параметры сохраненной сети с названием «Vashe-nazvanie», в том числе и пароль ( Содержимое ключа), но только если командная строка запущена от имени администратора.

5 способов узнать пароль от WiFi в два клика

Видео инструкция: как узнать пароль от WiFi через командную строку Windows 7

YouTube Video

Что сделать, чтобы пароли перестали сохраняться?

Есть возможность настроить систему так, что она перестанет сохранять пароли. Кому именно понадобится подобная настройка, сказать не могу, но проделать это можно:

  1. В панели кликнем по ссылочке «Администрирование»;12 администрирование
  2. В открывшемся окошке справа нам нужно найти строку «Локальная политика безопасности»;13 локальная политика безопасности
  3. У нас открывается окошко с этим названием, где нам нужно выбрать каталог «Локальные политики», после этого выбираем папочку «Параметры безопасности»;14 сетево доступ не разрешать
  4. Теперь нам нужно в правом окошке найти строчку «Сетевой доступ: не разрешать хранение паролей…». После этого, нужно кликнуть по данной строке ПКМ и в ниспадающем меню выбрать вкладку «Свойства»;15 сетевой доступ включен
  5. У нас открывается новое окошко, где нам нужно поставить чикбокс над командой «Включён».

Теперь операционная система перестанет сохранять пароли. Хотя, я вам выполнять данную функцию не советую.

Вывод: проблема ввод сетевых учетных данных Windows 10, где найти логин и пароль нами решена. Я думаю, вы всё настроите так, как вам нужно. Успехов!

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector