Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]

240 views

Published on

Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]

Published in: Technology
  • Be the first to comment

Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]

  1. 1. © Todos los derechos reservados
  2. 2. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • ¿Máquina viva? -> Adquisición de elementos volátiles de un sistema • Memoria RAM • Artifacts: Info de sistema operativo, conexiones establecidas, puertos abiertos, carga de la máquina, procesos, usuarios conectados, módulos cargados, timeline de sistema de ficheros, tráfico de red, etc,… • ¿Máquina apagada? -> post-mortem • Imagen de disco Adquisición de evidencias
  3. 3. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • ¿Máquina viva? -> Adquisición de elementos volátiles de un sistema • Memoria RAM • Artifacts: Info de sistema operativo, conexiones establecidas, puertos abiertos, carga de la máquina, procesos, usuarios conectados, módulos cargados, timeline de sistema de ficheros, tráfico de red, etc,… • ¿Máquina apagada? -> post-mortem • Imagen de disco Adquisición de evidencias
  4. 4. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • ¿Máquina viva? -> Adquisición de elementos volátiles de un sistema • Memoria RAM • Artifacts: Info de sistema operativo, conexiones establecidas, puertos abiertos, carga de la máquina, procesos, usuarios conectados, módulos cargados, timeline de sistema de ficheros, tráfico de red, etc,… • ¿Máquina apagada? -> post-mortem • Imagen de disco Adquisición de evidencias
  5. 5. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • ¿Máquina viva? -> Adquisición de elementos volátiles de un sistema • Memoria RAM • Artifacts: Info de sistema operativo, conexiones establecidas, puertos abiertos, carga de la máquina, procesos, usuarios conectados, módulos cargados, timeline de sistema de ficheros, tráfico de red, etc,… • ¿Máquina apagada? -> post-mortem • Imagen de disco Adquisición de evidencias
  6. 6. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Adquisición de evidencias Live en Windows
  7. 7. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Adquisición de evidencias Live en Windows
  8. 8. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Adquisición de evidencias Live en Windows
  9. 9. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Adquisición de evidencias Live en Windows
  10. 10. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Adquisición de evidencias Live en Windows
  11. 11. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! La memoria • Dump • LiME (Linux Memory Extractor) • Módulo que se carga en “ESE” kernel • Linpmem (Proyecto Rekall) • Binario estático* • /proc/kcore • Análisis • Volatility/Rekall -> Profile para ese kernel con System.map + modules.dwarf
  12. 12. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Módulos LiME y Profiles Volatility • Sistemas operativos soportados: • CentOS 5, 6 y 7 • Ubuntu 14.04, 16.04 y 18.04 • https://bitbucket.org/securizame/volatility-profiles- and-lime-modules • https://securizame@bitbucket.org/securizame/ lime.kos.git
  13. 13. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Operativa en Linux • En local: • Ejecución de scripts • Herramientas/librerías “del sistema” • Desde dispositivo USB o recurso compartido por red • En remoto • Instalación de agentes (Ej: Osquery, GRR, etc…) • Copia de herramientas a sistema de ficheros local
  14. 14. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! ¿Es fiable un sistema potencialmente comprometido?
  15. 15. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Una posible solución • Dr. Philip Polstra • Ejecución de script • “Good Binaries” • Modificación de PATH y LD_LIBRARY_PATH • ¿Compatible con SystemV y SystemD?
  16. 16. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Una posible solución • Dr. Philip Polstra • Ejecución de script • “Good Binaries” • Modificación de PATH y LD_LIBRARY_PATH • ¿Compatible con SystemV y SystemD?
  17. 17. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Objetivos • Fiabilidad -> Extracción lo más fiable posible • Cantidad de evidencias -> Lo más completo posible • Interoperable -> SystemV y SystemD • Filosofía UNIX -> Confianza en diferentes herramientas específicas para cada tarea
  18. 18. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! LNX IRTool: Internals • Máquina viva potencialmente comprometida • Usar herramientas fiables • USB con instalación CAINE 7, KALI 2016.2 y partición para destino de datos • Magic sauce -> chroot • LNX IRTool usa los binarios y librerías de CAINE/KALI
  19. 19. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! LNX IRTool: Pasos en víctima • Crear directorios /mnt/tools y /mnt/datos • CAINE 7 -> Si víctima usa System V • KALI 2016.2 -> Si víctima usa Systemd • Montar particiones USB. En modo escritura solo lo necesario. Por ejemplo, para máquina Systemd: –mount -r /dev/sdb3 /mnt/tools –mount /dev/sdb4 /mnt/datos –mkdir /mnt/datos/<caso> –mount --rbind /mnt/datos/<caso> /mnt/tools/mnt/
  20. 20. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! – /mnt/tools/montalo.sh -> monta --bind /dev, /run, /etc, /proc, /sys,… en /mnt/tools // monta --rbind / /mnt/ tools/raiz // chroot /mnt/tools – ./ir_tool01.sh /mnt/ – exit – /mnt/tools/ir_tool02.sh /mnt/datos/<caso> – sync – /mnt/tools/desmontalo.sh -> Debian/Ubuntu vs. RHEL/ CentOS – umount /mnt/tools • ¿¿Tirar del cable de corriente??*** -> OJO a sistemas de ficheros cifrados, SSD, servicios imprescindibles… LNX IRTool: Pasos en víctima
  21. 21. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! – /mnt/tools/montalo.sh -> monta --bind /dev, /run, /etc, /proc, /sys,… en /mnt/tools // monta --rbind / /mnt/ tools/raiz // chroot /mnt/tools – ./ir_tool01.sh /mnt/ – exit – /mnt/tools/ir_tool02.sh /mnt/datos/<caso> – sync – /mnt/tools/desmontalo.sh -> Debian/Ubuntu vs. RHEL/ CentOS – umount /mnt/tools • ¿¿Tirar del cable de corriente??*** -> OJO a sistemas de ficheros cifrados, SSD, servicios imprescindibles… LNX IRTool: Pasos en víctima
  22. 22. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • Pasos de preparación de puntos de montaje • Ejecución de scripts montalo.sh + irtool01.sh + irtool02.sh + desmontalo.sh LNX IRTool: Resumen
  23. 23. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! • Pasos de preparación de puntos de montaje • Ejecución de scripts montalo.sh + irtool01.sh + irtool02.sh + desmontalo.sh LNX IRTool: Resumen
  24. 24. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way!
  25. 25. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way!
  26. 26. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way!
  27. 27. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! ir_tool01.sh • Se ejecuta en entorno chroot de CAINE o KALI2 – Dump de memoria con LiME o con LinPmem – Sistema -> fecha/hora, kernel, issue, carga de máquina, fecha instalación (lost+found /), búsqueda de unidades cifradas montadas, runlevel -> /etc/rcX.d/S* – Por cada usuario -> historial, variables de entorno y configuración de shell,… – Info de usuarios -> loggeados/existentes/powered/actual, últimos logons, erróneos, logon por cada usuario – Búsqueda de ficheros ocultos – Búsqueda de ficheros *.bin, *.exe, sin usuario y sin grupo
  28. 28. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! ir_tool01.sh – Ficheros y directorios con ACLs – Tareas programadas en cron – Procesos existentes -> ps -eLF (todos -e-, hilos -L-, formato completo -F-) // pstree -Aup (ASCII, ID usuario, ID proceso) // CSV con /proc/PID/exe y cmdline – Información de red y comunicaciones: estado de interfaces de red, rutas, interfaces en modo promiscuo, ficheros de configuración, DNS, sockets y ficheros abiertos -> [netstat | ss] -patun, lsof -i , etc,… – Extracción de config de servidores web comunes
  29. 29. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! ir_tool01.sh – Kernel -> módulos cargados (lsmod) vs. /sys/module/<mod>/ initstate – Localizaciones interesantes /dev/shm, /lost+found, contenido de /etc/ld.so.preload – timeline en formato MACtime* – tar /etc,/var/log, /root, /home, /tmp – logs de systemd -> journald – unhide + chkrootkit – Información de reglas de cortafuegos (filter, nat y mangle) – iftop -> 20 segundos – tcpdump -i any -w tcpdump.pcap -> 30 segundos – top -> 5 veces
  30. 30. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! ir_tool02.sh • Se ejecuta desde shell propia del sistema víctima – Se indica punto de montaje y se crean variables al destino – Puntos de montaje y ocupación de los mismos – Sistema de ficheros: – Timeline del / -> excepto /mnt – ATIME, MTIME, BTIME, permisos inodo, uid, gid, tamaño, nombre de fichero
  31. 31. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! –Paquetes de sistema: rpm -Va y rpm -qa -last // dpkg - l y debsums | grep REPLACED (si existe) // pacman -Qi –Claves públicas gpg existentes en el sistema –Verificación de KeyIDs de RPMs instalados* • Información detallada de módulos cargados • systemctl -> Obtiene servicios instalados (list-units) activos (state=active). Se saca el estado de cada servicio • Se calcula el SHA-256 de cada fichero generado ir_tool02.sh
  32. 32. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! Forense en la nube SystemV -> mount -o loop,offset=$((4196352*512)),noexec, noload / mnt/remote/ir_lnx_usb.dd /mnt/tools/ SystemD -> mount -o loop,offset=$((25167872*512)),noexec, noload / mnt/remote/ir_lnx_usb.dd /mnt/tools/ R/W Read Only
  33. 33. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! @Lawwait @securizame /securizame https://www.securizame.com https://cursos.securizame.com https://certificaciones.securizame.com +34 91 123 11 73 Lorenzo@securizame.com © Todos los derechos reservados @LAWWAIT
  34. 34. © Todos los derechos reservados @LAWWAIT Linux DFIR: My way! @Lawwait @securizame /securizame https://www.securizame.com https://cursos.securizame.com https://certificaciones.securizame.com +34 91 123 11 73 Lorenzo@securizame.com © Todos los derechos reservados @LAWWAIT

×