[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
"Пароли, пароли, пароли…"-*** Change Password ***-
Назначение проекта:
    Предоставление доступа к локальной системе Windows путём смены пароля и статуса локальных учётных записей, и/или подмены системных утилит, вызываемых нажатием "горячих клавиш" на экране входа в систему.

Представляет собой:
    Командный бат-файл.

Область применения:
  • Операционная система: MS Windows XP/7/8.1/10
  • Разрядность: x86/x64
  • Язык: ~любой (тестировалось на европейских языках)

Способ применения

Загружаемся из любой WinPE. Запускаем бат-ник, который просканирует диски в поисках Windows (если дисков с Windows не один, то предложит ввести нужный). Далее будет предложено:
  • Установить обработчик учётных записей
      Сделает твик реестра (куст System) целевой Windows и добавит бат-ник в корень найденного/выбранного системного диска. После чего можно перезагрузиться в целевую систему. На этапе загрузки (до появления экрана входа в систему) откроется консольное окно со списком пользователей. Ввести номер нужного пользователя и:
      • Сменить ему пароль/Конвертировать «Учётную запись Microsoft» в локальную;
      • Активировать/Деактивировать;
      • Сделать локальным Администратором.
      По завершении работы бат-ник удалит из реестра свой запуск и самого себя с системного диска.
      Существует возможность автоматического создания локального Администратора, если номером пользователя ввести 544.
      Создаётся пользователь: aaddmm66 (если не введено другое имя) с паролем: AdminPass666
      Если в строке ввода номера пользователя ввести cmd, то откроется доп.консоль, куда можно вводить команды ОС (или, например, запустить с флешки любимое приложение).-Если обработчик учётных записей уже был установлен, то появится пункт меню, позволяющий удалить установленный обработчик (бат-ник из корня системного диска целевой Windows так же будет удалён).

  • Выполнить подмену системных утилит (два способа)
      1. Создание соответствующих веток в реестре целевой Windows в разделе
      HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
      2. Подмена файлов целевой Windows %SystemRoot%\System32\Utilman.exe, magnify.exe и sethc.exe на cmd.exe (а исходные файлы будут переименованы в *.bak).
      Дополнительно сам бат-ник будет скопирован в %SystemRoot%\System32\112.cmd. На этапе входа в систему (окно со списком аккаунтов и ввода пароля) нажать одно из сочетание клавиш: Win_U, или Win_+, или нажать клавишу Shift пять раз.
      Если подмена сделана первым способом (через реестр), то запустится обработчик учётных записей. Если подмена сделана вторым способом (через замену файлов на cmd.exe), то откроется консольное окно, где можно вводить команды ОС или запустить с флешки любимое приложение. Если в окне консоли ввести 112, то запустится обработчик учётных записей (см п.1). Для применения сделанных обработчиком учётных записей изменений потребуется перезагрузка.
      По завершении работы бат-ник не удаляется и может быть запускаем до тех пор, пока существует подмена системных утилит.
      Внимание! В WindowsXP работает только комбинация "нажать Shift пять раз"-Если подмена уже выполнена, то появится пункт меню, позволяющий отменить сделанную подмену (соответствующие *.bak-файлы будут переименованы в исходные/ветки реестра удалены, а 112.cmd удалён).

  • Сохранить/Восстановить/Удалить копию ветки реестра SAM
      Позволяет создать копию ветки реестра SAM целевой Windows и, в случае неудачи при операциях смены паролей/статусов учётных записей, откатить сделанные изменения, путём восстановления сохранённой копии. Если же всё прошло удачно, то сохранённую копию можно просто удалить. При восстановлении ветки реестра SAM копия также удаляется.
      Как реализовано: в %SystemRoot%\System32\config целевой Windows создаётся папка ~SAM куда копируется ветка реестра.

*** Важно! ***

Важно! Если компьютер вошёл в "круговую перезагрузку", выполнить следующее: загрузиться в WinPE, выполнить бат-ник и выбрать пункт "Удалить установленный обработчик".-Важно! Во избежание "эффекта FastBoot" (ошибка "Реестр заблокирован!", диск целевой Windows монтируется не как С:, а другим диском) применять следующий порядок загрузки: загрузиться в целевую Windows, затем выполнить перезагрузку и загрузить WinPE (не грузить сразу WinPE из состояния выключенного ПК).-Важно! Убедитесь, что целевая Windows не находится в процессе установки обновлений (при перезагрузке не должно быть сообщений об установке). В противном случае, произведите необходимое количество перезагрузок целевой Windows до полного завершения установки обновлений.

Screenshots

Дополнительная информация

  • Проверена работоспособность на русской, английской, французской, польской Windows.
  • Интерфейс программы переведён на два языка: русский и английский. Русский язык выбирается при работе в русской Windows. Во всех остальных случаях интерфейс будет по-английски.
    Желающие добавить переводы на другие языки - милости просим!
  • Примечание к интерфейсу: простое (без ввода цифр) нажатие клавиши "Enter" равнозначно выбору пункта "0".
  • Примечание к имени файла: переименовывать бат-ник нежелательно; придерживаться правила: только латинские буквы, без пробелов и спец.символов; имя 112.cmd является зарезервированным.

ЧаВо

  • В: Как "сбросить пароль", чтобы входить в систему без ввода пароля?
  • О: При вводе пароля просто нажать Enter (и затем ещё раз, при подтверждении).
-
  • В: Почему нет опции "сброса пароля"? Почему такой сложный пароль у создаваемого локального Администратора?
  • О: На целевой Windows может быть настроена Политика паролей, которая может требовать, чтобы пароль состоял, как минимум, из больших и маленьких букв, и цифр (более подробно см. по ссылке пункт требований к сложности пароля).
-
  • В: Как сменить пароль учётной записи пользователя домена?
  • О: Никак. Сменить пароль можно только у локальной учётной записи (см. ниже рекомендации для «Учётной записи Microsoft», второй способ).
-
  • Если целевая Windows настроена на использование «Учётной записи Microsoft», то существует два способа решения. Первый - конвертировать «Учётную запись Microsoft» в локальную учётную запись (пароль при этом остаётся и может быть, в дальнейшем, сброшен/изменён по общим правилам). Это будет предложено в обработчике учётных записей вместо пункта "Смена пароля". Второй:
    • Активировать локального Администратора или создать его автоматически;
    • Сменить/сбросить, если необходимо, пароль активированного/созданного локального Администратора;
    • Деактивировать, если необходимо, учётную запись Microsoft;
    • Войти в систему под активированным/созданным локальным Администратором.
-
  • В: Будет ли работать бат-ник в установленной системе, а не WinPE? Как работать с Windows, установленной в VHD?
  • О: В установленной системе бат-ник работать будет, но необходимо запускать его от имени Администратора. Для работы с Windows, установленной в VHD, необходимо смонтировать VHD как локальный диск в оснастке «Управление дисками» (diskmgmt.msc) с разрешением записи и затем запустить бат-ник от имени Администратора.
-
  • В: После запуска нет ни одного пункта меню, кроме выхода из программы.
  • О: См. "Способ применения", *** Важно! ***, "эффект FastBoot"

Благодарность

Joker-2013, как инициатору проекта и активному участнику
korsak7, nikzzzz, за тестирование и дельные советы
Загрузить Change Password


Последний раз редактировалось: Ander_73 (2019-10-17 13:10), всего редактировалось 53 раз(а)

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
korsak7, идея - предоставление доступа к ПК. Запуск "лишнего" cmd - это просто лазейка для посторонних хотелок. Ты предлагаешь мне собственными руками всё уже написанное и отлаженное слить в унитаз и стать запускателем чужих батников? Без меня, плз.

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
korsak7, подправил запуск cmd. Теперь текущая папка та, где лежит ченджер.

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1082
  • Репутация:62

    [+] [-]
Типа пистолет выдали и крутись как хочешь ab
ps а в 3 строки таки можно уложиться af

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
korsak7, просто добавить запуск юзерцмд - одна строка, это понятно.
Ты, кстати, можешь сделать ещё хитрей. Положи рядом свою бонбу и назови её cmd.exe. ad

[Цитировать]

    Albert
  • 1131
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 160
  • Репутация:12

    [+] [-]
Ander_73
Расширение функциональности требует допила. При запуске нет описания типа: Если вместо номера пользователя ввести cmd, то откроется доп. консоль. Ну зашел в дополнительную консоль, ввел команды: msinfo32 (так как нет поддержки мышки, то пришлось закрывать окно комбинацией Alt+F4), systeminfo. Закрыл доп. консоль. А в первоначальном окне ничего сделать уже не могу. Далее мне показалось, что лучше запускать файл вида "exe", сделал SFX программой 7zSFX Constructor v4.3 (выбрал иконку в виде щита).
Правильно говорит korsak7
зачем вообще в реальной ситуации делать сложный пароль
Будет проще типа ad - 666 для локального Администратора.

[Цитировать]

    CryptoNick
  • 618
  • Стаж: 9 лет
  • Сообщений: 75
  • Репутация:124

    [+] [-]
49375Будет проще типа ad - 666 для локального Администратора.
Если включена политика, то она не даст создать пользователя, не удолетворяющего критериям....


Последний раз редактировалось: CryptoNick (2018-01-14 17:12), всего редактировалось 1 раз

[Цитировать]

    Albert
  • 1131
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 160
  • Репутация:12

    [+] [-]
Да, запамятовал. Объяснения были выше. Предлагаю пароль: Q-123456

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
49375При запуске нет описания типа: Если вместо номера пользователя ввести cmd
И не будет. Эта фишка не для юзера.
49375Закрыл доп. консоль. А в первоначальном окне ничего сделать уже не могу.
Ничего не понял. Внятнее, плз.
49377Предлагаю пароль: Q-123456
Зачем? Чем он лучше моего? Камрады, больше конструктива, плз.

[Цитировать]

    Albert
  • 1131
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 160
  • Репутация:12

    [+] [-]
Ander_73 Использовал предыдущую версию программы, скачал и проверил последнию версию программы, там все нормально и
Закрыл доп. консоль. А в первоначальном окне ничего сделать уже не могу.
устарело.
По поводу пароля мне показалось, что для набора он будет проще.
Единственно в первоначальном окне часть информации (шапка) съедается.

[Цитировать]

    CryptoNick
  • 618
  • Стаж: 9 лет
  • Сообщений: 75
  • Репутация:124

    [+] [-]
Вот что я увидел, запуская: NTPWEdit

Значит можно как то узнать из вне, в каком режиме находится "лежачая" система...
Можно спросить у автора утилиты, или покопаться в исходниках...

[Цитировать]

    Adler
  • 1708
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 1196
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
CryptoNick,
static BOOL CheckHiberfil(char const *path)
    {
    char hiberfil[] = "C:\\HIBERFIL.SYS";
    DWORD attr;
    HANDLE in;
    char buf[HIBR_TAG_LEN];
    DWORD count;
    BOOL res = TRUE;
    hiberfil[0] = path[0];
    attr = GetFileAttributes(hiberfil);
    if(attr == INVALID_FILE_ATTRIBUTES || (attr & FILE_ATTRIBUTE_DIRECTORY))
        return FALSE;
    in = CreateFile(hiberfil, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if(in == INVALID_HANDLE_VALUE)
        in = SuperOpen(hiberfil);
    if(in == INVALID_HANDLE_VALUE)
        return TRUE;
    if(ReadFile(in, buf, HIBR_TAG_LEN, &count, NULL))
        {
        if(count == HIBR_TAG_LEN && memcmp(buf, HIBR_TAG, HIBR_TAG_LEN) != 0)
            res = FALSE;
        }
    CloseHandle(in);
    return res;
    }
static HANDLE SuperOpen(char const *file_name)
    {
    HANDLE ret = INVALID_HANDLE_VALUE;
    HANDLE token = INVALID_HANDLE_VALUE;
    size_t const priv_size = sizeof(TOKEN_PRIVILEGES) + sizeof(LUID_AND_ATTRIBUTES);
    TOKEN_PRIVILEGES *priv = NULL;
    TOKEN_PRIVILEGES *old_priv = NULL;
    DWORD old_priv_size = 0;
    do
        {
        if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token))
            break;
        priv = malloc(priv_size);
        if(!priv)
            break;
        old_priv = malloc(priv_size);
        if(!old_priv)
            break;
        priv->PrivilegeCount = 2;
        if(!LookupPrivilegeValue(NULL, SE_BACKUP_NAME, &(priv->Privileges[0].Luid)))
            break;
        priv->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
        if(!LookupPrivilegeValue(NULL, SE_RESTORE_NAME, &(priv->Privileges[1].Luid)))
            break;
        priv->Privileges[1].Attributes = SE_PRIVILEGE_ENABLED;
        if(!AdjustTokenPrivileges(token, FALSE, priv, priv_size, old_priv, &old_priv_size))
            break;
        ret = CreateFile(file_name, GENERIC_READ, FILE_SHARE_READ,
            NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
        }
    while(0);
    if(old_priv_size != 0)
        AdjustTokenPrivileges(token, FALSE, old_priv, 0, NULL, NULL);
    free(old_priv);
    free(priv);
    CloseHandle(token);
    return ret;
    }

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3607
  • Репутация:127

    [+] [-]
Adler, заключение? Насколько я понял, проверяется наличие файла (не директории) и сигнатура. Дык файл есть всегда.
Разницы в двух состояниях системы никакой, кроме размера самого файла. Когда система в гибернации, файл в два раза больше, чем когда не в гибернации (в моём тестовом случае, грубо 1,5Гб и 3,3Гб)

[Цитировать]

    Adler
  • 1708
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 1196
  • Репутация:65

    [+] [-]
  • Откуда: Луганск
Ander_73, я как то не особо понял, как это работает.
P.S. Как я понял, то если не получилось получить доступ к файлу (INVALID_HANDLE_VALUE) то винда находится в гибернации.

[Цитировать]

    apostol
  • 2692
  • Стаж: 8 лет 2 месяца
  • Сообщений: 229
  • Репутация:1

    [+] [-]
Ander_73
К сожалению, пароль Учётной записи Microsoft (Windows 10) сбросить/изменить - не удалось ac

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 2053
  • Репутация:120

    [+] [-]
  • Откуда: из прошлого
apostol, В BootPass имеется pcunlocker 4.5, он умеет.

Страница 15 из 25


Показать сообщения:    

Текущее время: 20-Апр 02:08

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы