martes, 31 de mayo de 2016

WiFiKill: Ataque D.o.S. a conexiones WiFi desde Androi

Como parte de un estudio sobre los riesgos de seguridad en redes WiFi explotables por aplicaciones publicadas en el market oficial del Google Play para Android, hoy voy a hablaros de una otra app que pone al alcance de cualquier usuario realizar ataques de Denegación de Servicio (DoS: Denial of Service). En un artículo anterior os hablé de Intercepter-NG, una herramienta que es como una navaja suiza para hacer ataques en una red WiFi al estilo de cómo se pueden hacer con DSploit. Hoy toca hablar de WiFiKill, por petición de uno de los lectores.

Figura 1: WiFiKill - Ataque D.o.S. a conexiones WiFi desde Android

WiFiKill es una herramienta para Android que nos permite inhabilitar la conexión aInternet a otros dispositivos que estén conectados a nuestra misma red y que también nos permite conocer las páginas que se están visitando durante su sesión de navegación. Podremos obtenerlo por medio de Play Store bajando una aplicación que nos dará acceso a la descarga de la APK, o directamente buscando la APK porInternet. Si elegimos buscarla por Internet directamente debemos ser conscientes del aumento del riesgo de ejecutar alguna copia maliciosamente manipulada con malware. Eso sí, para que la aplicación funcione correctamente nuestro dispositivoAndroid deberá estar rooteado.

Figura 2: WiFiKill en Play Store

Uno de los objetivos de la aplicación es conseguir “echar” de la red a todos los dispositivos que se encuentran en ella. Se podrá elegir qué dispositivos son los que son expulsados, provocando una denegación de servicio solo sobre los dispositivos elegidos.

Usando WiFiKill

Tras descargar la aplicación y darle permisos de root podremos comenzar a usarla. Al abrirla accederemos al menú principal , en el que podremos observar cinco iconos en la parte superior. El primero de ellos es el botón de “Play”, el cual pulsaremos para analizar la red a la que estemos conectados en búsqueda de usuarios. En el momento en el que sea pulsado comenzara la búsqueda cambiando el símbolo de “Play” a “Stop” y nos aparecerá el icono de WiFiKill en la barra de tareas con la frase “WiFiKill is running”. Esto nos indicara que la aplicación está ejecutándose correctamente. Una vez finalizada la búsqueda nos aparecerán en pantalla todos los dispositivos conectados a nuestra red WiFi, indicándonos su dirección IP y su dirección MAC.

Esto es posible gracias a que la aplicación realiza un broadcast con ARP Request, esto consiste en enviar un ARP Request a todas las direcciones IP del mismo rango; los equipos conectados a la red contestaran a esta petición con un ARP reply indicando cuál es su dirección física o MAC, confeccionando así una tabla ARP.

Figura 3: Descubrimiento de equipos con WiFiKill

A continuación seleccionaremos los objetivos de nuestro ataque pulsando sobre ellos. Podremos ponerles nombre para identificarlos posteriormente. Al pulsar sobre “Grab” comenzaran a aparecernos en pantalla las rutas de las páginas visitadas por la víctima, pulsando sobre ellas nos mostrará algunos detalles sobre la sesión.

Esto se debe a que estamos realizando un ataque ARP Spoofing clásico, que al final es el esquema de Man In The Middle más famoso. Por medio de un ARP Spoofingenvenenaremos las tablas ARP de los equipos conectados a la red y así podremos interceptar los paquetes enviados entre el router y el equipo de la víctima sin ser detectados. ¿Cómo funciona esto? Sencillo, nuestro dispositivo Android enviará unARP Reply a las direcciones IP que le indiquemos indicando que la dirección MAC del router ha cambiado. En esta respuesta ARP se indica la dirección IP origen del router original y la dirección MAC de nuestro dispositivo. De esta forma quién reciba esta información actualizará su caché ARP envenenándola. En este instante, cuando el dispositivo spoofeado consulte la tabla para enviarle información al router, por ejemplo una petición hacia Internet, dicha petición pasará por nosotros.

Si pulsamos sobre “Kill” inhabilitaremos la conexión a Internet del dispositivo seleccionado. En este caso lo que ocurre es que se desactiva la función forward(reenvío) para esa dirección de origen en el equipo del atacante - que está haciendo de man in the middle -  provocando que todos los paquetes interceptados sean desechados. Al desecharse los paquetes la comunicación entre el Gateway y el equipo se cortará el tráfico de y hacia Internet provocando la denegación del servicio sin que el cliente se haya desconectado de la red WiFi.

Figura 4: Interceptación de conexión. Se puede grabar o cancelar

Otra forma de obtener el mismo resultado sería realizando un Ataque 0. Este tipo de ataque consiste en el envío de paquetes deauth (paquetes de desautentificación) a uno o más usuarios que estén asociados a un punto de acceso. Si estos paquetes se siguiesen enviando de manera indefinida el usuario no podría conectarse a la red. También podremos realizar un ataque múltiple utilizando las funciones “Grab all” y “Kill all

El segundo icono - Refresh - nos servirá para detectar nuevos dispositivos que hayan podido conectarse a nuestra red desde que comenzamos nuestro ataque, volviendo realizar un ARP Request. El tercer icono - Lupa - nos sirve para buscar palabras clave dentro de la aplicación. Al pulsar sobre el cuarto icono – Llave inglesa - podremos configurar las opciones generales del programa, opciones como la de activar el modo de pantalla completa o decidir si queremos que nos muestre el fabricante de la tarjeta de red, la dirección IP y la dirección física. El último icono -Tres puntos - corresponde a los apartados de ayuda e información de la aplicación.

Figura 5: Opciones de visualización de WiFiKill

Para finalizar nuestro ataque solo tendremos que volverá pulsar el botón “Stop” yautomáticamente finalizarán todos los ataques en curso con lo que desaparecerá el icono de WFiKill de la barra de tareas. En caso de no pulsar el botón de "Stop” la aplicación seguirá funcionando en segundo plano aunque hayamos salido de ella.

Con esta aplicación podremos comprobar si hay inquilinos conectados a nuestra red y, en caso de haberlos, seremos capaces de expulsarlos con un simple clic. Interesante herramienta de monitorización y control del uso de la WiFi. Este tipo de herramientas en manos maliciosas pueden causar también un gran daño, ya que automatizando el ataque se podría denegar el acceso a la WiFi de forma prolongada o afectar a la privacidad de los usuarios de la red, así que no te olvides de fortificar correctamente tu red WiFi.

Autor: Sergio Sancho Azcoitia

Fuente: http://www.elladodelmal.com/2016/05/wifikill-ataque-dos-conexiones-wifi.html

SNMPChat: Chatear en un canal encubierto sobre SNMP

En esta entrada quiero presentar una herramienta de mensajería instantánea llamada SNMPchat, la cual utiliza el protocolo SNMP (Simple NetWork Monitoring Protocolo) para intercambiar mensajes de texto entre dos personas. Recordemos queSNMP es un protocolo de monitorización  que se utiliza como parte de la estrategia en la administración de sistemas de todo tipo de elementos, que puede ir desde losrouters de una organización, pasando por los servidores, firewalls, para llegar a administrar también los terminales móviles y una gran cantidad de dispositivo en entornos corporativos.

Figura 1: SNMPChat. Chatear en un canal encubierto sobre SNMP

Sobre el uso del protocolo SNMP en el mundo de la autidoría ya se publicaron por aquí muchos artículos que explican cómo sacarle partido al protocolo SNMP para obtener información de la red, los servidores, los dispositivos móviles e incluso los procesos que están corriendo y con qué parámetros fueron lanzados. Los tenéis aquí:
Auditando Hosts Windows y *NIX* con SNMP (Parte I)
Auditando Hosts Windows y *NIX* con SNMP (Parte II)
Descubrir la red de una organización con consultas SNMP
Shodan y agentes SNMP: Administrando el mundo
Servidores Novell Netware con agentes SNMPv1 en Shodan
Pero aunque el uso de un protocolo de comunicación fue pensado para monitorear dispositivos y no para intercambiar mensajes de texto, el que esté tan extendidoSNMP por los diferentes sistemas y dispositivos convierte a este protocolo en un medio perfecto para crear un canal encubierto (covert channel), ya que esta comunicación podría pasar desapercibida, y oculta en cualquier red. Al igual que cuando se usan técnicas de esteganografía en TCP o las de exfiltración de datos en ICMP, no sería raro ver tramas SNMP en una red, por lo que si no hay mecanismos de seguridad extra no se generaría ninguna alerta por el tráfico SNMP.

Chatear sobre SNMP con SNMPChat

SNMPchat está escrita en Python y fue diseñado sobre una arquitectura cliente-cliente poco convencional en redes de datos que dificulta aún más su detección. Es cliente-cliente ya que no utiliza sockets, es decir, no tiene servicios escuchando en la capa de transporte. Muchos se preguntaran en este momento, ¿bueno, entonces cómo funciona? … bien tanto para el envió como recepción de mensajes utiliza la libreríaScapy de Python, la recepción y decodificación de los mensajes la hace a través desniff, una función de scapy que permite que la tarjeta de red trabaje en modo promiscuo para escuchar el tráfico que esta recibe y gracias a la versatilidad de la función se puede filtrar solamente el tráfico que nos interesa, es decir el traficoSNMP

Esta arquitectura no utiliza servidores intermedios como hacen los servicios de mensajería instantánea o IRC y se aprovecha de los paquetes SNMP para ocultar la información enviada. Pero se requiere que, si se quiere usar a través de Internet, en los dos extremos se configure en el firewall o router un NAT y una regla para permitir que el tráfico del puerto SNMP vaya hacia cada cliente. Para ello utiliza los mensajes tipo Get-Request de SNMP los cuales son utilizados normalmente para solicitar a través de los OID (Object ID) algún recurso de la MIB (Managment Information Base) en el dispositivo a monitorear. En este caso utilizaremos los OIDpara ocultar los mensajes de texto.

Figura 2: Mensaje en texto plano camuflado como OID

Los OID se utilizan para definir las ontologías en una comunicación entre dos servicios SNMP, de tal manera que conociendo el OID del objeto que se envía, cada extremo de la comunicación conoce automáticamente la estructura de los atributos. Para ello, tienen un formato del estilo: 1.3.6.1.2.1.1.1, que sirve para identificar de qué objetos extiende su estructura. Como en este caso no vamos a comunicar dos servidores SNMP, lo que hace SNMP  es convertir cada letra del mensaje de texto en su valor ASCII decimal correspondiente y acomodarlos en el OID, conservando el formato del valor y enviando el paquete.

Como ya se explicó, en el otro extremo el receptor realizara el sniffing del tráfico y decodificaraá el mensaje que llego en la OID. Esta es una prueba de concepto que muestra cómo meter datos en los paquetes SNMP sin llamar mucho la atención, los datos van en texto claro y su valor ASCII, así que para garantizar mayor confidencialidad los mensajes deberían ir cifrados extremo a extremo. Aquí tenéis un vídeo que muestra cómo sería la experiencia del sistema.


Figura 3: Configuración y uso de SNMPChat

Al ser un canal encubierto, el riego es generar un tráfico grande entre dos servidores y llamar la atención de los sistemas de monitorización por la cantidad de paquetes enviados, así que, para evitar cifrados de gran peso - que cada uno decide qué quiere utilizar - tal vez sería interesante volver a poner en práctica los sistemas de cifrado clásicos, menos robustos frente a ataques de criptoanálisis, pero menos ruidos en cuanto al número de paquetes que sería necesario enviar.

Configuración y uso de SNMPChat

SNMPchat utiliza la comunidad SNMP para autenticar los mensajes, por lo tanto, esta debe ser configurada igual en los dos extremos, de igual forma que el puertoUDP. La herramienta funciona en Kali Linux perfectamente y no es necesario instalar ninguna dependencia o librería adicional. En las siguiente imagen siguiente se ve la ayudar de la herramienta.

Figura 4: Ayuda de SNMPChat

Es obligatorio para que funcione especificar la dirección IP local (-l) y la dirección IPdestino (-d), mientras que la comunidad SNMP (-c) como el puerto (-p) vienen con valores por defecto, Sin embargo se pueden especificar unos diferentes, y si quieres cifrar los mensajes con AES - incorporado por defecto en la herramienta - lo puedes hacer con la opción (-e) para pasarle la key que debe usarse para el cifrado. Luego de especificar los argumentos, la herramienta solicitara ingresar tu nombre para la comunicación y a chatear sobre SNMP se dijo:

Figura 5: Ingreso de nombre para comenzar la conversación

Si quieres abandonar basta con que teclees "q" y de esta forma el otro extremo quedara notificado de que cerraste la sesión. En la siguiente imagen se ve el interfaz de comunicación usando SNMPChat.

Figura 6: Conversación con SNMPChat

El script lo pueden descargar de mi repositorio en Github,y espero que les sirva para poder avanzar en las técnicas de canales encubiertos, esteganografía, estegonanálisiso, simplemente, para chatear un rato.

Saludos desde Colombia.


Fuente: http://www.elladodelmal.com/2016/05/snmpchat-chatear-en-un-canal-encubierto.html
Autor: Juan Esteban Valencia Pantoja

martes, 17 de mayo de 2016

USB Rubber Ducky en Android

En este post quiero continuar hablando de USB Rubber Ducky. En el post anterior hablé sobre USB RUbber Ducky y vimos un ejemplo de uso en sistemas Windows. Hoy quiero mostrar que también podemos crear payloads para otros sistemas como Android o MAC.
En el caso de dispositivos Android, debemos tener en cuenta que estos sistemas soportan conectar dispositivos HID, por lo tanto, podemos conectar teclados externos y manejar y controlar el dispositivo mediante el teclado.
Tras realizar unas pruebas, mediante un teclado externo, os comparto una serie de comandos que podríamos usar para manejar un dispositivo Android (las pruebas han sido realizadas con un dispositivo Android 4.4.2 KitKat):
  • Windows E: muestra los correos
  • Windows A: abre la calculadora
  • Windows S: muestra los SMS
  • Windows L: abre el calendario
  • Windows M: muestras las aplicaciones que hay instaladas
  • F3: enciende la cámara y tab + intro hace una foto
  • ImprPant: hace una captura de pantalla
  • Control W: muestra un menú para cambiar el fondo de pantalla
  • Control P: muestra los Ajustes
  • Windows C: accede a todos contactos
  • Windows SPACE: muestra el buscador
Sabiendo estas combinaciones podríamos hacer cualquier payload y acceder a información sensible de cualquier persona despistada que se deje su móvil sin vigilar.
Por ejemplo, enviar un correo electrónico sería tan sencillo como:
  • Windows E
  • TAB
  • TAB
  • TAB
  • ENTER
  • REM Escribir la dirección destino
  • STRING direcciondestino@correo.com
  • ENTER
  • TAB
  • REM El siguiente campo es el Asunto
  • STRING Ayuda
  • TAB
  • STRING Buenos días
  • ENTER
  • STRING Por favor, estoy en apuros y me encuentro fuera del país, envíame XX euros a la siguiente cuenta. Te lo contaré en cuanto vuelva!
  • ENTER
  • STRING Número de cuenta: XXXXXXXXXX
  • ENTER
  • STRING Gracias!
  • REM Enviamos el correo
  • CONTROL ENTER
La persona que reciba el correo es probable que confíe en la legitimidad del remitente ya que el correo ha sido enviado desde su cuenta, y realizando un buen ataque de ingeniería social es probable que finalice con éxito.
Con este sencillo script podríamos enviar mensajes de correos desde el móvil de una tercera persona. Tal y como he comentado las pruebas realizadas han sido sobre un dispositivo con Android 4.4, en otra versión de Android podría cambiar ligeramente, aunque conceptualmente es igual.
Conociendo los comandos adecuados ya sólo tendríamos que echarle un poco de imaginación de lo que podríamos hacer. Al igual que el ejemplo de enviar correos electrónicos, podríamos hacer lo mismo para acceder a SMS, cambiar ajustes de configuración, habilitar USB Debugging, o incluso instalar aplicaciones de terminal en Android y mediante comandos robar información (fotos, historial de navegación, credenciales, conversaciones de Whatsapp, etc. y enviarla a través de FTP. Al tener un terminal en el dispositivo Android las posibilidades se disparan.
Pero, ¿qué ocurre si el dispositivo está bloqueado por un PIN? Con UsbRubberDucky también podríamos desbloquear el móvil. El script lo tenéis en pastebin.
Con este post quería compartir algunas de las posibilidades que ofrece USB Rubber Ducky con respecto a Android. Aunque siempre con la finalidad de que conozcáis los riesgos y no os dejéis vuestros dispositivos sin vigilar.

Fuente: http://www.securityartwork.es/2016/04/25/usb-rubber-ducky-android/

Hackear un Moodle con Network Packet Manipulation

Una buena entrada al estilo del chema.

--------------------------------------------------------------------------------


Figura 1: Hackear Moodle con ataques de Network Packet Manipulation

Lo primero que se debe hacer es analizar las consultas de Moodle y conocer un poco como gestiona éste su base de datos. En este caso el proverbio “ten cerca a tus amigos para cerca aún a tus enemigos” recobra un poco valor a la inversa, es decir, tenemos que estar lo mas cerca posible de nuestra víctima en el sentido de que debemos conocerla a la perfección para poder llevar a cabo el ataque de forma sencilla y con éxito. En el escenario para las pruebas de concepto están como sigue el esquema siguiente:

Figura 2: El servidor Moodle y la motor SGBDR de MySQL se conectan vía red

Para ello se ha estudiado qué tablas hay en la base de datos que utiliza una aplicación Moodle y cuáles nos podrían interesar. Como en este caso queremos hacernos con el control del Moodle, lo que necesitaremos es saber dónde se aloja la información de los usuarios registrados en el sistema y de qué manera. Investigando un poco nos encontramos con que los usuarios se guardan en la tabla siguiente:

Figura 3: Tabla de usuarios en Moodle

Una vez que se sabe qué tabla queremos adulterar debemos saber qué tipo de datos se guardan en ella, es decir, debemos conocer su esquema y qué columnas son las que nos interesan y cuáles no.  Se hacen resaltar los datos que quizás nos puedan interesar más, aunque podemos ver la cantidad de columnas que tienen la tabla que gestiona los usuarios en Moodle.

Figura 4: Columnas de la tabla mdl_user

La tabla sigue a continuación con el resto de columnas menos relevantes a la hora de llevar a cabo el objetivo fijado. Se observa la cantidad de datos que puede llegar a guardar Moodle sobre los usuarios de su sistema, hasta 53 columnas que, en un ataque similar podrían modificar cualquier situación, dato personal o privilegio de un usuario.

Figura 5: Hasta 53  columnas en la tabla mdl_user

Ahora que ya sabemos todo lo necesario sobre la tabla que queremos atacar, debemos analizar las consultas que realiza Moodle sobre su base de datos MySQL. Como podemos observar con el analizador de tramas de red Wireshark, el tráfico va en texto plano porque no estamos utilizando una conexión cifrada, por lo si utilizamos la técnica Network Packet Manipulation podremos modificar las consultas y tomar el control de la máquina.

Figura 6: Consultas de Moodle a MySQL en texto plano

El siguiente paso a realizar sería acceder al panel de control de Moodle y ver qué tipo de peticiones realiza cuando accedemos a la gestión de usuarios. Es decir, debemos entender el conjunto de consultas que realiza Moodle al SGBDR MySQLcuando creamos un nuevo usuario o modificamos el valor de alguno ya existente.

Figura 7: Gestión de usuarios en Moodle

Se debe de analizar las peticiones minuciosamente para encontrar la consulta en la que se realiza la inserción del nuevo usuario ya que hay multitud de ellas en el intervalo de tiempo entre la conexión al servidor MySQL y la desconexión. La instrucción elegida para esta demo en cuestión es una query SQL del tipo INSERT INTO en la tabla mdl_user y se le pasan los parámetros correspondientes recogidos del formulario web rellenado. Podríamos haber utilizado cualquier otra y modificarla completamente, pero para este ejemplo vamos a usar directamente la de inserción de nuevos usuarios. Después de analizar bien las consultas damos con ella, y es la siguiente:

Figura 8: Captura del INSERT INTO de un nuevo usuario

No cabe entera en la pantalla por lo que aquí se muestra en un editor de texto cualquiera para poder analizarla. Hay que recordar que son 53 columnas las que tiene la tabla y muchas de ellas están definidas como Not Null:

Figura 9: Consulta completa para dar de alta un nuevo usuario en Moodle

La idea principal es capturar un paquete, el cual sepamos que va a existir y modificar la consulta que lleva por la que nosotros queramos, por ejemplo una consulta UPDATE que permita modificar la contraseña o algún dato de un usuario existente con el fin de robar una cuenta.

Procedemos a ver como se podría cambiar cualquier dato de un usuario registrado en el sistema. Para realizarlo podemos crear filtros con Etterfilter. El primer filtro que se creará será el que nos posibilite cambiar la ciudad de un usuario registrado enMoodle - de forma análoga se podrá hacer para cambiarle la contraseña -. Para ello la sentencia que debemos tener en mente será:
“UPDATE mdl_user set city = 'hack3d' where username = 'zweig'”
Antes de crear el filtro debemos hacer hincapié en que los paquetes enviados a MySQL tienen el campo llamado Packet_Length, que le indica al motor de MySQLcuántos bytes debe leer y ejecutar en la base de datos. Por lo tanto, debemos localizar la consulta que sepamos que va a realizar Moodle, la cual será nuestro objetivo a adulterar, y deberemos modificar también su Packet_Length con el tamaño de nuestra consulta.

La consulta que se ha elegido como objetivo para inyectar nuestra propia consulta es la siguiente, aunque después de un análisis de las consultas podríamos haber usado un montón más que se repiten cada vez que Moodle interactúa con su base de datos:

Figura 10: Consulta elegida con Packet Length de 43 bytes

Se puede ver que su Packet_Length es de 43, el cual en hexadecimal es 2b. La consulta que queremos inyectar en el paquete es la siguiente:
UPDATE mdl_user set city = 'hack3d' where username = 'zweig'
Esta consulta tiene un tamaño de 61, que en hexadecimal es 3d. Con toda esta información ya podemos pasar a elaborar el siguiente filtro:

Figura 11: Filtro creado para modificar la consulta original a Moodle

El filtro detecta si el paquete esta destinado al puerto 3306, que es el que esta utilizando MySQL por defecto, luego decodifica el mensaje filtrando por la palabraSET SESSION. Una vez se cumplan estas dos condiciones, lo primero que hace es reemplazar el Packet_length, en el caso del paquete seleccionado es\x2b\x00\x00, por el tamaño de la que queremos inyectar, es decir\x3d\x00\x00. Después pasamos a modificar la ciudad de un usuario en concreto, al cual le pondremos como ciudad “hack3d”. De la misma forma que se puede hacer sobre ciudad lo podríamos hacer sobre cualquiera de las columnas de la tablamdl_user. Una vez que ya tenemos el filtro llega el momento de compilarlo mediante la instrucción:
etterfilter -o md.ef2 mdl.filter2
Antes de lanzarlo, podemos echar un ojo a la tabla en cuestión de la base de datos, para comprobar el valor que tiene la columna y poder verificar si el filtro ha tenido éxito o no en nuestra prueba:

Figura 12: Ciudad antes de ejecutar el ataque

Una vez que el filtro esta compilado llega el momento de usarlo con Ettercap para realizar el ataque de MiTM entre el servidor web donde corre Moodle y el servidor donde corre el SGBDR MySQL mediante la instrucción:

ettercap -T -q -i -F mdl.ef2 -M ARP
Ahora lo lanzamos el ataque y esperamos a que Moodle interactúe con su base de datos MySQL y listo.

Figura 13: Ataque realizado

Vemos como Ettercap ha detectado un paquete que cumple con condición que le pusimos en el filtro y ejecuta los dos reemplazos programados. Volvemos a mostrar la base de datos y observamos como la columna ciudad del usuario víctima ha sido cambiada.

Figura 14: Dato cambiado en la base de datos de MySQL

Creación de un usuario en Moodle con Network Packet Manipulatrion

Una vez que ya hemos entendido los ataques podemos acabar por hackear el servidor. Para finalizar la prueba de concepto completamente nos crearemos un usuario de Moodle administrador a nuestros gusto. Para ello utilizaremos el siguiente filtro:

Figura 15: Creación de un nuevo usuario en Moodle con Network Packet Manipulation

Se ha hecho de forma análoga al anterior, esta vez el tamaño de nuestra consulta es de 230, por lo tanto remplazaremos el tamaño del original por \x6e\x00\x00.Siguiendo todos los pasos anteriores (compilación del filtro y uso del mismo conEttercap) podremos ver el resultado en la siguiente imagen, donde hemos obtenido un nuevo usuario llamado deadp00l con la contraseña hasheada. En este momento el pentester tendrá acceso al panel de Moodle con este usuario recién creado.

Figura 16: Usuario creado correctamente en Moodle

Defensa en Profundidad en Moodle
La conclusión final es que no solo es importante que el Moodle este debidamente fortificado en cuanto a los permisos de los usuarios dentro de la plataforma, sino que para casos en los que el escenario sea como el mostrado en esta prueba de concepto se deberán cifrar las consultas SQL que se realicen contra el SGBD, en este casoMySQLde forma análoga a como se explicó en este artículo con WordPress, ya que si una persona con intenciones poco benévolas se cuela en medio de la comunicación todo el servidor Moodle podría quedar a su merced.


Figura 17: Proteger cuentas de Moodle con Latch

Al final, mantener un escenario seguro de Moodle implica muchas cosas, no solo estas tareas explicadas en este artículo, sino realizar una fortificación completa del servidor GNU/Linux donde corra Moodle y aplicar fortificación de las cuentas de usuario, usando contraseñas robustas y segundos factores de autenticación comoLatch para Moodle. La seguridad de un sistema exige aplicar protecciones a todos los niveles y que la cadena no se rompa por el menos seguro de ellos.

Autor: Jesús Largo Antón
Alumno del Master de Seguridad de la UEM

Fuente: http://www.elladodelmal.com/2016/05/hackear-un-moodle-con-network-packet.html