Mostrando entradas con la etiqueta solaris. Mostrar todas las entradas
Mostrando entradas con la etiqueta solaris. Mostrar todas las entradas

02 noviembre 2025

Argus - El Kit Definitivo de Reconocimiento

Argus es una herramienta todo en uno de recolección de información diseñada para hackers éticos y expertos en ciberseguridad. Integra de manera fluida el análisis de redes, la exploración web y la detección de amenazas, todo en una interfaz elegante e intuitiva. Argus convierte el complejo reconocimiento en un arte de simplicidad.

Ya sea que estés realizando una investigación, realizando evaluaciones de seguridad con la autorización adecuada o simplemente tengas curiosidad acerca de las infraestructuras de red, Argus pone una gran cantidad de información a tu alcance, todo en un solo lugar.

https://github.com/jasonxtn/Argus


Que te diviertas!

01 octubre 2025

Free-Proxy

Es cierto que cualquier cambio, incluso el más deseado, trae consigo alguna tristeza o nostalgia por el pasado.
Franz Kafka
Lista de Proxys para ser usada de inmediato, pràctica y còmoda.
Una herramienta excelente.
Proyectos de código abierto como este aportan transparencia y extensibilidad a las herramientas. Siempre revisa y contribuì de forma segura: la colaboración refuerza la fiabilidad y protege contra vulnerabilidades.


Instalaciòn en Linux
vampii@lomaw:$ git clone https://github.com/mishakorzik/Free-Proxy
vampii@lomaw:$ cd Free-Proxy
vampii@lomaw:$ bash SetupLinux.sh


Iniciar Free-Proxy
vampii@lomaw:$ bash FreeProxy.sh


Comando para la herramienta de actualización:
vampii@lomaw:$ bash Update.sh

Obviamente tambien lo podes instalar en Termux y usarlo desde tu celular, por dar un ejemplo.


Que te diviertas!

03 septiembre 2025

Navegador de línea de comandos LINKS

Bienvenidos a Quilmes..., donde imperan la furia, el hambre y la enfermedad, y la vida y la esperanza se hallan estrictamente racionadas.
Un quilmeño cualquiera
Para los administradores de sistemas que generalmente no tienen X-window como medida de seguridad en sus servidores, el navegador web basado en texto viene al rescate, la tambien famosamente llamada "Soluciòn del Hombre Pobre".
Algunos sistemas operativos Linux vienen con un navegador basado en texto; por ejemplo, el navegador web 'links' viene incluido con Slackware. Fue desarrollado en 1992 por la Universidad de Kansas y todavía lo mantiene de forma activa un grupo dedicado de desarrolladores.

Si un navegador de línea de comandos es más rápido, tiene una mejor interfaz, etc., entonces tiene sentido utilizar navegadores basados ​​en texto. En realidad, para algunas funciones, el navegador basado en texto proporciona un mejor acceso a la información codificada en la página que la interfaz gráfica.

Links es un navegador web gráfico y de texto de código abierto escrito en C y disponible para sistemas Windows, Linux, OS X, OS/2, Open VMS y DOS. Se publica bajo la licencia GPLv2+. Es uno de esos navegadores que tiene muchas derivaciones basadas en él, entre ellas Elinks (Experimental/Enhanced Links), Hacked Links, etc.

Este es un navegador ideal para quienes desean experimentar elementos de interfaz gráfica de usuario en un entorno de solo texto. Links 2.30, la última versión, y es una versión avanzada de Links que admite JavaScript, lo que da como resultado un navegador web mucho más rápido.

La característica principal de Links es que puede ejecutarse en modo gráfico incluso para aquellos sistemas que no tienen X Server debido a su soporte para controladores gráficos para X Server, Linux Framebuffer, svgalib, OS/2 PMShell y Atheos GUI.

Links es conocido por su simplicidad y lo utilizan principalmente personas que prefieren la navegación basada en texto, aquellos con conexiones de bajo ancho de banda o por razones de accesibilidad.

Para instalar Links en Linux, utiliza el comando apropiado para tu distribución de Linux específica.

root@lamthac:~# slpkg install links --repository=slack [En Slackware Linux]
[vampii@gostir ~]$ sudo apt install links [En Debian, Ubuntu y Mint ]
[vampii@ancalagon ~]$ sudo yum install links [En RHEL/CentOS/Fedora y Rocky/AlmaLinux ]
[vampii@angurth ~]$ sudo emerge -a sys-apps/links [En Gentoo Linux ]
[vampii@khuzadrepa ~]$ sudo apk add links [En Alpine Linux ]
[vampii@khamul ~]$ sudo pacman -S links [En Arch Linux ]
[vampii@daelomin ~]$ sudo zypper install links [En OpenSUSE ]
vampii@scatha:[~]# pkg install links [En FreeBSD]


Para probarlo, simplemente abrì tu terminal y escriba lynx seguido de la URL.

vampii@lomaw:[~]$ links https://vampii.blogspot.com/2013/08/curiosidades-de-la-consola-links-y-lynx.html
Ejemplo del menù de Links (tecla Fn9)

Ya sea que seas un sysadmin desde un server, un usuario nostálgico o alguien que busca una alternativa liviana, estos navegadores invitan a explorar la web de una manera diferente, basada en texto.


Que te diviertas!

05 julio 2025

Recargar .bashrc sin reiniciar sesión

Todos los elementos que conforman una sociedad moderna están interconectados. Para satisfacer las necesidades de cada individuo, se requiere de las habilidades de muchos otros. Nuestras vidas se entrelazan entre sí, creando un tejido complejo. Pero los vínculos que fortalecen una sociedad también pueden hacerla vulnerable.
Desconocido
Explicaciòn corta:
El archivo .bashrc se carga cada vez que un usuario ejecuta Bash. Cuando Bash inicia una Shell Bash (Bourne-again shell), la Shell primero lee el archivo /etc/bashrc o /etc/bash.bashrc (según que distribución utilicemos) y luego el archivo ~/.bashrc del usuario que ejecuta Bash.
Aca mencione brevemente su uso.

Si tuvimos que modificar el archivo .bashrc y queremos que surtan efecto inmediatamente los cambios realizados, pero sin reiniciar la sesión del usuario, ese tan simple como ejecutar el siguiente comando:

vampii@lomaw:[~]$ source ~/.bashrc




Que te diviertas!

24 junio 2025

Cambiar la Zona Horaria en Slackware

Limítate al presente.
Marco Aurelio
La forma más sencilla de cambiar la zona horaria es cambiando el enlace simbòlico de /etc/localtime, con el formato /usr/share/zoneinfo/MiContinente/MiCiudad
Configuraremos la zona horaria mediante la creación de un enlace simbólico en /etc:

root@lomaw:~# ln -sfn /usr/share/zoneinfo/America/Buenos_Aires /etc/localtime

Comprobamos que todo este bien:

root@lomaw:~# ls -al /etc/localtime
lrwxrwxrwx 1 root root 50 jul 27 05:39 /etc/localtime -> /usr/share/zoneinfo/America/Argentina/Buenos_Aires
root@lomaw:~#

Y listo, ya tenemos configurada nuestra zona horaria.


Que te diviertas!

16 enero 2025

Joplin

Llamaremos a este toot: Ni Notion, ni Evernote, ni Obsidian, o dicho de otra forma: ¡Para vos Barney!
Hace unos cuantos meses que me enfrentaba a un desafío que seguramente tengamos en común: Mantener todas las ideas, tareas y proyectos organizados y de manera eficiente.
Probé diversas soluciones, varias privativas (sic!) pero ninguna parecía adaptarse a mis necesidades específicas.
¡Hasta que descubrí Joplin!

Una aplicación de Software Libre que ha transformado mi manera de trabajar y estudiar, así como mi vida personal.

Algunas de sus características:
Organización Flexible: Con Joplin, puedes crear cuadernos, sub-cuadernos y etiquetas para clasificar tus notas y tareas de manera super intuitiva.
Sincronización Segura: Mantén tus notas sincronizadas en todos tus dispositivos de forma segura, sin preocuparte por la privacidad de tus datos.
Personalización: Desde plantillas personalizadas hasta la integración con otras herramientas como Nextcloud, Joplin se adapta a tus flujos de trabajo.
Markdown: Utiliza Markdown para formatear tus notas fácilmente, lo que te permite enfocarte en el contenido sin distracciones.
Software Libre: Al ser una herramienta de software libre, Joplin es completamente transparente y adaptable. Puedes modificarlo según tus necesidades y contribuir a su mejora continua.

Funcionalidades de Joplin
Tomar Notas Simples:
Escribe tus notas diarias o listas de tareas.
Etiquetas:
Organiza tus notas con etiquetas.
Sincronización Multidispositivo:
Sincroniza tus notas entre tu computadora y tu smartphone.
Plantillas Personalizadas:
Crea plantillas para notas recurrentes.
Integración con Nextcloud u otras plataformas de la "Nube":
Sincroniza tus notas con Nextcloud para mayor seguridad y control.

Uso de Plugins:
Extiende las funcionalidades de Joplin con plugins.

Top 10 cosas que puedes hacer con Joplin:
  1. Tomar y organizar notas en cuadernos y subcuadernos.
  2. Sincronizar notas en múltiples dispositivos.
  3. Utilizar Markdown para formatear notas.
  4. Crear listas de tareas con checkboxes.
  5. Etiquetar y buscar notas fácilmente.
  6. Integrar con servicios de almacenamiento en la nube como Nextcloud.
  7. Exportar e importar notas en varios formatos (Markdown, PDF, etc.).
  8. Usar plantillas para notas recurrentes.
  9. Proteger notas con contraseña.
  10. Extender funcionalidades con plugins de terceros (o crear tus propios plugins).

Los 20 plugins más importantes y más útiles
  1. Note Tabs: Permite abrir varias notas en pestañas, facilitando la navegación entre ellas.
  2. Outline: Proporciona una vista de esquema de la nota actual, ideal para documentos largos.
  3. Table of Contents: Genera automáticamente un índice basado en los encabezados de la nota.
  4. Quick Links: Facilita la creación de enlaces internos entre notas.
  5. Kanban: Convierte tus notas en un tablero Kanban para gestión de proyectos.
  6. Calendar: Añade funcionalidades de calendario para gestionar tareas y eventos.
  7. Backlinks: Muestra enlaces inversos, ayudando a ver qué notas enlazan con la nota actual.
  8. Favorites: Permite marcar notas, cuadernos y etiquetas como favoritos para un acceso rápido.
  9. Embed Search: Inserta resultados de búsqueda dentro de una nota.
  10. Custom CSS: Permite personalizar la apariencia de Joplin con CSS personalizado.
  11. Repeating To-Dos: Añade la capacidad de crear tareas recurrentes.
  12. Markdown Table: Mejora la creación y edición de tablas en Markdown.
  13. Note Link System: Facilita la creación de enlaces entre notas con un sistema de autocompletado.
  14. Goto Anything: Proporciona una barra de búsqueda rápida para navegar entre notas.
  15. Tags Generator: Genera etiquetas automáticamente basadas en el contenido de las notas.
  16. Note Statistics: Muestra estadísticas detalladas sobre tus notas, como recuento de palabras y caracteres.
  17. Attachment Manager: Gestiona los archivos adjuntos en tus notas de manera más eficiente.
  18. Spaced Repetition: Implementa un sistema de repetición espaciada para mejorar la retención de información.
  19. Rich Markdown: Mejora la visualización y edición de Markdown con una vista previa en tiempo real.
  20. OCR: Realiza reconocimiento óptico de caracteres en imágenes adjuntas para extraer texto.

Mi experiencia personal:
Como alguien que busca hacer más en menos tiempo y tratar de perfeccionar su productividad, he probado numerosas herramientas a lo largo de los años.
Sin embargo, la flexibilidad y las características de Joplin han sido un cambio imporante para mí. Me permite mantener todas mis notas y tareas organizadas, lo que me ayuda a enfocarme en lo que realmente importa: ser más productivo.
¡Y todo esto es Software Libre y Abierto! ¡Para vos Barney!
¿Has probado Joplin o alguna otra herramienta de software libre del estilo?
¡Me encantaría conocer tu experiencia!

Descubre Joplin aquí: https://joplinapp.org/

Via free4fun

Que te diviertas!

07 noviembre 2024

Expresión regular de Mayúscula

Expresión regular simple pero eficiente para un análisis de texto rápido:

grep -P '(?<!^)(?<!\. )[A-Z][a-z]+' texto.txt

Encuentra todas las palabras que comienzan con una letra mayúscula pero que no son el comienzo de una oración (resalta la información clave).

Que te diviertas!

31 octubre 2024

Endlessh: Tarpit SSH

La línea que separa el bien del mal no pasa entre Estados, ni entre clases, ni entre ideologías, sino que atraviesa el corazón de cada ser humano.
Aleksandr Solzhenitsyn
Homero: Dentro de cada Hombre hay una Lucha entre el Bien y el Mal que no se resuelve (sale imaginacion con Homero vestido de diablo y con maracas en un cementerio. Y Una lapida del Homero Bueno enterrado, mientras esta cantando: 🎵 SOY HOMERO EL MALOO, SOY HOMERO EL MALOO, SOY HOMERO EL MALOO🎶)...
Un tarpit es un servicio en un sistema informático (normalmente un servidor) que retrasa deliberadamente las conexiones entrantes. La técnica se desarrolló como defensa contra un gusano informático y la idea es que los abusos de la red, como el envío de correo basura o el escaneo general, son menos eficaces y, por lo tanto, menos atractivos si tardan demasiado. El concepto es análogo al de un pozo de alquitrán, en el que los animales pueden empantanarse y hundirse lentamente bajo la superficie, como en un pantano.

Resumiendo, un Tarpit es una cosa sencilla. Una trampa que se basa en que en que un puerto de tu servidor tarde muchísimo en responder. Le drenes recursos que podría estar utilizando para atacar otros hosts y además se desmotive y se vaya a dar romper las pelotas a otro sitio.

Endlessh es un tarpit SSH que envía muy lentamente un banner SSH aleatorio e infinito . Mantiene a los clientes SSH bloqueados durante horas o incluso días seguidos. El propósito es poner su servidor SSH real en otro puerto y luego dejar que los script kiddies se queden atrapados en este tarpit en lugar de molestar a un servidor real.

Dado que el tarpit se encuentra en el banner antes de que se produzca cualquier intercambio criptográfico, este programa no depende de ninguna biblioteca criptográfica. Es un programa C simple, autónomo y de un solo subproceso. Usa poll() para atrapar a varios clientes a la vez.

Justo después de que la conexión TCP es establecida y antes de negociar la criptografía ambos lados mandan un string de identificación. No hay límite en los datos que puede enviar...
Uso
La información de uso se imprime con -h.

Usage: endlessh [-vhs] [-d MS] [-f CONFIG] [-l LEN] [-m LIMIT] [-p PORT]
-4 Bind to IPv4 only
-6 Bind to IPv6 only
-d INT Message millisecond delay [10000]
-f Set and load config file [/etc/endlessh/config]
-h Print this help message and exit
-l INT Maximum banner line length (3-255) [32]
-m INT Maximum number of clients [4096]
-p INT Listening port [2222]
-s Print diagnostics to syslog instead of standard output
-v Print diagnostics (repeatable)

El orden de los argumentos es importante. De manera predeterminada, no se generan mensajes de registro.

Podriamos usar algo asi para loguear y despues revisar:

endlessh -v >endlessh.log 2>endlessh.err

Lo podes encontrar en:
https://github.com/skeeto/endlessh

Que te diviertas!

07 agosto 2024

Comando alias frente al comando ~/.bash_aliases

El archivo ~/.bash_aliases sólo es útil si proviene de otro archivo de configuración; BASH en sí no sabe nada al respecto. Algunas distribuciones de sistemas operativos incluyen una línea como "source .bash_aliases" en un archivo de configuración predeterminado, como una forma de "simplificar" la configuración predeterminada.

Personalmente, es la que yo uso, simplemente coloco definiciones de alias directamente en el archivo ~/.bash_aliases y no en el archivo ~/.bashrc, principalmente porque aunque no defino suficientes alias para justificar el uso de un archivo separado, es muy comodo copiarlo y "tener todo a mano" en un archivo de alias. La mayoría de los alias realmente deberían definirse como funciones. Dicho esto, no agrupo mis funciones en otros archivos que provienen de mi archivo ~/.bashrc (el que esta ya viene de la instalación de Slackware).

Al final, las definiciones de alias se guardan en la memoria, por lo que realmente no existe ningún argumento sólido de rendimiento a favor o en contra de definirlas en el archivo ~/.bashrc, o un archivo obtenido por ~/.bashrc, lo mio es simple comodidad de usar *NIX tantos años.
Ejemplo de ~/.bashrc

Ejemplo de ~/.bash_aliases

Recorda siempre que acepto donaciones, transferencias bancarias, criptomonedas varias y surtidas en 0x772EDF224Ed36a60E95CAe24Fc36D775943a2231, "Cafecitos" y las gentilezas que consideres, incluso los simples comentarios siempre son bienvenidos (pero moderados para evitar el asqueroso SPAM).
En las sabiamente inmortales palabras de (el ahora censurado pero siempre inafable) Pepe Le Pew: El que espera y no desespera se lleva la mejor pera.

Que te diviertas!

24 julio 2024

Blind Bash: ofusca y protege tu código Bash

Podes utilizar esta herramienta para ofuscar tu código en Bash. ¿La ofuscación es la mejor manera de ocultar cosas importantes en tu código? En realidad no, pero es divertido.

Esta herramienta te brindará un código ciego y pseudo-seguro, pero cualquiera que tenga conocimiento de scripting Bash puede desofuscarlo. Entonces, esta ofuscación no es 100% segura, no permitas que cosas importantes en su código Bash solo usen esta ofuscación para protegerlas. La Seguridad mediante Obscuridad nunca es confiable.

El objetivo de este proyecto es hacer que el código sea difícil de leer para personas con conocimientos limitados en Bash.
Para todos los que aman la codificación y Bash.

https://github.com/Rizer0/Blind-Bash

Basado en: https://www.kitploit.com/2018/08/blind-bash-obfuscate-and-protect-your.html

Que te diviertas!

20 mayo 2024

Generar contraseñas aleatorias con PwGen

PWGen es un generador de contraseñas profesional capaz de generar grandes cantidades de contraseñas criptográficamente seguras, contraseñas clásicas, contraseñas pronunciables, contraseñas basadas en patrones y frases clave que constan de frases de listas de palabras.

Utiliza una técnica de “agrupación aleatoria” basada en una fuerte criptografía para generar datos aleatorios a partir de las entradas determinísticas del usuario (pulsaciones de teclas, manejo del mouse) y parámetros volátiles del sistema.

Para hacer esto, escribe el siguiente comando:

pwgen 15 1

Extra:
Si "estas apurado", no podes instalar nada en ese equipo y te encanta revolcarte en el barro, siempre podes usar OpenSSL

openssl rand -base64 15

Que te diviertas!

03 mayo 2024

CoBoL, la Leyenda continua

Creado hace 65 años, COBOL es un lenguaje de programación bastante común en programas y softwares que utilizan las entidades e instituciones financieras. Su nombre es un acrónimo para Commom Business-Oriented Language, que se traduce como "Lenguaje común orientado a las empresas".
En resumen, COBOL es un programa que se ha vuelto tendencia en los últimos años pese a lo antiguo que es. Después de todo, el 43% de los sistemas bancarios de Estados Unidos están hechos sobre el lenguaje de COBOL, dando como resultado que el 80% de las transacciones que se realizan en el país utilicen este lenguaje.

¿Cómo se desarrolló COBOL?
La idea de crear el lenguaje salió en una reunión del Pentágono en Mayo de 1959 y fue gracias a CODASYL (un comité de trabajo), quien también se reunieron empresas como IBM y desarrolló COBOL como respuesta a la necesidad de automatización de procesos por parte de las empresas ante ciertas operaciones.
Mary Hawes estaba harta de programar en ensamblador para los ordenadores mastodónicos de su empresa, Burroughs Corporation, así que logró organizar una reunión con académicos, fabricantes y usuarios de ordenadores y propuso una idea genial: "¿Qué tal si creamos un lenguaje de programación más fácil de entender y usar que el ensamblador o el código máquina?"
La respuesta de aquel comité fue un rotundo sí, y fue entonces cuando Grace Hopper, que ya había trabajado un un protolenguaje llamado FLOW-MATIC, acabó formando parte fundamental de la creación de COBOL, el lenguaje de programación procedural que se ha convertido en una leyenda. La principal impulsora de este lenguaje de programación fue Grace Murray Hopper.

Y aunque parezca increíble COBOL sigue en uso...
En Marzo de 1959 Hawes trabajaba como programadora en Burroughs Corporation. Por aquel entonces ya empezaba a haber intentos claros de crear lenguajes de programación más accesibles que el horripilante código máquina o los lenguajes en ensamblador que existían para las distintas platformas de la época.
A Hawes se le ocurrió que sería interesante crear un nuevo lenguaje de programación universal. Uno que además estuviera orientado a entornos empresariales y que pudiera funcionar en distintos ordenadores para ejecutar tareas como cálculos, control de inventario o un registro de los débitos y los créditos.

Esta programadora logró que la propuesta fuera discutida por un comité de expertos de la época. Entre ellos estaban los del Departamento de Defensa de los Estados Unidos y junto a académicos, fabricantes y usuarios avanzados se creó el llamado Short Range Committee of the Conference on Data Systems (CODASYL). Aquel comité recibió fondos del gobierno y se puso a trabajar en la especificación de un nuevo lenguaje.
Los responsables del proyecto tuvieron como base un par de lenguajes comerciales. Uno desarrollado por entonces, FLOW-MATIC -creado por Grace Murray Hopper, que abogaba por programas de ordenador que fueran fácilmente inteligibles- y otro que sólo estaba definido, el Commercial Translator de IBM. Del lenguaje de Hopper también se heredaron los nombres largos de variables y la separación de las instrucciones y las descripciones de datos.

Los responsables del proyecto tuvieron como base un par de lenguajes comerciales. Uno desarrollado por entonces, FLOW-MATIC -creado por Grace Murray Hopper, que abogaba por programas de ordenador que fueran fácilmente inteligibles- y otro que sólo estaba definido, el Commercial Translator de IBM. Del lenguaje de Hopper también se heredaron los nombres largos de variables y la separación de las instrucciones y las descripciones de datos.

Así nació COBOL (COmmon Business-Oriented Language), un lenguaje de programación procedural e imperativo cuyos comandos se diseñaron para que se parecieran al inglés convencional. Aquel nombre, sugerido por Bob Bemer fue el definitivo, pero se barajaron otros como BUSY (Business System), INFOSYL (Information System Language) y COCOSYL (Common Computer Systems Language).
Aquel lenguaje lo tuvo difícil al principio a pesar del apoyo del DoD, de IBM o de UNIVAC. Otras empresas como Honeywell trabajaban por aquel entonces en FACT, el que consideraban como el lenguaje de programación empresarial del futuro, y que realmente tenía ideas muy innovadoras. El problema es que FACT no estaba soportado por el hardware de la época, así que acabó siendo COBOL el que se impuso, en septiembre sus creadores ya tenían preparada la sintaxis básica.
Los programadores Donald Cropper, K.C. Krishnan,
Grace Hopper y Norman Rothberg con la consola
del Univac I. Fuente: IEEE History Center

La siguiente versión del lenguaje de programación llegaría tan solo 2 años después en 1961 con COBOL–61, el cual solo tenía pequeñas modificaciones.
Pocos meses después comenzaron a aparecer los primeros programas en COBOL que demostraron efectivamente esa interoperabilidad que permitía ejecutarlos en ordenadores de distintos fabricantes. Los fabricantes fueron sumándose a CODASYL y crearon diversos compiladores y el lenguaje fue creciendo en popularidad de forma notable.
En 1970 ya era el lenguaje de programación más utilizado en todo el mundo, y en 1972 fue adoptado por la organización de estandarización ANSI, pero aquel lenguaje estándar fue creciendo a su propio ritmo con diversas versiones que iban añadiendo distintas versiones que se nombraban con el año de publicación de las mismas.
Su siguiente actualización no llegó hasta casi 2 décadas después en 1974 y 1985 (COBOL-74, COBOL-85).

Sin embargo, su última actualización es del año 2002 (COBOL-2002), permitiendo que, ahora en libertad, pueda utilizar objetos encapsulados como parte normal de la programación que se puede desarrollar con este lenguaje de software, que tomó diversas características de C++ y Smalltalk.
COBOL no pertence a ninguna empresa o proveedor en particular (como el caso de Visual Basic con Microsoft).
El Comité ANSI COBOL es independiente del proveedor, y sólo se preocupa de legislar los estándares del lenguaje sintáctico.
Eso no significa que COBOL haya sido adaptado especificamente a plataformas hardware o diferentes sistemas operativos como Windows, Unix, AS/400, OS/2, etc.

¿Por qué se ha vuelto COBOL tan importante?
Pero ya basta de tanto tecnicismo, que luego nos aburrimos. Es hora de hablar por qué tomó una relevancia de forma repentina en los últimos años. Pero la verdad es que la respuesta es fácil: COBOL ofrece múltiples opciones de uso:
Al ser el primer lenguaje de programación, cuya lengua madre original es el inglés, se puede trabajar con él con suma facilidad, ya que todas las instrucciones se pueden configurar a través de codificaciones simples por palabras en inglés.

También puede ser utilizado como auto-documentación.
Ofrece la ventaja de manejar y trabajar con grandes cantidades de datos.
A diferencia de otros softwares o lenguajes de programación, COBOL es 100% compatible con sus versiones anteriores pese a los años de diferencia entre sus actualizaciones.
Al ofrecer mensajes de errores más rápidos y eficaces que otros lenguajes de código, ayuda a encontrar soluciones con más facilidad.
Sentencias de la Procedure Division, la sección del programa
en la que se define lo que es el programa en sí en COBOL.
Fuente: El Tamiz.

¿Por qué se sigue utilizando COBOL?
Muchos softwares de empresas financieras están basadas en el lenguaje de programación COBOL. Estados Unidos ya dejó claro que al menos en el Departamento de Seguridad Nacional o la Administración de la Seguridad Social seguíran usando COBOL en algunos de sus sistemas.

¿Te has preguntado cuánto sería el coste por reescribir todas estas millones de líneas de código en un lenguaje nuevo? Aparte de que no es una tarea simple, ni para una sola persona, tampoco es barato.
Es por esto que a día de hoy, COBOL sigue siendo uno de los lenguajes de programación más antiguos, pero que todavía se sigue utilizando en la actualidad. Sin embargo, hay un grave problema para encontrar desarrolladores que sepan trabajar con este lenguaje de código.
COBOL se dejó de impartir en las universidades hace muchos años, razón por la cual encontrar expertos en su uso es bastante complicado.
Tarjetas perforadas de un programa en COBOL.
Fuente: El Tamiz

De hecho millones de personas dependen parcialmente de estos sistemas porque si hay un sector en el que COBOL esté especialmente integrado es en el de las instituciones financieras y de seguros. También en las administraciones públicas, y como aseguran en ZDNet ya hay esfuerzos para trasladar aplicaciones COBOL a la nube, lo que parece que hará que este lenguaje viva muchos años más.

Compiladores COBOL gratuitos
Que COBOL se use en grandes sistemas puede hacer pensar que sería complicado aprender COBOL en tu casa. Pero existen compiladores gratuitos en COBOL, que nos puede ayudar a saber como programar en COBOL e ingresar al maravilloso mundo de los programadores COBOL, tambien llamados "COBOLeros".

Tiny COBOL
Tiny COBOL es un compilador de COBOL de código abierto. Implementa los estándares de COBOL-85, es portátil y funciona en diferentes plataformas y sistemas operativos, como FreeBSD, BeOS, Linux y Windows. Está bajo la Licencia Pública GNU.

GnuCOBOL
OpenCOBOL es un compilador de código abierto. También te lo puedes encontrar con el nombre de GnuCOBOL. Este compilador funciona con los estándares COBOL-85 y COBOL-2002, e implementa muchas extensiones de compiladores COBOL que ya existen en el mercado.
OpenCOBOL funciona de la siguiente manera: traduce el código COBOL que escribes al lenguaje C, y luego compila el código traducido con un compilador nativo.


Post relacionados:


Que te diviertas!

02 mayo 2024

WebTunnel - Recursos en la Red TOR IV

Tor presenta WebTunnel: Un avance contra la censura global

En un esfuerzo por combatir la censura en internet y promover una experiencia en la red personalizada y privada, Tor ha lanzado su más reciente innovación: WebTunnel. Esta nueva configuración puente, incorporada en su última versión estable, está diseñada para ayudar a los usuarios en regiones represivas al simular tráfico HTTPS, facilitando la evasión de las restricciones sin ser detectados.

WebTunnel surge como respuesta a las limitaciones impuestas en varios países hacia Tor, una herramienta que permite el acceso a la web oscura y que ha sido prohibida en múltiples regiones debido al tráfico de internet peculiar que genera. Tradicionalmente, las capas de cifrado aplicadas por Tor para proteger los datos de los usuarios hacen que el tráfico sea fácilmente identificable para las autoridades, debido a su aspecto fuertemente ofuscado. Sin embargo, WebTunnel busca cambiar esta situación al mimetizar el tráfico de Tor con el tráfico HTTPS común, haciendo casi imposible su detección por parte de regímenes opresivos.

La tecnología detrás de WebTunnel envuelve la conexión de carga útil en una conexión HTTPS tipo WebSocket, apareciendo ante los observadores de la red como una conexión HTTPS (WebSocket) ordinaria. Tor garantiza que la similitud con el tráfico HTTPS es tal que puede coexistir con un sitio web en el mismo punto de red, permitiendo que un proxy inverso de tráfico estándar redirija tanto el tráfico convencional como el WebTunnel a los respectivos servidores de aplicaciones, manteniendo oculta la existencia de un puente WebTunnel secreto.

Este enfoque innovador representa un avance significativo frente a los puentes obfsproxy previos de Tor, que aplicaban una fuerte ofuscación y medidas furtivas para proteger los datos de los usuarios sin ser detectados. Dado que regímenes represivos, como el Gran Cortafuegos de China, se oponen en gran medida al cifrado y pueden detectar y bloquear datos cifrados, la estrategia de WebTunnel de imitar el tráfico estándar aumenta la probabilidad de permanecer indetectados incluso en estas regiones.

Desde diciembre de 2022, WebTunnel ha sido sometido a pruebas y ahora está en implementación temprana para todos los operadores de puentes Tor desde junio de 2023. Ha demostrado ser muy efectivo en lugares como Rusia y China, aunque aún enfrenta desafíos en países como Irán.

Por el momento, los usuarios pueden obtener los puentes WebTunnel únicamente a través del sitio web oficial de Tor. Sin embargo, el proyecto planea ofrecer estos puentes mediante otros medios, como Telegram, en el futuro, ampliando así su accesibilidad.

El lanzamiento de WebTunnel (https://community.torproject.org/relay/setup/webtunnel/) subraya el compromiso continuo de Tor con la lucha contra la censura global, ofreciendo a los usuarios una herramienta básica para evadir restricciones sin riesgo de ser descubiertos, marcando un hito en la innovación para la libertad en internet.

URL del proyecto: https://community.torproject.org/relay/setup/webtunnel/

Basado en: https://www.opensecurity.es/tor-presenta-webtunnel/

Que te diviertas!

21 marzo 2024

GhostRace, la vulnerabilidad que afecta a todas las CPU y SO

Así es GhostRace, la vulnerabilidad que afecta a todas las CPU o Sistemas Operativos y les hará perder un 5% del rendimiento. Parece que no hay mes que no se detecten vulnerabilidades, además, en los últimos tiempos, la mayoría están siendo de gravedad. Diseñar un procesador totalmente seguro es imposible, todos lo sabemos, pero aunque las vulnerabilidades son un problema que normalmente tiene solución, dicha respuesta para terminar con la inseguridad normalmente tiene una penalización de rendimiento. GhostRace no parece ser la excepción, y el problema es que afecta a toda CPU y Sistema Operativo, ya que ataca a la llamada Condiciones de Carrera Especulativa (SRC).

Aunque en el VU de la vulnerabilidad se dice que ataca a las CPU modernas que admiten ejecución especulativa, esto a día de hoy representa un grandísimo número de ellas, por no decir que son prácticamente todas, exceptuando los PC muy antiguo, realmente viejos.
Otra vez la ejecución especulativa en
el punto de mira de la seguridad en CPU

La vulnerabilidad ha sido descubierta por el grupo VUSec en la VU de Amsterdam e IBM (https://www.vusec.net/projects/ghostrace/), mediante Hany Ragab, Cristiano Giuffrida, Andrea Mambretti y Anil Kurmus. Una vez más, otra vulnerabilidad ataca a la llamada ejecución especulativa, y ya tenemos experiencia por todas las que han salido, siendo la más popular probablemente Spectre V1.

La ejecución especulativa, para los que estén despistados, es una técnica de implementación basada en hardware dentro de las CPU que optimiza un movimiento realmente curioso dentro del procesador: prevenir y optimizar el rendimiento al proporcionar concurrencia adicional cuando haya recursos disponibles de forma adicional.

En otras palabras y simplificando, intenta "predecir" mediante especulación qué parte de la CPU va a tener recursos disponibles para mover la información a trabajar hacia ellos. El problema es que esto deja rastro en registros, como accesos a la memoria o la caché, así como en los branch predictors, y ahí es precisamente donde atacan las vulnerabilidades, a esos datos en concreto.
GhostRace, la vulnerabilidad de la que nadie escapa en el sector: ni hardware, ni software

El método usado ya es conocido, así que iremos a la novedad y lo realmente interesante, que no es más que el cómo aprovecha el hueco que dejan las CPU para lograr la información. Para acceder, el atacante usa las llamadas SRC (Speculative Race Conditions), las cuales usan las primitivas de sincronización de subprocesos que utilizan las ramas de adjudicación condicionales para realizar algo no visto hasta ahora: omitir microelectrónicamente las rutas especulativas usando una vulnerabilidad anterior.

Y sí, esta vulnerabilidad es Spectre V1. Haciéndolo fácil, se puede decir que es una vulnerabilidad que ataca a través de otra vulnerabilidad que ya ha sido parcheada anteriormente, saltándose totalmente, o parcialmente, dicho parche mediante el Sistema Operativo o firmware (microcódigo).

Explotando Spectre V1 mediante GhostRace los atacantes comprueban los límites de acceso a la memoria mediante una rama mal especulada por el procesador, y ahí logran acceder a la información sensible. Los investigadores lo explican así:

Hardware: Hemos confirmado que todos los principales proveedores de hardware se ven afectados por los SRC ya que, independientemente de la implementación particular de la instrucción de comparación e intercambio, la rama condicional que sigue está sujeta a (mala) predicción de la rama. En otras palabras, todas las microarquitecturas afectadas por Spectre-v1 también se ven afectadas por los SRC.

Software: cualquier objetivo que dependa de ramas condicionales para determinar si debe ingresar a regiones críticas (un patrón de diseño común que se extiende mucho más allá de Linux) es vulnerable a los SRC.

En resumen, cualquier software, por ejemplo, Sistema Operativo, hipervisor, etc., que implemente primitivas de sincronización a través de ramas condicionales sin ninguna instrucción de serialización en esa ruta y que se ejecute en cualquier microarquitectura (por ejemplo, x86, ARM, RISC-V, etc.), que permite la ejecución especulativa de sucursales condicionales, es vulnerable a los SRC. Como ocurre con otros ataques de ejecución especulativa, esto permite filtrar datos del software objetivo.
AMD ya ha confirmado que está afectada, el resto, de momento, calla

AMD fue la primera que confirmó que está afectada, Linux Foundation y Red Hat también han declarado que tienen que parchear su hardware y software. En cambio, Amazon, Arm, Dell, Google, IBM, Intel, Linux Kernel y Xen todavía no se han pronunciado.

El porqué es simple: parchear GhostRace va a tener un impacto en el rendimiento, y todos quieren pronunciarse cuando tengan datos en la mano (http://download.vusec.net/papers/ghostrace_sec24.pdf) así como las actualizaciones de Microcódigo con Linux y Microsoft. El problema es que a todos, AMD incluida, les ha pillado un poco con el pie cambiado, porque reconocer el problema no implica tener una solución, aunque los rojos ponen algo de calma (https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7016.html):

AMD recomienda seguir las pautas publicadas anteriormente con respecto a los ataques de tipo Spectre:

https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/tuning-guides/software-techniques-for-managing-speculation.pdf

AMD cree que la guía anterior sigue siendo aplicable para mitigar esta vulnerabilidad.
Dicho esto, ¿cuánto nos va a costar a todos esta nueva vulnerabilidad en términos de rendimiento? Pues las primeras estimaciones en Linux afirman que está sobre el 5% aproximadamente, sin importar si la CPU es Intel, AMD o Arm. Por lo tanto, ya tenemos el primer dato clave, el cual ahora tiene que ser cotejado y probado en sistemas de Microsoft, porque normalmente en Windows el número incrementa un poco.

Se espera que los parches lleguen en breve mediante Linux Kernel y Windows Update, así como actualizaciones de BIOS con nuevo microcódigo, pero no hay fechas de momento.

Tomado de: https://elchapuzasinformatico.com/2024/03/ghostrace-vulnerabilidad-cpu-sistemas-operativos-perder-5-rendimiento/

Que te diviertas!

08 febrero 2024

Uniendo PDFs en consola

No necesitamos una historia falsa, sino dos historias falsas. Una para que el ejército alemán no sepa que hemos descifrado el código de Enigma, y otra para que nuestro ejército tampoco lo sepa.
The Imitation Game
PDF (Portable Document Format) es un formato de archivo inventado por Adobe. PDF es útil para presentar documentos independientes del hardware, sistema operativo y software de aplicación. Cada archivo .PDF tiene un diseño fijo, que incluye tamaño de página, fuentes, gráficos y otra información. También es posible encriptar un archivo .PDF por seguridad, o crear una firma digital para autenticación.

Ahora vamos a ver cómo podes combinar varios documentos .PDF en un solo documento .PDF. Por ejemplo, esto es útil si tenes varias páginas de un escáner en formato .PDF y deseas colocar estos archivos en un solo archivo. Hay varias herramientas disponibles; algunos están incluidos en la instalación estándar de Slackware, así como otros que pueden instalarse fácilmente.
Yo voy siempre por la más simple y desde la comodidad de la consola.

Abri una nueva terminal / consola
Ejecuta el siguiente comando para unir los archivos .PDF en un solo archivo .PDF:

vampii@lomaw:[~/Downloads]$ pdfunite archivo-1.pdf archivo-2.pdf combinado.pdf

O sino tenes instalado lo anterior usamos el siempre presente Convert:

vampii@lomaw:[~/Downloads]$ convert -adjoin archivo-1.pdf archivo-2.pdf combinado.pdf

Y si buscas reducir el tamaño del archivo .PDF combinado / unido podes usar esto, como vimos en un post anterior:

vampii@lomaw:[~/Downloads]$ shrinkpdf.sh combinado.pdf combinado-optimizado.pdf

Que te diviertas!

22 enero 2024

Shrinkpdf: reduce archivos PDF con Ghostscript

Si el vaso no está limpio, lo que en él derrames se corromperá.
Quintus Horatius Flaccus, poeta latino (65 A.C.- 8 A.C.)
Un contenedor simple de Ghostscript para reducir archivos .PDF (como reducir el tamaño de archivo) en Slackware Linux (o en cualquier otro Linux). Inspirado en un código que encontré [lo dice aklomp] en un script Python de OpenOffice (creo). El script alimenta un PDF a través de Ghostscript, que realiza una recompresión con pérdida mediante métodos como la reducción de resolución de las imágenes a 72 ppp. El resultado debería ser (pero no siempre es) un archivo mucho más pequeño.

Descarga el script y hacelo ejecutable:

vampii@lomaw:[~/Downloads]$ chmod +x shrinkpdf.sh

Si lo ejecutas sin argumentos, imprime un resumen de uso. Si lo ejecutas con un solo argumento (el nombre del .PDF que se va a reducir), escribe el resultado en stdout:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh in.pdf > out.pdf

Puede proporcionar un archivo de salida con la opción -o:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -o out.pdf in.pdf

Y una resolución de salida en DPI (por defecto es 72 DPI) con la opción -r:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -r 90 -o out.pdf in.pdf

La conversión de color a escala de grises se puede habilitar con la bandera -g. En ocasiones, esto puede reducir aún más el tamaño de salida:

vampii@lomaw:[~/Downloads]$ ./shrinkpdf.sh -g -r 90 -o out.pdf in.pdf

Debido a las limitaciones del manejo de opciones del shell, las opciones siempre deben aparecer antes del archivo de entrada.

Si tanto la entrada como la salida son archivos normales, el script comprueba si la salida es realmente más pequeña. De lo contrario, escribe un mensaje stderr y copia la entrada en la salida.

Codigo disponible en:
https://github.com/aklomp/shrinkpdf/

Que te diviertas!

04 agosto 2023

Diferencia entre .TAR y .GZ

Saber mucho no es lo mismo que ser inteligente. La inteligencia no es sólo información, sino también juicio para manejarla.
✍Carl Sagan
¿No sabes la diferencia entre .TAR y .GZ?🤔 Es muy fácil: TAR empaqueta ficheros sin comprimirlos (similar a una "ISO"), GZ hace lo mismo pero además los puede comprimir para que ocupen menos espacio. Una imagen vale más que mil palabras:

Robado impunemente a: Manu {G²}

Recorda siempre que acepto donaciones, transferencias bancarias, criptomonedas varias y surtidas en 0x772EDF224Ed36a60E95CAe24Fc36D775943a2231, "Cafecitos" y las gentilezas que consideres, incluso los simples comentarios siempre son bienvenidos (pero moderados para evitar el asqueroso SPAM).
En las sabiamente inmortales palabras de (el ahora censurado pero siempre inafable) Pepe Le Pew: El que espera y no desespera se lleva la mejor pera.

Que te diviertas!

03 agosto 2023

Algo de historia Unix

¿Como se conecta el primer malware con la primera utilidad en correr en Unix?

Uso asiduamente la utilidad bc en la linea de comandos, para realizar de forma rápida cálculos o conversiones de números hexadecimales a decimales, binarios, etc. La cuestión que aprendiendo sobre la utilidad bc (en mi desktop OpenBSD) leyendo el man, veo:

bc is actually a preprocessor for dc(1), which it invokes automatically.

Me da curiosidad sobre dc y pido el man y leo:

AUTHORS The original version of the dc command was written by Robert Morris and Lorinda Cherry.

Me sonaba el apellido Morris pero no con algo relacionado a Unix y entonces me acorde de:

El gusano Morris
https://es.wikipedia.org/wiki/Gusano_Morris

Pero resulta que si había relación porque el creador del gusano es:
Robert Tappan Morris
https://es.wikipedia.org/wiki/Robert_Tappan_Morris

Que es hijo de:
Robert Morris
https://es.wikipedia.org/wiki/Robert_Morris_(cript%C3%B3grafo)

El creador de dc como dice la pagina del man, el trabajo en los laboratorios Bell y fue creador de la utilidad Unix:

dc

https://en.wikipedia.org/wiki/Dc_(computer_program)

Este programa dc es el que realiza los cálculos para bc, esto siempre fue así en los Unix y hoy en día en los BSDs. No así en los Linux que usan las utilidades GNU, como bc fue estandarizado por POSIX, GNU reescribió bc para que sea autónomo y no use dc.
Porque es importante dc, mas allá de tener una utilidad para programación de scripts y la realización de cálculos, dc tiene un merito histórico, es la utilidad mas antigua que sobrevive en Unix, incluso mas antiguo que el lenguaje C, palabras de Ken Thompson:

"dc is the oldest surviving Unix language program. When its home Bell Labs received a PDP-11, dc written in B was the first language to run on the new computer, even before an assembler."
(dc es el programa de lenguaje Unix más antiguo que se conserva. Cuando Bell Labs, su casa, recibió un PDP-11, dc escrito en B fue el primer lenguaje que se ejecutó en la nueva computadora, incluso antes que un ensamblador.)

¡Quien iba a decirlo, el padre creo la primera utilidad Unix y el hijo el primer malware!

Via @Ali_Adrian del grupo @BSDar

Que te diviertas!

28 junio 2023

Convertir documentos .DOC a .PDF en consola

Así venció David al filisteo con una honda y una piedra, e hirió al filisteo y lo mató; mas no había espada en la mano de David.
1 Samuel 17:50
En GNU/Linux , hoy en día hay muchas formas de convertir Documentos .DOC (Microsoft Word u OpenOffice) a .PDF (de Adobe, Postscript). Sin embargo, la mayoría de las formas requieren un entorno gráfico. Como estoy interesado en realizar la conversión principalmente desde la consola para adaptarlos a los scripts de shell y (el nefasto) PHP, que tienen que convertir rutinariamente un montón de archivos archivos .DOC a .PDF y despúes procesarlos, busque el "como hacerlo fácil".
Funciona para convertir todos los archivos .DOC, .DOCX, .ODT y .RTF hasta donde comprobe personalmente por necesidad.

Abri una consola (o terminal) en el directorio donde se encuentra el archivo .DOC y escribi:

vampii@lomaw:[~/Downloads/DOC]$ lowriter --convert-to pdf jabon_casero.doc
convert /home/vampii/Downloads/DOC/jabon_casero.doc -> /home/vampii/Downloads/DOC/jabon_casero.pdf using filter : writer_pdf_Export
vampii@lomaw:[~/Downloads/DOC]$ ls jabon_casero.*
jabon_casero.doc jabon_casero.pdf
vampii@lomaw:[~/Downloads/DOC]$ ls -l jabon_casero.*
-rw-r--r-- 1 vampii users 37888 sep 5 2021 jabon_casero.doc
-rw-r--r-- 1 vampii users 35787 jun 20 00:48 jabon_casero.pdf
vampii@lomaw:[~/Downloads/DOC]$ _
¡Y listo!

Que te diviertas!