ATTCK v13版本战术介绍——凭证访问(一)

news2025/1/12 8:53:10

一、引言

在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权、防御规避战术,本期我们为大家介绍ATT&CK 14项战术中凭证访问战术第1-6种子技术,后续会介绍凭证访问其他子技术,敬请关注。

二、ATT&CK v13简介

MITRE ATT&CK 是一个全球可访问的基于现实世界观察的攻防战术和技术知识库。ATT&CK知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。

2023年 4月25日,MITRE ATT&CK 发布了最新版本 V13,最大的变化是为ATT&CK中的一些技术添加了详细的检测指导,用于企业,移动数据源和两种新类型的更改日志(包括一个人类可读的详细更改日志,更具体地显示更新的ATT&CK对象中的更改,以及一个机器可读的JSON更改日志,其格式在ATT&CK的Github中描述)。

ATT&CK for Enterprise v13 包含14个战术、196个技术、411个子技术、138个组织和740个软件。

ATT&CK战术全景图(红框为凭证访问战术)

三、凭证访问战术

3.1 概述

凭证访问包括窃取凭证(如帐户名和密码)的技术。用于获取凭证的技术包括键盘记录或凭证转储,使用合法凭证可以让攻击者访问系统,使其更难检测。

3.2 利用中间人攻击(T1557)

攻击者可能会尝试使用中间人攻击技术以支持后续行为,如网络嗅探或传输数据等操作。通过利用常见网络协议(例如ARP、DNS、LLMNR等),攻击者使得设备通过攻击者控制的系统进行通信,以便可以收集信息或执行其他操作。

利用中间人攻击技术包含3项子技术,介绍如下:

3.2.1 LLMNR/NBT-NS欺骗攻击(T1557.001)

当DNS名称服务器请求失败时,Microsoft Windows系统就会通过链路本地多播名称解析(LLMNR)和Net-BIOS名称服务(NBT-NS)试图在本地进行名称解析。

当DNS名称无法解析的时候,客户端就会将未经认证的UDP广播到网络中,询问它是否为本地系统的名称。事实上,该过程是未被认证的,并会广播到整个网络,从而允许网络上的任何机器响应并声称是目标机器。

通过侦听LLMNR和NetBIOS广播,攻击者可以伪装成受害者(客户端)要访问的目标机器,从而让受害者交出相应的登陆凭证。在接受连接后,攻击者可以使用Responder.py或Metasploit等工具将请求转发到执行身份验证过程的流氓服务(如SMB TCP:137)。在身份验证过程中,受害者会向流氓服务器发送用于身份认证的NTLMv2哈希值,这个哈希值将被保存到磁盘中,之后就可以使用像Hashcat或John Ripper(TJR)这样的工具在线下破解,或直接用于 pass-the-hash攻击。在Windows中,LLMNR和NBT-NS是默认启用的。

3.2.2 ARP缓存中毒攻击(T1557.002)

攻击者可能会攻击地址解析协议(ARP)缓存,此活动可用于启用后续行为,例如网络嗅探或传输数据操作。

ARP协议用于将IPv4地址解析为链路层地址,例如媒体访问控制(MAC)地址。本地网段中的设备通过使用链路层地址相互通信。如果联网设备没有特定联网设备的链路层地址,它可能会向本地网络发送广播ARP请求,以将IP地址转换为MAC地址。具有关联IP地址的设备直接使用其MAC地址进行回复,发出ARP请求的联网设备将然后使用和存储该信息在其ARP缓存中。

攻击者可能被动地等待ARP请求,以毒害请求设备的ARP缓存。攻击者可能会回复他们的MAC地址,从而通过让他们相信他们正在与预期的网络设备通信来欺骗受害者。对于毒害ARP缓存的攻击者,他们的答复必须比合法IP地址所有者所做的更快。ARP协议是无状态的,不需要身份验证。因此,设备可能错误地添加或更新IP地址的MAC地址在他们的ARP缓存。

攻击者可以使用ARP缓存中毒作为拦截网络流量的手段。此活动可用于收集或中继凭证等数据,特别是通过不安全的未加密协议发送的数据。

3.2.3 DHCP欺骗(T1557.003)

攻击者可以通过欺骗动态主机配置协议(DHCP)流量并充当受害者网络上的恶意DHCP服务器,将网络流量重定向到攻击者拥有的系统。攻击者可以收集网络通信,包括传递的凭证,特别是那些通过未加密的协议发送的凭证。

DHCP基于客户端-服务器模型,具有两个功能:用于从DHCP服务器向客户端提供网络配置设置的协议和用于向客户端分配网络地址的机制。

攻击者可能伪装成受害者网络上的恶意DHCP服务器,合法主机可能从中接收恶意网络配置。例如,恶意软件可以充当DHCP服务器,并向受害计算机提供攻击者拥有的DNS服务器。通过恶意网络配置,攻击者可以实现AiTM位置,通过攻击者控制的系统路由客户端流量,并从客户端网络收集信息。

3.2.4 缓解措施

ID

缓解措施

描述

M1042

禁用或删除功能或程序

禁用可用于拦截网络流量的旧版网络协议,特别是环境中不需要的协议。

M1041

加密敏感信息

确保所有有线和无线流量都已适当加密。对Kerberos等身份验证协议使用最佳实践,并确保可能包含凭证的web流量受SSL/TLS保护。

M1037

过滤网络流量

使用网络设备和基于主机的安全软件来过滤环境中不需要的网络流量。

M1035

限制通过网络访问资源

限制对可用于重塑流量的网络基础设施和资源的访问。

M1031

网络入侵防御

采用网络入侵检测和防御系统。

M1030

网络分割

网络分割可用于隔离不需要广泛网络访问的基础架构组件,减少风险范围。

M1017

用户培训

培训用户对证书错误敏感,攻击者可能会使用自己的证书来尝试拦截HTTPS流量,当应用程序的证书与主机预期的证书不匹配时,可能会出现证书错误。

3.2.5 检测

ID

数据源

数据组件

检测

DS0015

应用日志

应用日志内容

监控应用程序日志,了解与网络协议和其他服务相关的设置更改和其他事件。

DS0029

网络流量

网络流量内容

监控异常情况的网络流量。

网络流量

监控来自未知硬件设备的网络流量。 本地网络流量元数据以及网络管理协议(如DHCP)的使用可能有助于识别硬件。

DS0019

服务

服务创建

通过事件Id4697和7045的Windows事件日志监控新建立的服务或守护进程。

DS0024

Windows注册表

Windows注册表项修改

监控HKLM\Software\Policies\Microsoft\Windows NT\DNSClient以获取对"EnableMulticast"DWORD值的更改。 值"0"表示LLMNR被禁用。

3.3 暴力破解(T1110)

当密码未知或获得密码哈希时,攻击者可能会使用暴力破解技术访问帐户。如果不知道一个帐户或一组帐户的密码,攻击者可能会使用重复或迭代机制系统地猜测密码。暴力强制密码可以通过与服务的交互进行,该服务将检查这些凭证的有效性,或者根据以前获取的凭证数据(如密码哈希)进行。

暴力破解技术包含4项子技术,介绍如下:

3.3.1 密码猜测(T1110.001)

事先不知道系统或环境中的合法凭证的攻击者可能会猜测密码以尝试访问帐户。在不知道帐户密码的情况下,攻击者可能会选择使用重复或迭代机制系统地猜测密码。密码猜测可能会也可能不会考虑到目标对密码复杂性的策略,可能在多次尝试失败后被锁定帐户。

猜测密码可能导致大量身份验证失败和帐户锁定,在猜测密码时使用常用端口上的管理服务,包括以下内容:

SSH(22/TCP)

Telnet(23/TCP)

FTP(21/TCP)

NetBIOS/SMB/Samba(139/TCP&445/TCP)

LDAP(389/TCP)

Kerberos(88/TCP)

RDP/终端服务(3389/TCP)

HTTP/HTTP管理服务(80/TCP&443/TCP)

MSSQL(1433/TCP)

Oracle(1521/TCP)

MySQL(3306/TCP)

VNC(5900/TCP)

SNMP(161/UDP和162/TCP/UDP)

除了管理服务之外,攻击者还可利用单点登录(SSO)、使用联合身份验证协议的基于云的应用程序、面向外部的电子邮件应用程序、网络设备接口(如wlanAPI)、无线身份验证协议等进行暴力破解。在默认环境中,LDAP和Kerberos连接尝试不太可能通过SMB触发事件,这会创建ID4625的Windows登录失败事件。

3.3.2 密码破解(T1110.002)

当获得密码哈希等凭证时,攻击者可能会使用密码破解来尝试恢复可用的凭证。操作系统凭证转储可用于获取密码哈希,攻击者还可以利用配置存储库中的数据来获取网络设备的哈希凭证。

系统地猜测用于计算哈希值的密码的技术是可用的,或者攻击者可以使用预先计算的彩虹表来破解哈希值。破解哈希通常在目标网络之外的攻击者控制系统上完成,由成功破解的散列所得到的明文密码可用于登录帐户有权访问的系统、资源和服务。

3.3.3 密码喷洒(T1110.003)

攻击者可能会对许多不同的帐户使用一个或一个小的常用密码列表来尝试获取有效的帐户凭证。密码喷洒使用一个密码或常用密码的小列表,可能与域的复杂性策略相匹配。尝试使用该密码对网络上的许多不同帐户进行登录,以避免在暴力强制使用多个密码的单个帐户时通常会发生帐户锁定。

3.3.4 凭证填充(T1110.004)

凭证填充是一种网络攻击,也是我们习惯称的“撞库”,利用从一项服务上的数据泄露中获得的登录凭证尝试登录到另一个不相关的服务。

例如,攻击者可能通过攻破一个大型百货商店而获取大量用户名和对应密码,并使用相同的登录凭证尝试登录到某个国际银行的网站。攻击者猜测这些百货商店客户中的某些人在该银行也有帐户,并且他们使用了和百货商店同样的用户名和密码。

凭证填充是一个有风险的选项,因为它可能导致大量身份验证失败和帐户锁定,具体取决于组织的登录失败策略。

3.3.5 缓解措施

ID

缓解措施

描述

M1036

帐户使用政策

在一定数量的失败登录尝试后设置帐户锁定策略,以防止密码被猜测。

M1032

多因素认证

使用多因素身份验证。

M1027

密码策略

创建密码策略时,参阅NIST指南。

M1018

用户账户管理

主动重置已知违反凭证的一部分帐户。

3.3.6 检测

ID

数据源

数据组件

检测

DS0015

应用日志

应用日志内容

监控有效帐户的系统和应用程序登录失败的身份验证日志,如果身份验证失败率很高,则可能会尝试使用合法凭证访问系统。

DS0017

命令

命令执行

监控执行的命令和参数,这些命令和参数可能使用暴力破解技术在密码未知或获得密码哈希时访问帐户。

DS0002

用户账户

用户账户认证

监控各种帐户中可能由于密码喷洒尝试而导致的许多失败的身份验证尝试。

3.4 从存储密码的位置获取凭证(T1555)

攻击者可以搜索常用密码存储位置以获取用户凭证。密码存储在系统的多个位置,具体取决于持有凭证的操作系统或应用程序。还有一些特定的应用程序存储密码,以便用户更容易管理和维护。一旦获得凭证,它们可用于执行横向移动和访问受限信息。

从存储密码的位置获取凭证技术包含5项子技术,介绍如下:

3.4.1 Keychain(T1555.001)

攻击者可以从Keychain获取凭证。Keychain是macOS凭证管理系统,用于存储帐户名、密码、私钥、证书、敏感应用程序数据、支付数据和安全备注。有三种类型的钥匙串:登录钥匙串,系统钥匙串和本地项目(iCloud)钥匙串。默认的钥匙串是登录钥匙串,它存储用户密码和信息。系统钥匙串存储操作系统访问的项目,例如在主机上的用户之间共享的项目。本地项目(iCloud)钥匙串用于与Apple的iCloud服务同步的项目。可以通过Keychain Access应用程序或使用命令行程序security查看和编辑钥匙链。攻击者可以从钥匙串存储或内存中收集用户凭证。

3.4.2 安全存储器(T1555.002)

攻击者可能会获得root访问权限允许他们读取securityd的内存,然后他们可以通过内存扫描以在相对较少的尝试中找到正确的密钥序列来解密用户的登录密钥,这为攻击者提供了用户,WiFi,邮件,浏览器,证书,安全笔记等的所有明文密码。

在El Capitan之前的OS X中,具有root访问权限的用户可以读取已登录用户的明文钥匙串密码,因为Apple的钥匙串实现允许缓存这些凭证,以便用户不会重复提示Apple的securityd程序获取用户的登录密码,使用PBKDF2对其进行加密,并将此主密钥存储在内存中。Apple还使用一组密钥和算法来加密用户的密码,但一旦找到主密钥,攻击者只需遍历其他值即可解锁最终密码。

3.4.3 来自Web浏览器的凭证(T1555.003)

攻击者可以通过读取特定于目标浏览器的文件从web浏览器获取凭证。Web浏览器通常会保存网站用户名和密码等凭证,以便将来无需手动输入。Web浏览器通常以加密格式将凭证存储在凭证存储中。

从web浏览器中提取纯文本凭证的方法包括如下:

在Windows系统上,通过读取数据库文件AppData\Local\Google\Chrome\User Data\Default\Login Data并执行SQL查询,可以从Google Chrome获取加密凭证:SELECT action_url,username_value,password_value FROM logins。然后可以通过将加密凭证传递给Windows API函数CryptUnprotectData来获取明文密码,该函数使用受害者的缓存登录凭证作为解密密钥。

攻击者已经为FireFox,Safari,Edge等常见的web浏览器执行了类似的程序,Windows凭证管理器管理Internet Explorer和Microsoft Edge凭证存储。

攻击者还可以通过搜索web浏览器进程内存获取凭证。从web浏览器获取凭证后,攻击者可能会尝试在不同的系统或帐户中回收凭证,以便扩展访问权限。

3.4.4 Windows凭证管理器(T1555.004)

攻击者可以从Windows凭证管理器获取凭证。凭证管理器将用于登录到通过NTLM或Kerberos请求身份验证的网站、应用程序或设备的凭证存储在凭证储物柜(以前称为Windows保管库)中。

Windows凭证管理器在两个储物柜中将网站凭证与应用程序、网络凭证分开。Internet Explorer和Microsoft Edge网站凭证由凭证管理器管理,并存储在Web凭证储物柜中。应用程序和网络凭证存储在Windows凭证储物柜中。

攻击者可以通过多种机制列出由Windows凭证管理器管理的凭证。vaultcmd.exe是本机Windows可执行文件,可用于通过命令行界面或Windows Api枚举存储在凭证储物柜中的凭证,攻击者也可以通过直接读取位于凭证储物柜内的文件来收集凭证,也可以从凭证备份中获取凭证,密码恢复工具也可以从凭证管理器获取纯文本密码。

3.4.5 密码管理器(T1555.005)

攻击者可以从第三方密码管理器获取用户凭证。密码管理器是用于存储用户凭证的应用程序,通常存储在加密的数据库中。在用户提供解锁数据库的主密码后,通常可以访问凭证。数据库解锁后,这些凭证可能会复制到内存中,这些数据库可以作为文件存储在磁盘上。

攻击者可以通过从内存中提取主密码或纯文本凭证来从密码管理器获取用户凭证。攻击者也可以通过密码猜测来尝试暴力破解,以获得密码管理器的主密码。

3.4.6 缓解措施

ID

缓解措施

描述

M1027

密码策略

使用技术控制、策略和用户培训来防止将凭证存储在不当位置。

3.4.7 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控执行的命令和参数,这些命令和参数可能会搜索通用密码存储位置以获取用户凭证。

DS0022

文件

文件访问

监控正在访问的文件,这些文件可能会搜索通用密码存储位置以获取用户凭证。

DS0009

进程

OS API执行

监控可能搜索通用密码存储位置以获取用户凭证的API调用。

进程访问

监控正在访问的进程,这些进程可能会搜索通用密码存储位置以获取用户凭证。

进程创建

监控可能搜索通用密码存储位置以获取用户凭证的新执行进程。

3.5 利用凭证访问漏洞(T1212)

攻击者可能会利用软件漏洞试图收集凭证。当攻击者利用程序、服务或操作系统软件或内核本身中的编程错误来执行攻击者控制的代码时,就会出现软件漏洞的利用。凭证和身份验证机制可能会被攻击者用作获取有用凭证或绕过访问系统的过程的手段。

3.5.1 缓解措施

ID

缓解措施

描述

M1048

应用隔离和沙箱

使攻击者难以通过使用沙箱利用未发现或未修补的漏洞来推进其操作。

M1050

漏洞保护

查找在利用过程中使用的行为的安全应用程序(如Windows Defender Exploit Guard(WDEG)和增强的缓解体验工具包(EMET)可用于缓解某些利用行为。控制流完整性检查是另一种可能识别和阻止软件漏洞发生的方法。

M1019

威胁情报

利用网络威胁情报,以确定哪些类型和级别的威胁可能利用软件漏洞。

M1051

更新软件

通过对内部企业端点和服务器使用补丁管理来定期更新软件。

3.5.2 检测

ID

数据源

数据组件

检测

DS0015

应用日志

应用日志内容

通过检测分析应用日志内容发现威胁。

DS0009

进程

进程创建

监控异常进程创建及进程的异常行为,例如从可能被利用的应用程序生成的命令和脚本解释器以。

DS0002

用户账户

用户账户认证

监控异常访问的用户账户认证行为。

3.6 强制认证(T1187)

攻击者可以通过强制用户使用他们可以拦截的机制自动提供身份验证信息来收集凭证。

服务器消息块(SMB)协议通常用于Windows网络中的身份验证和系统之间的通信,以访问资源和文件共享。当Windows系统尝试连接到SMB资源时,它将自动尝试进行身份验证并将当前用户的凭证信息发送到远程系统,因此用户无需输入凭证即可访问网络资源。

当SMB被阻止或失败时,Windows系统通常也使用WebDAV作为备份协议, WebDAV是HTTP的扩展,通常在TCP端口80和443上运行。

攻击者可以通过强制SMB/WebDAV身份验证访问用户帐户哈希。通过钓鱼邮件向用户发送附件,其中包含由攻击者控制的外部服务器的资源链接,或者在特权帐户的导航路径上放置恶意文件。当用户系统访问不受信任的资源时,它将尝试身份验证并通过SMB将信息发送到攻击者控制的服务器。通过对凭证哈希的访问,攻击者可以执行离线暴力破解以获得对明文凭证的访问。

3.6.1 缓解措施

ID

缓解措施

描述

M1037

过滤网络流量

过滤TCP端口139、445和UDP端口137流量, 过滤WebDAV协议流量。如果需要通过SMB和WebDAV访问外部资源,则应使用allowlisting严格限制流量。

M1027

密码策略

使用强密码来增加凭证哈希被破解的难度。

3.6.2 检测

ID

数据源

数据组件

检测

DS0022

文件

文件访问

监控用于收集凭证的异常文件

文件创建

监控指向外部网络资源的异常文件创建

文件修改

监控异常的文件修改行为

DS0029

网络流量

网络流量内容

监控异常的SMB流量。

网络流量

监控TCP端口139、445和UDP端口137上的SMB流量以及访问未知外部系统的WebDAV流量。

3.7 伪造网络凭证(T1606)

Web应用程序和服务通常使用会话cookie、令牌或其他材料来验证和授权用户访问。攻击者可能伪造访问web应用程序或Internet服务的凭证以便访问web资源。这与窃取Web会话Cookie,窃取应用程序访问令牌和其他类似行为的不同之处在于凭证是由攻击者伪造的新凭证,而不是从合法用户处窃取或拦截。一旦伪造,攻击者可能会使用这些web凭证访问资源,可能会绕过多因素和其他身份验证保护机制。

伪造网络凭证技术包含2项子技术,介绍如下:

3.7.1 网页Cookie(T1606.001)

攻击者可能伪造可用于访问web应用程序或Internet服务的web cookie。攻击者可能会生成这些cookie以访问web资源。大多数常见的web应用程序都有标准化和记录的cookie值,这些值可以使用提供的工具或接口生成。web cookie的生成通常需要密码、私钥或其他加密值。

3.7.2 SAML令牌(T1606.002)

如果攻击者拥有有效的SAML令牌签名证书,则可以伪造具有任何权限声明和生命周期的SAML令牌。SAML令牌的默认生存期为一小时,但有效期可以在条件的NotOnOrAfter值中指定。伪造的SAML令牌使攻击者能够跨使用SAML2.0作为SSO单点登录机制的服务进行身份验证。

攻击者可以利用私钥来破坏组织的令牌签名证书以创建伪造的SAML令牌。如果攻击者有足够的权限与他们自己的AD域联合身份验证服务器建立新的联合身份验证信任,则他们可能会生成自己的受信任令牌签名证书。

如果伪造了高特权帐户的SAML令牌,则攻击者可能会获得管理Azure AD特权。这可能导致使用备用认证材料,这可能绕过多因素和其他认证保护机制。

3.7.3 缓解措施

ID

缓解措施

描述

M1047

审计

管理员应对所有访问列表以及授予他们访问web应用程序和服务的权限执行审核。

M1026

特权账户管理

将AD FS服务器的权限和访问限制为仅源自特权访问工作站。

M1054

软件配置

配置浏览器或应用程序以定期删除持久性web凭证(如cookie)。

M1018

用户账户管理

确保具有管理权限的用户帐户使用特权访问工作站和强身份验证,减少作为高特权目录角色成员的用户数量。

3.7.4 检测

ID

数据源

数据组件

检测

DS0028

登录会话

登录会话创建

监控异常身份验证活动,例如与未知帐户关联的登录或其他用户会话活动或使用域中没有相应4769和1200事件的SAML令牌。

监控对资源的异常访问,包括同一用户在不同位置或不匹配预期配置的不同系统对应用程序的访问。

DS0006

Web 凭证

Web 凭证创建

监控使用SAML令牌创建访问令牌,这些令牌在域中没有相应的4769和1200事件。

Web凭证使用情况

监控访问令牌的使用,以访问使用SAML令牌创建的服务(如电子邮件),这些服务在域中没有相应的1202事件。

四、总结

本期主要介绍了凭证访问战术(一)及技术/子技术原理,下期将给大家介绍凭证访问战术(二)知识。敬请关注。

 

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

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

相关文章

深度学习目标检测项目实战(六)-基于Faster rcnn pytorch的遥感图像检测

基于Faster rcnn pytorch的遥感图像检测 代码:https://github.com/jwyang/faster-rcnn.pytorch/tree/pytorch-1.0 数据集 使用RSOD遥感数据集,VOC的数据格式如下: RSOD是一个开放的目标检测数据集,用于遥感图像中的目标检测。…

01_pytorch中的DataSet

在pytorch 中, Dataset: 用于数据集的创建; DataLoader: 用于在训练过程中,传递获取一个batch的数据; 这里先介绍 pytorch 中的 Dataset 这个类, torch.utils.data. dataset.py 是一个表示数据集的抽象类。任何自定义…

SharpContour论文精读

SharpContour: A Contour-based Boundary Refinement Approach for Efficient and Accurate Instance Segmentation 论文链接:[2203.13312] SharpContour: A Contour-based Boundary Refinement Approach for Efficient and Accurate Instance Segmentation (arxiv…

[SpringBoot]Knife4j框架

Knife4j框架 Knife4j框架是一款国人开发的、基于Swagger 2的在线API文档框架。 Knife4j框架的一些主要作用和特点: 自动生成API文档:Knife4j可以根据代码中的注解和配置信息,自动生成API接口文档。开发者只需要在代码中添加相关注解&#…

数据治理服务解决方案word

本资料是ppt格式,适用于方案规划、项目实施、工作汇报。本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。篇幅有限,无法完全展示,喜欢资料可转发评论,私信“方案”了解更多信息。…

亚马逊、沃尔玛、eBay、wish的测评风险:源头控制与有效规避

测评补单已逐渐成为跨境电商卖家的一种重要推广方式。然而,近期,一些卖家反映,由于平台规则日益严格,测评变得更为棘手。若违反评论政策并被捕获,卖家可能会面临一系列的处罚,如删除店铺所有产品的评论&…

GRPC CPP 开发单向Stream服务器

上周提到我们要给llama.cpp增加一个grpc入口,这是最终成果仓库,等待进一步测试后提交合并。 今天讲讲GRPC CPP开发的麻烦事情。 参考文档 Quick start | C | gRPC,参考文档就是官方的这篇文档了,安装grpc可以参考我上一篇文章&…

Pycharm:通过git拉取仓库代码并创建项目环境

一、使用pycharm打开空的文件夹 使用菜单栏:在 PyCharm 的菜单栏中,选择 "File"(文件)菜单,然后选择 "Open"(打开)或 "Open Folder"(打开文件夹&…

Hive3.1.3

文章目录 1、Hive入门1.1 Hive简介1.2 Hive本质1.3 Hive架构原理 2、Hive安装2.1 Hive安装地址2.2 Hive安装部署2.2.1 安装Hive(最小化)2.2.2 启动并使用Hive 2.3 MySQL安装2.3.1 安装MySQL2.3.2 配置MySQL 2.4 配置Hive元数据存储到MySQL2.4.1 配置元数据到MySQL2.4.2 验证元数…

校验表格中的多个表单

要实现的效果是: 点击保存回校验当前页面的所有输入框 首先 分成两个上下两个子组件, 上面的子组件是一个表单包括规则名称和区域 下面的子组件是一个表格,表格可以是多行的,需要校验每一行的输入框 父组件调用两个子组件的校验方法, 第一个子组件可以直接校验,第二个子组件在…

深度学习笔记之循环神经网络(十)基于循环神经网络模型的简单示例

深度学习笔记之循环神经网络——基于循环神经网络模型的简单示例 引言文本表征: One-hot \text{One-hot} One-hot向量简单示例:文本序列的预测任务数据预处理过程生成文本数据遍历数据集,构建字典抓取数据,创建训练样本、标签字符特征与数字特…

Uni-app学习从0到1开发一个app——(2)windowns环境搭配

文章目录 0 引入1、使用HBuilderX构建工程2、使用vscode2.1 官方推荐的使用2.2 如何使用 3、总结 0 引入 工欲善其事必先利其器介绍两种开发小程序的方法,个人倾向于第一种,后续演示的的工程也是基于前者,毕竟官方的更有说服力。 1、使用HBu…

基于yolov5开发构建枪支刀具等危险物品检测识别系统

安全始终是重如泰山的事情,安全事件如果能够做到早发现早制止可能结果就会完全不一样了,本文的核心目的很简单,就是想基于目标检测模型来尝试构建枪支刀具等危险物品检测识别系统,希望基于人工智能手段来打击犯罪行为,…

【JavaSE】Java基础语法(四十三):反射

文章目录 概述:1. java.lang.Class1.1 获取 Class 对象1.2 通过反射创建对象1.3 通过反射获取类的属性、方法和注解等1.3.1 反射获取构造方法1.3.2 反射通过构造器创建对象1.3.3 反射获取成员方法1.3.4 反射获取属性 2. 工具类操作3. 反射是如何破坏单例模式的4. 反…

linux0.12-12-2-buffer

基本上看完赵老师中文解释,都可以自己写这部分的代码。 [622页] 12-2 buffer.c程序 从本节起,我们对fs/目录下的程序逐一进行说明和注释。按照本章第2节中的描述, 本章的程序可以被分成4个部分: 高速缓冲管理; 文件…

基于ATC89C51单片机的超市临时储物柜密码锁设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87855870?spm=1001.2014.3001.5503 源码获取 摘 要 随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的电子密码锁的设计研发与应用在很大程度上改善了人们的…

windows 部署多个tomcat

去官网下载tomcat,地址:Apache Tomcat - Apache Tomcat 8 Software Downloads 选择对应的版本下载,下载完成后,直接解压文件, 修改第二个解压的tomcat的catalina.bat 和 startup.bat和service.bat文件的配置&#x…

iptables 基础

iptables防火墙 主要实现数据包的过滤、封包重定向和网络地址转换(NAT)等功能 iptables:用户空间的命令行工具,用于管理配置netfilter:真正实现功能的是netfilter运行在内核空间 iptables的4表5链 链:通过…

想管好数据资源,不妨了解大数据分析开源框架

在如今快节奏的时代中,办公自动化早已成为各行各业的发展趋势和方向。随着业务量的激增,数据资源也不断增多,如果没有一套完善的大数据分析开源框架,那这么多的数据资源就不能很好地利用和发挥其价值,如果采用专业的大…

基于AT89C52单片机的交通灯设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87855439?spm1001.2014.3001.5503 源码获取 一、实验目的 掌握单片机的综合应用设计。加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作…