一、什么是漏洞
1、漏洞
“漏洞”也称脆弱性,指系统存在的设计缺陷、错误或不合理之处。漏洞在生活中很常见,如游戏漏洞、刷钻漏洞、Windows漏洞等。
漏洞是一种软件攻击代码缺陷,这种缺陷大多数情况下不会影响用户的正常使用,但是一旦被恶意攻击者利用,就会对软件自身或软件的用户带来危害。如信息系统被攻击或控制,重要资料被窃取,用户数据被纂改,系统被作为入侵其他主机系统的跳板。从目前发现的漏洞来看,应用软件中的漏洞远远多于操作系统中的漏洞,特别是WEB应用系统中的漏洞更是占信息系统漏洞的绝大多数。
2、系统安全漏洞
系统安全漏洞指Windows操作系统以及应用软件设计中存在的缺陷
按照威胁类型对安全漏洞进行初步分类
-
获取控制权:利用该类型漏洞可以获取目标操作系统的管理权限,威胁最大,可影响系统的机密性完整性;
-
获取信息:利用该类型漏洞可以劫持目标的保密信息和资源,影响系统的机密性;
-
拒绝服务:利用该漏洞可导致目标应用暂时性或永久性失去响应正常服务的能力
3、分类
(1)获取控制权漏洞-MS17_010 -
MS17_010也称“永恒之蓝”,是在Windows的SMB服务处理SMB
v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码;
-
这个漏洞被多款恶意软件所利用,如勒索病毒WannaCrypt;
(2)获取信息类漏洞 -
SQL注入:该类型漏洞来源于对来自用户输入没有做充分的检查过滤就用于后续操作,从而导致用户可以访问后台服务器和数据库,甚至可以执行任意代码;
-
XSS注入漏洞:跨站脚本攻击指的是恶意攻击者往web页面里插入恶意HTML代码,当用户浏览之间,嵌入其中Web里面的HTML代码会被执行,从而达到特殊目的;
下图为一个普通留言板
在留言板的留言内容中插入一句如下代码,使得每个访问这个页面的用户都会收到一个恶作剧弹框
(3)拒绝服务漏洞-*MS12_020
-
拒绝服务漏洞纯粹是为了使目标主机或应用无法正常工作,常见的就是“蓝屏”攻击;
-
MS12_020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞;
(4)0day漏洞
-
除了以上漏洞以外,还有一种漏洞类型被称为0day漏洞
-
所谓0day漏洞是指,已经被发掘出来,但还没有大范围传播开的漏洞,也就是说,这种类型的漏洞很可能掌握在极少数人手中。黑客有可能在这种类型的漏洞的信息还没有大范围的传播开的时候,利用这段时间差攻击他们想要攻击的目标机器,因为绝大多数用户还没有获取到相关的漏洞信息,也无从防御。黑客要想得到手还是很容易的。一般被发现的漏洞都会放在漏洞信息库中。
4、漏洞的利用方式
自行编写程序
- 对于一些高级的黑客,可以基于漏洞的原理直接编写攻击程序以达到预期的目标。
使用专用工具
- 针对一些影响范围较广的漏洞,往往会有专门的的漏洞利用工具流传,通过利用工具可以实现信息获取。远程控制、文件管理等一些标准化的功能,大大降低了漏洞利用的难度;
使用漏洞利用框架
- 除了上述两种方法之外,还有一些渗透测试框架如著名的Metasploit,提供了优秀的模块化框架和底层基础库,安全技术人员可以利用其框架进行更加灵活的漏洞利用。
二、Metasploit概述
1、什么是Metasploit
Metasploit是一个漏洞利用框架。全称为The Metasploit Framework,简称MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要是它的框架=。它允许使用者开发自己的漏洞版本,从而进行测试
2、Metasploit都有些啥
3、攻击流程与思路
- 使用nmap (zenmap) ,nessus等扫描I具扫描目标主机版本、端口与服务,漏洞等信息,寻找可利用漏洞。
- 分析漏洞,并在metasploit中寻 找可利用exploit或Aux模块。
- 使用合适的exploit(AUX)并选择payload, 配置好exploit(AUX)与payload尝试进行攻击
- 攻击成功,获取系统权限。
4、Metasploit常用命令*
➢msfconsole
●进入metasploit利用框架
➢db status
●查看数据库的连接状态(如果没连接到数据库,可能是postgresq|服务没有启动 service postgresql start)
➢search
●用来搜寻一些渗透攻击模块,可以进行模糊匹配
➢show exploits
●显示可用的渗透攻击模块
➢use
●使用某个渗透攻击模块,可以通过use命令来使用show或search出来的渗透模块。
三、实验演示
一、实验场景一:使用使用MS12-020和Metasploit进行蓝屏攻击
本次实验拓扑:
1、查询Kali及网段地址
2、在kali终端输入msfconsole,启动Metasploit工具
3、输入命令search ms12_020,可选择的模块有2个,我们先选择第一个进行尝试。
4、进入这个模块后,用show options 查看当下的配置。
5、设置参数
6、攻击成功
二、使用MS17-010和Metasploit进行攻击
本次实验网络拓扑如下:
1、查询kali地址及扫描网段
2、通过nmap对win7进行扫描漏洞
3、在kali终端输入msfconsole,启动Metasploit工具
4、进入exploit模块
5、设置参数
6、选择meterpreter来对windows靶机进行操控攻击
7、进行屏幕截图
8、在meterpreter进行提权并上传文件
9、获取win7摄像头找到一个设备
开启
10、使用VNC远程控制Windows7进入选择模块
设置参数
控制成功