Ubuntu 14.04.1 LTS x86_64
■概要
アーカイブ時に暗号化する際、bash 様の助けを借りて
キーボードからは入力できない文字をパスワードにすれば
辞書攻撃が効かないZIPファイルを作ることができる。
(※総当りされちゃうとどうしようもないんだけどねー)
■詳細
ASCIIコード表を見る。
我々がキーボードから入力できるのは
0x20(Space) から 0x7E(~) までである。そのため、
0x01(SCH) から 0x1F(US) および 0x7F(DEL) を含んだパスワードにしてしまえば
総当りしか効かない面倒な ZIPファイルが完成する。
(NULL文字 0x00 は使えません)
(訂正:改行コード 0x0D(CR), 0x0A(LF) がありましたね)
■コマンド例
パスワードを 0x01(SOH) 0x02(STX) 0x03(ETX) の3文字に設定
※コマンド履歴が残ることに注意!
$ zip -P $'\x01'$'\x02'$'\x03' -o testfile.txt.zip testfile.txt
adding: testfile.txt (stored 0%)
$ rm testfile.txt
$ unzip -P $'\x01'$'\x02'$'\x03' testfile.txt.zip
Archive: testfile.txt.zip
extracting: testfile.txt
■注意点
アルファベットと記号などの
表示可能文字と混ぜて使いましょうね。
(約128文字 * )
■注意点その2
root ユーザのパスワードにも使えますが
コンピュータが起動と同時に sshd が起動しなくなった場合、
とても悲惨なことになるのでおすすめしません・・・。