使用sshLooterC抓取SSH密码:步骤与注意事项

需积分: 0 5 下载量 10 浏览量 更新于2024-08-05 收藏 308KB PDF 举报
本文档主要介绍了如何使用sshLooterC这个工具来抓取SSH密码,特别是针对Linux系统中的安全漏洞进行渗透测试。sshLooterC是一个C语言编写的脚本或库,它利用了PAM(Pluggable Authentication Modules)模块,通过模拟认证过程,尝试获取SSH密码。以下是一些关键知识点的详细解释: 1. **环境设置**: 文章提到在Ubuntu 16.04 x64环境中运行,使用的是Linux kernel version 4.4.0-174-generic。这说明测试是在一个较旧的Ubuntu版本上进行,可能为了演示特定版本的行为或兼容性问题。 2. **依赖安装**: 为了运行sshLooterC,需要安装一些必要的依赖,如`make`, `gcc`, `libcurl4-openssl-dev`, `libpam0g-dev`。`make`是构建工具,`gcc`是C语言编译器,`libcurl`用于网络请求,`libpam0g-dev`提供了PAM模块开发所需的头文件和库。 3. **代码修改**: 作者提到对原代码进行了修改,主要是添加了`write_data`和`saveMessage`函数,用于将获取到的密码保存到本地文件`/tmp/.passwd`。同时,还实现了`pam_sm_setcred`和`pam_sm_acct_mgmt`等PAM回调函数,这些函数在PAM框架中负责处理账户管理和密码设置相关的操作。 4. **编译与部署**: 文档中提到了使用`yum`(针对CentOS的包管理器)安装额外的开发工具和库,如`libcurl-develop`, `openssl-devel`, 和`pam-devel`,以便正确编译。此外,由于作者提到的`gcc`编译,说明在Linux上通常使用`gcc`或`g++`编译C源代码。 5. **渗透测试目的**: 通过这个工具,作者意图演示如何利用SSH协议的弱点,对目标系统进行密码嗅探,这在渗透测试或安全审计中可能被视为一种攻击手段。然而,值得注意的是,这种行为应该在受控环境下进行,并且只用于教育和提高安全意识,而不是实际的恶意活动。 6. **安全警告**: 文档中并未明确提及是否为合法或道德行为,但强调了`sshLooterC`仅用于学习和记录,这意味着其目的可能是为了教育用户关于SSH安全措施的重要性,或者测试系统防护能力。但在实际应用中,未经授权的密码抓取是非法的,且违反了隐私权。 本篇文章详细展示了如何使用sshLooterC这个工具在Linux环境下通过PAM机制抓取SSH密码,以及相应的环境配置、依赖安装和代码实现。同时,它也强调了安全边界和合法使用此类工具的必要性。