Solución al error "Error: The package * needs to be reinstalled, but I can't find an archive for it"

   En ocasiones, en ordenadores con sistemas operativos linux de tipo debian, no es posible actualizar el sistema porque, al intentar ejecutar el comando apt upgrade aparece el error "Error: The package * needs to be reinstalled, but I can't find an archive for it" (en este ejemplo el paquete es "wazuh-manage").
  Esto se debe a que no existe la ruta donde intenta instalar el paquete (en este ejemplo "/var/ossec/api/"), por lo que, aunque se intente desinstalar tampoco se va a poder.
 Por lo tanto, lo primero que se debe hacer es crear dicho directorio ("/var/ossec/api/", en este ejemplo) mediante el comando mkdir <nombre de ruta> (anteponiendo sudo si no se ha iniciado sesión como administrador).
    A continuación, se comprueba que el directorio recién creado está activo, aunque vacío, para lo que se empleará el comando ls.

  Finalmente, se desinstala el paquete conflictivo mediante el comando dpkg --remove --force-remove-reinstreq <nombre del paquete> (anteponiendo sudo si no se ha iniciado sesión como administrador).
  De este modo, ya es posible realizar la actualización correctamente.

  Espero que la presente entrada haya sido interesante para el lector. Si es así, aguardo que éste la comente y/o la comparta, por favor.

El Control de placa base Suricata

  En una entrada anterior se ha hablado del programa Suricata, un IDS e IPS bastante popular.
  Este programa realiza una inspección profunda de paquetes junto con la coincidencia de patrones, una combinación que es increíblemente poderosa en la detección de amenazas.
  Entre sus características se encuentran:
  •   IDS/IPS: Suricata es un motor de prevención y detección de intrusiones basado en reglas que aprovecha los conjuntos de reglas desarrollados externamente, como el conjunto de reglas de Talos y el conjunto de reglas de Emerging Threats Suricata para monitorizar el tráfico de red en busca de cualquier actividad maliciosa, violaciones de políticas y amenazas.
  •   Detección automática de protocolos: El motor de este programa detecta automáticamente protocolos como HTTP y HTTPS. FTP y SMB en cualquier puerto y aplica la lógica adecuada de detección y registro. Esto es útil para detectar soporte lógico malicioso y canales CnC.
  •   Secuencias de comandos de Lua: Suricata puede invocar secuencias de comandos de Lua que brindan detección avanzada de programas maliciosos para detectar y decodificar el tráfico de malware que, de otro modo, sería difícil de detectar.
  •   Subprocesos múltiples: Este programa proporciona velocidad e importancia en la determinación del tráfico de red. El motor está desarrollado para aplicar la mayor potencia de procesamiento que ofrecen los conjuntos de chips de soporte físico multinúcleo modernos.

Configurar un enrutador en Packet Tracer

  En entradas previas de la presente bitácora se ha hablado del Packet Tracer de Cisco.
  Dicho programa es una herramienta de simulación multiplataforma, diseñada por Cisco Systems, que permite al usuario crear distintas simulaciones del funcionamiento o instalación de redes de telecomunicaciones e informáticas de Cisco.
  De este modo, este soporte lógico permite a los usuarios simular distintos tipos de configuraciones para enrutadores o conmutadores de Cisco mediante una interfaz de comandos simulada.
  Por otra parte, se entiende como enrutador un dispositivo que conecta una red doméstica (LAN) a Internet (WAN), actuando como un centro de distribución para el tráfico de datos. Su función principal es recibir la conexión de Internet (generalmente a través de un módem) y dirigir los paquetes de datos hacia los dispositivos adecuados, como ordenadores, teléfonos y tabletas, tanto por cable como de forma inalámbrica (Wi-Fi). 
 En la presente entrada se verá cómo configurar un enrutador virtual de Cisco en el mencionado programa.

Investigando en la red con Sherlock Linux

   En una entrada anterior se ha hablado del programa Sherlock, programa desarrollado por el sherlock-project que busca usuarios en sitios de red.
  No obstante, para la investigación ICA [Inteligencia de Código Abierto ("Open Source Intelligence" ("OSINT"), en inglés)] también puede usarse una herramienta más potente, el sistema operativo Sherlock Linux, que posee numerosas herramientas para este tipo de investigaciones.

La placa base (Parte 2: Pequeños elementos)

   En entradas anteriores de la presente bitácora se ha mencionado, o tratado, el tema de la placa base, esa tarjeta de circuito impreso a la que se conectan los componentes que constituyen el ordenador.
Además de los elementos más populares (algunos de los cuales pueden hasta conocerlos vagamente algunos usuarios estándar), se debe tener en cuenta que existen otros elementos informáticos, aunque bastante relacionados con la electrónica, que también son parte del funcionamiento de una placa base, es decir, que son unos eslabones más de la cadena que representa dicho funcionamiento.
  Se trata, indudablemente, de los condensadores, los transistores, los inductores y las resistencias.
  En una placa base, los condensadores almacenan y liberan energía, estabilizando el voltaje; los transistores actúan como interruptores o amplificadores de corriente, gestionando el flujo de señales y potencia para el correcto funcionamiento de UCP, RAM y otros chips; los inductores almacenan energía en un campo magnético, permiten el paso de corriente continua (CC) pero se oponen a cambios rápidos de corriente, siendo cruciales para la conversión y filtrado de energía en las fuentes de alimentación de la placa base; y las resistencias limitan el flujo de corriente y ajustan voltajes, trabajando todos juntos en circuitos que controlan la energía y la información.

Introducción a Suricata

  Suricata es un sistema de detección de intrusiones ["Intrusion detection system" ("IDS"), en inglés] y un sistema de prevención de intrusiones ["Intrusion detection and prevention systems" ("IPS"), en inglés] de código abierto.
  Este programa ofrece capacidades de detección de amenazas. Además, Suricata proporciona filtrado y monitorización de tráfico, pero también proporciona a los administradores de red la capacidad de crear y aplicar reglas de detección.
  Este soporte lógico es capaz de detectar vectores de ataque comunes como escaneo de puertos , denegación de servicio , transferencia el saludo ("pass-the-hash", en inglés) y ataques de fuerza bruta .
  Suricata utiliza un conjunto de reglas para realizar la detección y el análisis de amenazas.
  Este soporte lógico es conocido por su capacidad para examinar el tráfico de red en tiempo real, identificar patrones maliciosos y responder a amenazas de manera proactiva. Su versatilidad y potencia lo han convertido en una opción popular para proteger sistemas críticos y redes de ataques cibernéticos.
  Además, puede integrarse con otros programas de monitorización [como Elastic StackNetdata, Sycope, Wazuh o Zabbix], u otros soportes lógicos de seguridad {como SELKS [distribución de tipo debian que integra Suricata, Elasticsearch, Logstash, Kibana, Scirius (para gestión de reglas) y EveBox (para análisis de alertas)]}.

Introducción a Network Manager

  Network Manager es un demonio y conjunto de herramientas para sistemas Linux y Unix que automatiza y gestiona las conexiones de red (Wi-Fi, Ethernet, VPN) de forma automática por defecto. Permite la configuración dinámica y estática, facilitando el cambio entre redes y el mantenimiento de la conectividad a través de interfaces gráficas, la línea de comandos (nmcli, nmtui) y applets (pequeña aplicación programada en Java, diseñada para incrustarse en páginas HTML y ejecutarse automáticamente dentro de un navegador de red cliente) de escritorio.

Analizando operaciones con AESphere (Parte 1: SubBytes)

   En una entrada anterior se ha hablado del programa de cifrado AESphere.
  Este programa, principalmente de uso educativo, cifra y descifra textos en formato ECA {Estándar de Cifrado Avanzado ["Advanced Encryption Standard" ("AES"), en inglés]}, que es un algoritmo de cifrado simétrico de bloques, que cifra bloques de 128 bits usando claves de 128, 192 o 256 bits, repitiendo un proceso de sustitución, transposición y mezcla en múltiples rondas para lograr alta seguridad y velocidad, convirtiéndose en un estándar abierto para aplicaciones públicas y privadas.
  Este algoritmo utiliza varias operaciones, una de las cuales es la SubBytes.

La placa base (Parte 1: Generalidades)

   La placa base ("motherboard" o "mainboard", en inglés), es una tarjeta de circuito impreso a la que se conectan los componentes que constituyen el ordenador.
  Es una parte fundamental para montar cualquier ordenador personal de escritorio o portátil, o algún otro dispositivo similar. Tiene instalados una serie de circuitos integrados, entre los que se encuentra el circuito integrado auxiliar ("chipset", en inglés), que sirve como centro de conexión entre el microprocesador (UCP), la memoria de acceso aleatorio (RAM), las ranuras de expansión y otros dispositivos.
Está instalada dentro de una carcasa o gabinete. Generalmente, en la parte de abajo o lateral derecho se pueden ver conectores internos para conectar dispositivos externos (como puertos USB de la carcasa) o internos (como puertos SATA para conectar discos duros).
  La placa base, además incluye un firmware llamado BIOS, que le permite realizar las funcionalidades básicas, como pruebas de los dispositivos, vídeo y manejo del teclado, configuración del equipo, reconocimiento de dispositivos y carga del sistema operativo.

Extraer archivos de un sistema operativo bloqueado con SimpleHTTPServer de Python

  Existen sistemas operativos en vivo, generalmente de tipo linux, que son tan seguros, que no permiten la escritura ni la copia de archivos (independientemente de su tipo) en ellos.
  Python es un lenguaje de programación de alto nivel, interpretado y multiparadigma, conocido por su sintaxis clara y legible, que lo hace ideal para principiantes y expertos, siendo muy versátil para desarrollo web, ciencia de datos, inteligencia artificial, automatización y más.
  SimpleHTTPServer es un módulo incorporado en Python 2 (ahora se llama http.server en Python 3que permite iniciar un servidor de red HTTP básico desde la línea de comandos en segundos, útil para servir archivos estáticos de una carpeta local, facilitando compartir archivos o probar sitios de red sin instalar soporte lógico adicional, actuando como un servidor de contenido estático.

Investigar un dominio mediante Maltego

  En una entrada anterior, se ha hablado del  programa Maltego, que es una herramienta desarrollada en Java, que recopila información y la muestra en forma de gráficas, ayudando así en el análisis posterior de la información obtenida por los equipos de inteligencia y forense.
  Contiene una serie de módulos de aplicaciones externas, denominadas transformaciones, que complementan su potencial.
  Esta herramienta funciona de la siguiente manera:
  •   Maltego envía la petición a los servidores de semillas en formato XML a través de HTTPS.
  •   La petición del servidor de la semilla se da a los servidores TAS que se transmiten a los proveedores de servicios.
  •   Los resultados se envían al cliente Maltego.
  Puede instalarse en Windows, Linux (de hecho, el Kali Linux ya viene con un instalador de este programa predeterminadamente) y MacOS.

Cifrando con AESphere

  Este programa permite al usuario realizar prácticas con el algoritmo ECA {Estándar de Cifrado Avanzado ["Advanced Encryption Standard" ("AES"), en inglés]} en entornos de Windows.
  Desarrollado en Java, su nombre se debe a la esfera que recubre al candado en el logotipo.
  Esta aplicación se emplea en criptografía, que es el ámbito de la criptología que se ocupa de las técnicas de cifrado o codificado destinadas a alterar las representaciones lingüísticas de ciertos mensajes con el fin de hacerlos incomprensibles a receptores no autorizados.
  Concretamente, AESphere, como su nombre indica, emplea el algoritmo ECA, también conocido como Rijndael, que consiste en un esquema de cifrado por bloques adoptado como un estándar de cifrado.  

Soporte lógico de monitorización de sistemas

 
  Actualmente se vive en un mundo donde las tecnologías de la información (TI) se emplean para prácticamente todo, especialmente en el ámbito comercial.
  Mas para poder garantizar el rendimiento y la seguridad de infraestructuras informáticas, es necesario monitorizar los sistemas informáticos relacionados con dichas tecnologías.
  Partiendo de la base de que un buen sistema de monitorización permite detectar problemas para los sistemas informáticos, incluso antes de que afecten a los usuarios, y así tener siempre disponibles todos los recursos sin que afecte en el día a día, urge la necesidad de contar con herramientas con las que monitorizar el ordenador de manera efectiva.
  En entradas anteriores ya se ha hablado de algunos soportes lógicos que tienen la finalidad de monitorizar (de un modo u otro) estos sistemas informáticos o, al menos, una parte de su infraestructura. Así, en entradas anteriores se ha hablado de Zabbix, Elastic Stack, Dynatrace o PRTG Network Monitor.

El navegador de ATT&CK

   El navegador ATT&CK es una herramienta que proporciona una forma eficiente de navegar y utilizar el marco ATT&CK de Mitre (organización estadounidense sin ánimo de lucro que provee ingeniería de sistemas, investigación y desarrollo, y soporte sobre tecnologías de la información al gobierno de Estados Unidos de América).
 Este navegador está diseñado para ofrecer navegación básica y anotación de matrices ATT&CK, para que sea simple y genérico.
 Puede usarse para visualizar la cobertura defensiva del usuario, la planificación de un equipo rojo/azul, la frecuencia de las técnicas detectadas o cualquier otra cosa que se desee hacer. Por otra parte, el navegador permite al usuario manipular las celdas de la matriz (codificar por colores, añadir un comentario, asignar un valor numérico, etc.).
  Su característica principal es la posibilidad de que los usuarios definan capas (vistas personalizadas de la base de conocimientos de ATT&CK), que pueden crearse interactivamente dentro del navegador o generarse programáticamente y luego visualizarse a través de él.

Introducción a Maltego

  Maltego es un soporte lógico utilizado para la inteligencia de código abierto (al igual que Sherlock) y forense, desarrollado por Paterva. Este programa se enfoca en proporcionar una biblioteca de transformaciones para el descubrimiento de datos de fuentes abiertas y visualizar esa información en un formato gráfico, adecuado para análisis de enlaces y minería de datos.
  Maltego permite crear entidades personalizadas, lo que le permite representar cualquier tipo de información además de los tipos básicos de entidades que forman parte del soporte lógico. El enfoque básico de la aplicación es analizar las relaciones del mundo real (red social y red de ordenadores entre personas, grupos, páginas de red, dominios, redes, infraestructura de Internet y afiliaciones con servicios de línea nodos de redes informáticas como Twitter y Facebook. Entre sus fuentes de datos se encuentran el sistema de nombres de dominio, entre otros.
  Es usado para la seguridad de la información y por detectives privados.

Cambiar propiedades de cuenta de Windows desde el Símbolo de sistema

  Si se necesita cambiar alguna de las propiedades del usuario desde el Símbolo de sistema, se abre el mismo como administrador.
  Una vez dentro de dicha consola, se escribe el comando NET USER <NOMBRE DE USUARIO> para comprobar cómo está configurado dicho usuario (en el ejemplo "alumno").

  En este ejemplo se cambiará la contraseña del usuario. Para ello, se debe dar el permiso  adecuado (puede verse que la opción "El usuario puede cambiar la contraseña" está en "No") mediante el comando NET USER <NOMBRE DEL USUARIO> /PASSWORDCHG:YES
  Puede comprobarse (con el comando indicado más arriba) que la opción "El usuario puede cambiar la contraseña" ahora tiene el valor "Sí".
  Acto seguido, se cambia la contraseña por otra ("1234", en el ejemplo), mediante el comando NET USER <NOMBRE DE USUARIO>  <NUEVA CONTRASEÑA>.
  Para que no expire la contraseña se debe emplear el comando WMIC USERACCOUNT WHERE NAME='<NOMBRE DE USUARIO>' SET PASSWORDEXPIRES=FALSE.
 Puede comprobarse el resultado con el comando indicado al principio (fijándose en la sección "La conttraseña expira").

 Espero que la presente entrada haya sido interesante para el lector. Si es así, aguardo que el lector la comente y/o la comparta, por favor.

Rehabilitar un netbook antiguo como herramienta minimalista de auditoría informática

   Si un usuario tiene un netbook (especialmente si es de arquitectura i686 o cualquiera reconocida como "x32") cogiendo polvo y desea recuperarlo como una herramienta útil con fines de auditorías informáticas, o bien si dicha persona tiene inquietudes de seguridad de su red  y le gusta hacer auditorías informáticas de un modo románticamente anticuado, puede lograrlo instalándole una versión de consola de la distribución linux Kali Linux 2024.
  Esta distribución es la mejor opción porque es la más actualizada para el tipo de arquitectura con el que se quiere trabajar, y porque ya posee la mayoría de las herramientas de consola gratuitas adecuadas para un análisis informático bastante decente. 

Introducción a ATT&CK

  ATT&CK de Mitre (organización estadounidense sin ánimo de lucro que provee ingeniería de sistemas, investigación y desarrollo, y soporte sobre tecnologías de la información al gobierno de Estados Unidos de América) es una base de conocimiento global de tácticas, técnicas y procedimientos comunes que los adversarios utilizan en ciberataques. Se presenta en forma de una matriz que clasifica las acciones de los ciberdelincuentes y ayuda a equipos de seguridad a comprender, preparar y defenderse de las amenazas.
  En su momento, este marco pretendía ser un estándar para describir y categorizar comportamientos de los atacantes y clasificar los mismos en tácticas, técnicas y procedimientos. Actualmente, el proyecto cuenta con varias matrices para diferentes ámbitos, donde se recopilan diferentes tácticas y técnicas dependiendo del tema abordado. Las matrices se basan en tácticas, que son métodos utilizados para alcanzar un objetivo específico; y técnicas, que definen la forma de realizar acciones o estrategias concretas para alcanzar diferentes objetivos definidos dentro de cada táctica. Ambas poseen un identificador único asociado que permite hacer una referencia a ellas sin generar dudas.

Introducción al programa Sherlock

   Sherlock es una herramienta de código abierto diseñada para encontrar perfiles en redes sociales y otras plataformas en línea asociados a un nombre de usuario específico.
  Como se trata de una herramienta ICA {Inteligencia de Código Abierto ["(Open Source Intelligence" ("OSINT"), en inglés]} es, de base, totalmente legal.