<password>
コンパイルされたスクリプトの暗号化されたパスワードをscript.x
簡単に回復できますか?
script.x
たとえば、ソースバージョンは次のようになります。
# cat script
openssl enc -des3 -in myfile -out myfile.des -k <password>
script.x
そしてコンパイルされたバージョンを入手してください
# shc -f script
<password>
長い無差別代入攻撃をしないとscript.x
回復できますか?
答え1
個人的にはわかりません。私の考えには簡単だと思います。
私はコンパイルされたスクリプトを「復号化する」ために無差別代入を使用してリバースエンジニアリングを試みませんscript
。代わりに、「sh」、「bash」によって実行されるコマンドを監査して見つけ、コマンド引数だけを確認しようとします。
最悪の場合:/usr/bin/ps
パスワードおよび/または/proc/*/"something"を表示/表示することがあります - コマンド引数を含むファイルを指定するために/ procについて十分に知りません。
答え2
はい、コンパイル形式について何も知らなくても非常に簡単です。デバッガでスクリプトを実行し、パスワードで操作を実行するときにキャプチャするだけです。原則として、他の人のコンピュータで使用されているパスワードを隠すことは不可能です。パスワードを使用するソフトウェアを実行できる場合は、パスワードを表示できます。
この場合でも、これは過剰です。パスワードがopenssl
コマンドに渡されるので、引数を記録するためのラッパーを入れたり、openssl
実行中にプロセスを観察するだけです。openssl
さらに、簡単な無差別代入で暗号化されたファイルからパスワードを回復することが可能になる可能性が高いです。いいえそれは必要なだけ長くなければなりません。openssl enc
パスワードで暗号化キーを生成するのは非常に悪いです。速度が遅くなります(参照Metasploitable(Linux)パスワードをプレーンテキストで表示できますか?、パスワードを安全にハッシュする方法は?)が、openssl enc
速くて悪いことは、正しく使用しないということです。塩を使わずにいるということです。よりtshark出力ファイルがキャプチャされたときに徐々に暗号化する方法は?実行する方法。
警告の一言:最近の質問で判断すると、セキュリティに関してあなたのレベルを超えているようです。できるだけ簡単なものに固執し、システムのデフォルト設定を維持することをお勧めします。理解できないツールを使用して不必要な改善を試みることによって状況を悪化させる傾向があります。