hacktricks/linux-hardening/linux-post-exploitation/README.md

65 lines
4.8 KiB
Markdown
Raw Normal View History

# Linux Saldırı Sonrası İşlemler
2022-06-27 08:48:17 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-06-27 08:48:17 +00:00
<details>
2022-06-27 08:48:17 +00:00
<summary>HackTricks'i Destekleyin</summary>
2022-06-27 08:48:17 +00:00
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak PR göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.**
2022-06-27 08:48:17 +00:00
</details>
{% endhint %}
2022-06-27 08:48:17 +00:00
## PAM ile Oturum Açma Şifrelerini Yakalama
2022-06-27 08:48:17 +00:00
Her kullanıcının giriş yaparken kullandığı her şifreyi kaydetmek için bir PAM modülü yapılandıralım. PAM nedir bilmiyorsanız şuraya bakın:
2022-06-27 08:48:17 +00:00
{% content-ref url="pam-pluggable-authentication-modules.md" %}
[pam-pluggable-authentication-modules.md](pam-pluggable-authentication-modules.md)
{% endcontent-ref %}
**Daha fazla ayrıntı için [orijinal yazıya](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/) bakın**. Bu sadece bir özet:
2022-06-27 08:48:17 +00:00
2024-02-10 18:14:16 +00:00
**Teknik Genel Bakış:**
Pluggable Authentication Modules (PAM), Unix tabanlı sistemlerde kimlik doğrulamayı yönetmede esneklik sunar. Giriş süreçlerini özelleştirerek güvenliği artırabilirler ancak yanlış kullanıldığında risk oluşturabilirler. Bu özet, PAM kullanarak giriş kimlik bilgilerini yakalamak için bir teknik ve azaltma stratejilerini açıklar.
2022-06-27 08:48:17 +00:00
2024-02-10 18:14:16 +00:00
**Kimlik Bilgilerini Yakalama:**
- `toomanysecrets.sh` adında bir bash betiği oluşturulur ve giriş denemelerini kaydetmek için yapılandırılır; tarih, kullanıcı adı (`$PAM_USER`), şifre (stdin aracılığıyla) ve uzak ana bilgisayar IP'si (`$PAM_RHOST`) `/var/log/toomanysecrets.log` dosyasına kaydedilir.
- Betik yürütülebilir hale getirilir ve `pam_exec.so` modülü kullanılarak sessizce çalıştırılması ve kimlik doğrulama belirtecinin betiğe açık hale getirilmesi seçenekleriyle PAM yapılandırmasına (`common-auth`) entegre edilir.
- Bu yaklaşım, bir Linux ana bilgisayarının nasıl istismar edilerek kimlik bilgilerinin gizlice kaydedilebileceğini göstermektedir.
2022-06-27 08:48:17 +00:00
```bash
2024-02-07 04:06:18 +00:00
#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log
2022-06-27 08:48:17 +00:00
sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh
sudo nano /etc/pam.d/common-auth
2024-02-07 04:06:18 +00:00
# Add: auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh
sudo chmod 700 /usr/local/bin/toomanysecrets.sh
2022-06-27 08:48:17 +00:00
```
### PAM Arka Kapı Ekleme
2022-06-27 08:48:17 +00:00
**Daha fazla ayrıntı için [orijinal yazıya](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9) bakın**. Bu sadece bir özet:
2022-06-27 08:48:17 +00:00
Pluggable Authentication Module (PAM), Linux altında kullanılan bir sistemdir ve kullanıcı kimlik doğrulaması için kullanılır. Üç ana kavram üzerinde çalışır: **kullanıcı adı**, **şifre** ve **hizmet**. Her hizmet için yapılandırma dosyaları, kimlik doğrulamasını ele alan paylaşılan kütüphanelerin bulunduğu `/etc/pam.d/` dizininde bulunur.
2022-06-27 08:48:17 +00:00
**Amaç**: PAM'ı değiştirerek belirli bir şifre ile kimlik doğrulamasına izin vermek ve gerçek kullanıcı şifresini atlamak. Bu özellikle, neredeyse tüm hizmetler tarafından şifre doğrulaması için kullanılan `common-auth` dosyasında bulunan `pam_unix.so` paylaşılan kütüphaneye odaklanmaktadır.
2022-06-27 08:48:17 +00:00
### `pam_unix.so`'yi Değiştirme Adımları:
2022-06-27 08:48:17 +00:00
1. **Kimlik Doğrulama Yönergesini Bulun** `common-auth` dosyasında:
- Kullanıcının şifresini kontrol etmekten sorumlu olan satır `pam_unix.so`'yu çağırır.
2024-02-10 18:14:16 +00:00
2. **Kaynak Kodunu Değiştirin**:
- `pam_unix_auth.c` kaynak dosyasına, önceden belirlenmiş bir şifre kullanıldığında erişimi sağlayan bir koşullu ifade ekleyin, aksi takdirde normal kimlik doğrulama sürecine devam eder.
3. **Değiştirilmiş `pam_unix.so` kütüphanesini Yeniden Derleyin ve Değiştirin** uygun dizine.
2024-02-10 18:14:16 +00:00
4. **Test Etme**:
- Önceden belirlenmiş şifre ile çeşitli hizmetlere (giriş, ssh, sudo, su, ekran koruyucu) erişim sağlanırken normal kimlik doğrulama süreçleri etkilenmez.
2022-06-27 08:48:17 +00:00
{% hint style="info" %}
2024-02-10 18:14:16 +00:00
Bu süreci [https://github.com/zephrax/linux-pam-backdoor](https://github.com/zephrax/linux-pam-backdoor) ile otomatikleştirebilirsiniz.
2022-06-27 08:48:17 +00:00
{% endhint %}