シャドウファイルから Linux ハッシュを取得する

シャドウファイルから Linux ハッシュを取得する

数日前にパスワードを変更した Ubuntu 12.04 VirtualBox マシンがあります。今、マシンを再び使用したときにパスワードを忘れてしまい、ルート アクセスを取得できません。
ジョンで使用するためにシャドウ ファイルからハッシュを取得しようとしましたが、ルート アクセスなしでは読み取れません。Metasploit でセッションを取得しようとしましたが、Linux ハッシュを取得するオプションが見つかりません。Metasploit でルート権限を取得できず、VDI イメージとしてオフラインでディスクにアクセスすることもできません。

また、試してみましたが、どちらも使用できないためapt-get、Ubuntu に john をダウンロードできませんでした。マシンには重要なデータが含まれています。Metasploit
でルートを取得する方法や、ブラウザー経由でダウンロードしてライブ システムまたは何らかのエクスプロイトからハッシュを手動で取得するツール (Windows の場合は samdump2 など) はありますか?

答え1

まず、よくある誤解を解きましょう。(実際のマシンまたは仮想マシンに物理的にアクセスできる限り、暗号化以外にデータへのアクセスを防ぐ方法はありません。)

さて、手順について(詳細は管理者パスワードを紛失した場合、どうすればリセットできますか? AskUbuntu.com より

回復を使用する

  1. VMが起動したら、Left shift起動画面の直後を押してアクセスします。グラブメニュー、 選択する高度なオプション...、そして、そこに含まれる行を選択しますリカバリモード
  2. しばらくすると別のメニューが表示されます。そこで矢印キーを使用して行を選択します。、 プレスenter
  3. マウントされた/パーティションを作成する読み書き(の代わりに読み取り専用

    mount -rw -o remount /
    
  4. これで、「失われた」ユーザーのパスワードを変更する準備ができました

    passwd youruser

    新しいパスワードの入力を求められます (フィードバックは表示されません。キー入力が認識されていないようです)。新しいパスワードを確認した後、マシンを再起動して飛行準備が整います。

上記の手順が(何らかの理由で)失敗した場合は、ルート 2 を実行できます。

ライブ CD (イメージ) を使用する - 「chroot 方式」

  1. ライブCDのISOイメージを仮想CDドライブに挿入し、そこから起動し、Ubuntuを試すメニューからデスクトップの準備ができるまで待ちます
  2. ターミナルウィンドウを開く
    • CTRL+ ALT+T実機またはVirtualbox VM上
    • CTRL+ ALT+ spaceTVMWare VM内
  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. 新しい環境をアクティブ化します。これで、元のシステムでルート権限を使用して操作できるようになります。

    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、ルート ユーザーのパスワード ハッシュを によって生成されたものに変更しますmkpasswd

  5. VM のファイルシステムをアンマウントします。これで VM を起動し、新しいパスワードを使用して root としてログインできます。

    fusermount -u ~/mnt
    rmdir ~/mnt
    

答え2

仮想ボックスに新しい VM を作成し、Ubuntu サーバーのハードドライブ (vmdk ファイル) である 2 番目のハードドライブを追加できます。

この VM を起動し、サーバーの /etc/shadow にアクセスします。

関連情報