Upse Tti 2023 0031
Upse Tti 2023 0031
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
AUTOR
TOMALÁ LAÍNEZ STEVEN XAVIER
TUTOR
ING. LÍDICE HAZ LÓPEZ, MSI.
Santa Elena, Ecuador
Año 2023
UNIVERSIDAD ESTATAL PENÍNSULA
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
TRIBUNAL DE SUSTENTACIÓN
II
UNIVERSIDAD ESTATAL PENÍNSULA
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CERTIFICACIÓN
Certifico que luego de haber dirigido científica y técnicamente el desarrollo y estructura final del trabajo,
este cumple y se ajusta a los estándares académicos, razón por el cual apruebo en todas sus partes el
presente trabajo de titulación que fue realizado en su totalidad por TOMALÁ LAÍNEZ STEVEN
XAVIER, como requerimiento para la obtención del título de Ingeniero en Tecnologías de la
Información.
TUTOR
III
UNIVERSIDAD ESTATAL PENÍNSULA
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
DECLARACIÓN DE RESPONSABILIDAD
DECLARO QUE:
En virtud de esta declaración, me responsabilizo del contenido, veracidad y alcance del Trabajo de
Titulación referido.
EL AUTOR
IV
UNIVERSIDAD ESTATAL PENÍNSULA
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CERTIFICACIÓN DE ANTIPLAGIO
Certifico que después de revisar el documento final del trabajo de titulación denominado, ESTUDIO DE
TÉCNICAS DE CIBERSEGURIDAD APLICADO AL DESARROLLO DE APLICACIONES WEB
MEDIANTE EL USO DE LA HERRAMIENTA DAMN VULNERABLE WEB APPLICATION
(DVWA) PARA EVAULAR VULNERABILIDADES DE LA PLATAFORMA INFORMÁTICA
UPSE, presentado por el estudiante, TOMALÁ LAÍNEZ STEVEN fue enviado al Sistema Antiplagio,
presentando un porcentaje de similitud correspondiente al 4%, por lo que se aprueba el trabajo para que
continúe con el proceso de titulación.
V
UNIVERSIDAD ESTATAL PENÍNSULA
DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
AUTORIZACIÓN
Autorizo a la Universidad Estatal Península de Santa Elena, para que haga de este trabajo de titulación
o parte de él, un documento disponible para su lectura consulta y procesos de investigación, según las
normas de la Institución.
Cedo los derechos en línea patrimoniales de artículo profesional de alto nivel con fines de difusión
pública, además apruebo la reproducción de este artículo académico dentro de las regulaciones de la
Universidad, siempre y cuando esta reproducción no suponga una ganancia económica y se realice
respetando mis derechos de autor
Santa Elena, a los 03 días del mes de marzo del año 2021
EL AUTOR
VI
AGRADECIMIENTO
VII
DEDICATORIA
VIII
INDICE GENERAL
TRIBUNAL DE SUSTENTACIÓN II
CERTIFICACIÓN III
DECLARACIÓN DE RESPONSABILIDAD IV
CERTIFICACIÓN DE ANTIPLAGIO V
AUTORIZACIÓN VI
AGRADECIMIENTO VII
DEDICATORIA VIII
INDICE GENERAL IX
INDICE DE TABLAS XI
INDICE DE FIGURAS XII
INDICE DE IMÁGENES XIII
INDICE ANEXOS XVIII
RESUMEN XXI
ABSTRACT XXII
INTRODUCCIÓN 1
CAPÍTULO I 3
1. FUNDAMENTACIÓN 3
1.1. ANTECENDES DEL PROYECTO 3
1.2. DESCRIPCIÓN DEL PROYECTO 6
1.3. OBJETIVOS DEL PROYECTO 8
1.3.1. OBJETIVO GENERAL 8
1.3.2. OBJETIVOS ESPECIFICOS 8
1.4. JUSTIFICACIÓN DEL PROYECTO 8
1.5. ALCANCE DEL PROYECTO 10
CAPITULO II 13
2. MARCO TEÓRICO Y METODOLOGÍA DEL PROYECTO 13
2.1. MARCO CONCEPTUAL 13
2.1.1. ¿QUÉ ES LA SEGURIDAD INFROMÁTICA? 13
2.1.2. WEB APPLICATION 14
2.1.3. SEGURIDAD DE LAS APLICACIONES 17
2.1.4. COOKIES 19
2.1.5. EXPLOIT 20
2.1.6. ISO 27001 21
2.1.7. CIS 22
2.1.8. PENTESTING 23
2.1.9. ATAQUES INFORMÁTICOS 24
[Link]. FUERZA BRUTA 24
[Link]. SHELL 25
[Link]. PRUEBA DE STRESS – ATAQUE DDOS 25
[Link]. CROSS SITE SCRIPTING 26
[Link]. SQL INJECTION 27
2.2. HERRAMIENTAS 28
2.3. MARCO TEÓRICO 30
2.3.1. CIBERSEGURIDAD: ¿POR QUÉ ES IMPORTANTE PARA TODOS? 30
2.3.2. GUÍA DE ATAQUES, VULNERABILIDADES, TÉCNICAS Y
HERRAMIENTAS PARA APLICACIONES WEB 31
2.3.3. USO DE TECNOLOGÍAS DE PRUEBAS DE PENETRACIÓN PARA
VALIDACIÓN DE APLICACIONES WEB BASADO EN EL TOP 10 DE
VULNERABILIDADES DE OWASP 31
2.4. METODOLOGÍA DEL PROYECTO 32
2.4.1. METODOLOGÍA DE INVESTIGACIÓN 32
2.4.2. TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN 33
2.4.3. METODOLOGÍA DE DESARROLLO DEL PROYECTO 36
CAPÍTULO III 38
3. PROPUESTA 38
3.1. DESARORLLO 38
3.1.1. FASE 1: RECOLECCIÓN DE INFORMACIÓN 38
3.1.2. FASE 2: ANÁLISIS DE VULNERABILIDADES 39
3.1.3. FASE 3: EXPLOTACIÓN 44
3.1.4. FASE POST-EXPLOTACIÓN 48
3.1.5. FASE 5: INFORME 49
3.2. PROPUESTA DE BUENAS PRÁCTICAS PARA EL DESARROLLO SEGURO
DE APLICACIONES WEB 49
3.2.1. INTRODUCCIÓN 49
X
3.2.2. DESCRIPCIÓN CONTROLES 50
3.2.3. PRÁCTICAS DE SEGURIDAD 56
CONCLUSIONES 58
RECOMENDACIONES 59
BIBLIOGRAFÍAS 60
ANEXOS 68
INDICE DE TABLAS
XI
Tabla 24: Resultados de los niveles de seguridad – Formulario Web – Ataque
Injection SQL 184
Tabla 25: Análisis de nivel de seguridad – Formulario web – Ataque XSS 185
Tabla 26: Resultados de los niveles de seguridad – Formulario Web – Ataque
Injection SQL 185
Tabla 27: Análisis de nivel de seguridad – Formulario Web – Ataque Bruce Force 186
Tabla 28: Resultados de los niveles de seguridad – Formulario Web – Ataque Bruce
Force 186
Tabla 29: Análisis de niveles de seguridad – Captcha Bypassing 187
Tabla 30: Resultados de niveles de seguridad – Captcha Bypassing 187
Tabla 31: Análisis de nivel de seguridad – Insecure Login Forms 188
Tabla 32: Resultados de niveles de seguridad – Insecure Login Forms 188
Tabla 33: Análisis de niveles de seguridad – Denial of service (slow http dos) 189
Tabla 34: Resultados de los niveles de seguridad – Denial of Service (slow http dos)189
Tabla 35: Análisis de los niveles de seguridad – Insecure WebDav configuration 189
Tabla 36: Resultados de los niveles de seguridad – Insecure WebDav configuration 190
Tabla 37: Análisis de puertos – Vulnerabilidades - DVWA 190
Tabla 38: Resultados de escaneo de la dirección ip en la herramienta Nmap - DVWA
190
Tabla 39: Análisis de puertos – Vulnerabilidades - BWAPP 191
Tabla 40: Resultados de escañero de la dirección ip en la herramienta Nmap -
BWAPP 192
Tabla 41: Análisis de puertos – Exploits - DVWA 192
Tabla 42: Resultados de escaneo de puertos en la herramienta Nmap - DVWA 192
Tabla 43: Análisis de puertos – Explotis - BWAPP 193
Tabla 44: Resultados de escaneo de puerto en la herramienta Nmap - BWAPP 193
Tabla 45: Análisis de comandos SQLMAP - DVWA 194
Tabla 46: Resultados de hallazgos con la herramienta SQLMAP - DVWA 194
Tabla 47: Análisis de comandos SQLMAP - BWAPP 195
Tabla 48: Resultados de hallazgos con la herramienta SQLMAP - BWAPP 196
Tabla 49: Análisis de herramientas para obtención de credenciales 198
Tabla 50: Resultados de credenciales de administrador de los entornos vulnerables 198
INDICE DE FIGURAS
XII
INDICE DE IMÁGENES
XIII
Imagen 39: Opciones del escenario - dar click View Source 94
Imagen 40: Código fuente nivel de seguridad bajo 94
Imagen 41: Consulta de Injection SQL en portswigger 95
Imagen 42: Prueba con 1 or 1=1 95
Imagen 43: Resultado de la consulta realizada 96
Imagen 44: Consulta para recuperar usuario y contraseña en la base de datos 96
Imagen 45: Configuración del nivel de seguridad – Medio 97
Imagen 46: Escenario SQL INJECTION - MEDIO 97
Imagen 47: Dar clic en Viww Source 98
Imagen 48: Código Fuente – Nivel Medio 98
Imagen 49: Abrir BurpSuite 99
Imagen 50: Interceptar la acción en BurpSuite 99
Imagen 51: Inspección de Elemento del Formulario 100
Imagen 52: Modificación de valores 100
Imagen 53: Resultado de la consulta – Nivel medio 101
Imagen 54: Configuración de seguridad – Nivel Alto 101
Imagen 55: Enlace a formulario 102
Imagen 56: Código fuente – Nivel Alto 102
Imagen 57: Ventana del formulario 103
Imagen 58: Resultado de la consulta – Nivel Alto 103
Imagen 59: Configuración de seguridad – Nivel Imposible 104
Imagen 60: Escenario Formulario Web – Imposible 104
Imagen 61: Código Fuente – Nivel Imposible 105
Imagen 62: Configuración de seguridad – Nivel Bajo 105
Imagen 63: Escenario XSS (DOM) 106
Imagen 64: Código fuente –Nivel Bajo 106
Imagen 65: Selección de una opción 107
Imagen 66: Modificación del valor de la opción seleccionada 107
Imagen 67: Insertar el script malicioso en la opción 108
Imagen 68: Resultado del script – cookie hallado 108
Imagen 69: Configuración de seguridad – Nivel Medio 109
Imagen 70: DOM – Nivel Medio 109
Imagen 71: Código fuente – Nivel Medio 110
Imagen 72: Inspección de elemento para conocer como envía las respuesta contra
Script 110
Imagen 73: Resultado del script – medio 111
Imagen 74: Configuración de seguridad – nivel alto 111
Imagen 75: Dar clic en opción “View Source” 112
Imagen 76: Código fuente – Nivel Alto 112
Imagen 77: Resultado del script – Alto 113
Imagen 78: Configuración de seguridad – Nivel Imposible 113
Imagen 79: DOM – Imposible 114
Imagen 80: Código fuente – Nivel Imposible 114
XIV
Imagen 81: Script codificado 115
Imagen 82: Configuración de seguridad – Nivel Bajo 115
Imagen 83: Formulario Login – Burte Force 116
Imagen 84: Código fuente – Burte Force - Bajo 116
Imagen 85: Ver las peticiones de envió en la sección network al inspeccionar 117
Imagen 86: Diccionario [Link] descarga 117
Imagen 87: [Link] descarga 118
Imagen 88: Archivos localizado en Downloads 118
Imagen 89: Ejecución de la herramienta HYDRA 119
Imagen 90: Login exitoso con las credenciales 119
Imagen 91: Configuración de seguridad – nivel medio – brute forcé 120
Imagen 92: Formulario Login – Nivel Medio 120
Imagen 93: Código fuente – Nivel medio – Brute Force 121
Imagen 94: Búsqueda de cookie en storage 121
Imagen 95: Ejecución de ataque por WFUZZ 122
Imagen 96: Resultados de WFUZZ 122
Imagen 97: Datos ingresados 123
Imagen 98: Login exitoso 123
Imagen 99: Configuración de seguridad – Nivel alto 124
Imagen 100: Login – Brute Force – Alto 124
Imagen 101: Código fuente – nivel alto – Brute Force 125
Imagen 102: Abrir BurpSuite 125
Imagen 103: Intersección de BurpSuite 126
Imagen 104: Crear una reglar 126
Imagen 105: Marco Recorde de la petición get de la dirección 127
Imagen 106: Token_user hallado 127
Imagen 107: Marco creado 128
Imagen 108: Configuracion Scope 128
Imagen 109: Regla establecida 129
Imagen 110: Cerrar la intercepción 129
Imagen 111: Ingresar credenciales de prueba 130
Imagen 112: Enviar petición a intruder 130
Imagen 113: Seleccionar los payloads 131
Imagen 114: Ataque por cluser bomb 131
Imagen 115: Seleccionar diccionario [Link] 132
Imagen 116: Seleccionar diccionario contraseñ[Link] 132
Imagen 117 Configuración para el ataque 133
Imagen 118: Resultado del ataque 133
Imagen 119: Ingreso de credenciales 134
Imagen 120: Login exitoso 134
Imagen 121: Configuración de seguridad – nivel imposible – Brute Force 135
Imagen 122: Login – Nivel Imposible 135
Imagen 123: Código fuente – Nivel imposible – Brute Force 136
XV
Imagen 124: Mensaje de error de hackeo - Brute Force 136
Imagen 125: Portal BWAPP 137
Imagen 126: Captcha Bypasssing – nivel de seguridad bajo 137
Imagen 127: Inserta credenciales de prueba y el capucha por defecto 138
Imagen 128: Capturar la petición con la herramienta BurpSuite – Captcha Bypassing
138
Imagen 129: Enviar la petición a Intruder – Captcha Bypassing 139
Imagen 130: Cluster Bomb para ataque de fuerza bruta – Captcha 139
Imagen 131: Insertar un conjunto de lista simple para usuario 140
Imagen 132: Insertar un conjunto de lista simple para contraseña 140
Imagen 133: Configuración del ataque 141
Imagen 134: Comenzar el ataque – Captcha Bypassing 141
Imagen 135: Resultados de ataque – Bypassing 142
Imagen 136: Succesful Login – Bypassing 142
Imagen 137: Captcha Bypassing – Nicel medio 143
Imagen 138: Escenario de prueba 143
Imagen 139: Interceptar la petición por BurpSuite 144
Imagen 140: inspeccionar elemento para hallar las peticiones en network 144
Imagen 141: buscar las cookie en stroge 145
Imagen 142: Efectuar el ataque por WFUZZ 145
Imagen 143: Successful Login – Bypassing medio 146
Imagen 144: Captcha Bypassing – Nivel Alto 146
Imagen 145: Broken Auth – Captcga Bypasisng - Alto 147
Imagen 146: Interceptar con BurpSuite 147
Imagen 147: Ataque por Cluster Bomb 148
Imagen 148: Inserta diccionarios de usuarios y contraseñas 148
Imagen 149: Successful Login – Nivel Alto 149
Imagen 150: Insecure Login Forms – Nivel Baio 149
Imagen 151: Escenario de Prueba Login 150
Imagen 152: Revisar código fuente para hallar las credenciales 150
Imagen 153: Insertar las credenciales al login 151
Imagen 154: Successful Login – Iron Man 151
Imagen 155: Insecure Login Forms – nivel medio 152
Imagen 156: Pauta de ayuda – brucebanner 152
Imagen 157: Function unlock_Secret 153
Imagen 158: Efectuar la función con alerta para recuperar el mensaje 153
Imagen 159: Credenciales correctos 154
Imagen 160: Insecure Forms Login – Nivel Alto 154
Imagen 161: Credenciales de recuerdo bee- bug 155
Imagen 162: Interceptar con BurpSuite 155
Imagen 163: Insertar lista simple en los paylodas 156
Imagen 164: Ataque exitoso 156
Imagen 165: Descargar el repositorio de Slowloris 157
XVI
Imagen 166: Descomprimir la carpeta Slowloris 157
Imagen 167: Paneles de ayuda de Slowloris 158
Imagen 168: Código Slowloris 158
Imagen 169: Ejecución de Slowloris, envió de peticiones 159
Imagen 170: Slowloris ataques denegación de servicio – nivel medio 159
Imagen 171: Slowloris denegación de servicio – Nivel Alto 160
Imagen 172: WebDav – Nivel Medio 160
Imagen 173: Lista de archivos del protocolo WebDav 161
Imagen 174: Usar cadáver para subir archivo 161
Imagen 175: Comando help 162
Imagen 176: Comando open para abrir la ruta 162
Imagen 177: Creación de fichero malicioso php 163
Imagen 178: Subir el fichero malicioso con el comando put 163
Imagen 179: Ejecución del comando id para saber el grupo, id, y privilegio del usuario
164
Imagen 180: Efectuar el comando ls para conocer en lista que archivos existen 164
Imagen 181: Descargar el script [Link] 165
Imagen 182: Guardar el script en la dirección KALI 166
Imagen 183: Cadaver establecer conexión a la ruta del protocolo 166
Imagen 184: Insertar la dirección y el puerto en el archivo reverse_shell.php 166
Imagen 185: Subir el archivo con el comando put 167
Imagen 186: Escalar rutas gracias al script 167
Imagen 187: Escaneo de la red mediante la herramienta Nmap -BWAPP 169
Imagen 188: Obtener credenciales por Ataque de fuerza bruta - BWAPP 169
Imagen 189: Comando de ejecución SQLMAP -dbs 170
Imagen 190: Resultado de la injeciton – Databses -BWAPP 170
Imagen 191: Comando de ejecuccion SQLMAP –tables -BWAPP 170
Imagen 192: Resultado de la injection – TABLES - BWAPP 170
Imagen 193: Comando de ejecución SQLMAP – columns - BWAPP 171
Imagen 194: Resultado de la injection – COLUMNS - BWAPP 171
Imagen 195: Comando para copia de datos – SQLAMP - BWAPP 171
Imagen 196: Resultado del comando – copia de datos - BWAPP 172
Imagen 197: Codigo Reverse_Shell -BWAPP 172
Imagen 198: Subir el código con el comando put -BWAPP 173
Imagen 199: Conexión exitosa del Shell_inversa - BWAPP 173
Imagen 200: Datos del archivo [Link] -BWAPP 174
Imagen 201: Credencial de usuario administrado - BWAPP 174
Imagen 202: Escaneo de la red mediante la herramienta Nmap - DVWA 175
Imagen 203: Comando de Injection dbs - DVWA 175
Imagen 204: Datases - DVWA 175
Imagen 205: Comando para conocer las tablas - DVWA 176
Imagen 206: Tablas encontradas - DVWA 176
Imagen 207: Comando para encontrar las columnas - DVWA 176
XVII
Imagen 208: Columnas encontradas de la base de datos - DVWA 176
Imagen 209: Comando para copia de datos - DVWA 177
Imagen 210: Resultado de la copia - DVWA 177
Imagen 211: Ataque a credenciales - DVWA 177
Imagen 212: Credencial de usuario administrado adivinado - DVWA 177
Imagen 213: Descargar el archivo Php-Reverse_shell.pbp - DVWA 178
Imagen 214: Subir el archivo revser_shell - DVWA 178
Imagen 215: Script Configurado con la maquina atacante - DVWA 179
Imagen 216: Shell Inversa 179
Imagen 217: Navegar por los directorios hasta hallar el archivo [Link] -
DVWA 180
Imagen 218: Datos sensible en el archivo [Link] - DVWA 180
INDICE ANEXOS
XVIII
ESCENARIO#6: INYECTAR SCRIPT MALICIOSO EN FORMULARIO WEB –
CUADRO DE SELECCIÓN INDIVIDUAL 109
ESCENARIO#7: INYECTAR SCRIPT MALICIOSO EN FORMULARIO WEB –
CUADRO DE SELECCIÓN INDIVIDUAL 111
ESCENARIO 8: INYECTAR SCRIPT MALICIOSO EN FORMULARIO WEB –
CUADRO DE SELECCIÓN INDIVIDUAL 113
ESCENARIO #9: ATAQUE DE FUERZA BRUTA EN FORMULA LOGIN WEB
MEDIANTE HYDRA 115
ESCENARIO #10: ATAQUE DE FUERZA BRUTA EN FORMULARIO LOGIN
WEB MEDIANTE WFUZZ 120
ESCENARIO #11: ATAQUE DE FUERZA BRUTA EN FORMULARIO LOGIN
WEB MEDIANTE CARGA ÚTIL POR BURPSUITE 124
ESCENARIO #12: ATAQUE DE FUERZA BRUTA EN FORMULARIO LOGIN
WEB 135
ESCENARIOS M.V BEE-BOX (BWAPP) 137
ESCENARIO #13: FALLA DE AUTENTIFICACIÓN – FORMULARIO LOGIN
WEB CON OMISIÓN DE CAPTCHA MEDIANTE CARGA ÚTIL POR LISTA
SIMPLE 137
ESCENARIO #14: FALLA DE AUTENTIFICACIÓN – FORMULARIO LOGIN
WEB CON OMISIÓN DE CAPTCHA MEDIANTE WFUZZ 143
ESCENARIO #15: FALLA DE AUTENTIFICACIÓN – FORMULARIO LOGIN
WEB CON OMISIÓN DE CAPTCHA MEDIANTE CARGA ÚTIL POR
DICCIONARIO 146
ESCENARIO #16: FALLA DE AUTENTICACIÓN – FORMULARIO LOGIN WEB
INSEGURO 149
ESCENARIO #17: FALLA DE AUTENTICACIÓN – FORMULARIO LOGIN WEB
INSEGURO 152
ESCENARIO #18: FALLA DE AUTENTICACIÓN – FORMULARIO LOGIN WEB
INSEGURO 154
ESCENARIO #19: SATURAR EL SISTEMA DE ALOJAMIENTO DEL ENTORNO
MEDIANTE AVALANCHA DE PETICIONES 157
ESCENARIO #20: SATURAR EL SISTEMA DE ALOJAMIENTO DEL ENTORNO
MEDIANTE AVALANCHA DE PETICIONES 159
ESCENARIO #21: SATURAR EL SISTEMA DE ALOJAMIENTO DEL ENTORNO
MEDIANTE AVALANCHA DE PETICIONES 160
ESCENARIO #22: INSERCIÓN DE FICHERO MALICIOSO EN EL PROTOCOLO
WEBDAV 160
XIX
ESCENARIO #23: INSERCIÓN DE CÓDIGO MALICIOSO PHP PARA ACCIÓN
REVERSE_SHELL EN EL PROTOCOLO WEBDAV 165
ANEXO 5: POST-EXPLOTACIÓN 168
MAQUINA VIRTUAL BWAPP 169
ENUMERACIÓN DE PUERTOS MEDIANTE LA HERRAMIENTA NMAP PARA
CONOCER LOS SERVICIOS Y VERSIONES QUE SOPORTA EL SISTEMA. 169
ATAQUE DE FUERZA BRUTA PARA LA OBTENCIÓN DE CREDENCIALES DE
USUARIO 169
INJECTION SQL MEDIANTE LA HERRAMIENTA SQLMAP PARA CONOCER,
LA BASE DE DATOS DEL ENTORNO, USUARIOS, TABLAS, ENTRE OTROS,170
ACCEDER A UN SERVICIO MEDIANTE LA EJECUCIÓN DE CÓDIGO
REVERSE_SHELL PARA COMPROMETER EL SISTEMA Y ESCALAR
PRIVILEGIO 172
MÁQUINA VIRTUAL DVWA 175
ENUMERACIÓN DE PUERTOS MEDIANTE LA HERRAMIENTA NMAP PARA
CONOCER LOS SERVICIOS Y VERSIONES QUE SOPORTA EL SISTEMA. 175
INJECTION SQL MEDIANTE LA HERRAMIENTA SQLMAP PARA CONOCER,
LA BASE DE DATOS DEL ENTORNO, USUARIOS, TABLAS, ENTRE OTROS,175
ATAQUE DE FUERZA BRUTA PARA LA OBTENCIÓN DE CREDENCIALES DE
USUARIO 177
ACCEDER A UN SERVICIO MEDIANTE LA EJECUCIÓN DE CÓDIGO
REVERSE_SHELL PARA COMPROMETER EL SISTEMA Y ESCALAR
PRIVILEGIO 178
ANEXO 6: INFORME 181
XX
RESUMEN
XXI
ABSTRACT
In this investigative work, cybersecurity techniques were evaluated for the secure
development of web applications through penetration testing in virtual environments with
vulnerable web applications. The PTES methodology was used, and the most exploited
vulnerabilities according to the OWASP Top 10 of 2021 were analyzed, developing four
categories of attack tests to understand the real context of the attack execution scheme.
Eleven approaches to study findings and recommendations for cybersecurity were presented,
as well as a set of best practices for web application development and implementation of
cybersecurity measures. The objective is to raise awareness and provide recommendations to
mitigate any future cyber attacks. Attack tests were conducted using optimal tools to exploit
vulnerabilities, information was gathered to create a detailed report of the results, and
resulting observations and technical security recommendations were presented.
XXII
INTRODUCCIÓN
Hoy en día, las organizaciones manejan extensas áreas de almacenamiento digital donde
almacenan información crítica como datos de identificación personal, registros de procesos,
manual de funciones, entre otros. Esta práctica ha atraído a delincuentes cibernéticos que
buscan penetrar en estas entidades para obtener información valiosa y utilizarla de manera
ilícita mediante una variedad de técnicas para acceder y robar información de cualquier ente
que es vulnerable a un ataque.
Es por esta razón, el presente trabajo tiene como finalidad el estudio de técnicas de
ciberseguridad en el ámbito de desarrollo de aplicaciones web mediante la utilización de
laboratorios de simulaciones que cuenta con aplicación web vulnerable. Para evaluar las
técnicas en relación con el TOP 10 de OWASP 2021, analizando su comportamiento en los
esquemas de seguridad y desarrollar la comparativa de cuatro categorías como; fallas de
identificación y autenticación, configuración incorrecta de seguridad, inyección y diseño
inseguro. Se realizaron las pruebas tanto tradicionalmente como la ayuda de herramientas
para el ataque cibernético en los escenarios creados, y con el resultado obtenido emplear
acciones para escalar privilegios y encontrar datos sumamente potentes para luego ejercer la
elaboración del informe que cuenta con los análisis pertinentes de los ataques, y establecer
las observaciones de resultados de los incidentes y recomendaciones para mitigar los eventos.
Y a su vez, se presentará una propuesta de buenas prácticas para el desarrollo seguro en
marcado en ISO 27001 Y CIS, referentes potenciales en controles de seguridad tanto en
sistemas como en redes.
1
En la sección capítulo 1, se detalla de manera significativa sobre la problemática de la
seguridad informática en las organizaciones y la falta de seguridad al desarrollo de
aplicaciones web seguro, y establecer la solución planteada. Además, se encuentra los
antecedentes, descripción del proyecto, el objetivo general y específicos, justificación y
alcance.
2
CAPÍTULO I
1. FUNDAMENTACIÓN
1.1. ANTECENDES DEL PROYECTO
Hoy en día, el desarrollo de las TIC (tecnologías de la información y las comunicaciones),
ha permitido abordar unos determinados números de servicios con el objetivo dar soluciones
a necesidades de la vida cotidiana. Relativamente, la seguridad informática, y el desarrollo
de software son dos temas muy interesantes que aborda todo el mundo tecnológico que sé
observa [1].
3
Figura 1: OWASP Top 10 2021 vulnerabilities (share of web applications) [3]
4
Para dicho estudio se dará pautas a investigaciones, artículos, tesis que estén asociadas al
tema investigativo, en donde las aportaciones permitirán comprender más sobre la situación
que ejerce el desarrollo de aplicaciones web seguro en dependencia a la seguridad informática
para la protección de datos. Por lo cual, se menciona tres aspectos como estudio centrado en
la parte local, entorno país y así mismo de manera internacional que se menciona a
continuación.
5
Además, la tesis “Guía metodológica para implementar la seguridad durante el
desarrollo de aplicaciones informáticas (La Habana-Cuba)”, describe que fue
desarrollado a base de principios de desarrollo ágil, en donde proporciona estándares de
buenas prácticas de manera internacional para establecer un desarrollo de software seguro.
Tiene como objetivo dar funcionalidad en la planificación para minimizar amenazas y
corregir errores a tiempos, la disposición es dar métodos que den la base en contribuir calidad
y sistemas seguros confiables. [6]
Las pruebas de test penetración son relacionados con escenarios donde ocurre mayor
frecuente el incidente de seguridad, permitiendo conocer la efectividad de los ataques, el
activo en peligro, el nivel de criticidad, el método de ataque, entre otros aspectos que el
ciberdelincuente emplea para comprometer el sistema. Por ende, el estudio de ciberseguridad
es preciso y necesario para conocer y emplear buenas prácticas de seguridad que permitan
mitigar las brechas existentes de seguridad en aplicaciones web.
6
el presente proyecto se guiará con la metodología PTES (penetration Testing Excecution
Standard).
Fase 3: Explotación
Fase 3: Post-Explotación
7
Fase 4: Informe
Él desarrollo del informe proviene de los resultados obtenidos mediante la fase explotación
y post – explotación, en donde se explica mediante una introducción todo lo referente a la
seguridad de aplicaciones web, el análisis e interpretación de resultados, observaciones y
recomendaciones de toda la parte experimental sobre los escenarios de estudio desarrollado
para la investigación
8
Por otro lado, la seguridad de aplicaciones rige como un conjunto de buenas prácticas, y no
es definido como una tecnología única, en donde se incorporan funciones y características
que permitan al software de una organización, prevenir y remediar cualquier amenaza que
realizan los ciberatacantes, como también generar beneficios como; reducción de riesgo en
las fuentes internas, proteger los datos sensibles que se filtran, mejorar la confianza de
inversores de negocios y mantener seguro los datos del cliente [8].
Del mismo modo, como beneficiarios indirectos se encuentran los usuarios finales que
interactúan con el software correcto sobre la base de herramientas, metodologías y buenas
prácticas que permiten mantener a salvo la información sensible de los propios entes. Por
otro lado, también tendrá la viabilidad de que el sistema sea estable y seguro para así
minimizar los errores que se puedan generarse en plena ejecución. Por lo consiguiente,
enseñar a los usuarios a usar el software de la forma conveniente para evitar que sean
propensos o puntos fáciles de cualquier ataque cibernético.
El presente estudio sirve como línea base de referencias académicas y científicas para
continuar evaluando e identificando vulnerabilidades en el desarrollo de aplicaciones web
seguro, que permita apreciar la suma recuperación de los puntos débiles de estos en las
organizaciones sobre la lucha constante sobre las vulnerabilidades empleadas por hackers
9
Adicionalmente, conocer la efectividad, tiempo de ejecución, rigurosidad de nivel de
seguridad sobre las vulnerabilidades de mayor impacto y frecuentes para presentar
recomendaciones de conjuntos de buenas prácticas centralizadas en normas internacional de
desarrollo de aplicaciones web.
Cabe destacar que el resultado obtenido en el estudio servirá como base para todas aquellas
entidades que ejercen los mismos procesos o referentes a desarrolladores que desean adquirir
este tipo de investigación como pauta al desarrollar el análisis correspondiente de la creación
de un producto (aplicaciones web).
Objetivo 10.- Garantizar la soberanía nacional, integridad territorial y seguridad del Estado
[9].
10
Por ende, el desarrollo de la metodología PTES estará desglosado con actividades que
permita a la investigación tener un enfoque claro y conciso.
Fase 3: Explotación
11
Fase 4: Post-Explotación
Fase 5: Informe
El estudio de las técnicas de ciberseguridad brindará una visualización sobre las condiciones
que enmarcan toda la seguridad informática en aplicaciones, en la fase de diseño y desarrollo.
Por ende, no se implementará el uso de un módulo de análisis y tampoco contar con un activo
de información de una entidad (base de datos, archivos de configuración, entre otros). Sin
embargo, tendrá pruebas de simulación que reflejen diferentes escenarios del contexto real
de ataque, para así comprender mejor los incidentes de seguridad en aplicaciones web y
adicionalmente que en un futuro cercano sea ampliado.
12
CAPITULO II
2. MARCO TEÓRICO Y METODOLOGÍA DEL PROYECTO
2.1. MARCO CONCEPTUAL
2.1.1. ¿QUÉ ES LA SEGURIDAD INFROMÁTICA?
La seguridad informática tiene la labor de dar seguridad al medio informático, para varios
expertos manifiestan que la informática es la ciencia encargada de los procesos, técnicas y
métodos que buscan procesar el almacenamiento y trasmisión de la información, que a
diferencia de la seguridad de la información en donde no tiene como fin la seguridad del
medio informático, sino también se preocupa por toda aquella información sensible e
importante [7].
Usuario: Es considerado como el eslabón más débil de la cadena, debido a que es imposible
controlar a las personas, por ende, hay que tener mucho cuidado con el mismo usuario [7].
Infraestructura: Es el medio que debe tener mayor control y manejo sobre los procesos que
imparten al sistema, para así no exponer puntos débiles que generan problemas complejos,
como lo es acceso no autorizado, el robo de identidad y daños que alteren los procesos para
que el sistema sea débil y vulnerable a un ataque [7].
[Link]. CONFIDENCIALIDAD
Hace referencia a la información sensible, aquella ya sea privada o secreta, no sea expuesta
a usuarios (sean personas, procesos, etcétera) no autorizados. Por ende, la protección de este
apartado cuenta con la aplicación sobre aquellos datos almacenados que son distribuidos
13
mediante procesos, que se encuentra en trasmisión o son trasmitidos por las rutas establecidas
[10].
[Link]. INTEGRIDAD
Manifiesta la seguridad de la información almacenada en los diversos dispositivos mediante
su trasmisión por cualquier canal de comunicación y evidenciar que no ha sido alterada por
usuarios terceros de forma malintencionada. La finalidad de este apartado es que la
información no sea modificada mediante usuarios no autorizados [11].
[Link]. DISPONIBILIDAD
La disponibilidad de la información depende de las características o capacidad que se debe
asegurar en la fiabilidad y el acceso oportuno de la data y del recurso. Por ende, la
información debe estar disponible para que los usuarios autorizados pueden adquirir cuando
sea necesario [12].
[Link]. NO REPUDIO
También conocido como irrenunciabilidad, permite la garantía al receptor de la
comunicación, verificar el origen del mensaje que fue enviado por el emisor, y que la misma
data no haya sido enviada por un tercero que se haga pasar por el emisor. En pocas palabras,
el repudio tiene la capacidad de demostrar o probar la participación de las partes del origen
y destino sobre los actores de comunicación mediante su identificación para determinar cierta
acción [13].
14
cual ofrece una interfaz gráfica para permitir que el usuario interactúe con la base de datos
mediante consultas y actualizaciones [14].
El servidor web distribuye páginas de información formateada a los clientes que las solicitan
a través del protocolo HTTP. Una vez que se realiza la solicitud a través de la conexión de
red y érl servidor web la recibe, este localiza y envía la información al navegador del usuario
para su visualización [14].
Una característica importante de las aplicaciones web es que están diseñadas para funcionar
en la topología de Internet, lo que les permite ser ambientes distribuidos y multiplataforma
de forma natural [15].
15
proporciona la ejecución de solicitudes de información y el servidor la provee. Ambos de
formar independiente cuentan con programas para evidenciar la acción [17].
[Link].3. CLIENTE
Es el responsable de solicitar el uso de las aplicaciones insertadas en un determinado servidor
de código, para que devuelva un nombre o dirección. El cliente en pocas palabras mantiene
comunicación con el servidor para solicitar una búsqueda, consultas, datos de entradas de
datos o la misma actualización de registro que un servidor de archivo que cuenta en su fila
[18].
16
2.1.3. SEGURIDAD DE LAS APLICACIONES
La seguridad de aplicaciones se manifiesta con la incorporación de un conjunto de buenas
prácticas para prevalecer el resguardo de información sensible que dispone, debido a que el
mundo tecnología va creciendo y nuevas falencias deben ser corregidas, y así no dañar la
reputación de una organización que dispone de dichos sistemas. Es por ello ejercer el
desarrollo de pruebas para prevenir y mitigar las amaneadas que los piratas informáticos
provocan para evadir mecanismos de seguridad y robar data sensible, entre otros recursos
[21].
17
[Link]. VULNERABILIDADES
Las brechas de seguridad son puntos vulnerables en un sistema que pueden ser aprovechados
por ciberatacantes para modificar procesos y métodos con el fin de comprometer la integridad
y reputación de una organización y robar información confidencial. La vulnerabilidad del
hardware representa una puerta de entrada para los dispositivos, mientras que las debilidades
en el software son fallas que se presentan en el sistema [23].
[Link]. OWASP
OWASP o también conocido como Open Web Application Security Project es una fundación
sin fines de lucro que permite mejorar la seguridad de sistemas/software. Mediante proyectos/
guías de software para código abierto para la comunidad, debido a que existen cientos de
capítulos locales, capacitaciones de líderes, conferencias educativas para miles de miembros.
OWASP es la fundación con fuente para que los desarrolladores y tecnólogos protejan todo
referente a la web [24].
Existen diversas vulnerabilidades asociadas a los servicios que proporcionan las aplicaciones
web. El proyecto OWASP, o Proyecto Abierto de Seguridad en Aplicaciones Web, ha
identificado las diez vulnerabilidades más comunes en estas aplicaciones. A continuación, se
detallan las brechas de seguridad más explotadas en las aplicaciones web [25].
18
2.1.4. COOKIES
Las cookies reflejan pequeña información valiosa de un usuario, en pequeños fragmentos de
datos o archivo de texto que cuenta el nombre del entorno web y una identificación de usuario
única. Además, también son conocidas como cookies informáticas, cookies de navegador,
cookies de internet y cookies HTTP, el accionar de la cookie en el sitio web es la creación y
envió de la misma en todo el reflejo de comunicación de diversos sitios cada vez que se
solicita información [26].
Terceros: Aquella cookie crea una nueva cookie a través de la cookie de origen desde el
propio terminal con el objetivo de hacer un seguimiento de los sitios web visitados por el
usuario. Este tipo de acción permite al anunciante rastrear la actividad de un internauta, para
así presentar publicidades especificadas y personalizadas al usuario, en termino cultural en
ataques informático se conoce como Spyware [29].
19
Personalización: Manifiesta el acceso a servicios con algunas características de manera
general predefinidas por el terminal del internauta o que se defina, como es el caso el idioma,
el tipo de navegador a través se accede al servicio, entre otros [31].
Publicitarias: Son utilizados para gestionar las publicidades que se encuentran incluidos en
el entorno web o en la misma aplicación que da la prestación del servicio [31].
Técnicas: Permite usar diferentes opciones o servicios para la navegación en el sitio web o
aplicación, como poder controlar el tráfico, identificar la sesión, acceder a las partes web de
acceso restringido, entre otros [31].
2.1.5. EXPLOIT
Se considera como un tipo de programa para corromper la seguridad de un sistema débil, que
en pocas palabras se conoce como vulnerabilidad, ya sea de un programa de Software o
componente del Hardware. El exploit puede ser manejado desde apartado de código anómala,
cadenas de códigos y simple datos de secuencias de comandos. En otros términos, el exploit
es constituido como una herramienta que permite al hacker aprovechar brechas de
seguridad/puntos débiles de un sistema y robar información para fines propios [32].
20
Zero day exploit: Son considerados ataques particularmente peligroso, debido a la inmensa
cantidad de violaciones de seguridad desconocidas y para contrarrestar dichos problemas, los
desarrolladores desarrollan los parches, pero a los que fueron afectado no les sirve. Los
ataques de día cero está centrado al software después de su lanzamiento [36].
Exploit remota: Es la ejecución del exploit con la ayuda de la red para generar obtención de
acceso a un sistema. A diferencia que la explotación loca es usada para obtener privilegios
una vez realizado la obtención de acceso básico al entorno [37].
Exploit local: Comprende en elevar privilegios hasta administrador una vez que haya tomado
el sistema objeto una vez realizado localmente el exploit [38].
Exploit del cliente: Tiene como fin explotar las vulnerabilidades del lado del cliente,
haciendo que el usuario final muestre información confidencial aprovechando la mínima
seguridad, considerando como el eslabón más débil [39].
La norma ISO 27001 puede ser adoptada por cualquier tipo de organización,
independientemente de su tamaño, fines, naturaleza pública o privada. Fue desarrollada por
expertos en seguridad de la información a nivel mundial, y ofrece una metodología para
integrar la gestión de la seguridad de la información en la organización. Además, la norma
permite que la empresa obtenga una certificación en la materia. [40].
21
[Link]. ¿CÓMO FUNCIONA?
El propósito fundamental de la norma ISO 27001 es crear un sistema de gestión de seguridad
de la información en una organización que se base en los principios de confidencialidad,
integridad y disponibilidad de la información. Para lograr este objetivo, es necesario realizar
una investigación exhaustiva para identificar las posibles causas que podrían afectar la
información, y establecer medidas preventivas para evitar estos problemas [40].
El estándar/normas ISO 27001 cuenta con medidas de seguridad (controles) que son
necesarios a implementar, debido que están bajo políticas, implementación de técnicas y
procedimientos. En base a la mayoría de los casos, la utilización de software y hardware en
las organizaciones no son usadas de la mejor forma posible. Por lo tanto, la mayor para
efectuar la norma, debe contar con una base que se relacione a las reglas de la organización.
Prevenir es un evento necesario para combatir con las violaciones que se puede efectuar la
seguridad [40].
2.1.7. CIS
El centro de seguridad de internet (CIS) cuenta con acciones colectivamente que prioricen la
seguridad sobre ataques más comunes contra sistemas y redes, formando un conjunto de
mejores prácticas como defensa para mitigar estos eventos. Los controles CIS son
desarrollados por expertos en TI que aplican la experiencia de primera mano cómo defensores
cibernéticos para crear estás buenas prácticas de seguridad aceptada globalmente [41].
22
[Link]. ¿CÓMO FUNCIONA?
CIS Control son nutridos en base a la información relativa sobre ataques reales y defensas
efectivas, en donde reflejan el conocimiento combinado de expertos por cada parte del mundo
tecnológico como: por ecosistema, rol, sectores. CIS es una organización sin fines de lucro,
cuya misión es identificar, desarrollar, validar, promover y mantener las mejores prácticas en
seguridad cibernética. Ofrece mundialmente soluciones de seguridad informática para
notificar y responder rápidamente a incidentes cibernéticos y construir mejores guías para la
comunidad. Para permitir un ambiente de confianza a el ciberespacio [41].
Los Controles CIS son el conjunto más efectivo y específico de medidas técnicas disponibles
para detectar, prevenir, responder y mitigar el daño desde el más común al más avanzado de
esos ataques. La implementación correcta de los 20 controles críticos reduce
significativamente tu riesgo de seguridad, reduce los costes operativos y mejora en gran
medida la postura defensiva de una organización [41].
2.1.8. PENTESTING
Es considerado como una metodología requerirle en la seguridad informática, debido a su
terminología pestenting que proviene del “penetration” y “test”, penetración con testeo. Es
una práctica que permite descubrir vulnerabilidad y/o fallos de seguridad sobre el sistema
informático objeto. Además, cuenta con la disposición de ejercer clasificación y
determinación sobre los alcances y repercusiones sobre los puntos débiles de seguridad, y así
ofrecer entornos para pruebas de un ataque para evaluar la efectividad de defensa en el
sistema [42].
A continuación, se presenta los tipos de objeto emplear el pentesting; caja blanca, caja negra
y caja gris.
23
[Link]. CAJA NEGRA – BLACK BOX
La prueba de caja negra, a diferencia de la prueba de caja blanca aquí no se adquiere a detalle
la información necesaria del objeto, solo se cuenta con el nombre de la empresa y la
disposición de un rango de direcciones de red con la finalidad de no provocar daños
colaterales. En pocas palabras, este tipo de prueba se sumerge a un contexto en donde se
evalúa la poca información para hallar data más superficiales, escenario realista [44].
24
efectividad de ataque permitiendo alternar y llegar al resultado, que en vez de realizaciones
de combinaciones posibles [48].
[Link]. SHELL
Es el software que cumple el papel de interfaz para el ingreso de comandos en el mismo
sistema operativo, para ejercer un control sobre el sistema. Pero así mismo, este control es
limitado de acuerdo a las restricciones de privilegios de usuario que se encuentre ejecutando
la SHELL [51].
Shell Directa (Bind_Shell): Se requiere de una maquina cliente para escuchar las solicitudes
de conexión a través de una sentencia/software desde un puerto determinado como servidor,
para así ejercer conexión al objeto [53].
25
[Link].1. TIPOS COMUNES DE DDOS ATTACK
Ataques a la capa de aplicación: Es uno del ataque más frecuente a la capa de aplicación,
debido que se envían gran volumen de peticiones HTTP generando un agotamiento
mesurable en el tiempo de respuesta al servidor que es objeto al ataque. Es muy complicado
como distinguir las peticiones seguras y maliciosas, haciendo la tarea dificultosa de poder
contrarrestar este tipo de ataque en el momento [55].
Ataque de protocolo: Este tipo de ataque fructifica del debilitamiento de los protocolos que
ejerce comunicación sobre la red, eventualmente, el ataque es afectado a la capa de red y a
su vecino la de transporte del modelo OSI, debido que los protocolos de internet son
esencialmente globales y ejercer actualizaciones para corregir estos problemas de
debilitamiento requiere de un buen tiempo. Por lo cual, los atacantes aprovechan para generar
envió de solicitudes TCP falsas con el combinado de direcciones IP negativas con el principal
objetivo que la dirección sea aceptada y que luego se genera la comunicación
correspondiente, dando como resultado abrumar a todo el servidor destino con el
acumulamiento de estas falsas solicitudes [56].
26
[Link].1. TIPOS DE XSS
✓ Relfected Cross-Site-Scripting: En un ataque de XSS reflejado el payload suele ser
inyectado en un parámetro de la solicitud HTTP, para luego ser procesado por la
aplicación web y finalmente desplegado en un punto determinado, sin algún tipo de
validación o codificación de los caracteres. Se trata de la variedad de XSS más simple
y el script malicioso que busca afectar el navegador de la víctima es fácilmente
modificable, probablemente sin que el usuario note el ataque [59].
✓ Stored Cross-Site-Scripting: Esta variante tiene como característica que la
aplicación web guarda el valor de entrada en un medio de almacenamiento y persiste
el script inofensivo, hasta que el valor es recuperado por la aplicación y utilizado para
conformar parte del documento HTML [60].
✓ DOM-Base-Cross-Site-Scripting: El Document Object Model (DOM) es una
interfaz de programación para representar la estructura de un documento web y
conectarlo con un lenguaje de scripting. En este sentido, el DOM facilita la estructura
de documentos como HTML o XML y permite a los programas modificar la
estructura, estilo y contenido del documento. En el caso de un ataque de XSS basado
en DOM el payload malicioso es ejecutado como resultado de la modificación del
entorno DOM en el navegador de la víctima. Esto lleva a que el usuario ejecute código
desde el lado del cliente sin saber que lo está haciendo [61].
27
[Link].1. TIPOS DE INYECCIÓN DE SQL
Máquina virtual vulnerable que está desarrollada como entorno de entrenamiento para la
explotación de seguridad web en lenguaje PHP y MySQL con el objetivo primordial de hacer
el estudio sobre los diversos ataques dentro del entorno legal [66].
VIRTUALBOX
XAMPP
Distribución de apache en donde existe diversos softwares libres en donde consta con licencia
GNU, incluye apache, MySQL, PHP, Perl, servicios de entorno web. [68]
28
KALI LINUX
Kali Linux contiene modificaciones específicas de la industria, así como varios cientos de
herramientas dirigido a diversas tareas de seguridad de la información, como pruebas de
penetración, investigación de seguridad, análisis, forense de computadores, ingeniería
inversa, gestión de vulnerabilidad y pruebas de equipo rojo [69].
BWAPP
La aplicación web Buggy, a menudo conocida como BWAPP, es una herramienta gratuita y
de código abierto. Es un PHP aplicación que utiliza una MySQL base de datos como su back-
end. Este Bwapp tiene más de 100 errores en los que puede trabajar, ya sea que se esté
preparando para una tarea o simplemente desee mantener sus habilidades de piratería ética al
nivel estándar. Esto cubre todas las fallas de seguridad principales (y más frecuentes) [70].
SQLMAP
La herramienta SQLMAP tiene como fin detectar y aprovechar las vulnerabilidades mediante
inyección SQL en aplicaciones web, en donde analiza el host destino para ejercer la detección
de una o más posibles injection SQ. Sirve recuperar data base, enumerar usuarios, columnas
DBMS, entre otros [71].
SLOWLORIS
Es conocido como un famoso script que permite generar un gran número de conexiones
simultaneas hacia el sistema objeto (servidor que se aloja la aplicación web), para agotar el
límite de sesiones paralelar que el entorno pueda soportar [72].
BURP SUITE
Es una aplicación integrada en Kali Linux, pero así mismo puede ser instalada manualmente
en S.O Windows y Linux, tiene como fin realizar pruebas de seguridad de aplicaciones web,
permite realizar un mapeo inicial, análisis de la superficie de ataque y explotaciones de
vulnerabilidades de seguridad [73].
CADAVER
Herramienta que permite la carga y descarga de archivos, ejercer la visualización en pantalla,
poder editar, realizar operaciones de espacio de nombre, crear, eliminar, entre otros [74].
29
HYDRA
Es una herramienta cracker de inicio de sesión, en donde permite ejercer una gran cantidad
de ataque a protocolos, ya que cuenta con flexibilidad de uso e interactuar mediante
comandos la ejecución de ataque. Todo esto con el fin de que los investigadores y consultores
indaguen sobre la seguridad de un sistema determinado para así desarrollar las correcciones
respectivas [75].
WFUZZ
Es conocido como una herramienta para efectuar ataque de fuerza bruta en aplicaciones web,
debido que se halla recursos no vinculados, directorios, servlets, scripts, entre otros datos
importantes con el fin de evidenciar las brechas para explotar vulnerabilidades presentes [76].
DICCIONARIOS
Son aquellos conjuntos de datos comunes que son generador para evitar la construcción de
lista de palabras, estos diccionarios pueden ser utilizados para ejercer ataque de fuerza bruta
en diferentes servicios como; login, redes wifi, ssh, ftp, entre otros que permitan la utilización
de credenciales, directorios, contraseñas [77].
NMAP
Herramienta de utilidad para exploración de redes y auditria de seguridad, permite el escaneo
de ping, detectar versiones sobre los puertos abiertos, es soportable para sistemas operativos
Windows y Linux [78].
30
ataques de gran impacto debe estar relacionado al usuario final y el ámbito tecnológico que
lo rodea, para así ejercer una corrección de vulnerabilidades y mitigar los riesgos, de misma
formas buenas prácticas que interactúan en los medios electrónico de comunicación, la parte
de almacenamiento de información [79].
31
un resultado, análisis, prueba, buenas practicas con el fin de dar un enfoque positivo sobre el
desarrollo de software de una manera eficiente, para que así las organizaciones relacionadas
con estas debilidades ejerzan planes de mitigaciones sobres las fallas y surja un enorme
ocurrencia de procesos realizado positivamente y que el funcionamiento de los procesos no
cuente fallo [81].
El estudio diagnostico hace referencia a una investigación que aborde el factor primordial
para la obtención de conocimientos necesarios para una determinada área, localidad, en
donde se ve enfrascada el problema, con el fin de dar soporte a la hora de toma de decisiones
para el diseño del estudio [83]. La investigación diagnostica se desarrollará a través de
entrevista a personal experto en seguridad informática que comprendan sobre la importancia
de la seguridad informática en las organizaciones, la seguridad de las aplicaciones,
estándares, entre otros. El propósito es adquirir información pertinente que sirvan para
identificar expandir el estudio y mejoras que recurra el proyecto.
VARIABLE
✓ Tiempo de explotación de las vulnerabilidades aplicando las técnicas de
ciberseguridad
32
✓ Nivel de acceso que se da al servidor al hacer las pruebas de segurida
➢ Técnicas
➢ Instrumentos
Las fuentes bibliográficas servirán para profundizar el tema en un amplio conocimiento para
el buen análisis de información.
➢ Población
33
Por lo consiguiente, el desarrollo seguro de aplicaciones web debe estar relacionado con un
conjunto de buenas prácticas, normas, que permita a los desarrolladores establecer puntos
confiables a la hora de ejercer la creación de un producto. La buena seguridad debe ser
enfocada en una buena programación, limpieza de cuadros de texto, la validación de
caracteres especiales, parametrización de código, Framework. Aspectos necesarios para
fomentar la seguridad informática en las aplicaciones sobre el nuevo entorno tecnológico.
Por ende, para trabajar con el tema de seguridad informática se debe crear laboratorios
óptimos que asemejen al escenario real sobre las complicaciones de seguridad en las
aplicaciones, con el fin de entender el trasfondo de la acción de la aplicación sobre incidentes
de seguridad, y como deben ser reparados para contrarrestar los eventos existentes de
seguridad.
Por último, las buenas acciones para ejercer una buena seguridad de un aplicativo web, debe
estar relacionado con seguir buenas prácticas, metodología de desarrollo que incorpore la
etapa de prueba de seguridad, para que así a futuro evitar problemas de enviar a producción
un producto que ejerce fallas de seguridad y provocar altos costos en soporte. Por lo tanto,
ejercer las pruebas de seguridad con frecuencia permitirá emplear el testeo necesario y el
monitoreo para comprobar el nivel de seguridad que el producto se enfrentará a sucesos
inseguros para ataques cibernéticos. Por eso, es de suma importancia que los miembros de la
organizaciones y desarrolladores tengan el conocimiento necesario sobre el nuevo ámbito de
la seguridad que se impone hoy en día, para que el personal este capacitado y preparado para
responder de la mejor manera los incidentes de seguridad y no provocar pérdidas altas.
34
La entrevista realizada al Ing. Daniel Quirumbay, personal experto en seguridad informática
(Ver Anexo 2), y docente de la UPSE de la Facultad de Sistemas y Telecomunicaciones ha
brindado respuestas para realizar el siguiente análisis:
Por lo consiguiente, en referencia al desarrollo seguro, existen una amplia información sobre
cómo generar una aplicación segura, desde el punto de vista de ejercer la parametrización de
código, optimización del código que deben ser tomados muy en cuenta a la hora de
desarrollar un producto para evitar a futuro la aparición de vulnerabilidades que puedan
corromper la seguridad y robar la data sensible.
Además, para la buena seguridad se debe tomar en cuenta OWASP, una organización sin
fines de lucros que expone buenas prácticas que permita la estandarización de la protección
de datos. Pero así mismo, ISO 2700 cuenta con datos para la buena gestión de la seguridad
de la información. Sin embargo, el factor de implementación rige de un costo adicional en
donde las mayorías de las empresas busca costos menos.
Por lo tanto, OWASP manifiesta un top de 10 pasos para presentar las vulnerabilidades más
expuestas en aplicaciones a nivel mundial, en donde se centra en un ambiente cambiante en
relación con los riesgos de seguridad. Por el 2017 predominada la inyección SQL, y ahora
actualmente en el 2021 es la falla de autentificación en base de los estudios desarrollados
sobre las nuevas incorporaciones tecnológicas.
Por ende, se debe realizar las acciones necesarias para que las detecciones sean automáticas,
la combinación de aplicación con inteligencia artificial es un componente interesante sobre
el tema de seguridad. Por ello, se debe contar con el kit de herramienta para realizar los
35
monitoreos pertinentes para actuar en base a los resultados realizado en el análisis de
ciberseguridad.
Por último, es muy importante que el ser humano tenga el conocimiento necesario sobre el
tema de seguridad, debido por ser el eslabón más débil ejerce el punto de partida de la
debilidad de los procesos para la aparición de las vulnerabilidades, en donde se extrae
información de persona a persona e identificar el punto central en donde se puede localizar
la data. Todo esto hace referencia a la incorporación de la ingeniería social.
2.4.3. METODOLOGÍA DE DESARROLLO DEL PROYECTO
La metodología PTES o conocida también test de penetración compete la seguridad técnica
sobre la experiencia en realizar un estudio inmensurable desde la comunicación inicial y el
razonamiento detrás de un pentester. Por ello el presente proyecto se guiará a dicha
metodología centrada en fases que se mencionaran a continuación [84]:
Fase 3:Explotacion
Fase 4: Post-Explotación
Fase 5: Informe
La fase de análisis de vulnerabilidades consiste en realizar todas las posibles acciones que
permitan comprometer a nuestro objetivo, los usuarios y/o su información. Las
vulnerabilidades más comunes explotadas justificada al estudio estadístico del TOP 10 de
OWASP 2021 [84].
Fase 3: Explotación
Fase 4: Post-Explotación
Fase 5: Informe
La última fase consiste en elaborar un informe donde se especifiquen las conclusiones de las
pruebas de penetración. En esta fase se genera tanto el informe detallado de la auditoría,
donde se plasman los resultados técnicos y metodológicos obtenidos, como el informe
ejecutivo, donde se resumen los resultados obtenidos, el riesgo asociado y la propuesta de
plan de mitigación de dichos riesgos [84].
37
CAPÍTULO III
3. PROPUESTA
3.1. DESARORLLO
3.1.1. FASE 1: RECOLECCIÓN DE INFORMACIÓN
La fase comprende en la recopilación de los datos pertinentes de forma concisa para el
desarrollo del trabajo investigativo. A través de los motores de búsqueda se recolecta la
información sobre el entorno de trabajo y las herramientas respectivas que hagan posible la
configuración del mismo para así posteriormente ejercer las fases “Explotación” y “Post-
Explotación” de la metodología seleccionada.
La fase trata de la preparación del entorno de trabajo de las máquinas virtuales vulnerables
para la investigación, a continuación, se presenta la descripción de las máquinas,
configuración y requisitos para una correcta instalación:
Para la instalación del entorno virtual vulnerable se realizó la descarga respectiva del archivo
zip para luego ser descomprimido en la dirección del servidor web que cuenta por defecto de
instalación Kali Linux para su funcionamiento. Sin embargo, se debe realizar
configuraciones necesarias con respecto a la base de datos, privilegio de archivos,
configuración de usuario para el motor de base de datos para que el sitio ejecute a la
perfección, para más detalle de instalación del entorno (Ver Anexo 3: Manual de instalación
– entorno DVWA)
38
Descripción de instalación Bee-Box (BWAPP)
Además, comprender las interpretaciones del Ciberdelincuente sobre estos tipos de categoría
que proporciona OWASP, con el fin de apreciar al fondo los ciberataques que permitan
comprometer un sistema y mostrar los puntos débiles para así elaborar el robo de datos
confidenciales que involucre las reputaciones e integridad de la organización. Por ello, se
realizó el estudio comparativo de las técnicas para ser considerada como punto de partida
para la elaboración de prueba de caja negra en la fase 3 “EXPLOTACIÓN” mostrando las
ventajas y desventajas de su desarrollo.
39
ESTUDIO COMPARATIVO DE TÉCNICAS DE CIBERSEGURIDAD APP WEB
CATEGORÍA TÉCNICAS VENTAJAS DESVENTAJAS NIVEL DE
CRITICIDAD
41
DISEÑO INSEGURO Atacar las fallas de • Ataque de MEDIO
seguridad en el credenciales • Módulo Login
código, tras la • Formulario mediante fuerza • Peticiones de usuario
mejora de solución inseguro bruta GET y POST
• Recopilación de
cookie
42
identidad de un • Formulario
usuario Login
Inseguro
SOFTWARE Y FALLAS EN LA La inclusión de • Carga de • Reverse_Shell al • Protocolo de BAJO
INTEGRIDAD DE DATOS código maliciosa archivo sin servidor transferencia de
sobre las restriccione • Crear fichero archivo
funcionalidades sin s malicioso
el compromiso del • Divulgació
sistema general n de
informació
n
43
3.1.3. FASE 3: EXPLOTACIÓN
Estas técnicas serán ejecutadas en los escenarios diseñados de los entornos vulnerabilidades
creados para la simulación del ataque para evaluar el nivel de seguridad de una aplicación.
También contará con la ayuda de diversas herramientas necesaria para vulnerar el escenario
de prueba para llegar a un resultado óptimo. Se presenta el diseño de los escenarios de
pruebas para la ejecución de las técnicas con sus respectivos ítem.
44
DISEÑO DE ESCENARIOS DE PRUEBAS
45
#7 DVWA ALTO Inyectar script Inyección de Script Escenario 7
malicioso en malicioso mediante
Formulario Web – los default permitidos
Cuadro de selección de idiomas por la
individual location
46
#15 BWAPP ALTO Falla de Obtener la contraseña Escenario 15
Autentificación – de usuario
Formulario Login administrador y
Web con Omisión de acceso exitoso
Captcha mediante
carga útil por
diccionario
47
#22 BWAPP BAJO Inserción de fichero Conocer archivos, Escenario 22
malicioso en el documentos que
protocolo WebDav cuenta el servidor
web para efectuar
acciones de usuario
administrador
#23 BWAPP MEDIO Inserción de código Permitir conexión de Escenario 23
malicioso php para maquina atacante a
acción de máquina victima para
reverse_shell efectuar instrucciones
de acciones de
usuario administrador
Tabla 3: Cuadro de descripción - diseño de escenarios de pruebas
3.1.4. FASE POST-EXPLOTACIÓN
48
• Acceder a un servicio mediante la ejecución de código reverse_shell para
comprometer el sistema y escalar privilegio
Para el detalle de todo el proceso de la fase en los dos entornos (Ver Anexo 5: Manual Post-
Explotación)
Pero así mismo, la seguridad de las aplicaciones debe ser centrado para asegurar los datos
del usuario y que cualquier usuario tercero o pirata informático no autorizado, robe la
información, se deben emplear medidas de seguridad con la característica de probar los
niveles de seguridad que debe presentar en los procesos para así evitar vulnerabilidades
contra amenazas, tales como la modificación no autorizada de activos, acceso no permitido,
privilegios no accedido, entre otros.
Por lo tanto, las aplicaciones web por la falta de implementación de medidas de seguridad se
pueden presentar débiles a las vulnerabilidades más comunes de acuerdo al estudio de TOP
10 de OWASP como; Control de acceso roto, Fallas criptográficas, Inyección, Diseño
inseguro, Configuración errónea de seguridad, Componentes vulnerables y obsoletos, Fallas
de identificación y autenticación, Software y fallas en la integridad de datos, Fallas de
registro y monitoreo de seguridad, Falsificación de solicitudes del lado del servidor.
49
Vulnerabilidades que son explotadas por hacker, provocando así poner en riesgo la
reputación de un individuo o entidad /organización.
En conclusión, esta guía, tiene como fin concientizar a las entidades y dar recomendaciones
necesarias que se pueden elaborar para mitigar cualquier ataque informático a futuro,
mediante medidas de seguridad informática. Por lo cual, se utilizarán las normas
internacionales ISO 27001 y CIS, normas que cuentan con prácticas de seguridad para
garantizar la seguridad de estas aplicaciones sobre un contexto real.
ITEM ISO -1
A.12.1 Procedimiento operacionales y responsables.
Objetivo: Busca asegurar el correcto funcionamiento de las
operaciones en donde se procesa la información.
DESCRIPCIÓN Control A.10.1.2 Gestión del Cambio.
Observación: Asegurar que se efectué los cambios sobre los sistemas
de procesamiento de información con el fin de conservar y
administrar dichos cambios.
Tabla 4: Control Gestión del Cambio
ITEM ISO -2
A.12.2. Protección contra código maliciosos.
Objetivo: Tiene como fin asegurar la información sobre los sistemas de
procesamiento de información y que estén en capacidad de proteger
DESCRIPCIÓN contra códigos maliciosos.
Control A.12.2.1. Controles contra códigos maliciosos.
Observación: Establecer controles que permitan identificar y prevenir
cualquier ataque informático por código malicioso, ejercer
procedimientos para su recuperación.
Tabla 5: Controles contra códigos maliciosos
ITEM ISO – 3
50
ITEM ISO – 4
ITEM ISO – 5
ITEM ISO – 6
51
ITEM ISO – 7
ITEM ISO – 8
ITEM ISO – 9
52
ITEM ISO – 10
DESCRIPCIÓN A.9.4. Control de acceso a sistemas y aplicaciones
Objetivo: Ejercer el método de evitar el acceso a sistemas no
autorizados y aplicaciones
Control A.9.4.3. Sistema de gestión de contraseñas
Observación: Establecer un sistema de gestión de contraseña para
generar interactividad y así también asegurar la cálida de las
contraseñas
ITEM CIS -1
4. Configuración segura de hardware y software en dispositivos
móviles, computadoras portátiles, estaciones de trabajo y servidores
Objetivo: Se Centra en generar un control sobre uso de privilegios
administrativos
Control 4.4. Utilizar contraseñas únicas
DESCRIPCIÓN Observación: Corresponde en usar contraseñas únicas, cuando no es
soportada la autenticación multifactor, ya sea el root, el local,
administrador u otro servicio que mantiene una cuenta. Todas estas
cuentas deben usar contraseñas únicas del sistema.
ITEM CIS – 2
1. Inventario y control de activos de hardware
Objetivo: Tiene un enfoque de administrar activamente aquellos
dispositivos que tienen acceso o no sobre el sistema.
Control 1.4: Mantener un inventario de activos detallado
DESCRIPCIÓN Observación: Comprende en mantener un inventario veraz y
actualizado sobre todos los activos tecnológicos capaces de almacenar
o procesar la información. Por lo tanto, el inventario debe tener todos
los activos de hardware, que estén o no conectados a la red de la
organización
53
ITEM CIS- 3
20. Pruebas de penetración y ejercicios del equipo rojo.
Objetivo: Se centra en probar la solidez de los mecanismos de defensa
de una entidad/organización.
Control 20.7: Asegúrate de que los resultados de las pruebas de
DESCRIPCIÓN penetración se documenten utilizando estándares abiertos legibles
por máquina.
Observación: Comprende en la utilización de herramientas que
realicen el escaneo de vulnerabilidades y a su vez pruebas de
penetración, para conseguir que tan preparado se encuentra el sistema
para identificar brechas y mostrar como un atacante puede penetrar.
Tabla 16: Control Asegúrate de que los resultados de las pruebas de penetración se
documenten utilizando estándares abiertos legibles por máquina.
ITEM CIS – 4
4. Configuración segura de hardware y software en dispositivos
móviles, computadoras portátiles, estaciones de trabajo y servidores
Objetivo: Centrar en generar un control sobre uso de privilegios
administrativos
DESCRIPCIÓN Control 4.3: Garantizar el uso de cuentas administrativas dedicadas
Observación: Comprende en enfocar el privilegio reducido
administrativo y restringido solo a usuarios que desempeñan procesos
laborales, con la finalidad de administrar las tareas diarias de manera
independiente a su función laboral.
ITEM CIS – 5
18. Seguridad del software de aplicación
Objetivo: Estudia la gestión del ciclo de vida de la seguridad de todo
el desarrollo de software, y así ejercer ataque para conocer su nivel de
seguridad
DESCRIPCIÓN Control 18.1: Establecer prácticas de codificación seguras.
Observación: Ejercer prácticas de codificación segura para que el
sistema no se sienta comprometido y que no cuente con brecha de
seguridad baja, para así evitar explotación de vulnerabilidades por
errores de codificación, errores lógicos, entre otros.
Tabla 18: Control Establecer prácticas de codificación seguras
54
ITEM CIS – 6
18. Seguridad del software de aplicación
Objetivo: Estudia la gestión del ciclo de vida de la seguridad de todo
el desarrollo de software, y así ejercer ataque para conocer su nivel de
seguridad
Control 18.2: Asegúrate de que se realiza una verificación de
DESCRIPCIÓN errores explícita para todo el software desarrollado internamente.
Observación: Comprende en enfocar el privilegio reducido
administrativo y restringido solo a usuarios que desempeñan procesos
laborales, con la finalidad de administrar las tareas diarias de manera
independiente a su función laboral.
Tabla 19: Control Asegúrate de que se realiza una verificación de errores explicita para
todo el software desarrollado internamente
ITEM CIS – 7
ITEM CIS - 8
14. Acceso controlado basado en la necesidad de saber
Objetivo: Genera el control sobre los activos, aquellos que cumplen
procesos para prevenir y corregir aquellos activos críticos
Control 14.9: Aplicar el registro de detalles para el acceso o los
DESCRIPCIÓN cambios a datos confidenciales
Observación: La clasificación de datos confidenciales es un punto
necesario para la protección de activos y que la elaboración de informes
presencie las políticas para un buen cumplimiento
Tabla 21: Control Aplicar el registro de detalles para el acceso a cambios a datos
confidenciales
55
3.2.3. PRÁCTICAS DE SEGURIDAD
PRÁCTICAS DESCRIPCIÓN
Es de mucha importancia que las contraseñas que tienen relación al sistema central, cuenten
con credenciales muy superficiales y concisa para que contengan información muy sensible
o critica que de una determinada organización. Es recomendable para tener contraseñas
seguras, tomar en cuenta los siguientes puntos:
• Implementar contraseñas potentes
CONTRASEÑAS SEGURAS • Cambiar las contraseñas con regularidad
• Guardar las credenciales y contraseñas de forma segura
• Emplear uso de autentificación con clave pública
• Aplicar autentificación de dos factores o más factores
Es muy importante contar con las actualizaciones de las aplicaciones como es el caso de
ACTUALIZACIÓN SOBRE navegadores, aplicaciones ofimáticas.
Hay que ejercer las actualizaciones necesarias sobre los usuarios administradores, debido
PARCHES DE SEGURIDAD
que cuentan con un enorme privilegio sobre los procesos, y por ende es el punto central de
un atacante.
La protección de los campos de entrega del usuario debe de realizar el resguardo necesario
y que las brechas sean explotadas. Para la seguridad de esta índole tomar en cuenta los
siguientes puntos:
➢ Emplear Token
➢ Ejecutar método de validación de caracteres especiales como uso de preg_match
➢ Parametrizar los procesos
➢ Efectuar la buena lógica de programación
56
➢ Validar la entrada del usuario para no enviar datos no deseados
➢ Almacenar los datos sensibles o confiables de forma segura
➢ Emplear hashes como contraseñar en las credenciales de usuario para limitar el
impacto de fuga de datos
CODIFICACIÓN DE ➢ Parametrizar Consultas
SALIDAS ➢ Usar captchas para validar las peticiones de usuario
➢ Crear limitaciones y reglar en los formularios
➢ Impedir entrada de código anómalo escapando los caracteres
➢ Comprobar la seguridad ante inyección SQL y XSS
➢ Filtrar la entrada del usuario
➢ Disponer de un software espía
➢ Crear procedimiento con el antivirus y dar uso para afrontar ataques.
Es de mucha importancia como la administración de usuario es un punto relevante sobre el
tema de seguridad informática, debido que cuenta con el gran privilegio sobre otros
servicios que se cuentan relacionado al sistema central. Por ello, es recomendable para tener
una seguridad sobre esta sección, tomas en cuenta los siguientes puntos:
➢ Solicitar un administrador de contraseñas
➢ Restringir el acceso a repositorios y equipos
ADMINISTRACIÓN DE ➢ Limitar el número de agentes con acceso de administrador
USUARIO ➢ Autentificar usuarios de manera remota con un inicio de sesión único
➢ Aumentar la seguridad de la contraseña para los agentes
El cifrado de datos proporciona un alto nivel de seguridad sobre los datos, para que
no sean comprometidos (alterados, modificador, eliminados). Es recomendable para
la seguridad de protección de datos, tomar en cuenta los siguientes puntos:
➢ Dar gestión segura de clave
➢ Emplear hashes
ENCRIPTAR DATOS
➢ Utilizar generadores de números aleatorios
➢ Emplear algoritmos recomendado para encriptar
➢ Garantizar la protección de datos del usuario de la aplicación
57
CONCLUSIONES
58
RECOMENDACIONES
59
BIBLIOGRAFÍAS
[1] Sofia López. G., «El papel del ingeniero de sistema en colombia en la
transformacion hacia una racionalidad democratica segun la teoria critica de la
tecnología,» Medellín, 2017.
[4] Diana López A., «Diana María López Álvarez,» INNOVA Research Journal,
Guayaquil, 2020.
[6] Ing. Ruth Vega C., «Guía metodológica para implementar la seguridad durante el
desarrollo de aplicaciones informáticas,» La Habana, 2011.
[7] Martha Romero C., Grace Figueroa M., José Álava C., Galo Parrales A., Christian
Álava M., Ángel Murillo Q., Miriam Castillo M., Introduccion a la seguridad
informática y el análisis de vulnerabilidades, Area de innovacion y desarrollo S.L,
2018.
[8] Quality Access, «¿Qué es la seguridad de las aplicaciones?,» 2 Febrero 2021. [En
línea]. Available: [Link]
aplicaciones/.. [Último acceso: 20 Noviembre 2022].
60
línea]. Available: [Link]
informatica/. [Último acceso: 05 Febrero 2023].
[12] Aguilera López, Seguridad Informática, España - Madrid: Editex, S.A., 2010.
[14] Adrian Wiesman, Andrew van der Stock, Mark Curphey, Ray Stribei, Guía para
construir aplicaciones y servicios web seguros - 2ª Edición, Black Hat, 2005.
[16] Juan Joseé Gutiérrez C., UF1271: Instalación y configuración del software de
servidor web edición 5.0, España: ELEARNING S.L., 2005.
[18] IBM, «IBM - Cliente y servidor,» 03 Marzo 2021. [En línea]. Available:
[Link] [Último acceso:
05 Febrero 2023].
[20] Enrique Gómez J., Desarrollo de Sotfware con NetBeans 7.1 - !Progrme para
escritorio, web y dispositivos móviles!, México: Alfaomega Grupo Editor, S.A. de
C.V México, 2012.
[21] José Manuel Ortega C., Ciberseguridad - Manual Prático - Primera Edición,
España: Paraninfo, S.A, 2021.
[22] Luis Alberto Iquira V., «Seguridad Informática, Ethical Hacking, nueva edición,»
ENI, 2016.
61
+Seguridad+de+aplicaciones+web+vulnerabilidades+en+los+controles+de+acceso.
pdf;jsessionid=8F904076D591AFBCFC689D7AF53F5169?sequence=1, 2014.
[24] OWASP, «Who is the OWASP® Foundation?,» 2023. [En línea]. Available:
[Link] [Último acceso: 12 Febrero 2023].
[26] Nica Latto, «¿Qué son la cookies de Internet?,» 05 Noviembre 2021. [En línea].
Available: [Link] [Último
acceso: 05 Febrero 2023].
[28] José Luis Torres R., La biblia del E-COMMERCE - Los secretos de la venta
online, Barcelona - España: Redbook ediciones, S.L, 2020.
[29] Santiago Medina S., Windows 10 Mobile, Madrid - España: RA-MA, 2015.
[31] Eva María Hernández R., Luis Carlos Hernández B., Manuel del Comercio
Electrónico, Martorell - España: Marge Books, 2018.
[34] Josep Albors, «Qué es un exploit: la llave para aprovechar una vulnerabilidad,» 22
Diciembre 2022. [En línea]. Available: [Link]
es/2022/12/22/exploits-que-son-como-funcionan/. [Último acceso: 05 Febrero
2023].
[35] Nica Latto, «Exploits: todo lo que debe saber,» 13 Septiembre 2020. [En línea].
Available: [Link]
exploits#:~:text=Como%20ya%20se%20ha%20mencionado,llegar%20a%20la%20
ventana%20abierta.. [Último acceso: 05 Febrero 2023].
[36] Oliver Buxton, «Explotación de día cero: todo lo que necesita saber sobre la
vulnerabilidad de día cero,» 18 Diciembre 2021. [En línea]. Available:
[Link]
62
attack#:~:text=Zero%2Dday%20attacks%2C%20also%20called,malware%20or%2
0commit%20data%20breaches.. [Último acceso: 05 Febrero 2023].
[41] CIS, «CIS Controls : CIS Controls Spanish Translation V7,» 2015. [En línea].
Available:
[Link]
7_Spanish_Translation.pdf. [Último acceso: 12 Febrero 2023].
[42] Vanegas Romero A. Y., «Pentesting, ¿Por qué es importante para las empresas?,»
Universidad Piloto de Colombia, Bogóta, 2019.
[44] Russell Dean Vines, «Network penetration testing: Ehtical hacking tools and
techniques,» Junio 2018. [En línea]. Available:
[Link] [Último acceso: 18 Diciembre
2022].
[45] Wagner Manuel Abad Parrales, Tania Cecibel Cañarte Rodríguez, María Elena
Villamarin Cevallos , Henry Luis Mezones Santana, Ángel Rolando Delgado
Pilozo, Franklin Jhimmy Toala Arias, Juan Alberto Figueroa Suárez , Vicente Fray
Romero Castro, La ciberseguridad práctica aplicada a las redes, servidores y
navegadores web - Volumen 59 de Ingeniería y Tecnología, 3Ciencias, 2019.
63
[47] Domenic Molinaro, «¿Qué es un ataque de fuerza bruta?,» 26 Agosto 2022. [En
línea]. Available: [Link]
attack#topic-1. [Último acceso: 05 Febrero 2023].
[50] Kaspersky, «¿Qué es un ataque de fuerza bruta?,» 2018. [En línea]. Available:
[Link] [Último
acceso: 05 Febrero 2023].
[51] Jesse Liberty, David B. Horvath, Aprendido C++ para linux en 21 días,
Latinoamerica: Pearson Educación, 2000.
[52] Luis Herrero P., Hacking Ético de redes y comunicaicones - Curso Prático, Bogóta:
[Link], 2022.
[53] Gerard Johansen, Lee Allen, Tedi Heriyanto, Shakeel Ali, Kali Linux 2 - Assuring
Security by Penetration Testing - Third Edition, Packt Publishing, 2016.
[56] IMB , «Manejo de los ataques de tipo DDoS (Distributed Denial of Service),» 25
Junio 2019. [En línea]. Available: [Link]
distributed-denial-of-service-ddos-attack-concepts&locale=es. [Último acceso: 05
Febrero 2023].
64
[59] José Manuel Ortega C., Desarrollo Seguro En Ingeniería Del Software, España:
MARCOMBO, S.L., 2020.
[60] Gabriel Gallardo A., Seguridad en Bases de Datos y Aplicaciones Web: 2ª Edición,
IT Campus Academy, 2016.
[61] José Manuel Ortega C., Seguridad en Aplicaciones Web Java, Madrid - España:
RA-MA, 2018.
[62] Domenic Molinario, «¿Qué es la inyección de SQL?,» 17 Mayo 2022. [En línea].
Available: [Link] [Último acceso: 24
Diciembre 2022].
[63] accessquality, «¿Qué es una Inyección SQL?,» 06 Abril 2021. [En línea].
Available: [Link] [Último
acceso: 05 Febrero 2023].
[64] Nasser Segundo Chalabe J., «HACKING WEB (ANÁLISIS DE ATAQUES SQL
Inyección, XSS),» Universidad Nacional Abierta y a Distancia - Especialización en
Seguridad Informática, Cartagena - Colombia, 2019.
[65] Pablo Grau R., «Ataques y vulnerabilidades web,» 2020 - 2021. [En línea].
Available: [Link]
%20Ataques%20y%20vulnerabilidades%[Link]?sequence=1. [Último acceso:
05 Febrero 2023].
[66] Miguel Ángel de Castro S. Julio Gómnez L. , Pedro Guillen N., Hacker: Aprende a
atacar y defenderte - 2da Edición, Madrid: Ra-Ma S.A Editoral, 2014.
[68] Ramon C., Andra N. , Daniel del Castillo, Usando XAMPP con Bootstrap y
WordPress, RamAstur the learning shool, 2019.
[69] Kali, «¿Qué es Kali Linux?,» 2022 Septiembre 09. [En línea]. Available:
[Link] . [Último acceso: 18
Diciembre 2022].
65
[72] Antonio Postigo P., Seguridad Informática, Madrid - España: Paraninfo, SA, 2020.
[79] Adolfo Arreola G., Ciberseguridad: ¿por qué es importante para todos?, Ciudad de
México: siglo xxi editories, 2019.
[80] Ana Hernández S., Jezreel Mejia M., «Guía de ataques, vulnerabilidades, técnicas y
herramientas para aplicaciones web,» Revista electrónica de Computación,
Informática Biomédica y Electrónica, México , 2015.
[81] Juliana Zapata G., «Uso de tecnologías de pruebas de penetración para validación
de seguridad de aplicciones web basado en el top 10 de vulnerabilidades de
OWASP,» Sabaneta, Colombia, 2018.
[82] Roberto Hernandez S., Carlos Fernandez C., Pilar Bapista L., Metodologia de la
investigacion - Estudios Exploratorios, México: McGRAQ-Hill/interamericana
editores S.A De C.V, 2010.
[85] Miguel Hernández B. , Luis Baquero R., «Ciclo de vida de desarrollo ágil de
software seguro,» Fundación Universitaria Los Libertadores, Bógota, 2020.
66
[86] [Link], «¿Qué es la prueba de Estrés?,» [En línea]. Available:
[Link]
testing/#:~:text=La%20prueba%20de%20estr%C3%A9s%20es,del%20sistema%20
en%20condiciones%20extremas.&text=determinar%20c%C3%B3mo%20se%20co
mportar%C3%A1%20su%20sistema%20en%20condiciones%20extremas.. [Último
acceso: 25 Octubre 2022].
[88] KirstenS, «OWASP - Cross Site Scripting (XSS),» [En línea]. Available:
[Link] [Último acceso: 18 Diciembre
2022].
67
ANEXOS
68
Anexo 1. Formato de entrevista realizada al personal experto en seguridad informática
y hacking ético de la UPSE de la Facultad de Sistemas y Telecomunicaciones.
Porque hay que cuidar los activos más importantes que existe que son los datos, una
organización no se puede dar el lujo de que los datos sean expuestos, porque afectaría a la
visión que tiene la gente a la empresa, a la disponibilidad, confiabilidad e integridad de
los datos.
¿Qué es el desarrollo seguro de aplicaciones web?
El desarrollo seguro de aplicaciones web, tiene que ver con un sinnúmero de normas,
normativas o manual de buenas prácticas que deben seguir los desarrolladores para no
dejar vulnerabilidades. Por ejemplo, que los campos en donde se ingresen los datos no
permitan caracteres especiales, que no te permitan letras, que las variables tengan nombres
específicos sobre lo que se está trabajando. Corresponde en un conjunto de prácticas que
permiten el desarrollo seguro o también el uso de Framework que se podría utilizar para
la seguridad informática en aplicaciones web.
¿Qué estándares internacionales sirven para la seguridad en las aplicaciones web?
En aplicaciones la más utilizada podría ser OWASP, la más utilizada. Hay otras como
OSSTMM, PTES. Pero, la más utilizada es OWASP debido que en su plataforma cuenta
con buenas practicas, y un top 10 de vulnerabilidades que existe en aplicaciones al nivel
mundial.
¿Por qué es necesario seguir estándares de seguridad para el desarrollo seguro de
aplicaciones web?
Porque permite establecer un buen margen en la seguridad de aplicaciones web, entender
que marco referenciales son óptimos para reguarda la información más valiosa, y poder
ejercer las buenas prácticas para que el entrono esté preparado y listo para situaciones de
ataques informáticos.
¿Cuál es el objetivo de OWASP para la seguridad en aplicaciones web?
OWASP, es una organización sin fines de lucros surge para dar las buenas practicas, esos
Framework para desarrollar a la comunidad. OWASP lanza una serie de estudios e incluso
herramientas para probar tus aplicaciones y que cualquier persona que sepa de seguridad
pueda aportar incluso con ellos para dar un acercamiento y ser parte de OWASP.
69
¿Qué laboratorios de simulación son optimismo para el entrenamiento de
ciberseguridad?
Por lo general cuando se trabaja con el tema de seguridad informática, uno monta sus
propios laboratorios, como es el caso de montar servidores con Kali Linux, herramienta
correspondiente de ciberseguridad, en donde se montaría servidores web, servidores de
base de datos, entre otros. Con respecto a aplicaciones web, montar un entorno de
simulación de una aplicación en producción, pero usando una copia, para así ejercer las
pruebas de seguridad.
¿Qué acciones recomienda para tener seguridad adecuada en un aplicativo web?
Las acciones son seguir buenas practicas, tener metodología de desarrollo que se incluya
el tema de prueba de seguridad, por lo general las metodologías de desarrollo viene de los
requerimientos hasta lo que es prueba, pero no hay una etapa en donde se aplique. La
recomendación seria, utilizar buenas prácticas de programación, hacer uso de Framework
que permita automáticamente manejar el tema de ciberseguridad, hacer todas las fases de
ingeniería de software en cuanto a desarrollo, pero añadir la prueba de seguridad, para así
realizar testeo en un producto antes de mandarlo a producción.
Recomienda realizar pruebas de seguridad, con qué frecuencia?
Por supuesto, con el tema de servidores se deben actualizar los parches de seguridad,
realizar un monitoreo periódico en los servidores, y con las aplicaciones seria los cambios
que se emplea para realizar el testeo de un producto antes de mandarlo a producción.
¿Es importante realizar pruebas de disponibilidad de servicios de los aplicativos
web?
Más que importante es primordial. El tema de disponibilidad no se puede dejar de
funcionar para así ejercer las acciones necesario sobre incidentes de seguridad. La
disponibilidad es un tema muy importante que las organizaciones deben conocer
¿Cuál es la importancia de que los miembros de la organización tengan conocimiento
de la ciberseguridad?
Es sumamente importante, porque, de alguna forma debe existir alguien que cuide la
organización. En toda organización debe existir un oficial de seguridad informática, la
gente de desarrollo debe de conocer las buenas prácticas de programación por seguridad,
la gente que trabaja en servidores, los usuarios deben saber de seguridad informática. En
una institución deben de existir todo el personal capacitado en todas las áreas para manejar
y conocer el tema de seguridad informática.
70
Anexo 2. Formato de entrevista realizada al personal experto en seguridad informática
de la UPSE de la Facultad de Sistemas y Telecomunicaciones.
Se dice que la data es el bien más importante en la empresa, y si no se cuida la data, pues
la empresa podría hasta incluso ir a la quiebra. Se ha detectado que empresas pueden ir a
la quiebra solo por un correo spam, en la que un usuario puede recibirlo y hacer una
infección a toda la red de la empresa y mandar a bajo todo. Por eso es importante.
Dentro de la parte de desarrollo seguro, existen bastantes aristas que se pueden generar, si
se desea desarrollar una aplicación web estás deben estar más relacionado a la
parametrización del código, y la optimización del código. Hay muchos desarrolladores
que crean y dicen, si funciona déjalo ahí, ese déjalo ahí a futuro crear un problema de
vulnerabilidad, porque el hacker va por el lado más sencillo o común de los problemas de
la red, como la injection sql en formulario, o en el login.
Los que están más relacionado en estos temas es OWASP, debido que contiene buenas
prácticas, no es un estándar, es una empresa. Pero, el OWASP tiene mucha data para tener
toda una guía de cómo se puede desarrollar la estandarización. Por otro lado, está la ISO
27000, que es muy grande pero el factor en las empresas no lo aplican debido que existe
un costo de por medio, como lo es su implementación.
71
objetivo es conocer ese dinamismo, ese cambio y el OWASP busca estar al margen de las
nuevas incorporaciones tecnológicas y ejercer buenos aportes a la seguridad informática.
¿Qué laboratorios de simulación son optimismo para el entrenamiento de
ciberseguridad?
En el tema de laboratorios, existen los laboratorios de cisco debido que la facultad cuenta
con la disposición de estos entornos. Hay un sinnúmero de laboratorios que se pueden
hacer pestenting, para hacer hacking y otros procesos de seguridad
¿Qué acciones recomienda para tener seguridad adecuada en un aplicativo web?
Hoy en día, es crear aplicaciones con referente a inteligencia artificial y que las
detecciones sean automáticas. El desarrollador que se comprometa a realizar las
estructuras a conocer, como las librerías para construir y detectar paginas anómalas, spam,
entre otros.
Recomienda realizar pruebas de seguridad, con qué frecuencia?
Sí, más que pruebas de seguridad se debe contar con un kit de herramientas en la que
ayuden hacer procesos de monitoreo frecuente. A nivel de ecuador se buscan todólogo,
entonces las herramientas que se manejan deben ser dinámica y automática, y acorde a los
resultados actuar.
¿Es importante realizar pruebas de disponibilidad de servicios de los aplicativos
web?
Es necesario, y se halla en las buenas prácticas que te proporciona ITIL en este tipo de
situación para mantener el servicio disponible y tener un proceso. En donde te diga, cuál
es tu modo de respuesta si se cae algo, si hay un ataque o un problema de infraestructura
y saber cuál es el tiempo en recuperarte. Eso es importante, y lo que se debe implementar.
¿Cuál es la importancia de que los miembros de la organización tengan conocimiento
de la ciberseguridad?
Es importante, debido que el ser humano es el eslabón más débil y por ser el eslabón más
débil. Pues emergen la debilidad de los procesos de vulnerabilidad y siendo el punto de
partida de los incidentes. Poder extraer información de persona a persona, como la
información de contraseña, accesos de herramienta, en donde se puede conseguir
información sensible, o que en máquina se encuentra. Como es el caso de la incorporación
de la ingeniería social para la recuperación de datos esenciales.
72
ANEXOS 3: MANUAL DE
INSTALACIÓN
73
ENTORNO WEB BWAPP
1. A través del siguiente enlace “[Link] se realiza
la descarga del entorno bee-box que tiene por defecto la aplicación BWAPP. Se da
en la opción “here” para comenzar el proceso de descarga.
2. Tras haber dado clic en “here” en el sitio, la dirección abre otra ventana de navegación
direccionando a SourceForge para poder descargar el archivo “bee-box_v1.6.7z” de
1.2 GB.
74
3. Una vez finalizado la descarga se comienza a descomprimir el archivo para obtener
los archivos presentado a continuación, pero de mismo modo el archivo
correspondiente de uso para la instalación será el disco virtual (vmdk) para el
laboratorio.
4. Se crea la máquina virtual bee-box con el sistema operativo Linux versión Red Hat
64 bits.
75
5. Se le asigna una RAM de 1 GB a la maquina
76
7. Dar en siguiente tras haber seleccionado el disco duro virtual
77
9. Máquina creada correctamente
10. Una vez realizado el click en run, comienza a mostrar pantalla la máquina virtual
78
11. Máquina iniciada correctamente.
79
13. En el navegador de la máquina tras realizar clic por defecto direcciona el entorno
web, se rellena el formulario login con las credenciales y dar clic en inicio de sesión
80
ENTORNO WEB DVWA EN KALI LINUX
81
17. Ir a la dirección “cd /var/www/hmtl/ correspondiente al servidor apache para realizar
la clonación del entorno.
Imagen 17: Directorio del servidor web apache - fuente de fondo de pantalla:
[Link]
82
19. Con el comando mv, se realiza el cambio del nombre del entorno por dvwa.
Imagen 19: Cambiar el nombre del DVWA a dvwa - fuente de fondo de pantalla:
[Link]
20. Se realiza a dar permiso de lectura, escritura y ejecución al entorno web con el
comando “chmod –R 777 dvwa”.
Imagen 20: Dar permiso de lectura, escritura y de ejecución al entrono web - fuente de fondo de
pantalla: [Link]
83
21. Entorno web incorporado al servidor web apache.
Imagen 21: dvwa insertado en el servidor web apache - fuente de fondo de pantalla:
[Link]
84
23. Con el comando “nano [Link]” se procede a ingresar el archivo de
configuración para cambiar el usuario y contraseña del entorno que viene por defecto
“db_user= dvwa”,”db_password= p@ssw0rd”, y es reemplazado por “user” y “pass”
Imagen 23: Cambiar las credenciales de user y password para la conexión a la base de datos -
fuente de fondo de pantalla: [Link]
85
25. Se realizar alzar el servicio de mysql, para asi ingresar al motor de base de datos con
el comando “mysql –u root – p” para crear el usuario establecido en el archivo de
configuración del entrono
Imagen 25: Iniciar sesión motor base de datos - fuente de fondo de pantalla:
[Link]
26. Se crea el usuario y contraseña en el motor de base de datos con el comando “create
user ‘user’@’[Link]’ identified by ‘pass’;”
86
27. Tras crear el usuario se realiza a dar todo el privilegio del usuario a la base de datos
del entorno, con el comando “grant all privileges on dvwa.* to ‘user’@’[Link]’
identified by ‘pass’; se realiza la asignación.
Imagen 27: Privilegios al usuario creado para la base de datos dvwa - fuente de fondo de
pantalla: [Link]
87
29. Ir a la dirección “cd etc/php/8.1/apache2” para configurar el archivo [Link]
Imagen 29: Configurar el archivo [Link] del php_v8.1 - fuente de fondo de pantalla:
[Link]
30. Con el comando “nano [Link]” se realiza abrir el archivo para realizar cambios en el
allow_url.
88
31. Se cambia de off a on la opción allow_url_fopen y allow_url_include, y se realizar a
guardar el cambio.
89
33. Colocar la dirección de la maquina virtrual con el nombre de la carpeta del entorno
“[Link]/dvwa”
90
35. Una vez fianlizado la creación de la base de datos, se redirecciona al login del entorno
para realizar el ingreso de las credenciales del sitio “admin” como username y
“password” en password.
91
ANEXO 4:
EXPLOTACIÓN
92
ESCENARIOS M.V DVWA
ESCENARIOS DE PRUEBAS
PRUEBA DE INJECTION SQL
93
3. En la parte superior se encuentra dos opciones “View Help” y “View Source”, dar
clic en View Source
94
5. Una vez identificado como funciona el código, se realiza la búsqueda de información
de como insertar la injection en base al siguiente link “[Link]
security/sql-injection” encontrando diversas opciones de consulta e información del
ataque.
6. Se inserta una inyección sql básica para recuperar información “1’ or ‘1’=’1, en donde
sin conocer la información de los usuarios la sentencia procede a tener clausulas si es
False o True en donde la orden ‘or ‘1’=’ provoca que las cláusulas de información
sean verdaderas.
95
7. A dar enviar se recupera información de los 5 usuarios como el first name, surname.
96
Escenario #2: Inserción de código SQL en Formulario Web – Cuadro de selección
individual
Objetivo: Robar las contraseñas de los 5 usuarios que existen en la base de datos
Complejidad: Medio
Tiempo: 30 minutos
9. En el mismo apartado de “DVWA Security se realiza el cambio de seguridad a nivel
medio
97
11. Dar clic en view soruce para observar el código con el nivel de seguridad media
12. Al observar el código se identifica como el id es enviado como petición POST en vez
de solicitud, y así mismo es ajustada al método mysql_real_escape_string para crear
una cadena SQL legal para ser usada en la sentencia SQL para recuperar la
información de la consulta mediante user_id es igual a id.
98
13. Abrir la herramienta Burp Suite para capturar las peticiones que se realiza al enviar
la información del formulario. Se da clic en la opción proxy para así abrir el
navegador de la herramienta pre configurada para la captura.
14. Se coloca la dirección del entorno y activamos la opción de intercept off a On para
interceptar las peticiones al enviar el POST id en el cuadro de selección individual, y
se observa la petición realizada en la venta intercepción el ID.
99
15. Al tener en cuenta dicho punto, se realiza la inspección del elemento y ver los valores
del cuadro de selección individual.
16. Se realiza el cambio del valor del cuadro de selección individual de la opción uno con
la siguiente consulta en el value “1 or 1=1 UNION SELECT user, password FROM
users# y en la descripción de la opción “UNION SELECT user, password FROM
users#” y damos submit.
100
17. Se envía la consulta y como resultado se recupera la información de la
correspondiente de los usuarios incluyendo a la contraseña de codificado.
101
19. Se selecciona en el panel la opción de SQL INJECTION y al dar clic se observa
como existe un vínculo para acceder a una nueva ventana en donde se encuentra el
formulario web
20. Dar clic en la parte inferior de la página la opción “View Source” para revisar el
código fuente con el nivel de seguridad alta. Se observa el código respetivamente y
al mirar se identifica como el id es enviado como petición de variable de sesión que
ejercer una solicitud directa, sin embargo, la recuperación de información es idéntica
como el nivel de seguridad bajo permitiendo inyectar.
102
21. Al dar clic del vínculo que posiciona el formulario.
22. Se inserta la consulta “ 1 ’UNION SELECT user, password FROM users#” y enviar
la solicitud se recupera la información de los usuarios con las contraseñas.
103
Escenario#4: Inserción de código SQL en Formulario web – Variable de sesión
utilizando otra página
Objetivo: Robar las contraseñas de los 5 usuarios que existen en la base de datos
Complejidad: Imposible
23. En el mismo apartado de “DVWA Security se realiza el cambio de seguridad a nivel
imposible
104
24. Al dar clic en la opción “View Source” para revisar el código, se identifica como
existe un check de verificación por Token como solicitud de inicio de sesión de
usuario, para luego validar si el ingreso de la id es valor numérico, para verificar el
tipo de atributo en la base de datos. Por ende, la ejecución del ataque no se realiza
con éxito.
105
24. En el panel se selecciona la opción XSS (DOM)
25. Se dar clic en “View Source” para revisar el código fuente del nivel bajo, y solo se
halla un comentario.
106
26. Se realiza la selección de un idioma y al dar enviar se crea una opción en el cuadro
de selección individual, por ende, se procede a inspeccionar el elemento.
27. Se observa como el valor creado se muestra desahibilidado permitiendo así modificar
el envió del valor a “<script>alert()</script>
107
28. Se inserta en la función alert (“[Link]”) y como descripción el nombre del
script para realizar envió de petición
108
Escenario#6: Inyectar Script malicioso en Formulario Web – Cuadro de selección
individual
Objetivo: Robar Cookie mediante script malicioso
Complejidad: Medio
Tiempo: 7 minutos
30. Dar clic en la opción “DVWA Secutiy” para cambiar el nivel de seguridad a medio
109
32. Dar clic en la opción “View Source” para revisar el código fuente. Al observar, se
identifica existe un condicional if para verificar si existe un valor de entrada sobre el
arreglo de idioma existente para luego crear otro condicional if para no permitir
etiquetas de secuencia de script.
Imagen 72: Inspección de elemento para conocer como envía las respuesta contra Script
110
34. Para la ejecución de la prueba, se selecciona el idioma por default que es English para
inserta el script mediante un select de carga en el cuerpo como alerta por el siguiente
comando “<select><body onload=alert([Link]);>, dar enviar y se observa
con éxito el script.
111
36. Dar clic en el panel de opción “XSS(DOM)”
37. Dar clic la opción “View Source” para revisar el código fuente. El código cuenta con
un condicional if para ver si existe valores de entrada del arreglo de idiomas por
defectos, y una vez realizado la acción permite clasificar por caso y por defecto
presenta el idioma English
112
38. Una vez entenido lo que realiza el código, se toma como default English para ejercer
el comentario correspondiente del script por la location asignada, se inserta el
comando “English#<script>alert([Link]);</script> dando con éxito la
prueba.
113
40. Dar clic en la opción “XSS (DOM)”
41. Dar clic en la opción “View Source” para revisar el código, y se observa que es una
seguridad idéntica al nivel de seguridad bajo.
114
42. Al insertar el script se observa como la seguridad sobre el script malicioso es
protegido mediante una codificación de caracteres especiales haciendo una seguridad
contra este tipo de ataque.
BRUCE FORCE
Escenario #9: Ataque de fuerza bruta en Formula Login Web mediante HYDRA
Objetivo: Adivinar o Robar las credenciales de usuario administrador
Complejidad: Bajo
Tiempo:55 minutos
23. Dar clic en el panel de menú en la opción “DVWA Security” para cambiar el nivel
de seguridad bajo
115
24. Luego dar clic en el panel en la opción “BRUCE FORCE” para interactuar en el
formulario web login.
25. Dar clic en la opción “View Source” para revisar el código de seguridad del escenario.
El código fuente muestra las variables existentes correspondiente de inicio de sesión
como lo es el usuario y contraseña para enviar la información, la contraseña es
codificada con el md5 para recuperar la información de la consulta mientras se
establezca la conexión.
116
26. Inspeccionar el elemento del formulario para conocer las peticiones que se envía tras
la realización de prueba borrado con credenciales incorrectos.
117
28. Así mismo se descarga el diccionario de contraseña [Link].
118
30. Para el inicio del ataque se usará la herramienta HYDRA con la opción –L se llama
la lista de diccionario de usuario, con –P el diccionario de contraseña para así luego
inserta la dirección del entorno que ejerce la petición post que es http-post-form del
formulario. Por ende, se finaliza el comando insertando el directorio de la página
login con el complemento de playloads
username=^USER^&password=^PASS^&Login=Login añadiendo el mensaje de
respuesta de ingreso de las credenciales, y se ejecuta el comando.
31. Se logró adivinar y robar las credenciales de usuario, se realiza el ingreso en los
cuadros de texto y de manera exitosa se da conexión.
119
Escenario #10: Ataque de fuerza bruta en Formulario Login Web mediante WFUZZ
Objetivo: Adivinar o robas las credenciales de usuario administrador
Complejidad: Medio
Tiempo: 41 minutos
32. Dar clic en el panel en la opción “DVWA Security” para cambiar el nivel de seguridad
medio.
35. Luego de entender el código, se realiza la inspección del elemento del Login para
identificar en el storage la cookie que es el PHPSESSID y el nivel de seguridad para la
realización del ataque por la herramienta WFUZZ.
123
Escenario #11: Ataque de fuerza bruta en Formulario Login Web mediante carga útil
por BurpSuite
Objetivo: Adivinar y robar las credenciales de usuario administrador
Complejidad: Alto
Tiempo: 1 hora y media
40. Dar clic en el panel la opción “DVWA Security” para cambiar el nivel de seguridad
alto para la prueba.
124
42. Al dar clic en la opción “View Source” para revisar el código del nivel de seguridad,
tras la revisión se identifica como se utiliza un token de solicitud de anti-sitio (CSRF)
para el control aleatorio de sesión.
125
44. Para interceptar la petición del sitio, se utiliza el navegador preconfigurado de la
herramienta para usar la opción proxy intercepción para observar todas las cualidades
del sitio y los payloads de uso.
126
46. Seleccionar la dirección
127
48. Seleccionar el marco creado
128
50. Establecido la regla
129
52. Se realiza el ingreso de credenciales aleatorios para poder interceptar la petición.
53. Se realiza la intercepción de petición del sitio, luego dar clic en la opción HTTPhistory
para seleccionar la dirección del login y realizar el envio al intruder para el analisis de
los payloads
130
54. Se observa las credenciales correspondientes para el ataque, se limpia los payloads
predeterminado y se agrega solo para usuario y contraseña.
55. Una vez seleccionado los paykloads se desarrolla el cambio de ataque por cluster boom,
en donde permite iterar a través de un conjunto de carga útil diferentes por la posición
definida
133
60. Se ingresa las credenciales de usuario al login.
135
64. En el código fuente del nivel imposible se observa como el desarrollador ha agregado
una función de bloqueo donde si hay cinco inicios de sesión incorrectas dentro de los
últimos 15 minutos, el usuario será bloqueado y no podrá iniciar sesión
136
ESCENARIOS M.V BEE-BOX (BWAPP)
PRUEBA CAPTCHA BYPASSING
23. Inicio de sesión a la plataforma de la Máquina Virtual BEE-BOX(BWAPP)
137
25. Dar clic en choose your bug y seleccionar “Broken Auth –Captcha Bypassing”.
26. Utilizar la herramienta Burp Suite e interceptar la petición del entorno para conocer los
payloads involucrados.
138
27. Enviar la captura de la intercepcon a intrude para identiciar los payloads a explotar.
28. Se realiza la selección de Cluster Bomb para la ejecuccion del ataque por un conjunto
de carga útil acorde al payload indelicado como es usuario y contraseña.
139
29. En la options de configuración se selecciona el payload correspondiente para asignar
una lista simple de valores para la ejecución del ataque.
30. Así mismo se selecciona el payload correspondiente para la contraseña y se lñe asigna
una lista simple de valores para la ejecución del ataque.
140
31. En options se realiza una configuración accesible para tener un resultado accesible,
dando activación del grap mach en donde se inserta el mensaje de error cuando las
credenciales son incorrectas.
32. Al terminar la confirmación se realiza el ataque dando clic en el botón “Start Attack”.
141
33. Comienza la búsqueda de las credenciales correspondiente de inicio de sesión
142
Escenario #14: Falla de autentificación – Formulario Login Web con Omisión de
Captcha mediante WFUZZ
Objetivo: Adivinar y robas las credenciales del administrador, y dar aceeso
Complejidad: Medio
Tiempo: 39 minutos
35. Se realiza el cambio de seguridad en Set Security Level a medio
143
37. Capturar la información de la petición realizada en el formulario Login mediante la
herramienta Burp Suite.
38. Inspeccionar el elemento del formulario Login para hallar las peticiones POST Y GET
de solicitud, y así mismo identificar los payloads involucrados. Está información se
encuentra en network en New Request
40. Una vez teniendo la información requerirle de los payloads involucrado, la cookie y la
seguridad que cuenta el Formulario, se realiza la ejecución del ataque mediante la
herramienta WFUZZ.
145
41. Resultado exitoso de ingreso de credenciales halladas.
146
43. Se selecciona el bug de prueba “Broken Auth – CAPTCHA Bypassing”
44. Con la herramienta Burp Suite se realiza la intercepción de las peticiones que desarrolla
el formulario de estudio para identificar los payloads involucrados que permitan el
ataque.
147
45. Una vez que se haya enviado todo el dato de intercepción a intruder, se selecciona la
opción Cluster Bomb para adjuntar el conjunto de carga útil.
148
47. Se da clic en “Start Attack” para la búsqueda de las credenciales exactas.
149
49. Se selecciona el bug de prueba que es “Broken Auth – Insecure Login Forms.
50. Se da clic derecho y se da en ver código fuente, y de manera minuciosa se busca cierta
anomalía y por sorpresa se halla la información de credenciales de la prueba.
150
51. Se ingresa los datos al formulario Login.
151
Escenario #17: Falla de Autenticación – Formulario Login Web Inseguro
Objetivo: Hallar las credenciales del usuario prueba
Complejidad: Media
Tiempo: 18 minutos
53. Se configurar el nivel de seguridad de la prueba a media en la opción “Set Security
Level”
54. Se selecciona el bug de prueba que es “Broken Auth –Insecure Login Forms”
152
55. Ver el código fuente y se observa que existe una función que cifra la palabra secret que
es usada como password.
153
57. Se llena los cuadros de texto del Formulario Login y con éxito da acceso.
154
59. Se selecciona el bug que es “Broke Auth – Insecure Login Forms”
60. Con la herramienta Burp Suite se intercepta la petición del formulario para luego ser
enviado a la herramienta intruder para identificar los payloads que son requerirle para
el ataque.
155
61. Ya seleccionado el payload correspondiente al usuario y la contraseña se configura
mediante la asignación de lista simple para el desarrollo del ataque
62. Dar juico al ataque y con éxito se encuentra las credenciales de usuario.
156
Escenario #19: Saturar el sistema de alojamiento del entorno mediante avalancha de
peticiones
Objetivo: Dejar la aplicación web en estado no funcional
Complejidad: Bajo
Tiempo: 10 minutos
63. Primero se descarga el código de ataque de denegación de servicio
158
67. Se realiza la ejecución del programa para el ataque de denegación de servicio con el
puerto correspondiente.
160
71. Dar clic en WEBDAV y observamos archivos.
72. Se utiliza la herramienta cadáver para cargar archivos y visualizar lo que contenga el
servidor en ese protocolo.
Imagen 174: Usar cadáver para subir archivo- fuente de fondo de pantalla:
[Link]
161
73. Con el siguiente comando, se observa la ayuda para realizar diferentes procesos
74. Con el comando open pegar la dirección en index of / webdav y con un ls recuperamos
la lista de los archivos.
Imagen 176: Comando open para abrir la ruta - fuente de fondo de pantalla:
[Link]
162
75. Se crea un archivo de php con el método system para poder ejecutar comando mediante
el fichero
76. Con el comando put se realiza la carga de archivo, por ende, el comando “put
[Link] [Link]” hace la ejecución de subir el archivo al entorno.
Imagen 178: Subir el fichero malicioso con el comando put - fuente de fondo de pantalla:
[Link]
163
77. Se ejecuta el programa con el comando id, se da como resultado el grupo de usuario y
la id de usuario que da privilegio a los archivos
Imagen 179: Ejecución del comando id para saber el grupo, id, y privilegio del usuario
Imagen 180: Efectuar el comando ls para conocer en lista que archivos existen
164
Escenario #23: Inserción de código malicioso php para acción reverse_shell en el
protocolo WebDav
Objetivo: Realización de Reverse_Shell de máquina atacante a victima para escalar
privilegio
Complejidad: Alto
Tiempo: 26 minutos
79. Descargar el archivo php – [Link]
165
Imagen 182: Guardar el script en la dirección KALI
81. Mediante cadáver abrir la ruta de los archivos con el comando open
166
83. Con el comando put efecutar subir el archivo
84. Tras ejecutar el script y escuchar en la maquina con el comando netcat –lvnp 4242 se
da la comunicación. Escalar privilegio en el servidor para instruir y robar datos
168
MAQUINA VIRTUAL BWAPP
Enumeración de puertos mediante la herramienta Nmap para conocer los servicios y
versiones que soporta el sistema.
1. Se realiza escaneo de puertos como técnica de recopilación información útil para
identificar vulnerabilidades o puntos de entradas débiles del sistema informático, se
puede conocer, puertos abiertos, archivos, servicios y versiones que utilizan, entre
otros.
Imagen 187: Escaneo de la red mediante la herramienta Nmap –BWAPP - fuente de fondo de
pantalla: [Link]
magen 188: Obtener credenciales por Ataque de fuerza bruta – BWAPP - fuente de fondo de
pantalla: [Link]
169
Injection SQL mediante la herramienta SQLMAP para conocer, la base de datos del
entorno, usuarios, tablas, entre otros,
3. En la prueba de inyección sql se usó la herramienta sqlmap, para obtener información
como el nombre de la base de datos del sistema al que estamos atacando, se utilizó el
siguiente comando: sqlmap –u [Link] –
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e; security_level=0” –
dbs.
4. Tras conocer las bases de datos que cuenta el sistema, usamos el siguiente comando
para obtener las tablas de la database:
Sqlmap –u [Link] --
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e;
security_level=0” –D bWAPP --tables
170
5. Ahora se realiza la búsqueda de la tabla users con el siguiente comando:
Sqlmap –u [Link] --
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e;
security_level=0” –D bWAPP –T users --columns
- Se obtuvo información de las columnas de dicha tabla, así mismo el tipo de dato de
cada parámetro.
6. Para obtener los datos de autenticación: id, login, password se usó el siguiente
comando:
Sqlmap –u [Link] --
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e;
security_level=0” –D bWAPP –T users –C “id, login, password” --dump
171
- Se obtuvo 3 datos de autenticación
172
8. El entorno muestra debilidad por el protocolo WebDav, en la acción de guardar, editar,
de datos que están siendo compartidos al servidor web. Por ende, se realiza la carga del
código que contiene el reverse_shell configurado
9. La ejecución del código fue exitosa y desde otra terminal se da inicio a la acción
escuchar la comunicación por el puerto correspondiente, obteniendo la sesión reversa.
11. También se encontraron credenciales que realiza login al aplicativo web BWAPP
(Buggy Web Application)
174
MÁQUINA VIRTUAL DVWA
Enumeración de puertos mediante la herramienta Nmap para conocer los servicios y
versiones que soporta el sistema.
12. Puertos encontrados tras el escaneo con la herramienta nmap, información relevante
para atacante
Imagen 202: Escaneo de la red mediante la herramienta Nmap – DVWA - fuente de fondo de
pantalla: [Link]
Injection SQL mediante la herramienta SQLMAP para conocer, la base de datos del
entorno, usuarios, tablas, entre otros,
13. Se realiza la obtención de información sobre las bases de datos que el sitio maneja con
la herramienta sqlmap.
- La ejecución del comando tuvo éxito, obteniendo nombres de las bases de datos
disponibles.
15. Para tener más información, se realiza otra consulta más específica para conocer la
información de la tabla.
Se obtuvo que la tabla consultada, tiene 8 columnas y sus respectivos tipos de datos
176
16. Luego de conocer los atributos, realizamos otra consulta para obtener datos sensibles
de autenticación de la base de datos, se encuentran datos de usuarios, avatar, primer
nombre, segundo nombre, password, con esta información se podría comprometer a
otro servicio
--Copia de datos
-Resultados
177
Acceder a un servicio mediante la ejecución de código reverse_shell para comprometer
el sistema y escalar privilegio
18. Se realiza la descarga del [Link]
21. Una vez seleccionado el archivo y esté alzado al servidor, se realiza la ejecución del
código para que el terminal con el comando nc –v –l –p 4242 escuche la reversa y tenga
una comunicación exitosa.
179
22. Una vez hecho la comunicación se realiza la navegación de los direcotiras hasta
encontrar el archivo [Link] aquel que cuenta con datos de la base de datos, entre
otra información del entorno web.
Imagen 217: Navegar por los directorios hasta hallar el archivo [Link] – DVWA - fuente
de fondo de pantalla: [Link]
23. Tras la exploración se encontraron las credenciales que mantiene conexión hacia la
base de datos, y así misma información de la base de datos.
Imagen 218: Datos sensible en el archivo [Link] – DVWA - fuente de fondo de pantalla:
[Link]
180
ANEXO 6: INFORME
181
ÍNDICE
182
1. PENTESTING PRELIMINAR DE APLICACION WEB
2. DATOS DE LOS ENTORNOS PENTESTING
Entorno: Damn Vulnerable Web Preparado por: Tomalá Laínez Steven
Application, Buggy Web Application Periodo: 2023
Fecha: 20-enero-2023
183
BAJO MEDIO ALTO IMPOSIBLE
El id como El id como entrada cambia de ser El id deja de ser Existe token de
entrada es enviado como solicitud a petición petición y ahora sesión de usuario,
enviado como POST y accedida al método es variable de condicional de tipo
solicitud y la mysql_real_escape_string para que sesión anexada a de valor de entrada
NIVEL consulta no es sea accesible para la creación de un página para el atributo id.
parametriza una cadena SQL legal en la emergente, pero Ataque no exitoso
permitiendo la consulta, Pero de mismo modo se la inyección se
inyección sin usa la inyección desde otro ejecuta
problema alguno enfoque
Tabla 23: Análisis de nivel de seguridad – Formulario web – Ataque injection SQL
Tabla 24: Resultados de los niveles de seguridad – Formulario Web – Ataque Injection SQL
184
BAJO MEDIO ALTO IMPOSIBLE
La inserción de El desarrollador ha El desarrollador El desarrollador ha
script malicioso incorporado una ejerce una lista incorporado
al formulario es coincidencia de blanca de los codificación de script
válido, ya que patrones simple para idiomas permitido, malicioso, y hace que
NIVEL no cuenta con que no se ejecute por ende ejecutar el los caracteres sean
protección, el secuencias de script sin poder al combinando, por ende
ataque es exitoso comandos de servidor, ataque es el ataque no fue exitoso
JavaScript y no usar la exitoso
etiqueta script, pero el
ataque es exitoso
Tabla 25: Análisis de nivel de seguridad – Formulario web – Ataque XSS
Interpretación: Obtención de información de las cookies en los tres niveles de seguridad
con los scripts ejecutados.
COMANDO RESULTADO
BAJO <script>alert([Link]);<script> security=low;
PHPSESSID=5qrfol4it8rp7cmikovbnj3151
Tabla 26: Resultados de los niveles de seguridad – Formulario Web – Ataque Injection SQL
[Link] FORCE
Análisis: La recuperación de las credenciales de usuario sucede a partir de datos almacenado
o trasmitidos por un sistema informático, la obtención de datos de usuarios por fuerza bruta
constituye probar repetidamente las conjeturas de las credenciales hasta descifrar y robar el
dato. La ejecución de esta técnica sobre el formulario web en las diversas situaciones en
donde el desarrollador crea puntos débiles, permite observar meticulosamente que fallas
existen en cada nivel, y como es mejorado mientras se avanza la complejidad.
185
BAJO MEDIO ALTO IMPOSIBLE
El desarrollador se ha El desarrollador ha El desarrollador El desarrollador ha
perdido por implementado una utiliza token de agregado una función
completo cualquier pantalla de inicio solicitud anti sitio de "bloqueo", donde
método de protección, sobre la sesión (CRSF) para si hay cinco inicios
NIVEL permitiendo que fallada, evitar el ataque, de sesión incorrectos
cualquiera intente tantas permitiendo así pero de mismo dentro los últimos 15
veces como lo desee, ralentizar la modo el aleatorio minutos, el usuario
iniciar sesión en cantidad de de sesión bloqueado no puede
cualquier usuario sin solicitudes que constituye como iniciar sesión.
ninguna repercusión. puedan procesarse una extensión de
Ataque exitoso en un minuto. nivel medio,
Ataque exitoso Ataque exitoso
Tabla 27: Análisis de nivel de seguridad – Formulario Web – Ataque Bruce Force
186
BAJO MEDIO ALTO
El desarrollador ha El desarrollador ha El desarrollador ha
incorporado captcha para incorporado captcha para incorporado captcha para
diferenciar entre humanos y diferenciar entre humanos y diferenciar entre humanos y
computadoras, pero el valor computadoras, pero el valor computadoras, pero el valor
del captcha no cambia al del captcha no cambia al del captcha no cambia al
NIVEL
menos que sea recargado o el menos que sea recargado o el menos que sea recargado o
botón sea directo a logan botón sea directo a logan el botón sea directo a logan
187
BAJO MEDIO ALTO
El desarrollador ha El desarrollador ha El desarrollador ha
almacenados las implementado una función incorporable el proceso de
credenciales de usuario en unlock_secrett que permite iniicio de sesión mediante el
el HTML, por ende, la combinar la clave mediante form y las peticiones post y
NIVEL autenticación con los función javascript para luego asignando variables para acá
credenciales ocultos es ser llamada y ejerce atributo
todo un éxito autenticación
<label for=”password”>Password:/label>
<font color=” white”>I am Iron Man</font>
fuction unlock_secret(){}
ALTO ➢ Interceptar el formulario por burp suite Login= bee
➢ Seleccionar los payloads a atacar Password= bug
➢ Insertar un ataque por cluser bomb
➢ Inserta lista simple
➢ Colocar el manejo de error de sesión
➢ Start Attacark
Tabla 32: Resultados de niveles de seguridad – Insecure Login Forms
188
BAJO MEDIO ALTO
El desarrollador no ha El desarrollador no ha El desarrollador no ha
incorporado seguridad para incorporado seguridad para incorporado seguridad para
denegación de servicio, denegación de servicio, denegación de servicio,
NIVEL proporcionado una seguridad proporcionado una seguridad proporcionado una seguridad
0 permitiendo ejecutarse la 1 permitiendo ejecutarse la 2 permitiendo ejecutarse la
avalancha de solicitudes al avalancha de solicitudes al avalancha de solicitudes al
aplicativo saturando por aplicativo saturando por aplicativo saturando por
completo la interactividad completo la interactividad completo la interactividad
Tabla 33: Análisis de niveles de seguridad – Denial of service (slow http dos)
Tabla 34: Resultados de los niveles de seguridad – Denial of Service (slow http dos)
BAJO MEDIO
El desarrollador ha incorporado El desarrollador ha incorporado configuración
configuración incorrecta al protocolo incorrecta al protocolo WebDav un protocolo similar
WebDav un protocolo similar al FTP al FTP para almacenar y editar archivos, la seguridad
NIVEL para almacenar y editar archivos, la es pobre permitiendo subir archivos desde cualquier
seguridad es pobre permitiendo subir punto sin sesión administrador, insertando código
archivos desde cualquier punto sin malicioso para ejecutar reverse_shell y elevar
sesión administrador, insertando privilegio de console y realizar acciones de
fichero malicioso administrador.
Tabla 35: Análisis de los niveles de seguridad – Insecure WebDav configuration
189
EJECUCIÓN RESULTADO
BAJO ➢ Crear fichero malicioso ➢ Crear archivo
➢ Subir el fichero por cadáver ➢ Mostrar contenido de archivos
➢ Y ejecutar comandos para eliminar ➢ Eliminar
archivos
MEDIO ➢ Buscar código malicioso reverse_shell ➢ Eliminar archivos
➢ Subir el código por cadáver ➢ Encontrar el archivo
➢ Ejecutar el archivo para realizar el [Link]
reverse_shell
➢ Tomar control del servidor y buscar
archivos o eliminar
Tabla 36: Resultados de los niveles de seguridad – Insecure WebDav configuration
190
Análisis: El escaneo de puertos realizado al sistema objeto dio como resultado el hallazgo
sobre los servicios que está ofreciendo el entorno web. Por lo tanto, el escaneo sirve para
conocer los estados de los puertos, detectar y explotar aquellos servicios vulnerables.
191
5901/tcp OPEN VNC -1
6001/tcp OPEN X11 :1
8080/tcp OPEN HTTP-PROXY
8443/tcp OPEN HTTPS-ALT
9080/tcp OPEN GLRPC
Tabla 40: Resultados de escañero de la dirección ip en la herramienta Nmap - BWAPP
Análisis: El escaneo de puertos realizado al sistema objeto dio como resultado el hallazgo
sobre los servicios que está ofreciendo el entorno web. Por lo tanto, el escaneo sirve para
conocer los estados de los puertos, detectar y explotar aquellos servicios vulnerables. Tanto
el puerto 21,22,80,3306 cuentan con punto débil para ejecutar metasexplotable posible.
Análisis: El escaneo de puerto realizado al sistema objeto dio como resultado el hallazgo
sobre los servicios que está ofreciendo el entorno web. Por lo tanto, el escaneo sirve para
conocer los estados de los puertos, detectar y explotar aquellos servicios vulnerables. Tanto
el puerto 21,22,25,80,139,445,3306 cuentan con punto débil para ejecutar metasexplotable
posible.
192
PUERTO NOMBRE EXPLOIT
21 FTP auxiliary/scanner/ftp/ftp_login
22 SSH auxiliary/scanner/ssh/ssh_login
25 SMTP auxirialy/scanner/smtp/smtp_login
BWAPP
80 HTTP auxiliary/scanner/http/http_version
139 NETBIOS-SSN auxiliary/scanner/smb/smb_version
445 MICROSOFT –DS exploit/multi/usermap_script
3306 MYSQL auxiliary/scanner/mysql/mysql_login
Tabla 43: Análisis de puertos – Explotis - BWAPP
Análisis: Para la recuperación relevante de la base de datos del sistema objeto, se vio
influenciado al método de uso para recopilar la mayor información posible. Otra forma de
conocer datos con más detalle de la base de datos, es la inyección SQL mediante la
herramienta SQLMAP, permite conocer la database, entidades, atributos, copia de resguardo
de datos de una tabla especifico mediante comandos de ayuda con información recolectada
193
para el ataque. Hallazgo de la cookie, data de usuario, entre otros, evadiendo el mecanismo
de seguridad nivel bajo
COMANDOS RESULTADOS
sqlmap –u ➢ dvwa
“[Link] ➢ Information_schema
–cookie =”PHPSESSID=0n2ph3tvsafhtn9nub2l07dqq2; security=low”
–dbs
sqlmap –u ➢ guestbook
“[Link] ➢ users
–cookie =”PHPSESSID=0n2ph3tvsafhtn9nub2l07dqq2; security=low”
–D dvwa –tables
➢ user
➢ avatar
sqlmap –u ➢ failed_login
“[Link] ➢ first_name
–cookie =”PHPSESSID=0n2ph3tvsafhtn9nub2l07dqq2; security=low” ➢ last_logi
–D dvwa –T users –columns ➢ last_name
➢ password
➢ user_id
194
ENTORNO BWAPP
Análisis: Para la recuperación relevante de la base de datos del sistema objeto, se vio
influenciado al método de uso para recopilar la mayor información posible. Otra forma de
conocer datos con más detalle de la base de datos, es la inyección SQL mediante la
herramienta SQLMAP, permite conocer la database, entidades, atributos, copia de resguardo
de datos de una tabla especifico mediante comandos de ayuda con información recolectada
para el ataque. Hallazgo de la cookie, data de usuario, entre otros, evadiendo el mecanismo
de seguridad nivel bajo
COMANDOS RESULTADOS
➢ bWAPP
sqlmap –u [Link] – ➢ drupageddon
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e; ➢ Information_schema
security_level=0” –dbs. ➢ mysql
➢
➢ blog
➢ héroes
Sqlmap –u [Link] -- ➢ movies
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e; ➢ users
security_level=0” –D bWAPP --tables ➢ visitors
➢ activated
➢ activation_code
Sqlmap –u [Link] -- ➢ admin
cookie=”PHPSESSID=a809c3870fb993482ec74c5ab585649e; ➢ email
security_level=0” –D bWAPP –T users --columns ➢ id
➢ login
➢ password
➢ resert_code
➢ secre
Tabla 47: Análisis de comandos SQLMAP - BWAPP
195
id login Password
1 A.I.M Bug
2 Bee Bug
3 ZAP ZAP
Tabla 48: Resultados de hallazgos con la herramienta SQLMAP - BWAPP
ENTORNO BWAPP
Análisis: La escala de privilegio a un sistema representa como resultado proporcionar los
permisos de autorización al atacante sobrepasando lo concebido inicialmente. Uno primer
análisis es conocer los puertos en estado open y saber qué tipo de vulnerabilidad explotar de
acuerdo a su versión, de ahí ejercer una técnica de inserción, ejecutar y acceder. El
debilitamiento del puerto WebDav que ejercer la tarea de almacenar, editar, mover archivos
compartidos al servidor web, es punto clave para dar inserción de código malicioso php y
ejercer reverse_shell
RESULTADO
Archivo [Link]
➢ db_server = [Link] ➢ db_password=pass
➢ db_database= dvwa ➢ db_port=3306
➢ db_user=user
ENTORNO DVWA
Análisis: La escala de privilegio a un sistema representa como resultado proporcionar los
permisos de autorización al atacante sobrepasando lo concebido inicialmente. Uno primer
análisis es conocer los puertos en estado open y saber qué tipo de vulnerabilidad explotar de
acuerdo a su versión, de ahí ejercer una técnica de inserción, ejecutar y acceder. La inserción
196
en el apartado File Upload muestra como debilidad la falta de validación de los tipos de
formatos anexados al servidor, por ende, la incorporación de inserción malicioso como
imagen, código, es suscitado sin problema alguno, para así compromete el sistema. Se realiza
el reverse_shell tras ejecutar el código en el servidor web.
RESULTADO
Archivo [Link]
➢ db_server = localhost ➢ db_password = bug
➢ db_username= root ➢ db_name = Bwapp
Credenciales de administrador
➢ login= bee
➢ password=bug
Data base sqlite
➢ db_sqlite = “db/[Link]
SMTP settings
➢ smtp_sender=bwapp@[Link]
➢ smtp_recipent=bwapp|[Link]
197
INFORMACIÓN REQUERIDA
Interpretación: La ejecución del ataque en los dos entornos vrtaules dio como resultado la
obtención de credenciales potentes e importantes, usarario y password
6. OBSERVACIONES
A continuación, una lista de criterios obtenidos con las pruebas ejecutadas en los diversos
escenarios diseñados de las técnicas de ciberseguridad:
• El resultado del ataque INJECTION SQL, muestra que la inyección por consulta y
por la herramienta SQLMAP tienen efectividad a través de la recolección necesaria
de datos para la inyección en los tres niveles de complejidad, debido a la falta de
seguridad de la conectividad de la base de datos, la solicitud de ingreso de parámetros
198
y la seguridad de la cookie. Permitiendo así ejercer el robo de las credenciales de
usuarios, saber las tablas, columnas, entre otro dato importante.
• Entre los resultados del ataque de fuerza bruta, se muestra mucha la efectividad en
los tres niveles de seguridad en los escenarios de prueba, brute force, captcha
bypassing, insecure forms login, debido que cuentan con debilidad de seguridad de
credenciales y falla de almacenamientos de datos en los sistemas informáticos. Para
dar la apertura de robar las credenciales de administrador o usuario que cuente
potencial de acceso a un sistema o servicio del aplicativo.
• Entre los resultados de ataque al protocolo FTP y Protocolo WebDav que anexan
acciones similares para almacenar, editar y mover archivo sobre el servidor del
sistema. Se determinó como la inserción de fichero malicioso y de código malicioso
invaden los mecanismos de seguridad para tener privilegio sobre el sistema como
modo “administrador”. Por ende, la protección de datos, verificación de archivos y la
autorización de archivos anómalos, es escaso por lo cualquier robo de información es
enemente.
199
• Entre los resultados de escaneo de puertos. Se determinó que a través del análisis por
la herramienta nmap, ciertos puertos no deben prevalecer en modo open, porque
existe el peligro de comprometer el servicio y provocar debilidad para ejercer
explotación de vulnerabilidad por versiones, tipos de ataques comunes, o intrusión de
exploit entre los más ejercido en el arte de hacking ético.
7. RECOMENDACIONES
A continuación, se presentan unos criterios de recomendaciones sobre los hallazgos
encontrado en los diseños de prueba:
• Deben estar en modo open solo los puertos 80,44,3306, debido que son los servicios
que administran todo el entorno web del sistema y el resto deben estar cerrados para
evitar vulnerabilidades por la ejecución de exploit relacionado a los servicios en
común
• Se debe establecer la buena codificación segura para evitar las malas prácticas de
diseño o lógica de programación antes de enviar el producto a producción
• Realizar validación de entradas para que cualquier carácter de factor malicioso, que
sea analizado y su validación no sea pasada en alto, y el funcionamiento de procesos
ser el adecuado.
• Realizar codificación de salidas efectivas para dar frente a los scripts maliciosos sobre
los formularios
200
• Emplear practicas criptográficas para la protección de datos que circulan en el sistema
informático
• Tener un buen tratamiento adecuado sobre los archivos, aquellos tipos de activos de
información importante en el sistema
• Emplear certificación seguridad del sitio para no emplear clonación como uso de
ingeniería social
201