Cómo probar los comandos de Linux en su servidor sin ejecutarlos. Esta herramienta puede salvarte de problemas

En muchas ocasiones los desarrolladores y expertos en ciberseguridad se encuentran con programas y comandos para Linux muy complejos, por lo que es difícil saber qué hacen y cómo funcionan sin recurrir a un instructor o incluso ejecutar la herramienta en cuestión, lo que resulta indeseable cuando deseamos avanzar en nuestros proyectos.

En esta ocasión, los expertos del Instituto Internacional de Seguridad Cibernética (IICS) le mostrarán un método para averiguar exactamente cómo funciona un programa directamente desde la línea de comandos empleando la herramienta conocida como Maybe.

Acorde a los expertos en ciberseguridad, Maybe es una herramienta muy fácil de utilizar que le permite examinar los comandos y averiguar con todo detalle el funcionamiento de cualquier utilidad con el sistema de archivos al momento de utilizarlas en una práctica real. Gracias a los informes generados por Maybe, los usuarios podrán decidir si usar la herramienta analizada o no ejecutarla.

FUNCIONAMIENTO

En su foro oficial, los desarrolladores de la herramienta aseguran que Maybe “ejecuta un conjunto de procesos controlados por ptrace empleando la biblioteca python-ptrace“. Cuando un programa intercepta una llamada para modificar el sistema de archivos, Maybe escribe la llamada en el registro, luego modifica los registros del procesador para redirigir una llamada a un ID del sistema no válido.

A continuación Maybe establece el valor devuelto por esta operación (que se considera nula) para indicar la finalización satisfactoria de la llamada original: “Como resultado, el proceso confía en que todo lo que intenta hacer está sucediendo, aunque en realidad no está sucediendo nada en nuestro sistema”, mencionan los desarrolladores.   

Los expertos en ciberseguridad señalan que debemos tener mucho cuidado al usar Maybe, ya que su uso en un sistema vulnerable puede traer serias consecuencias” La realidad es que esta utilidad no es capaz de bloquear cualquier llamada al sistema, por lo que su uso puede provocar fallas en su computadora”.

INSTALACIÓN

Antes de instalar tal vez, verifique si un administrador de paquetes está instalado en su sistema pip. Si este no es el caso, a continuación se muestran los comandos para instalar pip en varias distribuciones de Linux. En Arch Linux y otros sistemas basados en esta distribución, como Antergos y Manjaro Linux, pipyou puede realizar el siguiente proceso de instalación:

sudo pacman -S python-pip

En otras distribuciones como RHEL y CentOS, lo ideal será utilizar la siguiente secuencia de comandos:

sudo yum install epel-release
sudo yum install python-pip 

Para Fedora, los expertos en ciberseguridad recomiendan usar la siguiente secuencia:

sudo dnf install epel-release
sudo dnf install python-p 

Este es el comando correspondiente para Debian, Ubuntu y Linux Mint:

sudo apt-get install python-pip

En SUSE y OpenSUSE, utilice el siguiente comando:

sudo zypper install python-pip

Después de terminar con este proceso, complete la instalación de Maybe:

sudo pip install maybe

USO DE MAYBE

En verdad esta es una utilidad muy fácil de utilizar. Solo debe agregar el concepto MAYBE antes del comando que desea investigar, tal como se muestra en el siguiente ejemplo:

$ maybe rm -r ostechnix/

Como puede ver, estamos a punto de eliminar una carpeta ostechnix para saber exactamente qué sucede después de ejecutar el comando anterior, obteniendo la siguiente respuesta:

maybe has prevented rm -r ostechnix/ from performing 5 file system operations:
 delete /home/sk/inboxer-0.4.0-x86_64.AppImage
 delete /home/sk/Docker.pdf
 delete /home/sk/Idhayathai Oru Nodi.mp3
 delete /home/sk/dThmLbB334_1398236878432.jpg
 delete /home/sk/ostechnix
Do you want to rerun rm -r ostechnix/ and permit these operations? [y/N] y

Esto quiere decir que el comando analizado desea realizar cinco operaciones en el sistema de archivos, presentando a continuación una opción para permitir o negar estas operaciones.

A continuación los expertos en ciberseguridad nos muestran otro ejemplo.Suponga que deseamos instalar Inboxer, un cliente de escritorio para Gmail. Esto es lo que logramos averiguar sobre la operación correspondiente usando Maybe:

$ maybe ./inboxer-0.4.0-x86_64.AppImage 
fuse: bad mount point `/tmp/.mount_inboxemDzuGV': No such file or directory
squashfuse 0.1.100 (c) 2012 Dave Vasilevsky
Usage: /home/sk/Downloads/inboxer-0.4.0-x86_64.AppImage [options] ARCHIVE MOUNTPOINT
FUSE options:
 -d -o debug enable debug output (implies -f)
 -f foreground operation
 -s disable multi-threaded operation
open dir error: No such file or directory
maybe has prevented ./inboxer-0.4.0-x86_64.AppImage from performing 1 file system operations:
create directory /tmp/.mount_inboxemDzuGV
Do you want to rerun ./inboxer-0.4.0-x86_64.AppImage and permit these operations? [y/N]

Si durante el examen de un comando no es posible detectar ninguna operación con el sistema de archivos, Maybe mostrará algo similar a esto:

$ maybe sudo pacman -Syu
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?

Aquí se analiza el comando de actualización para Arch Linux. Maybe no detectó ninguna operación en el sistema de archivos ni mostró información sobre operaciones adicionales.

CONCLUSIÓN

Como puede ver, esta es una herramienta muy simple y puede proporcionarnos valiosa información antes de comenzar un proceso de pentesting, análisis de vulnerabilidades, entre otros procedimientos. Para conocer más sobre riesgos de ciberseguridad, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).

El cargo Cómo probar los comandos de Linux en su servidor sin ejecutarlos. Esta herramienta puede salvarte de problemas apareció primero en Noticias de seguridad informática, ciberseguridad y hacking.