SSH幽灵登录

对于linux的事后排查,蓝军通常会对utmp与wtmp进行检查,如何绕过这些记录的监管,对目标机器进行ssh幽灵登录需要红队掌握。

背景知识

并不是所有程序登录的时候都会调用utmp 和wtmp 日志记录接口,只有交互式会话,才会调用utmp 和 wtmp的日志记录接口,比如 通过tty 或者pts或者图形界面登录的都会调用utmp 和wtmp 日志记录接口,然后我们在使用w和last命令的时候就会发现登录信息,其中w命令来源于utmp,last来源于wtmp。

因此,诸如scp、sftp的命令涉及到ssh登录,但由于不使用交互式的会话,故不会被utmp以及wtmp记录。

那么,我们便可以使用ssh命令模仿此类操作,ssh登录后不使用交互式的会话,而是调用一个二进制用于执行命令。

pst/0表示0个终端窗口 tty表示完整的交互式终端

具体实践

ssh username@ip /bin/bash -i

命令含义

/bin/bash 表示ssh登录后调用/bin/bash二进制
-i 表示通过交互式的方法使用/bin/bash,并非ssh命令的参数,而是/bin/bash的参数

实战效果

ssh kali@172.16.173.128 /bin/bash -i

同理,如果只需要在机器上执行一个命令 那么完全可以通过该方法进行执行(但ssh日志仍会记录,建议登录ssh进行完整隐匿操作)

使用w及last查看登录记录,并未发现记录:

痕迹研究

网络连接

若蓝队排查时ssh连接仍未断开,则可通过网络连接发现记录

进程信息

若蓝队排查时ssh连接仍未断开,则可通过进程信息发现记录

第一个记录为连接仍为断开的情况,可以看到这里显示了kali正在连接,且状态为notty,

第二个记录为连接断开的情况,此时已无记录。

ssh日志

因为存在登录行为,故ssh日志会进行记录

完整隐匿方案

使用高匿代理

防止处于连接状态下蓝军上机排查抓到IP被溯源

ssh幽灵登录

ssh kali@172.16.173.128 /bin/bash -i

绕过utmp与wtmp日志监控

删除ssh日志

针对性删除ssh日志

蓝军检测手段

机器无对应日志,只能借助流量或日志设备进行排查,否则工作无法开展。