El ataque que puede romper un sistema linux con 13 Carácteres ¿Sabes que es una Fork Bomb?

Una fork bomb es una forma de ataque de denegación de servicio (DoS) dirigida a sistemas Unix y similares. Este ataque utiliza el comando fork, que permite a un proceso duplicarse indefinidamente, saturando los recursos del sistema.

La conocida secuencia :(){ :|:& };: es una función de bash que se ejecuta de manera recursiva, creando copias de sí misma de forma continua. Su objetivo es agotar rápidamente los recursos del sistema (como la CPU y la memoria), lo que provoca que el sistema deje de funcionar correctamente. A menudo se utiliza para poner a prueba las limitaciones que tiene un usuario sobre la cantidad de procesos que puede generar en un servidor.

En sistemas Linux, es posible mitigar este tipo de ataques configurando límites en el archivo /etc/security/limits.conf o utilizando el módulo pam_limits a través de /etc/security/limits.d. Estas configuraciones permiten limitar la cantidad de procesos que un usuario puede ejecutar simultáneamente, reduciendo el riesgo de una bomba fork.

Una vez que la fork bomb ha sido activada y el sistema se ve afectado, la única forma de detenerla de manera efectiva suele ser reiniciar el sistema forzosamente, ya que es muy difícil eliminar todas las instancias del proceso manualmente.

Qué hacer para evitarlo

Una forma eficaz de prevenir ataques como la fork bomb es limitar el número de procesos que un usuario puede ejecutar simultáneamente en un sistema. Para verificar la cantidad máxima actual de procesos permitidos, puedes utilizar el siguiente comando:

ulimit -u

 

Este comando te mostrará el número máximo de procesos permitidos. Para una visión más completa de los límites configurados para el sistema, puedes ejecutar:

ulimit -a

 

Supongamos que el valor devuelto es 50922, lo que indica que un usuario puede ejecutar hasta 50,922 procesos. Para proteger el sistema contra una fork bomb, este valor debería reducirse. Si, por ejemplo, deseas limitar el número de procesos a 5,000, puedes utilizar el siguiente comando:

ulimit -S -u 5000

 

¡Advertencia!: Es importante no establecer un valor de ulimit demasiado bajo, ya que podría interferir con el funcionamiento normal del sistema.

Si intentas ejecutar una fork bomb después de aplicar este límite, obtendrás un mensaje de error similar al siguiente:

bash: fork: Resource temporarily unavailable

 

Este mensaje indica que el sistema ha bloqueado la creación de nuevos procesos debido al límite configurado. Para verificar la cantidad actual de threads (hilos) utilizados, puedes ejecutar:

pgrep -wcu $USER

 

La salida te mostrará el número actual de procesos en ejecución.

Minientrada

¿Necesitas más almacenamiento? Esta nueva técnica te podría permitir tener almacenamiento ILIMITADO GRATIS

Es posible que te preguntes cómo una partida de ajedrez puede ser usada para almacenar datos. Pero un usuario llamado Wilson lo que ha conseguidos es aprovechar la capacidad de Lichess, una plataforma de ajedrez online, para guardar los movimientos de cada partida. Sin embargo, esto no aclara cómo podría almacenarse un archivo, como un texto o una imagen.

Wilson publicó una demostración en YouTube donde muestra cómo convierte una imagen de baja resolución de Mr. Krabs (de Bob Esponja) a código binario. Cada píxel de la imagen se transforma en una secuencia de ceros y unos. Estos bits luego se convierten en movimientos de ajedrez, utilizando dos bots que jugaron automáticamente casi 20.000 movimientos en 98 partidas.

Al finalizar las partidas, la secuencia de movimientos reflejaba la imagen codificada, que después podía descargarse y decodificarse para recuperar la imagen original.

Aunque este método es técnicamente impresionante, presenta grandes limitaciones. La velocidad de carga es extremadamente lenta: una imagen de 9 KB tardó 90 minutos en subirse, a una velocidad de 2 bytes por segundo, mucho más lenta que una conexión 2G. En resumen, aunque funcional y con el código disponible en open source, no es una opción práctica frente a servicios de almacenamiento en la nube como Google Drive o OneDrive.

En este vídeo explica el funcionamiento de su sistema:

Que las velocidades de carga y descarga sean demasiado lentas, no implica que este experimento carezca de valor práctico o que sea simplemente una curiosidad técnica. Todo lo contrario: es un ingenioso ejemplo de esteganografía, una técnica utilizada para ocultar información dentro de un mensaje o medio que parece inocuo. Esto puede ser especialmente útil cuando se busca proteger la privacidad. Aunque el método de Wilson no emplea un cifrado robusto ni está diseñado para resguardar datos sensibles, sí podría ser utilizado para ocultar pequeños textos o imágenes, sirviendo como una curiosidad creativa.

El concepto de esconder mensajes en partidas de ajedrez no es nuevo. Durante la Segunda Guerra Mundial, por ejemplo, el ajedrez por correspondencia, en el que los jugadores enviaban sus movimientos por correo, era una actividad popular entre soldados y civiles. Sin embargo, los censores en Norteamérica comenzaron a sospechar que algunas de estas partidas transatlánticas podrían estar siendo utilizadas para filtrar secretos militares.

Minientrada

Programas que Deberías a Aprender a Utilizar

CPU-Z

Es un programa muy útil que nos brinda información detallada sobre el procesador, tarjeta de vídeo, memoria ram, tarjeta gráfica, etc. Este software nos ayuda también a detectar el modelo para asegurarte si los componentes que te vendieron son realmente los que compraste.

Malwarebytes

Es un sistema que permite detectar todo tipo de virus y hace un análisis heurístico que aparte de detectar los virus y programas maliciosos, los aisla y los desconectar de la red para evitar que sigan actuando y seguir obteniendo información. Este programa cuida tu ordenador contra los virus informáticos.

Afterburner

MSI Afterburner es un programa gratuito dedicado especialmente al monitoreo de rendimiento de las tarjetas gráficas. Su fuerte es el poder configurar a tu gusto la curva de los ventiladores (potencia o velocidad a la que que llegarán en cada momento).

CrystalDiskInfo

Este programa te ayudará a ver el estado de salud de tus unidades de almacenamiento ya sean discos duros HDD o unidades SDD. Esta te ayuda a saber información de la temperatura de la unidad, estado, rendimiento, entre otros parámetros.

OCCT

Tiene ya 20 años de experiencia y es uno de los programas más confiables para monitorear tu ordenador. Es un programa utilizado para realizar pruebas de extres y así demostrar la estabilidad de los componentes y ver donde están los cuellos de botella.

 

¿Quieres crear proyectos de programación pero no tienes ideas?

Seguro que alguna vez has querido realizar un proyecto para aprender algún concepto nuevo de programación o has querido comenzar algo para divertirte, pero no te han surgido ideas.

Hoy os traigo un repositorio de GitHub que se llama Public APIs que básicamente recoge un cojunto de APIs gratuitas, desde Anime, música, libros, correo…

Lo mejor es que aunque no las uses, pueden servirte para coger ideas para tu proximo proyecto de programación.

Este es el enlace: https://github.com/public-apis/public-apis

Minientrada

Encontrar la ubicación de una Fotografía

Seguro que alguna vez has querido recordar donde hiciste una foto o, como buen investigador que eres, quieres hacer una demostración para que la gente vea lo fácil que es obtener la ubicación de una imagen.

Hoy os traigo algunas webs que os permitirán conocer rápidamente donde se ha realizado una fotografía:

  1. agent.earthkit.app (GeoClip + Google Lens).
  2. earthkit.app
  3. geospy.aiusersearch.ai (GeoSpy integration)
  4. picarta.ai
  5. labs.tib.eu/geoestimation/

Aprende JavaScript con estos Repositorios de GitHub

Hoy os traigo una serie de repositorios de GitHub que os permitirán aprender más sobre JavaScript y profundizar más en las curiosidades del leguaje.

You Don’t Know JS

⭐ 178k+

Una serie de libros que profundizan en los mecanismos fundamentales del lenguaje JavaScript.

Enlace: https://github.com/getify/You-Dont-Know-JS

WTFJS

⭐ 34k+

Una lista de ejemplos curiosos y difíciles de JavaScript.

Enlace: https://github.com/denysdovhan/wtfjs

JS The Right Way

⭐ 8k+

Una referencia rápida sobre buenas prácticas y estándares aceptados de código JavaScript.

Enlace: https://github.com/jstherightway/js-the-right-way

Clean Code JavaScript

⭐ 90k+

Principios de ingeniería de software del libro Clean Code, adaptados para JavaScript.

Enlace: https://github.com/ryanmcdermott/clean-code-javascript

33 JS Concepts

⭐ 62k+

Una guía de 33 conceptos modernos de JavaScript que todo desarrollador debería conocer.

Enlace: https://github.com/leonardomso/33-js-concepts

ES6 for Humans

⭐ 7k+

Una guía explicativa para comenzar a escribir ES6 de manera clara y comprensible.

Enlace: https://github.com/metagrover/ES6-for-humans

Javascript-algorithms

⭐ 187k+

Este repositorio contiene ejemplos basados en JavaScript de muchos algoritmos y estructuras de datos populares.

Enlace: https://github.com/trekhleb/javascript-algorithms/blob/master/README.es-ES.md

Minientrada

¡Precaución! Estafas en Parquímetros

Las estafas conocidas como quishing se están volviendo más comunes en varios países. En estos casos, los delincuentes sustituyen los códigos QR auténticos por falsos que redirigen a sitios web que imitan a los oficiales, pero que están bajo control de ciberdelincuentes.

Recomendaciones (para el caso de los parquímetros):

  1. Descarga siempre las aplicaciones de parquímetros desde sus sitios oficiales.
  2. Realiza los pagos únicamente a través de esas aplicaciones.
  3. Si es necesario escanear un código QR, asegúrate de tocarlo para verificar que no haya otro código oculto debajo.


Fuente: María Aperador Montoya.

Web para encontrar ideas de proyectos para aprender a ser un gran desarrollador

Hoy os traigo Roadmap.sh, una plataforma en línea que ofrece guías detalladas y bien organizadas para ayudar a los desarrolladores y profesionales de la tecnología en su proceso de aprendizaje y en el desarrollo de habilidades clave. Estas guías, conocidas como «mapas de ruta», son representaciones visuales que indican las tecnologías, herramientas y conceptos necesarios para avanzar en una carrera tecnológica específica.

Principales características:

  • Mapas de ruta adaptados a diferentes roles: La plataforma ofrece guías específicas para varios perfiles tecnológicos, como desarrollador frontend, backend, DevOps, ingeniero de datos, entre otros. Cada mapa de ruta está diseñado para mostrar el orden recomendado de aprendizaje de tecnologías y conceptos clave según el rol.
  • Actualización constante: Los mapas de ruta se actualizan regularmente para mantenerse al día con las últimas tendencias y prácticas recomendadas en la industria tecnológica.
  • Recursos adicionales: Además de los mapas, Roadmap.sh sugiere recursos, tutoriales y documentación que pueden ser útiles para aprender cada tecnología o concepto en profundidad.
  • Diseño visual intuitivo: Los mapas de ruta están diseñados de manera clara y visual, lo que permite a los usuarios ver de forma sencilla qué deben aprender y en qué orden hacerlo.

¿Para qué sirve?

Roadmap.sh es una herramienta útil para quienes están comenzando en un área tecnológica nueva o desean profundizar sus conocimientos en un campo específico. Los mapas de ruta ayudan a:

  • Guiar el aprendizaje: Ofreciendo un plan estructurado sobre los pasos a seguir en el proceso de aprendizaje.
  • Evitar la sobrecarga de información: Focalizando el aprendizaje en las tecnologías y conceptos más relevantes para una carrera específica.
  • Mantenerse actualizado: Asegurando que los profesionales sigan las tendencias actuales en desarrollo de software y otras áreas tecnológicas.

En resumen, Roadmap.sh es una herramienta valiosa para quienes buscan un enfoque claro y organizado para avanzar en su carrera tecnológica.

Competición de peores Interfaces de Usuario

¿Te ha pasado alguna vez que intentas reservar una mesa en un restaurante por internet y terminas reservando un viaje a otro continente? ¿O que quieres cerrar una ventana de publicidad y accidentalmente compras tres licencias de antivirus? Si has experimentado el horror de un diseño de interfaz torcido, poco intuitivo y, francamente, incomprensible, entonces el subreddit r/badUIbattles es tu paraíso… o tu peor pesadilla.

¿Qué es r/badUIbattles?

Es el lugar de Reddit donde el diseño desastroso encuentra su hogar. Aquí, miles de usuarios comparten capturas de pantalla, videos y memes sobre las peores experiencias de usuario en aplicaciones, sitios web y dispositivos que parece que fueron diseñados por alguien con los ojos cerrados. Básicamente, es una galería de los mejores errores de los peores diseñadores.

No importa si se trata de un botón que lleva a un lugar inesperado, una fuente ilegible en un color invisible, un menú tan caótico que parece diseñado por un artista abstracto, o un anuncio imposible de cerrar: si te hace decir “¿qué estaban pensando?”, r/badUIbattles es su hogar.

 

¿Por qué la gente ama/odia r/badUIbattles?

Más allá de la frustración, ver estos fallos de diseño se vuelve divertido porque todos nos identificamos con esas situaciones donde una simple tarea se convierte en una misión imposible. Cada publicación es un recordatorio de lo importante que es un buen diseño, y es un lugar donde nos reímos del desastre. Además, la comunidad se une para comentar, proponer soluciones, y por supuesto, burlarse con humor de los errores.

Y lo mejor de todo, esta comunidad de críticos y «entendidos» del diseño no se toma nada demasiado en serio. Los usuarios compiten (amistosamente) para ver quién encuentra el error más absurdo, y todos los días aparece algún ejemplo que desafía las leyes de la lógica y de la estética. Es como ver una película mala, tan mala que es buena: estos errores terminan siendo el mejor entretenimiento.

Así que, ¿por qué no darte una vuelta?

Si alguna vez te frustras por un botón confuso o una pantalla que parece diseñada por alguien que no ha usado una computadora en su vida, pasa por r/badUIbattles. Ríete de los errores ajenos, desahógate en los comentarios, y tal vez, solo tal vez, encuentres el consuelo de que otros también han sufrido en el campo de batalla de las malas interfaces.