黑吃黑Getshell到提权实战案例

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 黑吃黑Getshell到提权实战案例

0x01 Getshell

朋友@Sin在FOFA网络空间搜索引擎中使用语法找到一些别人搭建在公网或映射出来的DVWA漏洞靶场,并通过该漏洞靶场的默认用户名和密码直接登录进去了,然后将其安全级别设置为Low低。

用户名 密 码 用户名 密 码
admin password pablo letmein
gordonb abc123 smithy password
1337 charley

这里我们可以直接利用DVWA靶场中的命令执行漏洞得到一个MSF会话,不建议利用上传漏洞来Getshell,因为目标机器的PHP版本为7,所以上传的一句话木马可能不能用中国菜刀连接,而且在能执行系统命令的情况下还去上传Webshell是不是有点多此一举呢?

0x02 信息搜集

目标机器基本信息:

    目标系统:Windows 10 (10.0 Build 18363).
    当前权限:DESKTOP-ISVFPRU\waf(Administrators)
    开放端口:80、135、443、445、902、912、3306、3389
    进程名称:chrome.exe、MsMpEng.exe、xampp-control.exe、httpd.exe、mysqld.exe、mongod.exe、SQLyogCommunity.exe、Xshell.exe、XshellCore.exe、tv_w32.exe、tv_x64.exe、TeamViewer_Service.exe、vmware.exe、vmware-tray.exe、vmware-vmx.exe、vmware-authd.exe、vmware-unity-helper.exe、vmware-usbarbitrator64.exe

    目标机器是用XAMPP搭建的Web服务,默认是以高权限运行的,还有waf这个用户其实也就是SID500默认管理员用户,只是修改了个用户名而已。


    而且这台机器是Windows10系统,默认开启的有UAC用户帐户控制,这里因为还没有绕过UAC,所以是不能直接抓取Hash和明文密码,自然也获取不到高权限令牌了


    0x03 实战提权过程

    在前期的信息搜集中发现了一些常用于权限提升的进程和服务,如:mysqld.exe、tv_w32.exe、tv_x64.exe、TeamViewer_Service.exe等,所以这个目标我们可以尝试用TeamViewer、MySQL、BypassUAC来进行提权

    (1) MySQL

    1、我们先在靶场的数据库配置文件中找到连接MySQ的用户和密码,可惜不是root连接的,有的虽然不是root用户但也具备管理员权限,当时忘了去验证一下这个用户是否具备管理员权限了?


    2、user.MYD文件对应的是MySQL数据库中的Users表,存放着用户、密码密文以及权限等,所以可以通过.\MySQL\data\mysql\目录下的user.MYD找root密码,不过只找到了一个user.frm


    注:没有user.MYD文件时是不能启动MySQL服务的,猜测应该是管理员在部署好DVWA漏洞靶场环境后删除了user.MYD、user.MYI,然后并没有重启MySQL服务,所以靶场还是能连接到MySQL的。


    (2) TeamViewer

    上传了一个免安装版的TeamViewer,并以当前登录的waf这个用户执行了这个程序,进程列表中出现tv_w32.exe、tv_x64.exe进程时说明已经执行成功了。


    但是在MSF下使用screenshot命令截屏时出现了以下报错,换了CobaltStrike中的截屏功能又可以,不过没有截取到连接ID和Pass。

      meterpreter > screenshot
      [-] stdapi_ui_desktop_screenshot: Operation failed: Access is denied.


      注:本地测试中发现使用未过UAC的用户执行TeamViewer时仍然会出现UAC弹窗提示是否运行,虽然我们选择“是”或“否”都会运行,但是这种方式在实战中应用动静还是太大了,还请谨慎使用!靶场被关闭的原因可能就是因为我们多次执行TeamViewer时出现的UAC弹窗才被管理员发现的。


      (3) BypassUAC

      最终我们是利用MSF下的bypassuac_sluihijack模块绕过UAC用户账户控制将权限提升至SYSTEM,其他的BypassUAC模块就不再去测试了。不过这里有个坑:获取MSF会话时用的4444端口监听的,在用BypassUAC模块时仍然用的4444端口监听时就会出现下图报错,原以为是被微软自带的Windows Defender查杀了,其实并不是,我在自己的VPS上给他测试时发现只要用443或其他端口号都是能够利用成功的


      注:由于最近比较忙,中间停了有几天,结果文章还没写完就被管理员发现并关闭了这个在线靶场,原还打算等闲下来了再对他的内网进行一波测试的,可惜了!因为靶场被关闭,所以提权这部分内容都是在本地模拟当时的环境来进行测试的,已经尽可能的去还原当时的测试过程了。

      相关实践学习
      每个IT人都想学的“Web应用上云经典架构”实战
      本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
      MySQL数据库入门学习
      本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
      相关文章
      |
      边缘计算 安全 中间件
      软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
      软件体系结构 - 嵌入式系统(4)- 嵌入式中间件
      643 0
      |
      10月前
      |
      安全 Ubuntu Linux
      在DVWA靶机上从渗透到控制(weevely和中国蚁剑)
      本文介绍如何使用Weevely工具对Ubuntu系统上的DVWA进行渗透测试,通过上传Webshell获取远程服务器控制权。实验环境为靶机IP 192.168.1.37(DVWA低安全等级)和攻击机Kali Linux IP 10.211.55.29。详细步骤包括Weevely安装、Webshell生成与上传、命令执行及提权尝试,并结合中国蚁剑进一步操作。文中强调合法授权和隐蔽性的重要性。
      766 0
      在DVWA靶机上从渗透到控制(weevely和中国蚁剑)
      |
      2月前
      |
      数据采集 JavaScript 前端开发
      “所见即所爬”:使用Pyppeteer无头浏览器抓取动态壁纸
      “所见即所爬”:使用Pyppeteer无头浏览器抓取动态壁纸
      |
      NoSQL Linux MongoDB
      CentOS 7.6安装 MongoDB 5.0.2
      CentOS 7.6安装 MongoDB 5.0.2
      2188 0
      CentOS 7.6安装 MongoDB 5.0.2
      |
      6月前
      |
      机器学习/深度学习 自然语言处理 数据可视化
      ⼤模型驱动的DeepInsight Copilot在蚂蚁的技术实践
      本文整理自潘兰天(蚂蚁数据智能团队数据分析平台技术专家)在DA数智大会2025·上海站的演讲实录。
      |
      11月前
      |
      存储 安全 算法
      阿里云平台WoSign SSL证书,轻量化助力网站安全合规
      阿里云WoSign SSL品牌证书可通过SSL/TLS协议的加密认证机制,建立安全的网络连接并校验通信方的真实身份,从而实现网络传输的保密性、完整性,确保通信双方身份可信。部署证书文件到服务器端,帮助等保二级及以上信息系统以及关键信息基础设施信息系统,履行等保安全通信设计技术要求,轻量化助力网站数据传输安全合规建设。
      310 3
      |
      机器学习/深度学习 API 网络架构
      "解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
      【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
      534 7
      |
      安全 JavaScript Java
      停车场|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)
      停车场|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)
      704 1
      |
      Java 程序员
      在Springboot HandlerInterceptor中获取GET和POST请求参数
      上面RequestWrapper的代码我查阅资料的时候在多篇博文中看到了,但是单有RequestWrapper还不足以完成整个请求,而且我看很多网络上的博客都是只在Interceptor中Wapper,但实际这样是不对的,而且也完全不需要,因为必须要替换掉整个请求链路中的Request才行。这里我们只需要在Filter中将普通的Request替换成我们自己的RequestWrapper
      955 0