Want to create interactive content? It’s easy in Genially!
Análisis Forense de Linux
Angel Ivan Hernandez Pineda
Created on March 13, 2023
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Visual Presentation
View
Terrazzo Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
View
City Presentation
View
News Presentation
Transcript
wow
Análisis Forense de Linux
Análisis Forense de Linux
Linux es un sistema operativo de código abierto que se usa ampliamente en todas las organizaciones. Con un aumento en el cibercrimen, también es importante que los investigadores forenses estén bien equipados con el conocimiento de recopilar artefactos de máquinas Linux de una manera forensemente sólida. El análisis forense de Linux implica el uso de varios comandos / herramientas para recuperar, examinar y analizar artefactos valiosos relacionados con incidentes de delitos cibernéticos que involucran máquinas Linux.
Información volátil
- Nombre de host, fecha y hora, y zona horaria
- Uptime
- Información de red
- Puertos abiertos
- Abrir archivos
- Información del filesystem montado
- Módulos de kernel cargados
- Eventos de usuario
- Procesos en ejecución
- Áreas de intercambio e información de partición de disco
- Mensajes del kernel
Host
Nombre de host.
- Los investigadores deben ejecutar el comando hostname para ver el nombre del sistema actual y el DNS de una máquina Linux. Este comando tiene varios atributos. Puede ser útil al examinar los registros y el tráfico de red.
Date
Fecha y hora. El comando date, cuando se ejecuta, enumera la fecha y la hora según la zona horaria en la que se ha configurado el sistema operativo Linux. El comando cat/etc/timezone se puede utilizar para recopilar información sobre el continente y la zona horaria del sistema Linux. Esta información puede permitir a los investigadores construir una línea de tiempo apropiada del caso que se está investigando.
Date
Los investigadores también pueden calcular el tiempo UNIX de la máquina Linux sospechosa y convertirla a su propia zona horaria utilizando convertidores de tiempo en línea. El comando para calcular el tiempo de época de un sistema es : date +%s
UNIX Timestamp
Nota: La marca de tiempo UNIX comienza el 1 de enero de 1970 a las 00:00:00 UTC (en segundos), mientras que las marcas de tiempo de HFS+ y Cocoa en Apple comienzan el 1 de enero de 1904 a las 00:00:00 UTC (en segundos) y el 1 de enero de 2001 a las 00:00:00 UTC (en segundos), respectivamente. Al obtener la marca de tiempo de época, puede usar convertidores en línea o fuera de línea para convertir la hora de época a la hora original.
Uptime
Los datos de tiempo de actividad ayudan a los investigadores forenses a determinar el lapso de tiempo durante el cual un sistema ha estado funcionando. También muestra métricas, como el número de usuarios que han iniciado sesión actualmente, la hora actual y los promedios de carga del sistema durante los últimos 1, 5 y 15 minutos.
Network
La recopilación de información de red ayuda a los investigadores forenses a obtener detalles relacionados con los controladores de interfaz de red (NIC), las direcciones IP vinculadas a ellos y la información de ruta. Para recuperar información de red, los investigadores deben usar el comando ip.
Modo Promiscuo
Cuando una NIC está en modo normal, solo acepta paquetes dirigidos exclusivamente a ella. Sin embargo, cuando se establece en modo promiscuo, acepta todos los paquetes de red entrantes, lo que no es seguro para el sistema host. Los atacantes usan el modo promiscuo para husmear maliciosamente en una red y monitorear su actividad. Por lo tanto, si se ha producido o se sospecha una intrusión en el sistema, los investigadores forenses deben verificar si una interfaz de red se ha configurado en modo promiscuo. Pueden hacerlo ejecutando el comando ifconfig.
Netstat
Para recopilar información sobre las conexiones de red, los investigadores deben ejecutar el comando netstat, que permite la recuperación de información relacionada con todos los puertos TCP y UDP abiertos para conexión, tablas de enrutamiento, membresías de multidifusión, estadísticas de interferencia, conexiones de enmascaramiento, etc. Muestra conexiones de red, una serie de interfaces de red (controlador de interfaz de red o interfaz de red definida por software) y estadísticas de protocolo de red. sudo apt install net-tools
Netstat -i
Para ver la lista de interfaces de red en un sistema, los investigadores pueden utilizar la opción -i con el comando netstat.
Network Routing Tables
El enrutamiento se refiere al proceso de transmitir un paquete IP de una ubicación a otra a través de Internet. La estructura del kernel en los sistemas Linux que almacena información sobre cómo reenviar paquetes IP se conoce como tabla de enrutamiento. Los investigadores forenses deben usar el comando netstat -rn para ver la información de la tabla de enrutamiento. En el comando especificado, el indicador -r se proporciona para enumerar las tablas de enrutamiento del kernel, mientras que el indicador -n se proporciona para enumerar sus direcciones numéricas.
Network Routing Tables
En Linux, la tabla de enrutamiento proporciona información sobre el proceso de reenvío de paquetes de datos TCP/IP. Para ver esta información, ejecute el comando ip r.
Puertos Abiertos
Un puerto abierto es un puerto TCP o UDP que está configurado para recibir paquetes de red. Los atacantes escanean la red en busca de puertos abiertos para instalar servicios maliciosos que les permitan infiltrarse en la red y obtener acceso no autorizado a datos confidenciales. La ejecución del comando nmap ayuda a los investigadores forenses a identificar los puertos que están abiertos y obtener información sobre ellos, lo que puede ayudar a proteger los dispositivos de red. El comando se ejecuta con diferentes opciones/indicadores para las conexiones de puerto TCP y UDP, que se especifican respectivamente a través de las sintaxis y las figuras de ejemplo que se proporcionan a continuación.
Nmap
Para conexiones de puerto TCP: nmap –sT localhost
Nmap
Para conexiones de puerto UDP: nmap –sU localhost
Netstat
Los investigadores forenses deben identificar las aplicaciones / programas que se ejecutan en varios puertos para que se puedan detectar los programas maliciosos (si los hay). La ejecución del comando netstat puede ayudar a los investigadores a determinar las aplicaciones/programas/procesos que se ejecutan en una máquina y los puertos específicos asociados con ellos. netstat –tulpn -t, muestra los puertos TCP -u, muestra los puertos UDP -l, muestra los puertos de escucha -p, enumera el nombre del PID/programa -n, muestra la dirección en forma numérica
Netstat
lsof
Los investigadores también pueden ejecutar el comando lsof para enumerar los procesos que se ejecutan en puertos abiertos. Si los investigadores desean obtener información filtrada sobre los puertos en el estado 'LISTEN', deben agregar el comando grep junto con la opción 'LISTEN' en el comando lsof.
lsof
Dado que la salida generada por este comando puede incluir una gran cantidad de información, el comando se puede combinar con el símbolo de barra vertical (|) y la marca 'more', que permite que la salida se vea página por página. Para enumerar los archivos abiertos para el usuario que ha iniciado sesión actualmente en el sistema, un investigador puede ejecutar el comando lsof de la siguiente manera: lsof -u <user_name>
ps
Los investigadores forenses deben ejecutar el comando ps para recuperar detalles relacionados con los procesos que se ejecutan actualmente en el sistema. La salida devuelta por este comando también proporciona nformación sobre los números de identificación del proceso (PID) correspondientes a los procesos en ejecución. Cuando el comando ps se ejecuta sin ninguna opción, solo muestra los procesos que se están ejecutando actualmente en la cuenta de usuario que ha iniciado sesión. Si los investigadores desean obtener información sobre los procesos en ejecución para todas las cuentas de usuario, deben emitir el comando ps seguido del indicador auxww.
Información No Volátil
El estado de los datos no volátiles no cambia cuando se apaga el equipo. Durante la investigación forense, los investigadores deben recopilar información no volátil, como información del sistema, historial de inicio de sesión del usuario, registros del sistema y archivos ocultos para construir un análisis de línea de tiempo del incidente que ocurrió.
Información No Volátil
Los datos no volátiles incluyen lo siguiente: o Información del sistema o Información del kernel o Cuentas de usuario o Usuarios registrados actualmente e historial de inicio de sesión o Registros del sistema o Archivos de registro de Linux o Archivo de historial de usuario o Archivos y directorios ocultos o Información sospechosa o Firmas de archivo o Información de archivo obtenida mediante el comando file and strings o Archivos grabables obtenidos mediante el comando find
Kernel
El kernel de Linux es el componente central del sistema operativo Linux. Gestiona los recursos del sistema y facilita los intercambios de comunicación entre los componentes de hardware y software. El kernel también es responsable de mantener la seguridad del sistema. Por lo tanto, es importante determinar la versión del kernel para actualizarlo con parches de seguridad si es necesario. Un investigador puede ejecutar los siguientes comandos para comprobar la versión del kernel de Linux en un sistema: uname -r cat /proc/version hostnamectl | grep Kernel
Kernel
Passwd
En los sistemas Linux, la información del usuario local se guarda en el archivo /etc/passwd. Cada línea individual de este archivo contiene información de inicio de sesión que corresponde a un solo usuario. Durante la investigación forense, examinar el archivo /etc/passwd ayuda a los investigadores a determinar los detalles relacionados con todas las cuentas de usuario presentes en el sistema.
Passwd
- root – Nombre de usuario
- x – Contraseña ('x' denota encriptada)
- 0 – ID de usuario ('0' está reservado para root)
- 0 – ID de grupo
- root: información de ID de usuario
- /root – Directorio de inicio
- /bin/bash: ruta absoluta al shell de inicio de sesión del usuario
Usuarios que han iniciado sesión
Es importante que los investigadores forenses sepan cómo recopilar información sobre los usuarios que han iniciado sesión en un sistema. Los investigadores deben ejecutar el comando w para obtener información sobre los usuarios que han iniciado sesión.
Información del historial de inicio de sesión
Los investigadores también deben verificar el contenido del archivo /var/log/wtmp para extraer información sobre el tiempo de arranque del sistema, el historial de inicio de sesión del usuario, etc. Pueden usar el comando last para ver el historial de inicio de sesión del usuario y otros detalles relacionados. last -f /var/log/wtmp
Autenticación y Autorización de usuarios
Para obtener información relacionada con los eventos de autenticación y autorización de usuarios, los inicios de sesión de usuarios remotos y el historial de ejecución de comandos sudo, los investigadores forenses deben examinar los detalles del archivo /var/log/auth.log. cat /var/log/auth.log grep sudo /var/log/auth.log
Autenticación y Autorización de usuarios
Syslog
Registra los mensajes del sistema, así como los mensajes de error y estado de la aplicación. Este archivo también recopila y almacena el registro de datos del núcleo. Los investigadores deben recuperar detalles del directorio /var/log/syslog para examinar la información almacenada en los archivos syslog. El comando que se utilizará para mostrar los detalles es cat /var/log/syslog.
Syslog
El archivo de registro /var/log/s.log registra la información de todos los eventos relacionados con el kernel. El comando que se ejecutará para ver los detalles almacenados en el archivo de registro del kernel es cat /var/log/kern.log
Archivos de Registro
Son registros de todas las actividades realizadas en un sistema. Los archivos de registro de Linux almacenan información sobre el kernel del sistema y los servicios que se ejecutan en el sistema. En el entorno Linux, diferentes archivos de registro contienen diferentes tipos de información.
Archivos de Registro
Archivos de Registro
RAM
El análisis forense de memoria se refiere al examen de datos volátiles obtenidos del archivo de imagen de memoria / volcado de memoria de un sistema. Un volcado de memoria (volcado de RAM) se refiere a los datos volátiles capturados de la RAM de un sistema cuando el sistema se está ejecutando. Los datos de RAM contienen información valiosa relacionada con incidentes como ataques de malware, bloqueos del sistema y compromiso del sistema. En una máquina Linux, los volcados de RAM se adquieren utilizando herramientas / software especializados. LiME es una de las herramientas más conocidas utilizadas en la adquisición de volcados de RAM.
Recuperación
Los investigadores forenses pueden recuperar archivos borrados / perdidos del disco duro o un archivo de imagen de memoria utilizando la herramienta . Después de recuperar los archivos eliminados, los investigadores deben escanearlos con herramientas antimalware para verificar la presencia de datos maliciosos. https://www.cgsecurity.org