SlideShare une entreprise Scribd logo
1  sur  32
Compromised  Linux Server Alejandro Ramos  Computer Hacking ForensicInvestigator SecurityByDefault.com
Antecedentes Los hermanos Portugal tienen una tienda en su pueblo Brazatortas (Ciudad Real) de Salchichones Deciden contratar un VPS para alojar su web y ofrecer sus productos. Un amigo de los hermanos monta un sistema Linuxy diseña la webcon la última versión crackeada de Dreamweaver
Antecedentes - II A las pocas horas de tener su página web, detectan que ha sido modificada. Contactan con un equipo de respuesta a incidentes (nosotros) para averiguar que ha ocurrido.
Adquisición
Tipos de adquisición Copia en frio Copia de los discos con el sistema apagado Usado como estándar No altera los datos, por lo que se puede repetir Copia en caliente Copia de datos de un sistema encendido Practico en caso de discos duros cifrados No puede ser repetido exactamente. El sistema es modificado Se puede adquirir volcado de memoria
Por red en caliente Tabla de particiones: fdisk -l En el sistema remoto (donde se hace la imagen): En el cliente (sistema comprometido): nc –l –p port –w 10 > img.raw ddif=/dev/sdaconv=sync,noerror | nc IP port
Alternativas a DD dc3dd Creada por el DoD Parche para el ‘dd’ Hashes al vuelo “wipe” datos Sumarización de registro Divide la imagen dcfldd fork de ‘dd’ Más de una copia a la vez
Local en frio - Guymager
Memoria RAM Distintos dispositivos: /dev/kmem “kernel” memory. Formato core está deshabilitado en distribuciones modernas (solo se usaba para instalar rootkits) /dev/mem En algunas distribuciones el kernel deshabilita el acceso después de 8 páginas. /proc/kcore Formato ELF (core) En ocasiones superior al tamaño de memoria
Métodos de volcado Módulos de kernel Fedora/RedHat/Centos: crash http://people.redhat.com/anderson/ fmem https://hysteria.sk/~niekt0/fmem/ Lectura de /proc/kcore ddif=/dev/kcore | nc host port
Análisis
Archivos de syslog Revisar sistema de logs para conocer todos los directorios: rsyslogd / syslogd / syslog-ng: /var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log
Otros registros Ficheros de accesos web:  /var/log/httpd/access_log /var/log/httpd/error_log Directorio audit del demonio auditd Accesos de «login»:  /var/log/btmp-> logins fallidos (lastb) /var/log/wtmp-> logins y logouts (last) /var/log/lastlog-> logins en el sistema (lastlog) /var/run/utmp-> usuarios en el sistema (who/w) /var/log/dmesg -> logs del kernel (dmesg)
Históricos: Comandos de shell: $HOME/.bash_history $HOME/.sh_history $SOME/.history Comando less: $HOME/.lesshst Clientes de FTP: $HOME/.lftp/rl_history y cwd_history $HOME/.ncftp/history Equipos a los que se ha conectado con SSH: $HOME/.ssh/known_hosts
Información básica Usuarios: /etc/passwd /etc/shadow Grupos: /etc/group Versión: /etc/*release /etc/*version Kernel: uname –a Módulos de kernel cargados: lsmod Procesos:psaxufwww Puertos: netstat –tanp
Información básica Hora: date Software: dpkg –l / rpm –qa CPU: lspci Memoria: free –m Interfaces de red: ifconfig –a Rutas: route –n  / netstat –nr Tabla arp: arp -n
Depurado y trazas lsoflist open files lsof –i lsof/etc/passwd lsof apache stracetrace system calls and signals strace –p PID ltracea librarycalltracer ltracecommand
El directorio /proc Pseudo sistema de ficheros Permite acceso a información de procesos /proc/version /proc/sys/kernel/name /proc/sys/kernel/domainame /proc/cpuinfo /proc/swaps /proc/partitions /proc/self/mounts /proc/uptime /proc/modules /proc/PID/cmdline
Directorio /sys Nuevo en kernel 2.6 Saca información de /proc no referente a procesos /sys/modulemódulos cargados en el kernel /sys/block información de dispositivos
Búsqueda de ficheros por fechas Modificación find / -mtime 5 –xdev>mod.txt Acceso find / -atime 5 –xdev > acc.txt Creación find / -ctime 5 –xdev > cre.txt
Herramientas - malware / rootkits Antivirus: clamav freshclam clamscan -i -r / Detección de rootkits Rkhunter: http://www.rootkit.nl/ rkhunter --update   rkhunter --check Compara MD5 Uso de ficheros por defecto en rootkits comunes Permisos incorrectos en binarios Cadenas extrañas en módulos de kernel Ficheros ocultos en directorios extraños
rkhunter [root@dmz data]# rkhunter --check [ Rootkit Hunter version 1.3.8 ] Checkingsystemcommands... Performing 'strings' commandchecks Checking 'strings' command		[ OK ] Performing'sharedlibraries' checks Checkingforpreloading variables 	[ Nonefound ] Checkingforpreloadedlibraries	[ Nonefound ] Checking LD_LIBRARY_PATH variable 	[ Notfound ] Performing file propertieschecks Checkingforprerequisites		[ Warning ]     /sbin/chkconfig				[ OK ]     /sbin/depmod				[ OK ]     /sbin/fsck				[ OK ]
Herramientas – malware / rootkits chkrootkit: http://www.chkrootkit.org/ chkrootkit Binarios modificados Logs de sniffers Ficheros de rootkits por defecto Tarjeta de red en modo promiscuo Ficheros de logsmódificados (zappers) unhide: http://www.security-projects.com/ unhideproc; unhide-tcp Procesos ocultos Puertos abiertos
Puertas traseras clásicas Scripts de inicio: /etc/init.d/* /etc/rc.local Permisos de esos ficheros. Superdemonios: init.d / xinit.d /etc/initd.conf /etc/xinit.d/* Módulos del kernel /etc/modules
Puertas traseras clásicas - II La configuración de init: /etc/inittab Archivos SETUID/SETGID find / -type f -perm -4000 –ls find / -type f -perm -2000 -ls Directorios extraños Uso de espacios:    “.. “ find . –type f –exec ls –i {}  | sort –n
Verificación de firmas rpm --verify<paquete> / rpm -Va dpkg: debsums No instalado por defecto Compara MD5 de archivos debsums -ca(compara bin y config) debsums –ce (solo configuración)
Recuperación de archivos Aplicación kpartx ayuda a montar una imagen en loopback Aplicaciones de la suite “Sleuthkit”: ils, fls, icat, etc. Complicado en otros sistemas de ficheros como ext3 o ext4 Comando strings de la imagen en búsqueda de cadenas típicas.
Cadenas típicas exploit packetstorm sniffer password nmap crack […]
¿Preguntas?
Gracias Alejandro Ramos www.securitybydefault.com

Contenu connexe

Tendances

Tendances (17)

Asegúr@IT II - Análisis Forense Memoria Ram
Asegúr@IT II - Análisis Forense Memoria RamAsegúr@IT II - Análisis Forense Memoria Ram
Asegúr@IT II - Análisis Forense Memoria Ram
 
Copia de trabajo 6
Copia de trabajo 6Copia de trabajo 6
Copia de trabajo 6
 
Cómo crear una distribución Linux
Cómo crear una distribución LinuxCómo crear una distribución Linux
Cómo crear una distribución Linux
 
T32
T32T32
T32
 
Comandos basicos en linux
Comandos basicos en linuxComandos basicos en linux
Comandos basicos en linux
 
Fail2 ban
Fail2 banFail2 ban
Fail2 ban
 
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
Lorenzo Martínez - Linux DFIR: My Way! [rooted2019]
 
Ayuda para Redes
Ayuda para RedesAyuda para Redes
Ayuda para Redes
 
Reducir tamaño de particiones dinámicas (shrink file systems)
Reducir tamaño de particiones dinámicas (shrink file systems)Reducir tamaño de particiones dinámicas (shrink file systems)
Reducir tamaño de particiones dinámicas (shrink file systems)
 
Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7Asegúr@IT II - Seguridad En Iis7
Asegúr@IT II - Seguridad En Iis7
 
Comandos Basicos en Consola GNU Linux
Comandos Basicos en Consola GNU LinuxComandos Basicos en Consola GNU Linux
Comandos Basicos en Consola GNU Linux
 
Comandos
ComandosComandos
Comandos
 
Asegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiPAsegúr@IT II - Seguridad en VoiP
Asegúr@IT II - Seguridad en VoiP
 
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Bd practica 1.10
Bd practica 1.10Bd practica 1.10
Bd practica 1.10
 
Ordenes del cmd
Ordenes del cmdOrdenes del cmd
Ordenes del cmd
 

Similaire à Análisis forense en linux - Compromised Linux Server

El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
betabeers
 
Raid Por Software
Raid Por SoftwareRaid Por Software
Raid Por Software
Rosariio92
 
Análisis Forense Memoria RAM
Análisis Forense Memoria RAMAnálisis Forense Memoria RAM
Análisis Forense Memoria RAM
Conferencias FIST
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De Linux
guest238e87
 
Red t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldapRed t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldap
garciadebora
 

Similaire à Análisis forense en linux - Compromised Linux Server (20)

Trabajo ejemplo hafs-v1b
Trabajo ejemplo hafs-v1bTrabajo ejemplo hafs-v1b
Trabajo ejemplo hafs-v1b
 
Fail2 ban
Fail2 banFail2 ban
Fail2 ban
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Fail2 ban
Fail2 banFail2 ban
Fail2 ban
 
Raid Por Software
Raid Por SoftwareRaid Por Software
Raid Por Software
 
Análisis Forense de la Memoria RAM de un sistema
Análisis Forense de la Memoria RAM de un sistemaAnálisis Forense de la Memoria RAM de un sistema
Análisis Forense de la Memoria RAM de un sistema
 
Docker 2014 v2
Docker 2014 v2Docker 2014 v2
Docker 2014 v2
 
Un día administrando Linux 2010
Un día administrando Linux 2010Un día administrando Linux 2010
Un día administrando Linux 2010
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Servidor web apache
Servidor web apacheServidor web apache
Servidor web apache
 
Análisis Forense Memoria RAM
Análisis Forense Memoria RAMAnálisis Forense Memoria RAM
Análisis Forense Memoria RAM
 
FIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a IncidentesFIT 2018 - Malware Avanzado y Respuesta a Incidentes
FIT 2018 - Malware Avanzado y Respuesta a Incidentes
 
Manual ldap
Manual ldapManual ldap
Manual ldap
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De Linux
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Usando docker
Usando dockerUsando docker
Usando docker
 
Comandos para CentOS
Comandos para CentOSComandos para CentOS
Comandos para CentOS
 
File System Management
File System ManagementFile System Management
File System Management
 
Red t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldapRed t3 practica2_apacheopenldap
Red t3 practica2_apacheopenldap
 
Instalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estableInstalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estable
 

Plus de Alejandro Ramos

Te pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLiteTe pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLite
Alejandro Ramos
 
Jornada de ciberdefensa stuxnet
Jornada de ciberdefensa   stuxnetJornada de ciberdefensa   stuxnet
Jornada de ciberdefensa stuxnet
Alejandro Ramos
 

Plus de Alejandro Ramos (20)

Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
Cookies y privacidad, tocino y velocidad - sh3llcon (Enero 2015)
 
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos saboresRooted con 2015 - Rojos y Azules: dos equipos con dos sabores
Rooted con 2015 - Rojos y Azules: dos equipos con dos sabores
 
Cookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internetCookies y otras tecnologías de monitorización en internet
Cookies y otras tecnologías de monitorización en internet
 
Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS) Ejemplos de seguridad en aplicaciones moviles (IOS)
Ejemplos de seguridad en aplicaciones moviles (IOS)
 
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...
 
Te pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLiteTe pique lo que te pique, analiza un SQLite
Te pique lo que te pique, analiza un SQLite
 
Shodab
ShodabShodab
Shodab
 
Forense en windows - Resolución Reto I de Dragonjar
Forense en windows -  Resolución Reto I de DragonjarForense en windows -  Resolución Reto I de Dragonjar
Forense en windows - Resolución Reto I de Dragonjar
 
Advanced password cracking
Advanced password crackingAdvanced password cracking
Advanced password cracking
 
Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬
 
Wargame
WargameWargame
Wargame
 
Jornada de ciberdefensa stuxnet
Jornada de ciberdefensa   stuxnetJornada de ciberdefensa   stuxnet
Jornada de ciberdefensa stuxnet
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0
 
Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010Pentest curso de verano - valencia 2010
Pentest curso de verano - valencia 2010
 
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
 
Rooted2010 Otp
Rooted2010 OtpRooted2010 Otp
Rooted2010 Otp
 
Owasp Top10 FireFox
Owasp Top10 FireFoxOwasp Top10 FireFox
Owasp Top10 FireFox
 
Fist - Negocio Pirateria
Fist - Negocio PirateriaFist - Negocio Pirateria
Fist - Negocio Pirateria
 
Seguridad en Bluetooth
Seguridad en BluetoothSeguridad en Bluetooth
Seguridad en Bluetooth
 
DNI-E
DNI-EDNI-E
DNI-E
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (12)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Análisis forense en linux - Compromised Linux Server

  • 1. Compromised Linux Server Alejandro Ramos Computer Hacking ForensicInvestigator SecurityByDefault.com
  • 2. Antecedentes Los hermanos Portugal tienen una tienda en su pueblo Brazatortas (Ciudad Real) de Salchichones Deciden contratar un VPS para alojar su web y ofrecer sus productos. Un amigo de los hermanos monta un sistema Linuxy diseña la webcon la última versión crackeada de Dreamweaver
  • 3.
  • 4. Antecedentes - II A las pocas horas de tener su página web, detectan que ha sido modificada. Contactan con un equipo de respuesta a incidentes (nosotros) para averiguar que ha ocurrido.
  • 5.
  • 7. Tipos de adquisición Copia en frio Copia de los discos con el sistema apagado Usado como estándar No altera los datos, por lo que se puede repetir Copia en caliente Copia de datos de un sistema encendido Practico en caso de discos duros cifrados No puede ser repetido exactamente. El sistema es modificado Se puede adquirir volcado de memoria
  • 8. Por red en caliente Tabla de particiones: fdisk -l En el sistema remoto (donde se hace la imagen): En el cliente (sistema comprometido): nc –l –p port –w 10 > img.raw ddif=/dev/sdaconv=sync,noerror | nc IP port
  • 9. Alternativas a DD dc3dd Creada por el DoD Parche para el ‘dd’ Hashes al vuelo “wipe” datos Sumarización de registro Divide la imagen dcfldd fork de ‘dd’ Más de una copia a la vez
  • 10. Local en frio - Guymager
  • 11. Memoria RAM Distintos dispositivos: /dev/kmem “kernel” memory. Formato core está deshabilitado en distribuciones modernas (solo se usaba para instalar rootkits) /dev/mem En algunas distribuciones el kernel deshabilita el acceso después de 8 páginas. /proc/kcore Formato ELF (core) En ocasiones superior al tamaño de memoria
  • 12. Métodos de volcado Módulos de kernel Fedora/RedHat/Centos: crash http://people.redhat.com/anderson/ fmem https://hysteria.sk/~niekt0/fmem/ Lectura de /proc/kcore ddif=/dev/kcore | nc host port
  • 14. Archivos de syslog Revisar sistema de logs para conocer todos los directorios: rsyslogd / syslogd / syslog-ng: /var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log
  • 15. Otros registros Ficheros de accesos web: /var/log/httpd/access_log /var/log/httpd/error_log Directorio audit del demonio auditd Accesos de «login»: /var/log/btmp-> logins fallidos (lastb) /var/log/wtmp-> logins y logouts (last) /var/log/lastlog-> logins en el sistema (lastlog) /var/run/utmp-> usuarios en el sistema (who/w) /var/log/dmesg -> logs del kernel (dmesg)
  • 16. Históricos: Comandos de shell: $HOME/.bash_history $HOME/.sh_history $SOME/.history Comando less: $HOME/.lesshst Clientes de FTP: $HOME/.lftp/rl_history y cwd_history $HOME/.ncftp/history Equipos a los que se ha conectado con SSH: $HOME/.ssh/known_hosts
  • 17. Información básica Usuarios: /etc/passwd /etc/shadow Grupos: /etc/group Versión: /etc/*release /etc/*version Kernel: uname –a Módulos de kernel cargados: lsmod Procesos:psaxufwww Puertos: netstat –tanp
  • 18. Información básica Hora: date Software: dpkg –l / rpm –qa CPU: lspci Memoria: free –m Interfaces de red: ifconfig –a Rutas: route –n / netstat –nr Tabla arp: arp -n
  • 19. Depurado y trazas lsoflist open files lsof –i lsof/etc/passwd lsof apache stracetrace system calls and signals strace –p PID ltracea librarycalltracer ltracecommand
  • 20. El directorio /proc Pseudo sistema de ficheros Permite acceso a información de procesos /proc/version /proc/sys/kernel/name /proc/sys/kernel/domainame /proc/cpuinfo /proc/swaps /proc/partitions /proc/self/mounts /proc/uptime /proc/modules /proc/PID/cmdline
  • 21. Directorio /sys Nuevo en kernel 2.6 Saca información de /proc no referente a procesos /sys/modulemódulos cargados en el kernel /sys/block información de dispositivos
  • 22. Búsqueda de ficheros por fechas Modificación find / -mtime 5 –xdev>mod.txt Acceso find / -atime 5 –xdev > acc.txt Creación find / -ctime 5 –xdev > cre.txt
  • 23. Herramientas - malware / rootkits Antivirus: clamav freshclam clamscan -i -r / Detección de rootkits Rkhunter: http://www.rootkit.nl/ rkhunter --update rkhunter --check Compara MD5 Uso de ficheros por defecto en rootkits comunes Permisos incorrectos en binarios Cadenas extrañas en módulos de kernel Ficheros ocultos en directorios extraños
  • 24. rkhunter [root@dmz data]# rkhunter --check [ Rootkit Hunter version 1.3.8 ] Checkingsystemcommands... Performing 'strings' commandchecks Checking 'strings' command [ OK ] Performing'sharedlibraries' checks Checkingforpreloading variables [ Nonefound ] Checkingforpreloadedlibraries [ Nonefound ] Checking LD_LIBRARY_PATH variable [ Notfound ] Performing file propertieschecks Checkingforprerequisites [ Warning ] /sbin/chkconfig [ OK ] /sbin/depmod [ OK ] /sbin/fsck [ OK ]
  • 25. Herramientas – malware / rootkits chkrootkit: http://www.chkrootkit.org/ chkrootkit Binarios modificados Logs de sniffers Ficheros de rootkits por defecto Tarjeta de red en modo promiscuo Ficheros de logsmódificados (zappers) unhide: http://www.security-projects.com/ unhideproc; unhide-tcp Procesos ocultos Puertos abiertos
  • 26. Puertas traseras clásicas Scripts de inicio: /etc/init.d/* /etc/rc.local Permisos de esos ficheros. Superdemonios: init.d / xinit.d /etc/initd.conf /etc/xinit.d/* Módulos del kernel /etc/modules
  • 27. Puertas traseras clásicas - II La configuración de init: /etc/inittab Archivos SETUID/SETGID find / -type f -perm -4000 –ls find / -type f -perm -2000 -ls Directorios extraños Uso de espacios: “.. “ find . –type f –exec ls –i {} | sort –n
  • 28. Verificación de firmas rpm --verify<paquete> / rpm -Va dpkg: debsums No instalado por defecto Compara MD5 de archivos debsums -ca(compara bin y config) debsums –ce (solo configuración)
  • 29. Recuperación de archivos Aplicación kpartx ayuda a montar una imagen en loopback Aplicaciones de la suite “Sleuthkit”: ils, fls, icat, etc. Complicado en otros sistemas de ficheros como ext3 o ext4 Comando strings de la imagen en búsqueda de cadenas típicas.
  • 30. Cadenas típicas exploit packetstorm sniffer password nmap crack […]
  • 32. Gracias Alejandro Ramos www.securitybydefault.com

Notes de l'éditeur

  1. root@carniceria:/var/log# grep &quot;sessionopened&quot; auth.log | grep sshJun 21 13:07:10 carniceriasshd[15408]: pam_unix(sshd:session): sessionopenedforuseruserby (uid=0)Jun 21 13:07:56 carniceriasshd[15547]: pam_unix(sshd:session): sessionopenedforuseruserby (uid=0)Jun 22 07:36:50 carniceriasshd[26304]: pam_unix(sshd:session): sessionopenedforuseruserby (uid=0)Jun 22 08:12:14 carniceriasshd[26777]: pam_unix(sshd:session): sessionopenedforuseruserby (uid=0)Jun 22 19:25:01 carniceriasshd[27574]: pam_unix(sshd:session): sessionopenedforuseruserby (uid=0)
  2. Se observa usuario r00t con password (en passwd y shadow)Se hace stat de ambos ficheros y se observa Access: 2011-06-22 08:17:01.000000000 +0000Modify: 2011-06-22 08:14:07.000000000 +0000Change: 2011-06-22 08:14:07.000000000 +0000También hay un puerto tcp6 abierto y no tcp4: netstat -tanptcp6 0 0 :::44965 :::* ESCUCHAR 26929/-bash
  3. Nada relevante
  4. Se búsca el puerto IPv6 raro:root@carniceria:/var/www# lsof -idropbear 26929 root 5u IPv6 85463 0t0 TCP *:44965 (LISTEN)root@carniceria:/var/www# lsof | grep dropbearroot@carniceria:/var/www# ls -la /usr/include/sslv3/dropbear-rwxr-xr-x 1 rootroot 589672 2011-06-22 08:23 /usr/include/sslv3/dropbearroot@carniceria:/var/www# stat /usr/include/sslv3/dropbear File: «/usr/include/sslv3/dropbear»Size: 589672 Blocks: 1160 IO Block: 4096 fichero regularDevice: 801h/2049d Inode: 195550 Links: 1Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2011-06-22 19:34:24.000000000 +0000Modify: 2011-06-22 08:23:25.000000000 +0000Change: 2011-06-22 08:23:25.000000000 +0000
  5. find / -type f -newermt &quot;20110622 08:00:00&quot; -not -newermt &quot;20110622 10:00:00&quot; –ls 69939 4 -rw-r--r-- 1 root root 26 jun 22 08:23 /var/lib/update-rc.d/xfs3 69914 132 -rw-r----- 1 syslog adm 130956 jun 22 08:13 /var/log/messages152693 4 -rw-r--r-- 1 user user 411 jun 22 08:25 /var/www/index.html359914 4 -rwxr-xr-x 1 root root 89 jun 22 08:23 /etc/init.d/xfs3359916 4 -rw-r--r-- 1 root root 1373 jun 22 08:14 /etc/passwd359911 4 -rw-r----- 1 root shadow 1045 jun 22 08:14 /etc/shadow359947 4 -rwxr-xr-x 1 root root 325 jun 22 08:37 /etc/rc.local 33991 424 -rwxr-xr-x 1 root root 427600 jun 22 08:23 /usr/bin/uptime 33992 428 -rwxr-xr-x 1 root root 430804 jun 22 08:23 /usr/bin/tload 33993 428 -rwxr-xr-x 1 root root 430772 jun 22 08:23 /usr/bin/free 33994 528 -rwxr-xr-x 1 root root 533592 jun 22 08:23 /usr/bin/top 33995 428 -rwxr-xr-x 1 root root 432704 jun 22 08:23 /usr/bin/vmstat 33996 508 -rwxr-xr-x 1 root root 514864 jun 22 08:23 /usr/bin/watch 33997 444 -rwxr-xr-x 1 root root 448584 jun 22 08:23 /usr/bin/skill 33998 448 -rwxr-xr-x 1 root root 451624 jun 22 08:23 /usr/bin/pmap 33999 544 -rwxr-xr-x 1 root root 549972 jun 22 08:23 /usr/bin/pgrep 34000 508 -rwxr-xr-x 1 root root 515552 jun 22 08:23 /usr/bin/slabtop 34001 472 -rwxr-xr-x 1 root root 477892 jun 22 08:23 /usr/bin/pwdx 34021 444 -rwxr-xr-x 1 root root 448584 jun 22 08:23 /usr/bin/snice 34023 544 -rwxr-xr-x 1 root root 549972 jun 22 08:23 /usr/bin/pkill 34530 472 -rwxr-xr-x 1 root root 476504 jun 22 08:23 /usr/bin/w195550 580 -rwxr-xr-x 1 root root 589672 jun 22 08:23 /usr/include/sslv3/dropbear195551 16 -rwxr-xr-x 1 root root 13768 jun 22 08:23 /usr/include/sslv3/mig195553 4 -rw-r--r-- 1 root root 9 jun 22 08:23 /usr/include/mysql/mysql.hh1260642 444 -rwxr-xr-x 1 root root 448584 jun 22 08:23 /bin/kill260643 516 -rwxr-xr-x 1 root root 521980 jun 22 08:23 /bin/ps 85596 8 -rwsr-sr-x 1 root root 7293 jun 22 08:35 /dev/\\ ../tty0 3530 4 -rw-r--r-- 1 root root 1515 jun 22 08:13 /dev/.udev/queue.bin182490 8 -rw------- 1 root root 5579 jun 22 08:37 /home/user/.viminfo
  6. Muestra varios bin[19:57:13] /bin/kill [ Warning ][19:57:13] Warning: The file propertieshavechanged:[19:57:13] File: /bin/kill[19:57:13] Current hash: 5db25350dd15d3f1e63a4ff44fa85b72c21df72d[19:57:13] Stored hash : 2526f22ed8a7cd7a967ca4dda75938083ab31557[19:57:13] Currentsize: 448584 Storedsize: 13804[19:57:13] Current file modification time: 1308731005 (22-jun-2011 08:23:25)[19:57:13] Stored file modification time : 1260992081 (16-dic-2009 19:34:41)[19:57:13] Warning: File &apos;/bin/kill&apos; has theimmutable-bit set.arios infectados[20:08:22] Checking for root equivalent (UID 0) accounts [ Warning ]
  7. Checking `lkm&apos;... You have 1 process hidden for ps command
  8. Fichero: /etc/init.d/xfs3Arranca SSH y lo permite en el FWFichero: /etc/rc.localrm -rf /var/log/*
  9. dev/\\ ../tty0
  10. /sbin/sysctl/bin/kill/bin/ps/usr/bin/uptime/usr/bin/tload/usr/bin/free/usr/bin/top/usr/bin/vmstat/usr/bin/watch/usr/bin/skill/usr/bin/pmap/usr/bin/pgrep/usr/bin/slabtop/usr/bin/pwdx/etc/vsftpd.conf
  11. kpartx -a ubuntu.rawils -r /dev/mapper/loop0p1|awk -F&quot;|&quot; &apos;{ print $1}&apos; &gt;inodesfor i in `cat inodes`; do icat -r /dev/mapper/loop0p1 $i&gt;$i; donecat 182492Kernel exploit