29 abril 2015

Herramientas de seguridad en Powershell: Posh-SecMod

Uno de los primeros y más potentes frameworks de seguridad en powershell es Posh-SecMod, creado por Carlos Perez este conjunto de herramientas facilita decenas de tareas para cualquier experto en seguridad.

Las funciones están divididas en distintas categorías: Discovery; con descubrimiento de redes, Parse; importa resultados de otras herramientas como Nmap o DNSRecon, PostExplotation; funciones para facilitar la tarea de post explotación, Registry; para manipular el registro de un sistema remoto vía WMI, Utilities; con herramientas varias, Audit; con los que obtener información del sistema, Database; para la manipulación de bases de datos, 

Adicionalmente y ahora en otros repositorios, también hay módulos "Posh" para Shodan; que con la correspondiente API facilita su consulta, VirusTotal; al igual que la anterior, gestión de la plataforma vía powershell y Metasploit; funciones para interactuar con el famoso framework de explotación de vulnerabilidades mediante el uso de la API XMLRPC y Nessus; con funciones que hacen posible la gestión de este escáner de vulnerabilidades en su versión 5.

Instalar el framework es tan sencillo como invocar desde powershell los comandos que se muestran en la imagen.

Instalación de Posh-SecMod

Una vez se instala las funciones quedan disponibles para invocarse según sean necesarias. Son demasiadas para enumerarlas todas, pero al finalizar el proceso se listan.

Del grupo de Discovery, destacan utilidades para detectar puertos abiertos, sistemas que responden a ping, o ARP. También es posible hacer resolución inversa de DNS, o consultas de registros SRV.

Funciones de Discovery

De la parte de post explotación un buen ejemplo es PostHashdumpScript, que permite volcar las hashes de la SAM como las conocidas herramientas del tipo hashdump/pwdmp.

Ejemplo del funcionamiento de Get-PostHashdumpScript

Las utilidades para conectar con distintas APIs son muy prácticas y seguro que son utilizadas por nuestros lectores para sus propios scripts. La siguiente imagen muestra la sencillez de instalar y lanzar un análisis de un ejecutable contra la plataforma de VirusTotal con Posh-VirusTotal.

Instalación y ejecución de Posh-VirusTotal


Leer más...

28 abril 2015

OSQuery: Herramienta forense para Linux y Mac OS X



¿Cuántas veces os han venido con un ordenador que “hacía cosas raras” y que parece que "tenía vida propia”? Cuando estás investigando un posible incidente de seguridad, y no se tiene claro qué es lo que está pasando, máxime cuando hablamos de un montón de máquinas, puede ser interesante instalar un agente en cada máquina que remotamente pueda enviarnos (o al que podamos solicitar) información interna sobre el equipo en cuestión.

En esta línea, existe una herramienta llamada OSQuery, que permite realizar estas tareas en entornos Linux (CentOS y Ubuntu) y Mac OS X. Cabe destacar dos cosas muy curiosas: La primera es la interfaz de selección de datos, y es que la herramienta abstrae al usuario de hacer búsquedas entre diferente tipo de ficheros, ejecuciones de comandos, búsquedas en /proc, etc,…. mediante la utilización de SQL a partir de una interfaz de comandos propia. La segunda cosa curiosa es que la empresa encargada de su desarrollo, es nada más y nada menos que Facebook

La interacción con la interfaz es lo más parecido a SQLite, mediante la ejecución de "osqueryi", de manera que para poder ver las tablas a las que podemos hacer consultas, ejecutamos “.schema” y nos salen, entre otras, tablas como las siguientes:

CREATE VIRTUAL TABLE shell_history USING shell_history(username TEXT, command TEXT, history_file TEXT);
CREATE VIRTUAL TABLE process_envs USING process_envs(pid INTEGER, key TEXT, value TEXT);
CREATE VIRTUAL TABLE kernel_extensions USING kernel_extensions(idx INTEGER, refs INTEGER, size BIGINT, wired BIGINT, name TEXT, version TEXT, linked_against TEXT)

Obviamente, la ejecución en un Mac y en un Linux entrega tablas diferentes, aunque hay un subconjunto de ellas bastante grande que es común a ambos sistemas operativos.   


Las diferentes tablas, de las que podéis extraer información, la podéis ver aquí: https://osquery.io/docs/tables/. Se ofrecen separadas entre CentOS, Ubuntu y Mac OS X, así como las que son comunes a dichas plataformas.

Con OSQuery se incluye también "osqueryd" un demonio que permite programar las diversas consultas que más nos interesen, para poder comprobar cómo cambian los valores entregados a lo largo del tiempo, generándose logs agregados que permitan ver las variaciones, siendo de gran ayuda a la hora de entender qué le pasaba a la máquina en un momento determinado.

En el módulo de Linux del curso online de Análisis Forense de Securízame, entre otras, mostré el funcionamiento de esta  herramienta, en un contexto en el que nos interesaba preguntarle en remoto, y de forma programada, diferentes parámetros a un sistema operativo CentOS cada X tiempo. Creo recordar que en este caso una de las consultas que hice era la relación entre direcciones IP y MAC de la tabla ARP del sistema operativo, a fin de poder comprobar si la máquina estaba siendo víctima de un ataque MiTM. Este tipo de soluciones, puede resultar muy útil a la hora de inspeccionar el comportamiento de máquinas vivas. 
Disponéis de toda la información sobre la herramienta en https://osquery.io/

Leer más...

27 abril 2015

Colección de herramientas de seguridad en Powershell

Powershell lleva unos años de moda y cada vez más se ven herramientas en el mundo de la seguridad que hacen uso de este lenguaje de script para Windows. Por ese motivo y a modo de referencia, me gustaría compartir con vosotros algunos proyectos que hacen uso de este lenguaje para automatizar tareas en los análisis de seguridad y auditorias.

Algunas de estas herramientas son realmente prácticas y una vez nos hemos familiarizado con ellas se hace difícil hacer algunas tareas sin ellas.

El recopilatorio también es útil si queremos aprender como otros autores han solucionado problemas en este lenguaje utilizando en muchas ocasiones funciones y métodos de bajo nivel.
  • https://github.com/Veil-Framework/PowerTools/tree/master/PowerUp: múltiples herramientas para la escalada de privilegios en Windows: identificación de servicios vulnerables, DLL hijacking, errores en permisos de ficheros y registro, etc. Hoy en día una herramienta básica en cualquier análisis de seguridad o hacking ético que involucre Windows.
Pero no es todo, hay decenas de ejemplos y utilidades más que crecen día a día en el repositorio de Microsoft o en webs como github. ¿Ya eres experto en powershell? ¿A qué esperas?


Leer más...

23 abril 2015

Pasando el invierno al calor de tus datos




Ayer, mientras desayunaba viendo las noticias en TV, en relación con la celebración del #diadelatierra hubo una que me llamó mucho la atención, y que me dio mucho (más malo que bueno) en lo que pensar. Se está haciendo un experimento piloto en Holanda, por la que hay empresas que incorporan en las casas ordenadores de su propiedad, obviamente que están haciendo algo (computando o almacenando datos) para aprovechar el calor que generan como calefacción. Las empresas pagan el consumo de luz que hacen sus máquinas, y las familias no pagan nada por calefactar sus casas, eso sí, tienen como radiadores unos elementos que meten más o menos ruido. 

Hasta aquí dices: “Como medida de aprovechamiento de la energía es una muy buena idea”. En mi experiencia personal, la habitación donde he tenido un par de servidores funcionando 24x7, siempre ha tenido una temperatura de un par de grados más que el resto de las habitaciones, así que como elemento de ahorro y aprovechamiento de un calor que se va a perder sí o sí, o a extraer mediante caros equipos de aire acondicionado, es maravilloso. 

Ahora bien, desde el punto de vista de la seguridad, esos ordenadores o servidores que instalarán en casa de las familias, ¿qué interfaces de entrada/salida tendrán? ¿VGA, USB, puerto serie, RJ-45? 


Si algo no funciona en una máquina, tendrá que ir un técnico de la empresa responsable de dicho equipo y acceder a ella de alguna manera para ver qué pasa, ¿no? 

Respecto a los datos que se guardan y/o procesan ¿Estará cifrada la información almacenada?

¿Qué medidas de seguridad se tomarán para evitar que alguien dentro de esa casa, no se acerque demasiado al “radiador” y vea si puede “radiar” los datos que hay dentro? ¿Será suficiente barrera el contrato que firma la familia en el que no va a intentar acceder ni manipular la máquina, ni el contenido, ni "esnifar" el tráfico que entra y sale de la máquina? No tiene pinta, ¿verdad?

Si para lo que se están usando esas máquinas para colaborar en el proyecto SETI aún tiene un pase, pero la noticia que ví decía que eran empresas las que cederían esas máquinas de su propiedad, es decir, servidores que procesan datos, como máquinas. Si de lo que hablamos es que son datos de personas, de clientes, correos electrónicos, en fin… lo que sea, el distribuir en cajas con cables y un ventilador en casas de desconocidos, es una patada bastante grande a lo que dictarían las buenas prácticas de seguridad en entornos corporativos, en cuanto a seguridad física se refiere.

¿Y el tráfico que entra y sale de la máquina? ¿Irá cifrado por VPN hasta el destino? Si logro ver el sistema operativo de la máquina, puedo extraer certificados y configuraciones VPN y sustituir rápidamente un cable por otro, forzando una reconexión VPN, esta vez desde una máquina mía hasta dentro de la empresa en concreto.

Imagino que además, las máquinas se conectarán a la red de casa y harán uso de la conexión a Internet que tenga el domicilio. ¿Se aislará esa máquina-radiador de la red normal de la casa o será un CTF? ¿Y si alguna de esas máquinas es comprometida y empieza a descargar imágenes con pornografía infantil o a compartir contenidos con derechos de autor a través de la conexión a Internet de la familia?

Como se puede ver, aunque la idea inicial es buena para el planeta, tiene sus riesgos tanto para los clientes de las empresas que “se ahorran" espacio en el Datacenter y distribuyen su infraestructura por ahí, como para los propietarios de las casas, cuya conexión a Internet puede ser aprovechada para vete tu a saber qué oscuros objetivos, ya sea voluntaria o involuntariamente.  

A lo mejor sería interesante promover una ley que obligara a las empresas que forman parte de esta iniciativa, que lo notificasen a sus clientes, para que éstos pudieran decidir si confiar en "la nube" o no.
  
Buscando enlaces para incluir en la entrada, aunque no he encontrado la fuente actualizada de la noticia, he visto varias noticias de hace ya tiempo en el que se pensó en esto mismo en países nórdicos. 

Leer más...

22 abril 2015

Son ya 11 ediciones de la asignatura "Temas Avanzados en Seguridad y Sociedad de la Información" (TASSI) impartida en el Campus Sur de la Universidad Politécnica de Madrid, en la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos ETSISI.

Como hemos comentado en otras ocasiones, aún correspondiendo con una asignatura, la entrada es gratuita para el público en general y no sólo para alumnos. Este año además ha contado con la participación de nuestro compañero Lorenzo con Memorias de un perito informático forense como ya comentó en esta entrada.

El programa de este año es el siguiente (incluímos los videos ya publicados de las sesiones hasta el momento):
  • Román Ceano - ULTRA: Enigma y Fish
  • Antonio Ropero - Hispasec: 16 años de seguridad informática
  • Marc Rivero y Dani Creus - Ecrime evolution
  • José María Marín - Protección de las comunicaciones críticas por fibra óptica
  • Sergio de los Santos - Malware en Android y Google Play
  • José Picó y David Pérez - Seguridad en redes móviles GSM, GPRS, 3G, 4G
  • Pedro Sánchez - Offensive forensics
Como cambio significativo frente al tríptico publicado inicialmente, la sesión de José Picó y David Pérez de Layakk se ha adelantado a este jueves 23 de Abril, y Pedro Sánchez pasa al 30 en su lugar.

A continuación se muestra el mapa para poder llegar a la Escuela dónde se celebran las charlas:



[+] Tríptico informativo sobre TASSI 2015
[+] Videos de charlas TASSI (ediciones anteriores)
Leer más...

20 abril 2015




Hasta el gorro estamos de oir que las grandes compañías nos espían, que nos perfilan en base a nuestros hábitos, a nuestras búsquedas, a los recursos visitados, que nos ofrecen publicidad ad-hoc según lo que buscamos. 

Más aún cuando tenemos como navegador predeterminado Google Chrome, que gracias al single sign-on que es disponer de una sesión autenticada con nuestra cuenta de Google, nos avisa cuando nos llega un mail, un hangout o cualquier otro recurso integrado de Google, y que no sabemos cuántas otras cosas hace por debajo, y a quién o dónde envía nuestros hábitos.

En muchos casos, la dirección IP asignada por el ISP, es fija (incluso aunque no la hayamos contratado así) y podría permitir perfilar a los usuarios por la navegación que han hecho desde dicha dirección IP.

Pensando únicamente en nuestra privacidad, y por supuesto NO fomentando que se cometan delitos gracias a esto, quiero dar diferentes alternativas (muchas de ellas combinables para una navegación "algo más privada"). 

Obviamente, esto no será efectivo si tu/s equipo/s está comprometido y dispone/n de algún tipo de malware que permite enviar tu navegación, pulsaciones de teclado o acceso remoto a vete tú a saber quién directamente.

1.-) Usar una VPN a un país diferente al tuyo: Al menos, la dirección IP a través de la que navegarás es diferente a la tuya. Todo el tráfico lo envías por allí y a correr. Esto, siempre y cuando esté bien hecho a nivel de rutas puede ser una posible solución para darte algo más de privacidad. Dejo aquí un listado que publicamos en SbD hace tiempo respecto a servicios de VPN que se toman en serio la privacidad

2.) Usar el modo incógnito o navegación privada: Se supone que no guarda cookies, ni historial, ni temporales, pero si estamos usando el mismo navegador. No sé... no me fío. 

3.-) Por si acaso, usar un navegador diferente para esas consultas "privadas". Además usar modo incógnito o navegación privada.

4.-) Usar la red TOR. Aunque se han dado casos en los que el FBI ha podido identificar ciberdelincuentes aun utilizando la red TOR (ya sea por disponer de muchos nodos de salida de TOR, o por alguna vulnerabilidad en el navegador que permitía hacer peticiones desde la IP real), no deja de ser una buena alternativa, aunque... el rendimiento se resiente y mucho. Navegar a través de TOR es leeeento.

5.-) Utilizar una distribución Live en una máquina virtual, única y exclusivamente para navegar anónimamente. Hay distribuciones específicamente diseñadas para proteger nuestra privacidad como Tails, Whonix, etc,... que podemos incluso instalar y que garantizan que todos los que la usan, serán identificados con los mismos plugins, versiones de software, user-agent, resolución, etc,... 

Y con esto, parece que ya estamos seguros, ¿verdad?

Bueno, pues parece ser que no. Y es que, a no ser que TODO nuestro tráfico esté saliendo a través de la VPN (controlado a nivel de rutas del sistema operativo), en algunos casos es posible identificar la IP real, dependiendo de la web que estés visitando, debido al soporte de navegadores como Firefox o Chrome de WebRTC

Para evitarlo, en Firefox, hay que ir a about:config y poner el valor del parámetro media.peerconnection.enabled como false

Para Chrome, que se sepa, no hay un remedio para esto todavía.

Además, una buena ayuda extra, es la extensión más completa para Firefox para mejorar la privacidad: Random Agent Spoofer

Por una parte podemos hacer que aleatoriamente envíe un User-Agent cualquiera (entre otros, el nuestro también, claro...)


Es genial también poder incluir cabeceras que indiquen que se ha utilizado proxies con direcciones IP aleatorias para encaminar el tráfico. Lo mismo en cuanto a las cabeceras HTTP  que indican el encoding y los idiomas aceptados. 


Y ya otra pila de opciones que evitan que se guarde información en cache, historial, amen de otras posibles medidas anti-detección relacionadas con deshabilitar la geolocalización, prefetching DNS, webGL, etc,...



Para poder comprobar el grado de privacidad con la que podemos contar en la navegación, hay dos recursos muy interesantes:












Leer más...

19 abril 2015

Enlaces de la SECmana - 272

Leer más...

18 abril 2015

Libros: Ethical Hacking vs. Ethical Hacking





Muchas veces, lectores o asistentes a algún congreso, me preguntan por dónde empezar “en esto de la seguridad”. Es normal que en pleno 2015, cuando estamos inundados de tecnología por todas partes, no sepamos qué rama seguir, o qué hacer. Hace un par de meses leí un post en el blog de Chema, en el que lidiaba con esta misma temática, que me pareció bastante bien orientado en esta línea. 

En general, y por lo que veo en las diferentes formaciones en las que participo, si hay que elegir entre análisis forense, securización o hacking puro, la preferencia de la gente es clara y se suele decantar por la tercera: Romper cosas, mola!

En esta línea hoy quiero hablar de dos libros que pueden servir de ayuda para todos aquellos que estéis empezando en esto de la seguridad, y que queráis ver desde un punto de vista abierto, la metodología a seguir en un proyecto de Hacking Ético.

Ambos libros, se han escrito en épocas muy diferentes, por personas con perfiles muy diferentes (aunque el destino los haya hecho trabajar en la misma empresa, Eleven Paths) enfocan de manera muy diferente el mismo cometido: una metodología para llevar a cabo un proyecto de Hacking Ético. De hecho, lo único que tienen igual es el nombre: 

Ethical Hacking: Un enfoque metodológico para profesionales (de Claudio Caracciolo), Ezequiel Sallis y Marcelo Rodríguez


Sin duda un libro escrito por tres profesionales como la copa de un pino. Explica desde un prisma de muy alto nivel, los diferentes tipos de auditoría que hay (caja negra, caja blanca, caja gris, etc,…), las etapas del análisis, qué técnicas y algunos recursos utilizar a la hora de hacer reconocimiento pasivo y activo, fuentes abiertas, Google hacking, etc. Hace especial énfasis en el uso de ingeniería social (algo en lo que Claudio podría escribir varios libros por sí solo). Se muestra con muy poco grado de detalle la ejecución de herramientas. Se centra más en que el lector comprenda el concepto de lo que se pretende, de lo que se busca en cada fase. Nombra herramientas, evidentemente, pero está pensado a otro nivel. A menudo plantea diferentes puntos de vista y/o formas de llevar a cabo una fase, dando opciones al lector, explicando las diferencias que hay entre ellas para que según la ocasión se pueda elegir correctamente.

Para mí, uno de los capítulos de más valor de esta obra, es el del informe de resultados. A lo largo de mi vida profesional he tenido que hacer unos cuantos, y leerme los de otros. Está claro que se puede haber hecho el mejor trabajo del mundo, pero si no se plasma correctamente, de una forma estructurada, enfocando cada parte al público que se lo va a leer, lograremos que unos se aburran y otros no entiendan lo que están leyendo. En este libro se dan grandes recomendaciones a este respecto, por lo que debería estar como una referencia en tu biblioteca y ser uno de los libros de introducción quizá no para ejecutar una auditoría, pero sí para entender cuáles son los objetivos y el por qué han de hacerse de determinada manera; sobre todo será un gran valor para aplicar el siguiente libro


Ethical Hacking: Teoría y práctica para la realización de un pentesting de Pablo González




Parto desde el punto que no dispongo físicamente de una copia de este libro, pero sí que he tenido la oportunidad de ojearlo con bastante detalle en el punto de venta de libros en diferentes congresos en los que he participado, por lo que me puedo hacer una idea bastante buena de lo que en él se ofrece. Esta obra, escrita muchos años después que la anterior, muestra a lo largo de toda su extensión, la utilización de diversas herramientas adecuadas para cada fase de auditoría. Basándose en herramientas integradas en la distribución Kali, el libro detalla la ejecución de maltego para análisis pasivo, nmap para la fingerprinting del objetivo, hace referencias a la metodología OWISAM para el análisis de redes inalámbricas y por supuesto utiliza metasploit, algo en lo que el autor está más que versado, en varias fases de la auditoría, tanto para explotación de objetivos vulnerables como para la post-explotación.

Tiene pinta de ir en la línea de "Hacking Ético 2.0" de Héctor Jara y Federico Pacheco, del cuál puedes leer su crítica aquí.

Supongo que tendría que leérmelo de principio a fin para dar una opinión más profunda, pero a priori me pareció interesante y recomendable igualmente.


Como digo, ambos libros se llaman igual, afrontan el mismo problema desde diferentes ópticas y plasman la ejecución de diferente manera, uno de forma mucho más conceptual, como para calentar el músculo, y luego el de Pablo con una naturaleza más práctica con técnicas y herramientas acordes a los tiempos actuales.


En definitiva, ambos libros recomendables, leídos en este mismo orden: primero el de mis colegas argentinos y después con un PC con máquinas virtuales delante, el de Pablo González.  
Leer más...

17 abril 2015

Herramientas para analizar ficheros ofimáticos online

Decir que la mayoría de incidentes de seguridad con amplia repercusión han involucrado, casi siempre, el envío de documentos con 'regalos', es hablar de una realidad en los últimos años.

Desde el siempre comentado 'Caso RSA', que involucró un documento Excel, hasta los cientos de ataques que tuvieron como protagonistas ficheros PDF, demuestra que, poder analizar de una forma eficaz un documento sospechoso, es algo en lo que merece la pena profundizar.

En este blog tuvimos la suerte de contar con una contribución de Jose Miguel Esparza hablando de PeePDF, herramienta que permite analizar y extraer el jugo a un documento PDF orientada a hacer el análisis en local. 

Hoy toca ver herramientas online al estilo virus total, que nos permitan subir un documento para que sea analizado, diseccionado y obtengamos un informe sobre su peligrosidad.

El primer servicio es 'Joe Sandbox Document Analyzer' permite analizar documentos Office y también documentos PDF. Luce tal que así:


Otra opción son las herramientas de 'Malware Tracker' que tiene una versión para documentos ofimáticos y otra para documentos PDF






Finalmente, otra muy buena opción es XecScan que además permite consultar los informes de ficheros que han ido enviando otros usuarios

 

En próximos artículos hablaré de como hacer este tipo de análisis en modo manual
Leer más...

14 abril 2015

Protocolo industrial MODBUS: Captura y análisis de tráfico

Un campo que me ha llamado la atención últimamente es la Seguridad Industrial y Sistemas SCADA. Debido a la plataforma tecnológica que se emplea en estos sistemas, se requiere mayor esfuerzo en simular entornos industriales para fines de investigación, sin embargo resulta útil y justificado realizarlo, ya que con los antecedentes y crecimiento de amenazas cibernéticas, las tecnologías industriales representan un objetivo muy peligroso para posibles atacantes.

El objetivo de esta publicación es mostrar cómo simular una comunicación industrial tipo cliente-servidor, y capturar el tráfico con WireShark, esto con el fin de identificar posibles vulnerabilidades que pueden tener un protocolo industrial. El protocolo industrial elegido es MODBUS, este protocolo es ampliamente usado en sistemas de automatización y control. MODBUS puede implementarse en redes basadas en ETHERNET, RS-485 y otros.

Los programas necesarios son: Modbus Poll, Modbus Slave, CommView 6.5 (o RawCap) y Wireshark, los dos primeros pueden descargarse desde la página oficial http://www.modbustools.com/download.asp

CommView (o RawCap) son necesarios para capturar el tráfico local. Durante la instalación de CommView se selecciona “Enterprise Mode” esto con el fin de usar el modo “Loopback”. Al inicializar el programa preguntará si se desea instalar un controlador, por lo general nos encontraremos sobre LAN o ADSL, así que la repuesta es no.

En el caso del software RawCap, se trata de un ligero sniffer que no requiere la instalación de drivers, sin embargo si requiere la librería WinPcap. Su uso es tan sencillo como copiar el fichero y ejecutarlo. En cuanto a su funcionamiento el RawCap trabaja con dos argumentos, la dirección IP (de la interfaz) y el fichero destino.

Una de las características más importantes es que permite capturar “loopback”, conexiones PPP o Wireless. Sin embargo no es compatible con Windows Vista y Windows 7, ya que el método para capturar “raw sockets” en estos sistemas es distinto y solamente deja almacenar los paquetes que se reciben (Windows 7) o los que se envían (Windows Vista).

Entorno Virtual

2 máquinas virtuales (Master y Slave) con direcciones IP en el mismo segmento de red, en este caso:


  • Master
    • Windows 7 Professional Media Center Edition x64
    • IP: 192.168.1.35
  • Slave
    • Windows 7 Home x64
    • IP: 192.168.1.36

Posterior a la instalación de ambas máquinas virtuales es necesario comprobar la comunicación entre ambas.

Configuraciones

En la virtual “Slave”. Se instala el software “Modbus Slave” y se ejecuta, se pulsa F3 (aparecerá una ventana indicando que se trata de “trial”, se debe pulsar “Register Later”), y se establece la opción “Connection:” en “Modbus TCP/IP”, el resto de los campos de define por defecto.


En el otro ordenador se debe instalar y ejecutar “Modbus Poll”, luego oprimir F3 y continuar de similar manera a lo anterior, con la opción “Connection:” en “Modbus TCP/IP”, y el resto por defecto.


En este punto se observa cómo va ascendiendo los valores de la transmisión (Tx) en el Master (Modbus Poll). Desde “setup” podemos cambiar diferentes opciones, a simple vista se observa: log, resetear el contador, podemos variar el “Scan Rate”, etc.

En el caso de “Slave”, se puede escoger la primera “ID” y definir el alias que se desee (humedad ambiental, velocidad del viento, caudal, presión, etc), y establecer un valor deseado, teniendo en cuenta que existe la opción para incrementar este valor automáticamente cada cierto tiempo que pasa. No sólo asciende en Slave, sino que también lo veremos en el Master.



Pruebas realizadas

Ahora empezamos con la captura de datos de la siguiente manera: Abrir CommView (elegí este programa por razones de compatibilidad, se puede usar también RawCap), luego ir a “capturar datos”.

En el programa al lado de” play” y “stop” se selecciona “Loopback”, para capturar el tráfico local, luego se selecciona la pestaña “Reglas”, y se elige “Puertos “, “Agregar registro – Ambos a 502“, de esta forma sólo se ve lo que entra y sale de ese puerto, dicho puerto corresponde al protocolo Modbus.

Con Modbus en funcionamiento, se debe seleccionar play y posteriormente se obtendrá un resultado similar al siguiente:


 

Se observa como en Modbus Master comienza a incrementar el número de paquetes transmitidos (Tx), por otro lado se van actualizando los dos registros al mismo tiempo que se incrementan los registros en Modbus Slave. Por lo que, si se modifica el valor de uno de los registros en el Master se actualiza el valor del registro en el Slave.

Si se desconecta Modbus Slave, se observa cómo se producen errores “Write Error” en el Modbus Poll. Para ello se selecciona desconectar en Modbus Poll, luego se selecciona desconectar en el Modbus Slave.

Es posible observar el inicio y finalización de la conexión TCP así como las tramas Modbus, dentro de las tramas se encuentra el campo “data vga” en el mismo se aprecia sucesivos envíos y los cambios de valor en los registros.

Una vez guardados los datos, estos pueden visualizarse en Wireshark, se observan los números aleatorios incrementándose, los cuales fueron definidos anteriormente.


Los parámetros  capturados se muestran en la siguiente imagen:



Conclusiones

Los paquetes transmitidos bajo el protocolo Modbus son ligeros en comparación a los protocolos tradicionales. Esto es perfectamente entendible teniendo en cuenta que se necesita un “Delay” muy bajo en sistemas industriales, donde la precisión en términos de tiempo (microsegundos), es muy importante.

Al ser las tramas cortas, los datos se transmiten casi instantáneamente. Los datos son transportados en TEXTO CLARO. Este hecho indica la falta de algoritmos criptográficos, lo cual ayuda a acelerar la transmisión por razones de funcionalidad.

No obstante, esa simplicidad en las comunicaciones también implica una gran vulnerabilidad a cierto tipo de ataques así como la lectura/escritura de datos por parte de terceros (MITM por ejemplo).

Cualquier incidencia en uno de los dos equipos, ya sea un fallo del protocolo de comunicaciones, hardware de red o un “cuelgue” momentáneo debido a un gran consumo de CPU o RAM, tanto del cliente como del servidor, puede originar afectar negativamente a la sincronización o incluso una pérdida de datos, lo que conllevaría a un mal funcionamiento de dispositivos industriales. Se debe tomar en cuenta también que una amenaza no necesariamente puede ser una persona, existe la posibilidad de que un malware especialmente diseñado pueda recolectar y manipular las comunicaciones industriales de tipo MODBUS, tal y como fue el caso de STUXNET.

Un saludo y muchas gracias a SecurityByDefault por brindarme un espacio.

Artículo cortesía de César Cuenca (@ccuencad)
Leer más...

13 abril 2015

Novedades de la versión 6 de CAINE



Comentando con varios colegas que nos dedicamos profesionalmente al mundo del peritaje, solemos hablar de cuál es la distribución favorita que utilizamos para trabajar en casos forenses. Los nombres que más suenan en este ámbito son: SIFT, DEFT y CAINE.

Y si lo acotamos aún más, lo más común es quedarse con DEFT o con CAINE. Ambas disponen de herramientas que ayudan a llevar a cabo las tareas necesarias en cada una de las diversas fases de Análisis Forense. Incluso, disponen de una parte dedicada a entornos Windows, que permiten operar con en modo Live con sistemas operativos Windows. En DEFT se llama DART e incluye una compilación de herramientas para volcado de memoria, adquisición de sistemas de ficheros, artifacts, etc,...

Desde mi punto de vista, tengo predilección por CAINE. Quizá porque fue la primera con la que me acostumbré a trabajar es que estoy acostumbrado a saber dónde está cada herramienta, así como lo que se puede y lo que no se puede hacer. Por ello y su sencillez y por lo intuitivo que resulta su uso, es por lo que la utilizo y recomiendo siempre cuando me toca dar un curso de Análisis Forense, tanto para Windows, como para Linux. 

CAINE se trata de una distribución de la que ya hemos hablado más de una vez en Security By Default. Como otras distros específicas para análisis forense, se incorporan herramientas de gran utilidad para las fases del mismo, clonado de unidades de almacenamiento, análisis de volcados de memoria, recuperación de ficheros, actividad de sistemas de archivos, otras especializadas en destripar dispositivos móviles, desde el dispositivo o a partir de un backup, etc….

Cuando se publicó la versión 6 de CAINE, me dispuse a echar un vistazo a las novedades y, a instalarla en una máquina virtual. Aunque se puede utilizar en modo live, cualquier personalización que queramos hacerle, al igual que con otras distribuciones, como Kali por ejemplo, o la instalamos en disco, o se perderán al apagado.

En el caso de CAINE 6, la lista de actualizaciones y nuevas herramientas es importante. Copio y pego directamente de la web:

fixed password request in polkit
fixed password request in textmode e tty
Bash bug fixed shellshock
mount policy always in ro and loop mode 
fstrim disabled (enabled uncommenting the row in /etc/cron.weekly/fstrim) 
autopsy patched by Maxim Suhanov: (HFS directories handling fixed, Sun VTOC volume system handling fixed, incorrect timestamps (that are equal to zero) are handled as 01/01/1970 00:00:00)
Gzrt
Dislocker
Img_map 
QPhotorec (photorec gui) 
Undbx
Ddrescueview
Gddrescue
Disktype
Peframe
Quickhash
BEViewer Bulk Extractor
Ddrutility
Ataraw
Frag_find
Log2timeline plaso - supertimeline
Tinfoleak
Inception memory dumper by firewire
Volatility
4n6-scripts
boot-repair
grub-customizer 
Broadcom Corporation BCM4313 wireless card drivers

Como destacables, y útiles, la inclusión de Tinfoleak, herramienta desarrollada por Vicente Aguilera, de la que ya comentamos en Security By Default y log2timeline plaso, de la que dio una conferencia MoxilO en RootedCON 2014. 

En el caso de herramientas de análisis para respuesta ante incidentes para Windows, en CAINE, directamente integran Win-UFO (Ultimate Forensics Outflow) y tiene una pinta como la que se puede ver bajo estas líneas.  




Si tengo que buscarle una pega, diría que el instalador de la versión 6, Systemback, me parece francamente poco profesional; siendo francamente complicado instalarlo en VirtualBox. Afortunadamente, en VMWare no me dio ningún problema. 

Pero sin embargo, ninguna distribución es totalmente completa tal cual viene, por lo que a Caine 6 recomiendo añadir los repositorios de Santoku, otra distribución Linux especializada en análisis forense para dispositivos móviles, sobre todo en Android. Al estar ésta  basada en Ubuntu también, son perfectamente compatibles, haciendo que quede un repositorio de herramientas de forense mucho más funcional.

Para la instalación de CAINE, suelo tener en cuenta que creo una máquina virtual con los siguientes discos (o particiones):
  • El de sistema
  • Uno para Autopsy (que suelo configurar como punto de montaje en /usr/share/caine/report/autopsy)
  • Otra para guardado de imágenes y trasteo vario
La partición de Autopsy es muy interesante puesto que la generación de un caso completo puede involucrar varios discos y particiones, sobre los que hay que efectuar análisis de contenido, y eso suele ocupar bastante espacio. Además, si el disco utilizado para este fin es un USB externo, el trabajo completo puede ser exportable a otros entornos de análisis. 


En resumen, una distribución Linux que recopila las herramientas imprescindibles para análisis forense digital, personalizable al gusto del analista, que no puede faltar en el laboratorio de un perito. 
Leer más...

12 abril 2015

Enlaces de la SECmana - 271


Leer más...

10 abril 2015

Resolviendo un Crackme con WinAPIOverride

En el mundo de la informática siempre se ha dicho eso de 'Existen muchas formas de llegar al mismo resultado' y lo cierto es que, en ocasiones, resulta muy divertido e interesante comparar aproximaciones de varias personas frente a un mismo problema / desafío.

El caso de los 'Crackmes' es paradigmático a la hora de ver posibles soluciones a un mismo final. 

Hoy voy a explicar como resolver un -muy- sencillo crackme haciendo hooking empleando la sensacional herramienta WinAPIOverride. El objetivo es resolver el crackme de una forma poco convencional alterando la función lstrcmpi() que, como se puede ver en MSDN, se dedica a comparar dos strings y decir si son iguales o no.

El crackme en cuestión tiene esta pinta:





Y como es fácil intuir, se trata de meter un serial que, en algún punto del programa, se compara con el bueno y en base a eso obtenemos un OK o




Si observamos con Olly donde está la parte interesante:


Podemos ver que se van a comparar dos cadenas y, si son iguales, saltamos a la parte de 'Congrats' y si no lo son, nos vamos a 'Sorry'. 

En este punto la forma más fácil de resolver el crackme es 'tocar' Z para forzar el salto si-o-si pero vamos a salirnos de la forma convencional y a resolverlo de otra forma.

Usando WinAPIOverride vamos a crear una DLL que contenga una función que siempre haga return 0, haremos esto para sobre-escribir lstrcmpi() ya que, esta función devuelve 0 si ... 'If the strings are equal, the return value is zero' con lo que, si nuestra función siempre devuelve 0, el objetivo es que cada vez que sea llamada lstrcmpi(), se ejecute nuestra función y por lo tanto la comparación sea siempre positiva. 

De esta forma, cuando el Crackme use la función, se devolverá un 0 y siempre caerá en la parte 'Congrats'

WinAPIOverride viene con un SDK que nos permite construir DLLs para hooking de una forma muy sencilla, ya que hay varios ejemplos re-utilizables.

En nuestro caso, crear la función 'mágica' ha sido tan fácil como coger uno de los ejemplos y a partir de ahí, crear la nueva función


Una vez compilada nuestra DLL, simplemente tenemos que pedir a WinAPIOverride que se ocupe de cargar la DLL y hacer el hook


De esa forma, una vez WinAPIOverride ejecute el crackme, cualquier llamada a lstrcmpi siempre va a devolver 0. Lo probamos


¡¡ Perfecto !! ha funcionado y hemos conseguido 'engañar' al programa.

Y esto es solo la punta del iceberg de WinAPIOverride, la herramienta tiene bastantes más funcionalidades, como por ejemplo, la posibilidad de 'logear' funciones y sus parámetros al estilo API Monitor. Os animo a todos a descargarla y darle un vistazo !
Leer más...

08 abril 2015

Vuelve el curso Attack & Hardening de GNU Linux !

Hace relativamente poco tiempo, tuve la oportunidad de impartir junto a Lorenzo el curso 'Attack & Hardening de GNU Linux' en el que combinábamos dos modalidades: Ataque y defensa.

Por un lado, un módulo de 8 horas en el que se veía de forma extensiva como plantear una auditoría a todos los niveles para un entorno Linux. 

Hablamos de cómo obtener información de un sistema, cómo evaluar su nivel de riesgo, lanzamos ataques de red, atacamos el sistema por fuerza bruta, vimos en profundidad cómo explotar un entorno web y finalmente tratamos el tema del exploiting de binarios 'setuid'.

Después de eso, otro imponente módulo en el que se valoraba como evitar lo anteriormente expuesto aplicando las técnicas más modernas y completas de 'hardening'

A todo esto, se sumó el gran DAVID HERNÁNDEZ que impartió un seminario sobre optimización de entornos GLAMP.

Hoy puedo anunciar que el curso VUELVE A ESTAR DISPONIBLE. De hecho, va a ser el mismo curso, exactamente igual a como se impartió ya que ahora está disponible en su modalidad offline, es decir, el acceso a las sesiones que se grabaron cuando se impartió.

Pero esto no significa que vaya a ser como los capítulos de ' Los Simpson', un formato enlatado no interactivo. No, el grueso del curso va a ser offline, pero todos los alumnos van a contar con atención individualizada por correo para resolver CUALQUIER duda. 

Además también habrá tutorías 'en directo' para poder repasar los conceptos en los que los alumnos quieran hacer hincapié.

El curso cuenta con documentación técnica y hasta una máquina virtual con un entorno creado ad-hoc para auditar las vulnerabilidades vistas en el training.

Los interesados, dirigirse aquí
Leer más...

07 abril 2015

Cipherli.st: Configuraciones SSL robustas para servicios

El portal Cipherli.st realiza una labor más que interesante: recopilar en una sóla página fragmentos de configuraciones seguras para establecer el cifrado más fuerte posible en multitud de aplicaciones y servicios.

En ella podréis encontrar configuraciones de cifrado robustas para servidores web como Apache, nginxLighttpd. Sobre dichas configuraciones se puede realizar un copy/paste sobre nuestros ficheros propios, lo que hará fortificar al máximo recomendable la configuración referente a cifrado.

Configuraciones SSL recomendadas para los servicios web más usados
Obviamente, dichas configuraciones no son la panacea, y es recomendable estudiar el posible impacto de aplicarlas en entornos productivos. Eso sí, en caso de que al establecer esta configuración todo funcione a la perfección, podremos asegurar que nuestro servicio tendrá un nivel aceptable de seguridad SSL. Para estar totalmente seguros, siempre se puede recurrir a portales como SSL Labs de Qualys, que prueban la seguridad SSL de servicios web externos, ofreciendo consejos para su mejora en caso de detectar alguna mala práctica o posible configuración insegura. El objetivo siempre será conseguir un A+

Si bien inicialmente el portal se enfocó a servicios web, debido al auge de vulnerabilidades que ponían en entredicho a todo lo referente a SSL, poco a poco se han ido añadiendo fragmentos para otras aplicaciones como haproxy, postfix, exim, ProFTPd, OpenSSH (tanto cliente como servidor) entre otros. ¡Se aceptan pull requests!

Configuraciones SSL recomendadas para otros servicios

[+] Cipherli.st


Leer más...

05 abril 2015

Enlaces de la SECmana - 270

Leer más...