某次重要攻防演练细节打点到攻陷内网分享

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登陆账户和相关记录等等信息,成功获取身份凭证

整体成果概述

某次重要攻防演练细节打点到攻陷内网分享

通过构造身份凭证,如下

X-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

实战中常用的权限维持

在攻防演练时必然会有防守方,那么做好隐蔽免杀工作与权限维持则是必须的,以下是常见的权限维持思路:

1、隐藏系统用户:
  • 使用使用net命令创建,在用户名后添加$,可以创建隐藏账户,这时使用 net user 无法发现隐藏用户,但是可以从控制面板查看
  • 通过注册表克隆用户:通过注册表克隆用户,那么使用命令和控制面板查看都无法发现此类用户
2、启动项权限维持

Windows下有很多自动启动程序的方法,可以利用这些方法来进行权限维持,例如可以运行gpedit.msc 进入本地组策略,通过Windows设置的脚本(启动/关机/登录/注销)来设置权限维持脚本启动,也可以通过修改注册表自启动键值添加维权脚本路径,从而实现自启动,或是直接将权限维持脚本放入开机启动文件夹来实现自启动

3、计划任务

在Windows中通常用 at 和 schtasks 命令添加计划任务,计划任务可以使系统管理员在特定的日期和时间执行程序或脚本,因此可以通过计划任务来运行权限维持脚本,例如运行 at 22:00 /every:M,T,W,Th,F,S,Su C:exp.exe 命令每天自动执行 exp.exe

4、隐藏文件

上传的木马后门为了避免被发现,可以使用 attrib 命令将文件隐藏,+s 用于设置系统属性,+h 用于设置隐藏属性

5、创建服务

通过 sc 命令创建新的服务来进行权限维持,也是一种比较经典的方式,结合powershell还可以实现无文件后门

6、隐藏运行窗口
Start-Process -WindowStyle hidden -FilePath "运行的内容" 
7、PowerShell设置定时启动程序

使用 PowerShell 设置定时启动程序,样例如下:

Register-ScheduledTask -TaskName "OpenCalculator" -Trigger (New-ScheduledTaskTrigger -Once -At "2023-08-04 18:00") -Action (New-ScheduledTaskAction -Execute "calc.exe")

怎么样,你学废了吗?

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容