Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
signal-server-dropwizard-admin — Signal-Server v20261007.0.0 - उच्च - रिमोट - विशेषाधिकार शेष - unauth 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 - उच्च - रिमोट - विशेषाधिकार शेष - unauth Dropwizard admin :8081

रिपॉजिटरी देखें
7249 दिन पहलेअभी तक समीक्षित नहीं
साझा करें

Abraxas Labs - signal-server-dropwizard-admin

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

राइट-अप: https://abraxaslabs.tech/research/signal-server-dropwizard-admin

signal-server-dropwizard-admin

वर्ग: विशेषाधिकार अवशेष पहुँच: रिमोट

सिग्नल-सर्वर v20261007.0.0 (a15d5cd) - सिग्नल मैसेंजर, LLC

Dropwizard 5.0.2 का DefaultServerFactory पोर्ट 8081 पर एक HTTP एडमिन कनेक्टर के साथ आता है, जिसमें bindHost सेट नहीं है (सभी इंटरफ़ेस) और कोई एडमिन प्रमाणीकरण नहीं है। Signal-Server इसे कभी ओवरराइड नहीं करता। service/config/sample.yml में कोई server: ब्लॉक नहीं है। एक YAML जो केवल TLS applicationConnectors सूचीबद्ध करता है, वह अभी भी 0.0.0.0 पर प्लेनटेक्स्ट 8081 विरासत में प्राप्त करता है। server और तीन ServerCommand वर्कर इसे शुरू करते हैं। ExternalRequestFilter केवल एप्लिकेशन कॉन्टेक्स्ट पर है।

:8081 पर अनधिप्रमाणित HTTP परिचालनिक एडमिन प्लेन है। RCE नहीं। खाता अधिग्रहण नहीं। सीलबंद-संदेश पठन नहीं।

IDअभी तक कोई 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

एक हमलावर क्या कर सकता है

जो भी एडमिन पोर्ट (डिफ़ॉल्ट 0.0.0.0:8081, कोई अतिरिक्त कॉन्फ़िग नहीं, कोई Authorization हेडर नहीं) पर TCP खोल सकता है, उसे हर स्टॉक 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 logger को TRACE, DEBUG, INFO, WARN, ERROR, या OFF पर सेट करें। TRACE एप्लिकेशन लॉगर्स को अधिक प्रिंट करने पर मजबूर कर सकता है (जिसमें डेवलपर द्वारा लॉग किए गए मान भी शामिल हैं)। किसी सुरक्षा या एक्सेस लॉगर पर OFF उसे अंधकारमय कर देता है। हमलावर को इस HTTP के माध्यम से लॉग स्ट्रीम नहीं मिलती है। वे बदलते हैं कि प्रक्रिया डिस्क या stdout पर क्या लिखती है। लैब ओरेकल: लॉगर नाम SIGNAL-SERVER-DROPWIZARD-ADMIN-WITNESS को TRACE पर सेट करना।
POST/tasks/gcSystem.gc() को कॉल करें। प्रतिक्रिया Running GC... / Done! है। यह एक stop-the-world नुड्ज है, प्रक्रिया की मृत्यु नहीं।
POST/tasks/set-request-logging-enabled?enabled=trueWhisperServerService.run में पंजीकृत केवल-सिग्नल कार्य। अनुरोध एक्सेस-लॉग फ़िल्टर (RequestLogManager) को सक्षम करता है। उसके बाद, एप्लिकेशन कनेक्टर पर HTTP डिस्क पर एक्सेस लॉग में विधि, URI, और हेडर (जिसमें Authorization Basic भी शामिल है) लिख सकता है। एडमिन क्लाइंट को वे पंक्तियाँ वापस नहीं मिलती हैं। message-persister-service / APN / idle-job वर्कर्स पर एप्लिकेशन पोर्ट में कोई Signal Jersey संसाधन नहीं है, इसलिए यह कार्य server पर मायने रखता है। enabled=false इसे फिर से बंद कर देता है।

यह अवशेष क्या प्रदान नहीं करता

  • कोई शेल नहीं, कोई ProcessBuilder नहीं, कोई Runtime.exec नहीं।
  • कोई हीप-डंप सर्वलेट नहीं। GET /heapdump 404 है।
  • एडमिन के माध्यम से सीलबंद लिफाफे, प्रीकीज़, SVR रहस्य, या Dynamo/FDB पंक्तियों का कोई पठन नहीं।
  • कोई खाता निर्माण/विलोपन, डिवाइस लिंक, या पंजीकरण-लॉक स्किप नहीं।
  • sample.yml या बाइंड पतों में कोई परिवर्तन नहीं।
  • अनुरोध लॉगिंग सक्षम करना अपने आप में क्रेडेंशियल चोरी नहीं है। चोरी के लिए उन लॉग फ़ाइलों का बाद में पठन आवश्यक है (डिस्क, लॉग शिपर, TRACE लॉगर)।

उसी Docker नेटवर्क पर एक सहोदर कंटेनर ने http://vuln:8081/ping (200 pong) तक पहुँच प्राप्त की और जब bindHost 127.0.0.1 था तो http://patched:8081/ping तक नहीं पहुँच सका। यही रिमोट आधा है।

मैंने इसे कैसे खोजा

मैंने signalapp/Signal-Server v20261007.0.0 को पिन किया। अठारह स्रोत खोजें। चैट, कुंजियाँ, संदेश, बैकअप, दान, कॉलिंग, MFA, gRPC ऑम्निबस, और आउटबाउंड HTTP Critical/High पर खाली लौटे। वर्कर्स/एडमिन खोज नहीं लौटी। Dropwizard 5.0.2 HttpConnectorFactory.admin() अभी भी पोर्ट 8081 और एक null बाइंड होस्ट का उपयोग करता है। Signal कभी adminConnectors सेट नहीं करता। Caddy का डिफ़ॉल्ट एडमिन localhost है। यह नहीं है।

गलत मोड़: पूर्ण Signal-Server को बूट करने का प्रयास। sample.yml check पास करता है और फिर भी run के लिए FoundationDB, Dynamo, Redis, और एक सीक्रेट्स बंडल की आवश्यकता होती है। अवशेष वह फ्रेमवर्क कनेक्टर है जिसे ServerCommand उन सब से पहले शुरू करता है। लैब Dropwizard 5.0.2 है जिसमें वही खाली server: YAML और Signal का अतिरिक्त कार्य नाम है।

लैब

cd lab
./run.sh

Loopback 127.0.0.1:19010. Compose प्रोजेक्ट signal-server-dropwizard-admin. Witness SIGNAL-SERVER-DROPWIZARD-ADMIN-WITNESS. Gadget YAML में कोई server: ब्लॉक नहीं है। Negative 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]

टूल डाउनलोड करें