MS08-067和MS17-010
前期准备
kali Linux自带Metasploit,直接使用命令msfconsole启动即可
1.软件配置
2、建立搜索缓存(数据库)
启动PostgreSQL
数据库服务:service postgresql start
监听5432
端口
初始化Metasploit
数据库:msfdb init
查看数据库连接情况:msfconsole db_status
2.漏洞扫描
目标靶机为 Windows xp professional(因为后来换了一个系统,所以ip会不一样)
nmap扫描
经过nmap扫描,主要有以下漏洞
1.CVE-2008-4250 Microsoft Windows系统易受远程代码执行攻击(MS08-067)
2.CVE-2017-0143 Microsoft SMBV1服务器中的远程代码执行漏洞(MS17-010)
第二个漏洞xp能扫描出来,可是攻击不了,只能在win7上攻击
漏洞利用
1.了解一下这两个漏洞
关于这两个漏洞,我做的时候了解不是很多,如果读者有兴趣的话可以自己了解一下
MS08-067远程溢出漏洞
漏洞原理简述
攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC
(Remote Procedure Call 远程过程调用)请求,通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize
函数时触发,NetPathCanonicalize
函数在远程访问其他主机时,会调用NetpwPathCanonicalize
函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize
函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行。
漏洞威胁
能远程主动发起对漏洞主机端口的扫描,并且能直接获得漏洞主机的系统权限,属于最高严重级别的漏洞。
MS17-010远程溢出漏洞
漏洞原理简述
MS17-010漏洞出现在Windows SMB v1中的内核态函数srv!SrvOs2FeaListToNt
在处理FEA
(File Extended Attributes)转换时,在大非分页池(Large Non-Paged Kernel Pool)上存在缓冲区溢出。
函数srv!SrvOs2FeaListToNt
在将FEA list转换成NTFEA
(Windows NT FEA) list前会调用srv!SrvOs2FeaListSizeToNt
去计算转换后的FEA list的大小,因计算大小错误,而导致缓冲区溢出。
漏洞威胁
能远程主动发起对漏洞主机端口的扫描,并且能直接获得漏洞主机的系统权限,属于最高严重级别的漏洞。
2.具体实验
MS08-067远程溢出漏洞
查找可用的攻击模块
查找可用目标主机
我们用的是SP3英文板,所以选择7
如果不记得自己的系统是什么了,建议对着名单里下一个
可以从这里下,复制链接,然后去迅雷粘贴
如果攻击包和系统对应不上的话攻击是很难成功的
显示需要设置的项
添加目标机的ip地址
关闭目标机的防火墙
实施攻击
成功后meterpreter输入shell即可远程执行相关任务,查看用户名等操作
MS17-010远程溢出漏洞
攻击前
目标机win764位(32位会无限重启,只能使用64位)
nmap扫描漏洞
查看可用的攻击模块
选择扫描功能,查看漏洞是否可用
攻击中
选择攻击功能,设置目标地址
设置攻击载荷
运行
攻击后
显示远程主机信息
查看用户身份
截图
获得shell控制台
进行后门植入(创建一个hack用户,并将其加入到本地管理员组里)
查看是否成功
参考资料:
使用metasploit漏洞测试
永恒之蓝漏洞利用及攻击