| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 内网渗透第4章 -> 正文阅读 |
|
[网络协议]内网渗透第4章 |
1.内核溢出漏洞提权利用Metasploit发现缺失补丁 2.Windows操作系统配置错误利用分析及防范系统服务权限配置错误Windows系统服务文件在操作系统启动时加载和执行,并在后台调用可执行文件。因此,如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,就可以将该文件替换成任意可执行文件,并随着系统服务的启动获得系统权限。Windows服务是以System权限运行的,因此,其文件夹、文件和注册表键值都是受强访问控制机制保护的。但是,在某些情况下,操作系统中仍然存在一些没有得到有效保护的服务。 系统服务权限配置错误(可写目录漏洞)有如下两种可能。
Metasploit下的实战利用 在Metasploit中,对应的利用模块是service _permissions。选择“AGGRESSIVE”选项,可以利用目标机器上每一个有缺陷的服务。该选项被禁用时,该模块在第一次提权成功后就会停止工作 执行“run”命令,会自动反弹一个新的meterpreter ( System权限) service_permissions模块使用两种方法来获得System权限:如果meterpreter 以管理员权限运行,该模块会尝试创建并运行一个新的服务;如果当前权限不允许创建服务,该模块会判断哪些服务的文件或者文件夹的权限有问题,并允许对其进行劫持。在创建服务或者劫持已经存在的服务时,该模块会创建一个可执行程序,其文件名和安装路径都是随机的。 注册表键AlwaysInstallElevated注册表键AlwaylanalElvated是一个策略设置项。Windows 允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限的用户都能以NT AUTHORITY\SYSTEM权限来安装恶意的MSI文件。 可以利用Metasploit的 exploiexploit/windows/local/always_install_elevated模块完成以上操作。使用该模块并设置会话参数,输入“run”命令,会返回一个System权限的meterpreter。该模块会创建一个文件名随机的MSI文件,并在提权后删除所有已部署的文件。 可信任服务路径漏洞可信任服务路径(包含空格且没有引号的路径)漏洞利用了Windows 文件路径解析的特性并涉及服务路径的文件/文件夹权限(存在缺陷的服务程序利用了属于可执行文件的文件/文件夹的权限)。如果-个服 务调用的可执行 文件没有正确地处理所引用的完整路径名, 这个漏洞就会被攻击者用来上传任意可执行文件。也就是说,如果一个服务 的可执行文件的路径没有被双引号引起来且包含空格,那么这个服务就是有漏洞的。 该漏洞存在如下两种可能
Trusted Service Paths漏洞产生的原因因为windows服务通常都是以System权限运行的,所以系统在解析服务所对应的文件路径中的空格时,也会以系统权限进行。 ??? C:\Program.exe 因此,如果一个被“适当”命名的可执行程序被上传到可受影响的目录中,服务一旦重启,该程序就会以Syten权限运行(在大多数情况下) Metasploit 下的实战利用 使用msf中的WINDOWS Service Trusted Path Privilege Escalation模块进行渗透测试。该模块会将可执行程序放到受影响的文件夹中,然后讲受影响的服务重启
命令执行后,会自动反弹一个新的meterpreter。再次查询权限,显示提权成功,需要注意的是,反弹的meterpreter 会很快中断,这是因为当一个进程在Windows操作系统中启动后,必须与服务控制管理器进行通信,如果没有进行通信,服务控制管理器会认为出现了错误,进而终止这个进程。在渗透测试中,需要在终止载荷进程之前将它迁移到其他进程中(可以使用“set AutoRunScript migrate -f”命令自动迁移进程)。 自动安装配置文件网络管理员在内网中给多台机器配置同一个环境时,通常不会逐台配置,而会使用脚本化批量部署的方法。在这一过程中,会使用安装配置文件。这些文件中包含所有的安装配置信息,其中的一些还可能包含本地管理员账号和密码等信息。这些文件列举如下(可以对整个系统进行检查)
Metasploit集成了该漏洞的利用模块post/windows/gather/enum_unattend 计划任务AccessChk 是SysInterals套件中的一个工具,由Mark Russinovich编写,用于在Windows中进行一些系统或程序的高级查询、管理和故障排除工作,下载地址见[链接4-6]。基于杀毒软件的检测等,攻击者会尽量避免接触目标机器的磁盘。而 AccessChk 是微软官方提供的工具,一般不会引起杀毒软件的报警,所以经常会被攻击者利用。 组策略首选项提权分析及防范SYSVOL是活动目录里面的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控制器之间进行复制。SYSVOL文件夹是在安装活动目录时自动创建的,主要用来存放登录脚本、组策略数据及其他域控制器需要的域信息等。SYSVOL在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录的域范围内共享。整个SYsVOL目录在所有的域控制器中是自动同步和共享的,所有的域策略均存放在C:Windows\SYSVOL\DOMAIN\Policicsl目录中。 在一般的域外现中,所月机宿都是脚本化批量部署的,数据量通常很大。为了方便地对所有的机器进仃探IP,的上符胡比工公使用域策略进行统一的配置和管理。大多数组织在创建域环境后,会要求加入域的计算机使用域用户密码进行登录验证。为了保证本地管理员密码的安全性,这些组织的网络管理员修改本地管理员密码。尽管如此,安全问题依旧存在。通过组策略统一修改的密码,虽然强度有所提高,但所有机器的本地管理员密码是相同的。攻击者获得了一台机器的本地管理员密码,就相当于获得了整个域中所有机器的本地管理员密码。 常见的组策略首选项(Group Policy Preferences,GPP)列举如下
绕过UAC提权分析及防范如果计算机的操作系统版本是Windows Vista或更高,在权限不够的情况下,访问系统磁盘的根目录(例如C:) Windows目录、Program Files目录,以及读、写系统登录数据库(Registry)的程序等操作,都需要经讨UAC (User Account Control,用户账户控制)的认证才能进行。 UAC简介UAC是微软为提高系统安全性在Windows Vista中引入的技术。UAC要求用户在执行可能影响计算机运行的操作或者在进行可能影响其他用户的设置之前,拥有相应的权限或者管理员密码。UAC在操作启动前对用户身份进行验证,以避免思意软件和间谍软件在未经许可的情况下在计算机上进行安装操作或者对计算机设詈进行更改。在Windows Vista及更高版本的操作系统中,微软设置了安全控制策略,分为高、中、低三个等级。高等级的进程有管理员权限,中等级的进程有普通用户权限;低等级的进程,权限是有限的,以保证系统在受到安全威胁的损害最小。 需要UAC的授权才能进行的操作列举如下
UAC有如下四种设置要求。
bypassuac模块假设通过一系列前期渗透测试,已经获得了目标机器的meterpreter Shell。当前权限为普通用户权限,现在尝试获取系统的System权限。 ?防御
令牌窃取分析及防范假冒用户令牌假设已经获得了目标机器的 meterpreter Shell。首先输入“use incognito”命令,然后输入"list_tokens -u”命令,列出可用的令牌,如图4-60所示。 接下来,在incognito 中调用impersonate_token,假冒Administrator用户进行渗透测试。在meterpreter Shell 中执行“shell”命令并输入“whoami”,假冒的令牌win-57tj4b561mtladministrator已经获得系统管理员权限了,如图4-61所示。 Rotten Potato本地提权分析通过烂土豆提权的重点是模拟令牌,在提权的过程中,我们最好已经获得了一个具有SeImpersonate权限或其他同等权限的账户,通常Windows中的许多服务具有此权限(IIS和SQL Server等) 如果目标系统中存在有效的令牌,可以通过Rotten Potato程序快速模拟用户令牌来实现权限的提升。首先输入“use incognito”命令,然后输入“list_tokens -u”命令,列出可用的令牌 下载完成后,RottenPotato目录下会有一个rottenpotato.exe可执行文件。执行如下命令,将 rottenpotatocxe上传列日标机器中
?针对令牌动取提权的防御措施针对令牌窃取提权的防御措施如下
无凭证条件下的权限获取分析及防范LLMNR和 NetBIOS欺骗攻击分析假设目标网络的 DNS服务器因发生故障而无法提供服务时,会退回 LLMNR和 NBT-NS进行计算机名解析。下面使用Responder 工具进行渗透测试。
?渗透测试 在使用 Responder对网络进行分析之后可以利用SMB协议获取目标网络中计算机的 Net-NTLM Hash。如果用户输入了错误的计算机名在DNS服务器上进行的名称查询操作将会失败,名称解析请求将被退回,使用NBT-NS和LLMNR进行解析。 在渗透测试中,使用Responder 开启回应请求功能,Responuer会自动回应客户端的请求并声明自己就是被输人了错误计算机名的那台机器,然石尝试建立SMB连接。客户端项发送自已的Nt-NTeLM Hash进行身份验证,此时将得到目标机器的Net-NTLM Hash ? ?使用hashcat进行破解
? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 11:10:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |