介绍windows下四种权限:
1.User:普通用户权限,能做的事最少因此最安全
2.Administrator:管理员权限。可以提权到System级别操作SAM文件
3.System:系统权限,可以对SAM等敏感文件进行读取,对散列值进行Dump操作
4.TrustedInstaller:这是windows中最高级别权限。对于系统文件能进行修改
提权方法:
1.纵向提权:低等级权限获得高权角色权限
2.横向提权:获取另一个和当前权限一样的角色的权限
常用提权方法:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、web中间件漏洞提权、DLL劫持提权、滥用高权限令牌提权、第三方服务/软件提权等
一、系统内核溢出漏洞提权
参考复现DC-1靶场利用漏洞的思路方法
二、windows配置错误
常见利用:管理员凭据错误、服务配置错误、故意削弱的安全措施、用户权限过高
(1)、系统服务权限配置错误
(2)、注册表键AlwaysInstallElevated
(3)、可信任服务路径漏洞
该漏洞:包含空格并且没有被引号包裹,让存在缺陷的服务程序利用了属于可执行文件/文件夹的权限
如果一个服务的可执行文件的路径没有被双引号包起来并且含有空格,那么这个服务是有漏洞的!
原因:windows服务以system权限运行,系统解析服务对应的文件路径中的空格也会是以系统权限进行,那么对于路径中每一个空格,windows会找到并且执行与空格前面名字相匹配的程序。
直白的说,黑客配合文件上传漏洞,或和上传功能,将恶意程序上传到特殊路径,然后利用某个服务的漏洞修改服务的可执行文件的路径,也就是把恶意文件的路径加入其中,那么当服务重启,windows就会以系统权限执行恶意程序。
思路:metasploit下
1,查看是否存在可以利用的漏洞,输入下面命令能看到没有被引号包围的服务的路径
wmic service get name,displayname,pathname,startmode | findstr /i “Auto” |findstr /i /v “C:\Windows\\” | findstr /i /v “””
2.如果发现有含空格的路径,说明有漏洞,那么下面就是检测是否对目标文件夹有“写”的权限。使用工具“icacls”检查刚才得到的含有空格的路径。
权限:
·Everyone:所有用户都能修改
·(M):修改
·(F):完全控制
·(CI):从属容器将继承访问控制项
·(OI):从属文件将继承访问控制项
3.发现了漏洞并且能写入,就要修改路径并且重启服务了:
sc stop service_name
sc start service_name
(4)、自动安装配置文件
管理员配置多个设备会使用脚本,有时候会泄露账号密码
(5)、计划任务
查看计划任务:schtasks /query / fo LIST /v
(6)Empire内置模块
三、组策略首选项提权
SYSVOL是一个共享文件夹,它在活动目录AD里用于存储公共文件服务器副本,在域中的所有域控制器DC之间进行复制,自动同步以及共享。
所有组策略放在:C:\Windows\SYSVOL\DOMAIN\Policies\目录中
存在这么一种情况:所有的机器的本地管理员密码是相同的(有些人他就是不记得修改默认密码),也就是得到一台机子密码就得到所有管理员密码了。
【防御】2014微软修复该漏洞,不再将密码保存在组策略首选项中
·设置共享文件夹SYSVOL的访问全新啊
·把包含组策略密码的XML文件从SYSVOL目录中删除
·不要把密码放在所有域用户都有访问权限的文件中
·更改本地管理员密码
四、绕过UAC提权
对于版本比windows vista更高级别的os,如果权限不够,访问系统磁盘的根目录、windows目录、program files 目录、以及进行读写系统登录数据库(registry)的程序等操作,都需要经过UAC(user account control,用户账户控制)的认证
在win10很常见试图修改某些东西的时候都是会弹窗通知的,UAC有四种要求:
1.始终通知
2.仅在程序试图更改我的计算机的时候通知我
3.仅在程序试图改变我的计算机的时候通知我,但是不改变桌面亮度
4.从不提示
【防御】不让内网机器的使用者拥有本地管理员权限
五、令牌窃取
首先token是方便验证身份不用总是输入账号密码,但是如果token被别人获取,那么他人就可以冒充身份访问资源。
令牌产生是随机的不可预测的。
1.访问令牌(access token):代表访问控制操作主体的系统对象
2.密保令牌(security token):也叫认证令牌、硬件令牌,物理设备
3.会话令牌(session token):交互会话中唯一标识
【防御】:
1.对令牌时效性限制
2.加密令牌
3.使用加密链路SSL、TSL传输防止令牌被窃取
六、无凭证条件下的权限获取
两个概念:LLMNR、NetBIOS欺骗攻击
1.LLMNR本地链路多播名称解析
当DNS不能用,DNS客户端就会启用LLMNR解析本地网段中机器的名称,查询范围仅限于本地子网
2.NetBIOS
是一种网络协议,一般在由十几台计算机组成的局域网中,不支持IPv6
·NetBIOS-NS(名称服务):用于名称注册和解析,以启用会话和分发数据包,需要用域名服务器来注册NetBIOS的名称。默认监听UDP137端口
·datagram distribution service(数据包分发服务):无连接服务。负责进行错误检测和恢复,默认监听UDP138端口
·session service(会话服务):允许两台计算机建立连接提供错误检测和恢复,默认使用TCP 139端口
Net-NTLM Hash
NTLM Hash 用来保存win用户的密码散列值,保存在SAM文件(所以才要足够高的权限才能拿)或者NTDS.DIT数据库中。
Net-NTLM Hash:是网络中经过NTLM认证的散列值。挑战/响应验证中“响应”包含了Net-NTLM Hash。
工具:responder //可以监听LLMNR和NetBIOS
