Este artículo fue coescrito por Nicole Levine, MFA. Nicole Levine es una escritora y editora de tecnología en wikiHow. Tiene más de 20 años de experiencia creando documentación técnica y liderando equipos de soporte en las principales empresas de alojamiento web y software. Asimismo, Nicole tiene una maestría en Escritura Creativa de la Universidad Estatal de Portland, y da clases de composición, escritura de ficción y creación de revistas en varias instituciones.
En este artículo, hay 7 referencias citadas, que se pueden ver en la parte inferior de la página.
Este artículo ha sido visto 67 383 veces.
La mejor forma de asegurarte de que tu base de datos esté a salvo de los hackers, es pensando como uno. Si fueras un hacker, ¿qué tipo de información buscarías? ¿Cómo harías para acceder a ella? Existen distintos tipos de bases de datos y muchas formas de hackearlas, pero la mayoría de los hackers intentan descifrar la contraseña de administrador (root) o ejecutar un exploit para bases de datos. Si tienes talento para crear sentencias SQL y comprendes los principios básicos de una base de datos, puedes hackear una.
Pasos
Método 1
Método 1 de 3:Inyectar código SQL
-
1Descubre si la base de datos es vulnerable.[1] Para usar este método es necesario estar familiarizado con sentencias de bases de datos. Abre la interfaz web de la pantalla de inicio de sesión y escribe una comilla simple (') en el campo del nombre de usuario. Haz clic en "Iniciar sesión". Si aparece un mensaje de error que dice "SQL Exception: quoted string not properly terminated" o algo como "Carácter inválido", entonces la base de datos es vulnerable a inyecciones de código SQL.
-
2Averigua la cantidad de columnas.[2] Regresa a la página de inicio de sesión de la base de datos (o a otra dirección URL terminada en "id=" o "catid=") y haz clic en la barra de direcciones del navegador. A continuación de la dirección URL, presiona la barra espaciadora y escribe ORDER BY 1, luego presiona ↵ Enter. Continúa incrementando el número hasta que obtengas un mensaje de error. El número de columnas de la base es el número que ingresaste justo antes del número que finalmente provocó un error.
-
3Averigua qué columnas aceptan consultas. Al final de la URL de la barra de direcciones, cambia el catid=1 o id=1 por catid=-1 o id=-1. Presiona la barra espaciadora y escribe UNION SELECT 1,2,3,4,5,6 (suponiendo que sean 6 columnas). Los números deben incrementarse de a uno hasta llegar al total de columnas. Deben estar separados por una coma. Presiona ↵ Enter y aparecerán los números de cada columna que acepte una consulta.
-
4Inyecta sentencias SQL en las columnas. Por ejemplo, si quieres saber el usuario actual y quieres inyectar código en la columna 2, borra todo lo que esté después de id=1 en la URL y presiona la barra espaciadora. Luego escribe UNION SELECT 1,CONCAT(USER()),3,4,5,6--. Presiona ↵ Enter y aparecerá en la pantalla el nombre del usuario actual de la base de datos. Utiliza cualquier sentencia de SQL que te permita acceder a la información que estés buscando, por ejemplo, una lista de los nombres de usuarios y contraseñas que quieras hackear.
Método 2
Método 2 de 3:Descifrar la contraseña de administrador
-
1Intenta iniciar sesión como usuario administrador con la contraseña predeterminada. Algunas bases de datos no tienen una contraseña de root (administrador) predeterminada, así que puedes acceder simplemente dejando vacío el campo de contraseña. En otros casos, las contraseñas predeterminadas se pueden encontrar fácilmente revisando foros de soporte técnico de bases de datos.
-
2Intenta con contraseñas comunes. Si el administrador aseguró la cuenta por medio de una contraseña (es lo más probable), prueba con combinaciones comunes de usuario y contraseña. Algunos hackers publican abiertamente listas de contraseñas que han descifrado por medio de herramientas de auditoría. Prueba con distintas combinaciones de usuario y contraseña.
- Un sitio con buena reputación donde podrás encontrar listas de contraseñas es: https://github.com/danielmiessler/SecLists/tree/master/Passwords.
- Probar contraseñas a mano puede ser engorroso, pero no hay nada de malo en intentarlo antes de recurrir a soluciones más complejas.
-
3Utiliza una herramienta de auditoría de contraseñas.[3] Existen varias herramientas de fuerza bruta que se pueden usar para probar combinaciones de palabras del diccionario y letras, números o símbolos hasta descifrar la contraseña.
- Algunas de las herramientas de auditoría más populares para descifrar contraseñas en la mayoría de las bases de datos son DBPwAudit (para Oracle, MySQL, MS-SQL y DB2) y Access Passview (para MS Access).[4] También puedes buscar en Google nuevas herramientas de auditoría diseñadas específicamente para el tipo de base de datos que quieras hackear. Por ejemplo, puedes buscar "herramienta de auditoria de contraseña para base de datos Oracle" si quieres hackear una base de datos Oracle.
- Si tienes una cuenta en el servidor donde se aloja la base de datos, puedes ejecutar un hash cracker como "John the Ripper" contra el archivo de contraseña de la base de datos. La ubicación del archivo hash puede variar según la base de datos.[5]
- Descarga contenido únicamente desde sitios en los que confíes. Investiga bien las herramientas antes de usarlas.
Método 3
Método 3 de 3:Ejecutar un exploit para bases de datos
-
1Busca un exploit para ejecutarlo.[6] El sitio sectools.org ha venido ofreciendo catálogos de herramientas de seguridad (incluyendo exploits) por más de 10 años. Sus herramientas tienen una excelente reputación y las han usado administradores de bases de datos de todo el mundo para hacer pruebas de seguridad. Examina su base de datos de Exploitation (o busca otro sitio confiable) para buscar herramientas o archivos de texto que te ayuden a descubrir huecos de seguridad en las bases de datos para ejecutar un exploit.
- Otro sitio donde puedes encontrar exploits es www.exploit-db.com. Visita ese sitio web y haz clic en el enlace Search (buscar). Luego busca el tipo de base de datos que quieras hackear (por ejemplo, Oracle). Escribe el código captcha en el campo provisto y comienza a buscar.
- Asegúrate de investigar más acerca de los exploits que vayas a probar, así sabrás qué hacer en caso de que ocurra algún problema.
-
2Busca una red vulnerable a través de la técnica wardriving.[7] El wardriving consiste en conducir (o andar en bicicleta o caminar) alrededor de un área mientras ejecutas una herramienta de escaneo de redes (como NetStumbler o Kismet) para encontrar una red insegura. En teoría esto es legal. Lo que no es legal, es hacer algo prohibido usando una red que encontraste por medio de esta técnica.
-
3Utiliza un exploit para bases de datos desde una red vulnerable. Si vas a hacer algo que se supone que no deberías, probablemente sea mejor no hacerlo desde tu propia red. Conéctate inalámbricamente a una de esas redes abiertas que encontraste mientras hacías wardriving y ejecuta el exploit elegido, sobre el cual investigaste.
Consejos
- Mantén la información sensible siempre bajo la protección de un firewall o cortafuegos.
- Asegúrate de proteger tus redes inalámbricas con una contraseña para que las personas que hagan wardriving no puedan usar las redes de tu casa para ejecutar exploits.
- Ponte en contacto con otros hackers y pídeles consejos. A veces el mejor conocimiento sobre este tema se obtiene a través de contenido público en Internet.
Advertencias
- Comprende los riesgos y las consecuencias que puede tener hackear una base de datos en tu país.
- Nunca intentes obtener acceso ilegal a una máquina desde tu propia red.
- Obtener acceso a una base de datos que no es tuya es ilegal.
Referencias
- ↑ http://blog.red-database-security.com/2009/01/17/tutorial-oracle-sql-injection-in-webapps-part-i/
- ↑ https://blog.udemy.com/sql-injection-tutorial/
- ↑ https://www.cs.virginia.edu/~csadmin/gen_support/brute_force.php
- ↑ http://opensourceeducation.net/database-auditing-with-open-source-tool/
- ↑ http://www.openwall.com/john/doc
- ↑ http://sectools.org
- ↑ http://www.seattletimes.com/business/seattles-packed-with-wi-fi-spots/