diff --git a/pentesting-cloud/aws-pentesting/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md b/pentesting-cloud/aws-pentesting/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
index c3a04a06d8..9450d81b66 100644
--- a/pentesting-cloud/aws-pentesting/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
+++ b/pentesting-cloud/aws-pentesting/aws-persistence/aws-lambda-persistence/aws-abusing-lambda-extensions.md
@@ -9,7 +9,7 @@ Other ways to support HackTricks:
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
-* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
+* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -19,39 +19,38 @@ Other ways to support HackTricks:
Lambda extensions enhance functions by integrating with various **monitoring, observability, security, and governance tools**. These extensions, added via [.zip archives using Lambda layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) or included in [container image deployments](https://aws.amazon.com/blogs/compute/working-with-lambda-layers-and-extensions-in-container-images/), operate in two modes: **internal** and **external**.
* **Internal extensions** merge with the runtime process, manipulating its startup using **language-specific environment variables** and **wrapper scripts**. This customization applies to a range of runtimes, including **Java Correto 8 and 11, Node.js 10 and 12, and .NET Core 3.1**.
-
* **External extensions** run as separate processes, maintaining operation alignment with the Lambda function's lifecycle. They're compatible with various runtimes like **Node.js 10 and 12, Python 3.7 and 3.8, Ruby 2.5 and 2.7, Java Corretto 8 and 11, .NET Core 3.1**, and **custom runtimes**.
-
For more information about [**how lambda extensions work check the docs**](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-extensions-api.html).
### External Extension for Persistence, Stealing Requests & modifying Requests
-**This is going to be a summary for the technique proposed in this post:** [**https://www.clearvector.com/blog/lambda-spy/**](https://www.clearvector.com/blog/lambda-spy/)
+This is a summary of the technique proposed in this post: [https://www.clearvector.com/blog/lambda-spy/](https://www.clearvector.com/blog/lambda-spy/)
-The researchers found that the default Linux kernel in the Lambda runtime environment is compiled with β**process\_vm\_readv**β and β**process\_vm\_writev**β system calls. And all processes run with the same user ID, even the new process created for the external extension. **This means that an external extension has full read and write access to Rapidβs heap memory, by design.**
+It was found that the default Linux kernel in the Lambda runtime environment is compiled with β**process\_vm\_readv**β and β**process\_vm\_writev**β system calls. And all processes run with the same user ID, even the new process created for the external extension. **This means that an external extension has full read and write access to Rapidβs heap memory, by design.**
-Moreover, Lambda **extensions** can **subscribe** to **invocation events**; however, AWS does not expose the raw data to the extension. So the extension won't be able to gather sensitive information sent in the HTTP request.
+Moreover, while Lambda extensions have the capability to **subscribe to invocation events**, AWS does not reveal the raw data to these extensions. This ensures that **extensions cannot access sensitive information** transmitted via the HTTP request.
-The **Init** (Rapid) process listens for all API requests on **http://127.0.0.1:9001**. Lambda **extensions** are loaded and **executed** before any runtime code, but **after Rapid**.
+The Init (Rapid) process monitors all API requests at [http://127.0.0.1:9001](http://127.0.0.1:9001/) while Lambda extensions are initialized and run prior to the execution of any runtime code, but after Rapid.
-
+
-The **variable** named β**AWS\_LAMBDA\_RUNTIME\_API**β **informs** the child **runtime** processes and other extensions of the **IP and port number of the Rapid API**.
+The variable **`AWS_LAMBDA_RUNTIME_API`** indicates the **IP** address and **port** number of the Rapid API to **child runtime processes** and additional extensions.
{% hint style="warning" %}
-**Overwriting** this environment variable with a **port number that we control** will allow us to **man-in-the-middle all activity** within the Lambda runtime.\
-And because the kernel is compiled with those system calls and the **extension** is **running** with the **same user ID** as the Rapid Init, it's possible to **overwrite** the process **memory** and **change the port**.
+By changing the **`AWS_LAMBDA_RUNTIME_API`** environment variable to a **`port`** we have access to, it's possible to intercept all actions within the Lambda runtime (**man-in-the-middle**). This is possible because the extension runs with the same privileges as Rapid Init, and the system's kernel allows for **modification of process memory**, enabling the alteration of the port number.
{% endhint %}
-Since **extensions execute before any runtime code**, the **updated environment variable will take effect when the runtime process is executed** (Python, Java, Node, Ruby, etc). In addition, any extensions that are loaded after ours, and use this variable, will be proxied through our extension as well. This could allow malware to **completely disable security products or logging extensions from within the runtime itself**.
+Because **extensions run before any runtime code**, modifying the environment variable will influence the runtime process (e.g., Python, Java, Node, Ruby) as it starts. Furthermore, **extensions loaded after** ours, which rely on this variable, will also route through our extension. This setup could enable malware to entirely bypass security measures or logging extensions directly within the runtime environment.
-
+
The tool [**lambda-spy**](https://github.com/clearvector/lambda-spy) was created to perform that **memory write** and **steal sensitive information** from lambda requests, other **extensions** **requests** and even **modify them**.
-# References
+## References
+
* [https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/](https://aws.amazon.com/blogs/compute/building-extensions-for-aws-lambda-in-preview/)
+* [https://www.clearvector.com/blog/lambda-spy/](https://www.clearvector.com/blog/lambda-spy/)
@@ -62,7 +61,7 @@ Other ways to support HackTricks:
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
-* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
+* **Join the** π¬ [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** π¦ [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/pentesting-cloud/gcp-security/gcp-services/gcp-cloud-sql-enum.md b/pentesting-cloud/gcp-security/gcp-services/gcp-cloud-sql-enum.md
index f81bb5c2ea..ee120a7464 100644
--- a/pentesting-cloud/gcp-security/gcp-services/gcp-cloud-sql-enum.md
+++ b/pentesting-cloud/gcp-security/gcp-services/gcp-cloud-sql-enum.md
@@ -19,7 +19,7 @@ Other ways to support HackTricks:
## Basic Information
-Google Cloud SQL is recognized as a **fully-managed database service**. Its primary purpose is to streamline the processes involved in the initialization, maintenance, management, and administration of **relational databases** on the Google Cloud Platform. The service is engineered to facilitate interaction with well-known SQL databases (**MySQL, PostgreSQL, and SQL Server**), effectively eliminating the need to manage routine operational duties. These duties typically include the provisioning of hardware, the configuration of databases, the application of patches, and the execution of backups.
+Google Cloud SQL is a managed service that **simplifies setting up, maintaining, and administering relational databases** like MySQL, PostgreSQL, and SQL Server on Google Cloud Platform, removing the need to handle tasks like hardware provisioning, database setup, patching, and backups.
Key features of Google Cloud SQL include: