DNSCrypt, o como cifrar tus peticiones DNS

¿Cuántos de nosotros hemos utilizado la red TOR o un proxy anónimo para navegar de forma anónima? Y, ¿cuántos hemos tenido en cuenta que las peticiones DNS que realiza nuestra máquina puede que no sean enrutadas a través de la red TOR? Este simple descuido puede ser usado para identificarnos mediante algún tipo de correlación. Por ejemplo, un usuario que ha hecho consultas DNS de un dominio que posteriormente ha sido atacado a través de TOR. Aunque es complicado llegar a esta situación, puede darse el caso.

Actualmente es posible utilizar el propio cliente de TOR para enrutar las peticiones a través de esta red, u otras herramientas como dnsmasq, que actúa como un proxy capaz de redirigir las peticiones DNS a través de una red determinada. Aun así, las peticiones DNS realizadas no están cifradas, algo totalmente deseable. De esta forma, da igual si las peticiones son capturadas, ya que seguiremos manteniendo el anonimato sobre las consultas realizadas.

[Read more…]

Una serie de catastróficas desdichas: Hot Potato

El pasado día 16 de Enero, @breenmachine hizo público un POC para realizar una elevación de privilegios en sistemas y servidores Windows 7 y Server 2008 respectivamente en adelante. El ataque está basado en otra idea original del equipo Google Project Zero. Esta escalada de privilegios se consigue aprovechando varios errores de diseño anteriormente conocidos de los protocolos NTLM, NBNS, SMB y WPAD.

Básicamente, el ataque se divide en las siguientes fases:

[Read more…]

Jugando con técnicas anti-debugging (III)

En esta nueva entrega vamos a ver una técnica para detectar un debugger sin recurrir a librerías del sistema como ocurría en las entregas anteriores (ver la anterior y la primera). Se basa en un concepto muy simple para detectar el “step-by-step” (paso a paso) cuando se está analizando la aplicación dentro de un debugger.

Como ya sabemos, la mayoría de los debuggers permiten avanzar de forma diferente en la ejecución del programa. Por ejemplo, en OllyDbg:

  • Run (F9) → Ejecuta el programa hasta llegar al final o hasta encontrar una interrupción.
  • Step into (F7) → Ejecuta una sentencia del programa cada vez (“step-by-step”).
  • Step over (F8)→ Ejecuta el programa sin entrar a analizar las funciones (calls)
  • etc. (Ver menú “Debug”)

[Read more…]

Jugando con técnicas anti-debugging (II)

En el capitulo anterior analizamos la función IsDebuggerPresent() de la API de Windows, jugamos con el crackme en OllyDbg y vimos como hacer un bypass de esta función para lograr nuestro objetivo.

En esta entrega vamos a ver otra técnica que se basa en el chequeo del campo NtGlobalFlag del PEB (Process Environment Block).

El valor de NtGlobalFlag viene determinado por el valor de los siguientes flags:

  • FLG_HEAP_ENABLE_TAIL_CHECK
  • FLG_HEAP_ENABLE_FREE_CHECK
  • FLG_HEAP_VALIDATE_PARAMETERS

[Read more…]

Jugando con técnicas anti-debugging

Cuando pasas mucho tiempo analizando muestras de malware empiezas a darte cuenta de que cada vez es más frecuente encontrarte con técnicas anti-sandboxing y anti-debugging. Estas técnicas tienen como finalidad proteger la muestra ante los análisis de malware dinámicos y evitar que su comportamiento sea estudiado.... Leer Más

Destripando documentos ofimáticos con OfficeMalScanner

Una de las principales vías de infección de malware es a través de documentos ofimáticos. Son un vector de infección muy contundente, sobre todo en ataques dirigidos y campañas de phising.

Estos documentos son manipulados con el fin de esconder en su interior macros, objetos OLE, ejecutables, etc., los cuales, una vez abierto el documento por el usuario, realizan una serie de acciones maliciosas con el objetivo de obtener información con la que poder lucrarse o simplemente provocar daños en el sistema. Generalmente, las acciones llevadas a cabo por este tipo de malware genérico son descargar otro malware desde internet (droppers), explotar vulnerabilidades del sistema, replicarse para asegurarse la persistencia en el equipo, exfiltrar información del usuario, etc.

Una herramienta muy útil para analizar y detectar patrones anómalos en los documentos ofimáticos es la suite “OfficeMalScanner”, la cual podéis descargar desde la web de su autor, http://www.reconstructer.org/.

[Read more…]

OSSEC: LOCALFILES y MySQL

La mayoría de vosotros ya sabréis que OSSEC es un sistema de detección de intrusos basado en host (HIDS). Si aun no lo conocéis, os recomiendo echarle un vistazo a la entrada “OSSEC como herramienta de Incident Handling”.

En esta entrada vamos a comentar la capacidad de monitorizar en tiempo real las salidas de comandos personalizados en un sistema Linux. Esta utilidad se configura en el fichero “ossec.conf”, entre etiquetas “<localfile>” y “<command>”. Si miráis este fichero, podéis ver como ya existen algunos preestablecidos, como df, netstat o last. Nosotros podemos añadir los que queramos y sean de utilidad para nuestro entorno. Por ejemplo, un comando netstat más personalizado o un listado de los módulos cargados en el kernel de Linux con lsmod. En nuestro ejemplo, proponemos el siguiente comando personalizado de netstat:

netstat -antupd |sort |awk 'BEGIN{printf "%-8s %-20s %-20s %-20s %-10s\n","PROTO", 
   "IP/PUERTO LOCAL","IP/PUERTO REMOTO", "ESTADO CONEXION", "PROCESO 
   LOCAL"}/ESTABLISHED/{printf "%-8s %-20s %-20s %-20s %-10s\n",$1,$4,$5,$6,$7}'|uniq

[Read more…]

Evitando la identificación de Dionaea

En entradas anteriores ya se ha hablado sobre Dionaea, un honeypot de baja interacción que ofrece una gran variedad de servicios de red. El principal problema al que nos enfrentamos a la hora de desplegar un honeypot es como personalizar los servicios emulados para hacerlos indetectables ante herramientas de escaneado. Cuanto más le cueste a un atacante detectar que se encuentra ante un honeypot, más posibilidades tendremos de analizar su metodología, capturar exploits, binarios, etc.... Leer Más

NAGMAP

En esta entrada vamos a presentar un complemento para Nagios llamado Nagmap. Es una herramienta que nos va a permitir representar geográficamente los dispositivos monitorizados en Nagios. Nagmap utiliza la API de Google Maps para ubicar en el mapa los dispositivos a través de las coordenadas de cada uno de ellos. Nagmap se alimenta de los ficheros de configuración incluidos en nagios.cfg y del fichero de estado de los dispositivos status.dat. De estos ficheros obtiene los datos necesarios de cada host o dispositivo y, si tienen la información necesaria, los ubicará en el mapa. ... Leer Más