Linux Post-Exploitation

Reading time: 6 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

PAMを使用したログインパスワードのスニッフィング

各ユーザーがログインに使用するパスワードをログに記録するためにPAMモジュールを設定しましょう。PAMが何か分からない場合は、以下を確認してください:

PAM - Pluggable Authentication Modules

詳細については元の投稿を確認してください。これは要約です:

技術概要: プラガブル認証モジュール(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のバックドア作成

詳細については元の投稿を確認してください。これは要約です:

Pluggable Authentication Module (PAM)は、Linuxでユーザー認証に使用されるシステムです。これは、ユーザー名パスワード、およびサービスの3つの主要な概念に基づいています。各サービスの設定ファイルは/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、スクリーンセーバー)にアクセスが許可され、通常の認証プロセスには影響がありません。

note

このプロセスはhttps://github.com/zephrax/linux-pam-backdoorで自動化できます。

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする