Share

Lo confieso. Siempre he intentado ampliar mis conocimientos y dedicarme a la observacion y la investigacion. Pero a pesar de mis esfuerzos hay areas en las que estoy absolutamente pez.

Como la gente ademas conoce mi inquietud al respecto, aprovechando el lanzamiento del blog un amigo me propuso adentrarme en uno de esos oceanos inexplorados para mi y que ademas fuera contando mis aventuras aqui. De este modo, y para no postergarlo mas, alla voy, a ver lo que soy capaz de aprender y descubrir en las comnicaciones por radio y el mundo de las ondas.

Para ello, me han prometido irme facilitando algunas herramientas que me vayan permitiendo avanzar en el camino.IMG_2399_B

La primera ha sido por duplicado, un par de receptores de television USB. Conocia su existencia pero ahora me tocaba pegarme un poco con ellos. La gracia que tienen es que por un modico precio (alrededor de 20-30 €) tienes un dispositivo de recepcion con muchas mas posibilidades aparte de ver el futbol. El nombre formal creo que es SDR (Software Defined Radio) porque le puedes configurar la frecuencia que quieres sintonizar y procesar digitalmente la señal recibida. Dependiendo del modelo exacto las capacidades y el chip exacto pueden variar un poco. Vamos a ver que descubrimos de estos. Esto es lo que me suelta el dmesg con el mas pequeño de ellos.

[ 9259.272693] usb 1-1.1: Product: RTL2838UHIDIR
[ 9259.272696] usb 1-1.1: Manufacturer: Realtek

Afortunadamente a nivel de software la Kali ya viene muy preparada para jugar con estos dispositivos. Empezare por las dos piezas que me han recomendado: rtl-sdr y gqrx-sdr

Se supone que con las herramientas de lineas de comandos del pack rtl-sdr podre hacer ciertas prebas (verificar que funciona, escuchar la radio, grabar una frecuencia a un fichero, etc..) y que gqrx es la herramienta basica sencilla y visual para explorar un poco el espectro.

Lo primero es verificar que el sistema reconoce el dispositivo, y la primera respuesta es NO.

# rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001Using device 0: Generic RTL2832U OEMKernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.usb_claim_interface error -6
Failed to open rtlsdr device #0.

 

Afortunadamente Google tiene todas las respuestas, el propio kernel lo ha reconocido como un dispositivo de television y nos esta bloqueando el acceso. Asi que toca eliminar el modulo y ya tengo acceso.

~# rmmod dvb_usb_rtl28xxu
~# rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.Reading samples in async mode…
^CSignal caught, exiting!User cancel, exiting…
Samples per million lost (minimum): 0

Ahora ya lo detecta adecuadamente y hemos averiguado el chipset que tiene. Lo siguiente es ver si podemos escuchar la radio con ello… Para ello me busco cual es la frecuencia en cualquier radio o web y lo pongo con el programa rtl_fm … esto nos dara los datos sintonizados, pero para convertirlo a audio y que suene hay que pasarlo por un reproduztor. Tras varias pruebas, el comando queda así:

rtl_fm -f 96.3e6 -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

Por cierto, que al receptor he tenido que enchufarle la antena, porque si no, no sintoniza nada y aun así con bastante ruido. Me temo que este sera el primer encontronazo de muchos otros en la importancia de las antenas :/

La siguiente herramienta en pasar por mis manos en el GQRX. Es un interfaz grafico para sintonizar el dispositivo, ver la intensidad de la señal e intentar algunos ejemplos basicos de demodulacion (AM, FM, etc). Sintonizando en las misma zona de frecencia que antes, es posible nuevamente escuchar la radio y ahí si, apreciar la poca calidad de la señal que recibimos. Para hacernos una idea, aqui os dejo dos capturas, una sin antena y otra con ella. Y eso que es la cutre super sencilla que venia con el receptor.

GQRX sin Antena

GQRX sin Antena

GQRX con Antena

GQRX con Antena

Tengo que reconocer que despues me he puesto a cotillear un poco por el espectro y despues de perder unas cuantas horas he llegado a una conclusion clara… no me entero de nada. Asi que volvi a recurrir a mi amigo a ver si me daba alguna pista de donde habia alguna onda interesante y que era todo aquello que había visto. No voy a reproducir literalmente su respuesta, pero basicamente me volvi con las manos vacias dandole vueltas a que podía hacer para tener una vision global de lo que  hay en el espectro de ondas madrileño sin dejarme los ojos pegado a una pantalla avanzando de megaherzio en megaherzio.

Al final he optado por esta solucion, y la verdad es que ya os adelanto que estoy muy satisfecho. Se basa en el comando rtl-power que viene en el paquete rtl-sdr. A ese programa le podemos pasar un rango de frecuencias y unos tiempos de muestreo y total y te genera un archivo «crudo» en formato csv con las potencias de emision observadas en cada uno. Estupendo detalle pero inmanejable por si mismo. Para completarlo ya hay alguien que se ha currado una manera de visualizarlo en formato heatmap.

Para hacerlo nos tenemos que clonar el repositorio lo primero y luego alimentarlo con un fichero.

git clone https://github.com/keenerd/rtl-sdr-misc.git

El comando que estoy usando para capturar los datos es el siguiente:

rtl_power -c 0.3 -f 88M:188M:2k -e 3h captured-sample.csv

Basicamente lo que le estamos pidiendo es que durante 3 horas barra el rango de los 88 a los 188 Mhz en saltos de 2k y cada vez, descarte un 30% de las lecturas por los extremos (sin ello se veia que en esa zona la sensibilidad era mucho mas baja y salian unas estupendas bandas negras verticales). Con ello obtenemos un estupendo csv de unos 600 Mg. Este a su vez lo procesaremos con el heatmap.py que nos acabamos de bajar

python heatmap.py captured-sample.csv captured-sample.png

Que nos dara algo así pero bastante más grande. En la primera pueden verse un par de canales de FM y en la segunda algun tipo de comunicacion intermitente (ya investigare)

heatmap-sample2

Heatmap-sample1

Al final lo que he preparado un sencillo script para barrer el espectro de 100 en 100 Mghz y generar el grafiquito así como un pequeño thumbnail. Aqui os dejo unos cuantos, ojo con ellos que ocupan unos 80 Mg cada uno.

88-188Mhz resized-88M-188M-2k-20150717-20_38_10

188-288 resized-188M-288M-2k-20150718-09_10_22

288-388 resized-288M-388M-2k-20150718-13_07_41
388-488 resized-388M-488M-2k-20150718-16_07_45

488-588 resized-488M-588M-2k-20150718-19_07_49

588-688 resized-588M-688M-2k-20150718-22_07_52

688-788 resized-688M-788M-2k-20150719-01_07_58

788-888 resized-788M-888M-2k-20150719-04_08_01

888-988 resized-888M-988M-2k-20150719-07_08_04

Ahora ya puedo explorarlos a ratos e ir viendo lo que me va llamando la atencion. Ya os ire contando mis desventuras mientras sigo mis observaciones. Eso si, por de pronto se puede ver que el aparato se vuelve totalmente sordo pasadas ciertas frecuencias. A ver si puedo a ir arrojando luz sobre lo que va apareciendo ahi

¿Alguien se anima a acompañarme en mis observaciones?

Share

Dan sudaba, tenía el pulso ligeramente acelerado, y eso no era bueno. Necesito del 150% de mi concentración para salir de esta, y los nervios no son una ayuda., – pensaba Dan.

T  va a ir a por mi, eso lo se. La estrategia ha de ser sólida, si quieres seguir en este negocio. – se repetía mientras caminaba con paso firme por los lúgubres pasillos de la corporación.

El caso se llama “Hacking Team”.

Malditos pordioseros, como una panda de 40 malnacidos van a poder ser capaces de acabar conmigo.-  se lamentaba Dan.

 

La sala estaba cargada. T fumaba un habano. Le daba igual que estuviera prohibido. En si T era la representación de la ilegalidad encubierta.

400 Gb de datos. – Bramó T.

Dan sabía exactamente a que refería y las consecuencias de lo que entre líneas T le estaba diciendo.

He leído el informe y aún no acabo de entender. Por favor, puedes explicamelo desde el principio? y no escatimes en detalles.

 

El objetivo era Petro Arguetes, Secretario de Defensa. Nuestro cliente había identificado indicios de actividades económicas no muy lícitas y quería ponerle un cable para asegurarnos de que solo estuviera preocupado por recibir su “sobre” y no por nada más serio.

Era un objetivo complicado, la seguridad era extrema tanto en su perfil directo como en su entorno de confianza.

Por ello descartamos el acceso a través de los mecanismos habituales. A Dan estas maneras fáciles de hacer el trabajo le ponían nervioso. Era evidente que le iba la marcha, pero cuando la fiesta se descontrolaba, como era en aquel momento, la cosa ya no le hacía tanta gracia. El caso es que no habría ni infecciones a través de un fishing por documento word malicioso ni típicos acceso a través de su Wifi personal. Este era un trabajo de los interesantes.

 

Establecimos un perímetro de vigilancia por si fuera factible la sustracción de un elemento informático personal, pero en todo momento estaba acompañado y custodiado por al menos dos guardaespaldas, y te puedo asegurar que eran de los buenos, uno activo, y otro pasivo camuflado.

Las escuchas remotas no funcionaban, tenía incluso los cristales de su despacho apantallados para evitar la captura de las vibraciones por láser remoto.

La cosa se ponía complicada, vencía el plazo marcado y no teníamos nada, y eso no le gustaba a Dan. No era de los que pierden.

Así que decidí arriesgar un poco tirando de la técnica de trusted zones.

Si el CNI monitoriza todos sus altos cargos, es una vía de entrada quizás menos arriesgada que una intrusión directa.

Obtuvimos sin mucho esfuerza la lista de empresas de seguridad privada que tenía relación con el CNI, y seleccionamos alguna que ya tuviéramos conocimiento de su infraestructura de seguridad.

La seleccionada fue Hacking Team, una empresa Italiana conocida por prestar servicio ofensivos de seguridad a grupos gubernamentales y organizaciones totalitarias. El target era mucho más sencillo que nuestro objetivo.

 

La estrategia inicial fué un fiasco. Es de esas situaciones en las que todo se alinea en tu contra.

Entrada a través de perímetro, utilizando un 0Day en su servidor VPN. Resulto ser un honeypot..

fuimos detectados inmediatamente. Todos sus ojos se pusieron sobre nuestras cabezas y tras 2 horas de estar saltando de sistema en sistema vimos algo que nos llamó la atención. Una de las maquinas previamente obtenidas tenia una direccion MAC que me sonaba mucho. Tirando de nuestras bases de datos de conocimiento, resultó que era una dirección utilizada típicamente por software de sandbox. Estábamos en un sistema totalmente monitorizado y controlado. Nos estaban observando como a vulgares hormigas!.

 

Salimos por pies, borramos todo rastro y nos esfumamos. Sabes que somos buenos en hacer eso. Lo hemos hecho miles de veces, siempre con éxito.

Casi siempre. –  corrigió T.

El segundo vector a atacar fué el acceso a través de la MPLs. La idea era acceder a la red de circuitos virtuales del proveedor de comunicaciones que en este caso era Telefónica con su solución Macrolan. Este es un acceso que no elimina todos los riesgos, pero al haber tenido un incidente previo, nos da la oportunidad de sondear sus comunicaciones y correos internos con tremenda facilidad de tal manera que si la cosa se pone fea, rápidamente lo averiguaremos y podremos reaccionar con margen.

Accedimos al router de Telefonica. Nuestro contacto en Teléfonica sabía que la operación era importante ya que duplicó su cuota. Eso me hizo alertar, pero decidí continuar con la operación.

Entramos en su Wan, y pusimo sondas de analisis automatico de comunicaciones.

Interceptamos varios accesos privilegiados vía man in the middle y rápidamente tuvimos acceso a sus repos principales.

El resto fué coser y cantar, acceder a la base de datos de targets, tomar los credenciales de nuestro objetivo y utilizar sus propias herramientas de “control” para sacar la información que nuestro cliente nos habia pedido.

En ese momento lo detectamos. Un correo entre nuestro contacto en Telefónica y alguien en HackingTeam. Ellos no sabían que los habíamos identificado, y la información era clara, nos tenían bien cogidos.

Así que borramos todo, y salimos por pies.

Si, ya se que eso lo sabéis hacer bien. – se adelantó sarcásticamente T.

 

y eso es todo? – Inquirió T con impaciencia.

Usted sabe que no. – Increpó Dan. Tenia varias opciones,  nuestro contacto habia pasado toda la información. Estábamos comprometidos no solo a nivel de unidad, probablemente a nivel de empresa. No tenía más opciones que la eliminación.

Dejamos una bomba lógica, que subiría el contenido de sus departamentales principales a github y torrent y la programamos convenientemente.

Dan, ¿Es consciente de que eso viola completamente el acuerdo vigente del sector? – preguntó directamente T.

Señor, tanto usted como ya, de lo que sí somos conscientes es de que ese acuerdo es una completa patraña. Además eran ellos o nosotros.

 

El silencio mientras esperaba la respuesta de T se hizo casi insoportable. Dan, era consciente que su trabajo, su carrera, y probablemente su vida pendían de un fino hilo.

La cosa era sencilla, en esas dos horas de reunión, T le habia dicho claramente que no habia seguido las reglas y habia comprometido la seguridad de la compañía con sus imprudentes decisiones, mientras que Dan habia argumentado en contra alegando mala suerte y un sentido de la lealtad extremo. Si, la cosa estaba jodida. Toda su brillantez en el trabajo de campo, era adecuadamente contrarrestada con una completa incapacidad política.

Tras la interminable espera, T le dijo casi con pena, “Puedes marcharte Dan”.

Fué como si una catarata de alivio se volcara de golpe sobre sus hombros. Increiblemente se habia librado de esta!

 

Salió del despacho de T, con una sensación de placer, mezclado con un ligerísimo cargo de conciencia por haber destrozado a la competencia, y por haber puesto en la misma situación que él acababa de vivir a 40 empleados de HackedTeam.

“Son ellos o nosotros, Dan. Son ellos o nosotros”