ファームウェアイメージで/etc/passwdを編集できますか?

ファームウェアイメージで/etc/passwdを編集できますか?

CCTVシステム用に購入した安価なDVRへのrootアクセス権を取得しようとしています。メーカーからダウンロードできるファームウェアアップデートイメージがあります。 というツールを使って確認でき、binwalkrootfsを抽出しました。 Busyboxを含むLinuxのようです。

ファイルを見ると、パスワードハッシュとログインシェルを定義する行が/etc/passwdあります。ファイルrootはありませんでしたが、以前見たことのない/etc/shadowファイルがありました。/etc/passwd-

また、一般的に起動するinitスクリプトも見つかりましたtelnetdが、コメントアウトされました。

で置き換える新しいパスワードハッシュを作成し、/etc/passwdそのtelnetd行のコメントを外して、ネットワーク経由でTelnet経由で新しいパスワードを使用してrootとしてログインできますか?

(もちろん、これは新しいファームウェアをデバイスにフラッシュしてレンガにするときに発生する可能性のある問題を無視します)

編集する:

これはbinwalkの出力です。 JFFS2ファイルシステムを含むU-Bootイメージ。

Target File:   /vagrant/rootfs-3531dv100
MD5 Checksum:  18a010179a1e5ae03c260ccc9609ddbc
Signatures:    404

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             uImage header, header size: 64 bytes, header CRC: 0xCB1642A1, created: 2019-09-26 01:53:07, image size: 9761796 bytes, Data Address: 0x0, Entry Point: 0x0, data CRC: 0x35F26A52, OS: Linux, CPU: ARM, image type: Filesystem Image, compression type: none, image name: "hirootfs"
64            0x40            JFFS2 filesystem, little endian

答え1

/ etc / passwdを置き換える新しいパスワードハッシュを作成し、telnetd行のコメントを外してから、ネットワーク経由でTelnet経由で新しいパスワードを使用してrootとしてログインできますか?

おそらく!これは、ベンダーが行った作業や行っていない作業によって異なります。一般的に言えば、そう簡単かもしれません。もしファームウェアイメージをキャプチャ、インストール、編集、再フラッシュすることができ、ファームウェアイメージと一致する必要がある他の場所にはチェックサムや署名がありません。

DVRのメーカーとモデルを明記しなかったため、明確な回答はできません。しかし、原則として、あなたの考えは妥当に見えます。

ファイルはありませんでしたが、以前見たことのない/etc/shadowファイルがありました。/etc/passwd-

/etc/passwd-通常、 // etcなどの/etc/passwd標準コマンドで生成されたファイルのバックアップです。ユーザー/グループファイルのバックアップに名前を付けるための規則(、、後ろ、および)は、「古いUnix履歴」の1つにすぎません。ある時点でルールが確立され、その後も同じ慣行が継続的に順守されました。変更がなければ、説得力のある理由がなくても、より簡単で互換性があります。passwduseradduserdelusermod/etc/passwd/etc/group/etc/shadow/etc/gshadow

関連情報