微信公众号:渊龙Sec安全团队
为国之安全而奋斗,为信息安全而发声!
如有问题或建议,请在公众号后台留言
如果你觉得本文对你有帮助,欢迎在文章底部赞赏我们
01
成果概述
整体成果概述:
外网打点,先拿到JeecgBoot权限,再骚操作对若依系统GetShell
获取到某某有限公司多个主机权限和后台权限
后台权限:10.0.***.**:8848/nacos/#/
10.0.***.***
(服务器权限)
10.0.**.**
(服务器权限)
10.0.***.**
(服务器权限)
10.0.***.***
(服务器权限)
FTP:10.0.***.***:21
Mysql:10.0.***.***:3306
root/123456(数据库权限)
SSH:10.0.***.**
root 123456(服务器权限)
Redis:10.0.***.**:6379
********* (数据库权限)
Mysql:10.0.***.***:3306
root/********(数据库权限)
内网邮箱接管
02
外网打点阶段
整体思路:通过JeecgBoot的相关漏洞,成功获取若依系统的权限
通过对JeecgBoot进行漏洞利用,URI如下:
1/jeecg-boot/actuator/httptrace
拿到了JeecgBoot登陆账户和相关记录等等信息,成功获取身份凭证:
通过构造身份凭证,如下:
1X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbG**************************JleHAiOjE2O**********VzZXJuYW1lIjoiUTM0OTUifQ.Ly8Ql0GK************************hDoncrd684
通过该凭证去访问对应接口,成功获取大量的敏感信息:
在敏感信息当中,还包括了数据库配置和相关账号密码等等:
最后通过测试,发现管理员用户的相关凭证:
切换到JeecgBoot登陆页面,尝试对上面获取到的管理员账户进行登录:
通过数据包构造,成功登陆管理员账号,登陆返回数据包构造如下:
{"success":true,"message":"登录成功","code":200,"result":
{"token":"eyJ0eX************TEwMjYsInVzZXJ***********Ql0G************mHazZ-SrWV*****d684","userInf********************************************}}
进入JeecgBoot后台管理界面进行查看,寻找可利用的功能点:
JeecgBoot后台泄露了三千多条敏感信息(不放截图了,放了也都是马赛克)
最后还创建了一个管理用户:
test/*****************
通过前期的信息搜集,发现 8080
端口还有个RuoYi系统
若依系统默认使用MySql数据库,我这里猜测它用的是本地数据库
于是通过JeecgBoot的后台功能(JeecgBoot和RuoYi都部署在同一个服务器上)进行查询,于是便发现 wechat
库为RuoYi系统的数据库
通过JeecgBoot后台的SQL增强功能,成功对数据库进行写入:添加了一个RuoYi系统后台管理员账户
成功通过刚才添加的管理员账户,登录了RuoYi系统的后台:
发现RuoYi系统为高版本,默认高版本无法使用网上现有的攻击链,但遇到这种情况的时候,也可以“柳暗花明又一村”:
RuoYi系统的计划任务是插入到数据库的 ,于是可以再次通过JeecgBoot修改RuoYi系统对应的数据库,写入计划任务进行GetShell!!!
请问你学废了吗?
成功拿下,接下来就进入内网渗透的阶段了!
03
内网渗透阶段
内网渗透阶段,整体成果如下:
获取到某某有限公司多个主机权限和后台权限
后台权限:10.0.***.**:8848/nacos/#/
10.0.***.***
(服务器权限)
10.0.**.**
(服务器权限)
10.0.***.**
(服务器权限)
10.0.***.***
(服务器权限)
FTP:10.0.***.***:21
Mysql:10.0.***.***:3306
root/123456(数据库权限)
SSH:10.0.***.**
root 123456(服务器权限)
Redis:10.0.***.**:6379
********* (数据库权限)
Mysql:10.0.***.***:3306
root/********(数据库权限)
内网邮箱接管
首先,我利用边界机,直接扫描内网B段(10.0.***.**/16)
发现内网多处资产存在漏洞,成功获得多个主机权限,FTP权限和数据库权限
账号密码弱口令登陆:
root/123456
成功突破业务内网的网络边界(突破内网逻辑隔离):
通过边缘机获得内网机器(10.0.***.***)权限,当作跳板机在内网B段(10.0.***.***/16)网络中扫描发现内网堡垒机以及多个漏洞,证明突破网络边界和内网逻辑隔离
内网中有多个重要资产站点,截图如下:
1、内网Nacos弱口令
nacos/nacos
2、FTP匿名登录
10.0.***.***:21
成功获得FTP权限(经测试,可上传下载文件)
3、SSH弱口令登录:
10.0.***.**
root/******
通过SSH,获得内网服务器的多个Root权限
4、多个永恒之蓝漏洞利用:
10.0.***.***
利用MS17-010漏洞利用,登录远程桌面并获得Administrator权限
发现机器上存在多个涉密文件:
其他机器:
10.0.***.***
10.0.***.**
均利用MS17-010漏洞利用,成功获得Administrator权限
5、拿到Redis数据库权限:
密码:**********
(mimakatz dump 超级弱口令撞库)
6、接管企业邮箱:
通过相关机器上的文件和内容,成功接管企业邮箱
邮箱内,泄露了非常多的机密文件,这里就不截图了
04
内网化身姜子牙钓鱼(另类红队技战法)
拿到了邮箱,就可以进入钓鱼环节了~
对个人PC、工作机进行钓鱼,证明能通内网就有分数刷,而且肯定会有数据分(你懂的)
结合Chatgpt大语言模型,针对性设计话术进行姜子牙进攻:
(当时忘了没截图,用一下其他实战的截图示意)
05
实战中常用的权限维持
在攻防演练时必然会有防守方,那么做好隐蔽免杀工作与权限维持则是必须的,以下是常见的权限维持思路:
使用使用net命令创建,在用户名后添加$
,可以创建隐藏账户,这时使用 net user
无法发现隐藏用户,但是可以从控制面板查看
通过注册表克隆用户:通过注册表克隆用户,那么使用命令和控制面板查看都无法发现此类用户
Windows下有很多自动启动程序的方法,可以利用这些方法来进行权限维持,例如可以运行gpedit.msc
进入本地组策略,通过Windows设置的脚本(启动/关机/登录/注销)来设置权限维持脚本启动,也可以通过修改注册表自启动键值添加维权脚本路径,从而实现自启动,或是直接将权限维持脚本放入开机启动文件夹来实现自启动
在Windows中通常用 at
和 schtasks
命令添加计划任务,计划任务可以使系统管理员在特定的日期和时间执行程序或脚本,因此可以通过计划任务来运行权限维持脚本,例如运行 at 22:00 /every:M,T,W,Th,F,S,Su C:exp.exe
命令每天自动执行 exp.exe
上传的木马后门为了避免被发现,可以使用 attrib
命令将文件隐藏,+s
用于设置系统属性,+h
用于设置隐藏属性
通过 sc
命令创建新的服务来进行权限维持,也是一种比较经典的方式,结合powershell还可以实现无文件后门
Start-Process -WindowStyle hidden -FilePath "运行的内容"
使用 PowerShell
设置定时启动程序,样例如下:
Register-ScheduledTask -TaskName "OpenCalculator" -Trigger (New-ScheduledTaskTrigger -Once -At "2023-08-04 18:00") -Action (New-ScheduledTaskAction -Execute "calc.exe")
怎么样,你学废了吗?
05
关于我自己
学习安全五年+,网安专业的研究生
中国科学院大学国家计算机网络入侵防范中心实验室科研er,研究方向为AI安全、网络与系统安全
定位帝都,三分之二的白帽子,三分之一的科研er
欢迎加入我的知识星球,内有丰富的挖洞经验分享,这里适合想要学习安全的小白师傅,适合致力于挖掘漏洞的师傅,具体详情可以扫码了解:
我是梅苑,我在渊龙Sec安全团队等你
微信公众号:渊龙Sec安全团队
欢迎关注我,一起学习,一起进步~
本篇文章为团队成员原创文章,请不要擅自盗取!