-[ 0x0B ]--------------------------------------------------------------------
-[ Dispositivos empotrados ]--------------------------------------------------
-[ by SET ]----------------------------------------------------------SET-31--

DISPOSITIVOS EMPOTRADOS 

Es curioso las vueltas que puede dar la vida. Son curiosas las acciones a que 
nos pueden llevar simples casualidades. Son curiosos los motivos que se ocultan
tras las acciones humanas. Todo parece fruto de la casualidad y el hazar. Nada 
parece tener lgica ni sentido. Un solo movimiento de un dedo, puede afectar a 
las acciones de una persona durante meses. Puede que incluso a su futuro 
lejano.  Pensis que estamos filosofando alrededor de la mas pura teora ? No 
en este caso. Si no lo creis no tenis mas que abandonar la lectura de estas 
paginas y pasar al siguiente articulo. En caso contrario, os aseguramos que en 
estas lineas no hay mas que la verdad. O tal vez no. 

LA IMPORTANCIA DE LEER EL CORREO

En estos tiempos, plagados de contratiempos, es casi una casualidad encontrar 
el correo correcto en medio de la basura que diariamente recibimos. Tras un 
ataque de rabia, consecuencia de una inundacin de consejos y ofertas no 
deseadas, es mas que normal lanzar una orden de borrado general de una pagina 
entera de coreo. Tal vez nunca nos enteremos que acabamos de cancelar la ultima
ocasin de reiniciar aquella romntica relacin sentimental o una ultima oferta
de trabajo que nos iba a sacar para siempre de nuestro inmundo cubiculo de 
trabajo y librarnos del no menos asqueroso jefe. 

Nada mas lejos de la realidad cotidiana de Juanito Enteradillo, no porque fuera
especialmente cuidadoso en la lectura de su correo, ni porque recibiera miles 
de oferta de trabajo diaria maravillosos, con lo cual una mas o una menos, 
tanto importa, sino porque posea un buen filtro de correo, conectado a un 
servicio automtico de envo de reclamaciones en caso de recibir SPAM. El caso 
es que Enteradillo, abri un buen da el correo adecuado y se encontr un texto
solicitando salir de la cotidiana mediocridad.

Tampoco es que fuera nada fuera de lo corriente, simplemente es que lleg en el
momento adecuado, probablemente en el sitio justo. Tan solo la llamada de otro 
ser humano que se aburra un tanto, algunos miles de kilmetros en el otro 
extremo del mundo y que solicitaba ayuda para emprender una serie de 
investigaciones sobre una red que por otra parte no pareca nada anormal.

Redes existen miles en nuestra Red, me refiero a Internet, muchas de ellas sin 
interes particular, o mejor debiramos decir lo contrario. Todas tienen un 
particular interes, aunque puede que ste, afecte tan solo a un reducido grupo 
de personas y entonces se decide que la red no tiene nada del otro mundo, pero 
si hay millones de personas que la utilizan entonces se le endosa la etiqueta 
de red de interes general y cualquier personajillo de medio pelo que encuentra 
una brecha alcanza notoriedad inmediata, aunque el contenido en concreto 
asaltado tiene el mismo interes que un montn de ladrillos apilados, eso si, 
con sumo cuidado. No se donde lemos una vez que un montn de ladrillos no es 
un edificio modernista clasificado como obra de arte, de la misma forma que un 
conjunto de letras no es una obra literaria maestra, por muy enorme que sea. 
Resumiendo, el ataque a hotmail no tiene mas consecuencias que su enorme 
contenido de palabras y no era la intencin del amigo de Juanito el coleccionar
caracteres alfanumricos. Nuestro lejano compaero solo quera atacar una 
maquina en concreto de una lejana red de lo mas gris que se pueda imaginar.

Y por que no ? Se pregunt Juanito. Hacia tiempo que no tenia un buen reto y 
este era tan bueno como cualquier otro. Hay gente que pierde el tiempo dndole 
con un palo a una pelota y nadie se mete con ellos,.... sobretodo si lo pierde 
sobre un terreno llamado campo de golf, si lo pierde sobre otro llamado 
autopista, las consecuencias son diferentes y los calificativos otros. Como 
veis, todo es relativo.

BUSCANDO MAQUINAS

Si te dicen que se desea entrar en la maquina de tu mejor amigo solo para 
gastarle una broma, tienes varias formas de iniciar las maniobras, pero lo 
mejor es simplemente reconocer el terreno. Si en lugar de un pobre terminal 
fuera Sherlock Holmes el encargado del trabajo y nos situramos a finales del 
siglo XIX, en primer lugar hay que darse una vuelta por el barrio de nuestro 
objetivo, pero tomando ciertas precauciones de forma que nadie nos reconozca. 
Han pasado decenas de aos, pero la lgica es la misma. Enteradillo busc 
informacin alrededor de la maquina de sus deseos, pero utilizando las tcnicas 
necesarias para evitar ser detectado o reconocido. De paso rog a su amigo que 
no hiciera nada sin utilizar proxies annimos, sockets o cuentas que no 
tuvieran relacin con el. No sabemos si leyeron los interesantes artculos 
aparecidos en esta revista para hacerse annimo o simplemente rob la cuenta y 
personalidad a su novia, el caso es que tcnicamente no se pudo hacer una 
relacin biunivoca entre los efectos en maquinas ajenas y sus preciosos dedos, 
de los cuales solo dispona de un stock, limitado a diez unidades. 

El primer paso del reconocimiento fsico se reduce a buscar en ARIN, APNIC, 
LACNIC o RIPE donde esta registrado el dominio y que rango de IPs tiene 
asignado. El que no haya hecho esta bsqueda recientemente puede que se 
encuentre una pequea sorpresa, ya que el viejo sistema de clasificacin de 
redes mediante las cuatro clase desde A hasta D, esta fuera de uso. La razn 
ha sido el crecimiento exponencial de la red, que ha empezado a provocar que 
la bsqueda de un rango libre empiece a ser un bien escaso. Uno de los motivos 
fue que si una empresa necesitaba mas de 250 IP no tenia mas remedio que 
solicitar una red de tipo B, lo que le daba derecho a  65,533 direcciones 
aunque solo quisiera mil.... o menos.

Este despilfarro se ha evitado con el nuevo sistema CIDR (Classless 
Inter-Domain Routing), que permite una flexibilidad mucho mayor que en el 
pasado. El secreto reside en que cada direccin IP tiene un prefijo y una 
extension. La longitud del prefijo varia en funcin del numero de bits que se 
necesitan y no en funcin de una asignacin fija  arbitraria. Pongamos un 
ejemplo sencillo. Si nos encontramos que la informacin que encontramos con un 
whois es algo parecido a 192.11.250.00/14, significa que la direccin en si 
misma s 192.11.20.00 y que se extiende otros 14 bits, los otros 18 quedan 
libres y los puede utilizar otro solicitante. Todo el sistema tiene un tiempo 
de respiro hasta que llegue el nuevo protocolo IPv6, que permitir direcciones 
de 128 bit.

Hecho este pedante inciso, solo queda comunicros que Enteradillo se encontr 
con una sencilla red con un rango reducido pero que daba suficiente campo de 
accin para hacer alguna bsqueda. En pocas palabras, no demasiadas maquinas 
como para perderse, pero si una decena como para exigir un poco de organizacin
y no dar golpes a ciegas. El primer paso obvio, es buscar el puerto 80 abierto 
para ver si hacia algn servicio HTTP que presentara alguna vulnerabilidad 
evidente. Cualquiera puede utilizar el software que mas le guste, pero nmap, 
sirve para eso y mas y ademas esta disponible en mas de las plataformas que 
podamos imaginar.

Si alguna vez os encontris sin saber como en estos manejos, una de las 
opciones es buscar si exigen servicios que requieran validacin. Un ejemplo es 
el acceso al correo via web. Se puede encontrar de todo, desde fallos 
garrafales por falta de validacin de los datos entrados, hasta informacin 
sensible que se encuentra en la ayuda que algn superjefe incompetente, ha 
hecho colgar para no perderse cuando se conecta desde el hotel donde esta 
pasando una noche loca con la ultima conquista. Nada de tan espectacular 
encontr, aunque el hecho que mostraran una lista con todos los usuarios 
registrados y los directorios asignados, sin ser un agujero catastrfico, 
mereci el registro puntual de la informacin en su fichero de avance de 
trabajos, porque nunca se sabe para que puede servir.

Visto que nada evidente se encontraba empez a manejar el nmap en forma de 
artillera pesada. Esto quiere decir lanzarlo de forma que investigue el rango 
de IP interesante y que descubra los puertos abiertos, los servicios 
correspondiente y puestos a pedir, el OS que maneja todo el circo. No es 
nuestra intencin hacer un curso del nmap, baste con decir que lo podis 
encontrar en www.insecure.org/nmap/, y all hay un montn de informacin para 
leer. Solo nos interesa hacer una pequea resea del resultado. Para cada 
maquina escaneada os encontrareis con los servicios  ofrecidos y una breve 
descripcin de la version as como la mejor estimacin sobre el sistema 
operativo y la probabilidad de que la informacin sea correcta.

Antes de buscar cosas extraas, hay que buscar lo evidente y esto no es tanto 
un ftp no puesto al da como un servicio finger pacientemente esperando en el 
puerto 79. Aunque algunos de vosotros no lo creis, todava existen estos 
servicios que nos dan informacin pertinente de quien esta conectado, su login,
su directorio por defecto y dems lindezas que no debieran estar a la vista de 
todo el mundo. Casi siempre es seal de una maquina sin mantenimiento, y por 
tanto presa fcil para cualquiera, aunque tambin sea solo un "honey pot" 
puesto ah para atrapar algn zngano zumbn. En este caso no era ni una cosa 
ni otra, podia ser simplemente un despiste de un administrador por otro parte 
responsable. El caso es que en este caso, aparte de saber el nombre del 
administrador y preguntarse poque Pepita llevaba mas de un mes conectada a la 
maquina, no hubo mas cera para hacer arder... y se hizo la oscuridad.

HALLAZCOS INESPERADOS

No hay reglas fija para este tipo de ataques, en el fondo se parece mucho al 
espritu que hay que mantener para crackear un programa protegido. Hay quien lo
llama el espritu zen :-) , el caso es que estaba mirando las hojas impresas 
con los resultados cuando algo le llam la atencin. Es regla general 
encontrarse con servidores windows, siempre existe algn linux, dispositivos 
cisco son bastante normales, solaris empiezan a ser mas raros, pero Quien ha 
odo jamas de un OS llamado Maxim-C TiniOS ?

En el cerebro de Enteradillo se encendi una luz que ademas de mostrar el 
penoso estado de sus neuronas, le oblig de forma automtica a reflexionar 
sobre la cuestin. Mirando con un poco mas de atencin la informacin de la 
maquina ofrecida por nmap, no vio nada fuera de lo normal, tal vez pareca un 
poco raro el que hubieran dos servicios ftp, uno en su puerto habitual y otro 
en el 19. Despus record que ya haba pasado por la maquina ya que el puerto 
80 estaba abierto, solo para darse cuenta que haba solo una pagina standard 
sin ninguna informacin. Vamos, una de esas que dicen "powered by ...."

Como nuestra red es gratuita y todo el mundo tiene el derecho de buscar, se 
lanzo sobre Google y tecleo la informacin que le mostr nmap. Haban bastantes
paginas, pero la mas interesante perteneca a una sociedad americana que se 
dedicaba a la venta de dispositivos empotrados 
( http://www.maxim-ic.com/TINIplatform.cfm ). 
La historia no estaba mal, bajo la forma de una simple tarjeta PCI se podia 
disponer de toda una maquina que a todos los efectos apareca en la red como 
una maquina independiente. Dado que por su misma esencia careca de teclado 
deba depender de otra maquina para su configuracin. Esto se consegua 
mediante un servicio ftp para subir ficheros y otro telnet para lanzar 
programas. Cualquiera de estos mecanismos requiere un usuario y una password 
por defecto y rpidamente Enteradillo busc la informacin que graciosamente la
red le ofreca.

Efectivamente, se creaban dos usuarios por defecto. Uno "root" con pasword 
"tini" y otro "guest" con password "guest". Siempre hay un instante de emocin 
cuando se teclea una password en el parpadeante terminal y se espera la 
respuesta desde el otro lado del mundo. En este caso el resultado fue 
decepcionante ya que el administrador haba sido lo bastante cuidadoso como 
para cambiar la password. Sin ninguna fe intent entrar como "guest" y all si 
que los hados le fueron propicios. Un amable saludo le indicaba que haba 
entrado aunque con derechos sumamente restringidos. Evidentemente el 
administrador pens que no vala la pena hacer nada mas ya los derechos de 
guest eran realmente mezquinos.

Siempre que se entra en un sistema ajeno lo primero que hay que hacer es 
simplemente mirar sin tocar nada y en esto estaba Enteradillo cuando vio el 
tpico fichero passwd que se puede encontrar en todas las distribuciones linux.
Se lo baj para descubrir el nombre de los usuarios y cerr la sesin. Todo el 
mundo estar pensando que con un fichero passwd moderno poco se puede hacer 
ya que normalmente todos los OS modernos no muestran la hash en este sitio. 
Pues en este caso no era asi. Todas las hash estaban ah disponibles para el 
primero que deseara intentar un ataque off-line.

El porque existe este fallo en este tipo de OS probablemente es debido a que en 
realidad no esta pensado para ser utilizado en maquinas grandes sino en cosas 
diminutas y ah puede que no exista mucho espacio para hacer maravillas y mas 
que probable que las disponibilidades econmicas de los desarrolladores sean 
as mismo bastante limitadas. De todas formas estos chicos tampoco son tan 
inocentes como parecen ya que la historia no acabo ah ni mucho menos. 

EXTRANYOS HASH

Estamos demasiado acostumbrados a lanzar ataques automticos sobre la primera 
hash que cae en nuestro poder, para pararse a pensar que lo primero que hay que
identificar es el sistema de cifrado. Tampoco haba hecho este sencillo 
ejercicio mental Enteradillo hasta que su John The Ripper le anunci que no 
haba ninguna hash que mereciera atacar en el fichero con que pretenda 
alimentarlo. Un poco extraado empez a revisar la configuracin de John para 
comprobar si haba hecho algn error de principiante, pero nada encontr, as 
que no tuvo mas remedio que volver a leer la documentacin.

Esto de leer es maravilloso ! Casi siempre consigue sacarnos de nuestro pozo 
de incultura y siempre nos dar un poco de entretenimiento. En este caso 
rpidamente ley que el sistema de cifrado era SHA1. Volviendo a John ah 
descubri que solo haba un parche para este sistema de cifrado pero encima 
era especifico para una determinado plataforma. En resumen era tan til como 
la nieve en el Polo Norte. Estuvo dndole vueltas al asunto y a la red hasta 
que encontr a alguien que se haba dedicado a escribir un crackeador tipo John 
pero especifico para hash SHA1. Se llama "lcrack" y si lo buscis por Lepton's 
Crack seguro que lo podis encontrar en algn sitio, como por ejemplo 
http://freshmeat.net/projects/lcrack/ o bien en 
http://www.nestonline.com/lcrack/

Convenientemente armado con el til apropiado, solo haba que lanzarlo sobre el 
fichero adecuado. De todas formas, antes de lanzarse a ataques tremebundos debe
siempre hacerse alguna prueba, sobretodo si como en este caso se conoce alguna 
password. Enteradillo sabia que exista un usuario llamado "guest" porque haba
entrado como tal y porque vea claramente este usuario en el fichero passwd. 
Tambin sabia que la password era "guest" ya que haba entrado de esta forma. 
Solo se trataba de atacar el hash mediante un diccionario que contuviera dicha 
password. Ni corto  perezoso eligi uno de los muchos diccionarios que 
contuvieran dicha password y configuro el lcrack de forma conveniente para 
atacar el problema.

No vamos a contaros como se configura el lcrack para eso, leer el manual, lo 
importante es que obtuvo un total y decisivo fracaso. Haba algo que hacia mal 
y no acababa de encontrar donde.

UNA AYUDA INESPERADA

Todas las sospechas recaan en el dichoso OStini. En un sistema modificado para
que pudiera caber en una tarjeta PCI se podia esperar cualquier cosa. El mismo 
servicio telnet no era normal. Consista en un desarrollo especial llamado 
"slush" y que se encontraba en forma de cdigo abierto. Bajarse los fuentes y 
empezar a revisar el sistema de cifrado fue todo uno,... total para nada, toda 
la literatura segua diciendo que el sistema de cifrado era SHA1

Lo bueno de tener amigos en el mundo es que siempre se puede pedir ayuda. Si 
estos amigos son totalmente desconocidos tiene la ventaja adicional de solo 
tener la moral obligacin de devolver favores y que nunca llaman a tu puerta 
para tomarse una cerveza a tu salud y a tu costa. El problema es cuando careces
totalmente de amigos con los conocimientos apropiados para resolverte el 
problema que te agobia. Entonces solo queda el recurso de llamar a una puerta 
cualquiera con la esperanza de que alguien te conteste. Esto fue lo que hizo 
Enteradillo, enviar un mensaje a uno de los desarrolladores del "lcrack".

La primera sorpresa fue que el mensaje no rebot. Es muy normal que las 
direcciones que se ponen en los programas de libre distribucin sean falsos u 
obsoletos, pero no fue ste el caso. Una pronta respuesta llego a su buzn. El 
mensaje era pronto y conciso. En los usuales trminos que utiliza alguien que 
no tiene mucho tiempo y que esta cansado de responder gansadas. Se puede 
resumir en unas pocas palabras "Lete el readme". Mucha gente reacciona mal 
ante este tipo de comunicacin. Esto hay que evitarlo, Enteradillo era 
consciente que el favor lo estaba pidiendo l y que aunque no mereca este 
trato, "la paciencia es la madre de la ciencia", como deca su abuela. Por 
tanto tomo animo, informacin y teclado y empez un largo mensaje,... 
largusimo.

Tambin hay que evitar el lanzar mensajes kilomtricos, ya que por ah ronda un
estudio que dice que raramente se lee mas de lo que cabe en una pantalla de 
ordenador. De todas formas de alguna forma haba que llamar la atencin y 
nuevamente e se vio enredado explicando que una de las caractersticas de las 
plataformas TINI es el sistema operativo, desarrollado por Dallas Semiconductor.
Que esta libre de royaltis, es multitarea, multinoseque y que corre en un 
ambiente JAVA. Todo ello cabe en una memoria flash de 512 kB con suficiente 
espacio para alguna aplicacin siempre que no supere los 64 kB. Todava le 
queda tela para permitirse el lujo de tener una librera para C.

Con animo de impresionarlo, le cont tambin que la interface via telnet se 
hacia a travs de "slush", que provea una serie de comandos tipo bourne, pero 
que en realidad eran de desarrollo interno. Total, que el sistema de cifrado 
podia ser cualquier locura que al programador de Dallas se le hubiese ocurrido 
en el momento del desarrollo. Puestos a hacer le envo algunos pedazos de 
cdigo fuente para animarlo en la tarea. Eso fue mas arriesgado. Hay personas 
que no consiguen conciliar el sueo tras ver un cdigo interesante, si no lo 
consiguen destripar, otros caen en profunda somnolencia nada mas verlo.

En este caso hubo suerte . A los pocos das en uno de sus buzones de correo 
recibi un mensaje de contestacin. La respuesta estaba ah mismo en el cdigo 
y no haba que hacer juegos malabares. En uno de los comentarios de los 
desarrolladores de Dallas, deca claramente que la hash se construa con tres 
elementos concatenados. El "user", el carcter ":" y  la password. O sea que 
si la password del usuario "guest" era "guest", la hash estaba construida con 
"guest:guest".

Despus de agradecer la informacin y el tiempo perdido ya que la educacin no 
hace dao y nunca se sabe cuantas vueltas puede dar el mundo, paso a planificar
un ataque.

NO HAY QUE INVENTAR LA RUEDA

No se si os habis dado cuenta, pero la forma de calcular el hash mediante 
este sistema es menos inocente de lo que parece. El poner una serie de 
caracteres delante del password, aunque sean fijos y conocidos, dificulta un 
ataque mediante diccionario, ya que hay que reconstruirlos completamente e 
incrementa muchsimo el esfuerzo necesario para atacar mediante fuerzo bruta 
dado que de forma inmediata la longitud de la secuencia de caracteres a 
adivinar se incrementa en bastantes caracteres, variables en funcin de la 
identificacin del usuario.

Enteradillo estaba a punto de empezar a revisar el cdigo algn cracker 
existente, pero antes pidi de nuevo auxilio a su amigo de Lemon. Este de 
nuevo le respondi que se leyera la documentacin del programa y de nuevo, 
sonrojado, Enteradillo se dio cuenta que la respuesta estaba ah. Todos los 
crackers tienen unas caractersticas similares. Todos te permiten elegir la 
longitud maxima a atacar, el set de caracteres a emplear y muchos guardan el 
estado del ataque, permiten distribuirlo, pero pocos pueden fijar un carcter 
de una posicin dada. Esta es la caracterstica de "lcrack" y esta era la 
solucin.

Si de los usuarios haba un tal "pelaez", bastaba con decirle a lcrack que los 
siete primeros caracteres eran "pelaez:" y solo deba acabar el resto. Un 
primer ataque con una longitud extra de siete caracteres y el conjunto de 
caracteres clsico alfanumrico le identific en menos de cuatro segundos que 
la password era "tini". El administrador no pareca tener mucha imaginacin, 
pero solo lo pareca, ya que de entrada los usuarios normales no tenan mas 
privilegios que "guest" y despus la resolucin de la password del jefecito fue
mucho mas difcil y tema de otro articulo.

CONCLUSIONES

Podis encontrar en la red muchos artculos que hablan de seguridad en sistemas
empotrados. Todos piensan en los telfonos mviles y similares, pero en nuestra 
opinion un mayor peligro se cierne sobre los sistemas que controlan a su vez a 
otros dispositivos. La inminente escasez de direcciones IP y el desarrollo del 
nuevo protocolo Ipv6, tiene mas que ver con esto que con las maquinas normales 
que todos tenemos en mente. La prevista nueva explosin tiene mucho que ver con
la implementacin de maquinas agazapadas en cualquier cosa que nos rodea. 
Telfonos, buscadores, cmaras inteligentes, lavadoras, secadores, el horno de 
tu casa, todo sera dirigido por estos bichos y podrs ser controlados a 
distancia. Tendrn su IP y ocuparan su sitio en la red.

Hay otro aspecto y es el del software. En el caso que nos ha tenido ocupados en
esta pequea historia, es un software del cual disponemos de su cdigo fuente, 
pero esto no le impide que padezca de bonitos agujeros de seguridad. El mismo 
problema que sin duda seria encontrado rpidamente por la comunidad si se trata
de un producto conocido ampliamente, queda totalmente en el anonimato en un 
oscuro programita, desarrollado por una no menos oscura, para el gran publico, 
empresa perdida en las llanuras americanas. Esto no impide que la misma empresa
sea extraordinariamente popular en ambientes restringidos. Militares, por un 
ejemplo.

Hasta ah nadie se preocupa demasiado. Si Enteradillo despus de sus aventuras 
se da cuenta que ha entrado en el controlador de una cmara de vigilancia o en 
cerebro de la cafetera de la secretaria del undcimo piso, nadie se va a 
asustar. Lo peor que puede pasar es que nos graben la entrada triunfal del 
vendedor del mes o que nos programen un cafe doble cuando pedimos un capuchino.
Es solo una molestia. Lo malo es si el personaje no es Enteradillo y sus 
intenciones son mas agresivas. Ya puede ser mucho peor si con lo que tropieza 
es con el cerebrito de la direccin asistida de un camion de transportes 
especiales, con el controlador de vuelo del nuevo Airbus o el corazn de una 
ojiva nuclear. Podis pensar lo que queris.

Puede que seamos exagerados y que lo que decimos no tiene ni media palabra de 
cierto, pero por si tenis curiosidad ah os dejamos el fingerprint de TINI.

OS details: Maxim-IC TiniOS DS80c400
OS Fingerprint:
TSeq(Class=TR%IPID=Z%TS=U)
T1(Resp=Y%DF=Y%W=1000%ACK=S++%Flags=AS%Ops=M)
T2(Resp=Y%DF=Y%W=0%ACK=S%Flags=AR%Ops=)
T3(Resp=Y%DF=Y%W=1000%ACK=S++%Flags=AS%Ops=M)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=N)


2005 SET, Saqueadores Ediciones Tcnicas. Informacin libre para gente libre  

*EOF*