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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
signal-server-dropwizard-admin — Signal-Server v20261007.0.0 - عالي - عن بُعد - صلاحيات متبقية - وصول غير مُصادق إلى Dropwizard admin :8081 | Kitploit
أدوات/GitHubGitHub/abraxas/signal-server-dropwizard-admin
أدوات دفاعيةالاستطلاعتحليل الثغرات الأمنيةتدقيق التكوينجمع المعلوماتأمن الويباختبار الاختراقسوء التكوين

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHub
abraxas/signal-server-dropwizard-admin

signal-server-dropwizard-admin

Signal-Server v20261007.0.0 - عالي - عن بُعد - صلاحيات متبقية - وصول غير مُصادق إلى Dropwizard admin :8081

عرض المستودع
410منذ 4 أياملم تتم المراجعة بعد
مشاركة

Abraxas Labs - signal-server-dropwizard-admin

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  signal-server-dropwizard-admin

signal-server-dropwizard-admin

الفئة: صلاحية متبقية الوصول: عن بُعد

Signal-Server v20261007.0.0 (a15d5cd) - Signal Messenger, LLC

يُطلق Dropwizard 5.0.2 DefaultServerFactory موصّل إدارة HTTP على المنفذ 8081 مع bindHost غير مضبوط (جميع الواجهات) وبدون مصادقة إدارية. لا يقوم Signal-Server بتجاوز ذلك أبدًا. لا يحتوي service/config/sample.yml على كتلة server:. ملف YAML يسرد فقط applicationConnectors الخاصة بـ TLS لا يزال يرث 8081 نصيًا صريحًا على 0.0.0.0. يبدأ server بالإضافة إلى عمّال ServerCommand الثلاثة تشغيله. ExternalRequestFilter موجود على سياق التطبيق فقط.

HTTP بدون مصادقة إلى :8081 هو مستوى الإدارة التشغيلي. ليس RCE. ليس استيلاء على الحساب. ليس قراءة رسائل مختومة.

المعرّفلا يوجد CVE بعد
الفئةصلاحية متبقية (إدارة Dropwizard بدون مصادقة)
الوصولعن بُعد (جميع الواجهات :8081، بدون مصادقة)
CWECWE-306، CWE-1188
CVSSمرتفع: 7.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
المنتجSignal-Server
المتأثرv20261007.0.0 (a15d5cd) Dropwizard 5.0.2. العيّنة داخل الشجرة / adminConnectors المحذوفة.
المصادقةلا شيء على موصّل الإدارة
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط

ما يمكن للمهاجم فعله

أي شخص يمكنه فتح TCP إلى منفذ الإدارة (الافتراضي 0.0.0.0:8081، بدون إعداد إضافي، بدون ترويسة Authorization) يحصل على كل servlet إدارة Dropwizard 5 القياسي بالإضافة إلى مهمة Signal الإضافية. هذه هي مجموعة الصلاحيات الكاملة. لا شيء في هذه القائمة هو RCE أو ATO أو قراءة لأجسام الرسائل المختومة.

الاستطلاع وبيانات العملية (GET، بدون مصادقة)

الطريقةالمسارالصلاحية
GET/pingتأكيد أن مستمع الإدارة يعمل. الجسم هو pong.
GET/metricsقراءة سجل Codahale الكامل بصيغة JSON: كومة JVM وغير الكومة، عدّادات GC، عدد الخيوط، عدّادات موصّل Jetty، مقاييس 4xx/5xx، المؤقتات. استخدم هذا لبصمة العملية، وتقدير الحمل، ومراقبة تأثير المهام اللاحقة.
GET/threadsتفريغ كامل لخيوط JVM: كل اسم خيط، ومعرّفه، وحالته، وإطارات المكدس. في المختبر أظهر هذا dw-admin-* بالإضافة إلى إطارات java.base nio. على عقدة Signal حيّة قد يتضمن نفس التفريغ أسماء الفئات، وأسماء المسجّلات، وأي سلسلة تصادف وجودها على المكدس (مسارات الملفات، أسماء المضيفين، toString للوسائط أثناء التنفيذ). ليس تفريغًا للكومة وليس تفريغًا لقائمة انتظار الرسائل.
GET/healthcheckتشغيل فحوصات الصحة المسجّلة. هذه الشجرة لا تسجّل أي إضافات، لذا يكون الجسم هو فحص الجمود الافتراضي (deadlocks.healthy). استجابة 200 مقابل 500 تخبرك ما إذا كانت JVM تعتقد أنها في حالة جمود.
GET/tasksسرد مهام الإدارة. على هذا الإصدار: gc، log-level، set-request-logging-enabled.

سلامة التسجيل وGC (POST، بدون مصادقة)

الطريقةالمسارالصلاحية
POST/tasks/log-level?logger=<name>&level=<LEVEL>ضبط أي مسجّل Logback على TRACE أو DEBUG أو INFO أو WARN أو ERROR أو OFF. يمكن لـ TRACE أن يجعل مسجّلات التطبيق تطبع المزيد (بما في ذلك قيم سجّلها المطوّر). OFF على مسجّل أمني أو مسجّل وصول يجعله معتمًا. المهاجم لا يتلقى تدفق السجلات عبر هذا HTTP. إنهم يغيّرون ما تكتبه العملية على القرص أو stdout. دليل المختبر: اسم المسجّل SIGNAL-SERVER-DROPWIZARD-ADMIN-WITNESS إلى TRACE.
POST/tasks/gcاستدعاء System.gc(). الاستجابة هي Running GC... / Done!. هذا تنبيه لإيقاف العالم، وليس موتًا للعملية.
POST/tasks/set-request-logging-enabled?enabled=trueمهمة خاصة بـ Signal مسجّلة في WhisperServerService.run. تُفعّل مرشّح سجل الوصول للطلبات (RequestLogManager). بعد ذلك، يمكن لـ HTTP إلى موصّل التطبيق كتابة الطريقة، وURI، والترويسات (بما في ذلك Authorization Basic) إلى سجل الوصول على القرص. عميل الإدارة لا يستعيد تلك الأسطر. على عمّال message-persister-service / APN / idle-job لا يحتوي منفذ التطبيق على موارد Signal Jersey، لذا تهم هذه المهمة على server. enabled=false يوقفها مرة أخرى.

ما لا تمنحه هذه الصلاحية المتبقية

  • لا shell، لا ProcessBuilder، لا Runtime.exec.
  • لا servlet لتفريغ الكومة. GET /heapdump يعيد 404.
  • لا قراءة للمغلّفات المختومة، أو prekeys، أو أسرار SVR، أو صفوف Dynamo/FDB عبر الإدارة.
  • لا إنشاء/حذف حساب، ولا ربط جهاز، ولا تجاوز قفل التسجيل.
  • لا تغيير في sample.yml أو في عناوين الربط.
  • تفعيل تسجيل الطلبات ليس بحد ذاته سرقة بيانات اعتماد. السرقة تحتاج إلى قراءة لاحقة لملفات السجل تلك (القرص، شاحن السجلات، مسجّل TRACE).

وصلت حاوية شقيقة على نفس شبكة Docker إلى http://vuln:8081/ping (200 pong) ولم تستطع الوصول إلى http://patched:8081/ping عندما كان bindHost هو 127.0.0.1. هذا هو نصف "عن بُعد".

كيف وجدته

ثبّتت signalapp/Signal-Server v20261007.0.0. ثمانية عشر بحثًا في المصدر. الدردشة، والمفاتيح، والرسائل، والنسخ الاحتياطية، والتبرعات، والمكالمات، وMFA، وحافلة gRPC، وHTTP الصادر جاءت فارغة عند Critical/High. بحث العمّال/الإدارة لم يكن كذلك. لا يزال Dropwizard 5.0.2 HttpConnectorFactory.admin() يستخدم المنفذ 8081 ومضيف ربط فارغًا. لا يضبط Signal أبدًا adminConnectors. إدارة Caddy الافتراضية على localhost. هذه ليست كذلك.

منعطف خاطئ: محاولة تشغيل Signal-Server الكامل. يمرّ sample.yml من check ولا يزال يحتاج إلى FoundationDB وDynamo وRedis وحزمة أسرار لـ run. الصلاحية المتبقية هي موصّل الإطار الذي يبدأه ServerCommand قبل أي من ذلك. المختبر هو Dropwizard 5.0.2 مع نفس ملف YAML الفارغ server: واسم مهمة Signal الإضافية.

المختبر

cd lab
./run.sh

Loopback 127.0.0.1:19010. مشروع Compose signal-server-dropwizard-admin. الشاهد SIGNAL-SERVER-DROPWIZARD-ADMIN-WITNESS. ملف YAML الخاص بالأداة لا يحتوي على كتلة server:. ملف YAML السلبي يضبط bindHost: 127.0.0.1. السطر الأخير:

SUCCESS signal-server-dropwizard-admin how=unauth-admin-8081 ping=200 metrics=200 threads=200 healthcheck=200 tasks=200 log-level=TRACE gc=200 set-log=enabled bind=* remote-vuln=200 remote-patched=fail SIGNAL-SERVER-DROPWIZARD-ADMIN-WITNESS

الإصلاح

اربط الإدارة بـ 127.0.0.1، أو اضبط adminConnectors: []، أو ضع مصادقة / mTLS على سياق الإدارة. لا تشحن ملف YAML يسرد فقط موصّلات التطبيق وتفترض أن 8081 بقي مغلقًا.

التواصل

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

تنزيل الأداة