Algunas veces nos llevamos sorpresas en la vida. Existe gente que creen que pueden instalarnos en smartphones de empresa por ejemplo herramientas que invaden nuestra intimidad.
Al mismo tiempo existen personas que ponen este tipo de herramientas a sus parejas, a sus hijos, etc … para controlar que hacen.
Esas herramientas suelen llamarse stalkerware o virus del acosador.
Es un spyware orientado a dispositivos móviles inteligentes, que tiene como objetivo obtener y mandar a un servidor todo tipo de datos e información de la víctima, su actividad por Internet y controlar todos sus movimientos.
Vamos a ver como podemos hacer un check en nuestro smartphone o en el de algún amigo/a que nos lo pida. Un check para ver si tenemos alguna apk sospechosa.
Esto sirve cono análisis previo. Evidentemente esto no es 100% efectivo. Para algo más profundo se tendría que contratar un servicio experto.
Instalamos las dependencias en nuestro Linux. En Debian/Ubuntu:
# apt install python3 python3-pip python3-dev build-essential libssl-dev libffi-dev swig android-sdk-platform-tools
Una vez tengamos instaladas las dependencias vamos a conectar nuestro smartphone al PC con Linux y tiramos este comando:
# adb devices
Tendría que detectar nuestro dispositivo. Si no es así tenemos que buscar como hacer que adb reconozca por usb nuestro dispositivo. En el propio smartphone se ha de habilitar en el menú desarrollador depuración por USB o algo así.
Una vez adb lo tengamos bien y conecte con nuestro dispositivo generamos la clave pub y privada así:
# adb keygen /root/.android/adbkey
# adb pubkey /root/.android/adbkey > /root/.android/adbkey.pub
En mi caso estoy ejecutando adb como root y por eso esa ruta. En tu caso podría variar si lo ejecutas con otro user.
Instalamos snoopdroid para hacer un check previo de las apks que tenemos en nuestro smartphone android.
# pip3 install rsa
# pip3 install snoopdroid
Una vez instalado vamos a ejecutar snoopdroid por primera vez. Comenzará a bajarse todas las apks de nuestro smartphone:
$ adb kill-server
$ snoopdroid
Al terminar tendremos ya un listado de apks descargadas en un directorio.
Ahora si queremos analizarlas en busqueda de stalkerware vamos a instalar stalkerware-indicators:
$ git clone https://github.com/Te-k/stalkerware-indicators.git
$ cd stalkerware-indicators/tools
$ pip install -r requirements.txt
Una vez clonado vamos a ejecutar con python3 el script check_apk.py que está en el directorio tools. Y vamos a pasar como parámetro la ruta en la que nos ha dejado descargados los apks snoopdroid anteriormente.
$ cd stalkerware-indicators/tools
$ python3 check_apk.py /home/obs/terminal/isdi/2023-02-02T092204/apks
Al acabar nos dirá que Apks son sospechosos de ser stalkerware.
Si deseamos algo más de detalle se puede hacer instalando sdanalyzer:
# pip install sdanalyzer
Que una vez instalado vamos a poder ejecutar así:
# sdanalyzer flush
# sdanalyzer phones --create "Fanta Phone"
# sdanalyzer import --phone 1 /home/obs/terminal/isdi/2023-02-02T092204/apks
Empezará a importar y analizar los apks quedando el resultado en una base de datos sqlite. Pasa por virustotal el check del hash.
Para ver el resultado visualmente lanzamos sdanalyzer así:
# sdanalyzer serve
En 127.0.0.1:5000 tendríamos que poder ver los resultados de las apks de nuestro smartphone:
He instalado varias aplicaciones privativas y otras que las lleva el propio sistema.
Como puede verse si se ordena por los permisos que solicitan whatsapp, telegram, twiiter, teams de microsoft, booking (viajes), …. piden mucho.
Y eso es todo.
He dejado esto anotado en esta entrada para el directo del sábado.
Me he basado en el trabajo de Tek: randhome.io/about/