1 votos

¿Son estos documentos de mi recuperación de archivos un motivo de preocupación?

He ejecutado un software de recuperación de archivos y me ha devuelto miles de documentos. He pasado mucho tiempo investigando para averiguar qué le hicieron a mi iMac (sin mi permiso).

Aquí hay algo de historia sobre el dispositivo en cuestión:

  • El acceso administrativo era originalmente suyo y no mío
  • Se ha añadido acceso de administrador a mi cuenta
  • Su cuenta fue eliminada de admin
  • Su cuenta ha vuelto a tener acceso de administrador
  • Su acceso de administrador fue eliminado
  • Ha borrado sus datos
  • Su cuenta de usuario fue desactivada

Mi información y datos se mantuvieron (todos, creo).

He cortado y pegado partes de un par de documentos sospechosos que recuperé durante la recuperación de archivos a continuación. Algunos de estos documentos eran muy largos y después de editar este post, ya no cabe. He cortado algunas cosas y ahora he publicado y enlazado a la más larga en github.

Un enlace al (largo) Plist está en github aquí .

He pasado muchas horas (acumulando días o incluso semanas a estas alturas) de búsqueda tratando de averiguar qué son muchos de estos procesos. Algunos parecen ser completamente normales, otros son difíciles de identificar y otros parecen directamente maliciosos (dado el contexto). Algunos de estos procesos parecen ser programas que le dirían a otra persona sobre mi actividad, lo que estoy haciendo con mis archivos o le darían a otra persona el control de mis archivos ya sea en mi red local y/o remotamente.

Un ejemplo de ello es Aventail. Parece un programa que monitoriza la actividad.

https://www.eventtracker.com/knowledge-center/aventail-ssl-vpn/

En la esquina superior derecha de mi pantalla (junto a mi nombre de usuario, la fecha y otros iconos), hay un icono negro de forma rectangular con líneas blancas verticales que lo atraviesan. Cuando hago clic en él ahora, aparece un menú desplegable con "VPN no está configurada" (no se puede hacer clic), y "Abrir preferencias de red". Estoy casi seguro de que esto no era así antes (decía algo diferente, pero no recuerdo qué era). No sé cómo o si eso puede ser relevante. Esta fue una de las pistas originales que me hizo investigar más.

Mi investigación en Google me dice que hay unos cuantos programas en la lista que monitorean la actividad. Extrañamente, vi algunos de ellos en listas que se publicaron en documentos similares en otros lugares de Internet. No estoy seguro de por qué es el caso o lo que significa acerca de mi situación específica.

Parece que este programa Aventail fue, de hecho, ejecutado en mi ordenador. Después de que una búsqueda en Google me dijera que tiene la capacidad de monitorear la actividad a través de SSL VPN, hice una búsqueda en Finder por el término Aventail y encontré algunos documentos generados a través de la recuperación de archivos que parece ser relevante aquí.

No ha aparecido nada nuevo en el sistema para el término de búsqueda "Aventail", sólo documentos en la recuperación de archivos . Supongo que esto se debe a que estos documentos fueron eliminados y luego recuperados y también a que el término no está actualmente en mi sistema (aparte de lo que se ha eliminado y recuperado).

Los siguientes dos documentos (abajo) aparecieron en mi recuperación de archivos que muestran su nombre de usuario asociado con el software en cuestión. He redactado partes de ellos por razones obvias.

 #Uninstaller catalog, (c) Aventail Corporation
 #Sat Jul 28 15:33:31 EDT 2007
 https\://ex1500.n****************.com/postauthOnDemand/ondemand_daemon_pkg.jar=/Users/**********/Library/Application Support/Aventail/ondemand/

y luego

 #!/bin/bash
 # Uninstaller script for Aventail OnDemand Daemon.
 # This script removes all files associated with the Aventail OnDemand Daemon.
 # Please copy this file to your home directory before executing it.
 echo ""
 echo "***Aventail OnDemand Daemon Uninstaller***"
 echo ""
 echo "You need to have Administrator privileges on this computer to"
 echo "complete the operation."
 #echo ""
 #echo -n "Do you wish to proceed with the uninstallation [y/n]: "
 #read RESPONSE

 #if [ "$RESPONSE" != "y" ]; then
 #    exit 0
 #fi

 OSX_V4_STARTUP_DIR="/Library/StartupItems/OnDemand"
 OSX_V3_STARTUP_DIR="/System/Library/StartupItems/OnDemand"
 OD_EXEC_DIR="/var/Aventail/ondemand"
 OD_HOME_DIR="$HOME/Library/Application Support/Aventail/ondemand"
 INSTALL_FOUND="false"

 # If the daemon is already running then stop it
 DAEMON_PID=`ps -axww | grep -v grep | grep "ODService" | awk '{print $1}'`
 if [ $DAEMON_PID ]; then
 INSTALL_FOUND="true"
sudo kill $DAEMON_PID
fi 

 # Remove files from the /Library/StartupItems folder if on Mac OS X v4
 if [ -d $OSX_V4_STARTUP_DIR ]; then
 INSTALL_FOUND="true"
 sudo rm -rf $OSX_V4_STARTUP_DIR
 fi

 # Remove files from the System/Library/StartupItems folder if on Mac OS X v3 
 if [ -d $OSX_V3_STARTUP_DIR ]; then
 INSTALL_FOUND="true"
 sudo rm -rf $OSX_V3_STARTUP_DIR
 fi
 # Remove files from the Aventail OnDemand Daemon execution directory
 if [ -d $OD_EXEC_DIR ]; then
 INSTALL_FOUND="true"
 sudo rm -rf $OD_EXEC_DIR
 fi
 # Remove files from the Aventail OnDemand Daemon home directory
 if [ -d "$OD_HOME_DIR" ]; then
 INSTALL_FOUND="true"
 sudo rm -rf "$OD_HOME_DIR"
 fi  

 if [ "$INSTALL_FOUND" == "true" ]; then
# Expire sudo timestamp
sudo -k
else
echo ""
echo "No installation of Aventail OnDemand Daemon was found on your computer."
fi

El siguiente documento tiene un aspecto un poco diferente al del Plist. Este apareció al buscar el término "hamachi". Una vez más, esto sólo apareció en los documentos recuperados y en ninguna otra parte.

<key>BuildMachineOSBuild</key>
<string>15E55</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>AMD7000Controller</string>
<key>CFBundleGetInfoString</key>
<string>AMD7000Controller 1.42.6 16644</string>
<key>CFBundleIdentifier</key>
<string>com.apple.kext.AMD7000Controller</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Radeon HD 7000 Controller</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.42.6</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
    <string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.4.2</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7D129b</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15E55</string>
<key>DTSDKName</key>
<string>macosx10.11internal</string>
<key>DTXcode</key>
<string>0730</string>
<key>DTXcodeBuild</key>
<string>7D129b</string>
<key>IOKitPersonalities</key>
<dict>
    <key>Controller</key>
    <dict>
        <key>ATY,Hamachi</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_USE_SM</key>
                <true/>
            </dict>
        </dict>
        <key>ATY,Ikura</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                VwAAAFQAAABQAAAATAAAAEgAAABEAAAAQAAA
                ADwAAAA4AAAANgAAADQAAAAyAAAAMAAAAC4A
                AAAsAAAAKgAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>5</integer>
            </dict>
        </dict>
        <key>ATY,IkuraS</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                VwAAAFQAAABQAAAATAAAAEgAAABEAAAAQAAA
                ADwAAAA4AAAANgAAADQAAAAyAAAAMAAAAC4A
                AAAsAAAAKgAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>5</integer>
            </dict>
        </dict>
        <key>ATY,Kani</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                VwAAAFYAAABVAAAAVAAAAFMAAABSAAAAUQAA
                AFAAAABPAAAATgAAAE0AAABMAAAASwAAAEoA
                AABJAAAASAAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>5</integer>
            </dict>
        </dict>
        <key>ATY,KaniS</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                VwAAAFYAAABVAAAAVAAAAFMAAABSAAAAUQAA
                AFAAAABPAAAATgAAAE0AAABMAAAASwAAAEoA
                AABJAAAASAAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>5</integer>
            </dict>
        </dict>
        <key>ATY,Maguro</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                XQAAAEsAAABIAAAARQAAAEIAAAA/AAAAPAAA
                ADYAAAAzAAAAMAAAAC0AAAAqAAAAJwAAACQA
                AAAhAAAAHgAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>3</integer>
            </dict>
        </dict>
        <key>ATY,MaguroS</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_PTPL2_TBL</key>
                <data>
                XQAAAEsAAABIAAAARQAAAEIAAAA/AAAAPAAA
                ADYAAAAzAAAAMAAAAC0AAAAqAAAAJwAAACQA
                AAAhAAAAHgAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_READ_VALIDATION</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>3</integer>
            </dict>
        </dict>
        <key>ATY,Namako</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_DEF_DITH</key>
                <integer>0</integer>
                <key>CFG_NVV</key>
                <integer>2</integer>
                <key>CFG_USE_AGDC</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_ActivitySamplingInterval</key>
                <integer>1300</integer>
                <key>PP_MediumStateDownHysteresisTimeOut</key>
                <integer>2162162</integer>
                <key>PP_SISLANDSMediumStateHysteresisDown</key>
                <integer>3</integer>
            </dict>
        </dict>
        <key>ATY,Ramen</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_FB_LIMIT</key>
                <integer>6</integer>
                <key>CFG_NVV</key>
                <integer>2</integer>
                <key>CFG_PTPL2_TBL</key>
                <data>
                GwAAABoAAAAZAAAAGAAAABcAAAAWAAAAFQAA
                ABQAAAATAAAAEgAAABEAAAAQAAAADwAAAA4A
                AAANAAAACgAAAA==
                </data>
                <key>CFG_USE_AGDC</key>
                <true/>
                <key>CFG_USE_STUTTER</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_EnableLoadPostProductionFirmware</key>
                <integer>1</integer>
            </dict>
        </dict>
        <key>ATY,Tako</key>
        <dict>
            <key>aty_config</key>
            <dict>
                <key>CFG_DEF_DITH</key>
                <integer>0</integer>
                <key>CFG_FB_LIMIT</key>
                <integer>6</integer>
                <key>CFG_NVV</key>
                <integer>2</integer>
                <key>CFG_USE_AGDC</key>
                <true/>
            </dict>
            <key>aty_properties</key>
            <dict>
                <key>PP_EnableLoadPostProductionFirmware</key>
                <integer>1</integer>
                <key>PP_Falcon_QuickTransition_Enable</key>
                <integer>1</integer>
            </dict>
        </dict>
        <key>CFBundleIdentifier</key>
        <string>com.apple.kext.AMD7000Controller</string>
        <key>IOClass</key>
        <string>AMD7000Controller</string>
        <key>IOMatchCategory</key>
        <string>IOFramebuffer</string>
        <key>IOName</key>
        <string>AMD7000Controller</string>
        <key>IOPCIMatch</key>
        <string>0x26001002 0x22001002 0x67901002 0x67981002 0x679A1002 0x679E1002 0x67801002 0x68201002 0x68211002 0x68231002 0x68251002 0x68271002 0x682B1002 0x682D1002 0x682F1002 0x68351002 0x68391002 0x683B1002 0x683D1002 0x683F1002 0x68001002 0x68011002 0x68061002 0x68081002 0x68101002 0x68181002 0x68191002</string>
        <key>IOProbeScore</key>
        <integer>65050</integer>
        <key>IOProviderClass</key>
        <string>IOPCIDevice</string>
        <key>aty_config</key>
        <dict>
            <key>CFG_APER_MODE</key>
            <integer>1</integer>
            <key>CFG_CAA</key>
            <integer>0</integer>
            <key>CFG_FB_LIMIT</key>
            <integer>0</integer>
            <key>CFG_FORCE_HDMI</key>
            <false/>
            <key>CFG_FORCE_MAX_DPS</key>
            <false/>
            <key>CFG_GEN_FLAGS</key>
            <integer>0</integer>
            <key>CFG_INT_SSPC</key>
            <integer>25</integer>
            <key>CFG_NODM</key>
            <true/>
            <key>CFG_NO_HDCP</key>
            <false/>
            <key>CFG_NO_MST</key>
            <false/>
            <key>CFG_NO_PP</key>
            <false/>
            <key>CFG_NO_SLS</key>
            <false/>
            <key>CFG_PTPL2_MAX</key>
            <integer>70</integer>
            <key>CFG_PTPL2_MIN</key>
            <integer>16</integer>
            <key>CFG_USE_AGDC</key>
            <false/>
            <key>CFG_USE_FBC</key>
            <false/>
            <key>CFG_USE_FEDS</key>
            <true/>
            <key>CFG_USE_STUTTER</key>
            <false/>
            <key>DALReadDelayStutterOff</key>
            <integer>4</integer>
            <key>DALUseUrgencyWaterMarkOffset</key>
            <integer>0</integer>
        </dict>
        <key>aty_properties</key>
        <dict>
            <key>PP_ActivitySamplingInterval</key>
            <integer>1000</integer>
            <key>PP_DALPowerLevel</key>
            <integer>1</integer>
            <key>PP_DisableCAC</key>
            <integer>0</integer>
            <key>PP_DisableDTE</key>
            <integer>1</integer>
            <key>PP_DisablePowerContainment</key>
            <integer>0</integer>
            <key>PP_DisableSMUUVDHandshake</key>
            <integer>0</integer>
            <key>PP_DisableSQRamping</key>
            <integer>0</integer>
            <key>PP_DisableULV</key>
            <integer>0</integer>
            <key>PP_DriverCalculateCACLeakage</key>
            <integer>1</integer>
            <key>PP_EnableLoadFalconSmcFirmware</key>
            <integer>1</integer>
            <key>PP_HighSamplingInterval</key>
            <integer>200000</integer>
            <key>PP_MCLKStutterModeThreshold</key>
            <integer>40000</integer>
            <key>PP_PowerGatingDisable</key>
            <integer>0</integer>
            <key>PP_SISLANDSVotingRightsClients</key>
            <integer>12583475</integer>
            <key>PP_UserMaxClockForMultiDisplays</key>
            <integer>1</integer>
        </dict>
    </dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
    <key>com.apple.iokit.IOACPIFamily</key>
    <string>1.2</string>
    <key>com.apple.iokit.IOGraphicsFamily</key>
    <string>1.3</string>
    <key>com.apple.iokit.IOPCIFamily</key>
    <string>1.2</string>
    <key>com.apple.kext.AMDSupport</key>
    <string>1.4.2</string>
    <key>com.apple.kpi.bsd</key>
    <string>8.0.0</string>
    <key>com.apple.kpi.iokit</key>
    <string>8.0.0</string>
    <key>com.apple.kpi.libkern</key>
    <string>8.0.0</string>
    <key>com.apple.kpi.mach</key>
    <string>8.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Safe Boot</string>

Y creo que la parte 5 confirma mis sospechas de algunas/todas las otras partes, pero no estoy seguro.

016-04-24 at 19.06.12</string>
    <key>LAST_USED</key>
    <date>2016-04-25T10:28:00Z</date>
    <key>URL</key>
    <string>file:///Users/**********/Library/Messages/Archive/2016-04-24/%E2%80%AA+1%20(808)%20341-8094%E2%80%AC%20on%202016-04-24%20at%2019.06.12.ichat</string>
</dict>
<key>calculat</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Calculator</string>
    <key>LAST_USED</key>
    <date>2016-06-15T06:00:34Z</date>
    <key>URL</key>
    <string>file:///Applications/Calculator.app/</string>
</dict>
<key>console</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Console</string>
    <key>LAST_USED</key>
    <date>2016-04-20T04:31:21Z</date>
    <key>URL</key>
    <string>file:///Applications/Utilities/Console.app/</string>
</dict>
<key>contro</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Mission Control</string>
    <key>LAST_USED</key>
    <date>2016-05-07T17:19:30Z</date>
    <key>URL</key>
    <string>file:///Applications/Mission%20Control.app/</string>
</dict>
<key>hp</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>HP Scan</string>
    <key>LAST_USED</key>
    <date>2016-05-19T21:22:54Z</date>
    <key>URL</key>
    <string>file:///Applications/Hewlett-Packard/HP%20Scan.app/</string>
</dict>
<key>july</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>*************@gmail.com.ical</string>
    <key>LAST_USED</key>
    <date>2016-08-13T01:06:15Z</date>
    <key>URL</key>
    <string>file:///Users/**********/Downloads/*************@gmail.com.ical/</string>
</dict>
<key>ke</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Keynote</string>
    <key>LAST_USED</key>
    <date>2016-07-26T07:09:35Z</date>
    <key>URL</key>
    <string>file:///Applications/iWork%20'09/Keynote.app/</string>
</dict>
<key>keychain</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Keychain Access</string>
    <key>LAST_USED</key>
    <date>2016-07-26T07:10:42Z</date>
    <key>URL</key>
    <string>file:///Applications/Utilities/Keychain%20Access.app/</string>
</dict>
<key>logmein</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>LogMeIn.plugin</string>
    <key>LAST_USED</key>
    <date>2016-07-31T07:19:20Z</date>
    <key>URL</key>
    <string>file:///Library/Internet%20Plug-Ins/LogMeIn.plugin/</string>
</dict>
<key>preview</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Preview</string>
    <key>LAST_USED</key>
    <date>2016-08-08T10:14:20Z</date>
    <key>URL</key>
    <string>file:///Applications/Preview.app/</string>
</dict>
<key>termin</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Terminal</string>
    <key>LAST_USED</key>
    <date>2016-07-31T07:47:21Z</date>
    <key>URL</key>
    <string>file:///Applications/Utilities/Terminal.app/</string>
</dict>
<key>terminal</key>
<dict>
    <key>DISPLAY_NAME</key>
    <string>Terminal</string>
    <key>LAST_USED</key>
    <date>2016-05-07T17:27:08Z</date>
    <key>URL</key>
    <string>file:///Applications/Utilities/Terminal.app/</string>
</dict>

Es probable que haya utilizado un proceso diferente para lograr lo que estoy tratando de hacer, pero digamos que lo hizo si vio estos resultados, ¿qué elementos serían motivo de alarma y/o indicativos de que sus datos fueron transferidos o fueron revisados por alguien más que usted?

2voto

klanomath Puntos 19587

El plist publicado es /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist.

Contiene una larga lista de extensiones del núcleo. El propósito de AppleKextExcludeList.kext es impedir la carga de los kexts listados en Sierra (basándose en sus hashes o en sus nombres) porque están desactualizados, son maliciosos o causan pánicos en el kernel. AppleKextExcludeList.kext es un paquete instalado por el instalador del sistema MacOS y actualizado regularmente (última actualización: 18 de diciembre de 2016).

El segundo archivo es un bash script de desinstalación para el Aventail OnDemand Daemon. Si ejecuta el script con sudo /path/to/script.sh Aventail OnDemand Daemon debe ser eliminado de su sistema. También puede formar parte de un Aventail Uninstaller.app que -una vez lanzado- ejecuta el script.


Ninguno de los dos archivos es adecuado para comprometer su sistema ni son buenos indicadores de que su sistema ha sido comprometido o es/ha sido monitoreado.


Para comprobar si su sistema es monitoreado activamente requeriría instalar una gran cantidad de software y/o observar el comportamiento del sistema de archivos y la actividad de la red. Explicar esto va mucho más allá del alcance de tu pregunta.

Otras lecturas (fuentes arbitrarias no profesionales tras una rápida y chapucera búsqueda en Google):

  1. ¿Están vigilando su ordenador?

  2. ¿Cómo saber si la máquina Mac OS X está siendo vista remotamente?

  3. ¿Cómo puede ver si alguien está espiando su ordenador Mac?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X