Universidad Estatal de Adams. Cómo hackear sitios web. Parte 1

Presentador: Doy las gracias a todos por asistir a nuestra primera conferencia de la serie "Conversaciones sobre ciencia y matemáticas durante el almuerzo". Ha recibido correos electrónicos, además, alrededor de este edificio del campus hay horarios pegados de siete conferencias que se llevarán a cabo este semestre. Quiero presentarles a la Dra. Susan Loveland del Departamento de Ciencias de la Computación, quien hablará sobre cómo hackear sitios.



Susan Loveland: Al comienzo de la presentación, quiero mencionar que los hackers vienen en todos los tonos de blanco y negro. Hoy interpretaré el papel de un hacker en Black Hat y actuaré en el lado oscuro del hack porque ser malo es mucho más divertido que bueno. Hay piratas informáticos en White Hats que trabajan para empresas de seguridad informática e investigan la informática forense. Intentan encontrar vulnerabilidades de seguridad antes de que los malos los exploten para sus propios fines.

La tarea de estos piratas informáticos es encontrar la vulnerabilidad sin dañar la aplicación, compilar un informe sobre un agujero de seguridad y enviarlo a la empresa. Yo mismo nunca pensé en hackear el sitio, así que traje a un coponente que preparó las diapositivas de nuestra presentación (se pone un Black Hat).

Soy Eve Hacker (Eve Hacker), el alter ego del Dr. Loveland, que te mostrará cómo hackear sitios. Olvidé mencionar que el Black Hat como símbolo de hackers nos llegó de viejos westerns en los que los malos usualmente usaban ese sombrero. Y decidí que para ser un hacker efectivo, necesito elegir la túnica adecuada para mí. Entonces puedo crear un estado de ánimo apropiado para mí, y usted puede estar interesado en ver esta presentación. Entonces, doy la palabra al Dr. Loveland (se quita el sombrero).

Susan Loveland: Gracias Eve. Antes de comenzar, quiero decirles por qué Internet es tan atractivo para los piratas informáticos. En primer lugar, la difusión y la accesibilidad de las aplicaciones: según un informe de la asociación White Hat de 2009, aproximadamente el 80% de los sitios web tienen vulnerabilidades graves.

En segundo lugar, es rentable: la automatización de ataques minimiza los costos de los piratas informáticos al tiempo que aumenta las ganancias a grandes tamaños. En tercer lugar, la facilidad de uso: a los hackers inteligentes y creativos les encanta alardear de sus hazañas, y cualquier malo puede usar los resultados de su trabajo con Google para encontrar cientos de herramientas para hackear la aplicación correcta. Cuarto, por anonimato: puede violar la ley de manera segura, porque es muy difícil saber cuándo se pirateó la aplicación web y localizar a la persona que lo hizo. Cuando robas físicamente un banco, debes estar en el territorio del banco, pero cuando pirateas una aplicación web, puedes trabajar desde el extranjero donde no hay leyes de extradición y es relativamente seguro desde el punto de vista de la piratería.

Entonces, ¿qué haces primero cuando intentas hackear una aplicación? El primer paso es el más difícil, porque necesita comprender qué es esta aplicación, cómo funciona, dónde tiene "entradas y salidas".



El examen de la infraestructura de la aplicación incluye la identificación del servidor y el escaneo de puertos. Luego, debe comprender la composición de la aplicación: las cadenas y los parámetros de las solicitudes de URL, el mecanismo de autenticación, el uso de TLS / SSL, el software que se utiliza en la aplicación (PHP, Java), la estructura de directorios y la administración de sesiones.

Por lo tanto, solo te presento la aplicación que será pirateada y te mostraré todas las vulnerabilidades posibles que tiene. La aplicación que estamos pirateando hoy se llama "Páginas Universitarias". Este proyecto fue desarrollado en el aula de mi curso de programación web CS245 hace aproximadamente un año y medio.



Su idea era que todos en el campus usaran un solo conjunto de páginas web para cada facultad, ya que esto se verá más profesional que las páginas de diferentes diseños hechas por empleados de facultades individuales. Hablé con Mark Schoneher para ayudarme a mí y a mis alumnos con este asunto. Mark envió correos electrónicos a todos preguntándoles qué tipo de contenido les gustaría ver en las páginas web de la facultad, y mi clase desarrolló "Páginas de la facultad" que se muestran en esta diapositiva.

Como puede ver, hay una página principal con contenido destinado a estudiantes de la facultad, la pestaña "Capacitación", donde los maestros pueden publicar enlaces a cursos de capacitación individuales, la pestaña "Becas", donde puede colocar los resultados de actividades científicas, las pestañas "Educación" y "Consultas" .

Mis alumnos trataron de facilitarle al personal de la facultad mantener estas páginas, por lo que vincularon la autorización del usuario a la página. Después de hacer clic en el enlace en la esquina superior izquierda de la página, se abre un formulario de registro en el que debe ingresar el nombre de usuario en la red del campus y el identificador de contraseña. Después de la autorización, se abre la misma página principal, pero el botón "Editar" aparece debajo de la palabra "Información". Después de hacer clic en este botón, el profesor puede ingresar al panel del editor y agregar o corregir información en la página. Estas son las principales características de la aplicación que estamos intentando piratear hoy.



Volvamos a nuestra presentación. En la piratería, como cualquier otra profesión, necesita equipo, de lo contrario, el trabajo será ineficaz. Para hackear, necesitamos un servidor proxy.



Un servidor proxy acelera el acceso a la piratería de una página web al interceptar todos los mensajes entre la computadora cliente y el servidor. Puede ver todos los mensajes, esto es muy útil, porque hay mucho tráfico entre el cliente y el servidor que no es visible desde el exterior. Un servidor proxy le permite no solo examinar el contenido del tráfico, sino también cambiarlo. De hecho, puede determinar completamente qué va al servidor para los estudiantes que estudian programación en el aula.

Quiero señalar que a nadie le importa cómo gestiona su código en el lado del cliente, porque un buen hacker siempre puede pasar por alto su control poniéndose en contacto con el servidor que está conectado a su navegador. Por lo tanto, para descifrar nuestra aplicación necesitamos un servidor proxy. No es difícil obtenerlo: solo descarga algún proxy de Internet.



En la diapositiva, verá tres representantes populares: WebScarab, BurpSuite y Paros. Puede descargar cualquiera de ellos de forma gratuita, instalarlos como cualquier otra aplicación y configurar su navegador para que funcione con servidores proxy en unos minutos.

El primer tipo de ataque que usamos hoy es el ataque de diccionario o búsqueda de diccionario. Todos los ataques de este tipo intentan obtener la contraseña de alguien clasificando la lista de las contraseñas más populares y las contraseñas predeterminadas mediante una colección de diccionarios de contraseñas. Si necesita dicho diccionario, también se puede descargar de Internet, este es un recurso público.
Antes de iniciar un ataque de diccionario, debe estudiar detenidamente la política de contraseña para la aplicación que está intentando atacar. En nuestro caso, las "Páginas del profesorado" están vinculadas a la contraseña de Adams University, por lo que debemos averiguar qué tipo de contraseña seleccionaremos para hackear la aplicación.



La mejor manera de averiguar cómo se ve la contraseña es usar la función de recuperación de contraseña, porque le da una pista. Mira lo que hice: acabo de ingresar la contraseña incorrecta, y estos tipos fueron tan amables que publicaron un mensaje en la parte superior de la página que describe qué tipo de contraseñas puedo probar. Por lo tanto, aprendo que en mi diccionario, que se usa cuando realizo el ataque de diccionario, debería probar cualquier palabra con una longitud de al menos 8 caracteres, con letras mayúsculas y minúsculas y números.

Debo admitir que han empeorado el servicio desde la última vez que visité el sitio. Ahora no puede simplemente verificar la funcionalidad de su contraseña, porque han cambiado su política con respecto a los piratas informáticos por una menos amigable, y ahora, como puede ver, no le dan ninguna pista al intentar restablecer la contraseña.

Afortunadamente, guardé una captura de pantalla de cómo se veía antes, para que sepamos qué contraseña elegir. Creo que estamos listos para darle la palabra a Eve, para que ella muestre cómo se lleva a cabo el ataque usando el método de búsqueda del diccionario.

Eve Hacker: ¡Gracias Dr. Loveland! Lo primero que haré es ir a la ventana de autorización, que necesitamos para enviar contraseñas al servidor, y cambiar ligeramente la cadena de URL. Una vez hecho esto, recibo un formulario de autorización en la pantalla, en el que debo ingresar el nombre de usuario y la contraseña. Debería poder distinguir la contraseña correcta de la incorrecta, es decir, ver qué error informará la aplicación al ingresar la contraseña incorrecta.

Como voy a recoger la contraseña de la Dra. Loveland, escribo su nombre de usuario sloveland en la línea de nombre de usuario, ingreso la contraseña incorrecta de 3 caracteres y hago clic en el botón Iniciar sesión. Después de eso, aparece el mensaje "Inicio de sesión no válido". Es muy importante ver cómo la aplicación responde a una contraseña incorrecta.

A continuación, necesito configurar mi navegador para usar un servidor proxy, así que cambio la configuración de Firefox. Abra la pestaña "Configuración avanzada", desactive la casilla "Usar configuración de proxy del sistema" y marque la casilla "Usar configuración de proxy manual". Mi proxy "escuchará" al puerto 8080, para que pueda interceptar todas las solicitudes dirigidas al servidor.



Lo siguiente que debo hacer es instalar el servidor proxy descargado, en mi caso es Burp Suite. Ahora ves cómo se ve la ventana de este proxy, que uso durante el ataque. Pero tengo que volver a la página de autorización y volver a enviarla al servidor. El hecho es que puede surgir un problema debido al hecho de que primero inicié el proxy sin volver a cargar la página. Si se dio cuenta, nuestra aplicación utiliza una conexión HTTPS segura y el servidor proxy no tiene un certificado de seguridad adecuado. Por lo tanto, primero debo confirmar que la aplicación puede usar una conexión insegura con el proxy y poner su URL en las excepciones de la política de seguridad.



¿Qué podría pasar si no corrigiera este error? Déjame volver y mostrarte esto. Vuelvo a la configuración del navegador, y esta vez no me apresuro a instalar la configuración manual del proxy que intercepta las solicitudes. Activaré nuevamente la casilla de verificación "Usar la configuración del proxy del sistema", porque realmente necesito obtener primero la página de autorización original y, al estar en esta página, ingresaré la configuración del navegador y volveré a la configuración manual del proxy.

Entonces, ahora tenemos una página de autorización que "hablará" con el servidor proxy. Vuelvo a ingresar el nombre de usuario del Dr. Loveland y la misma contraseña no válida, fff, que se envían a mi servidor proxy.

A continuación, voy a la página de administración del servidor y hago clic en la pestaña que abre la ventana para ver la solicitud recibida.



Veamos cómo se ve esta consulta en Spider: esta es la siguiente pestaña en la ventana de Burp Suite. Para hacer esto, uso el comando "enviar a Spider" y veo cómo se ve el formulario de inicio de sesión, es realmente interesante. Hago clic en el botón "Ignorar formulario".



Y vuelvo a la solicitud POST que me interesa. Vemos una solicitud que contiene un formulario de autorización, es decir, una solicitud para ingresar información del usuario.



Tenemos varios métodos de ataque aquí: escáner, intruso, repetidor, secuenciador, decodificador, comparador. Voy a usar Intruso, así que le envío esta información usando el comando Enviar a intruso, y aparece en la ventana en la pestaña de posiciones. Esta es toda la información que se envió al servidor proxy.



Muestra muchas cosas ocultas que no se pueden ver en la página web, y resalta los campos con los que a los piratas informáticos les gusta tratar: ID de sesión ID de sesión, nombre de usuario y contraseña contraseña utilizada durante nuestro ataque. Lo único que nos interesa para Dictionary Attack es la contraseña, por lo que borraré la mayoría de los campos, seleccionaré el campo de contraseña y usaré el botón Agregar § para agregar este campo al diccionario.

Esta pestaña realmente te complacerá como pirata informático, ya que al usar el menú desplegable puedes seleccionar varios métodos de ataque: francotirador, ariete, horca o bomba de racimo. Lo haré y elegiré el ataque de francotirador. A continuación, en la pestaña "Carga", se realiza una pequeña configuración: vamos a hacer un reemplazo de caracteres, porque simplemente reemplazaré los caracteres de la contraseña con las palabras del diccionario, después de lo cual debo descargar el diccionario que descargué previamente de Internet. Verá el diccionario que se abre, tenga en cuenta que eliminé todas las palabras que contienen menos de 8 caracteres, porque no quiero perder el tiempo.



Quiero llamar su atención sobre el bloque de la derecha con los parámetros a, bye. Permítanme preguntar: cuando se ve obligado a elegir una contraseña, donde debe ingresar números o símbolos, ¿alguna vez ha elegido números o símbolos que se parezcan a las letras correspondientes? ¿con qué los vas a reemplazar? Puede sentirse tentado a usar este método para que sea más fácil recordar su contraseña, pero los hackers lo saben. Por lo tanto, las personas a menudo usan 4 para A, 8 para B o 3 para E. A veces, la letra A se reemplaza con el símbolo @, y la letra b se reemplaza con el número 6, porque se ve así. Por lo tanto, en este bloque puede configurar tales correspondencias.

También sé que las contraseñas universitarias requieren letras mayúsculas, y dado que mi diccionario contiene solo letras minúsculas, utilizo el menú a continuación para cambiar el proceso de selección de contraseña y modificar las claves de palabras que se enviarán a esta herramienta de hackers. También noto que puedes usar nombres propios. Como esta computadora pertenece al científico, probablemente le gusta usar signos de puntuación, y yo proporciono esa opción, marcándola con un menú desplegable.

Lo último que debe hacer es ir a la pestaña Opciones e ingresar la dirección del sitio que queremos hackear, así que ingrese la dirección de la página de autorización aquí.

Al final, necesito usar una herramienta que me permita saber si la contraseña es correcta o no, así que escribo el parámetro Error de inicio de sesión en la cadena para que la aparición de esta frase en la pantalla muestre un error al intentar iniciar sesión.



Ahora puedo comenzar mi ataque. Observo que ser socio del Dr. Loveland durante muchos años no es demasiado rentable, por lo que no pude comprar una versión profesional de Burp Suite y aproveché la versión gratuita, que fue informada por la ventana que apareció en la pantalla. Entonces, en la ventana Intruso, verá cómo se lleva a cabo el proceso de piratería y se sustituyen varias letras y símbolos en las variantes de contraseña probadas.



Por lo general, en este momento voy a tomar una taza de café o incluso regreso a la computadora al día siguiente, porque este es un proceso bastante lento, como puede ver, comenzó con la primera letra del alfabeto. Sin embargo, tuvimos suerte: ves la séptima línea con el resultado.



El Dr. Loveland eligió la contraseña A @ rdv @ rk con caracteres y letras, para que esta contraseña sea totalmente coherente con los requisitos de la universidad y sea fácil de adivinar con Dictionary Attack. Por lo tanto, debe ser muy, muy cuidadoso al elegir su contraseña.
Por lo tanto, doy la palabra al Dr. Loveland, pero tenga en cuenta que ahora sé su contraseña y puedo acceder al sitio en cualquier momento en su nombre (elimina el Black Hat).

Susan Loveland: Gracias Eve. Quiero preguntarle a la audiencia: ¿qué tan comunes son los ataques de descifrado de contraseñas? ¡La respuesta es muy, muy común! Según los expertos, alrededor del 70% de los sitios tienen vulnerabilidades del sistema de autorización. Esto significa que el desarrollador de la aplicación cometió algún error en el mecanismo de inicio de sesión, lo que facilita la piratería del sitio. Sin embargo, los ataques de Dictionary Attack son muy populares entre los piratas informáticos y el 5 de enero del año pasado, este método de pirateo se usó contra la cuenta de administrador de Twitter, lo que permitió piratear las cuentas de 33 personas muy famosas, incluido Obama, y ​​publicar chistes de piratería en sus páginas.

Te contaré sobre un caso tan anecdótico: cuando lancé el servidor web para mi curso el año pasado, solo había cuatro estudiantes, pero en teoría es un servidor muy, muy importante, por lo que durante dos semanas después del lanzamiento sufrió ataques como " búsqueda de diccionario "de dos fuentes diferentes. Entonces estos ataques son muy, muy comunes.

21:35 min

Universidad Estatal de Adams. Cómo hackear sitios web. Parte 2


Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps hasta la primavera sin cargo al pagar por un período de seis meses, puede ordenar aquí .

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV desde $ 249 en los Países Bajos y los Estados Unidos! Lea sobre Cómo construir un edificio de infraestructura. clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/438330/


All Articles