MENU

lunes, 6 de julio de 2015

Inyecciones SQL con SQLMAP a traves de la red TOR

Que es SQLMAP? es una herramienta de código abierto para la realización de test de intrusión que automatiza el proceso de detección de taras y explotación de las mismas mediante inyecciones SQL.

Aqui podéis ver mas a fondo las características de esta herramienta.

Yo lo que voy a explicar es como usarla a través de la red TOR de modo que la dirección IP que quedara en los logs del servidor con el que practique sera la del ultimo nodo de salida de la red TOR y no vuestra IP real.


Comandos básicos:

--current-user: nos muestra el usuario actual.
--current-db: nos muestra la base de datos actual
--users: enumera los usuarios de una base de datos
-u: especificar una url
-D especifica una BD existente
-T  especifica una tabla de una BD
--tor para usar la red tor, debe ir acompañado de:
--tor-port especifica el puerto por el que se comunica tor (por defecto el 9050)
--tor-type especifica el tipo de proxy http, socks4 o socks5
--check-tor nos dirá si usamos correctamente tor.


Un ejemplo del uso de sqlmap a través de tor seria por ejemplo usando este comando:

sqlmap -u www.urlxxxxxx.com/news.php?id=37 --tor --tor-port=9050 --tor-type=SOCKS5 --check-tor




1º Comprobar que usamos sqlmap con tor correctamente. Para ello ejecutamos el siguiente comando:
yo uso el puerto 9050 que es el de por defecto para tor, aunque podéis tenerlo configurado en el puerto que os de la gana.



Este primer comando aparte de decirnos si sera vulnerable o no, nos dirá si usamos correctamente la red tor como se puede observar en la siguiente foto.

Ahora que sabemos que es vulnerable lo que interesa  es enumerar las bases de datos que hay alojadas en ese servidor, para ello usamos el comando --dbs.


Que nos devuelve la o las bases de datos que hay alojadas.

Una vez que conocemos la base de datos me interesa saber que tablas contiene, para ello usamos los comandos -D seguido del nombre de la bd y --tables. Esto nos enumerará las tablas de dicha base de datos.




y el resultado es:


donde podemos observar 4 tablas aparentemente sin mucho interés excepto utente que no llamaría la atención si se llamase gallery por ejemplo pero precisamente un nombre así pues llama la atención, después me enteré de que significa usuario en italiano...

La curiosidad de saber que tipo de información guardaba esa tabla me llevó a preguntar por sus columnas, si el resultado no hubiera sido el que muestro a continuación habría pasado de esta pagina y me habría ido a probar con otra que pudiera ser mucho mas interesante.






 Llegados a este punto simplemente hay que hacer un dump de esa tabla y exportar toda su información a mis manos, para ello se usa el comando --dump.



Lo normal ahora es buscar el login.* en el que me puedo loguear con los username & passwords dumpeados de la tabla.





domingo, 5 de julio de 2015

Fortificando entornos windows (Parte 2 - Instalacion segura)

Continuando por donde lo dejamos después de unos días liado con exámenes ahora escribo esta segunda parte en la que me quiero centrar en explicar la importancia de hacer un correcto particionado y gestión segura del sistema, en este caso Windows 7.

Al dar formato a nuestra tabla de particiones debemos saber que el MBR se escribirá normalmente entre los primeros 446 y 512 bytes del sector 1 del disco duro, y muchos os preguntareis que hay entre el byte 0 y el byte 446, pues lo que hay es código del gestor de arranque o MBR. Su función es buscar la partición de arranque y cargarse en la dirección de memoria 0000:7C000 para lanzar el kernel loader.

Del byte 446 al 512 se encuentra el MBR o Master Boot Record ocupando 64 bytes y permitiendo 4 particiones de igual tamaño.

Dada la importancia del MBR seria normal preguntarse si es posible infectarlo para tomar el control del equipo bajo las condiciones que se impongan. La respuesta es SI, y se viene haciendo desde hace tiempo y al aprovechar vulnerabilidades a tan bajo nivel es posible que sobrevivan al formateo del pc haciéndose persistentes  e instalando un rootkit en el sistema, ejemplo de ello es el Sinowal o Rootkit MBR

Un buen seguro es por ejemplo tras una instalación segura de la tabla de particiones hacer una copia de seguridad de los 63 primeros sectores del disco que posteriormente guardaríamos en un lugar seguro.

Definir a los usuarios correctamente es fundamental, ya que muchas veces los usuarios finales de un ordenador son personas con rol de administrador que no ven mas allá del Facebook, gmail, paquete office de Microsoft... etc. Y que por regla general cuando descargan algo que no deben su forma de actuar es siguiente, siguiente, y siguiente sin hacer ni caso de lo que están aceptando con tal de que desaparezca esa ventanita incómoda de instalación. Por regla general esos ordenadores al poco tiempo acaban infectados de adware, spyware, y seguramente algún que otro troyano (y los que trabajáis en el departamento de soporte resolviendo incidencias lo sabéis) . Esto es mas grave aun cuando ese ordenador pertenece a una compañía que ha prestado el portátil al empleado y que constantemente este usa para conectarse a la red de la empresa y compartir información en estos casos la fuga de información está asegurada. Por lo que desactivar las cuentas de administrador y hacer un correcto uso de la UAC tanto como concienciar al usuario es fundamental para reducir o prevenir desastres.

miércoles, 29 de abril de 2015

Fortificando entornos windows (Parte 1 - Seguridad Física)

Para empezar veremos algo de hardening que constara de varias partes. Tratare de explicar parte del proceso (sin entrar en detalles como que es una BIOS o bitLocker...) a seguir para reducir los vectores de ataque a un sistema, en este caso de un Windows aunque no descarto subir algo de Linux. Esto no es una guía completa, un correcto bastionado requiere mucho conocimiento y se podrían rellenar varios libros acerca de este tema.


Como con cualquier cosa empezaremos por el principio es decir la seguridad física. Esta nos ayudara a reducir las posibilidades de que alguien mal intencionado acceda a vuestros datos por muy compleja que sea vuestra contraseña del sistema pues cualquiera con un live CD o USB podría eludirla y acceder a vuestros datos en menos de lo que canta un gallo.

Así que lo primero que se debe hacer es poner una contraseña a la BIOS, de esta forma impedimos que se cargue el sistema operativo o se arranque desde un usb o live CD.

Con esto no penséis que estáis salvados, cualquiera con acceso físico podría sacar la pila de la BIOS dejando esta tal y como salió de fabrica y olvidando así vuestra contraseña, Aunque hoy en día la mayoría de placas almacenan las contraseñas de la BIOS en chips EEPROM no imposibles de
re-programar pero si muy complicado.









Bloqueo a nivel de driver mediante contraseña: Este método mitiga el riesgo de que un atacante que haya sustraído nuestro disco duro pueda iniciarlo desde otro sistema como una dock station para obtener los datos, esto es debido a que el hash de la contraseña se encuentra cifrado físicamente en el disco. En función de la marca tendrán un nombre u otro en mi caso DriveLock, también te obliga a introducir la contraseña antes de poder acceder a la contraseña de la BIOS por lo que aunque retires la pila el disco seguirá protegido y el sistema te seguirá pidiendo la contraseña antes de poder acceder a la BIOS.





Prevención de ejecución de datos  (DEP): La función de esta característica disponible en casi cualquier BIOS actual es prevenir la inyección de código por desbordamiento de buffer (que ya veremos otro día) por lo que es muy importante tenerlo activado, aunque lo normal es que venga por 
defecto.








Impedir arrancar desde cualquier sitio que no sea el disco duro como USB, lector de disco, Red, SD... es también importante por lo que desactivaremos estas opciones mientras la BIOS nos permita hacerlo. También hay algunas BIOS que nos permiten desactivar a bajo nivel los micrófonos, webcam o puertos y dispositivos que no sean necesarios.


Password Bypass nos permite eludir la contraseña de la BIOS cuando el sistema entra en suspensión o hibernación, si se sustrae un ordenador en ese estado todo lo anterior sería inútil ya que se tendría acceso completo al escritorio o como mucho tendríamos que enfrentarnos a la clave de usuario por lo que desactivar esa característica es muy recomendable.







TPM (Trusted Plataform Module) es un chip criptográfico que implementan muchas placas base, su seguridad está basada en hardware principalmente, cuando por ejemplo generas una clave de cifrado con bitLocker esta se almacena en ese chip de manera física, por lo que es resistente a ataques lógicos, para aprovechar al máximo las características del TPM se puede usar conjuntamente con una llave USB








martes, 28 de abril de 2015

Para empezar... una breve presentación.

Hace ya un tiempo que vengo planteándome la idea de crear un blog, aunque debido a mis estudios poco tiempo he tenido para hacerlo posible, y no es que mi tiempo haya mejorado mucho pero se podría decir que cada día que pasa me arrepiento mas de no haberlo hecho antes, me aburro mucho y antes que perder el tiempo con otras cosas creo que con esto podre entretenerme un rato pues que mayor diversión que la de romper cosas  mientras aprendes (pero para hacerlas mas seguras eh).
Así que de vez en cuando iré subiendo practicas, noticias y demás  temas  relacionados con la ciberseguridad intentando tocar todos los palos.En fin que lo disfrutéis y disculpas de antemano si se me va el teclado e inconscientemente cometo faltas de ortografía, que sepáis que ha sido su culpa no la mía. Un saludo!