1.背景介绍
几乎每一个玩渗透的人都会接触到metasploit framework,简称msf。这是一个渗透测试框架,用ruby语言编写的,该框架集成了很多可用的exploit,比如著名的ms08_067等。你可以在这个框架下进行一系列的渗透测试,利用现有的payload,如meterpreter等进一步拿取对方的shell。
本次教程的主题内容是使用msf渗透测试框架进行SSH服务扫描,SSH服务通常在22端口开启,SSH服务扫描的意义何在呢?举例来讲,当我们扫描目标的22端口得知它开启了SSH服务,那么我们就可以尝试进行SSH弱口令破解。大部分扫描对于攻击方而言,是为了信息收集,制定网络攻击方案。
2.资源装备
2.1 两台安装好kali linux系统的虚拟机
2.2 整装待发的小白一个
3.具体步骤
3.1两种扫描方法
第一种,在kali linux系统直接使用nmap或进入msf渗透测试框架调用nmap针对目标的22端口进行扫描,效果是一样的。
第二种,使用msf渗透测试框架配备的SSH相关模块进行扫描,推荐大家使用这种方法,扫描显示的内容更加详细和丰富。
我们在msf5命令行下搜索SSH相关模块,输入“search ssh_version”,显示可用的模块寥寥可数,我们就用编号为3的模块为大家演示吧。
输入use空一格加上“模块名”,回车使用该模块,再输入“show options”查看该模块需要设置的参数,从下图可以看到需要我们设置的参数只有rhosts一个,其它的参数都已经有默认的设置了。
rhosts参数其实就是设置目标的IP地址,我们另一台kali linux虚拟机的IP是192.168.78.161,所以“set rhosts 192.168.78.161”,如下图所示。
设置好后,输入run回车即可扫描。扫描显示对方的22端口并没有开启SSH服务,两种方法的结果都一样。
3.2开启22端口SSH服务
虽然被扫描的另一台虚拟机没有开启22端口的SSH服务,但是为了配合本次演示,那么我们就手动将其开启吧,小白也可以顺带学习一下如何在kali linux系统中开启SSH服务。
我们切换到另外一台kali虚拟机,在终端输入“vi /etc/ssh/sshd_config”回车,修改这个文件的几处内容。第一处,找到“# Port 22”,把#号删掉。
第二处,找到“#PermitRootLogin prohibit-password”,删掉#号和prohibit-password,加上yes,修改后的代码“PermitRootLogin yes”。
第三处,找到“#PasswordAuthentication yes”,删掉#号。
总共就这三处内容需要修改,修改完后保存文件退出。
仅仅只是修改了配置文件还没能够开启SSH服务,最后还要用到一条既关键又简单的命令“service ssh start”,输入这条命令回车执行,再输入“service ssh status”查看服务是否开启成功,看下图中绿色的active(running),意味着SSH服务开启了。
3.3再次使用msf模块进行SSH服务扫描
切换回负责扫描的kali linux虚拟机,由于之前通通设置好了,模块已经准备就绪,输入run回车,就可以开始扫描,让我们来看看它的扫描结果是不是和刚刚的不一样。
扫描结果显示目标主机22端口开启了SSH服务,SSH服务版本是SSH-2.0-OpenSSH_7.9p1 Debian-10等详细信息。