【安全研究】某黑产网站后台滲透与逆向分析

文章目录

  • x01. 前言
  • x02. 分析

【🏠作者主页】:吴秋霖
【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与开发工作!
【🌟作者推荐】:对爬虫领域以及JS逆向分析感兴趣的朋友可以关注《爬虫JS逆向实战》《深耕爬虫领域》
未来作者会持续更新所用到、学到、看到的技术知识!包括但不限于:各类验证码突防、爬虫APP与JS逆向分析、RPA自动化、分布式爬虫、Python领域等相关文章

作者声明:文章仅供学习交流与参考!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!如有侵权,请联系作者本人进行删除!

x01. 前言

  本次案例为非公开站点分析,源于协助某省公安厅开展的一次黑产打击溯源取证行动。近年来,境内外黑产活动猖獗,涉及领域广泛

在本次行动中,通过对目标团队某成员设备中获取的提权信息进行短时间内的分析与还原,成功抽取到了一批有价值的数据,一般后台普通的网站防护都是较低的(但是它的后台很硬!防护很高

此类黑产平台也许时常会顾虑到被滲透的风险,所以在里面加固了一套JS层面防护较高的整套产品,因为加上日志登录记录就算短时被黑掉只要能够发现就会被阻断(想要收集数据还需要花费时间逆向所有的加密跟数据解密

这里作者据回忆复盘画了一下它后台防护的概览图,如下所示:

在这里插入图片描述

本案例中所需解决的防护措施主要集中在加密与逆向分析(验签、解密)由于需要快速获取 member的信息身份、手机号、银行卡等,破解加密防护后还需面对验证检测机制(U盾触发)这一环节是较为棘手的。触发风控机制将直接导致操作被阻断

在有限的时间内,需要尽可能完成分析与信息收集,因为系统会实时记录登录活动

据说此类防护流程在此类黑产平台应用广泛,价值高达数百万一套!并且会配备几名专业开发人员升级、开发、维护

再说个题外话,member的数量如果我没记错的话高达近10W,涉及的资金流水规模庞大~可见其黑产运作的复杂性和广泛性

x02. 分析

后台页面呈现的数据来源于多个独立接口,其中较为敏感和有价值的信息姓名、手机号、银行卡…这些字段的明文信息经过了两层解密,如下所示:

在这里插入图片描述

点击页面上红色形状的锁将弹出第一层(U盾验证码)进行数据解密,如下所示:

在这里插入图片描述

查看网络发包,可以看到所有的API接口地址都是经过动态加密处理的,如下所示:

在这里插入图片描述

接口请求参数跟响应数据同样全部也是经过加密处理的,如下所示:

在这里插入图片描述

在这里插入图片描述

通过对堆栈调用和 JS 代码的静态分析,发现了相关的加密特征。起初猜测目标可能采用了第三方 WAF(Web 应用防火墙)服务,但进一步分析发现其加密核心算法基于 WebAssembly(WASM)。加密逻辑可能由 C/C++ 编写后转换为 WASM 文件,并通过 JS 调用,具体如下图所示:

在这里插入图片描述

WASM 的引入在一定程度上提高了对 JS 逆向分析的防护能力,有效阻断了常规的 XHR 断点调试方式。对此,采用堆栈调用静态分析法,定位 API 接口加密前的明文数据及请求参数成为主要破解手段。好在目标常规的JS代码并未进行混淆或VMP

在这里插入图片描述

直接快速打日志点找到明文的接口发包以及头部所有参数的加密流程梳理快速进行验签还原,如下所示:

在这里插入图片描述

在这里插入图片描述

首先分析头部里面的第一个参数XXXXX1,对JS算法中生成的字符进行替换与反转最后再拼接,这里可以直接将一些无关的依赖函数去掉,使用任意语言可实现,如下所示:

def generate_result(self):def r(p):h = p.replace("&", "8").replace("*", "c").replace("%", "a")return h[::-1]def d(p, h, m): return ''.join([p, h, m][::-1])h = "" # 动态字符m = "" # 动态字符E = "" # 动态字符return d(r(h), r(m), r(E))

请求头内的第二个XXXXX2参数的话通过分析JS发现是固定的,如下所示:

在这里插入图片描述

如上可看到它会对wasm处理后的API、参数都会进行二次校验,接下来分析头部的(3、4、5)三个参数,都是动态更新通过两层AES解密得到,第一层的话它将密文放在了localStorage中,通过对应的Key获取经过第一层AES解密后将得到新的密文(一串JSON),新的密文则放在JSON中某个Key下面,获取后再次经过AES解密即可得到最终参数的正确值如下所示:

在这里插入图片描述

在这里插入图片描述

所有加密相关的参数都处理完之后,拿到的都是密文数据,如下所示:

在这里插入图片描述

在上图的基础之上需要再次经过两层数据解密才能拿到完整的明文数据!第一层的话就是上面提到的U盾,这一步就省略不细说,直接看第二层的解密方法,所有字段的密文都交由一个独立的接口去进行解密,接受三个参数,如下所示:

_encryptedString(密文)、_signature(密钥)、_fingerprint(指纹)

这里逆向分析完数据的解密流程及算法后开始编写程序进行快速验证,明文数据如下所示:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣 343. 整数拆分 (JAVA 记忆化搜索->动态规划)

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 36 解释: 10 3 …

一次tomcat实战jvm线上问题定位排查和解决

问题分析: 问题来源是客户通过闲鱼找到了我这边进行问题的排查,给我发了一个报错日志,让我帮忙分析。 首先他的项目比较老,很多年以前开发的软件,但是具体做什么业务我不知道。下面来看日志的报错分析。 问题&#…

【Linux】软硬链接

文章目录 软链接硬链接软硬链接的使用场景:软链接的使用场景硬链接的应用场景 总结 软链接 软链接是一种指向文件或目录的快捷方式,是文件系统中非常重要的功能。它类似于Windows中的快捷方式,但更灵活,可以跨文件系统创建。 ln…

操作系统(5)进程

一、定义与特点 定义:进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 特点: 动态性:进程是动态创建的,有它自身的生命周期,…

安宝特分享 | AR技术助力医院总院与分院间的远程面诊

随着科技的迅猛发展,增强现实(AR)技术在各行各业的应用愈发广泛,特别是在医疗领域,其潜力和价值正在被不断挖掘。在现代医疗环境中,患者常常面临“看病难、看病远、看病急”等诸多挑战,而安宝特…

CNCF云原生生态版图-分类指南(三)- 运行时

CNCF云原生生态版图-分类指南(三)- 运行时 CNCF云原生生态版图-分类指南三、运行时(Runtime)(一)云原生存储(Cloud Native Storage)1. 是什么?2. 解决什么问题&#xff1…

通俗易懂的 Nginx 反向代理 配置

通俗易懂的 Nginx 反向代理 配置 首先 root 与 alias 的区别 root 是直接拼接 root location location /i/ {root /data/w3; }当请求 /i/top.gif ,/data/w3/i/top.gif 会被返回。 alias 是用 alias 替换 location location /i/ {alias /data/w3/images/; }当请…

HiveQL命令(一)- 数据库操作

文章目录 前言一、数据库操作1. 创建数据库1.1 语法及解释1.2 创建数据库示例 2. 查看数据库2.1 查看所有数据库2.2 查看数据库信息2.2.1 语法及解释2.2.2 查看数据库信息示例 3. 切换数据库3.1 语法3.2 示例 4. 修改数据库4.1 语法4.2 示例 5. 删除数据库5.1 语法及解释5.2 示…

Ubuntu22.04安装docker desktop遇到的bug

1. 确认已启用 KVM 虚拟化 如果加载了模块,输出应该如下图。说明 Intel CPU 的 KVM 模块已开启。 否则在VMware开启宿主机虚拟化功能: 2. 下一步操作: Ubuntu | Docker Docs 3. 启动Docker桌面后发现账户登陆不上去: Sign in | …

FPGA实现GTP光口数据回环传输,基于Aurora 8b/10b编解码架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案 3、工程详细设计方案工程设计原理框图用户数据发送模块基于GTP高速接口的数据回环传输架构GTP IP 简介GTP 基本结构GTP 发送和接收…

(二)多智能体强化学习

目录 前言 一、多智能体强化学习的概念 二、多智能体面临的问题 三、现有算法简介 总结 前言 基于上一篇文章对于强化学习基础概念的介绍,本篇文章针对多智能体强化学习进行介绍和总结,帮助大家了解多智能体的基本概念以及算法,方便大家…

【Linux网络编程】传输协议UDP

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系…

汽车车牌识别数据集,支持YOLO,COCO,VOC格式的标注,8493张图片,可识别多种环境下的车牌

汽车车牌识别数据集,支持YOLO,COCO,VOC格式的标注,8493张图片,可识别多种环境下的车牌 数据集分割 训练组82% 6994图片 有效集12% 999图片 测试集6% 500图片 预处理 自动…

流网络复习笔记

所以这里的19是118-019 <s , w> 1/3就是容量是3&#xff0c;流量是1 残留网络就是两个相对箭头上都是剩余对应方向还能同行的流量 所以s->w 3-1 2, w->s 1

Mac m2电脑上安装单机Hadoop(伪集群)

1. 引言 本教程旨在介绍在Mac 电脑上安装Hadoop 2. 前提条件 2.1 安装JDK Mac电脑上安装Hadoop&#xff0c;必须首先安装JDK&#xff0c;并配置环境变量&#xff08;此处不做详细描述&#xff09; 2.2 配置ssh环境 关闭防火墙 在Mac下配置ssh环境&#xff0c;防止后面启…

使用html和JavaScript实现一个简易的物业管理系统

码实现了一个简易的物业管理系统&#xff0c;主要使用了以下技术和功能&#xff1a; 1.主要技术 使用的技术&#xff1a; HTML: 用于构建网页的基本结构。包括表单、表格、按钮等元素。 CSS: 用于美化网页的外观和布局。设置字体、颜色、边距、对齐方式等样式。 JavaScript…

2000-2022年各省产业结构高级化、产业结构合理化指数(两种方法)(含原始数据+计算过程+计算结果)

2000-2022年各省产业结构高级化、产业结构合理化指数&#xff08;两种方法&#xff09;&#xff08;含原始数据计算过程计算结果&#xff09; 1、时间&#xff1a;2000-2022年 2、来源&#xff1a;统计年鉴、各省年鉴、人口和就业年鉴 3、指标&#xff1a;GDP、第一产业增加…

神经网络基础-初识神经网络

人工神经网络&#xff08; Artificial Neural Network&#xff0c; 简写为ANN&#xff09;也简称为神经网络&#xff08;NN&#xff09;&#xff0c;是一种模仿生物神经网络结构和功能的计算模型。人脑可以看做是一个生物神经网络&#xff0c;由众多的神经元连接而成。各个神经…

Mac安装brew的终极方法

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"按回车后&#xff0c;根据提示操作&#xff1a; 输入镜像序号&#xff08;1-5都可以&#xff09;输入Y&#xff0c;回车等待brew安装完成即可。 M系列芯片亲测有效&#x…

vscode借助插件调试OpenFoam的正确的.vscode配置文件

正确的备份文件位置&#xff1a; /home/jie/桌面/理解openfoam/正确的调试爆轰单进程案例/mydebugblastFoam 调试爆轰案例流体 并且工作区和用户区都是openfoam-7版本 问题&#xff1a;F5以debug模式启动后不停在断点 解决方法&#xff1a; 这里备份一下.vsode正确的配置&…