最近、メディア コンバータ/NID (Canoga-Perkins 9145E-104) をもらいました。
これをくれた友人は地元の CLEC で働いており、アップグレードなど、あらゆる種類の動作する無料の機器を私に提供してくれます。
ユニットのリセット ボタンで管理者パスワードがリセットされると思っていましたが、そうではありませんでした。Canoga-Perkins サポートに電話したところ、基本的にユニットは南京錠のようなものだと言われました。パスワードをリセットするには、ユニットを送付する必要があります。もちろん、私はその言葉に耳を貸さず、ユニットの上部を開けて、CMOS バッテリーや NV-RAM をクリアするジャンパーがあるかどうか確認しました。私の努力は無駄でした。
ただし、COM ポート経由でコンソールにアクセスでき (ユーザー名/パスワードはロックされています)、パスワードの試行に制限はないようです。
それをくれた友人に、パスワードが何なのか知っているか尋ねたところ、AAA サーバーに移行する前のもので、おそらく単純な 4 ~ 6 桁の英数字のパスワードだと言われました。
だから私の考えはこうでした:
Crunch または別の辞書作成スクリプトを使用して、辞書を作成してみます。ただし、Windows または Linux でこれを COM ポートにパイプする方法がよくわかりません。どのディストリビューションでも、どのようなソリューションでも構いません。
このタスクを達成する方法について何かアイデアをお持ちの方はいらっしゃいますか?
編集:
シリアル接続を介してコマンドを送信するための、非常によく似た投稿を見つけました。
ユーザー AFH はコメントでいくつかの提案をしています。彼が何を説明しているのか全く分からないので、もう少し読んでみる必要があるでしょう。
編集-2: 昨晩、これをいじる時間がありました。minicom を使って ttyUSB0 に直接パイプできます。Ubuntu と Kali Linux でテストしました。デバイスがユーザー名とパスワードを要求するため、「crunch 4 4 abcd | sudo minicom」を使用します。辞書をファイルに書き込み、パスワードの試行ごとに「admin」を追加してファイルを解析する必要があります。そして、おそらく出力を少し遅くする方法を考え出すでしょう。プロのプログラマーの友人がいて、admin 行を追加してファイルを解析するプログラムを書くことができると言っていました。その後に残っているのは、変更されたファイルから読み取り、minicom 経由で NID に送信する方法を考えることだけです。
答え1
これをUbuntuで試す場合は、
「sudo apt-get install minicom」。お気に入りの検索エンジンを使用し、オンライン ガイドに従って、Ubuntu の特定のバージョンを詳しく調べてください。
このタスク専用に古いネットブックに Kali をインストールしました。仕様は 2x 1.8GHz ハイパースレッディング コアと 2GB RAM で、それほど多くのものは必要ありません。パッケージを手動でインストールしたくない場合は、Kali Linux パスをお勧めします。Kali には、このために必要なものがすべてプリインストールされています。起動可能な USB を作成してから、新規インストールを完了するまでに約 20 分かかりました。
COM ポート名を確認する - ttyUSBx
USB シリアル アダプタを接続し、それが論理的に接続されているシリアル ポートを見つける必要があります。
ターミナルで「dmesg | grep USB」と入力します。
次のような画面が表示されます。
権限、ディストリビューションなどに応じて、「chmod 777 /dev/ttyUSB0」を実行する必要がある場合があります。Kali ではこれを行う必要はありませんでした。minicom で設定を保存できない場合は、これを行う必要があるかどうかがわかります。
「minicom -s」でminicomをセットアップします
これはシリアルデバイスによって異なりますが、私の場合はクラシックでした
- 9600bps
- 8 データビット
- パリティなし
- 1ストップビット。
コンソール経由で接続するためのシリアル設定については、デバイスのマニュアルを確認してください。終了して動作を確認した後は、必ず minicom にデフォルトとして設定を保存してください。
デバイスがパスワードのみを要求する場合は、幸運です。必要なのは以下の手順だけです。
「crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 | minicom」 パスワードのニーズに合ったパラメータを使用してください。デバイスにユーザー名とパスワードが必要な場合、または出力を少し遅くする必要がある場合は、読み進めてください...
パスワードリストを作成:
Crunch がインストールされている環境と、Linux ディストリビューションの初期設定方法によって異なります。ターミナルから「sudo ./crunch」、「./crunch」、または Kali では単に「crunch」で実行する必要がある場合があります。パスワード リストを作成し、ファイルに書き込みます。例:「crunch 5 5 abcdefghijklmnopqrstuvwxyz0123456789 -o input.txt」。詳細な手順については、Kali ターミナルで man crunch と入力してください。
パスワードの一部でも覚えておけば、デバイスのロック解除にかかる時間を大幅に短縮できます。Crunchにはそのための特別なオプションがあります。オンラインで検索してください。チュートリアルCrunch の高度な機能については、興味があればご覧ください。
したがって、ニーズに合ったオプションを指定して crunch を実行すると、ルート ディレクトリに input.text という名前の辞書ファイルが作成されます。
ユーザー名の追加:
Python スクリプトを新しいファイルにコピーします。簡単にするために、"add-user.py" という名前を付けて、ルート ディレクトリに配置します。ターミナル ウィンドウを開いて、"chmod 777 add-user.py" を実行します。これにより、読み取り/書き込みアクセスが許可され、スクリプトを実行できるようになります。"ls -la" を実行すると、スクリプトがリスト内で緑色になります。(Kali および Ubuntu の場合)。
これで、「sudo ./add-user.py」または「./add-user.py」でスクリプトを実行できます。input.txt ファイルが同じディレクトリにあることを確認しておけば、問題ありません。私の古いネットブックでスクリプトを実行すると、すべて小文字の英数字で合計 5 桁の場合、約 35 分かかりました。
ttyUSB0 を使用して新しい辞書から minicom にパイプする
この部分は非常に簡単です。「cat w-user-output.txt | minicom」
基本的にはこれで終わりです。ただし、いくつか注意すべき点があります。大きな辞書を扱う場合は、スクリプトの出力方法をいじりたいと思うかもしれません。"for" ループでカウントを開始し、50 ループごとに行の更新を出力すると、スクリプトが少し高速化します。また、私の場合、空白行は minicom によってユーザーが Enter キーを押したと解釈されたため、スクリプトを変更して、試行ごとに 3 つの空白行を作成することができました。これにより、出力が少し遅くなり、最初に管理者、次にパスワード試行で同期されるようになりました。
編集: 3 行の空白は機能しませんでした。これを書いてからクラッキングの進行状況を確認するために戻るまでの間に、コノガ パーキンス ボックスのユーザー/パスワードが同期されずに送信されていることに気付きました。必要に応じて、これを遅くする適切な方法は次のとおりです。
ルート ディレクトリに新しいファイルを作成し、「slowdown」という名前を付けます。ファイルを編集して、次の内容を入力します。
ターミナルから「chmod +x slowdown」を実行します。
これで、「cat w-user-output.txt | ./slowdown | minicom」を実行できます。bash スクリプトの sleep コマンドを、デバイスが処理できると思われる最速に調整します。
夜遅くまでビールを何杯も飲んでいる間もプログラミングに関する私の質問に付き合ってくれた Steve に感謝します。また、C# でやった方が簡単だと文句を言いながらも Python でプログラミングを続けてくれたことにも感謝します。また、行き詰まっていたときに適切な提案をしてくれたユーザー「Pimp Juice IT」と「AFH」にも特に感謝したいと思います。