什么是漏洞?
漏洞(Vulnerability)又叫脆弱性,这一概念早在1947年冯诺依曼建立计算机系统结构理论时就有涉及。
微软的RPC漏洞和蠕虫病毒
RPC接口中的缓冲区溢出冲击波蠕虫病毒——》席卷全球80%计算机
MS08-067漏洞Conficker(飞客蠕虫病毒)——》感染1500万台以上计算机,多年来被黑客当作“抓鸡工具”
永恒之蓝(MS17-010)漏洞Wannacry(勒索病毒) ——》造成80亿美元以上经济损失。
微软经典的蓝屏漏洞
MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行 漏洞。
远程桌面协议(RDP,Remote Desktop Protocol),Windows在处理某些对象时存在错误,可以通过特制的RDP报文访问未初始化的或已经删除的对象,导致任意代码执行,然后控制系统。实际使用过程中通常用于造成蓝屏攻击。
什么是SMB协议?
SMB(全称Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是考SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
可以实现远程控制监控和控制电脑。
Metasploit就是一个漏洞利用框架,简称MSF。MSF作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
- 搜索攻击模块;search+漏洞信息或者编号
- 使用某个模块;use
- 查看配置选项;show options
- 设置选项值;set
- 开始攻击;run/exploit
控制台启动:msfconsole
图形化界面启动,但是不常用:
重要模块介绍:
- exploits 攻击模块 实施精准打击(渗透攻击)
- auxiliary 漏洞辅助模块
- payloads 漏洞荷载模块 (攻击荷载)
- encoders 编码器模块
- nops 空指令模块
- evasion 创建反杀毒软件的木马
专业术语:
- 渗透攻击(Exploit),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为
- 攻击载荷(payload),是我们期望目标系统在被渗透攻击之后去执行的代码。
- Shellcode,是在渗透攻击时作为攻击载荷运行的一组机器指令,通常用汇编语言编写
- 模块(module),指MSF框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作
- 监听器(Listener),是MSF中用来等待网络连接的组件(生成木马之后发给受害主机,监听反弹木马连入本机)
MSF常用的命令
- show exploits 显示可用的渗透攻击模块
- search 用来搜寻一些渗透攻击模块,可以进行模糊匹配
- use 使用某个渗透攻击模块,可以通过use命令来使用show或者search出来的渗透模块
- show payloads 显示当前模块可用的攻击载荷
- show options 显示参数当选择渗透模块后,使用show options会显示该模块所需设置的参数
- set命令是用来设置某些选项的,比如使用set命令设置,攻击模块的options参数;设置攻击载荷payloads时,也是用set命令。
- exploit/run命令,设置完所有参数时,使用exploit命令,开始进行攻击
利用攻击模块
exploit和run都可以进行攻击,但是exploit更好
攻击失败。。。
关闭192.168.20.131防火墙之后:攻击成功