私は古い組み込み Linux ベースのデバイスを持っています。これは約 10 年前に取り組んだプロジェクトからのものです。このデバイスには UI やキーボードなどは組み込まれておらず、制御用の小さな Web サーバーしかありません。
それ以来、私はそのユニットのパスワードを忘れてしまいました。そして、それを最初に作った会社は5年以上前に消滅しました。
とにかく、それにアクセスして、復活できるか試してみようと思いました。おそらく、他のタスクに再利用できるかもしれません (興味のある方のために言うと、これは GSM 通信機器です)。ただし、パスワードをリセットする必要があります。
「パスワードのリセット」画面を表示することはできましたが、インターネット上の外部サーバーでいくつかの情報を検証しようとしますが、そのサーバーはもうオンラインではなくなり、存在すらしません。
サーバーに https リクエストを送信し、Wireshark を使用してリクエストのパケット トレースを実行すると、サーバーに接続しようとして失敗していることが示されます。
そこで、自分のサーバーをオンラインにして、どうなるか見てみようと考えました。
Apache2 インスタンスを起動し、SSL を有効にして、自己署名証明書を作成し、DNS を設定して、探しているサーバーではなく自分のサーバーにリダイレクトされるようにしました。
1 つの点を除いて、すべてうまく機能します。
パケット トレースを観察すると、組み込みデバイスは証明書 CA を信頼していないため、サーバーとの通信を拒否していることがわかります。
サーバーに自己署名証明書を発行させ、別の CA (equifax、verisign など) を装うことができれば、デバイスを検証して管理者パスワードをリセットできると思います。
自己署名証明書でこれが可能かどうか知っている人はいますか?
答え1
おそらく。
自己署名証明書が拒否された場合、そのデバイスは攻撃に抵抗できます。デバイスが信頼する証明機関のいずれかによって認識される証明書が必要になります。
1 つのオプションは、デバイスが信頼する証明機関を調整することです。ただし、これは望ましいオプションではないと思います。(ハード ドライブを取り外して、信頼する証明機関を調整できるのであれば、パスワードも調整できるはずです。)
ただし、デバイスが本当にあなたが言うほど古いものである場合、壊れていることが知られている MD5 などのハッシュ アルゴリズムに依存している可能性があります。
注: MD5 衝突を実行する方法については説明しません。単に、そのようなデバイスはそのような攻撃に対して脆弱である可能性があると言っているだけです。