Translated ['network-services-pentesting/pentesting-web/code-review-tool

This commit is contained in:
Translator 2024-09-27 11:27:41 +00:00
parent 687154b184
commit 995940f551

View file

@ -1,8 +1,8 @@
# Revisión de código fuente / Herramientas SAST
{% hint style="success" %}
Aprende y practica Hacking en 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">\
Aprende y practica Hacking en 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)
Aprende y practica Hacking en 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">\
Aprende y practica Hacking en 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>
@ -10,7 +10,7 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
{% endhint %}
@ -30,7 +30,7 @@ Hay un **paquete gratuito para revisar PRs**.
Es una **herramienta de código abierto**.
#### Lenguajes soportados
#### Lenguajes Soportados
| Categoría | Lenguajes |
| ------------ | ----------------------------------------------------------------------------------------------------- |
@ -128,7 +128,7 @@ codeql database create /path/repo/codeql_db --source-root /path/repo
{% endcode %}
{% hint style="danger" %}
Esto **generalmente desencadenará un error** diciendo que se especificaron (o se detectaron automáticamente) más de un idioma. **¡Verifica las siguientes opciones** para solucionar esto!
Esto **generalmente desencadenará un error** diciendo que se especificaron (o se detectaron automáticamente) más de un idioma. **Revisa las siguientes opciones** para solucionar esto!
{% endhint %}
* Puedes hacer esto **manualmente indicando** el **repo** y el **idioma** ([lista de idiomas](https://docs.github.com/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis#running-codeql-database-create))
@ -251,7 +251,7 @@ snyk container test [image]
# Test for IaC vulns
snyk iac test
```
También puedes usar la [**snyk VSCode Extension**](https://marketplace.visualstudio.com/items?itemName=snyk-security.snyk-vulnerability-scanner) para obtener hallazgos dentro de VSCode.
Puedes usar también la [**snyk VSCode Extension**](https://marketplace.visualstudio.com/items?itemName=snyk-security.snyk-vulnerability-scanner) para obtener hallazgos dentro de VSCode.
### [Insider](https://github.com/insidersec/insider)
@ -259,7 +259,7 @@ Es **Open Source**, pero parece **no mantenido**.
#### Lenguajes Soportados
Java (Maven y Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C# y Javascript (Node.js).
Java (Maven y Android), Kotlin (Android), Swift (iOS), .NET Full Framework, C#, y Javascript (Node.js).
#### Inicio Rápido
```bash
@ -269,7 +269,7 @@ $ tar -xf insider_2.1.0_linux_x86_64.tar.gz
$ chmod +x insider
$ ./insider --tech javascript --target <projectfolder>
```
### [**DeepSource**](https://deepsource.com/pricing)&#x20;
### [**DeepSource**](https://deepsource.com/pricing)
Gratis para **repositorios públicos**.
@ -281,7 +281,10 @@ Gratis para **repositorios públicos**.
brew install yarn
# Run
cd /path/to/repo
yarn audit
yarn install
yarn audit # In lower versions
yarn npm audit # In 2+ versions
npm audit
```
* **`pnpm`**
@ -290,6 +293,7 @@ npm audit
npm install -g pnpm
# Run
cd /path/to/repo
pnpm install
pnpm audit
```
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan)**:** Escáner de código de seguridad estático (SAST) para aplicaciones Node.js impulsado por [libsast](https://github.com/ajinabraham/libsast) y [semgrep](https://github.com/returntocorp/semgrep).
@ -363,7 +367,7 @@ jar cmvf META-INF/MANIFEST.MF test.jar test.class
| Tarea | Comando |
| --------------- | -------------------------------------------------------- |
| Ejecutar Jar | java -jar \[jar] |
| Descomprimir Jar | unzip -d \[directorio de salida] \[jar] |
| Descomprimir Jar| unzip -d \[directorio de salida] \[jar] |
| Crear Jar | jar -cmf META-INF/MANIFEST.MF \[jar de salida] \* |
| Base64 SHA256 | sha256sum \[archivo] \| cut -d' ' -f1 \| xxd -r -p \| base64 |
| Eliminar Firma | rm META-INF/_.SF META-INF/_.RSA META-INF/\*.DSA |
@ -423,17 +427,17 @@ https://github.com/securego/gosec
* Consejos:
* Si usas jsnice.org, haz clic en el botón de opciones junto al botón "Nicify JavaScript", y deselecciona "Infer types" para reducir el desorden en el código con comentarios.
* Asegúrate de no dejar líneas vacías antes del script, ya que puede afectar el proceso de desofuscación y dar resultados inexactos.
4. Para algunas alternativas más modernas a JSNice, podrías mirar lo siguiente:
3. Para algunas alternativas más modernas a JSNice, podrías considerar las siguientes:
* [https://github.com/pionxzh/wakaru](https://github.com/pionxzh/wakaru)
* > Kit de herramientas de descompilación, desempaquetado y desminimización de Javascript
> Wakaru es el descompilador de Javascript para frontend moderno. Recupera el código original de una fuente empaquetada y transpileada.
* > Wakaru es el descompilador de Javascript para frontend moderno. Recupera el código original de una fuente empaquetada y transpileada.
* [https://github.com/j4k0xb/webcrack](https://github.com/j4k0xb/webcrack)
* > Desofuscar obfuscator.io, desminimizar y desempaquetar javascript empaquetado
* [https://github.com/jehna/humanify](https://github.com/jehna/humanify)
* > Desminimizar código Javascript usando ChatGPT
> Esta herramienta utiliza modelos de lenguaje grandes (como ChatGPT y llama2) y otras herramientas para desminimizar código Javascript. Ten en cuenta que los LLM no realizan cambios estructurales; solo proporcionan pistas para renombrar variables y funciones. El trabajo pesado lo realiza Babel a nivel de AST para asegurar que el código se mantenga equivalente 1-1.
* > Desminimizar código Javascript usando ChatGPT Esta herramienta utiliza modelos de lenguaje grandes (como ChatGPT y llama2) y otras herramientas para desminimizar código Javascript. Ten en cuenta que los LLMs no realizan cambios estructurales; solo proporcionan pistas para renombrar variables y funciones. El trabajo pesado lo realiza Babel a nivel de AST para asegurar que el código se mantenga equivalente 1-1.
* [https://thejunkland.com/blog/using-llms-to-reverse-javascript-minification.html](https://thejunkland.com/blog/using-llms-to-reverse-javascript-minification.html)
* > Usando LLMs para revertir la minificación de nombres de variables de JavaScript
* > Usando LLMs para revertir la minimización de nombres de variables de JavaScript
3. Usa `console.log()`;
* Encuentra el valor de retorno al final y cámbialo a `console.log(<packerReturnVariable>);` para que el js desofuscado se imprima en lugar de ejecutarse.
* Luego, pega el js modificado (y aún ofuscado) en [https://jsconsole.com/](https://jsconsole.com/) para ver el js desofuscado registrado en la consola.
@ -442,10 +446,10 @@ https://github.com/securego/gosec
#### Referencias
* [YouTube: DAST - Análisis Dinámico de Javascript](https://www.youtube.com/watch?v=_v8r_t4v6hQ)
* [YouTube: DAST - Análisis Dinámico de Javascript](https://www.youtube.com/watch?v=\_v8r\_t4v6hQ)
* [https://blog.nvisium.com/angular-for-pentesters-part-1](https://web.archive.org/web/20221226054137/https://blog.nvisium.com/angular-for-pentesters-part-1)
* [https://blog.nvisium.com/angular-for-pentesters-part-2](https://web.archive.org/web/20230204012439/https://blog.nvisium.com/angular-for-pentesters-part-2)
* [devalias](https://twitter.com/_devalias)'s [GitHub Gists](https://gist.github.com/0xdevalias):
* [devalias](https://twitter.com/\_devalias)'s [GitHub Gists](https://gist.github.com/0xdevalias):
* [Desofuscando / Desminimizando Código de Aplicaciones Web Ofuscadas](https://gist.github.com/0xdevalias/d8b743efb82c0e9406fc69da0d6c6581#deobfuscating--unminifying-obfuscated-web-app-code)
* [Ingeniería Inversa de Aplicaciones Webpack](https://gist.github.com/0xdevalias/8c621c5d09d780b1d321bfdb86d67cdd#reverse-engineering-webpack-apps)
* [etc](https://gist.github.com/search?q=user:0xdevalias+javascript)
@ -462,16 +466,16 @@ https://github.com/securego/gosec
* [https://github.com/jshint/jshint/](https://github.com/jshint/jshint/)
{% 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)
Aprende y practica Hacking en 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">\
Aprende y practica Hacking en 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>Support HackTricks</summary>
<summary>Apoya a 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.
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>
{% endhint %}