Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
Você também pode usar a [**extensão semgrep para VSCode**](https://marketplace.visualstudio.com/items?itemName=Semgrep.semgrep) para obter as descobertas dentro do VSCode.
Há uma **versão gratuita instalável**, mas de acordo com a licença, você pode **usar apenas a versão gratuita do codeQL em projetos de código aberto**.
A primeira coisa que você precisa fazer é **preparar o banco de dados** (criar a árvore de código) para que mais tarde as consultas sejam executadas sobre ele.
Isso **geralmente acionará um erro** dizendo que mais de um idioma foi especificado (ou detectado automaticamente). **Verifique as próximas opções** para corrigir isso!
* Você pode fazer isso **manualmente indicando** o **repo** e o **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))
* Você também pode permitir que `codeql`**identifique todas as linguagens** para você e crie um DB por linguagem. Você precisa fornecer um **GITHUB\_TOKEN**.
Você pode visualizar os resultados em [**https://microsoft.github.io/sarif-web-component/**](https://microsoft.github.io/sarif-web-component/) ou usando a extensão do VSCode [**SARIF viewer**](https://marketplace.visualstudio.com/items?itemName=MS-SarifVSCode.sarif-viewer).
Você também pode usar a [**extensão do VSCode**](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql) para obter os resultados dentro do VSCode. Você ainda precisará criar um banco de dados manualmente, mas depois poderá selecionar quaisquer arquivos e clicar em `Right Click` -> `CodeQL: Run Queries in Selected Files`
Você também pode usar a [**snyk VSCode Extension**](https://marketplace.visualstudio.com/items?itemName=snyk-security.snyk-vulnerability-scanner) para obter descobertas dentro do VSCode.
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan)**:** Scanner de código de segurança estático (SAST) para aplicações Node.js alimentado por [libsast](https://github.com/ajinabraham/libsast) e [semgrep](https://github.com/returntocorp/semgrep).
* [**RetireJS**](https://github.com/RetireJS/retire.js)**:** O objetivo do Retire.js é ajudar você a detectar o uso de versões de bibliotecas JS com vulnerabilidades conhecidas.
* [**electronegativity**](https://github.com/doyensec/electronegativity)**:** É uma ferramenta para identificar configurações incorretas e anti-padrões de segurança em aplicações baseadas em Electron.
* [**Bandit**](https://github.com/PyCQA/bandit)**:** Bandit é uma ferramenta projetada para encontrar problemas de segurança comuns em código Python. Para fazer isso, o Bandit processa cada arquivo, constrói um AST a partir dele e executa plugins apropriados contra os nós do AST. Uma vez que o Bandit tenha terminado de escanear todos os arquivos, ele gera um relatório.
* [**safety**](https://github.com/pyupio/safety): O Safety verifica as dependências do Python em busca de vulnerabilidades de segurança conhecidas e sugere as remediações adequadas para as vulnerabilidades detectadas. O Safety pode ser executado em máquinas de desenvolvedores, em pipelines de CI/CD e em sistemas de produção.
[Psalm](https://phpmagazine.net/2018/12/find-errors-in-your-php-applications-with-psalm.html) e [PHPStan](https://phpmagazine.net/2020/09/phpstan-pro-edition-launched.html).
* Se estiver usando jsnice.org, clique no botão de opções ao lado do botão "Nicify JavaScript" e desmarque "Infer types" para reduzir a desordem no código com comentários.
> Esta ferramenta usa grandes modelos de linguagem (como ChatGPT e llama2) e outras ferramentas para desminificar código Javascript. Note que LLMs não realizam alterações estruturais – eles apenas fornecem dicas para renomear variáveis e funções. O trabalho pesado é feito pelo Babel no nível AST para garantir que o código permaneça equivalente 1-1.
* Encontre o valor de retorno no final e mude para `console.log(<packerReturnVariable>);` para que o js deobfuscado seja impresso em vez de ser executado.
* Em seguida, cole o js modificado (e ainda ofuscado) em [https://jsconsole.com/](https://jsconsole.com/) para ver o js deobfuscado registrado no console.
* Finalmente, cole a saída deobfuscada em [https://prettier.io/playground/](https://prettier.io/playground/) para embelezá-la para análise.
* **Nota**: Se você ainda estiver vendo js empacotado (mas diferente), pode estar empacotado recursivamente. Repita o processo.
Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.