bitcoin prize

"DETECTANDO ROOTKITS EN LINUX CON RKHUNTER Y CHKROOTKIT"

"DETECTANDO ROOTKITS EN LINUX CON RKHUNTER Y CHKROOTKIT"

"LAS AMENAZAS SILENCIOSAS"
Resultado de imagen para rootkits
 En Muchas ocasiones nos encontramos con una incertidumbre de que si realmente la estructura del sistema operativo linux es realmente seguro  y lo curioso aqui esque me he encontrado con muchos fanboys que dicen que a linux no lo toca ni una gota,  lo unico que me queda deciros es quedarme con una cara de estupefacto y con seriedad absoluta decirles que nada en el mundo de la tecnlogia ni mucho menos de la ciberseguridad es absolutamente seguro.
en la escala de peligrosidad de la seguridad informatica las puertas traseras o mejor conocidas como backdoors y los rootkits son los que con un nivel de peligrosidad mas alto cuentan y esto es asi porque los rootkits cuentan con un nivel de privilegios del maximo nivel como es el usuario system o el de administrador de sistemas qeu es root,   primero los rootkits intentan aprovecharse de algun fallo de seguridad estos son bien llamaados exploits , despues el atacante ,  coloca un rootkit ocultando todos los procesos y conexiones que esta intentando abrir el exploit o mejor dicho que abre una y otra vez para tener una conexion establecida con el atacante.
los niveles de un sistema operativo hasta llegar al corazon que es el kernel es el siguiente:
en esta parte el nivel 0 es el mas alto,  es el que mas privilegios tiene dentro de todo el sistema por eso los exploits mas peligrosos son los que se ejecutan en este mismo nivel y obtienen una shell remota inversa del componente system que puede  hacer cualquier cosa e incluso mover mas configuraciones dentro del sistema operativo y mas privilegios  que si tuvieramos una cuenta de administrador o root.
en dado caso un rootkit para ser eficientemente silencioso tiene que operar en el nivel 0 o al nivel 1 entre mas cercano este del kernel va hacer mucho mejor porque las protecciones del sistema operativo no lo podran detectar,  el sistema operativo creera que la pieza de codigo forma parte del sistema operativo para sus funcionalidades,   por ejemplo un atacante puede lograr suplantar o añadir codigo a una libreria que el sistema operativo necesite para operar como son las dll en windows , si el atacante lograra infectar una de estas librerias y lograra enpaquetar el codigo con alguna utilidad, podria pasar desapercibida como si el sistema operativo no existiera amenaza alguna,  dicho rootkit o pieza de codigo puede tener una funcion especial, dependiendo de las funcionalidades que haya programado el creador como por ejemplo,  ocultar procesos del ataque ,  ocultar tanto las conexiones entrantes como salientes del atacante hacia el servidor objetivo para que los administradores de redes o de sistemas no lo noten tan facilmente, incluso para que un informatico forense no lo tenga tan facil ala hora de hurgar e identificar rastros en todo el sistema de archivos dentro del sistema operativo.
lo que hacen las herramientas que mencionare en este post son simplemente buscar mediante bucles o ciclos algunos lugares interesantes donde pudiera haber piezas de codigo malignas que intenten activarse al inicializar algunos de los servicios y donde pudiera haber rootkits por decir algun ejemplo?  pues, sencillo,  puede que el atacante utiliza una puerta trasera en el sistema atacado con ssh o vnc , si buscamos los archivos desde donde se inicializan los servicios podriamos encontrar cadenas extrañas incluso si el atacante fue lo suficientemente astuto como para darse ala tarea de ocultar bien su codigo con cifrado o enpaquetado de codigo, en este caso tendriamos que debugear el codigo pero aun asi las cadenas se nos harian sospechosas y podriamos en instancia intuir que se trata de malware,  dependiendo del analisis que decidieramos hacer , si elegimos hacer un analisis estatico no nos serviria de mucho ya que dependeria de nuestras habilidades como programadores,  en cambio, si decidimos hacer un analisis dinamico con algun debuger,  entonces,   podriamos estudiar el comportamiento del rootkit y ver como es que oculta los procesos y las conexiones dentro del sistema de archivos del sistema operativo nativo.
sin mas que decir vamos a probar las herramientas que es el principal objetivo de esta entrada, primero entraremos con chkrootkit y despues con la legendaria rkhunter.

CHKROOTKIT
lo que hace esta herramienta es buscar dentro de la integridad de los ficheros del sistema , por ejemplo si la herramienta ha detectado firmas que corresponden con archivos malignos entonces nos mostrara que esta infectado,   como podemos ver en la pagina web oficial de la herramienta  tienen muchas firmas que se han detectado como malignas y que sucede en el caso de una amenaza aun no detectada como un 0day?  uhh! esa es una interesante pregunta y como todo en la seguridad suele fallar no recomendamos tener completa satisfaccion al usar esta utilidad,  no confies en todo como dicen por ahi, no te fies ni de lo que dice ser "la compañia mas segura del mundo",   a todo buen guerrero se le va la pata ,  asi que ya sabeis.


 uan vez encendida nuestra distribucion de seguridad informatica, voy a probar la primer herramienta para ver sus resultados y analizarlos.
cabe aclarar que muchas de estas herramientas  arrojan en algunas ocasiones resultados falsos positivos que en algunas ocasiones pueden llegar a confundirnos.
la herramienta incluye una opcion para tratar de evadir o limpiar los falsos negativos.

 como podemos ver no hemos encontrado nada , ni ningun archivo sospechoso ni cadenas sospechosas dentro de algun archivo de alguna libreria,  como podemos ver hace un listado de todas las ubicaciones posibles del sistema,  todas las ubicaciones importantes.
las ubicaciones posibles como dije anteriormente suelen ser que sean las mas especiales como el demonio sshd,  antiguamente se podria incluir codigo dentro de los demonios del sistema operativo linux para que cuando el servicio encendiera y en algunas casos junto con el sistema operativo, se pondria en funcionamiento el mismo rootkit con las conexiones ocultas y los mismos procesos ocultos.
otra forma fiable de saber si nuestro sistema esta completamente infectado es verificar la integridad de cada archivo dentro de sus firmas,  osease cada MD5, pero seria un trabajo titanico andar investigando y urgando por todo el sistema completo.


RKHUNTER
 esta misma utilidad hace el  mismo trabajo que el anterior pero lo que hace es verificar en ciertas partes del sistema  que le indique el usuario como parte del sistema local,   o si tenemos ciertas particiones en algun dispositivo  pues se las deberemos indicar previamente con el comando /mount y el mismo sistema de archivos.

 le colocamos la opcion de check para chequear e inicializar el sistema local de linux.
ademas  checa las librerias .so del sistema operativo linux para saber si estan infectadas o si hay algun codigo maligno en ellas como puede suceder en el sistema operativo windows con las librerias de enlazado dinamico dll.
el proceso puede tardar algunos minutos ya que el sistema de archivos y su estructura puede ser demasiado grande.
 si la integridad no esta corrupta entonces tendriamos un resultado limpio, en caso de que la integridad este mala o corrupta entonces nos mostrara un mensaje en rojo.
cabe destacar y aclarar que estas herramientas no son 100% fiables ya que un atacante muy inteligente puede estudiar cada ubicacion que resultan en estas herramientas y esconderlo muy silenciosamente como ocurre en la serie mr robot temporada 3 en el capitulo 2.
saludos.


REFERENCIAS Y ENLACES TECNICOS:

0 comments:

Publicar un comentario

My Instagram

Uso cookies para darte un mejor servicio.
Mi sitio web utiliza cookies para mejorar tu experiencia. Acepto Leer más