LoginSignup
0
0

AmazonGuardDuty の重要度 高(High) をランダムで発生させるスクリプトを作った

Last updated at Posted at 2023-05-24

課題

AmazonGuardDuty で擬似アラートを作成する際、AWS CloudShell で都度コマンドを調べて叩くのが面倒くさい。

作成した自動スクリプトの仕組み

AWS CloudShell でスクリプトを叩きます。
内容は発生させたい検出結果タイプのリストをランダムに呼び出し、それを引数に AmazonGuardDuty のコマンドを叩く形にしました。

発生させたい検出結果タイプのリストを作成しておく

AWS CloudShell $ vim finding-list
AWS CloudShell $ cat finding-list
Backdoor:EC2/C&CActivity.B
Backdoor:EC2/C&CActivity.B!DNS
Backdoor:EC2/DenialOfService.Dns
Backdoor:EC2/DenialOfService.Tcp
<長いので省略>
UnauthorizedAccess:S3/MaliciousIPCaller.Custom
UnauthorizedAccess:S3/TorIPCaller

AmazonGuardDuty の擬似アラートを作成するコマンドを含んだスクリプトを作成する

AWS CloudShell $ vim Random_GuardDuty.sh
AWS CloudShell $ cat Random_GuardDuty.sh
#!/bin/bash

DATE=`date`
RANDOM_LINE=$(shuf finding-list | head -n 1)
echo $DATE = $RANDOM_LINE
aws guardduty create-sample-findings --detector-id $(aws guardduty list-detectors --query 'DetectorIds' --output text) --finding-types "$RANDOM_LINE"

スクリプトを実行してみる

echo で $DATE(dateの時刻表示) と $RANDOM_LINE(リストでランダムで拾ってきた検出結果) を表示しています。

AWS CloudShell $ sh Random_GuardDuty.sh 
Wed May 24 16:47:32 JST 2023 = Policy:S3/BucketAnonymousAccessGranted

AmazonGuardDuty のコマンド実施内容の説明

(参考) CLIリファレンス https://docs.aws.amazon.com/cli/latest/reference/guardduty/index.html
GuardDuty.jpg

不定期に実施したい

ランダム時間(1秒~900秒) に動いていて欲しいとかであれば以下コマンドで実施できます。

AWS CloudShell $ while true; do sh Random_GuardDuty.sh; sleep $(shuf -i 1-900 -n 1);done
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0