偽ランサムウェアで会社を攻撃してみた

この記事は約8分で読めます。

※この記事は事実を元にしていますが、情報保護のため一部フィクションです。

2020年頃の話だ。この頃、企業において急速に対応を迫られたのがランサムウェアである。
当時から多くのランサムウェアがVPNやRDPの脆弱性を狙っているものの、WEBやメールからの侵入も比較的多い。
システムで対応できる部分は、お金でなんとかなるのだが、メールからの侵入は従業員の啓発が必要だ。活発に従業員に訓練が始まったのは、この頃からである。

国内にランサムウェアの訓練が行えるサービスを提供している企業は多い。
やっていることはとても簡単で、メールでURLをクリックすると管理サーバへ通知して情報を纏めるだけだ。使っている技術はそれほど難しくは無い。
アフィリエイト広告をクリックした場合の動作とさほど変わらない。比較的同時アクセスが集中するため、その辺の運用スキルは必要だが、それでも大規模サイトの運営からすると大した事は無いだろう。手っ取り早く収益化した企業が先行している感じだ。

いくつかのサービスを試用してみたが、メールに記載されたURLはハッシュキーが追加されており、ハッシュキーで個人を特定するものが基本だった。オプションで添付ファイルを利用したマクロ型や実行ファイル型もあったが最終的には同じような動作をするものだった。
メール本文に記載されている物はともかく、一部添付ファイル型のものは各種ヒューリスティックが機能するのか、ウイルス対策ソフトやファイアウォールを通過できず、使い物にならないものもあった。

最も問題なのは、訓練環境を利用するのに異常に高額だったことである。
こんな金額じゃ中小企業は予算が全く降りそうも無いし、そもそもぼったくりすぎだろ。。。
「こんな程度の物であれば老兵一人でも全然作れるレベルだ!」とか心の中で思っていた。

そう思っていたら本当に作ってしまうことになった。
予算を取るために上層部に説明が必要とのことであったが、格安で何とかならない?とのことだった。

メンバーも自分だけだ。やっぱり面倒だな。。。とか思いつつも、合法的に企業に対して攻撃できるチャンスは滅多に無い。
これは良い経験になる!と、仕事より内緒で趣味率の高いマルウェア的な物を自作することにした。

先にも書いたが先進的な機能やセキュリティホールを突くようなコードは何もいらず、誰が何時開封してしまったかが分かれば良い。販売するなら分析チャートみたいのがいるが、開封データをEXCELで分析すれば良いだけである。

当初王道のメールでURLをクリックしたら。。。にしようかと思っていたのだが、WEBサーバーを構築する必要があり、ちょっと余っているサーバーが無いし、このためだけにレンタルサーバーを借りる稟議を上げるのも面倒だった。
マクロ型にして、マクロ自体がクリック結果をメール送信するような仕組みにした。

ユーザーからすると

1.何か急いで確認が必要なメールが届く
2.ユーザーがマクロ付EXCELを開いてしまう
3.デスクトップとマイドキュメントにあるWORD,EXCEL,PowerPointが開かなくなる。
4.パスワードを入れる画面になり「直して欲しくばシステム部に連絡せよ!」のメッセージが表示される。
5.パスワードを入れると、開けなくなったWORD,EXCEL,PowerPointが元に戻る。
というものである。

このとき
3.デスクトップとマイドキュメントにあるWORD,EXCEL,PowerPointが開かなくなる。
がポイントで、各ファイルの拡張子に「.virus」を追加するだけだ。戻すときは「.virus」を削除する非常に簡単なものだ。
アイコンが真っ白になってしまい開けなくなるだけなのだが、ウイルスに感染するとこんな感じになるというユーザーへの啓蒙として十分である。

実際には
2.ユーザーがEXCELを開いてしまう
というところで開いたと同時にマクロが実行される。マクロの警告がでることがあるが、総務部のアンケートのためにその警告画面を解除するようにEXCELファイル上で指示した。もちろんメール本文にも記載した。実行してしまうと指定アドレスへ感染したことを報告するメールを送信するのだ。

基本的にこれだけで集計は可能で、1日2日あれば作れるレベルである。
ただ「えーっ結構大変です!」とちょっぴり嘘をつきつつ1週間程度の時間を貰い、裏の目的であるどこまで情報が奪取できるのかも機能として追加することにした。もちろん内緒である。
今だから正直に書くけど、主機能は半日程度で作成を終えて、遊びのコードを追加している時間の方が全然長い。。。

主な追加として

1.ログインしているユーザー名とドメイン名
2.IPアドレスと、デフォルトゲートウエイなどのネットワーク情報
3.デスクトップとマイドキュメントにあるファイルリスト
4.デスクトップにあるショートカットのリンク先
5.ブラウザのお気に入りの情報
6.インストールされているソフトウェア一覧

などなど、企業が導入している資産管理ソフトで取得できる情報の範囲なのだが、悪意を持ったマルウェアとして機能するかの実験である。これらは訓練サービス会社では問題になりそうな情報なのだが、意図的にEXCELのマクロに追加してみた。
これにスタートアップ等にリモート操作ツールなどを組み込むようなコードを追加すれば、立派なマルウェアになるのだ。
余りに欲張ると、ウイルス対策ソフトのヒューリスティックが働き未知のマルウェアとして隔離されてしまう。経験上最低限のコードにしておき機能を別々に分割しておく方が良いのだ。発見されにくい。

尚、EXCELマクロに違いはないのだが実態はWINAPIの連続だ。
マクロ初心者には意味不明なコードが続くレベルなので、それなりの技術者でないと作成は難しいだろう。
ここに記載した機能は、自分がスパイ活動として必要な情報になる。
3.デスクトップとマイドキュメントにあるファイルリスト
は一応ファイルの拡張子を「.virus」に変えてしまうので、念のためのバックアップである。
攻撃側からの視点だとデスクトップにあるファイルは大抵重要なファイルか、今取りかかっている仕事のファイルである。
まず調査対象として優先確認するファイル一覧になるだろう。もしかしたら脅す材料があるかもしれない。ファイルのリンク先も同様だ。企業のファイルサーバーへ保存され、毎日の様に更新される確率が高いファイルだ。そもそもファイサーバの在処が分かる。
6.インストールされているソフトウェア一覧
なんかは、特にセキュリティ対策ソフトは何か?を知るのに重要だ。発覚しないよう停止させるためである。

さて、こんな機能を盛り込んだ偽ランサムウェアを会社に放った。もちろん事前に確認済みのためファイアウォールやウイルス対策ソフトは通過し、ユーザーの手元に届いた。

送信後、1分も立たないうちに開封報告メールが届いた。その後1時間位で結果的に10%弱の方が開いてしまった。これは想定通りの開封率だった。
実は初めての訓練メールだったので、文面をよく読めば怪しいメールだと分かるレベルだったのだが、上層部に報告するために、開封率が多すぎても少なすぎても問題だった。
会社として想定より少なかったので安心だけど、訓練の予算は必要だよね?という数字に落とし込む必要があるのだ。悲しき日本企業の根回し文化のためである。どちらかというとプログラミングスキルより詐欺能力の方が重要だった。
訓練サービスを用意している会社も、開封率を集計するようになっているが、実は攻撃側からは全く意味が無い数字だ。1カ所口を開ければ十分で、複数あってもバックアップが用意できたに過ぎない。結局見つかったら全部が閉じられるからである。自分ならアクセス権の高い口だけ開けておき、むしろ開けすぎた口は閉じるだろう。見つかる確率が高くなってしまうからだ。

そして10%という数字の中身も問題で、多くは管理職や年齢の高い方が多数だった。PCが苦手な層と一致する。この層はアクセス権が高い。若い方10人感染するより、管理職1人の方が甚大な被害になるだろう。
予想外だった事実もあった。数年に渡る調査で新卒はともかく中途採用の方の開封率が異常に高かった。これは取引先や社内ルールなど全く分かっていないためで、どんなに優秀な方でも不審なメールかどうか分からず、まずは開くしか無いからである。
これについては半年くらいは特定のアドレス以外は開封しないよう指示するほかなさそうだ。派遣社員や期間従業員を多用している会社は、今後リスクマネジメントが大変そうである。
攻撃者として自分ならこういう会社をターゲットにするのが効率が良さそうだ。人の入れ替わりが激しい会社は、大抵セキュリティがザルになりがちだし。

尚、システム部が発表する開封率も、裏を考えて見ると面白いだろう。
あれは最近流行の目標管理と綿密に連動している。基本的に前年より開封率を下げる必要があるのだ。実は文面で開封率をいくらでも調整できる。偉い人は文面なんか気にしていない。
そして、これ以上は開封率を下げるのは無理かな?と思うと、別の手法を用いて開封率を上げるような文面にするのだ。新しい手法が評価対象なので、開封率が上がっても何ら問題ない。
あまり意味の無い訓練を繰り返しているのが実情だ。先にも書いたが攻撃側は1人感染させれば成功なのに、企業の業務フローやネットワークそのものの脆弱性は評価対象としていない。

さて自分の仕込んだコードだが、当たり前に機能した。
まずはこれだけ知れれば、二の矢が打てそうな感じだ。
デスクトップにあるファイルを単に添付で送れば、それだけでノーウェアランサム攻撃(暗号化はせずにデータの内容で脅す)ができそうだった。ハッカーになった気分を味わえた。
今はファイルをデスクトップに置くのも危険な時代になったのかもしれない。今後は一部を残してデスクトップのOfficeは廃止する方向で、WEB化を急いで進める必要がありそうだ。
考えさせられる経験だった。

ここで実は本筋とは違う別の問題が発生した。この偽ランサムウェアだが比較的良く出来ていたため、子供だましのExcelが開かなくなってしまう機能が大好評だった。
種明かしの後、思う存分試す方がかなりいた。しかも同じ方が何度も何度もである。イメージが良く分かるし、単に面白かったらしい。
教育的には良かったけど、裏で自分のメールボックスがパンパンになってしまったのが誤算だった。文句言えない。。。

さてさて、こういった事ができるエンジニアはかなり少なくなってきていると思うのだが、主業務がセキュリティ対策の会社で無いと全く評価対象にならないんだよね。理解もされないし。
老兵は半分引退しているようなものなので、面白ければそれでいいんだけど、若い方は目標設定等で難しいだろうな。
ということでニュースになるようなセキュリティ事故は今後も増えるだろうね。
セキュリティエンジニアの給料は上がりそうな感じがする。

この記事の老兵そのものがフィクションです。

コメント