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

Windows下几种提权方式粗略总结_0

时间:2023-03-15 14:36:22 科技观察

DirectoryExploitationVulnerabilityDLL相关的本地存储密码服务令牌操作配置不当提权越来越成为渗透测试人员面临的普遍问题。本人水平有限,所以大致总结了以下提权方法,以及一些个人意见,并配合相应的演示。对实战可能没有太大的直接帮助,但也算是帮助大家复习一下基础知识。实验环境是kali和win2008,有时也用win10。毕竟用win10的个人用户还是很多的。一、漏洞利用1.1.利用漏洞提权简单快捷,瞬间从0提权到1。windows系统已经暴露出很多提权漏洞。一般来说,及时打补丁可以防止黑客利用漏洞在本地提权。换句话说,可以在不打补丁的情况下提升权限。此外,Windows平台上的多款软件也被曝出提权漏洞。因此,枚举目标机器打了哪些补丁,操作系统的版本,安装了哪些软件,对于利用漏洞提权非常重要。很重要。1.2.测试方法使用wmic收集信息,wmic和powershell是强大的渗透工具。命令中的对象和属性名称不区分大小写。1.2.1.获取当前系统名称wmicosgetcaption1.2.2。枚举补丁wmicqfegetDescription,HotFixID,InstalledOn可以通过cmd命令稍微过滤一下(这里的命令是查看ms17010和ms08067的补丁是否打过)wmicqfegetDescription,HotFixID,InstalledOn|findstr/C:"KB4013389"/C:"KB958644》powershellhttps://github.com/rasta-mouse/Sherlockmsf模块首先要获取一个meterpretershellusepost/windows/gather/enum_patchesmsf这个模块其实就是一个patch,使用wmic来枚举,然后做筛选。其实可以与时俱进优化。可以看出是用wmic枚举的patch。该模块可以指定要检测的补丁号。如果未指定,将检测多个默认补丁。有如下数组。你可以在这个数组中添加你自己的自定义补丁号和提示信息。检测逻辑1.2.3。枚举当前安装的软件wmicproductgetname,version1.3。示例1.3.1。系统漏洞漏洞***(CVE-2018-8120)https://github.com/alpha1ab/CVE-2018-8120这个补丁肯定打不中,其实没必要一一列举。使用exp时注意低位,一下子就成功了。我有一种感觉,大量服务器将再次遭受损失。炒一个前面提到的冷饭(smb跨协议凭证反射)欺骗系统进行认证,从而泄露凭证。这是一款“社工”windows系统。漏洞号MS16-075,补丁号KB3164038。无需打补丁,无需启用smb签名即可使用(待验证)。烫手山芋https://github.com/Kevin-Robertson/TaterWPAD(WebProxyAuto-Discoveryprotocol)是让浏览器自动发现代理服务器,让代理对用户透明,也就是说用户不需要配置代理,而你不会感觉到代理的存在https://www.ibm.com/developerworks/cn/linux/1309_quwei_wpad/ie浏览器默认会尝试自动获取配置,有些windows服务也会自动获取,比如windows更新服务,WindowsDefender更新服务是一个高权限服务,我们可以利用nbns欺骗让系统通过http对一个假的WPAD进行ntlm认证,然后将凭证反射回smb协议获取高权限.编译RottenPotato上的版本https://github.com/breenmachine/RottenPotatoNGGitHub只能播放cmd.exe,需要自己修改main方法让它执行自定义命令。稍作修改即可。烂土豆比烫手山芋更可靠,因为您不必等待WindowsDefender更新服务上钩。所以如果能用ms16-075,那就用烂土豆吧。win10系统记得先过uac,再提权。1.3.2.第三方组件漏洞win10pcap提权http://www.freebuf.com/news/82310.html2.DLL相关提权2.1.DLL注入这种提权方式只有在有漏洞的情况下才能使用Let'sgo2.2。DLL劫持了powersploit下powerup.ps1中的Find-ProcessDLLHijack和Find-PathDLLHijack这两个方法。(路径太长,显示不完整。。。)3.本地存储密码这个项目很有意思https://github.com/AlessandroZ/LaZagne这个遥控器把上面的项目添加为一个模块https://github.com/n1nj4sec/pupy/powersploit中的powerup.ps1包括几种收集本地密码的方法。和之前一样,导入脚本直接调用方法即可。Get-UnattendedInstallFileGet-WebconfigGet-ApplicationHostGet-SiteListPasswordGet-CachedGPPPasswordGet-RegistryAutoLogon3.1。当自动应答文件需要自动部署一些服务时,可以使用post/windows/gather/enum_unattend3.2这个msf模块。发现其他程序的配置文件包含敏感关键字的文件在当前目录及其子目录下搜索,不区分大小写:findstr/sipassword*.txtfindstr/sipassword*.xmlfindstr/sipassword*.ini递归搜索目录和只显示文件名C:\>dir/b/sunattend.xmlC:\>dir/b/sweb.configC:\>dir/b/ssysprep.infC:\>dir/b/ssysprep.xmlC:\>dir/b/s*pass*C:dir/b/svnc.ini3.3.GPPwindows下这些场景需要存储和使用用户凭证映射驱动(Drives.xml)创建本地用户数据源(DataSources.xml)打印机配置(Printers.xml)创建/更新服务(Services.xml)计划任务(ScheduledTasks.xml)更改本地管理员密码所有域的组策略存储在\\\SYSVOL\\Policies\,这些路径是Services\Services.xmlScheduledTasks\ScheduledTasks.xmlPrinters\Printers.xmlDrives\Drives.xmlData中powerup.ps1的Get-CachedGPPPassword方法Sources\DataSources.xmlpowerspoit就是检测这些路径,自动解密。4.服务配置不当获取服务信息(获取系统权限启动的本地服务)wmicservicegetname,pathname,startname|findstr/C:"LocalSystem"4.1.windows下只要创建一个服务,就可以修改服务相关的注册表,会创建一组键值对应这个key。一般只有管理员才能访问这组键值,但如果权限配置不当,还是有可能提权的。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services中ImagePath的值指向服务的启动程序所在的位置。如果这个地方可以修改,服务就可以被劫持。4.2.可以修改可执行文件直接替换服务的可执行文件,劫持服务提升权限。使用accesschk检测服务是否可以修改。https://technet.microsoft.com/en-us/sysinternals/accesschk.aspxaccesschk.exe-uwcqv"UsersYouKnowPermissions"*-accepteula也可以从msf模块exploit/windows/local/中的powerup.ps1获得service_permissionspowersploit可修改的服务Get-ModifiableService4.3。可执行文件路径不包引号如果服务的可执行文件路径不包引号,遇到空格会导致截断,如C:\ProgramFiles\1.exe,如果不包在引号,将尝试在服务启动期间加载C:\Program.exe。于是找到有缺陷的服务,在可写路径中插入后门,重启服务提升权限。msfmoduleexploit/windows/local/trusted_service_pathpowerup.ps1Get-ServiceUnquoted5.token操作通过office漏洞获取win10shell,先通过uac,然后直接导入系统token,瞬间获取系统权限。如果不想用msf,可以参考这个链接https://labs.mwrinfosecurity.com/blog/incognito-v2-0-released/六。高权限安装https://msdn.microsoft.com/en-us/library/aa367561windows中有一个组策略配置(一个系统配置,一个用户配置,两个配置都要开启,相关的组策略对象必须被启用),允许用户始终运行.msi文件以安装程序作为系统权限运行而不是当前用户的权限。我感觉只有碰上大运才会出现这种情况。23333,不过渗透测试还是要试一下。涉及到的注册表键值和查询方式为(只要值为1,即为启用)下面的powerup.ps1脚本中有一个Get-RegistryAlwaysInstallElevated,用来检测是否有高权限安装。6、根据凭证爆破,对高权限账号或服务的密码进行爆破。