PCで、ごく普通に暗号化解除が出来てしまう実例IT系おじさんのチラシの裏2018年10月~プロフィールAUTHOR:とっちら書きたくなったときに書きたいことを書く雑記ブログ。IT系のネタが多いかも知れません。11:57とっちら1年前の記事に助けられました。14:28とっちらこの記事のお陰で60分録画できるようになりました。16:01とっちらライセンスを明示して貰えると使いやすいのですが。14:37ご回答いただきどうもありがとうございます。21:56とっちら超初心者です。)某市民46万人分の個人情報入りUSBメモリ紛失問題で、パスワード13桁を設定しているから大丈夫発言でTwitter上では大喜利大会になっていましたが、なんとなくノリで乗っかっているものの、実際どのくらいの桁数なら安全なのか、逆に桁数が判明することはどのくらい危険なのか、実はピンと来ていない人も多そうな気がします。............ぼくもです。一応、元IT業界の住人なので知識としては知っています。英小文字+数字の36種を使った6桁のパスワードなら、36の6乗である2,176,782,336(約21億)パターンの組み合わせがあるとか、最近のPCならロープライスモデルでも秒間210万パターンのパスワードを生成できるとか。21憶÷210万=1,000秒=約16分で解析しちゃうってことでしょ。13桁もあれば仮に全部数字しか使ってないとしても10兆通りのパターンがあり、秒間200万パスワードを処理しても1388時間(約58日)かかります。なーんだ数字だけでもけっこうかかるじゃん、と思うなかれ。これはごく普通のヨワヨワPCの例であって、ガチで解析する人たちがそんなショボいPCを使うわけがありません。6枚挿しのM/Bくらい普通に買います。マイニングPCでせっせと小遣い稼いでる人いるでしょ?うちの4万円くらいのやっすいグラボを6枚挿すだけでも58日の解析が10日で済む計算になります。30万円以上のハイエンドGPUを複数積んだつよつよPCなら1日以内で解析できちゃうんじゃないかな。数字しか指定してなかったパターンなので、そんなことはあり得ないと思いますが。いずれにせよ、ほんの10年程度前までは一般人では試すことすら不可能だったパスワード解析が案外簡単に出来てしまう現実があります。現時点では解析に10年かかるパスワード強度でも、年々その解析速度は上昇し、実際の10年後には数秒で解析できるようになっている可能性もあります。本当に簡単なの?と疑問に思ったので、実際に試してみました。お急ぎの方向けに結論から言うと、クッソ簡単でした。ぼくの暗号化済USBメモリは寝ている間に一晩で解析できましたし、6桁程度のZIPファイルなら10分くらいで解析完了しました。BitLockerのパスワード解析はZIPに比べると100倍以上時間がかかって実例を出すのが大変なので、今回は手抜きして比較的早いZIPファイルのパスワード解析を例に解説を進めていきます。Brute-forceアタック(総当たり攻撃)は泥臭かった20年くらい前のことですが、某テレビ局の子会社のヘルプデスクで働いていた頃、別部署の方から「ZIPファイルのパスワード忘れちゃったよ~」「なんとかしてよ~」「このくらいできるでしょ~?」「いつも椅子に座ってるだけなんだからたまには役に立てよ~」こんなことを言われたことがあります。(やや誇張)今では考えられないと思いますが、放送局って報道が一番つよつよで、外回りして足使ってる人間が一番エラく、いっつも椅子に座っている情報システム部門は何やってるのかわからない給料泥棒と思われていたんですね。Basic)でちゃちゃっと作りました。開発会社でも何でもないのでプログラミング環境なんてないのだけれど、Officeが入っていればVBAマクロは動きますからね。あとはちょろいもんです。何のことはない、解凍ソフトのパスワード入力画面にSendKeysという関数でキーボード入力をえんえんと送信するだけ。0~9、a~zの各種組み合わせを試行するわけですが、パスワードを忘れたと言っても、ある程度、桁数や使った文字は覚えていたので、そこに絞り込んで丸1日、そのプログラムを走らせて解析したんですね。無事、解析完了したので解凍したファイルを渡すと、「やっぱ出来るんじゃねーか。」みたいなこと言われてちょっぴりキレそうになりましたけど、まぁどうでもいいです。その会社は後に報道部門が情シスに断りなく自前のノートPCを持ち込んで全社にウィルスをばらまいて社会的に死んだのでもう何も思うところはありません。話が脱線しましたが、むかーしのブルートフォースアタックってこんな感じにアプリ(この例では解凍ソフト)にえんえんとキー入力を送信するようなものでした。ガンダムとかのSFアニメでもよく出てきますよね。テンキーにガバっとかぶせるとピコピコピコピコ!と高速で数字入力してハッキングしちゃう謎装置。普通そんなのアプリ側が対応するんですよ。パスワード入力のたびにほんの1~2秒の待ち時間を入れる。これだけでも効果てきめん。本来なら秒間200万回パスワードを入力する能力があろうとも、受け入れ側が1秒待つだけで、200万秒、つまり合計555時間も待たされることになります。Ripperでハッシュ化済パスワードを抽出する今回パスワードハッキングについて調べていて一番驚いたのがこのハッシュ抽出という方法。アプリにキー入力投げるなんてことやってたら一生終わらないので当たり前っちゃ当たり前なのですが、各種暗号化方法ごとにハッシュ抽出の手段が確立されていることに驚きました。パスワード生成ソフトからzipコマンドやmanage-bdeコマンド(BitLockerで使うコマンドラインアプリ)を呼び出すような感じなのかな~?くらいに考えていましたが、先に暗号化ドライブやファイルからハッシュ値を抽出しちゃうのね...。すごい強引だけど、それが出来るならそのほうが良いに決まっています。ハッシュとはなんぞや、についてはググってもらいたいですが、簡単に言うとパスワードからハッシュ値は計算できるけど、その逆はできない、という一方通行の関数のこと。通行だからハッシュ値が漏れてもパスワードが漏れる心配はない..............................という建前です。いえね、例えばパスワード「1234」をMD5という手法でハッシュ化すると「81dc9bdb52d04dc20036dbd8313ed055」なわけです。このハッシュ値から計算式で「1234」という文字列を取得することは不可能なのですが、「81dc9bdb52d04dc20036dbd8313ed055」は「1234」だよ、っていうのを覚えておけば良いですよね。計算はできなくともリストにするの。Attack)というやつなんだけど、パスワードに使われそうな単語のハッシュ値をあらかじめ計算しておいて、突き合わせるってわけです。今回はランダムパスワードの強度が知りたいのでやりませんけど。Ripper」を使います。ダウンロードしました。中にrunディレクトリがあり、このディレクトリの中で実行することが前提となっているみたい。テスト用なのでパスワードは「JavaScriptでパスワードを自動生成するサンプル」のページで6桁のパスワード「9ipr3w」を生成しました。いや、ほら、「123456」とかにしちゃうと何かこう、解析したって感じがしないじゃないですか。いうテキストファイルが出来上がります。中を見るとこんな感じ。test.zip/test.txt:$zip2$*0*3*0*e435286250cb9c9d2c513a4258238a3b*888e*15*9dab9d29c0eb226997aeb5c91ce058467b0134151b*5c031fc18990bf64a4fe*$/zip2$:test.txt:test.zip:test.ziptest.zip/test.txt:$pkzip2$1*1*2*0*31*12*0*0*31*63*31*0000*204a*e435286250cb9c9d2c513a4258238a3b888e9dab9d29c0eb226997aeb5c91ce058467b0134151b5c031fc18990bf64a4fe*$/pkzip2$:test.txt:test.zip::test.zipzip2johnというコマンド名を見てピンときた方もいるかと思いますが、bitlockerならbitlocker2john、rarならrar2john等、暗号化アプリごとにハッシュ値を抽出するコマンドが作られています。completed寝る前の深夜2:47に実行し、朝6:52に完了していたようです。Xに及ばないくらいの低スペックな部類です。いう表示がありますが、これは秒間168,497個のパスワードハッシュを生成可能、という意味だと思われます。先述のとおり、英小文字+数字の全36種の6桁の組み合わせは全部で2,176,782,336なので、2,176,782,336÷168,497=12,919秒=215分=3.58時間ということで、おおよそ理論値に近いかと。理論値より長くなっているのはパスワードが6桁であるとか英数字しか使っていないなんてヒントは与えていないためですね。Ripperによるハッシュ抽出はやっておく必要があります。binariesをダウンロードして解凍します。解凍したものとして話を進めます。下記のとおりですが、前後のコロン部分が残っているとエラーになるため、これを少し書き換える必要があります。はじまっていますが、お使いの圧縮ソフトによってここは少し違うはずです。Ripperと異なり、hashcatはハッシュタイプを自動判別してくれないので、オプションの-mでハッシュタイプを指定する必要があります。指定できるハッシュタイプの一覧は下記ページを参照。はじまっており、上の表から13600とわかります。アタックモードで3はBrute-forceを意味します。オプションの詳細は下記ページ参照。表示され、パスワードが解析されたことがわかります。kH/sとかわけわからんスピード出てるのでもしやとは思いましたが、圧倒的な差でしたね...。実はここまできてようやく本題なのですが、パスワードの桁数や、使っている文字種にある程度予測がつく場合、どのくらい高速化するものなのか、というのも知りたかったんです。?1?1?1?1?1?1はい、ハテナだらけでわけわからんですよね。小文字、?dは数字となっています。このマスクされた値しかパスワードには存在しないよー、と指定してあげるわけですが、これだけだとちょっと足りない。いう指定をしています。-4と最大で4つまでのカスタムが設定できるという意味。?lは英語の小文字、?dは数字を意味しますから、-1は英語の小文字あるいは数字、ということ。それを「?1?1?1?1?1?1」というように6個並べることで、このパスワードは英語の小文字と数字の36種類しか使ってないと思うよー、という指定をしています。2022解析時間が11分まで短縮されました。まとめ短いパスワードは簡単に解析できるとは聞くものの、本当に誰でも簡単にそんなことが可能なのか知りたかったので試してみました。Ripperで対象のハッシュを抽出ハッシュファイルからコロンの前後を除去hashcatにハッシュタイプとハッシュファイルを指定して実行これだけ。結果、ゲーミングPCとしては非力な自分のPCでもそれなりの速度で解析できることが判明。パスワードの桁数が増えると10倍どころか100倍1000倍の時間がかかるようになるわけですが、総当たり攻撃のほかに、よく使われる単語に絞って攻撃する辞書攻撃もありますし、なにより本気のハッキングではこんなショボい設備ではなくGPUを何枚も使って実行するだろうし、年々PCのスペックは上がり、パスワード解析速度も更に早くなっていくことでしょう。過去に「記憶できる程度のパスワードを付けるのはもうやめよう」という記事を投稿しており、パスワードを長くすることの重要性については十分理解していたつもりでしたが、パスワード解析自体がここまでカジュアルに出来るようになっているとは思わず、正直ビビっております。ネットワーク上のログインなら、サーバー側でいろいろブロックする手段もあるのでまだマシですが、ローカル、特に持ち出し可能なUSBメモリ等のパスワードには本当に気を付けたいですね。ハッシュが抽出できます。SATA接続等の内蔵ストレージをBitLockerで暗号化した場合は、TPMチップに暗号化キーが保存されるため、基本的には外されて盗まれてもこんな手軽には解析できないはずです。1.0が公開されたとのことで、さっそくWindows環境へインストールしようとしたのですが、ちょっとつまずいたの02024-06-07画像ファイルをAVIF形式に一括変換するバッチファイルこのブログを含め、Web上の画像データは容量削減のためにも徐々にWebP形式に移行しています。JPEGに比べて容量が3割以上削減できるし、主要ブラウザでWebP形式が見られないということもないためです02023-12-1815万円ほどでコンパクトなRTX4070ゲーミングPCを組んでみた以前、「Xboxくらいの性能でそこそこ小さくそこそこ静かなPCが欲しくなったので検討中」と題した記事を投稿しました。2022年5月ですから1年以上前です。RecExpertsが発売されたので試してみた以前からちょいちょいこのブログでも書いているのですが、デスクトップ録画の選択肢ってあんまりないんですよねー。ゲーム画面を録画するのなら最近はGeForceやRadeonのグラボソフト側で対応し02023-01-15タブレットにとって最適な縦横比を考えるスマホがどんどん大型化している影響か、タブレットPCの需要が減ったのか、逆にタブレットPCの寿命が長すぎるのか、理由は定かではありませんが、タブレットPCって新製品が少ないなぁと感じます。Ripperで解こうと思ってます。下記の意味がご存じだったら教えていただきたいです。表示されることがありますけど、test.zip.hashは出来てると思いますよー。ごめんなさいわかりません。15:25test.zip.hashはできるんですが、0バイトでパスワードの解析もできませんでした。教えていただきありがとうございました。13:01とっちらか〜る様、はじめまして。「その会社は後に報道部門が情シスに断りなく自前のノートPCを持ち込んで全社にウィルスをばらまいて社会的に死んだのでもう何も思うところはありません。」の続き(ウィルスに感染してどうなったのか、どう対処したのかなど)の記事を書いていただけないでしょうか?よろしくお願いいたします。17:19思い出しながら書いたら無駄に長くなっちゃいました。まとめだけご覧いただければ十分かもです。コメント投稿直後ならコメントの編集/削除が可能です。※24時間経過するか、新しく投稿した場合は古い投稿の編集や削除は出来ません。※ブラウザでCookieが受け入れられない場合はこの機能は使えません。非公開にチェックを入れたコメントは管理人のみ閲覧できます。コメント投稿のガイドライン誰もが閲覧できるコメント欄ですので個人が特定できる情報等は書き込まないようにしましょう。他人のHPやブログの文章を掲載する場合は著作権法第32条「引用」の条件を満たすかご確認ください。誹謗中傷にあたる表現などは場合によっては法的な責任を問われる可能性があるためご注意ください。とっちらか~るTOP。