Aspectos Relevantes y Funcionalidades Especiales
¿Qué es el comando NOHUP?
El comando Nohup en Linux y Debian es una utilidad predeterminada y presente que permite ejecutar un comando o programa de forma insensible a la señal SIGHUP, que se envía a un proceso cuando el shell del que proviene se desconecta. Esto significa que el comando se ejecutará incluso si el shell del que proviene se cierra por cualquier motivo, como al cerrar una sesión SSH o al cerrar una ventana de terminal.
El comando Nohup se utiliza a menudo para ejecutar comandos que deben ejecutarse en segundo plano o que deben continuar ejecutándose incluso si el shell del que provienen se desconecta. Por ejemplo, se puede utilizar para ejecutar un comando que descarga un archivo grande, o para ejecutar un servidor web.
La sintaxis para usar el comando Nohup es la siguiente:
nohup comando [argumentos]
Por ejemplo, para ejecutar el comando ls
en segundo plano, usaría el siguiente comando:
nohup ls
Para ver la salida del comando Nohup, puede utilizar la herramienta tail
. Por ejemplo, para ver la última línea de la salida del comando ls
, usaría el siguiente comando:
tail -n 1 nohup.out
El archivo nohup.out
es el archivo en el que se almacena la salida del comando Nohup. Si no especifica un nombre de archivo, la salida se enviará a /dev/null
, que es un dispositivo especial que descarta toda la entrada.
¿Qué es SIGHUP?
Sighup, que significa «Hangup», es una señal que se envía a un proceso cuando se desconecta su terminal. Esto puede suceder cuando el usuario desconecta una sesión de SSH, o cuando el usuario cierra la ventana de terminal en la que se está ejecutando el proceso
Cuando se envía una señal Sighup a un proceso, el proceso se detiene por defecto. Sin embargo, es posible que el proceso ignore la señal Sighup si se ha ejecutado con la opción Nohup.
La señal Sighup se utiliza a menudo para cerrar procesos que ya no son necesarios. Por ejemplo, si un usuario inicia una sesión SSH y luego cierra la ventana de terminal, la señal Sighup se enviará a todos los procesos que se estén ejecutando en la sesión SSH. Estos procesos se detendrán y se liberarán los recursos que utilizan.
La señal Sighup también se puede utilizar para reiniciar un proceso. Por ejemplo, si un proceso se bloquea, se puede enviar una señal Sighup al proceso para reiniciarlo. Esto puede ayudar a resolver el bloqueo del proceso.
La señal Sighup es una herramienta importante que se puede utilizar para administrar procesos en Linux.
Usos especiales en la Informática Forense del comando NOHUP en Linux Debian
El comando Nohup puede utilizarse para ejecutar un comando o programa de forma insensible a la señal Sighup, que se envía a un proceso cuando el shell del que proviene se desconecta.
El comando Nohup también puede utilizarse para evitar que un comando se detenga cuando se pulsa Ctrl
+C
. Esto puede ser útil para ejecutar comandos que pueden tardar mucho en completarse, o que pueden generar una gran cantidad de salida.
Por ejemplo, si desea descargar un archivo grande, puede utilizar el siguiente comando:
nohup wget https://example.com/file.zip
Este comando descargará el archivo file.zip
de la URL https://example.com
, incluso si se desconecta de la sesión SSH o cierra la ventana de terminal.
Si desea ejecutar un servidor web, puede utilizar el siguiente comando:
nohup python3 -m http.server 8000
Este comando ejecutará un servidor web en el puerto 8000, incluso si se desconecta de la sesión SSH o cierra la ventana de terminal.
El comando Nohup es una herramienta útil que puede ser utilizado por especialistas en informática forense para identificar y analizar datos de un sistema que ha sido comprometido.
Aquí hay algunos ejemplos adicionales de cómo los especialistas en informática forense pueden utilizar el comando Nohup:
- Para ejecutar un comando que descarga un archivo grande de un servidor comprometido.
- Para ejecutar un comando que recopila información del sistema comprometido, como la lista de procesos, los archivos abiertos y la actividad de red.
- Para ejecutar un comando que ejecuta un análisis de malware en un archivo de un sistema comprometido.
- Para ejecutar un comando que graba la actividad de un sistema comprometido.
Ejemplos de algunos comandos existentes y por defecto en Linux Debian que suelen ser usados en combinación con Nohup
ps: El comando ps se utiliza para mostrar una lista de todos los procesos en ejecución en un sistema. Puede utilizar el comando ps para filtrar los procesos por nombre, estado, usuario y otros criterios.
Ejemplos:
- Para mostrar una lista de todos los procesos en ejecución, puede utilizar el siguiente comando:
ps -e
- Para mostrar una lista de todos los procesos en ejecución que son propiedad del usuario
root
, puede utilizar el siguiente comando:
ps -e -u root
- Para mostrar una lista de todos los procesos en ejecución que están en estado
running
, puede utilizar el siguiente comando:
ps -e -o state=running
lsof: El comando lsof se utiliza para mostrar una lista de todos los archivos abiertos en un sistema. Puede utilizar el comando lsof para filtrar los archivos por nombre, propietario, puerto y otros criterios.
Ejemplos:
- Para mostrar una lista de todos los archivos abiertos, puede utilizar el siguiente comando:
lsof
- Para mostrar una lista de todos los archivos abiertos que son propiedad del usuario
root
, puede utilizar el siguiente comando:
lsof -u root
- Para mostrar una lista de todos los archivos abiertos que están en el puerto
80
, puede utilizar el siguiente comando:
lsof -i -n -p 80
netstat: El comando netstat se utiliza para mostrar una lista de todas las conexiones de red activas en un sistema. Puede utilizar el comando netstat para filtrar las conexiones por puerto, dirección IP y otros criterios.
Ejemplos:
- Para mostrar una lista de todas las conexiones de red activas, puede utilizar el siguiente comando:
netstat -a
- Para mostrar una lista de todas las conexiones de red activas que están en el puerto
80
, puede utilizar el siguiente comando:
netstat -an -p 80
- Para mostrar una lista de todas las conexiones de red activas que están en la dirección IP
192.168.1.1
, puede utilizar el siguiente comando:
netstat -an -p 80 -i 192.168.1.1
grep: El comando grep se utiliza para buscar texto en archivos. Puede utilizar el comando grep para buscar texto en la salida de los comandos ps, lsof y netstat.
Ejemplos:
- Para buscar el texto
root
en la salida del comando ps, puede utilizar el siguiente comando:
ps -e | grep root
- Para buscar el texto
www
en la salida del comando lsof, puede utilizar el siguiente comando:
lsof | grep www
- Para buscar el texto
80
en la salida del comando netstat, puede utilizar el siguiente comando:
netstat -a | grep 80
strace: El comando strace se utiliza para rastrear las llamadas al sistema realizadas por un proceso. Puede utilizar el comando strace para recopilar información sobre las llamadas al sistema realizadas por un proceso malicioso.
Ejemplo:
- Para rastrear las llamadas al sistema realizadas por el proceso con el ID
1234
, puede utilizar el siguiente comando:
strace -p 1234
tcpdump: El comando tcpdump se utiliza para capturar paquetes de red. Puede utilizar el comando tcpdump para capturar paquetes de red que se envían o reciben por un proceso malicioso.
Ejemplo:
- Para capturar todos los paquetes de red que se envían o reciben en el puerto
80
, puede utilizar el siguiente comando:
tcpdump -n -i any -p tcp port 80
Únete a nuestra comunidad de Informática Forense, Pentester, Osint y Jurídico.