一、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漏洞检索工具,列出所有文件,如下图
20159318 《网络攻击与防范》第七周学习总结

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
启动后如下图
20159318 《网络攻击与防范》第七周学习总结

图2
2、路径介绍
msf路径为/usr/share/metaspioit-framework,列出下面的所有文件,如下图所示
20159318 《网络攻击与防范》第七周学习总结

图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语句搜索是否有漏洞。如下图
20159318 《网络攻击与防范》第七周学习总结

图4
5、测试示例:选择exploit,查看参数,如下图所示
20159318 《网络攻击与防范》第七周学习总结

图5
并使用show options查看参数,如下
20159318 《网络攻击与防范》第七周学习总结

图6
并对其进行设置如下
20159318 《网络攻击与防范》第七周学习总结

图7
6、测试示例:选择payload,如下图
20159318 《网络攻击与防范》第七周学习总结

图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登陆,如下图
20159318 《网络攻击与防范》第七周学习总结

图9
2、假设被测试主机由于xss漏洞请求到http://127.0.0.1:3000/demos/basic.html一个测试页面。如下图
20159318 《网络攻击与防范》第七周学习总结

图10
从标签页可以看到一些关于浏览器,系统平台等的信息,如下图
20159318 《网络攻击与防范》第七周学习总结

图11
3、HOOk持续时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在commands模块,我们可以完成很多任务。
四种颜色分别表示:
绿色,该攻击模块可用,且隐蔽性很轻
该攻击模块可用,但隐蔽性差
该用户模块是否可用还有待验证
该攻击模块不可用
如下图所示
20159318 《网络攻击与防范》第七周学习总结

图12

4、例如选取NISC下的raw JavaScrip模块作为测试用例。输入JavaScrip code点击execute进行攻击,如下图所示
20159318 《网络攻击与防范》第七周学习总结

图13
20159318 《网络攻击与防范》第七周学习总结

图14
可以看到攻击成功,弹出一个窗口。
5、proxy功能
选中目标主机,点右键,在菜单中选择use as proxy,然后在rider选项卡中的forge request编辑并发送想要发送的内容。如下图
20159318 《网络攻击与防范》第七周学习总结

图15
20159318 《网络攻击与防范》第七周学习总结

图16
20159318 《网络攻击与防范》第七周学习总结

图17
如上图所示,稍等一会之后可以看到返回内容。
6、beef默认是不加载metasploit的,如果要使用需要做些配置。

相关文章: