Checksec – una herramienta para analizar ejecutables contra “exploitation”

Checksec es un bash script para analizar la implementación de medidas contra explotación de ejecutables (PIE, RELRO, PaX, Canaries, ASLR, Fortify Source). Fue esrito originalmente por Tobias Klein y el código fuente original se encuentra aquí: http://www.trapkit.de/tools/checksec.html.

Instalación

Lo ideal es clonar el “repository” de la herramienta y copiar el archivo checksec al directorio /usr/bin

arturo@imperial-star:~$ git clone https://github.com/slimm609/checksec.sh.git
arturo@imperial-star:~$ sudo cp checksec.sh/checksec /usr/bin

o para descargar una versión en particular del software:

arturo@imperial-star:~$ git clone --depth 1 --branch 2.4.0 https://github.com
seguir leyendo

Fritzing – software CAD para el diseño de hardware electrónico

Logo de Fritzing
Logo del software Fritzing. Imagen tomada de la página oficial.

Fritzing es un software open source que facilita el diseño de circuitos electrónicos en una computadora. Este proyecto fue iniciado en la Universidad de ciencias aplicadas de Postdam (Fachhochschule Postdam) y es actualmente desarrollado y mantenido por la fundación amigos de Fritzing (Friends-of-Fritzing).

Con Fritzing es sumamente fácil documentar los circuitos electrónicos que se hacen durante proyectos donde se utiliza Arduino o la Raspberry Pi y se usa una protoboard.

Con Fritzing es posible ver el circuito que uno diseña en tres vistas diferentes; protoboard, esquemático y PCB.

La vista protoboard es particularmente útil para los principiantes en el mundo de la electrónica, ya que es una representación exacta de la posición de los diferentes dispositivos en un circuito eléctrico y el orden de sus patas (pines).… seguir leyendo

Edición y creación de imágenes – GIMP vs. Inkscape

Una página web requiere contenido gráfico, el cual puede ser imágenes o videos. Las imágenes pueden ser fotos o dibujos producidos por computadora. En cualquier caso, estas imágenes suelen requerir cierta manipulación antes de ser publicadas.

Las razones por las cuales una imagen requiere modificación pueden ser:

  • la foto ocupa mucho espacio en memoria, de tal forma que el sistema de gestión de contenidos (por ejemplo WordPress), no la acepta, y entonces se tienen que “comprimir”
  • solo una parte de la foto es relevante, entonces hay que cortar la foto
  • modificar tamaño de la foto para que cuadre en el espacio donde se desea presentar
  • la foto requiere retoque para resaltar colores o la aplicación de algún efecto para causar una impresión deseada
  • una imagen requiere edición, por ejemplo para hacer el fondo invisible o para seleccionar solo algún elemento de ella
  • para hacer fotomontajes
  • para agregar texto a una imagen/foto
  • etcétera

Cuando uno es completamente nuevo en el campo de la edición de imágenes, uno piensa de inmediato en Photoshop, que es un software comercial muy reconocido.… seguir leyendo

Problemas con KiCad y su solución

Mientras hacía el ejercicio del Getting Started de KiCad me encontré con los siguientes dos problemas:

1. KiCad se congela (crash) cuando desde Eeschema se abre Cvpcb (paso 49 del Getting Started en inglés)

Solución:

Remplazar el contenido del archivo ~/.config/kicad/fp-lib-table por el contenido de este.

Explicación:

Cvpcb usa librerias que están en linea en Github, y por alguna razón aun desconocida por mi, KiCad no puede acceder a ellas. Estas librerías están definidas en el archivo fp-lib-table, ubicado en:

linux
~/.config/kicad/fp-lib-table

Windows
C:\Users\ \AppData\Roaming\kicad

En este archivo, para cada librería enlistada están definidas las siguientes propiedades

  • Nickname
  • Library Path
  • Plugin Type
  • Options
  • Description

Library Path usa una variable para formar el path, por default esta variable es KIGITHUB, que apunta a https://github.com/kicad… seguir leyendo

KiCad EDA – software para diseño electrónico

Logo de KiCad
Logo de KiCad

KiCad es una suite de software open source que sirve para diseñar circuitos electrónicos. Con él es posible hacer el esquemático y ocuparlo después para diseñar el circuito impreso.

Este software es suficientemente bueno para ser utilizado de manera profesional, y tendría que ser el estándar en las universidades, ya que es gratuito, y no tiene ningún tipo de limites en cuanto al tamaño de la tarjeta, numero de capas, etc.

Entre las cosas que se pueden hacer con este software están:

  • diseño del esquemático
  • conversión del esquemático a circuito impreso
  • generar archivos Gerber, útiles a la hora de mandar a producir el circuito
  • generar vista 3D del circuito impreso
  • generar una lista de componentes para calcular precios
seguir leyendo

Arduino

Logo de Arduino
Logo de Arduino.

Arduino es una plataforma open source con la cual se pueden realizar proyectos de electrónica digital, y está compuesta por hardware y software, y diseñada de tal forma que sea fácil para el usuario aprender a escribir programas para un microcontrolador, cargarlos a el y probarlos directamente en una tarjeta de desarrollo.

En el siguiente video Massimo Banzi, uno de los creadores, cuenta un poco la historia de Arduino, lo que es hoy en día y los proyectos que han sido realizados por la comunidad usando esta plataforma.

Entre las ventajas de Arduino con respecto a otras alternativas están:

  • bajo costo
  • multi-plataforma (Linux, Windows, Macintosh OSX)
  • un simple sistema de programación
  • hardware y software open source escalable

Un starter kit de Arduino es el mejor regalo que un niño puede obtener, y comprarse uno y aprender a usarlo es sumamente recomendable.… seguir leyendo

OpenRocket Simulator

OpenRocket es un programa originalmente desarrollado en el 2009 por Sampo Niskanen, como parte de su tesis de maestría en la Universidad Tecnológica de Helsinki. El programa fue escrito en Java, lo cual lo hace multi-plataforma, es decir, que puede ser ejecutado en computadoras con Linux, Windows o macOS.

Logo del simulador OpenRocket.
Logo del simulador OpenRocket.

OpenRocket está diseñado principalmente para ser usado por modelistas espaciales que quieran probar el desempeño de un cohete modelo, antes de construirlo o antes de lanzarlo. De hecho el software calcula de manera precisa las propiedades aerodinámicas de los cohetes modelo y simula su vuelo, y además entrega una gran variedad de resultados técnicos.… seguir leyendo

Cohete modelo

Proyecto 4

Tomando como referencia el cohete

cohete modelo
Imagen tomada de clipartbest.com

modelo mostrado en el post “Modelismo Espacial – ¿Cómo construir un cohete modelo?“, se fabricarán todos los sistemas que componen un cohete modelo, su lanzamiento y recuperación.

Preferentemente se usará software open source para el diseño, modelado, pruebas, documentación, etc.

Para llevar un control de los archivos que se generen se usará git, y github como servidor para almacenar el repositorio en linea, y que de esa forma sea accesible para todos los participantes en este proyecto.

Para facilitar el éxito del proyecto, se dividirá en los siguientes subproyectos:

  1. Estructura
  2. Motor
  3. Sistema de recuperación
  4. Encendido eléctrico
  5. Activador a distancia

Para seguir este proyecto visita https://argonur.com/cohete-modelo/seguir leyendo

Contraseñas en Firefox

Firefox es uno de los navegadores más populares, es gratis y además open source, y también es multiplataforma, es decir, existe para diferentes sistemas operativos (Linux, Windows, Android, etc.). Una de las banderas de este software es que les importa la privacidad de los usuarios, y dicen no recolectar datos con fines lucrativos. Esto último es afortunadamente cada vez más relevante para la gente (según yo).

Como cualquier otro navegador, Firefox permite ir guardando el nombre de usuario y la contraseña para cada pagina que lo requiera,pero

hay que tener cuidado con esta función.

Resulta que por default las contraseñas que Firefox guarda son visibles para todo aquel que tiene acceso a la computadora.… seguir leyendo

Git y GitHub

En el proyecto2 (Solución a los ejercicios del libro Introduction to Rocket Science and Engineering) propuesto por esta página se requiere el uso de Git y GitHub. Pero, ¿qué es Git y que es GitHub?

Git

Logo de Git.

Git es un sistema de control de versiones (version control system), es gratis y además open source. Está diseñado para manejar desde pequeños hasta grandes proyectos con velocidad y eficiencia. Todo esto según la página oficial de Git.

Un sistema de control de versiones (VCS) es un software que ayuda al almacenamiento de los archivos que conforman un proyecto, manteniendo un historial de todos los archivos, y al mismo tiempo haciendo posible establecer una versión del repositorio completo.… seguir leyendo