Una vez que tienes acceso a un sistema, realizar un análisis exhaustivo es fundamental para entender su estado actual, los procesos activos, los usuarios conectados y más. Aquí se describen varios comandos y técnicas para extraer información valiosa del sistema y, adicionalmente, cómo puedes exportar esta información para su análisis local.
El historial de comandos de un usuario es clave para entender las acciones que ha realizado en el sistema.
historyPara ver los comandos ejecutados por un usuario, utiliza:
history
Para saber dónde está almacenado el archivo de historial:
echo "$HISTFILE"
El archivo suele estar ubicado en /home/user/.bash_history.
Es importante saber qué usuarios están conectados al sistema y qué están haciendo.
whoEste comando lista los usuarios conectados y sus respectivas sesiones:
who
wPara obtener información más detallada sobre los procesos de los usuarios conectados:
w
Para cerrar la sesión de un usuario, encuentra el proceso asociado a su sesión:
ps aux | grep pts/0
Luego, utiliza el comando kill para finalizar el proceso:
kill <pid_process>
Para ver todos los procesos que están ejecutándose en el sistema:
ps -aux
Para ver todas las conexiones de red activas:
netstat -tuln
El comando top te permitirá monitorear el uso de recursos en tiempo real:
top
Para ver los intentos recientes de inicio de sesión:
last
Una vez que hayas obtenido toda esta información, puede ser útil exportarla a tu máquina local para realizar análisis más profundos o simplemente para archivarla. Aquí te mostramos cómo puedes hacer esto:
scpEl comando scp te permite copiar archivos desde un servidor remoto a tu máquina local. Por ejemplo, si deseas copiar el archivo de historial de comandos del usuario:
scp user@remote_host:/home/user/.bash_history /ruta/local/
Este comando transferirá el archivo .bash_history desde el servidor remoto a tu máquina local.
En lugar de simplemente ver los resultados de los comandos en la terminal, puedes redirigir la salida de cualquier comando a un archivo para exportarlo más fácilmente:
ps aux > procesos.txt
who > usuarios.txt
netstat -tuln > conexiones_red.txt
Estos comandos guardarán la salida de los comandos en archivos .txt, que luego puedes transferir a tu máquina local con scp:
scp user@remote_host:/ruta/remota/procesos.txt /ruta/local/
scp user@remote_host:/ruta/remota/usuarios.txt /ruta/local/
scp user@remote_host:/ruta/remota/conexiones_red.txt /ruta/local/
Para facilitar la transferencia de múltiples archivos, puedes crear un archivo comprimido que contenga toda la información:
tar -czvf info_sistema.tar.gz procesos.txt usuarios.txt conexiones_red.txt
Luego puedes transferir el archivo comprimido a tu máquina local:
scp user@remote_host:/ruta/remota/info_sistema.tar.gz /ruta/local/
Si necesitas copiar registros del sistema, como el archivo de autenticación (/var/log/auth.log), puedes hacer lo siguiente:
scp user@remote_host:/var/log/auth.log /ruta/local/
rsync (para grandes volúmenes de datos)Si tienes grandes volúmenes de datos o archivos que cambian con frecuencia, el comando rsync es una opción más eficiente:
rsync -avz user@remote_host:/directorio/remoto/ /directorio/local/