Discursos informativos . Cada vez que se descubre una nueva muestra de malware para macOS, nos brinda la oportunidad de evaluar nuevas oportunidades de piratería que podemos utilizar para nuestro propio beneficio. Quiero decir, la vida es corta, ¿por qué gastarla escribiendo tu propio malware?
Comenzamos esta discusión discutiendo una metodología para adaptarse al "uso personal" del malware existente, destacando tanto las desventajas como las ventajas de este enfoque. Luego, analizaremos varias muestras de malware para macOS, incluida una puerta trasera interactiva, un implante para la filtración de archivos, ransomware y, sí, incluso adware. Nuestra configuración incluye varias modificaciones binarias del tiempo de ejecución que obligan a estos programas maliciosos a aceptar tareas de nuestros propios servidores de C&C y / o realizar automáticamente acciones en nuestro nombre.

Por supuesto, ahora en su estado original, estas muestras son detectadas por productos antivirus. Por lo tanto, consideraremos modificaciones que garantizarán la invisibilidad de nuestras herramientas de "piratas informáticos" para los programas antivirus tradicionales.
En conclusión, observamos nuevos métodos heurísticos que aún pueden detectar tales amenazas para proteger a los usuarios de Mac incluso de tales amenazas modificadas. ¿Por qué se necesita esto? Debido a que este es un ciclo normal de desarrollo humano, y simplemente no nos damos cuenta de que la destrucción que vemos significa la introducción de nuevas tecnologías que, antes de crear nuevos empleos, destruyen las viejas.
Saludos a todos, hoy discutiremos el tema de la creación de "armas de destrucción masiva" basadas en productos de hackeo de macOS. Mi nombre es Patrick, soy analista de Synack en Digital Security, y también soy el creador del sitio web de seguridad de Mac y el paquete de seguridad gratuito Objective-See para macOS.
Hablaremos sobre rehacer el malware de otras personas para sus propios fines secretos y explicaré por qué es una gran idea. Luego, mostraré cómo se rehacen exactamente varias muestras de malware para Mac, y dado que queremos que nuestros exploits permanezcan invisibles tanto para los servicios antivirus integrados de Apple como para el software antivirus de terceros. Al final, veremos varias técnicas comunes para detectar este producto de software rehecho, porque de hecho, nuestro objetivo final es asegurarnos de que los usuarios de Mac estén protegidos de tales amenazas.
Comencemos con un esquema que explica conceptualmente el proceso de reutilización de malware para sus propias necesidades.

Imagine que el pirata informático A ha desarrollado cuidadosamente software malicioso sofisticado con todas las funciones y lo ha infectado con varios sistemas informáticos de todo el mundo. Hacker B logró obtener este malware por accidente o extrayéndolo de algún sistema infectado. Este hacker coloca una muestra de este producto en su laboratorio y vuelve a crear perfiles. Cuando hablamos de volver a crear perfiles, nos referimos a rediseñar o reconfigurar parte del malware existente a sus necesidades.
La diapositiva muestra que después de la modificación, el pirata informático B puede usar este software contra nuevos objetivos, contra una infraestructura diferente a la que fue desarrollada por el pirata informático A. Esta es una idea bastante razonable. Puede preguntar por qué es necesario, pero podemos nombrar al menos dos razones por las que vale la pena hacerlo.

En primer lugar, hay organizaciones bien financiadas, grupos altamente motivados y técnicamente armados, piratas informáticos que trabajan para agencias gubernamentales como la CIA y laboratorios científicos completos que desarrollan software increíblemente malicioso. Además, este software con todas las funciones ha sido probado repetidamente en el campo.
Como soy bastante vago, y en lugar de codificar, prefiero revolcarme en la playa, hacer surf o yoga, pensé: dado que estos tipos crean un software hacker tan efectivo, ¿por qué no usarlo y rehacerlo para sus necesidades? Deje que aquellos que tienen más tiempo y dinero hagan todo el trabajo duro por mí.
En segundo lugar, si alguien encuentra nuestros programas convertidos, su autoría seguirá atribuyéndose a los desarrolladores originales, y no a nosotros, y esto es muy bueno. Puede preguntar: "OK, Patrick, si esta es una idea tan genial, ¿por qué la gente todavía no ha hecho esto?" Contestaré: "¡Están haciendo esto!" No puedo comentar específicamente nada, pero las diapositivas que se pusieron a disposición del público demuestran que la NSA utilizó la reorganización de malware para probar las vulnerabilidades de los programas antivirus más populares. El New York Times informó que los hackers chinos también usan una técnica similar.
El uso del software hacker rehecho brinda a estas agencias adineradas una doble ventaja. En primer lugar, utilizan software espía desarrollado en otros países contra los objetivos de que otra agencia, otro país o un grupo APT de ciberespionaje ya está trabajando con poco riesgo. Por ejemplo, si trabaja en la NSA y va a piratear un objeto que otros piratas informáticos ya están haciendo, pero no quiere inyectar su propio código allí, entonces puede usar software de terceros rehecho de manera segura. Al mismo tiempo, su actividad seguirá siendo un secreto, ya que hay quienes sospechan de esto en primer lugar.

Dado que dichas agencias prefieren trabajar en secreto, no están interesadas en que nadie se entere de su participación en estos asuntos, y el software renovado contribuye a esto. Por supuesto, surgen problemas con la alteración de los programas de hackers, de los que hablaremos hoy.

Pero veremos que estos problemas no son insuperables. Supongamos que nos hemos hecho cargo de una pieza del malware de otra persona para rehacerla. En primer lugar, no tenemos código fuente, solo hay una muestra de código binario, por lo que tendremos que usar ingeniería inversa. Llamo a esto la etapa de análisis cuando tratamos de comprender qué hace este software, cómo se implementa, cómo se instala, qué capacidades tiene y, por supuesto, descubrimos con qué servidor de C&C se comunica.
Después de que lidiemos con todo esto, comienza la segunda etapa: descubrir cómo puede parchear este malware. Como no tenemos una fuente, estamos desarrollando un parche a nivel binario.
Dado que este software en la mayoría de los casos interactúa con su propio servidor C&C, descubrimos cómo averiguar dónde obtener la dirección de este servidor y qué protocolo se utiliza para el intercambio de datos. Solo después de eso, puede crear su propio servidor de C&C, en el que se implementará el software rehecho, para interactuar con el nuevo sistema infectado desde allí.
Como utilizamos malware conocido, Apple u otros sistemas de seguridad antivirus probablemente tengan firmas de esta amenaza. Por lo tanto, en la etapa final de la modificación del perfil, debemos descubrir cómo evitar la detección de software rehecho.
La redefinición de perfiles debe abordarse de manera muy responsable si no queremos que sucedan cosas realmente malas.

Déjame darte un ejemplo de cómo tratamos de rehacer una pieza de malware para macOS. Durante el proceso de parche, olvidamos cambiar la dirección de respaldo al servidor hacker C&C. Estábamos seguros de que estábamos usando una parte completamente renovada del malware, pero en algún momento enviamos una copia de seguridad al servidor hacker original, dándole acceso a la infraestructura que estábamos atacando. Por lo tanto, la alteración del software de otras personas debe abordarse con mucho cuidado.
Ahora hablemos específicamente sobre la nueva versión del malware para Mac, cuyo propósito es crear el software hacker de otra persona.

El primer paso es seleccionar una muestra de malware para la conversión basada en 2 criterios. El primero es descubrir que este malware debería darle una idea de si necesita una puerta trasera interactiva o un minero de cifrado, etc.

Quizás la atribución de spyware le importe, ya sea que se atribuya a la CIA o a los hackers rusos. En aim-see.com, hemos reunido una impresionante colección de malware para macOS. Todas las muestras de software rehecho del que hablaremos hoy se pueden descargar desde este sitio.
Una vez que haya seleccionado una muestra para su modificación, llega el momento del análisis. Su objetivo principal es descubrir cosas como el acceso remoto. Si el malware accede a un servidor C&C remoto, debe averiguar qué tipo de servidor es y si es posible modificar el software para que no pueda contactarnos.

Si el malware no se comunica con el servidor remoto, aún tenemos que lidiar con el protocolo para saber cómo resolver este programa cuando se conecta a nosotros nuevamente. Y, por supuesto, debe comprender completamente las capacidades de este malware: cómo funciona, cómo interactúa con el sistema, incluso de forma remota, para saber qué comandos puede usar para controlar de forma remota el malware.
Tan pronto como lo resuelva, es hora de reconfigurar o modificar el perfil. Esto generalmente significa que debe parchear malware a nivel binario.

Esta diapositiva muestra que encontramos la dirección del servidor C&C original incrustado en el código y podemos reemplazarla con la dirección que necesitamos en el editor HEX. Esto significa que después de la modificación, este software podrá comunicarse con nuestro propio servidor y recibir tareas desde allí.
Como dije, si el malware es una puerta trasera o un implante y se controla desde el servidor original de C&C, entonces tendremos que escribir nuestro propio servidor de administración y asegurarnos de que el programa esté conectado y conectado para que podamos usar todas sus capacidades de forma remota.

Un servidor C&C personalizado no debería ser demasiado complicado, solo escriba un script Python competente, pero si planea usar su software contra muchos objetivos, puede necesitar algo más serio. La DefCon anterior habló sobre cómo crear uno de estos servidores de C&C para analizar muestras de software. Es probable que cada una de las muestras que analizará sea diferente de las demás utilizando un protocolo diferente, por lo tanto, necesitará un servidor C&C separado para cada una de las muestras del software convertido.
Remaking FruitFly puerta trasera
Veamos una muestra real de rediseño de malware para Mac. Creada hace unos 15 años por los expertos en seguridad de Mac, esta puerta trasera se llama FruitFly o Fruit Fly.
Esta puerta trasera con todas las funciones que admite la multitarea remota nos ha servido como un candidato ideal para la modificación de perfiles. Tiene la capacidad de infectar archivos y procesos del sistema, controlar una cámara web, línea de comando, sirve como keylogger, puede tomar capturas de pantalla de forma remota del escritorio de la víctima y recopilar información sobre computadoras infectadas que ejecutan macOS. Teníamos la intención de utilizar todas estas funciones para resolver nuestros propios problemas.

La puerta trasera de FruitFly era un script de Perl muy confuso, pero si lo miras con cuidado, puedes ver que su lógica procesa los argumentos de la línea de comandos. Podemos decir que esta secuencia de comandos verifica si ciertas opciones de línea de comandos o marcas están causando que haga algo.

Resulta que está buscando un puerto o una combinación de puertos para conectar su computadora a su servidor C&C. Esto significa que si podemos crear una dirección a nuestro propio servidor a través de la línea de comando, entonces no necesitaremos rehacer el script Perl original o un binario malicioso.
Comenzamos a determinar si es posible guardar este script FruitFly como un lanzador. Como se muestra en la diapositiva, podemos incorporar la dirección de nuestro propio servidor de C&C. Esto significa que podemos volver a perfilar fácilmente esta puerta trasera para conectarnos a nuestro servidor, evitando la conexión con el servidor pirata informático original.

Sin embargo, para usar esta puerta trasera, debe estar instalada en la computadora del usuario. La buena noticia es que ya escribí dicho instalador, que está disponible en pastebin.com. Son unas pocas líneas de código que instalan malware exactamente de la misma manera que la puerta trasera original. Como también escribí previamente un servidor de C&C para analizar esta muestra, podemos comenzar a demostrar su funcionamiento.
Las demostraciones en tiempo real como esta siempre son un riesgo, por lo que voy a ejecutar este malware en mi propia computadora portátil de investigación, no en una máquina virtual. Repito: tengo la intención de mostrarle todo el poder del malware convertido, y la demostración en condiciones reales es más creíble, así que veamos este software en acción en un hardware real.
Lo primero que debe hacer es iniciar el servidor C&C. Verá que ahora el sistema está esperando una conexión a él. Luego debe ejecutar malware a través del instalador, pasándole la dirección IP de este servidor. Después de comenzar, vemos en el lado derecho de la ventana que el malware se ha conectado con éxito a nuestro servidor de C&C. También vemos un montón de tareas de pirateo que este malware puede usar contra los procesos que se ejecutan en mi computadora portátil personal.

La ejecución del comando # 13 muestra dónde está instalado este malware en el directorio / Users / Patrick / fpsaud. Usando el comando No. 2, puede tomar una captura de pantalla, y usar el parámetro 0 le permite tomar una captura de pantalla completa.

Ahora intentaré tomar una captura de pantalla y enviarla a nuestro servidor de C&C. Como puede ver, todo funciona como debería. Así es como funciona la puerta trasera FruitFly rediseñada.
Alteración del minero CreativeUpdate
A continuación, hablaremos sobre la reestructuración del minero de criptomonedas CreativeUpdate para nuestros fines. Es útil si desea utilizar las computadoras de otras personas para la minería criptográfica, pero al mismo tiempo no tiene tiempo, habilidades y recursos.

Este minero de cifrado se integra en troyanos y se distribuye a través de aplicaciones populares de terceros desde MacUpdate.com. La diapositiva muestra un ejemplo de instalación del navegador Firefox Quantum, que no tiene la firma del desarrollador original de Mozila y descarga un cripto minero de uno de los servidores Adobe Creative Cloud a la computadora del usuario.

Si montamos una imagen de disco infectada que contiene dicho troyano y aplicamos ingeniería inversa al binario principal, descubriremos que utiliza un método llamado "ejecutar script con impresiones" - "ejecutar script con impresiones". Si observa lo que hace con un descompilador o desensamblador, puede ver que simplemente ejecuta un archivo llamado "script" fuera del directorio de recursos de la aplicación. Primero, lanza un programa troyano bajo la apariencia de una copia de un producto popular que el usuario descargó en su computadora, por ejemplo, el navegador Firefox, para que no sospeche nada malo.

A continuación, vemos en este script que se comunica con el servidor atacante, desde donde descarga el archivo mdworker.zip. Durante el desempaquetado, este archivo instala algo llamado mdworker en el sistema. Si observa el archivo MacOS.plist extraído del archivo, puede ver que guarda este binario mdworker muy malicioso en la computadora del usuario.

También vemos argumentos de línea de comando que se pasan a este binario. Si ejecuta este archivo bd mdworker, puede ver que es un minero de criptomonedas completamente legal propiedad de la compañía minera Miner Gate.
Los argumentos de la línea de comando también indican la cuenta del minero a la que se enviarán los resultados de la minería y el tipo de criptomoneda para la minería.
Dado que los parámetros correspondientes se pasan a través de la línea de comandos y no están incrustados en un archivo binario, nosotros, como en el caso de Fruit Fly, podemos sustituir los argumentos de la línea de comandos para reutilizar este malware para nuestros fines. Por lo tanto, primero modificamos el archivo de la lista de propiedades de la lista de propiedades, o .plist del malware para que apunte a nuestra propia cuenta de minero, y nuevamente empaquetamos todos los componentes del malware en el archivo. Además, en lugar de descargar el archivo del servidor, simplemente lo agregamos a la aplicación de malware. Esto es mucho más simple y más autónomo, ya que no necesitamos configurar un servidor remoto para arrancar.
A continuación, reconfiguramos el script para que funcione con el archivo que agregamos. Finalmente, empaquetamos todo en una imagen Firefox.dmg y podemos ponernos a trabajar.

Les traigo su segunda demostración. En la ventana del archivo, verá los componentes de la aplicación, incluido un script malicioso, el archivo mdworker.zip, el archivo de configuración de la aplicación AppSettings.plist y el navegador Firefox original.

En la ventana principal, vemos cómo se ve el contenido descargado por el usuario.

Ejecuto esta aplicación en mi computadora portátil para usarla en mi propia minería de criptomonedas. Hago clic en el icono del navegador, la ventana del navegador Firefox aparece en la pantalla y, por fuera, todo se ve bien.
Para ver qué sucede realmente en el sistema después de iniciar esta aplicación, llamo a la ventana del terminal macOS a la pantalla.
Vemos cómo se está instalando el malware y se está ejecutando el script mdworker, que hemos rehecho para que todas las operaciones de minería me sean enviadas a patrick@objective-see.com.Ransomware ransomware
, , , - ransomware, .

, KeRanger. , macOS. Bit-Torrent, -. , , .
, General.rtf. , , macOS. , C&C- .

, , , «» . -.
. -, , .

, , HEX- , «», C&C-, 127.0.0.1. RSA , RSA- , NetCat.
. , , KeRanger. NetCat , .

, .

README_FOR_DECRIPT.txt. , : « wardle@objective-see.com!».

Windtall
Windtall. , , APT-. , .

malware. macOS, , URL-.
, . , , , macOS Custom URL, , .
, , , - URL, macOS .
Java . , URL, Mac. Java-, URL, .
, , , , .

, , . , , , , C&C- .
. SPF, , C&C-, , , C&C-.

24:00
DEFCON 27. macOS. Parte 2Un poco de publicidad :)
Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendando a sus amigos,
VPS en la nube para desarrolladores desde $ 4.99 , un
descuento del 30% para usuarios de Habr en un análogo único de servidores de nivel básico que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 Núcleos) 10GB DDR4 240GB SSD 1Gbps desde $ 20 o ¿cómo compartir un servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).
Dell R730xd 2 veces más barato? ¡Solo tenemos
2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $ 199 en los Países Bajos! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡desde $ 99! Lea sobre
Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?