Ingeniería inversa en firmware, un ejemplo práctico

  Detallado y documentado análisis de ingeniería inversa aplicada esta vez a firmware, en concreto se analiza uno del router Linksys WAG120N.     Comprender la imágen de una firmware es útil para ver posibles bugs, vulnerabilidades, modding, etc. y de paso aprender un poco de la estructura estos sistemas. Constan de su kernel, boot loader e incluso un sistema de ficheros, al fin y al cabo no son más que sistemas embebidos.
Leer más

BareMetal OS, un sistema operativo para geeks de verdad

BareMetal es un sistema operativo (de 16KB) para ordenadores basados en la arquitectura x86-64. Todo el SO está escrito en ensamblador, pero las aplicaciones se pueden escribir tanto en ASM como en C/C++. Está destinado sobre todo para computación avanzada (el famoso “Hello World!” en BareMetal, compilado ocupa 31 bytes), sistemas embebidos o educación.Necesitas un loader para ejecutarlo, se llama Pure64. Este lanzador es el que prepara el acceso para que BareMetal OS pueda acceder a todos los rincones de la CPU.
Leer más

In-the-box

In-the-box es un proyecto open source o de fuente abierta cuyo objetivo es el portar la máquina virtual de Dalvik y la API o interfaz de desarrollo de aplicaciones de Android Gingerbread para que se pueda ejecutar sobre el iOS, es decir, iPhone y iPad. A continuación os dejo un vídeo de demostración: Me pregunto el tiempo que tardará una aplicación desarrollada de esta forma en el App Store. En cuanto que Apple vea un jar por ahí o algo que diga Android… aplicación muerta :)
Leer más

Androguard, ingeniería inversa para Android

Con esta aplicación Androguard (hecha en Python) podrás realizar ingeniería inversa a las aplicaciones Android. Algunas cosas que puedes hacer: Mapear y manipular (escritura y lectura) DEX/CLASS/APK/JAR Acceso al análisis del código (instrucciones, bloques, etc) Volcar las clases JVM a memoria ... y mucho más. Puedes descargarla desde aquí.
Leer más

"Unthinking Machines", vamos a empezar de nuevo con la IA

(Imágen web MIT) Parece que algunos de los padres de la Inteligencia Artificial (IA) están avisando que es necesario empezar de nuevo y cambiar la forma de afrontar el desarrollo de la IA. Ya se notaba cierto estancamiento en la evolución de la IA en los últimos años sin avances significativos. Durante una charla en el MIT, Marvin Minsky (entre otros) hacía esta pregunta "Te estarás preguntando por qué no hay robots que puedas enviar a reparar los reactores japoneses"
Leer más

Introducción a ensamblador, videotutorial

Una vez más en SecurityTube podemos encontrar otra buena colección de vídeos, esta vez sobre una introducción al ensamblador. Assembly Primer For Hackers (Part 1) System Organization Assembly Primer For Hackers (Part 2) Virtual Memory Organization Assembly Primer For Hackers (Part 3) Gdb Usage Primer Assembly Primer For Hackers (Part 4) Hello World Assembly Primer For Hackers (Part 5) Data Types Assembly Primer For Hackers (Part 6) Moving Data Assembly Primer For Hackers (Part 7) Working With Strings Assembly Primer For Hackers (Part 8 ) Unconditional Branching Assembly Primer For Hackers (Part 9) Conditional Branching Assembly Primer For Hackers (Part 10) Functions Assembly Primer For Hackers (Part 11) Functions Stack
Leer más

Actualizando RubyGems en Ubuntu

Hoy necesitaba instalar una pequeña aplicación a través de rubygems, pero cuando ejecuté el comando: tuxotron@tuxotron-laptop:~$ sudo gem i XXXX --source http://XXXX.org ERROR: Error installing XXXX: XXXX requires RubyGems version >= 1.3.6 Crap! ¿Qué versión tengo? tuxotron@tuxotron-laptop:~$ gem --version 1.3.5 Bueno, gem tiene un parámetro para actualizar: tuxotron@tuxotron-laptop:~$ gem update --system ERROR: While executing gem ... (RuntimeError) gem update --system is disabled on Debian. RubyGems can be updated using the official Debian repositories by aptitude or apt-get.
Leer más

Rosetta Code

Rosetta Code es un proyecto cuya finalidad es albergar la solución a problemas conocidos, escritos en distintos (cuantos más mejor) lenguajes de programación. Esto quiere decir que es un repositorio de código fuente enorme. En el momento de escribir estas líneas hospedan 488 problemas y un total de 369 lenguajes de programación usados para resolver dichos problemas (esto no quiere decir que todos los problemas están solucionados en los 369 lenguajes).
Leer más

Asegúr@IT 9 con Informatica64 y Microsoft. La cabeza en las nubes, los pies en el suelo.

SWIVEL SECURE – PINSafe: La gente de Swivel Secure contra los passwords en los post-it. En esta ponencia se nos habla de PINsafe, una herramienta que da autenticación para acceso a través de redes privadas virtuales (VPN), sitios web y aplicaciones corporativas basadas en la web, mediante el uso de dispositivos móviles y exploradores web. Sus campos de actuación son el skimming, el phishing, el shoulder-surfing, el key-logging. Esta tecnología se podrá aplicar a las conexiones Forefront IAG o UAG para implantar sistemas de VPN robusta.
Leer más

Full Circle, especial programación en Python II

Ya hablamos de esta revista digital y de su primera entrega enfocada a la programación en Python. Pues ya han sacado la segunda parte. En esta edición publican las partes 9 - 16, que fueron publicadas entre los números 35 y 42 de esta revista. La puedes descargar desde aquí
Leer más