Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Universidad	
  Nacional	
  Autónoma	
  de	
  México	
  
Facultad	
  de	
  Contaduría	
  y	
  Administración	
  
Diplomado	...
Próxima SlideShare
Cargando en…5
×

Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux

5.793 visualizaciones

Publicado el

Universidad Nacional Autónoma de México
Facultad de Contaduría y Administración
Diplomado Diseño, Construcción y Administración de Redes de Datos
Módulo 6. Seguridad de Bases de Datos

Publicado en: Educación
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
5.793
En SlideShare
0
De insertados
0
Número de insertados
194
Acciones
Compartido
0
Descargas
206
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux

  1. 1. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     1   Actividad   No.   1.11:   SQL   Injection   con   sqlmap  en  Kali  Linux   Antecedentes     SQL  Injection  (SQLi)  es  el  ataque  vía  web  que  aprovecha  errores  en  la  validación  de   datos   introducidos   por   el   usuario,   y   que   permiten   a   un   atacante,   tener   control   de   cierta  aplicación.     El   origen   de   la   vulnerabilidad   radica   en   la   incorrecta   revisión   y/o   filtrado   de   las   variables  utilizadas  en  un  programa  que  contiene,  o  bien  genera,  código  SQL.  Es,  de   hecho,  un  error  de  una  clase  más  general  de  vulnerabilidades  que  puede  ocurrir  en   cualquier  lenguaje  de  programación  o  script  que  esté  embebido  dentro  de  otro.     Kali   Linux   es   una   distribución   de   Linux   avanzada   para   pruebas   de   penetración   y   auditorías  de  seguridad.  Es  una  completa  re-­‐construcción  de  BackTrack  Linux  que  se   adhiere  completamente  a  los  estándares  de  desarrollo  de  Debian.     SQLmap  es  una  herramienta  escrita  en  Python  que  se  encarga  de  realizar  peticiones  a   los  parámetros  de  una  URL  que  se  le  indiquen,  ya  sea  mediante  una  petición  GET  o   POST  buscando  que  la  aplicación  sea  vulnerable  a  una  posible  SQL  Injection  y  poder   explotarla.  Es  capaz  de  explotar  todo  tipo  de  SQLi  como  union-­‐base,  time-­‐base-­‐blind,   base-­‐blind-­‐injection,  heavy-­‐queries  entre  otros.     Requerimientos     Equipo   de   cómputo   con   el   sistema   operativo   Kali   Linux   correctamente   configurado   para  tener  acceso  a  la  Internet.     Servidor  web  objetivo  cuya  dirección  IP  será  proporcionada  por  el  instructor.  Para  el   caso   de   los   ejemplos   mostrados   en   este   documento   se   usará   la   dirección   IP   10.211.55.15  la  cual  deberá  ser  reemplazada  por  la  indicada  por  el  instructor.      
  2. 2. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     2   Instrucciones     1. Inicia  tu  equipo  de  cómputo  con  el  sistema  operativo  Kali  Linux  y  configura  los   parámetros  de  red  para  tener  acceso  a  la  Internet.   2. Abre  una  terminal  usando  el  ícono   ,  ubicado  en  el  panel  superior.         3. Ejecuta  el  siguiente  comando  en  la  terminal  (Recuerda  cambiar  la  dirección  IP   por  la  del  servidor  web  objetivo  indicada  por  el  instructor):     sqlmap  -­‐u  "http://10.211.55.15/cat.php?id=3"  -­‐-­‐dbs      
  3. 3. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     3   La  URL  /cat.php?id=3  fue  obtenida  por  el  escáner  de  vulnerabilidades  web   VEGA   en   la   Actividad   No.   1.10:   Análisis   de   vulnerabilidades   con   VEGA   en   Kali   Linux.     4. SQLmap  tratará  de  identificar  el  manejador  de  base  de  datos  utilizado  por  la   aplicación   web   ejecutándose   en   el   servidor   web   objetivo.   En   este   caso   determina  que  se  esta  utilizando  un  servidor  MySQL.  Presionar  la  tecla  Y  y  dar   Enter.           5. En   el   paso   siguiente,   SQLmap   nos   pregunta   si   deseamos   incluir   todas   las   pruebas  para  MySQL,  tecleamos  Enter  para  continuar.          
  4. 4. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     4     6.  SQLmap   identifica   que   la   variable   ‘id’   usada   por   la   aplicación   web   es   vulnerable   a   SQL   Injection.   Tecleamos   Enter   para   indicar   que   no   queremos   probar   otra   variable.     En   este   momento   SQLmap   realiza   el   ataque   de   SQL   Injection  y  logra  determinar  el  sistema  operativo  del  servidor  web  objetivo,  la   versión  del  servidor  web  empleado,  la  versión  del  manejador  de  base  de   datos  MySQL  en  ejecución  y  nos  muestra  las  dos  bases  de  datos  disponibles   en  el  servidor.                                                  
  5. 5. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     5     7. Una  vez  obtenido  el  nombre  de  las  bases  de  datos  disponibles  en  el  servidor,   vamos  a  indicar  a  SQLmap  que  obtenga  las  tablas  que  conforman  la  base  de   datos  photoblog,  para  ellos  ejecutamos  el  siguiente  comando:     sqlmap  -­‐u  "http://10.211.55.15/cat.php?id=3"  -­‐D  photoblog  -­‐-­‐tables                                                 Podemos  observar  que  la  base  de  datos  photoblog  tiene  tres  tablas:   • categories   • pictures   • users      
  6. 6. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     6     8. Una  vez  identificadas  las  tablas,  podemos  inferir  que  las  credenciales  de  acceso   a  la  aplicación  se  encuentran  en  la  tabla  users.  Para  realizar  una  consulta  y   mostrar  el  contenido  de  dicha  tabla,  ejecutamos  el  siguiente  comando:     sqlmap   -­‐u   "http://10.211.55.15/cat.php?id=3"   -­‐D   photoblog   -­‐T   users  -­‐-­‐columns                                                 El  resultado  de  la  ejecución  del  comando,  nos  permite  conocer  los  campos  de  la   tabla  user  dentro  de  la  base  de  datos  photoblog.      
  7. 7. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     7   9. Conociendo  el  nombre  de  la  columnas  de  la  tabla  users,  es  posible  hacer  una   consulta  para  obtener  el  contenido  de  la  tabla.  Para  ellos  tecleamos  el  siguiente   comando:     sqlmap   -­‐u   "http://10.211.55.15/cat.php?id=3"   -­‐D   photoblog   -­‐T   users  -­‐C  login,password  -­‐-­‐dump         10. SQLmap  logra  identificar  un  campo  cifrado  que  contiene  las  contraseñas  de  las   cuentas  de  la  tabla  users.  Presionamos  la  tecla  Y  y  Enter.       11. SQLmap   permite   intentar   obtener   las   contraseñas   usando   un   diccionarios,   para  utilizarlo  presionamos  la  tecla  Enter.    
  8. 8. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     8   12. El   siguiente   paso   consiste   en   indicar   la   ruta   al   diccionario   a   utilizar,   presionamos  la  tecla  Enter  para  utilizar  el  diccionario  por  Default  incluido  en   SQLmap.         13. A  continuación,  SQLmap  nos  pregunta  si  deseamos  usar  prefijos  comúnmente   utilizados   en   las   contraseñas.   Presionamos   la   tecla   Y   y   después   Enter   para   indicar  que  SI  queremos  usar  los  prefijos.                                                   14. Terminado  el  proceso,  SQLmap  obtiene  el  nombre  de  usuario  y  la  contraseña   almacenada  en  la  tabla  users  de  la  base  de  datos  photoblog.      
  9. 9. Universidad  Nacional  Autónoma  de  México   Facultad  de  Contaduría  y  Administración   Diplomado  Diseño,  Construcción  y  Administración  de  Redes  de  Datos   Módulo  6.  Seguridad  de  Bases  de  Datos     Elaboró:  Francisco  Medina  López     9     15. Introducimos   los   datos   obtenidos   en   la   aplicación   web   photoblog   desde   un   navegador  web.                

×