Получение хэшей Linux из теневого файла

Получение хэшей Linux из теневого файла

У меня есть машина Ubuntu 12.04 VirtualBox, на которой несколько дней назад я сменил пароль. Теперь, когда я снова воспользовался машиной, я забыл пароль и не могу получить доступ root.
Я пытался получить хэши из файла shadow для использования с john, но я не могу читать без доступа root, даже пытался получить сеанс с Metasploit, но не могу найти никакой опции для получения хэшей Linux, и я также не могу получить привилегии root с Metasploit, и также не могу получить доступ к диску в автономном режиме как к его образу VDI.

Также пытался, но не смог загрузить john в Ubuntu, так как не могу использовать ни то, apt-getни другое, машина содержит некоторые важные данные.
Так есть ли способ в Metasploit получить root или какой-то инструмент (вроде samdump2 для Windows) для загрузки через браузер и вручную получить хэши из работающей системы или, может быть, какой-то эксплойт?

решение1

Сначала развеем распространенное заблуждение: пока у вас есть физический доступ к (реальной или виртуальной) машине, нет способа (кроме шифрования) помешать вам получить доступ к вашим данным.

Теперь о процедурах (более подробную информацию см.Как сбросить утерянный административный пароль? на AskUbuntu.com)

используя восстановление

  1. Когда ваша виртуальная машина загрузится, нажмите Left shiftсразу после экрана загрузки, чтобы получить доступ кменю grub, выбиратьРасширенные опции..., и там выберите любую строку, содержащуюрежим восстановления.
  2. Через некоторое время вам будет представлено другое меню, в котором вы с помощью клавиш со стрелками выбираете строкукорень, нажимать enter.
  3. сделать смонтированный /разделчитай пиши(вместотолько для чтения)

    mount -rw -o remount /
    
  4. теперь вы готовы изменить пароль вашего «потерянного» пользователя.

    passwd youruser

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

Если описанная выше процедура не дала результата (по какой-либо причине), вы можете воспользоваться маршрутом №2:

использование live CD (образа) - "способ chroot"

  1. вставьте ISO-образ для Live CD в виртуальный CD-привод, загрузитесь с него, выберитеПопробуйте Убунтуиз меню, дождитесь готовности рабочего стола
  2. открыть окно терминала
    • CTRL+ ALT+ Tна реальной машине или виртуальной машине Virtualbox
    • CTRL+ ALT+ space, Tв виртуальной машине VMWare
  3. используйте sudo fdisk -lдля просмотра всех доступных разделов, решите, какой из них содержит вашу /систему (вероятно, что-то вроде dev/sda1)
  4. смонтируйте этот раздел в какой-нибудь доступный путь (обычно /mnt)

    sudo mount /dev/sda1 /mnt
    
  5. нам нужен доступ к нескольким путям

    for d in dev sys run proc; do sudo mount --bind /$d /mnt/$d; done
    
  6. Теперь активируйте новую среду — теперь вы сможете работать с правами root в исходной системе.

    sudo chroot /mnt
    
  7. теперь вы готовы изменить пароль вашего «потерянного» пользователя.

    passwd youruser

с использованиемгостевые файлы(если хост — Linux или OSX)

  1. Установите libguestfs-toolsпакет, или как там его называет ваш дистрибутив (тот, что на хосте). Если в вашем дистрибутиве нет этого пакета,скачать его с апстрима.

  2. Смонтируйте корневую файловую систему виртуальной машины на хосте. Адаптируйте пути по мере необходимости для вашей установки.

    mkdir ~/mnt
    guestmount -a /path/to/vm-image.vdi -m /dev/sda1 ~/mnt
    

    Поскольку вы используете VirtualBox, вам может потребоватьсябеги export LIBGUESTFS_BACKEND_SETTINGS=force_tcgпервым.

  3. Сгенерировать новый хеш паролядля пароля по вашему выбору.

    mkpasswd -m sha-512
    
  4. Отредактируйте ~/mnt/etc/shadow, чтобы изменить хэш пароля для пользователя root на тот, который был сгенерирован mkpasswd.

  5. Размонтируйте файловую систему виртуальной машины. Теперь вы можете загрузить виртуальную машину и войти в нее как root с новым паролем.

    fusermount -u ~/mnt
    rmdir ~/mnt
    

решение2

Вы можете создать новую виртуальную машину в Virtual Box и добавить второй жесткий диск, который будет жестким диском (файл vmdk) вашего сервера Ubuntu.

Вы загружаетесь на этой виртуальной машине и получаете доступ к /etc/shadow вашего сервера.

Связанный контент