WindowsにGremlinをインストールして攻撃を実行してみる

2021.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS上に立てたWindows_Server-2019にGremlinをインストールし、カオスエンジニアリングの攻撃を実行してみます。

WindowsはLinuxとは違い、できる攻撃が制限されています。

インストール

インストーラーをダウンロードし、ダウンロードしたファイルを実行します。

インストーラー: gremlin_installer.msi

Nextのボタンを押して進めていきましょう。

インストールが完了していると、Gremlin Daemonが起動しています。

設定

設定ファイルに必要な情報を記述します。

設定ファイルは、C:\ProgramData\Gremlin\Agent\config.yaml です。

Gremlinインストール時は、config.yaml.example というファイル名になっているので名前を変更しておきましょう。

設定できる変数は上記ページに記載されています。

今回はシークレット認証で設定してみます。

必要な変数はteam_idteam_secretです。

team_id: xxxxxx-xxxx-xxxx-xxxx-xxxxxx
team_secret:    xxxxxx-xxxx-xxxx-xxxx-xxxx

ファイルを編集し、保存し終えたらGremlinの再起動を行って設定を反映させます。

サービスでGremlin Daemonを右クリックして再起動を実行するか、

net stop gremlind
net start gremlind

コマンドラインで上記コマンドを実行することで再起動ができます。

攻撃を実行してみる

設定を終えたら、Gremlinのダッシュボードにログインし、Clientsのページを確認します。

GremlinをインストールしたホストがActiveになっていルでしょうか?

ホストがActiveであることが確認できた後、このホストに対して攻撃を実行してみましょう。

右の方にAttack hostというボタンがあるのでクリックします。 するとダイアログが立ち上がるので、該当のホストだけに攻撃を実行するようにAttack this hostをクリックします。

攻撃を作成するページに遷移します。 Choose Hosts to targetは選択したホストになっているはずですね。

Choose a Gremlinでは実行したい攻撃を選択します。

今回はCPU攻撃を実行してみます。

※ WindowsではProcess Killer, Time Travel, Packet Loss攻撃はできないです

Unleash Gremlinをクリックして攻撃を実行します。

実行中は、Gremlinのダッシュボードから状況を確認することが可能です。

Windowsのタスクマネージャーや、EC2インスタンスのモニタリングも確認すると、CPU使用率の変化が見れます。

最後に

WindowsのインスタンスにGremlinをインストールして攻撃を実行しました。

Windowsでも様々な攻撃が実行できるので色々試していきたいと思います。