CentOS下利用systemtap抓取ssh登录的用户名和密码

systemtap是一款非常强大内核调试工具,可以debug很多关于kernel层的问题。Linux是通过PAM模块检测用户信息和认证信息的,从而确定一个用户是否可以登录系统,利用这个知识点,使用systemtap捕获一下pam_unix.so该动态库文件的函数调用,获得用户在ssh远程登录时的用户名和密码吧。

测试环境:CentOS6.432bit

内核版本:2.6.32-358.el6.i686

首先安装以下rpm包
yum--releasever=6.4update

yuminstall-ysystemtap

debuginfo-install$(rpm-qf/lib/security/pam_unix.so)

创建文件,写入以下代码
touch/root/capture_pass.stp


赋予可执行权限
chmod+xcapture_pass.stp
创建一个记录密码的文件
touchpassword.txt
执行systemstap脚本
stapcapture_pass.stp-opassword.txt

CentOS下利用systemtap抓取ssh登录的用户名和密码

本地执行capture_pass.stp脚本,同时ssh远程登录系统,即使第一次登录失败也没有问题,不会记录尝试输入的错误密码。登录成功后ctl+C终止脚本运行,查看password.txt,成功捕获。systemstap很强大的利器,所以只有超户可以使用。

CentOS下利用systemtap抓取ssh登录的用户名和密码

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...