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