miércoles, 30 de diciembre de 2015

Convertir vmdk a dd o raw

Como de costumbre, vamos a ponernos en situación.

Nos entregan unas evidencias que hay que analizar en un disco. Y cuando nos vamos a poner a trabajar sobre ellas, nos encontramos con que nos entregan unas máquinas virtuales de VMWare. Es una faena, porque queremos trabajar con herramientas como FTK o Autopsy. ¿Qué hacemos? Sencillo: instalar otro software de virtualización. 

Es totalmente en serio. Al menos, para la técnica que voy a mostrar aquí hace falta precisamente el producto de Oracle VirtualBox. La razón es que tiene una herramienta que se llama VBoxManage.exe. Con ésta, entre otras cosas, puedes convertir las imágenes al formato dd, también conocido como raw.

Por lo tanto, vamos a la carpeta de instalación de VirtualBox desde el cmd y ejecutamos:

VBoxManage clonehd fichero_vmdk fichero_dd --format raw

Donde el fichero_vmdk es el nombre del mismo y el fichero_dd lo mismo. Esta aclaración es para indicar que es muy recomendable (al menos así lo he hecho yo) usar rutas absolutas. 

Después del tiempo que tarde en convertir los gigas y gigas de datos de los que conste el vmdk, ya tendrás un formato más estándar, con el que trabajar más cómodamente (siempre que no te haga arrancarla, y de lo que ya hablaré en un futuro). Además hay que tener en cuenta otra cosa más: si ese disco de la máquina virtual es dinámico, lo más seguro es que el resultado final te ocupe más. Si en el destino no hay espacio suficiente, tendrás algún mensaje de error (que por desgracia no tengo a  mano). 

viernes, 25 de diciembre de 2015

Felices fiestas - 2015

Siento no haber podido felicitaros las navidades. Por lo tanto...

¡¡FELIZ NAVIDAD!!

Espero que os lo paséis muy bien en estos días tan especiales. Disfrutadlos (sobretodo si estáis de vacaciones).

martes, 3 de noviembre de 2015

RootedCon 2016: Call For Papers

Si bien lo han avisado hace unos pocos días, no he tenido tiempo para comunicarlo.

Ya han abierto los Call For Papers para la RootedCon 2016. Esta próxima no se hará en el hotel Auditorum, como las dos anteriores entregas, sino en la sala 25 de los cines Kinépolis de Madrid. Las fechas serán 3, 4 y 5 de Marzo.

El plazo para enviarlos es el 10 de diciembre del presente año (2015).

Como de costumbre, cuando doy estos avisos, mirad las fuentes oficiales, dado que yo no lo soy.

http://rootedcon.com/noticias/abierto-el-cfp-para-rooted2016.php


viernes, 30 de octubre de 2015

Comando System en Asterisk: Systemstatus devuelve APPERROR

Llevaba tiempo sin publicar. Además, como donde estoy ahora no tengo disponible mi centralita, voy a intentar contarlo lo mejor posible. estaba no tenía disponible la centralita. Después de terminar de escribirlo, he llegado a ella y todo lo que tenía aquí expuesto estaba bien, excepto alguna sintáxis. Sobretodo el poner (o no) comillas, como si de cadenas se trataran, en las llamadas a las funciones de Asterisk

Ahora, tenemos en nuestro home: /home/myUser/ un script, dateFile.sh que hace:

date >> fileDate.log

Con unos permisos:

-rwxr--r-- myUser asterisk

A la hora de trabajar en los contextos en Asterisk, además de usar sus propios comandos, se pueden hacer llamadas al sistema o a scripts que tengamos en él. Por lo que, podríamos tener algo similar a lo siguiente:

[mi_contexto]
exten => s,1,Playback(hello-world)
exten => s,n,System(/home/myUser/dateFile.sh)
exten => s,n,Playback(thank-you-for-calling)
exten => s,n,Hangup

Después, resulta, que miras en los logs y te dice que se ha ejecutado (o, a veces, ni eso), pero mirando en la misma carpeta donde se encuentra el script te encuentras con que no se ha obtenido ningún resultado. Por lo tanto, buscando, te encuentras que el resultado de la operación se guarda en la variable SYSTEMSTATUS.

Por lo tanto, volviendo al contexto (siempre me sale el nombre de ámbito [scope]):

[mi_contexto]
exten => s,1,Playback(hello-world)
exten => s,n,System(/home/myUser/dateFile.sh)
exten => s,n,NoOp("Systemstatus is: " ${SYSTEMSTATUS})
exten => s,n,Playback(thank-you-for-calling)
exten => s,n,Hangup

Y volvemos a pasar el mismo. Ahora, después de lanzarlo, nos devuelve que el resultado es: APPERROR. No es SUCCESS. No es FAILURE.

Resulta, que al buscar qué significa ese error, todos terminan diciendo, más o menos que está indocumentado y que devuelve un resultado distinto de 0 (cero).

¿Y qué hago? No he visto resultados cuando Asterisk ha llamado al script. ¿Y si lo lanzo desde consola? Es importante saber que va a funcionar. Y en efecto, así es. Desde la misma consola funciona.

Bien: para resumir dónde puede estar el problema, volvamos a los permisos asignados. Porque ahí es donde radica el quid de la cuestión.

Nuestro usuario tiene permisos para ejecutar ese script. Asterisk no puede hacerlo. No sólo es cuestión de mirar a qué usuario pertenece dicho fichero, o el grupo al que quieres asignarlo, sino también los permisos de lectura, ejecución, ¿escritura? que quieras asignarle.

Si en vez de tener los permisos de arriba, tuviese:

-rwxr-xr-- myUser asterisk

Y volviésemos a ejecutarlo, ahora ya no nos devolvería ese error tan raro que no da ninguna información. La única pega que alguien podría poner es que lo asigne al grupo de asterisk, en vez de permitir que sean otros. A parte de eso, creo que esto es algo seguro, y, lo más importante de todo: ya hemos obtenido la respuesta de una de las posibles causas de este error.

lunes, 5 de octubre de 2015

Nava negra / ConectaCON 2015

Este fin de semana pasado han sido las Navajas Negras / ConectaCON. Este año han fusionado las dos conferencias en una, y, como los años anteriores, se han realizado en la Universidad de Albacete.

Tal y como hice el año pasado, quedé con Julián (@Txambe) para ir a Albacete en coche.

Una vez llegamos, nos dirigimos directamente a registrarnos y asistir a los talleres que nos interesaban. En mi caso fui a relacionado con Burp y él fue al que daba Pedro (@NN2ed_s4ur0n).

Una vez finalizados los talleres, a la hora de comer, la organización nos tenía preparada la comida con el cátering. Resulta que la gente empezó a comer antes de tiempo porque con la comida ahí a la vista.. Hubo gente que cuando salió del último taller, se encontró con que ya quedaba poca comida. Un buen capón por parte de la organización para todos haciendo que en las próximas comidas las "precintaran" hasta que todo el mundo estuvo listo para comer.

Después de comer, empezamos con las distintas charlas del día.

Yaiza Rubio y Felix Brezo nos hablaron de su herramienta Usufy, que se encarga de recuperar datos de la persona deseada en todas las redes sociales, o fuentes de información de Internet. A todos los efectos, de forma muy resumida,

Deepak Daswani (@dipudaswani) nos habló sobre la recuperación de datos con WhatsUp. Es otra herramienta OSINT, como la anterior. A partir de las fotos obtenidas por esta aplicación, se puede conseguir saber los sitios donde se ha ido desplazando "la victima" y cuándo ha estado en ese lugar.

Más adelante, Jose Antonio, Iván y Álvaro nos presentaron las distintas vulnerabilidades que encontraron en varios routers SOHO, los objetivos que se marcaron, los que consiguieron, sus dificultades... Nos enumeraron una gran variedad de vulnerabilidades que encontraron. Además, nos deleitaron con varias demos.

Más tarde Pablo San Emeterio (@psaneme), nos habló de distintas vulnerabilidades en el código fuente y en los binarios. Entre otros ejemplos, se pueden reseñar el uso de funciones no recomendadas dado su peligro: qué hace el compilador con ellas. ¿Las muestra como que no las conoce?¿Como prohibidas?¿Las deja pasar, pero internamente las cambia para que el resultado sea el mismo, pero de una forma segura?

Después, José Selvi (@JoseSelvi), de pentester.es, nos habló de HTST y SSL: El cómo se puede forzar a tirar de un cifrado SSL, engañando al sistema para que se ponga una fecha u hora distinta a la debería de tener realmente. Entre otros sistemas implicados se encuentran los servicios NTP. También se nombraron las listas de revocación (CRL) y nuevos sistemas más eficientes. Muy remarcable la banda sonora de esta ponencia: Regreso al futuro.

La última charla del día fue por parte de Mark Ven Heuser: De esta charla no se supo de qué iba hasta aquel mismo instante. De las muchas cosas de las que nos habló, fue sobre la problemática del uso de IPv6, tanto en el lado público como en el privado. Sobretodo el hecho de que "los cambios son difíciles". O, la discusión sobre la necesidad del uso de IPv6 en una empresa: ¿Es realmente necesario pasar a la versión 6 para una red privada?

Al finalizar la ponencia, nos fuimos a cenar todos juntos. La organización también nos tenía preparada esta comida. Después, tuvimos la oportunidad de hacer más networking.

Al día siguiente, después de un desayuno, Julián y yo fuimos a nuestros respectivos talleres. De hecho, al que yo quería ir había mucha gente deseando asistir, por lo que estuvimos en la puerta (equivocada) bastante antes de tiempo. Hasta que Julián se encontró con un tweet que indicaba que ya había gente allí. Casi me da un algo, pero llegué a tiempo para poder asistir y, además, conseguir un Arduino para la práctica.

El taller estuvo bastante chulo, pero hubo ciertos momentos de no enterarse de si las cosas funcionaban o no. Vamos. que en algún instante terminé en modo "no me entero, no me entero, no me enteroooo"

Después del taller, una vez más, magnífica comida preparada por parte de la organización.

Después de comer, empezaron las charlas.

La primera del día fue por parte de Ángel Suárez: Arranque de Linux seguro. Las distintas formas en las que se puede conseguir arrancar de forma segura, los distintos sistemas que se cargan al arrancar un Linux, qué sucede si hay particiones cifradas...

Después, Dani (@cr0n), de la organización, nos habló sobre Scapy, distintas funciones que tiene para simular sistemas de red, independientemente de la pila de protocolos. Aunque es fácil de usar, no es una herramienta de botón gordo... Incluso se hablaron de automátas de Mealy y de Moore.

Más adelate, tuvimos la presentación de la empresa SIA.

Más adelante, Carlos García (@cg_sanchez) nos hablo sobre SDR. Con un simple pincho USB para TDT, se puede conseguir escuchar frecuencias para las que, en teoría, su driver no está diseñado. Eso sí, depende de la marca que funcione o no. Cosas que se pueden escuchar: beepers (buscas), datos de aviación, tren, barcos... Y muchos más. Frecuencias que se nombraron: 433MHz, 868Mhz, 1090 MHz...

La siguiente charla, Abel Valero (@sanguinawer) y Segio Llata (@sergiollata) nos hablaron sobre la ingenieria inversa en máquinas virtuales y sus instrucciones. Era un reto de un CTF del que obtuvieron el resultado esperado.

Mirolav Stampar nos habló de su experiencia como voluntario en la organización que desarrolla SqlMap. No nos habló de cómo funciona la herramienta, pero sí de cómo la gente que utiliza la herramienta se comporta: los que donan, los que dicen que la herramienta falla y exigen que se arregle (pero, no toman la iniciativa de decir "mira, esto falla y te lo he arreglado")...

Al terminar, se hizo una pequeña presentación del próximo CyberCamp y... ¡una subasta de hackers!! Estuvo muy divertida la puja.

Una vez finalizada la charla, nos fuimos a cenar  otra vez. Después de la cena, tuvimos la oportunidad de asistir a los talleres nocturnos. Entre otros, Lorenzo (@lawwait) habló sobre UTMs. En mi caso, asistí al taller relacionado con aprender a memorizar de una manera efectiva, impartido por Alberto Cartier. Cuando terminó, estuve pululando un poco más por la sala, donde me indicaron que había un grupo de compañeros haciendo lockpicking. Hice una prueba con una cerradura de entrenamiento (después de unas pocas instrucciones), y conseguí que funcionase. Claro, viendo los cilindros...

Ya para el día siguiente, la primera ponencia fue por parte de David Barroso (@lostinsecurity), OPSEC: Seguridad operacional. Averiguar datos de una situación, persona o grupo de personas a partir de otros. Me recordó un poco a Locard. Puso de manifiesto diversos casos reales, a partir de los cuales, se llegó a descubrir quién era responsable de una situación en concreto a partir de las pistas que dejaron (usar una captura muy similar, comprar unos móviles que casualmente se usaron en un presunto delito y justo después de cometerse desactivarlos....). Como de costumbre, se puso de manifiesto el balance entre seguridad y usabilidad.

Más adelante, Arán Lorca (@4r4nL) nos habló de las distintas vulnerabilidades que encontró en un UTM y cómo fue capaz de, prácticamente, destriparlo. Teniendo en cuenta las distintas particiones cifradas del sistema, consiguió descifrarlas, manipularlo para conseguir actualizaciones y distintas características no contratadas en el mismo... No se indicaron marcas, pero ahí quedó la cosa. ¿Se podría conseguir hacer lo mismo con los UTMs de otras empresas?

Después tuvimos una pequeña charla comercial de 15 minutos por parte de Sophos.

Después del desayuno, Pepelux (@pepelux) nos habló una vez más de VoIP y los peligros que tiene no controlar cómo se configuran las centralitas Asterisk. Cómo terminan comprometidas de tal forma que otros usuarios que no deberían de poder usarla terminan sacándole provecho económico. La cosa es que estuve hablando con él en el desayuno, preguntándole cosas, y casi, casi le reviento una parte de la charla porque estaba muy relacionado con cómo evitar precisamente eso. xD. Nos hizo una demo en la que pude participar: conseguir que se marque un número de teléfono (mi móvil) y que saliera un origen distinto. Se esperaba otro comportamiento más, pero no pudo ser. :( Sobretodo, hay que acordarse muy bien de que SIP puede llegar a hacer llamadas con comando INVITE, sin REGISTER, si no se tiene cuidado. Y así se consigue que te carguen las llamadas a tí. Por eso es muy importante tener definidas unas políticas que permitan controlar, al menos, que los usuarios puedan hacer ciertas llamadas (o no) y a qué hora pueden hacerlas.

Más adelante, Deloitte CyberSOC hizo aparición para mostrar sus cursos de formación.

Para terminar las ponencias, Chema Alonso (@chemaalonso) volvió a hablar de Tacyt y cómo funciona su BigData, pudiendo hacer búsquedas de las aplicaciones de móviles.

Y, ya para terminar el evento, se hicieron los distintos sorteos y entrega de premios del CTF. Entre otros premios, cursos impartidos por Securizame (@Securizame), la empresa de Lorenzo (@lawwait). Hubo un juego que varios intentamos hacer y no lo conseguimos. Resulta que unos de los compañeros, lo terminaron... Tirando del servicio de CPUs de Amazón.

Para finalizar el evento: nos fuimos a ponernos las botas al hotel Universidad, donde nos pusieron un montón de comida muy, muy rica

Me quedo con que también me encontré con un montón de compañeros de otros años, con los que pude compartir muy, muy buenos momentos. Espero poder vernos el año que viene... O en un próximo evento.










miércoles, 15 de julio de 2015

Call For Proposals: No Con Name 2015 con cambios a la vista

Hoy mismo nos ha llegado a la lista de correo de la No Con Name el siguiente mensaje por parte de Nico Castellano:

Os quiero dejar un regalito y es el link del Call For Proposals para este 2015. Con esto os dejo unos comentarios antes de que cojáis la maquinita automática, anunciando algunas novedades antes de que preguntéis:
- Este año la entrada a la CON será gratuita. Aunque esto no quiere decir que tengamos que hacer alguna artimaña para obligar al asistente a que se comprometa a asegurar su plaza.
- No hemos confirmado fechas (aunque solo nos falta un OK) las fechas serán más o menos las de siempre (siempre las hacemos en las mismas fechas)
De lo relativo a la CON:
- El formato va a ser totalmente distinto, vamos a potenciar los talleres/workshop o como lo llaméis, esto quiere decir potenciar los hands-on labs, menos palabras, menos powerpoint y más tecla, código y participación "ven con tu portátil y sentémonos a aprender todos de todos".
- No quiere decir que dejamos de lado las ponencias, pero si que quedarán en otro lugar, así que si no es algo que creáis que realmente merezca la pena, no presentéis (con esto no quiero decir que os echéis atrás a la primera, escribidnos si tenéis dudas)
- No os cortéis.
El enlace: https://www.noconname.org/cfp2015/
Por lo tanto, ya sabéis!! Si tenéis algo que proponer... ahí lo podréis hacer.

Como de costumbre, recuerdo que todos los temas oficiales del evento, habrá que remitirse a sus contactos oficiales.

lunes, 6 de julio de 2015

Acceso SSH denegado: ¿Qué ha pasado?

Como ya sabréis, tengo una raspberry con un port de FreePBX para procesadores arm. Pues resulta que recientemente he tenido problemas para acceder por consola ssh. Hacía una temporada que no intentaba acceder por ahí, y desde hace una semana y pico que llevo intentándolo, pero nada.

¿Qué he hecho? Varios intentos, bastante infructuosos, la verdad.

El primero de todo, ha sido extraer la tarjeta del dispositivo, ponerla en mi flamante equipo nuevo, tirar de la herramienta FTK (Forensics ToolKit) desde Windows, y extraer algunos ficheros que podían ser de interes:
  • /var/log/ entero. Quería tener todos los logs posibles. En la búsqueda que hice de los que me parecían más importantes no encontré nada.
  • .bashrc_history de mis usuarios. Tampoco había nada que me ayudase.
  • Fichero de configuración del servicio de ssh: por si alguna cosa había cambiado. Nada.
Y yo como loco buscando qué había podido pasar. Intenté hacer varios cambios editando algunos ficheros de confirguación del ssh, pero no hubo éxito. Por lo tanto, ya me puse a hacer un backup a través de la consola de administración de la centralita y después, con Kali, hacer una imagen de la tarjeta. Incluso, con la imagen ya hecha, me atreví a hacer cambios en la configuración del servicio: permitir a root acceso directo, entre otros. 

También eliminé las claves que te guarda el putty al acceder al ssh. Y, aún ofreciendo guardarlas de nuevo, no hubo manera. 

Como no se me ocurría qué más hacer, me he puesto a buscar, y he encontrado una idea muy interesante: intentar acceder por sftp. Y, en efecto, así sí que accedo perfectamente. Por lo tanto, queda mirar qué está sucediendo. 

Haciendo memoria, y con alguna búsqueda más, me he dado cuenta de que una de las últimas veces que entré por ssh hice una actualización (una pena que el bashrc_history no te diga cuándo se ha producido cada línea). Voy a hacer un intento: "eliminar" las claves de ssh (renombrándolas, claro), pondré un fichero en la carpeta /etc/cron.d/ para que ejecute un script:






Todo esto, a ciegas. A ver qué resultado da. Después, a la vuelta, os cuento.

Algunos de estos consejos los he seguido a través de los siguientes enlaces:
Después de conseguir hacerlo funcionar (cuidado: asegúrate de que los ficheros contienen los datos, que me encontré con que uno de ellos se me había quedado vacío). Ahora, me está dando problemas incluso para que me ofrezca el usuario y la contraseña. Mensajes como "connection refused" o "Software caused connection abort" son algunos de ellos, dependiendo de qué cliente usase. 

Por lo tanto, volveré a cargar la tarjeta en el ordenador y haré una lectura, a ver qué más datos puedo sacar. 

Mirando los logs de /var/log/auth.log he podido encontrar comensajes  como:

sshd[13400]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
sshd[13400]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
sshd[13400]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key
sshd[13400]: fatal: No supported key exchange algorithms [preauth]


Por lo que buscaré dos cosas: si hay algo que se haya hecho o pasado a la hora de lanzar cron y qué claves hay en la carpeta del servicio ssh.


Lo primero que me encuentro es que el fichero /var/log/dpkg.log está vacío desde marzo. 

---

La mala pata de que todo lo de arriba no me funcionase, hizo que me tocase buscarme un televisor o monitor para poder ver qué me mostraba. Tuve que terminar haciendo dos cosas:

  • Eliminar el hash de mi usuario root y el mortal: aún con el usuario root, no me permitía cambiar la contraseña del mortal sin ejecutar la siguiente opción.
  • Resetar las claves de ssh: no sé por qué, pero me tocó volver a generar las claves.
Una vez se ah conseguido que la contraseña de root funcionase, ya están las decisiones a gusto del consumidor:
  1. Cambiar directamente la contraseña del usuario mortal.
  2. Cambiar la configuración de ssh para que te permitiese que root accediese y después de realizar los cambios de contraseñas de tus usuarios mortales, acordarse de volver a impedir que root pudiera acceder desde una conexión remota. 
Es más,  me tocó comprarme un teclado inalámbrico para poder escribir mientras lo miraba en el televisor. Incluso un lío más: como no tengo uno con HDMI, me tocó llevarme la rasp a casa de mis padres. Y la compra del teclado tampoco es una molestia teniendo en cuenta que para otro proyecto que tengo en mente me iba a hacer falta. 
Siento mucho que este post sea uno de esos tan caóticos. Pero que al menos, le pueda ayudar a alguien que le haya pasado lo mismo. 

martes, 9 de junio de 2015

Navaja Negra 5ed... CON la conectaCON

Copio y pego el correo que nos han enviado desde la organización de Navaja Negra. Este año, por lo que más querías, no os lo perdáis!!!

Buenas tardes:
Tal y como os prometimos, hemos abierto el proceso para que podáis echar vuestros CFP/CFT a la V Edición “NAVAJA NEGRA” o Edición “5 estrellas”…
Esta edición contará con el apoyo de CONECTA CON,  que se ha unido  a nosotros a fin de aunar esfuerzos y tener un punto de encuentro común como resultado de la proximidad geográfica  de  ambas  CONs,  fechas, objetivos, calidad de ponencias y talleres, etc.  Es  por  ello,  que hemos elegido el hashtag oficial #nnc5ed como unión de Navaja Negra y  Conecta CON.
La CON tendrá lugar en Albacete (Spain) dentro de la Escuela Superior de Ingeniería Informática de Albacete (ESIIAB) de la  Universidad  de Castilla-La Mancha del 1 al 3 de Octubre de 2015 ambos inclusive.
En esta edición queremos dar otra  vuelta de tuerca y tratar de hacer participar  a  todo  el  mundo.  Una  de las formas será compartiendo experiencias  tras  las  cenas  que haremos. En un recinto habilitado, cualquier asistente podrá exponer, compartir y divulgar aquello  que considere a los grupos temáticos que  se  formen en intereses comunes. Por ejemplo, si alguien quiere hablar de cómo ha resuelto un CTF, sólo tendrá  que  sacar  su portátil y contarlo  a todos aquellos que estén interesados. No será  necesario  enviar ningún CFP/CFT para ello. Sólo tener ganas de compartirlo con la Comunidad.
Nos encontramos buscando charlas y talleres  técnicos,  pero  lo  más importante es que *sean novedosos*, con  *temas interesantes* y si es posible, que no hayan sido anteriormente presentados en otra CON.  De ninguna forma aceptamos charlas o talleres comerciales o directamente relacionados con proveedores y/o fabricantes.
Hemos creado la “landing page” en http://nn5ed.navajanegra.com para que podáis estar al tanto de cualquier novedad. Desde ahí, os espera el CFP/CFT… Al leerlo, tendréis más información… ;)
Ah, y nos quedan todavía un montón de novedades por contaros… Estad atentos a las cuentas de twitter…
Un saludo,
Organizaciones de NAVAJA NEGRA y CONECTACON@navajanegra_ab@ConectaCon

martes, 2 de junio de 2015

Curso online Análisis Forense Digital en Profundidad

Hace unas dos semanas terminó el curso que, durante tres meses, impartía la empresa de Lorenzo (@lawwait), Securizame (@Securizame): Curso online Análisis Forense Digital en Profundidad.

Este curso, formado por catorce módulos, impartidos como norma general un módulo por semana, ocho horas cada módulo. Cada módulo tenía su propio profesor. Y alguno de ellos nos daba dos a lo largo de toda la formación.

Es muy importante recalcar que se hacía a través de la plataforma WebEx de 16H a 18H, horas a las que por desgracia, no podía acceder. Gracias a que se grababan las sesiones, uno se podía organizar el tiempo para poderlas seguir en diferido. Además, en la plataforma interna del curso (la podemos llamar, si queréis, "campos virtual"), para cada módulo se tenía acceso a la documentación de dicho módulo, herramientas distribuibles (es decir, que la licencia permitía compartirlas), enlaces de interés...

Como ya he dicho, no podía acceder en directo, pero tal y como se podía ver en el vídeo, la interactividad entre los alumnos (nosotros) y el profesor era directa a través del chat. Además, los profesores solían estar bastante atentos por si alguien preguntaba algo en concreto. Incluso, el mismo profesor hacía preguntas a los asistentes. Ya me hubiera gustado a mi poder responder alguna de esas preguntas... Pero en diferido...

Con respecto a los vídeos, las dos primeras semanas, dieron algún problemilla de calidad en la imagen. Pero en muy poco tiempo, lo arreglaron. Remasterizaron los ya editados y desde entonces, calidad suprema. También muy importante el saber que para poder obtener los vídeos, había que haber entregado un scan del DNI/Pasaporte con el fin de usarlo como marca de agua. Además, otros datos personales salían en forma de marquesina (como el famoso tag de HTML marquee), con el fin de evitar la distribución de los vídeos (a no ser que se quisiera todos los datos personales pululando por ahí). Una vez finalizada una sesión, a lo largo de la madrugada, llegaba el correo indicando que tu vídeo personalizado estaba disponible en tu propio área de descarga. Además, también había otro área para descargar las presentaciones utilizadas a lo largo de todo el módulo.

Una cosa muy, muy importante es que al finalizar un módulo, había que rellenar una encuesta. Es cierto que las encuestas de este tipo de formaciones son muy, muy importantes. Es lo que muestra qué hay que cambiar para mejorar o dejarlo tal y como está. Sobretodo, lo más importante de estas encuestas es el escribir y explicar tus impresiones. Para lo bueno, y para lo malo. Y, como nos explicó un compañero en la empresa que estaba en un departamento que se encarga de estas cosas, todo el mundo deja ese espacio en blanco siendo el más importante.

Mi recomendación para seguir este tipo de cursos: mientras tienes el vídeo abierto, tener, como mínimo, tres .txt abiertos: las notas (o apuntes), preguntas y comentarios que enviarás al profesor para la sesión en concreto, y, si acaso, comentarios de lo bueno y malo que vas viendo. Cuando se trate de las preguntas, asegurarse de marcar el tiempo aproximado de la sesión para que el profesor pueda revisarla y ponerse en situación para que te pueda responder con la mejor exactitud posible.

¿Qué tiene de diferente un curso de este tipo con respecto a uno presencial? Los últimos cursos de este tipo que hice presenciales fueron hace muuucho tiempo. Como cada cosa, tiene sus pros y sus contras. Los pros de tener los vídeos y el material es que puedes revisarlo siempre que quieras. Te puedes organizar para realizarlo, siempre teniendo en cuenta los tiempos máximos que te dan para finalizarlo (y que no se te eche el tiempo encima). Las respuestas las tendrás guardadas en los correos que te llegarán. Con el material adecuado, se puede ir replicando lo que va haciendo el profesor y, si tienes algún problema, tirar para atrás el vídeo para repetir lo que haga falta (lo sé: en directo hay que "levantar la mano"). Los contras: a veces las preguntas te las encuentran un poco tarde (no siempre está la pantalla del chat a la vista). Si fuese presencial, el profesor vería las caras de poker... En "remoto"... Al no  tener que ir a un sitio en concreto, daría pie a ir dejando pasar algunas sesiones, y después el tiempo se te echaría encima. Si es un directo por WebEx, te podría dar problemas alguna práctica, y después seguir el hilo... En presencial, al menos, podrías avisar y ahí verían mejor qué estás haciendo mal para ayudarte. Lo bueno de verlo en la comodidad de tu casa es esa: es la comodidad de tu casa. En presencial, toca ir corriendo de un lado a otro, que si tren, que si bus, que si Metro, que si... Y si vas cargado con un mamotreto de portátil, ya ni te cuento. Algo que con este sistema no te pasa. O es entre semana, son las 22:30 y aún te toca una hora de viaje para volver a casa. También, siendo presencial, conoces a tus compañeros en persona. Y de éstos se puede aprender mucho, cosa que es bastante más complicado que pase vía WebEx. Sobretodo: si tus tiempos están muy ajustados, recomiendo bastante esta modalidad de formación. Si puedes entrar en directo, genial (seguro que alguno de los que estuvo en directo podrá dar su impresión), y si no, en diferido, recordando que es mejor seguir los tiempos en la medida de lo posible.

¡¡Menuda parrafada!! Seguro que vosotros tenéis otra visión de ambos formatos para la formación. ¿Vosotros qué opináis?

lunes, 11 de mayo de 2015

Tomando posesión en Windows 8.1

Esta entrada es algo que seguro, seguro, la mayoría de vosotros conocéis.

Como sabréis, hace una semana tuve que comprarme un portátil nuevo porque el anterior murió. Al menos, no había manera ni de que me sacara el POST. Ayer domingo le saqué el disco duro y lo introduje en una caja para convertilo a USB, la cual compré junto con el nuevo equipo.

Con el antiguo disco ya convertido de SATA a USB, lo conecté al ordenador. Y el antivirus me informó de que había bloqueado un autoruns.inf. Precisamente se encuentra en la partición destinada a un recovery que ni siquiera en el anterior equipo tenía utilidad. Por lo que me dispuse a eliminarlo. El problema: no tenía permisos, porque el usuario propietario, no existía:

Usuario desconocido
Usuario desconocido

Como podréis ver, me está mostrando el SID del usuario propietario. ¿Y qué puedo hacer? Tendrás que ir a las opciones avanzadas, y en el recuadro que muestre:

Configuración de seguridad avanzada para...
Configuración de seguridad avanzada para...

tendrás que cambiar el propietario haciendo click en el enlace que muestro con el recuadro en rojo. Así, te mostrará el la ventana en la que podrás buscar al usuario que quieras asignar como propietario:

Seleccionar usuario o grupo
Seleccionar usuario o grupo
Mi recomendación: poner el nombre del usuario completo. Si no, te mostrará otra ventana (de la que no hice captura) y te tocará hacer más búsquedas.
Una vez hayas aceptado cada una de las ventanas, el usuario propietario debería de poder realizar más acciones, a no ser que el fichero tenga algunas propiedades que lo impidan (otra cosa que no tuve tiempo de investigar).

Cuando vuelva a tener el disco a mano, podré seguir jugando con él. Además, tengo más ideas en mente para otras cosas.



lunes, 4 de mayo de 2015

Nuevo portátil: HP Pavilion x360

Hace dos semanas el otro portátil que tenía, un HP Compaq 6745b:

HP Compaq 6745b
HP Compaq 6745b
Os podéis imaginar que cuando el equipo enciende, pero no saca el POST (Power On Self Test), no aparecía (ni aparece), a uno casi le da un algo. Por lo tanto, casi rápido un corriendo, a comprar un nuevo equipo. Lo compré en unos grandes almacenes muy conocidos y con un gran servicio postventa y con unos dependientes muy atentos. El mío lo fue. 

Por lo tanto, viendo las distintas posibilidades, me di cuenta de que prácticamente todos los equipos de los que podía disponer, tenían prácticamente las mismas características. Por lo tanto, me decanté por otro HP: HP Pavilion x360

Estas son las fotos del umboxing que hice:

HP Pavilion x360 embalado
HP Pavilion x360 empaquetado

HP Pavilion x360 desembalado
HP Pavilion x360 desempaquetado

HP Pavilion x360 desembalado y sus cables
HP Pavilion x360 desempaquetado y sus cables

HP Pavilion x360: embalado
HP Pavilion x360: embalado
HP Pavilion x360: desembalado
HP Pavilion x360: desembalado

HP Pavilion x360: abierto: teclado tapado
HP Pavilion x360: abierto: teclado tapado

HP Pavilion x360: abierto: teclado destapado
HP Pavilion x360: abierto: teclado destapado

En estas dos semanas que llevo utilizando el equipo, tengo unas cuantas quejas. Las dos que son independientes del sistema operativo, Windows 8.1, están relacionadas en cómo están distribuidos los botones y las teclas del equipo. Vamos a hacer una comparación:

Comparación teclados portátiles HP
Comparación teclados portátiles HP
Si os fijáis, podéis ver que la barra espaciadora del nuevo equipo es más alargada, lo que obliga a que el botón "Alt+Gr" esté más desplazado a la derecha. He fallado bastantes veces en utilizarlo porque el pulgar hay que doblarlo bastante más de lo normal. Es muy, muy incomodo. Eso es un punto en contra. Otro punto en contra está relacionado con el touchpad y los botones. Para empezar, que es más sencillo de explicar, el tacto de los botones no me termina de gustar tampoco. Además, el otro detalle es que al ser más grande, es mucho más sencillo de tocarlo con las manos apoyadas en el equipo, lo que hace que el puntero termine en otro punto de la pantalla y, por lo tanto, el cursor se desplace. No sería la primera vez que estoy escribiendo algo, empezando una línea, y de repente, se me vaya a otro sitio. 

Por lo demás, que ya estaría relacionado con el sistema operativo y los programas instalados, he desinstalado unas cuantas cosas, pero aún me queda por quitar bastantes más. Y recuperar los datos del anterior disco duro para pasarlos a este. Con el problema que se me va a plantear y que tengo que estudiar el cómo distribuir unos datos de un disco duro que ahora mismo ya tiene más particiones de las deseadas y que el sistema de arranque UEFI me la ha liado al querer arrancar con un lector de DVD externo. 

Ya haré una segunda review sobre las otras dos formas de utilizar este equipo.



domingo, 8 de marzo de 2015

Crónicas: RootedCon 2015, día 3

El último día de la RootedCon 2015 no fue menos interesante que las dos jornadas anteriores. Una vez más, fui al hotel en transporte público, tal y como ya hice los dos días anteriores. 

La primera ponencia que tuvimos fue la que dio Miguel Tarascó, (@Tarlogic y @AcrylicWifi). Su ponencia trataba sobre la problemática de que uno se descargue los códigos fuentes o librerías y no revise si éstos contienen alguna instrucción que nos produzca algún daño o se descargue algún tipo de código sin que nos enteremos. Sobretodo el problema está códigos que tengan muchas líneas y/o dependencias (que a su vez también sean muy extensos). O, los IDEs de desarrollo que a la hora de previsualizar los componentes o, incluso, compilar código, se ejecuten y se lancen cosas que no debieran. Una lista  de elementos que podrían ejecutar líneas embebidas en el código fuente podrían ser gestores de compilación (make, Gralle, MsBuild) e IDEs (Android Studio, Visual Studio). 

La siguiente ponencia, aunque en el tweet que puse yo dije que hablarían "de casinos" (por el título de la ponencia), realmente hablaban de traders de banca. De la mano de Pablo Casais (@pcasais), pudimos ver cómo haciendo un poco de ingeniería inversa y social, se podía terminar consiguiendo crear un contrato (que en teoría sólo lo puede hacer un perfil de usuario determinado) y "ejecutarlo" para que se lleve a efecto (que, una vez más, lo debería de hacer otro usuario distinto). La teoría dice que es un control para evitar que alguien se lleve pasta o se realicen operaciones arriesgadas. Algunas notas que pude tomar es que hay motores que dependiendo del país o, incluso, del proveedor que lo va a usar, permite poner una interfaz gráfica u otra. Tenían granjas de servidores, entre otros de ficheros. También el código fuente de la aplicación o, incluso, acceso a la base de datos (cuyas credenciales pudo sacar, en parte, del código fuente y haciendo ingeniería social). Total: pudo enviar contratos sin autenticar e, incluso, cambiar el destino de la pasta. 

En el descanso tuve la oportunidad de visitar alguna de las salas donde estaban haciendo @X1RedMasSegura. En la sala donde estaban era la de los (muy) jóvenes, pude ver a . Allí sólo estaban los niños de hasta casi 9 años. Tal y como decían, y es cierto, no estaban aquellos para los que realmente era de esperar: los adolescentes, que eran los destinatarios. También vi muy contento a Longinos padre (@LonginosRecuero), como de costumbre. Además, tuvo la oportunidad de dar una charla para los yayos digitales. 

Ya después del descanso, y con unas cuantas conchas Códan en el cuerpo, David Pérez y José Picó, con su empresa Layakk (@layakk) nos hablaron de las herramientas que montaron para un trabajo que tuvieron que hacer para una empresa. Al final, script a script, fueron tirando del hilo: correlacionar los puntos de acceso de la zona con los probes de los dispositivos de la zona (sobretodo de los bares), con unos auriculares y unos pitidos según uno se acerca o se aleja de la zona determinada, unas antenas en "la meleta" de una moto para dirigirlas a la zona deseada (los puntos de acceso deseados)....

Al finalizar esta charla, y antes de pasar a la siguiente, Deloitte CyberSock (@Deloitte / @Deloitte_Spain), de la mano de Pedro (@NN2ed_s4ur0n) sortearon formaciones su academia: una completa y 4 de medio día. 

Hugo Teso (@hteso), una vez más, nos habló sobre temas de aviones. Aunque antes, en previsión de la duración de su exposición, tal y como ha sucedido otros años, la organización nos trajo unas cuantas cajas de pizzas, allí, al escenario. 


Al final, resulta que estaban vacías... Lo importante es informar sobre su exposición ¿O no? En esta ocasión, ésta iba sobre simuladores de vuelo, tanto para aviones "pequeños" como comerciales. Estos simuladores, además de tener temas de vuelo, también simulaban aerolíneas. Nos habló sobre la explotación y post-explotaciones de los sistemas, los cuales podrían correr en prácticamente cualquier arquitectura: ARM, x86, x64. Sobretodo un requisito es que los simuladores sean lo más realistas posibles. Algunos de los ejemplos que puso, además de un mapa con los aviones de los que podríamos disponer como aerolínea, eran manipulación en hexadecimal y debugueando. Algo que como ya sabréis, no es mi fuerte que digamos. Alguna de las herramientas nombradas son bastante conocidas: IDA, Radare2... La última parte fue el proyecto que está montando para que haya más personas que tengan curiosidad puedan ponerse a investigar este tipo de cosas. Y así, "el año que viene, sea otro el que pueda hacer la ponencia sobre aviones" (más o menos parafraseado). 

Eduardo Arriols (@_hykeos) nos habló de cómo se pueden bypasear o saltar las medidas de seguridad física de un edificio. Es decir: la diferencia entre la intrusión física y la lógica. Nos fue poniendo una serie de ejemplos: las puertas con alarma cuando se abren [ponerle un buen imán en el sensor), los sensores con láser o infra-rojos (enchufarle con un puntero láser en el detector), los detectores de alarma de movimiento (si son por por temperatura, ponerse encima una manta térmica de esas que se ponen en los accidentes o del Decathlon), Los antecedentes para llegar a estos ejemplos: hay que tener una estrategia bien definida, Y muchas veces no se tienen en cuenta todos los tipos distintos de seguridad: social, lógica o física. Esa estrategia estará formada por: una definición del objetivo, localización de la información, analizarla, reconocer el lugar, entrar en el entorno, planear qué se va a hacer, ensayar de alguna forma y terminar entrando al lugar. 

Después fue Chema (@chemaalonso) quien dio una charla sobre el proyecto que llevan desde ElevenPaths (@ElevenPaths) llamado path5 ó, tal y como nos adelantó, nombre provisional Tacyt. Nos puso diversos ejemplos de qué fueron descubriendo en algunas aplicaciones móviles maliciosas y sus creadores. Es un proceso en el que se descargan todas las aplicaciones gratuitas (las APKs) y después hacen un gran procesado con ellas. Lo que últimamente se hace llamar datamining

La siguiente charla la dio Raúl Siles (@raulsiles) fundador de Dinosec (@dinosec). Si el año pasado ya nos habló de forzar a actualizaciones de una versión determinada en móviles iPhone, este año le ha tocado a Android (la distribuida por Google, no las cocinadas como Cyanogen o las que ponen los fabricantes y las operadoras). Para ello ha hecho una división de los servicios de los que constan los dispositivos: GPS (Google Play Services) y GSF (Goolge Services Framework). Según se van actualizando éstas, que lo hacen de forma independiente al sistema operativo, se encargará de la actualización del mismo uno de estos dos servicios. Un comando destacable en la consola sería adb logcat con sus distintos parámetros. Total, que poco a poco pudo conseguir forzar la actualización a una versión anterior (la 4,4,3). Aunque le entendí que quiso probar a alguna versión más antigua, parece ser que no fue posible. Eso sí, en gtihub ha puesto unas cuantas herramientas, como por ejemplo, un plug-in para burp.

Antes de la siguiente ponencia, nos comunicaron que tendríamos licencias para algún producto más de Tarlogic. Y en algún momento también nos sortearon 3 jamones que según el tamaño de la caja, debían de ser muy grandecitos. 

Y, la última charla de este año fue la que nos dio Adrián Villa (@AdriVillaB), que estaba relacionada con el DRM de las distintas plataformas de video en streaming y cómo controlan si para una misma cuenta hay varios usuarios "abusando" para ver los contenidos. De las distintas plataformas que probó (Orange, Nubeox, Wuaki.TV, TotalChannel y Netlix), menos la última de todas, las demás pudo engañar al sistema, con más o menos facilidad, para poder visionar el contenido cuando en teoría debería de estar controlada esa casuística. Eso sí, nos informó que tenía las cuentas de pago. La gracia estaba en que, en general, había que conseguir "impersonalizar" al usuario de pago para poder visionar los vídeos. Después, con un ejemplo como una plataforma web, se podrían mostrar a cualquiera sin ningún problema. Recordemos que simplemente era una prueba de concepto y nada más. 

Y ahí ya terminó la RootedCon 2015:


El año que viene, seguro que viene con más contenido tan interesante como este año y los anteriores. ¡¡Allí os espero!! Y... ¿Cuál será el próximo evento en el que nos veamos?




sábado, 7 de marzo de 2015

Crónicas: RootedCon 2015, día 2

Hoy viernes, de nuevo a la RootedCon 2015. Podemos destacar que hoy nos han hecho unas cuantas PoCs más que ayer.

Antes de la primera ponencia, Román nos ha hablado de la asocicación ANSI (Asociación Nacional para la Seguridad de la Información), para intentar hace un poco de lobby y que se hagan leyes coherentes relacionadas con la seguridad informática.

La primera ponencia la ha hecho Alfonso Muñoz (@mindcrypt), en el que nos ha contado su investigación sobre esteganografía aplicada al market de Google y a las aplicaciones publicadas. Además de hacer pruebas de enviar imágenes con esteganografía (.jpg y .png), también se ha descargado una buena muestra de éstas, y las ha analizado para saber si se escondían cosas, como código maligno, texto, etc... Nos ha hablado de diversas técnicas muy conocidas, como el famoso bit menos significativo. De hecho, parece ser que en el caso de los .jpg, aparecen problemas bastante conocidos en este blog, como cuando me cambiaron las imágenes del reto que monté. Nos ha comentado que estadisticamente, las aplicaciones con más permisos... son la que tienen menos probabilidad de ser (o contener) código malicioso. O las que tienen una descripción muy pobre también tienen más papeletas de serlo. De hecho, otra forma de ocultar este tipo de código se encuentra en la carpeta de resources de estas aplicaciones. Incluso se ha encontrado con que hay aplicaciones que se descargan bases de datos... que contenían recetas de hachís escritas en turco.

La siguiente charla la ha dado Carmen Torrano (@ctorranog), que nos ha contado su estudio para la tesis que está haciendo sobre WAFs (Web Application Firewalls). Estas aplicaciones tratan de comprobar que toda la información que recibe una aplicación web es inocua o, en caso contrario, muestra al usuario algún mensaje de error. Los motores de estas aplicaciones pueden trabajar de distintas formas: con métodos estadísticos (o ¿estohastico?), que es el que hay que enseñarle previamente para que sepa qué tiene que filtrar y qué no. Otra posibilidad es trabajar con "machine learning". Este método tiene una fase de pre-carga: que nos lo ha llamado "feature learning" y "feature selection". Para, más adelante, el momento de procesamiento. Al final, lo que propone es hacer una mezcla de ambos métodos, en los que ha obtenido, con los datos con los que ha trabajado, mejores resultados.

Tras el desayuno, hemos tenido a Abel Valero (@sanguinawer) nos ha hablado de cómo, después de perder unos vídeos de WebEx que tenía cacheados en su disco duro, pudo recuperarlos poco a poco, tirando de software de recuperación de datos y, más adelante, ir haciendo un poco de reversing de las cabeceras de inicio y fin de fichero. ¿Cómo lo hizo? A partir de unos ficheros que tenían estructura de .wav y con Radare2, entre otras herramientas. Al final, a partir de un poco de código, consiguió añadir los datos necesarios de cabecera para poder reproducir los ficheros correctamente.

Julián Vilas (@julianvilas), nos ha hablado de las distintas vulnerabilidades que se le encontraron a Struts, tanto la primera versión (que no sabía que se había discontinuado en el 2013) como la versión 2. Entre otros problemas, se ha hablado del CVE-2014-0114. Y de los distintos parches que se le fueron añadiendo a lo largo de los años para parchear cosas que el anterior parche tendría que haber parch... solucionado. Una de las cosas que no ha comentado ha sido la posibilidad de llamar a métodos muy empleados en la reflexión, tales como el getClass y sus submetodos, permitiendo setear datos, como, por ejemplo, URIs erroneas.

Ricardo Rodriguez (@RicardoJRdez) y José Vila (@cgvwzq) nos han hablado de la posibilidad de crearse una pasarela con dos móviles de la forma que uno de ellos lea una tarjeta de crédito NFC, le envíe información a otro móvil, y ese otro móvil, con un software determinado y cerca de una datáfono que lea NFC, realizar el pago con cargo a esa tarjeta. Incluso ponían el ejemplo de poder hacer la lectura y enviar un mensaje a otro móvil de forma remota para que éste pudiera hacer posteriormente la transacción bancaria. Eso sí, si uno se cantea, la tarjeta quedará bloqueada por el banco. Para contarnos su ponencia nos han puesto en antecedentes, con el estándar del NFC (por ejemplo, que va a 13,56 MHz), o que hay fabricantes que sólo cumplen parte de las especificaciones y otra parte la hacen propietaria. También el uso del estándar EMV para el uso de tarjetas bancarias y el hecho de que para realizar este ataque no hace falta ser root.

Justo después de hablarnos de este ataque realizado con Android, ha llegado Sebastián Guerrero (@0xroot) para hablarnos de la forma en la que Apple guarda cierta información de la huella digital (TouchID) y su explotación para el Apple Pay. Según podemos resumir, para Apple soncompletamente seguros e inaccesibles los datos de la huella capturada con el sensor, empleado para desbloquear el teléfono, hacer micropagos, doble factor de algunas aplicaciones. Pero resulta, que si se busca, está la posibilidad de activar el modo debug del lector. Y con este modo puesto a on, se accede a todos los datos de la huella: cuántas veces se ha capturado, la posición.... De tal forma que esos datos se podrían utilizar para bypasear la protección para la que estaban pensados.

Después de los móviles, Alejandro Ramos (@aramosf) nos ha hablado de 6 formas de atacar una empresa y las 6 formas de defenderla ante esos ataques. Además, ha hecho una encuesta que se tenía que rellenar a medida que iba haciendo la ponencia, pero en mi caso, no me ha sido posible rellenarla. Los problemas: con las credenciales, el sofware ataques de red, privilegios, introducir o llevarse datos de la empresa...  Estos son los distintos problemas que uno se puede encontrar en una empresa. ¿Soluciones? Modificar el Ptsfit.dll o usar doble factor, parches y alertas sobre SW, ARP inspection o DHCP snooping o NAP, eliminar el acceso a las consolas a quien no le haga falta, y, por último, inspeccionar el SSL de las navegaciones o evitar ciertos dominios como los que se hayan creado hace menos de 20 días.

La siguiente charla la ha dado José Selvi (@JoseSelvi) nos ha hablado de HSTS (Http Strict Transport Security). De lo que se trata es que los navegadores, ya sea por una lista pre-cargada, o porque el servidor lo indique, tiren de HTTPS durante un tiempo determinado. Si después no se le indica lo contrario, trabajarán en claro. Su idea es, haciendo un ataque Man In The Middle, forzar a que el horario de la máquina tenga una hora que se corresponda con un instante de tiempo en el que ya debería de funcionar en claro. Como hoy en día los sistemas operativos ponen su hora con NTP, sólo hay que forzar a que pongan la hora de nuestro servidor horario. Así podremos realizar el ataque a los datos que transmita en la navegación. Hay que tener en cuenta los distintos comportamientos según el sistema operativo. Por ejemplo, si Windows detecta más de 15 días (¿o son horas?), rechaza el cambio. Nos ha hablado de las distintas conversaciones con Google y el comportamiento del Chrome.

La última charla ha sido la de Eduardo Cruz (@edcrossed), el cual nos ha hablado de cómo ha podido hacer ingeniería inversa al chip de una consola arcade. Para ello ha necesitado, entre otras cosas, una serie de ácidos muy nocivos y mortales para poder "agujerear" la cerámica que recubre los transistores que forman el chip de la consola, además de necesitar un microscopio magnético (o profesional). Nos ha enseñado cómo con un emulador, y a base de los que ha ido descifrando de los distintos transistores (según la transparencia, si me acuerdo bien, NPN). Porque, el problema estaba en que esas máquinas tenían una cucaracha que era la que se encargaba de dar la clave para que se pudiera arrancar la máquina. Y al terminarse la pila, esa clave se perdía, quedando la tragaperras inutilizada. Gracias a esta ardua labor, durante más de 6 meses, y con un "descifrador" que se ha montado con una placa Arduino, ha podido conseguir su objetivo.

Y esto ha sido todo lo que se ha contado hoy viernes.  Mañana sábado, más.

jueves, 5 de marzo de 2015

Crónicas: RootedCon 2015, día 1

Hoy ha sido el primer día de la RootedCon 2015.

Después de decidir ir en transporte público, la mejor opción ha sido tirar para la estación de tren de San Fernando desde Atocha. Una vez en San Fernando, iba a buscar un taxi cuando he visto un autobús. Después de preguntar, me han comunicado que con el bus 281 llegaría al hotel Auditorium, donde se celebra el evento por segundo año consecutivo. Ha sido subirme al autobús, y en unos 5 o 7 minutos estaba en el hotel. Ha sido casi visto y no visto.

Lo bueno de estar en este hotel es que el aforo de la sala es muchísimo mayor, por lo que habrá mucha menos gente de la que quiere asistir que se quede en tierra sin posibilidad de conseguir una plaza. Lo malo: que está un poco a desmano de todo. Hay una autopista (o autovía, lo mismo da) en medio, y no es que se tengan muchas posibilidades o facilidades para la comida. A ver, nos han conseguido unos tickets para poder comer allí mismo en el hotel (****) por 20€, si no recuerdo mal, en bufet. O la posibilidad de llamar a comida a domicilio, que te la llevan casi, casi hasta adentro del hotel (el año pasado, unos cuantos lo hicimos). Mi posibilidad ha sido llevar unos bocadillos y me los he comido mientras que los compañeros pedían el suyo en el sitio del año pasado.

A lo largo del día te vas encontrando con todos los compañeros de los demás años. Que eso está muy bien.

¿Qué hemos podido ver en este primer día?

Como de costumbre, lo primero de todo es la keynote. Además de darnos la mala noticia de que Aladdin había fallecido, Román (@patowc) nos ha detallado, en la medida de lo posible, en qué se destina la cuantía de las entradas. Parece ser que hay intentos de conseguir las entradas al precio reducido sin realmente tener "derecho" o sentido para ello. Ejemplo: Pedir entrada de estudiante y después emitir factura. ¿Estudiante o profesional? Además, nos han dado las estadísticas de las visualizaciones de los vídeos, tanto en Vimeo como en Youtube. Y la importancia de que, con la traducción simultanea, ya está el doblaje hecho, por lo que llega antes a otras partes del mundo y no es tan sencillo que se fusilen los trabajos hechos en la península.

Con la keynote terminada, empezó su charla David Barroso (@lostinsecurity). Su charla ha tratado sobre los distintos sistemas de arranque de los ordenadores (en general): la BIOS y la UEFI. Ha dado un repaso a la historia de la BIOS. Por ejemplo, cómo se pudieron infectar las primeras BIOS y para resolver el problema, se añadió una de reserva, para sobreescribir la principal si se veía corrupta. Y cómo se pudo saltar esa protección (dual BIOS), por lo que se saltó a lo que llamaron quad BIOS (además del anterior sistema, tirar de un CD con la flash y un software para sobreescribirla si fuera necesario). Como ejemplo de "ataque" a la BIOS nos ha puesto un fragmento de una serie en la que muestra cómo la empresa Phoenix hizo ingeniería inversa para sacar el código de la BIOS de IBM. Nos ha dado una visión que tiene con respecto a los rings del sistema. Como sabréis, se suele hablar de anillos para las zonas del sistema donde se puede acceder. El ring 0 (cero) es kernel. Pues ha pasado a hablarnos en números negativos (-1 [hypervisor], -1,5 [los botkits entrarían aquí], -2 [modo SMM de los microprocesadores], -2,5 [ls infección de estas PROMS va aquí] y -3). Ha pasado por la historia de las distintas infecciones de estos chips, desde el 94, pasando por el 2007, incluso llegando a finales del año pasado.

Después de un buen descanso, y con unas cuantas conchas Codan en el cuerpo, el fiscal Jorge Bermúdez (@ender_halon) nos ha dado otra ponencia estupenda sobre leyes y hácking ético. Ha recalcado que ha hablado de temas sobre la ley de enjuiciamiento criminal, no la penal. En estos temas siempre insisten en la desactualización de la ley: 1882. Y todos los parches que se le han ido haciendo. Sobretodo en la posibilidad de abrir las cartas por parte de un juez y en presencia de su secretario, como primera versión. O su primer service pack, autorizar a escuchar las conversaciones telefónicas (¿o eran telegráficas?), como un primer SP. El siguiente punto es el anteproyecto de ley, de lo que ha tratado el resto de su ponencia. Sobretodo ha recalcado distintos ejemplos y el problema de que las leyes anteriores siempre hablaban de temas físicos. Como ahora en las comunicaciones también influyen los ordenadores, software, etc, se ha incluido en el anteproyecto la posibilidad de interceptar, no sólo lo que involucra el tema físico, sino también lo lógico y virtual. Este tema permitiría pinchar, por ejemplo, la telefonía VoIP. O cómo legislar el uso de bichos por parte de la policía. O cómo gestionar la "identidad fingida" por parte de un agente en internet. Y muchos más supuestos, pero estos son bastante descriptivos.

El siguiente ponente, que era Christian López, no ha podido hacer su ponencia.

Andrej Dereszowski, (@deresz666) nos ha hablado, en un perfecto inglés, del que he podido entender bastante a oído descubierto (sin pinganillo para la traducción simultánea), nos ha hablado de un rootkit llamado Turla. La problemática al principio (y muy típica), de que las casas antivirus lo llamen de una manera o de otra. Nos ha hablado de distintos nombres que ha recibido a lo largo del tiempo (AgentBTZ en 2006, Pfinet en 2009 y Snake en 2011). Pero también, me ha parecido entenderle que para él, son bichos distintos, ya que funcionan de manera diferente, y nos ha enseñado esas diferencias. De hecho, parece ser que había un sistema de repositorios en los que se pudieron encontrar nombre de desarrolladores del bichito. Los ataques empleados solían tener 4 fases, de la 0 a la 3. Mmmh... Como curiosidad: un amigo suyo fue infectado este APT. Le daba un pantallazo azul. Cuando fue a hablar con la casa de antivirus, le dieron un parche... Y así, este rootkit se hacía estable en sus sistema.

Yaiza Rubio (@) y Féliz Brezo (@febrezo) nos han habado de distintos tipos de carteras para las criptomonedas y sus distintos tipos de ataque. Los tipos de carteras: Genéricas/Random, validity, mentales y multifirma (varias personas firman para realizar la transferencia). O el almacenamiento: local, mental y en la nube. También han pasado por los distintos criterios para dar prioridad a la transferencia: la cantidad elegida (a más cantidad, más prioridad), el tiempo que lleva en la cartera (cuanto menos tiempo, más prioritario), Han propuesto tres retos, de los que parece, según he podido leer, que ya se ha resuelto como mínimo, uno de ellos.




Y después hemos tenido la mesa redonda, que como de costumbre, ha tenido mucha chicha. De lo más importante que se ha hablado, además de preguntar a los que la componían, si eran hackers (cada uno ha dado su opinión), el tema candente ha sido si hace falta tener un carnet o autorización especial del gobierno para serlo. El problema viene porque el lobby de las empresas de seguridad privada quieren que se tenga que pedir un permiso especial por parte de la empresa que quiera realizar las auditorías de seguridad, y que cueste una pasta. Además, no se podrían hacer siendo autónomo. Y haría falta que hubiese en la empresa un director de seguridad con nosecuantas certificaciones y cada empleado tiene que tener el carnet... Son varias cosas más, pero, así, en síntesis, es eso.

Así, lo más sintetizado posible, es lo que nos han contado hoy. Mañana viernes, más, y seguro que, como mínimo, igual si no mucho mejor.

lunes, 23 de febrero de 2015

X1RedMasSegura en RootedCon

Según he podido leer tanto en Flu-Project como en el blog de Angelucho, y en Security by Default, la organización de X1RedMásSegura estará presente en la próxima RootedCon 2015.

Hoy en día es muy necesario que todo el mundo entienda los peligros y el funcionamiento de las tecnologías. Por eso, desde la organización, hacen un esfuerzo para que los más vulnerables, entiendan dónde se encuentran los peligros, si es que los hay, y cómo actuar ante ellos.

Todo el mundo es bienvenido: los nativos digitales, que son vulnerables por su corta edad, y que no tienen la suficiente madurez para saber cómo actuar ante ciertas situaciones. Los no-nativos digitales, que tienen que comprender que hay ciertas situaciones en el mundo digital que también tienen sus peligros, tanto para ellos, como para los jóvenes a los que tienen a su cargo. Para que estos adultos puedan enseñar el correcto uso de las tecnologías a estos adolescentes.

De todo ello se encarga la organización X1RedMásSegura. Y mucho más. Si sabes de alguien que pueda estar interesado y que pueda ir, sólo tendrá que visitar los enlaces que he puesto más arriba y les deseo que esas jornadas les sean de mucha utilidad.


lunes, 16 de febrero de 2015

Review: Pentesteing con Kali

Hacía tiempo que tenía este libro. Pero con lo típico que los vas acumulando y después te retrasas en empezarlos, pues hasta hace unas pocas pocas semanas no he podido leérmelo.

En esta ocasión, me he terminado este libro en relativamente poco tiempo. He de decir que ha sido una lectura del tirón, por lo que no he me he puesto a probar las cosas que en él se exponen.

o primero de todo, dar mi henorabuena a los autores: Pablo González (@pablogonzalezpe), Germán Sánchez, Jose Miguel Soriano, Jhonattan Fiestas y Umberto Schiavo.

Como suelen hacer en otras ocasiones, la distribución de los capítulos por temática me ha parecido muy acertada. Además, nunca está de más repasar cada una de las partes de las que consta una auditoria, algo que si uno no se dedica profesionalmente a ello siempre se quedan unos cuantos flecos sueltos.

En cada capítulo nos van mostrando, como norma general, el uso de las herramientas de una forma bastante acertada y con bastantes pantallazos. En alguna ocasión muy, muy concreta me dio la sensación de que faltaba alguna captura más, pero sabiendo de qué se trataba yo no hubiera tenido problemas. Y dado que es un libro técnico, casi todo el mundo lo hubiera podido sacar sin apenas problemas.

Hay otro pequeño detalle que tengo sentimientos encontrados. Por un lado, en diversas ocasiones han tirado de BurpProxy. Que a lo mejor había otra herramienta incluida en Kali que podría haber hecho lo mismo. Lo bueno es que, como con Burp sólo he usado para una cosa en concreto y no sabía que fuera tan potente y tuviera tantas cosas, tendré que meterle caña para sacarle más partido. Por lo que sabiendo el nombre de la herramienta para un propósito determinado, con el libro tendré un buen manual de consulta con el que mejorar mis conocimientos de este proxy.

También tenemos un capítulo que lo dedican prácticamente a la explotación de vulnerabilidades con Metasploit. Incluso alguno de los ejercicios era el que nos montaron hace unos cuantos años en el Hands On Lab desde la ya desaparecida Informática64, formación impartida en aquel entonces por Pablo.

Algunas de las cosas que ha conseguido que me acuerde bastante bien, porque me suele dar muchos problemas, es cuando se quiere inyectar SQL y te están filtrando los campos para que no puedas introducir una sola comilla. Siempre que he querido buscarlo no he tenido éxito y aquí he encontrado la solución, que era bastante más sencilla y una (soberana) chorrada: convertir a hexadecimal la cadena que quieres inyectar.

Ciertamente el tener el libro ayuda bastante para saber qué se puede hacer con todas esas herramientas de las que consta la distribución. Como ya he dicho en alguna ocasión, he lanzado Kali para realizar algunas tareas que me hacían falta. Pero alguna que otra vez, sí que me hubiera venido bien saber que ahí las tenía.

Para aquellos que habéis tenido la oportunidad de leerlo: ¿Qué opináis vosotros?

lunes, 9 de febrero de 2015

VSE Vostreran: ProcessExplorer y Autoruns

Por desgracia, no tengo capturas hechas en vivo cuando me tuve que pegar con este riskware.

Recientemente he tenido que hacer una asistencia en la que el equipo, con un Windows 7, nada más entrar, además de pedir la clave de licencia (que ya estaba activada), no mostraba nada más una vez se solicitaba volverla a introducir más tarde.

Una de las primeras cosas que hice fue buscar algún disco de arranque con un antivirus para intentar hacer un análisis rápido. El problema estaba en que el CD era bastante antiguo (mucho), por lo que mientras se perdía el tiempo en descargar todas las actualizaciones necesarias, yo invertí el mío en buscar varias herramientas que me harían falta.

Una de ellas, como no, iban a se las sysinternals. De éstas, casi siempre suelo tirar de dos de sus programas: el process explorer y el autoruns. Además, y no recuerdo si lo hice en esta etapa o ya con acceso al sistema, tuve que hacerme con el programa product key de NirSoft.

Una vez pude pasar el antivirus en modo offline las carpetas del sistema y pude escoger qué eliminaba, o qué dejaba ya estaba más o menos en situación para arrancar el sistema.

Con el sistema arrancado, pero inutilizado, lo único que podía hacer era abrir el administrador de tareas a través de la combinación de teclas Ctrl+Shift+Esc:


Administrador de tareas o task manager: Ctrl+Shift+Esc
Administrador de tareas o task manager: Ctrl+Shift+Esc
Una vez abierto, pude arrancar desde Archivo --> Nueva Tarea una consola:

Nueva tarea: cmd
Nueva tarea: cmd
A partir de aquí, lancé las dos herramientas mencionadas antes. La primera que me puse a mirar fue autoruns. Me permitió desactivar ciertos programas que no tenían por qué lanzarse. 

Autoruns
Autoruns
Entre otros, uno me llamó la atención pero no estaba muy seguro qué era. Se llamaba algo así como vse_vestreran. Me llamó la atención pero no sabía muy bien qué podía ser. Aún así, lo dejé por si las moscas y ya miraría de qué se trataba. Por lo tanto, dejé el sistema lo suficientemente preparado para que no lanzase cosas innecesarias. Pero, aún así, no había atinado con qué hacía que no se pudiera vez nada y no se pudiera trabajar con el equipo.

Por lo tanto, aún teniendo el autoruns lanzado, me propuse mirar qué me mostraba el process explorer. De lo que veía que me parecía sospechoso, lo enviaba a Virus Total por si las moscas. Todos los que enviaba, resultaba que eran "inocuos" (en el sentido de que eso no existe al 100%) o descubría que pertenecía (por la ruta o por el programa del que colgaba) que podía no ser el causante del follón en el que nos encontrábamos. Pero había uno especialmente me volvió a llamar la atención: VSE_Vestreran. Estaba colgando de otros procesos. Recordemos que lo tenía lanzado sin tener escritorio y sólo podía utilizar la consola o lo que ésta me permitiera ejecutar. Así, hice dos cosas, y no recuerdo el orden: enviarlo a Virus Total y matarlo. Ambas acciones dieron sus frutos. Tres o cuatro Unos cuantos motores de antivirus lo catalogaron como riskware:

Resultados en VirusTotal: 8 detecciones
Resultados en VirusTotal: 8 detecciones
Como se puede ver, no lo califican directamente como bicho, sino como adware o riskware. Para mi sorpresa (lo raro es que me sorprenda), es que han aumentado las detecciones. El sábado pasado (el 31 de enero) sólo eran 4. He podido lanzar los tests porque me hice una copia de la carpeta donde se encontraba la ejecución de este programa. Lo que me da es que a lo mejor no terminé de copiar todo. Ya veré. Quiero jugar un poco con este tipo de cosas para poder aprender a hacer mejores análisis de qué cambios hay antes y después de su ejecución. 

Por lo tanto, una vez pude ver que éste sí que me lo podía cargar, tiré otra vez del autoruns para impedir su ejecución en el arranque. Maté su proceso, lo que me permitió ver ya todo el escritorio y poder trabajar mejor, así podría reiniciar y ver que todo marchaba bastante mejor al reiniciar. 

Lo último que hice fue hacerle un repaso al sistema para ver que iba bien, desinstalar todas las cosas que no servían de nada y tirando millas. Soy consciente de que sin un análisis más en profundidad lo suyo hubiera sido reinstalar, por si las moscas. Pero en este caso, prácticamente no lo vi necesario. A parte de que normalmente es otra persona la que le suele hacer ese tipo de tareas. 

De las últimas cosas que hice fue recomendarle un blog en el que podría aprender bastante: Angelucho tendrá otra persona más a la que enseñar los peligros de la red.