Este post que voy a publicar a continuación no es mío sino que es de Locutus (publico esto mientras que preparo ya un artículo sobre algo interesante para dentro de poco ;-P ).
----------------------------------------------------------------------------------------------------------------------
Hace una semana se libero en la ekoparty2012 una vulnerabilidad que
afecta a los equipos android en general, pero particularmente a los
samsung se les puede hacer un hard-reset y blockeo de sim sin
interaccion del usuario. si... sin tocar absolutamente nada puede que la
proxima vez que quieras usar tu telefono te encuentres con que no tenes
contactos, aplicaciones ni absolutamente nada, solo lo que viene en la
rom de fabrica... ademas de una sim inservible que no puede salvar ni el
operador de telefonia sin cambiarla por una nueva.
la tecnologia sigue avanzando y millones de personas tienen aparatos que
practicamente no saben usar ni tienen la mas minima idea de como
funcionan. ayer, comentando el asunto entre "profanos" note que casi no
le daban importancia dado que no llegan a entender el alcance de algo
asi. alguien con muchas ganas de molestar y sin demasiados conocimientos
podria estarse dedicando a resetear equipos samsung todo el dia, solo
hace falta mandar un sms con un formato especial y... pwned!! asi
tambien se podria organizar un ataque masivo por parte de algun grupo
mas organizado dejando sin telefonia a un gran porcentaje de la
poblacion mundial.
obviamente esto se puede desactivar ademas de que samsung no tardo en
responder y saco anteaayer un parche para solventar el problema, lo que
no parece tan obvio es que el user comun no anda haciendo updates de su
android cuando no los hace ni de su windows... de desactivar la opcion
de recibir push sms ni hablar, hay q entrar a demasiados menus... je
si queres una solucion rapida anda al final de la entrada, si te
interesa saber como funciona todo este tema a continuacion explico como
funcionan cada una de las tecnologias que intervienen en el fallo y
porque es posible.
como siempre digo... el futuro es del que domine a la maquina, no del que la posea... ;)
codigos USSD
el protocolo ussd (Unstructured Supplementary Service Data) es usado
normalmente para comunicacion con el proveedor de telefonia,
generalmente para servicios de mensajeria en tiempo real. es usado por
Paypal de brasil, Airtel Money en la india, Mobipay en españa y muchas
otras empresas en africa y otros lugares de europa.
el sistema es muy parecido al sms pero no tiene capacidad de
almacenamiento, o sea que el mensaje que no se puede entregar en el
momento se pierde... algo asi como un paquete udp, si llega llega y sino
olvidate.
hay codigos propios del operador, del fabricante, codigos standard...
uno de los mas comunes y q la mayoria habra usado alguna vez es el
tipico:
*#06#
que nos devuelve el imei del aparato. pueden probarlo ingresandolo como
si marcaran un numero de telefono normal y sale una ventana con el
numero correspondiente.
tenemos tambien los codigos del operador, por ejemplo mucha gente gasta
en sms o llamadas preguntando el saldo cuando con un simple ussd se
puede saber gratis. en personal marcamos:
*150#
pero hay codigos mas "peligrosos", en los equipos Samsung se conoce uno
que puede hacer un hard-reset al equipo que es lo que tanto revuelo
trajo estos dias. el codigo en cuestion es:
*2767*3855#
este ultimo seria recomendable q no lo prueben... ;)
hay un pequeño detalle si comparamos los dos 1eros codigos, al ingresar
el 1ero (al igual que el 3ero) no hace falta presionar el boton de
marcar, el codigo se ejecuta automaticamente al ingresar el ultimo
numeral (#).
el link html "tel"
hace unos años, aunque muchos no se dieron cuenta, existe la posibilidad
de crear un link hacia un numero de telefono para la gente que navega
desde sus moviles. simplemente haciendo click sobre el link el numero se
ingresa en el marcador del telefono.
asi tambien se pueden hacer links para sms o skype pero no vienen al
caso. el formato para un link a un numero telefonico podria ser asi:
llamar al 66660000
si estan viendo el blog desde un celular pueden probarlo en el siguiente link:
marcar 66660000
al hacer click se carga el numero pero, como es logico, no se marca sino
que necesita la intervencion del usuario para hacerlo... o no? creo q
ya se dieron cuenta por donde viene la historia... pero recien estamos
empezando ;)
wap-push y el "sms of death"...
el wap-push es un tipo de mensaje que se usa para enviar contenido en
forma de un link, se utiliza mucho en paginas a las que al enviar un sms
a cierto numero nos devuelve otro con un link de acceso. este tipo de
mensajes no muestra informacion sobre el sender, simplemente aparecen
como "mensaje push" o algo parecido segun el sistema.
hasta ahi parece bastante inocente pero existen dos tipos de push, el SI
(Service Indication) que envia el link y necesita de la intervencion
del destinatario para cargarlo y SL (Service Load). este ultimo, que es
el que nos interesa, se usa mas que nada para updates de software y
carga directamente el contenido en el navegador predeterminado del
sistema sin preguntarle a nadie.
hay que tener en cuenta que la palabra "contenido" es muy amplia... asi
como se entrega un update se puede abrir una web determinada conteniendo
cualquier cosa... por ejemplo un link "tel"...
el ataque
volviendo atras, habiamos visto que el codigo ussd para reset de samsung
es publico, o sea que teniendo un equipo en la mano lo podemos borrar
ingresandolo. tambien vimos que podemos poner en una pagina un link
"tel" para que cargue cualquier numero, no hay que ser muy genio para
darse cuenta que podemos poner el ussd en el link para que el dueño de
un samsung que haga click se quede sin datos... no olvidemos el pequeño
detalle de que no hay que presionar el boton de marcar para estos
codigos, o sea que se ejecuta automaticamente.
otro vector de ataque del que no voy a hablar en tanto detalle son los
codigos QR, por medio de uno se puede obtener el mismo resultado, y como
"los profanos" estan siempre tan avidos de usar tecnologias nuevas que
no entienden, no duden que algun malintencionado que empieze a pegarlos
por ahi consiga muchas victimas.
... pero todavia seguimos necesitando que alguien interactue haciendo
click en el link... o no? claro, con un push sms del tipo SL le hacemos
cargar la web automaticamente.
ademas de esto en la demostracion del bug se hizo un blockeo de sim
introduciendo por el mismo metodo codigos PUK erroneos. al hacer esto 10
veces el chip se blockea quedando inservible a tal punto que ni
siquiera el operador lo puede recuperar, sino que entrega al usuario uno
nuevo.
no voy a explicar como hacer esto y mucho menos como enviar un push sms
ya que me parece demasiado peligroso como para que lo pueda hacer
cualquier lammer que lea esto pero ciertamente es informacion que se
puede encontrar en google bastante facil. el unico dato que pienso dar
es que hasta hay aplicaciones en el play store que pueden hacerlo.
aca se puede ver una prueba a mi celular con un link a mi red local:
como se puede ver el sender sale simplemente como "mensaje push". el
link tenia el ussd *#06#, cuando entro el mensaje simplemente abrio la
pagina y ejecuto el codigo mostrandome la ventana con el imei sin que
haga absolutamente nada.
como protegerse
samsung saco rapidamente un parche pero es solamente para el galaxy S3,
como siempre se cuida al producto que se vende en el momento y los
demas... que se compren un S3. si bien como decia al principio la
mayoria no actualiza nada, aunque sea es un avance.
mas alla de parches lo primero que habria que hacer es rechazar los
mensajes push. esto se setea desde la aplicacion de mensajes, en ajustes
-> mensajes push, simplemente desactivando la casilla ya no se
reciben este tipo de mensajes. para el tema de los links la solucion mas
facil es instalar el opera mobile que antes de abrir un link del tipo
"tel" pide autorizacion.
en el caso de tener el push activado pero el opera como navegador
predeterminado el link nunca llega a abrirse solo. con el tema de los qr
pasa lo mismo.
otra posibilidad es cambiar la aplicacion del dialer por otra como por
ejemplo el TelStop, que resuelve el problema y se puede descargar
gratuitamente del play store.
si queres saber si tu equipo es vulnerable hace click en el link de abajo, tiene el codigo ussd para mostrar el imei. deberia abrir la ventana con el numero correspondiente si lo es.
como saber si tu telefono es vulnerable
si queres saber si tu equipo es vulnerable hace click en el link de abajo, tiene el codigo ussd para mostrar el imei. deberia abrir la ventana con el numero correspondiente si lo es.
1 comentario:
Hi, I am using HUSHsms to send push notifications to my Nexus 4 but nothing happens any idea of what am i doing wrong?
Publicar un comentario