Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

viernes, 4 de abril de 2008

17 HERRAMIENTAS INDISPENSABLES PARA ANALIZAR PROBLEMAS DE INYECCIÓN SQL Siguiendo con el espíritu de colaboración que entregamos en seguridad-informatica.cl, a continuación transcribiré una lista con 15 herramientas indispensables para analizar y resolver problemas de inyección SQL en distintos tipos de aplicaciones. Además agregaré 2 software extra que no están en la lista pero cumplen con la misma función.

Esta lista fue publicada por Security Hacks.

Traducción literal:

Las aplicaciones Web permiten a los visitantes enviar y obtener datos desde y hacia una base de datos ubicada en Internet. Las bases de datos son el corazón de la mayoría de las aplicaciones Web. Ellas almacenan los datos requeridos por las aplicaciones para entregar contenido específico a los visitantes y proveer información a clientes, proveedores, etc.

La inyección SQL es quizá la técnica más común de hacking a aplicaciones Web la cual tiene como objetivo transpasar comandos SQL directamente a la base de datos en el back-end utilizando como plataforma la misma aplicación.

La vulnerabilidad se presenta cuando alguna entrada de usuario no valida correctamente los parámetros que se le entregan y por ende son ejecutados.

Buscar vulnerabilidades de tipo Inyección SQL implica tener que auditar sus aplicaciones Web y la mejor forma de hacerlo es utilizando para ello Scanners automatizados de Inyección SQL. Hemos compilado una lista de Scanners SQL gratuitos los cuales creemos que serán de mucha utilidad tanto para desarrolladores de aplicaciones Web como para auditores de seguridad profesionales.

SQLIer - SQLIer toma una URL vulnerable e intenta obtener toda la información necesaria para explotar la vulnerabilidad de inyección SQL por si mismo, no requiriendo ninguna intervención del usuario. Descargar SQLIer.

SQLbftools - SQLbftools consta de una colección de herramientas para obtener información de... MySQL disponible utilizando un ataque de inyección SQL ciega (blind SQL Injection). Descargar SQLbftools.

SQL Injection Brute-forcer - SQLibf es una herramienta para automatizar el proceso de detectar y explotar vulnerabilidades de inyección SQL. SQLibf puede trabajar en inyección ciega y visible. Funciona ejecutando operaciones SQL lógicas para determinar el nivel de exposición de la aplicación vulnerable. Descargar SQLLibfv.

SQLBrute - SQLBrute es una herramienta para extraer datos de las bases de dato mediante ataques de fuerza bruta usando vulnerabilidades de inyección SQL ciega. Soporta exploits basados en tiempo y en error en un servidor Microsoft SQL., y exploits basados en errores para Oracle. SQLBrute está escrito en Python, utiliza multi-proceso y no requiere librerías no-estándar. Descargar SQLBrute.

BobCat - BobCat es una herramienta que permite ayudar a un auditor a tomar completa ventaja de las vulnerabilidades de inyección SQL. Está basado en AppSecInc. Puede listar los servidores enlazados, esquemas (schema) de bases de datos y permite obtener datos de cualquier tabla a la cual la aplicación tenga acceso. Descargar BobCat.

SQLMap - SQLMap es una herramienta de inyección SQL ciega automática, desarrollada en Python, es capaz de generar una huella digital activa del sistema de administración de bases de datos y mucho más. Descargar SQLMap.

Absinthe - Absinthe es una herramienta basada en interfaz gráfica que automatiza el proceso de descargar el esquema y los contenidos de una base de datos que es vulnerabile a inyección SQL ciega. Descargar Absinthe.

SQL Injection Pen-testing Tool - SQL Injection Tool es una utilidad basada en interfaz gráfica diseñada para examinar bases de datos através de vulnerabilidades en las aplicaciones Web. Descargar SQL Injection Pen-testing tool.

SQID - SQL Injection digger (SQLID) es un programa de línea de comandos que busca inyección SQL y errores comunes en sitios web. Descargar SQID.

Blind SQL Injection Perl Tool - bsqlbf es un script hecho en Perl que permite a un auditor obtener información de sitios webs que son vulnerables a inyección SQL. Descargar Blind SQL Injection Perl Tool.

SQL Power Injection Injector - SQL Power Injection ayuda a un auditor a inyectar comandos SQL en una página web. Su fuerza principal radica en la capacidad de automatizar inyecciones SQL tediosas utilizando para ellos múltiples procesos. Descargar SQL Power Injection.

FJ-Injector Framework - FJ-Injector es un framework opensource diseñado para ayudar a encontrar vulnerabilidades SQL en aplicacion web. Incluye características de Proxy para interceptar y modificar solicitudes HTTP y una interfaz para realizar explotación SQL automática. Descargar FJ-Injector Framework.

SQLNinja - SQLNinja es una herramienta para explotar vulnerabilidades de inyección SQL en aplicaciones web que utilizan Microsoft SQL Server como su motor de base de datos. Descargar SQLNinja.

Automagic SQL Injector - Automagic SQL Injector es una herramienta de inyección SQL automatizada que fue diseñada para ahorrar tiempo en los tests de intrusión y solamente funciona con agujeros de Microsoft SQL que devuelven errores. DescargarAutomagic SQL Injector.

NGSS SQL Injector - NGSS SQL Injector explota vulnerabilidades de inyección SQL en distintos servidores para obtener acceso a la data almacenada. Actualmente soporta las siguientes bases de datos: Access, DB2, Informix, MSSQL, MySQL, Oracle, Sysbase. Descargar NGSS SQL Injector

Extras:
SQLix Sitio Web

Chorizo! Scanner Sitio Web

Fuente original: Security Hacks.

Visto en: http://www.seguridad-informatica.cl

Ver más

GENERANDO INFORMES EN HTML CON NMAP
NMAP (Network Mapper) ha sido, es y todo dice que seguirá siendo la principal herramienta de seguridad, tanto para quienes desean auditar sus servidores como para los hackers que buscan infilitrarse en ellos, en lo que a escaneo de puertos se refiere.
A pesar de que existe una interfaz gráfica para manipular Nmap llamada NmapFE (FE = Front End) muchos siguen trabajando en su fenomenal línea de comandos. Sin embargo, quizá el detalle que le faltaba para ser una utilidad casi perfecta era la capacidad de generar una salida en HTML de los escaneos realizados.

Nmap Report Tool es una aplicación cuya licencia es libre que permite mostrar estos resultados en HTML. Diseñada utilizando el lenguaje PERL por marcositu le permitirá mantener un histórico amigable de sus auditorías con Nmap.


Descargar aquí

Fuente: http://www.seguridad-informatica.cl

Ver más

MITOS Y LEYENDAS: LAS CONTRASEÑAS EN WINDOWS I (TIPOS DE ATAQUES)
Vamos a escribir algunos textos más o menos técnicos sobre las contraseñas en Windows. Existen diferentes mitos y leyendas que pensamos no han sido explicados de forma directa (y sin aspavientos) en la mayoría de la literatura que hemos leído al respecto. Publicaremos de sencilla, una serie de artículos aclarando detalles que consideramos interesantes sobre las contraseñas locales en Windows, sus puntos fuertes y débiles.

Cuando nos presentamos en una máquina Windows, la contraseña que proporcionamos debe estar almacenada en algún lugar para que el sistema operativo la reconozca y bien nos deje pasar, bien rechace el acceso.

Almacenar la contraseña y compararla sin más con la que proporciona el usuario, sería una muy mala política de seguridad. Cualquiera con acceso al disco duro podría robar la contraseña en texto plano. Lo que se almacena en realidad es el resultado de aplicar un algoritmo a la clave
introducida. Esto da como resultado una "firma" (o tradicionalmente llamado "hash"), un valor que en teoría sólo es producido por una contraseña en concreto. Son firmas lo que siempre se comparará entre sí, nunca contraseñas. En Windows, ese hash se encuentra físicamente en el
archivo de nombre SAM (Security Account Manager) para contraseñas locales y en el archivo ntds.dit del controlador de dominio para los usuarios que se validan contra controladores de dominio. Nos centraremos en las contraseñas locales.

Leer más

Ver más

GUÍA DE RECUPERACIÓN DE CONTRASEÑAS DE ADMINISTRADOR EN WINDOWS Y ROOT EN LINUX
¿Se olvidó su clave de usuario de Windows? o peor aún, ¿se olvidó de la contraseña de Administrador de Windows? o incluso peor, ¿se olvidó la clave de root en su sistema Linux? Bueno, no todo está perdido. Afortunadamente existen varios métodos para recuperar las claves que necesita. El requisito principal para recuperar la contraseña es que se esté trabajando en la máquina requerida en forma local y no remota. Aunque existen algunos métodos para recuperar (o más bien simplemente "obtener") una clave con privilegios de administración de forma remota, aquí pretendo entregar una guía, la cual me ha resultado bastante bien en estos casos, para trabajar en forma local. Asumiendo que tenemos todas las medidas de seguridad física necesarias para impedir que personas ajenas o intrusos accedan localmente a nuestro PC, pueden intentar los siguientes pasos:

Recuperación de las contraseñas de Windows
De todos los software que he probado con este propósito, el que mejor... resultados ha dado ha sido Ophcrack. Ophcrack es una herramienta que crackea directamente los hashes de las contraseñas de Windows y puede ser descargado cómodamente en un Live CD basado en la distribución Linux llamada SLAX (quizá pronto tengamos una versión de Windows que crackee las contraseñas de Linux, quien sabe) el cual simplemente se debe hacer ejecutar al arranque del sistema para que bootee.

Está diseñado para hacer el proceso lo más "desatendido" (la palabra de moda) que se pueda, de tal manera que el usuario idealmente solo ingrese el CD en su unidad de lectura de CD's y espere tranquilamente a que este maravilloso software le entregue en pocos minutos las contraseñas de todos los usuarios de la máquina Windows.
Es posible que no arranque inmediatamente debido a que el servidor gráfico no haya reconocido el dispositivo de video de la máquina según su configuración por defecto. En este caso lo único que se debe hacer es ingresar en la consola como root (la password de root aquí es toor) y ejecutar la utilidad de autoconfiguración del entorno gráfico con el comando xconf. Después que se haya configurado correctamente el entorno gráfico del sistema, se inicia el mismo con startx desde la línea de comandos.

Al cargar el escritorio se ejecutará la aplicación Ophcrack automáticamente, tal como se muestra en el siguiente screenshot:

Y simplemente esperar hasta que termine. En promedio Ophcrack se demora entre 5 a 15 minutos en romper las claves con un 99% de eficacia incluyendo soporte para Windows Vista.

El LiveCD de Ophcrack puede ser descargado en formato .iso desde ESTE ENLACE

Recuperación de claves para Linux

Es más común de lo que se piensa el hecho de olvidarse o perder la clave de root de Linux, pero es muy simple recuperarla. Lo primero que se debe hacer es utilizar el modo "single user" que incorporan todos los kernels de Linux para recuperar la contraseña, pero si este método falla (hay muchos que no se atreven a meterle mano al kernel de Linux, y con justa razón), utilizaremos el plan B: montaje de discos.

Para esto se necesita simplemente un LiveCD de cualquier distro de Linux. Ya que anteriormente habíamos hablado de Ophcrack, se puede utilizar el mismo CD para esta tarea, así tendremos un sistema para recuperar claves de Windows y Linux en 1 solo CD.

Bien. Lo primero es arrancar el LiveCD y en el escritorio ejecutar una consola (o terminal) con permisos de root.

En segundo lugar se debe identificar cuales son los discos duros existentes en la máquina y con qué nombre los detecta el LiveCD. Si el PC utiliza discos de tipo IDE, el siguiente comando debiese ayudar a identificarlo:
# ls /dev/*hd*
o si es de tipo SATA o SCSI:
# ls /dev/*sd*

Vamos a suponer que nuestro disco duro que tiene la partición de Linux se llama /dev/hda (que sería lo más común). Ahora que ya identificamos el disco duro debemos identificar cuales son las particiones de ese disco que tiene el sistema Linux. Para eso se utiliza fdisk:
# fdisk /dev/hda
Si todo sale OK, se debe presionar la letra "p" (de PRINT) para que en pantalla aparezcan las particiones del disco /dev/hda. Aquí se debe reconocer cual de las particiones que muestra Linux corresponde a la del sistema propiamente tal, cual es la swap y cual es la de Windows si es que hubiese (u otro sistema operativo residente en la máquina).

Siguiendo nuestro ejemplo diremos que la partición Linux del disco duro es /dev/hda9. Con ese dato ya tenemos casi todo listo. El siguiente paso es crear un directorio para montar el volumen dentro del LiveCD (el volumen quedará montado en la RAM de la máquina solamente).

# mkdir /mnt/linux/
Y luego se debe montar la partición Linux del disco duro en este nuevo directorio:
# mount -t ext3 /dev/hda9 /mnt/linux
De esta manera tendremos el sistema completo dentro de /mnt/linux.

Aquí podemos optar por dos cosas:
1) Invocar a John The Ripper (más conocido como Juanito el destripador) y atacar directamente el archivo de contraseñas de Linux.

# john /mnt/linux/etc/shadow
Pero para que esto funcione se deben cumplir dos condiciones:
a.- Previamente de debe instalar John The Ripper en el LiveCD ya que muchos no lo traen incorporado.
b.- Las claves de sistema deben ser fáciles de adivinar. Una contraseña fuerte puede tardar MILLONES DE AÑOS en romperse.

2) Modificar la línea del archivo /mnt/linux/etc/shadow donde está la clave de root (la primera) por la primera línea del archivo /etc/shadow que contiene el hash de la clave de root del LiveCD. De esta manera se le estará dando al usuario root del disco duro de Linux la clave del usuario root del LiveCD que estemos utilizando. No hay que olvidar que las contraseñas en Linux se almacenan en el archivo /etc/shadow procesadas bajo un algoritmo unidireccional el cual genera un hash que es matemáticamente imposible de descrifrar. Es por esto que cada vez que se presiona el usuario y password en la pantalla de login de Linux, el gestor de autenticación crea el hash de la contraseña ingresada y simplemente la compara con la que existe en /etc/shadow. Si son idénticas entonces se entiende que es la contraseña correcta, si no lo son entonces hay que intentar nuevamente y así.

Luego desmontar todo:
# umount -a
y reiniciar la máquina:
# reboot

No se olvide de retirar el LiveCD para que bootee el sistema Linux original desde el disco duro. Si ha hecho estos pasos con el cd de Ophcrack, entonces su nueva clave de root sería: root.

Como decía anteriormente, existen otras formas más tradicionales de obtener restablecer la contraseña de Linux pero sin duda que la que he mencionado aquí es la más efectiva aunque al principio cueste un poco.

Este tema va directamente relacionado con los controles que se deben implementar en el acceso físico a los computadores y servidores de una empresa. Bastaría con este procedimiento (el cual con algo de práctica puede tomar menos de 10 minutos) y una persona mal intencionada podría acceder localmente como root a una máquina importante de la empresa donde sería muy simple instalar un rootkit o un troyano para seguir manejándola de forma remota sin que siquiera se enteren los administradores.

Es de esperar, como de costumbre, que esta pequeña guía sea útil para alguien. De ese modo habrá valido el esfuerzo de haber escrito esto.

Fuente: http://www.seguridad-informatica.cl

Ver más

MECÁNICA DEL HACKER: ENTENDIENDO SUS MOVIMIENTOS PARA PREVENIR ACCESOS DE INTRUSOS
De una u otra manera todos quienes tienen incluso una mínima participación con el mundo de la computación y sobre todo Internet se hacen parte o comprenden en algún grado el concepto de "hacker". Más allá de cualquier discusión sobre el correcto uso de esta palabra, entenderemos en este post por "hacker" a todo atacante que amenace la seguridad de un sistema.

Los expertos en seguridad informática coinciden en describir los pasos que realiza un hacker para realizar una intrusión en un sistema ajeno, y también las técnicas necesarias en cada paso para continuar al siguiente hasta que logran su máximo objetivo: obtener acceso root o Administrador en la máquina comprometida. Aquí pretendo hacer un breve resumen de la línea de vida de un ataque común.

Seguir leyendo

Ver más