数日前にパスワードを変更したUbuntu12.04VirtualBoxマシンを持っています。もう一度マシンを使用したときに、パスワードを忘れてしまい、rootアクセスを取得できなくなりました。
johnで使用するためにシャドウファイルからハッシュを取得しようとしましたが、rootアクセスなしでは読み取ることができず、Metasploitとのセッションを取得しようとしても、Linuxハッシュを取得するオプションが見つかりません。 Metasploitでroot権限を取得できますか?また、VDIイメージとしてオフラインでディスクにアクセスできません。
また、試してみましたが、apt-get
も使用できないため、johnをUbuntuにダウンロードできませんでした。マシンにはいくつかの重要なデータが含まれています。
では、Metasploitで、rootまたは何らかのツール(Windows用のsamdump2など)をブラウザーからダウンロードして、ライブシステムまたはエクスプロイトから手動でハッシュを取得する方法はありますか?
最初によくある誤解に対処します。(実マシンまたは仮想)マシンに物理的にアクセスできる限り、(暗号化を除いて)データへのアクセスを妨げる方法はありません。
手順については、(詳細については、AskUbuntu.comの 紛失した管理者パスワードをリセットするにはどうすればよいですか? を参照してください)
マウントされた/
パーティション読み取り/書き込みを作成します(読み取り専用の代わりに)
mount -rw -o remount /
これで、「失われた」ユーザーのパスワードを変更する準備ができました
passwd
youruser
新しいパスワードの入力を求められます(フィードバックは表示されません。キーストロークが認識されていないようです)。新しいパスワードを確認したら、マシンを再起動して飛行する準備が整います。
上記の手順が(何らかの理由で)失敗した場合は、ルート#2を使用できます。
Sudo fdisk -l
を使用して、使用可能なすべてのパーティションを表示し、どのパーティションに/
システムが含まれているかを判断します(おそらくdev/sda1
のようなもの)。そのパーティションを使用可能なパス(通常は/mnt
)にマウントします
Sudo mount /dev/sda1 /mnt
いくつかのパスにアクセスする必要があります
for d in dev sys run proc; do Sudo mount --bind /$d /mnt/$d; done
ここで、新しい環境をアクティブ化します。これで、元のシステムでroot権限で操作できるようになります。
Sudo chroot /mnt
これで、「失われた」ユーザーのパスワードを変更する準備ができました
passwd
youruser
libguestfs-tools
パッケージ、またはディストリビューション(ホスト上のディストリビューション)が呼び出すものをインストールします。ディストリビューションにこのパッケージがない場合は、 アップストリームからダウンロードしてください 。
仮想マシンのルートファイルシステムをホストにマウントします。インストールに必要なパスを調整します。
mkdir ~/mnt
guestmount -a /path/to/vm-image.vdi -m /dev/sda1 ~/mnt
VirtualBoxを使用しているので、 最初にexport LIBGUESTFS_BACKEND_SETTINGS=force_tcg
を実行 する必要があるかもしれません。
新しいパスワードハッシュを生成します 選択したパスワード用。
mkpasswd -m sha-512
~/mnt/etc/shadow
を編集して、rootユーザーのパスワードハッシュをmkpasswd
によって生成されたものに変更します。
VMのファイルシステムをアンマウントします。これで、VMを起動し、新しいパスワードを使用してrootとしてログインできます。
fusermount -u ~/mnt
rmdir ~/mnt
仮想ボックスに新しいVMを作成し、Ubuntuサーバーのハードドライブ(vmdkファイル)である2番目のhardriveを追加できます。
このVMで起動し、サーバーの/ etc/shadowにアクセスします。