miércoles, 30 de octubre de 2013

El tópico de que Mac OS X no es Hackable

Existe un gran tópico en el que la gente se piensa que un equipo Apple no es Hackeable, o no se puede infectar por ningún tipo de Malware. Lo peor de este típico tópico es que hasta los informáticos más expertos dan por hecho que no se puede infectar un Mac OS X.
El usuario de Mac OS X sea posiblemente uno de los más desprotejidos que haya frente a un Windows, o un Linux. Claro que también es cierto que no es lo mismo infectar un Windows, que un Linux, que un Mac OS X.
Seguramente a día de hoy el sistema más complejo de infectar o "piratear" sea Linux, y no es por otra cosa sino porque se requieren mayores conocimientos, y/o existe menos información en la red en cuanto a como se debe (por ejemplo) crear un malware para Linux. Sin embargo encontrar información de como crear un malware para Windows es bastante fácil, existen miles y miles de guias, manuales y foros donde se explica como hacerlo.
Esto se debe a la gran expansión que tuvo Windows. Ahora la cosa está cambiando y cada vez hay más usuarios de Mac, por lo que encontrar información sobre como  hackear un sistema con Mac OS X no resulta ni tan difícil, ni tan complicado.
Hace no mucho hice una búsqueda en Google "Hacking with Mac OS X", pues bien, la primera página de referencia que salió fue www.hackmac.org, una página web que para mí podría ser como otra cualquier si no fuera por el siguiente anunció que contenía la barra derecha de navegación:

Una completa guía para hackear Mac OS X en tan sólo 30 min. Así lo anuncian ellos.
Con esto creo que queda bastante demostrable que Mac OS X no sólo se puede hackear o infectar, si no que además como se siga extendiendo su uso al resto de usuarios, los desarrolladores van atener que hacer un gran trabajo para que éste no se convierta en otro Windows.

martes, 29 de octubre de 2013

Hakin9: Learning How to Protect Your Networks by Attacking Them

Ha salido una nueva publicación de la revista hakin9 donde por segunda vez he participado escribiendo un artículo sobre los peligros de seguridad que puede conllevar el tener un sistema descuidado por parte de los administradores.
En él explico como se puede comprometer un gran número de cuentas de correo para después hacernos pasar por una persona de la compañía y terminar infectando el ordenador de un empleado a través de un PDF malicioso creado con Metasploit. Todo esto enfocado a la mala administración de los servidores, que aunque parezca mentira, este tipo de situaciones y escenarios se producen muy a menudo.



jueves, 24 de octubre de 2013

Backbox - Iniciación al Pentesting. Introducción del Tema 4 (PDF)

Ya se hemos comenzado con el Tema 4, en el cual se habla de la post-explotación de los sistemas. Aquellas cosas que podemos realizar una vez vulnerado el sistema.
La entrega de capítulos está siendo bastante corta. El motivo es porque queremos centrarnos en un sólo tipo de ataque, y en un sólo objetivo para que la persona que lo esté leyendo entienda bien como realiza todo el proceso de principio a fin. Por ese motivo también no estoy parándome a explicar más herramientas de las necesarias.
El Libro apenas tiene unas 23 hojas y ya hemos vulnerado la máquina víctima.
Como ya he comentado en otras ocasiones, la idea es tener una base e ir trabajando sobre ella. Es muy posible que pasado un año tengamos un Libro completo gracias a las pequeñas modificaciones que se van añadiendo poco a poco.
Lo último que se ha añadido es la introducción al Tema 4, explicando que es la Post-explotación y dejando una reseña de como se puede logra o qué se puede lograr.
Más adelante entraremos en detalle sobre como hacernos con el control total de otras máquinas a partir de la primera máquina vulnerada.

sábado, 19 de octubre de 2013

Thinking about Security by Chema Alonso

Posiblemente muchos de vosotros ya habréis visto esta conferencia de Chema Alonso impartida en la Universidad de Castilla-La mancha, para todo aquel no la haya visto yo le recomiendo que lo haga.
La conferencia en cuestión dura una hora y media y Chema se dedica durante todo ese tiempo a hablar sobre seguridad. Y lo hace sin centrarse en alguna técnica en concreto o en algún fallo en particular.
Nos pone en la situación de lo importante que es la seguridad informática en los tiempos que corren.
Habla de Lulzsec, Anonymous, SCADA, Stuxnet, Ciberguerra, espionaje, y muchas otras cosas que deberías, y necesitas, saber.

jueves, 17 de octubre de 2013

Hacer SPAM es difícil, pero puedes tener cuentas de correo como churros

Seguro que a más de un webmaster le ha pasado lo siguiente; intentas enviar un correo a todos los usuarios de tu web, y tu proveedor de servicios te lo para por detectar un posible intento de spam.

Esto no significa que tengan que ser miles de cuenta, esta situación te la puedes encontrar en cualquier hosting con tan solo intentar enviar un email a más de 50 usuarios al mismo tiempo.

Digamos que esta es la parte fea de la parte legal. Es decir, nosotros no hacemos spam, simplemente hacemos publicidad de nuestro negocio/web, eso si, no podemos enviar varios emails a la vez. Y cuidado, tampoco intentéis enviar 50 emils cada hora, el servidor que hace de hosting lo detectará y estarás igual que al principio sin poder enviar mails.

Lo peor de esta situación es que tu proveedor hosting cuando detecta esta situación corta por lo sano, por lo que si te estas escribiendo con otro socio a través del propio webmail de tu página, dejarás de hacerlo gracias a que el servicio de correos lo cortan de raíz durante unas horas.

Para poder enviar mails de manera masiva y de manera legal tienes que justificar muy mucho que eres una empresa que te dedicas a “tal cosa” y que no haces spam, sino promoción de tu sitio, producto, negocio...

Aun así existen casos en los que un un sitio web termina en la lista negra de SPAM (spamhouse), y es bastante complicado salir de ahí.

Todo esto sin hacer spam... son medidas drasticas. Sin embargo hacer spam se puede seguir haciendo de una u otra manera.

Lo que resulta muy sorprendente a pesar de todas estas medidas de seguridad contra el spam, es la facilidad con la que puedes tener cientos de miles de correos para tal propósito.

En alguna ocasión hemos hablado de pastebin, un repositorio libre de hackers. Ahí podrás encontrar un buen puñado de cuentas de correo. Sin ir más lejos echad un ojo a estos Links:

13.000 fucked armenian mails ( 4 Happy Phish and Hapy Spam)

Facebook emails list

2000 emails list V

[GET] 6.7 Million USA Business Email List (mediafire download)

miércoles, 16 de octubre de 2013

Búsqueda de rootkit con rkhunter en Backbox. Siéntete seguro.

Rkhunter es una aplicación que se encarga de buscar rootkit en Linux y de mostrar los ficheros y carpetas del sistema que han sido alterados. Lo que conseguimos con ello, adeás de saber si nuestro equipo contiene algún tipo de Rootkit, es saber también que carpetas(del propio sistema) han sido modificadas, han cambiado sus permisos o simplemente se han ocultado o borrado.

Rkhunter es una aplicación que podemos utilizar en cualquier Linux, de hecho esta prueba se realizó sobre backbox pensando que al ser una distribución pensada para la seguridad y con muchas herramientas de pentesting, sus archivos, carpetas y configuraciones estarían modificados, y rkhunter mostraría un montón de warning. Sin embargo me he llevado una gran sorpresa.

Podemos sentirnos igual de seguros en Backbox o en Kali como en cualquier otra distribución. A pesar de que son Linux completamente modificados, los permisos y carpetas no se han visto afectados.

Lo que se hizo muy lanzar un simple check sobre el sistema con el siguiente comando:

#rkhunter –check

Si que es cierto que hay un par de warning, pero nada de lo que preocuparse. Estos warning también salen en Ubuntu y Debian.

En primer lugar cuando se lanza rkhunter lo que chequea es el estado de las carpetas del sistema.


Y posteriormente lanza una exhaustiva búsqueda de Rootkit


También hace una búsqueda en las interface de red en busca de puertos abiertos. Incluso comprueba si existe malware en el arranque del sistema.


Como resultado final, nos muestra un breve resumen.

martes, 15 de octubre de 2013

BackBox 3 - Iniciación al Pentesting (Parte 10)



SQLmap: Prueba de concepto

Lo primero que intentaremos será ver que Bases de datos almacena el servidor. Para ello añadimos el parámetro –dbs. Esto debería mostrar todas las BBDD.

#sqlmap -u http://sitioweb.com/actualidad/evento.php?id=110 –dbs
 
Figura 1: Bases de datos del objetivo.
El resultado es precisamente el esperado, hemos conseguido obtener todas las bases de datos a través del fallo que encontramos. A partir de aquí será cuestión de ir viendo la ayuda de SQLmap para saber que podemos utilizar en nuestro beneficio. Lo más lógico sería, partiendo de la bases de datos a la que queremos atacar, hacer un volcado de la información de alguna de las tablas, columnas, o de la BBDD entera.

Todas las Bases de datos están compuestas de Tablas, Columnas y Registros.
Figura 2: Estructura de una BD
Esto hay que tenerlo en cuenta ya que a la hora de lanzar el ataque con SQLmap lo haremos paso a paso e intentando provocar las menos sospechas posibles.

Cuando hablamos de hacerlo paso a paso nos referimos a ir obteniendo información desde lo más básico hasta profundizar en cada una de las bases de datos. Es decir, primero veremos las bases de datos que almacena el servidor, después veremos las tablas de alguna base de datos, luego las columnas dentro de esa tabla, y así sucesivamente.

Obteniendo las tablas de la base de datos


Para obtener la información de las tablas que almacena la base de datos, hemos de indicar a SQLmap la URL y la base de datos de la que queremos la información.

Como el listado de las bases de datos ya lo hemos obtenido anteriormente será cuestión de ver si existe alguna BD que por su nombre parezca más relevante.

Con el siguiente comando enumeraremos, nos mostrará, las tablas de la base de datos db23616:

#sqlmap -u http://sitioweb.com/actualidad/evento.php?id=110 --level=5 --flush-session --tables -D bd23616

El resultado es una gran lista de tablas. Algunas de ellas, por su nombre, bastante significativas, como es el caso de los datos de Recursos Humanos.

Figura 3: Tablas de la BD que hemos obtenido con sqlmap

NOTA: Es muy importante saber que SQLmap en cada ataque que lanza guarda los resultados en una carpeta, que después utiliza para buscar en ella en caso de realizarse un nuevo ataque sobre la misma URL. Con esto sqlmap pretende ahorrar tiempo en nuestra buscada. Sin embargo en muchas ocasiones nos puede perjudicar ya que sqlmap trata esta información de la misma manera que lo hace un navegador web con los temporales. Es posible que en algunas ocasiones no se estén mostrando los resultados “reales” acorde con lo que lanzamos, el motivo es que sqlmap siempre que se haya realizado una consulta previamente sobre esa web, antes de volver a lanzar un nuevo ataque, mostrará los resultados ya obtenidos con anterioridad. Esto se soluciona añadiendo el parámetro –flush-session el cual nos permitirá saltarnos esta especie de caché.

lunes, 14 de octubre de 2013

Limpiar tu Linux también es una medida de seguridad

A veces es mucho más seguro el cuidado que una persona pueda tener a la hora de exponer sus datos y de dejar su rastro que el de fortificar un equipo. Un ejemplo claro es que un hacker una vez obtenido acceso a la máquina va a recorrerla de arriba a bajo buscando en todo tipo de logs e historiales con el fin de encontrar un usuario, una contraseña, una Ip, etc, y poder escalar privilegios dentro del equipo o de la propia red donde se encuentra.

Todos sabemos que es muy cómodo darle a las flechas de nuestro teclado para lanzar de nuevo un comando en la terminal. Lo que no tenemos en cuenta es lo que otra persona puede hacer gracias a ese histórico.

En Linux existe una herramienta que se encarga de hacer una limpieza de todo esto, y así evitar una posible fuga.
Esta herramienta en sí, que se llama Bleachbit se encarga de borrar entre otras muchas cosas:
  • Historial bash
  • .ds_store
  • Thumb.db
  • Caché
  • Logs
  • Memoria
  • Papelera
  • Archivos temporales 

Figura 1: Limpieza del equipo con Bleachbit

viernes, 11 de octubre de 2013

3ªJornada de los Talleres Hacking en Patio Maravillas

Hoy se celebra la 3ªJornada de los Talleres hacking, en el que @kioardetroya y yo vamos a dar un pequeña charla sobre Footprinting y Fingerprinting a la que hemos bautizado como Prostitución de la información.

Enseñaremos algunas técnicas sobre como obtener datos de nuestro objetivo para después utilizarlos en el ataque.
Será una charla básica utilizando herramientas como nmap, Maltego, nslookup, etc. La intención es empezar desde cero para que todo el mundo pueda aprender. También haremos alguna que otra demostración sobre lo que expliquemos.

Tenemos calculado que la charla durará 1 hora aproximadamente entre la presentación en diapositivas y las demostraciones.

Después de esto, y como viene siendo habitual en cada taller hacking, empezará lo que yo llamo la hora feliz, donde cada asistente puede hacer lo que le venga en gana y preguntar lo que quiera sobre cualquier tema. Ya sea programación, ataques de SQLi, hackng Hardware o cualquier otra temática.

La intención es aprender, compartir conocimiento y pasarlo bien entre todos.

Estos talleres hacking son una iniciativa de Bugtraq-team. Gran parte de la gente que no puede asistir de manera presencial está solicitando que se haga un streaming o se grabe para poder verlo. Puesto que estas reuniones es algo que se hace manera altruista, y de que se dispone de poco tiempo y recursos para hacerlo, el tema de hacer un streaming o grabarlo, aunque si es cierto que dependemos un poco del camino que lleven estos talleres, ya se está intentado realizar algo para que todo el mundo pueda presenciarlas. Yo por mi parte colgaré las diapositivas, e intentaré hacer algún video de lo que se vea (del video no prometo nada).

Os esperamos a todos.

Lugar: Patio Maravillas (Madrid)
Hora: 8:45h
Ponentes: @kioardetroya @kontrol0
Tema: Footprinting y fingerprinting - prostitución de la información
Organizadores: Bugtraq-team

martes, 8 de octubre de 2013

Repositorio de Shells para hacer LFI y RFL

Buscando Shell remotas para practicar Local File Include (LFI) y Remote File Include (RFI) me encontré con oco.cc
Que es una web con un listado de una gran cantidad de Shells entre las que están r57, c99, c100, cpanel shell... etc.

La web en sí no tiene mucho misterio, su creador o creadores, tiene claro su objetivo, un repositorio de shells. Digo esto porque la la web está en html, por lo que no han tenido que hacer un gran desarrollo. Y porque la página sólo se compone de un listado de shell. No tiene sub categorías, ni instrucciones, ni nada que pueda hacer perder tu tiempo.
Es sencillo, entras-->buscas-->lo descargas

Figura 1: Repositio de shells oco.cc

Yo en su momento me hice un duplicado de la página para tenerla en mi ordenador con todos las shells en mi disco. No descarto la posibilidad de algún día, hacer una replica de este repositorio en el blog.

lunes, 7 de octubre de 2013

Backbox - Iniciación al Pentesting. Tema 1, Tema 2, y parte del Tema 3 (PDF)

Ya se ha colgado todo lo que llevamos visto hasta ahora del Curso de Backbox Linux.
Habrá gente que piense que las entradas que se escriben aquí se sacan de un libro ya hecho, y que se van publicando poco a poco. Sin embargo no es así. De hecho el mecanismo es completamente al revés. Se están publicando una serie de entradas con el objetivo de tener un libro de Pentesting que todos entendamos.

Puesto que primero se hace la entrada en el Blog, y después se hace la maquetación del PDF, se encuentra algunas cosas adicionales en el PDF. Cuando se realiza su maquetación siempre se corrigen errores y se mejoran los artículos.
Por eso, aunque te hayas leído todos los artículos del Curso de Backbox, no está demás que le eches un ojo al PDF.

jueves, 3 de octubre de 2013

Navegación anónima con Backbox

Cuando escribí el anterior artículo hablando sobre la nueva actualización de Bacbox, la cual incluía Backbox-Anonymous, di algunos detalles de como funcionaba. Sin embargo no entré en gran profundidad en él. Espero que con la anterior entrada y esta quede algo más completo.

La verdad que desde que se lanzó la actualización por parte de backbox, y decidieron implementar su herramienta Anonymous, ando mirando su funcionamiento.

Su funcionamiento, ta l y como ya comenté se basa en crear un par de reglas con IPTABLEs y habilitar la navegación a través de TOR (Tor ya viene instalado por defecto junto con vidalia).

Cuando se piensa en la navegación anónima, o cuando buscamos en Google, la gran mayoría de las veces encontramos soluciones como:
  • TOR+polipo+proxychain
  • TOR+polipo
  • Vidalia
Esta nueva herramienta que incorpora de forma predeterminada en todas las distros de Backbox es posiblemente una de las mejores alternativas a todas las anteriores.

Backbox-Anonymous lanza un script, y éste se encarga de chequear una serie de condiciones:

Se debe tener:
  • Habilitado el Demonio de TOR
  • Estar conectado a la red TOR
  • Comprobar y añadir reglas en IPTABLE
Para que todos lo entendamos... esta herramienta es tan sencilla de utilizarla que solo basta con darle al botón “start”. Si falla algo, la propia herramienta te dirá el que falla, y su posible solución.

El porqué es la mejor alternativa a el resto de soluciones de navegación anónima es posiblemente porque esas reglas que se configuran en IPTABLE permite redirigir todo el tráfico a la red tor, además al arrancar el demonio de TOR, conseguimos que al ncender el equipo ya se encuentren habilitados todos los servicios de navegación anónima. Por lo que una vez arrancado backbox-anonymous, dispondremos de una navegación segura, fiable, y mucho más anónima. Además de su facilidad de uso.

Si hacemos la comprobación con etherape (herramienta que se encarga de ver las conexiones que hace nuestro equipo hacia el exterior) veremos que independientemente del programa que utilicemos y de la conexión que se haga hacia internet, el tráfico siempre irá a través de TOR.

Como ejemplo muestro el tráfico de etherape utilizando SQLmap sin añadir ningún parámetro adicional. Simplemente teniendo arrancado Backbox-anonymous.

Figura 1: Navegación anónima Backbox-Anonymous y SQLMAP

martes, 1 de octubre de 2013

BackBox 3 - Iniciación al Pentesting (Parte 9)


Identificando vulnerabilidades.

El primer paso de todos es revisar todas las vulnerabilidades e identificar de que tipo de vulnerabilidad se trata (SQL, XSS, DoDS,...)

Examinando el informe de vulnerabilidades de OWASP ZAP tomaremos como ejemplo una de las alertas con mayor criticidad.
Figura 1: Alerta grave de SQL injection.

Se trata de una vulnerabilidad SQL injection UNION sobre MySQL.
Si esta vulnerabilidad fuera explotable estaríamos comprometiendo el sistema de la BBDD y posiblemente seríamos capaces de alterar el contenido tanto de la BBDD como de la página web a la que atacamos. Lo iremos viendo poco a poco.

Para comprobar si existe un fallo de seguridad SQL injection vamos a coger la URL y a modificarla para ver que nos devuelve el servidor.


URL original:

http://sitioweb.com/actualidad/evento.php?id=110


URL modificada con una comilla al final (')

http://sitioweb.com/actualidad/evento.php?id=110'


El resultado es un claro error de sintaxis, esto es básicamente, en la gran mayoría de los casos, nos permitirá extraer información de la BBDD. Y gracias a esta pequeña comprobación podemos empezar a lanzar nuestro ataque.
Figura 2: Error de sintaxis SQL. Posible SQL injection.

Vulnerando la BBDD y extrayendo información.

Existen numerosas herramientas que nos ayudarán a lanzar un ataque sobre la BBDD. Al igual que sucedía con la búsqueda de vulnerabilidades, para explotar un fallo de SQL injection utilizaremos alguna herramienta que nos permita automatizar el ataque.

Para ello utilizamos SQLmap, que es sin duda una de las herramientas más potentes que existe para realizar ataques de SQLinjection, y que además viene por defecto instalada en Backbox.

Esta herramienta contiene numerosos script, con la configuración necesaria para poder lanzar un ataque sobre cualquier BBDD que sea vulnerable.

Al acceder por primera a SQLmap y añadiendo el parámetro -h (#sqlmap -h), se mostrará alguna de las configuraciones más básicas y utilizadas.
Figura 3: Opciones de configuración (básicas) de SQLmap
Algunas parámetros que debemos tener en cuenta son (por ejemplo) Level y Risk.

Existen ocasiones que al intentar extraer información no obtendremos nada por parte del servidor, e iremos aumentando el grado de Level y Risk.

Por otra parte, gracias a la gran capacidad de sqlmap, con el comando DUMP se puede llegar a realizar un volcado de la BBDD a tu máquina.

Se podrías decir que utilizar SQLmap es fácil, o al menos intuitivo, ya que si se introduce algún parámetro mal la herramienta nos dirá que es lo que estamos haciendo mal, y nos dará algún tipo de solución.