教材学习内容总结
一、Windows操作系统框架
1、Windows操作系统的发展与现状
Windows在桌面操作系统中占有非常高的市场份额,Windows XP系统在国内仍有大量的用户
2、Windows操作系统基本结构
(1)Windows操作系统内核基本模块
- Windows执行体
- Windows内核体
- 设备驱动程序
- 硬件抽象层
- Windows窗口与图形界面接口内核实现代码
(2)Windows操作系统在用户态的代码模块
- 系统支持进程
- 环境子系统服务进程
- 服务进程
- 用户应用软件
- 核心子系统DLL
(3)核心机制
- Windows进程和线程管理机制
- Windows内存管理机制
- Windows文件管理机制
- Windows注册表管理机制
- Windows的网络机制
①网卡硬件设备驱动程序,位于OSI物理层
②NDIS库及miniport驱动程序,位于OSI链路层
③TDI传输层,网络协议驱动,位于OSI网络层与传输层
④网络API DLL 及TDI客户端,对应OSI会话层与表示层
⑥网络应用程序与服务进程,对应OSI应用层
二、Windows操作系统的安全体系结构与机制
1、Windows安全体系结构
基于引用监控器模型来实现基本的对象安全模型。
最核心的是位于内核中的SRM安全引用监控器,以及位于用户态的LSASS安全服务。
2、Windows身份认证机制
分为用户,用户组,和计算机三大类。
Windows用户密码经过加密处理后被保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机秘钥Hash加密后存储在SAM文件中。
Windows进程、GINA图形化登录窗口,与LSASS服务通过协作来完成本地身份认证过程。
3、Windows授权与访问控制机制
Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。
Windows对于系统中所有需要保护的资源都抽象成对象,都会关联一个对象描述符,有以下属性组成:
- Owner SID
- Group SID
- DACL 自主访问控制列表
- SACL 系统审计访问控制列表
4、Windows安全审计机制
系统审计策略在本地安全策略中由系统管理员定义,来确定系统对哪些事件进行记录。
5、Windows的其他安全机制
Windows安全中心,其中集成了防火墙,补丁自动更新,以及病毒防护。
三、Windows远程安全攻防机制
- 远程口令猜测与破解攻击
- 攻击Windows网络服务
- 攻击Windows客户端及用户
1、Windows系统的安全漏洞生命周期
- Windows安全漏洞发现、利用与修补过程
- 安全漏洞公开披露信息库
- 针对特定目标的渗透测试攻击过程
①漏洞扫描测试
②查找针对发现漏洞的渗透代码
③实施渗透测试 - 使用Metasploit软件实施渗透测试
2、Windows远程口令猜测与破解攻击
- 远程口令自猜测
- 远程口令字交换通信窃听与破解
- 远程口令猜测与破解防范措施
3、Windows网络服务远程渗透攻击
Windows操作系统默认开放135(TCP),137(UDP),139(TCP)与445(TCP)端口,对应的网络服务为MSRPC与过程调用服务,NetBIOS网络基本输入输出系统服务和SMB文件与打印机共享服务。
- 针对NetBIOS网络服务的著名漏洞及攻击
- 针对SMB网络服务的著名漏洞及攻击
- 针对MSRPC网络服务的著名漏洞及攻击
- 针对Windows系统上微软网络服务的远程渗透攻击
- 针对Windows系统上第三方网络服务的远程渗透攻击
- 网络服务远程渗透攻击防范措施
四、Windows本地安全攻防技术
1、Windows本地特权提升
终极特权:Administrator或者Local System账户。从受限用户权限尝试获得特权账户的攻击技术也被称为特权提升。
2、Windows敏感信息窃取
- Windows系统口令字密文提取技术
- Windows系统口令字破解技术
- 用户敏感数据窃取
- 本地敏感信息窃取防范措施
3、Windows消踪灭迹
- 关闭审计功能
- 清理事件日志
- 针对消踪灭迹的防范措施
4、Windows远程控制与后门程序
- 命令行远程控制工具
- 图形化远程控制工具
- 针对后门程序防范措施
视频学习过程
一、26.KaliSecurity - 漏洞利用之检索与利用
漏洞检测和利用工具
1.searchsploitl漏洞检索工具,列出所有文件,如下图
2.pattern creat
在缓冲区溢出时可以使用这个命令,例pattern create 1000 a
就是可以输出1000个a
3.ikat
网络漏洞扫描工具,可以开一个端口和IP地址,一旦有漏洞的主机通过这个端口扫描它,就会中招。
二、KaliSecurity - 漏洞利用之Metasploit基础
1.启动服务
metasploit在渗透中经常被用到,实际上这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。启动服务时,需要先开启postgresql数据库和metasploit服务,然后就可以完整的利用msf数据库查询exploit和记录。
使用命令service postgresql start
service metasploit start
启动后如下图
图2
2、路径介绍
msf路径为/usr/share/metaspioit-framework
,列出下面的所有文件,如下图所示
图3
Auiliary:辅助模块
encoders:供msfencode编码工具使用,具体可以使用msfencode -1。
exploits:攻击模块
payloads:这里面列出的是攻击载荷,也就是攻击成功后执行的代码。
post:后渗透阶段模块,在获得meterpreter的shell之后可以使用的攻击代码。
3、基本命令
msfpayload:用来生成payload或者shellcode
4、测试示例:发现漏洞,搜索exploit
前期通过扫描的值目标21端口vsftp服务版本为2.3.4,使用msfconsole打开msf的命令行版本,通过search语句搜索是否有漏洞。如下图
图4
5、测试示例:选择exploit,查看参数,如下图所示
图5
并使用show options
查看参数,如下
图6
并对其进行设置如下
图7
6、测试示例:选择payload,如下图
图8
7、测试示例:执行攻击测试,成功后返回shell。
三、KaliSecurity - 漏洞利用之Meterpreter介绍
meterpreter 是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出成功后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell.
meterpreter作为后渗透模块有多中类型,并且命令由核心命令和扩展库命令组成,极大地丰富了攻击方式,其有很多有用的功能,如,添加一个用户,隐藏一些东西,打开shell,得到用户密码,上传下载远程主机的文件,运行cmd.exe,捕获屏幕,得到远程控制权,捕获按键信息,清除应用程序,显示远程主机的系统信息,显示远程及其的网络接口和IP地址等信息。
常见的命令:
background:将当前会话放置后台
load/use:加载模块
interact:切换进一个信道
migrate:迁移进程
run:执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本。
resource:执行一个已有的rc脚本常用的meterpreter类型为:payload/windows/meterpreter/reverse_tcp
攻击步骤:
1、生成Meterpreter后门
2、打开MSF,开启监听,选择exploit/multi/handler
3、在目标机器上执行door.exe
4、通过help命令查看可执行的命令
5、常见命令使用,包括系统信息,抓取屏幕截图与抓取HASH等。
6、目录浏览
7、键盘监听
8、扩展工具,load/use之后再输入help,就可以了看到有关这个模块的命令的说明了
9、扩展工具之Minikatz,抓取本地密码明文
四、KaliSecurity - 漏洞利用之Metasploit后渗透测试
在跳板获取一定权限后需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使系列的操作更容易。
1、查看当前网卡、网段信息。
2、添加路由表run autoroute -s 10.0.0.1
可以使用msf中的模块跨网段攻击或扫描。可通过脚本autoroute快速添加。
3、开socket代理,通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,sqlmap,nmap使用。通过代理即可访问内网计算机。
4、通过background和session -i可以自由切换进入session。
5、输入run可以看到在meterpreter上可以做的很多命令。
6、通过run post/可以看到后渗透测试模块
7、获取内网信息
8、也可以上传文件,做端口转发后进行后续测试。
五、KaliSecurity - 漏洞利用之BeEF
BeEF是浏览器攻击框架的简称,是一款专注于浏览器端的渗透测试工具。
1、命令行下启动beef
beef-xss
,此时浏览器自动访问页面http://127.0.0.1:3000/ui/authentication,使用默认用户名beef与默认密码beef登陆,如下图
图9
2、假设被测试主机由于xss漏洞请求到http://127.0.0.1:3000/demos/basic.html一个测试页面。如下图
图10
从标签页可以看到一些关于浏览器,系统平台等的信息,如下图
图11
3、HOOk持续时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在commands模块,我们可以完成很多任务。
四种颜色分别表示:
绿色,该攻击模块可用,且隐蔽性很轻
该攻击模块可用,但隐蔽性差
该用户模块是否可用还有待验证
该攻击模块不可用
如下图所示
图12
4、例如选取NISC下的raw JavaScrip模块作为测试用例。输入JavaScrip code点击execute进行攻击,如下图所示
图13
图14
可以看到攻击成功,弹出一个窗口。
5、proxy功能
选中目标主机,点右键,在菜单中选择use as proxy,然后在rider选项卡中的forge request编辑并发送想要发送的内容。如下图
图15
图16
图17
如上图所示,稍等一会之后可以看到返回内容。
6、beef默认是不加载metasploit的,如果要使用需要做些配置。