Mostrando entradas con la etiqueta informatica. Mostrar todas las entradas
Mostrando entradas con la etiqueta informatica. Mostrar todas las entradas

jueves, 5 de febrero de 2015

¿Sabes qué procesos corren en tu sistema?


Cada vez me adentro más en la rama del análisis forense en sistemas Microsoft Windows y es por ello que hoy os traigo una nueva entrada al blog después de llevar mucho tiempo ausente sobre los procesos que corren en tiempo real en nuestro sistema operativo Windows.

Muchas veces me he preguntado que procesos se ejecutarán al instalar un programa del cual no me fío mucho y seguro que muchos de vosotros también os los habéis preguntado. Como bien sabéis, una parte fundamental de un análisis forense es la de tener una copia de seguridad siempre de la imagen real del disco duro que vayamos analizar y trabajar a partir de dicha copia. También es de vital importancia intentar trabajar con herramientas que vayan por linea de comandos ya que son más ligeras y se modifica menos la memoria RAM por lo cual, os traigo una herramienta nativa de Windows llamada tasklist que va por linea de comandos y sirve para conocer los procesos que se encuentran corriendo en el sistema. Si la usamos sin ninguna opción nos mostrará una lista muy parecida a la pestaña de Procesos del Administrador de tareas, pero en nuestro caso la utilizaremos con la opción /SVC para así poder saber que servicios dependen de los procesos que corren en el momento y que nos muestre solamente el nombre del proceso, PID y al servicio que pertenece. Por supuesto, todos estos resultados podemos arrojarlos a un archivo de texto añadiendo > nombredelfichero.txt que se guardara en la ruta en la que nos encontremos en ese mismo instante.

Salida del comando tasklist

Salida del comando tasklist con la opción /SVC

Salida del comando tasklist con la opción /SVC
Como podemos observar en la salida del comando tasklist con la opción /SVC nos muestra solamente lo que queremos saber sobre los procesos y sus servicios a los que pertenece junto al PID por lo que de esta manera, podemos comprobar en un análisis forense si el sistema infectado tiene algún proceso en ejecución malicioso y más tarde comprobar alguna conexión que pudiese tener con el exterior con otra aplicación nativa de Windows llamada netstat. Añadir que en alguna ocasión deberemos utilizar herramientas que utilicen sus propias APIs para detectar procesos y conexiones ocultas ya que muchas veces el malware avanzado es capaz de modificar el retorno de las llamadas a las APIs de Windows y no veríamos nada extraño con las herramientas propias de Windows. Es por esto que es recomendable utilizar herramientas que implementen sus propias funciones de acceso a los datos.


Al igual que tasklist, Process Explorer también permite comprobar los procesos que corren de en un equipo en tiempo real y archivos DLL que se han abierto o cargado pero esta vez en un entorno gráfico. Uno de los beneficios de que se visualice gráficamente es que podemos ver  los procesos en su estructura jerárquica. Así, sin un proceso es el padre de otro aparecerá identado. Process Explorer nos muestra dos pantallas al abrirlo. En la parte superior nos mostrará todos los procesos activos, PID, nombre de la compañía etc.. Mientras que en la parte inferior nos mostrará diferente información dependiendo del modo en el que tengamos Process Explorer como podría ser; identificadores que ha abierto el proceso seleccionado en la parte superior, los archivos DLL y los asignados en memoria que el proceso ha cargado..

Procces Explorer

Una de las cualidades que contiene esta herramienta no nativa de Windows, es la integración de VirusTotal para poder analizar los procesos que están corriendo en el momento sobre nuestro sistema. Este análisis se realiza gracias a que Process Explorer envía hashes de los archivos y no el propio archivo para que nos muestre el resultado del scan que tienen almacenado en la BBDD de anteriores scans y muestra el resultado de los 57 antivirus que poseen.


Process Explorer mostrando una amenaza por VirusTotal en un servicio


Puede pasar que en la columna de VirusTotal aparezca "Unknown". Eso quiere decir que dicho archivo y versión nunca fueron subidos a VirusTotal pero, nosotros mismos podemos subirlo haciendo click en Options > VirusTotal.com > Submit Unknown Executables.

Enviando ejecutables desconocidos a VirusTotal.com

Para enviar un archivo a VirusTotal manualmente basta con hacer doble click sobre el proceso que queramos enviar para que analicen y hacer click en "Submit" en la pestaña que se nos abrirá.

Enviando a VirusTotal un proceso

A continuación os dejaré que significa cada color en los procesos que aparecen en Process Explorer.

Process Explorer colores


Un saludo :-)!

viernes, 1 de agosto de 2014

Hack & Beers - Disfrutando de lo que nos gusta !!

Impresionante la jornada de Hack & Beers Vol. 3 Web Security del pasado Miércoles 30 de Julio en las instalaciones de Cosfera, donde se congregaron un gran número de personas aún siendo período vacacional, más las que nos siguieron a través de streaming.


El evento tenía un gran atractivo, charlas de Hacking en un ambiente distendido y de buen rollo, para después pasar un rato de convivencia con unas cervecitas en la mano. Todo ello rodeado de gente entregada y con los mismos intereses profesionales.

Comenzó la sesión con la primera charla a cargo de Carlos García (@ciyinet) con "Auditando CSRF". Carlos nos mostró un ejemplo de esta vulnerabilidad haciendo uso un chat de una Web donde había varias sesiones de usuarios, para ello uso la herramienta Burpsuite. Vimos el alcance que tiene así como las posibles soluciones para que nuestra Web no se vea afectada por ella.

Podéis ver en el siguiente enlace la charla: "Auditando CSRF"


En la segunda charla de "SQLi y Backdoors para Script Kiddies" a cargo de un servidor, Eduardo Sánchez (@eduSatoe) explicó con una Web, donde se logueaban usuarios, como funciona la vulnerabilidad que está en el número uno del top ten de OWASP (SQL injection) y lo fácil que una persona sin conocimientos y con una simple aplicación en su PC (sqlmap) o en su Android (DroidSQLi) puede aprovecharse de ella. Además se hizo uso de un backdoor muy conocido como es c99 para aprovecharse de vulnerabilidades RFI (Remote File Inclusion).

Podéis ver en el siguiente enlace la charla: "SQLi y Backdoors para Script Kiddies"
También podéis descargar el pdf de la charla, así como el código fuente y la bd de la Web vulnerable utilizada como ejemplo:




La última charla a cargo de Miguel Ángel Arroyo (@Miguel_Arroyo76) , trato sobre la seguridad en los servidores de almacenamiento en la nube. Con el nombre de "Lo que el ojo no ve" nos enseñó como existen servidores de "primera división" y otros de "segunda división", o lo que es lo mismo, pudimos comprobar la seguridad entre servidores dedicados y servidores compartidos.

Podéis ver en el siguiente enlace la charla: "Lo que el ojo no ve"


Una vez terminadas las charlas y las correspondientes preguntas en cada una de ellas pasamos a la segunda parte del evento, las beers, donde pasamos un buen rato de convivencia con una beer en la mano bien fresquita como podemos ver en la foto.


El equipo de Hack & Beers quiere agradecer el interés de todos los asistentes, ya que teníamos gente no sólo de Córdoba y provincia, sino también de Jaén, Granada e incluso de Francia, que aprovechando las vacaciones en Sevilla se habían desplazado para disfrutar del evento. Mucha gente también a través de streaming: Galicia, Pais Vasco, Madrid, Barcelona, Valencia y Colombia entre otros. Mil gracias también a los amigos de Cosfera, que siempre se vuelcan con nosotros en estos eventos y son uno más del grupo.


Por último anunciaros que en Hack & Beers crecemos, ya no sólo tendremos ponencias y charlas interesantes en Córdoba sino también en Madrid y Barcelona de la mano de personas tan importantes en este mundillo como Pablo Gonzalez y Juan Antonio Calles de Flu Project (Madrid) y Marc Rivero López de SysSec (Barcelona), próximamente anunciaremos novedades en twitter @hackandbeers.


Un handshake para todos

Seguiremos disfrutando de lo que nos gusta con muchos más Hack & Beers !!

sábado, 26 de abril de 2014

Fraude online: Infraestructura FastFlux

Algo que siempre me ha llamado la atención es conocer la forma en la que actúan los cibercriminales, que métodos utilizan para distribuir malware sin que nos demos cuenta etc.. Por ello siempre he estado buscando información sobre este tema e intentar llevarlo a cabo yo mismo dentro de mi propia red virtual para ponerme en la piel de un cibercriminal. Viendo la facilidad con la que se puede llevar a cabo este ataque, voy a explicaros de que trata eso de "Infraestructura FastFlux" de la mejor forma que pueda para que no sean tan técnico y hasta las personas que no tengan mucha idea sobre esto, sepa de que va y pueda así tener un poco más de seguridad a la hora de navegar por Internet.

A diario que navegamos por Internet hacemos peticiones a los servidores para ver su contenido y poder navegar por el sitio web del dominio. Esto es una simple arquitectura cliente-servidor. Os dejo una imagen a continuación y os explicaré paso a paso lo que hacemos todos los que navegamos por Internet a diario.

Conexión a un servidor web

Paso 1: Cuando queremos entrar por ejemplo en el dominio marca.com para visualizar su contenido, lo primero que hacemos es teclear en la barra de direcciones la url que en este caso sería, http://www.marca.com, al hacer esa petición le preguntamos a nuestro servidor DNS que normalmente es el que nos proporciona nuestro ISP (vodafone, orange, ono..) si conoce la dirección marca.com.
Paso 2: El servidor DNS nos contesta con la dirección IP que corresponde a marca.com.
Paso 3: Hacemos la petición HTTP a la dirección IP que nos dio anteriormente el servidor DNS, es decir 193.110.128.199.
Paso 4: El servidor de marca.com nos responde con la página principal y así podremos navegar por la página y visitar cada una de las secciones que tenga.

Una vez entendido como funciona esta arquitectura tan típica de cliente-servidor, vamos a ponerlo ahora un poco más complicado y explicaremos en que consiste la infraestructura que utilizan muchos cibercriminales llamada FastFlux simple para distribuir código malicioso, hacer phishing, enviar spam entre otras cosas. Es muy común ver en esta técnica como los ciberdelincuentes utilizan dicha técnica para intentar ocultar la dirección del servidor, una de las maneras puede ser con goo.gl o bitly. En esta técnica el servidor DNS devolverá varias direcciones IP que irán cambiando cada cierto tiempo muy corto. Estas direcciones IP serán zombies (ordenadores infectados) que actuarán de proxys (intermediarios) entre el cliente que será la víctima y el servidor atacante que quiere infectarnos. En la siguiente imagen podemos verlo y a continuación pasaré a explicarlo.

Infraestructura FastFlux simple

Paso 1: Al igual que en el anterior ejemplo que hemos visto, le preguntamos al servidor DNS por la dirección de ejemplo.com
Paso 2: El servidor DNS le responde con la dirección IP 1.2.3.4 que en realidad no es la de ejemplo.com, es la de un servidor proxy que está haciendo de intermediario.
Paso 3: La víctima hace la petición HTTP a la dirección 1.2.3.4 que se trata de un ordenador infectado haciendo de proxy.
Paso 4: El ordenador zombie hace la petición al verdadero servidor ejemplo.com el cual la víctima en ningún momento sabe que este existe, está oculto para el, sólo es visible por el ordenador zombie.
Paso 5: El servidor real le devuelve al proxy  la petición que había realizado.
Paso 6: El proxy le devuelve a la víctima la respuesta que le ha dado el servidor real, en la comunicación que existe en el paso 3.

Cada poco tiempo el DNS devolverá una dirección diferente a la victima, todas esas direcciones IP que le devuelva serán de ordenadores infectados que actuarán exclusivamente como intermediarios entre el dominio ejemplo.com y la víctima.

Y os preguntareis, ¿Cómo detectar este tipo de red? podemos detectar que es una red fastflux con la herramienta dig la cual nos permite hacer consultas al servidor dns y así obtener la dirección IP del servidor al que se hace la consulta, en caso de darnos varias direcciones IP con un TTL (Tiempo de vida) bajo, posiblemente significará que nos encontramos frente a un servidor que esté utilizando una red fastflux y podemos comprobar haciendo varias peticiones durante 30-60 segundos como van cambiando las direcciones IP y de esta manera la estructura no siempre es igual, en ese caso es una clara infraestructura FastFlux por lo que con un simple baneo de IP no podríamos detener la distribución de malware. A continuación os dejo una imagen para que os podáis hacer una idea de como detectarlo.

Ejecución del comando dig


Una vez tenemos una idea de como actúan los cibercriminales, ya sabemos como evitar una posible infección. Añadir que estas personas, aprovechan noticias de gran repercusión para así poder conseguir infectar los equipos ya que, siempre que ocurre algo importante nosotros somos los primeros que buscamos información para saber que ha pasado exactamente. Mucho ojo ahora con la muerte del entrenador de FC Barcelona Tito Vilanova (En paz descanse) con los sitios que visitáis para buscar información porque seguro que muchos de los dominios se habrán creado hace horas para distribuir malware. Si queréis visitar un sitio porque creéis que tiene información pero la URL está acortada y no os fiais mucho, podéis visitar knowurl.com y escribirla para que os diga de donde viene exactamente e incluso hacer un virusscan, después podéis analizarla con los sitios que Edu nos enseño en su entrada de analizando objetivos sin hacer ruido.
knowurl.com analizando una url acortada

Un saludo!

@Joseliyo_Jstnk

viernes, 11 de abril de 2014

dnsenum - Transferencias de zonas

En mi primera publicación voy ha hablaros de una herramienta que a mi me llamó mucho la atención cuando supe de su existencia, se trata de la herramienta dnsenum. Antes de explicaros de que va, voy hacer una breve introducción a lo que sería un servicio DNS instalado en un servidor primario y como hace sus transferencias de zonas a uno secundario.

Cuando nosotros instalamos un servicio de DNS en un servidor primario, lo hacemos con la idea de facilitarnos el trabajo y no tener que recordar tantas direcciones IP ya que una de las funciones que realiza es la de traducir nombres en direcciones y viceversa. Un equipo cliente teclea el nombre del host remoto a un servidor DNS y este le contesta con la dirección IP correspondiente. A la hora de instalar y configurar este servicio, en ocasiones se hace la misma instalación en un servidor secundario para que en caso de que falle el primario, éste pueda resolver nombres a través de las transferencias de zonas que le delega el primario, aunque a veces esto no es tan bonito. A causa de una mala configuración podemos dejar al descubierto el archivo de zona de nuestro dominio. Y muchos de vosotros os preguntaréis ¿Qué peligro tendrá eso? pues bueno, el peligro basicamente es que en la fase de recopilación de información de un atacante o un test de intrusión, saber la estructura interna de una empresa puede significar un ahorro de trabajo muy grande y un avance considerable pudiendo conocer los subdominios, rangos de direcciones IP, hosts, registros MX etc...

El objetivo de esta herramienta es conseguir esa transferencia de zona que el servidor DNS primario le brinda al secundario, recordamos que la transferencia de zona siempre la inicia el servidor secundario. El uso de dnsenum es muy sencillo, basta con llamarlo y escribir acto seguido el nombre del dominio, por ejemplo "dnsenum ejemplo.com". En caso de que la transferencia de zona nos llegue, quiere decir que la configuración del servidor no tiene definido un servidor secundario(o ninguno en caso de no tener un servidor secundario) para realizar dicha transferencia. Vamos a ver un claro ejemplo con un servidor DNS bind9 del cual intentaremos conseguir la transferencia de zona con dnsenum que lo lleva incorporado la famosa distribución dirigida a la auditoría Kali.

El nombre de dominio que tengo en el servidor DNS es "joseluissanchez.local", por lo que llamaremos la aplicación en Kali simplemente escribiendo dnsenum joseluissanchez.local. Al no tener ningún servidor habilitado para la transferencia de zona me la dará sin ningún problema.




Como podemos ver, recibimos todos los registros que tiene la zona del dominio pudiendo ver rangos de direcciones IP, subdominios, también podemos deducir que quizás tengan un servicio de correo por los alias pop3, imap, smtp.. En este caso la zona del dominio no contiene muchos registros, en otras ocasiones nos podemos llegar a encontrar una transferencia de zona con miles de registros.

¿Cómo solucionar este problema? En caso de tener el servicio de bind9, basta con poner dentro de la configuración de la zona que tiene que tener el archivo named.conf.local lo siguiente; 

allow-transfer { 192.168.23.10; };

Pero.. ¿los que no tienen un servidor secundario al que le pueden hacer las transferencias están librados de este problema? ¡ERROR! deberán hacer el mismo paso anterior pero de la siguiente manera;

allow-transfer { "none"; };


De esta manera cualquier intento de transferencia de zona que no sea al servidor secundario o ninguno en caso de haberlo indicado así, no se realizará con exito y nos saldrá el siguiente mensaje.




Espero que haya sido de vuestro agrado la primera publicación por mi parte. Si queréis que hablemos de algún tema específico Edu o yo, siempre podeis escribirnos a nuestro email que lo teneis a la derecha.

Un saludo :-)!

@Joseliyo_Jstnk