diff --git a/network-services-pentesting/pentesting-web/code-review-tools.md b/network-services-pentesting/pentesting-web/code-review-tools.md index 875e41f89..1b7fe0baa 100644 --- a/network-services-pentesting/pentesting-web/code-review-tools.md +++ b/network-services-pentesting/pentesting-web/code-review-tools.md @@ -1,8 +1,8 @@ # Revisión de código fuente / Herramientas SAST {% hint style="success" %} -Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -10,7 +10,7 @@ Aprende y practica Hacking en GCP: {% 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 ``` -### [**DeepSource**](https://deepsource.com/pricing) +### [**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,14 +367,14 @@ 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 | | Eliminar de Jar | zip -d \[jar] \[archivo a eliminar] | -| Descompilar clase| procyon -o . \[ruta a la clase] | -| Descompilar Jar | procyon -jar \[jar] -o \[directorio de salida] | -| Compilar clase | javac \[ruta al archivo .java] | +| Descompilar clase| procyon -o . \[ruta a la clase] | +| Descompilar Jar | procyon -jar \[jar] -o \[directorio de salida] | +| Compilar clase | javac \[ruta al archivo .java] | ## Ir ```bash @@ -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();` 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:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Support HackTricks +Apoya a HackTricks -* 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.
{% endhint %}