Archive for the tag 'Hacks'

Revisión del libro “Hacker Épico” de Informática64

diciembre 24th, 2012

Hacker ÉpicoHoy quiero comentar este libro, Hacker Épico. Magistralmente escrito por Alejandro Ramos (Dab) y Rodrigo Yepes, publicado y editado por Informatica64. Si empiezas no puedes dejarlo hasta que no lees la última página, te mantiene enganchado, en tensión, disfrutándolo y aprendiendo con cada una de sus poco más de 250 páginas.

Contada en primera persona por Ángel Ríos, el hacker protagonista, esta novela trata sobre la aventura en la que se ve envuelto este informático que trabaja para una prometedora consultora de seguridad como auditor y junto a la ayuda de su amigo Marcos, se enfrenta a un sin fin de retos que pondrán a prueba sus habilidades de hacking y análisis forense a lo largo de toda la trama. Ambientada en la Madrid actual, este thriller hacker se basa en hechos que lamentablemente leemos con demasiada asiduidad en prensa.

Como sabéis los que seguís el blog, comento muchos libros técnicos en blyx.com, generalmente relacionados de alguna forma con Alfresco. A diferencia de esos otros libros que he comentado, en esta ocasión no voy a hacer un repaso de cada capítulo ya que no quiero dar ninguna pista sobre lo que acontece en la historia, solo quiero limitarme publicar mi opinión y notas que he ido tomando mientras lo leía.

Hacker Épico no es una novela al uso, va mucho más allá, es un completo y actualizado manual de referencia, herramientas, casos de uso prácticos y totalmente actuales en los que, si estáis involucrados de alguna forma en el mundo de la seguridad informática, os sentiréis muy identificados y también, como ha sido mi caso, aprenderéis muchísimo mientras devoráis, sin necesidad de marca-páginas, esta maravilla.

Es un libro que no solo se lee una vez, puede ser perfectamente un libro de cabecera al que recurrir más de una vez. Como decía antes, prepárate una libreta (o Evernote en mi caso) mientras lo estés leyendo, podrás tomar jugosas notas, ver como se descubren vulnerabilidades 0day, saltar la seguridad de cámaras, puertas traseras, dominios, Windows, Linux, PDFs, redes WiFi y mucho más.

Por supuesto, también tiene su punto friki, como no podía ser de otra forma, no hay capítulo en el que no se hagan guiños al cine de superhéroes, series de culto y a otras novelas, e incluso a otros personajes de la escena hacker española. También se encuentran detalles y chascarrillos para gamers. Incluso, si conoces Madrid, te puedes ir imaginando algunas escenas descritas.

Fuga de datos, aplicaciones como Whatsapp, recursos web y redes sociales reales, iPhones, iPads… Conceptos, argumentos y soluciones bien documentados y totalmente cercanos al mundo real. Podrás ver como se hacen análisis forenses e incluso algunas partes de la trama y comentarios suenan muy familiares.

Un recorrido através de un sin fin de herramientas explicando cada uno de los flags utilizados.

¿Estamos ante el principio de una saga? ¿Son Alejandro y Rodrigo los Neal Stephenson y Clifford Stoll españoles? No lo sé, pero desde luego que no tienen nada que envidiarles, por lo menos por las sensaciones que provocan en el lector, igual que otras novelas del estilo como Criptonomicon o El Huevo del Cuco.

Aunque los autores se preocupan por explicar de la forma más sencilla posible algunas de las peripecias puramente técnicas del protagonista, si no estas familiarizado con algunos conceptos informáticos en algunas ocasiones puede resultar un poco difícil seguir la trama al 100%, de cualquier forma, si no eres informático o si lo eres y no entiendes algo siempre puedes buscar en internet lo que no entiendas. Así que, además de disfrutar, aprenderás más de lo que imaginas.

Hace unos años tuve el privilegio de trabajar durante unos días en el mismo departamento que Alejandro Ramos y compartir amigos comunes. Así que estoy doblemente orgulloso de que en nuestro país se escriban estas obras de arte y encima sea gente que se ha ganado lo que tiene a base de esfuerzo y pasión por esta locura infinita que es la seguridad informática. Gracias.

Seguro que no va a ser el único que diga que quiere más. ¡Quiero más aventuras de Ángel y Marcos!

Puedes comprarlo por 20€ en la web de Informática64, no te vas a arrepentir, te lo prometo.

¿Para cuándo la película?

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Demo: Alfresco para prevenir fugas de información mediante metadatos

diciembre 3rd, 2012

Al hilo de mi artículo anterior sobre crónica y materiales de la Alfresco DevCon 2012. He pensado que igual es buena idea volver a grabar la demo que hice pero esta vez en español, así poder llegar a más gente. Pues bien, aquí está la demo donde muestro la problemática existente cuando no se tiene control de los metadatos en los contenidos he se hacen públicos y como resolver el problema con Alfresco y el modulo de limpieza de metadatos.

También está disponible en inglés junto al resto de conferencias en el canal de Alfresco en Youtube, lista de videos de San José.

Aprovecho para recordar que creé un proyecto en Google Code para recoger todas las soluciones existentes en torno a Alfresco y Seguridad, puedes verlo aquí http://code.google.com/p/alfresco-security-toolkit/ y si quieres colaborar no dudes en contactar conmigo.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Ver vídeos en Alfresco Share, página de previsualización

octubre 15th, 2010

Actualización: y también MP3, más info aquí.
Gracias a este hilo generado en el foro de Alfresco en inglés, se llevó a cabo un proyecto muy interesante llamado “alfresco share floweplayer“, albergado en Google Code, este desarrollo permite ver vídeos desde la web de propiedades del archivo en Alfresco Share, igual que ya hace de forma nativa con ficheros PDF, Office, OpenOffice, imágenes, etc. Es decir, si subimos un archivo de vídeo (he probado con .mov y .flv), podremos verlo sin necesidad de descargarlo a nuestro ordenador.
Me he aventurado a probar la versión 1.2b de alfrescoshareflowplayer en la recién estrenada Alfresco Community 3.4.a, y estos son los resultados.
  1. Descargamos la última versión de “alfresco share flow player” aquí.
  2. Tras descomprimir el fichero zip encontramos tres ficheros que debemos copiar en los siguientes directorios, si no existen debemos crearlos, con linux es tan fácil como usar el comando mkdir -p directorio/subdirectorio/otro/ para crear todos los directorios de una sola vez:
    1. mimetype.ftl lo copiamos a <tomcat_home>/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/form/controls/
    2. web-preview.get.head.ftl y web-preview.get.html.ftl los copiamos a <tomcat_home>/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/preview/
  3. Descargamos el reproductor (versión v3.2.2) desde aquí. Es importante usar esa versión para no tener que editar los ficheros anteriores y cambiar el número de la versión (por comodidad, no por que sea incompatible).
  4. Tras descomprimir el paquete zip, copiamos y renombramos los siguientes ficheros a los directorios que indico:
    1. # cp flowplayer-3.2.2.swf <tomcat_home>/webapps/share/components/preview/
    2. # cp flowplayer.controls-3.2.1.swf <tomcat_home>/webapps/share/components/preview/
    3. # mv example/flowplayer-3.2.2.min.js example/flowplayer-3.2.2-min.js
    4. # cp example/flowplayer-3.2.2-min.js <tomcat_home>/webapps/share/components/preview/
    5. # mv example/style.css example/flowplayerstyle.css
    6. # cp example/flowplayerstyle.css <tomcat_home>/webapps/share/components/preview/
  5. Arrancamos Alfresco y listo.
Si, efectivamente, hemos copiado esos ficheros en el directorio del share.war desplegado, si actualizas el war de Share ya sabes que debes volver a copiarlos. Por ahora el autor de este “mini-desarrollo” no ha generado un AMP, pero seguro que puedes echarle una mano haciéndolo ;)
Este es el resultado, vemos un video .mov:
y otra captura de un vídeo .flv:
MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Integración Alfresco con Drupal (o viceversa) con CMIS

julio 22nd, 2010

La integración entre diferentes aplicaciones es, hoy en día, el caballo de batalla de los productos, clientes e integradores. Cuando hablamos de Open Source, esto se convierte casi en una obligación.

Gracias al estándar CMIS adoptado por Alfresco, las tareas de integración, independientemente del lenguaje de programación utilizado, son mucho más sencillas.

Sobre la integración de Alfresco y Drupal se ha hablado mucho, Jeff Potts ha hecho algunos screencasts, Roger Carhuatocto hizo una presentación sobre el tema en la Drupal Camp 2010, Optaros hizo el conector CMIS para Drupal y mucho antes, Sergio Martin junto a Manuel Recena hicieron un conector vía WebServices. Es decir, el tema trae cola y sólo basta con hacer una búsqueda en Google para dar cuenta de ello.

¿Qué nos puede aportar una integración de este tipo? (extraído de la presentación de Roger)

  • Flexibilidad:
    • Incorporar nuevas funcionalidades, Web 2.0.
    • Cambiar el Look&Feel.
  • Escalabilidad:
    • Búsqueda de ficheros PDF, SWF, Doc, PPT, etc.
    • Tengo muchos usuarios simultáneos.
  • Interoperabilidad:
    • Tengo MS Sharepoint, Documentum y tengo mis ficheros en el HD, …cómo los centralizo?
  • User Experience:
    • El usuario necesita productividad: Espacio colaborativo, gestión de conocimiento, repositorio documental corporativo, workflows/gestión de expedientes, etc.

En este artículo quiero mostrar un ejemplo sobre la configuración de Drupal para conseguir la integración con Alfresco vía CMIS y poder mostrar contenido que está en el repositorio dentro de un contenido en Drupal. En mi caso Alfresco 3.3 y Drupal 6.17. No voy a hablar de la sincronización entre ambos entornos, que permitirá que los contenidos creados en Drupal o Alfresco sean contenidos del primero. No obstante, el conector CMIS si soporta esa opción (cmis_sync).

Debemos tener instalado, configurado y funcionando Drupal y Alfresco. El conector CMIS puedes descargarlo de aquí; en mi caso ha sido la versión cmis-6.x-3.01. En Alfresco no hay que instalar ningún tipo de módulo, para eso soporta CMIS ;)

  1. Descomprime el fichero “cmis-6.x-3.01.tar.gz” y copia la carpeta “cmis” en el directorio “modules” de Drupal.
  2. En Drupal, vamos a “Admin -> Administer -> Site building -> Modules” y activamos los módulos “cmis“, “cmis_common“, “cmis_browser” y “cmis_query“.
  3. En Alfresco creamos un usuario llamado “cmisuser” con permisos de administrador (lo incluimos en el grupo ALFRESCO_ADMINISTRATORS).
  4. Configuramos un repositorio CMIS, en este caso, nuestro Alfresco añadiendo las siguientes líneas en el fichero “sites/default/settings.php“:
$conf['cmis_repositories'] = array(
'default' => array(
'user' => 'cmisuser',
'password' => 'contraseña',
'url' => 'http://servidor:8080/alfresco/s/cmis'
)
);

Hecho esto, podemos probar la integración. En la sección Admin veremos tres nuevas opciones:

  • CMIS Information” que nos mostrará la información CMIS del repositorio.
  • CMIS Query” donde podemos ejecutar consultas, por ejemplo, prueba la siguiente sentencia para ver los contenidos del repositorio: select * from cmis:document
  • CMIS Repository” donde veremos el contenido del repositorio de Alfresco y podremos navegar por él. En la opción “Actions” podemos crear carpetas, contenidos y actualizar documentos.

No conozco muy bien Drupal, así que no he podido hacer más de lo aquí descrito, pero he visto que se puede usar un Block con contenido CMIS y muchas cosas más que podéis ver en el screencast de Jeff Potts mencionado anteriormente.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Alfresco Hack: Las consolas “escondidas” de Alfresco

junio 4th, 2010

Los que conocéis Alfresco en profundidad sabéis que éste guarda algunas sorpresas interesantes. Entre ellas se encuentran las consolas. Básicamente son herramientas que nos permiten acceder a información o hacer tareas de bajo nivel con Alfresco vía web, destinado principalmente a programadores o administradores.

Vamos a ver que consolas tenemos disponibles y en qué nos pueden ayudar cada una de ellas.

Nota 1: para acceder a estas consolas previamente hay que estar logueado como usuario “admin” en Alfresco Explorer (http://localhost:8080/alfresco).
Nota 2: para ejecutar comandos en estas consolas hay que escribir el comando y pinchar en “Submit”, si escribimos el comando y pulsamos “Enter” no ejecutará el comando.

La “Consola del Repositorio” es una alternativa al cliente web (Alfresco Explorer) y nos permite desplegar, recargar, activar y desactivar modelos en caliente. Podemos hacer lo mismo con ficheros .properties relacionados con idiomas. Un comando de ejemplo podría ser “deploy model alfresco/extension/exampleModel.xml“.

Permite cargar los cambios realizados en el fichero “web-client-config-custom.xml” sin necesidad de reiniciar el servidor. Relmente recarga toda la información modificada que contenga el bean webClientConfigSource en el archivo “alfresco/web-client-application-context.xml” de ahí que digamos que recarga los cambios en “web-client-config-custom.xml“. Más información aquí. Hacer esa tarea es tan fácil como escribir “reload” y hacer clic en “Submit“. Veremos algo como lo siguiente:

<Built-in evaluators> ---> OK
classpath:alfresco/web-client-config.xml ---> OK
classpath:alfresco/web-client-config-dialogs.xml ---> OK
classpath:alfresco/web-client-config-wizards.xml ---> OK
classpath:alfresco/web-client-config-properties.xml ---> OK
classpath:alfresco/web-client-config-navigation.xml ---> OK
classpath:alfresco/web-client-config-wcm.xml ---> OK
classpath:alfresco/web-client-config-actions.xml ---> OK
classpath:alfresco/web-client-config-forum-actions.xml ---> OK
classpath:alfresco/web-client-config-wcm-actions.xml ---> OK
classpath:alfresco/web-client-config-workflow-actions.xml ---> OK
classpath:alfresco/extension/web-client-config-custom.xml ---> Skipped - not available
workspace://SpacesStore/app:company_home/app:dictionary/app:webclient_extension/cm:web-client-config-custom.xml ---> OK

Esta consola nos permite hacer tareas de bajo nivel sobre la AVM (Advanced Versioning Manager), sistema usado por Alfresco WCM, posiblemente la consola más desconocida y compleja de utilizar. AVM Console cuenta con una ayuda (http://localhost:8080/alfresco/faces/jsp/admin/avm-console-help.txt) aunque tenemos más información aquí y aquí.

Este es el más conocido ya que es accesible desde la “Consola de Administración”. Es una herramienta muy útil para desarrolladores y administradores. Permite hacer búsquedas y localizar información extendida sobre los contenidos del repositorio. Soporta búsquedas de varios tipos:

  1. noderef, por ejemplo workspace://SpacesStore/3d9b49aa-54b5-41b7-8842-eecde41a9b73
  2. xpath
  3. lucene
  4. fts-alfresco (full text search)
  5. cmis-strict
  6. cmis-alfresco
  7. selectnodes.

Posiblemente el mejor amigo de un programador de workflows. Esta consola es una caja de herramientas completa para depurar nuestros workflows. Más info y sintaxis aquí.

Consola para gestión, creación y borrado, activación/desactivación, exportación e importación de tenants. Recuerda que para activar el multitenant en Alfresco hay que renombrar sin .sample los ficheros en tomcat/shared/classes/alfresco/extension/mt y reiniciar el servidor.
Otras URLs interesantes dentro de nuestro sistema:

Aquí no voy a explicar nada, ejecútala espera unos segundos y mira. ¿Interesante verdad?

Esta nos sirve para ver todos los WebScripts disponibles, información de uso de cada uno de ellos y además podremos desplegar nuevos WebScripts.

¡Que curioso! Cuando he terminado de escribir el artículo he hecho una búsqueda en Google y me encuentro esto, un post del gran Jeff Potts sobre esto mismo…

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare

Alfresco Hack: cómo sacar un informe rápido de los contenidos del repositorio

marzo 10th, 2010

Ya lo vi hace tiempo en Think Alfresco y sabía que algún día lo iba a necesitar, ahora quiero compartirlo con vosotros. Sabemos lo que ocupa el repositorio, sería tan fácil como hacer un du -sh contentstore, pero ¿qué tipo de archivos almacena ese repositorio y cuantos de cada tipo? Saber ese dato es importante al hacer migraciones, optimizar Lucene, etc. Es tan fácil como ejecutar el siguiente comando desde el directorio superior al contentstore de turno:

$ find ./contentstore -type f -exec file -inb {} \;| sort |uniq -c|sort -nr

Este comando nos dará como resultado algo parecido a lo siguiente:

    378 application/msword
    147 application/pdf
     72 text/plain; charset=us-ascii
     58 text/x-c++; charset=iso-8859-1
     12 text/plain; charset=utf-8
      8 text/html
      2 application/x-zip
      2 text/plain; charset=iso-8859-1
      2 image/jpeg
      2 application/x-empty
      2 text/x-c; charset=utf-8
      1 text/x-c++; charset=utf-8
      1 image/png

Fácil ¿no? Claro que también se puede hacer con un JavaScript y ejecutarlo como acción pero pienso que así es más rápido, además es el “Sys Admin way”.

MeneameFacebookGoogle ReaderTwitterLinkedInNetvibes ShareShare