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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
vsftpd-cmds-denied-alias — vsftpd 3.0.5 - उच्च - रिमोट - विशेषाधिकार शेष - cmds_denied में RFC उपनाम (XRMD) छूट गए | Kitploit
उपकरण/GitHubGitHub/abraxas/vsftpd-cmds-denied-alias
रक्षात्मक उपकरणभेद्यता विश्लेषणशोषणकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगपेपर और शोधलैब और अभ्यास
GitHubabraxas/vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

vsftpd 3.0.5 - उच्च - रिमोट - विशेषाधिकार शेष - cmds_denied में RFC उपनाम (XRMD) छूट गए

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

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - vsftpd-cmds-denied-alias

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vsftpd-cmds-denied-alias

vsftpd-cmds-denied-alias

Class: Privilege leftover Reach: Remote

vsftpd 3.0.5 - Chris Evans

मैंने आधिकारिक tarball को pin किया, न GitHub mirror और न distro fork। SHA-256 26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3। vsftpver.h VSF_VERSION "3.0.5"।

cmds_denied process_post_login (postlogin.c:140-184) में एक सटीक uppercased token मिलान है। Dispatch फिर RFC 775 aliases को उन्हीं handlers पर OR करता है: RMD||XRMD (:263-264), साथ ही CWD||XCWD, MKD||XMKD, PASV||P@SW, और अलग EPSV / STOU / APPE। एक operator जो RMD को denylist करता है (सामान्य DELE,RMD recipe) वह अभी भी XRMD को rmdir करने देता है।

यह leftover एक denylist के अंतर्गत authenticated FTP integrity है जिसे operator ने बंद समझा था। यह unauth नहीं, root नहीं, chroot escape नहीं, और RCE नहीं है।

IDअभी तक कोई CVE नहीं
ClassPrivilege leftover (cmds_denied सटीक token)
ReachRemote (authenticated FTP)
CWECWE-863
CVSSHigh: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Productvsftpd (Chris Evans)
Affectedvsftpd 3.0.5 आधिकारिक tarball
AuthFTP USER/PASS (lab: anonymous ftp)
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1:18720

एक attacker क्या कर सकता है

कौन: एक authenticated FTP user (anonymous या local) उस daemon पर जहाँ operator ने cmds_denied सेट किया है। Default unset है। man page में बताई गई virtual-user recipes एक ही guest uid साझा करती हैं, इसलिए Unix DAC उन्हें अलग नहीं कर सकता। Session पहले से ही सामान्य chroot के अंदर mapped uid है। cmds_denied वह अतिरिक्त नियंत्रण था जो verb को हटाने वाला था।

Integrity (lab-proven)

Method + sinkPrivilege
XRMD labdir cmds_denied=RMD के बादhandle_rmd -> उस directory का str_rmdir जिसे session uid Unix-rmdir कर सकता है। Lab: RMD labdir 550, XRMD labdir 250, CWD labdir 550 (dir चला गया)। दूसरा MKD labctrl अभी भी RMD पर 550।

Integrity (उसी सटीक-token gate से अनुमानित; lab नहीं)

Method + sinkPrivilege
XMKD dir cmds_denied=MKD के बादhandle_mkd -> session uid के रूप में mkdir
XCWD path cmds_denied=CWD के बादhandle_cwd -> chdir। फिर RETR यदि download_enable
STOU / APPE cmds_denied=STOR के बादhandle_upload_common create / append। write_enable चाहिए
EPSV / P@SW cmds_denied=PASV के बादhandle_pasv एक data listener खोलता है जिसे denylist रोकने वाली थी

Lab ने केवल RMD के बाद XRMD सिद्ध किया। अन्य aliases वही str_equal gate और dispatch में वही OR साझा करते हैं। मैंने उन्हें exercise नहीं किया।

Recon

प्रथम-श्रेणी leftover के रूप में कोई नहीं। cmds_denied कोई hide नहीं है। XRMD नाम सूचीबद्ध नहीं करता।

Availability

Bar में नहीं। Directory हटाना एक integrity hit है। उस नाम का बाद में CWD / RETR side effect के रूप में 550 होता है।

यह leftover क्या प्रदान नहीं करता

  • Unauthenticated cmds_denied (pre-login इसे अनदेखा करता है; USER/PASS/QUIT pre-login table ही रहते हैं)
  • Root
  • Chroot escape (allow_writeable_chroot default off; lab केवल /incoming के अंतर्गत लिखता है इसलिए deny अभी भी लागू है)
  • cmds_allowed fail-closed: XRMD सहित unlisted verbs 550 ही रहते हैं
  • write_enable=NO अभी भी write family को रोकता है (STOR/MKD/RMD/DELE/RNFR/RNTO/SITE/APPE/STOU)
  • Unix DAC जब users एक uid साझा नहीं करते
  • SITE vs site case bypass (ftpcmdio.c str_upper)
  • cmds_denied=CHMOD कभी मेल नहीं खाता; chmod को chmod_enable=NO या cmds_denied=SITE से kill करें

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

मैंने आधिकारिक 3.0.5 पर hide/deny/cmds_denied की खोज की। Gate comma tokens की एक walk और uppercased verb के विरुद्ध str_equal है। handle_rmd के अंदर कोई दूसरा check नहीं है। RFC 775 अभी भी XRMD को RMD के रूप में ship करता है। सामान्य सलाह cmds_denied=DELE,RMD है। वह string कभी XRMD का नाम नहीं लेती।

गलत मोड़: SITE vs site को bypass मानना। Verbs uppercased होते हैं। cmds_allowed को भी उसी तरह मानना: वह सूची fail-closed है, इसलिए जो aliases सूचीबद्ध नहीं हैं वे denied रहते हैं।

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18720। Compose project vsftpd-cmds-denied-alias। lab/ में आधिकारिक 3.0.5 tarball (ऊपर SHA-256)। cmds_denied=RMD, write_enable=YES, anonymous, केवल /incoming के अंतर्गत लिखता है। Witness VSFTPD-CMDS-DENIED-ALIAS-WITNESS। अंतिम पंक्ति:

SUCCESS vsftpd-cmds-denied-alias rmd=550 xrmd=250 dir-gone=yes VSFTPD-CMDS-DENIED-ALIAS-WITNESS

Fix

आधुनिक verb को deny करते समय RFC aliases को deny करें, या cmds_denied में aliases को match करें (XCWD / XMKD / XRMD / XPWD / XCUP / P@SW / EPSV / STOU / APPE)। cmds_allowed (allowlist) को प्राथमिकता दें।

Vendor intake [email protected] (vsftpd) है। Unpaid। किसी भी vsftpd mirror पर सार्वजनिक GitHub issue न खोलें।

Contact

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

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