夏休み(盆休み)を過ごしているばぁどです。
今年の盆休みは山の日の3連休 + 2日して、5連休でした。 今回は盆休みを利用して、ハッキング・ラボのつくりかたで遊んでみました。
ハッキング・ラボのつくりかたは、昨年の年末に購入して以来ずっと部屋の隅で埃をかぶっていた本なのですが、やっと今回のタイミングでがっつり時間を確保できたので読むことができました。
注意 今回の記事で書いてあるマルウェアを仕掛けた場所は仮想環境内に構築したVM上で行なっております。これらの目的はマルウェアを他人に仕掛けて悪用することではなく、普段のサイバーセキュリティの業務として必要な知識のため自己研鑽のため勉強しております。
ハッキング・ラボのつくりかたとは?
IPUSIRONさんが著した仮想環境でサイバー攻撃を疑似体験できる本になります。
IPUSIRONさんの本は、昨年も「ハッカーの学校」などを以前に読んだこともあり、色々とお世話になっております。
印象に残ったもの
windows に対する攻撃
世界中でもかなりのシェアを誇っているwindows端末に対する攻撃です。
本には、windows7、windows10に対する攻撃それぞれ掲載されておりました。
基本的にはペネトレーションテストツールとして有名なmetaexplit
を用いた攻撃が紹介されていました。
マルウェアをProcess Explorerで確認する
WIndowsを管理するソフトウェアにsysinternals
というツール群が存在する。
その中の一つのProcess Explorer
というツールを使って今回仕掛けたマルウェアを監視してみた。
下記がProcess Explorer
で確認した今回仕掛けたマルウェア。
一番右の欄にNo signatures ~~
と書かれているので、どこもこのプロセスを検証していないということが分かりました。
実際に詳細を見てもこのプロセスが今回攻撃側として設定したKali Linux
のIPアドレスと定期的に通信を行っていることも確認できました。
永続化の仕組み
個人的に興味を持ったのが永続化を行う部分です。
metaexploit
のconsole画面からコマンドを打つことで永続化も可能になります。
永続化というのはマルウェアがwindows起動時に一緒に立ち上がるように自動化する仕組みなどのことを指します。
今回はレジストリにwindows起動時に立ち上がるような値を設定する手法を取っていました。
Autoruns
は業務でも使っているので、扱いには慣れております。
設定されている値は下記。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
というキーはWindows
へのログイン時に実行するファイルを記載しておくレジストリになので、ここに値を登録しておけばログイン時にファイルが実行されるようになります。
システムのフォレンジックスなどで、Autoruns
を用いてレジストリに登録されている値を確認したことは多々あったのですが、自分でコマンドを打ってレジストリを登録することは経験したことなかったので、とても良い経験になりました。
RLO(Right to Left override)
RLOとは、Unicodeで用意されている制御文字の一種で、横書き文字の左右の並びを逆にするために用意されている記号である。
世界中にはたくさんの言葉があります。 日本語、英語、中国語などなど。
その沢山の言語の中には、右から左に読む言語(アラビア語、ヘブライ語など)も存在します。 それらの言語に対応するために実装されたのがRLOという機能であり、RLOを悪用して行うのがファイル名の偽装です。
下記がファイル名を偽装した例です。(実際にwindows10の仮想環境上で行うことができました)
上記のように本来は「calcgpj.exe」という名前のファイルがRLOをg
の前に挿入されたためg
以降の文字が左右反転してcalexe.jpg
として表示されています。今回はわかりやすい例ですが、拡張子部分がjpg
なので安易に騙されてファイルを実行してしまうとexe
ファイルとして起動してしまいます。
感想・まとめ
セキュリティエンジニアになってそろそろ1年が経とうとしています。
この数年で、情報処理安全確保支援士になったり、セキュリティの塾に通ったり、セキュリティ業務でも様々なセキュリティに関する知見を手に入れたと感じている。
今回の「ハッキング・ラボのつくりかた」は業務で得た知識をもとに、一つ一つを確認しながら実行できるとても良い本でした。
ぜひ同僚などに勧めたいです。