Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cloud-audit — Tencent CloudとAWS向けに、異常検知、ブラックリストルール、ベースライン分析を使用してクラウドプラットフォームのログを定期的に監査し、AK/SK認証情報の不正使用を検出する自動化されたクラウドセキュリティ監査ツール。 | Kitploit
ツール/GitHubGitHub/al0ne/cloud-audit
クラウドセキュリティ脅威インテリジェンスインシデントレスポンス異常検知ログ分析
GitHubal0ne/cloud-audit

cloud-audit

Tencent CloudとAWS向けに、異常検知、ブラックリストルール、ベースライン分析を使用してクラウドプラットフォームのログを定期的に監査し、AK/SK認証情報の不正使用を検出する自動化されたクラウドセキュリティ監査ツール。

リポジトリを見る
44832年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

プロジェクト概要

cloud-audit(クラウド監査アシスタント)は、パブリッククラウドベンダーのAK/SK漏洩が悪用されることを検出するツールです。定期的にクラウドプラットフォームのAPIを呼び出して監査ログを取得し、異常な動作/ブラックパターン/ベースラインに基づいて不正侵入の疑いを発見します。

現在はTencent CloudとAWSのみサポートしています。

特徴

  • Tencent CloudプラットフォームのAK/SK利用アラート(異常動作)を検出
    • AK/SKを使用したコマンド作成/実行の監視
    • AK/SKを使用したサブアカウント追加/削除の監視
    • AK/SKを使用したクロスリージョンDBリスト取得
    • AK/SKを使用したクロスリージョンインスタンスリスト取得
  • AWSプラットフォームのAK/SK利用アラート(ベースライン検出)を検出
    • AK/SKを使用したユーザー作成の監視
    • AK/SKを使用したユーザー一覧取得の監視
    • AK/SKを使用したS3一覧取得の監視
    • AK/SKを使用したDB一覧取得の監視
    • AK/SKを使用した権限昇格の監視
  • 企業微信/Discordへのアラート通知をサポート

使用方法

第一歩:コマンドを実行して依存関係をインストール

root@kitploit:~
cd /opt/ && git clone https://github.com/al0ne/cloud-audit
cd cloud-audit && pip3 install -r requirements.txt

第二歩:.env設定ファイルを作成して修正

root@kitploit:~
cp .env.example .env

各自の実際の設定に応じて.envファイルに入力します

root@kitploit:~
# 腾讯云のAK/SK情報。APIを呼び出してログを取得するためにAK/SKが必要です。
TencentAccessKey="xxx"
TencentSecretKey="xxx"

# 腾讯云で監視するAK/SKのリスト
AccesskeyList="xxx,xxx,xxx"

# AWSのAK/SK情報
AWS_ACCESS_KEY_ID="xxx"
AWS_SECRET_ACCESS_KEY="xxx"

# Discord通知情報
discord_webhook_url=""

# 企業微信ロボット通知
weixin_webhook_url=""

第三歩:プログラムの重要な設定

root@kitploit:~
# 信頼済みネットワークセグメント。非信頼ネットワークセグメントからの機密操作は直接アラートを発します。
while_cidr = ["192.168.0.0/16", "172.16.0.0/12", "10.0.0.0/8"]

# AWSで注目するリージョン。このリージョン以外のイベントはクエリされません。
aws_region = [
    "us-east-1",
    "us-east-2",
    "ap-northeast-1",
    "ap-southeast-1"
]

実行

root@kitploit:~
python3 cloud-audit.py

プログラムは15分ごとに検索結果を実行します。

AWSの権限に関する注意

AWSのログはAWS CloudTrailサービスを使用して読み取り・監査しているため、アカウントのIAM権限にAWSCloudTrail_ReadOnlyAccessが付与されていることを必ず確認してください。これがないと、以下のようなエラーメッセージが表示されます。

root@kitploit:~
botocore.exceptions.ClientError: An error occurred (AccessDeniedException) when calling the LookupEvents operation: User: arn:aws:iam::xxxxx:user/test is not authorized to perform: cloudtrail:LookupEvents because no identity-based policy allows the cloudtrail:LookupEvents action

AWS IAMコンソールにアクセスし、ユーザー→権限の項目で権限を追加してください。

検出ロジック

クラウドプラットフォームの悪用検出ロジック

クラウドプラットフォーム向けの悪用ツールを使用する場合、そのようなツールの典型的な動作には、全リージョンのRDSインスタンスの有無をスキャンしたり、全リージョンのECSインスタンスやコンテナをスキャンしたり、サブアカウントを作成/削除したり、コマンドを実行したりすることが含まれます。これらの動作自体が比較的機密性の高い操作であるため、各クラウドプラットフォームのログインターフェースを通じてこれらの動作を取得します。

もう一つの方法は、信頼できないネットワークセグメントからの機密操作を検出するものです。通常はIDC内部ネットワークまたはIDC出口IPから呼び出されますが、企業の信頼できるネットワークセグメント以外からAK/SK呼び出しが発生し、かつそれが高リスク操作である場合は直接アラートを発します。

一般的な機密性の高い主要操作の例:

  • CreateUser
  • ListUsers
  • ListBuckets
  • DescribeInstances
  • DescribeDBInstances
  • AttachUserPolicy
  • RunCommand/CreateCommand(Tencent Cloud)

Tencent Cloud検出

Tencent CloudとAWSのAPI呼び出しにおける最大の違いは、Tencent CloudではAPIを通じて特定のAK IDの詳細な動作を照会できるのに対し、AWSではプラットフォーム上で検索するしかなく、AK/SKを使って特定のAK IDの最近の実行情報を照会できない点です。

そのため、Tencent CloudのAK/SK悪用を検出するには、監視対象のオンライン業務で使用されているAK IDのリストを入力し、定期的に特定のAK IDが実行した動作を確認する必要があります。

AWS検出

AWSではリージョンと動作に基づいてログを取得するしかなく、AK/SKを使ってCloudTrailインターフェースを呼び出し、特定のリージョンの特定の動作にログがあるかどうかを確認します。

そのため、AWSでは主にベースラインに基づいて判断します。

root@kitploit:~
def DescribeInstances(CloudTrailEvent: dict):
    """
    AK/SKを使用してec2情報をリストする動作を検出
    :param CloudTrailEvent:
    :return: None
    """
    accessKeyId = CloudTrailEvent.get('userIdentity').get('accessKeyId')
    arn = CloudTrailEvent.get('userIdentity').get('arn')
    eventTime = utc_to_china_tz(CloudTrailEvent.get('eventTime'))
    eventName = CloudTrailEvent.get('eventName')
    awsRegion = CloudTrailEvent.get('awsRegion')
    sourceIPAddress = CloudTrailEvent.get('sourceIPAddress')
    userAgent = CloudTrailEvent.get('userAgent')

    sip_verify = False

    for cidr in while_cidr:
        if ipaddress.ip_address(sourceIPAddress) in ipaddress.ip_network(cidr):
            sip_verify = True

    if not sip_verify and 'aws-internal' not in userAgent:
        message = f"{text_title}\n時間:{eventTime}\nアカウントID:{arn}\nリージョン:{awsRegion}\nAccessKey ID:{accessKeyId}\n"
        f"実行アクション:{eventName}\nIPアドレス:{sourceIPAddress}\nUser-Agent:{userAgent}\n\n"
        f"外部IPがインスタンス情報のリストを要求していることを検出しました。攻撃者による悪用の可能性に注意してください!"
    send_message(message)

実行画面スクリーンショット

Discord通知スクリーンショット

1

1

2

今後の計画

現時点では動作ベースの検出のみですが、今後はベースラインに基づいた検出も追加する予定です。

  • SDK以外のUser-AgentによるAK/SK呼び出し
  • ベースライン検出:過去に実行したことのないコマンドが初めて実行された場合に直接アラート
ツールをダウンロード